From 4c74bd717e5228adf50c45a220026f196056ff31 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 15:21:33 +0000 Subject: [PATCH] Restore three-section tab structure: Dashboards / Prayer Mobilization / Gospel Research Big Picture now lives in its own Dashboards section alongside a renamed Simple Research (was Research Map, recategorised as the mobile-default dashboard). Prayer Mobilization narrows to UPG-100 List + Prayer Progress; the renamed Gospel Research section takes Cities with Internet + Gospel Resources. The device rule changes shape to match: every row now stays in the rail on every width (nothing is hidden any more), Big Picture is disabled rather than removed on mobile with a "desktop only" badge and an explanatory toast on click, and the auto-selected tab swaps to Simple Research on mobile / Big Picture on desktop. Added a loud, module-load-time assertion that no tab id is declared twice across the curated sections, on top of the existing silent runtime dedupe -- this is the gate the duplicate-key regression needed and didn't have. --- .../doxa-maps-spa/doxa-maps-spa.vue | 260 ++++++++++++------ .../doxa-maps/doxa-maps-spa/doxa-maps-spa.js | 16 +- .../doxa-maps-spa/app/index.html | 2 +- .../doxa-maps-spa/doxa-maps-spa/index.html | 2 +- 4 files changed, 186 insertions(+), 94 deletions(-) diff --git a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue index c2654a041..9ef310722 100644 --- a/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue +++ b/plugin-designs/doxa-maps-spa/doxa-maps-spa.vue @@ -133,6 +133,12 @@ + + +
{{ disabledNotice }}
@@ -148,66 +154,57 @@ import { SWITCHER_LANGUAGES, loadLocale, saveLocale, getLanguage } from '@map/la // exist in this SPA are OMITTED (never paint a dead nav row — nav.js's own navForTarget prunes empty // groups the same way). `folder:true` (Experimental) renders collapsible, starting closed. const NAV_MODEL = [ - // ── NOTE: there is deliberately NO separate "Dashboards" section. The ONE dashboard (the Driver's - // ruling: "we don't need multiple dashboards") is `dashboard-plus-grid` — the coupled - // research-dashboard + people-groups-grid on a single scroll-page, what the Driver calls the Big - // Picture. It is the FIRST row of Prayer Mobilization below, which makes it tab-1/the landing - // surface AND the opening step of the onboarding ramp. + // ── THREE SECTIONS, PER THE SPEC (2026-09-22 audio, transcribed to + // _qa-cycle/01-ideation-research/SPEC-the-six-map-product-and-its-tab-order.md — that file is + // AUTHORITATIVE; this comment explains how the code satisfies it, not the ruling itself). // - // WHY IT IS NOT ALSO ITS OWN SECTION: it used to be, and that is exactly what painted "Big - // Picture" TWICE in the rail (a one-row "Dashboards" section whose single row was re-declared as - // the ramp's step 1). Two rows sharing one tab id is not merely cosmetic — the layout keys its - // tab-ref map and its `active` class BY ID, so both copies highlight at once and keyboard nav - // stalls on the repeated key. One section owning the row fixes all of that and matches the - // Driver's stated order (Big Picture → UPG-100 → Prayer Progress → Gospel Resources → Research). + // Driver, verbatim: "in one of the earlier messages i mentioned i wanted 3 tab sections. one + // called dashboards, one called prayer mobilization, one called gospel research. with two maps + // inside of each of them." // - // Prayer Mobilization FIRST among the map sections (the prayer map is the mobilisation landing). - // - // ORDER IS THE DRIVER'S, AND THE ORDER IS THE TEACHING. Big Picture → UPG-100 List → Prayer - // Progress → Gospel Resources. The non-obvious step is UPG-100 BEFORE the prayer map, and his - // rationale is worth preserving verbatim: "if you're trying to mobilize prayer, UPG-100 list - // probably comes first because it's a NEW thing to people — you want them introduced to it - // first." i.e. the rail is an ONBOARDING RAMP, not an inventory: show the big picture, hand the - // newcomer the concrete new artifact (the 100 list), THEN ask them to pray it, then give them - // the resources to act. Re-sorting these rows by any other logic (alphabetical, "maps first", - // most-used) silently breaks that ramp — so do not reorder without the Driver. - // ★ DESKTOP vs MOBILE — `onlyWhen` gates a row on viewport width (Driver 2026-09-22, verbatim). - // DESKTOP: Big Picture Dashboard opens by default, then UPG-100, Prayer Progress, Gospel - // Resources, Cities & Internet, then Research Map under Research. - // MOBILE: "starts with the Research Map, then UPG-100 List, Prayer Progress, Gospel Resources, - // Cities & Internet — and the Big Picture Dashboard does NOT appear on mobile at all." - // So the ramp's FIRST rung swaps: the desktop rung is the dashboard composite, the mobile rung is - // the research-map composite. Everything below rung 1 is IDENTICAL on both, which is why only the - // first two rows carry `onlyWhen` — do not sprinkle it further without the Driver. - // - // WHY A ROW-LEVEL FLAG rather than two NAV_MODELs: one model keeps the teaching order in ONE place. - // Two parallel models would be two things to keep in sync, and the failure would be silent (a row - // added to one and forgotten in the other simply never appears on that form factor). + // A PRIOR CUT REMOVED DASHBOARDS ENTIRELY (see git history / the spec's "duplicate-key trap"), + // because Big Picture had been declared TWICE — once as a one-row Dashboards section and once as + // Prayer Mobilization's first rung — and VerticalTabsLayout keys its tab-ref map and `active` + // highlight BY ID, so two rows sharing one id painted both active at once and stalled keyboard + // nav. That was a REGRESSION, not a fix for the underlying constraint. The constraint (no id + // painted twice) is real and still enforced (see dedupeRows + the assertNoDuplicateTabKeys + // dev-time gate below); the fix is that Dashboards now owns TWO DISTINCT rows of its own — Big + // Picture never appears in Prayer Mobilization again — so it is not a one-row section that begs + // to be folded away. + { key: 'dashboards', label: 'Dashboards', icon: 'chart', + tabs: [ + // 1. Big Picture — desktop default. Present on EVERY width (the device rule is "same tab + // order everywhere"), but DISABLED on mobile rather than hidden — see isBigPictureDisabled / + // onSelect's intercept and the `disabled`-row note above navGroups. Clicking it on mobile + // shows a message instead of switching; it never disappears from the rail. + { id: 'dashboard-plus-grid', icon: 'chart' }, + // 2. Simple Research — mobile default; RENAMED from "Research Map" and RECATEGORISED here as a + // dashboard (it used to live as Prayer Mobilization's mobile-only rung 1). It is the research + // map + People Groups grid composite — "the mobile dashboard" per the spec — and it stays + // reachable on desktop too, as the second dashboard row. + { id: 'research-map-plus-grid', icon: 'map' }, + ] }, + // Prayer Mobilization — now TWO rows only: the onboarding ramp's steps 2 and 3. Big Picture (former + // step 1) moved to Dashboards above; Gospel Resources (former step 4) moved to Gospel Research below + // per the spec's table. UPG-100 BEFORE Prayer Progress is still the Driver's deliberate order — + // "if you're trying to mobilize prayer, UPG-100 list probably comes first because it's a NEW thing + // to people — you want them introduced to it first" — hand the newcomer the concrete new artifact, + // THEN ask them to pray it. { key: 'prayer-mobilization', label: 'Prayer Mobilization', icon: 'heart', tabs: [ - // 1a. DESKTOP rung 1 — Big Picture. Omitted entirely on mobile, per the Driver. - { id: 'dashboard-plus-grid', icon: 'chart', onlyWhen: 'desktop' }, - // 1b. MOBILE rung 1 — the research map + grid composite opens the app instead. - { id: 'research-map-plus-grid', icon: 'map', onlyWhen: 'mobile' }, - { id: 'upg-100', icon: 'list' }, // 2. UPG-100 List — the NEW thing, introduced early - { id: 'prayer-map', icon: 'embed' }, // 3. Prayer Progress — now pray the list - { id: 'gospel-resources', icon: 'book' }, // 4. Gospel Resources — then act + { id: 'upg-100', icon: 'list' }, // 1. UPG-100 List — the NEW thing, introduced first + { id: 'prayer-map', icon: 'embed' }, // 2. Prayer Progress — now pray the list ] }, - // Research — a peer section (nav.js: "a section to the same degree as Laborer"). The Driver's - // order: Cities & Internet FIRST, then Gospel Resources, then the simple research app at the - // bottom. - // - // ★ Gospel Resources is DECLARED here as well as in the prayer ramp above, on purpose — it is the - // "then act" step of that ramp AND a research surface in its own right. It is declared twice but - // RENDERED ONCE: dedupeRows() (see below) gives the FIRST declaration the row and drops this - // later one, so the rail holds exactly one node per tab id. Leaving the declaration here is not - // dead weight — it documents the intent, and if the prayer section is ever re-cut this section - // inherits the row automatically. - { key: 'research', label: 'Research', icon: 'search', + // Gospel Research — RENAMED section (was "Research"). Cities with Internet then Gospel Resources, + // per the spec's table (rows 5-6). The plain, uncomposited "Research Map" tab (doxa-research-map) + // is no longer one of the six curated tabs — its research-map+grid composite now IS Dashboards row + // 2 (Simple Research) — so the standalone map is left OUT of every curated section and falls + // through to Experimental automatically (see curatedBundles/experimentalTabsFromManifest); that is + // correct, not an omission. + { key: 'gospel-research', label: 'Gospel Research', icon: 'search', tabs: [ - { id: 'cities-internet', icon: 'wifi' }, - { id: 'gospel-resources', icon: 'book' }, - { id: 'research-map', icon: 'map' }, // the simple research app, at the bottom + { id: 'cities-internet', icon: 'wifi' }, // renamed label: "Cities with Internet" + { id: 'gospel-resources', icon: 'book' }, ] }, // Experimental — a collapsible FOLDER at the bottom (nav.js: kind 'folder', open:false). Starts // CLOSED; click the heading to open. @@ -283,16 +280,22 @@ const TAB_DEFS = [ bundle: 'doxa-research-map', profile: 'research-map' }, { - // THE MOBILE COUNTERPART OF 'dashboard-plus-grid'. Driver 2026-09-22, having reversed an earlier - // idea: "We made the wrong choice of saying that we should swap elements based on mobile and - // desktop... It'd be easier just to have two separate capability-4 plugins." So there are two - // cap-4 composites, neither aware of the other, and THIS SHELL picks between them by width — - // which is what `onlyWhen` below expresses. Both stay independently embeddable, which a - // self-swapping element could not be (an embedder at a fixed size could never ask for one). + // RENAMED (spec): "Research Map" → "Simple Research", and RECATEGORISED as a Dashboards row (the + // mobile-default dashboard). Driver 2026-09-22, having reversed an earlier idea: "We made the + // wrong choice of saying that we should swap elements based on mobile and desktop... It'd be + // easier just to have two separate capability-4 plugins." So there are two cap-4 composites, + // neither aware of the other — this one and 'dashboard-plus-grid' above — and the shell decides + // which is AUTO-SELECTED by width (see firstVisibleIndex/isBigPictureDisabled), never which is + // SHOWN: per the device rule both rows are always in the rail. Both composites stay independently + // embeddable, which a self-swapping element could not be (an embedder at a fixed size could never + // ask for one). + // + // NOTE the `id` stays 'research-map-plus-grid': the id is the stable join key between NAV_MODEL + // and TAB_DEFS, so only the human-facing LABEL/sub change on a rename — never the id. // // Same cap-4 tier as its desktop sibling: research-map-plus-grid.meta.json declares // {"type":"nested-elements-mfe"}, verified against the built manifest. - id: 'research-map-plus-grid', label: 'Research Map', sub: 'research map + people-groups grid', emoji: '🗺️', + id: 'research-map-plus-grid', label: 'Simple Research', sub: 'research map + people-groups grid', emoji: '🗺️', bundle: 'research-map-plus-grid', profile: 'research-map-plus-grid' }, { @@ -310,7 +313,9 @@ const TAB_DEFS = [ bundle: 'doxa-simple-map', profile: 'doxa-simple-map', instance: 'prayer' }, { - id: 'cities-internet', label: 'Cities & Internet', sub: 'connectivity of key cities', emoji: '📡', + // RENAMED (spec): "Cities & Internet" → "Cities with Internet" — the Gospel Research section's + // first row. NOTE the `id` stays 'cities-internet' for the same stable-join-key reason as above. + id: 'cities-internet', label: 'Cities with Internet', sub: 'connectivity of key cities', emoji: '📡', bundle: 'cities-internet', profile: 'connectivity-map' }, { @@ -327,6 +332,11 @@ const TAB_DEFS = [ // zero edits to this file. ] +// THE SPEC'S REQUIRED GATE, run once at module load — see assertNoDuplicateTabKeys below for why this +// exists as a LOUD check on top of dedupeRows' silent runtime safety net. `function` declarations +// hoist, so this call is valid even though the function body is defined later in the file. +assertNoDuplicateTabKeys(NAV_MODEL) + // MAP ELEMENTS — the rows this shell DESTROYS on deactivate rather than hiding. // // ★ THIS IS A WebGL CONTEXT BUDGET, NOT A STYLE CHOICE. The browser allows ~8-16 live WebGL contexts. @@ -421,6 +431,40 @@ function dedupeRows(rows, seen) { return out } +/** + * THE SPEC'S REQUIRED GATE — "any implementation must assert that no tab key appears twice across + * all sections" (SPEC-the-six-map-product-and-its-tab-order.md, "the duplicate-key trap"). dedupeRows + * above is the RUNTIME safety net (silently keeps the first declaration, so a duplicate can never + * stall the rail); this is the LOUD check that a duplicate should not exist among the CURATED + * sections in the first place — the previous regression happened because nobody had this and a + * silent safety net alone does not stop a duplicate from being written again by a future edit. + * + * Runs once at module load (see the call below NAV_MODEL/TAB_DEFS), so a duplicate is a build/dev- + * console error the moment the file is edited wrong, not something only Playwright would catch. + * Never throws in production: a duplicate is a code defect to fix, not a reason to take the whole + * SPA down for a live user, so this reports loudly and returns rather than throwing. + */ +function assertNoDuplicateTabKeys(navModel) { + const seen = new Map() // id -> section key that first claimed it + const dupes = [] + for (const g of navModel) { + if (g.key === 'experimental') continue // the catch-all is generic by construction; nothing to assert + for (const r of g.tabs || []) { + if (!r || !r.id) continue + const first = seen.get(r.id) + if (first === undefined) { seen.set(r.id, g.key); continue } + if (first !== g.key || dupes.indexOf(r.id) === -1) dupes.push(r.id + ' (' + first + ' + ' + g.key + ')') + } + } + if (dupes.length && typeof console !== 'undefined') { + console.error('[doxa-maps-spa] duplicate tab key(s) across NAV_MODEL sections: ' + dupes.join(', ') + + ' — VerticalTabsLayout keys its tab-ref map and `active` highlight by id, so a row declared in ' + + 'two sections paints twice and stalls keyboard nav. See the duplicate-key trap in ' + + 'SPEC-the-six-map-product-and-its-tab-order.md.') + } + return dupes +} + // Turn a bundle id into a human label: "all-people-groups" → "All People Groups". Small, local and // dependency-free; a bundle may override it by shipping a profile `title` in the manifest. function titleize(id) { @@ -627,14 +671,18 @@ export default defineComponent({ // inherits its language from the parent via the `language` prop") can never drift: see // showLocaleSwitcher. A future host that wants the SPA's own chrome flips this to true. showHeader: false, - // ★ VIEWPORT WIDTH AS REACTIVE STATE, for the desktop/mobile tab swap (see NAV_MODEL onlyWhen). + // ★ VIEWPORT WIDTH AS REACTIVE STATE, for the device rule (default row + Big Picture disable). // 760px is THE SAME BREAKPOINT library/layouts/VerticalTabsLayout.vue uses for its rail/drawer // switch. The layout keeps its own `narrow` flag PRIVATE (it emits only update:active), so the // shell cannot read it and must watch the same query itself. That duplicates a CONSTANT, not // logic — but if either side ever moves, move BOTH: a shell that thinks it is on desktop while - // the rail has become a drawer would show the Big Picture row inside a mobile drawer, which is + // the rail has become a drawer would leave Big Picture enabled inside a mobile drawer, which is // precisely what the Driver asked to never happen. narrow: false, _mql: null, _onMedia: null, + // The transient "desktop only" message shown when Big Picture is clicked while disabled (see + // onSelect's intercept). '' renders nothing; _noticeTimer clears any earlier message's timeout + // so two quick clicks don't fight over when it disappears. + disabledNotice: '', _noticeTimer: null, // i18n locale switcher (reuses app-wrapper-material/languages.js — persisted, offline, no dep). locale: loadLocale(), localeOpen: false, @@ -676,6 +724,13 @@ export default defineComponent({ // which onSelect maps back to the tab index the mount machinery uses — so the sections are pure // presentation, the mount path is unchanged. Rows whose tab id has no matching TAB_DEF are // dropped, and a group with no surviving rows is omitted (never paint a dead section/row). + // + // ★ THE DEVICE RULE, PER THE SPEC — "it shouldn't change the tab order, it should open you up to + // the 2nd tab by default on mobile and disable the 1st tab." That is why there is NO width + // filter on rows here any more (the old `onlyWhen:'desktop'|'mobile'` hide-a-row mechanism is + // gone — every row is in the rail on every width, same order, always). The ONLY width-driven + // thing left is which row is DISABLED (Big Picture, on mobile — see isBigPictureDisabled) and + // which row auto-opens (see firstVisibleIndex) — both presentation, neither touches NAV_MODEL. navGroups() { const byId = Object.fromEntries(this.tabs.map(t => [t.id, t])) // ONE `seen` set threaded across ALL groups (not per-group): the rail must hold one node per tab @@ -687,15 +742,20 @@ export default defineComponent({ .map(g => { let rows = dedupeRows( (g.tabs || []) - // ★ WIDTH GATE FIRST, before the tab-exists filter. A row may declare - // onlyWhen:'desktop'|'mobile'; anything else (the common case, no flag) shows on both. - // Applied here rather than in `tabs` so the underlying TAB_DEFS/mount machinery is - // untouched — the swap is PURE PRESENTATION, exactly like the sections themselves. - .filter(r => !r.onlyWhen || r.onlyWhen === (this.narrow ? 'mobile' : 'desktop')) .filter(r => byId[r.id]) .map(r => { const t = byId[r.id] - return { key: t.id, label: t.label, sub: t.sub, icon: r.icon, badge: r.badge } + // Big Picture is DISABLED (not hidden) on mobile — the one row-level exception the + // device rule requires. `disabled`/`badge` are read by THIS shell's onSelect intercept + // and CSS below; VerticalTabsLayout itself does not know about `disabled` (it has no + // such concept — see the comment on isBigPictureDisabled), so the row stays clickable + // at the layout level and this shell is what turns that click into a message instead + // of a mount. + const disabled = this.isBigPictureDisabled(t.id) + return { + key: t.id, label: t.label, sub: t.sub, icon: r.icon, + badge: disabled ? 'desktop only' : r.badge, disabled + } }), seen) // The Experimental folder is not authored — it is FILLED with every discovered tab (any @@ -786,7 +846,7 @@ export default defineComponent({ }, methods: { setSlot(i, el) { if (el) this._slots = Object.assign(this._slots || {}, { [i]: el }) }, - // ── VIEWPORT WATCH (the desktop/mobile tab swap) ────────────────────────────────────────── + // ── VIEWPORT WATCH (the device rule: same rail, different default + one disabled row) ──────── // Mirrors the SAME (max-width:760px) query VerticalTabsLayout uses. See the `narrow` note in // data() for why the shell must watch it independently. // @@ -801,11 +861,11 @@ export default defineComponent({ const wasNarrow = this.narrow this.narrow = !!e.matches if (wasNarrow === this.narrow) return - // A breakpoint crossing can REMOVE the row that is currently active (Big Picture exists only - // on desktop). Leaving activeIndex pointing at a row the rail no longer paints leaves the - // user on a mounted-but-unlisted tab with no highlight — visibly broken. Snap to the first - // row that survives the crossing. - if (!this.isVisibleId(this.activeKey)) this.select(this.firstVisibleIndex()) + // A breakpoint crossing can DISABLE the row that is currently active (Big Picture, going + // desktop→mobile). Every row stays IN the rail on both widths per the device rule — nothing + // is removed any more — but a disabled active tab must not be left mounted/highlighted with + // no way to reach it, so snap to the default row for the new width. + if (this.isBigPictureDisabled(this.activeKey)) this.select(this.firstVisibleIndex()) } // addEventListener is the modern API; addListener is the deprecated fallback some webviews // still need. Try both rather than assume — a missed listener means the swap silently never @@ -813,21 +873,30 @@ export default defineComponent({ if (this._mql.addEventListener) this._mql.addEventListener('change', this._onMedia) else if (this._mql.addListener) this._mql.addListener(this._onMedia) }, - // Is this tab id painted in the rail at the CURRENT width? Derived from navGroups (the thing the - // user actually sees) rather than re-deriving the onlyWhen rule, so the two can never disagree. - isVisibleId(id) { - return this.navGroups.some(g => g.rows.some(r => r.key === id)) + // THE ONE ROW THE DEVICE RULE DISABLES. Driver, verbatim: "it shouldn't change the tab order, it + // should open you up to the 2nd tab by default on mobile and disable the 1st tab." Named as a + // predicate (not a hardcoded width filter in navGroups) so the ONE place that knows "Big Picture" + // means 'dashboard-plus-grid' is this method — navGroups, onSelect and watchWidth all call it + // rather than each re-encoding the id + the width test. + isBigPictureDisabled(id) { + return id === 'dashboard-plus-grid' && this.narrow }, - // Index (into this.tabs) of the first row the rail currently paints. Falls back to 0 so the app - // always opens something, even if a future NAV_MODEL edit leaves a width with no curated rows. + // Index (into this.tabs) of the row the rail should auto-open at the CURRENT width. Desktop opens + // tab 1 (Big Picture); mobile opens tab 2 (Simple Research) because tab 1 is disabled there — the + // rail itself is UNCHANGED, only the default selection moves. Falls back to the first row of the + // first surviving group (then 0) so the app always opens something even if a future NAV_MODEL + // edit leaves a width with no curated rows. firstVisibleIndex() { + let fallback = -1 for (const g of this.navGroups) { for (const r of g.rows) { const i = this.tabs.findIndex(t => t.id === r.key) - if (i >= 0) return i + if (i < 0) continue + if (fallback < 0) fallback = i + if (!r.disabled) return i } } - return 0 + return fallback >= 0 ? fallback : 0 }, // Fetch the manifest ONCE and use it for BOTH jobs: complete the curated tabs (tag + scriptUrl) // and fill the Experimental folder. One read, because the two answers must describe the same @@ -888,7 +957,21 @@ export default defineComponent({ }, // The shared rail emits the selected tab's `key` (its id); map it back to the index the // pane-mount machinery below is keyed on. + // + // ★ THE DISABLED-ROW INTERCEPT. VerticalTabsLayout has no `disabled` concept of its own (its + // `pick(key)` emits update:active unconditionally on click — see the layout file's `pick`), and + // this shell does not own that file (see the studio-wide file-ownership rule), so Big Picture's + // "disabled on mobile" behavior is enforced HERE: the click still arrives, but on mobile it is + // turned into a transient message instead of a mount. The row stays visibly present (greyed via + // the `disabled`-badge styling below), never removed — exactly the device rule's "disable, don't + // hide." onSelect(key) { + if (this.isBigPictureDisabled(key)) { + this.disabledNotice = 'Big Picture only supports desktop — open this page on a desktop to use it.' + clearTimeout(this._noticeTimer) + this._noticeTimer = setTimeout(() => { this.disabledNotice = '' }, 4000) + return + } const i = this.tabs.findIndex(t => t.id === key) if (i !== -1) this.select(i) }, @@ -1065,6 +1148,15 @@ export default defineComponent({ .dms-hint.err { color: #f87171; } .dms-hint small { color: var(--dx-muted, #6d766e); } +/* THE DEVICE-RULE NOTICE — the transient "desktop only" toast for the disabled Big Picture row on + mobile. Material light only (surface/border/text/muted tokens), matching the rest of this file. */ +.dms-notice { + position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 40; + max-width: 320px; text-align: center; font-size: 13px; line-height: 1.4; + color: #3b463d; background: #fff; border: 1px solid #d1d4cd; border-radius: 10px; + padding: 10px 16px; box-shadow: 0 8px 24px rgba(0,0,0,.12); +} + /* #brand logo mark (left of the shell title). */ .dms-logo { display: inline-flex; align-items: center; } .dms-logo svg { display: block; } diff --git a/public/doxa-maps/doxa-maps-spa/doxa-maps-spa.js b/public/doxa-maps/doxa-maps-spa/doxa-maps-spa.js index 7d1d8f122..43ad5aad6 100644 --- a/public/doxa-maps/doxa-maps-spa/doxa-maps-spa.js +++ b/public/doxa-maps/doxa-maps-spa/doxa-maps-spa.js @@ -2,23 +2,23 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Cs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const B={},nt=[],we=()=>{},xi=()=>!1,Vt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Bt=e=>e.startsWith("onUpdate:"),X=Object.assign,As=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Co=Object.prototype.hasOwnProperty,D=(e,t)=>Co.call(e,t),k=Array.isArray,Ke=e=>pt(e)==="[object Map]",Wt=e=>pt(e)==="[object Set]",_i=e=>pt(e)==="[object Date]",M=e=>typeof e=="function",G=e=>typeof e=="string",me=e=>typeof e=="symbol",F=e=>e!==null&&typeof e=="object",wi=e=>(F(e)||M(e))&&M(e.then)&&M(e.catch),Si=Object.prototype.toString,pt=e=>Si.call(e),Ao=e=>pt(e).slice(8,-1),Kt=e=>pt(e)==="[object Object]",ks=e=>G(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,gt=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},ko=/-\w/g,se=zt(e=>e.replace(ko,t=>t.slice(1).toUpperCase())),Oo=/\B([A-Z])/g,ge=zt(e=>e.replace(Oo,"-$1").toLowerCase()),qt=zt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Os=zt(e=>e?`on${qt(e)}`:""),He=(e,t)=>!Object.is(e,t),Ms=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:s})},Mo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ti=e=>{const t=G(e)?Number(e):NaN;return isNaN(t)?e:t};let Ci;const Gt=()=>Ci||(Ci=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Is(e){if(k(e)){const t={};for(let s=0;s{if(s){const i=s.split(Ro);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function ze(e){let t="";if(G(e))t=e;else if(k(e))for(let s=0;s!!(e&&e.__v_isRef===!0),K=e=>G(e)?e:e==null?"":k(e)||F(e)&&(e.toString===Si||!M(e.toString))?Oi(e)?K(e.value):JSON.stringify(e,Mi,2):String(e),Mi=(e,t)=>Oi(t)?Mi(e,t.value):Ke(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[i,n],o)=>(s[Rs(i,o)+" =>"]=n,s),{})}:Wt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Rs(s))}:me(t)?Rs(t):F(t)&&!k(t)&&!Kt(t)?String(t):t,Rs=(e,t="")=>{var s;return me(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** +**/function ks(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const V={},nt=[],we=()=>{},wi=()=>!1,Bt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Vt=e=>e.startsWith("onUpdate:"),X=Object.assign,As=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ko=Object.prototype.hasOwnProperty,H=(e,t)=>ko.call(e,t),A=Array.isArray,Ke=e=>pt(e)==="[object Map]",Wt=e=>pt(e)==="[object Set]",Si=e=>pt(e)==="[object Date]",M=e=>typeof e=="function",G=e=>typeof e=="string",me=e=>typeof e=="symbol",F=e=>e!==null&&typeof e=="object",Ei=e=>(F(e)||M(e))&&M(e.then)&&M(e.catch),Ti=Object.prototype.toString,pt=e=>Ti.call(e),Ao=e=>pt(e).slice(8,-1),Kt=e=>pt(e)==="[object Object]",Os=e=>G(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,gt=ks(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zt=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Oo=/-\w/g,se=zt(e=>e.replace(Oo,t=>t.slice(1).toUpperCase())),Mo=/\B([A-Z])/g,ve=zt(e=>e.replace(Mo,"-$1").toLowerCase()),qt=zt(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ms=zt(e=>e?`on${qt(e)}`:""),De=(e,t)=>!Object.is(e,t),Rs=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:s})},Ro=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ki=e=>{const t=G(e)?Number(e):NaN;return isNaN(t)?e:t};let Ai;const Gt=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Is(e){if(A(e)){const t={};for(let s=0;s{if(s){const i=s.split(Po);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function ze(e){let t="";if(G(e))t=e;else if(A(e))for(let s=0;s!!(e&&e.__v_isRef===!0),W=e=>G(e)?e:e==null?"":A(e)||F(e)&&(e.toString===Ti||!M(e.toString))?Ri(e)?W(e.value):JSON.stringify(e,Ii,2):String(e),Ii=(e,t)=>Ri(t)?Ii(e,t.value):Ke(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[i,n],o)=>(s[Ps(i,o)+" =>"]=n,s),{})}:Wt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ps(s))}:me(t)?Ps(t):F(t)&&!A(t)&&!Kt(t)?String(t):t,Ps=(e,t="")=>{var s;return me(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ie;class Do{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ie&&(ie.active?(this.parent=ie,this.index=(ie.scopes||(ie.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const i=this.scopes.slice();for(t=0,s=i.length;t0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,i;for(s=0,i=this.effects.length;s0)return;if(mt){let t=mt;for(mt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;vt;){let t=vt;for(vt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=s}}if(e)throw e}function Li(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ni(e){let t,s=e.depsTail,i=s;for(;i;){const n=i.prevDep;i.version===-1?(i===s&&(s=n),Ds(i),Fo(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=n}e.deps=t,e.depsTail=s}function Hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Hi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Hi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bt)||(e.globalVersion=bt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hs(e))))return;e.flags|=2;const t=e.dep,s=z,i=be;z=e,be=!0;try{Li(e);const n=e.fn(e._value);(t.version===0||He(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{z=s,be=i,Ni(e),e.flags&=-3}}function Ds(e,t=!1){const{dep:s,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),s.subs===e&&(s.subs=i,!i&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Ds(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Fo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let be=!0;const Di=[];function Se(){Di.push(be),be=!1}function Ee(){const e=Di.pop();be=e===void 0?!0:e}function ji(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=z;z=void 0;try{t()}finally{z=s}}}let bt=0;class $o{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Fi{constructor(t){this.computed=t,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(t){if(!z||!be||z===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==z)s=this.activeLink=new $o(z,this),z.deps?(s.prevDep=z.depsTail,z.depsTail.nextDep=s,z.depsTail=s):z.deps=z.depsTail=s,$i(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const i=s.nextDep;i.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=i),s.prevDep=z.depsTail,s.nextDep=void 0,z.depsTail.nextDep=s,z.depsTail=s,z.deps===s&&(z.deps=i)}return s}trigger(t){this.version++,bt++,this.notify(t)}notify(t){Ls();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Ns()}}}function $i(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)$i(i)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const js=new WeakMap,Je=Symbol(""),Fs=Symbol(""),yt=Symbol("");function re(e,t,s){if(be&&z){let i=js.get(e);i||js.set(e,i=new Map);let n=i.get(s);n||(i.set(s,n=new Fi),n.map=i,n.key=s),n.track()}}function De(e,t,s,i,n,o){const r=js.get(e);if(!r){bt++;return}const l=a=>{a&&a.trigger()};if(Ls(),t==="clear")r.forEach(l);else{const a=k(e),u=a&&ks(s);if(a&&s==="length"){const d=Number(i);r.forEach((p,S)=>{(S==="length"||S===yt||!me(S)&&S>=d)&&l(p)})}else switch((s!==void 0||r.has(void 0))&&l(r.get(s)),u&&l(r.get(yt)),t){case"add":a?u&&l(r.get("length")):(l(r.get(Je)),Ke(e)&&l(r.get(Fs)));break;case"delete":a||(l(r.get(Je)),Ke(e)&&l(r.get(Fs)));break;case"set":Ke(e)&&l(r.get(Je));break}}Ns()}function ot(e){const t=j(e);return t===e?t:(re(t,"iterate",yt),ye(e)?t:t.map(Fe))}function Jt(e){return re(e=j(e),"iterate",yt),e}function Te(e,t){return qe(e)?rt(Xe(e)?Fe(t):t):Fe(t)}const Uo={__proto__:null,[Symbol.iterator](){return $s(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ot(this).concat(...e.map(t=>k(t)?ot(t):t))},entries(){return $s(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return je(this,"every",e,t,void 0,arguments)},filter(e,t){return je(this,"filter",e,t,s=>s.map(i=>Te(this,i)),arguments)},find(e,t){return je(this,"find",e,t,s=>Te(this,s),arguments)},findIndex(e,t){return je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return je(this,"findLast",e,t,s=>Te(this,s),arguments)},findLastIndex(e,t){return je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return je(this,"forEach",e,t,void 0,arguments)},includes(...e){return Us(this,"includes",e)},indexOf(...e){return Us(this,"indexOf",e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return Us(this,"lastIndexOf",e)},map(e,t){return je(this,"map",e,t,void 0,arguments)},pop(){return xt(this,"pop")},push(...e){return xt(this,"push",e)},reduce(e,...t){return Ui(this,"reduce",e,t)},reduceRight(e,...t){return Ui(this,"reduceRight",e,t)},shift(){return xt(this,"shift")},some(e,t){return je(this,"some",e,t,void 0,arguments)},splice(...e){return xt(this,"splice",e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return xt(this,"unshift",e)},values(){return $s(this,"values",e=>Te(this,e))}};function $s(e,t,s){const i=Jt(e),n=i[t]();return i!==e&&!ye(e)&&(n._next=n.next,n.next=()=>{const o=n._next();return o.done||(o.value=s(o.value)),o}),n}const Vo=Array.prototype;function je(e,t,s,i,n,o){const r=Jt(e),l=r!==e&&!ye(e),a=r[t];if(a!==Vo[t]){const p=a.apply(e,o);return l?Fe(p):p}let u=s;r!==e&&(l?u=function(p,S){return s.call(this,Te(e,p),S,e)}:s.length>2&&(u=function(p,S){return s.call(this,p,S,e)}));const d=a.call(r,u,i);return l&&n?n(d):d}function Ui(e,t,s,i){const n=Jt(e),o=n!==e&&!ye(e);let r=s,l=!1;n!==e&&(o?(l=i.length===0,r=function(u,d,p){return l&&(l=!1,u=Te(e,u)),s.call(this,u,Te(e,d),p,e)}):s.length>3&&(r=function(u,d,p){return s.call(this,u,d,p,e)}));const a=n[t](r,...i);return l?Te(e,a):a}function Us(e,t,s){const i=j(e);re(i,"iterate",yt);const n=i[t](...s);return(n===-1||n===!1)&&Ks(s[0])?(s[0]=j(s[0]),i[t](...s)):n}function xt(e,t,s=[]){Se(),Ls();const i=j(e)[t].apply(e,s);return Ns(),Ee(),i}const Bo=Cs("__proto__,__v_isRef,__isVue"),Vi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(me));function Wo(e){me(e)||(e=String(e));const t=j(this);return re(t,"has",e),t.hasOwnProperty(e)}class Bi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,i){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return o;if(s==="__v_raw")return i===(n?o?Yi:Gi:o?qi:zi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=k(t);if(!n){let a;if(r&&(a=Uo[s]))return a;if(s==="hasOwnProperty")return Wo}const l=Reflect.get(t,s,le(t)?t:i);if((me(s)?Vi.has(s):Bo(s))||(n||re(t,"get",s),o))return l;if(le(l)){const a=r&&ks(s)?l:l.value;return n&&F(a)?Ws(a):a}return F(l)?n?Ws(l):Bs(l):l}}class Wi extends Bi{constructor(t=!1){super(!1,t)}set(t,s,i,n){let o=t[s];const r=k(t)&&ks(s);if(!this._isShallow){const u=qe(o);if(!ye(i)&&!qe(i)&&(o=j(o),i=j(i)),!r&&le(o)&&!le(i))return u||(o.value=i),!0}const l=r?Number(s)e,Xt=e=>Reflect.getPrototypeOf(e);function Yo(e,t,s){return function(...i){const n=this.__v_raw,o=j(n),r=Ke(o),l=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,u=n[e](...i),d=s?Vs:t?rt:Fe;return!t&&re(o,"iterate",a?Fs:Je),X(Object.create(u),{next(){const{value:p,done:S}=u.next();return S?{value:p,done:S}:{value:l?[d(p[0]),d(p[1])]:d(p),done:S}}})}}function Zt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jo(e,t){const s={get(n){const o=this.__v_raw,r=j(o),l=j(n);e||(He(n,l)&&re(r,"get",n),re(r,"get",l));const{has:a}=Xt(r),u=t?Vs:e?rt:Fe;if(a.call(r,n))return u(o.get(n));if(a.call(r,l))return u(o.get(l));o!==r&&o.get(n)},get size(){const n=this.__v_raw;return!e&&re(j(n),"iterate",Je),n.size},has(n){const o=this.__v_raw,r=j(o),l=j(n);return e||(He(n,l)&&re(r,"has",n),re(r,"has",l)),n===l?o.has(n):o.has(n)||o.has(l)},forEach(n,o){const r=this,l=r.__v_raw,a=j(l),u=t?Vs:e?rt:Fe;return!e&&re(a,"iterate",Je),l.forEach((d,p)=>n.call(o,u(d),u(p),r))}};return X(s,e?{add:Zt("add"),set:Zt("set"),delete:Zt("delete"),clear:Zt("clear")}:{add(n){const o=j(this),r=Xt(o),l=j(n),a=!t&&!ye(n)&&!qe(n)?l:n;return r.has.call(o,a)||He(n,a)&&r.has.call(o,n)||He(l,a)&&r.has.call(o,l)||(o.add(a),De(o,"add",a,a)),this},set(n,o){!t&&!ye(o)&&!qe(o)&&(o=j(o));const r=j(this),{has:l,get:a}=Xt(r);let u=l.call(r,n);u||(n=j(n),u=l.call(r,n));const d=a.call(r,n);return r.set(n,o),u?He(o,d)&&De(r,"set",n,o):De(r,"add",n,o),this},delete(n){const o=j(this),{has:r,get:l}=Xt(o);let a=r.call(o,n);a||(n=j(n),a=r.call(o,n)),l&&l.call(o,n);const u=o.delete(n);return a&&De(o,"delete",n,void 0),u},clear(){const n=j(this),o=n.size!==0,r=n.clear();return o&&De(n,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=Yo(n,e,t)}),s}function Qt(e,t){const s=Jo(e,t);return(i,n,o)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?i:Reflect.get(D(s,n)&&n in i?s:i,n,o)}const Xo={get:Qt(!1,!1)},Zo={get:Qt(!1,!0)},Qo={get:Qt(!0,!1)},er={get:Qt(!0,!0)},zi=new WeakMap,qi=new WeakMap,Gi=new WeakMap,Yi=new WeakMap;function tr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bs(e){return qe(e)?e:es(e,!1,Ko,Xo,zi)}function sr(e){return es(e,!1,qo,Zo,qi)}function Ws(e){return es(e,!0,zo,Qo,Gi)}function Ac(e){return es(e,!0,Go,er,Yi)}function es(e,t,s,i,n){if(!F(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=n.get(e);if(o)return o;const r=tr(Ao(e));if(r===0)return e;const l=new Proxy(e,r===2?i:s);return n.set(e,l),l}function Xe(e){return qe(e)?Xe(e.__v_raw):!!(e&&e.__v_isReactive)}function qe(e){return!!(e&&e.__v_isReadonly)}function ye(e){return!!(e&&e.__v_isShallow)}function Ks(e){return e?!!e.__v_raw:!1}function j(e){const t=e&&e.__v_raw;return t?j(t):e}function ir(e){return!D(e,"__v_skip")&&Object.isExtensible(e)&&Ei(e,"__v_skip",!0),e}const Fe=e=>F(e)?Bs(e):e,rt=e=>F(e)?Ws(e):e;function le(e){return e?e.__v_isRef===!0:!1}function Ji(e){return le(e)?e.value:e}const nr={get:(e,t,s)=>t==="__v_raw"?e:Ji(Reflect.get(e,t,s)),set:(e,t,s,i)=>{const n=e[t];return le(n)&&!le(s)?(n.value=s,!0):Reflect.set(e,t,s,i)}};function Xi(e){return Xe(e)?e:new Proxy(e,nr)}class or{constructor(t,s,i){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Fi(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&z!==this)return Pi(this,!0),!0}get value(){const t=this.dep.track();return Hi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function rr(e,t,s=!1){let i,n;return M(e)?i=e:(i=e.get,n=e.set),new or(i,n,s)}const ts={},ss=new WeakMap;let Ze;function lr(e,t=!1,s=Ze){if(s){let i=ss.get(s);i||ss.set(s,i=[]),i.push(e)}}function ar(e,t,s=B){const{immediate:i,deep:n,once:o,scheduler:r,augmentJob:l,call:a}=s,u=A=>n?A:ye(A)||n===!1||n===0?$e(A,1):$e(A);let d,p,S,E,$=!1,I=!1;if(le(e)?(p=()=>e.value,$=ye(e)):Xe(e)?(p=()=>u(e),$=!0):k(e)?(I=!0,$=e.some(A=>Xe(A)||ye(A)),p=()=>e.map(A=>{if(le(A))return A.value;if(Xe(A))return u(A);if(M(A))return a?a(A,2):A()})):M(e)?t?p=a?()=>a(e,2):e:p=()=>{if(S){Se();try{S()}finally{Ee()}}const A=Ze;Ze=d;try{return a?a(e,3,[E]):e(E)}finally{Ze=A}}:p=we,t&&n){const A=p,te=n===!0?1/0:n;p=()=>$e(A(),te)}const Z=jo(),Y=()=>{d.stop(),Z&&Z.active&&As(Z.effects,d)};if(o&&t){const A=t;t=(...te)=>{const Me=A(...te);return Y(),Me}}let H=I?new Array(e.length).fill(ts):ts;const U=A=>{if(!(!(d.flags&1)||!d.dirty&&!A))if(t){const te=d.run();if(A||n||$||(I?te.some((Me,Ie)=>He(Me,H[Ie])):He(te,H))){S&&S();const Me=Ze;Ze=d;try{const Ie=[te,H===ts?void 0:I&&H[0]===ts?[]:H,E];H=te,a?a(t,3,Ie):t(...Ie)}finally{Ze=Me}}}else d.run()};return l&&l(U),d=new Ii(p),d.scheduler=r?()=>r(U,!1):U,E=A=>lr(A,!1,d),S=d.onStop=()=>{const A=ss.get(d);if(A){if(a)a(A,4);else for(const te of A)te();ss.delete(d)}},t?i?U(!0):H=d.run():r?r(U.bind(null,!0),!0):d.run(),Y.pause=d.pause.bind(d),Y.resume=d.resume.bind(d),Y.stop=Y,Y}function $e(e,t=1/0,s){if(t<=0||!F(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,le(e))$e(e.value,t,s);else if(k(e))for(let i=0;i{$e(i,t,s)});else if(Kt(e)){for(const i in e)$e(e[i],t,s);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&$e(e[i],t,s)}return e}/** +**/let ie;class jo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&ie&&(ie.active?(this.parent=ie,this.index=(ie.scopes||(ie.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes){const i=this.scopes.slice();for(t=0,s=i.length;t0&&--this._on===0){if(ie===this)ie=this.prevScope;else{let t=ie;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,i;for(s=0,i=this.effects.length;s0)return;if(mt){let t=mt;for(mt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;vt;){let t=vt;for(vt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(i){e||(e=i)}t=s}}if(e)throw e}function Di(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Hi(e){let t,s=e.depsTail,i=s;for(;i;){const n=i.prevDep;i.version===-1?(i===s&&(s=n),js(i),$o(i)):t=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=n}e.deps=t,e.depsTail=s}function Hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ji(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ji(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bt)||(e.globalVersion=bt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Hs(e))))return;e.flags|=2;const t=e.dep,s=z,i=be;z=e,be=!0;try{Di(e);const n=e.fn(e._value);(t.version===0||De(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{z=s,be=i,Hi(e),e.flags&=-3}}function js(e,t=!1){const{dep:s,prevSub:i,nextSub:n}=e;if(i&&(i.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=i,e.nextSub=void 0),s.subs===e&&(s.subs=i,!i&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)js(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function $o(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let be=!0;const Fi=[];function Se(){Fi.push(be),be=!1}function Ee(){const e=Fi.pop();be=e===void 0?!0:e}function $i(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=z;z=void 0;try{t()}finally{z=s}}}let bt=0;class Uo{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ui{constructor(t){this.computed=t,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(t){if(!z||!be||z===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==z)s=this.activeLink=new Uo(z,this),z.deps?(s.prevDep=z.depsTail,z.depsTail.nextDep=s,z.depsTail=s):z.deps=z.depsTail=s,Bi(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const i=s.nextDep;i.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=i),s.prevDep=z.depsTail,s.nextDep=void 0,z.depsTail.nextDep=s,z.depsTail=s,z.deps===s&&(z.deps=i)}return s}trigger(t){this.version++,bt++,this.notify(t)}notify(t){Ns();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Ds()}}}function Bi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let i=t.deps;i;i=i.nextDep)Bi(i)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Fs=new WeakMap,Je=Symbol(""),$s=Symbol(""),yt=Symbol("");function re(e,t,s){if(be&&z){let i=Fs.get(e);i||Fs.set(e,i=new Map);let n=i.get(s);n||(i.set(s,n=new Ui),n.map=i,n.key=s),n.track()}}function He(e,t,s,i,n,o){const r=Fs.get(e);if(!r){bt++;return}const l=a=>{a&&a.trigger()};if(Ns(),t==="clear")r.forEach(l);else{const a=A(e),u=a&&Os(s);if(a&&s==="length"){const d=Number(i);r.forEach((p,S)=>{(S==="length"||S===yt||!me(S)&&S>=d)&&l(p)})}else switch((s!==void 0||r.has(void 0))&&l(r.get(s)),u&&l(r.get(yt)),t){case"add":a?u&&l(r.get("length")):(l(r.get(Je)),Ke(e)&&l(r.get($s)));break;case"delete":a||(l(r.get(Je)),Ke(e)&&l(r.get($s)));break;case"set":Ke(e)&&l(r.get(Je));break}}Ds()}function ot(e){const t=j(e);return t===e?t:(re(t,"iterate",yt),ye(e)?t:t.map(Fe))}function Jt(e){return re(e=j(e),"iterate",yt),e}function Te(e,t){return qe(e)?rt(Xe(e)?Fe(t):t):Fe(t)}const Bo={__proto__:null,[Symbol.iterator](){return Us(this,Symbol.iterator,e=>Te(this,e))},concat(...e){return ot(this).concat(...e.map(t=>A(t)?ot(t):t))},entries(){return Us(this,"entries",e=>(e[1]=Te(this,e[1]),e))},every(e,t){return je(this,"every",e,t,void 0,arguments)},filter(e,t){return je(this,"filter",e,t,s=>s.map(i=>Te(this,i)),arguments)},find(e,t){return je(this,"find",e,t,s=>Te(this,s),arguments)},findIndex(e,t){return je(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return je(this,"findLast",e,t,s=>Te(this,s),arguments)},findLastIndex(e,t){return je(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return je(this,"forEach",e,t,void 0,arguments)},includes(...e){return Bs(this,"includes",e)},indexOf(...e){return Bs(this,"indexOf",e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return Bs(this,"lastIndexOf",e)},map(e,t){return je(this,"map",e,t,void 0,arguments)},pop(){return xt(this,"pop")},push(...e){return xt(this,"push",e)},reduce(e,...t){return Vi(this,"reduce",e,t)},reduceRight(e,...t){return Vi(this,"reduceRight",e,t)},shift(){return xt(this,"shift")},some(e,t){return je(this,"some",e,t,void 0,arguments)},splice(...e){return xt(this,"splice",e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return xt(this,"unshift",e)},values(){return Us(this,"values",e=>Te(this,e))}};function Us(e,t,s){const i=Jt(e),n=i[t]();return i!==e&&!ye(e)&&(n._next=n.next,n.next=()=>{const o=n._next();return o.done||(o.value=s(o.value)),o}),n}const Vo=Array.prototype;function je(e,t,s,i,n,o){const r=Jt(e),l=r!==e&&!ye(e),a=r[t];if(a!==Vo[t]){const p=a.apply(e,o);return l?Fe(p):p}let u=s;r!==e&&(l?u=function(p,S){return s.call(this,Te(e,p),S,e)}:s.length>2&&(u=function(p,S){return s.call(this,p,S,e)}));const d=a.call(r,u,i);return l&&n?n(d):d}function Vi(e,t,s,i){const n=Jt(e),o=n!==e&&!ye(e);let r=s,l=!1;n!==e&&(o?(l=i.length===0,r=function(u,d,p){return l&&(l=!1,u=Te(e,u)),s.call(this,u,Te(e,d),p,e)}):s.length>3&&(r=function(u,d,p){return s.call(this,u,d,p,e)}));const a=n[t](r,...i);return l?Te(e,a):a}function Bs(e,t,s){const i=j(e);re(i,"iterate",yt);const n=i[t](...s);return(n===-1||n===!1)&&zs(s[0])?(s[0]=j(s[0]),i[t](...s)):n}function xt(e,t,s=[]){Se(),Ns();const i=j(e)[t].apply(e,s);return Ds(),Ee(),i}const Wo=ks("__proto__,__v_isRef,__isVue"),Wi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(me));function Ko(e){me(e)||(e=String(e));const t=j(this);return re(t,"has",e),t.hasOwnProperty(e)}class Ki{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,i){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return o;if(s==="__v_raw")return i===(n?o?Xi:Ji:o?Yi:Gi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=A(t);if(!n){let a;if(r&&(a=Bo[s]))return a;if(s==="hasOwnProperty")return Ko}const l=Reflect.get(t,s,le(t)?t:i);if((me(s)?Wi.has(s):Wo(s))||(n||re(t,"get",s),o))return l;if(le(l)){const a=r&&Os(s)?l:l.value;return n&&F(a)?Ks(a):a}return F(l)?n?Ks(l):Ws(l):l}}class zi extends Ki{constructor(t=!1){super(!1,t)}set(t,s,i,n){let o=t[s];const r=A(t)&&Os(s);if(!this._isShallow){const u=qe(o);if(!ye(i)&&!qe(i)&&(o=j(o),i=j(i)),!r&&le(o)&&!le(i))return u||(o.value=i),!0}const l=r?Number(s)e,Xt=e=>Reflect.getPrototypeOf(e);function Jo(e,t,s){return function(...i){const n=this.__v_raw,o=j(n),r=Ke(o),l=e==="entries"||e===Symbol.iterator&&r,a=e==="keys"&&r,u=n[e](...i),d=s?Vs:t?rt:Fe;return!t&&re(o,"iterate",a?$s:Je),X(Object.create(u),{next(){const{value:p,done:S}=u.next();return S?{value:p,done:S}:{value:l?[d(p[0]),d(p[1])]:d(p),done:S}}})}}function Zt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xo(e,t){const s={get(n){const o=this.__v_raw,r=j(o),l=j(n);e||(De(n,l)&&re(r,"get",n),re(r,"get",l));const{has:a}=Xt(r),u=t?Vs:e?rt:Fe;if(a.call(r,n))return u(o.get(n));if(a.call(r,l))return u(o.get(l));o!==r&&o.get(n)},get size(){const n=this.__v_raw;return!e&&re(j(n),"iterate",Je),n.size},has(n){const o=this.__v_raw,r=j(o),l=j(n);return e||(De(n,l)&&re(r,"has",n),re(r,"has",l)),n===l?o.has(n):o.has(n)||o.has(l)},forEach(n,o){const r=this,l=r.__v_raw,a=j(l),u=t?Vs:e?rt:Fe;return!e&&re(a,"iterate",Je),l.forEach((d,p)=>n.call(o,u(d),u(p),r))}};return X(s,e?{add:Zt("add"),set:Zt("set"),delete:Zt("delete"),clear:Zt("clear")}:{add(n){const o=j(this),r=Xt(o),l=j(n),a=!t&&!ye(n)&&!qe(n)?l:n;return r.has.call(o,a)||De(n,a)&&r.has.call(o,n)||De(l,a)&&r.has.call(o,l)||(o.add(a),He(o,"add",a,a)),this},set(n,o){!t&&!ye(o)&&!qe(o)&&(o=j(o));const r=j(this),{has:l,get:a}=Xt(r);let u=l.call(r,n);u||(n=j(n),u=l.call(r,n));const d=a.call(r,n);return r.set(n,o),u?De(o,d)&&He(r,"set",n,o):He(r,"add",n,o),this},delete(n){const o=j(this),{has:r,get:l}=Xt(o);let a=r.call(o,n);a||(n=j(n),a=r.call(o,n)),l&&l.call(o,n);const u=o.delete(n);return a&&He(o,"delete",n,void 0),u},clear(){const n=j(this),o=n.size!==0,r=n.clear();return o&&He(n,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=Jo(n,e,t)}),s}function Qt(e,t){const s=Xo(e,t);return(i,n,o)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?i:Reflect.get(H(s,n)&&n in i?s:i,n,o)}const Zo={get:Qt(!1,!1)},Qo={get:Qt(!1,!0)},er={get:Qt(!0,!1)},tr={get:Qt(!0,!0)},Gi=new WeakMap,Yi=new WeakMap,Ji=new WeakMap,Xi=new WeakMap;function sr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ws(e){return qe(e)?e:es(e,!1,zo,Zo,Gi)}function ir(e){return es(e,!1,Go,Qo,Yi)}function Ks(e){return es(e,!0,qo,er,Ji)}function Mc(e){return es(e,!0,Yo,tr,Xi)}function es(e,t,s,i,n){if(!F(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=n.get(e);if(o)return o;const r=sr(Ao(e));if(r===0)return e;const l=new Proxy(e,r===2?i:s);return n.set(e,l),l}function Xe(e){return qe(e)?Xe(e.__v_raw):!!(e&&e.__v_isReactive)}function qe(e){return!!(e&&e.__v_isReadonly)}function ye(e){return!!(e&&e.__v_isShallow)}function zs(e){return e?!!e.__v_raw:!1}function j(e){const t=e&&e.__v_raw;return t?j(t):e}function nr(e){return!H(e,"__v_skip")&&Object.isExtensible(e)&&Ci(e,"__v_skip",!0),e}const Fe=e=>F(e)?Ws(e):e,rt=e=>F(e)?Ks(e):e;function le(e){return e?e.__v_isRef===!0:!1}function Zi(e){return le(e)?e.value:e}const or={get:(e,t,s)=>t==="__v_raw"?e:Zi(Reflect.get(e,t,s)),set:(e,t,s,i)=>{const n=e[t];return le(n)&&!le(s)?(n.value=s,!0):Reflect.set(e,t,s,i)}};function Qi(e){return Xe(e)?e:new Proxy(e,or)}class rr{constructor(t,s,i){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Ui(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&z!==this)return Ni(this,!0),!0}get value(){const t=this.dep.track();return ji(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function lr(e,t,s=!1){let i,n;return M(e)?i=e:(i=e.get,n=e.set),new rr(i,n,s)}const ts={},ss=new WeakMap;let Ze;function ar(e,t=!1,s=Ze){if(s){let i=ss.get(s);i||ss.set(s,i=[]),i.push(e)}}function cr(e,t,s=V){const{immediate:i,deep:n,once:o,scheduler:r,augmentJob:l,call:a}=s,u=k=>n?k:ye(k)||n===!1||n===0?$e(k,1):$e(k);let d,p,S,E,$=!1,R=!1;if(le(e)?(p=()=>e.value,$=ye(e)):Xe(e)?(p=()=>u(e),$=!0):A(e)?(R=!0,$=e.some(k=>Xe(k)||ye(k)),p=()=>e.map(k=>{if(le(k))return k.value;if(Xe(k))return u(k);if(M(k))return a?a(k,2):k()})):M(e)?t?p=a?()=>a(e,2):e:p=()=>{if(S){Se();try{S()}finally{Ee()}}const k=Ze;Ze=d;try{return a?a(e,3,[E]):e(E)}finally{Ze=k}}:p=we,t&&n){const k=p,te=n===!0?1/0:n;p=()=>$e(k(),te)}const Z=Fo(),Y=()=>{d.stop(),Z&&Z.active&&As(Z.effects,d)};if(o&&t){const k=t;t=(...te)=>{const Me=k(...te);return Y(),Me}}let D=R?new Array(e.length).fill(ts):ts;const U=k=>{if(!(!(d.flags&1)||!d.dirty&&!k))if(t){const te=d.run();if(k||n||$||(R?te.some((Me,Re)=>De(Me,D[Re])):De(te,D))){S&&S();const Me=Ze;Ze=d;try{const Re=[te,D===ts?void 0:R&&D[0]===ts?[]:D,E];D=te,a?a(t,3,Re):t(...Re)}finally{Ze=Me}}}else d.run()};return l&&l(U),d=new Pi(p),d.scheduler=r?()=>r(U,!1):U,E=k=>ar(k,!1,d),S=d.onStop=()=>{const k=ss.get(d);if(k){if(a)a(k,4);else for(const te of k)te();ss.delete(d)}},t?i?U(!0):D=d.run():r?r(U.bind(null,!0),!0):d.run(),Y.pause=d.pause.bind(d),Y.resume=d.resume.bind(d),Y.stop=Y,Y}function $e(e,t=1/0,s){if(t<=0||!F(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,le(e))$e(e.value,t,s);else if(A(e))for(let i=0;i{$e(i,t,s)});else if(Kt(e)){for(const i in e)$e(e[i],t,s);for(const i of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,i)&&$e(e[i],t,s)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const _t=[];let zs=!1;function kc(e,...t){if(zs)return;zs=!0,Se();const s=_t.length?_t[_t.length-1].component:null,i=s&&s.appContext.config.warnHandler,n=cr();if(i)lt(i,s,11,[e+t.map(o=>{var r,l;return(l=(r=o.toString)==null?void 0:r.call(o))!=null?l:JSON.stringify(o)}).join(""),s&&s.proxy,n.map(({vnode:o})=>`at <${Zn(s,o.type)}>`).join(` +**/const _t=[];let qs=!1;function Rc(e,...t){if(qs)return;qs=!0,Se();const s=_t.length?_t[_t.length-1].component:null,i=s&&s.appContext.config.warnHandler,n=fr();if(i)lt(i,s,11,[e+t.map(o=>{var r,l;return(l=(r=o.toString)==null?void 0:r.call(o))!=null?l:JSON.stringify(o)}).join(""),s&&s.proxy,n.map(({vnode:o})=>`at <${eo(s,o.type)}>`).join(` `),n]);else{const o=[`[Vue warn]: ${e}`,...t];n.length&&o.push(` -`,...fr(n)),console.warn(...o)}Ee(),zs=!1}function cr(){let e=_t[_t.length-1];if(!e)return[];const t=[];for(;e;){const s=t[0];s&&s.vnode===e?s.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function fr(e){const t=[];return e.forEach((s,i)=>{t.push(...i===0?[]:[` -`],...dr(s))}),t}function dr({vnode:e,recurseCount:t}){const s=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,n=` at <${Zn(e.component,e.type,i)}`,o=">"+s;return e.props?[n,...ur(e.props),o]:[n+o]}function ur(e){const t=[],s=Object.keys(e);return s.slice(0,3).forEach(i=>{t.push(...Zi(i,e[i]))}),s.length>3&&t.push(" ..."),t}function Zi(e,t,s){return G(t)?(t=JSON.stringify(t),s?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?s?t:[`${e}=${t}`]:le(t)?(t=Zi(e,j(t.value),!0),s?t:[`${e}=Ref<`,t,">"]):M(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=j(t),s?t:[`${e}=`,t])}function lt(e,t,s,i){try{return i?e(...i):e()}catch(n){is(n,t,s)}}function xe(e,t,s,i){if(M(e)){const n=lt(e,t,s,i);return n&&wi(n)&&n.catch(o=>{is(o,t,s)}),n}if(k(e)){const n=[];for(let o=0;o>>1,n=ce[i],o=wt(n);o=wt(s)?ce.push(e):ce.splice(pr(t),0,e),e.flags|=1,tn()}}function tn(){ns||(ns=Qi.then(on))}function gr(e){if(!k(e))Ge&&e.id===-1?Ge.splice(ct+1,0,e):e.flags&1||(at.push(e),e.flags|=1);else for(let t=0;twt(s)-wt(i));if(at.length=0,Ge){for(let s=0;se.id==null?e.flags&2?-1:1/0:e.id;function on(e){try{for(Ce=0;Ce{i._d&&Bn(-1);const o=os(t),r=Ve.length;let l;try{l=e(...n)}finally{for(let a=Ve.length;a>r;a--)ci();os(o),i._d&&Bn(1)}return l};return i._n=!0,i._c=!0,i._d=!0,i}function Gs(e,t){if(ne===null)return e;const s=ms(ne),i=e.dirs||(e.dirs=[]);for(let n=0;n1)return s&&M(t)?t.call(i&&i.proxy):t}}const mr=Symbol.for("v-scx"),br=()=>Et(mr);function Ys(e,t,s){return ln(e,t,s)}function ln(e,t,s=B){const{immediate:i,deep:n,flush:o,once:r}=s,l=X({},s),a=t&&i||!t&&o!=="post";let u;if(Pt){if(o==="sync"){const E=br();u=E.__watcherHandles||(E.__watcherHandles=[])}else if(!a){const E=()=>{};return E.stop=we,E.resume=we,E.pause=we,E}}const d=ae;l.call=(E,$,I)=>xe(E,d,$,I);let p=!1;o==="post"?l.scheduler=E=>{ue(E,d&&d.suspense)}:o!=="sync"&&(p=!0,l.scheduler=(E,$)=>{$?E():qs(E)}),l.augmentJob=E=>{t&&(E.flags|=4),p&&(E.flags|=2,d&&(E.id=d.uid,E.i=d))};const S=ar(e,t,l);return Pt&&(u?u.push(S):a&&S()),S}function yr(e,t,s){const i=this.proxy,n=G(e)?e.includes(".")?an(i,e):()=>i[e]:e.bind(i,i);let o;M(t)?o=t:(o=t.handler,s=t);const r=Rt(this),l=ln(n,o.bind(i),s);return r(),l}function an(e,t){const s=t.split(".");return()=>{let i=e;for(let n=0;ne.__isTeleport,Js=Symbol("_leaveCb");function _r(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==Ae){t=s;break}}return t}function cn(e){if(!Qs(e))return rs(e.type)&&e.children?_r(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&M(s.default))return s.default()}}function Xs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;Xs(rs(s.type)&&cn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Zs(e,t){return M(e)?X({name:e.name},t,{setup:e}):e}function fn(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function dn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ls=new WeakMap;function Tt(e,t,s,i,n=!1){if(k(e)){e.forEach((I,Z)=>Tt(I,t&&(k(t)?t[Z]:t),s,i,n));return}if(ft(i)&&!n){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Tt(e,t,s,i.component.subTree);return}const o=i.shapeFlag&4?ms(i.component):i.el,r=n?null:o,{i:l,r:a}=e,u=t&&t.r,d=l.refs===B?l.refs={}:l.refs,p=l.setupState,S=j(p),E=p===B?xi:I=>dn(d,I)?!1:D(S,I),$=(I,Z)=>!(Z&&dn(d,Z));if(u!=null&&u!==a){if(un(t),G(u))d[u]=null,E(u)&&(p[u]=null);else if(le(u)){const I=t;$(u,I.k)&&(u.value=null),I.k&&(d[I.k]=null)}}if(M(a))lt(a,l,12,[r,d]);else{const I=G(a),Z=le(a);if(I||Z){const Y=()=>{if(e.f){const H=I?E(a)?p[a]:d[a]:$()||!e.k?a.value:d[e.k];if(n)k(H)&&As(H,o);else if(k(H))H.includes(o)||H.push(o);else if(I)d[a]=[o],E(a)&&(p[a]=d[a]);else{const U=[o];$(a,e.k)&&(a.value=U),e.k&&(d[e.k]=U)}}else I?(d[a]=r,E(a)&&(p[a]=r)):Z&&($(a,e.k)&&(a.value=r),e.k&&(d[e.k]=r))};if(r){const H=()=>{Y(),ls.delete(e)};H.id=-1,ls.set(e,H),ue(H,s)}else un(e),Y()}}}function un(e){const t=ls.get(e);t&&(t.flags|=8,ls.delete(e))}Gt().requestIdleCallback,Gt().cancelIdleCallback;const ft=e=>!!e.type.__asyncLoader,Qs=e=>e.type.__isKeepAlive;function wr(e,t){hn(e,"a",t)}function Sr(e,t){hn(e,"da",t)}function hn(e,t,s=ae){const i=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(as(t,i,s),s){let n=s.parent;for(;n&&n.parent;)Qs(n.parent.vnode)&&Er(i,t,s,n),n=n.parent}}function Er(e,t,s,i){const n=as(t,e,i,!0);gn(()=>{As(i[t],n)},s)}function as(e,t,s=ae,i=!1){if(s){const n=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{Se();const l=Rt(s),a=xe(t,s,e,r);return l(),Ee(),a});return i?n.unshift(o):n.push(o),o}}const Ue=e=>(t,s=ae)=>{(!Pt||e==="sp")&&as(e,(...i)=>t(...i),s)},Tr=Ue("bm"),pn=Ue("m"),Cr=Ue("bu"),Ar=Ue("u"),kr=Ue("bum"),gn=Ue("um"),Or=Ue("sp"),Mr=Ue("rtg"),Ir=Ue("rtc");function Rr(e,t=ae){as("ec",e,t)}const Pr="components";function Lr(e,t){return Hr(Pr,e,!0,t)||e}const Nr=Symbol.for("v-ndc");function Hr(e,t,s=!0,i=!1){const n=ne||ae;if(n){const o=n.type;{const l=Xn(o,!1);if(l&&(l===t||l===se(t)||l===qt(se(t))))return o}const r=vn(n[e]||o[e],t)||vn(n.appContext[e],t);return!r&&i?o:r}}function vn(e,t){return e&&(e[t]||e[se(t)]||e[qt(se(t))])}function dt(e,t,s,i){let n;const o=s,r=k(e);if(r||G(e)){const l=r&&Xe(e);let a=!1,u=!1;l&&(a=!ye(e),u=qe(e),e=Jt(e)),n=new Array(e.length);for(let d=0,p=e.length;dt(l,a,void 0,o));else{const l=Object.keys(e);n=new Array(l.length);for(let a=0,u=l.length;a{const o=i.fn(...n);return o&&(o.key=i.key),o}:i.fn)}return e}function cs(e,t,s,i,n,o){if(s==null&&(s={}),ne.ce||ne.parent&&ft(ne.parent)&&ne.parent.ce){const u=o!=null&&s.key==null?X({},s,{key:o}):s,d=Object.keys(u).length>0;return t!=="default"&&(u.name=t),P(),hs(ee,null,[_e("slot",u,i)],d?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const l=Ve.length;P();let a;try{const u=r&&mn(r(s)),d=s.key||o||u&&u.key;a=hs(ee,{key:(d&&!me(d)?d:`_${t}`)+(!u&&i?"_fb":"")},u||(i?i():[]),u&&e._===1?64:-2)}catch(u){for(let d=Ve.length;d>l;d--)ci();throw u}finally{r&&r._c&&(r._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function mn(e){return e.some(t=>fi(t)?!(t.type===Ae||t.type===ee&&!mn(t.children)):!0)?e:null}const ei=e=>e?Gn(e)?ms(e):ei(e.parent):null,Ct=X(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=>ei(e.parent),$root:e=>ei(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_n(e),$forceUpdate:e=>e.f||(e.f=()=>{qs(e.update)}),$nextTick:e=>e.n||(e.n=en.bind(e.proxy)),$watch:e=>yr.bind(e)}),ti=(e,t)=>e!==B&&!e.__isScriptSetup&&D(e,t),jr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:i,data:n,props:o,accessCache:r,type:l,appContext:a}=e;if(t[0]!=="$"){const S=r[t];if(S!==void 0)switch(S){case 1:return i[t];case 2:return n[t];case 4:return s[t];case 3:return o[t]}else{if(ti(i,t))return r[t]=1,i[t];if(n!==B&&D(n,t))return r[t]=2,n[t];if(D(o,t))return r[t]=3,o[t];if(s!==B&&D(s,t))return r[t]=4,s[t];si&&(r[t]=0)}}const u=Ct[t];let d,p;if(u)return t==="$attrs"&&re(e.attrs,"get",""),u(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(s!==B&&D(s,t))return r[t]=4,s[t];if(p=a.config.globalProperties,D(p,t))return p[t]},set({_:e},t,s){const{data:i,setupState:n,ctx:o}=e;return ti(n,t)?(n[t]=s,!0):i!==B&&D(i,t)?(i[t]=s,!0):D(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:i,appContext:n,props:o,type:r}},l){let a;return!!(s[l]||e!==B&&l[0]!=="$"&&D(e,l)||ti(t,l)||D(o,l)||D(i,l)||D(Ct,l)||D(n.config.globalProperties,l)||(a=r.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:D(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function bn(e){return k(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let si=!0;function Fr(e){const t=_n(e),s=e.proxy,i=e.ctx;si=!1,t.beforeCreate&&yn(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:r,watch:l,provide:a,inject:u,created:d,beforeMount:p,mounted:S,beforeUpdate:E,updated:$,activated:I,deactivated:Z,beforeDestroy:Y,beforeUnmount:H,destroyed:U,unmounted:A,render:te,renderTracked:Me,renderTriggered:Ie,errorCaptured:Ye,serverPrefetch:_s,expose:tt,inheritAttrs:jt,components:ws,directives:Ss,filters:bi}=t;if(u&&$r(u,i,null),r)for(const J in r){const q=r[J];M(q)&&(i[J]=q.bind(s))}if(n){const J=n.call(s,s);F(J)&&(e.data=Bs(J))}if(si=!0,o)for(const J in o){const q=o[J],st=M(q)?q.bind(s,s):M(q.get)?q.get.bind(s,s):we,Es=!M(q)&&M(q.set)?q.set.bind(s):we,it=Sl({get:st,set:Es});Object.defineProperty(i,J,{enumerable:!0,configurable:!0,get:()=>it.value,set:Re=>it.value=Re})}if(l)for(const J in l)xn(l[J],i,s,J);if(a){const J=M(a)?a.call(s):a;Reflect.ownKeys(J).forEach(q=>{vr(q,J[q])})}d&&yn(d,e,"c");function de(J,q){k(q)?q.forEach(st=>J(st.bind(s))):q&&J(q.bind(s))}if(de(Tr,p),de(pn,S),de(Cr,E),de(Ar,$),de(wr,I),de(Sr,Z),de(Rr,Ye),de(Ir,Me),de(Mr,Ie),de(kr,H),de(gn,A),de(Or,_s),k(tt))if(tt.length){const J=e.exposed||(e.exposed={});tt.forEach(q=>{Object.defineProperty(J,q,{get:()=>s[q],set:st=>s[q]=st,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===we&&(e.render=te),jt!=null&&(e.inheritAttrs=jt),ws&&(e.components=ws),Ss&&(e.directives=Ss),_s&&fn(e)}function $r(e,t,s=we){k(e)&&(e=ii(e));for(const i in e){const n=e[i];let o;F(n)?"default"in n?o=Et(n.from||i,n.default,!0):o=Et(n.from||i):o=Et(n),le(o)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[i]=o}}function yn(e,t,s){xe(k(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,s)}function xn(e,t,s,i){let n=i.includes(".")?an(s,i):()=>s[i];if(G(e)){const o=t[e];M(o)&&Ys(n,o)}else if(M(e))Ys(n,e.bind(s));else if(F(e))if(k(e))e.forEach(o=>xn(o,t,s,i));else{const o=M(e.handler)?e.handler.bind(s):t[e.handler];M(o)&&Ys(n,o,e)}}function _n(e){const t=e.type,{mixins:s,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,l=o.get(t);let a;return l?a=l:!n.length&&!s&&!i?a=t:(a={},n.length&&n.forEach(u=>fs(a,u,r,!0)),fs(a,t,r)),F(t)&&o.set(t,a),a}function fs(e,t,s,i=!1){const{mixins:n,extends:o}=t;o&&fs(e,o,s,!0),n&&n.forEach(r=>fs(e,r,s,!0));for(const r in t)if(!(i&&r==="expose")){const l=Ur[r]||s&&s[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const Ur={data:wn,props:Sn,emits:Sn,methods:At,computed:At,beforeCreate:fe,created:fe,beforeMount:fe,mounted:fe,beforeUpdate:fe,updated:fe,beforeDestroy:fe,beforeUnmount:fe,destroyed:fe,unmounted:fe,activated:fe,deactivated:fe,errorCaptured:fe,serverPrefetch:fe,components:At,directives:At,watch:Br,provide:wn,inject:Vr};function wn(e,t){return t?e?function(){return X(M(e)?e.call(this,this):e,M(t)?t.call(this,this):t)}:t:e}function Vr(e,t){return At(ii(e),ii(t))}function ii(e){if(k(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${se(t)}Modifiers`]||e[`${ge(t)}Modifiers`];function qr(e,t,...s){if(e.isUnmounted)return;const i=e.vnode.props||B;let n=s;const o=t.startsWith("update:"),r=o&&zr(i,t.slice(7));r&&(r.trim&&(n=s.map(d=>G(d)?d.trim():d)),r.number&&(n=n.map(Mo)));let l,a=i[l=Os(t)]||i[l=Os(se(t))];!a&&o&&(a=i[l=Os(ge(t))]),a&&xe(a,e,6,n);const u=i[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(u,e,6,n)}}const Gr=new WeakMap;function Tn(e,t,s=!1){const i=s?Gr:t.emitsCache,n=i.get(e);if(n!==void 0)return n;const o=e.emits;let r={},l=!1;if(!M(e)){const a=u=>{const d=Tn(u,t,!0);d&&(l=!0,X(r,d))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(F(e)&&i.set(e,null),null):(k(o)?o.forEach(a=>r[a]=null):X(r,o),F(e)&&i.set(e,r),r)}function ds(e,t){return!e||!Vt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),D(e,t[0].toLowerCase()+t.slice(1))||D(e,ge(t))||D(e,t))}function Oc(){}function Cn(e){const{type:t,vnode:s,proxy:i,withProxy:n,propsOptions:[o],slots:r,attrs:l,emit:a,render:u,renderCache:d,props:p,data:S,setupState:E,ctx:$,inheritAttrs:I}=e,Z=os(e);let Y,H;try{if(s.shapeFlag&4){const A=n||i,te=A;Y=ke(u.call(te,A,d,p,E,S,$)),H=l}else{const A=t;Y=ke(A.length>1?A(p,{attrs:l,slots:r,emit:a}):A(p,null)),H=t.props?l:Yr(l)}}catch(A){Ve.length=0,is(A,e,1),Y=_e(Ae)}let U=Y;if(H&&I!==!1){const A=Object.keys(H),{shapeFlag:te}=U;A.length&&te&7&&(o&&A.some(Bt)&&(H=Jr(H,o)),U=ht(U,H,!1,!0))}if(s.dirs&&(U=ht(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(s.dirs):s.dirs),s.transition){const A=rs(U.type)&&cn(U)||U;Xs(A,s.transition)}return Y=U,os(Z),Y}const Yr=e=>{let t;for(const s in e)(s==="class"||s==="style"||Vt(s))&&((t||(t={}))[s]=e[s]);return t},Jr=(e,t)=>{const s={};for(const i in e)(!Bt(i)||!(i.slice(9)in t))&&(s[i]=e[i]);return s};function Xr(e,t,s){const{props:i,children:n,component:o}=e,{props:r,children:l,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return i?An(i,r,u):!!r;if(a&8){const d=t.dynamicProps;for(let p=0;pObject.create(On),In=e=>Object.getPrototypeOf(e)===On;function Qr(e,t,s,i=!1){const n={},o=Mn();e.propsDefaults=Object.create(null),Rn(e,t,n,o);for(const r in e.propsOptions[0])r in n||(n[r]=void 0);s?e.props=i?n:sr(n):e.type.props?e.props=n:e.props=o,e.attrs=o}function el(e,t,s,i){const{props:n,attrs:o,vnode:{patchFlag:r}}=e,l=j(n),[a]=e.propsOptions;let u=!1;if((i||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[S,E]=Pn(p,t,!0);X(r,S),E&&l.push(...E)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!a)return F(e)&&i.set(e,nt),nt;if(k(o))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",ri=e=>k(e)?e.map(ke):[ke(e)],sl=(e,t,s)=>{if(t._n)return t;const i=St((...n)=>ri(t(...n)),s);return i._c=!1,i},Nn=(e,t,s)=>{const i=e._ctx;for(const n in e){if(oi(n))continue;const o=e[n];if(M(o))t[n]=sl(n,o,i);else if(o!=null){const r=ri(o);t[n]=()=>r}}},Hn=(e,t)=>{const s=ri(t);e.slots.default=()=>s},Dn=(e,t,s)=>{for(const i in t)(s||!oi(i))&&(e[i]=t[i])},il=(e,t,s)=>{const i=e.slots=Mn();if(e.vnode.shapeFlag&32){const n=t._;n?(Dn(i,t,s),s&&Ei(i,"_",n,!0)):Nn(t,i)}else t&&Hn(e,t)},nl=(e,t,s)=>{const{vnode:i,slots:n}=e;let o=!0,r=B;if(i.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:Dn(n,t,s):(o=!t.$stable,Nn(t,n)),r=t}else t&&(Hn(e,t),r={default:1});if(o)for(const l in n)!oi(l)&&r[l]==null&&delete n[l]},ue=cl;function ol(e){return rl(e)}function rl(e,t){const s=Gt();s.__VUE__=!0;const{insert:i,remove:n,patchProp:o,createElement:r,createText:l,createComment:a,setText:u,setElementText:d,parentNode:p,nextSibling:S,setScopeId:E=we,insertStaticContent:$}=e,I=(c,f,h,b=null,m=null,g=null,_=void 0,x=null,y=!!f.dynamicChildren)=>{if(c===f)return;c&&!Ot(c,f)&&(b=Ts(c),Re(c,m,g,!0),c=null),f.patchFlag===-2&&(y=!1,f.dynamicChildren=null);const{type:v,ref:C,shapeFlag:w}=f;switch(v){case us:Z(c,f,h,b);break;case Ae:Y(c,f,h,b);break;case ai:c==null&&H(f,h,b,_);break;case ee:ws(c,f,h,b,m,g,_,x,y);break;default:w&1?te(c,f,h,b,m,g,_,x,y):w&6?Ss(c,f,h,b,m,g,_,x,y):(w&64||w&128)&&v.process(c,f,h,b,m,g,_,x,y,$t)}C!=null&&m?Tt(C,c&&c.ref,g,f||c,!f):C==null&&c&&c.ref!=null&&Tt(c.ref,null,g,c,!0)},Z=(c,f,h,b)=>{if(c==null)i(f.el=l(f.children),h,b);else{const m=f.el=c.el;f.children!==c.children&&u(m,f.children)}},Y=(c,f,h,b)=>{c==null?i(f.el=a(f.children||""),h,b):f.el=c.el},H=(c,f,h,b)=>{[c.el,c.anchor]=$(c.children,f,h,b,c.el,c.anchor)},U=({el:c,anchor:f},h,b)=>{let m;for(;c&&c!==f;)m=S(c),i(c,h,b),c=m;i(f,h,b)},A=({el:c,anchor:f})=>{let h;for(;c&&c!==f;)h=S(c),n(c),c=h;n(f)},te=(c,f,h,b,m,g,_,x,y)=>{if(f.type==="svg"?_="svg":f.type==="math"&&(_="mathml"),c==null)Me(f,h,b,m,g,_,x,y);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),_s(c,f,m,g,_,x,y)}finally{v&&v._endPatch()}}},Me=(c,f,h,b,m,g,_,x)=>{let y,v;const{props:C,shapeFlag:w,transition:T,dirs:O}=c;if(y=c.el=r(c.type,g,C&&C.is,C),w&8?d(y,c.children):w&16&&Ye(c.children,y,null,b,m,li(c,g),_,x),O&&Qe(c,null,b,"created"),Ie(y,c,c.scopeId,_,b),C){for(const W in C)W!=="value"&&!gt(W)&&o(y,W,null,C[W],g,b);"value"in C&&o(y,"value",null,C.value,g),(v=C.onVnodeBeforeMount)&&Oe(v,b,c)}O&&Qe(c,null,b,"beforeMount");const N=ll(m,T);N&&T.beforeEnter(y),i(y,f,h),((v=C&&C.onVnodeMounted)||N||O)&&ue(()=>{try{v&&Oe(v,b,c),N&&T.enter(y),O&&Qe(c,null,b,"mounted")}finally{}},m)},Ie=(c,f,h,b,m)=>{if(h&&E(c,h),b)for(let g=0;g{for(let v=y;v{const x=f.el=c.el;let{patchFlag:y,dynamicChildren:v,dirs:C}=f;y|=c.patchFlag&16;const w=c.props||B,T=f.props||B;let O;if(h&&et(h,!1),(O=T.onVnodeBeforeUpdate)&&Oe(O,h,f,c),C&&Qe(f,c,h,"beforeUpdate"),h&&et(h,!0),v&&(!c.dynamicChildren||c.dynamicChildren.length!==v.length)&&(y=0,_=!1,v=null),(w.innerHTML&&T.innerHTML==null||w.textContent&&T.textContent==null)&&d(x,""),v?tt(c.dynamicChildren,v,x,h,b,li(f,m),g):_||q(c,f,x,null,h,b,li(f,m),g,!1),y>0){if(y&16)jt(x,w,T,h,m);else if(y&2&&w.class!==T.class&&o(x,"class",null,T.class,m),y&4&&o(x,"style",w.style,T.style,m),y&8){const N=f.dynamicProps;for(let W=0;W{O&&Oe(O,h,f,c),C&&Qe(f,c,h,"updated")},b)},tt=(c,f,h,b,m,g,_)=>{for(let x=0;x{if(f!==h){if(f!==B)for(const g in f)!gt(g)&&!(g in h)&&o(c,g,f[g],null,m,b);for(const g in h){if(gt(g))continue;const _=h[g],x=f[g];_!==x&&g!=="value"&&o(c,g,x,_,m,b)}"value"in h&&o(c,"value",f.value,h.value,m)}},ws=(c,f,h,b,m,g,_,x,y)=>{const v=f.el=c?c.el:l(""),C=f.anchor=c?c.anchor:l("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:O}=f;O&&(x=x?x.concat(O):O),c==null?(i(v,h,b),i(C,h,b),Ye(f.children||[],h,C,m,g,_,x,y)):w>0&&w&64&&T&&c.dynamicChildren&&c.dynamicChildren.length===T.length?(tt(c.dynamicChildren,T,h,m,g,_,x),(f.key!=null||m&&f===m.subTree)&&jn(c,f,!0)):q(c,f,h,C,m,g,_,x,y)},Ss=(c,f,h,b,m,g,_,x,y)=>{f.slotScopeIds=x,c==null?f.shapeFlag&512?m.ctx.activate(f,h,b,_,y):bi(f,h,b,m,g,_,y):xo(c,f,y)},bi=(c,f,h,b,m,g,_)=>{const x=c.component=gl(c,b,m);if(Qs(c)&&(x.ctx.renderer=$t),vl(x,!1,_),x.asyncDep){if(m&&m.registerDep(x,de,_),!c.el){const y=x.subTree=_e(Ae);Y(null,y,f,h),c.placeholder=y.el}}else de(x,c,f,h,m,g,_)},xo=(c,f,h)=>{const b=f.component=c.component;if(Xr(c,f,h))if(b.asyncDep&&!b.asyncResolved){J(b,f,h);return}else b.next=f,b.update();else f.el=c.el,b.vnode=f},de=(c,f,h,b,m,g,_)=>{const x=()=>{if(c.isMounted){let{next:w,bu:T,u:O,parent:N,vnode:W}=c;{const Le=Fn(c);if(Le){w&&(w.el=W.el,J(c,w,_)),Le.asyncDep.then(()=>{ue(()=>{c.isUnmounted||v()},m)});return}}let V=w,Q;et(c,!1),w?(w.el=W.el,J(c,w,_)):w=W,T&&Ms(T),(Q=w.props&&w.props.onVnodeBeforeUpdate)&&Oe(Q,N,w,W),et(c,!0);const oe=Cn(c),Pe=c.subTree;c.subTree=oe,I(Pe,oe,p(Pe.el),Ts(Pe),c,m,g),w.el=oe.el,V===null&&Zr(c,oe.el),O&&ue(O,m),(Q=w.props&&w.props.onVnodeUpdated)&&ue(()=>Oe(Q,N,w,W),m)}else{let w;const{el:T,props:O}=f,{bm:N,m:W,parent:V,root:Q,type:oe}=c,Pe=ft(f);et(c,!1),N&&Ms(N),!Pe&&(w=O&&O.onVnodeBeforeMount)&&Oe(w,V,f),et(c,!0);{Q.ce&&Q.ce._hasShadowRoot()&&Q.ce._injectChildStyle(oe,c.parent?c.parent.type:void 0);const Le=c.subTree=Cn(c);I(null,Le,h,b,c,m,g),f.el=Le.el}if(W&&ue(W,m),!Pe&&(w=O&&O.onVnodeMounted)){const Le=f;ue(()=>Oe(w,V,Le),m)}(f.shapeFlag&256||V&&ft(V.vnode)&&V.vnode.shapeFlag&256)&&c.a&&ue(c.a,m),c.isMounted=!0,f=h=b=null}};c.scope.on();const y=c.effect=new Ii(x);c.scope.off();const v=c.update=y.run.bind(y),C=c.job=y.runIfDirty.bind(y);C.i=c,C.id=c.uid,y.scheduler=()=>qs(C),et(c,!0),v()},J=(c,f,h)=>{f.component=c;const b=c.vnode.props;c.vnode=f,c.next=null,el(c,f.props,b,h),nl(c,f.children,h),Se(),sn(c),Ee()},q=(c,f,h,b,m,g,_,x,y=!1)=>{const v=c&&c.children,C=c?c.shapeFlag:0,w=f.children,{patchFlag:T,shapeFlag:O}=f;if(T>0){if(T&128){Es(v,w,h,b,m,g,_,x,y);return}else if(T&256){st(v,w,h,b,m,g,_,x,y);return}}O&8?(C&16&&Ft(v,m,g),w!==v&&d(h,w)):C&16?O&16?Es(v,w,h,b,m,g,_,x,y):Ft(v,m,g,!0):(C&8&&d(h,""),O&16&&Ye(w,h,b,m,g,_,x,y))},st=(c,f,h,b,m,g,_,x,y)=>{c=c||nt,f=f||nt;const v=c.length,C=f.length,w=Math.min(v,C);let T;for(T=0;TC?Ft(c,m,g,!0,!1,w):Ye(f,h,b,m,g,_,x,y,w)},Es=(c,f,h,b,m,g,_,x,y)=>{let v=0;const C=f.length;let w=c.length-1,T=C-1;for(;v<=w&&v<=T;){const O=c[v],N=f[v]=y?Be(f[v]):ke(f[v]);if(Ot(O,N))I(O,N,h,null,m,g,_,x,y);else break;v++}for(;v<=w&&v<=T;){const O=c[w],N=f[T]=y?Be(f[T]):ke(f[T]);if(Ot(O,N))I(O,N,h,null,m,g,_,x,y);else break;w--,T--}if(v>w){if(v<=T){const O=T+1,N=OT)for(;v<=w;)Re(c[v],m,g,!0),v++;else{const O=v,N=v,W=new Map;for(v=N;v<=T;v++){const pe=f[v]=y?Be(f[v]):ke(f[v]);pe.key!=null&&W.set(pe.key,v)}let V,Q=0;const oe=T-N+1;let Pe=!1,Le=0;const Ut=new Array(oe);for(v=0;v=oe){Re(pe,m,g,!0);continue}let Ne;if(pe.key!=null)Ne=W.get(pe.key);else for(V=N;V<=T;V++)if(Ut[V-N]===0&&Ot(pe,f[V])){Ne=V;break}Ne===void 0?Re(pe,m,g,!0):(Ut[Ne-N]=v+1,Ne>=Le?Le=Ne:Pe=!0,I(pe,f[Ne],h,null,m,g,_,x,y),Q++)}const So=Pe?al(Ut):nt;for(V=So.length-1,v=oe-1;v>=0;v--){const pe=N+v,Ne=f[pe],Eo=f[pe+1],To=pe+1{const{el:g,type:_,transition:x,children:y,shapeFlag:v}=c;if(v&6){it(c.component.subTree,f,h,b);return}if(v&128){c.suspense.move(f,h,b);return}if(v&64){_.move(c,f,h,$t);return}if(_===ee){i(g,f,h);for(let w=0;wx.enter(g),m));else{const{leave:w,delayLeave:T,afterLeave:O}=x,N=()=>{c.ctx.isUnmounted?n(g):i(g,f,h)},W=()=>{const V=g._isLeaving||!!g[Js];g._isLeaving&&g[Js](!0),x.persisted&&!V?N():w(g,()=>{N(),O&&O()})};T?T(g,N,W):W()}else i(g,f,h)},Re=(c,f,h,b=!1,m=!1)=>{const{type:g,props:_,ref:x,children:y,dynamicChildren:v,shapeFlag:C,patchFlag:w,dirs:T,cacheIndex:O,memo:N}=c;if(w===-2&&(m=!1),x!=null&&(Se(),Tt(x,null,h,c,!0),Ee()),O!=null&&(f.renderCache[O]=void 0),C&256){f.ctx.deactivate(c);return}const W=C&1&&T,V=!ft(c);let Q;if(V&&(Q=_&&_.onVnodeBeforeUnmount)&&Oe(Q,f,c),C&6)Tc(c.component,h,b);else{if(C&128){c.suspense.unmount(h,b);return}W&&Qe(c,null,f,"beforeUnmount"),C&64?c.type.remove(c,f,h,$t,b):v&&!v.hasOnce&&(g!==ee||w>0&&w&64)?Ft(v,f,h,!1,!0):(g===ee&&w&384||!m&&C&16)&&Ft(y,f,h),b&&_o(c)}const oe=N!=null&&O==null;(V&&(Q=_&&_.onVnodeUnmounted)||W||oe)&&ue(()=>{Q&&Oe(Q,f,c),W&&Qe(c,null,f,"unmounted"),oe&&(c.el=null)},h)},_o=c=>{const{type:f,el:h,anchor:b,transition:m}=c;if(f===ee){Ec(h,b);return}if(f===ai){A(c);return}const g=()=>{n(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:_,delayLeave:x}=m,y=()=>_(h,g);x?x(c.el,g,y):y()}else g()},Ec=(c,f)=>{let h;for(;c!==f;)h=S(c),n(c),c=h;n(f)},Tc=(c,f,h)=>{const{bum:b,scope:m,job:g,subTree:_,um:x,m:y,a:v}=c;$n(y),$n(v),b&&Ms(b),m.stop(),g&&(g.flags|=8,Re(_,c,f,h)),x&&ue(x,f),ue(()=>{c.isUnmounted=!0},f)},Ft=(c,f,h,b=!1,m=!1,g=0)=>{for(let _=g;_{if(c.shapeFlag&6)return Ts(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const f=S(c.anchor||c.el),h=f&&f[xr];return h?S(h):f};let yi=!1;const wo=(c,f,h)=>{let b;c==null?f._vnode&&(Re(f._vnode,null,null,!0),b=f._vnode.component):I(f._vnode||null,c,f,null,null,null,h),f._vnode=c,yi||(yi=!0,sn(b),nn(),yi=!1)},$t={p:I,um:Re,m:it,r:_o,mt:bi,mc:Ye,pc:q,pbc:tt,n:Ts,o:e};return{render:wo,hydrate:void 0,createApp:Kr(wo)}}function li({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function et({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ll(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function jn(e,t,s=!1){const i=e.children,n=t.children;if(k(i)&&k(n))for(let o=0;o>1,e[s[l]]0&&(t[i]=s[o-1]),s[o]=i)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function Fn(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fn(t)}function $n(e){if(e)for(let t=0;te.__isSuspense;function cl(e,t){t&&t.pendingBranch?k(e)?t.effects.push(...e):t.effects.push(e):gr(e)}const ee=Symbol.for("v-fgt"),us=Symbol.for("v-txt"),Ae=Symbol.for("v-cmt"),ai=Symbol.for("v-stc"),Ve=[];let he=null;function P(e=!1){Ve.push(he=e?null:[])}function ci(){Ve.pop(),he=Ve[Ve.length-1]||null}let kt=1;function Bn(e,t=!1){kt+=e,e<0&&he&&t&&(he.hasOnce=!0)}function Wn(e){return e.dynamicChildren=kt>0?he||nt:null,ci(),kt>0&&he&&he.push(e),e}function L(e,t,s,i,n,o){return Wn(R(e,t,s,i,n,o,!0))}function hs(e,t,s,i,n){return Wn(_e(e,t,s,i,n,!0))}function fi(e){return e?e.__v_isVNode===!0:!1}function Ot(e,t){return e.type===t.type&&e.key===t.key}const Kn=({key:e})=>e??null,ps=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?G(e)||le(e)||M(e)?{i:ne,r:e,k:t,f:!!s}:e:null);function R(e,t=null,s=null,i=0,n=null,o=e===ee?0:1,r=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Kn(t),ref:t&&ps(t),scopeId:rn,slotScopeIds:null,children:s,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:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:ne};return l?(gs(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=G(s)?8:16),kt>0&&!r&&he&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&he.push(a),a}const _e=fl;function fl(e,t=null,s=null,i=0,n=null,o=!1){if((!e||e===Nr)&&(e=Ae),fi(e)){const l=ht(e,t,!0);return s&&gs(l,s),kt>0&&!o&&he&&(l.shapeFlag&6?he[he.indexOf(e)]=l:he.push(l)),l.patchFlag=-2,l}if(wl(e)&&(e=e.__vccOpts),t){t=dl(t);let{class:l,style:a}=t;l&&!G(l)&&(t.class=ze(l)),F(a)&&(Ks(a)&&!k(a)&&(a=X({},a)),t.style=Is(a))}const r=G(e)?1:Vn(e)?128:rs(e)?64:F(e)?4:M(e)?2:0;return R(e,t,s,i,n,r,o,!0)}function dl(e){return e?Ks(e)||In(e)?X({},e):e:null}function ht(e,t,s=!1,i=!1){const{props:n,ref:o,patchFlag:r,children:l,transition:a}=e,u=t?ul(n||{},t):n,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Kn(u),ref:t&&t.ref?s&&o?k(o)?o.concat(ps(t)):[o,ps(t)]:ps(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&i&&Xs(d,a.clone(d)),d}function Mt(e=" ",t=0){return _e(us,null,e,t)}function ve(e="",t=!1){return t?(P(),hs(Ae,null,e)):_e(Ae,null,e)}function ke(e){return e==null||typeof e=="boolean"?_e(Ae):k(e)?_e(ee,null,e.slice()):fi(e)?Be(e):_e(us,null,String(e))}function Be(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function gs(e,t){let s=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(k(t))s=16;else if(typeof t=="object")if(i&65){const n=t.default;n&&(n._c&&(n._d=!1),gs(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!In(t)?t._ctx=ne:n===3&&ne&&(ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(M(t)){if(i&65){gs(e,{default:t});return}t={default:t,_ctx:ne},s=32}else t=String(t),i&64?(s=16,t=[Mt(t)]):s=8;e.children=t,e.shapeFlag|=s}function ul(...e){const t={};for(let s=0;sae||ne;let vs,It;{const e=Gt(),t=(s,i)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(i),o=>{n.length>1?n.forEach(r=>r(o)):n[0](o)}};vs=t("__VUE_INSTANCE_SETTERS__",s=>ae=s),It=t("__VUE_SSR_SETTERS__",s=>Pt=s)}const Rt=e=>{const t=ae;return vs(e),e.scope.on(),()=>{e.scope.off(),vs(t)}},qn=()=>{ae&&ae.scope.off(),vs(null)};function Gn(e){return e.vnode.shapeFlag&4}let Pt=!1;function vl(e,t=!1,s=!1){t&&It(t);const{props:i,children:n}=e.vnode,o=Gn(e);Qr(e,i,o,t),il(e,n,s||t);const r=o?ml(e,t):void 0;return t&&It(!1),r}function ml(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jr);const{setup:i}=s;if(i){Se();const n=e.setupContext=i.length>1?yl(e):null,o=Rt(e),r=lt(i,e,0,[e.props,n]),l=wi(r);if(Ee(),o(),(l||e.sp)&&!ft(e)&&fn(e),l){if(r.then(qn,qn),t)return r.then(a=>{It(!0);try{Yn(e,a,t)}finally{It(!1)}}).catch(a=>{is(a,e,0)});e.asyncDep=r}else Yn(e,r)}else Jn(e)}function Yn(e,t,s){M(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:F(t)&&(e.setupState=Xi(t)),Jn(e)}function Jn(e,t,s){const i=e.type;e.render||(e.render=i.render||we);{const n=Rt(e);Se();try{Fr(e)}finally{Ee(),n()}}}const bl={get(e,t){return re(e,"get",""),e[t]}};function yl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,bl),slots:e.slots,emit:e.emit,expose:t}}function ms(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xi(ir(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ct)return Ct[s](e)},has(t,s){return s in t||s in Ct}})):e.proxy}const xl=/(?:^|[-_])\w/g,_l=e=>e.replace(xl,t=>t.toUpperCase()).replace(/[-_]/g,"");function Xn(e,t=!0){return M(e)?e.displayName||e.name:e.name||t&&e.__name}function Zn(e,t,s=!1){let i=Xn(t);if(!i&&t.__file){const n=t.__file.match(/([^/\\]+)\.\w+$/);n&&(i=n[1])}if(!i&&e){const n=o=>{for(const r in o)if(o[r]===t)return r};i=n(e.components)||e.parent&&n(e.parent.type.components)||n(e.appContext.components)}return i?_l(i):s?"App":"Anonymous"}function wl(e){return M(e)&&"__vccOpts"in e}const Sl=(e,t)=>rr(e,t,Pt),El="3.5.42";/** +`,...dr(n)),console.warn(...o)}Ee(),qs=!1}function fr(){let e=_t[_t.length-1];if(!e)return[];const t=[];for(;e;){const s=t[0];s&&s.vnode===e?s.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function dr(e){const t=[];return e.forEach((s,i)=>{t.push(...i===0?[]:[` +`],...ur(s))}),t}function ur({vnode:e,recurseCount:t}){const s=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,n=` at <${eo(e.component,e.type,i)}`,o=">"+s;return e.props?[n,...hr(e.props),o]:[n+o]}function hr(e){const t=[],s=Object.keys(e);return s.slice(0,3).forEach(i=>{t.push(...en(i,e[i]))}),s.length>3&&t.push(" ..."),t}function en(e,t,s){return G(t)?(t=JSON.stringify(t),s?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?s?t:[`${e}=${t}`]:le(t)?(t=en(e,j(t.value),!0),s?t:[`${e}=Ref<`,t,">"]):M(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=j(t),s?t:[`${e}=`,t])}function lt(e,t,s,i){try{return i?e(...i):e()}catch(n){is(n,t,s)}}function xe(e,t,s,i){if(M(e)){const n=lt(e,t,s,i);return n&&Ei(n)&&n.catch(o=>{is(o,t,s)}),n}if(A(e)){const n=[];for(let o=0;o>>1,n=ce[i],o=wt(n);o=wt(s)?ce.push(e):ce.splice(gr(t),0,e),e.flags|=1,nn()}}function nn(){ns||(ns=tn.then(ln))}function vr(e){if(!A(e))Ge&&e.id===-1?Ge.splice(ct+1,0,e):e.flags&1||(at.push(e),e.flags|=1);else for(let t=0;twt(s)-wt(i));if(at.length=0,Ge){for(let s=0;se.id==null?e.flags&2?-1:1/0:e.id;function ln(e){try{for(Ce=0;Ce{i._d&&Kn(-1);const o=os(t),r=Be.length;let l;try{l=e(...n)}finally{for(let a=Be.length;a>r;a--)fi();os(o),i._d&&Kn(1)}return l};return i._n=!0,i._c=!0,i._d=!0,i}function Ys(e,t){if(ne===null)return e;const s=ms(ne),i=e.dirs||(e.dirs=[]);for(let n=0;n1)return s&&M(t)?t.call(i&&i.proxy):t}}const br=Symbol.for("v-scx"),yr=()=>Et(br);function Js(e,t,s){return cn(e,t,s)}function cn(e,t,s=V){const{immediate:i,deep:n,flush:o,once:r}=s,l=X({},s),a=t&&i||!t&&o!=="post";let u;if(Pt){if(o==="sync"){const E=yr();u=E.__watcherHandles||(E.__watcherHandles=[])}else if(!a){const E=()=>{};return E.stop=we,E.resume=we,E.pause=we,E}}const d=ae;l.call=(E,$,R)=>xe(E,d,$,R);let p=!1;o==="post"?l.scheduler=E=>{ue(E,d&&d.suspense)}:o!=="sync"&&(p=!0,l.scheduler=(E,$)=>{$?E():Gs(E)}),l.augmentJob=E=>{t&&(E.flags|=4),p&&(E.flags|=2,d&&(E.id=d.uid,E.i=d))};const S=cr(e,t,l);return Pt&&(u?u.push(S):a&&S()),S}function xr(e,t,s){const i=this.proxy,n=G(e)?e.includes(".")?fn(i,e):()=>i[e]:e.bind(i,i);let o;M(t)?o=t:(o=t.handler,s=t);const r=It(this),l=cn(n,o.bind(i),s);return r(),l}function fn(e,t){const s=t.split(".");return()=>{let i=e;for(let n=0;ne.__isTeleport,Xs=Symbol("_leaveCb");function wr(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==ke){t=s;break}}return t}function dn(e){if(!ei(e))return rs(e.type)&&e.children?wr(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&M(s.default))return s.default()}}function Zs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const s=e.component.subTree;Zs(rs(s.type)&&dn(s)||s,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Qs(e,t){return M(e)?X({name:e.name},t,{setup:e}):e}function un(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function hn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const ls=new WeakMap;function Tt(e,t,s,i,n=!1){if(A(e)){e.forEach((R,Z)=>Tt(R,t&&(A(t)?t[Z]:t),s,i,n));return}if(ft(i)&&!n){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Tt(e,t,s,i.component.subTree);return}const o=i.shapeFlag&4?ms(i.component):i.el,r=n?null:o,{i:l,r:a}=e,u=t&&t.r,d=l.refs===V?l.refs={}:l.refs,p=l.setupState,S=j(p),E=p===V?wi:R=>hn(d,R)?!1:H(S,R),$=(R,Z)=>!(Z&&hn(d,Z));if(u!=null&&u!==a){if(pn(t),G(u))d[u]=null,E(u)&&(p[u]=null);else if(le(u)){const R=t;$(u,R.k)&&(u.value=null),R.k&&(d[R.k]=null)}}if(M(a))lt(a,l,12,[r,d]);else{const R=G(a),Z=le(a);if(R||Z){const Y=()=>{if(e.f){const D=R?E(a)?p[a]:d[a]:$()||!e.k?a.value:d[e.k];if(n)A(D)&&As(D,o);else if(A(D))D.includes(o)||D.push(o);else if(R)d[a]=[o],E(a)&&(p[a]=d[a]);else{const U=[o];$(a,e.k)&&(a.value=U),e.k&&(d[e.k]=U)}}else R?(d[a]=r,E(a)&&(p[a]=r)):Z&&($(a,e.k)&&(a.value=r),e.k&&(d[e.k]=r))};if(r){const D=()=>{Y(),ls.delete(e)};D.id=-1,ls.set(e,D),ue(D,s)}else pn(e),Y()}}}function pn(e){const t=ls.get(e);t&&(t.flags|=8,ls.delete(e))}Gt().requestIdleCallback,Gt().cancelIdleCallback;const ft=e=>!!e.type.__asyncLoader,ei=e=>e.type.__isKeepAlive;function Sr(e,t){gn(e,"a",t)}function Er(e,t){gn(e,"da",t)}function gn(e,t,s=ae){const i=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(as(t,i,s),s){let n=s.parent;for(;n&&n.parent;)ei(n.parent.vnode)&&Tr(i,t,s,n),n=n.parent}}function Tr(e,t,s,i){const n=as(t,e,i,!0);mn(()=>{As(i[t],n)},s)}function as(e,t,s=ae,i=!1){if(s){const n=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{Se();const l=It(s),a=xe(t,s,e,r);return l(),Ee(),a});return i?n.unshift(o):n.push(o),o}}const Ue=e=>(t,s=ae)=>{(!Pt||e==="sp")&&as(e,(...i)=>t(...i),s)},Cr=Ue("bm"),vn=Ue("m"),kr=Ue("bu"),Ar=Ue("u"),Or=Ue("bum"),mn=Ue("um"),Mr=Ue("sp"),Rr=Ue("rtg"),Ir=Ue("rtc");function Pr(e,t=ae){as("ec",e,t)}const Lr="components";function Nr(e,t){return Hr(Lr,e,!0,t)||e}const Dr=Symbol.for("v-ndc");function Hr(e,t,s=!0,i=!1){const n=ne||ae;if(n){const o=n.type;{const l=Qn(o,!1);if(l&&(l===t||l===se(t)||l===qt(se(t))))return o}const r=bn(n[e]||o[e],t)||bn(n.appContext[e],t);return!r&&i?o:r}}function bn(e,t){return e&&(e[t]||e[se(t)]||e[qt(se(t))])}function dt(e,t,s,i){let n;const o=s,r=A(e);if(r||G(e)){const l=r&&Xe(e);let a=!1,u=!1;l&&(a=!ye(e),u=qe(e),e=Jt(e)),n=new Array(e.length);for(let d=0,p=e.length;dt(l,a,void 0,o));else{const l=Object.keys(e);n=new Array(l.length);for(let a=0,u=l.length;a{const o=i.fn(...n);return o&&(o.key=i.key),o}:i.fn)}return e}function cs(e,t,s,i,n,o){if(s==null&&(s={}),ne.ce||ne.parent&&ft(ne.parent)&&ne.parent.ce){const u=o!=null&&s.key==null?X({},s,{key:o}):s,d=Object.keys(u).length>0;return t!=="default"&&(u.name=t),P(),hs(ee,null,[_e("slot",u,i)],d?-2:64)}let r=e[t];r&&r._c&&(r._d=!1);const l=Be.length;P();let a;try{const u=r&&yn(r(s)),d=s.key||o||u&&u.key;a=hs(ee,{key:(d&&!me(d)?d:`_${t}`)+(!u&&i?"_fb":"")},u||(i?i():[]),u&&e._===1?64:-2)}catch(u){for(let d=Be.length;d>l;d--)fi();throw u}finally{r&&r._c&&(r._d=!0)}return a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),a}function yn(e){return e.some(t=>di(t)?!(t.type===ke||t.type===ee&&!yn(t.children)):!0)?e:null}const ti=e=>e?Jn(e)?ms(e):ti(e.parent):null,Ct=X(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=>ti(e.parent),$root:e=>ti(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sn(e),$forceUpdate:e=>e.f||(e.f=()=>{Gs(e.update)}),$nextTick:e=>e.n||(e.n=sn.bind(e.proxy)),$watch:e=>xr.bind(e)}),si=(e,t)=>e!==V&&!e.__isScriptSetup&&H(e,t),Fr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:i,data:n,props:o,accessCache:r,type:l,appContext:a}=e;if(t[0]!=="$"){const S=r[t];if(S!==void 0)switch(S){case 1:return i[t];case 2:return n[t];case 4:return s[t];case 3:return o[t]}else{if(si(i,t))return r[t]=1,i[t];if(n!==V&&H(n,t))return r[t]=2,n[t];if(H(o,t))return r[t]=3,o[t];if(s!==V&&H(s,t))return r[t]=4,s[t];ii&&(r[t]=0)}}const u=Ct[t];let d,p;if(u)return t==="$attrs"&&re(e.attrs,"get",""),u(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(s!==V&&H(s,t))return r[t]=4,s[t];if(p=a.config.globalProperties,H(p,t))return p[t]},set({_:e},t,s){const{data:i,setupState:n,ctx:o}=e;return si(n,t)?(n[t]=s,!0):i!==V&&H(i,t)?(i[t]=s,!0):H(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:i,appContext:n,props:o,type:r}},l){let a;return!!(s[l]||e!==V&&l[0]!=="$"&&H(e,l)||si(t,l)||H(o,l)||H(i,l)||H(Ct,l)||H(n.config.globalProperties,l)||(a=r.__cssModules)&&a[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:H(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function xn(e){return A(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let ii=!0;function $r(e){const t=Sn(e),s=e.proxy,i=e.ctx;ii=!1,t.beforeCreate&&_n(t.beforeCreate,e,"bc");const{data:n,computed:o,methods:r,watch:l,provide:a,inject:u,created:d,beforeMount:p,mounted:S,beforeUpdate:E,updated:$,activated:R,deactivated:Z,beforeDestroy:Y,beforeUnmount:D,destroyed:U,unmounted:k,render:te,renderTracked:Me,renderTriggered:Re,errorCaptured:Ye,serverPrefetch:ws,expose:tt,inheritAttrs:jt,components:Ss,directives:Es,filters:xi}=t;if(u&&Ur(u,i,null),r)for(const J in r){const q=r[J];M(q)&&(i[J]=q.bind(s))}if(n){const J=n.call(s,s);F(J)&&(e.data=Ws(J))}if(ii=!0,o)for(const J in o){const q=o[J],st=M(q)?q.bind(s,s):M(q.get)?q.get.bind(s,s):we,Ts=!M(q)&&M(q.set)?q.set.bind(s):we,it=El({get:st,set:Ts});Object.defineProperty(i,J,{enumerable:!0,configurable:!0,get:()=>it.value,set:Ie=>it.value=Ie})}if(l)for(const J in l)wn(l[J],i,s,J);if(a){const J=M(a)?a.call(s):a;Reflect.ownKeys(J).forEach(q=>{mr(q,J[q])})}d&&_n(d,e,"c");function de(J,q){A(q)?q.forEach(st=>J(st.bind(s))):q&&J(q.bind(s))}if(de(Cr,p),de(vn,S),de(kr,E),de(Ar,$),de(Sr,R),de(Er,Z),de(Pr,Ye),de(Ir,Me),de(Rr,Re),de(Or,D),de(mn,k),de(Mr,ws),A(tt))if(tt.length){const J=e.exposed||(e.exposed={});tt.forEach(q=>{Object.defineProperty(J,q,{get:()=>s[q],set:st=>s[q]=st,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===we&&(e.render=te),jt!=null&&(e.inheritAttrs=jt),Ss&&(e.components=Ss),Es&&(e.directives=Es),ws&&un(e)}function Ur(e,t,s=we){A(e)&&(e=ni(e));for(const i in e){const n=e[i];let o;F(n)?"default"in n?o=Et(n.from||i,n.default,!0):o=Et(n.from||i):o=Et(n),le(o)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[i]=o}}function _n(e,t,s){xe(A(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,s)}function wn(e,t,s,i){let n=i.includes(".")?fn(s,i):()=>s[i];if(G(e)){const o=t[e];M(o)&&Js(n,o)}else if(M(e))Js(n,e.bind(s));else if(F(e))if(A(e))e.forEach(o=>wn(o,t,s,i));else{const o=M(e.handler)?e.handler.bind(s):t[e.handler];M(o)&&Js(n,o,e)}}function Sn(e){const t=e.type,{mixins:s,extends:i}=t,{mixins:n,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,l=o.get(t);let a;return l?a=l:!n.length&&!s&&!i?a=t:(a={},n.length&&n.forEach(u=>fs(a,u,r,!0)),fs(a,t,r)),F(t)&&o.set(t,a),a}function fs(e,t,s,i=!1){const{mixins:n,extends:o}=t;o&&fs(e,o,s,!0),n&&n.forEach(r=>fs(e,r,s,!0));for(const r in t)if(!(i&&r==="expose")){const l=Br[r]||s&&s[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const Br={data:En,props:Tn,emits:Tn,methods:kt,computed:kt,beforeCreate:fe,created:fe,beforeMount:fe,mounted:fe,beforeUpdate:fe,updated:fe,beforeDestroy:fe,beforeUnmount:fe,destroyed:fe,unmounted:fe,activated:fe,deactivated:fe,errorCaptured:fe,serverPrefetch:fe,components:kt,directives:kt,watch:Wr,provide:En,inject:Vr};function En(e,t){return t?e?function(){return X(M(e)?e.call(this,this):e,M(t)?t.call(this,this):t)}:t:e}function Vr(e,t){return kt(ni(e),ni(t))}function ni(e){if(A(e)){const t={};for(let s=0;st==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${se(t)}Modifiers`]||e[`${ve(t)}Modifiers`];function Gr(e,t,...s){if(e.isUnmounted)return;const i=e.vnode.props||V;let n=s;const o=t.startsWith("update:"),r=o&&qr(i,t.slice(7));r&&(r.trim&&(n=s.map(d=>G(d)?d.trim():d)),r.number&&(n=n.map(Ro)));let l,a=i[l=Ms(t)]||i[l=Ms(se(t))];!a&&o&&(a=i[l=Ms(ve(t))]),a&&xe(a,e,6,n);const u=i[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(u,e,6,n)}}const Yr=new WeakMap;function kn(e,t,s=!1){const i=s?Yr:t.emitsCache,n=i.get(e);if(n!==void 0)return n;const o=e.emits;let r={},l=!1;if(!M(e)){const a=u=>{const d=kn(u,t,!0);d&&(l=!0,X(r,d))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(F(e)&&i.set(e,null),null):(A(o)?o.forEach(a=>r[a]=null):X(r,o),F(e)&&i.set(e,r),r)}function ds(e,t){return!e||!Bt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),H(e,t[0].toLowerCase()+t.slice(1))||H(e,ve(t))||H(e,t))}function Ic(){}function An(e){const{type:t,vnode:s,proxy:i,withProxy:n,propsOptions:[o],slots:r,attrs:l,emit:a,render:u,renderCache:d,props:p,data:S,setupState:E,ctx:$,inheritAttrs:R}=e,Z=os(e);let Y,D;try{if(s.shapeFlag&4){const k=n||i,te=k;Y=Ae(u.call(te,k,d,p,E,S,$)),D=l}else{const k=t;Y=Ae(k.length>1?k(p,{attrs:l,slots:r,emit:a}):k(p,null)),D=t.props?l:Jr(l)}}catch(k){Be.length=0,is(k,e,1),Y=_e(ke)}let U=Y;if(D&&R!==!1){const k=Object.keys(D),{shapeFlag:te}=U;k.length&&te&7&&(o&&k.some(Vt)&&(D=Xr(D,o)),U=ht(U,D,!1,!0))}if(s.dirs&&(U=ht(U,null,!1,!0),U.dirs=U.dirs?U.dirs.concat(s.dirs):s.dirs),s.transition){const k=rs(U.type)&&dn(U)||U;Zs(k,s.transition)}return Y=U,os(Z),Y}const Jr=e=>{let t;for(const s in e)(s==="class"||s==="style"||Bt(s))&&((t||(t={}))[s]=e[s]);return t},Xr=(e,t)=>{const s={};for(const i in e)(!Vt(i)||!(i.slice(9)in t))&&(s[i]=e[i]);return s};function Zr(e,t,s){const{props:i,children:n,component:o}=e,{props:r,children:l,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return i?On(i,r,u):!!r;if(a&8){const d=t.dynamicProps;for(let p=0;pObject.create(Rn),Pn=e=>Object.getPrototypeOf(e)===Rn;function el(e,t,s,i=!1){const n={},o=In();e.propsDefaults=Object.create(null),Ln(e,t,n,o);for(const r in e.propsOptions[0])r in n||(n[r]=void 0);s?e.props=i?n:ir(n):e.type.props?e.props=n:e.props=o,e.attrs=o}function tl(e,t,s,i){const{props:n,attrs:o,vnode:{patchFlag:r}}=e,l=j(n),[a]=e.propsOptions;let u=!1;if((i||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[S,E]=Nn(p,t,!0);X(r,S),E&&l.push(...E)};!s&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!a)return F(e)&&i.set(e,nt),nt;if(A(o))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",li=e=>A(e)?e.map(Ae):[Ae(e)],il=(e,t,s)=>{if(t._n)return t;const i=St((...n)=>li(t(...n)),s);return i._c=!1,i},Hn=(e,t,s)=>{const i=e._ctx;for(const n in e){if(ri(n))continue;const o=e[n];if(M(o))t[n]=il(n,o,i);else if(o!=null){const r=li(o);t[n]=()=>r}}},jn=(e,t)=>{const s=li(t);e.slots.default=()=>s},Fn=(e,t,s)=>{for(const i in t)(s||!ri(i))&&(e[i]=t[i])},nl=(e,t,s)=>{const i=e.slots=In();if(e.vnode.shapeFlag&32){const n=t._;n?(Fn(i,t,s),s&&Ci(i,"_",n,!0)):Hn(t,i)}else t&&jn(e,t)},ol=(e,t,s)=>{const{vnode:i,slots:n}=e;let o=!0,r=V;if(i.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:Fn(n,t,s):(o=!t.$stable,Hn(t,n)),r=t}else t&&(jn(e,t),r={default:1});if(o)for(const l in n)!ri(l)&&r[l]==null&&delete n[l]},ue=fl;function rl(e){return ll(e)}function ll(e,t){const s=Gt();s.__VUE__=!0;const{insert:i,remove:n,patchProp:o,createElement:r,createText:l,createComment:a,setText:u,setElementText:d,parentNode:p,nextSibling:S,setScopeId:E=we,insertStaticContent:$}=e,R=(c,f,h,b=null,m=null,g=null,_=void 0,x=null,y=!!f.dynamicChildren)=>{if(c===f)return;c&&!Ot(c,f)&&(b=Cs(c),Ie(c,m,g,!0),c=null),f.patchFlag===-2&&(y=!1,f.dynamicChildren=null);const{type:v,ref:C,shapeFlag:w}=f;switch(v){case us:Z(c,f,h,b);break;case ke:Y(c,f,h,b);break;case ci:c==null&&D(f,h,b,_);break;case ee:Ss(c,f,h,b,m,g,_,x,y);break;default:w&1?te(c,f,h,b,m,g,_,x,y):w&6?Es(c,f,h,b,m,g,_,x,y):(w&64||w&128)&&v.process(c,f,h,b,m,g,_,x,y,$t)}C!=null&&m?Tt(C,c&&c.ref,g,f||c,!f):C==null&&c&&c.ref!=null&&Tt(c.ref,null,g,c,!0)},Z=(c,f,h,b)=>{if(c==null)i(f.el=l(f.children),h,b);else{const m=f.el=c.el;f.children!==c.children&&u(m,f.children)}},Y=(c,f,h,b)=>{c==null?i(f.el=a(f.children||""),h,b):f.el=c.el},D=(c,f,h,b)=>{[c.el,c.anchor]=$(c.children,f,h,b,c.el,c.anchor)},U=({el:c,anchor:f},h,b)=>{let m;for(;c&&c!==f;)m=S(c),i(c,h,b),c=m;i(f,h,b)},k=({el:c,anchor:f})=>{let h;for(;c&&c!==f;)h=S(c),n(c),c=h;n(f)},te=(c,f,h,b,m,g,_,x,y)=>{if(f.type==="svg"?_="svg":f.type==="math"&&(_="mathml"),c==null)Me(f,h,b,m,g,_,x,y);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),ws(c,f,m,g,_,x,y)}finally{v&&v._endPatch()}}},Me=(c,f,h,b,m,g,_,x)=>{let y,v;const{props:C,shapeFlag:w,transition:T,dirs:O}=c;if(y=c.el=r(c.type,g,C&&C.is,C),w&8?d(y,c.children):w&16&&Ye(c.children,y,null,b,m,ai(c,g),_,x),O&&Qe(c,null,b,"created"),Re(y,c,c.scopeId,_,b),C){for(const K in C)K!=="value"&&!gt(K)&&o(y,K,null,C[K],g,b);"value"in C&&o(y,"value",null,C.value,g),(v=C.onVnodeBeforeMount)&&Oe(v,b,c)}O&&Qe(c,null,b,"beforeMount");const N=al(m,T);N&&T.beforeEnter(y),i(y,f,h),((v=C&&C.onVnodeMounted)||N||O)&&ue(()=>{try{v&&Oe(v,b,c),N&&T.enter(y),O&&Qe(c,null,b,"mounted")}finally{}},m)},Re=(c,f,h,b,m)=>{if(h&&E(c,h),b)for(let g=0;g{for(let v=y;v{const x=f.el=c.el;let{patchFlag:y,dynamicChildren:v,dirs:C}=f;y|=c.patchFlag&16;const w=c.props||V,T=f.props||V;let O;if(h&&et(h,!1),(O=T.onVnodeBeforeUpdate)&&Oe(O,h,f,c),C&&Qe(f,c,h,"beforeUpdate"),h&&et(h,!0),v&&(!c.dynamicChildren||c.dynamicChildren.length!==v.length)&&(y=0,_=!1,v=null),(w.innerHTML&&T.innerHTML==null||w.textContent&&T.textContent==null)&&d(x,""),v?tt(c.dynamicChildren,v,x,h,b,ai(f,m),g):_||q(c,f,x,null,h,b,ai(f,m),g,!1),y>0){if(y&16)jt(x,w,T,h,m);else if(y&2&&w.class!==T.class&&o(x,"class",null,T.class,m),y&4&&o(x,"style",w.style,T.style,m),y&8){const N=f.dynamicProps;for(let K=0;K{O&&Oe(O,h,f,c),C&&Qe(f,c,h,"updated")},b)},tt=(c,f,h,b,m,g,_)=>{for(let x=0;x{if(f!==h){if(f!==V)for(const g in f)!gt(g)&&!(g in h)&&o(c,g,f[g],null,m,b);for(const g in h){if(gt(g))continue;const _=h[g],x=f[g];_!==x&&g!=="value"&&o(c,g,x,_,m,b)}"value"in h&&o(c,"value",f.value,h.value,m)}},Ss=(c,f,h,b,m,g,_,x,y)=>{const v=f.el=c?c.el:l(""),C=f.anchor=c?c.anchor:l("");let{patchFlag:w,dynamicChildren:T,slotScopeIds:O}=f;O&&(x=x?x.concat(O):O),c==null?(i(v,h,b),i(C,h,b),Ye(f.children||[],h,C,m,g,_,x,y)):w>0&&w&64&&T&&c.dynamicChildren&&c.dynamicChildren.length===T.length?(tt(c.dynamicChildren,T,h,m,g,_,x),(f.key!=null||m&&f===m.subTree)&&$n(c,f,!0)):q(c,f,h,C,m,g,_,x,y)},Es=(c,f,h,b,m,g,_,x,y)=>{f.slotScopeIds=x,c==null?f.shapeFlag&512?m.ctx.activate(f,h,b,_,y):xi(f,h,b,m,g,_,y):_o(c,f,y)},xi=(c,f,h,b,m,g,_)=>{const x=c.component=vl(c,b,m);if(ei(c)&&(x.ctx.renderer=$t),ml(x,!1,_),x.asyncDep){if(m&&m.registerDep(x,de,_),!c.el){const y=x.subTree=_e(ke);Y(null,y,f,h),c.placeholder=y.el}}else de(x,c,f,h,m,g,_)},_o=(c,f,h)=>{const b=f.component=c.component;if(Zr(c,f,h))if(b.asyncDep&&!b.asyncResolved){J(b,f,h);return}else b.next=f,b.update();else f.el=c.el,b.vnode=f},de=(c,f,h,b,m,g,_)=>{const x=()=>{if(c.isMounted){let{next:w,bu:T,u:O,parent:N,vnode:K}=c;{const Le=Un(c);if(Le){w&&(w.el=K.el,J(c,w,_)),Le.asyncDep.then(()=>{ue(()=>{c.isUnmounted||v()},m)});return}}let B=w,Q;et(c,!1),w?(w.el=K.el,J(c,w,_)):w=K,T&&Rs(T),(Q=w.props&&w.props.onVnodeBeforeUpdate)&&Oe(Q,N,w,K),et(c,!0);const oe=An(c),Pe=c.subTree;c.subTree=oe,R(Pe,oe,p(Pe.el),Cs(Pe),c,m,g),w.el=oe.el,B===null&&Qr(c,oe.el),O&&ue(O,m),(Q=w.props&&w.props.onVnodeUpdated)&&ue(()=>Oe(Q,N,w,K),m)}else{let w;const{el:T,props:O}=f,{bm:N,m:K,parent:B,root:Q,type:oe}=c,Pe=ft(f);et(c,!1),N&&Rs(N),!Pe&&(w=O&&O.onVnodeBeforeMount)&&Oe(w,B,f),et(c,!0);{Q.ce&&Q.ce._hasShadowRoot()&&Q.ce._injectChildStyle(oe,c.parent?c.parent.type:void 0);const Le=c.subTree=An(c);R(null,Le,h,b,c,m,g),f.el=Le.el}if(K&&ue(K,m),!Pe&&(w=O&&O.onVnodeMounted)){const Le=f;ue(()=>Oe(w,B,Le),m)}(f.shapeFlag&256||B&&ft(B.vnode)&&B.vnode.shapeFlag&256)&&c.a&&ue(c.a,m),c.isMounted=!0,f=h=b=null}};c.scope.on();const y=c.effect=new Pi(x);c.scope.off();const v=c.update=y.run.bind(y),C=c.job=y.runIfDirty.bind(y);C.i=c,C.id=c.uid,y.scheduler=()=>Gs(C),et(c,!0),v()},J=(c,f,h)=>{f.component=c;const b=c.vnode.props;c.vnode=f,c.next=null,tl(c,f.props,b,h),ol(c,f.children,h),Se(),on(c),Ee()},q=(c,f,h,b,m,g,_,x,y=!1)=>{const v=c&&c.children,C=c?c.shapeFlag:0,w=f.children,{patchFlag:T,shapeFlag:O}=f;if(T>0){if(T&128){Ts(v,w,h,b,m,g,_,x,y);return}else if(T&256){st(v,w,h,b,m,g,_,x,y);return}}O&8?(C&16&&Ft(v,m,g),w!==v&&d(h,w)):C&16?O&16?Ts(v,w,h,b,m,g,_,x,y):Ft(v,m,g,!0):(C&8&&d(h,""),O&16&&Ye(w,h,b,m,g,_,x,y))},st=(c,f,h,b,m,g,_,x,y)=>{c=c||nt,f=f||nt;const v=c.length,C=f.length,w=Math.min(v,C);let T;for(T=0;TC?Ft(c,m,g,!0,!1,w):Ye(f,h,b,m,g,_,x,y,w)},Ts=(c,f,h,b,m,g,_,x,y)=>{let v=0;const C=f.length;let w=c.length-1,T=C-1;for(;v<=w&&v<=T;){const O=c[v],N=f[v]=y?Ve(f[v]):Ae(f[v]);if(Ot(O,N))R(O,N,h,null,m,g,_,x,y);else break;v++}for(;v<=w&&v<=T;){const O=c[w],N=f[T]=y?Ve(f[T]):Ae(f[T]);if(Ot(O,N))R(O,N,h,null,m,g,_,x,y);else break;w--,T--}if(v>w){if(v<=T){const O=T+1,N=OT)for(;v<=w;)Ie(c[v],m,g,!0),v++;else{const O=v,N=v,K=new Map;for(v=N;v<=T;v++){const ge=f[v]=y?Ve(f[v]):Ae(f[v]);ge.key!=null&&K.set(ge.key,v)}let B,Q=0;const oe=T-N+1;let Pe=!1,Le=0;const Ut=new Array(oe);for(v=0;v=oe){Ie(ge,m,g,!0);continue}let Ne;if(ge.key!=null)Ne=K.get(ge.key);else for(B=N;B<=T;B++)if(Ut[B-N]===0&&Ot(ge,f[B])){Ne=B;break}Ne===void 0?Ie(ge,m,g,!0):(Ut[Ne-N]=v+1,Ne>=Le?Le=Ne:Pe=!0,R(ge,f[Ne],h,null,m,g,_,x,y),Q++)}const Eo=Pe?cl(Ut):nt;for(B=Eo.length-1,v=oe-1;v>=0;v--){const ge=N+v,Ne=f[ge],To=f[ge+1],Co=ge+1{const{el:g,type:_,transition:x,children:y,shapeFlag:v}=c;if(v&6){it(c.component.subTree,f,h,b);return}if(v&128){c.suspense.move(f,h,b);return}if(v&64){_.move(c,f,h,$t);return}if(_===ee){i(g,f,h);for(let w=0;wx.enter(g),m));else{const{leave:w,delayLeave:T,afterLeave:O}=x,N=()=>{c.ctx.isUnmounted?n(g):i(g,f,h)},K=()=>{const B=g._isLeaving||!!g[Xs];g._isLeaving&&g[Xs](!0),x.persisted&&!B?N():w(g,()=>{N(),O&&O()})};T?T(g,N,K):K()}else i(g,f,h)},Ie=(c,f,h,b=!1,m=!1)=>{const{type:g,props:_,ref:x,children:y,dynamicChildren:v,shapeFlag:C,patchFlag:w,dirs:T,cacheIndex:O,memo:N}=c;if(w===-2&&(m=!1),x!=null&&(Se(),Tt(x,null,h,c,!0),Ee()),O!=null&&(f.renderCache[O]=void 0),C&256){f.ctx.deactivate(c);return}const K=C&1&&T,B=!ft(c);let Q;if(B&&(Q=_&&_.onVnodeBeforeUnmount)&&Oe(Q,f,c),C&6)Ac(c.component,h,b);else{if(C&128){c.suspense.unmount(h,b);return}K&&Qe(c,null,f,"beforeUnmount"),C&64?c.type.remove(c,f,h,$t,b):v&&!v.hasOnce&&(g!==ee||w>0&&w&64)?Ft(v,f,h,!1,!0):(g===ee&&w&384||!m&&C&16)&&Ft(y,f,h),b&&wo(c)}const oe=N!=null&&O==null;(B&&(Q=_&&_.onVnodeUnmounted)||K||oe)&&ue(()=>{Q&&Oe(Q,f,c),K&&Qe(c,null,f,"unmounted"),oe&&(c.el=null)},h)},wo=c=>{const{type:f,el:h,anchor:b,transition:m}=c;if(f===ee){kc(h,b);return}if(f===ci){k(c);return}const g=()=>{n(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:_,delayLeave:x}=m,y=()=>_(h,g);x?x(c.el,g,y):y()}else g()},kc=(c,f)=>{let h;for(;c!==f;)h=S(c),n(c),c=h;n(f)},Ac=(c,f,h)=>{const{bum:b,scope:m,job:g,subTree:_,um:x,m:y,a:v}=c;Bn(y),Bn(v),b&&Rs(b),m.stop(),g&&(g.flags|=8,Ie(_,c,f,h)),x&&ue(x,f),ue(()=>{c.isUnmounted=!0},f)},Ft=(c,f,h,b=!1,m=!1,g=0)=>{for(let _=g;_{if(c.shapeFlag&6)return Cs(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const f=S(c.anchor||c.el),h=f&&f[_r];return h?S(h):f};let _i=!1;const So=(c,f,h)=>{let b;c==null?f._vnode&&(Ie(f._vnode,null,null,!0),b=f._vnode.component):R(f._vnode||null,c,f,null,null,null,h),f._vnode=c,_i||(_i=!0,on(b),rn(),_i=!1)},$t={p:R,um:Ie,m:it,r:wo,mt:xi,mc:Ye,pc:q,pbc:tt,n:Cs,o:e};return{render:So,hydrate:void 0,createApp:zr(So)}}function ai({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function et({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function al(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $n(e,t,s=!1){const i=e.children,n=t.children;if(A(i)&&A(n))for(let o=0;o>1,e[s[l]]0&&(t[i]=s[o-1]),s[o]=i)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function Un(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Un(t)}function Bn(e){if(e)for(let t=0;te.__isSuspense;function fl(e,t){t&&t.pendingBranch?A(e)?t.effects.push(...e):t.effects.push(e):vr(e)}const ee=Symbol.for("v-fgt"),us=Symbol.for("v-txt"),ke=Symbol.for("v-cmt"),ci=Symbol.for("v-stc"),Be=[];let he=null;function P(e=!1){Be.push(he=e?null:[])}function fi(){Be.pop(),he=Be[Be.length-1]||null}let At=1;function Kn(e,t=!1){At+=e,e<0&&he&&t&&(he.hasOnce=!0)}function zn(e){return e.dynamicChildren=At>0?he||nt:null,fi(),At>0&&he&&he.push(e),e}function L(e,t,s,i,n,o){return zn(I(e,t,s,i,n,o,!0))}function hs(e,t,s,i,n){return zn(_e(e,t,s,i,n,!0))}function di(e){return e?e.__v_isVNode===!0:!1}function Ot(e,t){return e.type===t.type&&e.key===t.key}const qn=({key:e})=>e??null,ps=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?G(e)||le(e)||M(e)?{i:ne,r:e,k:t,f:!!s}:e:null);function I(e,t=null,s=null,i=0,n=null,o=e===ee?0:1,r=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&qn(t),ref:t&&ps(t),scopeId:an,slotScopeIds:null,children:s,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:o,patchFlag:i,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:ne};return l?(gs(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=G(s)?8:16),At>0&&!r&&he&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&he.push(a),a}const _e=dl;function dl(e,t=null,s=null,i=0,n=null,o=!1){if((!e||e===Dr)&&(e=ke),di(e)){const l=ht(e,t,!0);return s&&gs(l,s),At>0&&!o&&he&&(l.shapeFlag&6?he[he.indexOf(e)]=l:he.push(l)),l.patchFlag=-2,l}if(Sl(e)&&(e=e.__vccOpts),t){t=ul(t);let{class:l,style:a}=t;l&&!G(l)&&(t.class=ze(l)),F(a)&&(zs(a)&&!A(a)&&(a=X({},a)),t.style=Is(a))}const r=G(e)?1:Wn(e)?128:rs(e)?64:F(e)?4:M(e)?2:0;return I(e,t,s,i,n,r,o,!0)}function ul(e){return e?zs(e)||Pn(e)?X({},e):e:null}function ht(e,t,s=!1,i=!1){const{props:n,ref:o,patchFlag:r,children:l,transition:a}=e,u=t?hl(n||{},t):n,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&qn(u),ref:t&&t.ref?s&&o?A(o)?o.concat(ps(t)):[o,ps(t)]:ps(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ht(e.ssContent),ssFallback:e.ssFallback&&ht(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&i&&Zs(d,a.clone(d)),d}function Mt(e=" ",t=0){return _e(us,null,e,t)}function pe(e="",t=!1){return t?(P(),hs(ke,null,e)):_e(ke,null,e)}function Ae(e){return e==null||typeof e=="boolean"?_e(ke):A(e)?_e(ee,null,e.slice()):di(e)?Ve(e):_e(us,null,String(e))}function Ve(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ht(e)}function gs(e,t){let s=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(A(t))s=16;else if(typeof t=="object")if(i&65){const n=t.default;n&&(n._c&&(n._d=!1),gs(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!Pn(t)?t._ctx=ne:n===3&&ne&&(ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(M(t)){if(i&65){gs(e,{default:t});return}t={default:t,_ctx:ne},s=32}else t=String(t),i&64?(s=16,t=[Mt(t)]):s=8;e.children=t,e.shapeFlag|=s}function hl(...e){const t={};for(let s=0;sae||ne;let vs,Rt;{const e=Gt(),t=(s,i)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(i),o=>{n.length>1?n.forEach(r=>r(o)):n[0](o)}};vs=t("__VUE_INSTANCE_SETTERS__",s=>ae=s),Rt=t("__VUE_SSR_SETTERS__",s=>Pt=s)}const It=e=>{const t=ae;return vs(e),e.scope.on(),()=>{e.scope.off(),vs(t)}},Yn=()=>{ae&&ae.scope.off(),vs(null)};function Jn(e){return e.vnode.shapeFlag&4}let Pt=!1;function ml(e,t=!1,s=!1){t&&Rt(t);const{props:i,children:n}=e.vnode,o=Jn(e);el(e,i,o,t),nl(e,n,s||t);const r=o?bl(e,t):void 0;return t&&Rt(!1),r}function bl(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Fr);const{setup:i}=s;if(i){Se();const n=e.setupContext=i.length>1?xl(e):null,o=It(e),r=lt(i,e,0,[e.props,n]),l=Ei(r);if(Ee(),o(),(l||e.sp)&&!ft(e)&&un(e),l){if(r.then(Yn,Yn),t)return r.then(a=>{Rt(!0);try{Xn(e,a,t)}finally{Rt(!1)}}).catch(a=>{is(a,e,0)});e.asyncDep=r}else Xn(e,r)}else Zn(e)}function Xn(e,t,s){M(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:F(t)&&(e.setupState=Qi(t)),Zn(e)}function Zn(e,t,s){const i=e.type;e.render||(e.render=i.render||we);{const n=It(e);Se();try{$r(e)}finally{Ee(),n()}}}const yl={get(e,t){return re(e,"get",""),e[t]}};function xl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,yl),slots:e.slots,emit:e.emit,expose:t}}function ms(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qi(nr(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ct)return Ct[s](e)},has(t,s){return s in t||s in Ct}})):e.proxy}const _l=/(?:^|[-_])\w/g,wl=e=>e.replace(_l,t=>t.toUpperCase()).replace(/[-_]/g,"");function Qn(e,t=!0){return M(e)?e.displayName||e.name:e.name||t&&e.__name}function eo(e,t,s=!1){let i=Qn(t);if(!i&&t.__file){const n=t.__file.match(/([^/\\]+)\.\w+$/);n&&(i=n[1])}if(!i&&e){const n=o=>{for(const r in o)if(o[r]===t)return r};i=n(e.components)||e.parent&&n(e.parent.type.components)||n(e.appContext.components)}return i?wl(i):s?"App":"Anonymous"}function Sl(e){return M(e)&&"__vccOpts"in e}const El=(e,t)=>lr(e,t,Pt),Tl="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let di;const Qn=typeof window<"u"&&window.trustedTypes;if(Qn)try{di=Qn.createPolicy("vue",{createHTML:e=>e})}catch{}const eo=di?e=>di.createHTML(e):e=>e,Tl="http://www.w3.org/2000/svg",Cl="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,to=We&&We.createElement("template"),Al={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,i)=>{const n=t==="svg"?We.createElementNS(Tl,e):t==="mathml"?We.createElementNS(Cl,e):s?We.createElement(e,{is:s}):We.createElement(e);return e==="select"&&i&&i.multiple!=null&&n.setAttribute("multiple",i.multiple),n},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,i,n,o){const r=s?s.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===o||!(n=n.nextSibling)););else{to.innerHTML=eo(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);const l=to.content;if(i==="svg"||i==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},kl=Symbol("_vtc");function Ol(e,t,s){const i=e[kl];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const bs=Symbol("_vod"),so=Symbol("_vsh"),ui={name:"show",beforeMount(e,{value:t},{transition:s}){e[bs]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):Lt(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:i}){!t!=!s&&(i?t?(i.beforeEnter(e),Lt(e,!0),i.enter(e)):i.leave(e,()=>{Lt(e,!1)}):Lt(e,t))},beforeUnmount(e,{value:t}){Lt(e,t)}};function Lt(e,t){e.style.display=t?e[bs]:"none",e[so]=!t}const Ml=Symbol(""),Il=/(?:^|;)\s*display\s*:/;function Rl(e,t,s){const i=e.style,n=G(s);let o=!1;if(s&&!n){if(t)if(G(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();s[l]==null&&Nt(i,l,"")}else for(const r in t)s[r]==null&&Nt(i,r,"");for(const r in s){r==="display"&&(o=!0);const l=s[r];l!=null?Ll(e,r,!G(t)&&t?t[r]:void 0,l)||Nt(i,r,l):Nt(i,r,"")}}else if(n){if(t!==s){const r=i[Ml];r&&(s+=";"+r),i.cssText=s,o=Il.test(s)}}else t&&e.removeAttribute("style");bs in e&&(e[bs]=o?i.display:"",e[so]&&(i.display="none"))}const ys=/\s*!important$/;function Nt(e,t,s){if(k(s))s.forEach(i=>Nt(e,t,i));else if(s==null&&(s=""),t.startsWith("--"))ys.test(s)?e.setProperty(t,s.replace(ys,""),"important"):e.setProperty(t,s);else{const i=Pl(e,t);ys.test(s)?e.setProperty(ge(i),s.replace(ys,""),"important"):e[i]=s}}const io=["Webkit","Moz","ms"],hi={};function Pl(e,t){const s=hi[t];if(s)return s;let i=se(t);if(i!=="filter"&&i in e)return hi[t]=i;i=qt(i);for(let n=0;npi||(Ul.then(()=>pi=0),pi=Date.now());function Bl(e,t){const s=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=s.attached)return;const n=s.value;if(k(n)){const o=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{o.call(i),i._stopped=!0};const r=n.slice(),l=[i];for(let a=0;ae.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wl=(e,t,s,i,n,o)=>{const r=n==="svg";t==="class"?Ol(e,i,r):t==="style"?Rl(e,s,i):Vt(t)?Bt(t)||Dl(e,t,s,i,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kl(e,t,i,r))?(ro(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&oo(e,t,i,r,o,t!=="value")):e._isVueCE&&(zl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!G(i)))?ro(e,se(t),i,o,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),oo(e,t,i,r))};function Kl(e,t,s,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&ao(t)&&M(s));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"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return ao(t)&&G(s)?!1:t in e}function zl(e,t){const s=e._def.props;if(!s)return!1;const i=se(t);return Array.isArray(s)?s.some(n=>se(n)===i):Object.keys(s).some(n=>se(n)===i)}const co={};function ql(e,t,s){let i=Zs(e,t);Kt(i)&&(i=X({},i,t));class n extends gi{constructor(r){super(i,r,s)}}return n.def=i,n}const Gl=typeof HTMLElement<"u"?HTMLElement:class{};class gi extends Gl{constructor(t,s={},i=ho){super(),this._def=t,this._props=s,this._createApp=i,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&i!==ho?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(X({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof gi){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,en(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const s of t)this._setAttr(s.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let i=0;i{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:r}=i;let l;if(o&&!k(o))for(const a in o){const u=o[a];(u===Number||u&&u.type===Number)&&(a in this._props&&(this._props[a]=Ti(this._props[a])),(l||(l=Object.create(null)))[se(a)]=!0)}this._numberProps=l,this._resolveProps(i),this.shadowRoot&&this._applyStyles(r),this._mount(i)},s=this._def.__asyncLoader;if(s)return this._pendingResolve=s().then(i=>{i.configureApp=this._def.configureApp,t(this._def=i,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const s=this._instance&&this._instance.exposed;if(s)for(const i in s)D(this,i)||Object.defineProperty(this,i,{get:()=>Ji(s[i])})}_resolveProps(t){const{props:s}=t,i=k(s)?s:Object.keys(s||{});for(const n of Object.keys(this))n[0]!=="_"&&i.includes(n)&&this._setProp(n,this[n]);for(const n of i.map(se))Object.defineProperty(this,n,{get(){return this._getProp(n)},set(o){this._setProp(n,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const s=this.hasAttribute(t);let i=s?this.getAttribute(t):co;const n=se(t);s&&this._numberProps&&this._numberProps[n]&&(i=Ti(i)),this._setProp(n,i,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,s,i=!0,n=!1){if(s!==this._props[t]&&(this._dirty=!0,s===co?delete this._props[t]:(this._props[t]=s,t==="key"&&this._app&&(this._app._ceVNode.key=s)),n&&this._instance&&this._update(),i)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),s===!0?this.setAttribute(ge(t),""):typeof s=="string"||typeof s=="number"?this.setAttribute(ge(t),s+""):s||this.removeAttribute(ge(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Jl(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const s=_e(this._def,X(t,this._props));return this._instance||(s.ce=i=>{this._instance=i,i.ce=this,i.isCE=!0;const n=(o,r)=>{this.dispatchEvent(new CustomEvent(o,Kt(r[0])?X({detail:r},r[0]):{detail:r}))};i.emit=(o,...r)=>{n(o,r),ge(o)!==o&&n(ge(o),r)},this._setParent()}),s}_applyStyles(t,s,i){if(!t)return;if(s){if(s===this._def||this._styleChildren.has(s))return;this._styleChildren.add(s)}const n=this._nonce,o=this.shadowRoot,r=i?this._getStyleAnchor(i)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let a=t.length-1;a>=0;a--){const u=document.createElement("style");n&&u.setAttribute("nonce",n),u.textContent=t[a],o.insertBefore(u,l||r),l=u,a===0&&(i||this._styleAnchors.set(this._def,u),s&&this._styleAnchors.set(s,u))}}_getStyleAnchor(t){if(!t)return null;const s=this._styleAnchors.get(t);return s&&s.parentNode===this.shadowRoot?s:(s&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let s=0;s{uo().render(...e)},ho=(...e)=>{const t=uo().createApp(...e),{mount:s}=t;return t.mount=i=>{const n=Zl(i);if(!n)return;const o=t._component;!M(o)&&!o.render&&!o.template&&(o.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const r=s(n,!1,Xl(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),r},t};function Xl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zl(e){return G(e)?document.querySelector(e):e}function Ql(e,t){const s=t;pn(()=>{var l;const i=zn();if(!i)return;const n=(l=i.proxy)==null?void 0:l.$el;if(!n)return;const o=n.getRootNode();if(!(o instanceof ShadowRoot)||o.querySelector(`style[data-shadow-styles="${s}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",s),r.textContent=e,o.appendChild(r)})}const po={menu:'',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function ea(e,t=""){const s=po[e]||po.map;return``}const ta=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0;contain:layout}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:0 0 28px #0000008c;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0)}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}",go=(e,t)=>{const s=e.__vccOpts||e;for(const[i,n]of t)s[i]=n;return s},Ht={};function sa(e){return e?(Ht[e]||(Ht[e]=new Promise((t,s)=>{const i=document.createElement("script");i.src=e,i.onload=()=>t(),i.onerror=()=>{delete Ht[e],s(new Error("failed to load "+e))},document.head.appendChild(i)})),Ht[e]):Promise.resolve()}function ia(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>i(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const na=` +**/let ui;const to=typeof window<"u"&&window.trustedTypes;if(to)try{ui=to.createPolicy("vue",{createHTML:e=>e})}catch{}const so=ui?e=>ui.createHTML(e):e=>e,Cl="http://www.w3.org/2000/svg",kl="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,io=We&&We.createElement("template"),Al={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,i)=>{const n=t==="svg"?We.createElementNS(Cl,e):t==="mathml"?We.createElementNS(kl,e):s?We.createElement(e,{is:s}):We.createElement(e);return e==="select"&&i&&i.multiple!=null&&n.setAttribute("multiple",i.multiple),n},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,i,n,o){const r=s?s.previousSibling:t.lastChild;if(n&&(n===o||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===o||!(n=n.nextSibling)););else{io.innerHTML=so(i==="svg"?`${e}`:i==="mathml"?`${e}`:e);const l=io.content;if(i==="svg"||i==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ol=Symbol("_vtc");function Ml(e,t,s){const i=e[Ol];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const bs=Symbol("_vod"),no=Symbol("_vsh"),hi={name:"show",beforeMount(e,{value:t},{transition:s}){e[bs]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):Lt(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:i}){!t!=!s&&(i?t?(i.beforeEnter(e),Lt(e,!0),i.enter(e)):i.leave(e,()=>{Lt(e,!1)}):Lt(e,t))},beforeUnmount(e,{value:t}){Lt(e,t)}};function Lt(e,t){e.style.display=t?e[bs]:"none",e[no]=!t}const Rl=Symbol(""),Il=/(?:^|;)\s*display\s*:/;function Pl(e,t,s){const i=e.style,n=G(s);let o=!1;if(s&&!n){if(t)if(G(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();s[l]==null&&Nt(i,l,"")}else for(const r in t)s[r]==null&&Nt(i,r,"");for(const r in s){r==="display"&&(o=!0);const l=s[r];l!=null?Nl(e,r,!G(t)&&t?t[r]:void 0,l)||Nt(i,r,l):Nt(i,r,"")}}else if(n){if(t!==s){const r=i[Rl];r&&(s+=";"+r),i.cssText=s,o=Il.test(s)}}else t&&e.removeAttribute("style");bs in e&&(e[bs]=o?i.display:"",e[no]&&(i.display="none"))}const ys=/\s*!important$/;function Nt(e,t,s){if(A(s))s.forEach(i=>Nt(e,t,i));else if(s==null&&(s=""),t.startsWith("--"))ys.test(s)?e.setProperty(t,s.replace(ys,""),"important"):e.setProperty(t,s);else{const i=Ll(e,t);ys.test(s)?e.setProperty(ve(i),s.replace(ys,""),"important"):e[i]=s}}const oo=["Webkit","Moz","ms"],pi={};function Ll(e,t){const s=pi[t];if(s)return s;let i=se(t);if(i!=="filter"&&i in e)return pi[t]=i;i=qt(i);for(let n=0;ngi||(Bl.then(()=>gi=0),gi=Date.now());function Wl(e,t){const s=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=s.attached)return;const n=s.value;if(A(n)){const o=i.stopImmediatePropagation;i.stopImmediatePropagation=()=>{o.call(i),i._stopped=!0};const r=n.slice(),l=[i];for(let a=0;ae.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Kl=(e,t,s,i,n,o)=>{const r=n==="svg";t==="class"?Ml(e,i,r):t==="style"?Pl(e,s,i):Bt(t)?Vt(t)||jl(e,t,s,i,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):zl(e,t,i,r))?(ao(e,t,i),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&lo(e,t,i,r,o,t!=="value")):e._isVueCE&&(ql(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!G(i)))?ao(e,se(t),i,o,t):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),lo(e,t,i,r))};function zl(e,t,s,i){if(i)return!!(t==="innerHTML"||t==="textContent"||t in e&&fo(t)&&M(s));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"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return fo(t)&&G(s)?!1:t in e}function ql(e,t){const s=e._def.props;if(!s)return!1;const i=se(t);return Array.isArray(s)?s.some(n=>se(n)===i):Object.keys(s).some(n=>se(n)===i)}const uo={};function Gl(e,t,s){let i=Qs(e,t);Kt(i)&&(i=X({},i,t));class n extends vi{constructor(r){super(i,r,s)}}return n.def=i,n}const Yl=typeof HTMLElement<"u"?HTMLElement:class{};class vi extends Yl{constructor(t,s={},i=go){super(),this._def=t,this._props=s,this._createApp=i,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&i!==go?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(X({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof vi){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,sn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const s of t)this._setAttr(s.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let i=0;i{this._resolved=!0,this._pendingResolve=void 0;const{props:o,styles:r}=i;let l;if(o&&!A(o))for(const a in o){const u=o[a];(u===Number||u&&u.type===Number)&&(a in this._props&&(this._props[a]=ki(this._props[a])),(l||(l=Object.create(null)))[se(a)]=!0)}this._numberProps=l,this._resolveProps(i),this.shadowRoot&&this._applyStyles(r),this._mount(i)},s=this._def.__asyncLoader;if(s)return this._pendingResolve=s().then(i=>{i.configureApp=this._def.configureApp,t(this._def=i,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const s=this._instance&&this._instance.exposed;if(s)for(const i in s)H(this,i)||Object.defineProperty(this,i,{get:()=>Zi(s[i])})}_resolveProps(t){const{props:s}=t,i=A(s)?s:Object.keys(s||{});for(const n of Object.keys(this))n[0]!=="_"&&i.includes(n)&&this._setProp(n,this[n]);for(const n of i.map(se))Object.defineProperty(this,n,{get(){return this._getProp(n)},set(o){this._setProp(n,o,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const s=this.hasAttribute(t);let i=s?this.getAttribute(t):uo;const n=se(t);s&&this._numberProps&&this._numberProps[n]&&(i=ki(i)),this._setProp(n,i,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,s,i=!0,n=!1){if(s!==this._props[t]&&(this._dirty=!0,s===uo?delete this._props[t]:(this._props[t]=s,t==="key"&&this._app&&(this._app._ceVNode.key=s)),n&&this._instance&&this._update(),i)){const o=this._ob;o&&(this._processMutations(o.takeRecords()),o.disconnect()),s===!0?this.setAttribute(ve(t),""):typeof s=="string"||typeof s=="number"?this.setAttribute(ve(t),s+""):s||this.removeAttribute(ve(t)),o&&o.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Xl(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const s=_e(this._def,X(t,this._props));return this._instance||(s.ce=i=>{this._instance=i,i.ce=this,i.isCE=!0;const n=(o,r)=>{this.dispatchEvent(new CustomEvent(o,Kt(r[0])?X({detail:r},r[0]):{detail:r}))};i.emit=(o,...r)=>{n(o,r),ve(o)!==o&&n(ve(o),r)},this._setParent()}),s}_applyStyles(t,s,i){if(!t)return;if(s){if(s===this._def||this._styleChildren.has(s))return;this._styleChildren.add(s)}const n=this._nonce,o=this.shadowRoot,r=i?this._getStyleAnchor(i)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(o);let l=null;for(let a=t.length-1;a>=0;a--){const u=document.createElement("style");n&&u.setAttribute("nonce",n),u.textContent=t[a],o.insertBefore(u,l||r),l=u,a===0&&(i||this._styleAnchors.set(this._def,u),s&&this._styleAnchors.set(s,u))}}_getStyleAnchor(t){if(!t)return null;const s=this._styleAnchors.get(t);return s&&s.parentNode===this.shadowRoot?s:(s&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let s=0;s{po().render(...e)},go=(...e)=>{const t=po().createApp(...e),{mount:s}=t;return t.mount=i=>{const n=Ql(i);if(!n)return;const o=t._component;!M(o)&&!o.render&&!o.template&&(o.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const r=s(n,!1,Zl(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),r},t};function Zl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ql(e){return G(e)?document.querySelector(e):e}function ea(e,t){const s=t;vn(()=>{var l;const i=Gn();if(!i)return;const n=(l=i.proxy)==null?void 0:l.$el;if(!n)return;const o=n.getRootNode();if(!(o instanceof ShadowRoot)||o.querySelector(`style[data-shadow-styles="${s}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",s),r.textContent=e,o.appendChild(r)})}const vo={menu:'',map:'',globe:'',heart:'',prayer:'',list:'',users:'',flag:'',target:'',pin:'',monitor:'',chart:'',layers:'',flask:'',share:'',beaker:'',chevron:'',grid:'',tree:'',dots:'',embed:'',send:'',poster:'',search:'',book:'',wifi:''};function ta(e,t=""){const s=vo[e]||vo.map;return``}const sa=".vtl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;grid-template-rows:auto 1fr;height:100%;width:100%;min-height:420px;background:#f3f3f1;color:#3b463d;font-family:Public Sans,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;--vtl-accent:#92b195;--vtl-border:#d1d4cd;--vtl-elevated:#ffffff;--vtl-accented:#d1d4cd;--vtl-muted:#6d766e;--vtl-rail:256px}.vtl.no-header{grid-template-rows:1fr}.vtl-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;box-sizing:border-box;min-height:64px;padding:8px 16px;border-bottom:1px solid var(--vtl-border);background:#fff}.vtl-menu{display:none;font:16px/1 system-ui;color:#3b463d;background:#d1d4cd;border:1px solid #d1d4cd;border-radius:8px;padding:5px 10px;cursor:pointer}.vtl-fab{position:absolute;z-index:15;left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:44px;height:44px;display:flex;align-items:center;justify-content:center;font:18px/1 system-ui;color:#3b463d;background:#fff;border:1px solid var(--vtl-border);border-radius:50%;box-shadow:0 2px 10px #0000002e;cursor:pointer}.vtl-fab:hover{background:#d1d4cd}.vtl-fab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:2px}.vtl-menu:hover{background:#d1d4cd}.vtl-brand{display:inline-flex;align-items:center}.vtl-brand:empty{display:none}.vtl-title{font-size:15px;font-weight:600;letter-spacing:-.01em;color:#3b463d}.vtl-meta{color:var(--vtl-muted);font-size:12px;margin-left:auto;display:inline-flex;align-items:center;gap:8px}.vtl-body{min-height:0;position:relative;display:flex}.vtl-nav{position:absolute;top:0;bottom:0;left:0;z-index:5;width:256px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--vtl-border);padding:12px 12px 20px;background:#fff;scrollbar-width:thin;scrollbar-color:#c4c8c0 transparent;contain:layout paint;transform:translate(0);transition:transform .2s cubic-bezier(.4,0,.2,1);will-change:transform}.vtl-nav::-webkit-scrollbar{width:8px;height:8px}.vtl-nav::-webkit-scrollbar-track{background:transparent}.vtl-nav::-webkit-scrollbar-thumb{background:#c4c8c0;border-radius:8px}.vtl-nav::-webkit-scrollbar-thumb:hover{background:#9aa197}.vtl-collapse{display:flex;align-items:center;gap:8px;width:100%;box-sizing:border-box;margin:0 0 8px;padding:7px 10px;border:1px solid var(--vtl-border);border-radius:8px;background:#d1d4cd;color:var(--vtl-muted);font:inherit;font-size:12px;cursor:pointer}.vtl-collapse:hover{background:var(--vtl-accented);color:#3b463d}.vtl-collapse:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-collapse-ic{flex:0 0 auto;display:inline-flex;transition:transform .16s ease;transform:rotate(180deg)}.vtl-collapse-ic svg{width:16px;height:16px}.vtl-collapse-tx{white-space:nowrap}.vtl-grp{margin-bottom:2px}.vtl-grp+.vtl-grp{margin-top:8px;padding-top:8px;border-top:1px solid var(--vtl-border)}.vtl-tier{width:100%;padding:8px 8px 6px;display:flex;align-items:center;gap:8px;box-sizing:border-box}.vtl-tier-btn{border:0;background:none;color:inherit;font:inherit;cursor:pointer;text-align:left;border-radius:8px}.vtl-tier-btn:hover{background:var(--vtl-accented)}.vtl-tier-btn:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tier-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tier-ic svg{width:15px;height:15px}.vtl-cap{font:700 10px/1 system-ui;letter-spacing:.4px;color:#052e16;background:var(--vtl-accent);border-radius:999px;padding:3px 7px}.vtl-tl{font-weight:600;font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--vtl-muted)}.vtl-td{color:#6b6b6b;font-size:11px;margin-left:auto}.vtl-chev{margin-left:auto;display:inline-flex;color:var(--vtl-muted);transition:transform .16s ease}.vtl-chev svg{width:15px;height:15px}.vtl-chev.open{transform:rotate(90deg)}.vtl-rows{display:flex;flex-direction:column;gap:1px}.vtl-tab{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;text-align:left;border:0;background:none;color:var(--vtl-muted);padding:8px 12px;cursor:pointer;border-radius:var(--vtl-radius,8px);font:inherit;margin:0;transition:background .13s ease,color .13s ease}.vtl-tab:hover{background:var(--vtl-accented);color:#3b463d}.vtl-tab:focus-visible{outline:2px solid var(--vtl-accent);outline-offset:-2px}.vtl-tab.active{background:var(--vtl-accented);color:#3b463d;font-weight:500}.vtl-tab.active .vtl-tab-ic{color:var(--vtl-accent)}.vtl-tab-ic{flex:0 0 auto;display:inline-flex;color:var(--vtl-muted)}.vtl-tab-ic svg{width:20px;height:20px}.vtl-tab-emoji{font-size:17px;line-height:1;flex:0 0 auto}.vtl-tab-fallback{display:none;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--vtl-muted);background:var(--vtl-accented);border-radius:6px}.vtl-tab.active .vtl-tab-fallback{color:var(--vtl-accent)}.vtl-tab-text{display:flex;flex-direction:column;min-width:0}.vtl-tab-label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.vtl-tab-badge{font:600 9px/1 system-ui;letter-spacing:.3px;text-transform:uppercase;color:var(--vtl-accent);border:1px solid var(--vtl-accent);border-radius:var(--vtl-radius,8px);padding:2px 5px}.vtl-tab-sub{font-size:11px;color:#6b6b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vtl-tab-sub code{font-family:ui-monospace,Menlo,monospace}.vtl-tab.active .vtl-tab-sub{color:var(--vtl-muted)}.vtl-main{position:absolute;top:0;bottom:0;right:0;left:256px;min-width:0;display:flex;flex-direction:column}.vtl-content{flex:1 1 auto;position:relative;min-height:0;contain:layout}.vtl-host{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;--profile-min-h:0}.vtl-host-slot{position:relative;min-height:100%}.vtl-host-slot>*{min-height:0;max-height:none}.vtl-host-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:var(--dx-muted, #6d766e);font-size:13px;padding:20px}.vtl-host-hint.err{color:#f87171}.vtl-host-hint small{color:var(--dx-muted, #6d766e)}.vtl.rail-collapsed .vtl-nav{transform:translate(-184px)}.vtl.rail-collapsed .vtl-main{left:72px}.vtl.rail-collapsed .vtl-collapse{padding-left:184px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(0)}.vtl.rail-collapsed .vtl-collapse-tx{display:none}.vtl.rail-collapsed .vtl-tab{padding-left:188px;gap:0}.vtl.rail-collapsed .vtl-tab-text{display:none}.vtl.rail-collapsed .vtl-tab-emoji{font-size:19px}.vtl.rail-collapsed .vtl-tab-fallback{display:inline-flex}.vtl.rail-collapsed .vtl-tier{padding-left:196px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:none}.vtl.rail-collapsed .vtl-grp+.vtl-grp{margin-top:6px;padding-top:6px}@media (max-width: 760px){.vtl-top{min-height:56px}.vtl-menu{display:inline-block}.vtl-meta{display:none}.vtl-nav{z-index:20;width:256px;box-shadow:0 0 28px #0000008c;transform:translate(-100%)}.vtl.nav-open .vtl-nav{transform:translate(0)}.vtl-main{left:0}.vtl.rail-collapsed .vtl-nav{transform:translate(-100%)}.vtl.rail-collapsed.nav-open .vtl-nav{transform:translate(0)}.vtl.rail-collapsed .vtl-main{left:0}.vtl.rail-collapsed .vtl-collapse{padding-left:10px;justify-content:flex-start}.vtl.rail-collapsed .vtl-collapse-ic{transform:rotate(180deg)}.vtl.rail-collapsed .vtl-collapse-tx{display:inline}.vtl.rail-collapsed .vtl-tab{padding-left:10px;gap:11px}.vtl.rail-collapsed .vtl-tab-text{display:flex}.vtl.rail-collapsed .vtl-tab-fallback{display:none}.vtl.rail-collapsed .vtl-tier{padding-left:8px}.vtl.rail-collapsed .vtl-tl,.vtl.rail-collapsed .vtl-td,.vtl.rail-collapsed .vtl-cap,.vtl.rail-collapsed .vtl-chev{display:inline}}",mo=(e,t)=>{const s=e.__vccOpts||e;for(const[i,n]of t)s[i]=n;return s},Dt={};function ia(e){return e?(Dt[e]||(Dt[e]=new Promise((t,s)=>{const i=document.createElement("script");i.src=e,i.onload=()=>t(),i.onerror=()=>{delete Dt[e],s(new Error("failed to load "+e))},document.head.appendChild(i)})),Dt[e]):Promise.resolve()}function na(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>i(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const oa=` /* STRUCTURAL DISPLAY — the !important is deliberate, not a hack. This layout's display mode is load-bearing: it CANNOT function as a block. As a library/ (high-bar) component it ships across all 5 deployment methods, and a host (app-shell direct-mount, WordPress, mobile webview) may force @@ -228,4 +228,4 @@ .vtl.rail-collapsed .vtl-tier { padding-left:8px; } .vtl.rail-collapsed .vtl-tl, .vtl.rail-collapsed .vtl-td, .vtl.rail-collapsed .vtl-cap, .vtl.rail-collapsed .vtl-chev { display:inline; } } -`,oa=Zs({name:"VerticalTabsLayout",props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){Ql(na,"vertical-tabs-layout")},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{}}},computed:{railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const s of t.rows||[])e.push(s);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(s=>s.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(i=>i.key===e),s=this._hostSlots[e];!t||!s||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},sa(t.src).then(()=>ia(t.element)).then(()=>{s.innerHTML="";const i=document.createElement(t.element),n=t.attrs||{};for(const o in n){const r=n[o],l=r!=null&&typeof r=="object"?JSON.stringify(r):String(r);try{i[o]=r}catch{}try{i.setAttribute(o,l)}catch{}}i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),this.hostState={...this.hostState,[e]:"ready"}}).catch(i=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:i&&i.message||String(i)}}))},iconSvg(e){return e?ea(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],s=(this.groups||[]).find(n=>n.key===e),i=t??(s&&s.open===!0);this.folderOverride={...this.folderOverride,[e]:!i}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const s=t.indexOf(this.active);let i=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")i=(s+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")i=(s-1+t.length)%t.length;else if(e.key==="Home")i=0;else if(e.key==="End")i=t.length-1;else return;e.preventDefault();const n=t[i];this.pick(n),this.$nextTick(()=>{const o=this._tabEls[n];o&&o.focus&&o.focus()})}}}),ra={key:0,class:"vtl-top"},la=["aria-expanded"],aa={class:"vtl-brand"},ca={class:"vtl-title"},fa={class:"vtl-meta"},da=["aria-expanded"],ua={class:"vtl-body"},ha=["aria-label","aria-hidden"],pa=["aria-expanded","aria-label"],ga=["innerHTML"],va=["aria-expanded","onClick"],ma={class:"vtl-tl"},ba=["innerHTML"],ya={key:1,class:"vtl-tier"},xa={key:0,class:"vtl-cap"},_a={class:"vtl-tl"},wa={key:1,class:"vtl-td"},Sa={class:"vtl-rows"},Ea=["aria-selected","tabindex","onClick"],Ta=["innerHTML"],Ca={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Aa={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},ka={class:"vtl-tab-text"},Oa={class:"vtl-tab-label"},Ma={key:0,class:"vtl-tab-badge"},Ia={key:0,class:"vtl-tab-sub"},Ra=["innerHTML"],Pa=["aria-selected","tabindex","onClick"],La=["innerHTML"],Na={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ha={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Da={class:"vtl-tab-text"},ja={class:"vtl-tab-label"},Fa={key:0,class:"vtl-tab-sub"},$a={class:"vtl-main"},Ua={class:"vtl-content"},Va=["hidden"],Ba={key:0,class:"vtl-host-hint"},Wa={key:1,class:"vtl-host-hint err"};function Ka(e,t,s,i,n,o){return P(),L("div",{class:ze(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}])},[e.header?(P(),L("header",ra,[R("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=r=>e.navOpen=!e.navOpen),"aria-label":"Toggle list"},"☰",8,la),R("span",aa,[cs(e.$slots,"brand")]),R("b",ca,K(e.title),1),R("span",fa,[cs(e.$slots,"meta")])])):ve("",!0),e.narrow&&!e.header&&!e.navOpen?(P(),L("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=r=>e.navOpen=!0),"aria-label":"Open the list of views"},"☰",8,da)):ve("",!0),R("div",ua,[R("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:"tablist","aria-orientation":"vertical"},[R("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?"Expand list":"Collapse list",onClick:t[2]||(t[2]=(...r)=>e.toggleRail&&e.toggleRail(...r))},[R("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,ga),t[5]||(t[5]=R("span",{class:"vtl-collapse-tx"},"Collapse",-1))],8,pa),e.groups&&e.groups.length?(P(!0),L(ee,{key:0},dt(e.groups,r=>(P(),L("div",{class:"vtl-grp",key:r.key},[r.folder?(P(),L("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(r)),onClick:l=>e.toggleFolder(r.key)},[R("span",ma,K(r.label),1),R("span",{class:ze(["vtl-chev",{open:!e.isFolderClosed(r)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,ba)],8,va)):(P(),L("div",ya,[r.badge?(P(),L("span",xa,K(r.badge),1)):ve("",!0),R("span",_a,K(r.label),1),r.count!=null?(P(),L("span",wa,K(r.count),1)):ve("",!0)])),Gs(R("div",Sa,[(P(!0),L(ee,null,dt(r.rows,l=>(P(),L("button",{key:l.key,type:"button",role:"tab",class:ze(["vtl-tab",{active:l.key===e.active}]),"aria-selected":String(l.key===e.active),tabindex:l.key===e.active?0:-1,ref_for:!0,ref:a=>e.registerTab(l.key,a),onClick:a=>e.pick(l.key),onKeydown:t[3]||(t[3]=a=>e.onKey(a))},[l.icon?(P(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Ta)):l.emoji?(P(),L("span",Ca,K(l.emoji),1)):(P(),L("span",Aa,K(e.initial(l.label)),1)),R("span",ka,[R("span",Oa,[Mt(K(l.label),1),l.badge?(P(),L("span",Ma,K(l.badge),1)):ve("",!0)]),l.sub?(P(),L("span",Ia,[R("span",{innerHTML:l.sub},null,8,Ra)])):ve("",!0)])],42,Ea))),128))],512),[[ui,!r.folder||!e.isFolderClosed(r)]])]))),128)):(P(!0),L(ee,{key:1},dt(e.items,r=>(P(),L("button",{key:r.key,type:"button",role:"tab",class:ze(["vtl-tab",{active:r.key===e.active}]),"aria-selected":String(r.key===e.active),tabindex:r.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(r.key,l),onClick:l=>e.pick(r.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[r.icon?(P(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,La)):r.emoji?(P(),L("span",Na,K(r.emoji),1)):(P(),L("span",Ha,K(e.initial(r.label)),1)),R("span",Da,[R("span",ja,K(r.label),1),r.sub?(P(),L("span",Fa,K(r.sub),1)):ve("",!0)])],42,Pa))),128))],8,ha),R("main",$a,[e.header?cs(e.$slots,"toolbar",{},void 0,void 0,0):ve("",!0),R("div",Ua,[(P(!0),L(ee,null,dt(e.mountedElementRows,r=>Gs((P(),L("section",{key:r.key,class:"vtl-host",hidden:r.key!==e.active},[R("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(r.key,l)},null,512),e.hostState[r.key]==="loading"?(P(),L("div",Ba,"Loading "+K(r.label)+"…",1)):e.hostState[r.key]==="error"?(P(),L("div",Wa,[Mt(" Could not load "+K(r.label)+".",1),t[6]||(t[6]=R("br",null,null,-1)),R("small",null,K(e.hostError[r.key]),1)])):ve("",!0)],8,Va)),[[ui,r.key===e.active]])),128)),cs(e.$slots,"default")])])])],2)}const za=go(oa,[["render",Ka],["styles",[ta]]]),vi=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0}],qa=vi.filter(e=>!e.hideFromSwitcher);function Ga(e){return vi.find(t=>t.code===e)}function vo(e){const t=String(e||"").split("-")[0].toLowerCase();return vi.some(s=>s.code===t)?t:"en"}const mo="doxa-maps:locale";function Ya(){try{const e=localStorage.getItem(mo);if(e)return vo(e)}catch{}return vo(navigator==null?void 0:navigator.language)}function Ja(e){try{localStorage.setItem(mo,e)}catch{}}const Xa=".dms-pane,.dms-slot{position:absolute;top:0;right:0;bottom:0;left:0}.dms-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.dms-hint.err{color:#f87171}.dms-hint small{color:var(--dx-muted, #6d766e)}.dms-logo{display:inline-flex;align-items:center}.dms-logo svg{display:block}.dms-locale{position:relative;padding:8px 12px 0;display:flex;justify-content:flex-end}.dms-locale-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.dms-locale-btn:hover{background:#d1d4cd}.dms-flag{font-size:14px;line-height:1}.dms-locale-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dms-dots{color:#6d766e;margin-left:2px}.dms-locale-menu{position:absolute;top:100%;right:12px;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.dms-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.dms-locale-opt:hover,.dms-locale-opt.active{background:#d1d4cd;color:#3b463d}.dms-locale-opt.active .dms-locale-name{color:#92b195}.dms-locale-en{margin-left:auto;font-size:11px;color:#6d766e}",bo=[{key:"prayer-mobilization",label:"Prayer Mobilization",icon:"heart",tabs:[{id:"dashboard-plus-grid",icon:"chart",onlyWhen:"desktop"},{id:"research-map-plus-grid",icon:"map",onlyWhen:"mobile"},{id:"upg-100",icon:"list"},{id:"prayer-map",icon:"embed"},{id:"gospel-resources",icon:"book"}]},{key:"research",label:"Research",icon:"search",tabs:[{id:"cities-internet",icon:"wifi"},{id:"gospel-resources",icon:"book"},{id:"research-map",icon:"map"}]},{key:"experimental",label:"Experimental",icon:"flask",folder:!0,open:!1,tabs:[]}],Za=new Set(["doxa-maps-spa","plugin-studio","template-bundle","people-groups-grid","research-dashboard","big-picture"]),mi=[{id:"dashboard-plus-grid",label:"Big Picture",sub:"dashboard + people-groups grid, stacked",emoji:"🌍",bundle:"dashboard-plus-grid",profile:"dashboard-plus-grid"},{id:"research-map",label:"Research Map",sub:"prayer · engagement · regions",emoji:"🗺️",bundle:"doxa-research-map",profile:"research-map"},{id:"research-map-plus-grid",label:"Research Map",sub:"research map + people-groups grid",emoji:"🗺️",bundle:"research-map-plus-grid",profile:"research-map-plus-grid"},{id:"prayer-map",label:"Prayer Progress",sub:"simple world prayer map",emoji:"🙏",bundle:"doxa-simple-map",profile:"doxa-simple-map",instance:"prayer"},{id:"cities-internet",label:"Cities & Internet",sub:"connectivity of key cities",emoji:"📡",bundle:"cities-internet",profile:"connectivity-map"},{id:"gospel-resources",label:"Gospel Resources",sub:"resources by place",emoji:"📖",bundle:"gospel-resources",profile:"resources-map"},{id:"upg-100",label:"UPG-100 List",sub:"my unreached list + posters",emoji:"📋",bundle:"my-upg-100-list",profile:"upg-100-mfe"}],xs=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid"]);function Qa(){const e=Object.fromEntries(mi.map(s=>[s.id,s])),t=new Set;for(const s of bo)if(s.key!=="experimental")for(const i of s.tabs||[]){const n=e[i.id];n&&n.bundle&&t.add(n.bundle)}return t}function yo(e,t){const s=[];for(const i of e)!i||t.has(i.key)||(t.add(i.key),s.push(i));return s}function ec(e){return String(e).split(/[-_]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function tc(e){const t=Qa(),s=e&&Array.isArray(e.bundles)?e.bundles:[],i=[];for(const n of s){const o=n&&n.bundle;if(!o||t.has(o)||Za.has(o))continue;const r=Array.isArray(n.profiles)?n.profiles:[];if(!r.length)continue;const l=r.find(d=>d.isMap)||r.find(d=>d.profile===o)||r[0],a=l.element||Array.isArray(n.elements)&&n.elements[0]||o,u=n.scriptUrl||l.scriptUrl||"";u&&i.push({id:o,label:l.title||ec(o),sub:(l.description||"").trim().replace(/[,;]\s*$/,"")||"experimental bundle",emoji:"🧪",tag:a,bundle:o,profile:l.profile||o,scriptUrl:u,heavy:xs.has(a)||xs.has(o),discovered:!0})}return i.sort((n,o)=>n.label.localeCompare(o.label)),i}function sc(e,t){const s=e&&Array.isArray(e.bundles)?e.bundles:[],i=Object.fromEntries(s.map(o=>[o.bundle,o])),n={};for(const o of t){const r=i[o.bundle];if(!r)continue;const l=Array.isArray(r.profiles)?r.profiles:[],a=l.find(E=>E.profile===o.profile)||l[0],u=a&&a.element||Array.isArray(r.elements)&&r.elements[0]||o.bundle,d=r.scriptUrl||a&&a.scriptUrl||"";if(!d)continue;const p=a&&Array.isArray(a.instances)?a.instances:[],S=!!(o.instance&&p.some(E=>(E&&(E.id||E.instance))===o.instance));n[o.id]={tag:u,scriptUrl:d,profile:a&&a.profile||o.profile,instance:S?o.instance:"",heavy:xs.has(u)||xs.has(o.bundle)}}return n}const Dt={};function ic(e,t){return Dt[e]||(Dt[e]=new Promise((s,i)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>s(),n.onerror=()=>{delete Dt[e],i(new Error("failed to load "+e))},document.head.appendChild(n)})),Dt[e]}function nc(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>{customElements.get(e)||i(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}const oc=Zs({name:"DoxaMapsSpa",components:{VerticalTabsLayout:za},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"DX-Maps"},tokenUrl:{type:String,default:""},tk:{type:String,default:""},language:{type:String,default:""}},setup(){return{injectedBase:Et("dmsTreeBase","")}},data(){return{activeIndex:0,showHeader:!1,narrow:!1,_mql:null,_onMedia:null,locale:Ya(),localeOpen:!1,switcherLangs:qa,tabs:mi.map(e=>({...e,tag:"",scriptUrl:"",heavy:!1,resolved:!1,mounted:!1,state:"idle",error:""}))}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},navGroups(){const e=Object.fromEntries(this.tabs.map(s=>[s.id,s])),t=new Set;return bo.map(s=>{let i=yo((s.tabs||[]).filter(n=>!n.onlyWhen||n.onlyWhen===(this.narrow?"mobile":"desktop")).filter(n=>e[n.id]).map(n=>{const o=e[n.id];return{key:o.id,label:o.label,sub:o.sub,icon:n.icon,badge:n.badge}}),t);return s.key==="experimental"&&(i=i.concat(yo(this.tabs.filter(n=>n.discovered).map(n=>({key:n.id,label:n.label,sub:n.sub,icon:"flask",badge:"lab"})),t))),{key:s.key,label:s.label,icon:s.icon,folder:!!s.folder,open:s.open,rows:i}}).filter(s=>s.rows.length)},showLocaleSwitcher(){return this.showHeader},activeLang(){return Ga(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},effectiveLocale(){return((this.language||this.cfg.language||this.cfg.locale||this.cfg.lang||"").trim()||this.locale||"").split("-")[0].toLowerCase()},activeKey(){const e=this.tabs[this.activeIndex];return e?e.id:""}},mounted(){this.watchWidth(),this.select(this.firstVisibleIndex()),this.loadManifest()},beforeUnmount(){!this._mql||!this._onMedia||(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia),this._mql=null,this._onMedia=null)},watch:{effectiveLocale(e){const t=this.tabs[this.activeIndex];if(!(!t||!t.mounted))try{const s=this._slots&&this._slots[this.activeIndex],i=s&&s.firstElementChild;if(i&&i.setAttribute){const n={profile:t.profile||t.id,instanceId:"dms-"+t.id};t.instance&&(n.instanceId=t.instance),e&&(n.locale=e),(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(n.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(n.treeBase=this.base),i.setAttribute("profile-config",JSON.stringify(n))}}catch{}}},methods:{setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},watchWidth(){typeof window>"u"||!window.matchMedia||(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this._onMedia=e=>{const t=this.narrow;this.narrow=!!e.matches,t!==this.narrow&&(this.isVisibleId(this.activeKey)||this.select(this.firstVisibleIndex()))},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))},isVisibleId(e){return this.navGroups.some(t=>t.rows.some(s=>s.key===e))},firstVisibleIndex(){for(const e of this.navGroups)for(const t of e.rows){const s=this.tabs.findIndex(i=>i.id===t.key);if(s>=0)return s}return 0},loadManifest(){const e=this.resolve("manifest.json");try{fetch(e,{credentials:"omit"}).then(t=>t&&t.ok?t.json():null).then(t=>{t&&this.applyManifest(t)}).catch(()=>{})}catch{}},applyManifest(e){const t=sc(e,mi),s=this.activeKey,i=[];for(const r of this.tabs){if(r.discovered){i.push(r);continue}const l=t[r.id];l&&(Object.assign(r,l,{resolved:!0}),i.push(r))}const n=new Set(i.map(r=>r.id));for(const r of tc(e))n.has(r.id)||i.push({...r,resolved:!0,mounted:!1,state:"idle",error:""});this.tabs=i;const o=this.tabs.findIndex(r=>r.id===s);this.select(o>=0?o:this.firstVisibleIndex())},setLocale(e){this.locale=e,this.localeOpen=!1,Ja(e)},onSelect(e){const t=this.tabs.findIndex(s=>s.id===e);t!==-1&&this.select(t)},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const s=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+s:"../"+s},select(e){const t=this.activeIndex;if(this.activeIndex=e,t!==e&&t>=0){const i=this.tabs[t];i&&i.heavy&&i.mounted&&this.releaseTab(t,i)}const s=this.tabs[e];s&&s.scriptUrl&&(s.mounted||this.$nextTick(()=>{this.activeIndex===e&&this.mountElement(e)}))},releaseTab(e,t){try{const s=this._slots&&this._slots[e];s&&(s.innerHTML="")}catch{}this._slots&&delete this._slots[e],t.mounted=!1,t.state="idle",t.error=""},mountElement(e){const t=this.tabs[e];t.mounted=!0,t.state="loading";const s=this.resolve(t.scriptUrl);ic(s).then(()=>nc(t.tag)).then(()=>{try{if(t.heavy&&this.activeIndex!==e){t.mounted=!1,t.state="idle";return}const i=this._slots&&this._slots[e];if(!i){t.state="error",t.error="no slot";return}i.innerHTML="";const n=document.createElement(t.tag),o={profile:t.profile||t.id,instanceId:"dms-"+t.id};t.instance&&(o.instanceId=t.instance),this.effectiveLocale&&(o.locale=this.effectiveLocale),(this.tk||this.cfg.tk)&&(o.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(o.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(o.treeBase=this.base),n.setAttribute("profile-config",JSON.stringify(o)),this.base&&n.setAttribute("tree-base",this.base.replace(/\/+$/,"")),n.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",i.appendChild(n),t.state="ready"}catch(i){t.state="error",t.error="mount failed: "+(i&&i.message||String(i))}}).catch(i=>{t.state="error",t.error=i&&i.message||String(i)})}}}),rc={class:"dms-locale"},lc=["aria-expanded"],ac={class:"dms-flag"},cc={class:"dms-locale-name"},fc={key:0,class:"dms-locale-menu",role:"listbox"},dc=["aria-selected"],uc=["onClick"],hc={class:"dms-flag"},pc={class:"dms-locale-name"},gc={class:"dms-locale-en"},vc=["hidden"],mc={key:0,class:"dms-hint"},bc={key:1,class:"dms-hint err"};function yc(e,t,s,i,n,o){const r=Lr("VerticalTabsLayout");return P(),hs(r,{title:e.heading,"nav-label":"Research maps",header:e.showHeader,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.onSelect},Dr({brand:St(()=>[t[1]||(t[1]=R("span",{class:"dms-logo","aria-hidden":"true"},[R("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[R("circle",{cx:"12",cy:"12",r:"9"}),R("polygon",{points:"12 6 14 12 12 18 10 12",fill:"#92b195",stroke:"none"}),R("polygon",{points:"6 12 12 10 18 12 12 14",fill:"#92b195",opacity:"0.55",stroke:"none"})])],-1))]),meta:St(()=>[Mt(K(e.tabs.length)+" maps",1)]),default:St(()=>[(P(!0),L(ee,null,dt(e.tabs,(l,a)=>Gs((P(),L("section",{key:l.id,class:"dms-pane",hidden:a!==e.activeIndex},[!l.heavy||a===e.activeIndex?(P(),L(ee,{key:0},[R("div",{class:"dms-slot",ref_for:!0,ref:u=>e.setSlot(a,u)},null,512),l.state==="loading"?(P(),L("div",mc,"Loading "+K(l.label)+"…",1)):l.state==="error"?(P(),L("div",bc,[Mt(" Could not load "+K(l.label)+".",1),t[3]||(t[3]=R("br",null,null,-1)),R("small",null,K(l.error),1)])):ve("",!0)],64)):ve("",!0)],8,vc)),[[ui,a===e.activeIndex]])),128))]),_:2},[e.showLocaleSwitcher?{name:"toolbar",fn:St(()=>[R("div",rc,[R("button",{type:"button",class:"dms-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=l=>e.localeOpen=!e.localeOpen)},[R("span",ac,K(e.activeLang.flag),1),R("span",cc,K(e.activeLang.nativeName),1),t[2]||(t[2]=R("span",{class:"dms-dots","aria-hidden":"true"},"⋮",-1))],8,lc),e.localeOpen?(P(),L("ul",fc,[(P(!0),L(ee,null,dt(e.switcherLangs,l=>(P(),L("li",{key:l.code,role:"option","aria-selected":String(l.code===e.locale)},[R("button",{type:"button",class:ze(["dms-locale-opt",{active:l.code===e.locale}]),onClick:a=>e.setLocale(l.code)},[R("span",hc,K(l.flag),1),R("span",pc,K(l.nativeName),1),R("span",gc,K(l.name),1)],10,uc)],8,dc))),128))])):ve("",!0)])]),key:"0"}:void 0]),1032,["title","header","groups","active","onUpdate:active"])}const xc=go(oc,[["render",yc],["styles",[Xa]]]);function _c(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const wc=_c(),Sc=ql(xc,{configureApp(e){e.provide("dmsTreeBase",wc)}});typeof customElements<"u"&&!customElements.get("doxa-maps-spa")&&customElements.define("doxa-maps-spa",Sc)})(); +`,ra=Qs({name:"VerticalTabsLayout",props:{active:{type:String,default:""},title:{type:String,default:""},items:{type:Array,default:()=>[]},groups:{type:Array,default:()=>[]},navLabel:{type:String,default:"Sections"},initialNavOpen:{type:Boolean,default:!0},header:{type:Boolean,default:!0},initialRailCollapsed:{type:Boolean,default:!1}},emits:["update:active"],setup(){ea(oa,"vertical-tabs-layout")},data(){return{navOpen:this.initialNavOpen,railCollapsed:this.initialRailCollapsed,_tabEls:{},folderOverride:{},narrow:!1,_mql:null,_onMedia:null,activatedKeys:{},hostState:{},hostError:{},_hostSlots:{},_hostMounted:{}}},computed:{railShown(){return this.narrow?this.navOpen:!0},allRows(){if(this.groups&&this.groups.length){const e=[];for(const t of this.groups)for(const s of t.rows||[])e.push(s);return e}return this.items},orderedKeys(){return this.allRows.map(e=>e.key)},elementRows(){return this.allRows.filter(e=>e&&e.element)},mountedElementRows(){return this.elementRows.filter(e=>this.activatedKeys[e.key])}},watch:{active:{immediate:!0,handler(e){this.activateElement(e)}}},mounted(){try{window.matchMedia&&(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this.reconcileForWidth(),this._onMedia=e=>{this.narrow=e.matches,this.reconcileForWidth()},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))}catch{}this.$nextTick(()=>this.activateElement(this.active))},beforeUnmount(){try{this._mql&&this._onMedia&&(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia))}catch{}this._mql=null,this._onMedia=null},methods:{registerTab(e,t){t&&(this._tabEls[e]=t)},isNarrow(){return this.narrow},reconcileForWidth(){this.narrow?(this.navOpen=!1,this.railCollapsed=!1):this.navOpen=!0},toggleRail(){this.narrow?this.navOpen=!this.navOpen:this.railCollapsed=!this.railCollapsed},setHostSlot(e,t){t&&(this._hostSlots[e]=t,this.$nextTick(()=>this.mountHostElement(e)))},activateElement(e){!e||!this.elementRows.find(s=>s.key===e)||(this.activatedKeys[e]||(this.activatedKeys={...this.activatedKeys,[e]:!0},this.hostState={...this.hostState,[e]:"loading"}),this.$nextTick(()=>this.mountHostElement(e)))},mountHostElement(e){if(this._hostMounted[e])return;const t=this.elementRows.find(i=>i.key===e),s=this._hostSlots[e];!t||!s||(this._hostMounted[e]=!0,this.hostState={...this.hostState,[e]:"loading"},ia(t.src).then(()=>na(t.element)).then(()=>{s.innerHTML="";const i=document.createElement(t.element),n=t.attrs||{};for(const o in n){const r=n[o],l=r!=null&&typeof r=="object"?JSON.stringify(r):String(r);try{i[o]=r}catch{}try{i.setAttribute(o,l)}catch{}}i.style.cssText="display:block;position:absolute;inset:0;width:100%;height:100%;",s.appendChild(i),this.hostState={...this.hostState,[e]:"ready"}}).catch(i=>{this._hostMounted[e]=!1,this.hostState={...this.hostState,[e]:"error"},this.hostError={...this.hostError,[e]:i&&i.message||String(i)}}))},iconSvg(e){return e?ta(e):""},initial(e){const t=(e||"").trim();return t?t.charAt(0).toUpperCase():"•"},isFolderClosed(e){const t=this.folderOverride[e.key];return t!=null?!t:e.open!==!0},toggleFolder(e){const t=this.folderOverride[e],s=(this.groups||[]).find(n=>n.key===e),i=t??(s&&s.open===!0);this.folderOverride={...this.folderOverride,[e]:!i}},pick(e){this.$emit("update:active",e),this.narrow&&(this.navOpen=!1)},onKey(e){const t=this.orderedKeys;if(!t.length)return;const s=t.indexOf(this.active);let i=-1;if(e.key==="ArrowDown"||e.key==="ArrowRight")i=(s+1)%t.length;else if(e.key==="ArrowUp"||e.key==="ArrowLeft")i=(s-1+t.length)%t.length;else if(e.key==="Home")i=0;else if(e.key==="End")i=t.length-1;else return;e.preventDefault();const n=t[i];this.pick(n),this.$nextTick(()=>{const o=this._tabEls[n];o&&o.focus&&o.focus()})}}}),la={key:0,class:"vtl-top"},aa=["aria-expanded"],ca={class:"vtl-brand"},fa={class:"vtl-title"},da={class:"vtl-meta"},ua=["aria-expanded"],ha={class:"vtl-body"},pa=["aria-label","aria-hidden"],ga=["aria-expanded","aria-label"],va=["innerHTML"],ma=["aria-expanded","onClick"],ba={class:"vtl-tl"},ya=["innerHTML"],xa={key:1,class:"vtl-tier"},_a={key:0,class:"vtl-cap"},wa={class:"vtl-tl"},Sa={key:1,class:"vtl-td"},Ea={class:"vtl-rows"},Ta=["aria-selected","tabindex","onClick"],Ca=["innerHTML"],ka={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Aa={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},Oa={class:"vtl-tab-text"},Ma={class:"vtl-tab-label"},Ra={key:0,class:"vtl-tab-badge"},Ia={key:0,class:"vtl-tab-sub"},Pa=["innerHTML"],La=["aria-selected","tabindex","onClick"],Na=["innerHTML"],Da={key:1,class:"vtl-tab-emoji","aria-hidden":"true"},Ha={key:2,class:"vtl-tab-fallback","aria-hidden":"true"},ja={class:"vtl-tab-text"},Fa={class:"vtl-tab-label"},$a={key:0,class:"vtl-tab-sub"},Ua={class:"vtl-main"},Ba={class:"vtl-content"},Va=["hidden"],Wa={key:0,class:"vtl-host-hint"},Ka={key:1,class:"vtl-host-hint err"};function za(e,t,s,i,n,o){return P(),L("div",{class:ze(["vtl",{"nav-open":e.navOpen,"rail-collapsed":e.railCollapsed,"no-header":!e.header}])},[e.header?(P(),L("header",la,[I("button",{class:"vtl-menu",type:"button","aria-expanded":String(e.navOpen),onClick:t[0]||(t[0]=r=>e.navOpen=!e.navOpen),"aria-label":"Toggle list"},"☰",8,aa),I("span",ca,[cs(e.$slots,"brand")]),I("b",fa,W(e.title),1),I("span",da,[cs(e.$slots,"meta")])])):pe("",!0),e.narrow&&!e.header&&!e.navOpen?(P(),L("button",{key:1,class:"vtl-fab",type:"button","aria-expanded":String(e.navOpen),onClick:t[1]||(t[1]=r=>e.navOpen=!0),"aria-label":"Open the list of views"},"☰",8,ua)):pe("",!0),I("div",ha,[I("nav",{class:"vtl-nav","aria-label":e.navLabel,"aria-hidden":String(!e.railShown),role:"tablist","aria-orientation":"vertical"},[I("button",{type:"button",class:"vtl-collapse","aria-expanded":String(!e.railCollapsed),"aria-label":e.railCollapsed?"Expand list":"Collapse list",onClick:t[2]||(t[2]=(...r)=>e.toggleRail&&e.toggleRail(...r))},[I("span",{class:"vtl-collapse-ic","aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,8,va),t[5]||(t[5]=I("span",{class:"vtl-collapse-tx"},"Collapse",-1))],8,ga),e.groups&&e.groups.length?(P(!0),L(ee,{key:0},dt(e.groups,r=>(P(),L("div",{class:"vtl-grp",key:r.key},[r.folder?(P(),L("button",{key:0,type:"button",class:"vtl-tier vtl-tier-btn","aria-expanded":String(!e.isFolderClosed(r)),onClick:l=>e.toggleFolder(r.key)},[I("span",ba,W(r.label),1),I("span",{class:ze(["vtl-chev",{open:!e.isFolderClosed(r)}]),"aria-hidden":"true",innerHTML:e.iconSvg("chevron")},null,10,ya)],8,ma)):(P(),L("div",xa,[r.badge?(P(),L("span",_a,W(r.badge),1)):pe("",!0),I("span",wa,W(r.label),1),r.count!=null?(P(),L("span",Sa,W(r.count),1)):pe("",!0)])),Ys(I("div",Ea,[(P(!0),L(ee,null,dt(r.rows,l=>(P(),L("button",{key:l.key,type:"button",role:"tab",class:ze(["vtl-tab",{active:l.key===e.active}]),"aria-selected":String(l.key===e.active),tabindex:l.key===e.active?0:-1,ref_for:!0,ref:a=>e.registerTab(l.key,a),onClick:a=>e.pick(l.key),onKeydown:t[3]||(t[3]=a=>e.onKey(a))},[l.icon?(P(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(l.icon)},null,8,Ca)):l.emoji?(P(),L("span",ka,W(l.emoji),1)):(P(),L("span",Aa,W(e.initial(l.label)),1)),I("span",Oa,[I("span",Ma,[Mt(W(l.label),1),l.badge?(P(),L("span",Ra,W(l.badge),1)):pe("",!0)]),l.sub?(P(),L("span",Ia,[I("span",{innerHTML:l.sub},null,8,Pa)])):pe("",!0)])],42,Ta))),128))],512),[[hi,!r.folder||!e.isFolderClosed(r)]])]))),128)):(P(!0),L(ee,{key:1},dt(e.items,r=>(P(),L("button",{key:r.key,type:"button",role:"tab",class:ze(["vtl-tab",{active:r.key===e.active}]),"aria-selected":String(r.key===e.active),tabindex:r.key===e.active?0:-1,ref_for:!0,ref:l=>e.registerTab(r.key,l),onClick:l=>e.pick(r.key),onKeydown:t[4]||(t[4]=l=>e.onKey(l))},[r.icon?(P(),L("span",{key:0,class:"vtl-tab-ic","aria-hidden":"true",innerHTML:e.iconSvg(r.icon)},null,8,Na)):r.emoji?(P(),L("span",Da,W(r.emoji),1)):(P(),L("span",Ha,W(e.initial(r.label)),1)),I("span",ja,[I("span",Fa,W(r.label),1),r.sub?(P(),L("span",$a,W(r.sub),1)):pe("",!0)])],42,La))),128))],8,pa),I("main",Ua,[e.header?cs(e.$slots,"toolbar",{},void 0,void 0,0):pe("",!0),I("div",Ba,[(P(!0),L(ee,null,dt(e.mountedElementRows,r=>Ys((P(),L("section",{key:r.key,class:"vtl-host",hidden:r.key!==e.active},[I("div",{class:"vtl-host-slot",ref_for:!0,ref:l=>e.setHostSlot(r.key,l)},null,512),e.hostState[r.key]==="loading"?(P(),L("div",Wa,"Loading "+W(r.label)+"…",1)):e.hostState[r.key]==="error"?(P(),L("div",Ka,[Mt(" Could not load "+W(r.label)+".",1),t[6]||(t[6]=I("br",null,null,-1)),I("small",null,W(e.hostError[r.key]),1)])):pe("",!0)],8,Va)),[[hi,r.key===e.active]])),128)),cs(e.$slots,"default")])])])],2)}const qa=mo(ra,[["render",za],["styles",[sa]]]),mi=[{code:"en",name:"English",nativeName:"English",flag:"🇺🇸"},{code:"es",name:"Spanish",nativeName:"Español",flag:"🇪🇸"},{code:"fr",name:"French",nativeName:"Français",flag:"🇫🇷"},{code:"pt",name:"Portuguese",nativeName:"Português",flag:"🇵🇹"},{code:"ar",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",dir:"rtl"},{code:"ru",name:"Russian",nativeName:"Русский",flag:"🇷🇺"},{code:"de",name:"German",nativeName:"Deutsch",flag:"🇩🇪",hideFromSwitcher:!0},{code:"hi",name:"Hindi",nativeName:"हिन्दी",flag:"🇮🇳",hideFromSwitcher:!0}],Ga=mi.filter(e=>!e.hideFromSwitcher);function Ya(e){return mi.find(t=>t.code===e)}function bo(e){const t=String(e||"").split("-")[0].toLowerCase();return mi.some(s=>s.code===t)?t:"en"}const yo="doxa-maps:locale";function Ja(){try{const e=localStorage.getItem(yo);if(e)return bo(e)}catch{}return bo(navigator==null?void 0:navigator.language)}function Xa(e){try{localStorage.setItem(yo,e)}catch{}}const Za=".dms-pane{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.dms-slot{position:relative;min-height:100%}.dms-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;color:#6d766e;font-size:13px;padding:20px}.dms-hint.err{color:#f87171}.dms-hint small{color:var(--dx-muted, #6d766e)}.dms-notice{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:40;max-width:320px;text-align:center;font-size:13px;line-height:1.4;color:#3b463d;background:#fff;border:1px solid #d1d4cd;border-radius:10px;padding:10px 16px;box-shadow:0 8px 24px #0000001f}.dms-logo{display:inline-flex;align-items:center}.dms-logo svg{display:block}.dms-locale{position:relative;padding:8px 12px 0;display:flex;justify-content:flex-end}.dms-locale-btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-size:12px;padding:5px 10px;border:1px solid #d1d4cd;border-radius:8px;background:#d1d4cd;color:#3b463d;cursor:pointer}.dms-locale-btn:hover{background:#d1d4cd}.dms-flag{font-size:14px;line-height:1}.dms-locale-name{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dms-dots{color:#6d766e;margin-left:2px}.dms-locale-menu{position:absolute;top:100%;right:12px;margin-top:4px;z-index:30;min-width:180px;list-style:none;padding:6px;border:1px solid #d1d4cd;border-radius:10px;background:#fff;box-shadow:0 12px 32px #00000080;max-height:320px;overflow:auto}.dms-locale-opt{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font:inherit;font-size:13px;padding:7px 9px;border:0;border-radius:7px;background:none;color:#3b463d;cursor:pointer}.dms-locale-opt:hover,.dms-locale-opt.active{background:#d1d4cd;color:#3b463d}.dms-locale-opt.active .dms-locale-name{color:#92b195}.dms-locale-en{margin-left:auto;font-size:11px;color:#6d766e}",bi=[{key:"dashboards",label:"Dashboards",icon:"chart",tabs:[{id:"dashboard-plus-grid",icon:"chart"},{id:"research-map-plus-grid",icon:"map"}]},{key:"prayer-mobilization",label:"Prayer Mobilization",icon:"heart",tabs:[{id:"upg-100",icon:"list"},{id:"prayer-map",icon:"embed"}]},{key:"gospel-research",label:"Gospel Research",icon:"search",tabs:[{id:"cities-internet",icon:"wifi"},{id:"gospel-resources",icon:"book"}]},{key:"experimental",label:"Experimental",icon:"flask",folder:!0,open:!1,tabs:[]}],Qa=new Set(["doxa-maps-spa","plugin-studio","template-bundle","people-groups-grid","research-dashboard","big-picture"]),yi=[{id:"dashboard-plus-grid",label:"Big Picture",sub:"dashboard + people-groups grid, stacked",emoji:"🌍",bundle:"dashboard-plus-grid",profile:"dashboard-plus-grid"},{id:"research-map",label:"Research Map",sub:"prayer · engagement · regions",emoji:"🗺️",bundle:"doxa-research-map",profile:"research-map"},{id:"research-map-plus-grid",label:"Simple Research",sub:"research map + people-groups grid",emoji:"🗺️",bundle:"research-map-plus-grid",profile:"research-map-plus-grid"},{id:"prayer-map",label:"Prayer Progress",sub:"simple world prayer map",emoji:"🙏",bundle:"doxa-simple-map",profile:"doxa-simple-map",instance:"prayer"},{id:"cities-internet",label:"Cities with Internet",sub:"connectivity of key cities",emoji:"📡",bundle:"cities-internet",profile:"connectivity-map"},{id:"gospel-resources",label:"Gospel Resources",sub:"resources by place",emoji:"📖",bundle:"gospel-resources",profile:"resources-map"},{id:"upg-100",label:"UPG-100 List",sub:"my unreached list + posters",emoji:"📋",bundle:"my-upg-100-list",profile:"upg-100-mfe"}];tc(bi);const xs=new Set(["doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-map","doxa-maps-spa","dashboard-plus-grid","research-dashboard-map","demo-map","all-people-groups","country-posters-map","key-cities-map","research-map-plus-grid"]),_s=new Set(["dashboard-plus-grid","research-map-plus-grid"]);function ec(){const e=Object.fromEntries(yi.map(s=>[s.id,s])),t=new Set;for(const s of bi)if(s.key!=="experimental")for(const i of s.tabs||[]){const n=e[i.id];n&&n.bundle&&t.add(n.bundle)}return t}function xo(e,t){const s=[];for(const i of e)!i||t.has(i.key)||(t.add(i.key),s.push(i));return s}function tc(e){const t=new Map,s=[];for(const i of e)if(i.key!=="experimental")for(const n of i.tabs||[]){if(!n||!n.id)continue;const o=t.get(n.id);if(o===void 0){t.set(n.id,i.key);continue}(o!==i.key||s.indexOf(n.id)===-1)&&s.push(n.id+" ("+o+" + "+i.key+")")}return s.length&&typeof console<"u"&&console.error("[doxa-maps-spa] duplicate tab key(s) across NAV_MODEL sections: "+s.join(", ")+" — VerticalTabsLayout keys its tab-ref map and `active` highlight by id, so a row declared in two sections paints twice and stalls keyboard nav. See the duplicate-key trap in SPEC-the-six-map-product-and-its-tab-order.md."),s}function sc(e){return String(e).split(/[-_]/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function ic(e){const t=ec(),s=e&&Array.isArray(e.bundles)?e.bundles:[],i=[];for(const n of s){const o=n&&n.bundle;if(!o||t.has(o)||Qa.has(o))continue;const r=Array.isArray(n.profiles)?n.profiles:[];if(!r.length)continue;const l=r.find(d=>d.isMap)||r.find(d=>d.profile===o)||r[0],a=l.element||Array.isArray(n.elements)&&n.elements[0]||o,u=n.scriptUrl||l.scriptUrl||"";u&&i.push({id:o,label:l.title||sc(o),sub:(l.description||"").trim().replace(/[,;]\s*$/,"")||"experimental bundle",emoji:"🧪",tag:a,bundle:o,profile:l.profile||o,scriptUrl:u,heavy:xs.has(a)||xs.has(o),scroll:_s.has(a)||_s.has(o),discovered:!0})}return i.sort((n,o)=>n.label.localeCompare(o.label)),i}function nc(e,t){const s=e&&Array.isArray(e.bundles)?e.bundles:[],i=Object.fromEntries(s.map(o=>[o.bundle,o])),n={};for(const o of t){const r=i[o.bundle];if(!r)continue;const l=Array.isArray(r.profiles)?r.profiles:[],a=l.find(E=>E.profile===o.profile)||l[0],u=a&&a.element||Array.isArray(r.elements)&&r.elements[0]||o.bundle,d=r.scriptUrl||a&&a.scriptUrl||"";if(!d)continue;const p=a&&Array.isArray(a.instances)?a.instances:[],S=!!(o.instance&&p.some(E=>(E&&(E.id||E.instance))===o.instance));n[o.id]={tag:u,scriptUrl:d,profile:a&&a.profile||o.profile,instance:S?o.instance:"",heavy:xs.has(u)||xs.has(o.bundle),scroll:_s.has(u)||_s.has(o.bundle)}}return n}const Ht={};function oc(e,t){return Ht[e]||(Ht[e]=new Promise((s,i)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>s(),n.onerror=()=>{delete Ht[e],i(new Error("failed to load "+e))},document.head.appendChild(n)})),Ht[e]}function rc(e,t){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():Promise.race([customElements.whenDefined(e),new Promise((s,i)=>setTimeout(()=>{customElements.get(e)||i(new Error("<"+e+"> never registered (bundle loaded but defined no element)"))},15e3))])}const lc=Qs({name:"DoxaMapsSpa",components:{VerticalTabsLayout:qa},props:{treeBase:{type:String,default:""},profileConfig:{type:[String,Object],default:""},heading:{type:String,default:"DX-Maps"},tokenUrl:{type:String,default:""},tk:{type:String,default:""},language:{type:String,default:""}},setup(){return{injectedBase:Et("dmsTreeBase","")}},data(){return{activeIndex:0,showHeader:!1,narrow:!1,_mql:null,_onMedia:null,disabledNotice:"",_noticeTimer:null,locale:Ja(),localeOpen:!1,switcherLangs:Ga,tabs:yi.map(e=>({...e,tag:"",scriptUrl:"",heavy:!1,scroll:!1,resolved:!1,mounted:!1,state:"idle",error:""}))}},computed:{cfg(){let e=this.profileConfig;if(typeof e=="string")try{e=e?JSON.parse(e):{}}catch{e={}}return e&&typeof e=="object"?e:{}},base(){const e=(this.treeBase||this.cfg.treeBase||this.injectedBase||"").trim();return e?e.replace(/\/+$/,"")+"/":""},navGroups(){const e=Object.fromEntries(this.tabs.map(s=>[s.id,s])),t=new Set;return bi.map(s=>{let i=xo((s.tabs||[]).filter(n=>e[n.id]).map(n=>{const o=e[n.id],r=this.isBigPictureDisabled(o.id);return{key:o.id,label:o.label,sub:o.sub,icon:n.icon,badge:r?"desktop only":n.badge,disabled:r}}),t);return s.key==="experimental"&&(i=i.concat(xo(this.tabs.filter(n=>n.discovered).map(n=>({key:n.id,label:n.label,sub:n.sub,icon:"flask",badge:"lab"})),t))),{key:s.key,label:s.label,icon:s.icon,folder:!!s.folder,open:s.open,rows:i}}).filter(s=>s.rows.length)},showLocaleSwitcher(){return this.showHeader},activeLang(){return Ya(this.locale)||{code:this.locale,flag:"🌐",nativeName:this.locale}},effectiveLocale(){return((this.language||this.cfg.language||this.cfg.locale||this.cfg.lang||"").trim()||this.locale||"").split("-")[0].toLowerCase()},activeKey(){const e=this.tabs[this.activeIndex];return e?e.id:""}},mounted(){this.watchWidth(),this.select(this.firstVisibleIndex()),this.loadManifest()},beforeUnmount(){!this._mql||!this._onMedia||(this._mql.removeEventListener?this._mql.removeEventListener("change",this._onMedia):this._mql.removeListener&&this._mql.removeListener(this._onMedia),this._mql=null,this._onMedia=null)},watch:{effectiveLocale(e){const t=this.tabs[this.activeIndex];if(!(!t||!t.mounted))try{const s=this._slots&&this._slots[this.activeIndex],i=s&&s.firstElementChild;if(i&&i.setAttribute){const n={profile:t.profile||t.id,instanceId:"dms-"+t.id};t.instance&&(n.instanceId=t.instance),e&&(n.locale=e),(this.tk||this.cfg.tk)&&(n.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(n.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(n.treeBase=this.base),i.setAttribute("profile-config",JSON.stringify(n))}}catch{}}},methods:{setSlot(e,t){t&&(this._slots=Object.assign(this._slots||{},{[e]:t}))},watchWidth(){typeof window>"u"||!window.matchMedia||(this._mql=window.matchMedia("(max-width: 760px)"),this.narrow=this._mql.matches,this._onMedia=e=>{const t=this.narrow;this.narrow=!!e.matches,t!==this.narrow&&this.isBigPictureDisabled(this.activeKey)&&this.select(this.firstVisibleIndex())},this._mql.addEventListener?this._mql.addEventListener("change",this._onMedia):this._mql.addListener&&this._mql.addListener(this._onMedia))},isBigPictureDisabled(e){return e==="dashboard-plus-grid"&&this.narrow},firstVisibleIndex(){let e=-1;for(const t of this.navGroups)for(const s of t.rows){const i=this.tabs.findIndex(n=>n.id===s.key);if(!(i<0)&&(e<0&&(e=i),!s.disabled))return i}return e>=0?e:0},loadManifest(){const e=this.resolve("manifest.json");try{fetch(e,{credentials:"omit"}).then(t=>t&&t.ok?t.json():null).then(t=>{t&&this.applyManifest(t)}).catch(()=>{})}catch{}},applyManifest(e){const t=nc(e,yi),s=this.activeKey,i=[];for(const r of this.tabs){if(r.discovered){i.push(r);continue}const l=t[r.id];l&&(Object.assign(r,l,{resolved:!0}),i.push(r))}const n=new Set(i.map(r=>r.id));for(const r of ic(e))n.has(r.id)||i.push({...r,resolved:!0,mounted:!1,state:"idle",error:""});this.tabs=i;const o=this.tabs.findIndex(r=>r.id===s);this.select(o>=0?o:this.firstVisibleIndex())},setLocale(e){this.locale=e,this.localeOpen=!1,Xa(e)},onSelect(e){if(this.isBigPictureDisabled(e)){this.disabledNotice="Big Picture only supports desktop — open this page on a desktop to use it.",clearTimeout(this._noticeTimer),this._noticeTimer=setTimeout(()=>{this.disabledNotice=""},4e3);return}const t=this.tabs.findIndex(s=>s.id===e);t!==-1&&this.select(t)},resolve(e){const t=String(e);if(/^(https?:)?\/\//.test(t)||t.startsWith("/"))return t;const s=t.replace(/^\.\//,"");return this.base?this.base.replace(/\/+$/,"")+"/"+s:"../"+s},select(e){const t=this.activeIndex;if(this.activeIndex=e,t!==e&&t>=0){const i=this.tabs[t];i&&i.heavy&&i.mounted&&this.releaseTab(t,i)}const s=this.tabs[e];s&&s.scriptUrl&&(s.mounted||this.$nextTick(()=>{this.activeIndex===e&&this.mountElement(e)}))},releaseTab(e,t){try{const s=this._slots&&this._slots[e];s&&(s.innerHTML="")}catch{}this._slots&&delete this._slots[e],t.mounted=!1,t.state="idle",t.error=""},mountElement(e){const t=this.tabs[e];t.mounted=!0,t.state="loading";const s=this.resolve(t.scriptUrl);oc(s).then(()=>rc(t.tag)).then(()=>{try{if(t.heavy&&this.activeIndex!==e){t.mounted=!1,t.state="idle";return}const i=this._slots&&this._slots[e];if(!i){t.state="error",t.error="no slot";return}i.innerHTML="";const n=document.createElement(t.tag),o={profile:t.profile||t.id,instanceId:"dms-"+t.id};t.instance&&(o.instanceId=t.instance),this.effectiveLocale&&(o.locale=this.effectiveLocale),(this.tk||this.cfg.tk)&&(o.tk=this.tk||this.cfg.tk),(this.tokenUrl||this.cfg.tokenUrl)&&(o.tokenUrl=this.tokenUrl||this.cfg.tokenUrl),this.base&&(o.treeBase=this.base),n.setAttribute("profile-config",JSON.stringify(o)),this.base&&n.setAttribute("tree-base",this.base.replace(/\/+$/,"")),n.style.cssText=t.scroll?"display:block;position:static;width:100%;height:auto;":"display:block;position:absolute;inset:0;width:100%;height:100%;",i.appendChild(n),t.state="ready"}catch(i){t.state="error",t.error="mount failed: "+(i&&i.message||String(i))}}).catch(i=>{t.state="error",t.error=i&&i.message||String(i)})}}}),ac={class:"dms-locale"},cc=["aria-expanded"],fc={class:"dms-flag"},dc={class:"dms-locale-name"},uc={key:0,class:"dms-locale-menu",role:"listbox"},hc=["aria-selected"],pc=["onClick"],gc={class:"dms-flag"},vc={class:"dms-locale-name"},mc={class:"dms-locale-en"},bc=["hidden"],yc={key:0,class:"dms-hint"},xc={key:1,class:"dms-hint err"},_c={key:0,class:"dms-notice",role:"status"};function wc(e,t,s,i,n,o){const r=Nr("VerticalTabsLayout");return P(),hs(r,{title:e.heading,"nav-label":"Research maps",header:e.showHeader,groups:e.navGroups,active:e.activeKey,"onUpdate:active":e.onSelect},jr({brand:St(()=>[t[1]||(t[1]=I("span",{class:"dms-logo","aria-hidden":"true"},[I("svg",{viewBox:"0 0 24 24",width:"22",height:"22",fill:"none",stroke:"#92b195","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[I("circle",{cx:"12",cy:"12",r:"9"}),I("polygon",{points:"12 6 14 12 12 18 10 12",fill:"#92b195",stroke:"none"}),I("polygon",{points:"6 12 12 10 18 12 12 14",fill:"#92b195",opacity:"0.55",stroke:"none"})])],-1))]),meta:St(()=>[Mt(W(e.tabs.length)+" maps",1)]),default:St(()=>[(P(!0),L(ee,null,dt(e.tabs,(l,a)=>Ys((P(),L("section",{key:l.id,class:"dms-pane",hidden:a!==e.activeIndex},[!l.heavy||a===e.activeIndex?(P(),L(ee,{key:0},[I("div",{class:"dms-slot",ref_for:!0,ref:u=>e.setSlot(a,u)},null,512),l.state==="loading"?(P(),L("div",yc,"Loading "+W(l.label)+"…",1)):l.state==="error"?(P(),L("div",xc,[Mt(" Could not load "+W(l.label)+".",1),t[3]||(t[3]=I("br",null,null,-1)),I("small",null,W(l.error),1)])):pe("",!0)],64)):pe("",!0)],8,bc)),[[hi,a===e.activeIndex]])),128)),e.disabledNotice?(P(),L("div",_c,W(e.disabledNotice),1)):pe("",!0)]),_:2},[e.showLocaleSwitcher?{name:"toolbar",fn:St(()=>[I("div",ac,[I("button",{type:"button",class:"dms-locale-btn","aria-expanded":String(e.localeOpen),"aria-label":"Change language",onClick:t[0]||(t[0]=l=>e.localeOpen=!e.localeOpen)},[I("span",fc,W(e.activeLang.flag),1),I("span",dc,W(e.activeLang.nativeName),1),t[2]||(t[2]=I("span",{class:"dms-dots","aria-hidden":"true"},"⋮",-1))],8,cc),e.localeOpen?(P(),L("ul",uc,[(P(!0),L(ee,null,dt(e.switcherLangs,l=>(P(),L("li",{key:l.code,role:"option","aria-selected":String(l.code===e.locale)},[I("button",{type:"button",class:ze(["dms-locale-opt",{active:l.code===e.locale}]),onClick:a=>e.setLocale(l.code)},[I("span",gc,W(l.flag),1),I("span",vc,W(l.nativeName),1),I("span",mc,W(l.name),1)],10,pc)],8,hc))),128))])):pe("",!0)])]),key:"0"}:void 0]),1032,["title","header","groups","active","onUpdate:active"])}const Sc=mo(lc,[["render",wc],["styles",[Za]]]);function Ec(){try{const e=typeof document<"u"&&document.currentScript&&document.currentScript.src||"";return e?e.replace(/[^/]+\/[^/]+$/,"").replace(/\/+$/,"")+"/":""}catch{return""}}const Tc=Ec(),Cc=Gl(Sc,{configureApp(e){e.provide("dmsTreeBase",Tc)}});typeof customElements<"u"&&!customElements.get("doxa-maps-spa")&&customElements.define("doxa-maps-spa",Cc)})(); diff --git a/public/doxa-maps/doxa-maps-spa/doxa-maps-spa/app/index.html b/public/doxa-maps/doxa-maps-spa/doxa-maps-spa/app/index.html index 2f974590b..efb592905 100644 --- a/public/doxa-maps/doxa-maps-spa/doxa-maps-spa/app/index.html +++ b/public/doxa-maps/doxa-maps-spa/doxa-maps-spa/app/index.html @@ -26,7 +26,7 @@ - + - +