From 9076ec1d61cc417a35f9a8ca6ef4562baa7366a1 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Wed, 23 Sep 2026 13:04:52 +0000 Subject: [PATCH] Mark the two dashboard-only facets, so they stop looking like broken buttons language_family and religion_family are clickable, they highlight, and they narrow every chart above them -- and they cannot move the grid below. Measured 2026-09-23: dashboard 2107 -> 677/306/222/151 and 2107 -> 693/649/610/83, grid unchanged every time. To a user that is indistinguishable from a dead control; the only way to learn it was to click and squint. Wiring them is not the fix and would be worse. Both values are DERIVED -- a language family resolved via langFamilyByIso for ~96% of rows, a religion family computed from the first letter of a religion code -- so they exist on no row field. Mapping religion_family onto `religion` would compare "Hinduism" against a CODE and filter the grid to zero. So the honest fix is a label, not a wire. A facet now declares `dashboardOnly: true` in dashboard.config.js; DashboardFacetRail reads that from config rather than hardcoding facet names, and renders a muted half-circle plus a title and an extended aria-label saying the row updates the charts only. These rows stay fully clickable, deliberately unlike `zero` and `other` rows, which are inert because they would do nothing at all. Dimming them the same way would understate what they really do. Verified in a browser on the built tree: 41 of 66 rows marked, 41 glyphs rendered, marked facets are exactly language_family and religion_family and nothing else, 40 still clickable (the one that is not is a zero row that correctly keeps its mark). Behaviour unchanged -- a marked row still takes the dashboard 2,108 -> 677, an unmarked row still filters at 548. Gates: facet-cascade, facet-one-field, facet-changes-map, one-palette, synced-css, composite-srcs, template-literal, sfc-parse all pass; a11y-button-names passes at 769/769 buttons named. --- .../research-dashboard/dashboard.config.js | 17 ++++++ .../dashboards/DashboardFacetRail.vue | 38 +++++++++++- public/__gallery/index.html | 2 +- .../dashboard-plus-grid.js | 56 +++++++++--------- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 8 +-- .../research-dashboard/research-dashboard.js | 58 ++++++++++--------- .../research-dashboard/index.html | 2 +- 10 files changed, 121 insertions(+), 66 deletions(-) diff --git a/plugin-designs/research-dashboard/dashboard.config.js b/plugin-designs/research-dashboard/dashboard.config.js index 35a515027..78e9d3eda 100644 --- a/plugin-designs/research-dashboard/dashboard.config.js +++ b/plugin-designs/research-dashboard/dashboard.config.js @@ -90,6 +90,18 @@ export default { // family totals sum exactly to the leaf-code totals. religion_family: { label: 'Religion Family', + // ★ DASHBOARD-ONLY, AND SAYING SO IS THE FIX. This facet narrows the dashboard correctly but + // can never move the grid beneath it, because the value it emits ("Hinduism") is a DERIVED + // family name that exists on no row field — the rows carry religion CODES. Mapping it in + // dashboard-plus-grid's FACET_TO_PROP would compare "Hinduism" against a code and filter the + // grid to ZERO, which is worse than leaving it unmapped. + // + // Measured 2026-09-23 (interop sweep, 4 rows tested): dashboard 2107 -> 693/649/610/83, grid + // unchanged every time. That combination is indistinguishable from a broken button: the row + // highlights, the numbers above move, and the list below ignores you. The honest fix is not to + // wire it — it is to TELL the user this row drives the dashboard only, which is what this flag + // makes the rail render. + dashboardOnly: true, get: (r) => { const code = r.religion && typeof r.religion === 'object' ? r.religion.value : r.religion const c = String(code || '').charAt(0).toUpperCase() @@ -128,6 +140,11 @@ export default { // byte-match contract intact. language_family: { label: 'Language Family', + // ★ DASHBOARD-ONLY — same class as religion_family, different cause. This value is DERIVED + // via langFamilyByIso for ~96% of rows, so it exists on no row field the grid can filter on. + // Measured 2026-09-23 (4 rows tested): dashboard 2107 -> 677/306/222/151, grid unchanged. + // See the religion_family note above for why declaring it beats wiring it. + dashboardOnly: true, get: (r) => { const api = lbl(r.imb_language_family) if (api) return canonicalFamilyName(api) diff --git a/plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue b/plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue index 329364c73..0221ed9ee 100644 --- a/plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue +++ b/plugin-designs/research-dashboard/src/components/dashboards/DashboardFacetRail.vue @@ -31,6 +31,26 @@ const filterSet = bus?.filterSet || {} // facet-key -> row accessor (sourced from config) — drives both the count tally and setFilter. const FACET_ACC = Object.fromEntries(Object.entries(cfg.facets || {}).map(([k, f]) => [k, f.get])) + +// ── FACETS THAT DRIVE THE DASHBOARD BUT CANNOT MOVE A GRID BELOW IT ────────────────────────── +// Read from config (`facets..dashboardOnly`), never a hardcoded list here: the rail is generic +// and the dashboard that hosts it owns which of its facets are derived. +// +// THE DEFECT THIS MARKS (measured 2026-09-23, interop sweep). language_family and religion_family +// are DERIVED — a language family resolved via langFamilyByIso for ~96% of rows, a religion family +// computed from the first letter of a religion code. Both narrow this dashboard correctly (2107 -> +// 677/306/222/151 and 2107 -> 693/649/610/83) and neither can filter a row grid, because the value +// they emit exists on no row field. Wiring them would be WORSE than leaving them: mapping +// religion_family onto `religion` compares "Hinduism" against a CODE and empties the grid. +// +// ★ SO THE HONEST FIX IS A LABEL, NOT A WIRE. Unmarked, these rows are indistinguishable from +// broken buttons — the row highlights, the numbers above move, the list below ignores you, and the +// only way to learn that is to click and squint. They stay fully CLICKABLE (unlike `zero`/`other` +// rows, which are inert because they would do nothing at all); what changes is that the row now +// says what it does. +const DASHBOARD_ONLY = new Set( + Object.entries(cfg.facets || {}).filter(([, f]) => f && f.dashboardOnly).map(([k]) => k) +) // rows under the current filterSet, MINUS the facet(s) being aggregated (so each list stays navigable). const matchSearch = makeSearchMatcher(bus, buildSearchAccessors(cfg)) function rowsExcluding(exclude) { @@ -74,6 +94,9 @@ function toRows(agg, facet, level) { return agg.map((d) => ({ facet, value: d.key, label: d.key, count: d.value, frac: d.value / max, level, other: !!d.other, active: !d.other && filterSet[facet] === d.key, + // Carried per-ROW rather than looked up in the template, so the zero-row baseline snapshot + // (which spreads a row object) keeps the mark when a row is re-admitted. + dashboardOnly: DASHBOARD_ONLY.has(facet), })) } @@ -599,6 +622,12 @@ useShadowStyles(` .fr-bar i{ display:block; height:100%; background:var(--dx-accent, #92b195); border-radius:2px; transition:width .3s; } .fr-row.on .fr-bar i{ background:var(--rd-accent,#e67e22); } .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } + /* DASHBOARD-ONLY MARK. A half-filled circle reads as "half of this works" without needing a + legend, and it is muted so it never competes with the count beside it. Deliberately NOT the + .zero treatment (opacity:.42 on the whole row): a zero row does nothing at all, while these + rows genuinely drive every chart above — dimming them would understate what they do. */ + .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; + color:var(--dx-muted, #6d766e); opacity:.75; } `, 'rd-facetrail') @@ -621,12 +650,13 @@ useShadowStyles(` a row the current filter drove to zero. Those two render as plain, muted, non-focusable text so the rail never offers a target that does nothing. -->
+ :aria-label="(r.other || r.zero) ? null : ((r.active ? 'Remove filter ' : 'Filter by ') + r.label + ', ' + r.count.toLocaleString('en-US') + ' groups' + (r.dashboardOnly ? '. Updates the charts on this dashboard only; it does not filter the list below.' : ''))" + :title="r.dashboardOnly ? 'Updates this dashboard only — the list below does not filter on ' + r.label : null"> @@ -645,6 +675,10 @@ useShadowStyles(` {{ r.label }} {{ r.count.toLocaleString('en-US') }} + +
diff --git a/public/__gallery/index.html b/public/__gallery/index.html index df48cb137..0630efa0b 100644 --- a/public/__gallery/index.html +++ b/public/__gallery/index.html @@ -94,7 +94,7 @@ code{font-family:ui-monospace,Menlo,monospace} (function () { var TREE = "../doxa-maps", TOKEN_SRC = "window.MAP_TOKEN_URL", BAKED_TOKEN = "pk.eyJ1IjoiZ29zeXN0ZW1zIiwiYSI6ImNtZm9vM291czA3amQya3BzYW42YW9ibTcifQ.52WM0IpxY9FcB0zc9f1zbQ", API_BASE = "https://pray.doxa.life", ASSETS_BASE = "", QA = false; var DEFAULT_TOKEN_URL = '/api/maps/token'; - var BAKED = [{"b":"all-people-groups","s":"./all-people-groups/all-people-groups.js","i":"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz","e":["all-people-groups"],"p":[{"p":"all-people-groups","e":"all-people-groups","u":"./all-people-groups/all-people-groups/index.html","d":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","c":1,"em":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"}}]},{"b":"big-picture","s":"./big-picture/big-picture.js","i":"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD","e":["bp-big-picture","bp-research-header","people-groups-grid"],"p":[{"p":"big-picture","e":"bp-big-picture","u":"./big-picture/big-picture/index.html","d":"The Cat-4 composite that PAIRS the two real capability elements of the","c":4,"em":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"in":[{"id":"big-picture","t":"Big Picture — research header ↔ people-groups grid (composite)","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"e":"bp-big-picture","u":"./big-picture/big-picture/big-picture/index.html"},{"id":"frontier","t":"Big Picture — frontier accent","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"e":"bp-big-picture","u":"./big-picture/big-picture/frontier/index.html"}]}]},{"b":"cities-internet","s":"./cities-internet/cities-internet.js","i":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","e":["cities-internet-map"],"p":[{"p":"connectivity-list","e":"cities-internet-map","u":"./cities-internet/connectivity-list/index.html","d":"Countries where DX people groups live, grouped by region, showing measured internet penetration","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"connectivity-map","e":"cities-internet-map","u":"./cities-internet/connectivity-map/index.html","d":"Every country shaded by measured internet penetration, with its named carriers and dominant","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"data-tables","e":"cities-internet-map","u":"./cities-internet/data-tables/index.html","d":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"b":"country-posters","s":"./country-posters/country-posters.js","i":"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym","e":["country-posters-map"],"p":[{"p":"countries-map","e":"country-posters-map","u":"./country-posters/countries-map/index.html","d":"The researcher's workbench retargeted from people groups to COUNTRIES — region","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"p":"country-poster-wall","e":"country-posters-map","u":"./country-posters/country-poster-wall/index.html","d":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"b":"dashboard-plus-grid","s":"./dashboard-plus-grid/dashboard-plus-grid.js","i":"sha384-/qhSKrIAbbUgEn7TNhtn6VuqpE3ApxLg8otkL8MD4KexFyTVrnmvztqD81Ourj1W","e":["dashboard-plus-grid"],"p":[{"p":"dashboard-plus-grid","e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/index.html","d":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","c":4,"em":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-/qhSKrIAbbUgEn7TNhtn6VuqpE3ApxLg8otkL8MD4KexFyTVrnmvztqD81Ourj1W\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"dashboard-plus-grid"},"e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html"}]}]},{"b":"demo-map","s":"./demo-map/demo-map.js","i":"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0","e":["demo-map"],"p":[{"p":"demo-map","e":"demo-map","u":"./demo-map/demo-map/index.html","d":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","c":2,"em":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"in":[{"id":"maplibre","t":"Demo map — MapLibre (token-free)","a":"","pr":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"e":"demo-map","u":"./demo-map/demo-map/maplibre/index.html"}]}]},{"b":"doxa-maps-spa","s":"./doxa-maps-spa/doxa-maps-spa.js","i":"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq","e":["doxa-maps-spa"],"p":[{"p":"doxa-maps-spa","e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/index.html","d":"The DX-maps app itself: one element whose vertical-tab rail nests every other","c":5,"em":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"in":[{"id":"app","t":"DX-Maps SPA — Big Picture + every research map (app-shell)","a":"","pr":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/app/index.html"}]}]},{"b":"doxa-research-map","s":"./doxa-research-map/doxa-research-map.js","i":"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48","e":["doxa-research-map"],"p":[{"p":"research-map","e":"doxa-research-map","u":"./doxa-research-map/research-map/index.html","d":"The researcher's workbench: every piece a missiologist, demographer or","c":3,"em":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"b":"doxa-simple-map","s":"./doxa-simple-map/doxa-simple-map.js","i":"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X","e":["doxa-map","doxa-simple-map"],"p":[{"p":"doxa-simple-map","e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/index.html","d":"The simple world map, shipped as three presets off ONE prop table —","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"in":[{"id":"prayer","t":"Prayer Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/prayer/index.html"},{"id":"engagement","t":"Engagement Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/engagement/index.html"},{"id":"adoption","t":"Adoption Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/adoption/index.html"}]}]},{"b":"doxa-vision-card","s":"./doxa-vision-card/doxa-vision-card.js","i":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","e":["doxa-vision-card"],"p":[{"p":"doxa-vision-card","e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/index.html","d":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"in":[{"id":"default","t":"Vision card — reach at a glance","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/default/index.html"},{"id":"frontier","t":"Vision card — frontier accent","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/frontier/index.html"}]}]},{"b":"golden-path-check","s":"./golden-path-check/golden-path-check.js","i":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","e":["golden-path-check"],"p":[{"p":"golden-path-check","e":"golden-path-check","u":"./golden-path-check/golden-path-check/index.html","d":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","c":1,"em":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"b":"gospel-resources","s":"./gospel-resources/gospel-resources.js","i":"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG","e":["gospel-resources-map"],"p":[{"p":"charts","e":"gospel-resources-map","u":"./gospel-resources/charts/index.html","d":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"data-tables","e":"gospel-resources-map","u":"./gospel-resources/data-tables/index.html","d":"Two validated tables: what resources exist per people group, and whether that access is keeping","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-list","e":"gospel-resources-map","u":"./gospel-resources/resources-list/index.html","d":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-map","e":"gospel-resources-map","u":"./gospel-resources/resources-map/index.html","d":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"b":"my-upg-100-list","s":"./my-upg-100-list/my-upg-100-list.js","i":"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E","e":["my-upg-100-list-map"],"p":[{"p":"poster-wall","e":"my-upg-100-list-map","u":"./my-upg-100-list/poster-wall/index.html","d":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-list","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-list/index.html","d":"A personal unreached-people-groups list painted as true boundary polygons —","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-mfe","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-mfe/index.html","d":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","c":4,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"b":"people-groups-grid","s":"./people-groups-grid/people-groups-grid.js","i":"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X","e":["people-groups-grid"],"p":[{"p":"people-groups-grid","e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/index.html","d":"The people-groups grid as an owned custom element: card list, search and four","c":2,"em":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"in":[{"id":"people-groups-grid","t":"People Groups Grid — standalone (own search + 4 dropdowns)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html"},{"id":"driven","t":"People Groups Grid — externally driven (controls off, props/events)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/driven/index.html"}]}]},{"b":"plugin-studio","s":"./plugin-studio/plugin-studio.js","i":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","e":["plugin-studio"],"p":[{"p":"plugin-studio","e":"plugin-studio","u":"./plugin-studio/plugin-studio/index.html","d":"The developer's viewing surface: a sidebar that is the composability ladder","c":5,"em":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"in":[{"id":"studio","t":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","a":"","pr":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"e":"plugin-studio","u":"./plugin-studio/plugin-studio/studio/index.html"}]}]},{"b":"research-dashboard","s":"./research-dashboard/research-dashboard.js","i":"sha384-7deBWTaAE1237o9NDmPofHmH+1/3OXG+9lOkAlrPqTbCgSHe6TqRFvBlZX7JZ7iv","e":["research-dashboard-map"],"p":[{"p":"research-dashboard","e":"research-dashboard-map","u":"./research-dashboard/research-dashboard/index.html","d":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","c":3,"em":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-7deBWTaAE1237o9NDmPofHmH+1/3OXG+9lOkAlrPqTbCgSHe6TqRFvBlZX7JZ7iv\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"}}]},{"b":"research-map-plus-grid","s":"./research-map-plus-grid/research-map-plus-grid.js","i":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","e":["research-map-plus-grid"],"p":[{"p":"research-map-plus-grid","e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/index.html","d":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","c":4,"em":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"research-map-plus-grid"},"e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/default/index.html"}]}]},{"b":"stack-demo","s":"./stack-demo/stack-demo.js","i":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","e":["stack-demo"],"p":[{"p":"stack-demo","e":"stack-demo","u":"./stack-demo/stack-demo/index.html","d":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","c":4,"em":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"in":[{"id":"pair","t":"pair","a":"","pr":{"profile":"stack-demo"},"e":"stack-demo","u":"./stack-demo/stack-demo/pair/index.html"}]}]},{"b":"template-bundle","s":"./template-bundle/template-bundle.js","i":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","e":["template-bundle"],"p":[{"p":"template-map-a","e":"template-bundle","u":"./template-bundle/template-map-a/index.html","d":"Minimal example profile A — a colored placeholder, no Mapbox or data.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}},{"p":"template-map-b","e":"template-bundle","u":"./template-bundle/template-map-b/index.html","d":"Minimal example profile B — a second profile in the same bundle.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}}]}]; + var BAKED = [{"b":"all-people-groups","s":"./all-people-groups/all-people-groups.js","i":"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz","e":["all-people-groups"],"p":[{"p":"all-people-groups","e":"all-people-groups","u":"./all-people-groups/all-people-groups/index.html","d":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","c":1,"em":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"}}]},{"b":"big-picture","s":"./big-picture/big-picture.js","i":"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD","e":["bp-big-picture","bp-research-header","people-groups-grid"],"p":[{"p":"big-picture","e":"bp-big-picture","u":"./big-picture/big-picture/index.html","d":"The Cat-4 composite that PAIRS the two real capability elements of the","c":4,"em":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"in":[{"id":"big-picture","t":"Big Picture — research header ↔ people-groups grid (composite)","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"e":"bp-big-picture","u":"./big-picture/big-picture/big-picture/index.html"},{"id":"frontier","t":"Big Picture — frontier accent","a":"","pr":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"e":"bp-big-picture","u":"./big-picture/big-picture/frontier/index.html"}]}]},{"b":"cities-internet","s":"./cities-internet/cities-internet.js","i":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","e":["cities-internet-map"],"p":[{"p":"connectivity-list","e":"cities-internet-map","u":"./cities-internet/connectivity-list/index.html","d":"Countries where DX people groups live, grouped by region, showing measured internet penetration","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"connectivity-map","e":"cities-internet-map","u":"./cities-internet/connectivity-map/index.html","d":"Every country shaded by measured internet penetration, with its named carriers and dominant","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"p":"data-tables","e":"cities-internet-map","u":"./cities-internet/data-tables/index.html","d":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","c":1,"em":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"b":"country-posters","s":"./country-posters/country-posters.js","i":"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym","e":["country-posters-map"],"p":[{"p":"countries-map","e":"country-posters-map","u":"./country-posters/countries-map/index.html","d":"The researcher's workbench retargeted from people groups to COUNTRIES — region","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"p":"country-poster-wall","e":"country-posters-map","u":"./country-posters/country-poster-wall/index.html","d":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","c":1,"em":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"b":"dashboard-plus-grid","s":"./dashboard-plus-grid/dashboard-plus-grid.js","i":"sha384-ou8O6omzXBxwc6kTFOpeL5BDJT3ZHUNWLuSVl7MoHpQDBjniuzGLf48sOVwC0L8+","e":["dashboard-plus-grid"],"p":[{"p":"dashboard-plus-grid","e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/index.html","d":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","c":4,"em":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-ou8O6omzXBxwc6kTFOpeL5BDJT3ZHUNWLuSVl7MoHpQDBjniuzGLf48sOVwC0L8+\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"dashboard-plus-grid"},"e":"dashboard-plus-grid","u":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html"}]}]},{"b":"demo-map","s":"./demo-map/demo-map.js","i":"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0","e":["demo-map"],"p":[{"p":"demo-map","e":"demo-map","u":"./demo-map/demo-map/index.html","d":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","c":2,"em":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"in":[{"id":"maplibre","t":"Demo map — MapLibre (token-free)","a":"","pr":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"e":"demo-map","u":"./demo-map/demo-map/maplibre/index.html"}]}]},{"b":"doxa-maps-spa","s":"./doxa-maps-spa/doxa-maps-spa.js","i":"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq","e":["doxa-maps-spa"],"p":[{"p":"doxa-maps-spa","e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/index.html","d":"The DX-maps app itself: one element whose vertical-tab rail nests every other","c":5,"em":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"in":[{"id":"app","t":"DX-Maps SPA — Big Picture + every research map (app-shell)","a":"","pr":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"e":"doxa-maps-spa","u":"./doxa-maps-spa/doxa-maps-spa/app/index.html"}]}]},{"b":"doxa-research-map","s":"./doxa-research-map/doxa-research-map.js","i":"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48","e":["doxa-research-map"],"p":[{"p":"research-map","e":"doxa-research-map","u":"./doxa-research-map/research-map/index.html","d":"The researcher's workbench: every piece a missiologist, demographer or","c":3,"em":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"b":"doxa-simple-map","s":"./doxa-simple-map/doxa-simple-map.js","i":"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X","e":["doxa-map","doxa-simple-map"],"p":[{"p":"doxa-simple-map","e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/index.html","d":"The simple world map, shipped as three presets off ONE prop table —","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"in":[{"id":"prayer","t":"Prayer Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/prayer/index.html"},{"id":"engagement","t":"Engagement Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/engagement/index.html"},{"id":"adoption","t":"Adoption Map","a":"https://pray.doxa.life","pr":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"e":"doxa-map","u":"./doxa-simple-map/doxa-simple-map/adoption/index.html"}]}]},{"b":"doxa-vision-card","s":"./doxa-vision-card/doxa-vision-card.js","i":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","e":["doxa-vision-card"],"p":[{"p":"doxa-vision-card","e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/index.html","d":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","c":2,"em":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"in":[{"id":"default","t":"Vision card — reach at a glance","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/default/index.html"},{"id":"frontier","t":"Vision card — frontier accent","a":"","pr":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"e":"doxa-vision-card","u":"./doxa-vision-card/doxa-vision-card/frontier/index.html"}]}]},{"b":"golden-path-check","s":"./golden-path-check/golden-path-check.js","i":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","e":["golden-path-check"],"p":[{"p":"golden-path-check","e":"golden-path-check","u":"./golden-path-check/golden-path-check/index.html","d":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","c":1,"em":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"b":"gospel-resources","s":"./gospel-resources/gospel-resources.js","i":"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG","e":["gospel-resources-map"],"p":[{"p":"charts","e":"gospel-resources-map","u":"./gospel-resources/charts/index.html","d":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"data-tables","e":"gospel-resources-map","u":"./gospel-resources/data-tables/index.html","d":"Two validated tables: what resources exist per people group, and whether that access is keeping","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-list","e":"gospel-resources-map","u":"./gospel-resources/resources-list/index.html","d":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"p":"resources-map","e":"gospel-resources-map","u":"./gospel-resources/resources-map/index.html","d":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","c":1,"em":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"b":"my-upg-100-list","s":"./my-upg-100-list/my-upg-100-list.js","i":"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E","e":["my-upg-100-list-map"],"p":[{"p":"poster-wall","e":"my-upg-100-list-map","u":"./my-upg-100-list/poster-wall/index.html","d":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-list","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-list/index.html","d":"A personal unreached-people-groups list painted as true boundary polygons —","c":1,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"p":"upg-100-mfe","e":"my-upg-100-list-map","u":"./my-upg-100-list/upg-100-mfe/index.html","d":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","c":4,"em":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"b":"people-groups-grid","s":"./people-groups-grid/people-groups-grid.js","i":"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X","e":["people-groups-grid"],"p":[{"p":"people-groups-grid","e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/index.html","d":"The people-groups grid as an owned custom element: card list, search and four","c":2,"em":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"in":[{"id":"people-groups-grid","t":"People Groups Grid — standalone (own search + 4 dropdowns)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html"},{"id":"driven","t":"People Groups Grid — externally driven (controls off, props/events)","a":"","pr":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"e":"people-groups-grid","u":"./people-groups-grid/people-groups-grid/driven/index.html"}]}]},{"b":"plugin-studio","s":"./plugin-studio/plugin-studio.js","i":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","e":["plugin-studio"],"p":[{"p":"plugin-studio","e":"plugin-studio","u":"./plugin-studio/plugin-studio/index.html","d":"The developer's viewing surface: a sidebar that is the composability ladder","c":5,"em":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"in":[{"id":"studio","t":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","a":"","pr":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"e":"plugin-studio","u":"./plugin-studio/plugin-studio/studio/index.html"}]}]},{"b":"research-dashboard","s":"./research-dashboard/research-dashboard.js","i":"sha384-4HNE72UOF2zrBYURaocKyph8t3C+COB4DAROu4CfbSE/GqvwsEe4pKRGbN1rNlk/","e":["research-dashboard-map"],"p":[{"p":"research-dashboard","e":"research-dashboard-map","u":"./research-dashboard/research-dashboard/index.html","d":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","c":3,"em":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-4HNE72UOF2zrBYURaocKyph8t3C+COB4DAROu4CfbSE/GqvwsEe4pKRGbN1rNlk/\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"}}]},{"b":"research-map-plus-grid","s":"./research-map-plus-grid/research-map-plus-grid.js","i":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","e":["research-map-plus-grid"],"p":[{"p":"research-map-plus-grid","e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/index.html","d":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","c":4,"em":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"in":[{"id":"default","t":"default","a":"","pr":{"profile":"research-map-plus-grid"},"e":"research-map-plus-grid","u":"./research-map-plus-grid/research-map-plus-grid/default/index.html"}]}]},{"b":"stack-demo","s":"./stack-demo/stack-demo.js","i":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","e":["stack-demo"],"p":[{"p":"stack-demo","e":"stack-demo","u":"./stack-demo/stack-demo/index.html","d":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","c":4,"em":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"in":[{"id":"pair","t":"pair","a":"","pr":{"profile":"stack-demo"},"e":"stack-demo","u":"./stack-demo/stack-demo/pair/index.html"}]}]},{"b":"template-bundle","s":"./template-bundle/template-bundle.js","i":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","e":["template-bundle"],"p":[{"p":"template-map-a","e":"template-bundle","u":"./template-bundle/template-map-a/index.html","d":"Minimal example profile A — a colored placeholder, no Mapbox or data.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}},{"p":"template-map-b","e":"template-bundle","u":"./template-bundle/template-map-b/index.html","d":"Minimal example profile B — a second profile in the same bundle.","c":1,"em":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"}}]}]; var snip = function snip(b, p, x) { var u = (x || p).u, tag = (x && x.e) || p.e || b.e[0] || b.b var r = { iframe: '' } diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js index 3fe8ffcd5..8ad5aab0f 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js @@ -2,45 +2,45 @@ * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Jr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const qe={},Go=[],zt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Zr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Ou=Object.prototype.hasOwnProperty,Ue=(e,t)=>Ou.call(e,t),ke=Array.isArray,bo=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Se=e=>typeof e=="function",Ye=e=>typeof e=="string",Lt=e=>typeof e=="symbol",Be=e=>e!==null&&typeof e=="object",Fa=e=>(Be(e)||Se(e))&&Se(e.then)&&Se(e.catch),Ra=Object.prototype.toString,hn=e=>Ra.call(e),Du=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",Qr=e=>Ye(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Jr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ju=/-\w/g,vt=rr(e=>e.replace(ju,t=>t.slice(1).toUpperCase())),zu=/\B([A-Z])/g,$t=rr(e=>e.replace(zu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),es=rr(e=>e?`on${Ma(e)}`:""),Ut=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ts=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Ye(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(ke(e)){const t={};for(let o=0;o{if(o){const n=o.split(Bu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Me(e){let t="";if(Ye(e))t=e;else if(ke(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ce=e=>Ye(e)?e:e==null?"":ke(e)||Be(e)&&(e.toString===Ra||!Se(e.toString))?Ba(e)?ce(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):bo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[os(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>os(o))}:Lt(t)?os(t):Be(t)&&!ke(t)&&!nr(t)?String(t):t,os=(e,t="")=>{var o;return Lt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Jr(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Ve={},Go=[],zt=()=>{},Na=()=>!1,er=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tr=e=>e.startsWith("onUpdate:"),tt=Object.assign,Zr=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Ou=Object.prototype.hasOwnProperty,Ue=(e,t)=>Ou.call(e,t),ke=Array.isArray,bo=e=>hn(e)==="[object Map]",or=e=>hn(e)==="[object Set]",Ia=e=>hn(e)==="[object Date]",Ee=e=>typeof e=="function",Ye=e=>typeof e=="string",Lt=e=>typeof e=="symbol",Ge=e=>e!==null&&typeof e=="object",Fa=e=>(Ge(e)||Ee(e))&&Ee(e.then)&&Ee(e.catch),Ra=Object.prototype.toString,hn=e=>Ra.call(e),Du=e=>hn(e).slice(8,-1),nr=e=>hn(e)==="[object Object]",Qr=e=>Ye(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,mn=Jr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),rr=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},ju=/-\w/g,vt=rr(e=>e.replace(ju,t=>t.slice(1).toUpperCase())),zu=/\B([A-Z])/g,$t=rr(e=>e.replace(zu,"-$1").toLowerCase()),Ma=rr(e=>e.charAt(0).toUpperCase()+e.slice(1)),es=rr(e=>e?`on${Ma(e)}`:""),Ut=(e,t)=>!Object.is(e,t),sr=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},ts=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Da=e=>{const t=Ye(e)?Number(e):NaN;return isNaN(t)?e:t};let ja;const ar=()=>ja||(ja=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function it(e){if(ke(e)){const t={};for(let o=0;o{if(o){const n=o.split(Bu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Me(e){let t="";if(Ye(e))t=e;else if(ke(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ue=e=>Ye(e)?e:e==null?"":ke(e)||Ge(e)&&(e.toString===Ra||!Ee(e.toString))?Ba(e)?ue(e.value):JSON.stringify(e,Ga,2):String(e),Ga=(e,t)=>Ba(t)?Ga(e,t.value):bo(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,r],s)=>(o[os(n,s)+" =>"]=r,o),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>os(o))}:Lt(t)?os(t):Ge(t)&&!ke(t)&&!nr(t)?String(t):t,os=(e,t="")=>{var o;return Lt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ct;class qa{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&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;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 o,n;for(o=0,n=this.effects.length;o0)return;if(_n){let t=_n;for(_n=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;bn;){let t=bn;for(bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ls(n),Ku(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function as(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!as(e))))return;e.flags|=2;const t=e.dep,o=Ve,n=Pt;Ve=e,Pt=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Ut(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ve=o,Pt=n,Xa(e),e.flags&=-3}}function ls(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ls(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ku(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Pt=!0;const Za=[];function Bt(){Za.push(Pt),Pt=!1}function Gt(){const e=Za.pop();Pt=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ve;Ve=void 0;try{t()}finally{Ve=o}}}let yn=0;class Yu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class is{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(!Ve||!Pt||Ve===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ve)o=this.activeLink=new Yu(Ve,this),Ve.deps?(o.prevDep=Ve.depsTail,Ve.depsTail.nextDep=o,Ve.depsTail=o):Ve.deps=Ve.depsTail=o,el(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=Ve.depsTail,o.nextDep=void 0,Ve.depsTail.nextDep=o,Ve.depsTail=o,Ve.deps===o&&(Ve.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){rs();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{ss()}}}function el(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const cs=new WeakMap,Lo=Symbol(""),us=Symbol(""),vn=Symbol("");function ft(e,t,o){if(Pt&&Ve){let n=cs.get(e);n||cs.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new is),r.map=n,r.key=o),r.track()}}function Qt(e,t,o,n,r,s){const a=cs.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(rs(),t==="clear")a.forEach(l);else{const i=ke(e),c=i&&Qr(o);if(i&&o==="length"){const u=Number(n);a.forEach((p,m)=>{(m==="length"||m===vn||!Lt(m)&&m>=u)&&l(p)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Lo)),bo(e)&&l(a.get(us)));break;case"delete":i||(l(a.get(Lo)),bo(e)&&l(a.get(us)));break;case"set":bo(e)&&l(a.get(Lo));break}}ss()}function qo(e){const t=De(e);return t===e?t:(ft(t,"iterate",vn),Ct(e)?t:t.map(Nt))}function ir(e){return ft(e=De(e),"iterate",vn),e}function qt(e,t){return to(e)?Vo(No(e)?Nt(t):t):Nt(t)}const Xu={__proto__:null,[Symbol.iterator](){return ds(this,Symbol.iterator,e=>qt(this,e))},concat(...e){return qo(this).concat(...e.map(t=>ke(t)?qo(t):t))},entries(){return ds(this,"entries",e=>(e[1]=qt(this,e[1]),e))},every(e,t){return eo(this,"every",e,t,void 0,arguments)},filter(e,t){return eo(this,"filter",e,t,o=>o.map(n=>qt(this,n)),arguments)},find(e,t){return eo(this,"find",e,t,o=>qt(this,o),arguments)},findIndex(e,t){return eo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return eo(this,"findLast",e,t,o=>qt(this,o),arguments)},findLastIndex(e,t){return eo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return eo(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return qo(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return eo(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return eo(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return qo(this).toReversed()},toSorted(e){return qo(this).toSorted(e)},toSpliced(...e){return qo(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return ds(this,"values",e=>qt(this,e))}};function ds(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const Ju=Array.prototype;function eo(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==Ju[t]){const p=i.apply(e,s);return l?Nt(p):p}let c=o;a!==e&&(l?c=function(p,m){return o.call(this,qt(e,p),m,e)}:o.length>2&&(c=function(p,m){return o.call(this,p,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,p){return l&&(l=!1,c=qt(e,c)),o.call(this,c,qt(e,u),p,e)}):o.length>3&&(a=function(c,u,p){return o.call(this,c,u,p,e)}));const i=r[t](a,...n);return l?qt(e,i):i}function fs(e,t,o){const n=De(e);ft(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&hs(o[0])?(o[0]=De(o[0]),n[t](...o)):r}function xn(e,t,o=[]){Bt(),rs();const n=De(e)[t].apply(e,o);return ss(),Gt(),n}const Zu=Jr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Lt));function Qu(e){Lt(e)||(e=String(e));const t=De(this);return ft(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=ke(t);if(!r){let i;if(a&&(i=Xu[o]))return i;if(o==="hasOwnProperty")return Qu}const l=Reflect.get(t,o,at(t)?t:n);if((Lt(o)?ol.has(o):Zu(o))||(r||ft(t,"get",o),s))return l;if(at(l)){const i=a&&Qr(o)?l:l.value;return r&&Be(i)?gs(i):i}return Be(l)?r?gs(l):Po(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=ke(t)&&Qr(o);if(!this._isShallow){const c=to(s);if(!Ct(n)&&!to(n)&&(s=De(s),n=De(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function rd(e,t,o){return function(...n){const r=this.__v_raw,s=De(r),a=bo(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?ps:t?Vo:Nt;return!t&&ft(s,"iterate",i?us:Lo),tt(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:l?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sd(e,t){const o={get(r){const s=this.__v_raw,a=De(s),l=De(r);e||(Ut(r,l)&&ft(a,"get",r),ft(a,"get",l));const{has:i}=cr(a),c=t?ps:e?Vo:Nt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ft(De(r),"iterate",Lo),r.size},has(r){const s=this.__v_raw,a=De(s),l=De(r);return e||(Ut(r,l)&&ft(a,"has",r),ft(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=De(l),c=t?ps:e?Vo:Nt;return!e&&ft(i,"iterate",Lo),l.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=De(this),a=cr(s),l=De(r),i=!t&&!Ct(r)&&!to(r)?l:r;return a.has.call(s,i)||Ut(r,i)&&a.has.call(s,r)||Ut(l,i)&&a.has.call(s,l)||(s.add(i),Qt(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!to(s)&&(s=De(s));const a=De(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=De(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Ut(s,u)&&Qt(a,"set",r,s):Qt(a,"add",r,s),this},delete(r){const s=De(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=De(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&Qt(s,"delete",r,void 0),c},clear(){const r=De(this),s=r.size!==0,a=r.clear();return s&&Qt(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=rd(r,e,t)}),o}function dr(e,t){const o=sd(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ue(o,r)&&r in n?o:n,r,s)}const ad={get:dr(!1,!1)},ld={get:dr(!1,!0)},id={get:dr(!0,!1)},cd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function ud(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Po(e){return to(e)?e:fr(e,!1,ed,ad,al)}function dd(e){return fr(e,!1,od,ld,ll)}function gs(e){return fr(e,!0,td,id,il)}function J0(e){return fr(e,!0,nd,cd,cl)}function fr(e,t,o,n,r){if(!Be(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=ud(Du(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function No(e){return to(e)?No(e.__v_raw):!!(e&&e.__v_isReactive)}function to(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function hs(e){return e?!!e.__v_raw:!1}function De(e){const t=e&&e.__v_raw;return t?De(t):e}function ul(e){return!Ue(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Nt=e=>Be(e)?Po(e):e,Vo=e=>Be(e)?gs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function ue(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new fd(e,t)}class fd{constructor(t,o){this.dep=new is,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:De(t),this._value=o?t:Nt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||to(t);t=n?t:De(t),Ut(t,o)&&(this._rawValue=t,this._value=n?t:Nt(t),this.dep.trigger())}}function he(e){return at(e)?e.value:e}const pd={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return No(e)?e:new Proxy(e,pd)}class gd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new is(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ve!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hd(e,t,o=!1){let n,r;return Se(e)?n=e:(n=e.get,r=e.set),new gd(n,r,o)}const pr={},gr=new WeakMap;let Io;function md(e,t=!1,o=Io){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function bd(e,t,o=qe){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?oo(g,1):oo(g);let u,p,m,v,P=!1,x=!1;if(at(e)?(p=()=>e.value,P=Ct(e)):No(e)?(p=()=>c(e),P=!0):ke(e)?(x=!0,P=e.some(g=>No(g)||Ct(g)),p=()=>e.map(g=>{if(at(g))return g.value;if(No(g))return c(g);if(Se(g))return i?i(g,2):g()})):Se(e)?t?p=i?()=>i(e,2):e:p=()=>{if(m){Bt();try{m()}finally{Gt()}}const g=Io;Io=u;try{return i?i(e,3,[v]):e(v)}finally{Io=g}}:p=zt,t&&r){const g=p,_=r===!0?1/0:r;p=()=>oo(g(),_)}const w=Wu(),N=()=>{u.stop(),w&&w.active&&Zr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const E=g(..._);return N(),E}}let y=x?new Array(e.length).fill(pr):pr;const f=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||P||(x?_.some((E,$)=>Ut(E,y[$])):Ut(_,y))){m&&m();const E=Io;Io=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Io=E}}}else u.run()};return l&&l(f),u=new Ha(p),u.scheduler=a?()=>a(f,!1):f,v=g=>md(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?f(!0):y=u.run():a?a(f.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function oo(e,t=1/0,o){if(t<=0||!Be(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))oo(e.value,t,o);else if(ke(e))for(let n=0;n{oo(n,t,o)});else if(nr(e)){for(const n in e)oo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&oo(e[n],t,o)}return e}/** +**/let ct;class qa{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&&ct&&(ct.active?(this.parent=ct,this.index=(ct.scopes||(ct.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t0&&--this._on===0){if(ct===this)ct=this.prevScope;else{let t=ct;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 o,n;for(o=0,n=this.effects.length;o0)return;if(_n){let t=_n;for(_n=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;bn;){let t=bn;for(bn=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xa(e){let t,o=e.depsTail,n=o;for(;n;){const r=n.prevDep;n.version===-1?(n===o&&(o=r),ls(n),Ku(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=o}function as(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ja(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ja(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===yn)||(e.globalVersion=yn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!as(e))))return;e.flags|=2;const t=e.dep,o=He,n=Pt;He=e,Pt=!0;try{Ya(e);const r=e.fn(e._value);(t.version===0||Ut(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{He=o,Pt=n,Xa(e),e.flags&=-3}}function ls(e,t=!1){const{dep:o,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)ls(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function Ku(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let Pt=!0;const Za=[];function Bt(){Za.push(Pt),Pt=!1}function Gt(){const e=Za.pop();Pt=e===void 0?!0:e}function Qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=He;He=void 0;try{t()}finally{He=o}}}let yn=0;class Yu{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class is{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(!He||!Pt||He===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==He)o=this.activeLink=new Yu(He,this),He.deps?(o.prevDep=He.depsTail,He.depsTail.nextDep=o,He.depsTail=o):He.deps=He.depsTail=o,el(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=He.depsTail,o.nextDep=void 0,He.depsTail.nextDep=o,He.depsTail=o,He.deps===o&&(He.deps=n)}return o}trigger(t){this.version++,yn++,this.notify(t)}notify(t){rs();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{ss()}}}function el(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)el(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const cs=new WeakMap,Lo=Symbol(""),us=Symbol(""),vn=Symbol("");function ft(e,t,o){if(Pt&&He){let n=cs.get(e);n||cs.set(e,n=new Map);let r=n.get(o);r||(n.set(o,r=new is),r.map=n,r.key=o),r.track()}}function Qt(e,t,o,n,r,s){const a=cs.get(e);if(!a){yn++;return}const l=i=>{i&&i.trigger()};if(rs(),t==="clear")a.forEach(l);else{const i=ke(e),c=i&&Qr(o);if(i&&o==="length"){const u=Number(n);a.forEach((f,m)=>{(m==="length"||m===vn||!Lt(m)&&m>=u)&&l(f)})}else switch((o!==void 0||a.has(void 0))&&l(a.get(o)),c&&l(a.get(vn)),t){case"add":i?c&&l(a.get("length")):(l(a.get(Lo)),bo(e)&&l(a.get(us)));break;case"delete":i||(l(a.get(Lo)),bo(e)&&l(a.get(us)));break;case"set":bo(e)&&l(a.get(Lo));break}}ss()}function qo(e){const t=De(e);return t===e?t:(ft(t,"iterate",vn),Ct(e)?t:t.map(Nt))}function ir(e){return ft(e=De(e),"iterate",vn),e}function qt(e,t){return to(e)?Vo(No(e)?Nt(t):t):Nt(t)}const Xu={__proto__:null,[Symbol.iterator](){return ds(this,Symbol.iterator,e=>qt(this,e))},concat(...e){return qo(this).concat(...e.map(t=>ke(t)?qo(t):t))},entries(){return ds(this,"entries",e=>(e[1]=qt(this,e[1]),e))},every(e,t){return eo(this,"every",e,t,void 0,arguments)},filter(e,t){return eo(this,"filter",e,t,o=>o.map(n=>qt(this,n)),arguments)},find(e,t){return eo(this,"find",e,t,o=>qt(this,o),arguments)},findIndex(e,t){return eo(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return eo(this,"findLast",e,t,o=>qt(this,o),arguments)},findLastIndex(e,t){return eo(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return eo(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return qo(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return eo(this,"map",e,t,void 0,arguments)},pop(){return xn(this,"pop")},push(...e){return xn(this,"push",e)},reduce(e,...t){return tl(this,"reduce",e,t)},reduceRight(e,...t){return tl(this,"reduceRight",e,t)},shift(){return xn(this,"shift")},some(e,t){return eo(this,"some",e,t,void 0,arguments)},splice(...e){return xn(this,"splice",e)},toReversed(){return qo(this).toReversed()},toSorted(e){return qo(this).toSorted(e)},toSpliced(...e){return qo(this).toSpliced(...e)},unshift(...e){return xn(this,"unshift",e)},values(){return ds(this,"values",e=>qt(this,e))}};function ds(e,t,o){const n=ir(e),r=n[t]();return n!==e&&!Ct(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=o(s.value)),s}),r}const Ju=Array.prototype;function eo(e,t,o,n,r,s){const a=ir(e),l=a!==e&&!Ct(e),i=a[t];if(i!==Ju[t]){const f=i.apply(e,s);return l?Nt(f):f}let c=o;a!==e&&(l?c=function(f,m){return o.call(this,qt(e,f),m,e)}:o.length>2&&(c=function(f,m){return o.call(this,f,m,e)}));const u=i.call(a,c,n);return l&&r?r(u):u}function tl(e,t,o,n){const r=ir(e),s=r!==e&&!Ct(e);let a=o,l=!1;r!==e&&(s?(l=n.length===0,a=function(c,u,f){return l&&(l=!1,c=qt(e,c)),o.call(this,c,qt(e,u),f,e)}):o.length>3&&(a=function(c,u,f){return o.call(this,c,u,f,e)}));const i=r[t](a,...n);return l?qt(e,i):i}function fs(e,t,o){const n=De(e);ft(n,"iterate",vn);const r=n[t](...o);return(r===-1||r===!1)&&hs(o[0])?(o[0]=De(o[0]),n[t](...o)):r}function xn(e,t,o=[]){Bt(),rs();const n=De(e)[t].apply(e,o);return ss(),Gt(),n}const Zu=Jr("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Lt));function Qu(e){Lt(e)||(e=String(e));const t=De(this);return ft(t,"has",e),t.hasOwnProperty(e)}class nl{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!r;if(o==="__v_isReadonly")return r;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(r?s?cl:il:s?ll:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=ke(t);if(!r){let i;if(a&&(i=Xu[o]))return i;if(o==="hasOwnProperty")return Qu}const l=Reflect.get(t,o,at(t)?t:n);if((Lt(o)?ol.has(o):Zu(o))||(r||ft(t,"get",o),s))return l;if(at(l)){const i=a&&Qr(o)?l:l.value;return r&&Ge(i)?gs(i):i}return Ge(l)?r?gs(l):Po(l):l}}class rl extends nl{constructor(t=!1){super(!1,t)}set(t,o,n,r){let s=t[o];const a=ke(t)&&Qr(o);if(!this._isShallow){const c=to(s);if(!Ct(n)&&!to(n)&&(s=De(s),n=De(n)),!a&&at(s)&&!at(n))return c||(s.value=n),!0}const l=a?Number(o)e,cr=e=>Reflect.getPrototypeOf(e);function rd(e,t,o){return function(...n){const r=this.__v_raw,s=De(r),a=bo(s),l=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=r[e](...n),u=o?ps:t?Vo:Nt;return!t&&ft(s,"iterate",i?us:Lo),tt(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:l?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function ur(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function sd(e,t){const o={get(r){const s=this.__v_raw,a=De(s),l=De(r);e||(Ut(r,l)&&ft(a,"get",r),ft(a,"get",l));const{has:i}=cr(a),c=t?ps:e?Vo:Nt;if(i.call(a,r))return c(s.get(r));if(i.call(a,l))return c(s.get(l));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ft(De(r),"iterate",Lo),r.size},has(r){const s=this.__v_raw,a=De(s),l=De(r);return e||(Ut(r,l)&&ft(a,"has",r),ft(a,"has",l)),r===l?s.has(r):s.has(r)||s.has(l)},forEach(r,s){const a=this,l=a.__v_raw,i=De(l),c=t?ps:e?Vo:Nt;return!e&&ft(i,"iterate",Lo),l.forEach((u,f)=>r.call(s,c(u),c(f),a))}};return tt(o,e?{add:ur("add"),set:ur("set"),delete:ur("delete"),clear:ur("clear")}:{add(r){const s=De(this),a=cr(s),l=De(r),i=!t&&!Ct(r)&&!to(r)?l:r;return a.has.call(s,i)||Ut(r,i)&&a.has.call(s,r)||Ut(l,i)&&a.has.call(s,l)||(s.add(i),Qt(s,"add",i,i)),this},set(r,s){!t&&!Ct(s)&&!to(s)&&(s=De(s));const a=De(this),{has:l,get:i}=cr(a);let c=l.call(a,r);c||(r=De(r),c=l.call(a,r));const u=i.call(a,r);return a.set(r,s),c?Ut(s,u)&&Qt(a,"set",r,s):Qt(a,"add",r,s),this},delete(r){const s=De(this),{has:a,get:l}=cr(s);let i=a.call(s,r);i||(r=De(r),i=a.call(s,r)),l&&l.call(s,r);const c=s.delete(r);return i&&Qt(s,"delete",r,void 0),c},clear(){const r=De(this),s=r.size!==0,a=r.clear();return s&&Qt(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{o[r]=rd(r,e,t)}),o}function dr(e,t){const o=sd(e,t);return(n,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ue(o,r)&&r in n?o:n,r,s)}const ad={get:dr(!1,!1)},ld={get:dr(!1,!0)},id={get:dr(!0,!1)},cd={get:dr(!0,!0)},al=new WeakMap,ll=new WeakMap,il=new WeakMap,cl=new WeakMap;function ud(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Po(e){return to(e)?e:fr(e,!1,ed,ad,al)}function dd(e){return fr(e,!1,od,ld,ll)}function gs(e){return fr(e,!0,td,id,il)}function Z0(e){return fr(e,!0,nd,cd,cl)}function fr(e,t,o,n,r){if(!Ge(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=ud(Du(e));if(a===0)return e;const l=new Proxy(e,a===2?n:o);return r.set(e,l),l}function No(e){return to(e)?No(e.__v_raw):!!(e&&e.__v_isReactive)}function to(e){return!!(e&&e.__v_isReadonly)}function Ct(e){return!!(e&&e.__v_isShallow)}function hs(e){return e?!!e.__v_raw:!1}function De(e){const t=e&&e.__v_raw;return t?De(t):e}function ul(e){return!Ue(e,"__v_skip")&&Object.isExtensible(e)&&Oa(e,"__v_skip",!0),e}const Nt=e=>Ge(e)?Po(e):e,Vo=e=>Ge(e)?gs(e):e;function at(e){return e?e.__v_isRef===!0:!1}function de(e){return dl(e,!1)}function wn(e){return dl(e,!0)}function dl(e,t){return at(e)?e:new fd(e,t)}class fd{constructor(t,o){this.dep=new is,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:De(t),this._value=o?t:Nt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||Ct(t)||to(t);t=n?t:De(t),Ut(t,o)&&(this._rawValue=t,this._value=n?t:Nt(t),this.dep.trigger())}}function he(e){return at(e)?e.value:e}const pd={get:(e,t,o)=>t==="__v_raw"?e:he(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const r=e[t];return at(r)&&!at(o)?(r.value=o,!0):Reflect.set(e,t,o,n)}};function fl(e){return No(e)?e:new Proxy(e,pd)}class gd{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new is(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=yn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&He!==this)return Ka(this,!0),!0}get value(){const t=this.dep.track();return Ja(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hd(e,t,o=!1){let n,r;return Ee(e)?n=e:(n=e.get,r=e.set),new gd(n,r,o)}const pr={},gr=new WeakMap;let Io;function md(e,t=!1,o=Io){if(o){let n=gr.get(o);n||gr.set(o,n=[]),n.push(e)}}function bd(e,t,o=Ve){const{immediate:n,deep:r,once:s,scheduler:a,augmentJob:l,call:i}=o,c=g=>r?g:Ct(g)||r===!1||r===0?oo(g,1):oo(g);let u,f,m,v,L=!1,x=!1;if(at(e)?(f=()=>e.value,L=Ct(e)):No(e)?(f=()=>c(e),L=!0):ke(e)?(x=!0,L=e.some(g=>No(g)||Ct(g)),f=()=>e.map(g=>{if(at(g))return g.value;if(No(g))return c(g);if(Ee(g))return i?i(g,2):g()})):Ee(e)?t?f=i?()=>i(e,2):e:f=()=>{if(m){Bt();try{m()}finally{Gt()}}const g=Io;Io=u;try{return i?i(e,3,[v]):e(v)}finally{Io=g}}:f=zt,t&&r){const g=f,_=r===!0?1/0:r;f=()=>oo(g(),_)}const w=Wu(),P=()=>{u.stop(),w&&w.active&&Zr(w.effects,u)};if(s&&t){const g=t;t=(..._)=>{const E=g(..._);return P(),E}}let y=x?new Array(e.length).fill(pr):pr;const p=g=>{if(!(!(u.flags&1)||!u.dirty&&!g))if(t){const _=u.run();if(g||r||L||(x?_.some((E,$)=>Ut(E,y[$])):Ut(_,y))){m&&m();const E=Io;Io=u;try{const $=[_,y===pr?void 0:x&&y[0]===pr?[]:y,v];y=_,i?i(t,3,$):t(...$)}finally{Io=E}}}else u.run()};return l&&l(p),u=new Ha(f),u.scheduler=a?()=>a(p,!1):p,v=g=>md(g,!1,u),m=u.onStop=()=>{const g=gr.get(u);if(g){if(i)i(g,4);else for(const _ of g)_();gr.delete(u)}},t?n?p(!0):y=u.run():a?a(p.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function oo(e,t=1/0,o){if(t<=0||!Ge(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,at(e))oo(e.value,t,o);else if(ke(e))for(let n=0;n{oo(n,t,o)});else if(nr(e)){for(const n in e)oo(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&oo(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const kn=[];let ms=!1;function Z0(e,...t){if(ms)return;ms=!0,Bt();const o=kn.length?kn[kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=_d();if(n)Ho(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${ii(o,s.type)}>`).join(` +**/const kn=[];let ms=!1;function Q0(e,...t){if(ms)return;ms=!0,Bt();const o=kn.length?kn[kn.length-1].component:null,n=o&&o.appContext.config.warnHandler,r=_d();if(n)Ho(n,o,11,[e+t.map(s=>{var a,l;return(l=(a=s.toString)==null?void 0:a.call(s))!=null?l:JSON.stringify(s)}).join(""),o&&o.proxy,r.map(({vnode:s})=>`at <${ii(o,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...yd(r)),console.warn(...s)}Gt(),ms=!1}function _d(){let e=kn[kn.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function yd(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...vd(o))}),t}function vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...xd(e.props),s]:[r+s]}function xd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Ye(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,De(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=De(t),o?t:[`${e}=`,t])}function Ho(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function It(e,t,o,n){if(Se(e)){const r=Ho(e,t,o,n);return r&&Fa(r)&&r.catch(s=>{hr(s,t,o)}),r}if(ke(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(kd(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function $d(e){if(!ke(e))_o&&e.id===-1?_o.splice(Ko+1,0,e):e.flags&1||(Wo.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Wo.length=0,_o){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Vt=0;Vt{n._d&&$r(-1);const s=br(t),a=so.length;let l;try{l=e(...r)}finally{for(let i=so.length;i>a;i--)Fs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Ft(e,t){if(pt===null)return e;const o=Cr(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Se(t)?t.call(n&&n.proxy):t}}const Sd=Symbol.for("v-scx"),Ed=()=>Le(Sd);function gt(e,t,o){return vl(e,t,o)}function vl(e,t,o=qe){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Ed();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=zt,v.resume=zt,v.pause=zt,v}}const u=_t;l.call=(v,P,x)=>It(v,u,P,x);let p=!1;s==="post"?l.scheduler=v=>{bt(v,u&&u.suspense)}:s!=="sync"&&(p=!0,l.scheduler=(v,P)=>{P?v():bs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=bd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ad(e,t,o){const n=this.proxy,r=Ye(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Se(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ro=e=>e&&(e.disabled||e.disabled===""),Cd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,_s=(e,t)=>{const o=e&&e.to;return Ye(o)?t?t(o):null:o},Td={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:p,pbc:m,o:{insert:v,querySelector:P,createText:x,createComment:w,parentNode:N}}=c,y=Ro(t.props);let{dynamicChildren:f}=t;const g=($,O,A)=>{$.shapeFlag&16&&u($.children,O,A,r,s,a,l,i)},_=($=t)=>{const O=Ro($.props),A=$.target=_s($.props,P),U=ys(A,$,x,v);A&&(a!=="svg"&&kl(A)?a="svg":a!=="mathml"&&$l(A)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(A),O||(g($,A,U),En($,!1)))},E=$=>{const O=()=>{if(vo.get($)===O){if(vo.delete($),Ro($.props)){const A=N($.el)||o;g($,A,$.anchor),En($,!0)}_($)}};vo.set($,O),bt(O,s)};if(e==null){const $=t.el=x(""),O=t.anchor=x("");if(v($,o,n),v(O,o,n),Cd(t.props)||s&&s.pendingBranch){E(t);return}y&&(g(t,o,O),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,O=vo.get(e);if(O){O.flags|=8,vo.delete(e),E(t);return}t.targetStart=e.targetStart;const A=t.target=e.target,U=t.targetAnchor=e.targetAnchor,X=Ro(e.props),re=X?o:A,me=X?$:U;if(a==="svg"||kl(A)?a="svg":(a==="mathml"||$l(A))&&(a="mathml"),f?(m(e.dynamicChildren,f,re,r,s,a,l),Ns(e,t,!0)):i||p(e,t,re,me,r,s,a,l,!1),y)X?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=_s(t.props,P);q&&(t.target=q,yr(t,q,null,c,0))}else X&&yr(t,A,U,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:p,props:m}=e,v=Ro(m),P=s||!v,x=vo.get(e);if(x&&(x.flags|=8,vo.delete(e)),p&&(r(c),r(u)),s&&r(i),!x&&(v||p)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Wt){t=o;break}}return t}function Sl(e){if(!ws(e))return _r(e.type)&&e.children?Nd(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Se(o.default))return o.default()}}function xs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;xs(_r(o.type)&&Sl(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function An(e,t){return Se(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(ke(e)){e.forEach((x,w)=>Cn(x,t&&(ke(t)?t[w]:t),o,n,r));return}if(Yo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===qe?l.refs={}:l.refs,p=l.setupState,m=De(p),v=p===qe?Na:x=>Al(u,x)?!1:Ue(m,x),P=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Ye(c))u[c]=null,v(c)&&(p[c]=null);else if(at(c)){const x=t;P(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Se(i))Ho(i,l,12,[a,u]);else{const x=Ye(i),w=at(i);if(x||w){const N=()=>{if(e.f){const y=x?v(i)?p[i]:u[i]:P()||!e.k?i.value:u[e.k];if(r)ke(y)&&Zr(y,s);else if(ke(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(p[i]=u[i]);else{const f=[s];P(i,e.k)&&(i.value=f),e.k&&(u[e.k]=f)}}else x?(u[i]=a,v(i)&&(p[i]=a)):w&&(P(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{N(),vr.delete(e)};y.id=-1,vr.set(e,y),bt(y,o)}else Cl(e),N()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Yo=e=>!!e.type.__asyncLoader,ws=e=>e.type.__isKeepAlive;function Id(e,t){Tl(e,"a",t)}function Fd(e,t){Tl(e,"da",t)}function Tl(e,t,o=_t){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ws(r.parent.vnode)&&Rd(n,t,o,r),r=r.parent}}function Rd(e,t,o,n){const r=xr(t,e,n,!0);ks(()=>{Zr(n[t],r)},o)}function xr(e,t,o=_t,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Bt();const l=Mn(o),i=It(t,o,e,a);return l(),Gt(),i});return n?r.unshift(s):r.push(s),s}}const ro=e=>(t,o=_t)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=ro("bm"),xt=ro("m"),Md=ro("bu"),Od=ro("u"),Ht=ro("bum"),ks=ro("um"),Dd=ro("sp"),jd=ro("rtg"),zd=ro("rtc");function Ud(e,t=_t){xr("ec",e,t)}const Bd=Symbol.for("v-ndc");function He(e,t,o,n){let r;const s=o,a=ke(e);if(a||Ye(e)){const l=a&&No(e);let i=!1,c=!1;l&&(i=!Ct(e),c=to(e),e=ir(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),H(),xo(xe,null,[Pe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=so.length;H();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=xo(xe,{key:(u&&!Lt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=so.length;u>l;u--)Fs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Wt||t.type===xe&&!Pl(t.children)):!0)?e:null}const $s=e=>e?si(e)?Cr(e):$s(e.parent):null,Tn=tt(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=>$s(e.parent),$root:e=>$s(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{bs(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ad.bind(e)}),Ss=(e,t)=>e!==qe&&!e.__isScriptSetup&&Ue(e,t),Gd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ss(n,t))return a[t]=1,n[t];if(r!==qe&&Ue(r,t))return a[t]=2,r[t];if(Ue(s,t))return a[t]=3,s[t];if(o!==qe&&Ue(o,t))return a[t]=4,o[t];Es&&(a[t]=0)}}const c=Tn[t];let u,p;if(c)return t==="$attrs"&&ft(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==qe&&Ue(o,t))return a[t]=4,o[t];if(p=i.config.globalProperties,Ue(p,t))return p[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ss(r,t)?(r[t]=o,!0):n!==qe&&Ue(n,t)?(n[t]=o,!0):Ue(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==qe&&l[0]!=="$"&&Ue(e,l)||Ss(t,l)||Ue(s,l)||Ue(n,l)||Ue(Tn,l)||Ue(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ue(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return ke(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Es=!0;function qd(e){const t=Rl(e),o=e.proxy,n=e.ctx;Es=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:v,updated:P,activated:x,deactivated:w,beforeDestroy:N,beforeUnmount:y,destroyed:f,unmounted:g,render:_,renderTracked:E,renderTriggered:$,errorCaptured:O,serverPrefetch:A,expose:U,inheritAttrs:X,components:re,directives:me,filters:q}=t;if(c&&Vd(c,n,null),a)for(const T in a){const M=a[T];Se(M)&&(n[T]=M.bind(o))}if(r){const T=r.call(o,o);Be(T)&&(e.data=Po(T))}if(Es=!0,s)for(const T in s){const M=s[T],z=Se(M)?M.bind(o,o):Se(M.get)?M.get.bind(o,o):zt,Q=!Se(M)&&Se(M.set)?M.set.bind(o):zt,se=le({get:z,set:Q});Object.defineProperty(n,T,{enumerable:!0,configurable:!0,get:()=>se.value,set:te=>se.value=te})}if(l)for(const T in l)Fl(l[T],n,o,T);if(i){const T=Se(i)?i.call(o):i;Reflect.ownKeys(T).forEach(M=>{no(M,T[M])})}u&&Il(u,e,"c");function C(T,M){ke(M)?M.forEach(z=>T(z.bind(o))):M&&T(M.bind(o))}if(C(Ll,p),C(xt,m),C(Md,v),C(Od,P),C(Id,x),C(Fd,w),C(Ud,O),C(zd,E),C(jd,$),C(Ht,y),C(ks,g),C(Dd,A),ke(U))if(U.length){const T=e.exposed||(e.exposed={});U.forEach(M=>{Object.defineProperty(T,M,{get:()=>o[M],set:z=>o[M]=z,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===zt&&(e.render=_),X!=null&&(e.inheritAttrs=X),re&&(e.components=re),me&&(e.directives=me),A&&El(e)}function Vd(e,t,o=zt){ke(e)&&(e=As(e));for(const n in e){const r=e[n];let s;Be(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){It(ke(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Fl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Ye(e)){const s=t[e];Se(s)&>(r,s)}else if(Se(e))gt(r,e.bind(o));else if(Be(e))if(ke(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Se(e.handler)?e.handler.bind(o):t[e.handler];Se(s)&>(r,s,e)}}function Rl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),Be(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Hd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Hd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:mt,created:mt,beforeMount:mt,mounted:mt,beforeUpdate:mt,updated:mt,beforeDestroy:mt,beforeUnmount:mt,destroyed:mt,unmounted:mt,activated:mt,deactivated:mt,errorCaptured:mt,serverPrefetch:mt,components:Ln,directives:Ln,watch:Kd,provide:Ml,inject:Wd};function Ml(e,t){return t?e?function(){return tt(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function Wd(e,t){return Ln(As(e),As(t))}function As(e){if(ke(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${vt(t)}Modifiers`]||e[`${$t(t)}Modifiers`];function Zd(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||qe;let r=o;const s=t.startsWith("update:"),a=s&&Jd(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ye(u)?u.trim():u)),a.number&&(r=r.map(ts)));let l,i=n[l=es(t)]||n[l=es(vt(t))];!i&&s&&(i=n[l=es($t(t))]),i&&It(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,It(c,e,6,r)}}const Qd=new WeakMap;function jl(e,t,o=!1){const n=o?Qd:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Se(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(Be(e)&&n.set(e,null),null):(ke(s)?s.forEach(i=>a[i]=null):tt(a,s),Be(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ue(e,t[0].toLowerCase()+t.slice(1))||Ue(e,$t(t))||Ue(e,t))}function Q0(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:p,data:m,setupState:v,ctx:P,inheritAttrs:x}=e,w=br(e);let N,y;try{if(o.shapeFlag&4){const g=r||n,_=g;N=Kt(c.call(_,g,u,p,v,m,P)),y=l}else{const g=t;N=Kt(g.length>1?g(p,{attrs:l,slots:a,emit:i}):g(p,null)),y=t.props?l:ef(l)}}catch(g){so.length=0,hr(g,e,1),N=Pe(Wt)}let f=N;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=f;g.length&&_&7&&(s&&g.some(tr)&&(y=tf(y,s)),f=Jo(f,y,!1,!0))}if(o.dirs&&(f=Jo(f,null,!1,!0),f.dirs=f.dirs?f.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(f.type)&&Sl(f)||f;xs(g,o.transition)}return N=f,br(w),N}const ef=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},tf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function of(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let p=0;pObject.create(Gl),Vl=e=>Object.getPrototypeOf(e)===Gl;function rf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Hl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:dd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function sf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=De(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{i=!0;const[m,v]=Wl(p,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return Be(e)&&n.set(e,Go),Go;if(ke(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ls=e=>ke(e)?e.map(Kt):[Kt(e)],lf=(e,t,o)=>{if(t._n)return t;const n=yo((...r)=>Ls(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ts(r))continue;const s=e[r];if(Se(s))t[r]=lf(r,s,n);else if(s!=null){const a=Ls(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ls(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ts(n))&&(e[n]=t[n])},cf=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},uf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=qe;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ts(l)&&a[l]==null&&delete r[l]},bt=hf;function df(e){return ff(e)}function ff(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:v=zt,insertStaticContent:P}=e,x=(b,L,k,V=null,W=null,ne=null,G=void 0,B=null,d=!!L.dynamicChildren)=>{if(b===L)return;b&&!Fn(b,L)&&(V=Te(b),te(b,W,ne,!0),b=null),L.patchFlag===-2&&(d=!1,L.dynamicChildren=null);const{type:h,ref:F,shapeFlag:j}=L;switch(h){case Pn:w(b,L,k,V);break;case Wt:N(b,L,k,V);break;case Is:b==null&&y(L,k,V,G);break;case xe:re(b,L,k,V,W,ne,G,B,d);break;default:j&1?_(b,L,k,V,W,ne,G,B,d):j&6?me(b,L,k,V,W,ne,G,B,d):(j&64||j&128)&&h.process(b,L,k,V,W,ne,G,B,d,Re)}F!=null&&W?Cn(F,b&&b.ref,ne,L||b,!L):F==null&&b&&b.ref!=null&&Cn(b.ref,null,ne,b,!0)},w=(b,L,k,V)=>{if(b==null)n(L.el=l(L.children),k,V);else{const W=L.el=b.el;L.children!==b.children&&c(W,L.children)}},N=(b,L,k,V)=>{b==null?n(L.el=i(L.children||""),k,V):L.el=b.el},y=(b,L,k,V)=>{[b.el,b.anchor]=P(b.children,L,k,V,b.el,b.anchor)},f=({el:b,anchor:L},k,V)=>{let W;for(;b&&b!==L;)W=m(b),n(b,k,V),b=W;n(L,k,V)},g=({el:b,anchor:L})=>{let k;for(;b&&b!==L;)k=m(b),r(b),b=k;r(L)},_=(b,L,k,V,W,ne,G,B,d)=>{if(L.type==="svg"?G="svg":L.type==="math"&&(G="mathml"),b==null)E(L,k,V,W,ne,G,B,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),A(b,L,W,ne,G,B,d)}finally{h&&h._endPatch()}}},E=(b,L,k,V,W,ne,G,B)=>{let d,h;const{props:F,shapeFlag:j,transition:ee,dirs:oe}=b;if(d=b.el=a(b.type,ne,F&&F.is,F),j&8?u(d,b.children):j&16&&O(b.children,d,null,V,W,Ps(b,ne),G,B),oe&&Fo(b,null,V,"created"),$(d,b,b.scopeId,G,V),F){for(const S in F)S!=="value"&&!mn(S)&&s(d,S,null,F[S],ne,V);"value"in F&&s(d,"value",null,F.value,ne),(h=F.onVnodeBeforeMount)&&Yt(h,V,b)}oe&&Fo(b,null,V,"beforeMount");const D=pf(W,ee);D&&ee.beforeEnter(d),n(d,L,k),((h=F&&F.onVnodeMounted)||D||oe)&&bt(()=>{try{h&&Yt(h,V,b),D&&ee.enter(d),oe&&Fo(b,null,V,"mounted")}finally{}},W)},$=(b,L,k,V,W)=>{if(k&&v(b,k),V)for(let ne=0;ne{for(let h=d;h{const B=L.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:F}=L;d|=b.patchFlag&16;const j=b.props||qe,ee=L.props||qe;let oe;if(k&&Oo(k,!1),(oe=ee.onVnodeBeforeUpdate)&&Yt(oe,k,L,b),F&&Fo(L,b,k,"beforeUpdate"),k&&Oo(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,G=!1,h=null),(j.innerHTML&&ee.innerHTML==null||j.textContent&&ee.textContent==null)&&u(B,""),h?U(b.dynamicChildren,h,B,k,V,Ps(L,W),ne):G||M(b,L,B,null,k,V,Ps(L,W),ne,!1),d>0){if(d&16)X(B,j,ee,k,W);else if(d&2&&j.class!==ee.class&&s(B,"class",null,ee.class,W),d&4&&s(B,"style",j.style,ee.style,W),d&8){const D=L.dynamicProps;for(let S=0;S{oe&&Yt(oe,k,L,b),F&&Fo(L,b,k,"updated")},V)},U=(b,L,k,V,W,ne,G)=>{for(let B=0;B{if(L!==k){if(L!==qe)for(const ne in L)!mn(ne)&&!(ne in k)&&s(b,ne,L[ne],null,W,V);for(const ne in k){if(mn(ne))continue;const G=k[ne],B=L[ne];G!==B&&ne!=="value"&&s(b,ne,B,G,W,V)}"value"in k&&s(b,"value",L.value,k.value,W)}},re=(b,L,k,V,W,ne,G,B,d)=>{const h=L.el=b?b.el:l(""),F=L.anchor=b?b.anchor:l("");let{patchFlag:j,dynamicChildren:ee,slotScopeIds:oe}=L;oe&&(B=B?B.concat(oe):oe),b==null?(n(h,k,V),n(F,k,V),O(L.children||[],k,F,W,ne,G,B,d)):j>0&&j&64&&ee&&b.dynamicChildren&&b.dynamicChildren.length===ee.length?(U(b.dynamicChildren,ee,k,W,ne,G,B),(L.key!=null||W&&L===W.subTree)&&Ns(b,L,!0)):M(b,L,k,F,W,ne,G,B,d)},me=(b,L,k,V,W,ne,G,B,d)=>{L.slotScopeIds=B,b==null?L.shapeFlag&512?W.ctx.activate(L,k,V,G,d):q(L,k,V,W,ne,G,d):Y(b,L,d)},q=(b,L,k,V,W,ne,G)=>{const B=b.component=xf(b,V,W);if(ws(b)&&(B.ctx.renderer=Re),wf(B,!1,G),B.asyncDep){if(W&&W.registerDep(B,C,G),!b.el){const d=B.subTree=Pe(Wt);N(null,d,L,k),b.placeholder=d.el}}else C(B,b,L,k,W,ne,G)},Y=(b,L,k)=>{const V=L.component=b.component;if(of(b,L,k))if(V.asyncDep&&!V.asyncResolved){T(V,L,k);return}else V.next=L,V.update();else L.el=b.el,V.vnode=L},C=(b,L,k,V,W,ne,G)=>{const B=()=>{if(b.isMounted){let{next:j,bu:ee,u:oe,parent:D,vnode:S}=b;{const Ie=Zl(b);if(Ie){j&&(j.el=S.el,T(b,j,G)),Ie.asyncDep.then(()=>{bt(()=>{b.isUnmounted||h()},W)});return}}let J=j,ae;Oo(b,!1),j?(j.el=S.el,T(b,j,G)):j=S,ee&&sr(ee),(ae=j.props&&j.props.onVnodeBeforeUpdate)&&Yt(ae,D,j,S),Oo(b,!0);const pe=zl(b),be=b.subTree;b.subTree=pe,x(be,pe,p(be.el),Te(be),b,W,ne),j.el=pe.el,J===null&&nf(b,pe.el),oe&&bt(oe,W),(ae=j.props&&j.props.onVnodeUpdated)&&bt(()=>Yt(ae,D,j,S),W)}else{let j;const{el:ee,props:oe}=L,{bm:D,m:S,parent:J,root:ae,type:pe}=b,be=Yo(L);Oo(b,!1),D&&sr(D),!be&&(j=oe&&oe.onVnodeBeforeMount)&&Yt(j,J,L),Oo(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(pe,b.parent?b.parent.type:void 0);const Ie=b.subTree=zl(b);x(null,Ie,k,V,b,W,ne),L.el=Ie.el}if(S&&bt(S,W),!be&&(j=oe&&oe.onVnodeMounted)){const Ie=L;bt(()=>Yt(j,J,Ie),W)}(L.shapeFlag&256||J&&Yo(J.vnode)&&J.vnode.shapeFlag&256)&&b.a&&bt(b.a,W),b.isMounted=!0,L=k=V=null}};b.scope.on();const d=b.effect=new Ha(B);b.scope.off();const h=b.update=d.run.bind(d),F=b.job=d.runIfDirty.bind(d);F.i=b,F.id=b.uid,d.scheduler=()=>bs(F),Oo(b,!0),h()},T=(b,L,k)=>{L.component=b;const V=b.vnode.props;b.vnode=L,b.next=null,sf(b,L.props,V,k),uf(b,L.children,k),Bt(),ml(b),Gt()},M=(b,L,k,V,W,ne,G,B,d=!1)=>{const h=b&&b.children,F=b?b.shapeFlag:0,j=L.children,{patchFlag:ee,shapeFlag:oe}=L;if(ee>0){if(ee&128){Q(h,j,k,V,W,ne,G,B,d);return}else if(ee&256){z(h,j,k,V,W,ne,G,B,d);return}}oe&8?(F&16&&ye(h,W,ne),j!==h&&u(k,j)):F&16?oe&16?Q(h,j,k,V,W,ne,G,B,d):ye(h,W,ne,!0):(F&8&&u(k,""),oe&16&&O(j,k,V,W,ne,G,B,d))},z=(b,L,k,V,W,ne,G,B,d)=>{b=b||Go,L=L||Go;const h=b.length,F=L.length,j=Math.min(h,F);let ee;for(ee=0;eeF?ye(b,W,ne,!0,!1,j):O(L,k,V,W,ne,G,B,d,j)},Q=(b,L,k,V,W,ne,G,B,d)=>{let h=0;const F=L.length;let j=b.length-1,ee=F-1;for(;h<=j&&h<=ee;){const oe=b[h],D=L[h]=d?ao(L[h]):Kt(L[h]);if(Fn(oe,D))x(oe,D,k,null,W,ne,G,B,d);else break;h++}for(;h<=j&&h<=ee;){const oe=b[j],D=L[ee]=d?ao(L[ee]):Kt(L[ee]);if(Fn(oe,D))x(oe,D,k,null,W,ne,G,B,d);else break;j--,ee--}if(h>j){if(h<=ee){const oe=ee+1,D=oeee)for(;h<=j;)te(b[h],W,ne,!0),h++;else{const oe=h,D=h,S=new Map;for(h=D;h<=ee;h++){const Ze=L[h]=d?ao(L[h]):Kt(L[h]);Ze.key!=null&&S.set(Ze.key,h)}let J,ae=0;const pe=ee-D+1;let be=!1,Ie=0;const Je=new Array(pe);for(h=0;h=pe){te(Ze,W,ne,!0);continue}let At;if(Ze.key!=null)At=S.get(Ze.key);else for(J=D;J<=ee;J++)if(Je[J-D]===0&&Fn(Ze,L[J])){At=J;break}At===void 0?te(Ze,W,ne,!0):(Je[At-D]=h+1,At>=Ie?Ie=At:be=!0,x(Ze,L[At],k,null,W,ne,G,B,d),ae++)}const st=be?gf(Je):Go;for(J=st.length-1,h=pe-1;h>=0;h--){const Ze=D+h,At=L[Ze],Zn=L[Ze+1],Qn=Ze+1{const{el:ne,type:G,transition:B,children:d,shapeFlag:h}=b;if(h&6){se(b.component.subTree,L,k,V);return}if(h&128){b.suspense.move(L,k,V);return}if(h&64){G.move(b,L,k,Re);return}if(G===xe){n(ne,L,k);for(let j=0;jB.enter(ne),W));else{const{leave:j,delayLeave:ee,afterLeave:oe}=B,D=()=>{b.ctx.isUnmounted?r(ne):n(ne,L,k)},S=()=>{const J=ne._isLeaving||!!ne[vs];ne._isLeaving&&ne[vs](!0),B.persisted&&!J?D():j(ne,()=>{D(),oe&&oe()})};ee?ee(ne,D,S):S()}else n(ne,L,k)},te=(b,L,k,V=!1,W=!1)=>{const{type:ne,props:G,ref:B,children:d,dynamicChildren:h,shapeFlag:F,patchFlag:j,dirs:ee,cacheIndex:oe,memo:D}=b;if(j===-2&&(W=!1),B!=null&&(Bt(),Cn(B,null,k,b,!0),Gt()),oe!=null&&(L.renderCache[oe]=void 0),F&256){L.ctx.deactivate(b);return}const S=F&1&&ee,J=!Yo(b);let ae;if(J&&(ae=G&&G.onVnodeBeforeUnmount)&&Yt(ae,L,b),F&6)Ae(b.component,k,V);else{if(F&128){b.suspense.unmount(k,V);return}S&&Fo(b,null,L,"beforeUnmount"),F&64?b.type.remove(b,L,k,Re,V):h&&!h.hasOnce&&(ne!==xe||j>0&&j&64)?ye(h,L,k,!1,!0):(ne===xe&&j&384||!W&&F&16)&&ye(d,L,k),V&&de(b)}const pe=D!=null&&oe==null;(J&&(ae=G&&G.onVnodeUnmounted)||S||pe)&&bt(()=>{ae&&Yt(ae,L,b),S&&Fo(b,null,L,"unmounted"),pe&&(b.el=null)},k)},de=b=>{const{type:L,el:k,anchor:V,transition:W}=b;if(L===xe){ge(k,V);return}if(L===Is){g(b);return}const ne=()=>{r(k),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(b.shapeFlag&1&&W&&!W.persisted){const{leave:G,delayLeave:B}=W,d=()=>G(k,ne);B?B(b.el,ne,d):d()}else ne()},ge=(b,L)=>{let k;for(;b!==L;)k=m(b),r(b),b=k;r(L)},Ae=(b,L,k)=>{const{bum:V,scope:W,job:ne,subTree:G,um:B,m:d,a:h}=b;Ql(d),Ql(h),V&&sr(V),W.stop(),ne&&(ne.flags|=8,te(G,b,L,k)),B&&bt(B,L),bt(()=>{b.isUnmounted=!0},L)},ye=(b,L,k,V=!1,W=!1,ne=0)=>{for(let G=ne;G{if(b.shapeFlag&6)return Te(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const L=m(b.anchor||b.el),k=L&&L[wl];return k?m(k):L};let Ke=!1;const ze=(b,L,k)=>{let V;b==null?L._vnode&&(te(L._vnode,null,null,!0),V=L._vnode.component):x(L._vnode||null,b,L,null,null,null,k),L._vnode=b,Ke||(Ke=!0,ml(V),bl(),Ke=!1)},Re={p:x,um:te,m:se,r:de,mt:q,mc:O,pc:M,pbc:U,n:Te,o:e};return{render:ze,hydrate:void 0,createApp:Xd(ze)}}function Ps({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Oo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ns(e,t,o=!1){const n=e.children,r=t.children;if(ke(n)&&ke(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function hf(e,t){t&&t.pendingBranch?ke(e)?t.effects.push(...e):t.effects.push(e):$d(e)}const xe=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Wt=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),so=[];let St=null;function H(e=!1){so.push(St=e?null:[])}function Fs(){so.pop(),St=so[so.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&St&&t&&(St.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?St||Go:null,Fs(),Nn>0&&St&&St.push(e),e}function K(e,t,o,n,r,s){return oi(I(e,t,o,n,r,s,!0))}function xo(e,t,o,n,r){return oi(Pe(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Fn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ye(e)||at(e)||Se(e)?{i:pt,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,r=null,s=e===xe?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,slotScopeIds:null,children:o,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Ye(o)?8:16),Nn>0&&!a&&St&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&St.push(i),i}const Pe=mf;function mf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Bd)&&(e=Wt),In(e)){const l=Jo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&St&&(l.shapeFlag&6?St[St.indexOf(e)]=l:St.push(l)),l.patchFlag=-2,l}if(Tf(e)&&(e=e.__vccOpts),t){t=bf(t);let{class:l,style:i}=t;l&&!Ye(l)&&(t.class=Me(l)),Be(i)&&(hs(i)&&!ke(i)&&(i=tt({},i)),t.style=it(i))}const a=Ye(e)?1:ti(e)?128:_r(e)?64:Be(e)?4:Se(e)?2:0;return I(e,t,o,n,r,a,s,!0)}function bf(e){return e?hs(e)||Vl(e)?tt({},e):e:null}function Jo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?_f(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?ke(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,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!==xe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jo(e.ssContent),ssFallback:e.ssFallback&&Jo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&xs(u,i.clone(u)),u}function nt(e=" ",t=0){return Pe(Pn,null,e,t)}function Ce(e="",t=!1){return t?(H(),xo(Wt,null,e)):Pe(Wt,null,e)}function Kt(e){return e==null||typeof e=="boolean"?Pe(Wt):ke(e)?Pe(xe,null,e.slice()):In(e)?ao(e):Pe(Pn,null,String(e))}function ao(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ke(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Vl(t)?t._ctx=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Se(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:pt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function _f(...e){const t={};for(let o=0;o_t||pt;let Ar,Rn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>_t=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=_t;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{_t&&_t.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function wf(e,t=!1,o=!1){t&&Rn(t);const{props:n,children:r}=e.vnode,s=si(e);rf(e,n,s,t),cf(e,r,o||t);const a=s?kf(e,t):void 0;return t&&Rn(!1),a}function kf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gd);const{setup:n}=o;if(n){Bt();const r=e.setupContext=n.length>1?Sf(e):null,s=Mn(e),a=Ho(n,e,0,[e.props,r]),l=Fa(a);if(Gt(),s(),(l||e.sp)&&!Yo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Rn(!0);try{ai(e,i,t)}finally{Rn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Be(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||zt);{const r=Mn(e);Bt();try{qd(e)}finally{Gt(),r()}}}const $f={get(e,t){return ft(e,"get",""),e[t]}};function Sf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,$f),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Ef=/(?:^|[-_])\w/g,Af=e=>e.replace(Ef,t=>t.toUpperCase()).replace(/[-_]/g,"");function Cf(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Cf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Af(n):o?"App":"Anonymous"}function Tf(e){return Se(e)&&"__vccOpts"in e}const le=(e,t)=>hd(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?Be(t)&&!ke(t)?In(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Pe(e,t,o))}finally{$r(1)}}const Lf="3.5.42";/** +`],...vd(o))}),t}function vd({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,r=` at <${ii(e.component,e.type,n)}`,s=">"+o;return e.props?[r,...xd(e.props),s]:[r+s]}function xd(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...pl(n,e[n]))}),o.length>3&&t.push(" ..."),t}function pl(e,t,o){return Ye(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:at(t)?(t=pl(e,De(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Ee(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=De(t),o?t:[`${e}=`,t])}function Ho(e,t,o,n){try{return n?e(...n):e()}catch(r){hr(r,t,o)}}function It(e,t,o,n){if(Ee(e)){const r=Ho(e,t,o,n);return r&&Fa(r)&&r.catch(s=>{hr(s,t,o)}),r}if(ke(e)){const r=[];for(let s=0;s>>1,r=ht[n],s=Sn(r);s=Sn(o)?ht.push(e):ht.splice(kd(t),0,e),e.flags|=1,hl()}}function hl(){mr||(mr=gl.then(_l))}function $d(e){if(!ke(e))_o&&e.id===-1?_o.splice(Ko+1,0,e):e.flags&1||(Wo.push(e),e.flags|=1);else for(let t=0;tSn(o)-Sn(n));if(Wo.length=0,_o){for(let o=0;oe.id==null?e.flags&2?-1:1/0:e.id;function _l(e){try{for(Vt=0;Vt{n._d&&$r(-1);const s=br(t),a=so.length;let l;try{l=e(...r)}finally{for(let i=so.length;i>a;i--)Fs();br(s),n._d&&$r(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Ft(e,t){if(pt===null)return e;const o=Cr(pt),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return o&&Ee(t)?t.call(n&&n.proxy):t}}const Sd=Symbol.for("v-scx"),Ed=()=>Le(Sd);function gt(e,t,o){return vl(e,t,o)}function vl(e,t,o=Ve){const{immediate:n,deep:r,flush:s,once:a}=o,l=tt({},o),i=t&&n||!t&&s!=="post";let c;if(On){if(s==="sync"){const v=Ed();c=v.__watcherHandles||(v.__watcherHandles=[])}else if(!i){const v=()=>{};return v.stop=zt,v.resume=zt,v.pause=zt,v}}const u=_t;l.call=(v,L,x)=>It(v,u,L,x);let f=!1;s==="post"?l.scheduler=v=>{bt(v,u&&u.suspense)}:s!=="sync"&&(f=!0,l.scheduler=(v,L)=>{L?v():bs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),f&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const m=bd(e,t,l);return On&&(c?c.push(m):i&&m()),m}function Ad(e,t,o){const n=this.proxy,r=Ye(e)?e.includes(".")?xl(n,e):()=>n[e]:e.bind(n,n);let s;Ee(t)?s=t:(s=t.handler,o=t);const a=Mn(this),l=vl(r,s.bind(n),o);return a(),l}function xl(e,t){const o=t.split(".");return()=>{let n=e;for(let r=0;re.__isTeleport,Ro=e=>e&&(e.disabled||e.disabled===""),Cd=e=>e&&(e.defer||e.defer===""),kl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$l=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,_s=(e,t)=>{const o=e&&e.to;return Ye(o)?t?t(o):null:o},Td={name:"Teleport",__isTeleport:!0,process(e,t,o,n,r,s,a,l,i,c){const{mc:u,pc:f,pbc:m,o:{insert:v,querySelector:L,createText:x,createComment:w,parentNode:P}}=c,y=Ro(t.props);let{dynamicChildren:p}=t;const g=($,M,C)=>{$.shapeFlag&16&&u($.children,M,C,r,s,a,l,i)},_=($=t)=>{const M=Ro($.props),C=$.target=_s($.props,L),z=ys(C,$,x,v);C&&(a!=="svg"&&kl(C)?a="svg":a!=="mathml"&&$l(C)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(C),M||(g($,C,z),En($,!1)))},E=$=>{const M=()=>{if(vo.get($)===M){if(vo.delete($),Ro($.props)){const C=P($.el)||o;g($,C,$.anchor),En($,!0)}_($)}};vo.set($,M),bt(M,s)};if(e==null){const $=t.el=x(""),M=t.anchor=x("");if(v($,o,n),v(M,o,n),Cd(t.props)||s&&s.pendingBranch){E(t);return}y&&(g(t,o,M),En(t,!0)),_()}else{t.el=e.el;const $=t.anchor=e.anchor,M=vo.get(e);if(M){M.flags|=8,vo.delete(e),E(t);return}t.targetStart=e.targetStart;const C=t.target=e.target,z=t.targetAnchor=e.targetAnchor,J=Ro(e.props),se=J?o:C,me=J?$:z;if(a==="svg"||kl(C)?a="svg":(a==="mathml"||$l(C))&&(a="mathml"),p?(m(e.dynamicChildren,p,se,r,s,a,l),Ns(e,t,!0)):i||f(e,t,se,me,r,s,a,l,!1),y)J?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):yr(t,o,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const G=_s(t.props,L);G&&(t.target=G,yr(t,G,null,c,0))}else J&&yr(t,C,z,c,1);En(t,y)}},remove(e,t,o,{um:n,o:{remove:r}},s){const{shapeFlag:a,children:l,anchor:i,targetStart:c,targetAnchor:u,target:f,props:m}=e,v=Ro(m),L=s||!v,x=vo.get(e);if(x&&(x.flags|=8,vo.delete(e)),f&&(r(c),r(u)),s&&r(i),!x&&(v||f)&&a&16)for(let w=0;w1){for(const o of e)if(o.type!==Wt){t=o;break}}return t}function Sl(e){if(!ws(e))return _r(e.type)&&e.children?Nd(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&Ee(o.default))return o.default()}}function xs(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;xs(_r(o.type)&&Sl(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function An(e,t){return Ee(e)?tt({name:e.name},t,{setup:e}):e}function El(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Al(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const vr=new WeakMap;function Cn(e,t,o,n,r=!1){if(ke(e)){e.forEach((x,w)=>Cn(x,t&&(ke(t)?t[w]:t),o,n,r));return}if(Yo(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Cn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Cr(n.component):n.el,a=r?null:s,{i:l,r:i}=e,c=t&&t.r,u=l.refs===Ve?l.refs={}:l.refs,f=l.setupState,m=De(f),v=f===Ve?Na:x=>Al(u,x)?!1:Ue(m,x),L=(x,w)=>!(w&&Al(u,w));if(c!=null&&c!==i){if(Cl(t),Ye(c))u[c]=null,v(c)&&(f[c]=null);else if(at(c)){const x=t;L(c,x.k)&&(c.value=null),x.k&&(u[x.k]=null)}}if(Ee(i))Ho(i,l,12,[a,u]);else{const x=Ye(i),w=at(i);if(x||w){const P=()=>{if(e.f){const y=x?v(i)?f[i]:u[i]:L()||!e.k?i.value:u[e.k];if(r)ke(y)&&Zr(y,s);else if(ke(y))y.includes(s)||y.push(s);else if(x)u[i]=[s],v(i)&&(f[i]=u[i]);else{const p=[s];L(i,e.k)&&(i.value=p),e.k&&(u[e.k]=p)}}else x?(u[i]=a,v(i)&&(f[i]=a)):w&&(L(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const y=()=>{P(),vr.delete(e)};y.id=-1,vr.set(e,y),bt(y,o)}else Cl(e),P()}}}function Cl(e){const t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}ar().requestIdleCallback,ar().cancelIdleCallback;const Yo=e=>!!e.type.__asyncLoader,ws=e=>e.type.__isKeepAlive;function Id(e,t){Tl(e,"a",t)}function Fd(e,t){Tl(e,"da",t)}function Tl(e,t,o=_t){const n=e.__wdc||(e.__wdc=()=>{let r=o;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(xr(t,n,o),o){let r=o.parent;for(;r&&r.parent;)ws(r.parent.vnode)&&Rd(n,t,o,r),r=r.parent}}function Rd(e,t,o,n){const r=xr(t,e,n,!0);ks(()=>{Zr(n[t],r)},o)}function xr(e,t,o=_t,n=!1){if(o){const r=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...a)=>{Bt();const l=Mn(o),i=It(t,o,e,a);return l(),Gt(),i});return n?r.unshift(s):r.push(s),s}}const ro=e=>(t,o=_t)=>{(!On||e==="sp")&&xr(e,(...n)=>t(...n),o)},Ll=ro("bm"),xt=ro("m"),Md=ro("bu"),Od=ro("u"),Ht=ro("bum"),ks=ro("um"),Dd=ro("sp"),jd=ro("rtg"),zd=ro("rtc");function Ud(e,t=_t){xr("ec",e,t)}const Bd=Symbol.for("v-ndc");function We(e,t,o,n){let r;const s=o,a=ke(e);if(a||Ye(e)){const l=a&&No(e);let i=!1,c=!1;l&&(i=!Ct(e),c=to(e),e=ir(e)),r=new Array(e.length);for(let u=0,f=e.length;ut(l,i,void 0,s));else{const l=Object.keys(e);r=new Array(l.length);for(let i=0,c=l.length;i0;return t!=="default"&&(c.name=t),V(),xo(xe,null,[Pe("slot",c,n)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const l=so.length;V();let i;try{const c=a&&Pl(a(o)),u=o.key||s||c&&c.key;i=xo(xe,{key:(u&&!Lt(u)?u:`_${t}`)+(!c&&n?"_fb":"")},c||(n?n():[]),c&&e._===1?64:-2)}catch(c){for(let u=so.length;u>l;u--)Fs();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Pl(e){return e.some(t=>In(t)?!(t.type===Wt||t.type===xe&&!Pl(t.children)):!0)?e:null}const $s=e=>e?si(e)?Cr(e):$s(e.parent):null,Tn=tt(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=>$s(e.parent),$root:e=>$s(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Rl(e),$forceUpdate:e=>e.f||(e.f=()=>{bs(e.update)}),$nextTick:e=>e.n||(e.n=$n.bind(e.proxy)),$watch:e=>Ad.bind(e)}),Ss=(e,t)=>e!==Ve&&!e.__isScriptSetup&&Ue(e,t),Gd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:r,props:s,accessCache:a,type:l,appContext:i}=e;if(t[0]!=="$"){const m=a[t];if(m!==void 0)switch(m){case 1:return n[t];case 2:return r[t];case 4:return o[t];case 3:return s[t]}else{if(Ss(n,t))return a[t]=1,n[t];if(r!==Ve&&Ue(r,t))return a[t]=2,r[t];if(Ue(s,t))return a[t]=3,s[t];if(o!==Ve&&Ue(o,t))return a[t]=4,o[t];Es&&(a[t]=0)}}const c=Tn[t];let u,f;if(c)return t==="$attrs"&&ft(e.attrs,"get",""),c(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(o!==Ve&&Ue(o,t))return a[t]=4,o[t];if(f=i.config.globalProperties,Ue(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:r,ctx:s}=e;return Ss(r,t)?(r[t]=o,!0):n!==Ve&&Ue(n,t)?(n[t]=o,!0):Ue(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:r,props:s,type:a}},l){let i;return!!(o[l]||e!==Ve&&l[0]!=="$"&&Ue(e,l)||Ss(t,l)||Ue(s,l)||Ue(n,l)||Ue(Tn,l)||Ue(r.config.globalProperties,l)||(i=a.__cssModules)&&i[l])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Ue(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Nl(e){return ke(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Es=!0;function qd(e){const t=Rl(e),o=e.proxy,n=e.ctx;Es=!1,t.beforeCreate&&Il(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:l,provide:i,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:v,updated:L,activated:x,deactivated:w,beforeDestroy:P,beforeUnmount:y,destroyed:p,unmounted:g,render:_,renderTracked:E,renderTriggered:$,errorCaptured:M,serverPrefetch:C,expose:z,inheritAttrs:J,components:se,directives:me,filters:G}=t;if(c&&Vd(c,n,null),a)for(const A in a){const N=a[A];Ee(N)&&(n[A]=N.bind(o))}if(r){const A=r.call(o,o);Ge(A)&&(e.data=Po(A))}if(Es=!0,s)for(const A in s){const N=s[A],oe=Ee(N)?N.bind(o,o):Ee(N.get)?N.get.bind(o,o):zt,D=!Ee(N)&&Ee(N.set)?N.set.bind(o):zt,W=le({get:oe,set:D});Object.defineProperty(n,A,{enumerable:!0,configurable:!0,get:()=>W.value,set:X=>W.value=X})}if(l)for(const A in l)Fl(l[A],n,o,A);if(i){const A=Ee(i)?i.call(o):i;Reflect.ownKeys(A).forEach(N=>{no(N,A[N])})}u&&Il(u,e,"c");function H(A,N){ke(N)?N.forEach(oe=>A(oe.bind(o))):N&&A(N.bind(o))}if(H(Ll,f),H(xt,m),H(Md,v),H(Od,L),H(Id,x),H(Fd,w),H(Ud,M),H(zd,E),H(jd,$),H(Ht,y),H(ks,g),H(Dd,C),ke(z))if(z.length){const A=e.exposed||(e.exposed={});z.forEach(N=>{Object.defineProperty(A,N,{get:()=>o[N],set:oe=>o[N]=oe,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===zt&&(e.render=_),J!=null&&(e.inheritAttrs=J),se&&(e.components=se),me&&(e.directives=me),C&&El(e)}function Vd(e,t,o=zt){ke(e)&&(e=As(e));for(const n in e){const r=e[n];let s;Ge(r)?"default"in r?s=Le(r.from||n,r.default,!0):s=Le(r.from||n):s=Le(r),at(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[n]=s}}function Il(e,t,o){It(ke(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Fl(e,t,o,n){let r=n.includes(".")?xl(o,n):()=>o[n];if(Ye(e)){const s=t[e];Ee(s)&>(r,s)}else if(Ee(e))gt(r,e.bind(o));else if(Ge(e))if(ke(e))e.forEach(s=>Fl(s,t,o,n));else{const s=Ee(e.handler)?e.handler.bind(o):t[e.handler];Ee(s)&>(r,s,e)}}function Rl(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,l=s.get(t);let i;return l?i=l:!r.length&&!o&&!n?i=t:(i={},r.length&&r.forEach(c=>wr(i,c,a,!0)),wr(i,t,a)),Ge(t)&&s.set(t,i),i}function wr(e,t,o,n=!1){const{mixins:r,extends:s}=t;s&&wr(e,s,o,!0),r&&r.forEach(a=>wr(e,a,o,!0));for(const a in t)if(!(n&&a==="expose")){const l=Hd[a]||o&&o[a];e[a]=l?l(e[a],t[a]):t[a]}return e}const Hd={data:Ml,props:Ol,emits:Ol,methods:Ln,computed:Ln,beforeCreate:mt,created:mt,beforeMount:mt,mounted:mt,beforeUpdate:mt,updated:mt,beforeDestroy:mt,beforeUnmount:mt,destroyed:mt,unmounted:mt,activated:mt,deactivated:mt,errorCaptured:mt,serverPrefetch:mt,components:Ln,directives:Ln,watch:Kd,provide:Ml,inject:Wd};function Ml(e,t){return t?e?function(){return tt(Ee(e)?e.call(this,this):e,Ee(t)?t.call(this,this):t)}:t:e}function Wd(e,t){return Ln(As(e),As(t))}function As(e){if(ke(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${vt(t)}Modifiers`]||e[`${$t(t)}Modifiers`];function Zd(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Ve;let r=o;const s=t.startsWith("update:"),a=s&&Jd(n,t.slice(7));a&&(a.trim&&(r=o.map(u=>Ye(u)?u.trim():u)),a.number&&(r=r.map(ts)));let l,i=n[l=es(t)]||n[l=es(vt(t))];!i&&s&&(i=n[l=es($t(t))]),i&&It(i,e,6,r);const c=n[l+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,It(c,e,6,r)}}const Qd=new WeakMap;function jl(e,t,o=!1){const n=o?Qd:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const s=e.emits;let a={},l=!1;if(!Ee(e)){const i=c=>{const u=jl(c,t,!0);u&&(l=!0,tt(a,u))};!o&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!s&&!l?(Ge(e)&&n.set(e,null),null):(ke(s)?s.forEach(i=>a[i]=null):tt(a,s),Ge(e)&&n.set(e,a),a)}function kr(e,t){return!e||!er(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Ue(e,t[0].toLowerCase()+t.slice(1))||Ue(e,$t(t))||Ue(e,t))}function ew(){}function zl(e){const{type:t,vnode:o,proxy:n,withProxy:r,propsOptions:[s],slots:a,attrs:l,emit:i,render:c,renderCache:u,props:f,data:m,setupState:v,ctx:L,inheritAttrs:x}=e,w=br(e);let P,y;try{if(o.shapeFlag&4){const g=r||n,_=g;P=Kt(c.call(_,g,u,f,v,m,L)),y=l}else{const g=t;P=Kt(g.length>1?g(f,{attrs:l,slots:a,emit:i}):g(f,null)),y=t.props?l:ef(l)}}catch(g){so.length=0,hr(g,e,1),P=Pe(Wt)}let p=P;if(y&&x!==!1){const g=Object.keys(y),{shapeFlag:_}=p;g.length&&_&7&&(s&&g.some(tr)&&(y=tf(y,s)),p=Jo(p,y,!1,!0))}if(o.dirs&&(p=Jo(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(o.dirs):o.dirs),o.transition){const g=_r(p.type)&&Sl(p)||p;xs(g,o.transition)}return P=p,br(w),P}const ef=e=>{let t;for(const o in e)(o==="class"||o==="style"||er(o))&&((t||(t={}))[o]=e[o]);return t},tf=(e,t)=>{const o={};for(const n in e)(!tr(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function of(e,t,o){const{props:n,children:r,component:s}=e,{props:a,children:l,patchFlag:i}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&i>=0){if(i&1024)return!0;if(i&16)return n?Ul(n,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let f=0;fObject.create(Gl),Vl=e=>Object.getPrototypeOf(e)===Gl;function rf(e,t,o,n=!1){const r={},s=ql();e.propsDefaults=Object.create(null),Hl(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);o?e.props=n?r:dd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function sf(e,t,o,n){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,l=De(r),[i]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[m,v]=Wl(f,t,!0);tt(a,m),v&&l.push(...v)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!i)return Ge(e)&&n.set(e,Go),Go;if(ke(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ls=e=>ke(e)?e.map(Kt):[Kt(e)],lf=(e,t,o)=>{if(t._n)return t;const n=yo((...r)=>Ls(t(...r)),o);return n._c=!1,n},Yl=(e,t,o)=>{const n=e._ctx;for(const r in e){if(Ts(r))continue;const s=e[r];if(Ee(s))t[r]=lf(r,s,n);else if(s!=null){const a=Ls(s);t[r]=()=>a}}},Xl=(e,t)=>{const o=Ls(t);e.slots.default=()=>o},Jl=(e,t,o)=>{for(const n in t)(o||!Ts(n))&&(e[n]=t[n])},cf=(e,t,o)=>{const n=e.slots=ql();if(e.vnode.shapeFlag&32){const r=t._;r?(Jl(n,t,o),o&&Oa(n,"_",r,!0)):Yl(t,n)}else t&&Xl(e,t)},uf=(e,t,o)=>{const{vnode:n,slots:r}=e;let s=!0,a=Ve;if(n.shapeFlag&32){const l=t._;l?o&&l===1?s=!1:Jl(r,t,o):(s=!t.$stable,Yl(t,r)),a=t}else t&&(Xl(e,t),a={default:1});if(s)for(const l in r)!Ts(l)&&a[l]==null&&delete r[l]},bt=hf;function df(e){return ff(e)}function ff(e,t){const o=ar();o.__VUE__=!0;const{insert:n,remove:r,patchProp:s,createElement:a,createText:l,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:v=zt,insertStaticContent:L}=e,x=(b,T,k,q=null,K=null,re=null,B=void 0,U=null,d=!!T.dynamicChildren)=>{if(b===T)return;b&&!Fn(b,T)&&(q=be(b),X(b,K,re,!0),b=null),T.patchFlag===-2&&(d=!1,T.dynamicChildren=null);const{type:h,ref:F,shapeFlag:j}=T;switch(h){case Pn:w(b,T,k,q);break;case Wt:P(b,T,k,q);break;case Is:b==null&&y(T,k,q,B);break;case xe:se(b,T,k,q,K,re,B,U,d);break;default:j&1?_(b,T,k,q,K,re,B,U,d):j&6?me(b,T,k,q,K,re,B,U,d):(j&64||j&128)&&h.process(b,T,k,q,K,re,B,U,d,Te)}F!=null&&K?Cn(F,b&&b.ref,re,T||b,!T):F==null&&b&&b.ref!=null&&Cn(b.ref,null,re,b,!0)},w=(b,T,k,q)=>{if(b==null)n(T.el=l(T.children),k,q);else{const K=T.el=b.el;T.children!==b.children&&c(K,T.children)}},P=(b,T,k,q)=>{b==null?n(T.el=i(T.children||""),k,q):T.el=b.el},y=(b,T,k,q)=>{[b.el,b.anchor]=L(b.children,T,k,q,b.el,b.anchor)},p=({el:b,anchor:T},k,q)=>{let K;for(;b&&b!==T;)K=m(b),n(b,k,q),b=K;n(T,k,q)},g=({el:b,anchor:T})=>{let k;for(;b&&b!==T;)k=m(b),r(b),b=k;r(T)},_=(b,T,k,q,K,re,B,U,d)=>{if(T.type==="svg"?B="svg":T.type==="math"&&(B="mathml"),b==null)E(T,k,q,K,re,B,U,d);else{const h=b.el&&b.el._isVueCE?b.el:null;try{h&&h._beginPatch(),C(b,T,K,re,B,U,d)}finally{h&&h._endPatch()}}},E=(b,T,k,q,K,re,B,U)=>{let d,h;const{props:F,shapeFlag:j,transition:te,dirs:ne}=b;if(d=b.el=a(b.type,re,F&&F.is,F),j&8?u(d,b.children):j&16&&M(b.children,d,null,q,K,Ps(b,re),B,U),ne&&Fo(b,null,q,"created"),$(d,b,b.scopeId,B,q),F){for(const S in F)S!=="value"&&!mn(S)&&s(d,S,null,F[S],re,q);"value"in F&&s(d,"value",null,F.value,re),(h=F.onVnodeBeforeMount)&&Yt(h,q,b)}ne&&Fo(b,null,q,"beforeMount");const O=pf(K,te);O&&te.beforeEnter(d),n(d,T,k),((h=F&&F.onVnodeMounted)||O||ne)&&bt(()=>{try{h&&Yt(h,q,b),O&&te.enter(d),ne&&Fo(b,null,q,"mounted")}finally{}},K)},$=(b,T,k,q,K)=>{if(k&&v(b,k),q)for(let re=0;re{for(let h=d;h{const U=T.el=b.el;let{patchFlag:d,dynamicChildren:h,dirs:F}=T;d|=b.patchFlag&16;const j=b.props||Ve,te=T.props||Ve;let ne;if(k&&Oo(k,!1),(ne=te.onVnodeBeforeUpdate)&&Yt(ne,k,T,b),F&&Fo(T,b,k,"beforeUpdate"),k&&Oo(k,!0),h&&(!b.dynamicChildren||b.dynamicChildren.length!==h.length)&&(d=0,B=!1,h=null),(j.innerHTML&&te.innerHTML==null||j.textContent&&te.textContent==null)&&u(U,""),h?z(b.dynamicChildren,h,U,k,q,Ps(T,K),re):B||N(b,T,U,null,k,q,Ps(T,K),re,!1),d>0){if(d&16)J(U,j,te,k,K);else if(d&2&&j.class!==te.class&&s(U,"class",null,te.class,K),d&4&&s(U,"style",j.style,te.style,K),d&8){const O=T.dynamicProps;for(let S=0;S{ne&&Yt(ne,k,T,b),F&&Fo(T,b,k,"updated")},q)},z=(b,T,k,q,K,re,B)=>{for(let U=0;U{if(T!==k){if(T!==Ve)for(const re in T)!mn(re)&&!(re in k)&&s(b,re,T[re],null,K,q);for(const re in k){if(mn(re))continue;const B=k[re],U=T[re];B!==U&&re!=="value"&&s(b,re,U,B,K,q)}"value"in k&&s(b,"value",T.value,k.value,K)}},se=(b,T,k,q,K,re,B,U,d)=>{const h=T.el=b?b.el:l(""),F=T.anchor=b?b.anchor:l("");let{patchFlag:j,dynamicChildren:te,slotScopeIds:ne}=T;ne&&(U=U?U.concat(ne):ne),b==null?(n(h,k,q),n(F,k,q),M(T.children||[],k,F,K,re,B,U,d)):j>0&&j&64&&te&&b.dynamicChildren&&b.dynamicChildren.length===te.length?(z(b.dynamicChildren,te,k,K,re,B,U),(T.key!=null||K&&T===K.subTree)&&Ns(b,T,!0)):N(b,T,k,F,K,re,B,U,d)},me=(b,T,k,q,K,re,B,U,d)=>{T.slotScopeIds=U,b==null?T.shapeFlag&512?K.ctx.activate(T,k,q,B,d):G(T,k,q,K,re,B,d):ee(b,T,d)},G=(b,T,k,q,K,re,B)=>{const U=b.component=xf(b,q,K);if(ws(b)&&(U.ctx.renderer=Te),wf(U,!1,B),U.asyncDep){if(K&&K.registerDep(U,H,B),!b.el){const d=U.subTree=Pe(Wt);P(null,d,T,k),b.placeholder=d.el}}else H(U,b,T,k,K,re,B)},ee=(b,T,k)=>{const q=T.component=b.component;if(of(b,T,k))if(q.asyncDep&&!q.asyncResolved){A(q,T,k);return}else q.next=T,q.update();else T.el=b.el,q.vnode=T},H=(b,T,k,q,K,re,B)=>{const U=()=>{if(b.isMounted){let{next:j,bu:te,u:ne,parent:O,vnode:S}=b;{const Fe=Zl(b);if(Fe){j&&(j.el=S.el,A(b,j,B)),Fe.asyncDep.then(()=>{bt(()=>{b.isUnmounted||h()},K)});return}}let Z=j,ae;Oo(b,!1),j?(j.el=S.el,A(b,j,B)):j=S,te&&sr(te),(ae=j.props&&j.props.onVnodeBeforeUpdate)&&Yt(ae,O,j,S),Oo(b,!0);const ge=zl(b),_e=b.subTree;b.subTree=ge,x(_e,ge,f(_e.el),be(_e),b,K,re),j.el=ge.el,Z===null&&nf(b,ge.el),ne&&bt(ne,K),(ae=j.props&&j.props.onVnodeUpdated)&&bt(()=>Yt(ae,O,j,S),K)}else{let j;const{el:te,props:ne}=T,{bm:O,m:S,parent:Z,root:ae,type:ge}=b,_e=Yo(T);Oo(b,!1),O&&sr(O),!_e&&(j=ne&&ne.onVnodeBeforeMount)&&Yt(j,Z,T),Oo(b,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(ge,b.parent?b.parent.type:void 0);const Fe=b.subTree=zl(b);x(null,Fe,k,q,b,K,re),T.el=Fe.el}if(S&&bt(S,K),!_e&&(j=ne&&ne.onVnodeMounted)){const Fe=T;bt(()=>Yt(j,Z,Fe),K)}(T.shapeFlag&256||Z&&Yo(Z.vnode)&&Z.vnode.shapeFlag&256)&&b.a&&bt(b.a,K),b.isMounted=!0,T=k=q=null}};b.scope.on();const d=b.effect=new Ha(U);b.scope.off();const h=b.update=d.run.bind(d),F=b.job=d.runIfDirty.bind(d);F.i=b,F.id=b.uid,d.scheduler=()=>bs(F),Oo(b,!0),h()},A=(b,T,k)=>{T.component=b;const q=b.vnode.props;b.vnode=T,b.next=null,sf(b,T.props,q,k),uf(b,T.children,k),Bt(),ml(b),Gt()},N=(b,T,k,q,K,re,B,U,d=!1)=>{const h=b&&b.children,F=b?b.shapeFlag:0,j=T.children,{patchFlag:te,shapeFlag:ne}=T;if(te>0){if(te&128){D(h,j,k,q,K,re,B,U,d);return}else if(te&256){oe(h,j,k,q,K,re,B,U,d);return}}ne&8?(F&16&&Ie(h,K,re),j!==h&&u(k,j)):F&16?ne&16?D(h,j,k,q,K,re,B,U,d):Ie(h,K,re,!0):(F&8&&u(k,""),ne&16&&M(j,k,q,K,re,B,U,d))},oe=(b,T,k,q,K,re,B,U,d)=>{b=b||Go,T=T||Go;const h=b.length,F=T.length,j=Math.min(h,F);let te;for(te=0;teF?Ie(b,K,re,!0,!1,j):M(T,k,q,K,re,B,U,d,j)},D=(b,T,k,q,K,re,B,U,d)=>{let h=0;const F=T.length;let j=b.length-1,te=F-1;for(;h<=j&&h<=te;){const ne=b[h],O=T[h]=d?ao(T[h]):Kt(T[h]);if(Fn(ne,O))x(ne,O,k,null,K,re,B,U,d);else break;h++}for(;h<=j&&h<=te;){const ne=b[j],O=T[te]=d?ao(T[te]):Kt(T[te]);if(Fn(ne,O))x(ne,O,k,null,K,re,B,U,d);else break;j--,te--}if(h>j){if(h<=te){const ne=te+1,O=nete)for(;h<=j;)X(b[h],K,re,!0),h++;else{const ne=h,O=h,S=new Map;for(h=O;h<=te;h++){const Ze=T[h]=d?ao(T[h]):Kt(T[h]);Ze.key!=null&&S.set(Ze.key,h)}let Z,ae=0;const ge=te-O+1;let _e=!1,Fe=0;const Je=new Array(ge);for(h=0;h=ge){X(Ze,K,re,!0);continue}let At;if(Ze.key!=null)At=S.get(Ze.key);else for(Z=O;Z<=te;Z++)if(Je[Z-O]===0&&Fn(Ze,T[Z])){At=Z;break}At===void 0?X(Ze,K,re,!0):(Je[At-O]=h+1,At>=Fe?Fe=At:_e=!0,x(Ze,T[At],k,null,K,re,B,U,d),ae++)}const st=_e?gf(Je):Go;for(Z=st.length-1,h=ge-1;h>=0;h--){const Ze=O+h,At=T[Ze],Zn=T[Ze+1],Qn=Ze+1{const{el:re,type:B,transition:U,children:d,shapeFlag:h}=b;if(h&6){W(b.component.subTree,T,k,q);return}if(h&128){b.suspense.move(T,k,q);return}if(h&64){B.move(b,T,k,Te);return}if(B===xe){n(re,T,k);for(let j=0;jU.enter(re),K));else{const{leave:j,delayLeave:te,afterLeave:ne}=U,O=()=>{b.ctx.isUnmounted?r(re):n(re,T,k)},S=()=>{const Z=re._isLeaving||!!re[vs];re._isLeaving&&re[vs](!0),U.persisted&&!Z?O():j(re,()=>{O(),ne&&ne()})};te?te(re,O,S):S()}else n(re,T,k)},X=(b,T,k,q=!1,K=!1)=>{const{type:re,props:B,ref:U,children:d,dynamicChildren:h,shapeFlag:F,patchFlag:j,dirs:te,cacheIndex:ne,memo:O}=b;if(j===-2&&(K=!1),U!=null&&(Bt(),Cn(U,null,k,b,!0),Gt()),ne!=null&&(T.renderCache[ne]=void 0),F&256){T.ctx.deactivate(b);return}const S=F&1&&te,Z=!Yo(b);let ae;if(Z&&(ae=B&&B.onVnodeBeforeUnmount)&&Yt(ae,T,b),F&6)$e(b.component,k,q);else{if(F&128){b.suspense.unmount(k,q);return}S&&Fo(b,null,T,"beforeUnmount"),F&64?b.type.remove(b,T,k,Te,q):h&&!h.hasOnce&&(re!==xe||j>0&&j&64)?Ie(h,T,k,!1,!0):(re===xe&&j&384||!K&&F&16)&&Ie(d,T,k),q&&ie(b)}const ge=O!=null&&ne==null;(Z&&(ae=B&&B.onVnodeUnmounted)||S||ge)&&bt(()=>{ae&&Yt(ae,T,b),S&&Fo(b,null,T,"unmounted"),ge&&(b.el=null)},k)},ie=b=>{const{type:T,el:k,anchor:q,transition:K}=b;if(T===xe){pe(k,q);return}if(T===Is){g(b);return}const re=()=>{r(k),K&&!K.persisted&&K.afterLeave&&K.afterLeave()};if(b.shapeFlag&1&&K&&!K.persisted){const{leave:B,delayLeave:U}=K,d=()=>B(k,re);U?U(b.el,re,d):d()}else re()},pe=(b,T)=>{let k;for(;b!==T;)k=m(b),r(b),b=k;r(T)},$e=(b,T,k)=>{const{bum:q,scope:K,job:re,subTree:B,um:U,m:d,a:h}=b;Ql(d),Ql(h),q&&sr(q),K.stop(),re&&(re.flags|=8,X(B,b,T,k)),U&&bt(U,T),bt(()=>{b.isUnmounted=!0},T)},Ie=(b,T,k,q=!1,K=!1,re=0)=>{for(let B=re;B{if(b.shapeFlag&6)return be(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const T=m(b.anchor||b.el),k=T&&T[wl];return k?m(k):T};let Be=!1;const ze=(b,T,k)=>{let q;b==null?T._vnode&&(X(T._vnode,null,null,!0),q=T._vnode.component):x(T._vnode||null,b,T,null,null,null,k),T._vnode=b,Be||(Be=!0,ml(q),bl(),Be=!1)},Te={p:x,um:X,m:W,r:ie,mt:G,mc:M,pc:N,pbc:z,n:be,o:e};return{render:ze,hydrate:void 0,createApp:Xd(ze)}}function Ps({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Oo({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ns(e,t,o=!1){const n=e.children,r=t.children;if(ke(n)&&ke(r))for(let s=0;s>1,e[o[l]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,a=o[s-1];s-- >0;)o[s]=a,a=t[a];return o}function Zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zl(t)}function Ql(e){if(e)for(let t=0;te.__isSuspense;function hf(e,t){t&&t.pendingBranch?ke(e)?t.effects.push(...e):t.effects.push(e):$d(e)}const xe=Symbol.for("v-fgt"),Pn=Symbol.for("v-txt"),Wt=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),so=[];let St=null;function V(e=!1){so.push(St=e?null:[])}function Fs(){so.pop(),St=so[so.length-1]||null}let Nn=1;function $r(e,t=!1){Nn+=e,e<0&&St&&t&&(St.hasOnce=!0)}function oi(e){return e.dynamicChildren=Nn>0?St||Go:null,Fs(),Nn>0&&St&&St.push(e),e}function Y(e,t,o,n,r,s){return oi(I(e,t,o,n,r,s,!0))}function xo(e,t,o,n,r){return oi(Pe(e,t,o,n,r,!0))}function In(e){return e?e.__v_isVNode===!0:!1}function Fn(e,t){return e.type===t.type&&e.key===t.key}const ni=({key:e})=>e??null,Sr=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ye(e)||at(e)||Ee(e)?{i:pt,r:e,k:t,f:!!o}:e:null);function I(e,t=null,o=null,n=0,r=null,s=e===xe?0:1,a=!1,l=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ni(t),ref:t&&Sr(t),scopeId:yl,slotScopeIds:null,children:o,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:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pt};return l?(Er(i,o),s&128&&e.normalize(i)):o&&(i.shapeFlag|=Ye(o)?8:16),Nn>0&&!a&&St&&(i.patchFlag>0||s&6)&&i.patchFlag!==32&&St.push(i),i}const Pe=mf;function mf(e,t=null,o=null,n=0,r=null,s=!1){if((!e||e===Bd)&&(e=Wt),In(e)){const l=Jo(e,t,!0);return o&&Er(l,o),Nn>0&&!s&&St&&(l.shapeFlag&6?St[St.indexOf(e)]=l:St.push(l)),l.patchFlag=-2,l}if(Tf(e)&&(e=e.__vccOpts),t){t=bf(t);let{class:l,style:i}=t;l&&!Ye(l)&&(t.class=Me(l)),Ge(i)&&(hs(i)&&!ke(i)&&(i=tt({},i)),t.style=it(i))}const a=Ye(e)?1:ti(e)?128:_r(e)?64:Ge(e)?4:Ee(e)?2:0;return I(e,t,o,n,r,a,s,!0)}function bf(e){return e?hs(e)||Vl(e)?tt({},e):e:null}function Jo(e,t,o=!1,n=!1){const{props:r,ref:s,patchFlag:a,children:l,transition:i}=e,c=t?_f(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ni(c),ref:t&&t.ref?o&&s?ke(s)?s.concat(Sr(t)):[s,Sr(t)]:Sr(t):s,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!==xe?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jo(e.ssContent),ssFallback:e.ssFallback&&Jo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&n&&xs(u,i.clone(u)),u}function nt(e=" ",t=0){return Pe(Pn,null,e,t)}function Ce(e="",t=!1){return t?(V(),xo(Wt,null,e)):Pe(Wt,null,e)}function Kt(e){return e==null||typeof e=="boolean"?Pe(Wt):ke(e)?Pe(xe,null,e.slice()):In(e)?ao(e):Pe(Pn,null,String(e))}function ao(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jo(e)}function Er(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ke(t))o=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Er(e,r()),r._c&&(r._d=!0));return}else{o=32;const r=t._;!r&&!Vl(t)?t._ctx=pt:r===3&&pt&&(pt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Ee(t)){if(n&65){Er(e,{default:t});return}t={default:t,_ctx:pt},o=32}else t=String(t),n&64?(o=16,t=[nt(t)]):o=8;e.children=t,e.shapeFlag|=o}function _f(...e){const t={};for(let o=0;o_t||pt;let Ar,Rn;{const e=ar(),t=(o,n)=>{let r;return(r=e[o])||(r=e[o]=[]),r.push(n),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Ar=t("__VUE_INSTANCE_SETTERS__",o=>_t=o),Rn=t("__VUE_SSR_SETTERS__",o=>On=o)}const Mn=e=>{const t=_t;return Ar(e),e.scope.on(),()=>{e.scope.off(),Ar(t)}},ri=()=>{_t&&_t.scope.off(),Ar(null)};function si(e){return e.vnode.shapeFlag&4}let On=!1;function wf(e,t=!1,o=!1){t&&Rn(t);const{props:n,children:r}=e.vnode,s=si(e);rf(e,n,s,t),cf(e,r,o||t);const a=s?kf(e,t):void 0;return t&&Rn(!1),a}function kf(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gd);const{setup:n}=o;if(n){Bt();const r=e.setupContext=n.length>1?Sf(e):null,s=Mn(e),a=Ho(n,e,0,[e.props,r]),l=Fa(a);if(Gt(),s(),(l||e.sp)&&!Yo(e)&&El(e),l){if(a.then(ri,ri),t)return a.then(i=>{Rn(!0);try{ai(e,i,t)}finally{Rn(!1)}}).catch(i=>{hr(i,e,0)});e.asyncDep=a}else ai(e,a)}else li(e)}function ai(e,t,o){Ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ge(t)&&(e.setupState=fl(t)),li(e)}function li(e,t,o){const n=e.type;e.render||(e.render=n.render||zt);{const r=Mn(e);Bt();try{qd(e)}finally{Gt(),r()}}}const $f={get(e,t){return ft(e,"get",""),e[t]}};function Sf(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,$f),slots:e.slots,emit:e.emit,expose:t}}function Cr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fl(ul(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Tn)return Tn[o](e)},has(t,o){return o in t||o in Tn}})):e.proxy}const Ef=/(?:^|[-_])\w/g,Af=e=>e.replace(Ef,t=>t.toUpperCase()).replace(/[-_]/g,"");function Cf(e,t=!0){return Ee(e)?e.displayName||e.name:e.name||t&&e.__name}function ii(e,t,o=!1){let n=Cf(t);if(!n&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(n=r[1])}if(!n&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};n=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return n?Af(n):o?"App":"Anonymous"}function Tf(e){return Ee(e)&&"__vccOpts"in e}const le=(e,t)=>hd(e,t,On);function ci(e,t,o){try{$r(-1);const n=arguments.length;return n===2?Ge(t)&&!ke(t)?In(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&In(o)&&(o=[o]),Pe(e,t,o))}finally{$r(1)}}const Lf="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Rs;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Rs=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Rs?e=>Rs.createHTML(e):e=>e,Pf="http://www.w3.org/2000/svg",Nf="http://www.w3.org/1998/Math/MathML",lo=typeof document<"u"?document:null,fi=lo&&lo.createElement("template"),If={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const r=t==="svg"?lo.createElementNS(Pf,e):t==="mathml"?lo.createElementNS(Nf,e):o?lo.createElement(e,{is:o}):lo.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>lo.createTextNode(e),createComment:e=>lo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>lo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Ff=Symbol("_vtc");function Rf(e,t,o){const n=e[Ff];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Xt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const Mf=Symbol(""),Of=/(?:^|;)\s*display\s*:/;function Df(e,t,o){const n=e.style,r=Ye(o);let s=!1;if(o&&!r){if(t)if(Ye(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?zf(e,a,!Ye(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[Mf];a&&(o+=";"+a),n.cssText=o,s=Of.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(ke(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=jf(e,t);Lr.test(o)?e.setProperty($t(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Ms={};function jf(e,t){const o=Ms[t];if(o)return o;let n=vt(t);if(n!=="filter"&&n in e)return Ms[t]=n;n=Ma(n);for(let r=0;rOs||(Hf.then(()=>Os=0),Os=Date.now());function Kf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(ke(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Rf(e,n,a):t==="style"?Df(e,o,n):er(t)?tr(t)||Bf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(Jf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ye(n)))?bi(e,vt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Xf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Se(o));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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Ye(o)?!1:t in e}function Jf(e,t){const o=e._def.props;if(!o)return!1;const n=vt(t);return Array.isArray(o)?o.some(r=>vt(r)===n):Object.keys(o).some(r=>vt(r)===n)}const vi={};function Zf(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends Ds{constructor(a){super(n,a,o)}}return r.def=n,r}const Qf=typeof HTMLElement<"u"?HTMLElement:class{};class Ds extends Qf{constructor(t,o={},n=Si){super(),this._def=t,this._props=o,this._createApp=n,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&&n!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 Ds){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,$n(()=>{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 o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let l;if(s&&!ke(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[vt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!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 o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ue(this,n)||Object.defineProperty(this,n,{get:()=>he(o[n])})}_resolveProps(t){const{props:o}=t,n=ke(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(vt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=vt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute($t(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute($t(t),o+""):o||this.removeAttribute($t(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),ap(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Pe(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),$t(s)!==s&&r($t(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return ke(t)?o=>sr(t,o):t};function ep(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function js(e,t,o){return t&&(e=e.trim()),o&&(e=ts(e)),e}const tp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Nr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Pr]=xi(r);const s=n||r.props&&r.props.type==="number";Zo(e,t?"change":"input",a=>{a.target.composing||e[Pr](js(e.value,o,s))}),(o||s)&&Zo(e,"change",()=>{e.value=js(e.value,o,s)}),t||(Zo(e,"compositionstart",ep),Zo(e,"compositionend",wi),Zo(e,"change",wi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",s=e[Nr];delete e[Nr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Pr](js(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:s}},a){if(e[Pr]=xi(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?ts(e.value):e.value,i=t??"";if(l===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||r&&e.value.trim()===i)||(e.value=i)}},op=["ctrl","shift","alt","meta"],np={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>op.some(o=>e[`${o}Key`]&&!t.includes(o))},Qo=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...s)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const s=$t(r.key);if(t.some(a=>a===s||rp[a]===s))return e(r)})},sp=tt({patchProp:Yf},If);let ki;function $i(){return ki||(ki=df(sp))}const ap=(...e)=>{$i().render(...e)},Si=(...e)=>{const t=$i().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=ip(n);if(!r)return;const s=t._component;!Se(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,lp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function lp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ip(e){return Ye(e)?document.querySelector(e):e}/*! +**/let Rs;const ui=typeof window<"u"&&window.trustedTypes;if(ui)try{Rs=ui.createPolicy("vue",{createHTML:e=>e})}catch{}const di=Rs?e=>Rs.createHTML(e):e=>e,Pf="http://www.w3.org/2000/svg",Nf="http://www.w3.org/1998/Math/MathML",lo=typeof document<"u"?document:null,fi=lo&&lo.createElement("template"),If={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const r=t==="svg"?lo.createElementNS(Pf,e):t==="mathml"?lo.createElementNS(Nf,e):o?lo.createElement(e,{is:o}):lo.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>lo.createTextNode(e),createComment:e=>lo.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>lo.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,r,s){const a=o?o.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),o),!(r===s||!(r=r.nextSibling)););else{fi.innerHTML=di(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=fi.content;if(n==="svg"||n==="mathml"){const i=l.firstChild;for(;i.firstChild;)l.appendChild(i.firstChild);l.removeChild(i)}t.insertBefore(l,o)}return[a?a.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},Ff=Symbol("_vtc");function Rf(e,t,o){const n=e[Ff];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const Tr=Symbol("_vod"),pi=Symbol("_vsh"),Xt={name:"show",beforeMount(e,{value:t},{transition:o}){e[Tr]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Dn(e,t)},mounted(e,{value:t},{transition:o}){o&&t&&o.enter(e)},updated(e,{value:t,oldValue:o},{transition:n}){!t!=!o&&(n?t?(n.beforeEnter(e),Dn(e,!0),n.enter(e)):n.leave(e,()=>{Dn(e,!1)}):Dn(e,t))},beforeUnmount(e,{value:t}){Dn(e,t)}};function Dn(e,t){e.style.display=t?e[Tr]:"none",e[pi]=!t}const Mf=Symbol(""),Of=/(?:^|;)\s*display\s*:/;function Df(e,t,o){const n=e.style,r=Ye(o);let s=!1;if(o&&!r){if(t)if(Ye(t))for(const a of t.split(";")){const l=a.slice(0,a.indexOf(":")).trim();o[l]==null&&jn(n,l,"")}else for(const a in t)o[a]==null&&jn(n,a,"");for(const a in o){a==="display"&&(s=!0);const l=o[a];l!=null?zf(e,a,!Ye(t)&&t?t[a]:void 0,l)||jn(n,a,l):jn(n,a,"")}}else if(r){if(t!==o){const a=n[Mf];a&&(o+=";"+a),n.cssText=o,s=Of.test(o)}}else t&&e.removeAttribute("style");Tr in e&&(e[Tr]=s?n.display:"",e[pi]&&(n.display="none"))}const Lr=/\s*!important$/;function jn(e,t,o){if(ke(o))o.forEach(n=>jn(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Lr.test(o)?e.setProperty(t,o.replace(Lr,""),"important"):e.setProperty(t,o);else{const n=jf(e,t);Lr.test(o)?e.setProperty($t(n),o.replace(Lr,""),"important"):e[n]=o}}const gi=["Webkit","Moz","ms"],Ms={};function jf(e,t){const o=Ms[t];if(o)return o;let n=vt(t);if(n!=="filter"&&n in e)return Ms[t]=n;n=Ma(n);for(let r=0;rOs||(Hf.then(()=>Os=0),Os=Date.now());function Kf(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const r=o.value;if(ke(r)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const a=r.slice(),l=[n];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yf=(e,t,o,n,r,s)=>{const a=r==="svg";t==="class"?Rf(e,n,a):t==="style"?Df(e,o,n):er(t)?tr(t)||Bf(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xf(e,t,n,a))?(bi(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&mi(e,t,n,a,s,t!=="value")):e._isVueCE&&(Jf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ye(n)))?bi(e,vt(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),mi(e,t,n,a))};function Xf(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&yi(t)&&Ee(o));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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return yi(t)&&Ye(o)?!1:t in e}function Jf(e,t){const o=e._def.props;if(!o)return!1;const n=vt(t);return Array.isArray(o)?o.some(r=>vt(r)===n):Object.keys(o).some(r=>vt(r)===n)}const vi={};function Zf(e,t,o){let n=An(e,t);nr(n)&&(n=tt({},n,t));class r extends Ds{constructor(a){super(n,a,o)}}return r.def=n,r}const Qf=typeof HTMLElement<"u"?HTMLElement:class{};class Ds extends Qf{constructor(t,o={},n=Si){super(),this._def=t,this._props=o,this._createApp=n,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&&n!==Si?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 Ds){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,$n(()=>{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 o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=n;let l;if(s&&!ke(s))for(const i in s){const c=s[i];(c===Number||c&&c.type===Number)&&(i in this._props&&(this._props[i]=Da(this._props[i])),(l||(l=Object.create(null)))[vt(i)]=!0)}this._numberProps=l,this._resolveProps(n),this.shadowRoot&&this._applyStyles(a),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!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 o=this._instance&&this._instance.exposed;if(o)for(const n in o)Ue(this,n)||Object.defineProperty(this,n,{get:()=>he(o[n])})}_resolveProps(t){const{props:o}=t,n=ke(o)?o:Object.keys(o||{});for(const r of Object.keys(this))r[0]!=="_"&&n.includes(r)&&this._setProp(r,this[r]);for(const r of n.map(vt))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):vi;const r=vt(t);o&&this._numberProps&&this._numberProps[r]&&(n=Da(n)),this._setProp(r,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,r=!1){if(o!==this._props[t]&&(this._dirty=!0,o===vi?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),r&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute($t(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute($t(t),o+""):o||this.removeAttribute($t(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),ap(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Pe(this._def,tt(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,nr(a[0])?tt({detail:a},a[0]):{detail:a}))};n.emit=(s,...a)=>{r(s,a),$t(s)!==s&&r($t(s),a)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const r=this._nonce,s=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let l=null;for(let i=t.length-1;i>=0;i--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[i],s.insertBefore(c,l||a),l=c,i===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o{const t=e.props["onUpdate:modelValue"]||!1;return ke(t)?o=>sr(t,o):t};function ep(e){e.target.composing=!0}function wi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pr=Symbol("_assign"),Nr=Symbol("_initialValue");function js(e,t,o){return t&&(e=e.trim()),o&&(e=ts(e)),e}const tp={created(e,{modifiers:{lazy:t,trim:o,number:n}},r){e.parentNode&&(e.type==="text"?e[Nr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Nr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Pr]=xi(r);const s=n||r.props&&r.props.type==="number";Zo(e,t?"change":"input",a=>{a.target.composing||e[Pr](js(e.value,o,s))}),(o||s)&&Zo(e,"change",()=>{e.value=js(e.value,o,s)}),t||(Zo(e,"compositionstart",ep),Zo(e,"compositionend",wi),Zo(e,"change",wi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const r=t??"",s=e[Nr];delete e[Nr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Pr](js(e.value,o,n)):e.value=r},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:r,number:s}},a){if(e[Pr]=xi(a),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?ts(e.value):e.value,i=t??"";if(l===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||r&&e.value.trim()===i)||(e.value=i)}},op=["ctrl","shift","alt","meta"],np={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>op.some(o=>e[`${o}Key`]&&!t.includes(o))},Qo=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(r,...s)=>{for(let a=0;a{const o=e._withKeys||(e._withKeys={}),n=t.join(".");return o[n]||(o[n]=r=>{if(!("key"in r))return;const s=$t(r.key);if(t.some(a=>a===s||rp[a]===s))return e(r)})},sp=tt({patchProp:Yf},If);let ki;function $i(){return ki||(ki=df(sp))}const ap=(...e)=>{$i().render(...e)},Si=(...e)=>{const t=$i().createApp(...e),{mount:o}=t;return t.mount=n=>{const r=ip(n);if(!r)return;const s=t._component;!Ee(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=o(r,!1,lp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function lp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ip(e){return Ye(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const cp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function up(){const e=Va(!0),t=e.run(()=>ue({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(cp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const dp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},fp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},pp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},gp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},hp={menuComingSoon:"القائمة قادمة قريباً"},mp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},bp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},_p={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},yp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},vp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},xp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},wp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},kp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},$p={menuComingSoon:"Menü folgt in Kürze"},Sp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ep={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Ap={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Cp={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Tp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Lp={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Pp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Np={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Ip={menuComingSoon:"Menu coming soon"},Fp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Rp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Mp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Op={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Dp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},jp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},zp={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},Up={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Bp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Gp={menuComingSoon:"Menú próximamente"},qp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Vp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Hp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Wp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Kp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Yp={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Xp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Jp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Zp={menuComingSoon:"Menu bientôt disponible"},Qp={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},eg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},tg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},og={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},ng={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},rg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},sg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ag={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},lg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ig={menuComingSoon:"मेनू शीघ्र आ रहा है"},cg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ug={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},dg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},fg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},pg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},gg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},hg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},mg={menuComingSoon:"Menu in arrivo"},bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},_g={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},yg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},vg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},xg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},wg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},kg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},$g={menuComingSoon:"Menu em breve"},Sg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Eg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ag={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Cg={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Tg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Lg={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Pg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Ng={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Ig={menuComingSoon:"Meniu în curând"},Fg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Rg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Mg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Og={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Dg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},jg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},zg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Ug={menuComingSoon:"Меню скоро появится"},Bg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Gg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},qg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Vg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Hg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Wg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Kg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Yg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Xg={menuComingSoon:"菜单即将推出"},Jg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Zg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Qg={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */const cp=Symbol();var Ei;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ei||(Ei={}));function up(){const e=Va(!0),t=e.run(()=>de({}));let o=[],n=[];const r=ul({install(s){r._a=s,s.provide(cp,r),s.config.globalProperties.$pinia=r,n.forEach(a=>o.push(a)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return r}const dp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},fp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},pp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},gp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},hp={menuComingSoon:"القائمة قادمة قريباً"},mp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},bp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},_p={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},yp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},vp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},xp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},wp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},kp={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},$p={menuComingSoon:"Menü folgt in Kürze"},Sp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Ep={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Ap={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Cp={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Tp={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Lp={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Pp={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Np={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Ip={menuComingSoon:"Menu coming soon"},Fp={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Rp={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Mp={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Op={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Dp={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},jp={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},zp={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},Up={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Bp={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Gp={menuComingSoon:"Menú próximamente"},qp={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Vp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Hp={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},Wp={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Kp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Yp={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Xp={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Jp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Zp={menuComingSoon:"Menu bientôt disponible"},Qp={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},eg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},tg={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},og={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},ng={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},rg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},sg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},ag={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},lg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ig={menuComingSoon:"मेनू शीघ्र आ रहा है"},cg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},ug={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},dg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},fg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},pg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},gg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},hg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},mg={menuComingSoon:"Menu in arrivo"},bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},_g={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},yg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},vg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},xg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},wg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},kg={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},$g={menuComingSoon:"Menu em breve"},Sg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Eg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Ag={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Cg={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Tg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Lg={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},Pg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Ng={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Ig={menuComingSoon:"Meniu în curând"},Fg={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Rg={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Mg={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Og={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Dg={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},jg={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},zg={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Ug={menuComingSoon:"Меню скоро появится"},Bg={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Gg={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},qg={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Vg={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},Hg={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Wg={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Kg={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Yg={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Xg={menuComingSoon:"菜单即将推出"},Jg={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Zg={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Qg={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function eh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Fr=typeof window<"u",ko=(e,t=!1)=>t?Symbol.for(e):Symbol(e),th=(e,t,o)=>oh({l:e,k:t,s:o}),oh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),nh=e=>Pi(e)==="[object Date]",$o=e=>Pi(e)==="[object RegExp]",Rr=e=>Ee(e)&&Object.keys(e).length===0,ut=Object.assign,rh=Object.create,Ge=(e=null)=>rh(e);let Ai;const io=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ge());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function sh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const ah=Object.prototype.hasOwnProperty;function Rt(e,t){return ah.call(e,t)}const Xe=Array.isArray,We=e=>typeof e=="function",fe=e=>typeof e=="string",Ne=e=>typeof e=="boolean",je=e=>e!==null&&typeof e=="object",lh=e=>je(e)&&We(e.then)&&We(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Ee=e=>{if(!je(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},ih=e=>e==null?"":Xe(e)||Ee(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function ch(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!je(e)||Xe(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(je(n[s])&&!je(r[s])&&(r[s]=Array.isArray(n[s])?[]:Ge()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! + */function eh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Fr=typeof window<"u",ko=(e,t=!1)=>t?Symbol.for(e):Symbol(e),th=(e,t,o)=>oh({l:e,k:t,s:o}),oh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),nh=e=>Pi(e)==="[object Date]",$o=e=>Pi(e)==="[object RegExp]",Rr=e=>Ae(e)&&Object.keys(e).length===0,ut=Object.assign,rh=Object.create,qe=(e=null)=>rh(e);let Ai;const io=()=>Ai||(Ai=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:qe());function Ci(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Ti(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function sh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,r,s)=>`${r}="${Ti(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,r,s)=>`${r}='${Ti(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const ah=Object.prototype.hasOwnProperty;function Rt(e,t){return ah.call(e,t)}const Xe=Array.isArray,Ke=e=>typeof e=="function",fe=e=>typeof e=="string",Ne=e=>typeof e=="boolean",je=e=>e!==null&&typeof e=="object",lh=e=>je(e)&&Ke(e.then)&&Ke(e.catch),Li=Object.prototype.toString,Pi=e=>Li.call(e),Ae=e=>{if(!je(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},ih=e=>e==null?"":Xe(e)||Ae(e)&&e.toString===Li?JSON.stringify(e,null,2):String(e);function ch(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}function Mr(e){let t=e;return()=>++t}const Or=e=>!je(e)||Xe(e);function Dr(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:r}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(je(n[s])&&!je(r[s])&&(r[s]=Array.isArray(n[s])?[]:qe()),Or(r[s])||Or(n[s])?r[s]=n[s]:o.push({src:n[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function uh(e,t,o){return{line:e,column:t,offset:o}}function jr(e,t,o){return{start:e,end:t}}const dh=/\{([0-9a-zA-Z]+)\}/g;function Ni(e,...t){return t.length===1&&fh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(dh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ii=Object.assign,Fi=e=>typeof e=="string",fh=e=>e!==null&&typeof e=="object";function Ri(e,t=""){return e.reduce((o,n,r)=>r===0?o+n:o+t+n,"")}const zs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},ph={[zs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function gh(e,t,...o){const n=Ni(ph[e],...o||[]),r={message:String(n),code:e};return t&&(r.location=t),r}const we={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},hh={[we.EXPECTED_TOKEN]:"Expected token: '{0}'",[we.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[we.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[we.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[we.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[we.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[we.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[we.EMPTY_PLACEHOLDER]:"Empty placeholder",[we.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[we.INVALID_LINKED_FORMAT]:"Invalid linked format",[we.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[we.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[we.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[we.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[we.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[we.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function en(e,t,o={}){const{domain:n,messages:r,args:s}=o,a=Ni((r||hh)[e]||"",...s||[]),l=new SyntaxError(String(a));return l.code=e,t&&(l.location=t),l.domain=n,l}function mh(e){throw e}const co=" ",bh="\r",yt=` -`,_h="\u2028",yh="\u2029";function vh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===bh&&t[$+1]===yt,l=$=>t[$]===yt,i=$=>t[$]===yh,c=$=>t[$]===_h,u=$=>a($)||l($)||i($)||c($),p=()=>o,m=()=>n,v=()=>r,P=()=>s,x=$=>a($)||i($)||c($)?yt:t[$],w=()=>x(o),N=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function f(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function E(){const $=o+s;for(;$!==o;)y();s=0}return{index:p,line:m,column:v,peekOffset:P,charAt:x,currentChar:w,currentPeek:N,next:y,peek:f,reset:g,resetPeek:_,skipToPeek:E}}const So=void 0,xh=".",Mi="'",wh="tokenizer";function kh(e,t={}){const o=t.location!==!1,n=vh(e),r=()=>n.index(),s=()=>uh(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function p(d,h,F,...j){const ee=c();if(h.column+=F,h.offset+=F,u){const oe=o?jr(ee.startLoc,h):null,D=en(d,oe,{domain:wh,args:j});u(D)}}function m(d,h,F){d.endLoc=s(),d.currentType=h;const j={type:h};return o&&(j.loc=jr(d.startLoc,d.endLoc)),F!=null&&(j.value=F),j}const v=d=>m(d,14);function P(d,h){return d.currentChar()===h?(d.next(),h):(p(we.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===co||d.currentPeek()===yt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function N(d){if(d===So)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===So)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function f(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=N(d.currentPeek());return d.resetPeek(),j}function g(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=d.currentPeek()==="-"?d.peek():d.currentPeek(),ee=y(j);return d.resetPeek(),ee}function _(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=d.currentPeek()===Mi;return d.resetPeek(),j}function E(d,h){const{currentType:F}=h;if(F!==8)return!1;x(d);const j=d.currentPeek()===".";return d.resetPeek(),j}function $(d,h){const{currentType:F}=h;if(F!==9)return!1;x(d);const j=N(d.currentPeek());return d.resetPeek(),j}function O(d,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;x(d);const j=d.currentPeek()===":";return d.resetPeek(),j}function A(d,h){const{currentType:F}=h;if(F!==10)return!1;const j=()=>{const oe=d.currentPeek();return oe==="{"?N(d.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===co||!oe?!1:oe===yt?(d.peek(),j()):re(d,!1)},ee=j();return d.resetPeek(),ee}function U(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function X(d){const h=x(d),F=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function re(d,h=!0){const F=(ee=!1,oe="",D=!1)=>{const S=d.currentPeek();return S==="{"?oe==="%"?!1:ee:S==="@"||!S?oe==="%"?!0:ee:S==="%"?(d.peek(),F(ee,"%",!0)):S==="|"?oe==="%"||D?!0:!(oe===co||oe===yt):S===co?(d.peek(),F(!0,co,D)):S===yt?(d.peek(),F(!0,yt,D)):!0},j=F();return h&&d.resetPeek(),j}function me(d,h){const F=d.currentChar();return F===So?So:h(F)?(d.next(),F):null}function q(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function Y(d){return me(d,q)}function C(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function T(d){return me(d,C)}function M(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function z(d){return me(d,M)}function Q(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function se(d){return me(d,Q)}function te(d){let h="",F="";for(;h=z(d);)F+=h;return F}function de(d){w(d);const h=d.currentChar();return h!=="%"&&p(we.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function ge(d){let h="";for(;;){const F=d.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(re(d))h+=F,d.next();else break;else if(F===co||F===yt)if(re(d))h+=F,d.next();else{if(U(d))break;h+=F,d.next()}else h+=F,d.next()}return h}function Ae(d){w(d);let h="",F="";for(;h=T(d);)F+=h;return d.currentChar()===So&&p(we.UNTERMINATED_CLOSING_BRACE,s(),0),F}function ye(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${te(d)}`):h+=te(d),d.currentChar()===So&&p(we.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Te(d){return d!==Mi&&d!==yt}function Ke(d){w(d),P(d,"'");let h="",F="";for(;h=me(d,Te);)h==="\\"?F+=ze(d):F+=h;const j=d.currentChar();return j===yt||j===So?(p(we.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),j===yt&&(d.next(),P(d,"'")),F):(P(d,"'"),F)}function ze(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return Re(d,h,4);case"U":return Re(d,h,6);default:return p(we.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function Re(d,h,F){P(d,h);let j="";for(let ee=0;ee{const j=d.currentChar();return j==="{"||j==="%"||j==="@"||j==="|"||j==="("||j===")"||!j||j===co?F:(F+=j,d.next(),h(F))};return h("")}function V(d){w(d);const h=P(d,"|");return w(d),h}function W(d,h){let F=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&p(we.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),F=m(h,2,"{"),w(d),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&p(we.EMPTY_PLACEHOLDER,s(),0),d.next(),F=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&p(we.UNTERMINATED_CLOSING_BRACE,s(),0),F=ne(d,h)||v(h),h.braceNest=0,F;default:{let ee=!0,oe=!0,D=!0;if(U(d))return h.braceNest>0&&p(we.UNTERMINATED_CLOSING_BRACE,s(),0),F=m(h,1,V(d)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return p(we.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,G(d,h);if(ee=f(d,h))return F=m(h,5,Ae(d)),w(d),F;if(oe=g(d,h))return F=m(h,6,ye(d)),w(d),F;if(D=_(d,h))return F=m(h,7,Ke(d)),w(d),F;if(!ee&&!oe&&!D)return F=m(h,13,b(d)),p(we.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),w(d),F;break}}return F}function ne(d,h){const{currentType:F}=h;let j=null;const ee=d.currentChar();switch((F===8||F===9||F===12||F===10)&&(ee===yt||ee===co)&&p(we.INVALID_LINKED_FORMAT,s(),0),ee){case"@":return d.next(),j=m(h,8,"@"),h.inLinked=!0,j;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return U(d)?(j=m(h,1,V(d)),h.braceNest=0,h.inLinked=!1,j):E(d,h)||O(d,h)?(w(d),ne(d,h)):$(d,h)?(w(d),m(h,12,L(d))):A(d,h)?(w(d),ee==="{"?W(d,h)||j:m(h,11,k(d))):(F===8&&p(we.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,G(d,h))}}function G(d,h){let F={type:14};if(h.braceNest>0)return W(d,h)||v(h);if(h.inLinked)return ne(d,h)||v(h);switch(d.currentChar()){case"{":return W(d,h)||v(h);case"}":return p(we.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return ne(d,h)||v(h);default:{if(U(d))return F=m(h,1,V(d)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:ee,hasSpace:oe}=X(d);if(ee)return oe?m(h,0,ge(d)):m(h,4,de(d));if(re(d))return m(h,0,ge(d));break}}return F}function B(){const{currentType:d,offset:h,startLoc:F,endLoc:j}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=F,i.lastEndLoc=j,i.offset=r(),i.startLoc=s(),n.currentChar()===So?m(i,14):G(n,i)}return{nextToken:B,currentOffset:r,currentPosition:s,context:c}}const $h="parser",Sh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Eh(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ah(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(f,g,_,E,...$){const O=f.currentPosition();if(O.offset+=E,O.column+=E,o){const A=t?jr(_,O):null,U=en(g,A,{domain:$h,args:$});o(U)}}function s(f,g,_,E,...$){const O=f.currentPosition();if(O.offset+=E,O.column+=E,n){const A=t?jr(_,O):null;n(gh(g,A,$))}}function a(f,g,_){const E={type:f};return t&&(E.start=g,E.end=g,E.loc={start:_,end:_}),E}function l(f,g,_,E){t&&(f.end=g,f.loc&&(f.loc.end=_))}function i(f,g){const _=f.context(),E=a(3,_.offset,_.startLoc);return E.value=g,l(E,f.currentOffset(),f.currentPosition()),E}function c(f,g){const _=f.context(),{lastOffset:E,lastStartLoc:$}=_,O=a(5,E,$);return O.index=parseInt(g,10),f.nextToken(),l(O,f.currentOffset(),f.currentPosition()),O}function u(f,g,_){const E=f.context(),{lastOffset:$,lastStartLoc:O}=E,A=a(4,$,O);return A.key=g,_===!0&&(A.modulo=!0),f.nextToken(),l(A,f.currentOffset(),f.currentPosition()),A}function p(f,g){const _=f.context(),{lastOffset:E,lastStartLoc:$}=_,O=a(9,E,$);return O.value=g.replace(Sh,Eh),f.nextToken(),l(O,f.currentOffset(),f.currentPosition()),O}function m(f){const g=f.nextToken(),_=f.context(),{lastOffset:E,lastStartLoc:$}=_,O=a(8,E,$);return g.type!==12?(r(f,we.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),O.value="",l(O,E,$),{nextConsumeToken:g,node:O}):(g.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Mt(g)),O.value=g.value||"",l(O,f.currentOffset(),f.currentPosition()),{node:O})}function v(f,g){const _=f.context(),E=a(7,_.offset,_.startLoc);return E.value=g,l(E,f.currentOffset(),f.currentPosition()),E}function P(f){const g=f.context(),_=a(6,g.offset,g.startLoc);let E=f.nextToken();if(E.type===9){const $=m(f);_.modifier=$.node,E=$.nextConsumeToken||f.nextToken()}switch(E.type!==10&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),E=f.nextToken(),E.type===2&&(E=f.nextToken()),E.type){case 11:E.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=v(f,E.value||"");break;case 5:E.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=u(f,E.value||"");break;case 6:E.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=c(f,E.value||"");break;case 7:E.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=p(f,E.value||"");break;default:{r(f,we.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=f.context(),O=a(7,$.offset,$.startLoc);return O.value="",l(O,$.offset,$.startLoc),_.key=O,l(_,$.offset,$.startLoc),{nextConsumeToken:E,node:_}}}return l(_,f.currentOffset(),f.currentPosition()),{node:_}}function x(f){const g=f.context(),_=g.currentType===1?f.currentOffset():g.offset,E=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,E);$.items=[];let O=null,A=null;do{const re=O||f.nextToken();switch(O=null,re.type){case 0:re.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(re)),$.items.push(i(f,re.value||""));break;case 6:re.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(re)),$.items.push(c(f,re.value||""));break;case 4:A=!0;break;case 5:re.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(re)),$.items.push(u(f,re.value||"",!!A)),A&&(s(f,zs.USE_MODULO_SYNTAX,g.lastStartLoc,0,Mt(re)),A=null);break;case 7:re.value==null&&r(f,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(re)),$.items.push(p(f,re.value||""));break;case 8:{const me=P(f);$.items.push(me.node),O=me.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const U=g.currentType===1?g.lastOffset:f.currentOffset(),X=g.currentType===1?g.lastEndLoc:f.currentPosition();return l($,U,X),$}function w(f,g,_,E){const $=f.context();let O=E.items.length===0;const A=a(1,g,_);A.cases=[],A.cases.push(E);do{const U=x(f);O||(O=U.items.length===0),A.cases.push(U)}while($.currentType!==14);return O&&r(f,we.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(A,f.currentOffset(),f.currentPosition()),A}function N(f){const g=f.context(),{offset:_,startLoc:E}=g,$=x(f);return g.currentType===14?$:w(f,_,E,$)}function y(f){const g=kh(f,Ii({},e)),_=g.context(),E=a(0,_.offset,_.startLoc);return t&&E.loc&&(E.loc.source=f),E.body=N(g),e.onCacheKey&&(E.cacheKey=e.onCacheKey(f)),_.currentType!==14&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,f[_.offset]||""),l(E,g.currentOffset(),g.currentPosition()),E}return{parse:y}}function Mt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Ch(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function i(x,w){a.code+=x}function c(x,w=!0){const N=w?n:"";i(r?N+" ".repeat(x):N)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function p(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:p,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Fh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),on(e,t.key),t.modifier?(e.push(", "),on(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Rh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Fi(t.mode)?t.mode:"normal",n=Fi(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,_h="\u2028",yh="\u2029";function vh(e){const t=e;let o=0,n=1,r=1,s=0;const a=$=>t[$]===bh&&t[$+1]===yt,l=$=>t[$]===yt,i=$=>t[$]===yh,c=$=>t[$]===_h,u=$=>a($)||l($)||i($)||c($),f=()=>o,m=()=>n,v=()=>r,L=()=>s,x=$=>a($)||i($)||c($)?yt:t[$],w=()=>x(o),P=()=>x(o+s);function y(){return s=0,u(o)&&(n++,r=0),a(o)&&o++,o++,r++,t[o]}function p(){return a(o+s)&&s++,s++,t[o+s]}function g(){o=0,n=1,r=1,s=0}function _($=0){s=$}function E(){const $=o+s;for(;$!==o;)y();s=0}return{index:f,line:m,column:v,peekOffset:L,charAt:x,currentChar:w,currentPeek:P,next:y,peek:p,reset:g,resetPeek:_,skipToPeek:E}}const So=void 0,xh=".",Mi="'",wh="tokenizer";function kh(e,t={}){const o=t.location!==!1,n=vh(e),r=()=>n.index(),s=()=>uh(n.line(),n.column(),n.index()),a=s(),l=r(),i={currentType:14,offset:l,startLoc:a,endLoc:a,lastType:14,lastOffset:l,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>i,{onError:u}=t;function f(d,h,F,...j){const te=c();if(h.column+=F,h.offset+=F,u){const ne=o?jr(te.startLoc,h):null,O=en(d,ne,{domain:wh,args:j});u(O)}}function m(d,h,F){d.endLoc=s(),d.currentType=h;const j={type:h};return o&&(j.loc=jr(d.startLoc,d.endLoc)),F!=null&&(j.value=F),j}const v=d=>m(d,14);function L(d,h){return d.currentChar()===h?(d.next(),h):(f(we.EXPECTED_TOKEN,s(),0,h),"")}function x(d){let h="";for(;d.currentPeek()===co||d.currentPeek()===yt;)h+=d.currentPeek(),d.peek();return h}function w(d){const h=x(d);return d.skipToPeek(),h}function P(d){if(d===So)return!1;const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function y(d){if(d===So)return!1;const h=d.charCodeAt(0);return h>=48&&h<=57}function p(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=P(d.currentPeek());return d.resetPeek(),j}function g(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=d.currentPeek()==="-"?d.peek():d.currentPeek(),te=y(j);return d.resetPeek(),te}function _(d,h){const{currentType:F}=h;if(F!==2)return!1;x(d);const j=d.currentPeek()===Mi;return d.resetPeek(),j}function E(d,h){const{currentType:F}=h;if(F!==8)return!1;x(d);const j=d.currentPeek()===".";return d.resetPeek(),j}function $(d,h){const{currentType:F}=h;if(F!==9)return!1;x(d);const j=P(d.currentPeek());return d.resetPeek(),j}function M(d,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;x(d);const j=d.currentPeek()===":";return d.resetPeek(),j}function C(d,h){const{currentType:F}=h;if(F!==10)return!1;const j=()=>{const ne=d.currentPeek();return ne==="{"?P(d.peek()):ne==="@"||ne==="%"||ne==="|"||ne===":"||ne==="."||ne===co||!ne?!1:ne===yt?(d.peek(),j()):se(d,!1)},te=j();return d.resetPeek(),te}function z(d){x(d);const h=d.currentPeek()==="|";return d.resetPeek(),h}function J(d){const h=x(d),F=d.currentPeek()==="%"&&d.peek()==="{";return d.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function se(d,h=!0){const F=(te=!1,ne="",O=!1)=>{const S=d.currentPeek();return S==="{"?ne==="%"?!1:te:S==="@"||!S?ne==="%"?!0:te:S==="%"?(d.peek(),F(te,"%",!0)):S==="|"?ne==="%"||O?!0:!(ne===co||ne===yt):S===co?(d.peek(),F(!0,co,O)):S===yt?(d.peek(),F(!0,yt,O)):!0},j=F();return h&&d.resetPeek(),j}function me(d,h){const F=d.currentChar();return F===So?So:h(F)?(d.next(),F):null}function G(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function ee(d){return me(d,G)}function H(d){const h=d.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function A(d){return me(d,H)}function N(d){const h=d.charCodeAt(0);return h>=48&&h<=57}function oe(d){return me(d,N)}function D(d){const h=d.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function W(d){return me(d,D)}function X(d){let h="",F="";for(;h=oe(d);)F+=h;return F}function ie(d){w(d);const h=d.currentChar();return h!=="%"&&f(we.EXPECTED_TOKEN,s(),0,h),d.next(),"%"}function pe(d){let h="";for(;;){const F=d.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(se(d))h+=F,d.next();else break;else if(F===co||F===yt)if(se(d))h+=F,d.next();else{if(z(d))break;h+=F,d.next()}else h+=F,d.next()}return h}function $e(d){w(d);let h="",F="";for(;h=A(d);)F+=h;return d.currentChar()===So&&f(we.UNTERMINATED_CLOSING_BRACE,s(),0),F}function Ie(d){w(d);let h="";return d.currentChar()==="-"?(d.next(),h+=`-${X(d)}`):h+=X(d),d.currentChar()===So&&f(we.UNTERMINATED_CLOSING_BRACE,s(),0),h}function be(d){return d!==Mi&&d!==yt}function Be(d){w(d),L(d,"'");let h="",F="";for(;h=me(d,be);)h==="\\"?F+=ze(d):F+=h;const j=d.currentChar();return j===yt||j===So?(f(we.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),j===yt&&(d.next(),L(d,"'")),F):(L(d,"'"),F)}function ze(d){const h=d.currentChar();switch(h){case"\\":case"'":return d.next(),`\\${h}`;case"u":return Te(d,h,4);case"U":return Te(d,h,6);default:return f(we.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function Te(d,h,F){L(d,h);let j="";for(let te=0;te{const j=d.currentChar();return j==="{"||j==="%"||j==="@"||j==="|"||j==="("||j===")"||!j||j===co?F:(F+=j,d.next(),h(F))};return h("")}function q(d){w(d);const h=L(d,"|");return w(d),h}function K(d,h){let F=null;switch(d.currentChar()){case"{":return h.braceNest>=1&&f(we.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),d.next(),F=m(h,2,"{"),w(d),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(we.EMPTY_PLACEHOLDER,s(),0),d.next(),F=m(h,3,"}"),h.braceNest--,h.braceNest>0&&w(d),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(we.UNTERMINATED_CLOSING_BRACE,s(),0),F=re(d,h)||v(h),h.braceNest=0,F;default:{let te=!0,ne=!0,O=!0;if(z(d))return h.braceNest>0&&f(we.UNTERMINATED_CLOSING_BRACE,s(),0),F=m(h,1,q(d)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(we.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,B(d,h);if(te=p(d,h))return F=m(h,5,$e(d)),w(d),F;if(ne=g(d,h))return F=m(h,6,Ie(d)),w(d),F;if(O=_(d,h))return F=m(h,7,Be(d)),w(d),F;if(!te&&!ne&&!O)return F=m(h,13,b(d)),f(we.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),w(d),F;break}}return F}function re(d,h){const{currentType:F}=h;let j=null;const te=d.currentChar();switch((F===8||F===9||F===12||F===10)&&(te===yt||te===co)&&f(we.INVALID_LINKED_FORMAT,s(),0),te){case"@":return d.next(),j=m(h,8,"@"),h.inLinked=!0,j;case".":return w(d),d.next(),m(h,9,".");case":":return w(d),d.next(),m(h,10,":");default:return z(d)?(j=m(h,1,q(d)),h.braceNest=0,h.inLinked=!1,j):E(d,h)||M(d,h)?(w(d),re(d,h)):$(d,h)?(w(d),m(h,12,T(d))):C(d,h)?(w(d),te==="{"?K(d,h)||j:m(h,11,k(d))):(F===8&&f(we.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,B(d,h))}}function B(d,h){let F={type:14};if(h.braceNest>0)return K(d,h)||v(h);if(h.inLinked)return re(d,h)||v(h);switch(d.currentChar()){case"{":return K(d,h)||v(h);case"}":return f(we.UNBALANCED_CLOSING_BRACE,s(),0),d.next(),m(h,3,"}");case"@":return re(d,h)||v(h);default:{if(z(d))return F=m(h,1,q(d)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:te,hasSpace:ne}=J(d);if(te)return ne?m(h,0,pe(d)):m(h,4,ie(d));if(se(d))return m(h,0,pe(d));break}}return F}function U(){const{currentType:d,offset:h,startLoc:F,endLoc:j}=i;return i.lastType=d,i.lastOffset=h,i.lastStartLoc=F,i.lastEndLoc=j,i.offset=r(),i.startLoc=s(),n.currentChar()===So?m(i,14):B(n,i)}return{nextToken:U,currentOffset:r,currentPosition:s,context:c}}const $h="parser",Sh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Eh(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"�"}}}function Ah(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function r(p,g,_,E,...$){const M=p.currentPosition();if(M.offset+=E,M.column+=E,o){const C=t?jr(_,M):null,z=en(g,C,{domain:$h,args:$});o(z)}}function s(p,g,_,E,...$){const M=p.currentPosition();if(M.offset+=E,M.column+=E,n){const C=t?jr(_,M):null;n(gh(g,C,$))}}function a(p,g,_){const E={type:p};return t&&(E.start=g,E.end=g,E.loc={start:_,end:_}),E}function l(p,g,_,E){t&&(p.end=g,p.loc&&(p.loc.end=_))}function i(p,g){const _=p.context(),E=a(3,_.offset,_.startLoc);return E.value=g,l(E,p.currentOffset(),p.currentPosition()),E}function c(p,g){const _=p.context(),{lastOffset:E,lastStartLoc:$}=_,M=a(5,E,$);return M.index=parseInt(g,10),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function u(p,g,_){const E=p.context(),{lastOffset:$,lastStartLoc:M}=E,C=a(4,$,M);return C.key=g,_===!0&&(C.modulo=!0),p.nextToken(),l(C,p.currentOffset(),p.currentPosition()),C}function f(p,g){const _=p.context(),{lastOffset:E,lastStartLoc:$}=_,M=a(9,E,$);return M.value=g.replace(Sh,Eh),p.nextToken(),l(M,p.currentOffset(),p.currentPosition()),M}function m(p){const g=p.nextToken(),_=p.context(),{lastOffset:E,lastStartLoc:$}=_,M=a(8,E,$);return g.type!==12?(r(p,we.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),M.value="",l(M,E,$),{nextConsumeToken:g,node:M}):(g.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Mt(g)),M.value=g.value||"",l(M,p.currentOffset(),p.currentPosition()),{node:M})}function v(p,g){const _=p.context(),E=a(7,_.offset,_.startLoc);return E.value=g,l(E,p.currentOffset(),p.currentPosition()),E}function L(p){const g=p.context(),_=a(6,g.offset,g.startLoc);let E=p.nextToken();if(E.type===9){const $=m(p);_.modifier=$.node,E=$.nextConsumeToken||p.nextToken()}switch(E.type!==10&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),E=p.nextToken(),E.type===2&&(E=p.nextToken()),E.type){case 11:E.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=v(p,E.value||"");break;case 5:E.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=u(p,E.value||"");break;case 6:E.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=c(p,E.value||"");break;case 7:E.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(E)),_.key=f(p,E.value||"");break;default:{r(p,we.UNEXPECTED_EMPTY_LINKED_KEY,g.lastStartLoc,0);const $=p.context(),M=a(7,$.offset,$.startLoc);return M.value="",l(M,$.offset,$.startLoc),_.key=M,l(_,$.offset,$.startLoc),{nextConsumeToken:E,node:_}}}return l(_,p.currentOffset(),p.currentPosition()),{node:_}}function x(p){const g=p.context(),_=g.currentType===1?p.currentOffset():g.offset,E=g.currentType===1?g.endLoc:g.startLoc,$=a(2,_,E);$.items=[];let M=null,C=null;do{const se=M||p.nextToken();switch(M=null,se.type){case 0:se.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(se)),$.items.push(i(p,se.value||""));break;case 6:se.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(se)),$.items.push(c(p,se.value||""));break;case 4:C=!0;break;case 5:se.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(se)),$.items.push(u(p,se.value||"",!!C)),C&&(s(p,zs.USE_MODULO_SYNTAX,g.lastStartLoc,0,Mt(se)),C=null);break;case 7:se.value==null&&r(p,we.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,Mt(se)),$.items.push(f(p,se.value||""));break;case 8:{const me=L(p);$.items.push(me.node),M=me.nextConsumeToken||null;break}}}while(g.currentType!==14&&g.currentType!==1);const z=g.currentType===1?g.lastOffset:p.currentOffset(),J=g.currentType===1?g.lastEndLoc:p.currentPosition();return l($,z,J),$}function w(p,g,_,E){const $=p.context();let M=E.items.length===0;const C=a(1,g,_);C.cases=[],C.cases.push(E);do{const z=x(p);M||(M=z.items.length===0),C.cases.push(z)}while($.currentType!==14);return M&&r(p,we.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),l(C,p.currentOffset(),p.currentPosition()),C}function P(p){const g=p.context(),{offset:_,startLoc:E}=g,$=x(p);return g.currentType===14?$:w(p,_,E,$)}function y(p){const g=kh(p,Ii({},e)),_=g.context(),E=a(0,_.offset,_.startLoc);return t&&E.loc&&(E.loc.source=p),E.body=P(g),e.onCacheKey&&(E.cacheKey=e.onCacheKey(p)),_.currentType!==14&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,p[_.offset]||""),l(E,g.currentOffset(),g.currentPosition()),E}return{parse:y}}function Mt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Ch(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Oi(e,t){for(let o=0;oDi(o)),e}function Di(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;oa;function i(x,w){a.code+=x}function c(x,w=!0){const P=w?n:"";i(r?P+" ".repeat(x):P)}function u(x=!0){const w=++a.indentLevel;x&&c(w)}function f(x=!0){const w=--a.indentLevel;x&&c(w)}function m(){c(a.indentLevel)}return{context:l,push:i,indent:u,deindent:f,newline:m,helper:x=>`_${x}`,needIndent:()=>a.needIndent}}function Fh(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),on(e,t.key),t.modifier?(e.push(", "),on(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Rh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const r=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const r=t.cases.length;for(let s=0;s{const o=Fi(t.mode)?t.mode:"normal",n=Fi(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` `,s=t.needIndent?t.needIndent:o!=="arrow",a=e.helpers||[],l=Ih(e,{filename:n,breakLineCode:r,needIndent:s});l.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(s),a.length>0&&(l.push(`const { ${Ri(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),l.newline()),l.push("return "),on(l,e),l.deindent(s),l.push("}"),delete e.helpers;const{code:i,map:c}=l.context();return{ast:e,code:i,map:c?c.toJSON():void 0}};function jh(e,t={}){const o=Ii({},t),n=!!o.jit,r=!!o.minify,s=o.optimize==null?!0:o.optimize,l=Ah(o).parse(e);return n?(s&&Lh(l),r&&tn(l),{ast:l,code:""}):(Th(l,o),Dh(l,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function zh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(io().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Jt(e){return je(e)&&Bs(e)===0&&(Rt(e,"b")||Rt(e,"body"))}const ji=["b","body"];function Uh(e){return Eo(e,ji)}const zi=["c","cases"];function Bh(e){return Eo(e,zi,[])}const Ui=["s","static"];function Gh(e){return Eo(e,Ui)}const Bi=["i","items"];function qh(e){return Eo(e,Bi,[])}const Gi=["t","type"];function Bs(e){return Eo(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Eo(e,qi);if(o!=null)return o;throw zn(t)}const Vi=["m","modifier"];function Vh(e){return Eo(e,Vi)}const Hi=["k","key"];function Hh(e){const t=Eo(e,Hi);if(t)return t;throw zn(6)}function Eo(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Jh(a),a===!1))return!1;m[1]()}};function v(){const P=e[o+1];if(n===5&&P==="'"||n===6&&P==='"')return o++,l="\\"+P,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Xh(s),p=Ao[n],c=p[i]||p.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function Qh(e,t){return je(e)?e[t]:null}function em(e,t){if(!je(e))return null;let o=Ki.get(t);if(o||(o=Zh(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,om=e=>"",nm="text",rm=e=>e.length===0?"":ch(e),sm=ih;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function am(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function lm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function im(e={}){const t=e.locale,o=am(e),n=je(e.pluralRules)&&fe(t)&&We(e.pluralRules[t])?e.pluralRules[t]:Yi,r=je(e.pluralRules)&&fe(t)&&We(e.pluralRules[t])?Yi:void 0,s=N=>N[n(o,N.length,r)],a=e.list||[],l=N=>a[N],i=e.named||Ge();ot(e.pluralIndex)&&lm(o,i);const c=N=>i[N];function u(N){const y=We(e.messages)?e.messages(N):je(e.messages)?e.messages[N]:!1;return y||(e.parent?e.parent.message(N):om)}const p=N=>e.modifiers?e.modifiers[N]:tm,m=Ee(e.processor)&&We(e.processor.normalize)?e.processor.normalize:rm,v=Ee(e.processor)&&We(e.processor.interpolate)?e.processor.interpolate:sm,P=Ee(e.processor)&&fe(e.processor.type)?e.processor.type:nm,w={list:l,named:c,plural:s,linked:(N,...y)=>{const[f,g]=y;let _="text",E="";y.length===1?je(f)?(E=f.modifier||E,_=f.type||_):fe(f)&&(E=f||E):y.length===2&&(fe(f)&&(E=f||E),fe(g)&&(_=g||_));const $=u(N)(w),O=_==="vnode"&&Xe($)&&E?$[0]:$;return E?p(E)(O,_):O},message:u,type:P,interpolate:v,normalize:m,values:ut(Ge(),a,i)};return w}let Un=null;function cm(e){Un=e}function um(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const dm=fm("function:translate");function fm(e){return t=>Un&&Un.emit(e,t)}const pm=zs.__EXTEND_POINT__,Do=Mr(pm),gm={FALLBACK_TO_TRANSLATE:Do(),CANNOT_FORMAT_NUMBER:Do(),FALLBACK_TO_NUMBER_FORMAT:Do(),CANNOT_FORMAT_DATE:Do(),FALLBACK_TO_DATE_FORMAT:Do(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Do(),__EXTEND_POINT__:Do()},Xi=we.__EXTEND_POINT__,jo=Mr(Xi),Ot={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:jo(),INVALID_ISO_DATE_ARGUMENT:jo(),NOT_SUPPORT_NON_STRING_MESSAGE:jo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:jo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:jo(),NOT_SUPPORT_LOCALE_TYPE:jo(),__EXTEND_POINT__:jo()};function Zt(e){return en(e,null,void 0)}function Gs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let qs;function Ji(e){if(fe(e))return e;if(We(e)){if(e.resolvedOnce&&qs!=null)return qs;if(e.constructor.name==="Function"){const t=e();if(lh(t))throw Zt(Ot.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return qs=t}else throw Zt(Ot.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Zt(Ot.NOT_SUPPORT_LOCALE_TYPE)}function hm(e,t,o){return[...new Set([o,...Xe(t)?t:je(t)?Object.keys(t):fe(t)?[t]:[o]])]}function Zi(e,t,o){const n=fe(o)?o:nn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Xe(a);)a=Qi(s,a,t);const l=Xe(t)||!Ee(t)?t:t.default?t.default:null;a=fe(l)?[l]:l,Xe(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ym(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?tc(e):t==="vnode"&&je(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function vm(e){rc=e}let sc;function xm(e){sc=e}let ac=null;const wm=e=>{ac=e},km=()=>ac;let lc=null;const ic=e=>{lc=e},$m=()=>lc;let cc=0;function Sm(e={}){const t=We(e.onWarn)?e.onWarn:eh,o=fe(e.version)?e.version:_m,n=fe(e.locale)||We(e.locale)?e.locale:nn,r=We(n)?nn:n,s=Xe(e.fallbackLocale)||Ee(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ee(e.messages)?e.messages:Vs(r),l=Ee(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Ee(e.numberFormats)?e.numberFormats:Vs(r),c=ut(Ge(),e.modifiers,ym()),u=e.pluralRules||Ge(),p=We(e.missing)?e.missing:null,m=Ne(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,v=Ne(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,P=!!e.fallbackFormat,x=!!e.unresolving,w=We(e.postTranslation)?e.postTranslation:null,N=Ee(e.processor)?e.processor:null,y=Ne(e.warnHtmlMessage)?e.warnHtmlMessage:!0,f=!!e.escapeParameter,g=We(e.messageCompiler)?e.messageCompiler:oc,_=We(e.messageResolver)?e.messageResolver:rc||Qh,E=We(e.localeFallbacker)?e.localeFallbacker:sc||hm,$=je(e.fallbackContext)?e.fallbackContext:void 0,O=e,A=je(O.__datetimeFormatters)?O.__datetimeFormatters:new Map,U=je(O.__numberFormatters)?O.__numberFormatters:new Map,X=je(O.__meta)?O.__meta:{};cc++;const re={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:v,fallbackFormat:P,unresolving:x,postTranslation:w,processor:N,warnHtmlMessage:y,escapeParameter:f,messageCompiler:g,messageResolver:_,localeFallbacker:E,fallbackContext:$,onWarn:t,__meta:X};return re.datetimeFormats=l,re.numberFormats=i,re.__datetimeFormatters=A,re.__numberFormatters=U,__INTLIFY_PROD_DEVTOOLS__&&um(re,o,X),re}const Vs=e=>({[e]:Ge()});function Hs(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return fe(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Em(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Am(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nCm(o,e)}function Cm(e,t){const o=Uh(t);if(o==null)throw zn(0);if(Bs(o)===1){const s=Bh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Gh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=qh(t).reduce((r,s)=>[...r,Ks(e,s)],[]);return e.normalize(n)}}function Ks(e,t){const o=Bs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Rt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Rt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Rt(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Rt(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Vh(n),s=Hh(n);return e.linked(Ks(e,s),r?Ks(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let rn=Ge();function fc(e,t={}){let o=!1;const n=t.onError||mh;return t.onError=r=>{o=!0,n(r)},{...jh(e,t),detectError:o}}const Tm=(e,t)=>{if(!fe(e))throw Zt(Ot.NOT_SUPPORT_NON_STRING_MESSAGE);{Ne(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=rn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:rn[n]=l}};function Lm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Ne(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=rn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ws(s);return a?l:rn[n]=l}else{const o=e.cacheKey;if(o){const n=rn[o];return n||(rn[o]=Ws(e))}else return Ws(e)}}const pc=()=>"",Tt=e=>We(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Ys(...t),u=Ne(c.missingWarn)?c.missingWarn:e.missingWarn,p=Ne(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Ne(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,P=fe(c.default)||Ne(c.default)?Ne(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||P!=="",w=Gs(e,c);m&&Pm(c);let[N,y,f]=v?[i,w,l[w]||Ge()]:hc(e,i,w,a,p,u),g=N,_=i;if(!v&&!(fe(g)||Jt(g)||Tt(g))&&x&&(g=P,_=g),!v&&(!(fe(g)||Jt(g)||Tt(g))||!fe(y)))return r?Ur:i;let E=!1;const $=()=>{E=!0},O=Tt(g)?g:mc(e,i,y,g,_,$);if(E)return g;const A=Fm(e,y,f,c),U=im(A),X=Nm(e,O,U);let re=n?n(X,i):X;if(m&&fe(re)&&(re=sh(re)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:fe(i)?i:Tt(g)?g.key:"",locale:y||(Tt(g)?g.locale:""),format:fe(g)?g:Tt(g)?g.source:"",message:re};me.meta=ut({},e.__meta,km()||{}),dm(me)}return re}function Pm(e){Xe(e.list)?e.list=e.list.map(t=>fe(t)?Ci(t):t):je(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let p=Ge(),m,v=null;const P="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Im(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Nm(e,t,o){return t(o)}function Ys(...e){const[t,o,n]=e,r=Ge();if(!fe(t)&&!ot(t)&&!Tt(t)&&!Jt(t))throw Zt(Ot.INVALID_ARGUMENT);const s=ot(t)?String(t):(Tt(t),t);return ot(o)?r.plural=o:fe(o)?r.default=o:Ee(o)&&!Rr(o)?r.named=o:Xe(o)&&(r.list=o),ot(n)?r.plural=n:fe(n)?r.default=n:Ee(n)&&ut(r,n),[s,r]}function Im(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>th(t,o,a)}}function Fm(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let P=a(o,v);if(P==null&&u){const[,,x]=hc(u,v,t,l,i,c);P=a(x,v)}if(fe(P)||Jt(P)){let x=!1;const N=mc(e,v,t,P,v,()=>{x=!0});return x?pc:N}else return Tt(P)?P:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,p]=Xs(...t),m=Ne(u.missingWarn)?u.missingWarn:e.missingWarn;Ne(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,P=Gs(e,u),x=a(e,r,P);if(!fe(i)||i==="")return new Intl.DateTimeFormat(P,p).format(c);let w={},N,y=null;const f="datetime format";for(let E=0;E{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),fe(n)?s.locale=n:Ee(n)&&(a=n),Ee(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,p]=Js(...t),m=Ne(u.missingWarn)?u.missingWarn:e.missingWarn;Ne(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,P=Gs(e,u),x=a(e,r,P);if(!fe(i)||i==="")return new Intl.NumberFormat(P,p).format(c);let w={},N,y=null;const f="number format";for(let E=0;E{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),fe(n)?s.locale=n:Ee(n)&&(a=n),Ee(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}zh();/*! + */function zh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(io().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Jt(e){return je(e)&&Bs(e)===0&&(Rt(e,"b")||Rt(e,"body"))}const ji=["b","body"];function Uh(e){return Eo(e,ji)}const zi=["c","cases"];function Bh(e){return Eo(e,zi,[])}const Ui=["s","static"];function Gh(e){return Eo(e,Ui)}const Bi=["i","items"];function qh(e){return Eo(e,Bi,[])}const Gi=["t","type"];function Bs(e){return Eo(e,Gi)}const qi=["v","value"];function zr(e,t){const o=Eo(e,qi);if(o!=null)return o;throw zn(t)}const Vi=["m","modifier"];function Vh(e){return Eo(e,Vi)}const Hi=["k","key"];function Hh(e){const t=Eo(e,Hi);if(t)return t;throw zn(6)}function Eo(e,t,o){for(let n=0;n{a===void 0?a=l:a+=l},m[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},m[2]=()=>{m[0](),r++},m[3]=()=>{if(r>0)r--,n=4,m[0]();else{if(r=0,a===void 0||(a=Jh(a),a===!1))return!1;m[1]()}};function v(){const L=e[o+1];if(n===5&&L==="'"||n===6&&L==='"')return o++,l="\\"+L,m[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&v())){if(i=Xh(s),f=Ao[n],c=f[i]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(l=s,u()===!1))))return;if(n===7)return t}}const Ki=new Map;function Qh(e,t){return je(e)?e[t]:null}function em(e,t){if(!je(e))return null;let o=Ki.get(t);if(o||(o=Zh(t),o&&Ki.set(t,o)),!o)return null;const n=o.length;let r=e,s=0;for(;se,om=e=>"",nm="text",rm=e=>e.length===0?"":ch(e),sm=ih;function Yi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function am(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function lm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function im(e={}){const t=e.locale,o=am(e),n=je(e.pluralRules)&&fe(t)&&Ke(e.pluralRules[t])?e.pluralRules[t]:Yi,r=je(e.pluralRules)&&fe(t)&&Ke(e.pluralRules[t])?Yi:void 0,s=P=>P[n(o,P.length,r)],a=e.list||[],l=P=>a[P],i=e.named||qe();ot(e.pluralIndex)&&lm(o,i);const c=P=>i[P];function u(P){const y=Ke(e.messages)?e.messages(P):je(e.messages)?e.messages[P]:!1;return y||(e.parent?e.parent.message(P):om)}const f=P=>e.modifiers?e.modifiers[P]:tm,m=Ae(e.processor)&&Ke(e.processor.normalize)?e.processor.normalize:rm,v=Ae(e.processor)&&Ke(e.processor.interpolate)?e.processor.interpolate:sm,L=Ae(e.processor)&&fe(e.processor.type)?e.processor.type:nm,w={list:l,named:c,plural:s,linked:(P,...y)=>{const[p,g]=y;let _="text",E="";y.length===1?je(p)?(E=p.modifier||E,_=p.type||_):fe(p)&&(E=p||E):y.length===2&&(fe(p)&&(E=p||E),fe(g)&&(_=g||_));const $=u(P)(w),M=_==="vnode"&&Xe($)&&E?$[0]:$;return E?f(E)(M,_):M},message:u,type:L,interpolate:v,normalize:m,values:ut(qe(),a,i)};return w}let Un=null;function cm(e){Un=e}function um(e,t,o){Un&&Un.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const dm=fm("function:translate");function fm(e){return t=>Un&&Un.emit(e,t)}const pm=zs.__EXTEND_POINT__,Do=Mr(pm),gm={FALLBACK_TO_TRANSLATE:Do(),CANNOT_FORMAT_NUMBER:Do(),FALLBACK_TO_NUMBER_FORMAT:Do(),CANNOT_FORMAT_DATE:Do(),FALLBACK_TO_DATE_FORMAT:Do(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Do(),__EXTEND_POINT__:Do()},Xi=we.__EXTEND_POINT__,jo=Mr(Xi),Ot={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:jo(),INVALID_ISO_DATE_ARGUMENT:jo(),NOT_SUPPORT_NON_STRING_MESSAGE:jo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:jo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:jo(),NOT_SUPPORT_LOCALE_TYPE:jo(),__EXTEND_POINT__:jo()};function Zt(e){return en(e,null,void 0)}function Gs(e,t){return t.locale!=null?Ji(t.locale):Ji(e.locale)}let qs;function Ji(e){if(fe(e))return e;if(Ke(e)){if(e.resolvedOnce&&qs!=null)return qs;if(e.constructor.name==="Function"){const t=e();if(lh(t))throw Zt(Ot.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return qs=t}else throw Zt(Ot.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Zt(Ot.NOT_SUPPORT_LOCALE_TYPE)}function hm(e,t,o){return[...new Set([o,...Xe(t)?t:je(t)?Object.keys(t):fe(t)?[t]:[o]])]}function Zi(e,t,o){const n=fe(o)?o:nn,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(n);if(!s){s=[];let a=[o];for(;Xe(a);)a=Qi(s,a,t);const l=Xe(t)||!Ae(t)?t:t.default?t.default:null;a=fe(l)?[l]:l,Xe(a)&&Qi(s,a,!1),r.__localeChainCache.set(n,s)}return s}function Qi(e,t,o){let n=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ym(){return{upper:(e,t)=>t==="text"&&fe(e)?e.toUpperCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&fe(e)?e.toLowerCase():t==="vnode"&&je(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&fe(e)?tc(e):t==="vnode"&&je(e)&&"__v_isVNode"in e?tc(e.children):e}}let oc;function nc(e){oc=e}let rc;function vm(e){rc=e}let sc;function xm(e){sc=e}let ac=null;const wm=e=>{ac=e},km=()=>ac;let lc=null;const ic=e=>{lc=e},$m=()=>lc;let cc=0;function Sm(e={}){const t=Ke(e.onWarn)?e.onWarn:eh,o=fe(e.version)?e.version:_m,n=fe(e.locale)||Ke(e.locale)?e.locale:nn,r=Ke(n)?nn:n,s=Xe(e.fallbackLocale)||Ae(e.fallbackLocale)||fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ae(e.messages)?e.messages:Vs(r),l=Ae(e.datetimeFormats)?e.datetimeFormats:Vs(r),i=Ae(e.numberFormats)?e.numberFormats:Vs(r),c=ut(qe(),e.modifiers,ym()),u=e.pluralRules||qe(),f=Ke(e.missing)?e.missing:null,m=Ne(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,v=Ne(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,L=!!e.fallbackFormat,x=!!e.unresolving,w=Ke(e.postTranslation)?e.postTranslation:null,P=Ae(e.processor)?e.processor:null,y=Ne(e.warnHtmlMessage)?e.warnHtmlMessage:!0,p=!!e.escapeParameter,g=Ke(e.messageCompiler)?e.messageCompiler:oc,_=Ke(e.messageResolver)?e.messageResolver:rc||Qh,E=Ke(e.localeFallbacker)?e.localeFallbacker:sc||hm,$=je(e.fallbackContext)?e.fallbackContext:void 0,M=e,C=je(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,z=je(M.__numberFormatters)?M.__numberFormatters:new Map,J=je(M.__meta)?M.__meta:{};cc++;const se={version:o,cid:cc,locale:n,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:v,fallbackFormat:L,unresolving:x,postTranslation:w,processor:P,warnHtmlMessage:y,escapeParameter:p,messageCompiler:g,messageResolver:_,localeFallbacker:E,fallbackContext:$,onWarn:t,__meta:J};return se.datetimeFormats=l,se.numberFormats=i,se.__datetimeFormatters=C,se.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&um(se,o,J),se}const Vs=e=>({[e]:qe()});function Hs(e,t,o,n,r){const{missing:s,onWarn:a}=e;if(s!==null){const l=s(e,o,t,r);return fe(l)?l:t}else return t}function Bn(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Em(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Am(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nCm(o,e)}function Cm(e,t){const o=Uh(t);if(o==null)throw zn(0);if(Bs(o)===1){const s=Bh(o);return e.plural(s.reduce((a,l)=>[...a,uc(e,l)],[]))}else return uc(e,o)}function uc(e,t){const o=Gh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=qh(t).reduce((r,s)=>[...r,Ks(e,s)],[]);return e.normalize(n)}}function Ks(e,t){const o=Bs(t);switch(o){case 3:return zr(t,o);case 9:return zr(t,o);case 4:{const n=t;if(Rt(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Rt(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw zn(o)}case 5:{const n=t;if(Rt(n,"i")&&ot(n.i))return e.interpolate(e.list(n.i));if(Rt(n,"index")&&ot(n.index))return e.interpolate(e.list(n.index));throw zn(o)}case 6:{const n=t,r=Vh(n),s=Hh(n);return e.linked(Ks(e,s),r?Ks(e,r):void 0,e.type)}case 7:return zr(t,o);case 8:return zr(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const dc=e=>e;let rn=qe();function fc(e,t={}){let o=!1;const n=t.onError||mh;return t.onError=r=>{o=!0,n(r)},{...jh(e,t),detectError:o}}const Tm=(e,t)=>{if(!fe(e))throw Zt(Ot.NOT_SUPPORT_NON_STRING_MESSAGE);{Ne(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=rn[n];if(r)return r;const{code:s,detectError:a}=fc(e,t),l=new Function(`return ${s}`)();return a?l:rn[n]=l}};function Lm(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&fe(e)){Ne(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||dc)(e),r=rn[n];if(r)return r;const{ast:s,detectError:a}=fc(e,{...t,location:!1,jit:!0}),l=Ws(s);return a?l:rn[n]=l}else{const o=e.cacheKey;if(o){const n=rn[o];return n||(rn[o]=Ws(e))}else return Ws(e)}}const pc=()=>"",Tt=e=>Ke(e);function gc(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:l}=e,[i,c]=Ys(...t),u=Ne(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ne(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=Ne(c.escapeParameter)?c.escapeParameter:e.escapeParameter,v=!!c.resolvedMessage,L=fe(c.default)||Ne(c.default)?Ne(c.default)?s?i:()=>i:c.default:o?s?i:()=>i:"",x=o||L!=="",w=Gs(e,c);m&&Pm(c);let[P,y,p]=v?[i,w,l[w]||qe()]:hc(e,i,w,a,f,u),g=P,_=i;if(!v&&!(fe(g)||Jt(g)||Tt(g))&&x&&(g=L,_=g),!v&&(!(fe(g)||Jt(g)||Tt(g))||!fe(y)))return r?Ur:i;let E=!1;const $=()=>{E=!0},M=Tt(g)?g:mc(e,i,y,g,_,$);if(E)return g;const C=Fm(e,y,p,c),z=im(C),J=Nm(e,M,z);let se=n?n(J,i):J;if(m&&fe(se)&&(se=sh(se)),__INTLIFY_PROD_DEVTOOLS__){const me={timestamp:Date.now(),key:fe(i)?i:Tt(g)?g.key:"",locale:y||(Tt(g)?g.locale:""),format:fe(g)?g:Tt(g)?g.source:"",message:se};me.meta=ut({},e.__meta,km()||{}),dm(me)}return se}function Pm(e){Xe(e.list)?e.list=e.list.map(t=>fe(t)?Ci(t):t):je(e.named)&&Object.keys(e.named).forEach(t=>{fe(e.named[t])&&(e.named[t]=Ci(e.named[t]))})}function hc(e,t,o,n,r,s){const{messages:a,onWarn:l,messageResolver:i,localeFallbacker:c}=e,u=c(e,n,o);let f=qe(),m,v=null;const L="translate";for(let x=0;xn;return c.locale=o,c.key=t,c}const i=a(n,Im(e,o,r,n,l,s));return i.locale=o,i.key=t,i.source=n,i}function Nm(e,t,o){return t(o)}function Ys(...e){const[t,o,n]=e,r=qe();if(!fe(t)&&!ot(t)&&!Tt(t)&&!Jt(t))throw Zt(Ot.INVALID_ARGUMENT);const s=ot(t)?String(t):(Tt(t),t);return ot(o)?r.plural=o:fe(o)?r.default=o:Ae(o)&&!Rr(o)?r.named=o:Xe(o)&&(r.list=o),ot(n)?r.plural=n:fe(n)?r.default=n:Ae(n)&&ut(r,n),[s,r]}function Im(e,t,o,n,r,s){return{locale:t,key:o,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>th(t,o,a)}}function Fm(e,t,o,n){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:l,fallbackWarn:i,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:r,pluralRules:s,messages:v=>{let L=a(o,v);if(L==null&&u){const[,,x]=hc(u,v,t,l,i,c);L=a(x,v)}if(fe(L)||Jt(L)){let x=!1;const P=mc(e,v,t,L,v,()=>{x=!0});return x?pc:P}else return Tt(L)?L:pc}};return e.processor&&(m.processor=e.processor),n.list&&(m.list=n.list),n.named&&(m.named=n.named),ot(n.plural)&&(m.pluralIndex=n.plural),m}function bc(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:l}=e,[i,c,u,f]=Xs(...t),m=Ne(u.missingWarn)?u.missingWarn:e.missingWarn;Ne(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,L=Gs(e,u),x=a(e,r,L);if(!fe(i)||i==="")return new Intl.DateTimeFormat(L,f).format(c);let w={},P,y=null;const p="datetime format";for(let E=0;E{_c.includes(i)?a[i]=o[i]:s[i]=o[i]}),fe(n)?s.locale=n:Ae(n)&&(a=n),Ae(r)&&(a=r),[s.key||"",l,s,a]}function yc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function vc(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:l}=e,[i,c,u,f]=Js(...t),m=Ne(u.missingWarn)?u.missingWarn:e.missingWarn;Ne(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const v=!!u.part,L=Gs(e,u),x=a(e,r,L);if(!fe(i)||i==="")return new Intl.NumberFormat(L,f).format(c);let w={},P,y=null;const p="number format";for(let E=0;E{xc.includes(i)?a[i]=o[i]:s[i]=o[i]}),fe(n)?s.locale=n:Ae(n)&&(a=n),Ae(r)&&(a=r),[s.key||"",l,s,a]}function wc(e,t,o){const n=e;for(const r in o){const s=`${t}__${r}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}zh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Rm="9.14.5";function Mm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(io().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(io().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(io().__INTLIFY_PROD_DEVTOOLS__=!1)}const Om=gm.__EXTEND_POINT__,uo=Mr(Om);uo(),uo(),uo(),uo(),uo(),uo(),uo(),uo(),uo();const kc=Ot.__EXTEND_POINT__,wt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:wt(),MUST_BE_CALL_SETUP_TOP:wt(),NOT_INSTALLED:wt(),NOT_AVAILABLE_IN_LEGACY_MODE:wt(),REQUIRED_VALUE:wt(),INVALID_VALUE:wt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:wt(),NOT_INSTALLED_WITH_PROVIDE:wt(),UNEXPECTED_ERROR:wt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:wt(),BRIDGE_SUPPORT_VUE_2_ONLY:wt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:wt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:wt(),__EXTEND_POINT__:wt()};function lt(e,...t){return en(e,null,void 0)}const Zs=ko("__translateVNode"),Qs=ko("__datetimeParts"),ea=ko("__numberParts"),$c=ko("__setPluralRules"),Sc=ko("__injectWithOption"),ta=ko("__dispose");function Gn(e){if(!je(e)||Jt(e))return e;for(const t in e)if(Rt(e,t))if(!t.includes("."))je(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||Ge(),Dr(c,a[i])):Dr(c,a)}else fe(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Rt(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=je(t.messages)?t.messages:Ge();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(je(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(je(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Pe(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Dm=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,wo()||void 0,r)}const jm=()=>{const e=wo();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function oa(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Fr?ue:wn,l=!!e.translateExistCompatible;let i=Ne(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:fe(e.locale)?e.locale:nn),u=a(o&&i?o.fallbackLocale.value:fe(e.fallbackLocale)||Xe(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Br(c.value,e)),m=a(Ee(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Ee(e.numberFormats)?e.numberFormats:{[c.value]:{}});let P=o?o.missingWarn:Ne(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:Ne(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:Ne(e.fallbackRoot)?e.fallbackRoot:!0,N=!!e.fallbackFormat,y=We(e.missing)?e.missing:null,f=We(e.missing)?Nc(e.missing):null,g=We(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:Ne(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter;const $=o?o.modifiers:Ee(e.modifiers)?e.modifiers:{};let O=e.pluralRules||o&&o.pluralRules,A;A=(()=>{r&&ic(null);const D={version:Rm,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:O,missing:f===null?void 0:f,missingWarn:P,fallbackWarn:x,fallbackFormat:N,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:E,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};D.datetimeFormats=m.value,D.numberFormats=v.value,D.__datetimeFormatters=Ee(A)?A.__datetimeFormatters:void 0,D.__numberFormatters=Ee(A)?A.__numberFormatters:void 0;const S=Sm(D);return r&&ic(S),S})(),Bn(A,c.value,u.value);function X(){return[c.value,u.value,p.value,m.value,v.value]}const re=le({get:()=>c.value,set:D=>{c.value=D,A.locale=c.value}}),me=le({get:()=>u.value,set:D=>{u.value=D,A.fallbackLocale=u.value,Bn(A,c.value,D)}}),q=le(()=>p.value),Y=le(()=>m.value),C=le(()=>v.value);function T(){return We(g)?g:null}function M(D){g=D,A.postTranslation=D}function z(){return y}function Q(D){D!==null&&(f=Nc(D)),y=D,A.missing=f}const se=(D,S,J,ae,pe,be)=>{X();let Ie;try{__INTLIFY_PROD_DEVTOOLS__,r||(A.fallbackContext=o?$m():void 0),Ie=D(A)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(A.fallbackContext=void 0)}if(J!=="translate exists"&&ot(Ie)&&Ie===Ur||J==="translate exists"&&!Ie){const[Je,st]=S();return o&&w?ae(o):pe(Je)}else{if(be(Ie))return Ie;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function te(...D){return se(S=>Reflect.apply(gc,null,[S,...D]),()=>Ys(...D),"translate",S=>Reflect.apply(S.t,S,[...D]),S=>S,S=>fe(S))}function de(...D){const[S,J,ae]=D;if(ae&&!je(ae))throw lt(rt.INVALID_ARGUMENT);return te(S,J,ut({resolvedMessage:!0},ae||{}))}function ge(...D){return se(S=>Reflect.apply(bc,null,[S,...D]),()=>Xs(...D),"datetime format",S=>Reflect.apply(S.d,S,[...D]),()=>ec,S=>fe(S))}function Ae(...D){return se(S=>Reflect.apply(vc,null,[S,...D]),()=>Js(...D),"number format",S=>Reflect.apply(S.n,S,[...D]),()=>ec,S=>fe(S))}function ye(D){return D.map(S=>fe(S)||ot(S)||Ne(S)?Cc(String(S)):S)}const Ke={normalize:ye,interpolate:D=>D,type:"vnode"};function ze(...D){return se(S=>{let J;const ae=S;try{ae.processor=Ke,J=Reflect.apply(gc,null,[ae,...D])}finally{ae.processor=null}return J},()=>Ys(...D),"translate",S=>S[Zs](...D),S=>[Cc(S)],S=>Xe(S))}function Re(...D){return se(S=>Reflect.apply(vc,null,[S,...D]),()=>Js(...D),"number format",S=>S[ea](...D),Lc,S=>fe(S)||Xe(S))}function et(...D){return se(S=>Reflect.apply(bc,null,[S,...D]),()=>Xs(...D),"datetime format",S=>S[Qs](...D),Lc,S=>fe(S)||Xe(S))}function b(D){O=D,A.pluralRules=O}function L(D,S){return se(()=>{if(!D)return!1;const J=fe(S)?S:c.value,ae=W(J),pe=A.messageResolver(ae,D);return l?pe!=null:Jt(pe)||Tt(pe)||fe(pe)},()=>[D],"translate exists",J=>Reflect.apply(J.te,J,[D,S]),Dm,J=>Ne(J))}function k(D){let S=null;const J=Zi(A,u.value,c.value);for(let ae=0;ae{i&&(c.value=D,A.locale=D,Bn(A,c.value,u.value))}),gt(o.fallbackLocale,D=>{i&&(u.value=D,A.fallbackLocale=D,Bn(A,c.value,u.value))}));const oe={id:Pc,locale:re,fallbackLocale:me,get inheritLocale(){return i},set inheritLocale(D){i=D,D&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(A,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:q,get modifiers(){return $},get pluralRules(){return O||{}},get isGlobal(){return r},get missingWarn(){return P},set missingWarn(D){P=D,A.missingWarn=P},get fallbackWarn(){return x},set fallbackWarn(D){x=D,A.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(D){w=D},get fallbackFormat(){return N},set fallbackFormat(D){N=D,A.fallbackFormat=N},get warnHtmlMessage(){return _},set warnHtmlMessage(D){_=D,A.warnHtmlMessage=D},get escapeParameter(){return E},set escapeParameter(D){E=D,A.escapeParameter=D},t:te,getLocaleMessage:W,setLocaleMessage:ne,mergeLocaleMessage:G,getPostTranslationHandler:T,setPostTranslationHandler:M,getMissingHandler:z,setMissingHandler:Q,[$c]:b};return oe.datetimeFormats=Y,oe.numberFormats=C,oe.rt=de,oe.te=L,oe.tm=V,oe.d=ge,oe.n=Ae,oe.getDateTimeFormat=B,oe.setDateTimeFormat=d,oe.mergeDateTimeFormat=h,oe.getNumberFormat=F,oe.setNumberFormat=j,oe.mergeNumberFormat=ee,oe[Sc]=n,oe[Zs]=ze,oe[Qs]=et,oe[ea]=Re,oe}function zm(e){const t=fe(e.locale)?e.locale:nn,o=fe(e.fallbackLocale)||Xe(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=We(e.missing)?e.missing:void 0,r=Ne(e.silentTranslationWarn)||$o(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ne(e.silentFallbackWarn)||$o(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Ne(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Ee(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=We(e.postTranslation)?e.postTranslation:void 0,p=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=Ne(e.sync)?e.sync:!0;let P=e.messages;if(Ee(e.sharedMessages)){const E=e.sharedMessages;P=Object.keys(E).reduce((O,A)=>{const U=O[A]||(O[A]={});return ut(U,E[A]),O},P||{})}const{__i18n:x,__root:w,__injectWithOption:N}=e,y=e.datetimeFormats,f=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:P,flatJson:g,datetimeFormats:y,numberFormats:f,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:N}}function na(e={},t){{const o=oa(zm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ne(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ne(s)?!s:s},get silentFallbackWarn(){return Ne(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ne(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,p=null;if(!fe(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return fe(l)?c.locale=l:Xe(l)?u=l:Ee(l)&&(p=l),Xe(i)?u=i:Ee(i)&&(p=i),Reflect.apply(o.t,o,[m,u||p||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,p=null;if(!fe(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return fe(l)?c.locale=l:ot(l)?c.plural=l:Xe(l)?u=l:Ee(l)&&(p=l),fe(i)?c.locale=i:Xe(i)?u=i:Ee(i)&&(p=i),Reflect.apply(o.t,o,[m,u||p||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ra={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Um({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===xe?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},Ge())}function Ic(e){return xe}const Fc=An({name:"i18n-t",props:ut({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ra),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||sn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(p=>p!=="_"),a=Ge();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const l=Um(t,s),i=r[Zs](e.keypath,l,a),c=ut(Ge(),n),u=fe(e.tag)||je(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Bm(e){return Xe(e)&&!fe(e[0])}function Rc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=Ge();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:je(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?ut(Ge(),m,{[v]:e.format[v]}):m,Ge()));const i=n(e.value,a,l);let c=[a.key];Xe(i)?c=i.map((m,v)=>{const P=r[m.type],x=P?P({[m.type]:m.value,index:v,parts:i}):[m.value];return Bm(x)&&(x[0].key=`${m.type}-${v}`),x}):fe(i)&&(c=[i]);const u=ut(Ge(),s),p=fe(e.tag)||je(e.tag)?e.tag:Ic();return ci(p,u,c)}}const Mc=An({name:"i18n-n",props:ut({value:{type:Number,required:!0},format:{type:[String,Object]}},ra),setup(e,t){const o=e.i18n||sn({useScope:e.scope,__useComponent:!0});return Rc(e,t,xc,(...n)=>o[ea](...n))}}),Oc=An({name:"i18n-d",props:ut({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ra),setup(e,t){const o=e.i18n||sn({useScope:e.scope,__useComponent:!0});return Rc(e,t,_c,(...n)=>o[Qs](...n))}});function Gm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function qm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Gm(e,l.$),p=Dc(c);return[Reflect.apply(u.t,u,[...jc(p)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=gt(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Fr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(fe(e))return{path:e};if(Ee(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return fe(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Vm(e,t,...o){const n=Ee(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Ne(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Fc.name,"I18nT"].forEach(a=>e.component(a,Fc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",qm(t))}function Hm(e,t,o){return{beforeCreate(){const n=wo();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=na(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=na({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=wo();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Wm=ko("global-vue-i18n");function Km(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ne(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ne(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Ym(e,o),i=ko("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...P){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Ee(P[0])){const N=P[0];m.__composerExtend=N.__composerExtend,m.__vueI18nExtend=N.__vueI18nExtend}let x=null;!o&&n&&(x=rb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Vm(v,m,...P),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Hm(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function sn(e={}){const t=wo();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Xm(t),n=Zm(o),r=Ec(t),s=Jm(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return ob(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=Qm(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=ut({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=oa(i),a.__composerExtend&&(l[ta]=a.__composerExtend(l)),tb(a,t,l),a.__setInstance(t,l)}return l}function Ym(e,t,o){const n=Va();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>na(e)):n.run(()=>oa(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Xm(e){{const t=Le(e.isCE?Wm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function Jm(e,t){return Rr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Zm(e){return e.mode==="composition"?e.global:e.global.__composer}function Qm(e,t,o=!1){let n=null;const r=t.root;let s=eb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function eb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function tb(e,t,o){xt(()=>{},t),ks(()=>{const n=o;e.__deleteInstance(t);const r=n[ta];r&&(r(),delete n[ta])},t)}function ob(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Ne(n.inheritLocale)?n.inheritLocale:!fe(n.locale),l=ue(!r||a?o.locale.value:fe(n.locale)?n.locale:nn),i=ue(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Xe(n.fallbackLocale)||Ee(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=ue(Br(l.value,n)),u=ue(Ee(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),p=ue(Ee(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:Ne(n.missingWarn)||$o(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:Ne(n.fallbackWarn)||$o(n.fallbackWarn)?n.fallbackWarn:!0,P=r?o.fallbackRoot:Ne(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=We(n.missing)?n.missing:null,N=We(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:Ne(n.warnHtmlMessage)?n.warnHtmlMessage:!0,f=!!n.escapeParameter,g=r?o.modifiers:Ee(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function E(){return[l.value,i.value,c.value,u.value,p.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),O=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),A=le(()=>s.value?s.value.messages.value:c.value),U=le(()=>u.value),X=le(()=>p.value);function re(){return s.value?s.value.getPostTranslationHandler():N}function me(k){s.value&&s.value.setPostTranslationHandler(k)}function q(){return s.value?s.value.getMissingHandler():w}function Y(k){s.value&&s.value.setMissingHandler(k)}function C(k){return E(),k()}function T(...k){return s.value?C(()=>Reflect.apply(s.value.t,null,[...k])):C(()=>"")}function M(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function z(...k){return s.value?C(()=>Reflect.apply(s.value.d,null,[...k])):C(()=>"")}function Q(...k){return s.value?C(()=>Reflect.apply(s.value.n,null,[...k])):C(()=>"")}function se(k){return s.value?s.value.tm(k):{}}function te(k,V){return s.value?s.value.te(k,V):!1}function de(k){return s.value?s.value.getLocaleMessage(k):{}}function ge(k,V){s.value&&(s.value.setLocaleMessage(k,V),c.value[k]=V)}function Ae(k,V){s.value&&s.value.mergeLocaleMessage(k,V)}function ye(k){return s.value?s.value.getDateTimeFormat(k):{}}function Te(k,V){s.value&&(s.value.setDateTimeFormat(k,V),u.value[k]=V)}function Ke(k,V){s.value&&s.value.mergeDateTimeFormat(k,V)}function ze(k){return s.value?s.value.getNumberFormat(k):{}}function Re(k,V){s.value&&(s.value.setNumberFormat(k,V),p.value[k]=V)}function et(k,V){s.value&&s.value.mergeNumberFormat(k,V)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:O,messages:A,datetimeFormats:U,numberFormats:X,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:P},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:f},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:T,getPostTranslationHandler:re,setPostTranslationHandler:me,getMissingHandler:q,setMissingHandler:Y,rt:M,d:z,n:Q,tm:se,te,getLocaleMessage:de,setLocaleMessage:ge,mergeLocaleMessage:Ae,getDateTimeFormat:ye,setDateTimeFormat:Te,mergeDateTimeFormat:Ke,getNumberFormat:ze,setNumberFormat:Re,mergeNumberFormat:et};function L(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(V=>{k.mergeLocaleMessage(V,c.value[V])}),Object.keys(u.value).forEach(V=>{k.mergeDateTimeFormat(V,u.value[V])}),Object.keys(p.value).forEach(V=>{k.mergeNumberFormat(V,p.value[V])}),k.escapeParameter=f,k.fallbackFormat=x,k.fallbackRoot=P,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,p.value=k.numberFormats.value):r&&L(k)}),b}const nb=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function rb(e,t){const o=Object.create(null);return nb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(Mm(),__INTLIFY_JIT_COMPILATION__?nc(Lm):nc(Tm),vm(em),xm(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=io();e.__INTLIFY__=!0,cm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const sb=Object.assign({"./locales/ar/aria.json":dp,"./locales/ar/buttons.json":fp,"./locales/ar/detail.json":pp,"./locales/ar/legend.json":gp,"./locales/ar/messages.json":hp,"./locales/ar/options.json":mp,"./locales/ar/prayerLaps.json":bp,"./locales/ar/search.json":_p,"./locales/ar/tabs.json":yp,"./locales/de/aria.json":vp,"./locales/de/buttons.json":xp,"./locales/de/detail.json":wp,"./locales/de/legend.json":kp,"./locales/de/messages.json":$p,"./locales/de/options.json":Sp,"./locales/de/prayerLaps.json":Ep,"./locales/de/search.json":Ap,"./locales/de/tabs.json":Cp,"./locales/en/aria.json":Tp,"./locales/en/buttons.json":Lp,"./locales/en/detail.json":Pp,"./locales/en/legend.json":Np,"./locales/en/messages.json":Ip,"./locales/en/options.json":Fp,"./locales/en/popup.json":Rp,"./locales/en/prayerLaps.json":Mp,"./locales/en/search.json":Op,"./locales/en/tabs.json":Dp,"./locales/es/aria.json":jp,"./locales/es/buttons.json":zp,"./locales/es/detail.json":Up,"./locales/es/legend.json":Bp,"./locales/es/messages.json":Gp,"./locales/es/options.json":qp,"./locales/es/prayerLaps.json":Vp,"./locales/es/search.json":Hp,"./locales/es/tabs.json":Wp,"./locales/fr/aria.json":Kp,"./locales/fr/buttons.json":Yp,"./locales/fr/detail.json":Xp,"./locales/fr/legend.json":Jp,"./locales/fr/messages.json":Zp,"./locales/fr/options.json":Qp,"./locales/fr/popup.json":eg,"./locales/fr/prayerLaps.json":tg,"./locales/fr/search.json":og,"./locales/fr/tabs.json":ng,"./locales/hi/aria.json":rg,"./locales/hi/buttons.json":sg,"./locales/hi/detail.json":ag,"./locales/hi/legend.json":lg,"./locales/hi/messages.json":ig,"./locales/hi/options.json":cg,"./locales/hi/prayerLaps.json":ug,"./locales/hi/search.json":dg,"./locales/it/aria.json":fg,"./locales/it/buttons.json":pg,"./locales/it/detail.json":gg,"./locales/it/legend.json":hg,"./locales/it/messages.json":mg,"./locales/it/options.json":bg,"./locales/it/prayerLaps.json":_g,"./locales/it/search.json":yg,"./locales/pt/aria.json":vg,"./locales/pt/buttons.json":xg,"./locales/pt/detail.json":wg,"./locales/pt/legend.json":kg,"./locales/pt/messages.json":$g,"./locales/pt/options.json":Sg,"./locales/pt/prayerLaps.json":Eg,"./locales/pt/search.json":Ag,"./locales/pt/tabs.json":Cg,"./locales/ro/aria.json":Tg,"./locales/ro/buttons.json":Lg,"./locales/ro/detail.json":Pg,"./locales/ro/legend.json":Ng,"./locales/ro/messages.json":Ig,"./locales/ro/options.json":Fg,"./locales/ro/prayerLaps.json":Rg,"./locales/ro/search.json":Mg,"./locales/ru/aria.json":Og,"./locales/ru/buttons.json":Dg,"./locales/ru/detail.json":jg,"./locales/ru/legend.json":zg,"./locales/ru/messages.json":Ug,"./locales/ru/options.json":Bg,"./locales/ru/prayerLaps.json":Gg,"./locales/ru/search.json":qg,"./locales/ru/tabs.json":Vg,"./locales/zh/aria.json":Hg,"./locales/zh/buttons.json":Wg,"./locales/zh/detail.json":Kg,"./locales/zh/legend.json":Yg,"./locales/zh/messages.json":Xg,"./locales/zh/options.json":Jg,"./locales/zh/prayerLaps.json":Zg,"./locales/zh/search.json":Qg}),qn={};for(const[e,t]of Object.entries(sb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const ab=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function lb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return ab.includes(t)?t:"en"}function ib(){return Km({legacy:!1,globalInjection:!0,locale:lb(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",fo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},cb=fo,sa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ub=sa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?fo.hasAdoption:fo.notAdopted}function aa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],fo.hasAdoption,["==",t,1],fo.hasAdoption,fo.notAdopted]}const qc=aa,db=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:cb,ADOPTION_LABELS:ub,LABELS:sa,PALETTE:fo,PROPERTY_KEY:Bc,applyColor:aa,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:fo,colors:fo,labels:sa,getColor:Gc,applyColor:aa,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Vc="engagementStatus",po={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},fb=po,la={notEngaged:"Unengaged",hasEngagement:"Engaged"},pb=la;function Hc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasEngagement:po.notEngaged}function ia({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],po.hasEngagement,["==",t,1],po.hasEngagement,po.notEngaged]}const Wc=ia,gb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:fb,ENGAGEMENT_LABELS:pb,LABELS:la,PALETTE:po,PROPERTY_KEY:Vc,applyColor:ia,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Vc,palette:po,colors:po,labels:la,getColor:Hc,applyColor:ia,buildColorExpression:Wc},getColor:Hc},Symbol.toStringTag,{value:"Module"})),ca="languageFamily",hb="#000000",go={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},mb=go;function ua(e){return go[e]||hb}const bb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(go))t[e(o)]=o;return t})(),_b={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return _b[o]||bb[o]||t}function Kc(e){var t;return ua(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function da(){const e=["match",["get",ca]];return Object.entries(go).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=da,yb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:mb,PALETTE:go,PROPERTY_KEY:ca,applyColor:da,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ca,palette:go,colors:go,getColor:Kc,applyColor:da,buildColorExpression:Yc,getLanguageFamilyColor:ua,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:ua,languageFamilyColors:go},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,Co={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},vb=Co,Vn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},xb=Vn;function an(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function fa(e){return Co[an(e)]}function Jc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Zc(e){return an(e)==="fullPrayer"}function Qc(e){return fa(e)}function Vr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],Co.fullPrayer,[">",t,0],Co.hasPrayer,Co.noPrayer]}const eu=Vr,wb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Vn,PALETTE:Co,PRAYER_COLORS:vb,PRAYER_LABELS:xb,PROPERTY_KEY:Xc,applyColor:Vr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:Co,colors:Co,labels:Vn,threshold:qr,getColor:Qc,applyColor:Vr,buildColorExpression:eu,getPrayerLevel:an,getPrayerColor:fa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:fa,getPrayerLevel:an},Symbol.toStringTag,{value:"Module"})),tu="religion",pa="#94a3b8",zo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},kt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ga(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return zo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return kt[ga(t)]||pa}function ha(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",kt.C,"M",kt.M,"H",kt.H,"B",kt.B,"E",kt.E,"J",kt.J,"S",kt.S,"N",kt.N,"O",kt.O,pa]}const nu=ha,kb=Object.assign({"./adoption.js":db,"./engagement.js":gb,"./language-family.js":yb,"./prayer-progress.js":wb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:kt,PROPERTY_KEY:tu,RELIGION_FAMILIES:zo,applyColor:ha,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:kt,families:zo,getColor:ou,applyColor:ha,buildColorExpression:nu,fallback:pa},getColor:ou,getReligionFamily:ga},Symbol.toStringTag,{value:"Module"}))}),$b=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Sb=e=>e.replace(/-/g,"_").toUpperCase(),ho={...{STATUS:"status",CUSTOM:"custom"}},ma={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=$b(o);ho[Sb(o)]=r,ma[r]=n}}ru(kb);function Eb(e){e&&ru(e)}function Hr(e){return ma[e]||ma[ho.LANGUAGE_FAMILY]}const Ab="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Cb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Ab,null,!0),!0}catch{return!1}}const su="affinityBlock",ln="#95a5a6",cn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},ba={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},un=ba;Object.entries(cn).reduce((e,[t,o])=>(e[o]=t,e),{});const Tb=Object.entries(cn).reduce((e,[t,o])=>(e[o]=un[t],e),{}),Lb=cn;function au(e){return cn[e]||"Unknown"}function lu(e){return un[e]||ln}function Pb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?un[e]||ln:Tb[e]||ln:ln}function Nb(){return Object.entries(cn).map(([e,t])=>({code:e,name:t,color:un[e]}))}function Ib(e){return{code:e,name:cn[e]||"Unknown",color:un[e]||ln}}function Fb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Rb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(un).forEach(([t,o])=>{e.push(t,o)}),e.push(ln),e}const Mb={name:"Affinity Block",propertyKey:su,palette:ba,colors:ba,names:Lb,getColor:Fb,applyColor:iu,buildColorExpression:iu,getName:Rb,getAffinityBlockName:au,getAffinityBlockColor:Pb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Nb,getAffinityBlockData:Ib};function Ob(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(_a),e}const zb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:ya,aliases:pu,fallback:_a,getColor:jb,applyColor:gu,buildColorExpression:gu,getRegionColor:Db,getRegionColorBySlug:fu},Ub=Bo&&Bo.tagName.toUpperCase()==="SCRIPT"&&Bo.src||new URL("dashboard-plus-grid.js",document.baseURI).href,va=e=>String(e||"").trim().replace(/\/+$/,"");function Bb(){try{const t=String(Ub||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return va(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return va(o)}return va(Bb()||"")}function Gb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function Et(e,t){const o=t||qb(e);xt(()=>{var l;const n=wo();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function qb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Hn={};function Hb(e){return e?(Hn[e]||(Hn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Hn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Hn[e]):Promise.resolve()}function Wb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Kb=` + */const Rm="9.14.5";function Mm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(io().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(io().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(io().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(io().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(io().__INTLIFY_PROD_DEVTOOLS__=!1)}const Om=gm.__EXTEND_POINT__,uo=Mr(Om);uo(),uo(),uo(),uo(),uo(),uo(),uo(),uo(),uo();const kc=Ot.__EXTEND_POINT__,wt=Mr(kc),rt={UNEXPECTED_RETURN_TYPE:kc,INVALID_ARGUMENT:wt(),MUST_BE_CALL_SETUP_TOP:wt(),NOT_INSTALLED:wt(),NOT_AVAILABLE_IN_LEGACY_MODE:wt(),REQUIRED_VALUE:wt(),INVALID_VALUE:wt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:wt(),NOT_INSTALLED_WITH_PROVIDE:wt(),UNEXPECTED_ERROR:wt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:wt(),BRIDGE_SUPPORT_VUE_2_ONLY:wt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:wt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:wt(),__EXTEND_POINT__:wt()};function lt(e,...t){return en(e,null,void 0)}const Zs=ko("__translateVNode"),Qs=ko("__datetimeParts"),ea=ko("__numberParts"),$c=ko("__setPluralRules"),Sc=ko("__injectWithOption"),ta=ko("__dispose");function Gn(e){if(!je(e)||Jt(e))return e;for(const t in e)if(Rt(e,t))if(!t.includes("."))je(e[t])&&Gn(e[t]);else{const o=t.split("."),n=o.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in l&&"resource"in l){const{locale:i,resource:c}=l;i?(a[i]=a[i]||qe(),Dr(c,a[i])):Dr(c,a)}else fe(l)&&Dr(JSON.parse(l),a)}),r==null&&s)for(const l in a)Rt(a,l)&&Gn(a[l]);return a}function Ec(e){return e.type}function Ac(e,t,o){let n=je(t.messages)?t.messages:qe();"__i18nGlobal"in o&&(n=Br(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const r=Object.keys(n);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(je(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(je(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Cc(e){return Pe(Pn,null,e,0)}const Tc="__INTLIFY_META__",Lc=()=>[],Dm=()=>!1;let Pc=0;function Nc(e){return(t,o,n,r)=>e(o,n,wo()||void 0,r)}const jm=()=>{const e=wo();let t=null;return e&&(t=Ec(e)[Tc])?{[Tc]:t}:null};function oa(e={},t){const{__root:o,__injectWithOption:n}=e,r=o===void 0,s=e.flatJson,a=Fr?de:wn,l=!!e.translateExistCompatible;let i=Ne(e.inheritLocale)?e.inheritLocale:!0;const c=a(o&&i?o.locale.value:fe(e.locale)?e.locale:nn),u=a(o&&i?o.fallbackLocale.value:fe(e.fallbackLocale)||Xe(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=a(Br(c.value,e)),m=a(Ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),v=a(Ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let L=o?o.missingWarn:Ne(e.missingWarn)||$o(e.missingWarn)?e.missingWarn:!0,x=o?o.fallbackWarn:Ne(e.fallbackWarn)||$o(e.fallbackWarn)?e.fallbackWarn:!0,w=o?o.fallbackRoot:Ne(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,y=Ke(e.missing)?e.missing:null,p=Ke(e.missing)?Nc(e.missing):null,g=Ke(e.postTranslation)?e.postTranslation:null,_=o?o.warnHtmlMessage:Ne(e.warnHtmlMessage)?e.warnHtmlMessage:!0,E=!!e.escapeParameter;const $=o?o.modifiers:Ae(e.modifiers)?e.modifiers:{};let M=e.pluralRules||o&&o.pluralRules,C;C=(()=>{r&&ic(null);const O={version:Rm,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:$,pluralRules:M,missing:p===null?void 0:p,missingWarn:L,fallbackWarn:x,fallbackFormat:P,unresolving:!0,postTranslation:g===null?void 0:g,warnHtmlMessage:_,escapeParameter:E,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=m.value,O.numberFormats=v.value,O.__datetimeFormatters=Ae(C)?C.__datetimeFormatters:void 0,O.__numberFormatters=Ae(C)?C.__numberFormatters:void 0;const S=Sm(O);return r&&ic(S),S})(),Bn(C,c.value,u.value);function J(){return[c.value,u.value,f.value,m.value,v.value]}const se=le({get:()=>c.value,set:O=>{c.value=O,C.locale=c.value}}),me=le({get:()=>u.value,set:O=>{u.value=O,C.fallbackLocale=u.value,Bn(C,c.value,O)}}),G=le(()=>f.value),ee=le(()=>m.value),H=le(()=>v.value);function A(){return Ke(g)?g:null}function N(O){g=O,C.postTranslation=O}function oe(){return y}function D(O){O!==null&&(p=Nc(O)),y=O,C.missing=p}const W=(O,S,Z,ae,ge,_e)=>{J();let Fe;try{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=o?$m():void 0),Fe=O(C)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(C.fallbackContext=void 0)}if(Z!=="translate exists"&&ot(Fe)&&Fe===Ur||Z==="translate exists"&&!Fe){const[Je,st]=S();return o&&w?ae(o):ge(Je)}else{if(_e(Fe))return Fe;throw lt(rt.UNEXPECTED_RETURN_TYPE)}};function X(...O){return W(S=>Reflect.apply(gc,null,[S,...O]),()=>Ys(...O),"translate",S=>Reflect.apply(S.t,S,[...O]),S=>S,S=>fe(S))}function ie(...O){const[S,Z,ae]=O;if(ae&&!je(ae))throw lt(rt.INVALID_ARGUMENT);return X(S,Z,ut({resolvedMessage:!0},ae||{}))}function pe(...O){return W(S=>Reflect.apply(bc,null,[S,...O]),()=>Xs(...O),"datetime format",S=>Reflect.apply(S.d,S,[...O]),()=>ec,S=>fe(S))}function $e(...O){return W(S=>Reflect.apply(vc,null,[S,...O]),()=>Js(...O),"number format",S=>Reflect.apply(S.n,S,[...O]),()=>ec,S=>fe(S))}function Ie(O){return O.map(S=>fe(S)||ot(S)||Ne(S)?Cc(String(S)):S)}const Be={normalize:Ie,interpolate:O=>O,type:"vnode"};function ze(...O){return W(S=>{let Z;const ae=S;try{ae.processor=Be,Z=Reflect.apply(gc,null,[ae,...O])}finally{ae.processor=null}return Z},()=>Ys(...O),"translate",S=>S[Zs](...O),S=>[Cc(S)],S=>Xe(S))}function Te(...O){return W(S=>Reflect.apply(vc,null,[S,...O]),()=>Js(...O),"number format",S=>S[ea](...O),Lc,S=>fe(S)||Xe(S))}function et(...O){return W(S=>Reflect.apply(bc,null,[S,...O]),()=>Xs(...O),"datetime format",S=>S[Qs](...O),Lc,S=>fe(S)||Xe(S))}function b(O){M=O,C.pluralRules=M}function T(O,S){return W(()=>{if(!O)return!1;const Z=fe(S)?S:c.value,ae=K(Z),ge=C.messageResolver(ae,O);return l?ge!=null:Jt(ge)||Tt(ge)||fe(ge)},()=>[O],"translate exists",Z=>Reflect.apply(Z.te,Z,[O,S]),Dm,Z=>Ne(Z))}function k(O){let S=null;const Z=Zi(C,u.value,c.value);for(let ae=0;ae{i&&(c.value=O,C.locale=O,Bn(C,c.value,u.value))}),gt(o.fallbackLocale,O=>{i&&(u.value=O,C.fallbackLocale=O,Bn(C,c.value,u.value))}));const ne={id:Pc,locale:se,fallbackLocale:me,get inheritLocale(){return i},set inheritLocale(O){i=O,O&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Bn(C,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:G,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return L},set missingWarn(O){L=O,C.missingWarn=L},get fallbackWarn(){return x},set fallbackWarn(O){x=O,C.fallbackWarn=x},get fallbackRoot(){return w},set fallbackRoot(O){w=O},get fallbackFormat(){return P},set fallbackFormat(O){P=O,C.fallbackFormat=P},get warnHtmlMessage(){return _},set warnHtmlMessage(O){_=O,C.warnHtmlMessage=O},get escapeParameter(){return E},set escapeParameter(O){E=O,C.escapeParameter=O},t:X,getLocaleMessage:K,setLocaleMessage:re,mergeLocaleMessage:B,getPostTranslationHandler:A,setPostTranslationHandler:N,getMissingHandler:oe,setMissingHandler:D,[$c]:b};return ne.datetimeFormats=ee,ne.numberFormats=H,ne.rt=ie,ne.te=T,ne.tm=q,ne.d=pe,ne.n=$e,ne.getDateTimeFormat=U,ne.setDateTimeFormat=d,ne.mergeDateTimeFormat=h,ne.getNumberFormat=F,ne.setNumberFormat=j,ne.mergeNumberFormat=te,ne[Sc]=n,ne[Zs]=ze,ne[Qs]=et,ne[ea]=Te,ne}function zm(e){const t=fe(e.locale)?e.locale:nn,o=fe(e.fallbackLocale)||Xe(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=Ke(e.missing)?e.missing:void 0,r=Ne(e.silentTranslationWarn)||$o(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ne(e.silentFallbackWarn)||$o(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Ne(e.fallbackRoot)?e.fallbackRoot:!0,l=!!e.formatFallbackMessages,i=Ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ke(e.postTranslation)?e.postTranslation:void 0,f=fe(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,v=Ne(e.sync)?e.sync:!0;let L=e.messages;if(Ae(e.sharedMessages)){const E=e.sharedMessages;L=Object.keys(E).reduce((M,C)=>{const z=M[C]||(M[C]={});return ut(z,E[C]),M},L||{})}const{__i18n:x,__root:w,__injectWithOption:P}=e,y=e.datetimeFormats,p=e.numberFormats,g=e.flatJson,_=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:L,flatJson:g,datetimeFormats:y,numberFormats:p,missing:n,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:l,modifiers:i,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:v,translateExistCompatible:_,__i18n:x,__root:w,__injectWithOption:P}}function na(e={},t){{const o=oa(zm(e)),{__extender:n}=e,r={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return Ne(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ne(s)?!s:s},get silentFallbackWarn(){return Ne(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ne(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[a,l,i]=s,c={};let u=null,f=null;if(!fe(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return fe(l)?c.locale=l:Xe(l)?u=l:Ae(l)&&(f=l),Xe(i)?u=i:Ae(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[a,l,i]=s,c={plural:1};let u=null,f=null;if(!fe(a))throw lt(rt.INVALID_ARGUMENT);const m=a;return fe(l)?c.locale=l:ot(l)?c.plural=l:Xe(l)?u=l:Ae(l)&&(f=l),fe(i)?c.locale=i:Xe(i)?u=i:Ae(i)&&(f=i),Reflect.apply(o.t,o,[m,u||f||{},c])},te(s,a){return o.te(s,a)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,a){o.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){o.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,a){o.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){o.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,a){o.setNumberFormat(s,a)},mergeNumberFormat(s,a){o.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=n,r}}const ra={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Um({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,r)=>[...n,...r.type===xe?r.children:[r]],[]):t.reduce((o,n)=>{const r=e[n];return r&&(o[n]=r()),o},qe())}function Ic(e){return xe}const Fc=An({name:"i18n-t",props:ut({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ra),setup(e,t){const{slots:o,attrs:n}=t,r=e.i18n||sn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),a=qe();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=fe(e.plural)?+e.plural:e.plural);const l=Um(t,s),i=r[Zs](e.keypath,l,a),c=ut(qe(),n),u=fe(e.tag)||je(e.tag)?e.tag:Ic();return ci(u,c,i)}}});function Bm(e){return Xe(e)&&!fe(e[0])}function Rc(e,t,o,n){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let l=qe();e.locale&&(a.locale=e.locale),fe(e.format)?a.key=e.format:je(e.format)&&(fe(e.format.key)&&(a.key=e.format.key),l=Object.keys(e.format).reduce((m,v)=>o.includes(v)?ut(qe(),m,{[v]:e.format[v]}):m,qe()));const i=n(e.value,a,l);let c=[a.key];Xe(i)?c=i.map((m,v)=>{const L=r[m.type],x=L?L({[m.type]:m.value,index:v,parts:i}):[m.value];return Bm(x)&&(x[0].key=`${m.type}-${v}`),x}):fe(i)&&(c=[i]);const u=ut(qe(),s),f=fe(e.tag)||je(e.tag)?e.tag:Ic();return ci(f,u,c)}}const Mc=An({name:"i18n-n",props:ut({value:{type:Number,required:!0},format:{type:[String,Object]}},ra),setup(e,t){const o=e.i18n||sn({useScope:e.scope,__useComponent:!0});return Rc(e,t,xc,(...n)=>o[ea](...n))}}),Oc=An({name:"i18n-d",props:ut({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ra),setup(e,t){const o=e.i18n||sn({useScope:e.scope,__useComponent:!0});return Rc(e,t,_c,(...n)=>o[Qs](...n))}});function Gm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function qm(e){const t=a=>{const{instance:l,modifiers:i,value:c}=a;if(!l||!l.$)throw lt(rt.UNEXPECTED_ERROR);const u=Gm(e,l.$),f=Dc(c);return[Reflect.apply(u.t,u,[...jc(f)]),u]};return{created:(a,l)=>{const[i,c]=t(l);Fr&&e.global===c&&(a.__i18nWatcher=gt(c.locale,()=>{l.instance&&l.instance.$forceUpdate()})),a.__composer=c,a.textContent=i},unmounted:a=>{Fr&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:l})=>{if(a.__composer){const i=a.__composer,c=Dc(l);a.textContent=Reflect.apply(i.t,i,[...jc(c)])}},getSSRProps:a=>{const[l]=t(a);return{textContent:l}}}}function Dc(e){if(fe(e))return{path:e};if(Ae(e)){if(!("path"in e))throw lt(rt.REQUIRED_VALUE,"path");return e}else throw lt(rt.INVALID_VALUE)}function jc(e){const{path:t,locale:o,args:n,choice:r,plural:s}=e,a={},l=n||{};return fe(o)&&(a.locale=o),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,l,a]}function Vm(e,t,...o){const n=Ae(o[0])?o[0]:{},r=!!n.useI18nComponentName;(Ne(n.globalInstall)?n.globalInstall:!0)&&([r?"i18n":Fc.name,"I18nT"].forEach(a=>e.component(a,Fc)),[Mc.name,"I18nN"].forEach(a=>e.component(a,Mc)),[Oc.name,"I18nD"].forEach(a=>e.component(a,Oc))),e.directive("t",qm(t))}function Hm(e,t,o){return{beforeCreate(){const n=wo();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=zc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=na(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=zc(e,r);else{this.$i18n=na({__i18n:r.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&Ac(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=wo();if(!n)throw lt(rt.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),o.__deleteInstance(n),delete this.$i18n}}}function zc(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[$c](t.pluralizationRules||e.pluralizationRules);const o=Br(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const Wm=ko("global-vue-i18n");function Km(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ne(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ne(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[a,l]=Ym(e,o),i=ko("");function c(m){return s.get(m)||null}function u(m,v){s.set(m,v)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return r},async install(v,...L){if(v.__VUE_I18N_SYMBOL__=i,v.provide(v.__VUE_I18N_SYMBOL__,m),Ae(L[0])){const P=L[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let x=null;!o&&n&&(x=rb(v,m.global)),__VUE_I18N_FULL_INSTALL__&&Vm(v,m,...L),__VUE_I18N_LEGACY_API__&&o&&v.mixin(Hm(l,l.__composer,m));const w=v.unmount;v.unmount=()=>{x&&x(),m.dispose(),w()}},get global(){return l},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function sn(e={}){const t=wo();if(t==null)throw lt(rt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(rt.NOT_INSTALLED);const o=Xm(t),n=Zm(o),r=Ec(t),s=Jm(e,r);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw lt(rt.NOT_AVAILABLE_IN_LEGACY_MODE);return ob(t,s,n,e)}if(s==="global")return Ac(n,e,r),n;if(s==="parent"){let i=Qm(o,t,e.__useComponent);return i==null&&(i=n),i}const a=o;let l=a.__getInstance(t);if(l==null){const i=ut({},e);"__i18n"in r&&(i.__i18n=r.__i18n),n&&(i.__root=n),l=oa(i),a.__composerExtend&&(l[ta]=a.__composerExtend(l)),tb(a,t,l),a.__setInstance(t,l)}return l}function Ym(e,t,o){const n=Va();{const r=__VUE_I18N_LEGACY_API__&&t?n.run(()=>na(e)):n.run(()=>oa(e));if(r==null)throw lt(rt.UNEXPECTED_ERROR);return[n,r]}}function Xm(e){{const t=Le(e.isCE?Wm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?rt.NOT_INSTALLED_WITH_PROVIDE:rt.UNEXPECTED_ERROR);return t}}function Jm(e,t){return Rr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Zm(e){return e.mode==="composition"?e.global:e.global.__composer}function Qm(e,t,o=!1){let n=null;const r=t.root;let s=eb(t,o);for(;s!=null;){const a=e;if(e.mode==="composition")n=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const l=a.__getInstance(s);l!=null&&(n=l.__composer,o&&n&&!n[Sc]&&(n=null))}if(n!=null||r===s)break;s=s.parent}return n}function eb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function tb(e,t,o){xt(()=>{},t),ks(()=>{const n=o;e.__deleteInstance(t);const r=n[ta];r&&(r(),delete n[ta])},t)}function ob(e,t,o,n={}){const r=t==="local",s=wn(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(rt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Ne(n.inheritLocale)?n.inheritLocale:!fe(n.locale),l=de(!r||a?o.locale.value:fe(n.locale)?n.locale:nn),i=de(!r||a?o.fallbackLocale.value:fe(n.fallbackLocale)||Xe(n.fallbackLocale)||Ae(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:l.value),c=de(Br(l.value,n)),u=de(Ae(n.datetimeFormats)?n.datetimeFormats:{[l.value]:{}}),f=de(Ae(n.numberFormats)?n.numberFormats:{[l.value]:{}}),m=r?o.missingWarn:Ne(n.missingWarn)||$o(n.missingWarn)?n.missingWarn:!0,v=r?o.fallbackWarn:Ne(n.fallbackWarn)||$o(n.fallbackWarn)?n.fallbackWarn:!0,L=r?o.fallbackRoot:Ne(n.fallbackRoot)?n.fallbackRoot:!0,x=!!n.fallbackFormat,w=Ke(n.missing)?n.missing:null,P=Ke(n.postTranslation)?n.postTranslation:null,y=r?o.warnHtmlMessage:Ne(n.warnHtmlMessage)?n.warnHtmlMessage:!0,p=!!n.escapeParameter,g=r?o.modifiers:Ae(n.modifiers)?n.modifiers:{},_=n.pluralRules||r&&o.pluralRules;function E(){return[l.value,i.value,c.value,u.value,f.value]}const $=le({get:()=>s.value?s.value.locale.value:l.value,set:k=>{s.value&&(s.value.locale.value=k),l.value=k}}),M=le({get:()=>s.value?s.value.fallbackLocale.value:i.value,set:k=>{s.value&&(s.value.fallbackLocale.value=k),i.value=k}}),C=le(()=>s.value?s.value.messages.value:c.value),z=le(()=>u.value),J=le(()=>f.value);function se(){return s.value?s.value.getPostTranslationHandler():P}function me(k){s.value&&s.value.setPostTranslationHandler(k)}function G(){return s.value?s.value.getMissingHandler():w}function ee(k){s.value&&s.value.setMissingHandler(k)}function H(k){return E(),k()}function A(...k){return s.value?H(()=>Reflect.apply(s.value.t,null,[...k])):H(()=>"")}function N(...k){return s.value?Reflect.apply(s.value.rt,null,[...k]):""}function oe(...k){return s.value?H(()=>Reflect.apply(s.value.d,null,[...k])):H(()=>"")}function D(...k){return s.value?H(()=>Reflect.apply(s.value.n,null,[...k])):H(()=>"")}function W(k){return s.value?s.value.tm(k):{}}function X(k,q){return s.value?s.value.te(k,q):!1}function ie(k){return s.value?s.value.getLocaleMessage(k):{}}function pe(k,q){s.value&&(s.value.setLocaleMessage(k,q),c.value[k]=q)}function $e(k,q){s.value&&s.value.mergeLocaleMessage(k,q)}function Ie(k){return s.value?s.value.getDateTimeFormat(k):{}}function be(k,q){s.value&&(s.value.setDateTimeFormat(k,q),u.value[k]=q)}function Be(k,q){s.value&&s.value.mergeDateTimeFormat(k,q)}function ze(k){return s.value?s.value.getNumberFormat(k):{}}function Te(k,q){s.value&&(s.value.setNumberFormat(k,q),f.value[k]=q)}function et(k,q){s.value&&s.value.mergeNumberFormat(k,q)}const b={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:C,datetimeFormats:z,numberFormats:J,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(k){s.value&&(s.value.inheritLocale=k)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:g},get pluralRules(){return s.value?s.value.pluralRules:_},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackWarn(){return s.value?s.value.fallbackWarn:v},set fallbackWarn(k){s.value&&(s.value.missingWarn=k)},get fallbackRoot(){return s.value?s.value.fallbackRoot:L},set fallbackRoot(k){s.value&&(s.value.fallbackRoot=k)},get fallbackFormat(){return s.value?s.value.fallbackFormat:x},set fallbackFormat(k){s.value&&(s.value.fallbackFormat=k)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:y},set warnHtmlMessage(k){s.value&&(s.value.warnHtmlMessage=k)},get escapeParameter(){return s.value?s.value.escapeParameter:p},set escapeParameter(k){s.value&&(s.value.escapeParameter=k)},t:A,getPostTranslationHandler:se,setPostTranslationHandler:me,getMissingHandler:G,setMissingHandler:ee,rt:N,d:oe,n:D,tm:W,te:X,getLocaleMessage:ie,setLocaleMessage:pe,mergeLocaleMessage:$e,getDateTimeFormat:Ie,setDateTimeFormat:be,mergeDateTimeFormat:Be,getNumberFormat:ze,setNumberFormat:Te,mergeNumberFormat:et};function T(k){k.locale.value=l.value,k.fallbackLocale.value=i.value,Object.keys(c.value).forEach(q=>{k.mergeLocaleMessage(q,c.value[q])}),Object.keys(u.value).forEach(q=>{k.mergeDateTimeFormat(q,u.value[q])}),Object.keys(f.value).forEach(q=>{k.mergeNumberFormat(q,f.value[q])}),k.escapeParameter=p,k.fallbackFormat=x,k.fallbackRoot=L,k.fallbackWarn=v,k.missingWarn=m,k.warnHtmlMessage=y}return Ll(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(rt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const k=s.value=e.proxy.$i18n.__composer;t==="global"?(l.value=k.locale.value,i.value=k.fallbackLocale.value,c.value=k.messages.value,u.value=k.datetimeFormats.value,f.value=k.numberFormats.value):r&&T(k)}),b}const nb=["locale","fallbackLocale","availableLocales"],Uc=["t","rt","d","n","tm","te"];function rb(e,t){const o=Object.create(null);return nb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(rt.UNEXPECTED_ERROR);const a=at(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,r,a)}),e.config.globalProperties.$i18n=o,Uc.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(rt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,Uc.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(Mm(),__INTLIFY_JIT_COMPILATION__?nc(Lm):nc(Tm),vm(em),xm(Zi),__INTLIFY_PROD_DEVTOOLS__){const e=io();e.__INTLIFY__=!0,cm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const sb=Object.assign({"./locales/ar/aria.json":dp,"./locales/ar/buttons.json":fp,"./locales/ar/detail.json":pp,"./locales/ar/legend.json":gp,"./locales/ar/messages.json":hp,"./locales/ar/options.json":mp,"./locales/ar/prayerLaps.json":bp,"./locales/ar/search.json":_p,"./locales/ar/tabs.json":yp,"./locales/de/aria.json":vp,"./locales/de/buttons.json":xp,"./locales/de/detail.json":wp,"./locales/de/legend.json":kp,"./locales/de/messages.json":$p,"./locales/de/options.json":Sp,"./locales/de/prayerLaps.json":Ep,"./locales/de/search.json":Ap,"./locales/de/tabs.json":Cp,"./locales/en/aria.json":Tp,"./locales/en/buttons.json":Lp,"./locales/en/detail.json":Pp,"./locales/en/legend.json":Np,"./locales/en/messages.json":Ip,"./locales/en/options.json":Fp,"./locales/en/popup.json":Rp,"./locales/en/prayerLaps.json":Mp,"./locales/en/search.json":Op,"./locales/en/tabs.json":Dp,"./locales/es/aria.json":jp,"./locales/es/buttons.json":zp,"./locales/es/detail.json":Up,"./locales/es/legend.json":Bp,"./locales/es/messages.json":Gp,"./locales/es/options.json":qp,"./locales/es/prayerLaps.json":Vp,"./locales/es/search.json":Hp,"./locales/es/tabs.json":Wp,"./locales/fr/aria.json":Kp,"./locales/fr/buttons.json":Yp,"./locales/fr/detail.json":Xp,"./locales/fr/legend.json":Jp,"./locales/fr/messages.json":Zp,"./locales/fr/options.json":Qp,"./locales/fr/popup.json":eg,"./locales/fr/prayerLaps.json":tg,"./locales/fr/search.json":og,"./locales/fr/tabs.json":ng,"./locales/hi/aria.json":rg,"./locales/hi/buttons.json":sg,"./locales/hi/detail.json":ag,"./locales/hi/legend.json":lg,"./locales/hi/messages.json":ig,"./locales/hi/options.json":cg,"./locales/hi/prayerLaps.json":ug,"./locales/hi/search.json":dg,"./locales/it/aria.json":fg,"./locales/it/buttons.json":pg,"./locales/it/detail.json":gg,"./locales/it/legend.json":hg,"./locales/it/messages.json":mg,"./locales/it/options.json":bg,"./locales/it/prayerLaps.json":_g,"./locales/it/search.json":yg,"./locales/pt/aria.json":vg,"./locales/pt/buttons.json":xg,"./locales/pt/detail.json":wg,"./locales/pt/legend.json":kg,"./locales/pt/messages.json":$g,"./locales/pt/options.json":Sg,"./locales/pt/prayerLaps.json":Eg,"./locales/pt/search.json":Ag,"./locales/pt/tabs.json":Cg,"./locales/ro/aria.json":Tg,"./locales/ro/buttons.json":Lg,"./locales/ro/detail.json":Pg,"./locales/ro/legend.json":Ng,"./locales/ro/messages.json":Ig,"./locales/ro/options.json":Fg,"./locales/ro/prayerLaps.json":Rg,"./locales/ro/search.json":Mg,"./locales/ru/aria.json":Og,"./locales/ru/buttons.json":Dg,"./locales/ru/detail.json":jg,"./locales/ru/legend.json":zg,"./locales/ru/messages.json":Ug,"./locales/ru/options.json":Bg,"./locales/ru/prayerLaps.json":Gg,"./locales/ru/search.json":qg,"./locales/ru/tabs.json":Vg,"./locales/zh/aria.json":Hg,"./locales/zh/buttons.json":Wg,"./locales/zh/detail.json":Kg,"./locales/zh/legend.json":Yg,"./locales/zh/messages.json":Xg,"./locales/zh/options.json":Jg,"./locales/zh/prayerLaps.json":Zg,"./locales/zh/search.json":Qg}),qn={};for(const[e,t]of Object.entries(sb)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,r]=o;qn[n]??(qn[n]={}),qn[n][r]=t}const ab=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function lb(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return ab.includes(t)?t:"en"}function ib(){return Km({legacy:!1,globalInjection:!0,locale:lb(),fallbackLocale:"en",messages:qn,missingWarn:!1,fallbackWarn:!1})}const Bc="adoptionStatus",fo={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},cb=fo,sa={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ub=sa;function Gc(e){var n;const t=e.adoptionStatus??((n=e._raw)==null?void 0:n.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?fo.hasAdoption:fo.notAdopted}function aa({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],fo.hasAdoption,["==",t,1],fo.hasAdoption,fo.notAdopted]}const qc=aa,db=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:cb,ADOPTION_LABELS:ub,LABELS:sa,PALETTE:fo,PROPERTY_KEY:Bc,applyColor:aa,buildColorExpression:qc,default:{name:"Adoption Progress",propertyKey:Bc,palette:fo,colors:fo,labels:sa,getColor:Gc,applyColor:aa,buildColorExpression:qc},getColor:Gc},Symbol.toStringTag,{value:"Module"})),Vc="engagementStatus",po={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},fb=po,la={notEngaged:"Unengaged",hasEngagement:"Engaged"},pb=la;function Hc(e){var n;const t=e.engagementStatus??((n=e._raw)==null?void 0:n.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?po.hasEngagement:po.notEngaged}function ia({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],po.hasEngagement,["==",t,1],po.hasEngagement,po.notEngaged]}const Wc=ia,gb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:fb,ENGAGEMENT_LABELS:pb,LABELS:la,PALETTE:po,PROPERTY_KEY:Vc,applyColor:ia,buildColorExpression:Wc,default:{name:"Engagement Progress",propertyKey:Vc,palette:po,colors:po,labels:la,getColor:Hc,applyColor:ia,buildColorExpression:Wc},getColor:Hc},Symbol.toStringTag,{value:"Module"})),ca="languageFamily",hb="#000000",go={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},mb=go;function ua(e){return go[e]||hb}const bb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(go))t[e(o)]=o;return t})(),_b={"tai-kadai":"Kra-Dai",none:"Unknown"};function Gr(e){if(!e)return"Unknown";const t=String(e).trim(),o=t.toLowerCase();return _b[o]||bb[o]||t}function Kc(e){var t;return ua(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function da(){const e=["match",["get",ca]];return Object.entries(go).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const Yc=da,yb=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:mb,PALETTE:go,PROPERTY_KEY:ca,applyColor:da,buildColorExpression:Yc,canonicalFamilyName:Gr,default:{name:"Language Family",propertyKey:ca,palette:go,colors:go,getColor:Kc,applyColor:da,buildColorExpression:Yc,getLanguageFamilyColor:ua,canonicalFamilyName:Gr},defaultFamilyColor:"#95a5a6",getColor:Kc,getLanguageFamilyColor:ua,languageFamilyColors:go},Symbol.toStringTag,{value:"Module"})),Xc="peoplePraying",qr=144,Co={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},vb=Co,Vn={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},xb=Vn;function an(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=qr?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function fa(e){return Co[an(e)]}function Jc(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Zc(e){return an(e)==="fullPrayer"}function Qc(e){return fa(e)}function Vr({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,qr],Co.fullPrayer,[">",t,0],Co.hasPrayer,Co.noPrayer]}const eu=Vr,wb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:qr,LABELS:Vn,PALETTE:Co,PRAYER_COLORS:vb,PRAYER_LABELS:xb,PROPERTY_KEY:Xc,applyColor:Vr,buildColorExpression:eu,checkHasFullPrayer:Zc,checkHasPrayer:Jc,default:{name:"Prayer Progress",propertyKey:Xc,palette:Co,colors:Co,labels:Vn,threshold:qr,getColor:Qc,applyColor:Vr,buildColorExpression:eu,getPrayerLevel:an,getPrayerColor:fa,checkHasPrayer:Jc,checkHasFullPrayer:Zc},getColor:Qc,getPrayerColor:fa,getPrayerLevel:an},Symbol.toStringTag,{value:"Module"})),tu="religion",pa="#94a3b8",zo={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},kt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function ga(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return zo[t]?t:"U"}function ou(e){var o,n,r;const t=(e==null?void 0:e.religion)||((n=(o=e==null?void 0:e._raw)==null?void 0:o.religion)==null?void 0:n.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return kt[ga(t)]||pa}function ha(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",kt.C,"M",kt.M,"H",kt.H,"B",kt.B,"E",kt.E,"J",kt.J,"S",kt.S,"N",kt.N,"O",kt.O,pa]}const nu=ha,kb=Object.assign({"./adoption.js":db,"./engagement.js":gb,"./language-family.js":yb,"./prayer-progress.js":wb,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:kt,PROPERTY_KEY:tu,RELIGION_FAMILIES:zo,applyColor:ha,buildColorExpression:nu,default:{name:"Religion",propertyKey:tu,palette:kt,families:zo,getColor:ou,applyColor:ha,buildColorExpression:nu,fallback:pa},getColor:ou,getReligionFamily:ga},Symbol.toStringTag,{value:"Module"}))}),$b=e=>e.replace(/-([a-z0-9])/g,(t,o)=>o.toUpperCase()),Sb=e=>e.replace(/-/g,"_").toUpperCase(),ho={...{STATUS:"status",CUSTOM:"custom"}},ma={};function ru(e){for(const t of Object.keys(e).sort()){const o=t.split("/").pop().replace(/\.js$/,"");if(o.startsWith("_")||o.startsWith("."))continue;const n=e[t].default;if(!n)continue;const r=$b(o);ho[Sb(o)]=r,ma[r]=n}}ru(kb);function Eb(e){e&&ru(e)}function Hr(e){return ma[e]||ma[ho.LANGUAGE_FAMILY]}const Ab="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function Cb(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(Ab,null,!0),!0}catch{return!1}}const su="affinityBlock",ln="#95a5a6",cn={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},ba={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},un=ba;Object.entries(cn).reduce((e,[t,o])=>(e[o]=t,e),{});const Tb=Object.entries(cn).reduce((e,[t,o])=>(e[o]=un[t],e),{}),Lb=cn;function au(e){return cn[e]||"Unknown"}function lu(e){return un[e]||ln}function Pb(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?un[e]||ln:Tb[e]||ln:ln}function Nb(){return Object.entries(cn).map(([e,t])=>({code:e,name:t,color:un[e]}))}function Ib(e){return{code:e,name:cn[e]||"Unknown",color:un[e]||ln}}function Fb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return lu(t)}function Rb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return au(t)}function iu(){const e=["match",["get",su]];return Object.entries(un).forEach(([t,o])=>{e.push(t,o)}),e.push(ln),e}const Mb={name:"Affinity Block",propertyKey:su,palette:ba,colors:ba,names:Lb,getColor:Fb,applyColor:iu,buildColorExpression:iu,getName:Rb,getAffinityBlockName:au,getAffinityBlockColor:Pb,getAffinityBlockColorByCode:lu,getAffinityBlocksArray:Nb,getAffinityBlockData:Ib};function Ob(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(_a),e}const zb={name:"DOXA Region",propertyKey:cu,palette:du,colors:du,slugColors:ya,aliases:pu,fallback:_a,getColor:jb,applyColor:gu,buildColorExpression:gu,getRegionColor:Db,getRegionColorBySlug:fu},Ub=Bo&&Bo.tagName.toUpperCase()==="SCRIPT"&&Bo.src||new URL("dashboard-plus-grid.js",document.baseURI).href,va=e=>String(e||"").trim().replace(/\/+$/,"");function Bb(){try{const t=String(Ub||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function hu(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return va(t);if(typeof window<"u"){const o=window.MAP_EMBED_BASE_URL;if(typeof o=="string"&&o.trim())return va(o)}return va(Bb()||"")}function Gb({shareUrl:e,embedPath:t,profileConfig:o}={}){const n=o||null,r=typeof window<"u",s=e||(n==null?void 0:n.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(n==null?void 0:n.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const l=hu(n),i=a.replace(/^\.\//,"");if(l)return l+"/"+i;if(typeof document<"u")try{return new URL(i,document.baseURI).href}catch{}return i}return r?window.location.origin+window.location.pathname:""}function Et(e,t){const o=t||qb(e);xt(()=>{var l;const n=wo();if(!n)return;const r=(l=n.proxy)==null?void 0:l.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",o),a.textContent=e,s.appendChild(a)})}function qb(e){let t=0;for(let o=0;o{const o=e.__vccOpts||e;for(const[n,r]of t)o[n]=r;return o},Hn={};function Hb(e){return e?(Hn[e]||(Hn[e]=new Promise((t,o)=>{const n=document.createElement("script");n.src=e,(/^\/plugin-designs\//.test(e)||/\/index\.js(\?|$)/.test(e))&&(n.type="module"),n.onload=()=>t(),n.onerror=()=>{delete Hn[e],o(new Error("failed to load "+e))},document.head.appendChild(n)})),Hn[e]):Promise.resolve()}function Wb(e,t=5e3){return typeof customElements>"u"||customElements.get(e)?Promise.resolve():customElements.whenDefined?Promise.race([customElements.whenDefined(e),new Promise((o,n)=>setTimeout(()=>n(new Error("timeout waiting for <"+e+">")),t))]):Promise.resolve()}const Kb=` .stl { display:flow-root; width:100%; min-height:100%; background:#f3f3f1; color:#3b463d; font-family:'Public Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; -webkit-font-smoothing:antialiased; --stl-accent:#92b195; --stl-border:#d1d4cd; --stl-elevated:#ffffff; --stl-muted:#6d766e; } .stl-top { display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--stl-border); background:#ffffff; position:sticky; top:0; z-index:5; } .stl-brand { display:inline-flex; align-items:center; } @@ -67,11 +67,11 @@ .stl ::-webkit-scrollbar-thumb { background:#c4c8c0; border-radius:8px; } .stl ::-webkit-scrollbar-thumb:hover { background:#9aa197; } .stl ::-webkit-scrollbar-corner { background:transparent; } -`,Yb=An({name:"StackLayout",props:{sections:{type:Array,default:()=>[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){Et(Kb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Hb(e.src).then(()=>Wb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(()=>{})}}}),Xb={class:"stl"},Jb={key:0,class:"stl-top"},Zb={class:"stl-brand"},Qb={key:0,class:"stl-title"},e_={class:"stl-meta"},t_={class:"stl-stack"},o_={key:0,class:"stl-sec-head"},n_={class:"stl-sec-title"},r_={key:0,class:"stl-sec-sub"},s_={key:2,class:"stl-slot"},a_={class:"stl-tail"};function l_(e,t,o,n,r,s){return H(),K("div",Xb,[e.$slots.brand||e.$slots.meta||e.title?(H(),K("header",Jb,[I("span",Zb,[Mo(e.$slots,"brand")]),e.title?(H(),K("b",Qb,ce(e.title),1)):Ce("",!0),I("span",e_,[Mo(e.$slots,"meta")])])):Ce("",!0),I("div",t_,[(H(!0),K(xe,null,He(e.sections,a=>(H(),K("section",{key:a.key,class:Me(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(H(),K("div",o_,[I("b",n_,ce(a.title),1),a.sub?(H(),K("span",r_,ce(a.sub),1)):Ce("",!0)])):Ce("",!0),a.element?(H(),K("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(H(),K("div",s_,[Mo(e.$slots,"section-"+a.key)]))],6))),128)),I("div",a_,[Mo(e.$slots,"default")])])])}const i_=dn(Yb,[["render",l_],["styles",[Vb]]]);function c_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function u_(){const e=Po({}),t=new Set,o=ue(0),n=ue(""),r=new Map;function s(y,f){return r.has(y)||r.set(y,new Set),r.get(y).add(f),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(f)}}function a(y,f){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(f)}catch{}})}let l={};function i(y){l=c_(y)}function c(y,f){if(f==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=f;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function p(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function P(){t.size&&(t.clear(),m())}function x(y,{additive:f=!0}={}){let g=!1;f||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let f=!1;for(const g of y)t.delete(g)&&(f=!0);return f&&m(),f}function N(y){const f=y instanceof Set?y:new Set(y);if(f.size===t.size){let g=!0;for(const _ of f)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of f)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:i,toggleSelect:v,clearSelection:P,selectMany:x,deselectMany:w,setSelection:N}}const xa={};function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Bo&&Bo.tagName.toUpperCase()==="SCRIPT"&&Bo.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&(xa==null?void 0:xa.VITE_API_BASE_URL)||""}const Dt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}};function d_(e={}){const t=ue(!1),o=ue(null),n=wn(new Map),r=wn([]),s=ue(null),a=ue(0),l=e.source||Dt.activeSource;async function i(){var c,u,p,m;t.value=!0,o.value=null;try{const v=((c=Dt==null?void 0:Dt.sources)==null?void 0:c[l])||{},P=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),N=((p=v.queryParams)==null?void 0:p.lang)||"en",y=`${P}${x}?${w?`fields=${w}&`:""}lang=${N}&_=${Date.now()}`,f=await fetch(y,{cache:"no-store"});if(!f.ok)throw new Error(`list HTTP ${f.status}`);const g=await f.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],E=new Map;for(const O of _){const A=O&&(O.slug||O.id);A&&E.set(A,O)}n.value=E,r.value=_,a.value=E.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const O=await fetch(`${P}${$}?_=${Date.now()}`,{cache:"no-store"});O.ok&&(O.headers.get("content-type")||"").includes("json")&&(s.value=await O.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var Y,C,T;const _=s.source||Dt.activeSource,E=((Y=Dt==null?void 0:Dt.sources)==null?void 0:Y[_])||{},$=Array.isArray(E.exportFields)&&E.exportFields.length?E.exportFields:Wr,O=((C=E.endpoints)==null?void 0:C.bulk)||"/api/people-groups/list",A=((T=E.queryParams)==null?void 0:T.lang)||"en",U=`${wa()}${O}?fields=${$.join(",")}&lang=${A}`,X=await fetch(U,{cache:"no-store"});if(!X.ok)throw new Error(`export list HTTP ${X.status}`);const re=await X.json(),me=Array.isArray(re)?re:re.posts||re.data||re.results||[],q=new Map;for(const M of me){const z=M&&(M.slug||M.id);z&&q.set(z,M)}return l=q,q})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const E=l.get(_&&(_.slug||_.id));return E?{..._,...E}:_}function p(){if(o&&o.size)return[...o].map(E=>e.value.get(E)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(E=>_.every($=>{const O=r[$];return O?O(E)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(E=>v(E)).filter(E=>E!==""&&E!==null&&E!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function P(_){const E={};for(const $ of Object.keys(_))E[$]=v(_[$]);return E}function x(_){let E=_==null?"":String(_);return/^[=+\-@]/.test(E)&&(E="'"+E),/[",\n\r]/.test(E)&&(E='"'+E.replace(/"/g,'""')+'"'),E}function w(){const _=p().map(u).map(P),E=_.reduce((X,re)=>(Object.keys(re).forEach(me=>X.add(me)),X),new Set),$=[...Wr.filter(X=>E.has(X)),...[...E].filter(X=>!Wr.includes(X))],O=Object.entries(n).map(([X,re])=>`${X}=${a?a(X,re):re}`).join(" | ")||"none",A=`# Research Dashboard export — scope: ${m()}; filters: ${O}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(X=>$.map(re=>x(X[re])).join(",")),A].join(`\r -`)}const N={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function y(){const _=w(),E=p().length,$=(_.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let O=!1,A=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),O=!0)}catch{}try{const U=new Blob([_],{type:"text/csv;charset=utf-8"}),X=URL.createObjectURL(U),re=document.createElement("a");re.href=X,re.download="research-dashboard.csv",re.style.display="none",document.body.appendChild(re),re.click(),A=!0,setTimeout(()=>{try{URL.revokeObjectURL(X),re.remove()}catch{}},200)}catch{}Object.assign(N,{rows:E,clipboard:O,downloaded:A,fields:$,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:E,clipboard:O,downloaded:A,fields:$,wide:!!l}}catch{}return{csv:_,rows:E,clipboard:O,downloaded:A,fields:$,wide:!!l}}async function f(){try{await c()}catch{}return y()}function g(){try{return c()}catch{return null}}return{exportCsv:y,exportCsvAsync:f,buildCsv:w,pickRows:p,scopeLabel:m,lastExport:N,prefetchExportFields:g,EXPORT_FIELDS:Wr}}const f_="#6b7280";function p_(){const e=Hr(ho.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function g_(e,t){const o=p_();return e&&o[e]?o[e]:f_}function h_(e){return(e==null?void 0:e.properties)||e||{}}function $a(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function m_(e){var t;return String(e.affinityBlock||$a((t=e._raw)==null?void 0:t.rop1)||"").trim()}function b_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function __(e){var t;return String(e.cluster||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function y_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function v_(e){var t;return String(e.peopleGroup||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function x_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function w_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function k_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function $_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function S_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function E_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=h_(l),c=m_(i),u=b_(i)||c||"— Unknown —",p=__(i),m=y_(i)||p||"— Unknown —",v=v_(i),P=x_(i)||v||"— Unknown —",x=w_(i),w=k_(i)||x,N=$_(i),y=S_(i);if(!x)continue;let f=a.get(c||"__unknown__");f||(f={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",f)),f.count+=1,f.pop+=N,f.memberIds.push(x);let g=f.clusters.get(p||"__unknown__");g||(g={code:p,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},f.clusters.set(p||"__unknown__",g)),g.count+=1,g.pop+=N,g.memberIds.push(x);let _=g.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:P,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",_)),_.count+=1,_.pop+=N,_.memberIds.push(x),_.instances.push({id:x,name:w,country:y,pop:N})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=le(()=>{const s=t.value,a=[];for(const l of s.values()){const i=g_(l.code,l.label),c={id:`bloc:${l.code||l.label}`,label:l.label,color:i,count:l.count,pop:l.pop,filter:o(l.memberIds),children:[]};for(const u of l.clusters.values()){const p={id:`cluster:${l.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:i,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const v={id:`pg:${l.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:i,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((P,x)=>x.pop-P.pop||P.country.localeCompare(x.country));for(const P of m.instances)v.children.push({id:`pgic:${P.id}`,label:`${P.country?`${P.name}, ${P.country}`:P.name} (PGIC)`,color:i,count:1,pop:P.pop,filter:["==",["get","uniqueId"],P.id],children:[]});p.children.push(v)}p.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((l,i)=>i.count-l.count||i.pop-l.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),l={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?l.kind="bloc":a.startsWith("cluster:")?l.kind="cluster":a.startsWith("pg:")?l.kind="people-group":a.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function Wn(e,t,o){const n=le(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=E_(n),s=le(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),a=le(()=>{const[i,c,u]=s.value,p=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&p.set(x.code,x.label);for(const w of x.clusters.values()){w.code&&m.set(w.code,w.label);for(const N of w.peopleGroups.values())N.code&&v.set(N.code,N.label)}}const P={};return i&&(P[i]=p),c&&(P[c]=m),u&&(P[u]=v),P});function l(i,c){const u=a.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:l}}class mu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Dt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],l=!0;for(let i=0;i[]},title:{type:String,default:""},maxSectionHeight:{type:String,default:""},minSectionHeight:{type:String,default:""}},setup(){Et(Kb,"stack-layout")},data(){return{_hosts:{},_mounted:{}}},mounted(){for(const e of this.sections||[])e.element&&this.mountSection(e)},methods:{registerHost(e,t){t&&(this._hosts[e]=t)},sectionStyle(e){const t={},o=e.maxHeight||this.maxSectionHeight,n=e.minHeight||this.minSectionHeight,r=!!(o&&n&&o===n);return o&&(t.maxHeight=o,r||(t.overflow="auto")),n&&(t.minHeight=n),Object.keys(t).length?t:null},hasDefiniteHeight(e){const t=e.maxHeight||this.maxSectionHeight,o=e.minHeight||this.minSectionHeight;return!!(t&&o&&t===o)},mountSection(e){if(this._mounted[e.key])return;this._mounted[e.key]=!0;const t=this._hosts[e.key];t&&Hb(e.src).then(()=>Wb(e.element)).then(()=>{if(!customElements.get(e.element))return;const o=document.createElement(e.element),n=e.attrs||{};for(const r in n){const s=n[r];try{o[r]=s}catch{}try{o.setAttribute(r,s==null?"":String(s))}catch{}}t.innerHTML="",t.appendChild(o)}).catch(()=>{})}}}),Xb={class:"stl"},Jb={key:0,class:"stl-top"},Zb={class:"stl-brand"},Qb={key:0,class:"stl-title"},e_={class:"stl-meta"},t_={class:"stl-stack"},o_={key:0,class:"stl-sec-head"},n_={class:"stl-sec-title"},r_={key:0,class:"stl-sec-sub"},s_={key:2,class:"stl-slot"},a_={class:"stl-tail"};function l_(e,t,o,n,r,s){return V(),Y("div",Xb,[e.$slots.brand||e.$slots.meta||e.title?(V(),Y("header",Jb,[I("span",Zb,[Mo(e.$slots,"brand")]),e.title?(V(),Y("b",Qb,ue(e.title),1)):Ce("",!0),I("span",e_,[Mo(e.$slots,"meta")])])):Ce("",!0),I("div",t_,[(V(!0),Y(xe,null,We(e.sections,a=>(V(),Y("section",{key:a.key,class:Me(["stl-sec",{"stl-sec-fill":e.hasDefiniteHeight(a)}]),style:it(e.sectionStyle(a))},[a.title?(V(),Y("div",o_,[I("b",n_,ue(a.title),1),a.sub?(V(),Y("span",r_,ue(a.sub),1)):Ce("",!0)])):Ce("",!0),a.element?(V(),Y("div",{key:1,class:"stl-host",ref_for:!0,ref:l=>e.registerHost(a.key,l)},null,512)):(V(),Y("div",s_,[Mo(e.$slots,"section-"+a.key)]))],6))),128)),I("div",a_,[Mo(e.$slots,"default")])])])}const i_=dn(Yb,[["render",l_],["styles",[Vb]]]);function c_(e){const t={};for(const o of(e==null?void 0:e.facetRail)||[]){const n=Array.isArray(o.drill)?o.drill.filter(Boolean):[];for(let r=0;r!t[n[r]].includes(a))):s}}return t}function u_(){const e=Po({}),t=new Set,o=de(0),n=de(""),r=new Map;function s(y,p){return r.has(y)||r.set(y,new Set),r.get(y).add(p),()=>{var g;return(g=r.get(y))==null?void 0:g.delete(p)}}function a(y,p){var g;(g=r.get(y))==null||g.forEach(_=>{try{_(p)}catch{}})}let l={};function i(y){l=c_(y)}function c(y,p){if(p==null){delete e[y];for(const g of l[y]||[])delete e[g]}else e[y]=p;a("filter",e)}function u(){Object.keys(e).forEach(y=>delete e[y]),a("filter",e)}function f(y){n.value=y==null?"":String(y),a("search",n.value)}function m(){o.value++,a("select",t)}function v(y){t.has(y)?t.delete(y):t.add(y),m()}function L(){t.size&&(t.clear(),m())}function x(y,{additive:p=!0}={}){let g=!1;p||t.size&&(t.clear(),g=!0);for(const _ of y)t.has(_)||(t.add(_),g=!0);return g&&m(),g}function w(y){let p=!1;for(const g of y)t.delete(g)&&(p=!0);return p&&m(),p}function P(y){const p=y instanceof Set?y:new Set(y);if(p.size===t.size){let g=!0;for(const _ of p)if(!t.has(_)){g=!1;break}if(g)return!1}t.clear();for(const g of p)t.add(g);return m(),!0}return{filterSet:e,selectionSet:t,selectionVersion:o,searchTerm:n,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:f,configureHierarchy:i,toggleSelect:v,clearSelection:L,selectMany:x,deselectMany:w,setSelection:P}}const xa={};function wa(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Bo&&Bo.tagName.toUpperCase()==="SCRIPT"&&Bo.src||new URL("dashboard-plus-grid.js",document.baseURI).href}<"u"&&(xa==null?void 0:xa.VITE_API_BASE_URL)||""}const Dt={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}};function d_(e={}){const t=de(!1),o=de(null),n=wn(new Map),r=wn([]),s=de(null),a=de(0),l=e.source||Dt.activeSource;async function i(){var c,u,f,m;t.value=!0,o.value=null;try{const v=((c=Dt==null?void 0:Dt.sources)==null?void 0:c[l])||{},L=wa(),x=((u=v.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",w=(v.defaultFields||[]).join(","),P=((f=v.queryParams)==null?void 0:f.lang)||"en",y=`${L}${x}?${w?`fields=${w}&`:""}lang=${P}&_=${Date.now()}`,p=await fetch(y,{cache:"no-store"});if(!p.ok)throw new Error(`list HTTP ${p.status}`);const g=await p.json(),_=Array.isArray(g)?g:g.posts||g.data||g.results||[],E=new Map;for(const M of _){const C=M&&(M.slug||M.id);C&&E.set(C,M)}n.value=E,r.value=_,a.value=E.size;const $=((m=v.endpoints)==null?void 0:m.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${L}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(o.value="No records loaded from the live API.")}catch(v){o.value=v&&v.message?v.message:String(v)}finally{t.value=!1}}return{loading:t,error:o,rowStore:n,rows:r,stats:s,total:a,load:i,sourceId:l}}const Wr=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function ka({rowStore:e,rows:t,selectionSet:o,filterSet:n,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let l=null,i=null;function c(){return i||(i=(async()=>{var ee,H,A;const _=s.source||Dt.activeSource,E=((ee=Dt==null?void 0:Dt.sources)==null?void 0:ee[_])||{},$=Array.isArray(E.exportFields)&&E.exportFields.length?E.exportFields:Wr,M=((H=E.endpoints)==null?void 0:H.bulk)||"/api/people-groups/list",C=((A=E.queryParams)==null?void 0:A.lang)||"en",z=`${wa()}${M}?fields=${$.join(",")}&lang=${C}`,J=await fetch(z,{cache:"no-store"});if(!J.ok)throw new Error(`export list HTTP ${J.status}`);const se=await J.json(),me=Array.isArray(se)?se:se.posts||se.data||se.results||[],G=new Map;for(const N of me){const oe=N&&(N.slug||N.id);oe&&G.set(oe,N)}return l=G,G})().catch(_=>{throw i=null,_}),i)}function u(_){if(!l)return _;const E=l.get(_&&(_.slug||_.id));return E?{..._,...E}:_}function f(){if(o&&o.size)return[...o].map(E=>e.value.get(E)).filter(Boolean);const _=Object.keys(n);return _.length?(t.value||[]).filter(E=>_.every($=>{const M=r[$];return M?M(E)===n[$]:!0})):t.value||[]}function m(){return o&&o.size?`selection (${o.size})`:Object.keys(n).length?"filter result":"all"}function v(_){return _==null?_:Array.isArray(_)?_.map(E=>v(E)).filter(E=>E!==""&&E!==null&&E!==void 0).join(" | "):typeof _=="object"?_.label??_.value??_.text??_.name??_.link??JSON.stringify(_):_}function L(_){const E={};for(const $ of Object.keys(_))E[$]=v(_[$]);return E}function x(_){let E=_==null?"":String(_);return/^[=+\-@]/.test(E)&&(E="'"+E),/[",\n\r]/.test(E)&&(E='"'+E.replace(/"/g,'""')+'"'),E}function w(){const _=f().map(u).map(L),E=_.reduce((J,se)=>(Object.keys(se).forEach(me=>J.add(me)),J),new Set),$=[...Wr.filter(J=>E.has(J)),...[...E].filter(J=>!Wr.includes(J))],M=Object.entries(n).map(([J,se])=>`${J}=${a?a(J,se):se}`).join(" | ")||"none",C=`# Research Dashboard export — scope: ${m()}; filters: ${M}; rows: ${_.length}`;return[$.map(x).join(","),..._.map(J=>$.map(se=>x(J[se])).join(",")),C].join(`\r +`)}const P={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function y(){const _=w(),E=f().length,$=(_.split(`\r +`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=_)}catch{}let M=!1,C=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(_).catch(()=>{}),M=!0)}catch{}try{const z=new Blob([_],{type:"text/csv;charset=utf-8"}),J=URL.createObjectURL(z),se=document.createElement("a");se.href=J,se.download="research-dashboard.csv",se.style.display="none",document.body.appendChild(se),se.click(),C=!0,setTimeout(()=>{try{URL.revokeObjectURL(J),se.remove()}catch{}},200)}catch{}Object.assign(P,{rows:E,clipboard:M,downloaded:C,fields:$,wide:!!l,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:E,clipboard:M,downloaded:C,fields:$,wide:!!l}}catch{}return{csv:_,rows:E,clipboard:M,downloaded:C,fields:$,wide:!!l}}async function p(){try{await c()}catch{}return y()}function g(){try{return c()}catch{return null}}return{exportCsv:y,exportCsvAsync:p,buildCsv:w,pickRows:f,scopeLabel:m,lastExport:P,prefetchExportFields:g,EXPORT_FIELDS:Wr}}const f_="#6b7280";function p_(){const e=Hr(ho.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function g_(e,t){const o=p_();return e&&o[e]?o[e]:f_}function h_(e){return(e==null?void 0:e.properties)||e||{}}function $a(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function m_(e){var t;return String(e.affinityBlock||$a((t=e._raw)==null?void 0:t.rop1)||"").trim()}function b_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function __(e){var t;return String(e.cluster||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function y_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function v_(e){var t;return String(e.peopleGroup||$a((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function x_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function w_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function k_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function $_(e){var o;const t=Number(e.population??e.populationNum??((o=e._raw)==null?void 0:o.population)??0);return Number.isFinite(t)?t:0}function S_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function E_(e){const t=le(()=>{const s=e&&e.value||[],a=new Map;for(const l of s){const i=h_(l),c=m_(i),u=b_(i)||c||"— Unknown —",f=__(i),m=y_(i)||f||"— Unknown —",v=v_(i),L=x_(i)||v||"— Unknown —",x=w_(i),w=k_(i)||x,P=$_(i),y=S_(i);if(!x)continue;let p=a.get(c||"__unknown__");p||(p={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",p)),p.count+=1,p.pop+=P,p.memberIds.push(x);let g=p.clusters.get(f||"__unknown__");g||(g={code:f,label:m,count:0,pop:0,memberIds:[],peopleGroups:new Map},p.clusters.set(f||"__unknown__",g)),g.count+=1,g.pop+=P,g.memberIds.push(x);let _=g.peopleGroups.get(v||"__unknown__");_||(_={code:v,label:L,count:0,pop:0,memberIds:[],instances:[]},g.peopleGroups.set(v||"__unknown__",_)),_.count+=1,_.pop+=P,_.memberIds.push(x),_.instances.push({id:x,name:w,country:y,pop:P})}return a}),o=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],n=le(()=>{const s=t.value,a=[];for(const l of s.values()){const i=g_(l.code,l.label),c={id:`bloc:${l.code||l.label}`,label:l.label,color:i,count:l.count,pop:l.pop,filter:o(l.memberIds),children:[]};for(const u of l.clusters.values()){const f={id:`cluster:${l.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:i,count:u.count,pop:u.pop,filter:o(u.memberIds),children:[]};for(const m of u.peopleGroups.values()){const v={id:`pg:${l.code}__${u.code}__${m.code||m.label}`,label:`${m.label} (PG)`,color:i,count:m.count,pop:m.pop,filter:o(m.memberIds),children:[]};m.instances.sort((L,x)=>x.pop-L.pop||L.country.localeCompare(x.country));for(const L of m.instances)v.children.push({id:`pgic:${L.id}`,label:`${L.country?`${L.name}, ${L.country}`:L.name} (PGIC)`,color:i,count:1,pop:L.pop,filter:["==",["get","uniqueId"],L.id],children:[]});f.children.push(v)}f.children.sort((m,v)=>v.count-m.count||v.pop-m.pop),c.children.push(f)}c.children.sort((u,f)=>f.count-u.count||f.pop-u.pop),a.push(c)}return a.sort((l,i)=>i.count-l.count||i.pop-l.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),l={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?l.kind="bloc":a.startsWith("cluster:")?l.kind="cluster":a.startsWith("pg:")?l.kind="people-group":a.startsWith("pgic:")&&(l.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:l}))}return{aggregated:t,affinityTree:n,highlight:r}}function Wn(e,t,o){const n=le(()=>{const i=t&&o&&t.sources&&t.sources[o];return i&&i.features||[]}),{aggregated:r}=E_(n),s=le(()=>{const i=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return i&&i.drill||[]}),a=le(()=>{const[i,c,u]=s.value,f=new Map,m=new Map,v=new Map;for(const x of r.value.values()){x.code&&f.set(x.code,x.label);for(const w of x.clusters.values()){w.code&&m.set(w.code,w.label);for(const P of w.peopleGroups.values())P.code&&v.set(P.code,P.label)}}const L={};return i&&(L[i]=f),c&&(L[c]=m),u&&(L[u]=v),L});function l(i,c){const u=a.value[i];return u&&u.get(c)||c}return{normalizedFeatures:n,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:l}}class mu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Dt,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var o,n;return(n=(o=this.sourcesConfig)==null?void 0:o.sources)==null?void 0:n[t]}async setActiveSource(t){const o=this.getSourceConfig(t);if(!o)throw new Error(`Source not found: ${t}`);if(this.activeSource=o,this.cacheEnabled&&this.cache.has(t)){const n=this.cache.get(t);return this.normalizedData=n.normalizedData,this.dataByUniqueId=n.dataByUniqueId,this.normalizedData}return o.type==="csv"?await this.loadCSVData(o):o.type==="api"?await this.loadAPIData(o):o.type==="rest-api"&&await this.loadRestApiData(o),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const o=[],n=[];let r="",s=!1,a=[],l=!0;for(let i=0;i0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const p={};n.forEach((m,v)=>{p[m]=a[v]||""}),o.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(n,p));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function A_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],p=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&p.add(v)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function C_(e){const t=ue(null),o=ue(!1),n=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=ue(!1),c=ue(!1),u=ue(!1);xt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Ht(()=>l&&l.disconnect());function p(w){const N=w.target.closest("[data-view]");N&&(s.value=N.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),P=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:m,showMap:v,showTable:P,showCharts:x}}function T_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}gt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function L_(e){var x;const t=u_();t.configureHierarchy(e);const o=d_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var f;const w=o.rows.value||[],N=Object.keys(t.filterSet),y=!!(((f=t.searchTerm)==null?void 0:f.value)||"").trim();return!N.length&&!y?w:w.filter(g=>N.every(_=>{const E=n[_];return E?E(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>A_(e.kpis,s.value,o.rows.value||[],n,e)),l=C_(t);T_(t);const i=o.sourceId||Dt.activeSource,c=((x=Dt.sources)==null?void 0:x[i])||{},u=new mu,p=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return p.value}}}},{labelFor:v}=Wn(e,m,i),P=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return no("selectionBus",t),no("dashboardData",o),no("dashboardConfig",e),no("dataStore",m),no("searchSourceId",i),xt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:P,responsive:l}}const P_={facetW:296,railW:264,tableH:"34%"},N_={facetW:[160,420],railW:[200,520],tableH:[12,70]},fn=(e,[t,o])=>Math.min(o,Math.max(t,e)),yu=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function I_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,storageKey:r="rd-dashboard-layout"}=e,s={...P_,...e.defaults||{}},a={...N_,...e.clamps||{}},l=ue(s.facetW),i=ue(s.railW),c=ue(s.tableH),u=ue(!1),p=()=>!!he(n);function m(){const A=t&&t.value;!A||!u.value||(A.style.setProperty("--facet-w",l.value+"px"),A.style.setProperty("--rail-w",i.value+"px"),A.style.setProperty("--table-h",c.value))}function v(){const A=t&&t.value;A&&(A.style.removeProperty("--facet-w"),A.style.removeProperty("--rail-w"),A.style.removeProperty("--table-h"))}function P(){try{localStorage.setItem(r,JSON.stringify({facetW:l.value,railW:i.value,tableH:c.value}))}catch{}}function x(){try{const A=localStorage.getItem(r);if(!A)return!1;const U=JSON.parse(A);return Number.isFinite(U.facetW)&&(l.value=fn(U.facetW,a.facetW)),Number.isFinite(U.railW)&&(i.value=fn(U.railW,a.railW)),U.tableH!=null&&(c.value=fn(yu(U.tableH,yu(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function w(){try{localStorage.removeItem(r)}catch{}l.value=s.facetW,i.value=s.railW,c.value=s.tableH,u.value=!1,v()}const N=ue(!1);function y(){if(N.value)return;N.value=!0;const A=t&&t.value;if(A&&A.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function f(){if(!N.value)return;N.value=!1;const A=t&&t.value;if(A&&A.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function g(A,U){if(p())return;const X=t&&t.value;if(!X)return;U.preventDefault();const re=X.getBoundingClientRect(),me=U.clientX,q=l.value,Y=i.value,C=U.currentTarget;try{C&&C.setPointerCapture&&C.setPointerCapture(U.pointerId)}catch{}y();let T=0,M=null;function z(){if(T=0,!M)return;const te=M;if(M=null,A==="facet")l.value=Math.round(fn(q+(te.clientX-me),a.facetW));else if(A==="rail")i.value=Math.round(fn(Y-(te.clientX-me),a.railW));else if(A==="table"){const de=(re.bottom-te.clientY)/re.height*100;c.value=Math.round(fn(de,a.tableH))+"%"}u.value=!0,m()}function Q(te){M={clientX:te.clientX,clientY:te.clientY},T||(T=requestAnimationFrame(z))}function se(te){window.removeEventListener("pointermove",Q),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",se),T&&(cancelAnimationFrame(T),T=0),z();try{C&&C.releasePointerCapture&&C.releasePointerCapture(te.pointerId)}catch{}P(),f()}window.addEventListener("pointermove",Q),window.addEventListener("pointerup",se),window.addEventListener("pointercancel",se)}const _=A=>g("facet",A),E=A=>g("rail",A),$=A=>g("table",A);let O=null;return xt(()=>{x()&&m(),o&&typeof o.on=="function"&&(O=o.on("resetLayout",w))}),Ht(()=>{try{O&&O()}catch{}try{f()}catch{}}),{facetW:l,railW:i,tableH:c,customized:u,resizing:N,startFacetResize:_,startRailResize:E,startTableResize:$,startResize:g,reset:w,applyVars:m}}const F_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",R_=["value","placeholder","aria-label"],Sa=dn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(H(),K("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=I("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),I("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,R_)],4))}},[["styles",[F_]]]),M_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Et(` +`&&i++,r||a.length>0){if(a.push(r.trim()),r="",l)n.push(...a),l=!1;else if(a.length>1){const f={};n.forEach((m,v)=>{f[m]=a[v]||""}),o.push(f)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!l&&a.length>1)){const i={};n.forEach((c,u)=>{i[c]=a[u]||""}),o.push(i)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const r=new Set(o.map(a=>a.trim())),s=[];for(const[a,l]of Object.entries(t||{}))if(Array.isArray(l))for(const i of l)r.has(i)||s.push({systemField:a,sourceField:i,isComposite:!0});else l&&!r.has(l)&&s.push({systemField:a,sourceField:l,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,s)}async loadAPIData(t){try{const n=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(n)?n:n.posts||n.data||n.peopleGroups||n.results||[],this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load API data:",o),o}}async loadRestApiData(t){var i,c;const o=wa(),n=((i=t.endpoints)==null?void 0:i.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,f]of Object.entries(a))s.push(`${u}=${encodeURIComponent(f)}`);const l=`${o}${n}?${s.join("&")}`;try{const u=await fetch(l);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const f=u.headers.get("content-type")||"";if(!f.includes("application/json"))throw new Error(`API returned "${f}" instead of JSON. Server at ${o} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const o=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const n of this.rawData){const r={};for(const[i,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));r[i]=u.join("_")}else r[i]=this.getFieldValue(n,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const l=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const i of l){const c=r[i];c!=null&&typeof c=="object"&&"value"in c?(r[i+"Label"]=c.label||c.value,r[i]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[i+"Label"]||(r[i+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=n,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,o){if(!o)return"";if(t[o]!==void 0)return t[o];const n=o.trim();if(t[n]!==void 0)return t[n];for(const r of Object.keys(t))if(r.trim()===n||r.includes(n)||n.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const o=String(t).replace(/,/g,"").trim(),n=parseInt(o,10);return isNaN(n)?0:n}getImageUrl(t,o){if(!o)return"";const n=o.placeholderUrl||"",r=t[o.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)o.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(o=>{o.languageFamily&&t.add(o.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(o=>{const n=o.languageFamily||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(o=>{const n=o.doxaRegion||"Unknown";t[n]||(t[n]=[]),t[n].push(o)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new mu;const bu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([o,n])=>[o,t(n,o)])),_u=e=>e==null?"—":Number(e).toLocaleString("en-US");function Kn(e){const t=bu(e.facets,r=>r.get),o=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),n=Array.isArray(e.searchKeys)?e.searchKeys:null;return n?n.map(r=>t[r]||o[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Yn(e,t){return o=>{var r;const n=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!n)return!0;for(const s of t){const a=s(o);if(a!=null&&String(a).toLowerCase().includes(n))return!0}return!1}}function A_(e,t,o,n,r){return(e||[]).map(s=>{var i,c;let a,l;if(s.kind==="count")a=t.length,s.showDelta&&(l=Math.max(0,o.length-t.length));else if(s.kind==="sum")a=t.reduce((u,f)=>u+(Number(f[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(i=r==null?void 0:r.facets)==null?void 0:i[s.field])==null?void 0:c[s.via]:n[s.field],f=new Set;t.forEach(m=>{const v=u?u(m):m[s.field];v&&f.add(v)}),a=f.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:l}})}function C_(e){const t=de(null),o=de(!1),n=de(!1),r=de(!1),s=de("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let l=null;const i=de(!1),c=de(!1),u=de(!1);xt(()=>{t.value&&(l=new ResizeObserver(()=>{const w=t.value.clientWidth;o.value=w<760,n.value=w>=760&&w<1180,r.value=w>=760&&w<980}),l.observe(t.value)),e&&e.on("toggleTable",w=>{i.value=!!w}),e&&e.on("toggleFacet",w=>{c.value=!!w}),e&&e.on("toggleRail",w=>{u.value=!!w})}),Ht(()=>l&&l.disconnect());function f(w){const P=w.target.closest("[data-view]");P&&(s.value=P.getAttribute("data-view"))}const m=le(()=>!o.value||s.value==="facets"),v=le(()=>!o.value||s.value==="map"),L=le(()=>!o.value||s.value==="table"),x=le(()=>!o.value||s.value==="charts");return{shell:t,isNarrow:o,slimRail:n,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:i,facetCollapsed:c,railCollapsed:u,setView:f,showFacets:m,showMap:v,showTable:L,showCharts:x}}function T_(e){function t(){try{const o=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+o)}catch{}}gt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const o=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(o){const n=JSON.parse(decodeURIComponent(o[1]));Object.entries(n).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function L_(e){var x;const t=u_();t.configureHierarchy(e);const o=d_(e.data),n=bu(e.facets,w=>w.get),r=Yn(t,Kn(e)),s=le(()=>{var p;const w=o.rows.value||[],P=Object.keys(t.filterSet),y=!!(((p=t.searchTerm)==null?void 0:p.value)||"").trim();return!P.length&&!y?w:w.filter(g=>P.every(_=>{const E=n[_];return E?E(g)===t.filterSet[_]:!0})&&r(g))}),a=le(()=>A_(e.kpis,s.value,o.rows.value||[],n,e)),l=C_(t);T_(t);const i=o.sourceId||Dt.activeSource,c=((x=Dt.sources)==null?void 0:x[i])||{},u=new mu,f=le(()=>{const w=o.rows.value||[];return w.length?(u.rawData=w.slice(),u.normalizeData(c),u.normalizedData):[]}),m={sources:{[i]:{get features(){return f.value}}}},{labelFor:v}=Wn(e,m,i),L=ka({rowStore:o.rowStore,rows:o.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:n,dataOpts:e.data,labelFor:v});return no("selectionBus",t),no("dashboardData",o),no("dashboardConfig",e),no("dataStore",m),no("searchSourceId",i),xt(()=>o.load()),{bus:t,data:o,FACET_ACC:n,filteredRows:s,kpis:a,exporter:L,responsive:l}}const P_={facetW:296,railW:264,tableH:"34%"},N_={facetW:[160,420],railW:[200,520],tableH:[12,70]},fn=(e,[t,o])=>Math.min(o,Math.max(t,e)),yu=(e,t)=>{const o=parseFloat(String(e));return Number.isFinite(o)?o:t};function I_(e={}){const{shellRef:t,bus:o=null,isNarrow:n=!1,storageKey:r="rd-dashboard-layout"}=e,s={...P_,...e.defaults||{}},a={...N_,...e.clamps||{}},l=de(s.facetW),i=de(s.railW),c=de(s.tableH),u=de(!1),f=()=>!!he(n);function m(){const C=t&&t.value;!C||!u.value||(C.style.setProperty("--facet-w",l.value+"px"),C.style.setProperty("--rail-w",i.value+"px"),C.style.setProperty("--table-h",c.value))}function v(){const C=t&&t.value;C&&(C.style.removeProperty("--facet-w"),C.style.removeProperty("--rail-w"),C.style.removeProperty("--table-h"))}function L(){try{localStorage.setItem(r,JSON.stringify({facetW:l.value,railW:i.value,tableH:c.value}))}catch{}}function x(){try{const C=localStorage.getItem(r);if(!C)return!1;const z=JSON.parse(C);return Number.isFinite(z.facetW)&&(l.value=fn(z.facetW,a.facetW)),Number.isFinite(z.railW)&&(i.value=fn(z.railW,a.railW)),z.tableH!=null&&(c.value=fn(yu(z.tableH,yu(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function w(){try{localStorage.removeItem(r)}catch{}l.value=s.facetW,i.value=s.railW,c.value=s.tableH,u.value=!1,v()}const P=de(!1);function y(){if(P.value)return;P.value=!0;const C=t&&t.value;if(C&&C.setAttribute("data-rd-resizing","1"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!0)}catch{}}function p(){if(!P.value)return;P.value=!1;const C=t&&t.value;if(C&&C.removeAttribute("data-rd-resizing"),o&&typeof o.emit=="function")try{o.emit("layoutResizing",!1)}catch{}}function g(C,z){if(f())return;const J=t&&t.value;if(!J)return;z.preventDefault();const se=J.getBoundingClientRect(),me=z.clientX,G=l.value,ee=i.value,H=z.currentTarget;try{H&&H.setPointerCapture&&H.setPointerCapture(z.pointerId)}catch{}y();let A=0,N=null;function oe(){if(A=0,!N)return;const X=N;if(N=null,C==="facet")l.value=Math.round(fn(G+(X.clientX-me),a.facetW));else if(C==="rail")i.value=Math.round(fn(ee-(X.clientX-me),a.railW));else if(C==="table"){const ie=(se.bottom-X.clientY)/se.height*100;c.value=Math.round(fn(ie,a.tableH))+"%"}u.value=!0,m()}function D(X){N={clientX:X.clientX,clientY:X.clientY},A||(A=requestAnimationFrame(oe))}function W(X){window.removeEventListener("pointermove",D),window.removeEventListener("pointerup",W),window.removeEventListener("pointercancel",W),A&&(cancelAnimationFrame(A),A=0),oe();try{H&&H.releasePointerCapture&&H.releasePointerCapture(X.pointerId)}catch{}L(),p()}window.addEventListener("pointermove",D),window.addEventListener("pointerup",W),window.addEventListener("pointercancel",W)}const _=C=>g("facet",C),E=C=>g("rail",C),$=C=>g("table",C);let M=null;return xt(()=>{x()&&m(),o&&typeof o.on=="function"&&(M=o.on("resetLayout",w))}),Ht(()=>{try{M&&M()}catch{}try{p()}catch{}}),{facetW:l,railW:i,tableH:c,customized:u,resizing:P,startFacetResize:_,startRailResize:E,startTableResize:$,startResize:g,reset:w,applyVars:m}}const F_=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",R_=["value","placeholder","aria-label"],Sa=dn({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>o.maxWidth?{maxWidth:o.maxWidth}:{});function s(a){const l=a.target.value??"";n("update:modelValue",l),n("search",{value:l})}return(a,l)=>(V(),Y("div",{class:"search-box",style:it(r.value)},[l[0]||(l[0]=I("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),I("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,R_)],4))}},[["styles",[F_]]]),M_=["title","aria-label","disabled"],Ea={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Et(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -95,7 +95,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,o)=>(H(),K("button",{class:Me(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Mo(t.$slots,"default")],10,M_))}},O_=["aria-label"],D_={class:"mcm-header"},j_={class:"mcm-title"},z_={class:"mcm-body"},U_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Aa="doxa-map-menu-open",B_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Et(` +`,"map-control-button"),(t,o)=>(V(),Y("button",{class:Me(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[Mo(t.$slots,"default")],10,M_))}},O_=["aria-label"],D_={class:"mcm-header"},j_={class:"mcm-title"},z_={class:"mcm-body"},U_=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Aa="doxa-map-menu-open",B_={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Et(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -111,7 +111,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const o=e,n=t,r=Le("mapToolbar",null),s=ue(null),a=ue(null),l=ue({});function i(){var O;const v=(O=r==null?void 0:r.el)==null?void 0:O.value,P=s.value;if(!v||!P){l.value={};return}const x=P.getBoundingClientRect(),w=v.getBoundingClientRect(),N=(w.left+w.right)/2>(x.left+x.right)/2,y=8,f=12,g=N?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-f)),E=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-E-f);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(E)}px`,[N?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}gt(()=>o.open,async v=>{var P;if(v){await $n(),i();try{(P=s.value)==null||P.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function p(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const P=v.composedPath?v.composedPath():[v.target];a.value&&P.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&P.includes(r.el.value)||P.some(w=>{var N,y,f,g;return((y=(N=w==null?void 0:w.classList)==null?void 0:N.contains)==null?void 0:y.call(N,"mapboxgl-canvas"))||((g=(f=w==null?void 0:w.classList)==null?void 0:f.contains)==null?void 0:g.call(f,"maplibregl-canvas"))})&&n("close")}return xt(()=>{var v,P,x;s.value=((P=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:P.closest(U_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",p)}),Ht(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",p)}),(v,P)=>(H(),xo(Pd,{to:s.value,disabled:!s.value},[e.open?(H(),K("div",{key:0,ref_key:"el",ref:a,class:Me(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[I("div",D_,[I("span",j_,ce(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:P[0]||(P[0]=x=>n("close"))},[...P[1]||(P[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",z_,[Mo(v.$slots,"default")])],14,O_)):Ce("",!0)],8,["to","disabled"]))}},G_={class:"share-steps"},q_={class:"share-tabs"},V_={key:0,class:"share-body"},H_={class:"share-url-box"},W_={class:"share-url-text"},K_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Y_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},X_={key:1,class:"share-body"},J_={class:"share-size-pills"},Z_=["onClick"],Q_={class:"share-code-box"},ey={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ty={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},oy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Et(` +`,"map-control-menu");const o=e,n=t,r=Le("mapToolbar",null),s=de(null),a=de(null),l=de({});function i(){var M;const v=(M=r==null?void 0:r.el)==null?void 0:M.value,L=s.value;if(!v||!L){l.value={};return}const x=L.getBoundingClientRect(),w=v.getBoundingClientRect(),P=(w.left+w.right)/2>(x.left+x.right)/2,y=8,p=12,g=P?x.right-w.left+y:w.right-x.left+y,_=Math.max(200,Math.min(o.width,x.width-g-p)),E=Math.max(0,w.top-x.top);let $=Math.max(120,x.height-E-p);o.matchToolbar&&($=Math.max(120,Math.min($,w.height))),o.maxHeight&&($=Math.min($,o.maxHeight)),l.value={top:`${Math.round(E)}px`,[P?"right":"left"]:`${Math.round(g)}px`,width:`${Math.round(_)}px`,maxHeight:`${Math.round($)}px`,...o.height?{height:`${Math.round(Math.min(o.height,$))}px`}:{}}}function c(v){o.open&&v.detail!==a.value&&n("close")}gt(()=>o.open,async v=>{var L;if(v){await $n(),i();try{(L=s.value)==null||L.dispatchEvent(new CustomEvent(Aa,{detail:a.value}))}catch{}}});function u(){o.open&&i()}function f(v){v.key==="Escape"&&o.open&&n("close")}function m(v){var x;if(!o.open)return;const L=v.composedPath?v.composedPath():[v.target];a.value&&L.includes(a.value)||(x=r==null?void 0:r.el)!=null&&x.value&&L.includes(r.el.value)||L.some(w=>{var P,y,p,g;return((y=(P=w==null?void 0:w.classList)==null?void 0:P.contains)==null?void 0:y.call(P,"mapboxgl-canvas"))||((g=(p=w==null?void 0:w.classList)==null?void 0:p.contains)==null?void 0:g.call(p,"maplibregl-canvas"))})&&n("close")}return xt(()=>{var v,L,x;s.value=((L=(v=r==null?void 0:r.el)==null?void 0:v.value)==null?void 0:L.closest(U_))||null,(x=s.value)==null||x.addEventListener(Aa,c),window.addEventListener("resize",u),document.addEventListener("click",m,!0),document.addEventListener("keydown",f)}),Ht(()=>{var v;(v=s.value)==null||v.removeEventListener(Aa,c),window.removeEventListener("resize",u),document.removeEventListener("click",m,!0),document.removeEventListener("keydown",f)}),(v,L)=>(V(),xo(Pd,{to:s.value,disabled:!s.value},[e.open?(V(),Y("div",{key:0,ref_key:"el",ref:a,class:Me(["mcm",{light:!e.isDark}]),style:it(l.value),role:"dialog","aria-label":e.title},[I("div",D_,[I("span",j_,ue(e.title),1),I("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:L[0]||(L[0]=x=>n("close"))},[...L[1]||(L[1]=[I("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[I("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),I("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),I("div",z_,[Mo(v.$slots,"default")])],14,O_)):Ce("",!0)],8,["to","disabled"]))}},G_={class:"share-steps"},q_={class:"share-tabs"},V_={key:0,class:"share-body"},H_={class:"share-url-box"},W_={class:"share-url-text"},K_={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Y_={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},X_={key:1,class:"share-body"},J_={class:"share-size-pills"},Z_=["onClick"],Q_={class:"share-code-box"},ey={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ty={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},oy={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Et(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -364,7 +364,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:o,rt:n}=sn(),r=e,s=ue(null),a=ue(!1),l=ue(null),i=ue(null),c=ue("link"),u=ue(!1),p=ue(!1),m=ue("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},P=Le("profileConfig",null),x=le(()=>Gb({embedPath:r.embedPath,profileConfig:he(P)||null})),w=le(()=>{const U=v[m.value].height;return''});function N(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function y(){a.value=!1}async function f(U){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(U),!0}catch{}try{const X=document.createElement("textarea");X.value=U,X.setAttribute("readonly",""),X.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(X),X.select();const re=document.execCommand("copy");return document.body.removeChild(X),re}catch{return!1}}async function g(){await f(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await f(w.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const E=Le("mapToolbar",null),$=ue(null);no("mapToolbar",E||{el:$});const O=!E;function A(U){if(s.value=U||null,!O||!U){U||($.value=null);return}const X=U.offsetParent||U.parentElement;X&&!X.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&X.setAttribute("data-map-area","share-fallback"),$.value=U}return(U,X)=>(H(),K("div",{ref:A,class:"share-wrap","data-share-root":""},[Pe(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:he(t)("buttons.share"),onClick:N},{default:yo(()=>[...X[2]||(X[2]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Pe(B_,{open:a.value,title:he(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:yo(()=>[I("div",{ref_key:"popoverEl",ref:l,class:Me(["share-pop",{light:!e.isDark}])},[I("ul",G_,[(H(!0),K(xe,null,He(he(o)("buttons.shareSteps"),(re,me)=>(H(),K("li",{key:me},ce(he(n)(re)),1))),128))]),I("div",q_,[I("button",{class:Me(["share-tab",{active:c.value==="link"}]),onClick:X[0]||(X[0]=re=>c.value="link")},"Embed link",2),I("button",{class:Me(["share-tab",{active:c.value==="embed"}]),onClick:X[1]||(X[1]=re=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(H(),K("div",V_,[I("div",H_,[I("div",W_,ce(x.value),1)]),I("button",{class:Me(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(H(),K("svg",Y_,[...X[4]||(X[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),K("svg",K_,[...X[3]||(X[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+ce(u.value?"Copied!":"Copy Link"),1)],2)])):Ce("",!0),c.value==="embed"?(H(),K("div",X_,[X[7]||(X[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",J_,[(H(),K(xe,null,He(v,(re,me)=>I("button",{key:me,class:Me(["share-size-pill",{active:m.value===me}]),onClick:q=>m.value=me},ce(re.label),11,Z_)),64))]),I("div",Q_,ce(w.value),1),I("button",{class:Me(["share-secondary-btn",{copied:p.value}]),onClick:_},[p.value?(H(),K("svg",ty,[...X[6]||(X[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(H(),K("svg",ey,[...X[5]||(X[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+ce(p.value?"Copied!":"Copy Code"),1)],2)])):Ce("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},mo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ny=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Kr(e,t){const o=Hr(e);return o&&o.propertyKey===t?o:null}function ry(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ga(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function sy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,p]of a)p>i?(l=u,i=p,c=!1):p===i&&(c=!0);r.set(s,l&&!c?xu("wagf_region",l):mo)}return r}function ay(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((p,m)=>p+m.value,0)||1;let u=-Math.PI/2;return e.map((p,m)=>{const v=u,P=u+p.value/c*Math.PI*2;u=P;const x=P-v>Math.PI?1:0,w=(y,f)=>`${(s+f*Math.cos(y)).toFixed(2)},${(a+f*Math.sin(y)).toFixed(2)}`,N=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(P,l)} L${w(P,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...p,path:N,pct:Math.round(p.value/c*100),color:vu(n,p.key,r)}})}function ly(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:vu(t,r.key,o)}))}function vu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return xu(e,t)}function xu(e,t){if(t==null||t===""||t==="Other")return mo;if(e==="religion"||e==="religion_family"){const o=Kr(ho.RELIGION,"religion"),n=o&&o.palette||kt,r=o&&o.families||zo;return n[ry(t,r)]||mo}if(e==="wagf_region"){const o=Kr(ho.DOXA_REGION,"doxaRegion");if(!o)return mo;const n=o.slugColors&&o.slugColors[ny(t)];return n||o.aliases&&o.aliases[t]||mo}if(e==="affinity_bloc"){const o=Kr(ho.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||mo}if(e==="language_family"){const o=Kr(ho.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||mo}return mo}const iy={class:"rd-left"},cy={class:"rd-brand"},uy={class:"rd-ttl"},dy={class:"rd-filter-search","data-filter-search":""},fy={key:0,class:"rd-search","data-search":""},py=["data-slug"],gy={class:"nm"},hy={class:"sub"},my={key:1,class:"rd-empty"},by=["onKeydown"],_y="research-dashboard/research-dashboard/index.html",yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var f;return((f=o==null?void 0:o.searchTerm)==null?void 0:f.value)||""}),l=le(()=>{var f;return((f=n.researchFilters)==null?void 0:f.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(f){o==null||o.setSearch((f==null?void 0:f.value)??"")}const c=ue(""),u=ue(!1),p=ue(0),m=le(()=>{var E;const f=c.value.trim().toLowerCase();if(f.length<2)return[];const g=((E=t==null?void 0:t.rows)==null?void 0:E.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(f)&&(_.push($),_.length>=8))break;return _});function v(f){!f||!o||(f.slug&&(o.toggleSelect(f.slug),o.emit("focusRow",{slug:f.slug,name:f.name})),c.value="",u.value=!1,p.value=0)}function P(){u.value=!0,p.value=0}function x(f){if(!m.value.length){f.key==="Escape"&&(c.value="",u.value=!1);return}f.key==="ArrowDown"?(f.preventDefault(),p.value=(p.value+1)%m.value.length):f.key==="ArrowUp"?(f.preventDefault(),p.value=(p.value-1+m.value.length)%m.value.length):f.key==="Enter"?(f.preventDefault(),v(m.value[p.value])):f.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function w(f){var $;const g=f.target&&f.target.closest&&f.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),E=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(O=>O.slug===_);E&&v(E)}const N=ue(null);function y(f){N.value&&!N.value.contains(f.target)&&(u.value=!1)}return xt(()=>{var f,g;try{(g=(f=N.value)==null?void 0:f.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Ht(()=>{var f,g;try{(g=(f=N.value)==null?void 0:f.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),Et(` +`,"share-button");const{t,tm:o,rt:n}=sn(),r=e,s=de(null),a=de(!1),l=de(null),i=de(null),c=de("link"),u=de(!1),f=de(!1),m=de("medium"),v={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},L=Le("profileConfig",null),x=le(()=>Gb({embedPath:r.embedPath,profileConfig:he(L)||null})),w=le(()=>{const z=v[m.value].height;return''});function P(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,f.value=!1)}function y(){a.value=!1}async function p(z){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(z),!0}catch{}try{const J=document.createElement("textarea");J.value=z,J.setAttribute("readonly",""),J.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(J),J.select();const se=document.execCommand("copy");return document.body.removeChild(J),se}catch{return!1}}async function g(){await p(x.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function _(){await p(w.value)&&(f.value=!0,setTimeout(()=>{f.value=!1},2e3))}const E=Le("mapToolbar",null),$=de(null);no("mapToolbar",E||{el:$});const M=!E;function C(z){if(s.value=z||null,!M||!z){z||($.value=null);return}const J=z.offsetParent||z.parentElement;J&&!J.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&J.setAttribute("data-map-area","share-fallback"),$.value=z}return(z,J)=>(V(),Y("div",{ref:C,class:"share-wrap","data-share-root":""},[Pe(Ea,{ref_key:"btnEl",ref:i,"is-dark":e.isDark,active:a.value,title:he(t)("buttons.share"),onClick:P},{default:yo(()=>[...J[2]||(J[2]=[I("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[I("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),I("polyline",{points:"16 6 12 2 8 6"}),I("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Pe(B_,{open:a.value,title:he(t)("buttons.share"),"is-dark":e.isDark,onClose:y},{default:yo(()=>[I("div",{ref_key:"popoverEl",ref:l,class:Me(["share-pop",{light:!e.isDark}])},[I("ul",G_,[(V(!0),Y(xe,null,We(he(o)("buttons.shareSteps"),(se,me)=>(V(),Y("li",{key:me},ue(he(n)(se)),1))),128))]),I("div",q_,[I("button",{class:Me(["share-tab",{active:c.value==="link"}]),onClick:J[0]||(J[0]=se=>c.value="link")},"Embed link",2),I("button",{class:Me(["share-tab",{active:c.value==="embed"}]),onClick:J[1]||(J[1]=se=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(V(),Y("div",V_,[I("div",H_,[I("div",W_,ue(x.value),1)]),I("button",{class:Me(["share-primary-btn",{copied:u.value}]),onClick:g},[u.value?(V(),Y("svg",Y_,[...J[4]||(J[4]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),Y("svg",K_,[...J[3]||(J[3]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+ue(u.value?"Copied!":"Copy Link"),1)],2)])):Ce("",!0),c.value==="embed"?(V(),Y("div",X_,[J[7]||(J[7]=I("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),I("div",J_,[(V(),Y(xe,null,We(v,(se,me)=>I("button",{key:me,class:Me(["share-size-pill",{active:m.value===me}]),onClick:G=>m.value=me},ue(se.label),11,Z_)),64))]),I("div",Q_,ue(w.value),1),I("button",{class:Me(["share-secondary-btn",{copied:f.value}]),onClick:_},[f.value?(V(),Y("svg",ty,[...J[6]||(J[6]=[I("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(V(),Y("svg",ey,[...J[5]||(J[5]=[I("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),I("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+ue(f.value?"Copied!":"Copy Code"),1)],2)])):Ce("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},mo="#c4c8c0",Qe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,ny=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Kr(e,t){const o=Hr(e);return o&&o.propertyKey===t?o:null}function ry(e,t){const o=String(e||"").trim();if(!o)return"U";const n=Object.keys(t),r=n.find(l=>t[l]===o);if(r)return r;let s=null,a=0;for(const l of n){const i=t[l];i&&o.toLowerCase().startsWith(i.toLowerCase())&&i.length>a&&(s=l,a=i.length)}return s||(/^[A-Z]{1,3}$/.test(o)?ga(o):"U")}function Ca(e,t,o){const n=new Map;for(const s of e){const a=t(s);a==null||a===""||n.set(a,(n.get(a)||0)+1)}let r=[...n.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(o&&r.length>o){const s=r.slice(0,o),a=r.slice(o).reduce((l,i)=>l+i.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function sy(e,t,o){const n=new Map;for(const s of e||[]){const a=t&&t(s),l=o&&o(s);if(!a||!l)continue;n.has(a)||n.set(a,new Map);const i=n.get(a);i.set(l,(i.get(l)||0)+1)}const r=new Map;for(const[s,a]of n){let l=null,i=0,c=!1;for(const[u,f]of a)f>i?(l=u,i=f,c=!1):f===i&&(c=!0);r.set(s,l&&!c?xu("wagf_region",l):mo)}return r}function ay(e,t=132,o=.58,n="",r=null){const s=t/2,a=t/2,l=t/2-3,i=(t/2-3)*o,c=e.reduce((f,m)=>f+m.value,0)||1;let u=-Math.PI/2;return e.map((f,m)=>{const v=u,L=u+f.value/c*Math.PI*2;u=L;const x=L-v>Math.PI?1:0,w=(y,p)=>`${(s+p*Math.cos(y)).toFixed(2)},${(a+p*Math.sin(y)).toFixed(2)}`,P=`M${w(v,l)} A${l},${l} 0 ${x} 1 ${w(L,l)} L${w(L,i)} A${i},${i} 0 ${x} 0 ${w(v,i)} Z`;return{...f,path:P,pct:Math.round(f.value/c*100),color:vu(n,f.key,r)}})}function ly(e,t="",o=null){const n=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/n,color:vu(t,r.key,o)}))}function vu(e,t,o){if(o&&t!=="Other"){const n=o.get?o.get(t):o[t];if(n)return n}return xu(e,t)}function xu(e,t){if(t==null||t===""||t==="Other")return mo;if(e==="religion"||e==="religion_family"){const o=Kr(ho.RELIGION,"religion"),n=o&&o.palette||kt,r=o&&o.families||zo;return n[ry(t,r)]||mo}if(e==="wagf_region"){const o=Kr(ho.DOXA_REGION,"doxaRegion");if(!o)return mo;const n=o.slugColors&&o.slugColors[ny(t)];return n||o.aliases&&o.aliases[t]||mo}if(e==="affinity_bloc"){const o=Kr(ho.AFFINITY_BLOCK,"affinityBlock");return o&&o.palette&&o.palette[t]||mo}if(e==="language_family"){const o=Kr(ho.LANGUAGE_FAMILY,"languageFamily");return o&&o.palette&&o.palette[t]||mo}return mo}const iy={class:"rd-left"},cy={class:"rd-brand"},uy={class:"rd-ttl"},dy={class:"rd-filter-search","data-filter-search":""},fy={key:0,class:"rd-search","data-search":""},py=["data-slug"],gy={class:"nm"},hy={class:"sub"},my={key:1,class:"rd-empty"},by=["onKeydown"],_y="research-dashboard/research-dashboard/index.html",yy={__name:"DashboardTopBar",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=le(()=>n.showTopBarSearch===!0);function s(){o&&o.emit("resetLayout")}const a=le(()=>{var p;return((p=o==null?void 0:o.searchTerm)==null?void 0:p.value)||""}),l=le(()=>{var p;return((p=n.researchFilters)==null?void 0:p.searchPlaceholder)||"Search people groups, place, language, religion…"});function i(p){o==null||o.setSearch((p==null?void 0:p.value)??"")}const c=de(""),u=de(!1),f=de(0),m=le(()=>{var E;const p=c.value.trim().toLowerCase();if(p.length<2)return[];const g=((E=t==null?void 0:t.rows)==null?void 0:E.value)||[],_=[];for(const $ of g)if(($.name||"").toLowerCase().includes(p)&&(_.push($),_.length>=8))break;return _});function v(p){!p||!o||(p.slug&&(o.toggleSelect(p.slug),o.emit("focusRow",{slug:p.slug,name:p.name})),c.value="",u.value=!1,f.value=0)}function L(){u.value=!0,f.value=0}function x(p){if(!m.value.length){p.key==="Escape"&&(c.value="",u.value=!1);return}p.key==="ArrowDown"?(p.preventDefault(),f.value=(f.value+1)%m.value.length):p.key==="ArrowUp"?(p.preventDefault(),f.value=(f.value-1+m.value.length)%m.value.length):p.key==="Enter"?(p.preventDefault(),v(m.value[f.value])):p.key==="Escape"&&(c.value="",u.value=!1,f.value=0)}function w(p){var $;const g=p.target&&p.target.closest&&p.target.closest("[data-slug]");if(!g)return;const _=g.getAttribute("data-slug"),E=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===_);E&&v(E)}const P=de(null);function y(p){P.value&&!P.value.contains(p.target)&&(u.value=!1)}return xt(()=>{var p,g;try{(g=(p=P.value)==null?void 0:p.getRootNode())==null||g.addEventListener("click",y)}catch{}}),Ht(()=>{var p,g;try{(g=(p=P.value)==null?void 0:p.getRootNode())==null||g.removeEventListener("click",y)}catch{}}),Et(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -406,7 +406,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(f,g)=>(H(),K("header",{ref_key:"rootEl",ref:N,class:"rd-topbar","data-region":"topbar"},[I("div",iy,[I("span",cy,[I("span",uy,[nt(ce(he(n).title||"Research Dashboard"),1),g[1]||(g[1]=I("span",{class:"dot"},".",-1))])])]),I("div",dy,[Pe(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=I("span",{class:"rd-spacer"},null,-1)),r.value?(H(),K("div",fy,[g[2]||(g[2]=I("span",{class:"ic"},"⌕",-1)),Ft(I("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:P,onFocus:P,onKeydown:x},null,544),[[tp,c.value]]),u.value&&c.value.trim().length>=2?(H(),K("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(H(!0),K(xe,{key:0},He(m.value,(_,E)=>(H(),K("div",{key:_.slug,class:Me(["rd-res",{on:E===p.value}]),"data-slug":_.slug},[I("span",gy,ce(_.name),1),I("span",hy,ce(he(Qe)(_.country_code))+" · "+ce(he(Qe)(_.religion)),1)],10,py))),128)):(H(),K("div",my,"No people groups match “"+ce(c.value.trim())+"”.",1))])):Ce("",!0)])):Ce("",!0),I("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(Qo(s,["prevent"]),["enter"]),Ir(Qo(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,by),Pe(oy,{"embed-path":_y})],512))}},To="#c4c8c0";function vy(e,t){const o=Hr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const xy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function wy(){const e=le(()=>{const o=Hr(ho.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return To;if(o==="people"){const a=vy(ho.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||To}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[xy(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return To}return o==="language"?go[s||r]||To:o==="religion"&&kt[s]||To}return{colorFor:t,NEUTRAL:To}}const ky={class:"rd-facets","data-region":"facets"},$y={class:"fr-head"},Sy={class:"fr-scope","data-scope-count":""},Ey=["data-facet-section"],Ay=["onClick"],Cy={class:"fr-rows"},Ty=["data-facet","data-value","tabindex","role","aria-pressed","aria-label"],Ly=["data-expand","data-expand-value","aria-expanded","aria-label"],Py={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Ny={class:"fr-lbl"},Iy={class:"fr-bar"},Fy={class:"fr-cnt"},Ry={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([C,T])=>[C,T.get])),i=Yn(o,Kn(n));function c(C){var Q,se;const T=((Q=t==null?void 0:t.rows)==null?void 0:Q.value)||[],M=Object.keys(a).filter(te=>!C.includes(te)),z=!!(((se=o==null?void 0:o.searchTerm)==null?void 0:se.value)||"").trim();return!M.length&&!z?T:T.filter(te=>M.every(de=>{const ge=l[de];return ge?ge(te)===a[de]:!0})&&i(te))}const u=Po(Object.fromEntries((n.facetRail||[]).map(C=>[C.id,!0])));function p(C){u[C]=!u[C]}const m=Po({}),v=(C,T)=>C+":"+T;function P(C,T){const M=v(C,T);m[M]=!x(C,T)}function x(C,T){const M=v(C,T);return M in m?m[M]:a[C]===T}function w(C,T,M){const z=C.reduce((Q,se)=>Math.max(Q,se.value),0)||1;return C.map(Q=>({facet:T,value:Q.key,label:Q.key,count:Q.value,frac:Q.value/z,level:M,other:!!Q.other,active:!Q.other&&a[T]===Q.key}))}const N=new Map;function y(C,T,M){if(M)return N.set(C,T.map(ye=>({...ye,count:0,frac:0,active:!1,expanded:!1}))),T;const z=N.get(C);if(!z)return T;const Q=ye=>ye.facet+":"+ye.value,se=new Set(T.map(Q));if(!z.filter(ye=>!se.has(Q(ye))).length)return T;const de=new Map;let ge="";for(const ye of z){const Te=Q(ye);if(se.has(Te)){ge=Te;continue}de.has(ge)||de.set(ge,[]),de.get(ge).push({...ye,zero:!0})}const Ae=[];for(const ye of de.get("")||[])Ae.push(ye);for(let ye=0;yeTe.level;)Ae.push(T[++ye]);for(const ze of Ke)Ae.push(ze)}}return Ae}function f(C,T){return w(Ca(c([C]),l[C],T??24),C,0)}function g(C,T){const M=[],z=(Q,se)=>{const te=C[Q],de=(T&&T[Q])??(Q===C.length-1?40:30);let ge=c(C.slice(Q));se.length&&(ge=ge.filter(ye=>se.every(([Te,Ke])=>{const ze=l[Te];return ze?ze(ye)===Ke:!0})));const Ae=w(Ca(ge,l[te],de),te,Q);for(const ye of Ae)ye.hasChildren=!ye.other&&Q{var M;const C=new Map,T=n.facets&&n.facets.religion_family;if(!T||!T.famKey)return C;for(const z of((M=t==null?void 0:t.rows)==null?void 0:M.value)||[]){const Q=T.get(z);Q&&!C.has(Q)&&C.set(Q,T.famKey(z))}return C}),U=le(()=>{var C;return!Object.keys(a).length&&!(((C=o==null?void 0:o.searchTerm)==null?void 0:C.value)||"").trim()}),X=le(()=>(n.facetRail||[]).map(C=>{let T=C.drill?g(C.drill,C.topN):f(C.facet,C.topN);if(T=y(C.id,T,U.value),C.tree==="affinity"){const M=E.value;T=T.map(z=>z.other?z:{...z,label:M[z.facet]&&M[z.facet].get(z.value)||z.label})}return T=O(T,C.axis,A.value),{id:C.id,title:C.title,axis:C.axis,rows:_(T)}})),re=le(()=>{var M;const C=((M=t==null?void 0:t.rows)==null?void 0:M.value)||[],T=Object.keys(a);return T.length?C.filter(z=>T.every(Q=>{const se=l[Q];return se?se(z)===a[Q]:!0})).length:C.length});function me(C){const T=C.target;if(!T||!T.closest)return;const M=T.closest("[data-expand]");if(M){const te=M.getAttribute("data-expand"),de=M.getAttribute("data-expand-value");te&&de!=null&&(C.stopPropagation(),P(te,de));return}const z=T.closest("[data-facet]");if(!z||!o)return;const Q=z.getAttribute("data-facet"),se=z.getAttribute("data-value");!Q||!se||o.setFilter(Q,a[Q]===se?null:se)}function q(C){if(C.key!=="Enter"&&C.key!==" "&&C.key!=="Spacebar")return;const T=C.target&&C.target.closest?C.target.closest("[data-facet]"):null;if(!T||!o)return;C.preventDefault();const M=T.getAttribute("data-facet"),z=T.getAttribute("data-value");!M||!z||o.setFilter(M,a[M]===z?null:z)}const Y=ue(null);return xt(()=>{o&&o.on("mapFocus",({value:C}={})=>{if(!C||!Y.value)return;const M=[...Y.value.querySelectorAll(".fr-row")].find(z=>z.textContent&&z.textContent.includes(C));M&&(Y.value.scrollTop=Math.max(0,M.offsetTop-8))})}),Et(` +`,"rd-topbar"),(p,g)=>(V(),Y("header",{ref_key:"rootEl",ref:P,class:"rd-topbar","data-region":"topbar"},[I("div",iy,[I("span",cy,[I("span",uy,[nt(ue(he(n).title||"Research Dashboard"),1),g[1]||(g[1]=I("span",{class:"dot"},".",-1))])])]),I("div",dy,[Pe(Sa,{"model-value":a.value,placeholder:l.value,"aria-label":l.value,"max-width":"360px",onSearch:i},null,8,["model-value","placeholder","aria-label"])]),g[3]||(g[3]=I("span",{class:"rd-spacer"},null,-1)),r.value?(V(),Y("div",fy,[g[2]||(g[2]=I("span",{class:"ic"},"⌕",-1)),Ft(I("input",{type:"text","onUpdate:modelValue":g[0]||(g[0]=_=>c.value=_),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:L,onFocus:L,onKeydown:x},null,544),[[tp,c.value]]),u.value&&c.value.trim().length>=2?(V(),Y("div",{key:0,class:"rd-results","data-search-results":"",onClick:w},[m.value.length?(V(!0),Y(xe,{key:0},We(m.value,(_,E)=>(V(),Y("div",{key:_.slug,class:Me(["rd-res",{on:E===f.value}]),"data-slug":_.slug},[I("span",gy,ue(_.name),1),I("span",hy,ue(he(Qe)(_.country_code))+" · "+ue(he(Qe)(_.religion)),1)],10,py))),128)):(V(),Y("div",my,"No people groups match “"+ue(c.value.trim())+"”.",1))])):Ce("",!0)])):Ce("",!0),I("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[Ir(Qo(s,["prevent"]),["enter"]),Ir(Qo(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,by),Pe(oy,{"embed-path":_y})],512))}},To="#c4c8c0";function vy(e,t){const o=Hr(e);return o&&o.propertyKey===t&&o.palette?o.palette:null}const xy=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function wy(){const e=le(()=>{const o=Hr(ho.DOXA_REGION),n=o&&o.propertyKey==="doxaRegion";return{slug:n&&o.slugColors||null,alias:n&&o.aliases||null}});function t(o,n,r,s){if(r==null||r==="")return To;if(o==="people"){const a=vy(ho.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||To}if(o==="place"){const{slug:a,alias:l}=e.value,i=s||r;if(a){const c=a[xy(i)];if(c)return c}if(l){const c=l[i];if(c)return c}return To}return o==="language"?go[s||r]||To:o==="religion"&&kt[s]||To}return{colorFor:t,NEUTRAL:To}}const ky={class:"rd-facets","data-region":"facets"},$y={class:"fr-head"},Sy={class:"fr-scope","data-scope-count":""},Ey=["data-facet-section"],Ay=["onClick"],Cy={class:"fr-rows"},Ty=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],Ly=["data-expand","data-expand-value","aria-expanded","aria-label"],Py={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},Ny={class:"fr-lbl"},Iy={class:"fr-bar"},Fy={class:"fr-cnt"},Ry={key:3,class:"fr-donly","aria-hidden":"true"},My={__name:"DashboardFacetRail",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Le("dataStore",null),s=Le("searchSourceId",null),a=(o==null?void 0:o.filterSet)||{},l=Object.fromEntries(Object.entries(n.facets||{}).map(([A,N])=>[A,N.get])),i=new Set(Object.entries(n.facets||{}).filter(([,A])=>A&&A.dashboardOnly).map(([A])=>A)),c=Yn(o,Kn(n));function u(A){var W,X;const N=((W=t==null?void 0:t.rows)==null?void 0:W.value)||[],oe=Object.keys(a).filter(ie=>!A.includes(ie)),D=!!(((X=o==null?void 0:o.searchTerm)==null?void 0:X.value)||"").trim();return!oe.length&&!D?N:N.filter(ie=>oe.every(pe=>{const $e=l[pe];return $e?$e(ie)===a[pe]:!0})&&c(ie))}const f=Po(Object.fromEntries((n.facetRail||[]).map(A=>[A.id,!0])));function m(A){f[A]=!f[A]}const v=Po({}),L=(A,N)=>A+":"+N;function x(A,N){const oe=L(A,N);v[oe]=!w(A,N)}function w(A,N){const oe=L(A,N);return oe in v?v[oe]:a[A]===N}function P(A,N,oe){const D=A.reduce((W,X)=>Math.max(W,X.value),0)||1;return A.map(W=>({facet:N,value:W.key,label:W.key,count:W.value,frac:W.value/D,level:oe,other:!!W.other,active:!W.other&&a[N]===W.key,dashboardOnly:i.has(N)}))}const y=new Map;function p(A,N,oe){if(oe)return y.set(A,N.map(be=>({...be,count:0,frac:0,active:!1,expanded:!1}))),N;const D=y.get(A);if(!D)return N;const W=be=>be.facet+":"+be.value,X=new Set(N.map(W));if(!D.filter(be=>!X.has(W(be))).length)return N;const pe=new Map;let $e="";for(const be of D){const Be=W(be);if(X.has(Be)){$e=Be;continue}pe.has($e)||pe.set($e,[]),pe.get($e).push({...be,zero:!0})}const Ie=[];for(const be of pe.get("")||[])Ie.push(be);for(let be=0;beBe.level;)Ie.push(N[++be]);for(const Te of ze)Ie.push(Te)}}return Ie}function g(A,N){return P(Ca(u([A]),l[A],N??24),A,0)}function _(A,N){const oe=[],D=(W,X)=>{const ie=A[W],pe=(N&&N[W])??(W===A.length-1?40:30);let $e=u(A.slice(W));X.length&&($e=$e.filter(be=>X.every(([Be,ze])=>{const Te=l[Be];return Te?Te(be)===ze:!0})));const Ie=P(Ca($e,l[ie],pe),ie,W);for(const be of Ie)be.hasChildren=!be.other&&W{var oe;const A=new Map,N=n.facets&&n.facets.religion_family;if(!N||!N.famKey)return A;for(const D of((oe=t==null?void 0:t.rows)==null?void 0:oe.value)||[]){const W=N.get(D);W&&!A.has(W)&&A.set(W,N.famKey(D))}return A}),J=le(()=>{var A;return!Object.keys(a).length&&!(((A=o==null?void 0:o.searchTerm)==null?void 0:A.value)||"").trim()}),se=le(()=>(n.facetRail||[]).map(A=>{let N=A.drill?_(A.drill,A.topN):g(A.facet,A.topN);if(N=p(A.id,N,J.value),A.tree==="affinity"){const oe=$.value;N=N.map(D=>D.other?D:{...D,label:oe[D.facet]&&oe[D.facet].get(D.value)||D.label})}return N=C(N,A.axis,z.value),{id:A.id,title:A.title,axis:A.axis,rows:E(N)}})),me=le(()=>{var oe;const A=((oe=t==null?void 0:t.rows)==null?void 0:oe.value)||[],N=Object.keys(a);return N.length?A.filter(D=>N.every(W=>{const X=l[W];return X?X(D)===a[W]:!0})).length:A.length});function G(A){const N=A.target;if(!N||!N.closest)return;const oe=N.closest("[data-expand]");if(oe){const ie=oe.getAttribute("data-expand"),pe=oe.getAttribute("data-expand-value");ie&&pe!=null&&(A.stopPropagation(),x(ie,pe));return}const D=N.closest("[data-facet]");if(!D||!o)return;const W=D.getAttribute("data-facet"),X=D.getAttribute("data-value");!W||!X||o.setFilter(W,a[W]===X?null:X)}function ee(A){if(A.key!=="Enter"&&A.key!==" "&&A.key!=="Spacebar")return;const N=A.target&&A.target.closest?A.target.closest("[data-facet]"):null;if(!N||!o)return;A.preventDefault();const oe=N.getAttribute("data-facet"),D=N.getAttribute("data-value");!oe||!D||o.setFilter(oe,a[oe]===D?null:D)}const H=de(null);return xt(()=>{o&&o.on("mapFocus",({value:A}={})=>{if(!A||!H.value)return;const oe=[...H.value.querySelectorAll(".fr-row")].find(D=>D.textContent&&D.textContent.includes(A));oe&&(H.value.scrollTop=Math.max(0,oe.offsetTop-8))})}),Et(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -479,7 +479,9 @@ .fr-bar i{ display:block; height:100%; background:var(--dx-accent, #92b195); border-radius:2px; transition:width .3s; } .fr-row.on .fr-bar i{ background:var(--rd-accent,#e67e22); } .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } -`,"rd-facetrail"),(C,T)=>(H(),K("aside",ky,[I("div",$y,[T[1]||(T[1]=I("div",{class:"fr-title"},"Tree Legend",-1)),I("div",Sy,[I("b",null,ce(re.value.toLocaleString("en-US")),1),T[0]||(T[0]=nt(" groups in scope",-1))])]),I("div",{class:"fr-body",ref_key:"railEl",ref:Y,onClick:me,onKeydown:q},[(H(!0),K(xe,null,He(X.value,M=>(H(),K("div",{key:M.id,class:"fr-sec","data-facet-section":M.id},[I("div",{class:Me(["fr-sech",{closed:!u[M.id]}]),onClick:Qo(z=>p(M.id),["stop"])},[I("span",null,ce(M.title),1),T[2]||(T[2]=I("span",{class:"chev"},"▾",-1))],10,Ay),Ft(I("div",Cy,[(H(!0),K(xe,null,He(M.rows,z=>(H(),K("div",{key:z.facet+":"+z.value,class:Me(["fr-row",["l"+z.level,{on:z.active,other:z.other,zero:z.zero,inert:z.other||z.zero}]]),"data-facet":z.other||z.zero?null:z.facet,"data-value":z.other||z.zero?null:z.value,tabindex:z.other||z.zero?null:0,role:z.other||z.zero?null:"button","aria-pressed":z.other||z.zero?null:z.active?"true":"false","aria-label":z.other||z.zero?null:(z.active?"Remove filter ":"Filter by ")+z.label+", "+z.count.toLocaleString("en-US")+" groups"},[(H(!0),K(xe,null,He(z.trunks,(Q,se)=>(H(),K("span",{key:"tr"+se,class:Me(["fr-trunk","fr-trunk-"+Q])},null,2))),128)),z.hasChildren?(H(),K("button",{key:0,type:"button",class:Me(["fr-caret-btn",{open:z.expanded}]),"data-expand":z.facet,"data-expand-value":z.value,"aria-expanded":z.expanded?"true":"false","aria-label":(z.expanded?"Collapse ":"Expand ")+z.label},[...T[3]||(T[3]=[I("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Ly)):(H(),K("span",Py)),z.swatch?(H(),K("span",{key:2,class:"fr-sw",style:it({background:z.swatch}),"aria-hidden":"true"},null,4)):Ce("",!0),I("span",Ny,ce(z.label),1),I("span",Iy,[I("i",{style:it({width:Math.max(4,z.frac*100)+"%"})},null,4)]),I("span",Fy,ce(z.count.toLocaleString("en-US")),1)],10,Ty))),128))],512),[[Xt,u[M.id]]])],8,Ey))),128))],544)]))}},My=["data-sel-count"],Oy=["data-collapsed"],Dy=["title","aria-expanded"],jy={class:"ct","data-table-count":""},zy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},Uy=["aria-pressed"],By=["aria-pressed"],Gy={key:2,class:"rd-toast","data-export-toast":""},qy=["aria-busy","title","onKeydown"],Vy={key:0,class:"rd-csv-n"},Hy=["data-sort-by","aria-rowcount"],Wy={class:"rd-thead",role:"row"},Ky=["title"],Yy=["checked","aria-label"],Xy=["title","aria-sort","data-col","onClick"],Jy={class:"ind"},Zy=["data-slug","aria-selected","aria-rowindex"],Qy={class:"rd-td chk",role:"gridcell"},ev=["checked","aria-label"],tv={class:"rd-foot",role:"row"},Xn=26,ov={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=S=>{if(typeof S=="number")return S;const J=parseFloat(String(S??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=S=>S==null?"":Number(S).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(S){const J=Number(S&&S.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([S,J])=>[S,J.get])),c=le(()=>{var S;return((S=t==null?void 0:t.rows)==null?void 0:S.value)||[]}),u=(o==null?void 0:o.filterSet)||{},p=o==null?void 0:o.selectionSet;function m(S,J,ae){const pe=i[J];if(!pe)return!0;const be=pe(S);return Array.isArray(ae)?ae.includes(be):be===ae}const v=Yn(o,Kn(n)),P=le(()=>{var ae;const S=Object.keys(u),J=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!S.length&&!J?c.value:c.value.filter(pe=>S.every(be=>m(pe,be,u[be]))&&v(pe))}),x=ue([]);function w(S,J){const ae=!!(J&&J.shiftKey),pe=x.value.findIndex(be=>be.key===S.key);if(pe<0)x.value=(ae?[...x.value]:[]).concat({key:S.key,dir:"asc"});else if(x.value[pe].dir==="asc"){const be=[...x.value];be[pe]={key:S.key,dir:"desc"},x.value=be}else x.value=ae?x.value.filter(be=>be.key!==S.key):[]}function N(S){const J=x.value.find(ae=>ae.key===S.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const S=x.value;if(!S.length)return P.value;const J=S.map(ae=>({col:a.value.find(pe=>pe.key===ae.key),dir:ae.dir==="asc"?1:-1}));return P.value.slice().sort((ae,pe)=>{for(const{col:be,dir:Ie}of J){let Je=be.get(ae),st=be.get(pe);if((Je==null||Je==="")&&(Je=be.type==="num"?-1/0:""),(st==null||st==="")&&(st=be.type==="num"?-1/0:""),Jest)return 1*Ie}return 0})}),f=ue(!1),g=ue(!1);function _(){f.value=!f.value}function E(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,O=le(()=>{let S=y.value;if(f.value&&($(),S=S.filter(J=>p&&p.has(J.slug))),g.value){$();const J=[],ae=[];for(const pe of S)(p&&p.has(pe.slug)?J:ae).push(pe);S=J.concat(ae)}return S}),A=ue(0),U=ue(360),X=ue(null);let re=null;function me(S){A.value=S.target.scrollTop}const q=le(()=>Math.max(0,Math.floor(A.value/Xn)-6)),Y=le(()=>Math.ceil(U.value/Xn)+12),C=le(()=>O.value.slice(q.value,q.value+Y.value)),T=le(()=>q.value*Xn),M=le(()=>Math.max(0,(O.value.length-(q.value+C.value.length))*Xn));xt(()=>{X.value&&(U.value=X.value.clientHeight||360,re=new ResizeObserver(()=>{U.value=X.value.clientHeight||U.value}),re.observe(X.value)),o&&o.on("toggleTable",S=>{W.value=!!S}),o&&o.on("focusRow",({slug:S}={})=>{if(!S||!X.value)return;const J=O.value.findIndex(ae=>ae.slug===S);J>=0&&(X.value.scrollTop=Math.max(0,J*Xn-U.value/2))})}),Ht(()=>{re&&re.disconnect(),clearTimeout(ee)});const z=le(()=>($(),p?p.size:0)),Q=S=>!!(p&&p.has(S.slug)),se=le(()=>$()),te=ue(null),de=ue("select");let ge=new Set;function Ae(S,J){te.value=S,de.value=J,ge=new Set(p)}function ye(S,J){const ae=O.value,pe=ae.findIndex(Ze=>Ze.slug===S),be=ae.findIndex(Ze=>Ze.slug===J);if(pe<0||be<0)return[];const[Ie,Je]=pe<=be?[pe,be]:[be,pe],st=[];for(let Ze=Ie;Ze<=Je;Ze++)st.push(ae[Ze].slug);return st}function Te(S,J){if(!o||!S)return;const ae=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&te.value){const be=ye(te.value,S);if(!be.length)return;if(ae){const Ie=new Set(ge);if(de.value==="deselect")for(const Je of be)Ie.delete(Je);else for(const Je of be)Ie.add(Je);o.setSelection(Ie)}else o.setSelection(be);return}if(ae){const be=!p.has(S);Ae(S,be?"select":"deselect"),o.toggleSelect(S),ge=new Set(p);return}Ae(S,"select"),o.setSelection([S]),ge=new Set(p)}function Ke(S){const J=S.target;if(!J||!J.closest)return;const ae=J.closest(".rd-row");if(!ae||!o)return;const pe=ae.getAttribute("data-slug");if(pe){if(J.closest(".rd-td.chk")){if(S.shiftKey||S.ctrlKey||S.metaKey){Te(pe,S);return}Ae(pe,p.has(pe)?"deselect":"select"),o.toggleSelect(pe),ge=new Set(p);return}Te(pe,S)}}function ze(S){S.shiftKey&&S.target&&S.target.closest&&S.target.closest(".rd-row")&&S.preventDefault()}const Re=le(()=>{$();const S=P.value;if(!S.length)return!1;for(const J of S)if(!p.has(J.slug))return!1;return!0}),et=le(()=>{if($(),Re.value)return!1;for(const S of P.value)if(p.has(S.slug))return!0;return!1});function b(){if(!o)return;const S=P.value.map(J=>J.slug);Re.value?o.deselectMany(S):o.selectMany(S),te.value=null,ge=new Set(p)}function L(){o&&o.clearSelection(),te.value=null,ge=new Set}const k=ue(null);function V(S){k.value=S||null}gt([et,k],()=>{k.value&&(k.value.indeterminate=et.value)},{immediate:!0}),gt([x,()=>P.value.length,f,g],()=>{te.value=null}),gt(z,S=>{S||(f.value=!1)});const W=ue(!1);function ne(){W.value=!W.value,o&&o.emit("toggleTable",W.value)}const G=le(()=>P.value.reduce((S,J)=>S+(r(J.population)||0),0)),B=le(()=>P.value.length),{labelFor:d}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,F=ue(""),j=ue(!1);let ee=null;async function oe(){if(!(!h||j.value)){j.value=!0;try{const S=await h.exportCsvAsync(),J=S.downloaded?"exported":S.clipboard?"copied to clipboard":"ready";F.value=`✓ ${s(S.rows)} rows × ${S.fields} fields ${J}`}catch{F.value="✕ Export failed"}finally{j.value=!1,clearTimeout(ee),ee=setTimeout(()=>{F.value=""},3200)}}}function D(){h&&h.prefetchExportFields()}return Et(` + .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; + color:var(--dx-muted, #6d766e); opacity:.75; } +`,"rd-facetrail"),(A,N)=>(V(),Y("aside",ky,[I("div",$y,[N[1]||(N[1]=I("div",{class:"fr-title"},"Tree Legend",-1)),I("div",Sy,[I("b",null,ue(me.value.toLocaleString("en-US")),1),N[0]||(N[0]=nt(" groups in scope",-1))])]),I("div",{class:"fr-body",ref_key:"railEl",ref:H,onClick:G,onKeydown:ee},[(V(!0),Y(xe,null,We(se.value,oe=>(V(),Y("div",{key:oe.id,class:"fr-sec","data-facet-section":oe.id},[I("div",{class:Me(["fr-sech",{closed:!f[oe.id]}]),onClick:Qo(D=>m(oe.id),["stop"])},[I("span",null,ue(oe.title),1),N[2]||(N[2]=I("span",{class:"chev"},"▾",-1))],10,Ay),Ft(I("div",Cy,[(V(!0),Y(xe,null,We(oe.rows,D=>(V(),Y("div",{key:D.facet+":"+D.value,class:Me(["fr-row",["l"+D.level,{on:D.active,other:D.other,zero:D.zero,inert:D.other||D.zero,"dash-only":D.dashboardOnly}]]),"data-facet":D.other||D.zero?null:D.facet,"data-value":D.other||D.zero?null:D.value,tabindex:D.other||D.zero?null:0,role:D.other||D.zero?null:"button","aria-pressed":D.other||D.zero?null:D.active?"true":"false","aria-label":D.other||D.zero?null:(D.active?"Remove filter ":"Filter by ")+D.label+", "+D.count.toLocaleString("en-US")+" groups"+(D.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:D.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+D.label:null},[(V(!0),Y(xe,null,We(D.trunks,(W,X)=>(V(),Y("span",{key:"tr"+X,class:Me(["fr-trunk","fr-trunk-"+W])},null,2))),128)),D.hasChildren?(V(),Y("button",{key:0,type:"button",class:Me(["fr-caret-btn",{open:D.expanded}]),"data-expand":D.facet,"data-expand-value":D.value,"aria-expanded":D.expanded?"true":"false","aria-label":(D.expanded?"Collapse ":"Expand ")+D.label},[...N[3]||(N[3]=[I("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,Ly)):(V(),Y("span",Py)),D.swatch?(V(),Y("span",{key:2,class:"fr-sw",style:it({background:D.swatch}),"aria-hidden":"true"},null,4)):Ce("",!0),I("span",Ny,ue(D.label),1),I("span",Iy,[I("i",{style:it({width:Math.max(4,D.frac*100)+"%"})},null,4)]),I("span",Fy,ue(D.count.toLocaleString("en-US")),1),D.dashboardOnly?(V(),Y("span",Ry,"◐")):Ce("",!0)],10,Ty))),128))],512),[[Xt,f[oe.id]]])],8,Ey))),128))],544)]))}},Oy=["data-sel-count"],Dy=["data-collapsed"],jy=["title","aria-expanded"],zy={class:"ct","data-table-count":""},Uy={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},By=["aria-pressed"],Gy=["aria-pressed"],qy={key:2,class:"rd-toast","data-export-toast":""},Vy=["aria-busy","title","onKeydown"],Hy={key:0,class:"rd-csv-n"},Wy=["data-sort-by","aria-rowcount"],Ky={class:"rd-thead",role:"row"},Yy=["title"],Xy=["checked","aria-label"],Jy=["title","aria-sort","data-col","onClick"],Zy={class:"ind"},Qy=["data-slug","aria-selected","aria-rowindex"],ev={class:"rd-td chk",role:"gridcell"},tv=["checked","aria-label"],ov={class:"rd-foot",role:"row"},Xn=26,nv={__name:"DashboardDataTable",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=S=>{if(typeof S=="number")return S;const Z=parseFloat(String(S??"").replace(/[^0-9.\-]/g,""));return isNaN(Z)?null:Z},s=S=>S==null?"":Number(S).toLocaleString("en-US"),a=le(()=>n.columns||[]);function l(S){const Z=Number(S&&S.w);return{flex:`${Number.isFinite(Z)&&Z>0?Z:1} 1 0`}}const i=Object.fromEntries(Object.entries(n.facets||{}).map(([S,Z])=>[S,Z.get])),c=le(()=>{var S;return((S=t==null?void 0:t.rows)==null?void 0:S.value)||[]}),u=(o==null?void 0:o.filterSet)||{},f=o==null?void 0:o.selectionSet;function m(S,Z,ae){const ge=i[Z];if(!ge)return!0;const _e=ge(S);return Array.isArray(ae)?ae.includes(_e):_e===ae}const v=Yn(o,Kn(n)),L=le(()=>{var ae;const S=Object.keys(u),Z=!!(((ae=o==null?void 0:o.searchTerm)==null?void 0:ae.value)||"").trim();return!S.length&&!Z?c.value:c.value.filter(ge=>S.every(_e=>m(ge,_e,u[_e]))&&v(ge))}),x=de([]);function w(S,Z){const ae=!!(Z&&Z.shiftKey),ge=x.value.findIndex(_e=>_e.key===S.key);if(ge<0)x.value=(ae?[...x.value]:[]).concat({key:S.key,dir:"asc"});else if(x.value[ge].dir==="asc"){const _e=[...x.value];_e[ge]={key:S.key,dir:"desc"},x.value=_e}else x.value=ae?x.value.filter(_e=>_e.key!==S.key):[]}function P(S){const Z=x.value.find(ae=>ae.key===S.key);return Z?Z.dir==="asc"?"ascending":"descending":"none"}const y=le(()=>{const S=x.value;if(!S.length)return L.value;const Z=S.map(ae=>({col:a.value.find(ge=>ge.key===ae.key),dir:ae.dir==="asc"?1:-1}));return L.value.slice().sort((ae,ge)=>{for(const{col:_e,dir:Fe}of Z){let Je=_e.get(ae),st=_e.get(ge);if((Je==null||Je==="")&&(Je=_e.type==="num"?-1/0:""),(st==null||st==="")&&(st=_e.type==="num"?-1/0:""),Jest)return 1*Fe}return 0})}),p=de(!1),g=de(!1);function _(){p.value=!p.value}function E(){g.value=!g.value}const $=()=>o&&o.selectionVersion?o.selectionVersion.value:0,M=le(()=>{let S=y.value;if(p.value&&($(),S=S.filter(Z=>f&&f.has(Z.slug))),g.value){$();const Z=[],ae=[];for(const ge of S)(f&&f.has(ge.slug)?Z:ae).push(ge);S=Z.concat(ae)}return S}),C=de(0),z=de(360),J=de(null);let se=null;function me(S){C.value=S.target.scrollTop}const G=le(()=>Math.max(0,Math.floor(C.value/Xn)-6)),ee=le(()=>Math.ceil(z.value/Xn)+12),H=le(()=>M.value.slice(G.value,G.value+ee.value)),A=le(()=>G.value*Xn),N=le(()=>Math.max(0,(M.value.length-(G.value+H.value.length))*Xn));xt(()=>{J.value&&(z.value=J.value.clientHeight||360,se=new ResizeObserver(()=>{z.value=J.value.clientHeight||z.value}),se.observe(J.value)),o&&o.on("toggleTable",S=>{K.value=!!S}),o&&o.on("focusRow",({slug:S}={})=>{if(!S||!J.value)return;const Z=M.value.findIndex(ae=>ae.slug===S);Z>=0&&(J.value.scrollTop=Math.max(0,Z*Xn-z.value/2))})}),Ht(()=>{se&&se.disconnect(),clearTimeout(te)});const oe=le(()=>($(),f?f.size:0)),D=S=>!!(f&&f.has(S.slug)),W=le(()=>$()),X=de(null),ie=de("select");let pe=new Set;function $e(S,Z){X.value=S,ie.value=Z,pe=new Set(f)}function Ie(S,Z){const ae=M.value,ge=ae.findIndex(Ze=>Ze.slug===S),_e=ae.findIndex(Ze=>Ze.slug===Z);if(ge<0||_e<0)return[];const[Fe,Je]=ge<=_e?[ge,_e]:[_e,ge],st=[];for(let Ze=Fe;Ze<=Je;Ze++)st.push(ae[Ze].slug);return st}function be(S,Z){if(!o||!S)return;const ae=!!(Z&&(Z.ctrlKey||Z.metaKey));if(!!(Z&&Z.shiftKey)&&X.value){const _e=Ie(X.value,S);if(!_e.length)return;if(ae){const Fe=new Set(pe);if(ie.value==="deselect")for(const Je of _e)Fe.delete(Je);else for(const Je of _e)Fe.add(Je);o.setSelection(Fe)}else o.setSelection(_e);return}if(ae){const _e=!f.has(S);$e(S,_e?"select":"deselect"),o.toggleSelect(S),pe=new Set(f);return}$e(S,"select"),o.setSelection([S]),pe=new Set(f)}function Be(S){const Z=S.target;if(!Z||!Z.closest)return;const ae=Z.closest(".rd-row");if(!ae||!o)return;const ge=ae.getAttribute("data-slug");if(ge){if(Z.closest(".rd-td.chk")){if(S.shiftKey||S.ctrlKey||S.metaKey){be(ge,S);return}$e(ge,f.has(ge)?"deselect":"select"),o.toggleSelect(ge),pe=new Set(f);return}be(ge,S)}}function ze(S){S.shiftKey&&S.target&&S.target.closest&&S.target.closest(".rd-row")&&S.preventDefault()}const Te=le(()=>{$();const S=L.value;if(!S.length)return!1;for(const Z of S)if(!f.has(Z.slug))return!1;return!0}),et=le(()=>{if($(),Te.value)return!1;for(const S of L.value)if(f.has(S.slug))return!0;return!1});function b(){if(!o)return;const S=L.value.map(Z=>Z.slug);Te.value?o.deselectMany(S):o.selectMany(S),X.value=null,pe=new Set(f)}function T(){o&&o.clearSelection(),X.value=null,pe=new Set}const k=de(null);function q(S){k.value=S||null}gt([et,k],()=>{k.value&&(k.value.indeterminate=et.value)},{immediate:!0}),gt([x,()=>L.value.length,p,g],()=>{X.value=null}),gt(oe,S=>{S||(p.value=!1)});const K=de(!1);function re(){K.value=!K.value,o&&o.emit("toggleTable",K.value)}const B=le(()=>L.value.reduce((S,Z)=>S+(r(Z.population)||0),0)),U=le(()=>L.value.length),{labelFor:d}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),h=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:i,dataOpts:n.data,labelFor:d}):null,F=de(""),j=de(!1);let te=null;async function ne(){if(!(!h||j.value)){j.value=!0;try{const S=await h.exportCsvAsync(),Z=S.downloaded?"exported":S.clipboard?"copied to clipboard":"ready";F.value=`✓ ${s(S.rows)} rows × ${S.fields} fields ${Z}`}catch{F.value="✕ Export failed"}finally{j.value=!1,clearTimeout(te),te=setTimeout(()=>{F.value=""},3200)}}}function O(){h&&h.prefetchExportFields()}return Et(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -527,7 +529,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(S,J)=>(H(),K("div",{class:"rd-table-wrap","data-sel-count":z.value},[I("div",{class:"rd-table-bar","data-collapsed":W.value?"1":"0"},[I("button",{class:"rd-dock",title:W.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":W.value?"false":"true",onClick:ne},ce(W.value?"▴":"▾"),9,Dy),J[0]||(J[0]=I("span",{class:"ttl"},"People Groups",-1)),I("span",jy,ce(s(B.value))+" "+ce(B.value===1?"group":"groups"),1),z.value?(H(),K("span",zy,[I("span",null,ce(s(z.value))+" selected",1),I("button",{title:"Clear selection","aria-label":"Clear selection",onClick:L},"✕")])):Ce("",!0),z.value?(H(),K(xe,{key:1},[I("button",{class:Me(["rd-vtog",{on:f.value}]),"data-only-selected":"","aria-pressed":f.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,Uy),I("button",{class:Me(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:E},"Selected first",10,By)],64)):Ce("",!0),J[1]||(J[1]=I("span",{class:"rd-bar-sp"},null,-1)),F.value?(H(),K("span",Gy,ce(F.value),1)):Ce("",!0),I("span",{class:Me(["rd-csv",{busy:j.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":j.value?"true":"false",title:z.value?`Export the ${z.value} selected people groups — all fields`:`Export these ${s(B.value)} people groups — all fields`,onClick:oe,onMouseenter:D,onFocus:D,onKeydown:[Ir(Qo(oe,["prevent"]),["enter"]),Ir(Qo(oe,["prevent"]),["space"])]},[nt(ce(j.value?"…":"↓")+" Export CSV",1),z.value?(H(),K("span",Vy,ce(z.value),1)):Ce("",!0)],42,qy)],8,Oy),Ft(I("div",{ref_key:"scroller",ref:X,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":O.value.length+1,onScroll:me,onClick:Ke,onMousedown:ze},[I("div",Wy,[I("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Re.value?"Deselect all "+s(B.value):"Select all "+s(B.value),onClick:b},[I("input",{type:"checkbox",checked:Re.value,ref:V,"aria-label":Re.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Yy)],8,Ky),(H(!0),K(xe,null,He(a.value,ae=>(H(),K("div",{key:ae.key,class:Me(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":N(ae),"data-col":ae.key,onClick:pe=>w(ae,pe)},[nt(ce(ae.label),1),I("span",Jy,ce(N(ae)==="ascending"?"▲":N(ae)==="descending"?"▼":""),1)],14,Xy))),128))]),I("div",{style:it({height:T.value+"px"})},null,4),(H(!0),K(xe,null,He(C.value,(ae,pe)=>(H(),K("div",{key:ae.slug,class:Me(["rd-row",{sel:se.value>=0&&Q(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":Q(ae)?"true":"false","aria-rowindex":q.value+pe+2},[I("div",Qy,[I("input",{type:"checkbox",class:"rd-rowchk",checked:Q(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,ev)]),(H(!0),K(xe,null,He(a.value,be=>(H(),K("div",{key:be.key,class:Me(["rd-td",{num:be.type==="num"}]),style:it(l(be)),role:"gridcell"},ce(be.type==="num"?s(be.get(ae)):be.get(ae)),7))),128))],10,Zy))),128)),I("div",{style:it({height:M.value+"px"})},null,4)],40,Hy),[[Xt,!W.value]]),Ft(I("div",tv,[J[2]||(J[2]=I("div",{class:"rd-td chk"},null,-1)),(H(!0),K(xe,null,He(a.value,(ae,pe)=>(H(),K("div",{key:"f-"+ae.key,class:Me(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[pe===0?(H(),K(xe,{key:0},[nt("Σ "+ce(s(B.value))+" groups",1)],64)):ae.key==="population"?(H(),K(xe,{key:1},[nt(ce(s(G.value)),1)],64)):Ce("",!0)],6))),128))],512),[[Xt,!W.value]])],8,My))}},nv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},rv=["aria-selected","disabled","title","data-tab","onClick"],sv=["data-chart"],av={class:"rd-ct"},lv={class:"rd-donutwrap"},iv=["aria-label"],cv=["d","fill","data-facet","data-key"],uv={class:"rd-legend"},dv=["data-facet","data-key","title"],fv={class:"rd-lt"},pv=["data-chart"],gv={class:"rd-ct"},hv={class:"rd-bars"},mv=["data-facet","data-key"],bv={class:"rd-bl"},_v={class:"rd-bt"},yv={class:"rd-bv"},vv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=ue("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,N])=>[w,N.get])),i=Yn(r,Kn(s));function c(w){var g,_;const N=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(E=>!w.includes(E)),f=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!f?N:N.filter(E=>y.every($=>{const O=l[$];return O?O(E)===a[$]:!0})&&i(E))}const u=le(()=>{var y,f,g,_,E;const w=(f=(y=s.facets)==null?void 0:y.country_code)==null?void 0:f.get,N=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!N?null:sy(((E=n==null?void 0:n.rows)==null?void 0:E.value)||[],w,N)}),p=le(()=>(s.charts||[]).map(w=>{var g,_;const N=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(E=>Qe(E[w.facet])),y=Ca(c([w.facet]),N,w.topN),f=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?ly(y,w.facet,f):ay(y,132,.58,w.facet,f)}})),m=(w,N)=>a[w]===N,v=w=>a[w]!=null;function P(w,N){!N||N==="Other"||!r||r.setFilter(w,a[w]===N?null:N)}function x(w){const N=w.target&&w.target.closest&&w.target.closest("[data-facet]");N&&P(N.getAttribute("data-facet"),N.getAttribute("data-key"))}return Et(` +`,"rd-datatable"),(S,Z)=>(V(),Y("div",{class:"rd-table-wrap","data-sel-count":oe.value},[I("div",{class:"rd-table-bar","data-collapsed":K.value?"1":"0"},[I("button",{class:"rd-dock",title:K.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":K.value?"false":"true",onClick:re},ue(K.value?"▴":"▾"),9,jy),Z[0]||(Z[0]=I("span",{class:"ttl"},"People Groups",-1)),I("span",zy,ue(s(U.value))+" "+ue(U.value===1?"group":"groups"),1),oe.value?(V(),Y("span",Uy,[I("span",null,ue(s(oe.value))+" selected",1),I("button",{title:"Clear selection","aria-label":"Clear selection",onClick:T},"✕")])):Ce("",!0),oe.value?(V(),Y(xe,{key:1},[I("button",{class:Me(["rd-vtog",{on:p.value}]),"data-only-selected":"","aria-pressed":p.value?"true":"false",title:"Show only the selected people groups",onClick:_},"Only selected",10,By),I("button",{class:Me(["rd-vtog",{on:g.value}]),"data-selected-first":"","aria-pressed":g.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:E},"Selected first",10,Gy)],64)):Ce("",!0),Z[1]||(Z[1]=I("span",{class:"rd-bar-sp"},null,-1)),F.value?(V(),Y("span",qy,ue(F.value),1)):Ce("",!0),I("span",{class:Me(["rd-csv",{busy:j.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":j.value?"true":"false",title:oe.value?`Export the ${oe.value} selected people groups — all fields`:`Export these ${s(U.value)} people groups — all fields`,onClick:ne,onMouseenter:O,onFocus:O,onKeydown:[Ir(Qo(ne,["prevent"]),["enter"]),Ir(Qo(ne,["prevent"]),["space"])]},[nt(ue(j.value?"…":"↓")+" Export CSV",1),oe.value?(V(),Y("span",Hy,ue(oe.value),1)):Ce("",!0)],42,Vy)],8,Dy),Ft(I("div",{ref_key:"scroller",ref:J,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":x.value.map(ae=>ae.key+":"+ae.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:me,onClick:Be,onMousedown:ze},[I("div",Ky,[I("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Te.value?"Deselect all "+s(U.value):"Select all "+s(U.value),onClick:b},[I("input",{type:"checkbox",checked:Te.value,ref:q,"aria-label":Te.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,Xy)],8,Yy),(V(!0),Y(xe,null,We(a.value,ae=>(V(),Y("div",{key:ae.key,class:Me(["rd-th",{num:ae.type==="num"}]),style:it(l(ae)),title:`Sort this table by ${ae.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":P(ae),"data-col":ae.key,onClick:ge=>w(ae,ge)},[nt(ue(ae.label),1),I("span",Zy,ue(P(ae)==="ascending"?"▲":P(ae)==="descending"?"▼":""),1)],14,Jy))),128))]),I("div",{style:it({height:A.value+"px"})},null,4),(V(!0),Y(xe,null,We(H.value,(ae,ge)=>(V(),Y("div",{key:ae.slug,class:Me(["rd-row",{sel:W.value>=0&&D(ae)}]),role:"row","data-slug":ae.slug,"aria-selected":D(ae)?"true":"false","aria-rowindex":G.value+ge+2},[I("div",ev,[I("input",{type:"checkbox",class:"rd-rowchk",checked:D(ae),"aria-label":"Select "+ae.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,tv)]),(V(!0),Y(xe,null,We(a.value,_e=>(V(),Y("div",{key:_e.key,class:Me(["rd-td",{num:_e.type==="num"}]),style:it(l(_e)),role:"gridcell"},ue(_e.type==="num"?s(_e.get(ae)):_e.get(ae)),7))),128))],10,Qy))),128)),I("div",{style:it({height:N.value+"px"})},null,4)],40,Wy),[[Xt,!K.value]]),Ft(I("div",ov,[Z[2]||(Z[2]=I("div",{class:"rd-td chk"},null,-1)),(V(!0),Y(xe,null,We(a.value,(ae,ge)=>(V(),Y("div",{key:"f-"+ae.key,class:Me(["rd-td",{num:ae.type==="num"}]),style:it(l(ae))},[ge===0?(V(),Y(xe,{key:0},[nt("Σ "+ue(s(U.value))+" groups",1)],64)):ae.key==="population"?(V(),Y(xe,{key:1},[nt(ue(s(B.value)),1)],64)):Ce("",!0)],6))),128))],512),[[Xt,!K.value]])],8,Oy))}},rv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},sv=["aria-selected","disabled","title","data-tab","onClick"],av=["data-chart"],lv={class:"rd-ct"},iv={class:"rd-donutwrap"},cv=["aria-label"],uv=["d","fill","data-facet","data-key"],dv={class:"rd-legend"},fv=["data-facet","data-key","title"],pv={class:"rd-lt"},gv=["data-chart"],hv={class:"rd-ct"},mv={class:"rd-bars"},bv=["data-facet","data-key"],_v={class:"rd-bl"},yv={class:"rd-bt"},vv={class:"rd-bv"},xv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],o=de("charts"),n=Le("dashboardData",null),r=Le("selectionBus",null),s=Le("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},l=Object.fromEntries(Object.entries(s.facets||{}).map(([w,P])=>[w,P.get])),i=Yn(r,Kn(s));function c(w){var g,_;const P=((g=n==null?void 0:n.rows)==null?void 0:g.value)||[],y=Object.keys(a).filter(E=>!w.includes(E)),p=!!(((_=r==null?void 0:r.searchTerm)==null?void 0:_.value)||"").trim();return!y.length&&!p?P:P.filter(E=>y.every($=>{const M=l[$];return M?M(E)===a[$]:!0})&&i(E))}const u=le(()=>{var y,p,g,_,E;const w=(p=(y=s.facets)==null?void 0:y.country_code)==null?void 0:p.get,P=(_=(g=s.facets)==null?void 0:g.wagf_region)==null?void 0:_.get;return!w||!P?null:sy(((E=n==null?void 0:n.rows)==null?void 0:E.value)||[],w,P)}),f=le(()=>(s.charts||[]).map(w=>{var g,_;const P=((_=(g=s.facets)==null?void 0:g[w.facet])==null?void 0:_.get)||(E=>Qe(E[w.facet])),y=Ca(c([w.facet]),P,w.topN),p=w.facet==="country_code"?u.value:null;return{id:w.id,type:w.type,facet:w.facet,title:w.title,geometry:w.type==="bar"?ly(y,w.facet,p):ay(y,132,.58,w.facet,p)}})),m=(w,P)=>a[w]===P,v=w=>a[w]!=null;function L(w,P){!P||P==="Other"||!r||r.setFilter(w,a[w]===P?null:P)}function x(w){const P=w.target&&w.target.closest&&w.target.closest("[data-facet]");P&&L(P.getAttribute("data-facet"),P.getAttribute("data-key"))}return Et(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -576,7 +578,7 @@ .rd-bt{ flex:1 1 auto; height:11px; background:var(--dx-surface, #f3f3f1); border-radius:3px; overflow:hidden; } .rd-bf{ display:block; height:100%; border-radius:3px; transition:width .35s cubic-bezier(.4,0,.2,1); } .rd-bv{ flex:0 0 auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; min-width:30px; text-align:right; } -`,"rd-charts"),(w,N)=>(H(),K("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[I("div",nv,[(H(),K(xe,null,He(t,y=>I("button",{key:y.id,class:Me(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:Qo(f=>!y.disabled&&(o.value=y.id),["stop"])},ce(y.label),11,rv)),64))]),(H(!0),K(xe,null,He(p.value,y=>(H(),K(xe,{key:y.id},[y.type==="donut"?(H(),K("div",{key:0,class:"rd-chart","data-chart":y.facet},[I("div",av,ce(y.title),1),I("div",lv,[(H(),K("svg",{class:Me(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(H(!0),K(xe,null,He(y.geometry,f=>(H(),K("path",{key:f.key,d:f.path,fill:f.color,class:Me(["rd-slice",{on:m(y.facet,f.key)}]),"data-facet":y.facet,"data-key":f.key},[I("title",null,ce(f.key)+": "+ce(f.value)+" ("+ce(f.pct)+"%)",1)],10,cv))),128))],10,iv)),I("div",uv,[(H(!0),K(xe,null,He(y.geometry,f=>(H(),K("span",{key:f.key,class:Me(["rd-li",{on:m(y.facet,f.key)}]),"data-facet":y.facet,"data-key":f.key,title:f.key+": "+f.value},[I("i",{style:it({background:f.color})},null,4),I("span",fv,ce(f.key),1),I("b",null,ce(f.value),1)],10,dv))),128))])])],8,sv)):(H(),K("div",{key:1,class:"rd-chart","data-chart":y.facet},[I("div",gv,ce(y.title),1),I("div",hv,[(H(!0),K(xe,null,He(y.geometry,f=>(H(),K("div",{key:f.key,class:Me(["rd-bar",{on:m(y.facet,f.key)}]),"data-facet":y.facet,"data-key":f.key},[I("span",bv,ce(f.key),1),I("span",_v,[I("span",{class:"rd-bf",style:it({width:f.frac*100+"%",background:f.color})},null,4)]),I("span",yv,ce(f.value),1)],10,mv))),128))])],8,pv))],64))),128))]))}},xv={class:"rd-detail","data-region":"detail-drawer"},wv={class:"rd-dh"},kv={key:0,class:"rd-empty","data-detail-empty":""},$v={class:"rd-top"},Sv=["src","alt"],Ev={key:1,class:"rd-ph","data-detail-thumb":""},Av={class:"rd-name","data-detail-name":""},Cv={class:"rd-meta"},Tv={class:"rd-actions"},Lv=["href","title"],Pv=["href","title"],Nv={class:"rd-rows"},Iv={class:"rd-row"},Fv={class:"v"},Rv={key:0,class:"fam"},Mv={class:"rd-row"},Ov={class:"v"},Dv={class:"rd-row"},jv={class:"v"},zv={class:"rd-row"},Uv={class:"v"},Bv={class:"rd-row"},Gv={class:"v"},qv={class:"rd-row"},Vv={class:"v"},Hv={__name:"DashboardDetailDrawer",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=ue(null),i=[];xt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Ht(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),p=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,E){if(typeof g=="function")try{return g(_)||E}catch{return E}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):E}const P=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),E=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${E}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var A;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((A=window.location)==null?void 0:A.origin)||"https://doxa.life",E=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(E||m.value.utmSource||n.utmSource||"agwm")),O=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,O)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),N=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function f(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return Et(` +`,"rd-charts"),(w,P)=>(V(),Y("aside",{class:"rd-charts","data-region":"charts-rail",onClick:x},[I("div",rv,[(V(),Y(xe,null,We(t,y=>I("button",{key:y.id,class:Me(["rd-tab",{on:o.value===y.id,off:y.disabled}]),role:"tab",type:"button","aria-selected":o.value===y.id?"true":"false",disabled:y.disabled,title:y.disabled?y.why:y.label,"data-tab":y.id,onClick:Qo(p=>!y.disabled&&(o.value=y.id),["stop"])},ue(y.label),11,sv)),64))]),(V(!0),Y(xe,null,We(f.value,y=>(V(),Y(xe,{key:y.id},[y.type==="donut"?(V(),Y("div",{key:0,class:"rd-chart","data-chart":y.facet},[I("div",lv,ue(y.title),1),I("div",iv,[(V(),Y("svg",{class:Me(["rd-donut",{"has-sel":v(y.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":y.title+" donut"},[(V(!0),Y(xe,null,We(y.geometry,p=>(V(),Y("path",{key:p.key,d:p.path,fill:p.color,class:Me(["rd-slice",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[I("title",null,ue(p.key)+": "+ue(p.value)+" ("+ue(p.pct)+"%)",1)],10,uv))),128))],10,cv)),I("div",dv,[(V(!0),Y(xe,null,We(y.geometry,p=>(V(),Y("span",{key:p.key,class:Me(["rd-li",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key,title:p.key+": "+p.value},[I("i",{style:it({background:p.color})},null,4),I("span",pv,ue(p.key),1),I("b",null,ue(p.value),1)],10,fv))),128))])])],8,av)):(V(),Y("div",{key:1,class:"rd-chart","data-chart":y.facet},[I("div",hv,ue(y.title),1),I("div",mv,[(V(!0),Y(xe,null,We(y.geometry,p=>(V(),Y("div",{key:p.key,class:Me(["rd-bar",{on:m(y.facet,p.key)}]),"data-facet":y.facet,"data-key":p.key},[I("span",_v,ue(p.key),1),I("span",yv,[I("span",{class:"rd-bf",style:it({width:p.frac*100+"%",background:p.color})},null,4)]),I("span",vv,ue(p.value),1)],10,bv))),128))])],8,gv))],64))),128))]))}},wv={class:"rd-detail","data-region":"detail-drawer"},kv={class:"rd-dh"},$v={key:0,class:"rd-empty","data-detail-empty":""},Sv={class:"rd-top"},Ev=["src","alt"],Av={key:1,class:"rd-ph","data-detail-thumb":""},Cv={class:"rd-name","data-detail-name":""},Tv={class:"rd-meta"},Lv={class:"rd-actions"},Pv=["href","title"],Nv=["href","title"],Iv={class:"rd-rows"},Fv={class:"rd-row"},Rv={class:"v"},Mv={key:0,class:"fam"},Ov={class:"rd-row"},Dv={class:"v"},jv={class:"rd-row"},zv={class:"v"},Uv={class:"rd-row"},Bv={class:"v"},Gv={class:"rd-row"},qv={class:"v"},Vv={class:"rd-row"},Hv={class:"v"},Wv={__name:"DashboardDetailDrawer",setup(e){const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("dashboardConfig",{}),r=Object.fromEntries(Object.entries(n.facets||{}).map(([g,_])=>[g,_.get])),{labelFor:s}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),a=t&&o?ka({rowStore:t.rowStore,rows:t.rows,selectionSet:o.selectionSet,filterSet:o.filterSet,FACET_ACC:r,labelFor:s}):null,l=de(null),i=[];xt(()=>{o&&(i.push(o.on("focusRow",g=>{g&&g.slug&&(l.value=g.slug)})),i.push(o.on("select",g=>{const _=g?[...g]:[];_.length&&(l.value=_[_.length-1])})))}),Ht(()=>{i.forEach(g=>{try{g()}catch{}}),i.length=0});const c=le(()=>{const g=l.value;return!g||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(g)||null}),u=g=>g==null||g===""?"—":Number(g).toLocaleString("en-US"),f=le(()=>{const g=c.value;return g?n.detail&&typeof n.detail.photo=="function"?!!n.detail.photo(g):!!(g.has_photo&&g.image_url):!1}),m=le(()=>n.detail||{});function v(g,_,E){if(typeof g=="function")try{return g(_)||E}catch{return E}return typeof g=="string"&&g?g.replace("{slug}",encodeURIComponent(_.slug||"")):E}const L=le(()=>{const g=c.value;if(!g)return null;const _=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),E=encodeURIComponent(String(_||m.value.utmSource||n.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(g.slug||"")}?source=doxalife&utm_source=${E}`;return v(m.value.prayUrl,g,$)}),x=le(()=>{var C;const g=c.value;if(!g)return null;const _=typeof window<"u"&&((C=window.location)==null?void 0:C.origin)||"https://doxa.life",E=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(E||m.value.utmSource||n.utmSource||"agwm")),M=`${_}/research/${encodeURIComponent(g.slug||"")}/?utm_source=${$}`;return v(m.value.moreInfoUrl,g,M)}),w=le(()=>m.value.prayLabel||"Pray for this people group"),P=le(()=>m.value.moreInfoLabel||"More information");function y(){!a||!o||(!o.selectionSet.size&&l.value&&o.toggleSelect(l.value),a.exportCsv())}function p(){l.value=null,o&&typeof o.clearSelection=="function"&&o.clearSelection()}return Et(` .rd-detail{ box-sizing:border-box; background:var(--rd-panel,#fff); border-left:1px solid var(--rd-line, #d1d4cd); border-bottom:1px solid var(--rd-line, #d1d4cd); padding:var(--s3,12px); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--rd-ink, #3b463d); flex:0 0 auto; } @@ -615,7 +617,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(g,_)=>(H(),K("section",xv,[I("div",wv,[_[0]||(_[0]=I("span",null,"Detail",-1)),c.value?(H(),K("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:f},"✕")):Ce("",!0)]),c.value?(H(),K(xe,{key:1},[I("div",$v,[p.value?(H(),K("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Sv)):(H(),K("div",Ev,"No photo")),I("div",null,[I("div",Av,ce(c.value.name||"—"),1),I("div",Cv,ce(he(Qe)(c.value.country_code)||"—")+" · "+ce(he(Qe)(c.value.religion)||"—"),1)])]),I("div",Tv,[P.value?(H(),K("a",{key:0,class:"rd-act rd-act-pray",href:P.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),I("span",null,ce(w.value),1)],8,Lv)):Ce("",!0),x.value?(H(),K("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:N.value,"data-detail-moreinfo":""},[_[2]||(_[2]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),I("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("span",null,ce(N.value),1)],8,Pv)):Ce("",!0)]),I("div",Nv,[I("div",Iv,[_[3]||(_[3]=I("span",{class:"k"},"Language",-1)),I("span",Fv,[nt(ce(he(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(H(),K("span",Rv," ("+ce(c.value.imb_language_family)+")",1)):Ce("",!0)])]),I("div",Mv,[_[4]||(_[4]=I("span",{class:"k"},"Population",-1)),I("span",Ov,ce(u(c.value.population)),1)]),I("div",Dv,[_[5]||(_[5]=I("span",{class:"k"},"People praying",-1)),I("span",jv,ce(u(c.value.people_praying)),1)]),I("div",zv,[_[6]||(_[6]=I("span",{class:"k"},"People committed",-1)),I("span",Uv,ce(u(c.value.people_committed)),1)]),I("div",Bv,[_[7]||(_[7]=I("span",{class:"k"},"Adopted by churches",-1)),I("span",Gv,ce(u(c.value.adopted_by_churches)),1)]),I("div",qv,[_[8]||(_[8]=I("span",{class:"k"},"Engagement",-1)),I("span",Vv,ce(he(Qe)(c.value.engagement_status)||"—"),1)])]),I("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(H(),K("div",kv,"Select a people group to see detail"))]))}},Wv="rgba(120, 128, 134, 0.28)",wu="36px",ku=()=>{};function Kv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return ku;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return ku;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Wv} ${wu}, transparent ${wu})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const p=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(p,250))},v=()=>m(),P=y=>{if(!(y.touches&&y.touches.length===1))return;const f=y.target;f&&f.classList&&f.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",P,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const N=[];for(const y of n){const f=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},E=()=>{c=!1,a(y)};y.addEventListener("mouseenter",f),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",E,{passive:!0}),N.push(()=>{y.removeEventListener("mouseenter",f),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",E)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",P),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const f of N)f();for(const f of n)a(f)}}const Yv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function Xv(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Yv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function $u(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Jv=pn.mapbox.css,Zv="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Qv(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function ex(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function tx(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:Zv}const ox=85.0511,Su=-2,nx=0,rx=-60;function Eu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function sx(e,t,o,n){if(!e||e<=0||!t||t<=0)return nx;const r=Math.log2(e/512),s=Eu(n)-Eu(ox),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Su,Math.min(l,(o??18)-1))}function ax({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:m=!0,southCutoff:v=rx,maxBounds:P=void 0}){const x=wn(null),w=ue(!1);let N=null,y=null,f=null;const g=r==="maplibre";async function _(){var z;const O=Xv(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Qv(r);const A=Ta(r);if(!A){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await ex(e.value,g?pn.maplibre.css:Jv),await new Promise(Q=>requestAnimationFrame(Q));const U=e.value,X=U.clientWidth,re=U.clientHeight;if(X===0||re===0){console.error(`[useMapInstance] Container has ZERO dimensions (${X}×${re}). Map will be invisible. Check that parent elements have CSS sizing.`);let Q=U.parentElement,se=0;for(;Q&&se<5;)Q=Q.parentElement,se++}const me=t;g||(A.accessToken=me);const q=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(Q,se)=>{if(!q())return Su;const te=sx(Q,se,i,v);return typeof l=="number"?Math.max(l,te):te},C=Y(U.clientWidth,U.clientHeight);if(g){x.value=new A.Map({container:e.value,style:tx(O),center:s,zoom:a,minZoom:C,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...P?{maxBounds:P}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),$u(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const Q=typeof n=="function"?n():n;x.value=new A.Map({accessToken:me,container:e.value,style:O,...Q?{config:Q}:{},center:s,zoom:a,minZoom:C,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...P?{maxBounds:P}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),$u(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let Q=!1;x.value.on("error",se=>{var ge,Ae;const te=((ge=se==null?void 0:se.error)==null?void 0:ge.status)??(se==null?void 0:se.status),de=String(((Ae=se==null?void 0:se.error)==null?void 0:Ae.url)||(se==null?void 0:se.sourceId)||"");te!==401&&te!==403||Q||(Q=!0,console.error(`[doxa-maps] Mapbox returned ${te} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(de?` First failing request: ${de.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}f=Kv(((z=e.value)==null?void 0:z.parentElement)||null,{enabled:m});let T=C,M=null;N=()=>{const Q=x.value;if(!Q)return;const se=Y(U.clientWidth,U.clientHeight);se!==T&&(T=se,Q.setMinZoom(se)),Q.getZoom(){M=null;const te=x.value;if(!te)return;const de=Y(U.clientWidth,U.clientHeight);if(te.getZoom(){M&&(clearTimeout(M),M=null)},x.value.on("resize",N),typeof window<"u"&&(window.addEventListener("resize",N),window.addEventListener("orientationchange",N)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var Q;(Q=x.value)==null||Q.resize(),x.value&&x.value.setMinZoom(Y(U.clientWidth,U.clientHeight)),w.value=!0})})}function E(){if(x.value){if(N&&(x.value.off("resize",N),typeof window<"u"&&(window.removeEventListener("resize",N),window.removeEventListener("orientationchange",N)),N=null),y){try{y()}catch{}y=null}f&&(f(),f=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:E}}const lx={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function ix(e){return lx[e]||null}const gn={center:[20,10],zoom:1.8};function cx(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(q,Y,C={x:150,y:0}){const T=t();if(!T)return q;try{const M=T.getCanvas(),z=M.width,Q=M.height,se=T.project(q),te=window.devicePixelRatio||1,de=(C.x||0)*te,ge=(C.y||0)*te,Ae={x:se.x-de,y:se.y-ge},ye=T.unproject(Ae);return[ye.lng,ye.lat]}catch{return q}}function c(q,Y=[]){const C=t();if(!C)return;let T=null,M=5;const z=Y.filter(se=>se.languageFamily===q);if(z.length>0){let se=1/0,te=-1/0,de=1/0,ge=-1/0;if(z.forEach(Ae=>{Ae.longitude&&Ae.latitude&&(se=Math.min(se,Ae.longitude),te=Math.max(te,Ae.longitude),de=Math.min(de,Ae.latitude),ge=Math.max(ge,Ae.latitude))}),se!==1/0){T=[(se+te)/2,(de+ge)/2];const Ae=te-se,ye=ge-de,Te=Math.max(Ae,ye);Te>50?M=2:Te>20?M=3:Te>10?M=4:Te>5?M=5:M=6}}if(!T)return;const Q=i(T);C.flyTo({center:Q,zoom:M,...l})}function u(q){const Y=t();if(!Y)return;let C=null,T=4;const M=ix(q);if(M)C=M.center,T=M.zoom||4;else if(r!=null&&r.features){const Q=r.features.find(se=>{var te,de;return((te=se.properties)==null?void 0:te.region)===q||((de=se.properties)==null?void 0:de.name)===q});Q&&(C=p(Q))}if(!C)return;const z=i(C);Y.flyTo({center:z,zoom:T,...l})}function p(q){if(!q||!q.geometry)return null;const{type:Y,coordinates:C}=q.geometry;let T=[];if(Y==="Polygon"?T=C[0]||[]:Y==="MultiPolygon"&&C.forEach(Q=>{T=T.concat(Q[0]||[])}),T.length===0)return null;let M=0,z=0;return T.forEach(Q=>{M+=Q[0],z+=Q[1]}),[M/T.length,z/T.length]}function m(q,Y={}){const C=t();if(!C)return;const T={center:q,...l,...Y};C.flyTo(T)}function v(q,Y){const C=t();if(!C||(q==null?void 0:q.longitude)==null||(q==null?void 0:q.latitude)==null)return;const T=Y??Math.min(C.getZoom()+2,8);m([q.longitude,q.latitude],{zoom:T})}function P(q,Y={top:40,right:40,bottom:40,left:40},C={}){const T=t();if(!T||!q)return;const M=C.maxZoom??4,z=C.duration??900;T.fitBounds(q,{padding:Y,maxZoom:M,duration:z,...l,...C})}function x(){const q=t();q&&q.flyTo({center:s,zoom:a,...l})}const w=80,N=800,y=5,f=5,g=110,_=1.2;function E(q){const Y=q.filter(Number.isFinite).slice().sort((b,L)=>b-L),C=Y.length;if(!C)return null;let T=-1,M=0;for(let b=0;bT&&(T=k,M=b)}const z=(M+1)%C,Q=new Array(C);for(let b=0;b0&&L((b+180)%360+360)%360-180,ye=Ae(de),Te=24,Ke=360/Te,ze=new Array(Te).fill(0);for(const b of Y){let L=Math.floor(((b+180)%360+360)%360/Ke);L>=Te&&(L=Te-1),ze[L]++}let Re=0;for(let b=1;bze[Re]&&(Re=b);return{center:Ae(-180+(Re+.5)*Ke),minLng:ye,maxLng:ye+(ge-de),span:ge-de}}function $(q){try{const Y=q.getContainer&&q.getContainer().clientWidth||0,C=Y>0?Math.log2(Y/512):_,T=typeof q.getMinZoom=="function"?q.getMinZoom():C;return Math.max(T,C)}catch{return _}}function O(q,Y,C,T){q.easeTo({center:[Y,(C+T)/2],zoom:$(q),duration:N,essential:!0})}function A(q,Y,C){if(C>g)return!0;try{const T=typeof q.cameraForBounds=="function"?q.cameraForBounds(Y,{padding:w,maxZoom:y}):null;return T==null?!0:typeof T.zoom=="number"&&T.zoom<=$(q)+.05}catch{return!1}}function U(q,Y){if(!Array.isArray(q))return q;switch(q[0]){case"get":return Y==null?void 0:Y[q[1]];case"literal":return q[1];case"has":return Y!=null&&q[1]in Y;case"!has":return Y==null||!(q[1]in Y);case"!":return!U(q[1],Y);case"coalesce":{for(let T=1;T2){const z=Number(U(q[2],Y));return Number.isFinite(z)?z:0}return NaN}case"to-string":{const T=U(q[1],Y);return T==null?"":String(T)}case"to-boolean":return!!U(q[1],Y);case"slice":{const T=U(q[1],Y),M=U(q[2],Y),z=q.length>3?U(q[3],Y):void 0;return typeof T!="string"?"":z!=null?T.slice(M,z):T.slice(M)}default:return q}}function X(q,Y){if(q===!0)return!0;if(q===!1)return!1;if(!Array.isArray(q))return!!q;const C=q[0];if(C==="all"){for(let T=1;T"||C===">="||C==="<"||C==="<="){const T=typeof q[1]=="string"?Y==null?void 0:Y[q[1]]:U(q[1],Y),M=U(q[2],Y);switch(C){case"==":return T===M||T==null&&M==null;case"!=":return!(T===M||T==null&&M==null);case">":return T>M;case">=":return T>=M;case"<":return T{const V=(k==null?void 0:k.properties)||{};return V.region===b||V.name===b||V.id===b});if(L){const k=[];let V=1/0,W=-1/0;const ne=B=>{for(const d of B)Array.isArray(d[0])?ne(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]W&&(W=d[1]))};(ze=L.geometry)!=null&&ze.coordinates&&ne(L.geometry.coordinates);const G=E(k);if(G&&Number.isFinite(V)){const B=[[G.minLng,V],[G.maxLng,W]];A(C,B,G.span)?O(C,G.center,V,W):C.fitBounds(B,{padding:w,maxZoom:y,duration:N,essential:!0});return}}}const T=Y.sourceId??"language-families";if(!C.getSource(T))return;const M=Y.matchExpr??q.filter;if(!M)return;const z=re(C,T);if(!z.length)return;const Q=[];let se=1/0,te=-1/0,de=0,ge=0,Ae=0;const ye=new Set;for(const et of z){const b=et==null?void 0:et.properties;if(!X(M,b))continue;const L=b==null?void 0:b.uniqueId;if(L!=null){if(ye.has(L))continue;ye.add(L)}const k=(Re=et.geometry)==null?void 0:Re.coordinates;if(!Array.isArray(k)||k.length<2)continue;const V=k[0],W=k[1];!Number.isFinite(V)||!Number.isFinite(W)||(de===0&&(ge=V,Ae=W),Q.push(V),Wte&&(te=W),de++)}if(de===0)return;if(de===1){C.flyTo({center:[ge,Ae],zoom:f,duration:N,essential:!0});return}const Te=E(Q)||{center:0,minLng:0,maxLng:0,span:0},Ke=[[Te.minLng,se],[Te.maxLng,te]];if(A(C,Ke,Te.span)){O(C,Te.center,se,te);return}try{C.fitBounds(Ke,{padding:w,maxZoom:y,duration:N,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:P,resetView:x,zoomToLegendRow:me,calculateRegionCenterFromPolygon:p}}const ux=150,dx=1200,fx=70,px=5.5,gx=6,Au=.01,hx=110,mx=1.45;function bx(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function _x(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function yx(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function vx(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=_x(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=yx(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=vx(e.selectionSet,o&&o());if(!c)return;const u=bx()?0:dx;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:gx,duration:u,essential:!0});return}if(c.span>hx){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:mx,duration:u,essential:!0});return}n.fitBounds(c.bounds,fx,{maxZoom:px,duration:u,essential:!0})}catch{}}const l=gt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,ux)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const wx={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return no("mapToolbar",{el:t}),Et(` +`,"rd-detaildrawer"),(g,_)=>(V(),Y("section",wv,[I("div",kv,[_[0]||(_[0]=I("span",null,"Detail",-1)),c.value?(V(),Y("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:p},"✕")):Ce("",!0)]),c.value?(V(),Y(xe,{key:1},[I("div",Sv,[f.value?(V(),Y("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Ev)):(V(),Y("div",Av,"No photo")),I("div",null,[I("div",Cv,ue(c.value.name||"—"),1),I("div",Tv,ue(he(Qe)(c.value.country_code)||"—")+" · "+ue(he(Qe)(c.value.religion)||"—"),1)])]),I("div",Lv,[L.value?(V(),Y("a",{key:0,class:"rd-act rd-act-pray",href:L.value,target:"_blank",rel:"noopener",title:w.value,"data-detail-pray":""},[_[1]||(_[1]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),I("span",null,ue(w.value),1)],8,Pv)):Ce("",!0),x.value?(V(),Y("a",{key:1,class:"rd-act rd-act-info",href:x.value,target:"_blank",rel:"noopener",title:P.value,"data-detail-moreinfo":""},[_[2]||(_[2]=I("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[I("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),I("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),I("span",null,ue(P.value),1)],8,Nv)):Ce("",!0)]),I("div",Iv,[I("div",Fv,[_[3]||(_[3]=I("span",{class:"k"},"Language",-1)),I("span",Rv,[nt(ue(he(Qe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(V(),Y("span",Mv," ("+ue(c.value.imb_language_family)+")",1)):Ce("",!0)])]),I("div",Ov,[_[4]||(_[4]=I("span",{class:"k"},"Population",-1)),I("span",Dv,ue(u(c.value.population)),1)]),I("div",jv,[_[5]||(_[5]=I("span",{class:"k"},"People praying",-1)),I("span",zv,ue(u(c.value.people_praying)),1)]),I("div",Uv,[_[6]||(_[6]=I("span",{class:"k"},"People committed",-1)),I("span",Bv,ue(u(c.value.people_committed)),1)]),I("div",Gv,[_[7]||(_[7]=I("span",{class:"k"},"Adopted by churches",-1)),I("span",qv,ue(u(c.value.adopted_by_churches)),1)]),I("div",Vv,[_[8]||(_[8]=I("span",{class:"k"},"Engagement",-1)),I("span",Hv,ue(he(Qe)(c.value.engagement_status)||"—"),1)])]),I("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:y},"Export this selection ↓")],64)):(V(),Y("div",$v,"Select a people group to see detail"))]))}},Kv="rgba(120, 128, 134, 0.28)",wu="36px",ku=()=>{};function Yv(e,t={}){const{enabled:o=!0}=t;if(!o||!e)return ku;const n=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!n.length)return ku;const r=y=>y.classList.contains("map-scroll-edge--left");for(const y of n)y.style.background=`linear-gradient(${r(y)?"to right":"to left"}, ${Kv} ${wu}, transparent ${wu})`,y.style.opacity="0",y.style.transition="opacity 0.16s ease",y.style.userSelect="none",y.style.webkitUserSelect="none";const s=y=>{y.style.opacity="1"},a=y=>{y.style.opacity="0"},l=()=>n.find(y=>!r(y))||null,i=new Set;let c=!1,u=null;const f=()=>{for(const y of n)i.has(y)||a(y)},m=()=>{const y=l();y&&(s(y),u&&clearTimeout(u),u=setTimeout(f,250))},v=()=>m(),L=y=>{if(!(y.touches&&y.touches.length===1))return;const p=y.target;p&&p.classList&&p.classList.contains("map-scroll-edge")||m()},x=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",v,{passive:!0}),e.addEventListener("touchmove",L,{passive:!0}),e.addEventListener("touchend",x,{passive:!0}),e.addEventListener("touchcancel",x,{passive:!0});const w=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",w,{passive:!0});const P=[];for(const y of n){const p=()=>{i.add(y),s(y)},g=()=>{i.delete(y),a(y)},_=()=>{c=!0,s(y)},E=()=>{c=!1,a(y)};y.addEventListener("mouseenter",p),y.addEventListener("mouseleave",g),y.addEventListener("touchstart",_,{passive:!0}),y.addEventListener("touchend",E,{passive:!0}),P.push(()=>{y.removeEventListener("mouseenter",p),y.removeEventListener("mouseleave",g),y.removeEventListener("touchstart",_),y.removeEventListener("touchend",E)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",v),e.removeEventListener("touchmove",L),e.removeEventListener("touchend",x),e.removeEventListener("touchcancel",x),typeof window<"u"&&window.removeEventListener("scroll",w);for(const p of P)p();for(const p of n)a(p)}}const Xv=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function Jv(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const o=Xv[e];return o?t==="maplibre"?{style:o.maplibre,lightPreset:void 0}:{style:o.mapbox,lightPreset:o.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const pn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function $u(e){if(typeof window>"u")return;const t=window,o=()=>{try{const n=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");n&&(n.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",o),o();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Zv=pn.mapbox.css,Qv="https://tiles.openfreemap.org/styles/liberty";function Ta(e){var o;const t=((o=pn[e])==null?void 0:o.global)||pn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function ex(e){const t=pn[e]||pn.mapbox;if(Ta(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const n=document.createElement("link");n.rel="stylesheet",n.href=t.css,document.head.appendChild(n)}const o=document.querySelector(`script[src="${t.js}"]`);if(o){if(Ta(e))return;await new Promise(n=>{o.addEventListener("load",n,{once:!0}),o.addEventListener("error",n,{once:!0})});return}await new Promise((n,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",n,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function tx(e,t){const o=e.getRootNode();if(!(o instanceof ShadowRoot))return;const n=a=>new Promise(l=>setTimeout(l,a)),r=o.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),n(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),o.prepend(s)}),n(2e3)])}function ox(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:Qv}const nx=85.0511,Su=-2,rx=0,sx=-60;function Eu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function ax(e,t,o,n){if(!e||e<=0||!t||t<=0)return rx;const r=Math.log2(e/512),s=Eu(n)-Eu(nx),a=Math.log2(t/(512*s)),l=Math.max(r,a);return Math.max(Su,Math.min(l,(o??18)-1))}function lx({containerRef:e,accessToken:t,style:o,config:n=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:l=void 0,maxZoom:i=18,pitch:c=0,bearing:u=0,renderWorldCopies:f=!0,showEdgeBorders:m=!0,southCutoff:v=sx,maxBounds:L=void 0}){const x=wn(null),w=de(!1);let P=null,y=null,p=null;const g=r==="maplibre";async function _(){var oe;const M=Jv(o,r).style||o;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await ex(r);const C=Ta(r);if(!C){console.error(`[useMapInstance] ${g?"maplibregl":"mapboxgl"} is not available. Add the ${g?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!g){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await tx(e.value,g?pn.maplibre.css:Zv),await new Promise(D=>requestAnimationFrame(D));const z=e.value,J=z.clientWidth,se=z.clientHeight;if(J===0||se===0){console.error(`[useMapInstance] Container has ZERO dimensions (${J}×${se}). Map will be invisible. Check that parent elements have CSS sizing.`);let D=z.parentElement,W=0;for(;D&&W<5;)D=D.parentElement,W++}const me=t;g||(C.accessToken=me);const G=()=>typeof window<"u"&&window.innerWidth>=1024,ee=(D,W)=>{if(!G())return Su;const X=ax(D,W,i,v);return typeof l=="number"?Math.max(l,X):X},H=ee(z.clientWidth,z.clientHeight);if(g){x.value=new C.Map({container:e.value,style:ox(M),center:s,zoom:a,minZoom:H,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:f,...L?{maxBounds:L}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),$u(x.value);try{e.value.__doxaMap=x.value}catch{}}else{const D=typeof n=="function"?n():n;x.value=new C.Map({accessToken:me,container:e.value,style:M,...D?{config:D}:{},center:s,zoom:a,minZoom:H,maxZoom:i,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:f,...L?{maxBounds:L}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),$u(x.value);try{e.value.__doxaMap=x.value}catch{}}try{let D=!1;x.value.on("error",W=>{var pe,$e;const X=((pe=W==null?void 0:W.error)==null?void 0:pe.status)??(W==null?void 0:W.status),ie=String((($e=W==null?void 0:W.error)==null?void 0:$e.url)||(W==null?void 0:W.sourceId)||"");X!==401&&X!==403||D||(D=!0,console.error(`[doxa-maps] Mapbox returned ${X} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ie?` First failing request: ${ie.slice(0,120)}`:"")))})}catch{}try{x.value.touchZoomRotate.disableRotation()}catch{}p=Yv(((oe=e.value)==null?void 0:oe.parentElement)||null,{enabled:m});let A=H,N=null;P=()=>{const D=x.value;if(!D)return;const W=ee(z.clientWidth,z.clientHeight);W!==A&&(A=W,D.setMinZoom(W)),D.getZoom(){N=null;const X=x.value;if(!X)return;const ie=ee(z.clientWidth,z.clientHeight);if(X.getZoom(){N&&(clearTimeout(N),N=null)},x.value.on("resize",P),typeof window<"u"&&(window.addEventListener("resize",P),window.addEventListener("orientationchange",P)),x.value.on("style.load",()=>{requestAnimationFrame(()=>{var D;(D=x.value)==null||D.resize(),x.value&&x.value.setMinZoom(ee(z.clientWidth,z.clientHeight)),w.value=!0})})}function E(){if(x.value){if(P&&(x.value.off("resize",P),typeof window<"u"&&(window.removeEventListener("resize",P),window.removeEventListener("orientationchange",P)),P=null),y){try{y()}catch{}y=null}p&&(p(),p=null),x.value.remove(),x.value=null,w.value=!1}}return{map:x,isMapReady:w,initializeMap:_,destroy:E}}const ix={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function cx(e){return ix[e]||null}const gn={center:[20,10],zoom:1.8};function ux(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:r=null,defaultCenter:s=(gn==null?void 0:gn.center)||[20,10],defaultZoom:a=gn==null?void 0:gn.zoom}=e,l={speed:.5,essential:!0,curve:1.2};function i(G,ee,H={x:150,y:0}){const A=t();if(!A)return G;try{const N=A.getCanvas(),oe=N.width,D=N.height,W=A.project(G),X=window.devicePixelRatio||1,ie=(H.x||0)*X,pe=(H.y||0)*X,$e={x:W.x-ie,y:W.y-pe},Ie=A.unproject($e);return[Ie.lng,Ie.lat]}catch{return G}}function c(G,ee=[]){const H=t();if(!H)return;let A=null,N=5;const oe=ee.filter(W=>W.languageFamily===G);if(oe.length>0){let W=1/0,X=-1/0,ie=1/0,pe=-1/0;if(oe.forEach($e=>{$e.longitude&&$e.latitude&&(W=Math.min(W,$e.longitude),X=Math.max(X,$e.longitude),ie=Math.min(ie,$e.latitude),pe=Math.max(pe,$e.latitude))}),W!==1/0){A=[(W+X)/2,(ie+pe)/2];const $e=X-W,Ie=pe-ie,be=Math.max($e,Ie);be>50?N=2:be>20?N=3:be>10?N=4:be>5?N=5:N=6}}if(!A)return;const D=i(A);H.flyTo({center:D,zoom:N,...l})}function u(G){const ee=t();if(!ee)return;let H=null,A=4;const N=cx(G);if(N)H=N.center,A=N.zoom||4;else if(r!=null&&r.features){const D=r.features.find(W=>{var X,ie;return((X=W.properties)==null?void 0:X.region)===G||((ie=W.properties)==null?void 0:ie.name)===G});D&&(H=f(D))}if(!H)return;const oe=i(H);ee.flyTo({center:oe,zoom:A,...l})}function f(G){if(!G||!G.geometry)return null;const{type:ee,coordinates:H}=G.geometry;let A=[];if(ee==="Polygon"?A=H[0]||[]:ee==="MultiPolygon"&&H.forEach(D=>{A=A.concat(D[0]||[])}),A.length===0)return null;let N=0,oe=0;return A.forEach(D=>{N+=D[0],oe+=D[1]}),[N/A.length,oe/A.length]}function m(G,ee={}){const H=t();if(!H)return;const A={center:G,...l,...ee};H.flyTo(A)}function v(G,ee){const H=t();if(!H||(G==null?void 0:G.longitude)==null||(G==null?void 0:G.latitude)==null)return;const A=ee??Math.min(H.getZoom()+2,8);m([G.longitude,G.latitude],{zoom:A})}function L(G,ee={top:40,right:40,bottom:40,left:40},H={}){const A=t();if(!A||!G)return;const N=H.maxZoom??4,oe=H.duration??900;A.fitBounds(G,{padding:ee,maxZoom:N,duration:oe,...l,...H})}function x(){const G=t();G&&G.flyTo({center:s,zoom:a,...l})}const w=80,P=800,y=5,p=5,g=110,_=1.2;function E(G){const ee=G.filter(Number.isFinite).slice().sort((b,T)=>b-T),H=ee.length;if(!H)return null;let A=-1,N=0;for(let b=0;bA&&(A=k,N=b)}const oe=(N+1)%H,D=new Array(H);for(let b=0;b0&&T((b+180)%360+360)%360-180,Ie=$e(ie),be=24,Be=360/be,ze=new Array(be).fill(0);for(const b of ee){let T=Math.floor(((b+180)%360+360)%360/Be);T>=be&&(T=be-1),ze[T]++}let Te=0;for(let b=1;bze[Te]&&(Te=b);return{center:$e(-180+(Te+.5)*Be),minLng:Ie,maxLng:Ie+(pe-ie),span:pe-ie}}function $(G){try{const ee=G.getContainer&&G.getContainer().clientWidth||0,H=ee>0?Math.log2(ee/512):_,A=typeof G.getMinZoom=="function"?G.getMinZoom():H;return Math.max(A,H)}catch{return _}}function M(G,ee,H,A){G.easeTo({center:[ee,(H+A)/2],zoom:$(G),duration:P,essential:!0})}function C(G,ee,H){if(H>g)return!0;try{const A=typeof G.cameraForBounds=="function"?G.cameraForBounds(ee,{padding:w,maxZoom:y}):null;return A==null?!0:typeof A.zoom=="number"&&A.zoom<=$(G)+.05}catch{return!1}}function z(G,ee){if(!Array.isArray(G))return G;switch(G[0]){case"get":return ee==null?void 0:ee[G[1]];case"literal":return G[1];case"has":return ee!=null&&G[1]in ee;case"!has":return ee==null||!(G[1]in ee);case"!":return!z(G[1],ee);case"coalesce":{for(let A=1;A2){const oe=Number(z(G[2],ee));return Number.isFinite(oe)?oe:0}return NaN}case"to-string":{const A=z(G[1],ee);return A==null?"":String(A)}case"to-boolean":return!!z(G[1],ee);case"slice":{const A=z(G[1],ee),N=z(G[2],ee),oe=G.length>3?z(G[3],ee):void 0;return typeof A!="string"?"":oe!=null?A.slice(N,oe):A.slice(N)}default:return G}}function J(G,ee){if(G===!0)return!0;if(G===!1)return!1;if(!Array.isArray(G))return!!G;const H=G[0];if(H==="all"){for(let A=1;A"||H===">="||H==="<"||H==="<="){const A=typeof G[1]=="string"?ee==null?void 0:ee[G[1]]:z(G[1],ee),N=z(G[2],ee);switch(H){case"==":return A===N||A==null&&N==null;case"!=":return!(A===N||A==null&&N==null);case">":return A>N;case">=":return A>=N;case"<":return A{const q=(k==null?void 0:k.properties)||{};return q.region===b||q.name===b||q.id===b});if(T){const k=[];let q=1/0,K=-1/0;const re=U=>{for(const d of U)Array.isArray(d[0])?re(d):Number.isFinite(d[0])&&Number.isFinite(d[1])&&(k.push(d[0]),d[1]K&&(K=d[1]))};(ze=T.geometry)!=null&&ze.coordinates&&re(T.geometry.coordinates);const B=E(k);if(B&&Number.isFinite(q)){const U=[[B.minLng,q],[B.maxLng,K]];C(H,U,B.span)?M(H,B.center,q,K):H.fitBounds(U,{padding:w,maxZoom:y,duration:P,essential:!0});return}}}const A=ee.sourceId??"language-families";if(!H.getSource(A))return;const N=ee.matchExpr??G.filter;if(!N)return;const oe=se(H,A);if(!oe.length)return;const D=[];let W=1/0,X=-1/0,ie=0,pe=0,$e=0;const Ie=new Set;for(const et of oe){const b=et==null?void 0:et.properties;if(!J(N,b))continue;const T=b==null?void 0:b.uniqueId;if(T!=null){if(Ie.has(T))continue;Ie.add(T)}const k=(Te=et.geometry)==null?void 0:Te.coordinates;if(!Array.isArray(k)||k.length<2)continue;const q=k[0],K=k[1];!Number.isFinite(q)||!Number.isFinite(K)||(ie===0&&(pe=q,$e=K),D.push(q),KX&&(X=K),ie++)}if(ie===0)return;if(ie===1){H.flyTo({center:[pe,$e],zoom:p,duration:P,essential:!0});return}const be=E(D)||{center:0,minLng:0,maxLng:0,span:0},Be=[[be.minLng,W],[be.maxLng,X]];if(C(H,Be,be.span)){M(H,be.center,W,X);return}try{H.fitBounds(Be,{padding:w,maxZoom:y,duration:P,essential:!0})}catch{}}return{getOffsetCenter:i,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:m,flyToCoords:v,fitBounds:L,resetView:x,zoomToLegendRow:me,calculateRegionCenterFromPolygon:f}}const dx=150,fx=1200,px=70,gx=5.5,hx=6,Au=.01,mx=110,bx=1.45;function _x(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function yx(e){if(!e)return null;const t=Number(e.longitude),o=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(o)||t===0&&o===0||o<-90||o>90||t<-180||t>180?null:[t,o]}function vx(e){let t=1/0,o=-1/0,n=1/0,r=-1/0;for(const l of e){lo&&(o=l);const i=l<0?l+360:l;ir&&(r=i)}if(!Number.isFinite(t))return null;const s=o-t,a=r-n;if(a180?n-360:n;return{minLng:l,maxLng:l+a,span:a}}return{minLng:t,maxLng:o,span:s}}function xx(e,t){if(!e||!e.size||!t)return null;const o=[];let n=1/0,r=-1/0,s=null,a=0;for(const i of e){const c=yx(t.get(i));c&&(a===0&&(s=c),o.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const l=vx(o);return l?l.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=xx(e.selectionSet,o&&o());if(!c)return;const u=_x()?0:fx;try{if(c.kind==="point"){n.flyTo(c.center,{zoom:hx,duration:u,essential:!0});return}if(c.span>mx){n.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:bx,duration:u,essential:!0});return}n.fitBounds(c.bounds,px,{maxZoom:gx,duration:u,essential:!0})}catch{}}const l=gt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,dx)});return function(){s&&(clearTimeout(s),s=null);try{l()}catch{}}}const kx={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=de(null);return no("mapToolbar",{el:t}),Et(` .map-toolbar { position: absolute; top: 6px; @@ -632,7 +634,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(o,n)=>(H(),K("div",{ref_key:"toolbarEl",ref:t,class:Me(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Mo(o.$slots,"default")],2))}},kx={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=sn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(H(),xo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomIn"),onClick:n},{default:yo(()=>[...s[0]||(s[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},$x={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=sn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(H(),xo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomOut"),onClick:n},{default:yo(()=>[...s[0]||(s[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Sx=["data-projection"],Ex={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Cu=2,Ax="prayer_level",Cx=.1,Tx=12,Lx={__name:"DashboardMapPanel",setup(e){var Zn,Qn,Lu,Pu,Nu,Iu,Fu,Ru,Mu;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",ue("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([R,Z])=>[R,Z.get])),l=Yn(o,Kn(r)),i=le(()=>{var _e,$e;const R=((_e=t==null?void 0:t.rows)==null?void 0:_e.value)||[],Z=Object.keys(s),ie=!!((($e=o==null?void 0:o.searchTerm)==null?void 0:$e.value)||"").trim();return!Z.length&&!ie?R:R.filter(Oe=>Z.every(Fe=>{const ve=a[Fe];return ve?ve(Oe)===s[Fe]:!0})&&l(Oe))}),c=((Zn=r.map)==null?void 0:Zn.geoFacet)||"country_code",u=((Lu=(Qn=r.facets)==null?void 0:Qn[c])==null?void 0:Lu.geoIso)||(R=>{const Z=R[c];return Z&&Z.value?Z.value:null}),p=a[c]||(R=>Qe(R[c])),m=le(()=>{var Z;const R=new Map;for(const ie of((Z=t==null?void 0:t.rows)==null?void 0:Z.value)||[]){const _e=u(ie);_e&&R.set(_e,p(ie)||_e)}return R}),v=le(()=>{const R=new Map;for(const Z of i.value){const ie=u(Z);ie&&R.set(ie,(R.get(ie)||0)+1)}return R}),P=ue(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:N,initializeMap:y,destroy:f}=ax({containerRef:P,accessToken:he(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Pu=r.map)!=null&&Pu.mapStyle||r.mapStyle?{style:((Nu=r.map)==null?void 0:Nu.mapStyle)||r.mapStyle}:{}}),g=cx({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=xx({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>N.value});let E=!1,$=null,O=null,A=null,U=0,X=!1;function re(){X||U||(U=requestAnimationFrame(()=>{U=0;const R=w.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function me(R){const Z=!!R;if(Z!==X){if(X=Z,X){U&&(cancelAnimationFrame(U),U=0);return}re(),setTimeout(re,180)}}const q=["#f6beb3","#ef9d8e","#e57a6c","#da544a","#cd2027"],Y={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function C(R,Z){return Number.isFinite(Z)?Z-1<=R?`${R}`:`${R}–${Z-1}`:`${R}+ · heartbeat zone`}function T(R){const ie=Y.binThresholds.map(_e=>_e/Y.heartbeatThreshold).map(_e=>Math.max(Cu,Math.round(_e*R)));return M(ie,R)}function M(R,Z){const ie=[];for(const _e of R){const $e=Math.max(_e,ie.length?ie[ie.length-1]+1:Cu);$eFe>0).sort((Fe,ve)=>Fe-ve);if(ie.length<8)return null;const _e=Fe=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Fe*ie.length)))],$e=_e(1-Z)+1,Oe=[.25,.5,.75].map(Fe=>_e(Fe));return{threshold:$e,edges:M(Oe,$e)}}function Q(R){var Fe;if(Array.isArray((Fe=r.map)==null?void 0:Fe.bins)&&r.map.bins.length)return r.map.bins;const Z=r.map||{};let ie=Number(Z.heartbeatThreshold)>0?Number(Z.heartbeatThreshold):Y.heartbeatThreshold,_e=null;if(Z.heartbeatMode==="quantile"){const ve=z(R||[],Number(Z.heartbeatQuantile)>0?Number(Z.heartbeatQuantile):Y.quantile);ve&&(ie=ve.threshold,_e=ve.edges)}_e||(_e=Array.isArray(Z.binThresholds)&&Z.binThresholds.length?[...new Set(Z.binThresholds.map(Number).filter(ve=>Number.isFinite(ve)&&ve>0&&veve-dt):Number(Z.heartbeatThreshold)>0?T(ie):Y.binThresholds);const $e=[..._e,ie,1/0].slice(0,q.length);for(;$e.length{const jt={upTo:ve,c:q[dt],l:C(Oe,ve)};return Oe=ve,jt})}const se=le(()=>Q([...v.value.values()])),te=((Iu=r.map)==null?void 0:Iu.noDataColor)||"#f3f3f1";function de(R){if(!R)return te;const Z=se.value;for(const ie of Z)if(Rse.value.map(R=>({c:R.c,l:R.l}))),Ae=((Fu=r.map)==null?void 0:Fu.selectedColor)||"#1a237e";function ye(){const R=v.value,Z=[],ie=[];R.forEach((Fe,ve)=>{Z.push(ve,de(Fe)),ie.push(ve)});const _e=Z.length?["match",["get","iso_3166_1_alpha_3"],...Z,te]:te,Oe=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Fe=>[Fe,.92]),.12]:.78;return{fillColor:_e,fillOpacity:Oe}}function Te(){return Object.prototype.hasOwnProperty.call(s,Ax)}const Ke=((Ru=r.map)==null?void 0:Ru.pinColor)||"#ef6c00",ze=((Mu=r.map)==null?void 0:Mu.pinStrokeColor)||"#ffffff";function Re(){return Te()?Vr({colorSource:"properties"}):Ke}function et(){const R=w.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:Z,fillOpacity:ie}=ye();R.setPaintProperty("rd-choropleth","fill-color",Z),R.setPaintProperty("rd-choropleth","fill-opacity",ie);const _e=R.getSource("rd-bubbles");_e&&_e.setData(L()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",Re())}function b(R){const Z=R==null?void 0:R.people_praying,ie=Z&&typeof Z=="object"?Z.value:Z;return Number(ie)||0}function L(){return{type:"FeatureCollection",features:i.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:b(R)}}))}}function k(){var ie;const R=o==null?void 0:o.selectionSet,Z=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Z.filter(_e=>R.has(_e.slug)&&Number(_e.latitude)&&Number(_e.longitude)).map(_e=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(_e.longitude),Number(_e.latitude)]},properties:{slug:_e.slug||"",name:_e.name||""}}))}}function V(){const R=w.value;if(!R)return;const Z=R.getSource("rd-bubble-selected");Z&&Z.setData(k())}function W(){var _e;const R=w.value;if(!R||E)return;E=!0,R.getSource("rd-countries")||R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Z,fillOpacity:ie}=ye();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Z,"fill-opacity":ie,"fill-outline-color":((_e=r.map)==null?void 0:_e.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:L()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":Re(),"circle-opacity":1,"circle-stroke-color":ze,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:k()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ae,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ae,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",ne),R.on("click","rd-bubble-layer",G),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=($e,Oe)=>{const Fe=R.project([$e,Oe]),ve=R.queryRenderedFeatures(Fe,{layers:["rd-choropleth"]});return ve&&ve[0]?(ne({features:ve}),ve[0].properties&&ve[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=($e,Oe)=>{const Fe=R.project([$e,Oe]),ve=R.queryRenderedFeatures([[Fe.x-7,Fe.y-7],[Fe.x+7,Fe.y+7]],{layers:["rd-bubble-layer"]});return ve&&ve[0]?(G({features:[ve[0]]}),ve[0].properties&&ve[0].properties.slug):null}}catch{}ae(),o&&o.on("select",V),V(),o&&o.on("focusRow",({slug:$e}={})=>{var ve;if(!$e)return;const Oe=(((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[]).find(dt=>dt.slug===$e),Fe=w.value;if(Fe&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Fe.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function ne(R){const Z=w.value;if(Z&&R.point){const Oe=Z.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ie=R.features&&R.features[0];if(!ie||!o)return;const _e=ie.properties&&ie.properties.iso_3166_1_alpha_3,$e=m.value.get(_e);$e&&(o.setFilter(c,s[c]===$e?null:$e),o.emit("mapFocus",{facet:c,value:$e}))}function G(R){const Z=R.features&&R.features[0];if(!Z||!o)return;const ie=Z.properties&&Z.properties.slug;ie&&(o.toggleSelect(ie),o.emit("focusRow",{slug:ie,name:Z.properties&&Z.properties.name}))}function B(R){var ie;let Z=R&&R.parentNode;for(;Z;){if(Z.nodeType===1){const _e=getComputedStyle(Z);if(/auto|scroll/.test(_e.overflowY)&&Z.scrollHeight>Z.clientHeight+4)return Z}if(Z=Z.parentElement||((ie=Z.parentNode)==null?void 0:ie.host)||(Z.parentNode!==Z?Z.parentNode:null),Z&&Z.nodeType===9)break}return null}function d(R){if(!(!R||!R.scrollZoom))try{const ie=document.documentElement.scrollHeight>window.innerHeight+4,_e=R.getContainer&&R.getContainer()||null,$e=_e?!!B(_e):!1;ie||$e?R.scrollZoom.disable():R.scrollZoom.enable()}catch{}}xt(async()=>{await y();const R=w.value;if(!R)return;R.isStyleLoaded()?W():R.on("load",W),d(R);const Z=()=>d(R);let ie=null;try{ie=new ResizeObserver(Z);const _e=R.getContainer&&R.getContainer()||null;_e&&ie.observe(_e);const $e=_e?B(_e):null;$e&&ie.observe($e),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",Z),Ht(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",Z)}),R.on("zoom",j),R.on("zoomend",j),R.on("resize",j),j(),R.on("idle",()=>{!E&&R.isStyleLoaded()&&W()}),typeof ResizeObserver<"u"&&P.value&&($=new ResizeObserver(re),$.observe(P.value)),S(),R.on("idle",S),R.on("resize",S),o&&typeof o.on=="function"&&(O=o.on("toggleTable",()=>{re(),setTimeout(re,280)}),A=o.on("layoutResizing",me))}),Ht(()=>{try{_&&_()}catch{}_=null;try{O&&O()}catch{}O=null;try{A&&A()}catch{}if(A=null,$){try{$.disconnect()}catch{}$=null}if(oe){try{oe.disconnect()}catch{}oe=null}D=null,U&&(cancelAnimationFrame(U),U=0);try{const R=w.value;R&&(R.off("zoom",j),R.off("zoomend",j),R.off("resize",j),R.off("idle",S),R.off("resize",S))}catch{}try{f&&f()}catch{}}),gt([i,N],et);const h=ue(!0),F=ue(!0);function j(){const R=w.value;if(!R)return;const Z=R.getZoom();h.value=ZR.getMinZoom()+.01}const ee=ue(null);let oe=null,D=null;function S(){var _e;const R=ee.value;if(!R)return;let Z=0;try{const $e=(_e=R.getRootNode)==null?void 0:_e.call(R),Oe=$e&&$e.querySelector?$e.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Fe=Oe.getBoundingClientRect(),ve=R.getBoundingClientRect();if(Z=Math.max(Fe.height||0,ve.bottom-Fe.top),D!==Oe&&typeof ResizeObserver<"u"){if(oe)try{oe.disconnect()}catch{}D=Oe,oe=new ResizeObserver(S),oe.observe(Oe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(Z)||20,20),72);R.style.setProperty("--rd-attrib-clear",ie+"px")}const J=ue("globe");function ae(){const R=w.value;if(R)try{R.setProjection(J.value)}catch{}}function pe(){J.value=J.value==="globe"?"mercator":"globe",ae()}function be(R){const Z=Number(R.longitude),ie=Number(R.latitude);return!Number.isFinite(Z)||!Number.isFinite(ie)||Z===0&&ie===0||ie<-90||ie>90||Z<-180||Z>180?null:[Z,ie]}function Ie(R,Z){if(!R.length)return NaN;const ie=Math.min(R.length-1,Math.max(0,Math.round(Z*(R.length-1))));return R[ie]}function Je(R){const Z=R.slice().sort((ve,dt)=>ve-dt),ie=Z.length;if(ie<2)return Z;let _e=-1,$e=0;for(let ve=0;ve_e&&(_e=jt,$e=ve)}const Oe=($e+1)%ie,Fe=new Array(ie);for(let ve=0;ve0&&dtUo[1]).sort((Uo,Xr)=>Uo-Xr),_e=Je(Z.map(Uo=>Uo[0])),$e=Z.length>=Tx?Cx:0,Oe=Ie(ie,$e),Fe=Ie(ie,1-$e),ve=Ie(_e,$e),dt=Ie(_e,1-$e),jt=[Ie(_e,.5),Ie(ie,.5)];return!(dt>ve)||!(Fe>Oe)?{bounds:[[jt[0],jt[1]],[jt[0],jt[1]]],center:jt}:{bounds:[[ve,Oe],[dt,Fe]],center:jt}}function Ze(){const R=w.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Z=st(i.value);if(Z)try{R.fitBounds(Z.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(Z.center)}catch{}}let At=null;return gt(()=>JSON.stringify(s),()=>{clearTimeout(At),At=setTimeout(Ze,260)}),Et(` +`,"map-toolbar"),(o,n)=>(V(),Y("div",{ref_key:"toolbarEl",ref:t,class:Me(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Mo(o.$slots,"default")],2))}},$x={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=sn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomIn()}return(r,s)=>(V(),xo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomIn"),onClick:n},{default:yo(()=>[...s[0]||(s[0]=[I("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Sx={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=sn(),o=e;function n(){var r;o.disabled||(r=o.map)==null||r.zoomOut()}return(r,s)=>(V(),xo(Ea,{"is-dark":e.isDark,disabled:e.disabled,title:he(t)("buttons.zoomOut"),onClick:n},{default:yo(()=>[...s[0]||(s[0]=[I("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Ex=["data-projection"],Ax={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Cu=2,Cx="prayer_level",Tx=.1,Lx=12,Px={__name:"DashboardMapPanel",setup(e){var Zn,Qn,Lu,Pu,Nu,Iu,Fu,Ru,Mu;const t=Le("dashboardData",null),o=Le("selectionBus",null),n=Le("mapboxToken",de("")),r=Le("dashboardConfig",{}),s=(o==null?void 0:o.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([R,Q])=>[R,Q.get])),l=Yn(o,Kn(r)),i=le(()=>{var ye,Se;const R=((ye=t==null?void 0:t.rows)==null?void 0:ye.value)||[],Q=Object.keys(s),ce=!!(((Se=o==null?void 0:o.searchTerm)==null?void 0:Se.value)||"").trim();return!Q.length&&!ce?R:R.filter(Oe=>Q.every(Re=>{const ve=a[Re];return ve?ve(Oe)===s[Re]:!0})&&l(Oe))}),c=((Zn=r.map)==null?void 0:Zn.geoFacet)||"country_code",u=((Lu=(Qn=r.facets)==null?void 0:Qn[c])==null?void 0:Lu.geoIso)||(R=>{const Q=R[c];return Q&&Q.value?Q.value:null}),f=a[c]||(R=>Qe(R[c])),m=le(()=>{var Q;const R=new Map;for(const ce of((Q=t==null?void 0:t.rows)==null?void 0:Q.value)||[]){const ye=u(ce);ye&&R.set(ye,f(ce)||ye)}return R}),v=le(()=>{const R=new Map;for(const Q of i.value){const ce=u(Q);ce&&R.set(ce,(R.get(ce)||0)+1)}return R}),L=de(null),x=le(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:w,isMapReady:P,initializeMap:y,destroy:p}=lx({containerRef:L,accessToken:he(n)||n&&n.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:x.value,...(Pu=r.map)!=null&&Pu.mapStyle||r.mapStyle?{style:((Nu=r.map)==null?void 0:Nu.mapStyle)||r.mapStyle}:{}}),g=ux({getMap:()=>w.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let _=null;_=wx({bus:o,mapFly:g,getMap:()=>w.value,getRowStore:()=>{var R;return(R=t==null?void 0:t.rowStore)==null?void 0:R.value},isEnabled:()=>P.value});let E=!1,$=null,M=null,C=null,z=0,J=!1;function se(){J||z||(z=requestAnimationFrame(()=>{z=0;const R=w.value;if(R&&typeof R.resize=="function")try{R.resize()}catch{}}))}function me(R){const Q=!!R;if(Q!==J){if(J=Q,J){z&&(cancelAnimationFrame(z),z=0);return}se(),setTimeout(se,180)}}const G=["#f6beb3","#ef9d8e","#e57a6c","#da544a","#cd2027"],ee={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function H(R,Q){return Number.isFinite(Q)?Q-1<=R?`${R}`:`${R}–${Q-1}`:`${R}+ · heartbeat zone`}function A(R){const ce=ee.binThresholds.map(ye=>ye/ee.heartbeatThreshold).map(ye=>Math.max(Cu,Math.round(ye*R)));return N(ce,R)}function N(R,Q){const ce=[];for(const ye of R){const Se=Math.max(ye,ce.length?ce[ce.length-1]+1:Cu);SeRe>0).sort((Re,ve)=>Re-ve);if(ce.length<8)return null;const ye=Re=>ce[Math.min(ce.length-1,Math.max(0,Math.floor(Re*ce.length)))],Se=ye(1-Q)+1,Oe=[.25,.5,.75].map(Re=>ye(Re));return{threshold:Se,edges:N(Oe,Se)}}function D(R){var Re;if(Array.isArray((Re=r.map)==null?void 0:Re.bins)&&r.map.bins.length)return r.map.bins;const Q=r.map||{};let ce=Number(Q.heartbeatThreshold)>0?Number(Q.heartbeatThreshold):ee.heartbeatThreshold,ye=null;if(Q.heartbeatMode==="quantile"){const ve=oe(R||[],Number(Q.heartbeatQuantile)>0?Number(Q.heartbeatQuantile):ee.quantile);ve&&(ce=ve.threshold,ye=ve.edges)}ye||(ye=Array.isArray(Q.binThresholds)&&Q.binThresholds.length?[...new Set(Q.binThresholds.map(Number).filter(ve=>Number.isFinite(ve)&&ve>0&&veve-dt):Number(Q.heartbeatThreshold)>0?A(ce):ee.binThresholds);const Se=[...ye,ce,1/0].slice(0,G.length);for(;Se.length{const jt={upTo:ve,c:G[dt],l:H(Oe,ve)};return Oe=ve,jt})}const W=le(()=>D([...v.value.values()])),X=((Iu=r.map)==null?void 0:Iu.noDataColor)||"#f3f3f1";function ie(R){if(!R)return X;const Q=W.value;for(const ce of Q)if(RW.value.map(R=>({c:R.c,l:R.l}))),$e=((Fu=r.map)==null?void 0:Fu.selectedColor)||"#1a237e";function Ie(){const R=v.value,Q=[],ce=[];R.forEach((Re,ve)=>{Q.push(ve,ie(Re)),ce.push(ve)});const ye=Q.length?["match",["get","iso_3166_1_alpha_3"],...Q,X]:X,Oe=Object.keys(s).length>0&&ce.length?["match",["get","iso_3166_1_alpha_3"],...ce.flatMap(Re=>[Re,.92]),.12]:.78;return{fillColor:ye,fillOpacity:Oe}}function be(){return Object.prototype.hasOwnProperty.call(s,Cx)}const Be=((Ru=r.map)==null?void 0:Ru.pinColor)||"#ef6c00",ze=((Mu=r.map)==null?void 0:Mu.pinStrokeColor)||"#ffffff";function Te(){return be()?Vr({colorSource:"properties"}):Be}function et(){const R=w.value;if(!R||!R.getLayer("rd-choropleth"))return;const{fillColor:Q,fillOpacity:ce}=Ie();R.setPaintProperty("rd-choropleth","fill-color",Q),R.setPaintProperty("rd-choropleth","fill-opacity",ce);const ye=R.getSource("rd-bubbles");ye&&ye.setData(T()),R.getLayer("rd-bubble-layer")&&R.setPaintProperty("rd-bubble-layer","circle-color",Te())}function b(R){const Q=R==null?void 0:R.people_praying,ce=Q&&typeof Q=="object"?Q.value:Q;return Number(ce)||0}function T(){return{type:"FeatureCollection",features:i.value.filter(R=>Number(R.latitude)&&Number(R.longitude)).map(R=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(R.longitude),Number(R.latitude)]},properties:{pop:Number(R.population)||0,slug:R.slug||"",name:R.name||"",peoplePraying:b(R)}}))}}function k(){var ce;const R=o==null?void 0:o.selectionSet,Q=((ce=t==null?void 0:t.rows)==null?void 0:ce.value)||[];return!R||!R.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:Q.filter(ye=>R.has(ye.slug)&&Number(ye.latitude)&&Number(ye.longitude)).map(ye=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(ye.longitude),Number(ye.latitude)]},properties:{slug:ye.slug||"",name:ye.name||""}}))}}function q(){const R=w.value;if(!R)return;const Q=R.getSource("rd-bubble-selected");Q&&Q.setData(k())}function K(){var ye;const R=w.value;if(!R||E)return;E=!0,R.getSource("rd-countries")||R.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:Q,fillOpacity:ce}=Ie();R.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":Q,"fill-opacity":ce,"fill-outline-color":((ye=r.map)==null?void 0:ye.outlineColor)||"#6d766e"}}),R.addSource("rd-bubbles",{type:"geojson",data:T()}),R.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":Te(),"circle-opacity":1,"circle-stroke-color":ze,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),R.addSource("rd-bubble-selected",{type:"geojson",data:k()}),R.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":$e,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":$e,"circle-stroke-opacity":.95}}),R.on("click","rd-choropleth",re),R.on("click","rd-bubble-layer",B),R.on("mouseenter","rd-choropleth",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-choropleth",()=>{R.getCanvas().style.cursor=""}),R.on("mouseenter","rd-bubble-layer",()=>{R.getCanvas().style.cursor="pointer"}),R.on("mouseleave","rd-bubble-layer",()=>{R.getCanvas().style.cursor=""});try{window.__rdashMap=R,window.__rdashClickAt=(Se,Oe)=>{const Re=R.project([Se,Oe]),ve=R.queryRenderedFeatures(Re,{layers:["rd-choropleth"]});return ve&&ve[0]?(re({features:ve}),ve[0].properties&&ve[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(Se,Oe)=>{const Re=R.project([Se,Oe]),ve=R.queryRenderedFeatures([[Re.x-7,Re.y-7],[Re.x+7,Re.y+7]],{layers:["rd-bubble-layer"]});return ve&&ve[0]?(B({features:[ve[0]]}),ve[0].properties&&ve[0].properties.slug):null}}catch{}ae(),o&&o.on("select",q),q(),o&&o.on("focusRow",({slug:Se}={})=>{var ve;if(!Se)return;const Oe=(((ve=t==null?void 0:t.rows)==null?void 0:ve.value)||[]).find(dt=>dt.slug===Se),Re=w.value;if(Re&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Re.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function re(R){const Q=w.value;if(Q&&R.point){const Oe=Q.queryRenderedFeatures([[R.point.x-5,R.point.y-5],[R.point.x+5,R.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ce=R.features&&R.features[0];if(!ce||!o)return;const ye=ce.properties&&ce.properties.iso_3166_1_alpha_3,Se=m.value.get(ye);Se&&(o.setFilter(c,s[c]===Se?null:Se),o.emit("mapFocus",{facet:c,value:Se}))}function B(R){const Q=R.features&&R.features[0];if(!Q||!o)return;const ce=Q.properties&&Q.properties.slug;ce&&(o.toggleSelect(ce),o.emit("focusRow",{slug:ce,name:Q.properties&&Q.properties.name}))}function U(R){var ce;let Q=R&&R.parentNode;for(;Q;){if(Q.nodeType===1){const ye=getComputedStyle(Q);if(/auto|scroll/.test(ye.overflowY)&&Q.scrollHeight>Q.clientHeight+4)return Q}if(Q=Q.parentElement||((ce=Q.parentNode)==null?void 0:ce.host)||(Q.parentNode!==Q?Q.parentNode:null),Q&&Q.nodeType===9)break}return null}function d(R){if(!(!R||!R.scrollZoom))try{const ce=document.documentElement.scrollHeight>window.innerHeight+4,ye=R.getContainer&&R.getContainer()||null,Se=ye?!!U(ye):!1;ce||Se?R.scrollZoom.disable():R.scrollZoom.enable()}catch{}}xt(async()=>{await y();const R=w.value;if(!R)return;R.isStyleLoaded()?K():R.on("load",K),d(R);const Q=()=>d(R);let ce=null;try{ce=new ResizeObserver(Q);const ye=R.getContainer&&R.getContainer()||null;ye&&ce.observe(ye);const Se=ye?U(ye):null;Se&&ce.observe(Se),document.body&&ce.observe(document.body)}catch{}window.addEventListener("resize",Q),Ht(()=>{try{ce&&ce.disconnect()}catch{}window.removeEventListener("resize",Q)}),R.on("zoom",j),R.on("zoomend",j),R.on("resize",j),j(),R.on("idle",()=>{!E&&R.isStyleLoaded()&&K()}),typeof ResizeObserver<"u"&&L.value&&($=new ResizeObserver(se),$.observe(L.value)),S(),R.on("idle",S),R.on("resize",S),o&&typeof o.on=="function"&&(M=o.on("toggleTable",()=>{se(),setTimeout(se,280)}),C=o.on("layoutResizing",me))}),Ht(()=>{try{_&&_()}catch{}_=null;try{M&&M()}catch{}M=null;try{C&&C()}catch{}if(C=null,$){try{$.disconnect()}catch{}$=null}if(ne){try{ne.disconnect()}catch{}ne=null}O=null,z&&(cancelAnimationFrame(z),z=0);try{const R=w.value;R&&(R.off("zoom",j),R.off("zoomend",j),R.off("resize",j),R.off("idle",S),R.off("resize",S))}catch{}try{p&&p()}catch{}}),gt([i,P],et);const h=de(!0),F=de(!0);function j(){const R=w.value;if(!R)return;const Q=R.getZoom();h.value=QR.getMinZoom()+.01}const te=de(null);let ne=null,O=null;function S(){var ye;const R=te.value;if(!R)return;let Q=0;try{const Se=(ye=R.getRootNode)==null?void 0:ye.call(R),Oe=Se&&Se.querySelector?Se.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Re=Oe.getBoundingClientRect(),ve=R.getBoundingClientRect();if(Q=Math.max(Re.height||0,ve.bottom-Re.top),O!==Oe&&typeof ResizeObserver<"u"){if(ne)try{ne.disconnect()}catch{}O=Oe,ne=new ResizeObserver(S),ne.observe(Oe)}}}catch{}const ce=Math.min(Math.max(Math.ceil(Q)||20,20),72);R.style.setProperty("--rd-attrib-clear",ce+"px")}const Z=de("globe");function ae(){const R=w.value;if(R)try{R.setProjection(Z.value)}catch{}}function ge(){Z.value=Z.value==="globe"?"mercator":"globe",ae()}function _e(R){const Q=Number(R.longitude),ce=Number(R.latitude);return!Number.isFinite(Q)||!Number.isFinite(ce)||Q===0&&ce===0||ce<-90||ce>90||Q<-180||Q>180?null:[Q,ce]}function Fe(R,Q){if(!R.length)return NaN;const ce=Math.min(R.length-1,Math.max(0,Math.round(Q*(R.length-1))));return R[ce]}function Je(R){const Q=R.slice().sort((ve,dt)=>ve-dt),ce=Q.length;if(ce<2)return Q;let ye=-1,Se=0;for(let ve=0;veye&&(ye=jt,Se=ve)}const Oe=(Se+1)%ce,Re=new Array(ce);for(let ve=0;ve0&&dtUo[1]).sort((Uo,Xr)=>Uo-Xr),ye=Je(Q.map(Uo=>Uo[0])),Se=Q.length>=Lx?Tx:0,Oe=Fe(ce,Se),Re=Fe(ce,1-Se),ve=Fe(ye,Se),dt=Fe(ye,1-Se),jt=[Fe(ye,.5),Fe(ce,.5)];return!(dt>ve)||!(Re>Oe)?{bounds:[[jt[0],jt[1]],[jt[0],jt[1]]],center:jt}:{bounds:[[ve,Oe],[dt,Re]],center:jt}}function Ze(){const R=w.value;if(!R)return;if(!Object.keys(s).length){try{R.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const Q=st(i.value);if(Q)try{R.fitBounds(Q.bounds,{padding:70,duration:1200,maxZoom:5.5}),R.setCenter(Q.center)}catch{}}let At=null;return gt(()=>JSON.stringify(s),()=>{clearTimeout(At),At=setTimeout(Ze,260)}),Et(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -663,11 +665,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(R,Z)=>(H(),K("div",{ref_key:"mapWrap",ref:ee,class:"rd-mapwrap","data-sub":"map","data-projection":J.value},[I("div",{ref_key:"mapContainer",ref:P,class:"rd-mapc","data-map-canvas":""},null,512),Z[1]||(Z[1]=I("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Z[2]||(Z[2]=I("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Pe(wx,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:yo(()=>[Pe(kx,{map:he(w),disabled:!h.value},null,8,["map","disabled"]),Pe($x,{map:he(w),disabled:!F.value},null,8,["map","disabled"])]),_:1}),I("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:pe},ce(J.value==="globe"?"🌐 Globe":"▭ Flat"),1),Z[3]||(Z[3]=I("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),I("div",Ex,[Z[0]||(Z[0]=I("div",{class:"lg-h"},"UPGs / country",-1)),(H(!0),K(xe,null,He(ge.value,ie=>(H(),K("div",{key:ie.l,class:"lg-row"},[I("span",{class:"lg-sw",style:it({background:ie.c})},null,4),I("span",null,ce(ie.l),1)]))),128))])],8,Sx))}},Px=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",Nx=["data-active","aria-expanded"],Ix={class:"filter-dropdown__label"},Fx=["value","placeholder"],Rx={class:"filter-dropdown__options"},Mx={key:0,class:"filter-dropdown__no-options"},Ox=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],Dx={class:"filter-dropdown__count"},Jn=dn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=ue(!1),s=ue(""),a=ue(-1),l=ue(null),i=ue(null),c=ue(null),u=ue({});function p(A){const U=A.ownerDocument,X=U.createElement("div");X.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(A.parentElement||A.getRootNode().body||U.body).appendChild(X);const me=X.getBoundingClientRect();return X.remove(),{x:me.left,y:me.top}}function m(){const A=c.value;if(!A)return;const U=A.getBoundingClientRect(),X=window.innerWidth,re=window.innerHeight,me=320,q=4,Y=8,C=Math.round(Math.min(U.width,X-Y*2)),T=U.right>Y&&U.leftX-Y?M=Math.round(Math.max(U.right-C,Y)):M=Math.round(Math.max(U.left,Y)):M=Math.round(Math.min(Math.max(U.left,Y),X-C-Y));const z=re-U.bottom,Q=z<180&&U.top>z,se=p(A),te=Math.round(M-se.x);u.value=Q?{top:"auto",bottom:`${Math.round(re-U.top+q+se.y)}px`,left:`${te}px`,width:`${C}px`,maxHeight:`${Math.round(Math.min(me,U.top-q-Y))}px`}:{top:`${Math.round(U.bottom+q-se.y)}px`,bottom:"auto",left:`${te}px`,width:`${C}px`,maxHeight:`${Math.round(Math.min(me,z-q-Y))}px`}}function v(){r.value&&m()}const P=le(()=>{if(!s.value)return o.options;const A=s.value.toLowerCase();return o.options.filter(U=>U.label.toLowerCase().includes(A))}),x=le(()=>o.options.find(A=>A.value===o.value));function w(A){var X;const U=((X=A.composedPath)==null?void 0:X.call(A))??[];l.value&&!U.includes(l.value)&&f()}function N(){r.value?f():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var A;m(),(A=i.value)==null||A.focus()})}function f(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(A){s.value=A.target.value,a.value=-1}function _(A){const U=P.value;switch(A.key){case"ArrowDown":A.preventDefault(),a.value=Math.min(a.value+1,U.length-1),E();break;case"ArrowUp":A.preventDefault(),a.value=Math.max(a.value-1,0),E();break;case"Enter":{A.preventDefault();const X=U[a.value];X&&$(X);break}case"Escape":A.preventDefault(),f();break}}function E(){$n(()=>{var U;const A=(U=l.value)==null?void 0:U.querySelector(".filter-dropdown__option[data-highlighted]");A==null||A.scrollIntoView({block:"nearest"})})}function $(A){n("filter-change",{name:o.name,value:A.value,label:A.label,type:A.type}),f()}function O(){n("filter-clear",{name:o.name}),f()}return Ht(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(A,U)=>(H(),K("div",{ref_key:"rootRef",ref:l,class:Me(["filter-dropdown",{"is-open":r.value}])},[I("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:N},[I("span",Ix,[x.value?(H(),K(xe,{key:0},[nt(ce(e.label)+": ",1),I("strong",null,ce(x.value.label),1)],64)):(H(),K(xe,{key:1},[nt(ce(e.label),1)],64))]),U[0]||(U[0]=I("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Nx),r.value?(H(),K("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[I("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,Fx),e.value?(H(),K("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:O},"Clear selection")):Ce("",!0),I("div",Rx,[P.value.length===0?(H(),K("div",Mx,"No options found")):(H(!0),K(xe,{key:1},He(P.value,(X,re)=>(H(),K("div",{key:X.value,class:"filter-dropdown__option",role:"option","data-highlighted":re===a.value?"":void 0,"data-selected":X.value===e.value?"":void 0,"aria-selected":X.value===e.value,onClick:me=>$(X),onMouseenter:me=>a.value=re},[I("span",null,ce(X.label),1),I("span",Dx,ce(X.count),1)],40,Ox))),128))])],4)):Ce("",!0)],2))}},[["styles",[Px]]]),jx=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",zx={class:"sfh"},Ux={key:0,class:"sfh__search-row"},Bx=["aria-expanded"],Gx=["aria-label"],qx=["data-active","onClick"],Vx={class:"sfh__chip-strip"},Hx={class:"sfh__sel-label"},Wx=["aria-label","onClick"],Kx={key:1,class:"sfh__sel-world"},Yx=dn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=ue(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),p=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const f of o.filters){if(!f.value)continue;const g=(f.options||[]).find(_=>_.value===f.value);y.push({name:f.name,label:g?g.label:f.value})}for(const f of o.toggles)f.active&&y.push({name:f.name,label:f.label});return y});function m(y){const f=(y==null?void 0:y.value)??"";n("update:search",f),n("search",{value:f})}function v(y){n("filter-change",y)}function P(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function N(){n("clear-all")}return(y,f)=>(H(),K("div",zx,[s.value?(H(),K("div",Ux,[Pe(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(H(),K("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(ce(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),f[0]||(f[0]=I("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Bx)):Ce("",!0)])):Ce("",!0),a.value&&u.value?(H(),K("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(H(!0),K(xe,null,He(e.filters,g=>(H(),xo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:P},null,8,["label","name","options","value","placeholder"]))),128)),(H(!0),K(xe,null,He(e.toggles,g=>(H(),K("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},ce(g.label),9,qx))),128))],8,Gx)):Ce("",!0),a.value?(H(),K("div",{key:2,class:Me(["sfh__chips",{"is-empty":!p.value.length}])},[I("div",Vx,[I("span",Hx,ce(l.value.selected||"Selected"),1),p.value.length?(H(),K(xe,{key:0},[(H(!0),K(xe,null,He(p.value,g=>(H(),K("span",{key:g.name,class:"sfh__chip"},[nt(ce(g.label)+" ",1),I("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Wx)]))),128)),I("button",{class:"sfh__clear",type:"button",onClick:N},ce(l.value.clear_all),1)],64)):(H(),K("span",Kx,ce(l.value.world||"World"),1))])],2)):Ce("",!0)]))}},[["styles",[jx]]]),Xx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Yr="prayer_level",Jx={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const O=$==null?void 0:$.people_praying,A=O&&typeof O=="object"?O.value:O;return Vn[an({peoplePraying:A??null})]}},l=le(()=>({[Yr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,O])=>[$,O.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Yr,...$.filter(O=>O!==Yr)]}),p=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,O){const A=Object.keys($);return A.length?O.filter(U=>A.every(X=>{const re=i.value[X];return re?re(U)===$[X]:!0})):O}function v($){var me;const O=i.value[$];if(!O)return[];const A=(me=l.value[$])==null?void 0:me.optionLabel,U={};for(const[q,Y]of Object.entries(s))q!==$&&(U[q]=Y);const X=m(U,r.value),re=new Map;for(const q of X){const Y=O(q);if(Y==null||Y==="")continue;const C=re.get(Y);C?C.count+=1:re.set(Y,{label:A&&A(q)||Y,count:1})}return Array.from(re.entries()).map(([q,{label:Y,count:C}])=>({value:q,label:Y,count:C})).sort((q,Y)=>String(q.label).localeCompare(String(Y.label)))}const P=le(()=>u.value.map($=>{var O;return{name:$,label:((O=l.value[$])==null?void 0:O.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var A;const O=s[$];return{name:$,label:`${((A=l.value[$])==null?void 0:A.label)||$}: ${$===Yr?O:x($,O)}`}})),N=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function f($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function E(){t==null||t.clearFilters()}return Et(` +`,"rd-mappanel"),(R,Q)=>(V(),Y("div",{ref_key:"mapWrap",ref:te,class:"rd-mapwrap","data-sub":"map","data-projection":Z.value},[I("div",{ref_key:"mapContainer",ref:L,class:"rd-mapc","data-map-canvas":""},null,512),Q[1]||(Q[1]=I("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),Q[2]||(Q[2]=I("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Pe(kx,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:yo(()=>[Pe($x,{map:he(w),disabled:!h.value},null,8,["map","disabled"]),Pe(Sx,{map:he(w),disabled:!F.value},null,8,["map","disabled"])]),_:1}),I("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:ge},ue(Z.value==="globe"?"🌐 Globe":"▭ Flat"),1),Q[3]||(Q[3]=I("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),I("div",Ax,[Q[0]||(Q[0]=I("div",{class:"lg-h"},"UPGs / country",-1)),(V(!0),Y(xe,null,We(pe.value,ce=>(V(),Y("div",{key:ce.l,class:"lg-row"},[I("span",{class:"lg-sw",style:it({background:ce.c})},null,4),I("span",null,ue(ce.l),1)]))),128))])],8,Ex))}},Nx=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",Ix=["data-active","aria-expanded"],Fx={class:"filter-dropdown__label"},Rx=["value","placeholder"],Mx={class:"filter-dropdown__options"},Ox={key:0,class:"filter-dropdown__no-options"},Dx=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],jx={class:"filter-dropdown__count"},Jn=dn({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const o=e,n=t,r=de(!1),s=de(""),a=de(-1),l=de(null),i=de(null),c=de(null),u=de({});function f(C){const z=C.ownerDocument,J=z.createElement("div");J.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(C.parentElement||C.getRootNode().body||z.body).appendChild(J);const me=J.getBoundingClientRect();return J.remove(),{x:me.left,y:me.top}}function m(){const C=c.value;if(!C)return;const z=C.getBoundingClientRect(),J=window.innerWidth,se=window.innerHeight,me=320,G=4,ee=8,H=Math.round(Math.min(z.width,J-ee*2)),A=z.right>ee&&z.leftJ-ee?N=Math.round(Math.max(z.right-H,ee)):N=Math.round(Math.max(z.left,ee)):N=Math.round(Math.min(Math.max(z.left,ee),J-H-ee));const oe=se-z.bottom,D=oe<180&&z.top>oe,W=f(C),X=Math.round(N-W.x);u.value=D?{top:"auto",bottom:`${Math.round(se-z.top+G+W.y)}px`,left:`${X}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,z.top-G-ee))}px`}:{top:`${Math.round(z.bottom+G-W.y)}px`,bottom:"auto",left:`${X}px`,width:`${H}px`,maxHeight:`${Math.round(Math.min(me,oe-G-ee))}px`}}function v(){r.value&&m()}const L=le(()=>{if(!s.value)return o.options;const C=s.value.toLowerCase();return o.options.filter(z=>z.label.toLowerCase().includes(C))}),x=le(()=>o.options.find(C=>C.value===o.value));function w(C){var J;const z=((J=C.composedPath)==null?void 0:J.call(C))??[];l.value&&!z.includes(l.value)&&p()}function P(){r.value?p():y()}function y(){r.value=!0,s.value="",a.value=-1,m(),document.addEventListener("click",w),window.addEventListener("scroll",v,!0),window.addEventListener("resize",v),$n(()=>{var C;m(),(C=i.value)==null||C.focus()})}function p(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}function g(C){s.value=C.target.value,a.value=-1}function _(C){const z=L.value;switch(C.key){case"ArrowDown":C.preventDefault(),a.value=Math.min(a.value+1,z.length-1),E();break;case"ArrowUp":C.preventDefault(),a.value=Math.max(a.value-1,0),E();break;case"Enter":{C.preventDefault();const J=z[a.value];J&&$(J);break}case"Escape":C.preventDefault(),p();break}}function E(){$n(()=>{var z;const C=(z=l.value)==null?void 0:z.querySelector(".filter-dropdown__option[data-highlighted]");C==null||C.scrollIntoView({block:"nearest"})})}function $(C){n("filter-change",{name:o.name,value:C.value,label:C.label,type:C.type}),p()}function M(){n("filter-clear",{name:o.name}),p()}return Ht(()=>{document.removeEventListener("click",w),window.removeEventListener("scroll",v,!0),window.removeEventListener("resize",v)}),(C,z)=>(V(),Y("div",{ref_key:"rootRef",ref:l,class:Me(["filter-dropdown",{"is-open":r.value}])},[I("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:P},[I("span",Fx,[x.value?(V(),Y(xe,{key:0},[nt(ue(e.label)+": ",1),I("strong",null,ue(x.value.label),1)],64)):(V(),Y(xe,{key:1},[nt(ue(e.label),1)],64))]),z[0]||(z[0]=I("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Ix),r.value?(V(),Y("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:it(u.value)},[I("input",{ref_key:"searchInputRef",ref:i,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:g,onKeydown:_},null,40,Rx),e.value?(V(),Y("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):Ce("",!0),I("div",Mx,[L.value.length===0?(V(),Y("div",Ox,"No options found")):(V(!0),Y(xe,{key:1},We(L.value,(J,se)=>(V(),Y("div",{key:J.value,class:"filter-dropdown__option",role:"option","data-highlighted":se===a.value?"":void 0,"data-selected":J.value===e.value?"":void 0,"aria-selected":J.value===e.value,onClick:me=>$(J),onMouseenter:me=>a.value=se},[I("span",null,ue(J.label),1),I("span",jx,ue(J.count),1)],40,Dx))),128))])],4)):Ce("",!0)],2))}},[["styles",[Nx]]]),zx=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",Ux={class:"sfh"},Bx={key:0,class:"sfh__search-row"},Gx=["aria-expanded"],qx=["aria-label"],Vx=["data-active","onClick"],Hx={class:"sfh__chip-strip"},Wx={class:"sfh__sel-label"},Kx=["aria-label","onClick"],Yx={key:1,class:"sfh__sel-world"},Xx=dn({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const o=e,n=t,r=y=>!(y===!1||y==="false"||y==="0"||y===0),s=le(()=>r(o.showSearch)),a=le(()=>r(o.showFilters)),l=le(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...o.labels})),i=de(o.startExpanded||!o.collapsible);function c(){i.value=!i.value}const u=le(()=>!o.collapsible||!s.value||i.value),f=le(()=>{if(Array.isArray(o.activeChips))return o.activeChips;const y=[];for(const p of o.filters){if(!p.value)continue;const g=(p.options||[]).find(_=>_.value===p.value);y.push({name:p.name,label:g?g.label:p.value})}for(const p of o.toggles)p.active&&y.push({name:p.name,label:p.label});return y});function m(y){const p=(y==null?void 0:y.value)??"";n("update:search",p),n("search",{value:p})}function v(y){n("filter-change",y)}function L(y){n("filter-clear",y)}function x(y){n("toggle",{name:y.name,active:!y.active})}function w(y){n("remove-filter",{name:y})}function P(){n("clear-all")}return(y,p)=>(V(),Y("div",Ux,[s.value?(V(),Y("div",Bx,[Pe(Sa,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:m},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(V(),Y("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(ue(u.value?l.value.hide_filters:l.value.show_filters)+" ",1),p[0]||(p[0]=I("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,Gx)):Ce("",!0)])):Ce("",!0),a.value&&u.value?(V(),Y("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":l.value.filters},[(V(!0),Y(xe,null,We(e.filters,g=>(V(),xo(Jn,{key:g.name,class:"sfh__dd",label:g.label,name:g.name,options:g.options||[],value:g.value||"",placeholder:g.placeholder||l.value.type_to_search,onFilterChange:v,onFilterClear:L},null,8,["label","name","options","value","placeholder"]))),128)),(V(!0),Y(xe,null,We(e.toggles,g=>(V(),Y("button",{key:g.name,class:"sfh__pill",type:"button","data-active":g.active?"":void 0,onClick:_=>x(g)},ue(g.label),9,Vx))),128))],8,qx)):Ce("",!0),a.value?(V(),Y("div",{key:2,class:Me(["sfh__chips",{"is-empty":!f.value.length}])},[I("div",Hx,[I("span",Wx,ue(l.value.selected||"Selected"),1),f.value.length?(V(),Y(xe,{key:0},[(V(!0),Y(xe,null,We(f.value,g=>(V(),Y("span",{key:g.name,class:"sfh__chip"},[nt(ue(g.label)+" ",1),I("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${g.label}`,onClick:_=>w(g.name)},"×",8,Kx)]))),128)),I("button",{class:"sfh__clear",type:"button",onClick:P},ue(l.value.clear_all),1)],64)):(V(),Y("span",Yx,ue(l.value.world||"World"),1))])],2)):Ce("",!0)]))}},[["styles",[zx]]]),Jx={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},Yr="prayer_level",Zx={__name:"DashboardResearchFilters",setup(e){const t=Le("selectionBus",null),o=Le("dashboardData",null),n=Le("dashboardConfig",{}),r=le(()=>{var $;return(($=o==null?void 0:o.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,C=M&&typeof M=="object"?M.value:M;return Vn[an({peoplePraying:C??null})]}},l=le(()=>({[Yr]:a,...n.facets||{}})),i=le(()=>Object.fromEntries(Object.entries(l.value).map(([$,M])=>[$,M.get]))),c=le(()=>n.researchFilters||{}),u=le(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[Yr,...$.filter(M=>M!==Yr)]}),f=le(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function m($,M){const C=Object.keys($);return C.length?M.filter(z=>C.every(J=>{const se=i.value[J];return se?se(z)===$[J]:!0})):M}function v($){var me;const M=i.value[$];if(!M)return[];const C=(me=l.value[$])==null?void 0:me.optionLabel,z={};for(const[G,ee]of Object.entries(s))G!==$&&(z[G]=ee);const J=m(z,r.value),se=new Map;for(const G of J){const ee=M(G);if(ee==null||ee==="")continue;const H=se.get(ee);H?H.count+=1:se.set(ee,{label:C&&C(G)||ee,count:1})}return Array.from(se.entries()).map(([G,{label:ee,count:H}])=>({value:G,label:ee,count:H})).sort((G,ee)=>String(G.label).localeCompare(String(ee.label)))}const L=le(()=>u.value.map($=>{var M;return{name:$,label:((M=l.value[$])==null?void 0:M.label)||$,options:v($),value:s[$]||""}})),{labelFor:x}=Wn(n,Le("dataStore",null),Le("searchSourceId",null)),w=le(()=>Object.keys(s).map($=>{var C;const M=s[$];return{name:$,label:`${((C=l.value[$])==null?void 0:C.label)||$}: ${$===Yr?M:x($,M)}`}})),P=le(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function y($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function p($){t==null||t.setFilter($.name,$.value)}function g($){t==null||t.setFilter($.name,null)}function _($){t==null||t.setFilter($.name,null)}function E(){t==null||t.clearFilters()}return Et(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,O)=>(H(),K("div",Xx,[Pe(Yx,{search:N.value,filters:P.value,"active-chips":w.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:f,onFilterClear:g,onRemoveFilter:_,onClearAll:E},null,8,["search","filters","active-chips","search-placeholder"])]))}},Zx={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Tu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Vn[an({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&zo[o]?zo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return zo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},language_family:{label:"Language Family",get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Zx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"status",title:"Status",axis:null,facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Tu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Tu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Qx=["data-row-count","data-loading","data-error","data-narrow"],e0={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},t0=["data-kpi"],o0={class:"l"},n0={key:0,class:"d","data-kpi-delta":""},r0={class:"rd-cell-map","data-region":"map"},s0=["title"],a0=["title"],l0={class:"rd-cell-table","data-region":"table"},i0={class:"rd-rail","data-region":"rail"},c0=["data-view"],u0={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",ue(null)),n=le(()=>{const te=he(o);if(!te||typeof te!="object")return Pa;const de={...Pa,...te};return te.map&&typeof te.map=="object"&&(de.map={...Pa.map,...te.map}),de}),r=le(()=>{var te;return((te=he(o))==null?void 0:te.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=L_(n.value),u=t;gt(()=>{var te;return{filters:{...s.filterSet},q:((te=s.searchTerm)==null?void 0:te.value)||""}},({filters:te,q:de})=>u("dashboard-filter",{filterSet:te,searchTerm:de}),{deep:!0});const p=a.total,m=a.loading,v=a.error,{shell:P,isNarrow:x,slimRail:w,slimFacet:N,mobileView:y,SEG:f,tableCollapsed:g,facetCollapsed:_,railCollapsed:E,setView:$,showFacets:O,showMap:A,showTable:U,showCharts:X}=c,{startFacetResize:re,startRailResize:me,startTableResize:q}=I_({shellRef:P,bus:s,isNarrow:x,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function Y(te){return te.kind==="pct"?te.value:te.kind==="distinct"?te.value||"—":_u(te.value)}const C=le(()=>{var te;return(te=s.selectionVersion)==null||te.value,s.selectionSet?s.selectionSet.size:0});function T(){i.exportCsvAsync()}function M(){s.clearSelection()}function z(){s.emit("toggleFacet",!_.value)}function Q(){s.emit("toggleRail",!E.value)}function se(te){const de=te.target&&te.target.closest&&te.target.closest("[data-bar-export],[data-bar-clear]");de&&(de.hasAttribute("data-bar-export")?T():M())}return Et(` +`,"rd-research-filters"),($,M)=>(V(),Y("div",Jx,[Pe(Xx,{search:P.value,filters:L.value,"active-chips":w.value,"search-placeholder":f.value,"show-search":!1,"start-expanded":"",onSearch:y,onFilterChange:p,onFilterClear:g,onRemoveFilter:_,onClearAll:E},null,8,["search","filters","active-chips","search-placeholder"])]))}},Qx={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Tu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},La=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Pa={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,o=t&&typeof t=="object"?t.value:t;return Vn[an({peoplePraying:o??null})]}},religion:{label:"Religion",get:e=>Qe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return o&&zo[o]?zo[o]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,o=String(t||"").charAt(0).toUpperCase();return zo[o]?o:""}},wagf_region:{label:"Region",get:e=>Qe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Qe(e.wagf_block)},country_code:{label:"Country",get:e=>Qe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Qe(e.engagement_status)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Qe(e.imb_language_family);if(t)return Gr(t);const o=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,n=o&&Qx[o];return n?Gr(n):""}},primary_language:{label:"Language",get:e=>Qe(e.primary_language)},affinity_bloc:{label:"People",get:e=>La(e.rop1),optionLabel:e=>Qe(e.rop1)},cluster:{label:"Cluster",get:e=>La(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>La(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Qe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"status",title:"Status",axis:null,facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Qe(e.engagement_status))||/unengaged/i.test(Qe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Qe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Qe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Qe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Qe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Tu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Tu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Qe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},e0=["data-row-count","data-loading","data-error","data-narrow"],t0={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},o0=["data-kpi"],n0={class:"l"},r0={key:0,class:"d","data-kpi-delta":""},s0={class:"rd-cell-map","data-region":"map"},a0=["title"],l0=["title"],i0={class:"rd-cell-table","data-region":"table"},c0={class:"rd-rail","data-region":"rail"},u0=["data-view"],d0={__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const o=Le("profileConfig",de(null)),n=le(()=>{const X=he(o);if(!X||typeof X!="object")return Pa;const ie={...Pa,...X};return X.map&&typeof X.map=="object"&&(ie.map={...Pa.map,...X.map}),ie}),r=le(()=>{var X;return((X=he(o))==null?void 0:X.layout)==="page-scroll"}),{bus:s,data:a,kpis:l,exporter:i,responsive:c}=L_(n.value),u=t;gt(()=>{var X;return{filters:{...s.filterSet},q:((X=s.searchTerm)==null?void 0:X.value)||""}},({filters:X,q:ie})=>u("dashboard-filter",{filterSet:X,searchTerm:ie}),{deep:!0});const f=a.total,m=a.loading,v=a.error,{shell:L,isNarrow:x,slimRail:w,slimFacet:P,mobileView:y,SEG:p,tableCollapsed:g,facetCollapsed:_,railCollapsed:E,setView:$,showFacets:M,showMap:C,showTable:z,showCharts:J}=c,{startFacetResize:se,startRailResize:me,startTableResize:G}=I_({shellRef:L,bus:s,isNarrow:x,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function ee(X){return X.kind==="pct"?X.value:X.kind==="distinct"?X.value||"—":_u(X.value)}const H=le(()=>{var X;return(X=s.selectionVersion)==null||X.value,s.selectionSet?s.selectionSet.size:0});function A(){i.exportCsvAsync()}function N(){s.clearSelection()}function oe(){s.emit("toggleFacet",!_.value)}function D(){s.emit("toggleRail",!E.value)}function W(X){const ie=X.target&&X.target.closest&&X.target.closest("[data-bar-export],[data-bar-clear]");ie&&(ie.hasAttribute("data-bar-export")?A():N())}return Et(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -758,4 +760,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),(te,de)=>(H(),K("div",{ref_key:"shell",ref:P,class:Me(["rd-shell",{"rd-narrow":he(x),"rd-slim-rail":he(w),"rd-slim-facet":he(N),"rd-table-collapsed":he(g),"rd-facet-collapsed":he(_),"rd-rail-collapsed":he(E),"rd-page-scroll":r.value}]),"data-row-count":he(p),"data-loading":he(m)?"1":"0","data-error":he(v)||"","data-narrow":he(x)?"1":"0"},[Pe(he(yy)),Pe(he(Jx)),I("div",e0,[(H(!0),K(xe,null,He(he(l),ge=>(H(),K("div",{class:"kpi",key:ge.id},[I("span",{class:"n","data-kpi":ge.id},ce(ge.kind==="count"&&he(m)?"…":Y(ge)),9,t0),I("span",o0,ce(ge.label),1),ge.delta?(H(),K("span",n0,"↓"+ce(he(_u)(ge.delta)),1)):Ce("",!0)]))),128))]),Ft(Pe(he(Ry),null,null,512),[[Xt,he(O)]]),Ft(I("div",r0,[Pe(he(Lx)),he(x)?Ce("",!0):(H(),K("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:he(_)?"Show filters":"Hide filters — grow the map",onClick:z},ce(he(_)?"▸":"◂"),9,s0)),he(x)?Ce("",!0):(H(),K("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:he(E)?"Show charts":"Hide charts — grow the map",onClick:Q},ce(he(E)?"◂":"▸"),9,a0))],512),[[Xt,he(A)]]),Ft(I("div",l0,[Pe(he(ov))],512),[[Xt,he(U)]]),Ft(I("aside",i0,[Pe(he(Hv)),Pe(he(vv))],512),[[Xt,he(X)]]),Ft(I("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:de[0]||(de[0]=(...ge)=>he(re)&&he(re)(...ge))},null,544),[[Xt,!he(x)&&!he(_)]]),Ft(I("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:de[1]||(de[1]=(...ge)=>he(me)&&he(me)(...ge))},null,544),[[Xt,!he(x)&&!he(E)]]),Ft(I("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:de[2]||(de[2]=(...ge)=>he(q)&&he(q)(...ge))},null,544),[[Xt,!he(x)&&!he(g)]]),I("div",{class:"rd-seg","data-segmented":"",onClick:de[3]||(de[3]=(...ge)=>he($)&&he($)(...ge))},[(H(!0),K(xe,null,He(he(f),ge=>(H(),K("button",{key:ge.k,class:Me({on:he(y)===ge.k}),"data-view-btn":"","data-view":ge.k},ce(ge.l),11,c0))),128))]),C.value?(H(),K("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:se},[I("b",null,ce(C.value)+" selected",1),de[4]||(de[4]=I("span",{class:"sp"},null,-1)),de[5]||(de[5]=I("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),de[6]||(de[6]=I("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ce("",!0)],10,Qx))}};function d0(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function f0(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function p0(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));p.length&&(c=p)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function h0(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const m0=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",b0={class:"pgg-root"},_0={key:0,id:"filters",class:"filters"},y0={key:0,class:"pgg-search"},v0=["aria-expanded"],x0={key:0,class:"filters__toggle-count"},w0={class:"filters__panel"},k0={class:"filters__panel"},$0=["data-active"],S0={key:3,class:"filters__active"},E0=["onClick"],A0={class:"pgg-body"},C0={key:0,class:"repel"},T0={class:"font-size-sm"},L0={key:1},P0={id:"results",class:"grid uupgs-list"},N0=["src","alt"],I0={class:"uupg__header"},F0=["innerHTML"],R0={key:0,class:"uupg__country"},M0=["href"],O0=["innerHTML"],D0=["innerHTML"],j0=["innerHTML"],z0={key:1,class:"uupg__content"},U0=["href"],B0={key:0,class:"loading"},G0={key:1,class:"pgg-empty pgg-failed",role:"status"},q0={key:2,class:"pgg-empty"},V0=dn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=G=>!(G===!1||G==="false"||G==="0"||G===0),u=le(()=>c(o.showSearch)),p=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=ue([]),P=ue([]),x=ue(0),w=ue(1),N=ue(!0),y=ue(!1),f=ue(!0),g=ue({}),_=ue(""),E=ue({}),$=le(()=>u.value?_.value:o.query||""),O=le(()=>{const G={},B=d=>d;return o.wagfRegion&&(G.wagf_region={value:o.wagfRegion,label:B(o.wagfRegion)}),o.wagfBlock&&(G.wagf_block={value:o.wagfBlock,label:B(o.wagfBlock)}),o.rop1&&(G.rop1={value:o.rop1,label:B(o.rop1)}),o.religion&&(G.religion={value:o.religion,label:B(o.religion)}),o.countryCode&&(G.country_code={value:o.countryCode,label:B(o.countryCode)}),o.primaryLanguage&&(G.primary_language={value:o.primaryLanguage,label:B(o.primaryLanguage)}),o.engagementStatus&&(G.engagement_status={value:o.engagementStatus,label:B(o.engagementStatus)}),o.cluster&&(G.imb_reg_of_people_2={value:o.cluster,label:B(o.cluster)}),o.peopleGroup&&(G.imb_reg_of_people_25={value:o.peopleGroup,label:B(o.peopleGroup)}),G}),A=le(()=>p.value?E.value:O.value),U=le(()=>Object.values(A.value||{}).filter(G=>G&&G.value!==""&&G.value!=null).length),X=le(()=>Object.keys(A.value).length),re=le(()=>U.value>0||!!($.value||"").trim());function me(G){return G.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function q(G,B=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>G(...h),B)}}const Y=q(()=>{N.value=!0,w.value=1,ze()},500);function C(G){_.value=(G==null?void 0:G.value)??"",Y()}function T(){f.value=!f.value}function M(G){E.value={...E.value,[G.name]:{value:G.value,label:G.label}},w.value=1,ze()}function z(G){Q(G.name)}function Q(G){const B={...E.value};delete B[G],E.value=B,w.value=1,ze()}function se(){E.value={},w.value=1,ze()}function te(){if(E.value.exact)return Q("exact");E.value={...E.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,ze()}const de=G=>String(G??"").toLowerCase().replace(/[\s_&-]+/g,"");function ge(G,B){if(!G)return!1;const d=de(B==null?void 0:B.value);return d?de(G.value)===d||de(G.label)===d:!1}function Ae(G){let B=G;for(const[d,h]of Object.entries(A.value))d==="exact"?B=B:B=B.filter(F=>ge(F[d],h));return B}function ye(){const G=B=>{const d=new Map;for(const h of v.value){const F=h[B];if(!(F!=null&&F.value))continue;const j=d.get(F.value);j?j.count++:d.set(F.value,{label:F.label,count:1})}return Array.from(d.entries()).map(([h,{label:F,count:j}])=>({value:h,label:F,count:j})).sort((h,F)=>h.label.localeCompare(F.label))};g.value={wagf_region:G("wagf_region"),wagf_block:G("wagf_block"),rop1:G("rop1"),religion:G("religion")}}function Te(){const G=Object.keys(g.value),B={};for(const d of G){const h={};for(const[ee,oe]of Object.entries(A.value))ee!==d&&(h[ee]=oe);const F=Ke(h,v.value),j=new Map;for(const ee of F){const oe=ee[d];oe!=null&&oe.value&&j.set(oe.value,(j.get(oe.value)??0)+1)}B[d]=(g.value[d]??[]).map(ee=>({...ee,count:j.get(ee.value)??0}))}g.value=B}function Ke(G,B){let d=B;for(const[h,F]of Object.entries(G))h!=="exact"&&(d=d.filter(j=>ge(j[h],F)));return d}function ze(){v.value=v.value.map(j=>(j.matches=[],j.country_label="",j.rop1_label="",j));const B=Object.keys(A.value).length>0?Ae(v.value):v.value,d=$.value;if(!d){P.value=B,x.value=P.value.length,N.value=!1,Te(),b();return}const F=new g0(B,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:A.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);P.value=F.map(j=>{var oe;const ee={...j.item};if(!j.matches)return ee;ee.matches=[];for(const D of j.matches){const S=D.key;if(!S)continue;let J="";if(String(S).includes(".")){const[ae,pe]=String(S).split(".");J=(oe=ee[ae])==null?void 0:oe[pe]}else J=ee[String(S)];if(J&&typeof J=="string"){let ae=0,pe="";if(D.indices.forEach((be,Ie)=>{const Je=be[0],st=be[1],Ze=D.indices.length-1===Ie;pe+=me(J.slice(ae,Je))+`${me(J.slice(Je,st+1))}`+(Ze?me(J.slice(st+1)):""),ae=st+1}),String(S).includes("imb_alternate_name"))ee.matches.push({key:i.value.alternate_name??"Also known as",label:pe});else if(String(S).includes(".")){const[be]=String(S).split("."),Ie={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};be==="rop1"?ee.rop1_label=pe:be==="country_code"?ee.country_label=pe:be==="wagf_region"||ee.matches.push({key:Ie[be]??be,label:pe})}else ee[String(S)]=pe}}return ee}),x.value=P.value.length,N.value=!1,Te(),b()}const Re=wo();function et(){var B,d;const G=((B=Re==null?void 0:Re.vnode)==null?void 0:B.el)||((d=Re==null?void 0:Re.proxy)==null?void 0:d.$el);try{const h=G&&G.getRootNode&&G.getRootNode();if(h&&h.host)return h.host}catch{}return G}function b(){const G={query:$.value,activeFilters:A.value,total:x.value,slugs:P.value.map(d=>d.slug)};n("groups-filtered",G);const B=et();B&&typeof B.dispatchEvent=="function"&&B.dispatchEvent(new CustomEvent("groups-filtered",{detail:G,bubbles:!0,composed:!0}))}function L(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!N.value&&P.value.length>0:x.value>w.value*o.perPage&&!N.value&&P.value.length>0}function k(){w.value=w.value+1}const V=le(()=>o.morePerPage>0?P.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):P.value.slice(0,w.value*o.perPage)),W=le(()=>L());async function ne(){const G=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25&lang=${a.value}`;N.value=!0,y.value=!1;try{const B=await fetch(G);if(!B.ok)throw new Error(`HTTP ${B.status}`);const d=await B.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],ye(),ze()}catch(B){console.error("[people-groups-grid] fetch error:",B),y.value=!0,v.value=[],N.value=!1}}return gt(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,u.value,p.value],()=>{w.value=1,ze()}),xt(ne),(G,B)=>{var d,h,F,j;return H(),K("div",b0,[u.value||p.value?(H(),K("div",_0,[u.value?(H(),K("div",y0,[Pe(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:C},null,8,["model-value","placeholder","aria-label"])])):Ce("",!0),p.value?(H(),K("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":f.value,onClick:T},[B[0]||(B[0]=I("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+ce(f.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),U.value?(H(),K("span",x0,ce(U.value),1)):Ce("",!0),B[1]||(B[1]=I("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,v0)):Ce("",!0),p.value&&f.value?(H(),K(xe,{key:2},[I("div",w0,[Pe(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=A.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:M,onFilterClear:z},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=A.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:M,onFilterClear:z},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((F=A.value.rop1)==null?void 0:F.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:M,onFilterClear:z},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((j=A.value.religion)==null?void 0:j.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:M,onFilterClear:z},null,8,["label","options","value","placeholder"])]),I("div",k0,[I("button",{class:"filter-toggle",type:"button","data-active":A.value.exact?"":void 0,onClick:te},ce(i.value.exact_filter||"Exact"),9,$0)])],64)):Ce("",!0),p.value&&X.value>0?(H(),K("div",S0,[(H(!0),K(xe,null,He(A.value,(ee,oe)=>(H(),K("span",{key:oe,class:"filter-chip"},[nt(ce(ee.label)+" ",1),I("button",{class:"filter-chip__remove",type:"button",onClick:D=>Q(String(oe))},"×",8,E0)]))),128)),I("button",{class:"filters__clear-all",type:"button",onClick:se},ce(i.value.clear_all||"Clear All"),1)])):Ce("",!0)])):Ce("",!0),I("div",A0,[m.value||re.value?(H(),K("div",C0,[I("div",T0,[N.value?(H(),K("span",L0," ")):(H(),K(xe,{key:0},[nt(ce(re.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ce("",!0),I("div",P0,[(H(!0),K(xe,null,He(V.value,ee=>(H(),K("div",{key:ee.slug,class:"card uupg__card"},[ee.image_url?(H(),K("img",{key:0,class:"uupg__image",src:ee.image_url,alt:ee.name},null,8,N0)):Ce("",!0),I("div",I0,[I("h3",{class:"uupg__name",innerHTML:ee.name},null,8,F0),ee.country_code?(H(),K("p",R0,[I("a",{class:"uupg__country-link",href:`${l.value}../countries/${he(h0)(ee.country_code.value,ee.country_code.label)}`},[I("span",{innerHTML:ee.country_label?ee.country_label:ee.country_code.label},null,8,O0)],8,M0),ee.rop1?(H(),K(xe,{key:0},[B[2]||(B[2]=nt(" (",-1)),I("span",{innerHTML:ee.rop1_label?ee.rop1_label:ee.rop1.label},null,8,D0),B[3]||(B[3]=nt(")",-1))],64)):Ce("",!0)])):Ce("",!0),ee.matches?(H(!0),K(xe,{key:1},He(ee.matches,(oe,D)=>(H(),K("p",{key:D,class:"uupg__match"},[I("strong",null,ce(oe.key),1),B[4]||(B[4]=nt(": ",-1)),I("span",{innerHTML:oe.label},null,8,j0)]))),128)):Ce("",!0)]),ee.location_description?(H(),K("p",z0,ce(ee.location_description),1)):Ce("",!0),I("a",{class:"uupg__more-button",href:`${l.value}${ee.slug}`},ce(i.value.full_profile||"Full profile"),9,U0)]))),128)),N.value?(H(),K("div",B0,ce(i.value.loading||"Loading…"),1)):y.value?(H(),K("div",G0,ce(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):V.value.length?Ce("",!0):(H(),K("div",q0,ce(i.value.no_results||"No people groups match this filter."),1))]),W.value?(H(),K("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},ce(i.value.load_more||"Load more"),1)):Ce("",!0)])])}}},[["styles",[m0]]]),H0=":host{display:block;width:100%}",W0="dashboard-plus-grid/dashboard-plus-grid/index.html",K0=dn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup"},o=Po({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);no("profileConfig",ue({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+W0}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(H(),xo(i_,{sections:s},{"section-dashboard":yo(()=>[Pe(u0,{onDashboardFilter:n})]),"section-grid":yo(()=>[Pe(V0,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group"])]),_:1}))}},[["styles",[H0]]]);Eb({"./affinity-block.js":{default:Mb},"./doxa-region.js":{default:zb}}),Cb();const Y0=Zf(K0,{configureApp(e){e.use(up());const t=ib();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",Y0))})(); +`,"rd-shell-layout"),(X,ie)=>(V(),Y("div",{ref_key:"shell",ref:L,class:Me(["rd-shell",{"rd-narrow":he(x),"rd-slim-rail":he(w),"rd-slim-facet":he(P),"rd-table-collapsed":he(g),"rd-facet-collapsed":he(_),"rd-rail-collapsed":he(E),"rd-page-scroll":r.value}]),"data-row-count":he(f),"data-loading":he(m)?"1":"0","data-error":he(v)||"","data-narrow":he(x)?"1":"0"},[Pe(he(yy)),Pe(he(Zx)),I("div",t0,[(V(!0),Y(xe,null,We(he(l),pe=>(V(),Y("div",{class:"kpi",key:pe.id},[I("span",{class:"n","data-kpi":pe.id},ue(pe.kind==="count"&&he(m)?"…":ee(pe)),9,o0),I("span",n0,ue(pe.label),1),pe.delta?(V(),Y("span",r0,"↓"+ue(he(_u)(pe.delta)),1)):Ce("",!0)]))),128))]),Ft(Pe(he(My),null,null,512),[[Xt,he(M)]]),Ft(I("div",s0,[Pe(he(Px)),he(x)?Ce("",!0):(V(),Y("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:he(_)?"Show filters":"Hide filters — grow the map",onClick:oe},ue(he(_)?"▸":"◂"),9,a0)),he(x)?Ce("",!0):(V(),Y("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:he(E)?"Show charts":"Hide charts — grow the map",onClick:D},ue(he(E)?"◂":"▸"),9,l0))],512),[[Xt,he(C)]]),Ft(I("div",i0,[Pe(he(nv))],512),[[Xt,he(z)]]),Ft(I("aside",c0,[Pe(he(Wv)),Pe(he(xv))],512),[[Xt,he(J)]]),Ft(I("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:ie[0]||(ie[0]=(...pe)=>he(se)&&he(se)(...pe))},null,544),[[Xt,!he(x)&&!he(_)]]),Ft(I("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:ie[1]||(ie[1]=(...pe)=>he(me)&&he(me)(...pe))},null,544),[[Xt,!he(x)&&!he(E)]]),Ft(I("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:ie[2]||(ie[2]=(...pe)=>he(G)&&he(G)(...pe))},null,544),[[Xt,!he(x)&&!he(g)]]),I("div",{class:"rd-seg","data-segmented":"",onClick:ie[3]||(ie[3]=(...pe)=>he($)&&he($)(...pe))},[(V(!0),Y(xe,null,We(he(p),pe=>(V(),Y("button",{key:pe.k,class:Me({on:he(y)===pe.k}),"data-view-btn":"","data-view":pe.k},ue(pe.l),11,u0))),128))]),H.value?(V(),Y("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:W},[I("b",null,ue(H.value)+" selected",1),ie[4]||(ie[4]=I("span",{class:"sp"},null,-1)),ie[5]||(ie[5]=I("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ie[6]||(ie[6]=I("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Ce("",!0)],10,e0))}};function f0(e,t){if(!t.includes("."))return e==null?void 0:e[t];const[o,...n]=t.split(".");let r=e==null?void 0:e[o];for(const s of n)r=r==null?void 0:r[s];return r}function p0(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=o.indexOf(n,s);for(;a!==-1;)r.push([a,a+n.length-1]),s=a+n.length,a=o.indexOf(n,s);return r}function g0(e,t){const o=e.toLowerCase(),n=t.toLowerCase(),r=[];let s=0,a=-1,l=-1;for(let i=0;i({item:s,matches:[]}));if(o.lengthv-m+1>=Math.min(this.minMatchCharLength,o.length));f.length&&(c=f)}}c.length&&a.push({key:l,indices:c})}a.length&&r.push({item:s,matches:a})}return r}}function m0(e,t){return String(t||e||"").trim().toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}const b0=":host{display:block;width:100%;--dx-surface: #f3f3f1;--dx-elevated: #ffffff;--dx-text: #3b463d;--dx-muted: #6d766e;--dx-line: #d1d4cd;--dx-accent: #92b195;--dx-accent-weak: rgba(146, 177, 149, .18);--dx-accent-soft: rgba(146, 177, 149, .1);--dx-accent-strong: #657967}.pgg-root{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);--bg: var(--dx-surface, #f3f3f1);width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;padding:16px}.filters{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.pgg-search{display:flex;justify-content:center}.filters__toggle{background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--dx-text, #3b463d);padding:7px 12px;display:inline-flex;align-items:center;gap:7px;margin-inline:auto;transition:background-color .15s ease,border-color .15s ease}.filters__toggle:hover{background:var(--dx-accent-weak, rgba(146,177,149,.18));border-color:var(--dx-accent, #92b195)}.filters__toggle:focus-visible{outline:2px solid var(--dx-accent, #92b195);outline-offset:2px}.filters__toggle-icon{color:var(--dx-accent, #92b195);flex:none}.filters__toggle-count{background:var(--dx-accent, #92b195);color:#fff;border-radius:999px;min-width:18px;padding:0 5px;font-size:.75rem;line-height:18px;text-align:center}.filters__toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters__panel{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:flex-start}.filter-toggle{padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;transition:border-color .15s ease,background .15s ease}.filter-toggle:hover{border-color:var(--brand)}.filter-toggle[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.filters__active{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.filter-chip{display:inline-flex;gap:6px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:4px 12px;font-size:.85rem}.filter-chip__remove{background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.filter-chip__remove:hover{opacity:.7}.filters__clear-all{background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.repel{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.font-size-sm{font-size:.875rem;color:var(--mut)}.grid.uupgs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.card.uupg__card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #0000000a}.uupg__image{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--line)}.uupg__header{padding:12px 14px 6px}.uupg__name{font-size:1rem;font-weight:700;line-height:1.2;margin:0 0 4px}.uupg__country{font-size:.85rem;color:var(--mut);margin:0}.uupg__country-link{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:1px;text-underline-offset:2px}.uupg__country-link:hover{text-decoration-thickness:2px}.uupg__match{font-size:.8rem;color:var(--mut);margin:4px 0 0}.uupg__content{padding:0 14px;font-size:.85rem;color:var(--mut)}.uupg__more-button{margin:12px 14px 14px;padding:8px 12px;text-align:center;font-size:.85rem;font-weight:700;color:var(--dx-elevated, #fff);background:var(--dx-accent-strong, #657967);border-radius:8px;text-decoration:none}.uupg__more-button:hover{background:var(--dx-text, #3b463d)}.search-highlight{background:#fde68a;border-radius:2px;padding:0 1px}.loading,.pgg-empty{grid-column:1 / -1;padding:28px;text-align:center;color:var(--mut);font-size:.9rem}.pgg-failed{font-weight:600;border-top:1px solid var(--bd, #d1d4cd)}.pgg-loadmore{display:block;margin:20px auto 0;padding:8px 18px;font-size:.9rem;cursor:pointer;color:var(--ink);background:var(--card);border:1px solid var(--brand);border-radius:8px}.pgg-loadmore:hover{background:var(--dx-accent-soft, rgba(146, 177, 149, .1))}",_0={class:"pgg-root"},y0={key:0,id:"filters",class:"filters"},v0={key:0,class:"pgg-search"},x0=["aria-expanded"],w0={key:0,class:"filters__toggle-count"},k0={class:"filters__panel"},$0={class:"filters__panel"},S0=["data-active"],E0={key:3,class:"filters__active"},A0=["onClick"],C0={class:"pgg-body"},T0={key:0,class:"repel"},L0={class:"font-size-sm"},P0={key:1},N0={id:"results",class:"grid uupgs-list"},I0=["src","alt"],F0={class:"uupg__header"},R0=["innerHTML"],M0={key:0,class:"uupg__country"},O0=["href"],D0=["innerHTML"],j0=["innerHTML"],z0=["innerHTML"],U0={key:1,class:"uupg__content"},B0=["href"],G0={key:0,class:"loading"},q0={key:1,class:"pgg-empty pgg-failed",role:"status"},V0={key:2,class:"pgg-empty"},H0=dn({__name:"people-groups-grid",props:{profileConfig:{type:String,default:""},prayBaseUrl:{type:String,default:""},languageCode:{type:String,default:""},researchUrl:{type:String,default:"/research/"},selectUrl:{type:String,default:""},t:{type:Object,default:()=>({})},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},showTotal:{type:[Boolean,String],default:!0},query:{type:String,default:""},wagfRegion:{type:String,default:""},wagfBlock:{type:String,default:""},rop1:{type:String,default:""},religion:{type:String,default:""},countryCode:{type:String,default:""},primaryLanguage:{type:String,default:""},cluster:{type:String,default:""},peopleGroup:{type:String,default:""},engagementStatus:{type:String,default:""},perPage:{type:Number,default:24},morePerPage:{type:Number,default:0}},emits:["groups-filtered"],setup(e,{emit:t}){const o=e,n=t,r=le(()=>{if(!o.profileConfig)return{};try{return JSON.parse(o.profileConfig)||{}}catch{return{}}}),s=le(()=>o.prayBaseUrl||r.value.prayBaseUrl||"https://pray.doxa.life"),a=le(()=>o.languageCode||r.value.languageCode||""),l=le(()=>o.researchUrl||r.value.researchUrl||"/research/"),i=le(()=>({...r.value.t||{},...o.t||{}})),c=B=>!(B===!1||B==="false"||B==="0"||B===0),u=le(()=>c(o.showSearch)),f=le(()=>c(o.showFilters)),m=le(()=>c(o.showTotal)),v=de([]),L=de([]),x=de(0),w=de(1),P=de(!0),y=de(!1),p=de(!0),g=de({}),_=de(""),E=de({}),$=le(()=>u.value?_.value:o.query||""),M=le(()=>{const B={},U=d=>d;return o.wagfRegion&&(B.wagf_region={value:o.wagfRegion,label:U(o.wagfRegion)}),o.wagfBlock&&(B.wagf_block={value:o.wagfBlock,label:U(o.wagfBlock)}),o.rop1&&(B.rop1={value:o.rop1,label:U(o.rop1)}),o.religion&&(B.religion={value:o.religion,label:U(o.religion)}),o.countryCode&&(B.country_code={value:o.countryCode,label:U(o.countryCode)}),o.primaryLanguage&&(B.primary_language={value:o.primaryLanguage,label:U(o.primaryLanguage)}),o.engagementStatus&&(B.engagement_status={value:o.engagementStatus,label:U(o.engagementStatus)}),o.cluster&&(B.imb_reg_of_people_2={value:o.cluster,label:U(o.cluster)}),o.peopleGroup&&(B.imb_reg_of_people_25={value:o.peopleGroup,label:U(o.peopleGroup)}),B}),C=le(()=>f.value?E.value:M.value),z=le(()=>Object.values(C.value||{}).filter(B=>B&&B.value!==""&&B.value!=null).length),J=le(()=>Object.keys(C.value).length),se=le(()=>z.value>0||!!($.value||"").trim());function me(B){return B.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function G(B,U=500){let d;return(...h)=>{clearTimeout(d),d=setTimeout(()=>B(...h),U)}}const ee=G(()=>{P.value=!0,w.value=1,ze()},500);function H(B){_.value=(B==null?void 0:B.value)??"",ee()}function A(){p.value=!p.value}function N(B){E.value={...E.value,[B.name]:{value:B.value,label:B.label}},w.value=1,ze()}function oe(B){D(B.name)}function D(B){const U={...E.value};delete U[B],E.value=U,w.value=1,ze()}function W(){E.value={},w.value=1,ze()}function X(){if(E.value.exact)return D("exact");E.value={...E.value,exact:{value:"yes",label:i.value.exact_filter||"Exact"}},w.value=1,ze()}const ie=B=>String(B??"").toLowerCase().replace(/[\s_&-]+/g,"");function pe(B,U){if(!B)return!1;const d=ie(U==null?void 0:U.value);return d?ie(B.value)===d||ie(B.label)===d:!1}function $e(B){let U=B;for(const[d,h]of Object.entries(C.value))d==="exact"?U=U:U=U.filter(F=>pe(F[d],h));return U}function Ie(){const B=U=>{const d=new Map;for(const h of v.value){const F=h[U];if(!(F!=null&&F.value))continue;const j=d.get(F.value);j?j.count++:d.set(F.value,{label:F.label,count:1})}return Array.from(d.entries()).map(([h,{label:F,count:j}])=>({value:h,label:F,count:j})).sort((h,F)=>h.label.localeCompare(F.label))};g.value={wagf_region:B("wagf_region"),wagf_block:B("wagf_block"),rop1:B("rop1"),religion:B("religion")}}function be(){const B=Object.keys(g.value),U={};for(const d of B){const h={};for(const[te,ne]of Object.entries(C.value))te!==d&&(h[te]=ne);const F=Be(h,v.value),j=new Map;for(const te of F){const ne=te[d];ne!=null&&ne.value&&j.set(ne.value,(j.get(ne.value)??0)+1)}U[d]=(g.value[d]??[]).map(te=>({...te,count:j.get(te.value)??0}))}g.value=U}function Be(B,U){let d=U;for(const[h,F]of Object.entries(B))h!=="exact"&&(d=d.filter(j=>pe(j[h],F)));return d}function ze(){v.value=v.value.map(j=>(j.matches=[],j.country_label="",j.rop1_label="",j));const U=Object.keys(C.value).length>0?$e(v.value):v.value,d=$.value;if(!d){L.value=U,x.value=L.value.length,P.value=!1,be(),b();return}const F=new h0(U,{includeMatches:!0,ignoreLocation:!0,minMatchCharLength:3,threshold:C.value.exact?0:.4,keys:["name","imb_alternate_name","country_code.label","rop1.label","religion.label","wagf_region.label","wagf_block.label"]}).search(d);L.value=F.map(j=>{var ne;const te={...j.item};if(!j.matches)return te;te.matches=[];for(const O of j.matches){const S=O.key;if(!S)continue;let Z="";if(String(S).includes(".")){const[ae,ge]=String(S).split(".");Z=(ne=te[ae])==null?void 0:ne[ge]}else Z=te[String(S)];if(Z&&typeof Z=="string"){let ae=0,ge="";if(O.indices.forEach((_e,Fe)=>{const Je=_e[0],st=_e[1],Ze=O.indices.length-1===Fe;ge+=me(Z.slice(ae,Je))+`${me(Z.slice(Je,st+1))}`+(Ze?me(Z.slice(st+1)):""),ae=st+1}),String(S).includes("imb_alternate_name"))te.matches.push({key:i.value.alternate_name??"Also known as",label:ge});else if(String(S).includes(".")){const[_e]=String(S).split("."),Fe={religion:i.value.religion,country_code:i.value.country,rop1:i.value.rop1,wagf_region:i.value.wagf_region,wagf_block:i.value.wagf_block};_e==="rop1"?te.rop1_label=ge:_e==="country_code"?te.country_label=ge:_e==="wagf_region"||te.matches.push({key:Fe[_e]??_e,label:ge})}else te[String(S)]=ge}}return te}),x.value=L.value.length,P.value=!1,be(),b()}const Te=wo();function et(){var U,d;const B=((U=Te==null?void 0:Te.vnode)==null?void 0:U.el)||((d=Te==null?void 0:Te.proxy)==null?void 0:d.$el);try{const h=B&&B.getRootNode&&B.getRootNode();if(h&&h.host)return h.host}catch{}return B}function b(){const B={query:$.value,activeFilters:C.value,total:x.value,slugs:L.value.map(d=>d.slug)};n("groups-filtered",B);const U=et();U&&typeof U.dispatchEvent=="function"&&U.dispatchEvent(new CustomEvent("groups-filtered",{detail:B,bubbles:!0,composed:!0}))}function T(){return o.morePerPage>0?x.value>o.perPage+(w.value-1)*o.morePerPage&&!P.value&&L.value.length>0:x.value>w.value*o.perPage&&!P.value&&L.value.length>0}function k(){w.value=w.value+1}const q=le(()=>o.morePerPage>0?L.value.slice(0,o.perPage+(w.value-1)*o.morePerPage):L.value.slice(0,w.value*o.perPage)),K=le(()=>T());async function re(){const B=`${s.value}/api/people-groups/list?fields=name,slug,wagf_region,wagf_block,country_code,rop1,religion,has_photo,image_url,adopted_by_churches,imb_alternate_name,engagement_status,people_committed,primary_language,imb_reg_of_people_2,imb_reg_of_people_25&lang=${a.value}`;P.value=!0,y.value=!1;try{const U=await fetch(B);if(!U.ok)throw new Error(`HTTP ${U.status}`);const d=await U.json();x.value=d.total,v.value=Array.isArray(d.posts)?d.posts:[],Ie(),ze()}catch(U){console.error("[people-groups-grid] fetch error:",U),y.value=!0,v.value=[],P.value=!1}}return gt(()=>[o.query,o.wagfRegion,o.wagfBlock,o.rop1,o.religion,o.countryCode,o.primaryLanguage,o.engagementStatus,o.cluster,o.peopleGroup,u.value,f.value],()=>{w.value=1,ze()}),xt(re),(B,U)=>{var d,h,F,j;return V(),Y("div",_0,[u.value||f.value?(V(),Y("div",y0,[u.value?(V(),Y("div",v0,[Pe(Sa,{"model-value":_.value,placeholder:i.value.search||"Search people groups…","aria-label":i.value.search||"Search people groups","max-width":"480px",onSearch:H},null,8,["model-value","placeholder","aria-label"])])):Ce("",!0),f.value?(V(),Y("button",{key:1,class:"filters__toggle",type:"button","aria-expanded":p.value,onClick:A},[U[0]||(U[0]=I("svg",{class:"filters__toggle-icon",width:"13",height:"13",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[I("path",{d:"M1.5 2.5h9M3 6h6M4.5 9.5h3",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round"})],-1)),nt(" "+ue(p.value?i.value.hide_filters||"Hide Filters":i.value.show_filters||"Show Filters")+" ",1),z.value?(V(),Y("span",w0,ue(z.value),1)):Ce("",!0),U[1]||(U[1]=I("svg",{width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[I("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,x0)):Ce("",!0),f.value&&p.value?(V(),Y(xe,{key:2},[I("div",k0,[Pe(Jn,{label:i.value.wagf_region||"Region",name:"wagf_region",options:g.value.wagf_region||[],value:((d=C.value.wagf_region)==null?void 0:d.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:oe},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.wagf_block||"Bloc",name:"wagf_block",options:g.value.wagf_block||[],value:((h=C.value.wagf_block)==null?void 0:h.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:oe},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.rop1||"People Group",name:"rop1",options:g.value.rop1||[],value:((F=C.value.rop1)==null?void 0:F.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:oe},null,8,["label","options","value","placeholder"]),Pe(Jn,{label:i.value.religion||"Religion",name:"religion",options:g.value.religion||[],value:((j=C.value.religion)==null?void 0:j.value)??"",placeholder:i.value.type_to_search||"Type to search...",onFilterChange:N,onFilterClear:oe},null,8,["label","options","value","placeholder"])]),I("div",$0,[I("button",{class:"filter-toggle",type:"button","data-active":C.value.exact?"":void 0,onClick:X},ue(i.value.exact_filter||"Exact"),9,S0)])],64)):Ce("",!0),f.value&&J.value>0?(V(),Y("div",E0,[(V(!0),Y(xe,null,We(C.value,(te,ne)=>(V(),Y("span",{key:ne,class:"filter-chip"},[nt(ue(te.label)+" ",1),I("button",{class:"filter-chip__remove",type:"button",onClick:O=>D(String(ne))},"×",8,A0)]))),128)),I("button",{class:"filters__clear-all",type:"button",onClick:W},ue(i.value.clear_all||"Clear All"),1)])):Ce("",!0)])):Ce("",!0),I("div",C0,[m.value||se.value?(V(),Y("div",T0,[I("div",L0,[P.value?(V(),Y("span",P0," ")):(V(),Y(xe,{key:0},[nt(ue(se.value&&!m.value?(i.value.showing||"Showing")+" "+x.value.toLocaleString("en-US"):(i.value.total||"Total")+": "+x.value.toLocaleString("en-US")),1)],64))])])):Ce("",!0),I("div",N0,[(V(!0),Y(xe,null,We(q.value,te=>(V(),Y("div",{key:te.slug,class:"card uupg__card"},[te.image_url?(V(),Y("img",{key:0,class:"uupg__image",src:te.image_url,alt:te.name},null,8,I0)):Ce("",!0),I("div",F0,[I("h3",{class:"uupg__name",innerHTML:te.name},null,8,R0),te.country_code?(V(),Y("p",M0,[I("a",{class:"uupg__country-link",href:`${l.value}../countries/${he(m0)(te.country_code.value,te.country_code.label)}`},[I("span",{innerHTML:te.country_label?te.country_label:te.country_code.label},null,8,D0)],8,O0),te.rop1?(V(),Y(xe,{key:0},[U[2]||(U[2]=nt(" (",-1)),I("span",{innerHTML:te.rop1_label?te.rop1_label:te.rop1.label},null,8,j0),U[3]||(U[3]=nt(")",-1))],64)):Ce("",!0)])):Ce("",!0),te.matches?(V(!0),Y(xe,{key:1},We(te.matches,(ne,O)=>(V(),Y("p",{key:O,class:"uupg__match"},[I("strong",null,ue(ne.key),1),U[4]||(U[4]=nt(": ",-1)),I("span",{innerHTML:ne.label},null,8,z0)]))),128)):Ce("",!0)]),te.location_description?(V(),Y("p",U0,ue(te.location_description),1)):Ce("",!0),I("a",{class:"uupg__more-button",href:`${l.value}${te.slug}`},ue(i.value.full_profile||"Full profile"),9,B0)]))),128)),P.value?(V(),Y("div",G0,ue(i.value.loading||"Loading…"),1)):y.value?(V(),Y("div",q0,ue(i.value.load_failed||"People-group data could not be loaded. This is a connection problem, not your filter."),1)):q.value.length?Ce("",!0):(V(),Y("div",V0,ue(i.value.no_results||"No people groups match this filter."),1))]),K.value?(V(),Y("button",{key:1,class:"pgg-loadmore",type:"button",onClick:k},ue(i.value.load_more||"Load more"),1)):Ce("",!0)])])}}},[["styles",[b0]]]),W0=":host{display:block;width:100%}",K0="dashboard-plus-grid/dashboard-plus-grid/index.html",Y0=dn({__name:"dashboard-plus-grid",setup(e){const t={wagf_region:"wagfRegion",wagf_block:"wagfBlock",affinity_bloc:"rop1",religion:"religion",country_code:"countryCode",primary_language:"primaryLanguage",engagement_status:"engagementStatus",cluster:"cluster",people_group:"peopleGroup"},o=Po({query:"",wagfRegion:"",wagfBlock:"",rop1:"",religion:"",countryCode:"",primaryLanguage:"",engagementStatus:"",cluster:"",peopleGroup:""});function n({filterSet:a={},searchTerm:l=""}={}){o.query=l||"";for(const i of Object.values(t))o[i]="";for(const[i,c]of Object.entries(a)){const u=t[i];u&&(o[u]=c==null?"":String(c))}}const r=hu(null);no("profileConfig",de({profile:"research-dashboard",layout:"page-scroll",shareUrl:(r?r.replace(/\/+$/,"")+"/":"")+K0}));const s=[{key:"dashboard"},{key:"grid"}];return(a,l)=>(V(),xo(i_,{sections:s},{"section-dashboard":yo(()=>[Pe(d0,{onDashboardFilter:n})]),"section-grid":yo(()=>[Pe(H0,{query:o.query,"wagf-region":o.wagfRegion,"wagf-block":o.wagfBlock,rop1:o.rop1,religion:o.religion,"country-code":o.countryCode,"primary-language":o.primaryLanguage,"engagement-status":o.engagementStatus,cluster:o.cluster,"people-group":o.peopleGroup,"show-search":!1,"show-filters":!1,"show-total":!1},null,8,["query","wagf-region","wagf-block","rop1","religion","country-code","primary-language","engagement-status","cluster","people-group"])]),_:1}))}},[["styles",[W0]]]);Eb({"./affinity-block.js":{default:Mb},"./doxa-region.js":{default:zb}}),Cb();const X0=Zf(Y0,{configureApp(e){e.use(up());const t=ib();e.use(t),e.provide("appI18n",t)}});typeof customElements<"u"&&(customElements.get("dashboard-plus-grid")||customElements.define("dashboard-plus-grid",X0))})(); diff --git a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html index ec97e00ab..3002b2fa9 100644 --- a/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html +++ b/public/doxa-maps/dashboard-plus-grid/dashboard-plus-grid/default/index.html @@ -40,7 +40,7 @@ - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":19,"profileCount":28,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-naI/FjUN6z0mTDZsarX/PHn6uR/XAs1dXnRBGtfLE4xJcfVhDJ7KzoB9+VvLIuCz\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-1a5gFxBj6maJ3KbyTQxVeW7fn1bhN5H/cOwObkCd6cyh/M1Q1KCDoMPnbB/IHrjD\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-RqaP7LZai35CX83Joy3kLGhlnHOW9OwExd7LyXS+pxvxawS0VIhlW1zpG9hYweWo\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym","elements":["country-posters-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-gQiR3ta6d3ANX+PPhvcXkFKyT50sKqnK30JKJsDhR9tLA8uOCogOoH/L+6l7R/Ym\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-ou8O6omzXBxwc6kTFOpeL5BDJT3ZHUNWLuSVl7MoHpQDBjniuzGLf48sOVwC0L8+","elements":["dashboard-plus-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-ou8O6omzXBxwc6kTFOpeL5BDJT3ZHUNWLuSVl7MoHpQDBjniuzGLf48sOVwC0L8+\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-hK5bhikq6HS+Q1t5g9tqAWlosKbQcnzlxLx36svZffWk11HKbIsTk0f8yJxjVZE0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq","elements":["doxa-maps-spa"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-GJiuI3T69Om//h3hE5AEeqIF3H6EnXrQVNj5BiAyLZcABodDXAA/pDYVxXsDT1Pq\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-b/PsN3X7B4wcvGGzT0e4BKGh7lcaon2YmmqkX2X7IMJuxR02/P7MIagRa6ST5k48\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"}}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-rCyNuvFWnAdNbWopNuqv22ZliamYyGXoI2wsPImdhXKU0CKS4VRB9tRtBCH4mR5X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-vgQHgoTwP3h7cB8wARXuP6KjbZZYySH9K5XyA7Ty8N7Ij1YyRZn2ZGVbkA3CPqUG\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E","elements":["my-upg-100-list-map"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-ONp143o341VSzfv/dhsR2qcYpIW5vwt7mnTlQ8nNSgby1c3RfD1VKorr35mrzf3E\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-mF3qp2IR9wmDTPTcyoDFFuULYRfv4ERi+0VsZGHov+Nb4mxF4ab2p3EYRZNTT22X\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh","elements":["plugin-studio"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-UGZ2jNTQ+LJhDH8mbUOBsPxIsCys7Dt0n6u6MA2rSm+vJxLGnR018XfygKq7dDdh\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-4HNE72UOF2zrBYURaocKyph8t3C+COB4DAROu4CfbSE/GqvwsEe4pKRGbN1rNlk/","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-4HNE72UOF2zrBYURaocKyph8t3C+COB4DAROu4CfbSE/GqvwsEe4pKRGbN1rNlk/\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS","elements":["research-map-plus-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-Dyh9E7k/YtwVCKP4lulQpWs9+oqKV5LJjxEnJMufru4zAzyZpbHyz0pja7hPwIwS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy","elements":["stack-demo"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-Wt5wtm3JMmbuKqXaBDYZ2Mrw3LF/q8LQ14d+qFPi958kH8aPJPAFGMvqHCD6BICy\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-4QsipLdtw9IIrA5qQdnhgmo70TH+33QMVdVZdYJFVTUp44Bvz9Y31g+DSKYInsTW\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]}]}; \n\n" + "script": "\n\n" }, "instances": [ { @@ -764,7 +764,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-7deBWTaAE1237o9NDmPofHmH+1/3OXG+9lOkAlrPqTbCgSHe6TqRFvBlZX7JZ7iv", + "integrity": "sha384-4HNE72UOF2zrBYURaocKyph8t3C+COB4DAROu4CfbSE/GqvwsEe4pKRGbN1rNlk/", "elements": [ "research-dashboard-map" ], @@ -780,7 +780,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } diff --git a/public/doxa-maps/research-dashboard/research-dashboard.js b/public/doxa-maps/research-dashboard/research-dashboard.js index 510f6ea1d..91979d1bf 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard.js +++ b/public/doxa-maps/research-dashboard/research-dashboard.js @@ -1,46 +1,46 @@ -(function(){"use strict";var Gn=typeof document<"u"?document.currentScript:null;const jw="modulepreload",zw=function(e){return"/"+e},Bw={},td=function(t,n,o){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var Gn=typeof document<"u"?document.currentScript:null;const zw="modulepreload",Bw=function(e){return"/"+e},Uw={},td=function(t,n,o){let r=Promise.resolve();function s(a){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=a,window.dispatchEvent(i),!i.defaultPrevented)throw a}return r.then(a=>{for(const i of a||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function as(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Ge={},qn=[],Ut=()=>{},Ga=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),nr=e=>e.startsWith("onUpdate:"),tt=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},nd=Object.prototype.hasOwnProperty,De=(e,t)=>nd.call(e,t),we=Array.isArray,vn=e=>bo(e)==="[object Map]",or=e=>bo(e)==="[object Set]",qa=e=>bo(e)==="[object Date]",$e=e=>typeof e=="function",qe=e=>typeof e=="string",St=e=>typeof e=="symbol",je=e=>e!==null&&typeof e=="object",Va=e=>(je(e)||$e(e))&&$e(e.then)&&$e(e.catch),Ha=Object.prototype.toString,bo=e=>Ha.call(e),od=e=>bo(e).slice(8,-1),rr=e=>bo(e)==="[object Object]",sr=e=>qe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_o=as(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ar=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},rd=/-\w/g,it=ar(e=>e.replace(rd,t=>t.slice(1).toUpperCase())),sd=/\B([A-Z])/g,Et=ar(e=>e.replace(sd,"-$1").toLowerCase()),ir=ar(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=ar(e=>e?`on${ir(e)}`:""),Gt=(e,t)=>!Object.is(e,t),lr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ka=e=>{const t=qe(e)?Number(e):NaN;return isNaN(t)?e:t};let Ya;const cr=()=>Ya||(Ya=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(e){if(we(e)){const t={};for(let n=0;n{if(n){const o=n.split(id);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Me(e){let t="";if(qe(e))t=e;else if(we(e))for(let n=0;n!!(e&&e.__v_isRef===!0),fe=e=>qe(e)?e:e==null?"":we(e)||je(e)&&(e.toString===Ha||!$e(e.toString))?Za(e)?fe(e.value):JSON.stringify(e,Qa,2):String(e),Qa=(e,t)=>Za(t)?Qa(e,t.value):vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],s)=>(n[us(o,s)+" =>"]=r,n),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>us(n))}:St(t)?us(t):je(t)&&!we(t)&&!rr(t)?String(t):t,us=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function as(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const qe={},qn=[],Ut=()=>{},Ga=()=>!1,tr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),nr=e=>e.startsWith("onUpdate:"),tt=Object.assign,is=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},nd=Object.prototype.hasOwnProperty,je=(e,t)=>nd.call(e,t),we=Array.isArray,vn=e=>bo(e)==="[object Map]",or=e=>bo(e)==="[object Set]",qa=e=>bo(e)==="[object Date]",$e=e=>typeof e=="function",Ve=e=>typeof e=="string",St=e=>typeof e=="symbol",ze=e=>e!==null&&typeof e=="object",Va=e=>(ze(e)||$e(e))&&$e(e.then)&&$e(e.catch),Ha=Object.prototype.toString,bo=e=>Ha.call(e),od=e=>bo(e).slice(8,-1),rr=e=>bo(e)==="[object Object]",sr=e=>Ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_o=as(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ar=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},rd=/-\w/g,it=ar(e=>e.replace(rd,t=>t.slice(1).toUpperCase())),sd=/\B([A-Z])/g,Et=ar(e=>e.replace(sd,"-$1").toLowerCase()),ir=ar(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=ar(e=>e?`on${ir(e)}`:""),Gt=(e,t)=>!Object.is(e,t),lr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},cs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ka=e=>{const t=Ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Ya;const cr=()=>Ya||(Ya=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gt(e){if(we(e)){const t={};for(let n=0;n{if(n){const o=n.split(id);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Ne(e){let t="";if(Ve(e))t=e;else if(we(e))for(let n=0;n!!(e&&e.__v_isRef===!0),fe=e=>Ve(e)?e:e==null?"":we(e)||ze(e)&&(e.toString===Ha||!$e(e.toString))?Za(e)?fe(e.value):JSON.stringify(e,Qa,2):String(e),Qa=(e,t)=>Za(t)?Qa(e,t.value):vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r],s)=>(n[us(o,s)+" =>"]=r,n),{})}:or(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>us(n))}:St(t)?us(t):ze(t)&&!we(t)&&!rr(t)?String(t):t,us=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let st;class ei{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&&st&&(st.active?(this.parent=st,this.index=(st.scopes||(st.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(st===this)st=this.prevScope;else{let t=st;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 n,o;for(n=0,o=this.effects.length;n0)return;if(vo){let t=vo;for(vo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;yo;){let t=yo;for(yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),ms(o),pd(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wo)||(e.globalVersion=wo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=Ve,o=Mt;Ve=e,Mt=!0;try{si(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ve=n,Mt=o,ai(e),e.flags&=-3}}function ms(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ms(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function pd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Mt=!0;const li=[];function qt(){li.push(Mt),Mt=!1}function Vt(){const e=li.pop();Mt=e===void 0?!0:e}function ci(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ve;Ve=void 0;try{t()}finally{Ve=n}}}let wo=0;class gd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class bs{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(!Ve||!Mt||Ve===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ve)n=this.activeLink=new gd(Ve,this),Ve.deps?(n.prevDep=Ve.depsTail,Ve.depsTail.nextDep=n,Ve.depsTail=n):Ve.deps=Ve.depsTail=n,ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Ve.depsTail,n.nextDep=void 0,Ve.depsTail.nextDep=n,Ve.depsTail=n,Ve.deps===n&&(Ve.deps=o)}return n}trigger(t){this.version++,wo++,this.notify(t)}notify(t){ps();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{gs()}}}function ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ui(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const dr=new WeakMap,Pn=Symbol(""),_s=Symbol(""),xo=Symbol("");function ht(e,t,n){if(Mt&&Ve){let o=dr.get(e);o||dr.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new bs),r.map=o,r.key=n),r.track()}}function tn(e,t,n,o,r,s){const a=dr.get(e);if(!a){wo++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")a.forEach(i);else{const l=we(e),c=l&&sr(n);if(l&&n==="length"){const u=Number(o);a.forEach((p,b)=>{(b==="length"||b===xo||!St(b)&&b>=u)&&i(p)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(xo)),t){case"add":l?c&&i(a.get("length")):(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"delete":l||(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"set":vn(e)&&i(a.get(Pn));break}}gs()}function hd(e,t){const n=dr.get(e);return n&&n.get(t)}function Vn(e){const t=Ne(e);return t===e?t:(ht(t,"iterate",xo),At(e)?t:t.map(Nt))}function fr(e){return ht(e=Ne(e),"iterate",xo),e}function Ht(e,t){return rn(e)?Hn(on(e)?Nt(t):t):Nt(t)}const md={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Vn(this).concat(...e.map(t=>we(t)?Vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return nn(this,"every",e,t,void 0,arguments)},filter(e,t){return nn(this,"filter",e,t,n=>n.map(o=>Ht(this,o)),arguments)},find(e,t){return nn(this,"find",e,t,n=>Ht(this,n),arguments)},findIndex(e,t){return nn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nn(this,"findLast",e,t,n=>Ht(this,n),arguments)},findLastIndex(e,t){return nn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nn(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return Vn(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return nn(this,"map",e,t,void 0,arguments)},pop(){return ko(this,"pop")},push(...e){return ko(this,"push",e)},reduce(e,...t){return di(this,"reduce",e,t)},reduceRight(e,...t){return di(this,"reduceRight",e,t)},shift(){return ko(this,"shift")},some(e,t){return nn(this,"some",e,t,void 0,arguments)},splice(...e){return ko(this,"splice",e)},toReversed(){return Vn(this).toReversed()},toSorted(e){return Vn(this).toSorted(e)},toSpliced(...e){return Vn(this).toSpliced(...e)},unshift(...e){return ko(this,"unshift",e)},values(){return ys(this,"values",e=>Ht(this,e))}};function ys(e,t,n){const o=fr(e),r=o[t]();return o!==e&&!At(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=n(s.value)),s}),r}const bd=Array.prototype;function nn(e,t,n,o,r,s){const a=fr(e),i=a!==e&&!At(e),l=a[t];if(l!==bd[t]){const p=l.apply(e,s);return i?Nt(p):p}let c=n;a!==e&&(i?c=function(p,b){return n.call(this,Ht(e,p),b,e)}:n.length>2&&(c=function(p,b){return n.call(this,p,b,e)}));const u=l.call(a,c,o);return i&&r?r(u):u}function di(e,t,n,o){const r=fr(e),s=r!==e&&!At(e);let a=n,i=!1;r!==e&&(s?(i=o.length===0,a=function(c,u,p){return i&&(i=!1,c=Ht(e,c)),n.call(this,c,Ht(e,u),p,e)}):n.length>3&&(a=function(c,u,p){return n.call(this,c,u,p,e)}));const l=r[t](a,...o);return i?Ht(e,l):l}function vs(e,t,n){const o=Ne(e);ht(o,"iterate",xo);const r=o[t](...n);return(r===-1||r===!1)&&br(n[0])?(n[0]=Ne(n[0]),o[t](...n)):r}function ko(e,t,n=[]){qt(),ps();const o=Ne(e)[t].apply(e,n);return gs(),Vt(),o}const _d=as("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function yd(e){St(e)||(e=String(e));const t=Ne(this);return ht(t,"has",e),t.hasOwnProperty(e)}class pi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(r?s?yi:_i:s?bi:mi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=we(t);if(!r){let l;if(a&&(l=md[n]))return l;if(n==="hasOwnProperty")return yd}const i=Reflect.get(t,n,Ke(t)?t:o);if((St(n)?fi.has(n):_d(n))||(r||ht(t,"get",n),s))return i;if(Ke(i)){const l=a&&sr(n)?i:i.value;return r&&je(l)?xs(l):l}return je(i)?r?xs(i):In(i):i}}class gi extends pi{constructor(t=!1){super(!1,t)}set(t,n,o,r){let s=t[n];const a=we(t)&&sr(n);if(!this._isShallow){const c=rn(s);if(!At(o)&&!rn(o)&&(s=Ne(s),o=Ne(o)),!a&&Ke(s)&&!Ke(o))return c||(s.value=o),!0}const i=a?Number(n)e,pr=e=>Reflect.getPrototypeOf(e);function $d(e,t,n){return function(...o){const r=this.__v_raw,s=Ne(r),a=vn(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?ws:t?Hn:Nt;return!t&&ht(s,"iterate",l?_s:Pn),tt(Object.create(c),{next(){const{value:p,done:b}=c.next();return b?{value:p,done:b}:{value:i?[u(p[0]),u(p[1])]:u(p),done:b}}})}}function gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sd(e,t){const n={get(r){const s=this.__v_raw,a=Ne(s),i=Ne(r);e||(Gt(r,i)&&ht(a,"get",r),ht(a,"get",i));const{has:l}=pr(a),c=t?ws:e?Hn:Nt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(Ne(r),"iterate",Pn),r.size},has(r){const s=this.__v_raw,a=Ne(s),i=Ne(r);return e||(Gt(r,i)&&ht(a,"has",r),ht(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Ne(i),c=t?ws:e?Hn:Nt;return!e&&ht(l,"iterate",Pn),i.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return tt(n,e?{add:gr("add"),set:gr("set"),delete:gr("delete"),clear:gr("clear")}:{add(r){const s=Ne(this),a=pr(s),i=Ne(r),l=!t&&!At(r)&&!rn(r)?i:r;return a.has.call(s,l)||Gt(r,l)&&a.has.call(s,r)||Gt(i,l)&&a.has.call(s,i)||(s.add(l),tn(s,"add",l,l)),this},set(r,s){!t&&!At(s)&&!rn(s)&&(s=Ne(s));const a=Ne(this),{has:i,get:l}=pr(a);let c=i.call(a,r);c||(r=Ne(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Gt(s,u)&&tn(a,"set",r,s):tn(a,"add",r,s),this},delete(r){const s=Ne(this),{has:a,get:i}=pr(s);let l=a.call(s,r);l||(r=Ne(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&tn(s,"delete",r,void 0),c},clear(){const r=Ne(this),s=r.size!==0,a=r.clear();return s&&tn(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=$d(r,e,t)}),n}function hr(e,t){const n=Sd(e,t);return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(De(n,r)&&r in o?n:o,r,s)}const Ed={get:hr(!1,!1)},Ad={get:hr(!1,!0)},Cd={get:hr(!0,!1)},Td={get:hr(!0,!0)},mi=new WeakMap,bi=new WeakMap,_i=new WeakMap,yi=new WeakMap;function Ld(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return rn(e)?e:mr(e,!1,vd,Ed,mi)}function Pd(e){return mr(e,!1,xd,Ad,bi)}function xs(e){return mr(e,!0,wd,Cd,_i)}function Gw(e){return mr(e,!0,kd,Td,yi)}function mr(e,t,n,o,r){if(!je(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Ld(od(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return r.set(e,i),i}function on(e){return rn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function At(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function Ne(e){const t=e&&e.__v_raw;return t?Ne(t):e}function $o(e){return!De(e,"__v_skip")&&Object.isExtensible(e)&&Wa(e,"__v_skip",!0),e}const Nt=e=>je(e)?In(e):e,Hn=e=>je(e)?xs(e):e;function Ke(e){return e?e.__v_isRef===!0:!1}function ce(e){return vi(e,!1)}function So(e){return vi(e,!0)}function vi(e,t){return Ke(e)?e:new Id(e,t)}class Id{constructor(t,n){this.dep=new bs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Ne(t),this._value=n?t:Nt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||At(t)||rn(t);t=o?t:Ne(t),Gt(t,n)&&(this._rawValue=t,this._value=o?t:Nt(t),this.dep.trigger())}}function pe(e){return Ke(e)?e.value:e}const Md={get:(e,t,n)=>t==="__v_raw"?e:pe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Ke(r)&&!Ke(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function wi(e){return on(e)?e:new Proxy(e,Md)}function Nd(e){const t=we(e)?new Array(e.length):{};for(const n in e)t[n]=Rd(e,n);return t}class Fd{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=St(n)?n:String(n),this._raw=Ne(t);let r=!0,s=t;if(!we(t)||St(this._key)||!sr(this._key))do r=!br(s)||At(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ke(this._raw[this._key])){const n=this._object[this._key];if(Ke(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return hd(this._raw,this._key)}}function Rd(e,t,n){return new Fd(e,t,n)}class Od{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new bs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Ve!==this)return ri(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Dd(e,t,n=!1){let o,r;return $e(e)?o=e:(o=e.get,r=e.set),new Od(o,r,n)}const _r={},yr=new WeakMap;let Mn;function jd(e,t=!1,n=Mn){if(n){let o=yr.get(n);o||yr.set(n,o=[]),o.push(e)}}function zd(e,t,n=Ge){const{immediate:o,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=n,c=f=>r?f:At(f)||r===!1||r===0?sn(f,1):sn(f);let u,p,b,x,A=!1,y=!1;if(Ke(e)?(p=()=>e.value,A=At(e)):on(e)?(p=()=>c(e),A=!0):we(e)?(y=!0,A=e.some(f=>on(f)||At(f)),p=()=>e.map(f=>{if(Ke(f))return f.value;if(on(f))return c(f);if($e(f))return l?l(f,2):f()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(b){qt();try{b()}finally{Vt()}}const f=Mn;Mn=u;try{return l?l(e,3,[x]):e(x)}finally{Mn=f}}:p=Ut,t&&r){const f=p,g=r===!0?1/0:r;p=()=>sn(f(),g)}const v=ti(),E=()=>{u.stop(),v&&v.active&&is(v.effects,u)};if(s&&t){const f=t;t=(...g)=>{const k=f(...g);return E(),k}}let _=y?new Array(e.length).fill(_r):_r;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const g=u.run();if(f||r||A||(y?g.some((k,$)=>Gt(k,_[$])):Gt(g,_))){b&&b();const k=Mn;Mn=u;try{const $=[g,_===_r?void 0:y&&_[0]===_r?[]:_,x];_=g,l?l(t,3,$):t(...$)}finally{Mn=k}}}else u.run()};return i&&i(d),u=new ni(p),u.scheduler=a?()=>a(d,!1):d,x=f=>jd(f,!1,u),b=u.onStop=()=>{const f=yr.get(u);if(f){if(l)l(f,4);else for(const g of f)g();yr.delete(u)}},t?o?d(!0):_=u.run():a?a(d.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function sn(e,t=1/0,n){if(t<=0||!je(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ke(e))sn(e.value,t,n);else if(we(e))for(let o=0;o{sn(o,t,n)});else if(rr(e)){for(const o in e)sn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&sn(e[o],t,n)}return e}/** +**/let st;class ei{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&&st&&(st.active?(this.parent=st,this.index=(st.scopes||(st.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(st===this)st=this.prevScope;else{let t=st;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 n,o;for(n=0,o=this.effects.length;n0)return;if(vo){let t=vo;for(vo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;yo;){let t=yo;for(yo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function si(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ai(e){let t,n=e.depsTail,o=n;for(;o;){const r=o.prevDep;o.version===-1?(o===n&&(n=r),ms(o),pd(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=r}e.deps=t,e.depsTail=n}function hs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ii(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ii(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===wo)||(e.globalVersion=wo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!hs(e))))return;e.flags|=2;const t=e.dep,n=He,o=Nt;He=e,Nt=!0;try{si(e);const r=e.fn(e._value);(t.version===0||Gt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{He=n,Nt=o,ai(e),e.flags&=-3}}function ms(e,t=!1){const{dep:n,prevSub:o,nextSub:r}=e;if(o&&(o.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ms(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function pd(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Nt=!0;const li=[];function qt(){li.push(Nt),Nt=!1}function Vt(){const e=li.pop();Nt=e===void 0?!0:e}function ci(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=He;He=void 0;try{t()}finally{He=n}}}let wo=0;class gd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class bs{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(!He||!Nt||He===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==He)n=this.activeLink=new gd(He,this),He.deps?(n.prevDep=He.depsTail,He.depsTail.nextDep=n,He.depsTail=n):He.deps=He.depsTail=n,ui(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=He.depsTail,n.nextDep=void 0,He.depsTail.nextDep=n,He.depsTail=n,He.deps===n&&(He.deps=o)}return n}trigger(t){this.version++,wo++,this.notify(t)}notify(t){ps();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{gs()}}}function ui(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ui(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const dr=new WeakMap,Pn=Symbol(""),_s=Symbol(""),xo=Symbol("");function ht(e,t,n){if(Nt&&He){let o=dr.get(e);o||dr.set(e,o=new Map);let r=o.get(n);r||(o.set(n,r=new bs),r.map=o,r.key=n),r.track()}}function tn(e,t,n,o,r,s){const a=dr.get(e);if(!a){wo++;return}const i=l=>{l&&l.trigger()};if(ps(),t==="clear")a.forEach(i);else{const l=we(e),c=l&&sr(n);if(l&&n==="length"){const u=Number(o);a.forEach((p,b)=>{(b==="length"||b===xo||!St(b)&&b>=u)&&i(p)})}else switch((n!==void 0||a.has(void 0))&&i(a.get(n)),c&&i(a.get(xo)),t){case"add":l?c&&i(a.get("length")):(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"delete":l||(i(a.get(Pn)),vn(e)&&i(a.get(_s)));break;case"set":vn(e)&&i(a.get(Pn));break}}gs()}function hd(e,t){const n=dr.get(e);return n&&n.get(t)}function Vn(e){const t=Me(e);return t===e?t:(ht(t,"iterate",xo),At(e)?t:t.map(Mt))}function fr(e){return ht(e=Me(e),"iterate",xo),e}function Ht(e,t){return rn(e)?Hn(on(e)?Mt(t):t):Mt(t)}const md={__proto__:null,[Symbol.iterator](){return ys(this,Symbol.iterator,e=>Ht(this,e))},concat(...e){return Vn(this).concat(...e.map(t=>we(t)?Vn(t):t))},entries(){return ys(this,"entries",e=>(e[1]=Ht(this,e[1]),e))},every(e,t){return nn(this,"every",e,t,void 0,arguments)},filter(e,t){return nn(this,"filter",e,t,n=>n.map(o=>Ht(this,o)),arguments)},find(e,t){return nn(this,"find",e,t,n=>Ht(this,n),arguments)},findIndex(e,t){return nn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return nn(this,"findLast",e,t,n=>Ht(this,n),arguments)},findLastIndex(e,t){return nn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return nn(this,"forEach",e,t,void 0,arguments)},includes(...e){return vs(this,"includes",e)},indexOf(...e){return vs(this,"indexOf",e)},join(e){return Vn(this).join(e)},lastIndexOf(...e){return vs(this,"lastIndexOf",e)},map(e,t){return nn(this,"map",e,t,void 0,arguments)},pop(){return ko(this,"pop")},push(...e){return ko(this,"push",e)},reduce(e,...t){return di(this,"reduce",e,t)},reduceRight(e,...t){return di(this,"reduceRight",e,t)},shift(){return ko(this,"shift")},some(e,t){return nn(this,"some",e,t,void 0,arguments)},splice(...e){return ko(this,"splice",e)},toReversed(){return Vn(this).toReversed()},toSorted(e){return Vn(this).toSorted(e)},toSpliced(...e){return Vn(this).toSpliced(...e)},unshift(...e){return ko(this,"unshift",e)},values(){return ys(this,"values",e=>Ht(this,e))}};function ys(e,t,n){const o=fr(e),r=o[t]();return o!==e&&!At(e)&&(r._next=r.next,r.next=()=>{const s=r._next();return s.done||(s.value=n(s.value)),s}),r}const bd=Array.prototype;function nn(e,t,n,o,r,s){const a=fr(e),i=a!==e&&!At(e),l=a[t];if(l!==bd[t]){const p=l.apply(e,s);return i?Mt(p):p}let c=n;a!==e&&(i?c=function(p,b){return n.call(this,Ht(e,p),b,e)}:n.length>2&&(c=function(p,b){return n.call(this,p,b,e)}));const u=l.call(a,c,o);return i&&r?r(u):u}function di(e,t,n,o){const r=fr(e),s=r!==e&&!At(e);let a=n,i=!1;r!==e&&(s?(i=o.length===0,a=function(c,u,p){return i&&(i=!1,c=Ht(e,c)),n.call(this,c,Ht(e,u),p,e)}):n.length>3&&(a=function(c,u,p){return n.call(this,c,u,p,e)}));const l=r[t](a,...o);return i?Ht(e,l):l}function vs(e,t,n){const o=Me(e);ht(o,"iterate",xo);const r=o[t](...n);return(r===-1||r===!1)&&br(n[0])?(n[0]=Me(n[0]),o[t](...n)):r}function ko(e,t,n=[]){qt(),ps();const o=Me(e)[t].apply(e,n);return gs(),Vt(),o}const _d=as("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function yd(e){St(e)||(e=String(e));const t=Me(this);return ht(t,"has",e),t.hasOwnProperty(e)}class pi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(r?s?yi:_i:s?bi:mi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const a=we(t);if(!r){let l;if(a&&(l=md[n]))return l;if(n==="hasOwnProperty")return yd}const i=Reflect.get(t,n,Ye(t)?t:o);if((St(n)?fi.has(n):_d(n))||(r||ht(t,"get",n),s))return i;if(Ye(i)){const l=a&&sr(n)?i:i.value;return r&&ze(l)?xs(l):l}return ze(i)?r?xs(i):In(i):i}}class gi extends pi{constructor(t=!1){super(!1,t)}set(t,n,o,r){let s=t[n];const a=we(t)&&sr(n);if(!this._isShallow){const c=rn(s);if(!At(o)&&!rn(o)&&(s=Me(s),o=Me(o)),!a&&Ye(s)&&!Ye(o))return c||(s.value=o),!0}const i=a?Number(n)e,pr=e=>Reflect.getPrototypeOf(e);function $d(e,t,n){return function(...o){const r=this.__v_raw,s=Me(r),a=vn(s),i=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...o),u=n?ws:t?Hn:Mt;return!t&&ht(s,"iterate",l?_s:Pn),tt(Object.create(c),{next(){const{value:p,done:b}=c.next();return b?{value:p,done:b}:{value:i?[u(p[0]),u(p[1])]:u(p),done:b}}})}}function gr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sd(e,t){const n={get(r){const s=this.__v_raw,a=Me(s),i=Me(r);e||(Gt(r,i)&&ht(a,"get",r),ht(a,"get",i));const{has:l}=pr(a),c=t?ws:e?Hn:Mt;if(l.call(a,r))return c(s.get(r));if(l.call(a,i))return c(s.get(i));s!==a&&s.get(r)},get size(){const r=this.__v_raw;return!e&&ht(Me(r),"iterate",Pn),r.size},has(r){const s=this.__v_raw,a=Me(s),i=Me(r);return e||(Gt(r,i)&&ht(a,"has",r),ht(a,"has",i)),r===i?s.has(r):s.has(r)||s.has(i)},forEach(r,s){const a=this,i=a.__v_raw,l=Me(i),c=t?ws:e?Hn:Mt;return!e&&ht(l,"iterate",Pn),i.forEach((u,p)=>r.call(s,c(u),c(p),a))}};return tt(n,e?{add:gr("add"),set:gr("set"),delete:gr("delete"),clear:gr("clear")}:{add(r){const s=Me(this),a=pr(s),i=Me(r),l=!t&&!At(r)&&!rn(r)?i:r;return a.has.call(s,l)||Gt(r,l)&&a.has.call(s,r)||Gt(i,l)&&a.has.call(s,i)||(s.add(l),tn(s,"add",l,l)),this},set(r,s){!t&&!At(s)&&!rn(s)&&(s=Me(s));const a=Me(this),{has:i,get:l}=pr(a);let c=i.call(a,r);c||(r=Me(r),c=i.call(a,r));const u=l.call(a,r);return a.set(r,s),c?Gt(s,u)&&tn(a,"set",r,s):tn(a,"add",r,s),this},delete(r){const s=Me(this),{has:a,get:i}=pr(s);let l=a.call(s,r);l||(r=Me(r),l=a.call(s,r)),i&&i.call(s,r);const c=s.delete(r);return l&&tn(s,"delete",r,void 0),c},clear(){const r=Me(this),s=r.size!==0,a=r.clear();return s&&tn(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=$d(r,e,t)}),n}function hr(e,t){const n=Sd(e,t);return(o,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(je(n,r)&&r in o?n:o,r,s)}const Ed={get:hr(!1,!1)},Ad={get:hr(!1,!0)},Cd={get:hr(!0,!1)},Td={get:hr(!0,!0)},mi=new WeakMap,bi=new WeakMap,_i=new WeakMap,yi=new WeakMap;function Ld(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function In(e){return rn(e)?e:mr(e,!1,vd,Ed,mi)}function Pd(e){return mr(e,!1,xd,Ad,bi)}function xs(e){return mr(e,!0,wd,Cd,_i)}function qw(e){return mr(e,!0,kd,Td,yi)}function mr(e,t,n,o,r){if(!ze(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=r.get(e);if(s)return s;const a=Ld(od(e));if(a===0)return e;const i=new Proxy(e,a===2?o:n);return r.set(e,i),i}function on(e){return rn(e)?on(e.__v_raw):!!(e&&e.__v_isReactive)}function rn(e){return!!(e&&e.__v_isReadonly)}function At(e){return!!(e&&e.__v_isShallow)}function br(e){return e?!!e.__v_raw:!1}function Me(e){const t=e&&e.__v_raw;return t?Me(t):e}function $o(e){return!je(e,"__v_skip")&&Object.isExtensible(e)&&Wa(e,"__v_skip",!0),e}const Mt=e=>ze(e)?In(e):e,Hn=e=>ze(e)?xs(e):e;function Ye(e){return e?e.__v_isRef===!0:!1}function ue(e){return vi(e,!1)}function So(e){return vi(e,!0)}function vi(e,t){return Ye(e)?e:new Id(e,t)}class Id{constructor(t,n){this.dep=new bs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Me(t),this._value=n?t:Mt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||At(t)||rn(t);t=o?t:Me(t),Gt(t,n)&&(this._rawValue=t,this._value=o?t:Mt(t),this.dep.trigger())}}function pe(e){return Ye(e)?e.value:e}const Nd={get:(e,t,n)=>t==="__v_raw"?e:pe(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return Ye(r)&&!Ye(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function wi(e){return on(e)?e:new Proxy(e,Nd)}function Md(e){const t=we(e)?new Array(e.length):{};for(const n in e)t[n]=Rd(e,n);return t}class Fd{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=St(n)?n:String(n),this._raw=Me(t);let r=!0,s=t;if(!we(t)||St(this._key)||!sr(this._key))do r=!br(s)||At(s);while(r&&(s=s.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=pe(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ye(this._raw[this._key])){const n=this._object[this._key];if(Ye(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return hd(this._raw,this._key)}}function Rd(e,t,n){return new Fd(e,t,n)}class Od{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new bs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=wo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&He!==this)return ri(this,!0),!0}get value(){const t=this.dep.track();return ii(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Dd(e,t,n=!1){let o,r;return $e(e)?o=e:(o=e.get,r=e.set),new Od(o,r,n)}const _r={},yr=new WeakMap;let Nn;function jd(e,t=!1,n=Nn){if(n){let o=yr.get(n);o||yr.set(n,o=[]),o.push(e)}}function zd(e,t,n=qe){const{immediate:o,deep:r,once:s,scheduler:a,augmentJob:i,call:l}=n,c=f=>r?f:At(f)||r===!1||r===0?sn(f,1):sn(f);let u,p,b,x,A=!1,y=!1;if(Ye(e)?(p=()=>e.value,A=At(e)):on(e)?(p=()=>c(e),A=!0):we(e)?(y=!0,A=e.some(f=>on(f)||At(f)),p=()=>e.map(f=>{if(Ye(f))return f.value;if(on(f))return c(f);if($e(f))return l?l(f,2):f()})):$e(e)?t?p=l?()=>l(e,2):e:p=()=>{if(b){qt();try{b()}finally{Vt()}}const f=Nn;Nn=u;try{return l?l(e,3,[x]):e(x)}finally{Nn=f}}:p=Ut,t&&r){const f=p,g=r===!0?1/0:r;p=()=>sn(f(),g)}const v=ti(),C=()=>{u.stop(),v&&v.active&&is(v.effects,u)};if(s&&t){const f=t;t=(...g)=>{const k=f(...g);return C(),k}}let _=y?new Array(e.length).fill(_r):_r;const d=f=>{if(!(!(u.flags&1)||!u.dirty&&!f))if(t){const g=u.run();if(f||r||A||(y?g.some((k,$)=>Gt(k,_[$])):Gt(g,_))){b&&b();const k=Nn;Nn=u;try{const $=[g,_===_r?void 0:y&&_[0]===_r?[]:_,x];_=g,l?l(t,3,$):t(...$)}finally{Nn=k}}}else u.run()};return i&&i(d),u=new ni(p),u.scheduler=a?()=>a(d,!1):d,x=f=>jd(f,!1,u),b=u.onStop=()=>{const f=yr.get(u);if(f){if(l)l(f,4);else for(const g of f)g();yr.delete(u)}},t?o?d(!0):_=u.run():a?a(d.bind(null,!0),!0):u.run(),C.pause=u.pause.bind(u),C.resume=u.resume.bind(u),C.stop=C,C}function sn(e,t=1/0,n){if(t<=0||!ze(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ye(e))sn(e.value,t,n);else if(we(e))for(let o=0;o{sn(o,t,n)});else if(rr(e)){for(const o in e)sn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&sn(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const Eo=[];let ks=!1;function qw(e,...t){if(ks)return;ks=!0,qt();const n=Eo.length?Eo[Eo.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=Bd();if(o)Wn(o,n,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,r.map(({vnode:s})=>`at <${vl(n,s.type)}>`).join(` +**/const Eo=[];let ks=!1;function Vw(e,...t){if(ks)return;ks=!0,qt();const n=Eo.length?Eo[Eo.length-1].component:null,o=n&&n.appContext.config.warnHandler,r=Bd();if(o)Wn(o,n,11,[e+t.map(s=>{var a,i;return(i=(a=s.toString)==null?void 0:a.call(s))!=null?i:JSON.stringify(s)}).join(""),n&&n.proxy,r.map(({vnode:s})=>`at <${vl(n,s.type)}>`).join(` `),r]);else{const s=[`[Vue warn]: ${e}`,...t];r.length&&s.push(` `,...Ud(r)),console.warn(...s)}Vt(),ks=!1}function Bd(){let e=Eo[Eo.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Ud(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Gd(n))}),t}function Gd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,o)}`,s=">"+n;return e.props?[r,...qd(e.props),s]:[r+s]}function qd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...xi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function xi(e,t,n){return qe(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ke(t)?(t=xi(e,Ne(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ne(t),n?t:[`${e}=`,t])}function Wn(e,t,n,o){try{return o?e(...o):e()}catch(r){Ao(r,t,n)}}function Ft(e,t,n,o){if($e(e)){const r=Wn(e,t,n,o);return r&&Va(r)&&r.catch(s=>{Ao(s,t,n)}),r}if(we(e)){const r=[];for(let s=0;s>>1,r=bt[o],s=Co(r);s=Co(n)?bt.push(e):bt.splice(Hd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Wd(e){if(!we(e))wn&&e.id===-1?wn.splice(Yn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCo(n)-Co(o));if(Kn.length=0,wn){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Wt=0;Wt{o._d&&Pr(-1);const s=wr(t),a=ln.length;let i;try{i=e(...r)}finally{for(let l=ln.length;l>a;l--)Us();wr(s),o._d&&Pr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Rt(e,t){if(ct===null)return e;const n=Fr(ct),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&$e(t)?t.call(o&&o.proxy):t}}function Kd(){return!!(un()||On)}const Yd=Symbol.for("v-scx"),Xd=()=>Se(Yd);function Jd(e,t){return Ss(e,null,t)}function mt(e,t,n){return Ss(e,t,n)}function Ss(e,t,n=Ge){const{immediate:o,deep:r,flush:s,once:a}=n,i=tt({},n),l=t&&o||!t&&s!=="post";let c;if(Qn){if(s==="sync"){const x=Xd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ut,x.resume=Ut,x.pause=Ut,x}}const u=dt;i.call=(x,A,y)=>Ft(x,u,A,y);let p=!1;s==="post"?i.scheduler=x=>{yt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,A)=>{A?x():$s(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const b=zd(e,t,i);return Qn&&(c?c.push(b):l&&b()),b}function Zd(e,t,n){const o=this.proxy,r=qe(e)?e.includes(".")?Ti(o,e):()=>o[e]:e.bind(o,o);let s;$e(t)?s=t:(s=t.handler,n=t);const a=jo(this),i=Ss(r,s.bind(o),n);return a(),i}function Ti(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Rn=e=>e&&(e.disabled||e.disabled===""),Qd=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Es=(e,t)=>{const n=e&&e.to;return qe(n)?t?t(n):null:n},ef={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,s,a,i,l,c){const{mc:u,pc:p,pbc:b,o:{insert:x,querySelector:A,createText:y,createComment:v,parentNode:E}}=c,_=Rn(t.props);let{dynamicChildren:d}=t;const f=($,M,S)=>{$.shapeFlag&16&&u($.children,M,S,r,s,a,i,l)},g=($=t)=>{const M=Rn($.props),S=$.target=Es($.props,A),O=As(S,$,y,x);S&&(a!=="svg"&&Pi(S)?a="svg":a!=="mathml"&&Ii(S)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(S),M||(f($,S,O),To($,!1)))},k=$=>{const M=()=>{if(xn.get($)===M){if(xn.delete($),Rn($.props)){const S=E($.el)||n;f($,S,$.anchor),To($,!0)}g($)}};xn.set($,M),yt(M,s)};if(e==null){const $=t.el=y(""),M=t.anchor=y("");if(x($,n,o),x(M,n,o),Qd(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,n,M),To(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,M=xn.get(e);if(M){M.flags|=8,xn.delete(e),k(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,O=t.targetAnchor=e.targetAnchor,q=Rn(e.props),J=q?n:S,he=q?$:O;if(a==="svg"||Pi(S)?a="svg":(a==="mathml"||Ii(S))&&(a="mathml"),d?(b(e.dynamicChildren,d,J,r,s,a,i),zs(e,t,!0)):l||p(e,t,J,he,r,s,a,i,!1),_)q?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const B=Es(t.props,A);B&&(t.target=B,kr(t,B,null,c,0))}else q&&kr(t,S,O,c,1);To(t,_)}},remove(e,t,n,{um:o,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:b}=e,x=Rn(b),A=s||!x,y=xn.get(e);if(y&&(y.flags|=8,xn.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const n of e)if(n.type!==Kt){t=n;break}}return t}function Mi(e){if(!Er(e))return xr(e.type)&&e.children?of(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&$e(n.default))return n.default()}}function Ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ts(xr(n.type)&&Mi(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lo(e,t){return $e(e)?tt({name:e.name},t,{setup:e}):e}function Ls(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ni(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const $r=new WeakMap;function Po(e,t,n,o,r=!1){if(we(e)){e.forEach((y,v)=>Po(y,t&&(we(t)?t[v]:t),n,o,r));return}if(Jn(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Po(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fr(o.component):o.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Ge?i.refs={}:i.refs,p=i.setupState,b=Ne(p),x=p===Ge?Ga:y=>Ni(u,y)?!1:De(b,y),A=(y,v)=>!(v&&Ni(u,v));if(c!=null&&c!==l){if(Fi(t),qe(c))u[c]=null,x(c)&&(p[c]=null);else if(Ke(c)){const y=t;A(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if($e(l))Wn(l,i,12,[a,u]);else{const y=qe(l),v=Ke(l);if(y||v){const E=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)we(_)&&is(_,s);else if(we(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];A(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(A(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{E(),$r.delete(e)};_.id=-1,$r.set(e,_),yt(_,n)}else Fi(e),E()}}}function Fi(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Ri=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function rf(e,t){if(Ri(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Ri(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;function sf(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const b=()=>(p++,c=null,x()),x=()=>{let A;return c||(A=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,E)=>{l(y,()=>v(b()),()=>E(y),p+1)});throw y}).then(y=>A!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Lo({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(A,y,v){const E=A.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!A.parentNode||E&&!A.isConnected||v()},f=s?()=>{const g=s(d,k=>rf(A,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const A=dt;if(Ls(A),u)return()=>Sr(u,A);const y=g=>{c=null,Ao(g,A,13,!o)};if(i&&A.suspense||Qn)return x().then(g=>()=>Sr(g,A)).catch(g=>(y(g),()=>o?Ie(o,{error:g}):null));const v=ce(!1),E=ce(),_=ce(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{A.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!A.isUnmounted&&!v.value&&!E.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),E.value=g}},a)),x().then(()=>{A.isUnmounted||(v.value=!0,A.parent&&Er(A.parent.vnode)&&A.parent.update())}).catch(g=>{if(A.isUnmounted){c=null;return}y(g),E.value=g}),()=>{if(v.value&&u)return Sr(u,A);if(E.value&&o)return Ie(o,{error:E.value});if(n&&!_.value)return Sr(n,A)}}})}function Sr(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,a=Ie(e,o,r);return a.ref=n,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function af(e,t){Oi(e,"a",t)}function lf(e,t){Oi(e,"da",t)}function Oi(e,t,n=dt){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&cf(o,t,n,r),r=r.parent}}function cf(e,t,n,o){const r=Ar(t,e,o,!0);Cr(()=>{is(o[t],r)},n)}function Ar(e,t,n=dt,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const i=jo(n),l=Ft(t,n,e,a);return i(),Vt(),l});return o?r.unshift(s):r.push(s),s}}const an=e=>(t,n=dt)=>{(!Qn||e==="sp")&&Ar(e,(...o)=>t(...o),n)},Di=an("bm"),xt=an("m"),uf=an("bu"),df=an("u"),Ot=an("bum"),Cr=an("um"),ff=an("sp"),pf=an("rtg"),gf=an("rtc");function hf(e,t=dt){Ar("ec",e,t)}const mf="components",ji=Symbol.for("v-ndc");function zi(e){return qe(e)?bf(mf,e,!1)||e:e||ji}function bf(e,t,n=!0,o=!1){const r=ct||dt;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&o?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function Qe(e,t,n,o){let r;const s=n,a=we(e);if(a||qe(e)){const i=a&&on(e);let l=!1,c=!1;i&&(l=!At(e),c=rn(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return Q(),Yt(Ae,null,[Ie("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=ln.length;Q();let l;try{const c=a&&Ui(a(n)),u=n.key||s||c&&c.key;l=Yt(Ae,{key:(u&&!St(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=ln.length;u>i;u--)Us();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Ro(t)?!(t.type===Kt||t.type===Ae&&!Ui(t.children)):!0)?e:null}const Is=e=>e?ml(e)?Fr(e):Is(e.parent):null,Io=tt(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=>Is(e.parent),$root:e=>Is(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Hi(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Nn.bind(e.proxy)),$watch:e=>Zd.bind(e)}),Ms=(e,t)=>e!==Ge&&!e.__isScriptSetup&&De(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Ms(o,t))return a[t]=1,o[t];if(r!==Ge&&De(r,t))return a[t]=2,r[t];if(De(s,t))return a[t]=3,s[t];if(n!==Ge&&De(n,t))return a[t]=4,n[t];Ns&&(a[t]=0)}}const c=Io[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==Ge&&De(n,t))return a[t]=4,n[t];if(p=l.config.globalProperties,De(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return Ms(r,t)?(r[t]=n,!0):o!==Ge&&De(o,t)?(o[t]=n,!0):De(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:s,type:a}},i){let l;return!!(n[i]||e!==Ge&&i[0]!=="$"&&De(e,i)||Ms(t,i)||De(s,i)||De(o,i)||De(Io,i)||De(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:De(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Gi(e){return we(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ns=!0;function yf(e){const t=Hi(e),n=e.proxy,o=e.ctx;Ns=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:b,beforeUpdate:x,updated:A,activated:y,deactivated:v,beforeDestroy:E,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:M,serverPrefetch:S,expose:O,inheritAttrs:q,components:J,directives:he,filters:B}=t;if(c&&vf(c,o,null),a)for(const T in a){const R=a[T];$e(R)&&(o[T]=R.bind(n))}if(r){const T=r.call(n,n);je(T)&&(e.data=In(T))}if(Ns=!0,s)for(const T in s){const R=s[T],z=$e(R)?R.bind(n,n):$e(R.get)?R.get.bind(n,n):Ut,Y=!$e(R)&&$e(R.set)?R.set.bind(n):Ut,ee=re({get:z,set:Y});Object.defineProperty(o,T,{enumerable:!0,configurable:!0,get:()=>ee.value,set:K=>ee.value=K})}if(i)for(const T in i)Vi(i[T],o,n,T);if(l){const T=$e(l)?l.call(n):l;Reflect.ownKeys(T).forEach(R=>{ut(R,T[R])})}u&&qi(u,e,"c");function L(T,R){we(R)?R.forEach(z=>T(z.bind(n))):R&&T(R.bind(n))}if(L(Di,p),L(xt,b),L(uf,x),L(df,A),L(af,y),L(lf,v),L(hf,M),L(gf,k),L(pf,$),L(Ot,_),L(Cr,f),L(ff,S),we(O))if(O.length){const T=e.exposed||(e.exposed={});O.forEach(R=>{Object.defineProperty(T,R,{get:()=>n[R],set:z=>n[R]=z,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ut&&(e.render=g),q!=null&&(e.inheritAttrs=q),J&&(e.components=J),he&&(e.directives=he),S&&Ls(e)}function vf(e,t,n=Ut){we(e)&&(e=Fs(e));for(const o in e){const r=e[o];let s;je(r)?"default"in r?s=Se(r.from||o,r.default,!0):s=Se(r.from||o):s=Se(r),Ke(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[o]=s}}function qi(e,t,n){Ft(we(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vi(e,t,n,o){let r=o.includes(".")?Ti(n,o):()=>n[o];if(qe(e)){const s=t[e];$e(s)&&mt(r,s)}else if($e(e))mt(r,e.bind(n));else if(je(e))if(we(e))e.forEach(s=>Vi(s,t,n,o));else{const s=$e(e.handler)?e.handler.bind(n):t[e.handler];$e(s)&&mt(r,s,e)}}function Hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),je(t)&&s.set(t,l),l}function Tr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,n,!0),r&&r.forEach(a=>Tr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=wf[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const wf={data:Wi,props:Ki,emits:Ki,methods:Mo,computed:Mo,beforeCreate:_t,created:_t,beforeMount:_t,mounted:_t,beforeUpdate:_t,updated:_t,beforeDestroy:_t,beforeUnmount:_t,destroyed:_t,unmounted:_t,activated:_t,deactivated:_t,errorCaptured:_t,serverPrefetch:_t,components:Mo,directives:Mo,watch:kf,provide:Wi,inject:xf};function Wi(e,t){return t?e?function(){return tt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function xf(e,t){return Mo(Fs(e),Fs(t))}function Fs(e){if(we(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function Af(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Ge;let r=n;const s=t.startsWith("update:"),a=s&&Ef(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>qe(u)?u.trim():u)),a.number&&(r=r.map(cs)));let i,l=o[i=ls(t)]||o[i=ls(it(t))];!l&&s&&(l=o[i=ls(Et(t))]),l&&Ft(l,e,6,r);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ft(c,e,6,r)}}const Cf=new WeakMap;function Xi(e,t,n=!1){const o=n?Cf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!$e(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,tt(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(je(e)&&o.set(e,null),null):(we(s)?s.forEach(l=>a[l]=null):tt(a,s),je(e)&&o.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),De(e,t[0].toLowerCase()+t.slice(1))||De(e,Et(t))||De(e,t))}function Vw(){}function Ji(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:b,setupState:x,ctx:A,inheritAttrs:y}=e,v=wr(e);let E,_;try{if(n.shapeFlag&4){const f=r||o,g=f;E=Xt(c.call(g,f,u,p,x,b,A)),_=i}else{const f=t;E=Xt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:Tf(i)}}catch(f){ln.length=0,Ao(f,e,1),E=Ie(Kt)}let d=E;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(nr)&&(_=Lf(_,s)),d=Zn(d,_,!1,!0))}if(n.dirs&&(d=Zn(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(n.dirs):n.dirs),n.transition){const f=xr(d.type)&&Mi(d)||d;Ts(f,n.transition)}return E=d,wr(v),E}const Tf=e=>{let t;for(const n in e)(n==="class"||n==="style"||tr(n))&&((t||(t={}))[n]=e[n]);return t},Lf=(e,t)=>{const n={};for(const o in e)(!nr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Pf(e,t,n){const{props:o,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Zi(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),nl=e=>Object.getPrototypeOf(e)===el;function Mf(e,t,n,o=!1){const r={},s=tl();e.propsDefaults=Object.create(null),ol(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Pd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Nf(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Ne(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[b,x]=rl(p,t,!0);tt(a,b),x&&i.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return je(e)&&o.set(e,qn),qn;if(we(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ds=e=>we(e)?e.map(Xt):[Xt(e)],Rf=(e,t,n)=>{if(t._n)return t;const o=Xn((...r)=>Ds(t(...r)),n);return o._c=!1,o},al=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Os(r))continue;const s=e[r];if($e(s))t[r]=Rf(r,s,o);else if(s!=null){const a=Ds(s);t[r]=()=>a}}},il=(e,t)=>{const n=Ds(t);e.slots.default=()=>n},ll=(e,t,n)=>{for(const o in t)(n||!Os(o))&&(e[o]=t[o])},Of=(e,t,n)=>{const o=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(o,t,n),n&&Wa(o,"_",r,!0)):al(t,o)}else t&&il(e,t)},Df=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,a=Ge;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:ll(r,t,n):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Os(i)&&a[i]==null&&delete r[i]},yt=Gf;function jf(e){return zf(e)}function zf(e,t){const n=cr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:b,setScopeId:x=Ut,insertStaticContent:A}=e,y=(w,I,C,U=null,V=null,Z=null,ae=void 0,se=null,h=!!I.dynamicChildren)=>{if(w===I)return;w&&!Oo(w,I)&&(U=Te(w),K(w,V,Z,!0),w=null),I.patchFlag===-2&&(h=!1,I.dynamicChildren=null);const{type:m,ref:j,shapeFlag:G}=I;switch(m){case No:v(w,I,C,U);break;case Kt:E(w,I,C,U);break;case Bs:w==null&&_(I,C,U,ae);break;case Ae:J(w,I,C,U,V,Z,ae,se,h);break;default:G&1?g(w,I,C,U,V,Z,ae,se,h):G&6?he(w,I,C,U,V,Z,ae,se,h):(G&64||G&128)&&m.process(w,I,C,U,V,Z,ae,se,h,Ue)}j!=null&&V?Po(j,w&&w.ref,Z,I||w,!I):j==null&&w&&w.ref!=null&&Po(w.ref,null,Z,w,!0)},v=(w,I,C,U)=>{if(w==null)o(I.el=i(I.children),C,U);else{const V=I.el=w.el;I.children!==w.children&&c(V,I.children)}},E=(w,I,C,U)=>{w==null?o(I.el=l(I.children||""),C,U):I.el=w.el},_=(w,I,C,U)=>{[w.el,w.anchor]=A(w.children,I,C,U,w.el,w.anchor)},d=({el:w,anchor:I},C,U)=>{let V;for(;w&&w!==I;)V=b(w),o(w,C,U),w=V;o(I,C,U)},f=({el:w,anchor:I})=>{let C;for(;w&&w!==I;)C=b(w),r(w),w=C;r(I)},g=(w,I,C,U,V,Z,ae,se,h)=>{if(I.type==="svg"?ae="svg":I.type==="math"&&(ae="mathml"),w==null)k(I,C,U,V,Z,ae,se,h);else{const m=w.el&&w.el._isVueCE?w.el:null;try{m&&m._beginPatch(),S(w,I,V,Z,ae,se,h)}finally{m&&m._endPatch()}}},k=(w,I,C,U,V,Z,ae,se)=>{let h,m;const{props:j,shapeFlag:G,transition:le,dirs:oe}=w;if(h=w.el=a(w.type,Z,j&&j.is,j),G&8?u(h,w.children):G&16&&M(w.children,h,null,U,V,js(w,Z),ae,se),oe&&Fn(w,null,U,"created"),$(h,w,w.scopeId,ae,U),j){for(const P in j)P!=="value"&&!_o(P)&&s(h,P,null,j[P],Z,U);"value"in j&&s(h,"value",null,j.value,Z),(m=j.onVnodeBeforeMount)&&Jt(m,U,w)}oe&&Fn(w,null,U,"beforeMount");const D=Bf(V,le);D&&le.beforeEnter(h),o(h,I,C),((m=j&&j.onVnodeMounted)||D||oe)&&yt(()=>{try{m&&Jt(m,U,w),D&&le.enter(h),oe&&Fn(w,null,U,"mounted")}finally{}},V)},$=(w,I,C,U,V)=>{if(C&&x(w,C),U)for(let Z=0;Z{for(let m=h;m{const se=I.el=w.el;let{patchFlag:h,dynamicChildren:m,dirs:j}=I;h|=w.patchFlag&16;const G=w.props||Ge,le=I.props||Ge;let oe;if(C&&Dn(C,!1),(oe=le.onVnodeBeforeUpdate)&&Jt(oe,C,I,w),j&&Fn(I,w,C,"beforeUpdate"),C&&Dn(C,!0),m&&(!w.dynamicChildren||w.dynamicChildren.length!==m.length)&&(h=0,ae=!1,m=null),(G.innerHTML&&le.innerHTML==null||G.textContent&&le.textContent==null)&&u(se,""),m?O(w.dynamicChildren,m,se,C,U,js(I,V),Z):ae||R(w,I,se,null,C,U,js(I,V),Z,!1),h>0){if(h&16)q(se,G,le,C,V);else if(h&2&&G.class!==le.class&&s(se,"class",null,le.class,V),h&4&&s(se,"style",G.style,le.style,V),h&8){const D=I.dynamicProps;for(let P=0;P{oe&&Jt(oe,C,I,w),j&&Fn(I,w,C,"updated")},U)},O=(w,I,C,U,V,Z,ae)=>{for(let se=0;se{if(I!==C){if(I!==Ge)for(const Z in I)!_o(Z)&&!(Z in C)&&s(w,Z,I[Z],null,V,U);for(const Z in C){if(_o(Z))continue;const ae=C[Z],se=I[Z];ae!==se&&Z!=="value"&&s(w,Z,se,ae,V,U)}"value"in C&&s(w,"value",I.value,C.value,V)}},J=(w,I,C,U,V,Z,ae,se,h)=>{const m=I.el=w?w.el:i(""),j=I.anchor=w?w.anchor:i("");let{patchFlag:G,dynamicChildren:le,slotScopeIds:oe}=I;oe&&(se=se?se.concat(oe):oe),w==null?(o(m,C,U),o(j,C,U),M(I.children||[],C,j,V,Z,ae,se,h)):G>0&&G&64&&le&&w.dynamicChildren&&w.dynamicChildren.length===le.length?(O(w.dynamicChildren,le,C,V,Z,ae,se),(I.key!=null||V&&I===V.subTree)&&zs(w,I,!0)):R(w,I,C,j,V,Z,ae,se,h)},he=(w,I,C,U,V,Z,ae,se,h)=>{I.slotScopeIds=se,w==null?I.shapeFlag&512?V.ctx.activate(I,C,U,ae,h):B(I,C,U,V,Z,ae,h):H(w,I,h)},B=(w,I,C,U,V,Z,ae)=>{const se=w.component=Yf(w,U,V);if(Er(w)&&(se.ctx.renderer=Ue),Xf(se,!1,ae),se.asyncDep){if(V&&V.registerDep(se,L,ae),!w.el){const h=se.subTree=Ie(Kt);E(null,h,I,C),w.placeholder=h.el}}else L(se,w,I,C,V,Z,ae)},H=(w,I,C)=>{const U=I.component=w.component;if(Pf(w,I,C))if(U.asyncDep&&!U.asyncResolved){T(U,I,C);return}else U.next=I,U.update();else I.el=w.el,U.vnode=I},L=(w,I,C,U,V,Z,ae)=>{const se=()=>{if(w.isMounted){let{next:G,bu:le,u:oe,parent:D,vnode:P}=w;{const Fe=cl(w);if(Fe){G&&(G.el=P.el,T(w,G,ae)),Fe.asyncDep.then(()=>{yt(()=>{w.isUnmounted||m()},V)});return}}let X=G,te;Dn(w,!1),G?(G.el=P.el,T(w,G,ae)):G=P,le&&lr(le),(te=G.props&&G.props.onVnodeBeforeUpdate)&&Jt(te,D,G,P),Dn(w,!0);const me=Ji(w),ve=w.subTree;w.subTree=me,y(ve,me,p(ve.el),Te(ve),w,V,Z),G.el=me.el,X===null&&If(w,me.el),oe&&yt(oe,V),(te=G.props&&G.props.onVnodeUpdated)&&yt(()=>Jt(te,D,G,P),V)}else{let G;const{el:le,props:oe}=I,{bm:D,m:P,parent:X,root:te,type:me}=w,ve=Jn(I);Dn(w,!1),D&&lr(D),!ve&&(G=oe&&oe.onVnodeBeforeMount)&&Jt(G,X,I),Dn(w,!0);{te.ce&&te.ce._hasShadowRoot()&&te.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const Fe=w.subTree=Ji(w);y(null,Fe,C,U,w,V,Z),I.el=Fe.el}if(P&&yt(P,V),!ve&&(G=oe&&oe.onVnodeMounted)){const Fe=I;yt(()=>Jt(G,X,Fe),V)}(I.shapeFlag&256||X&&Jn(X.vnode)&&X.vnode.shapeFlag&256)&&w.a&&yt(w.a,V),w.isMounted=!0,I=C=U=null}};w.scope.on();const h=w.effect=new ni(se);w.scope.off();const m=w.update=h.run.bind(h),j=w.job=h.runIfDirty.bind(h);j.i=w,j.id=w.uid,h.scheduler=()=>$s(j),Dn(w,!0),m()},T=(w,I,C)=>{I.component=w;const U=w.vnode.props;w.vnode=I,w.next=null,Nf(w,I.props,U,C),Df(w,I.children,C),qt(),Si(w),Vt()},R=(w,I,C,U,V,Z,ae,se,h=!1)=>{const m=w&&w.children,j=w?w.shapeFlag:0,G=I.children,{patchFlag:le,shapeFlag:oe}=I;if(le>0){if(le&128){Y(m,G,C,U,V,Z,ae,se,h);return}else if(le&256){z(m,G,C,U,V,Z,ae,se,h);return}}oe&8?(j&16&&_e(m,V,Z),G!==m&&u(C,G)):j&16?oe&16?Y(m,G,C,U,V,Z,ae,se,h):_e(m,V,Z,!0):(j&8&&u(C,""),oe&16&&M(G,C,U,V,Z,ae,se,h))},z=(w,I,C,U,V,Z,ae,se,h)=>{w=w||qn,I=I||qn;const m=w.length,j=I.length,G=Math.min(m,j);let le;for(le=0;lej?_e(w,V,Z,!0,!1,G):M(I,C,U,V,Z,ae,se,h,G)},Y=(w,I,C,U,V,Z,ae,se,h)=>{let m=0;const j=I.length;let G=w.length-1,le=j-1;for(;m<=G&&m<=le;){const oe=w[m],D=I[m]=h?cn(I[m]):Xt(I[m]);if(Oo(oe,D))y(oe,D,C,null,V,Z,ae,se,h);else break;m++}for(;m<=G&&m<=le;){const oe=w[G],D=I[le]=h?cn(I[le]):Xt(I[le]);if(Oo(oe,D))y(oe,D,C,null,V,Z,ae,se,h);else break;G--,le--}if(m>G){if(m<=le){const oe=le+1,D=oele)for(;m<=G;)K(w[m],V,Z,!0),m++;else{const oe=m,D=m,P=new Map;for(m=D;m<=le;m++){const Ze=I[m]=h?cn(I[m]):Xt(I[m]);Ze.key!=null&&P.set(Ze.key,m)}let X,te=0;const me=le-D+1;let ve=!1,Fe=0;const et=new Array(me);for(m=0;m=me){K(Ze,V,Z,!0);continue}let Lt;if(Ze.key!=null)Lt=P.get(Ze.key);else for(X=D;X<=le;X++)if(et[X-D]===0&&Oo(Ze,I[X])){Lt=X;break}Lt===void 0?K(Ze,V,Z,!0):(et[Lt-D]=m+1,Lt>=Fe?Fe=Lt:ve=!0,y(Ze,I[Lt],C,null,V,Z,ae,se,h),te++)}const wt=ve?Uf(et):qn;for(X=wt.length-1,m=me-1;m>=0;m--){const Ze=D+m,Lt=I[Ze],Qo=I[Ze+1],er=Ze+1{const{el:Z,type:ae,transition:se,children:h,shapeFlag:m}=w;if(m&6){ee(w.component.subTree,I,C,U);return}if(m&128){w.suspense.move(I,C,U);return}if(m&64){ae.move(w,I,C,Ue);return}if(ae===Ae){o(Z,I,C);for(let G=0;Gse.enter(Z),V));else{const{leave:G,delayLeave:le,afterLeave:oe}=se,D=()=>{w.ctx.isUnmounted?r(Z):o(Z,I,C)},P=()=>{const X=Z._isLeaving||!!Z[Cs];Z._isLeaving&&Z[Cs](!0),se.persisted&&!X?D():G(Z,()=>{D(),oe&&oe()})};le?le(Z,D,P):P()}else o(Z,I,C)},K=(w,I,C,U=!1,V=!1)=>{const{type:Z,props:ae,ref:se,children:h,dynamicChildren:m,shapeFlag:j,patchFlag:G,dirs:le,cacheIndex:oe,memo:D}=w;if(G===-2&&(V=!1),se!=null&&(qt(),Po(se,null,C,w,!0),Vt()),oe!=null&&(I.renderCache[oe]=void 0),j&256){I.ctx.deactivate(w);return}const P=j&1&&le,X=!Jn(w);let te;if(X&&(te=ae&&ae.onVnodeBeforeUnmount)&&Jt(te,I,w),j&6)Ce(w.component,C,U);else{if(j&128){w.suspense.unmount(C,U);return}P&&Fn(w,null,I,"beforeUnmount"),j&64?w.type.remove(w,I,C,Ue,U):m&&!m.hasOnce&&(Z!==Ae||G>0&&G&64)?_e(m,I,C,!1,!0):(Z===Ae&&G&384||!V&&j&16)&&_e(h,I,C),U&&ue(w)}const me=D!=null&&oe==null;(X&&(te=ae&&ae.onVnodeUnmounted)||P||me)&&yt(()=>{te&&Jt(te,I,w),P&&Fn(w,null,I,"unmounted"),me&&(w.el=null)},C)},ue=w=>{const{type:I,el:C,anchor:U,transition:V}=w;if(I===Ae){ge(C,U);return}if(I===Bs){f(w);return}const Z=()=>{r(C),V&&!V.persisted&&V.afterLeave&&V.afterLeave()};if(w.shapeFlag&1&&V&&!V.persisted){const{leave:ae,delayLeave:se}=V,h=()=>ae(C,Z);se?se(w.el,Z,h):h()}else Z()},ge=(w,I)=>{let C;for(;w!==I;)C=b(w),r(w),w=C;r(I)},Ce=(w,I,C)=>{const{bum:U,scope:V,job:Z,subTree:ae,um:se,m:h,a:m}=w;ul(h),ul(m),U&&lr(U),V.stop(),Z&&(Z.flags|=8,K(ae,w,I,C)),se&&yt(se,I),yt(()=>{w.isUnmounted=!0},I)},_e=(w,I,C,U=!1,V=!1,Z=0)=>{for(let ae=Z;ae{if(w.shapeFlag&6)return Te(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const I=b(w.anchor||w.el),C=I&&I[Li];return C?b(C):I};let Xe=!1;const Je=(w,I,C)=>{let U;w==null?I._vnode&&(K(I._vnode,null,null,!0),U=I._vnode.component):y(I._vnode||null,w,I,null,null,null,C),I._vnode=w,Xe||(Xe=!0,Si(U),Ei(),Xe=!1)},Ue={p:y,um:K,m:ee,r:ue,mt:B,mc:M,pc:R,pbc:O,n:Te,o:e};return{render:Je,hydrate:void 0,createApp:Sf(Je)}}function js({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Bf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const o=e.children,r=t.children;if(we(o)&&we(r))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Gf(e,t){t&&t.pendingBranch?we(e)?t.effects.push(...e):t.effects.push(e):Wd(e)}const Ae=Symbol.for("v-fgt"),No=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),ln=[];let Ct=null;function Q(e=!1){ln.push(Ct=e?null:[])}function Us(){ln.pop(),Ct=ln[ln.length-1]||null}let Fo=1;function Pr(e,t=!1){Fo+=e,e<0&&Ct&&t&&(Ct.hasOnce=!0)}function pl(e){return e.dynamicChildren=Fo>0?Ct||qn:null,Us(),Fo>0&&Ct&&Ct.push(e),e}function ne(e,t,n,o,r,s){return pl(F(e,t,n,o,r,s,!0))}function Yt(e,t,n,o,r){return pl(Ie(e,t,n,o,r,!0))}function Ro(e){return e?e.__v_isVNode===!0:!1}function Oo(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?qe(e)||Ke(e)||$e(e)?{i:ct,r:e,k:t,f:!!n}:e:null);function F(e,t=null,n=null,o=0,r=null,s=e===Ae?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Mr(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=qe(n)?8:16),Fo>0&&!a&&Ct&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ct.push(l),l}const Ie=qf;function qf(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===ji)&&(e=Kt),Ro(e)){const i=Zn(e,t,!0);return n&&Mr(i,n),Fo>0&&!s&&Ct&&(i.shapeFlag&6?Ct[Ct.indexOf(e)]=i:Ct.push(i)),i.patchFlag=-2,i}if(np(e)&&(e=e.__vccOpts),t){t=Vf(t);let{class:i,style:l}=t;i&&!qe(i)&&(t.class=Me(i)),je(l)&&(br(l)&&!we(l)&&(l=tt({},l)),t.style=gt(l))}const a=qe(e)?1:fl(e)?128:xr(e)?64:je(e)?4:$e(e)?2:0;return F(e,t,n,o,r,a,s,!0)}function Vf(e){return e?br(e)||nl(e)?tt({},e):e:null}function Zn(e,t,n=!1,o=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Hf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?n&&s?we(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ae?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zn(e.ssContent),ssFallback:e.ssFallback&&Zn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ts(u,l.clone(u)),u}function nt(e=" ",t=0){return Ie(No,null,e,t)}function ze(e="",t=!1){return t?(Q(),Yt(Kt,null,e)):Ie(Kt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Ie(Kt):we(e)?Ie(Ae,null,e.slice()):Ro(e)?cn(e):Ie(No,null,String(e))}function cn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zn(e)}function Mr(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(we(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Mr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!nl(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(o&65){Mr(e,{default:t});return}t={default:t,_ctx:ct},n=32}else t=String(t),o&64?(n=16,t=[nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hf(...e){const t={};for(let n=0;ndt||ct;let Nr,Do;{const e=cr(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Nr=t("__VUE_INSTANCE_SETTERS__",n=>dt=n),Do=t("__VUE_SSR_SETTERS__",n=>Qn=n)}const jo=e=>{const t=dt;return Nr(e),e.scope.on(),()=>{e.scope.off(),Nr(t)}},hl=()=>{dt&&dt.scope.off(),Nr(null)};function ml(e){return e.vnode.shapeFlag&4}let Qn=!1;function Xf(e,t=!1,n=!1){t&&Do(t);const{props:o,children:r}=e.vnode,s=ml(e);Mf(e,o,s,t),Of(e,r,n||t);const a=s?Jf(e,t):void 0;return t&&Do(!1),a}function Jf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:o}=n;if(o){qt();const r=e.setupContext=o.length>1?Qf(e):null,s=jo(e),a=Wn(o,e,0,[e.props,r]),i=Va(a);if(Vt(),s(),(i||e.sp)&&!Jn(e)&&Ls(e),i){if(a.then(hl,hl),t)return a.then(l=>{Do(!0);try{bl(e,l,t)}finally{Do(!1)}}).catch(l=>{Ao(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,n){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:je(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,n){const o=e.type;e.render||(e.render=o.render||Ut);{const r=jo(e);qt();try{yf(e)}finally{Vt(),r()}}}const Zf={get(e,t){return ht(e,"get",""),e[t]}};function Qf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Zf),slots:e.slots,emit:e.emit,expose:t}}function Fr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Io)return Io[n](e)},has(t,n){return n in t||n in Io}})):e.proxy}const ep=/(?:^|[-_])\w/g,tp=e=>e.replace(ep,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,n=!1){let o=yl(t);if(!o&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(o=r[1])}if(!o&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};o=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return o?tp(o):n?"App":"Anonymous"}function np(e){return $e(e)&&"__vccOpts"in e}const re=(e,t)=>Dd(e,t,Qn);function wl(e,t,n){try{Pr(-1);const o=arguments.length;return o===2?je(t)&&!we(t)?Ro(t)?Ie(e,null,[t]):Ie(e,t):Ie(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ro(n)&&(n=[n]),Ie(e,t,n))}finally{Pr(1)}}const op="3.5.42";/** +`],...Gd(n))}),t}function Gd({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,r=` at <${vl(e.component,e.type,o)}`,s=">"+n;return e.props?[r,...qd(e.props),s]:[r+s]}function qd(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...xi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function xi(e,t,n){return Ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Ye(t)?(t=xi(e,Me(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):$e(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Me(t),n?t:[`${e}=`,t])}function Wn(e,t,n,o){try{return o?e(...o):e()}catch(r){Ao(r,t,n)}}function Ft(e,t,n,o){if($e(e)){const r=Wn(e,t,n,o);return r&&Va(r)&&r.catch(s=>{Ao(s,t,n)}),r}if(we(e)){const r=[];for(let s=0;s>>1,r=bt[o],s=Co(r);s=Co(n)?bt.push(e):bt.splice(Hd(t),0,e),e.flags|=1,$i()}}function $i(){vr||(vr=ki.then(Ai))}function Wd(e){if(!we(e))wn&&e.id===-1?wn.splice(Yn+1,0,e):e.flags&1||(Kn.push(e),e.flags|=1);else for(let t=0;tCo(n)-Co(o));if(Kn.length=0,wn){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ai(e){try{for(Wt=0;Wt{o._d&&Pr(-1);const s=wr(t),a=ln.length;let i;try{i=e(...r)}finally{for(let l=ln.length;l>a;l--)Us();wr(s),o._d&&Pr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Rt(e,t){if(ct===null)return e;const n=Fr(ct),o=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&$e(t)?t.call(o&&o.proxy):t}}function Kd(){return!!(un()||On)}const Yd=Symbol.for("v-scx"),Xd=()=>Ee(Yd);function Jd(e,t){return Ss(e,null,t)}function mt(e,t,n){return Ss(e,t,n)}function Ss(e,t,n=qe){const{immediate:o,deep:r,flush:s,once:a}=n,i=tt({},n),l=t&&o||!t&&s!=="post";let c;if(Qn){if(s==="sync"){const x=Xd();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=Ut,x.resume=Ut,x.pause=Ut,x}}const u=dt;i.call=(x,A,y)=>Ft(x,u,A,y);let p=!1;s==="post"?i.scheduler=x=>{yt(x,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=(x,A)=>{A?x():$s(x)}),i.augmentJob=x=>{t&&(x.flags|=4),p&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const b=zd(e,t,i);return Qn&&(c?c.push(b):l&&b()),b}function Zd(e,t,n){const o=this.proxy,r=Ve(e)?e.includes(".")?Ti(o,e):()=>o[e]:e.bind(o,o);let s;$e(t)?s=t:(s=t.handler,n=t);const a=jo(this),i=Ss(r,s.bind(o),n);return a(),i}function Ti(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;re.__isTeleport,Rn=e=>e&&(e.disabled||e.disabled===""),Qd=e=>e&&(e.defer||e.defer===""),Pi=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ii=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Es=(e,t)=>{const n=e&&e.to;return Ve(n)?t?t(n):null:n},ef={name:"Teleport",__isTeleport:!0,process(e,t,n,o,r,s,a,i,l,c){const{mc:u,pc:p,pbc:b,o:{insert:x,querySelector:A,createText:y,createComment:v,parentNode:C}}=c,_=Rn(t.props);let{dynamicChildren:d}=t;const f=($,I,S)=>{$.shapeFlag&16&&u($.children,I,S,r,s,a,i,l)},g=($=t)=>{const I=Rn($.props),S=$.target=Es($.props,A),R=As(S,$,y,x);S&&(a!=="svg"&&Pi(S)?a="svg":a!=="mathml"&&Ii(S)&&(a="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(S),I||(f($,S,R),To($,!1)))},k=$=>{const I=()=>{if(xn.get($)===I){if(xn.delete($),Rn($.props)){const S=C($.el)||n;f($,S,$.anchor),To($,!0)}g($)}};xn.set($,I),yt(I,s)};if(e==null){const $=t.el=y(""),I=t.anchor=y("");if(x($,n,o),x(I,n,o),Qd(t.props)||s&&s.pendingBranch){k(t);return}_&&(f(t,n,I),To(t,!0)),g()}else{t.el=e.el;const $=t.anchor=e.anchor,I=xn.get(e);if(I){I.flags|=8,xn.delete(e),k(t);return}t.targetStart=e.targetStart;const S=t.target=e.target,R=t.targetAnchor=e.targetAnchor,V=Rn(e.props),Z=V?n:S,he=V?$:R;if(a==="svg"||Pi(S)?a="svg":(a==="mathml"||Ii(S))&&(a="mathml"),d?(b(e.dynamicChildren,d,Z,r,s,a,i),zs(e,t,!0)):l||p(e,t,Z,he,r,s,a,i,!1),_)V?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):kr(t,n,$,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=Es(t.props,A);z&&(t.target=z,kr(t,z,null,c,0))}else V&&kr(t,S,R,c,1);To(t,_)}},remove(e,t,n,{um:o,o:{remove:r}},s){const{shapeFlag:a,children:i,anchor:l,targetStart:c,targetAnchor:u,target:p,props:b}=e,x=Rn(b),A=s||!x,y=xn.get(e);if(y&&(y.flags|=8,xn.delete(e)),p&&(r(c),r(u)),s&&r(l),!y&&(x||p)&&a&16)for(let v=0;v1){for(const n of e)if(n.type!==Kt){t=n;break}}return t}function Ni(e){if(!Er(e))return xr(e.type)&&e.children?of(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&$e(n.default))return n.default()}}function Ts(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ts(xr(n.type)&&Ni(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Lo(e,t){return $e(e)?tt({name:e.name},t,{setup:e}):e}function Ls(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Mi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const $r=new WeakMap;function Po(e,t,n,o,r=!1){if(we(e)){e.forEach((y,v)=>Po(y,t&&(we(t)?t[v]:t),n,o,r));return}if(Jn(o)&&!r){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Po(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?Fr(o.component):o.el,a=r?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===qe?i.refs={}:i.refs,p=i.setupState,b=Me(p),x=p===qe?Ga:y=>Mi(u,y)?!1:je(b,y),A=(y,v)=>!(v&&Mi(u,v));if(c!=null&&c!==l){if(Fi(t),Ve(c))u[c]=null,x(c)&&(p[c]=null);else if(Ye(c)){const y=t;A(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if($e(l))Wn(l,i,12,[a,u]);else{const y=Ve(l),v=Ye(l);if(y||v){const C=()=>{if(e.f){const _=y?x(l)?p[l]:u[l]:A()||!e.k?l.value:u[e.k];if(r)we(_)&&is(_,s);else if(we(_))_.includes(s)||_.push(s);else if(y)u[l]=[s],x(l)&&(p[l]=u[l]);else{const d=[s];A(l,e.k)&&(l.value=d),e.k&&(u[e.k]=d)}}else y?(u[l]=a,x(l)&&(p[l]=a)):v&&(A(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const _=()=>{C(),$r.delete(e)};_.id=-1,$r.set(e,_),yt(_,n)}else Fi(e),C()}}}function Fi(e){const t=$r.get(e);t&&(t.flags|=8,$r.delete(e))}const Ri=e=>e.nodeType===8;cr().requestIdleCallback,cr().cancelIdleCallback;function rf(e,t){if(Ri(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Ri(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Jn=e=>!!e.type.__asyncLoader;function sf(e){$e(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,hydrate:s,timeout:a,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const b=()=>(p++,c=null,x()),x=()=>{let A;return c||(A=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((v,C)=>{l(y,()=>v(b()),()=>C(y),p+1)});throw y}).then(y=>A!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return Lo({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(A,y,v){const C=A.isConnected;let _=!1;(y.bu||(y.bu=[])).push(()=>_=!0);const d=()=>{_||!A.parentNode||C&&!A.isConnected||v()},f=s?()=>{const g=s(d,k=>rf(A,k));g&&(y.bum||(y.bum=[])).push(g)}:d;u?f():x().then(()=>!y.isUnmounted&&f())},get __asyncResolved(){return u},setup(){const A=dt;if(Ls(A),u)return()=>Sr(u,A);const y=g=>{c=null,Ao(g,A,13,!o)};if(i&&A.suspense||Qn)return x().then(g=>()=>Sr(g,A)).catch(g=>(y(g),()=>o?Pe(o,{error:g}):null));const v=ue(!1),C=ue(),_=ue(!!r);let d,f;return Cr(()=>{d!=null&&clearTimeout(d),f!=null&&clearTimeout(f)}),r&&(f=setTimeout(()=>{A.isUnmounted||(_.value=!1)},r)),a!=null&&(d=setTimeout(()=>{if(!A.isUnmounted&&!v.value&&!C.value){const g=new Error(`Async component timed out after ${a}ms.`);y(g),C.value=g}},a)),x().then(()=>{A.isUnmounted||(v.value=!0,A.parent&&Er(A.parent.vnode)&&A.parent.update())}).catch(g=>{if(A.isUnmounted){c=null;return}y(g),C.value=g}),()=>{if(v.value&&u)return Sr(u,A);if(C.value&&o)return Pe(o,{error:C.value});if(n&&!_.value)return Sr(n,A)}}})}function Sr(e,t){const{ref:n,props:o,children:r,ce:s}=t.vnode,a=Pe(e,o,r);return a.ref=n,a.ce=s,delete t.vnode.ce,a}const Er=e=>e.type.__isKeepAlive;function af(e,t){Oi(e,"a",t)}function lf(e,t){Oi(e,"da",t)}function Oi(e,t,n=dt){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ar(t,o,n),n){let r=n.parent;for(;r&&r.parent;)Er(r.parent.vnode)&&cf(o,t,n,r),r=r.parent}}function cf(e,t,n,o){const r=Ar(t,e,o,!0);Cr(()=>{is(o[t],r)},n)}function Ar(e,t,n=dt,o=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...a)=>{qt();const i=jo(n),l=Ft(t,n,e,a);return i(),Vt(),l});return o?r.unshift(s):r.push(s),s}}const an=e=>(t,n=dt)=>{(!Qn||e==="sp")&&Ar(e,(...o)=>t(...o),n)},Di=an("bm"),xt=an("m"),uf=an("bu"),df=an("u"),Ot=an("bum"),Cr=an("um"),ff=an("sp"),pf=an("rtg"),gf=an("rtc");function hf(e,t=dt){Ar("ec",e,t)}const mf="components",ji=Symbol.for("v-ndc");function zi(e){return Ve(e)?bf(mf,e,!1)||e:e||ji}function bf(e,t,n=!0,o=!1){const r=ct||dt;if(r){const s=r.type;{const i=yl(s,!1);if(i&&(i===t||i===it(t)||i===ir(it(t))))return s}const a=Bi(r[e]||s[e],t)||Bi(r.appContext[e],t);return!a&&o?s:a}}function Bi(e,t){return e&&(e[t]||e[it(t)]||e[ir(it(t))])}function Qe(e,t,n,o){let r;const s=n,a=we(e);if(a||Ve(e)){const i=a&&on(e);let l=!1,c=!1;i&&(l=!At(e),c=rn(e),e=fr(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;l0;return ee(),Yt(Ce,null,[Pe("slot",c,o)],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const i=ln.length;ee();let l;try{const c=a&&Ui(a(n)),u=n.key||s||c&&c.key;l=Yt(Ce,{key:(u&&!St(u)?u:`_${t}`)+(!c&&o?"_fb":"")},c||(o?o():[]),c&&e._===1?64:-2)}catch(c){for(let u=ln.length;u>i;u--)Us();throw c}finally{a&&a._c&&(a._d=!0)}return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),l}function Ui(e){return e.some(t=>Ro(t)?!(t.type===Kt||t.type===Ce&&!Ui(t.children)):!0)?e:null}const Is=e=>e?ml(e)?Fr(e):Is(e.parent):null,Io=tt(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=>Is(e.parent),$root:e=>Is(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Hi(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Mn.bind(e.proxy)),$watch:e=>Zd.bind(e)}),Ns=(e,t)=>e!==qe&&!e.__isScriptSetup&&je(e,t),_f={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:r,props:s,accessCache:a,type:i,appContext:l}=e;if(t[0]!=="$"){const b=a[t];if(b!==void 0)switch(b){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Ns(o,t))return a[t]=1,o[t];if(r!==qe&&je(r,t))return a[t]=2,r[t];if(je(s,t))return a[t]=3,s[t];if(n!==qe&&je(n,t))return a[t]=4,n[t];Ms&&(a[t]=0)}}const c=Io[t];let u,p;if(c)return t==="$attrs"&&ht(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==qe&&je(n,t))return a[t]=4,n[t];if(p=l.config.globalProperties,je(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:s}=e;return Ns(r,t)?(r[t]=n,!0):o!==qe&&je(o,t)?(o[t]=n,!0):je(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,props:s,type:a}},i){let l;return!!(n[i]||e!==qe&&i[0]!=="$"&&je(e,i)||Ns(t,i)||je(s,i)||je(o,i)||je(Io,i)||je(r.config.globalProperties,i)||(l=a.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:je(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Gi(e){return we(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ms=!0;function yf(e){const t=Hi(e),n=e.proxy,o=e.ctx;Ms=!1,t.beforeCreate&&qi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:a,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:b,beforeUpdate:x,updated:A,activated:y,deactivated:v,beforeDestroy:C,beforeUnmount:_,destroyed:d,unmounted:f,render:g,renderTracked:k,renderTriggered:$,errorCaptured:I,serverPrefetch:S,expose:R,inheritAttrs:V,components:Z,directives:he,filters:z}=t;if(c&&vf(c,o,null),a)for(const E in a){const N=a[E];$e(N)&&(o[E]=N.bind(n))}if(r){const E=r.call(n,n);ze(E)&&(e.data=In(E))}if(Ms=!0,s)for(const E in s){const N=s[E],X=$e(N)?N.bind(n,n):$e(N.get)?N.get.bind(n,n):Ut,j=!$e(N)&&$e(N.set)?N.set.bind(n):Ut,q=re({get:X,set:j});Object.defineProperty(o,E,{enumerable:!0,configurable:!0,get:()=>q.value,set:W=>q.value=W})}if(i)for(const E in i)Vi(i[E],o,n,E);if(l){const E=$e(l)?l.call(n):l;Reflect.ownKeys(E).forEach(N=>{ut(N,E[N])})}u&&qi(u,e,"c");function B(E,N){we(N)?N.forEach(X=>E(X.bind(n))):N&&E(N.bind(n))}if(B(Di,p),B(xt,b),B(uf,x),B(df,A),B(af,y),B(lf,v),B(hf,I),B(gf,k),B(pf,$),B(Ot,_),B(Cr,f),B(ff,S),we(R))if(R.length){const E=e.exposed||(e.exposed={});R.forEach(N=>{Object.defineProperty(E,N,{get:()=>n[N],set:X=>n[N]=X,enumerable:!0})})}else e.exposed||(e.exposed={});g&&e.render===Ut&&(e.render=g),V!=null&&(e.inheritAttrs=V),Z&&(e.components=Z),he&&(e.directives=he),S&&Ls(e)}function vf(e,t,n=Ut){we(e)&&(e=Fs(e));for(const o in e){const r=e[o];let s;ze(r)?"default"in r?s=Ee(r.from||o,r.default,!0):s=Ee(r.from||o):s=Ee(r),Ye(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):t[o]=s}}function qi(e,t,n){Ft(we(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Vi(e,t,n,o){let r=o.includes(".")?Ti(n,o):()=>n[o];if(Ve(e)){const s=t[e];$e(s)&&mt(r,s)}else if($e(e))mt(r,e.bind(n));else if(ze(e))if(we(e))e.forEach(s=>Vi(s,t,n,o));else{const s=$e(e.handler)?e.handler.bind(n):t[e.handler];$e(s)&&mt(r,s,e)}}function Hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:a}}=e.appContext,i=s.get(t);let l;return i?l=i:!r.length&&!n&&!o?l=t:(l={},r.length&&r.forEach(c=>Tr(l,c,a,!0)),Tr(l,t,a)),ze(t)&&s.set(t,l),l}function Tr(e,t,n,o=!1){const{mixins:r,extends:s}=t;s&&Tr(e,s,n,!0),r&&r.forEach(a=>Tr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const i=wf[a]||n&&n[a];e[a]=i?i(e[a],t[a]):t[a]}return e}const wf={data:Wi,props:Ki,emits:Ki,methods:No,computed:No,beforeCreate:_t,created:_t,beforeMount:_t,mounted:_t,beforeUpdate:_t,updated:_t,beforeDestroy:_t,beforeUnmount:_t,destroyed:_t,unmounted:_t,activated:_t,deactivated:_t,errorCaptured:_t,serverPrefetch:_t,components:No,directives:No,watch:kf,provide:Wi,inject:xf};function Wi(e,t){return t?e?function(){return tt($e(e)?e.call(this,this):e,$e(t)?t.call(this,this):t)}:t:e}function xf(e,t){return No(Fs(e),Fs(t))}function Fs(e){if(we(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${it(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function Af(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||qe;let r=n;const s=t.startsWith("update:"),a=s&&Ef(o,t.slice(7));a&&(a.trim&&(r=n.map(u=>Ve(u)?u.trim():u)),a.number&&(r=r.map(cs)));let i,l=o[i=ls(t)]||o[i=ls(it(t))];!l&&s&&(l=o[i=ls(Et(t))]),l&&Ft(l,e,6,r);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ft(c,e,6,r)}}const Cf=new WeakMap;function Xi(e,t,n=!1){const o=n?Cf:t.emitsCache,r=o.get(e);if(r!==void 0)return r;const s=e.emits;let a={},i=!1;if(!$e(e)){const l=c=>{const u=Xi(c,t,!0);u&&(i=!0,tt(a,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(ze(e)&&o.set(e,null),null):(we(s)?s.forEach(l=>a[l]=null):tt(a,s),ze(e)&&o.set(e,a),a)}function Lr(e,t){return!e||!tr(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),je(e,t[0].toLowerCase()+t.slice(1))||je(e,Et(t))||je(e,t))}function Hw(){}function Ji(e){const{type:t,vnode:n,proxy:o,withProxy:r,propsOptions:[s],slots:a,attrs:i,emit:l,render:c,renderCache:u,props:p,data:b,setupState:x,ctx:A,inheritAttrs:y}=e,v=wr(e);let C,_;try{if(n.shapeFlag&4){const f=r||o,g=f;C=Xt(c.call(g,f,u,p,x,b,A)),_=i}else{const f=t;C=Xt(f.length>1?f(p,{attrs:i,slots:a,emit:l}):f(p,null)),_=t.props?i:Tf(i)}}catch(f){ln.length=0,Ao(f,e,1),C=Pe(Kt)}let d=C;if(_&&y!==!1){const f=Object.keys(_),{shapeFlag:g}=d;f.length&&g&7&&(s&&f.some(nr)&&(_=Lf(_,s)),d=Zn(d,_,!1,!0))}if(n.dirs&&(d=Zn(d,null,!1,!0),d.dirs=d.dirs?d.dirs.concat(n.dirs):n.dirs),n.transition){const f=xr(d.type)&&Ni(d)||d;Ts(f,n.transition)}return C=d,wr(v),C}const Tf=e=>{let t;for(const n in e)(n==="class"||n==="style"||tr(n))&&((t||(t={}))[n]=e[n]);return t},Lf=(e,t)=>{const n={};for(const o in e)(!nr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Pf(e,t,n){const{props:o,children:r,component:s}=e,{props:a,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Zi(o,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(el),nl=e=>Object.getPrototypeOf(e)===el;function Nf(e,t,n,o=!1){const r={},s=tl();e.propsDefaults=Object.create(null),ol(e,t,r,s);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);n?e.props=o?r:Pd(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Mf(e,t,n,o){const{props:r,attrs:s,vnode:{patchFlag:a}}=e,i=Me(r),[l]=e.propsOptions;let c=!1;if((o||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[b,x]=rl(p,t,!0);tt(a,b),x&&i.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ze(e)&&o.set(e,qn),qn;if(we(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Ds=e=>we(e)?e.map(Xt):[Xt(e)],Rf=(e,t,n)=>{if(t._n)return t;const o=Xn((...r)=>Ds(t(...r)),n);return o._c=!1,o},al=(e,t,n)=>{const o=e._ctx;for(const r in e){if(Os(r))continue;const s=e[r];if($e(s))t[r]=Rf(r,s,o);else if(s!=null){const a=Ds(s);t[r]=()=>a}}},il=(e,t)=>{const n=Ds(t);e.slots.default=()=>n},ll=(e,t,n)=>{for(const o in t)(n||!Os(o))&&(e[o]=t[o])},Of=(e,t,n)=>{const o=e.slots=tl();if(e.vnode.shapeFlag&32){const r=t._;r?(ll(o,t,n),n&&Wa(o,"_",r,!0)):al(t,o)}else t&&il(e,t)},Df=(e,t,n)=>{const{vnode:o,slots:r}=e;let s=!0,a=qe;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:ll(r,t,n):(s=!t.$stable,al(t,r)),a=t}else t&&(il(e,t),a={default:1});if(s)for(const i in r)!Os(i)&&a[i]==null&&delete r[i]},yt=Gf;function jf(e){return zf(e)}function zf(e,t){const n=cr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:s,createElement:a,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:b,setScopeId:x=Ut,insertStaticContent:A}=e,y=(w,P,T,U=null,H=null,Q=null,ae=void 0,se=null,h=!!P.dynamicChildren)=>{if(w===P)return;w&&!Oo(w,P)&&(U=be(w),W(w,H,Q,!0),w=null),P.patchFlag===-2&&(h=!1,P.dynamicChildren=null);const{type:m,ref:D,shapeFlag:G}=P;switch(m){case Mo:v(w,P,T,U);break;case Kt:C(w,P,T,U);break;case Bs:w==null&&_(P,T,U,ae);break;case Ce:Z(w,P,T,U,H,Q,ae,se,h);break;default:G&1?g(w,P,T,U,H,Q,ae,se,h):G&6?he(w,P,T,U,H,Q,ae,se,h):(G&64||G&128)&&m.process(w,P,T,U,H,Q,ae,se,h,Fe)}D!=null&&H?Po(D,w&&w.ref,Q,P||w,!P):D==null&&w&&w.ref!=null&&Po(w.ref,null,Q,w,!0)},v=(w,P,T,U)=>{if(w==null)o(P.el=i(P.children),T,U);else{const H=P.el=w.el;P.children!==w.children&&c(H,P.children)}},C=(w,P,T,U)=>{w==null?o(P.el=l(P.children||""),T,U):P.el=w.el},_=(w,P,T,U)=>{[w.el,w.anchor]=A(w.children,P,T,U,w.el,w.anchor)},d=({el:w,anchor:P},T,U)=>{let H;for(;w&&w!==P;)H=b(w),o(w,T,U),w=H;o(P,T,U)},f=({el:w,anchor:P})=>{let T;for(;w&&w!==P;)T=b(w),r(w),w=T;r(P)},g=(w,P,T,U,H,Q,ae,se,h)=>{if(P.type==="svg"?ae="svg":P.type==="math"&&(ae="mathml"),w==null)k(P,T,U,H,Q,ae,se,h);else{const m=w.el&&w.el._isVueCE?w.el:null;try{m&&m._beginPatch(),S(w,P,H,Q,ae,se,h)}finally{m&&m._endPatch()}}},k=(w,P,T,U,H,Q,ae,se)=>{let h,m;const{props:D,shapeFlag:G,transition:ce,dirs:oe}=w;if(h=w.el=a(w.type,Q,D&&D.is,D),G&8?u(h,w.children):G&16&&I(w.children,h,null,U,H,js(w,Q),ae,se),oe&&Fn(w,null,U,"created"),$(h,w,w.scopeId,ae,U),D){for(const L in D)L!=="value"&&!_o(L)&&s(h,L,null,D[L],Q,U);"value"in D&&s(h,"value",null,D.value,Q),(m=D.onVnodeBeforeMount)&&Jt(m,U,w)}oe&&Fn(w,null,U,"beforeMount");const O=Bf(H,ce);O&&ce.beforeEnter(h),o(h,P,T),((m=D&&D.onVnodeMounted)||O||oe)&&yt(()=>{try{m&&Jt(m,U,w),O&&ce.enter(h),oe&&Fn(w,null,U,"mounted")}finally{}},H)},$=(w,P,T,U,H)=>{if(T&&x(w,T),U)for(let Q=0;Q{for(let m=h;m{const se=P.el=w.el;let{patchFlag:h,dynamicChildren:m,dirs:D}=P;h|=w.patchFlag&16;const G=w.props||qe,ce=P.props||qe;let oe;if(T&&Dn(T,!1),(oe=ce.onVnodeBeforeUpdate)&&Jt(oe,T,P,w),D&&Fn(P,w,T,"beforeUpdate"),T&&Dn(T,!0),m&&(!w.dynamicChildren||w.dynamicChildren.length!==m.length)&&(h=0,ae=!1,m=null),(G.innerHTML&&ce.innerHTML==null||G.textContent&&ce.textContent==null)&&u(se,""),m?R(w.dynamicChildren,m,se,T,U,js(P,H),Q):ae||N(w,P,se,null,T,U,js(P,H),Q,!1),h>0){if(h&16)V(se,G,ce,T,H);else if(h&2&&G.class!==ce.class&&s(se,"class",null,ce.class,H),h&4&&s(se,"style",G.style,ce.style,H),h&8){const O=P.dynamicProps;for(let L=0;L{oe&&Jt(oe,T,P,w),D&&Fn(P,w,T,"updated")},U)},R=(w,P,T,U,H,Q,ae)=>{for(let se=0;se{if(P!==T){if(P!==qe)for(const Q in P)!_o(Q)&&!(Q in T)&&s(w,Q,P[Q],null,H,U);for(const Q in T){if(_o(Q))continue;const ae=T[Q],se=P[Q];ae!==se&&Q!=="value"&&s(w,Q,se,ae,H,U)}"value"in T&&s(w,"value",P.value,T.value,H)}},Z=(w,P,T,U,H,Q,ae,se,h)=>{const m=P.el=w?w.el:i(""),D=P.anchor=w?w.anchor:i("");let{patchFlag:G,dynamicChildren:ce,slotScopeIds:oe}=P;oe&&(se=se?se.concat(oe):oe),w==null?(o(m,T,U),o(D,T,U),I(P.children||[],T,D,H,Q,ae,se,h)):G>0&&G&64&&ce&&w.dynamicChildren&&w.dynamicChildren.length===ce.length?(R(w.dynamicChildren,ce,T,H,Q,ae,se),(P.key!=null||H&&P===H.subTree)&&zs(w,P,!0)):N(w,P,T,D,H,Q,ae,se,h)},he=(w,P,T,U,H,Q,ae,se,h)=>{P.slotScopeIds=se,w==null?P.shapeFlag&512?H.ctx.activate(P,T,U,ae,h):z(P,T,U,H,Q,ae,h):Y(w,P,h)},z=(w,P,T,U,H,Q,ae)=>{const se=w.component=Yf(w,U,H);if(Er(w)&&(se.ctx.renderer=Fe),Xf(se,!1,ae),se.asyncDep){if(H&&H.registerDep(se,B,ae),!w.el){const h=se.subTree=Pe(Kt);C(null,h,P,T),w.placeholder=h.el}}else B(se,w,P,T,H,Q,ae)},Y=(w,P,T)=>{const U=P.component=w.component;if(Pf(w,P,T))if(U.asyncDep&&!U.asyncResolved){E(U,P,T);return}else U.next=P,U.update();else P.el=w.el,U.vnode=P},B=(w,P,T,U,H,Q,ae)=>{const se=()=>{if(w.isMounted){let{next:G,bu:ce,u:oe,parent:O,vnode:L}=w;{const Re=cl(w);if(Re){G&&(G.el=L.el,E(w,G,ae)),Re.asyncDep.then(()=>{yt(()=>{w.isUnmounted||m()},H)});return}}let J=G,ne;Dn(w,!1),G?(G.el=L.el,E(w,G,ae)):G=L,ce&&lr(ce),(ne=G.props&&G.props.onVnodeBeforeUpdate)&&Jt(ne,O,G,L),Dn(w,!0);const me=Ji(w),ve=w.subTree;w.subTree=me,y(ve,me,p(ve.el),be(ve),w,H,Q),G.el=me.el,J===null&&If(w,me.el),oe&&yt(oe,H),(ne=G.props&&G.props.onVnodeUpdated)&&yt(()=>Jt(ne,O,G,L),H)}else{let G;const{el:ce,props:oe}=P,{bm:O,m:L,parent:J,root:ne,type:me}=w,ve=Jn(P);Dn(w,!1),O&&lr(O),!ve&&(G=oe&&oe.onVnodeBeforeMount)&&Jt(G,J,P),Dn(w,!0);{ne.ce&&ne.ce._hasShadowRoot()&&ne.ce._injectChildStyle(me,w.parent?w.parent.type:void 0);const Re=w.subTree=Ji(w);y(null,Re,T,U,w,H,Q),P.el=Re.el}if(L&&yt(L,H),!ve&&(G=oe&&oe.onVnodeMounted)){const Re=P;yt(()=>Jt(G,J,Re),H)}(P.shapeFlag&256||J&&Jn(J.vnode)&&J.vnode.shapeFlag&256)&&w.a&&yt(w.a,H),w.isMounted=!0,P=T=U=null}};w.scope.on();const h=w.effect=new ni(se);w.scope.off();const m=w.update=h.run.bind(h),D=w.job=h.runIfDirty.bind(h);D.i=w,D.id=w.uid,h.scheduler=()=>$s(D),Dn(w,!0),m()},E=(w,P,T)=>{P.component=w;const U=w.vnode.props;w.vnode=P,w.next=null,Mf(w,P.props,U,T),Df(w,P.children,T),qt(),Si(w),Vt()},N=(w,P,T,U,H,Q,ae,se,h=!1)=>{const m=w&&w.children,D=w?w.shapeFlag:0,G=P.children,{patchFlag:ce,shapeFlag:oe}=P;if(ce>0){if(ce&128){j(m,G,T,U,H,Q,ae,se,h);return}else if(ce&256){X(m,G,T,U,H,Q,ae,se,h);return}}oe&8?(D&16&&Ie(m,H,Q),G!==m&&u(T,G)):D&16?oe&16?j(m,G,T,U,H,Q,ae,se,h):Ie(m,H,Q,!0):(D&8&&u(T,""),oe&16&&I(G,T,U,H,Q,ae,se,h))},X=(w,P,T,U,H,Q,ae,se,h)=>{w=w||qn,P=P||qn;const m=w.length,D=P.length,G=Math.min(m,D);let ce;for(ce=0;ceD?Ie(w,H,Q,!0,!1,G):I(P,T,U,H,Q,ae,se,h,G)},j=(w,P,T,U,H,Q,ae,se,h)=>{let m=0;const D=P.length;let G=w.length-1,ce=D-1;for(;m<=G&&m<=ce;){const oe=w[m],O=P[m]=h?cn(P[m]):Xt(P[m]);if(Oo(oe,O))y(oe,O,T,null,H,Q,ae,se,h);else break;m++}for(;m<=G&&m<=ce;){const oe=w[G],O=P[ce]=h?cn(P[ce]):Xt(P[ce]);if(Oo(oe,O))y(oe,O,T,null,H,Q,ae,se,h);else break;G--,ce--}if(m>G){if(m<=ce){const oe=ce+1,O=oece)for(;m<=G;)W(w[m],H,Q,!0),m++;else{const oe=m,O=m,L=new Map;for(m=O;m<=ce;m++){const Ze=P[m]=h?cn(P[m]):Xt(P[m]);Ze.key!=null&&L.set(Ze.key,m)}let J,ne=0;const me=ce-O+1;let ve=!1,Re=0;const et=new Array(me);for(m=0;m=me){W(Ze,H,Q,!0);continue}let Lt;if(Ze.key!=null)Lt=L.get(Ze.key);else for(J=O;J<=ce;J++)if(et[J-O]===0&&Oo(Ze,P[J])){Lt=J;break}Lt===void 0?W(Ze,H,Q,!0):(et[Lt-O]=m+1,Lt>=Re?Re=Lt:ve=!0,y(Ze,P[Lt],T,null,H,Q,ae,se,h),ne++)}const wt=ve?Uf(et):qn;for(J=wt.length-1,m=me-1;m>=0;m--){const Ze=O+m,Lt=P[Ze],Qo=P[Ze+1],er=Ze+1{const{el:Q,type:ae,transition:se,children:h,shapeFlag:m}=w;if(m&6){q(w.component.subTree,P,T,U);return}if(m&128){w.suspense.move(P,T,U);return}if(m&64){ae.move(w,P,T,Fe);return}if(ae===Ce){o(Q,P,T);for(let G=0;Gse.enter(Q),H));else{const{leave:G,delayLeave:ce,afterLeave:oe}=se,O=()=>{w.ctx.isUnmounted?r(Q):o(Q,P,T)},L=()=>{const J=Q._isLeaving||!!Q[Cs];Q._isLeaving&&Q[Cs](!0),se.persisted&&!J?O():G(Q,()=>{O(),oe&&oe()})};ce?ce(Q,O,L):L()}else o(Q,P,T)},W=(w,P,T,U=!1,H=!1)=>{const{type:Q,props:ae,ref:se,children:h,dynamicChildren:m,shapeFlag:D,patchFlag:G,dirs:ce,cacheIndex:oe,memo:O}=w;if(G===-2&&(H=!1),se!=null&&(qt(),Po(se,null,T,w,!0),Vt()),oe!=null&&(P.renderCache[oe]=void 0),D&256){P.ctx.deactivate(w);return}const L=D&1&&ce,J=!Jn(w);let ne;if(J&&(ne=ae&&ae.onVnodeBeforeUnmount)&&Jt(ne,P,w),D&6)Se(w.component,T,U);else{if(D&128){w.suspense.unmount(T,U);return}L&&Fn(w,null,P,"beforeUnmount"),D&64?w.type.remove(w,P,T,Fe,U):m&&!m.hasOnce&&(Q!==Ce||G>0&&G&64)?Ie(m,P,T,!1,!0):(Q===Ce&&G&384||!H&&D&16)&&Ie(h,P,T),U&&le(w)}const me=O!=null&&oe==null;(J&&(ne=ae&&ae.onVnodeUnmounted)||L||me)&&yt(()=>{ne&&Jt(ne,P,w),L&&Fn(w,null,P,"unmounted"),me&&(w.el=null)},T)},le=w=>{const{type:P,el:T,anchor:U,transition:H}=w;if(P===Ce){ge(T,U);return}if(P===Bs){f(w);return}const Q=()=>{r(T),H&&!H.persisted&&H.afterLeave&&H.afterLeave()};if(w.shapeFlag&1&&H&&!H.persisted){const{leave:ae,delayLeave:se}=H,h=()=>ae(T,Q);se?se(w.el,Q,h):h()}else Q()},ge=(w,P)=>{let T;for(;w!==P;)T=b(w),r(w),w=T;r(P)},Se=(w,P,T)=>{const{bum:U,scope:H,job:Q,subTree:ae,um:se,m:h,a:m}=w;ul(h),ul(m),U&&lr(U),H.stop(),Q&&(Q.flags|=8,W(ae,w,P,T)),se&&yt(se,P),yt(()=>{w.isUnmounted=!0},P)},Ie=(w,P,T,U=!1,H=!1,Q=0)=>{for(let ae=Q;ae{if(w.shapeFlag&6)return be(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const P=b(w.anchor||w.el),T=P&&P[Li];return T?b(T):P};let Ge=!1;const Je=(w,P,T)=>{let U;w==null?P._vnode&&(W(P._vnode,null,null,!0),U=P._vnode.component):y(P._vnode||null,w,P,null,null,null,T),P._vnode=w,Ge||(Ge=!0,Si(U),Ei(),Ge=!1)},Fe={p:y,um:W,m:q,r:le,mt:z,mc:I,pc:N,pbc:R,n:be,o:e};return{render:Je,hydrate:void 0,createApp:Sf(Je)}}function js({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Dn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Bf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function zs(e,t,n=!1){const o=e.children,r=t.children;if(we(o)&&we(r))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,a=n[s-1];s-- >0;)n[s]=a,a=t[a];return n}function cl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:cl(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function Gf(e,t){t&&t.pendingBranch?we(e)?t.effects.push(...e):t.effects.push(e):Wd(e)}const Ce=Symbol.for("v-fgt"),Mo=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),Bs=Symbol.for("v-stc"),ln=[];let Ct=null;function ee(e=!1){ln.push(Ct=e?null:[])}function Us(){ln.pop(),Ct=ln[ln.length-1]||null}let Fo=1;function Pr(e,t=!1){Fo+=e,e<0&&Ct&&t&&(Ct.hasOnce=!0)}function pl(e){return e.dynamicChildren=Fo>0?Ct||qn:null,Us(),Fo>0&&Ct&&Ct.push(e),e}function te(e,t,n,o,r,s){return pl(F(e,t,n,o,r,s,!0))}function Yt(e,t,n,o,r){return pl(Pe(e,t,n,o,r,!0))}function Ro(e){return e?e.__v_isVNode===!0:!1}function Oo(e,t){return e.type===t.type&&e.key===t.key}const gl=({key:e})=>e??null,Ir=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ve(e)||Ye(e)||$e(e)?{i:ct,r:e,k:t,f:!!n}:e:null);function F(e,t=null,n=null,o=0,r=null,s=e===Ce?0:1,a=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gl(t),ref:t&&Ir(t),scopeId:Ci,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ct};return i?(Nr(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=Ve(n)?8:16),Fo>0&&!a&&Ct&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ct.push(l),l}const Pe=qf;function qf(e,t=null,n=null,o=0,r=null,s=!1){if((!e||e===ji)&&(e=Kt),Ro(e)){const i=Zn(e,t,!0);return n&&Nr(i,n),Fo>0&&!s&&Ct&&(i.shapeFlag&6?Ct[Ct.indexOf(e)]=i:Ct.push(i)),i.patchFlag=-2,i}if(np(e)&&(e=e.__vccOpts),t){t=Vf(t);let{class:i,style:l}=t;i&&!Ve(i)&&(t.class=Ne(i)),ze(l)&&(br(l)&&!we(l)&&(l=tt({},l)),t.style=gt(l))}const a=Ve(e)?1:fl(e)?128:xr(e)?64:ze(e)?4:$e(e)?2:0;return F(e,t,n,o,r,a,s,!0)}function Vf(e){return e?br(e)||nl(e)?tt({},e):e:null}function Zn(e,t,n=!1,o=!1){const{props:r,ref:s,patchFlag:a,children:i,transition:l}=e,c=t?Hf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&gl(c),ref:t&&t.ref?n&&s?we(s)?s.concat(Ir(t)):[s,Ir(t)]:Ir(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ce?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zn(e.ssContent),ssFallback:e.ssFallback&&Zn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ts(u,l.clone(u)),u}function nt(e=" ",t=0){return Pe(Mo,null,e,t)}function Be(e="",t=!1){return t?(ee(),Yt(Kt,null,e)):Pe(Kt,null,e)}function Xt(e){return e==null||typeof e=="boolean"?Pe(Kt):we(e)?Pe(Ce,null,e.slice()):Ro(e)?cn(e):Pe(Mo,null,String(e))}function cn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zn(e)}function Nr(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(we(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),Nr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!nl(t)?t._ctx=ct:r===3&&ct&&(ct.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if($e(t)){if(o&65){Nr(e,{default:t});return}t={default:t,_ctx:ct},n=32}else t=String(t),o&64?(n=16,t=[nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hf(...e){const t={};for(let n=0;ndt||ct;let Mr,Do;{const e=cr(),t=(n,o)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(o),s=>{r.length>1?r.forEach(a=>a(s)):r[0](s)}};Mr=t("__VUE_INSTANCE_SETTERS__",n=>dt=n),Do=t("__VUE_SSR_SETTERS__",n=>Qn=n)}const jo=e=>{const t=dt;return Mr(e),e.scope.on(),()=>{e.scope.off(),Mr(t)}},hl=()=>{dt&&dt.scope.off(),Mr(null)};function ml(e){return e.vnode.shapeFlag&4}let Qn=!1;function Xf(e,t=!1,n=!1){t&&Do(t);const{props:o,children:r}=e.vnode,s=ml(e);Nf(e,o,s,t),Of(e,r,n||t);const a=s?Jf(e,t):void 0;return t&&Do(!1),a}function Jf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_f);const{setup:o}=n;if(o){qt();const r=e.setupContext=o.length>1?Qf(e):null,s=jo(e),a=Wn(o,e,0,[e.props,r]),i=Va(a);if(Vt(),s(),(i||e.sp)&&!Jn(e)&&Ls(e),i){if(a.then(hl,hl),t)return a.then(l=>{Do(!0);try{bl(e,l,t)}finally{Do(!1)}}).catch(l=>{Ao(l,e,0)});e.asyncDep=a}else bl(e,a)}else _l(e)}function bl(e,t,n){$e(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ze(t)&&(e.setupState=wi(t)),_l(e)}function _l(e,t,n){const o=e.type;e.render||(e.render=o.render||Ut);{const r=jo(e);qt();try{yf(e)}finally{Vt(),r()}}}const Zf={get(e,t){return ht(e,"get",""),e[t]}};function Qf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Zf),slots:e.slots,emit:e.emit,expose:t}}function Fr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Io)return Io[n](e)},has(t,n){return n in t||n in Io}})):e.proxy}const ep=/(?:^|[-_])\w/g,tp=e=>e.replace(ep,t=>t.toUpperCase()).replace(/[-_]/g,"");function yl(e,t=!0){return $e(e)?e.displayName||e.name:e.name||t&&e.__name}function vl(e,t,n=!1){let o=yl(t);if(!o&&t.__file){const r=t.__file.match(/([^/\\]+)\.\w+$/);r&&(o=r[1])}if(!o&&e){const r=s=>{for(const a in s)if(s[a]===t)return a};o=r(e.components)||e.parent&&r(e.parent.type.components)||r(e.appContext.components)}return o?tp(o):n?"App":"Anonymous"}function np(e){return $e(e)&&"__vccOpts"in e}const re=(e,t)=>Dd(e,t,Qn);function wl(e,t,n){try{Pr(-1);const o=arguments.length;return o===2?ze(t)&&!we(t)?Ro(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ro(n)&&(n=[n]),Pe(e,t,n))}finally{Pr(1)}}const op="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Gs;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{Gs=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const kl=Gs?e=>Gs.createHTML(e):e=>e,rp="http://www.w3.org/2000/svg",sp="http://www.w3.org/1998/Math/MathML",dn=typeof document<"u"?document:null,$l=dn&&dn.createElement("template"),ap={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?dn.createElementNS(rp,e):t==="mathml"?dn.createElementNS(sp,e):n?dn.createElement(e,{is:n}):dn.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>dn.createTextNode(e),createComment:e=>dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const a=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{$l.innerHTML=kl(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=$l.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ip=Symbol("_vtc");function lp(e,t,n){const o=e[ip];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Sl=Symbol("_vsh"),Zt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),zo(e,!0),o.enter(e)):o.leave(e,()=>{zo(e,!1)}):zo(e,t))},beforeUnmount(e,{value:t}){zo(e,t)}};function zo(e,t){e.style.display=t?e[Rr]:"none",e[Sl]=!t}const cp=Symbol(""),up=/(?:^|;)\s*display\s*:/;function dp(e,t,n){const o=e.style,r=qe(n);let s=!1;if(n&&!r){if(t)if(qe(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&Bo(o,i,"")}else for(const a in t)n[a]==null&&Bo(o,a,"");for(const a in n){a==="display"&&(s=!0);const i=n[a];i!=null?pp(e,a,!qe(t)&&t?t[a]:void 0,i)||Bo(o,a,i):Bo(o,a,"")}}else if(r){if(t!==n){const a=o[cp];a&&(n+=";"+a),o.cssText=n,s=up.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?o.display:"",e[Sl]&&(o.display="none"))}const Or=/\s*!important$/;function Bo(e,t,n){if(we(n))n.forEach(o=>Bo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Or.test(n)?e.setProperty(t,n.replace(Or,""),"important"):e.setProperty(t,n);else{const o=fp(e,t);Or.test(n)?e.setProperty(Et(o),n.replace(Or,""),"important"):e[o]=n}}const El=["Webkit","Moz","ms"],qs={};function fp(e,t){const n=qs[t];if(n)return n;let o=it(t);if(o!=="filter"&&o in e)return qs[t]=o;o=ir(o);for(let r=0;rVs||(yp.then(()=>Vs=0),Vs=Date.now());function wp(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const r=n.value;if(we(r)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const a=r.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xp=(e,t,n,o,r,s)=>{const a=r==="svg";t==="class"?lp(e,o,a):t==="style"?dp(e,n,o):tr(t)?nr(t)||hp(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kp(e,t,o,a))?(Tl(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Cl(e,t,o,a,s,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!qe(o)))?Tl(e,it(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Cl(e,t,o,a))};function kp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pl(t)&&$e(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Pl(t)&&qe(n)?!1:t in e}function $p(e,t){const n=e._def.props;if(!n)return!1;const o=it(t);return Array.isArray(n)?n.some(r=>it(r)===o):Object.keys(n).some(r=>it(r)===o)}const Il={};function Sp(e,t,n){let o=Lo(e,t);rr(o)&&(o=tt({},o,t));class r extends Hs{constructor(a){super(o,a,n)}}return r.def=o,r}const Ep=typeof HTMLElement<"u"?HTMLElement:class{};class Hs extends Ep{constructor(t,n={},o=Ol){super(),this._def=t,this._props=n,this._createApp=o,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&&o!==Ol?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 Hs){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,Nn(()=>{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 n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=o;let i;if(s&&!we(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ka(this._props[l])),(i||(i=Object.create(null)))[it(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!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 n=this._instance&&this._instance.exposed;if(n)for(const o in n)De(this,o)||Object.defineProperty(this,o,{get:()=>pe(n[o])})}_resolveProps(t){const{props:n}=t,o=we(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&o.includes(r)&&this._setProp(r,this[r]);for(const r of o.map(it))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):Il;const r=it(t);n&&this._numberProps&&this._numberProps[r]&&(o=Ka(o)),this._setProp(r,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Il?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Et(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Et(t),n+""):n||this.removeAttribute(Et(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Mp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Ie(this._def,tt(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,rr(a[0])?tt({detail:a},a[0]):{detail:a}))};o.emit=(s,...a)=>{r(s,a),Et(s)!==s&&r(Et(s),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,s=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{const t=e.props["onUpdate:modelValue"]||!1;return we(t)?n=>lr(t,n):t};function Ap(e){e.target.composing=!0}function Nl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Ws(e,t,n){return t&&(e=e.trim()),n&&(e=cs(e)),e}const Cp={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` -`))),e[Dr]=Ml(r);const s=o||r.props&&r.props.type==="number";eo(e,t?"change":"input",a=>{a.target.composing||e[Dr](Ws(e.value,n,s))}),(n||s)&&eo(e,"change",()=>{e.value=Ws(e.value,n,s)}),t||(eo(e,"compositionstart",Ap),eo(e,"compositionend",Nl),eo(e,"change",Nl))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const r=t??"",s=e[jr];delete e[jr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Dr](Ws(e.value,n,o)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:s}},a){if(e[Dr]=Ml(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l)}},Tp=["ctrl","shift","alt","meta"],Lp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Tp.some(n=>e[`${n}Key`]&&!t.includes(n))},to=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const s=Et(r.key);if(t.some(a=>a===s||Pp[a]===s))return e(r)})},Ip=tt({patchProp:xp},ap);let Fl;function Rl(){return Fl||(Fl=jf(Ip))}const Mp=(...e)=>{Rl().render(...e)},Ol=(...e)=>{const t=Rl().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Fp(o);if(!r)return;const s=t._component;!$e(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,Np(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Np(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Fp(e){return qe(e)?document.querySelector(e):e}/*! +**/let Gs;const xl=typeof window<"u"&&window.trustedTypes;if(xl)try{Gs=xl.createPolicy("vue",{createHTML:e=>e})}catch{}const kl=Gs?e=>Gs.createHTML(e):e=>e,rp="http://www.w3.org/2000/svg",sp="http://www.w3.org/1998/Math/MathML",dn=typeof document<"u"?document:null,$l=dn&&dn.createElement("template"),ap={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const r=t==="svg"?dn.createElementNS(rp,e):t==="mathml"?dn.createElementNS(sp,e):n?dn.createElement(e,{is:n}):dn.createElement(e);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>dn.createTextNode(e),createComment:e=>dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,s){const a=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{$l.innerHTML=kl(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=$l.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ip=Symbol("_vtc");function lp(e,t,n){const o=e[ip];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Rr=Symbol("_vod"),Sl=Symbol("_vsh"),Zt={name:"show",beforeMount(e,{value:t},{transition:n}){e[Rr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),zo(e,!0),o.enter(e)):o.leave(e,()=>{zo(e,!1)}):zo(e,t))},beforeUnmount(e,{value:t}){zo(e,t)}};function zo(e,t){e.style.display=t?e[Rr]:"none",e[Sl]=!t}const cp=Symbol(""),up=/(?:^|;)\s*display\s*:/;function dp(e,t,n){const o=e.style,r=Ve(n);let s=!1;if(n&&!r){if(t)if(Ve(t))for(const a of t.split(";")){const i=a.slice(0,a.indexOf(":")).trim();n[i]==null&&Bo(o,i,"")}else for(const a in t)n[a]==null&&Bo(o,a,"");for(const a in n){a==="display"&&(s=!0);const i=n[a];i!=null?pp(e,a,!Ve(t)&&t?t[a]:void 0,i)||Bo(o,a,i):Bo(o,a,"")}}else if(r){if(t!==n){const a=o[cp];a&&(n+=";"+a),o.cssText=n,s=up.test(n)}}else t&&e.removeAttribute("style");Rr in e&&(e[Rr]=s?o.display:"",e[Sl]&&(o.display="none"))}const Or=/\s*!important$/;function Bo(e,t,n){if(we(n))n.forEach(o=>Bo(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))Or.test(n)?e.setProperty(t,n.replace(Or,""),"important"):e.setProperty(t,n);else{const o=fp(e,t);Or.test(n)?e.setProperty(Et(o),n.replace(Or,""),"important"):e[o]=n}}const El=["Webkit","Moz","ms"],qs={};function fp(e,t){const n=qs[t];if(n)return n;let o=it(t);if(o!=="filter"&&o in e)return qs[t]=o;o=ir(o);for(let r=0;rVs||(yp.then(()=>Vs=0),Vs=Date.now());function wp(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const r=n.value;if(we(r)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const a=r.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xp=(e,t,n,o,r,s)=>{const a=r==="svg";t==="class"?lp(e,o,a):t==="style"?dp(e,n,o):tr(t)?nr(t)||hp(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kp(e,t,o,a))?(Tl(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Cl(e,t,o,a,s,t!=="value")):e._isVueCE&&($p(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ve(o)))?Tl(e,it(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Cl(e,t,o,a))};function kp(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&Pl(t)&&$e(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Pl(t)&&Ve(n)?!1:t in e}function $p(e,t){const n=e._def.props;if(!n)return!1;const o=it(t);return Array.isArray(n)?n.some(r=>it(r)===o):Object.keys(n).some(r=>it(r)===o)}const Il={};function Sp(e,t,n){let o=Lo(e,t);rr(o)&&(o=tt({},o,t));class r extends Hs{constructor(a){super(o,a,n)}}return r.def=o,r}const Ep=typeof HTMLElement<"u"?HTMLElement:class{};class Hs extends Ep{constructor(t,n={},o=Ol){super(),this._def=t,this._props=n,this._createApp=o,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&&o!==Ol?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(tt({},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 Hs){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,Mn(()=>{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 n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:a}=o;let i;if(s&&!we(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Ka(this._props[l])),(i||(i=Object.create(null)))[it(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(a),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!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 n=this._instance&&this._instance.exposed;if(n)for(const o in n)je(this,o)||Object.defineProperty(this,o,{get:()=>pe(n[o])})}_resolveProps(t){const{props:n}=t,o=we(n)?n:Object.keys(n||{});for(const r of Object.keys(this))r[0]!=="_"&&o.includes(r)&&this._setProp(r,this[r]);for(const r of o.map(it))Object.defineProperty(this,r,{get(){return this._getProp(r)},set(s){this._setProp(r,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const n=this.hasAttribute(t);let o=n?this.getAttribute(t):Il;const r=it(t);n&&this._numberProps&&this._numberProps[r]&&(o=Ka(o)),this._setProp(r,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,r=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Il?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),r&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Et(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Et(t),n+""):n||this.removeAttribute(Et(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Np(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Pe(this._def,tt(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const r=(s,a)=>{this.dispatchEvent(new CustomEvent(s,rr(a[0])?tt({detail:a},a[0]):{detail:a}))};o.emit=(s,...a)=>{r(s,a),Et(s)!==s&&r(Et(s),a)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const r=this._nonce,s=this.shadowRoot,a=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");r&&c.setAttribute("nonce",r),c.textContent=t[l],s.insertBefore(c,i||a),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{const t=e.props["onUpdate:modelValue"]||!1;return we(t)?n=>lr(t,n):t};function Ap(e){e.target.composing=!0}function Ml(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Dr=Symbol("_assign"),jr=Symbol("_initialValue");function Ws(e,t,n){return t&&(e=e.trim()),n&&(e=cs(e)),e}const Cp={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e.parentNode&&(e.type==="text"?e[jr]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jr]=e.defaultValue.replace(/\r\n?/g,` +`))),e[Dr]=Nl(r);const s=o||r.props&&r.props.type==="number";eo(e,t?"change":"input",a=>{a.target.composing||e[Dr](Ws(e.value,n,s))}),(n||s)&&eo(e,"change",()=>{e.value=Ws(e.value,n,s)}),t||(eo(e,"compositionstart",Ap),eo(e,"compositionend",Ml),eo(e,"change",Ml))},mounted(e,{value:t,modifiers:{trim:n,number:o}}){const r=t??"",s=e[jr];delete e[jr],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Dr](Ws(e.value,n,o)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:r,number:s}},a){if(e[Dr]=Nl(a),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?cs(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(o&&t===n||r&&e.value.trim()===l)||(e.value=l)}},Tp=["ctrl","shift","alt","meta"],Lp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Tp.some(n=>e[`${n}Key`]&&!t.includes(n))},to=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=(r,...s)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=r=>{if(!("key"in r))return;const s=Et(r.key);if(t.some(a=>a===s||Pp[a]===s))return e(r)})},Ip=tt({patchProp:xp},ap);let Fl;function Rl(){return Fl||(Fl=jf(Ip))}const Np=(...e)=>{Rl().render(...e)},Ol=(...e)=>{const t=Rl().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Fp(o);if(!r)return;const s=t._component;!$e(s)&&!s.render&&!s.template&&(s.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=n(r,!1,Mp(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Mp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Fp(e){return Ve(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ks(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Uo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Uo||(Uo={}));function Rp(){const e=ds(!0),t=e.run(()=>ce({}));let n=[],o=[];const r=$o({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,n,o=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&ti()&&fd(r),r}function no(e,...t){e.slice().forEach(n=>{n(...t)})}const Op=e=>e(),Ul=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];Ks(r)&&Ks(o)&&e.hasOwnProperty(n)&&!Ke(o)&&!on(o)?e[n]=Xs(r,o):e[n]=o}return e}const Dp=Symbol();function jp(e){return!Ks(e)||!e.hasOwnProperty(Dp)}const{assign:kn}=Object;function zp(e){return!!(Ke(e)&&e.effect)}function Bp(e,t,n,o){const{state:r,actions:s,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=r?r():{});const u=Nd(n.state.value[e]);return kn(u,s,Object.keys(a||{}).reduce((p,b)=>(p[b]=$o(re(()=>{Br(n);const x=n._s.get(e);return a[b].call(x,x)})),p),{}))}return l=Gl(e,c,t,n,o,!0),l}function Gl(e,t,n={},o,r,s){let a;const i=kn({actions:{}},n),l={deep:!0};let c,u,p=[],b=[],x;const A=o.state.value[e];!s&&!A&&(o.state.value[e]={});let y;function v(M){let S;c=u=!1,typeof M=="function"?(M(o.state.value[e]),S={type:Uo.patchFunction,storeId:e,events:x}):(Xs(o.state.value[e],M),S={type:Uo.patchObject,payload:M,storeId:e,events:x});const O=y=Symbol();Nn().then(()=>{y===O&&(c=!0)}),u=!0,no(p,S,o.state.value[e])}const E=s?function(){const{state:S}=n,O=S?S():{};this.$patch(q=>{kn(q,O)})}:zl;function _(){a.stop(),p=[],b=[],o._s.delete(e)}const d=(M,S="")=>{if(Ul in M)return M[Ys]=S,M;const O=function(){Br(o);const q=Array.from(arguments),J=[],he=[];function B(T){J.push(T)}function H(T){he.push(T)}no(b,{args:q,name:O[Ys],store:g,after:B,onError:H});let L;try{L=M.apply(this&&this.$id===e?this:g,q)}catch(T){throw no(he,T),T}return L instanceof Promise?L.then(T=>(no(J,T),T)).catch(T=>(no(he,T),Promise.reject(T))):(no(J,L),L)};return O[Ul]=!0,O[Ys]=S,O},f={_p:o,$id:e,$onAction:Bl.bind(null,b),$patch:v,$reset:E,$subscribe(M,S={}){const O=Bl(p,M,S.detached,()=>q()),q=a.run(()=>mt(()=>o.state.value[e],J=>{(S.flush==="sync"?u:c)&&M({storeId:e,type:Uo.direct,events:x},J)},kn({},l,S)));return O},$dispose:_},g=In(f);o._s.set(e,g);const $=(o._a&&o._a.runWithContext||Op)(()=>o._e.run(()=>(a=ds()).run(()=>t({action:d}))));for(const M in $){const S=$[M];if(Ke(S)&&!zp(S)||on(S))s||(A&&jp(S)&&(Ke(S)?S.value=A[M]:Xs(S,A[M])),o.state.value[e][M]=S);else if(typeof S=="function"){const O=d(S,M);$[M]=O,i.actions[M]=S}}return kn(g,$),kn(Ne(g),$),Object.defineProperty(g,"$state",{get:()=>o.state.value[e],set:M=>{v(S=>{kn(S,M)})}}),o._p.forEach(M=>{kn(g,a.run(()=>M({store:g,app:o._a,pinia:o,options:i})))}),A&&s&&n.hydrate&&n.hydrate(g.$state,A),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Js(e,t,n){let o,r;const s=typeof t=="function";typeof e=="string"?(o=e,r=s?n:t):(r=e,o=e.id);function a(i,l){const c=Kd();return i=i||(c?Se(jl,null):null),i&&Br(i),i=Dl,i._s.has(o)||(s?Gl(o,t,r,i):Bp(o,r,i)),i._s.get(o)}return a.$id=o,a}const Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Gp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},qp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Vp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},Wp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Kp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Yp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Xp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Jp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Zp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Qp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},eg={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},tg={menuComingSoon:"Menü folgt in Kürze"},ng={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},og={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},sg={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},ag={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ig={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},lg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},cg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},ug={menuComingSoon:"Menu coming soon"},dg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},fg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},pg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},gg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},hg={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},mg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},bg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},_g={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},yg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},vg={menuComingSoon:"Menú próximamente"},wg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},xg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},kg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},$g={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Sg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Eg={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Ag={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Cg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Tg={menuComingSoon:"Menu bientôt disponible"},Lg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Pg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Ig={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Mg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Ng={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Fg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Rg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Og={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Dg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},jg={menuComingSoon:"मेनू शीघ्र आ रहा है"},zg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Bg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ug={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Gg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},qg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Vg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Hg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Wg={menuComingSoon:"Menu in arrivo"},Kg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Yg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Xg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Jg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Zg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Qg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},eh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},th={menuComingSoon:"Menu em breve"},nh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},oh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},rh={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},sh={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},ah={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ih={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},lh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},ch={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},uh={menuComingSoon:"Meniu în curând"},dh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},fh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},ph={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},gh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},hh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},mh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},bh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},_h={menuComingSoon:"Меню скоро появится"},yh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},vh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},wh={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},xh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},kh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},$h={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Sh={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Eh={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Ah={menuComingSoon:"菜单即将推出"},Ch={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Lh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Dl;const Br=e=>Dl=e,jl=Symbol();function Ks(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Uo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Uo||(Uo={}));function Rp(){const e=ds(!0),t=e.run(()=>ue({}));let n=[],o=[];const r=$o({install(s){Br(r),r._a=s,s.provide(jl,r),s.config.globalProperties.$pinia=r,o.forEach(a=>n.push(a)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const zl=()=>{};function Bl(e,t,n,o=zl){e.push(t);const r=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&ti()&&fd(r),r}function no(e,...t){e.slice().forEach(n=>{n(...t)})}const Op=e=>e(),Ul=Symbol(),Ys=Symbol();function Xs(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],r=e[n];Ks(r)&&Ks(o)&&e.hasOwnProperty(n)&&!Ye(o)&&!on(o)?e[n]=Xs(r,o):e[n]=o}return e}const Dp=Symbol();function jp(e){return!Ks(e)||!e.hasOwnProperty(Dp)}const{assign:kn}=Object;function zp(e){return!!(Ye(e)&&e.effect)}function Bp(e,t,n,o){const{state:r,actions:s,getters:a}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=r?r():{});const u=Md(n.state.value[e]);return kn(u,s,Object.keys(a||{}).reduce((p,b)=>(p[b]=$o(re(()=>{Br(n);const x=n._s.get(e);return a[b].call(x,x)})),p),{}))}return l=Gl(e,c,t,n,o,!0),l}function Gl(e,t,n={},o,r,s){let a;const i=kn({actions:{}},n),l={deep:!0};let c,u,p=[],b=[],x;const A=o.state.value[e];!s&&!A&&(o.state.value[e]={});let y;function v(I){let S;c=u=!1,typeof I=="function"?(I(o.state.value[e]),S={type:Uo.patchFunction,storeId:e,events:x}):(Xs(o.state.value[e],I),S={type:Uo.patchObject,payload:I,storeId:e,events:x});const R=y=Symbol();Mn().then(()=>{y===R&&(c=!0)}),u=!0,no(p,S,o.state.value[e])}const C=s?function(){const{state:S}=n,R=S?S():{};this.$patch(V=>{kn(V,R)})}:zl;function _(){a.stop(),p=[],b=[],o._s.delete(e)}const d=(I,S="")=>{if(Ul in I)return I[Ys]=S,I;const R=function(){Br(o);const V=Array.from(arguments),Z=[],he=[];function z(E){Z.push(E)}function Y(E){he.push(E)}no(b,{args:V,name:R[Ys],store:g,after:z,onError:Y});let B;try{B=I.apply(this&&this.$id===e?this:g,V)}catch(E){throw no(he,E),E}return B instanceof Promise?B.then(E=>(no(Z,E),E)).catch(E=>(no(he,E),Promise.reject(E))):(no(Z,B),B)};return R[Ul]=!0,R[Ys]=S,R},f={_p:o,$id:e,$onAction:Bl.bind(null,b),$patch:v,$reset:C,$subscribe(I,S={}){const R=Bl(p,I,S.detached,()=>V()),V=a.run(()=>mt(()=>o.state.value[e],Z=>{(S.flush==="sync"?u:c)&&I({storeId:e,type:Uo.direct,events:x},Z)},kn({},l,S)));return R},$dispose:_},g=In(f);o._s.set(e,g);const $=(o._a&&o._a.runWithContext||Op)(()=>o._e.run(()=>(a=ds()).run(()=>t({action:d}))));for(const I in $){const S=$[I];if(Ye(S)&&!zp(S)||on(S))s||(A&&jp(S)&&(Ye(S)?S.value=A[I]:Xs(S,A[I])),o.state.value[e][I]=S);else if(typeof S=="function"){const R=d(S,I);$[I]=R,i.actions[I]=S}}return kn(g,$),kn(Me(g),$),Object.defineProperty(g,"$state",{get:()=>o.state.value[e],set:I=>{v(S=>{kn(S,I)})}}),o._p.forEach(I=>{kn(g,a.run(()=>I({store:g,app:o._a,pinia:o,options:i})))}),A&&s&&n.hydrate&&n.hydrate(g.$state,A),c=!0,u=!0,g}/*! #__NO_SIDE_EFFECTS__ */function Js(e,t,n){let o,r;const s=typeof t=="function";typeof e=="string"?(o=e,r=s?n:t):(r=e,o=e.id);function a(i,l){const c=Kd();return i=i||(c?Ee(jl,null):null),i&&Br(i),i=Dl,i._s.has(o)||(s?Gl(o,t,r,i):Bp(o,r,i)),i._s.get(o)}return a.$id=o,a}const Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},Gp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},qp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Vp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},Wp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Kp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Yp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Xp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Jp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Zp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten"},Qp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},eg={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},tg={menuComingSoon:"Menü folgt in Kürze"},ng={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},og={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},rg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},sg={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},ag={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ig={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},lg={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},cg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},ug={menuComingSoon:"Menu coming soon"},dg={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},fg={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},pg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},gg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},hg={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},mg={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},bg={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar"},_g={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},yg={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},vg={menuComingSoon:"Menú próximamente"},wg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},xg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},kg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},$g={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},Sg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Eg={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer"},Ag={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},Cg={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},Tg={menuComingSoon:"Menu bientôt disponible"},Lg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Pg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},Ig={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},Ng={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},Mg={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},Fg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Rg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Og={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Dg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},jg={menuComingSoon:"मेनू शीघ्र आ रहा है"},zg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Bg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ug={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Gg={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},qg={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora"},Vg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Hg={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Wg={menuComingSoon:"Menu in arrivo"},Kg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Yg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Xg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Jg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Zg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar"},Qg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},eh={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},th={menuComingSoon:"Menu em breve"},nh={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},oh={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},rh={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},sh={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},ah={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},ih={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează"},lh={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},ch={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},uh={menuComingSoon:"Meniu în curând"},dh={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},fh={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},ph={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},gh={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},hh={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},mh={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},bh={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},_h={menuComingSoon:"Меню скоро появится"},yh={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},vh={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},wh={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},xh={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},kh={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},$h={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},Sh={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},Eh={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},Ah={menuComingSoon:"菜单即将推出"},Ch={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Th={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},Lh={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Ph(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",$n=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Ih=(e,t,n)=>Mh({l:e,k:t,s:n}),Mh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),Nh=e=>Kl(e)==="[object Date]",Sn=e=>Kl(e)==="[object RegExp]",Gr=e=>Ee(e)&&Object.keys(e).length===0,ft=Object.assign,Fh=Object.create,Be=(e=null)=>Fh(e);let ql;const fn=()=>ql||(ql=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Be());function Vl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Hl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Rh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,r,s)=>`${r}="${Hl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,r,s)=>`${r}='${Hl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Oh=Object.prototype.hasOwnProperty;function Dt(e,t){return Oh.call(e,t)}const We=Array.isArray,He=e=>typeof e=="function",de=e=>typeof e=="string",Le=e=>typeof e=="boolean",Oe=e=>e!==null&&typeof e=="object",Dh=e=>Oe(e)&&He(e.then)&&He(e.catch),Wl=Object.prototype.toString,Kl=e=>Wl.call(e),Ee=e=>{if(!Oe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},jh=e=>e==null?"":We(e)||Ee(e)&&e.toString===Wl?JSON.stringify(e,null,2):String(e);function zh(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function qr(e){let t=e;return()=>++t}const Vr=e=>!Oe(e)||We(e);function Hr(e,t){if(Vr(e)||Vr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(Oe(o[s])&&!Oe(r[s])&&(r[s]=Array.isArray(o[s])?[]:Be()),Vr(r[s])||Vr(o[s])?r[s]=o[s]:n.push({src:o[s],des:r[s]}))})}}/*! + */function Ph(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Ur=typeof window<"u",$n=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Ih=(e,t,n)=>Nh({l:e,k:t,s:n}),Nh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ot=e=>typeof e=="number"&&isFinite(e),Mh=e=>Kl(e)==="[object Date]",Sn=e=>Kl(e)==="[object RegExp]",Gr=e=>Ae(e)&&Object.keys(e).length===0,ft=Object.assign,Fh=Object.create,Ue=(e=null)=>Fh(e);let ql;const fn=()=>ql||(ql=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ue());function Vl(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Hl(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Rh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,r,s)=>`${r}="${Hl(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,r,s)=>`${r}='${Hl(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const Oh=Object.prototype.hasOwnProperty;function Dt(e,t){return Oh.call(e,t)}const Ke=Array.isArray,We=e=>typeof e=="function",de=e=>typeof e=="string",Te=e=>typeof e=="boolean",De=e=>e!==null&&typeof e=="object",Dh=e=>De(e)&&We(e.then)&&We(e.catch),Wl=Object.prototype.toString,Kl=e=>Wl.call(e),Ae=e=>{if(!De(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},jh=e=>e==null?"":Ke(e)||Ae(e)&&e.toString===Wl?JSON.stringify(e,null,2):String(e);function zh(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}function qr(e){let t=e;return()=>++t}const Vr=e=>!De(e)||Ke(e);function Hr(e,t){if(Vr(e)||Vr(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:r}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(De(o[s])&&!De(r[s])&&(r[s]=Array.isArray(o[s])?[]:Ue()),Vr(r[s])||Vr(o[s])?r[s]=o[s]:n.push({src:o[s],des:r[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. */function Bh(e,t,n){return{line:e,column:t,offset:n}}function Wr(e,t,n){return{start:e,end:t}}const Uh=/\{([0-9a-zA-Z]+)\}/g;function Yl(e,...t){return t.length===1&&Gh(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Uh,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Xl=Object.assign,Jl=e=>typeof e=="string",Gh=e=>e!==null&&typeof e=="object";function Zl(e,t=""){return e.reduce((n,o,r)=>r===0?n+o:n+t+o,"")}const Zs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},qh={[Zs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Vh(e,t,...n){const o=Yl(qh[e],...n||[]),r={message:String(o),code:e};return t&&(r.location=t),r}const xe={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Hh={[xe.EXPECTED_TOKEN]:"Expected token: '{0}'",[xe.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[xe.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[xe.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[xe.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[xe.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[xe.EMPTY_PLACEHOLDER]:"Empty placeholder",[xe.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[xe.INVALID_LINKED_FORMAT]:"Invalid linked format",[xe.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[xe.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[xe.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[xe.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[xe.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[xe.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function oo(e,t,n={}){const{domain:o,messages:r,args:s}=n,a=Yl((r||Hh)[e]||"",...s||[]),i=new SyntaxError(String(a));return i.code=e,t&&(i.location=t),i.domain=o,i}function Wh(e){throw e}const pn=" ",Kh="\r",vt=` -`,Yh="\u2028",Xh="\u2029";function Jh(e){const t=e;let n=0,o=1,r=1,s=0;const a=$=>t[$]===Kh&&t[$+1]===vt,i=$=>t[$]===vt,l=$=>t[$]===Xh,c=$=>t[$]===Yh,u=$=>a($)||i($)||l($)||c($),p=()=>n,b=()=>o,x=()=>r,A=()=>s,y=$=>a($)||l($)||c($)?vt:t[$],v=()=>y(n),E=()=>y(n+s);function _(){return s=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function d(){return a(n+s)&&s++,s++,t[n+s]}function f(){n=0,o=1,r=1,s=0}function g($=0){s=$}function k(){const $=n+s;for(;$!==n;)_();s=0}return{index:p,line:b,column:x,peekOffset:A,charAt:y,currentChar:v,currentPeek:E,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const En=void 0,Zh=".",Ql="'",Qh="tokenizer";function em(e,t={}){const n=t.location!==!1,o=Jh(e),r=()=>o.index(),s=()=>Bh(o.line(),o.column(),o.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,m,j,...G){const le=c();if(m.column+=j,m.offset+=j,u){const oe=n?Wr(le.startLoc,m):null,D=oo(h,oe,{domain:Qh,args:G});u(D)}}function b(h,m,j){h.endLoc=s(),h.currentType=m;const G={type:m};return n&&(G.loc=Wr(h.startLoc,h.endLoc)),j!=null&&(G.value=j),G}const x=h=>b(h,14);function A(h,m){return h.currentChar()===m?(h.next(),m):(p(xe.EXPECTED_TOKEN,s(),0,m),"")}function y(h){let m="";for(;h.currentPeek()===pn||h.currentPeek()===vt;)m+=h.currentPeek(),h.peek();return m}function v(h){const m=y(h);return h.skipToPeek(),m}function E(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m===95}function _(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=48&&m<=57}function d(h,m){const{currentType:j}=m;if(j!==2)return!1;y(h);const G=E(h.currentPeek());return h.resetPeek(),G}function f(h,m){const{currentType:j}=m;if(j!==2)return!1;y(h);const G=h.currentPeek()==="-"?h.peek():h.currentPeek(),le=_(G);return h.resetPeek(),le}function g(h,m){const{currentType:j}=m;if(j!==2)return!1;y(h);const G=h.currentPeek()===Ql;return h.resetPeek(),G}function k(h,m){const{currentType:j}=m;if(j!==8)return!1;y(h);const G=h.currentPeek()===".";return h.resetPeek(),G}function $(h,m){const{currentType:j}=m;if(j!==9)return!1;y(h);const G=E(h.currentPeek());return h.resetPeek(),G}function M(h,m){const{currentType:j}=m;if(!(j===8||j===12))return!1;y(h);const G=h.currentPeek()===":";return h.resetPeek(),G}function S(h,m){const{currentType:j}=m;if(j!==10)return!1;const G=()=>{const oe=h.currentPeek();return oe==="{"?E(h.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===pn||!oe?!1:oe===vt?(h.peek(),G()):J(h,!1)},le=G();return h.resetPeek(),le}function O(h){y(h);const m=h.currentPeek()==="|";return h.resetPeek(),m}function q(h){const m=y(h),j=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:j,hasSpace:m.length>0}}function J(h,m=!0){const j=(le=!1,oe="",D=!1)=>{const P=h.currentPeek();return P==="{"?oe==="%"?!1:le:P==="@"||!P?oe==="%"?!0:le:P==="%"?(h.peek(),j(le,"%",!0)):P==="|"?oe==="%"||D?!0:!(oe===pn||oe===vt):P===pn?(h.peek(),j(!0,pn,D)):P===vt?(h.peek(),j(!0,vt,D)):!0},G=j();return m&&h.resetPeek(),G}function he(h,m){const j=h.currentChar();return j===En?En:m(j)?(h.next(),j):null}function B(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36}function H(h){return he(h,B)}function L(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36||m===45}function T(h){return he(h,L)}function R(h){const m=h.charCodeAt(0);return m>=48&&m<=57}function z(h){return he(h,R)}function Y(h){const m=h.charCodeAt(0);return m>=48&&m<=57||m>=65&&m<=70||m>=97&&m<=102}function ee(h){return he(h,Y)}function K(h){let m="",j="";for(;m=z(h);)j+=m;return j}function ue(h){v(h);const m=h.currentChar();return m!=="%"&&p(xe.EXPECTED_TOKEN,s(),0,m),h.next(),"%"}function ge(h){let m="";for(;;){const j=h.currentChar();if(j==="{"||j==="}"||j==="@"||j==="|"||!j)break;if(j==="%")if(J(h))m+=j,h.next();else break;else if(j===pn||j===vt)if(J(h))m+=j,h.next();else{if(O(h))break;m+=j,h.next()}else m+=j,h.next()}return m}function Ce(h){v(h);let m="",j="";for(;m=T(h);)j+=m;return h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),j}function _e(h){v(h);let m="";return h.currentChar()==="-"?(h.next(),m+=`-${K(h)}`):m+=K(h),h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m}function Te(h){return h!==Ql&&h!==vt}function Xe(h){v(h),A(h,"'");let m="",j="";for(;m=he(h,Te);)m==="\\"?j+=Je(h):j+=m;const G=h.currentChar();return G===vt||G===En?(p(xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),G===vt&&(h.next(),A(h,"'")),j):(A(h,"'"),j)}function Je(h){const m=h.currentChar();switch(m){case"\\":case"'":return h.next(),`\\${m}`;case"u":return Ue(h,m,4);case"U":return Ue(h,m,6);default:return p(xe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,m),""}}function Ue(h,m,j){A(h,m);let G="";for(let le=0;le{const G=h.currentChar();return G==="{"||G==="%"||G==="@"||G==="|"||G==="("||G===")"||!G||G===pn?j:(j+=G,h.next(),m(j))};return m("")}function U(h){v(h);const m=A(h,"|");return v(h),m}function V(h,m){let j=null;switch(h.currentChar()){case"{":return m.braceNest>=1&&p(xe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),j=b(m,2,"{"),v(h),m.braceNest++,j;case"}":return m.braceNest>0&&m.currentType===2&&p(xe.EMPTY_PLACEHOLDER,s(),0),h.next(),j=b(m,3,"}"),m.braceNest--,m.braceNest>0&&v(h),m.inLinked&&m.braceNest===0&&(m.inLinked=!1),j;case"@":return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),j=Z(h,m)||x(m),m.braceNest=0,j;default:{let le=!0,oe=!0,D=!0;if(O(h))return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),j=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,j;if(m.braceNest>0&&(m.currentType===5||m.currentType===6||m.currentType===7))return p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m.braceNest=0,ae(h,m);if(le=d(h,m))return j=b(m,5,Ce(h)),v(h),j;if(oe=f(h,m))return j=b(m,6,_e(h)),v(h),j;if(D=g(h,m))return j=b(m,7,Xe(h)),v(h),j;if(!le&&!oe&&!D)return j=b(m,13,w(h)),p(xe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,j.value),v(h),j;break}}return j}function Z(h,m){const{currentType:j}=m;let G=null;const le=h.currentChar();switch((j===8||j===9||j===12||j===10)&&(le===vt||le===pn)&&p(xe.INVALID_LINKED_FORMAT,s(),0),le){case"@":return h.next(),G=b(m,8,"@"),m.inLinked=!0,G;case".":return v(h),h.next(),b(m,9,".");case":":return v(h),h.next(),b(m,10,":");default:return O(h)?(G=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,G):k(h,m)||M(h,m)?(v(h),Z(h,m)):$(h,m)?(v(h),b(m,12,I(h))):S(h,m)?(v(h),le==="{"?V(h,m)||G:b(m,11,C(h))):(j===8&&p(xe.INVALID_LINKED_FORMAT,s(),0),m.braceNest=0,m.inLinked=!1,ae(h,m))}}function ae(h,m){let j={type:14};if(m.braceNest>0)return V(h,m)||x(m);if(m.inLinked)return Z(h,m)||x(m);switch(h.currentChar()){case"{":return V(h,m)||x(m);case"}":return p(xe.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(m,3,"}");case"@":return Z(h,m)||x(m);default:{if(O(h))return j=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,j;const{isModulo:le,hasSpace:oe}=q(h);if(le)return oe?b(m,0,ge(h)):b(m,4,ue(h));if(J(h))return b(m,0,ge(h));break}}return j}function se(){const{currentType:h,offset:m,startLoc:j,endLoc:G}=l;return l.lastType=h,l.lastOffset=m,l.lastStartLoc=j,l.lastEndLoc=G,l.offset=r(),l.startLoc=s(),o.currentChar()===En?b(l,14):ae(o,l)}return{nextToken:se,currentOffset:r,currentPosition:s,context:c}}const tm="parser",nm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function om(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function rm(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,n){const S=t?Wr(g,M):null,O=oo(f,S,{domain:tm,args:$});n(O)}}function s(d,f,g,k,...$){const M=d.currentPosition();if(M.offset+=k,M.column+=k,o){const S=t?Wr(g,M):null;o(Vh(f,S,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(5,k,$);return M.index=parseInt(f,10),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:M}=k,S=a(4,$,M);return S.key=f,g===!0&&(S.modulo=!0),d.nextToken(),i(S,d.currentOffset(),d.currentPosition()),S}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(9,k,$);return M.value=f.replace(nm,om),d.nextToken(),i(M,d.currentOffset(),d.currentPosition()),M}function b(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,M=a(8,k,$);return f.type!==12?(r(d,xe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),M.value="",i(M,k,$),{nextConsumeToken:f,node:M}):(f.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,jt(f)),M.value=f.value||"",i(M,d.currentOffset(),d.currentPosition()),{node:M})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function A(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=b(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=p(d,k.value||"");break;default:{r(d,xe.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),M=a(7,$.offset,$.startLoc);return M.value="",i(M,$.offset,$.startLoc),g.key=M,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let M=null,S=null;do{const J=M||d.nextToken();switch(M=null,J.type){case 0:J.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(J)),$.items.push(l(d,J.value||""));break;case 6:J.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(J)),$.items.push(c(d,J.value||""));break;case 4:S=!0;break;case 5:J.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(J)),$.items.push(u(d,J.value||"",!!S)),S&&(s(d,Zs.USE_MODULO_SYNTAX,f.lastStartLoc,0,jt(J)),S=null);break;case 7:J.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(J)),$.items.push(p(d,J.value||""));break;case 8:{const he=A(d);$.items.push(he.node),M=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const O=f.currentType===1?f.lastOffset:d.currentOffset(),q=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,O,q),$}function v(d,f,g,k){const $=d.context();let M=k.items.length===0;const S=a(1,f,g);S.cases=[],S.cases.push(k);do{const O=y(d);M||(M=O.items.length===0),S.cases.push(O)}while($.currentType!==14);return M&&r(d,xe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(S,d.currentOffset(),d.currentPosition()),S}function E(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=em(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=E(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function jt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function sm(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function ec(e,t){for(let n=0;ntc(n)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(y,v){a.code+=y}function c(y,v=!0){const E=v?o:"";l(r?E+" ".repeat(y):E)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function dm(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),so(e,t.key),t.modifier?(e.push(", "),so(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function fm(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let s=0;s{const n=Jl(t.mode)?t.mode:"normal",o=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,Yh="\u2028",Xh="\u2029";function Jh(e){const t=e;let n=0,o=1,r=1,s=0;const a=$=>t[$]===Kh&&t[$+1]===vt,i=$=>t[$]===vt,l=$=>t[$]===Xh,c=$=>t[$]===Yh,u=$=>a($)||i($)||l($)||c($),p=()=>n,b=()=>o,x=()=>r,A=()=>s,y=$=>a($)||l($)||c($)?vt:t[$],v=()=>y(n),C=()=>y(n+s);function _(){return s=0,u(n)&&(o++,r=0),a(n)&&n++,n++,r++,t[n]}function d(){return a(n+s)&&s++,s++,t[n+s]}function f(){n=0,o=1,r=1,s=0}function g($=0){s=$}function k(){const $=n+s;for(;$!==n;)_();s=0}return{index:p,line:b,column:x,peekOffset:A,charAt:y,currentChar:v,currentPeek:C,next:_,peek:d,reset:f,resetPeek:g,skipToPeek:k}}const En=void 0,Zh=".",Ql="'",Qh="tokenizer";function em(e,t={}){const n=t.location!==!1,o=Jh(e),r=()=>o.index(),s=()=>Bh(o.line(),o.column(),o.index()),a=s(),i=r(),l={currentType:14,offset:i,startLoc:a,endLoc:a,lastType:14,lastOffset:i,lastStartLoc:a,lastEndLoc:a,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function p(h,m,D,...G){const ce=c();if(m.column+=D,m.offset+=D,u){const oe=n?Wr(ce.startLoc,m):null,O=oo(h,oe,{domain:Qh,args:G});u(O)}}function b(h,m,D){h.endLoc=s(),h.currentType=m;const G={type:m};return n&&(G.loc=Wr(h.startLoc,h.endLoc)),D!=null&&(G.value=D),G}const x=h=>b(h,14);function A(h,m){return h.currentChar()===m?(h.next(),m):(p(xe.EXPECTED_TOKEN,s(),0,m),"")}function y(h){let m="";for(;h.currentPeek()===pn||h.currentPeek()===vt;)m+=h.currentPeek(),h.peek();return m}function v(h){const m=y(h);return h.skipToPeek(),m}function C(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m===95}function _(h){if(h===En)return!1;const m=h.charCodeAt(0);return m>=48&&m<=57}function d(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=C(h.currentPeek());return h.resetPeek(),G}function f(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=h.currentPeek()==="-"?h.peek():h.currentPeek(),ce=_(G);return h.resetPeek(),ce}function g(h,m){const{currentType:D}=m;if(D!==2)return!1;y(h);const G=h.currentPeek()===Ql;return h.resetPeek(),G}function k(h,m){const{currentType:D}=m;if(D!==8)return!1;y(h);const G=h.currentPeek()===".";return h.resetPeek(),G}function $(h,m){const{currentType:D}=m;if(D!==9)return!1;y(h);const G=C(h.currentPeek());return h.resetPeek(),G}function I(h,m){const{currentType:D}=m;if(!(D===8||D===12))return!1;y(h);const G=h.currentPeek()===":";return h.resetPeek(),G}function S(h,m){const{currentType:D}=m;if(D!==10)return!1;const G=()=>{const oe=h.currentPeek();return oe==="{"?C(h.peek()):oe==="@"||oe==="%"||oe==="|"||oe===":"||oe==="."||oe===pn||!oe?!1:oe===vt?(h.peek(),G()):Z(h,!1)},ce=G();return h.resetPeek(),ce}function R(h){y(h);const m=h.currentPeek()==="|";return h.resetPeek(),m}function V(h){const m=y(h),D=h.currentPeek()==="%"&&h.peek()==="{";return h.resetPeek(),{isModulo:D,hasSpace:m.length>0}}function Z(h,m=!0){const D=(ce=!1,oe="",O=!1)=>{const L=h.currentPeek();return L==="{"?oe==="%"?!1:ce:L==="@"||!L?oe==="%"?!0:ce:L==="%"?(h.peek(),D(ce,"%",!0)):L==="|"?oe==="%"||O?!0:!(oe===pn||oe===vt):L===pn?(h.peek(),D(!0,pn,O)):L===vt?(h.peek(),D(!0,vt,O)):!0},G=D();return m&&h.resetPeek(),G}function he(h,m){const D=h.currentChar();return D===En?En:m(D)?(h.next(),D):null}function z(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36}function Y(h){return he(h,z)}function B(h){const m=h.charCodeAt(0);return m>=97&&m<=122||m>=65&&m<=90||m>=48&&m<=57||m===95||m===36||m===45}function E(h){return he(h,B)}function N(h){const m=h.charCodeAt(0);return m>=48&&m<=57}function X(h){return he(h,N)}function j(h){const m=h.charCodeAt(0);return m>=48&&m<=57||m>=65&&m<=70||m>=97&&m<=102}function q(h){return he(h,j)}function W(h){let m="",D="";for(;m=X(h);)D+=m;return D}function le(h){v(h);const m=h.currentChar();return m!=="%"&&p(xe.EXPECTED_TOKEN,s(),0,m),h.next(),"%"}function ge(h){let m="";for(;;){const D=h.currentChar();if(D==="{"||D==="}"||D==="@"||D==="|"||!D)break;if(D==="%")if(Z(h))m+=D,h.next();else break;else if(D===pn||D===vt)if(Z(h))m+=D,h.next();else{if(R(h))break;m+=D,h.next()}else m+=D,h.next()}return m}function Se(h){v(h);let m="",D="";for(;m=E(h);)D+=m;return h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D}function Ie(h){v(h);let m="";return h.currentChar()==="-"?(h.next(),m+=`-${W(h)}`):m+=W(h),h.currentChar()===En&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m}function be(h){return h!==Ql&&h!==vt}function Ge(h){v(h),A(h,"'");let m="",D="";for(;m=he(h,be);)m==="\\"?D+=Je(h):D+=m;const G=h.currentChar();return G===vt||G===En?(p(xe.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),G===vt&&(h.next(),A(h,"'")),D):(A(h,"'"),D)}function Je(h){const m=h.currentChar();switch(m){case"\\":case"'":return h.next(),`\\${m}`;case"u":return Fe(h,m,4);case"U":return Fe(h,m,6);default:return p(xe.UNKNOWN_ESCAPE_SEQUENCE,s(),0,m),""}}function Fe(h,m,D){A(h,m);let G="";for(let ce=0;ce{const G=h.currentChar();return G==="{"||G==="%"||G==="@"||G==="|"||G==="("||G===")"||!G||G===pn?D:(D+=G,h.next(),m(D))};return m("")}function U(h){v(h);const m=A(h,"|");return v(h),m}function H(h,m){let D=null;switch(h.currentChar()){case"{":return m.braceNest>=1&&p(xe.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),h.next(),D=b(m,2,"{"),v(h),m.braceNest++,D;case"}":return m.braceNest>0&&m.currentType===2&&p(xe.EMPTY_PLACEHOLDER,s(),0),h.next(),D=b(m,3,"}"),m.braceNest--,m.braceNest>0&&v(h),m.inLinked&&m.braceNest===0&&(m.inLinked=!1),D;case"@":return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=Q(h,m)||x(m),m.braceNest=0,D;default:{let ce=!0,oe=!0,O=!0;if(R(h))return m.braceNest>0&&p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;if(m.braceNest>0&&(m.currentType===5||m.currentType===6||m.currentType===7))return p(xe.UNTERMINATED_CLOSING_BRACE,s(),0),m.braceNest=0,ae(h,m);if(ce=d(h,m))return D=b(m,5,Se(h)),v(h),D;if(oe=f(h,m))return D=b(m,6,Ie(h)),v(h),D;if(O=g(h,m))return D=b(m,7,Ge(h)),v(h),D;if(!ce&&!oe&&!O)return D=b(m,13,w(h)),p(xe.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,D.value),v(h),D;break}}return D}function Q(h,m){const{currentType:D}=m;let G=null;const ce=h.currentChar();switch((D===8||D===9||D===12||D===10)&&(ce===vt||ce===pn)&&p(xe.INVALID_LINKED_FORMAT,s(),0),ce){case"@":return h.next(),G=b(m,8,"@"),m.inLinked=!0,G;case".":return v(h),h.next(),b(m,9,".");case":":return v(h),h.next(),b(m,10,":");default:return R(h)?(G=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,G):k(h,m)||I(h,m)?(v(h),Q(h,m)):$(h,m)?(v(h),b(m,12,P(h))):S(h,m)?(v(h),ce==="{"?H(h,m)||G:b(m,11,T(h))):(D===8&&p(xe.INVALID_LINKED_FORMAT,s(),0),m.braceNest=0,m.inLinked=!1,ae(h,m))}}function ae(h,m){let D={type:14};if(m.braceNest>0)return H(h,m)||x(m);if(m.inLinked)return Q(h,m)||x(m);switch(h.currentChar()){case"{":return H(h,m)||x(m);case"}":return p(xe.UNBALANCED_CLOSING_BRACE,s(),0),h.next(),b(m,3,"}");case"@":return Q(h,m)||x(m);default:{if(R(h))return D=b(m,1,U(h)),m.braceNest=0,m.inLinked=!1,D;const{isModulo:ce,hasSpace:oe}=V(h);if(ce)return oe?b(m,0,ge(h)):b(m,4,le(h));if(Z(h))return b(m,0,ge(h));break}}return D}function se(){const{currentType:h,offset:m,startLoc:D,endLoc:G}=l;return l.lastType=h,l.lastOffset=m,l.lastStartLoc=D,l.lastEndLoc=G,l.offset=r(),l.startLoc=s(),o.currentChar()===En?b(l,14):ae(o,l)}return{nextToken:se,currentOffset:r,currentPosition:s,context:c}}const tm="parser",nm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function om(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function rm(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function r(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,n){const S=t?Wr(g,I):null,R=oo(f,S,{domain:tm,args:$});n(R)}}function s(d,f,g,k,...$){const I=d.currentPosition();if(I.offset+=k,I.column+=k,o){const S=t?Wr(g,I):null;o(Vh(f,S,$))}}function a(d,f,g){const k={type:d};return t&&(k.start=f,k.end=f,k.loc={start:g,end:g}),k}function i(d,f,g,k){t&&(d.end=f,d.loc&&(d.loc.end=g))}function l(d,f){const g=d.context(),k=a(3,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function c(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(5,k,$);return I.index=parseInt(f,10),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function u(d,f,g){const k=d.context(),{lastOffset:$,lastStartLoc:I}=k,S=a(4,$,I);return S.key=f,g===!0&&(S.modulo=!0),d.nextToken(),i(S,d.currentOffset(),d.currentPosition()),S}function p(d,f){const g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(9,k,$);return I.value=f.replace(nm,om),d.nextToken(),i(I,d.currentOffset(),d.currentPosition()),I}function b(d){const f=d.nextToken(),g=d.context(),{lastOffset:k,lastStartLoc:$}=g,I=a(8,k,$);return f.type!==12?(r(d,xe.UNEXPECTED_EMPTY_LINKED_MODIFIER,g.lastStartLoc,0),I.value="",i(I,k,$),{nextConsumeToken:f,node:I}):(f.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,jt(f)),I.value=f.value||"",i(I,d.currentOffset(),d.currentPosition()),{node:I})}function x(d,f){const g=d.context(),k=a(7,g.offset,g.startLoc);return k.value=f,i(k,d.currentOffset(),d.currentPosition()),k}function A(d){const f=d.context(),g=a(6,f.offset,f.startLoc);let k=d.nextToken();if(k.type===9){const $=b(d);g.modifier=$.node,k=$.nextConsumeToken||d.nextToken()}switch(k.type!==10&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),k=d.nextToken(),k.type===2&&(k=d.nextToken()),k.type){case 11:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=x(d,k.value||"");break;case 5:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=u(d,k.value||"");break;case 6:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=c(d,k.value||"");break;case 7:k.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(k)),g.key=p(d,k.value||"");break;default:{r(d,xe.UNEXPECTED_EMPTY_LINKED_KEY,f.lastStartLoc,0);const $=d.context(),I=a(7,$.offset,$.startLoc);return I.value="",i(I,$.offset,$.startLoc),g.key=I,i(g,$.offset,$.startLoc),{nextConsumeToken:k,node:g}}}return i(g,d.currentOffset(),d.currentPosition()),{node:g}}function y(d){const f=d.context(),g=f.currentType===1?d.currentOffset():f.offset,k=f.currentType===1?f.endLoc:f.startLoc,$=a(2,g,k);$.items=[];let I=null,S=null;do{const Z=I||d.nextToken();switch(I=null,Z.type){case 0:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(l(d,Z.value||""));break;case 6:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(c(d,Z.value||""));break;case 4:S=!0;break;case 5:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(u(d,Z.value||"",!!S)),S&&(s(d,Zs.USE_MODULO_SYNTAX,f.lastStartLoc,0,jt(Z)),S=null);break;case 7:Z.value==null&&r(d,xe.UNEXPECTED_LEXICAL_ANALYSIS,f.lastStartLoc,0,jt(Z)),$.items.push(p(d,Z.value||""));break;case 8:{const he=A(d);$.items.push(he.node),I=he.nextConsumeToken||null;break}}}while(f.currentType!==14&&f.currentType!==1);const R=f.currentType===1?f.lastOffset:d.currentOffset(),V=f.currentType===1?f.lastEndLoc:d.currentPosition();return i($,R,V),$}function v(d,f,g,k){const $=d.context();let I=k.items.length===0;const S=a(1,f,g);S.cases=[],S.cases.push(k);do{const R=y(d);I||(I=R.items.length===0),S.cases.push(R)}while($.currentType!==14);return I&&r(d,xe.MUST_HAVE_MESSAGES_IN_PLURAL,g,0),i(S,d.currentOffset(),d.currentPosition()),S}function C(d){const f=d.context(),{offset:g,startLoc:k}=f,$=y(d);return f.currentType===14?$:v(d,g,k,$)}function _(d){const f=em(d,Xl({},e)),g=f.context(),k=a(0,g.offset,g.startLoc);return t&&k.loc&&(k.loc.source=d),k.body=C(f),e.onCacheKey&&(k.cacheKey=e.onCacheKey(d)),g.currentType!==14&&r(f,xe.UNEXPECTED_LEXICAL_ANALYSIS,g.lastStartLoc,0,d[g.offset]||""),i(k,f.currentOffset(),f.currentPosition()),k}return{parse:_}}function jt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function sm(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function ec(e,t){for(let n=0;ntc(n)),e}function tc(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(y,v){a.code+=y}function c(y,v=!0){const C=v?o:"";l(r?C+" ".repeat(y):C)}function u(y=!0){const v=++a.indentLevel;y&&c(v)}function p(y=!0){const v=--a.indentLevel;y&&c(v)}function b(){c(a.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:b,helper:y=>`_${y}`,needIndent:()=>a.needIndent}}function dm(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),so(e,t.key),t.modifier?(e.push(", "),so(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function fm(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const r=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const r=t.cases.length;for(let s=0;s{const n=Jl(t.mode)?t.mode:"normal",o=Jl(t.filename)?t.filename:"message.intl";t.sourceMap;const r=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` `,s=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],i=um(e,{filename:o,breakLineCode:r,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),a.length>0&&(i.push(`const { ${Zl(a.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),so(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function mm(e,t={}){const n=Xl({},t),o=!!n.jit,r=!!n.minify,s=n.optimize==null?!0:n.optimize,i=rm(n).parse(e);return o?(s&&im(i),r&&ro(i),{ast:i,code:""}):(am(i,n),hm(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function bm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Qt(e){return Oe(e)&&ea(e)===0&&(Dt(e,"b")||Dt(e,"body"))}const nc=["b","body"];function _m(e){return An(e,nc)}const oc=["c","cases"];function ym(e){return An(e,oc,[])}const rc=["s","static"];function vm(e){return An(e,rc)}const sc=["i","items"];function wm(e){return An(e,sc,[])}const ac=["t","type"];function ea(e){return An(e,ac)}const ic=["v","value"];function Kr(e,t){const n=An(e,ic);if(n!=null)return n;throw Go(t)}const lc=["m","modifier"];function xm(e){return An(e,lc)}const cc=["k","key"];function km(e){const t=An(e,cc);if(t)return t;throw Go(6)}function An(e,t,n){for(let o=0;o{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,o=4,b[0]();else{if(r=0,a===void 0||(a=Cm(a),a===!1))return!1;b[1]()}};function x(){const A=e[n+1];if(o===5&&A==="'"||o===6&&A==='"')return n++,i="\\"+A,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&x())){if(l=Am(s),p=Cn[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const dc=new Map;function Lm(e,t){return Oe(e)?e[t]:null}function Pm(e,t){if(!Oe(e))return null;let n=dc.get(t);if(n||(n=Tm(t),n&&dc.set(t,n)),!n)return null;const o=n.length;let r=e,s=0;for(;se,Mm=e=>"",Nm="text",Fm=e=>e.length===0?"":zh(e),Rm=jh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Om(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function Dm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function jm(e={}){const t=e.locale,n=Om(e),o=Oe(e.pluralRules)&&de(t)&&He(e.pluralRules[t])?e.pluralRules[t]:fc,r=Oe(e.pluralRules)&&de(t)&&He(e.pluralRules[t])?fc:void 0,s=E=>E[o(n,E.length,r)],a=e.list||[],i=E=>a[E],l=e.named||Be();ot(e.pluralIndex)&&Dm(n,l);const c=E=>l[E];function u(E){const _=He(e.messages)?e.messages(E):Oe(e.messages)?e.messages[E]:!1;return _||(e.parent?e.parent.message(E):Mm)}const p=E=>e.modifiers?e.modifiers[E]:Im,b=Ee(e.processor)&&He(e.processor.normalize)?e.processor.normalize:Fm,x=Ee(e.processor)&&He(e.processor.interpolate)?e.processor.interpolate:Rm,A=Ee(e.processor)&&de(e.processor.type)?e.processor.type:Nm,v={list:i,named:c,plural:s,linked:(E,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?Oe(d)?(k=d.modifier||k,g=d.type||g):de(d)&&(k=d||k):_.length===2&&(de(d)&&(k=d||k),de(f)&&(g=f||g));const $=u(E)(v),M=g==="vnode"&&We($)&&k?$[0]:$;return k?p(k)(M,g):M},message:u,type:A,interpolate:x,normalize:b,values:ft(Be(),a,l)};return v}let qo=null;function zm(e){qo=e}function Bm(e,t,n){qo&&qo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Um=Gm("function:translate");function Gm(e){return t=>qo&&qo.emit(e,t)}const qm=Zs.__EXTEND_POINT__,jn=qr(qm),Vm={FALLBACK_TO_TRANSLATE:jn(),CANNOT_FORMAT_NUMBER:jn(),FALLBACK_TO_NUMBER_FORMAT:jn(),CANNOT_FORMAT_DATE:jn(),FALLBACK_TO_DATE_FORMAT:jn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jn(),__EXTEND_POINT__:jn()},pc=xe.__EXTEND_POINT__,zn=qr(pc),zt={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:zn(),INVALID_ISO_DATE_ARGUMENT:zn(),NOT_SUPPORT_NON_STRING_MESSAGE:zn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zn(),NOT_SUPPORT_LOCALE_TYPE:zn(),__EXTEND_POINT__:zn()};function en(e){return oo(e,null,void 0)}function ta(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(de(e))return e;if(He(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Dh(t))throw en(zt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw en(zt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw en(zt.NOT_SUPPORT_LOCALE_TYPE)}function Hm(e,t,n){return[...new Set([n,...We(t)?t:Oe(t)?Object.keys(t):de(t)?[t]:[n]])]}function hc(e,t,n){const o=de(n)?n:ao,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(o);if(!s){s=[];let a=[n];for(;We(a);)a=mc(s,a,t);const i=We(t)||!Ee(t)?t:t.default?t.default:null;a=de(i)?[i]:i,We(a)&&mc(s,a,!1),r.__localeChainCache.set(o,s)}return s}function mc(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Xm(){return{upper:(e,t)=>t==="text"&&de(e)?e.toUpperCase():t==="vnode"&&Oe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&de(e)?e.toLowerCase():t==="vnode"&&Oe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&de(e)?_c(e):t==="vnode"&&Oe(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function Jm(e){wc=e}let xc;function Zm(e){xc=e}let kc=null;const Qm=e=>{kc=e},eb=()=>kc;let $c=null;const Sc=e=>{$c=e},tb=()=>$c;let Ec=0;function nb(e={}){const t=He(e.onWarn)?e.onWarn:Ph,n=de(e.version)?e.version:Ym,o=de(e.locale)||He(e.locale)?e.locale:ao,r=He(o)?ao:o,s=We(e.fallbackLocale)||Ee(e.fallbackLocale)||de(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ee(e.messages)?e.messages:oa(r),i=Ee(e.datetimeFormats)?e.datetimeFormats:oa(r),l=Ee(e.numberFormats)?e.numberFormats:oa(r),c=ft(Be(),e.modifiers,Xm()),u=e.pluralRules||Be(),p=He(e.missing)?e.missing:null,b=Le(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,x=Le(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,y=!!e.unresolving,v=He(e.postTranslation)?e.postTranslation:null,E=Ee(e.processor)?e.processor:null,_=Le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=He(e.messageCompiler)?e.messageCompiler:yc,g=He(e.messageResolver)?e.messageResolver:wc||Lm,k=He(e.localeFallbacker)?e.localeFallbacker:xc||Hm,$=Oe(e.fallbackContext)?e.fallbackContext:void 0,M=e,S=Oe(M.__datetimeFormatters)?M.__datetimeFormatters:new Map,O=Oe(M.__numberFormatters)?M.__numberFormatters:new Map,q=Oe(M.__meta)?M.__meta:{};Ec++;const J={version:n,cid:Ec,locale:o,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:b,fallbackWarn:x,fallbackFormat:A,unresolving:y,postTranslation:v,processor:E,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:q};return J.datetimeFormats=i,J.numberFormats=l,J.__datetimeFormatters=S,J.__numberFormatters=O,__INTLIFY_PROD_DEVTOOLS__&&Bm(J,n,q),J}const oa=e=>({[e]:Be()});function ra(e,t,n,o,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,n,t,r);return de(i)?i:t}else return t}function Vo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function ob(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function rb(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;osb(n,e)}function sb(e,t){const n=_m(t);if(n==null)throw Go(0);if(ea(n)===1){const s=ym(n);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,n)}function Ac(e,t){const n=vm(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=wm(t).reduce((r,s)=>[...r,aa(e,s)],[]);return e.normalize(o)}}function aa(e,t){const n=ea(t);switch(n){case 3:return Kr(t,n);case 9:return Kr(t,n);case 4:{const o=t;if(Dt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(Dt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Go(n)}case 5:{const o=t;if(Dt(o,"i")&&ot(o.i))return e.interpolate(e.list(o.i));if(Dt(o,"index")&&ot(o.index))return e.interpolate(e.list(o.index));throw Go(n)}case 6:{const o=t,r=xm(o),s=km(o);return e.linked(aa(e,s),r?aa(e,r):void 0,e.type)}case 7:return Kr(t,n);case 8:return Kr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Cc=e=>e;let io=Be();function Tc(e,t={}){let n=!1;const o=t.onError||Wh;return t.onError=r=>{n=!0,o(r)},{...mm(e,t),detectError:n}}const ab=(e,t)=>{if(!de(e))throw en(zt.NOT_SUPPORT_NON_STRING_MESSAGE);{Le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:io[o]=i}};function ib(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&de(e)){Le(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=sa(s);return a?i:io[o]=i}else{const n=e.cacheKey;if(n){const o=io[n];return o||(io[n]=sa(e))}else return sa(e)}}const Lc=()=>"",Pt=e=>He(e);function Pc(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=ia(...t),u=Le(c.missingWarn)?c.missingWarn:e.missingWarn,p=Le(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=Le(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,A=de(c.default)||Le(c.default)?Le(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",y=n||A!=="",v=ta(e,c);b&&lb(c);let[E,_,d]=x?[l,v,i[v]||Be()]:Ic(e,l,v,a,p,u),f=E,g=l;if(!x&&!(de(f)||Qt(f)||Pt(f))&&y&&(f=A,g=f),!x&&(!(de(f)||Qt(f)||Pt(f))||!de(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},M=Pt(f)?f:Mc(e,l,_,f,g,$);if(k)return f;const S=db(e,_,d,c),O=jm(S),q=cb(e,M,O);let J=o?o(q,l):q;if(b&&de(J)&&(J=Rh(J)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:de(l)?l:Pt(f)?f.key:"",locale:_||(Pt(f)?f.locale:""),format:de(f)?f:Pt(f)?f.source:"",message:J};he.meta=ft({},e.__meta,eb()||{}),Um(he)}return J}function lb(e){We(e.list)?e.list=e.list.map(t=>de(t)?Vl(t):t):Oe(e.named)&&Object.keys(e.named).forEach(t=>{de(e.named[t])&&(e.named[t]=Vl(e.named[t]))})}function Ic(e,t,n,o,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=Be(),b,x=null;const A="translate";for(let y=0;yo;return c.locale=n,c.key=t,c}const l=a(o,ub(e,n,r,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function cb(e,t,n){return t(n)}function ia(...e){const[t,n,o]=e,r=Be();if(!de(t)&&!ot(t)&&!Pt(t)&&!Qt(t))throw en(zt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Pt(t),t);return ot(n)?r.plural=n:de(n)?r.default=n:Ee(n)&&!Gr(n)?r.named=n:We(n)&&(r.list=n),ot(o)?r.plural=o:de(o)?r.default=o:Ee(o)&&ft(r,o),[s,r]}function ub(e,t,n,o,r,s){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Ih(t,n,a)}}function db(e,t,n,o){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:x=>{let A=a(n,x);if(A==null&&u){const[,,y]=Ic(u,x,t,i,l,c);A=a(y,x)}if(de(A)||Qt(A)){let y=!1;const E=Mc(e,x,t,A,x,()=>{y=!0});return y?Lc:E}else return Pt(A)?A:Lc}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),ot(o.plural)&&(b.pluralIndex=o.plural),b}function Nc(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=la(...t),b=Le(u.missingWarn)?u.missingWarn:e.missingWarn;Le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.DateTimeFormat(A,p).format(c);let v={},E,_=null;const d="datetime format";for(let k=0;k{Fc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ee(o)&&(a=o),Ee(r)&&(a=r),[s.key||"",i,s,a]}function Rc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ca(...t),b=Le(u.missingWarn)?u.missingWarn:e.missingWarn;Le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.NumberFormat(A,p).format(c);let v={},E,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ee(o)&&(a=o),Ee(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}bm();/*! + */function bm(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Qt(e){return De(e)&&ea(e)===0&&(Dt(e,"b")||Dt(e,"body"))}const nc=["b","body"];function _m(e){return An(e,nc)}const oc=["c","cases"];function ym(e){return An(e,oc,[])}const rc=["s","static"];function vm(e){return An(e,rc)}const sc=["i","items"];function wm(e){return An(e,sc,[])}const ac=["t","type"];function ea(e){return An(e,ac)}const ic=["v","value"];function Kr(e,t){const n=An(e,ic);if(n!=null)return n;throw Go(t)}const lc=["m","modifier"];function xm(e){return An(e,lc)}const cc=["k","key"];function km(e){const t=An(e,cc);if(t)return t;throw Go(6)}function An(e,t,n){for(let o=0;o{a===void 0?a=i:a+=i},b[1]=()=>{a!==void 0&&(t.push(a),a=void 0)},b[2]=()=>{b[0](),r++},b[3]=()=>{if(r>0)r--,o=4,b[0]();else{if(r=0,a===void 0||(a=Cm(a),a===!1))return!1;b[1]()}};function x(){const A=e[n+1];if(o===5&&A==="'"||o===6&&A==='"')return n++,i="\\"+A,b[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&x())){if(l=Am(s),p=Cn[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=b[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const dc=new Map;function Lm(e,t){return De(e)?e[t]:null}function Pm(e,t){if(!De(e))return null;let n=dc.get(t);if(n||(n=Tm(t),n&&dc.set(t,n)),!n)return null;const o=n.length;let r=e,s=0;for(;se,Nm=e=>"",Mm="text",Fm=e=>e.length===0?"":zh(e),Rm=jh;function fc(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Om(e){const t=ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ot(e.named.count)||ot(e.named.n))?ot(e.named.count)?e.named.count:ot(e.named.n)?e.named.n:t:t}function Dm(e,t){t.count||(t.count=e),t.n||(t.n=e)}function jm(e={}){const t=e.locale,n=Om(e),o=De(e.pluralRules)&&de(t)&&We(e.pluralRules[t])?e.pluralRules[t]:fc,r=De(e.pluralRules)&&de(t)&&We(e.pluralRules[t])?fc:void 0,s=C=>C[o(n,C.length,r)],a=e.list||[],i=C=>a[C],l=e.named||Ue();ot(e.pluralIndex)&&Dm(n,l);const c=C=>l[C];function u(C){const _=We(e.messages)?e.messages(C):De(e.messages)?e.messages[C]:!1;return _||(e.parent?e.parent.message(C):Nm)}const p=C=>e.modifiers?e.modifiers[C]:Im,b=Ae(e.processor)&&We(e.processor.normalize)?e.processor.normalize:Fm,x=Ae(e.processor)&&We(e.processor.interpolate)?e.processor.interpolate:Rm,A=Ae(e.processor)&&de(e.processor.type)?e.processor.type:Mm,v={list:i,named:c,plural:s,linked:(C,..._)=>{const[d,f]=_;let g="text",k="";_.length===1?De(d)?(k=d.modifier||k,g=d.type||g):de(d)&&(k=d||k):_.length===2&&(de(d)&&(k=d||k),de(f)&&(g=f||g));const $=u(C)(v),I=g==="vnode"&&Ke($)&&k?$[0]:$;return k?p(k)(I,g):I},message:u,type:A,interpolate:x,normalize:b,values:ft(Ue(),a,l)};return v}let qo=null;function zm(e){qo=e}function Bm(e,t,n){qo&&qo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Um=Gm("function:translate");function Gm(e){return t=>qo&&qo.emit(e,t)}const qm=Zs.__EXTEND_POINT__,jn=qr(qm),Vm={FALLBACK_TO_TRANSLATE:jn(),CANNOT_FORMAT_NUMBER:jn(),FALLBACK_TO_NUMBER_FORMAT:jn(),CANNOT_FORMAT_DATE:jn(),FALLBACK_TO_DATE_FORMAT:jn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:jn(),__EXTEND_POINT__:jn()},pc=xe.__EXTEND_POINT__,zn=qr(pc),zt={INVALID_ARGUMENT:pc,INVALID_DATE_ARGUMENT:zn(),INVALID_ISO_DATE_ARGUMENT:zn(),NOT_SUPPORT_NON_STRING_MESSAGE:zn(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:zn(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:zn(),NOT_SUPPORT_LOCALE_TYPE:zn(),__EXTEND_POINT__:zn()};function en(e){return oo(e,null,void 0)}function ta(e,t){return t.locale!=null?gc(t.locale):gc(e.locale)}let na;function gc(e){if(de(e))return e;if(We(e)){if(e.resolvedOnce&&na!=null)return na;if(e.constructor.name==="Function"){const t=e();if(Dh(t))throw en(zt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return na=t}else throw en(zt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw en(zt.NOT_SUPPORT_LOCALE_TYPE)}function Hm(e,t,n){return[...new Set([n,...Ke(t)?t:De(t)?Object.keys(t):de(t)?[t]:[n]])]}function hc(e,t,n){const o=de(n)?n:ao,r=e;r.__localeChainCache||(r.__localeChainCache=new Map);let s=r.__localeChainCache.get(o);if(!s){s=[];let a=[n];for(;Ke(a);)a=mc(s,a,t);const i=Ke(t)||!Ae(t)?t:t.default?t.default:null;a=de(i)?[i]:i,Ke(a)&&mc(s,a,!1),r.__localeChainCache.set(o,s)}return s}function mc(e,t,n){let o=!0;for(let r=0;r`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Xm(){return{upper:(e,t)=>t==="text"&&de(e)?e.toUpperCase():t==="vnode"&&De(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&de(e)?e.toLowerCase():t==="vnode"&&De(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&de(e)?_c(e):t==="vnode"&&De(e)&&"__v_isVNode"in e?_c(e.children):e}}let yc;function vc(e){yc=e}let wc;function Jm(e){wc=e}let xc;function Zm(e){xc=e}let kc=null;const Qm=e=>{kc=e},eb=()=>kc;let $c=null;const Sc=e=>{$c=e},tb=()=>$c;let Ec=0;function nb(e={}){const t=We(e.onWarn)?e.onWarn:Ph,n=de(e.version)?e.version:Ym,o=de(e.locale)||We(e.locale)?e.locale:ao,r=We(o)?ao:o,s=Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||de(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:r,a=Ae(e.messages)?e.messages:oa(r),i=Ae(e.datetimeFormats)?e.datetimeFormats:oa(r),l=Ae(e.numberFormats)?e.numberFormats:oa(r),c=ft(Ue(),e.modifiers,Xm()),u=e.pluralRules||Ue(),p=We(e.missing)?e.missing:null,b=Te(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,x=Te(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,A=!!e.fallbackFormat,y=!!e.unresolving,v=We(e.postTranslation)?e.postTranslation:null,C=Ae(e.processor)?e.processor:null,_=Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,d=!!e.escapeParameter,f=We(e.messageCompiler)?e.messageCompiler:yc,g=We(e.messageResolver)?e.messageResolver:wc||Lm,k=We(e.localeFallbacker)?e.localeFallbacker:xc||Hm,$=De(e.fallbackContext)?e.fallbackContext:void 0,I=e,S=De(I.__datetimeFormatters)?I.__datetimeFormatters:new Map,R=De(I.__numberFormatters)?I.__numberFormatters:new Map,V=De(I.__meta)?I.__meta:{};Ec++;const Z={version:n,cid:Ec,locale:o,fallbackLocale:s,messages:a,modifiers:c,pluralRules:u,missing:p,missingWarn:b,fallbackWarn:x,fallbackFormat:A,unresolving:y,postTranslation:v,processor:C,warnHtmlMessage:_,escapeParameter:d,messageCompiler:f,messageResolver:g,localeFallbacker:k,fallbackContext:$,onWarn:t,__meta:V};return Z.datetimeFormats=i,Z.numberFormats=l,Z.__datetimeFormatters=S,Z.__numberFormatters=R,__INTLIFY_PROD_DEVTOOLS__&&Bm(Z,n,V),Z}const oa=e=>({[e]:Ue()});function ra(e,t,n,o,r){const{missing:s,onWarn:a}=e;if(s!==null){const i=s(e,n,t,r);return de(i)?i:t}else return t}function Vo(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function ob(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function rb(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;osb(n,e)}function sb(e,t){const n=_m(t);if(n==null)throw Go(0);if(ea(n)===1){const s=ym(n);return e.plural(s.reduce((a,i)=>[...a,Ac(e,i)],[]))}else return Ac(e,n)}function Ac(e,t){const n=vm(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=wm(t).reduce((r,s)=>[...r,aa(e,s)],[]);return e.normalize(o)}}function aa(e,t){const n=ea(t);switch(n){case 3:return Kr(t,n);case 9:return Kr(t,n);case 4:{const o=t;if(Dt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(Dt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Go(n)}case 5:{const o=t;if(Dt(o,"i")&&ot(o.i))return e.interpolate(e.list(o.i));if(Dt(o,"index")&&ot(o.index))return e.interpolate(e.list(o.index));throw Go(n)}case 6:{const o=t,r=xm(o),s=km(o);return e.linked(aa(e,s),r?aa(e,r):void 0,e.type)}case 7:return Kr(t,n);case 8:return Kr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Cc=e=>e;let io=Ue();function Tc(e,t={}){let n=!1;const o=t.onError||Wh;return t.onError=r=>{n=!0,o(r)},{...mm(e,t),detectError:n}}const ab=(e,t)=>{if(!de(e))throw en(zt.NOT_SUPPORT_NON_STRING_MESSAGE);{Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{code:s,detectError:a}=Tc(e,t),i=new Function(`return ${s}`)();return a?i:io[o]=i}};function ib(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&de(e)){Te(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Cc)(e),r=io[o];if(r)return r;const{ast:s,detectError:a}=Tc(e,{...t,location:!1,jit:!0}),i=sa(s);return a?i:io[o]=i}else{const n=e.cacheKey;if(n){const o=io[n];return o||(io[n]=sa(e))}else return sa(e)}}const Lc=()=>"",Pt=e=>We(e);function Pc(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:r,messageCompiler:s,fallbackLocale:a,messages:i}=e,[l,c]=ia(...t),u=Te(c.missingWarn)?c.missingWarn:e.missingWarn,p=Te(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=Te(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,A=de(c.default)||Te(c.default)?Te(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",y=n||A!=="",v=ta(e,c);b&&lb(c);let[C,_,d]=x?[l,v,i[v]||Ue()]:Ic(e,l,v,a,p,u),f=C,g=l;if(!x&&!(de(f)||Qt(f)||Pt(f))&&y&&(f=A,g=f),!x&&(!(de(f)||Qt(f)||Pt(f))||!de(_)))return r?Yr:l;let k=!1;const $=()=>{k=!0},I=Pt(f)?f:Nc(e,l,_,f,g,$);if(k)return f;const S=db(e,_,d,c),R=jm(S),V=cb(e,I,R);let Z=o?o(V,l):V;if(b&&de(Z)&&(Z=Rh(Z)),__INTLIFY_PROD_DEVTOOLS__){const he={timestamp:Date.now(),key:de(l)?l:Pt(f)?f.key:"",locale:_||(Pt(f)?f.locale:""),format:de(f)?f:Pt(f)?f.source:"",message:Z};he.meta=ft({},e.__meta,eb()||{}),Um(he)}return Z}function lb(e){Ke(e.list)?e.list=e.list.map(t=>de(t)?Vl(t):t):De(e.named)&&Object.keys(e.named).forEach(t=>{de(e.named[t])&&(e.named[t]=Vl(e.named[t]))})}function Ic(e,t,n,o,r,s){const{messages:a,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=Ue(),b,x=null;const A="translate";for(let y=0;yo;return c.locale=n,c.key=t,c}const l=a(o,ub(e,n,r,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function cb(e,t,n){return t(n)}function ia(...e){const[t,n,o]=e,r=Ue();if(!de(t)&&!ot(t)&&!Pt(t)&&!Qt(t))throw en(zt.INVALID_ARGUMENT);const s=ot(t)?String(t):(Pt(t),t);return ot(n)?r.plural=n:de(n)?r.default=n:Ae(n)&&!Gr(n)?r.named=n:Ke(n)&&(r.list=n),ot(o)?r.plural=o:de(o)?r.default=o:Ae(o)&&ft(r,o),[s,r]}function ub(e,t,n,o,r,s){return{locale:t,key:n,warnHtmlMessage:r,onError:a=>{throw s&&s(a),a},onCacheKey:a=>Ih(t,n,a)}}function db(e,t,n,o){const{modifiers:r,pluralRules:s,messageResolver:a,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,b={locale:t,modifiers:r,pluralRules:s,messages:x=>{let A=a(n,x);if(A==null&&u){const[,,y]=Ic(u,x,t,i,l,c);A=a(y,x)}if(de(A)||Qt(A)){let y=!1;const C=Nc(e,x,t,A,x,()=>{y=!0});return y?Lc:C}else return Pt(A)?A:Lc}};return e.processor&&(b.processor=e.processor),o.list&&(b.list=o.list),o.named&&(b.named=o.named),ot(o.plural)&&(b.pluralIndex=o.plural),b}function Mc(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=la(...t),b=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.DateTimeFormat(A,p).format(c);let v={},C,_=null;const d="datetime format";for(let k=0;k{Fc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ae(o)&&(a=o),Ae(r)&&(a=r),[s.key||"",i,s,a]}function Rc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Oc(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:r,onWarn:s,localeFallbacker:a}=e,{__numberFormatters:i}=e,[l,c,u,p]=ca(...t),b=Te(u.missingWarn)?u.missingWarn:e.missingWarn;Te(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,A=ta(e,u),y=a(e,r,A);if(!de(l)||l==="")return new Intl.NumberFormat(A,p).format(c);let v={},C,_=null;const d="number format";for(let k=0;k{Dc.includes(l)?a[l]=n[l]:s[l]=n[l]}),de(o)?s.locale=o:Ae(o)&&(a=o),Ae(r)&&(a=r),[s.key||"",i,s,a]}function jc(e,t,n){const o=e;for(const r in n){const s=`${t}__${r}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}bm();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const fb="9.14.5";function pb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(fn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(fn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}const gb=Vm.__EXTEND_POINT__,gn=qr(gb);gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn();const zc=zt.__EXTEND_POINT__,kt=qr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return oo(e,null,void 0)}const ua=$n("__translateVNode"),da=$n("__datetimeParts"),fa=$n("__numberParts"),Bc=$n("__setPluralRules"),Uc=$n("__injectWithOption"),pa=$n("__dispose");function Ho(e){if(!Oe(e)||Qt(e))return e;for(const t in e)if(Dt(e,t))if(!t.includes("."))Oe(e[t])&&Ho(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Be(),Hr(c,a[l])):Hr(c,a)}else de(i)&&Hr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Dt(a,i)&&Ho(a[i]);return a}function Gc(e){return e.type}function qc(e,t,n){let o=Oe(t.messages)?t.messages:Be();"__i18nGlobal"in n&&(o=Xr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(Oe(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(Oe(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vc(e){return Ie(No,null,e,0)}const Hc="__INTLIFY_META__",Wc=()=>[],hb=()=>!1;let Kc=0;function Yc(e){return(t,n,o,r)=>e(n,o,un()||void 0,r)}const mb=()=>{const e=un();let t=null;return e&&(t=Gc(e)[Hc])?{[Hc]:t}:null};function ga(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,s=e.flatJson,a=Ur?ce:So,i=!!e.translateExistCompatible;let l=Le(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:de(e.locale)?e.locale:ao),u=a(n&&l?n.fallbackLocale.value:de(e.fallbackLocale)||We(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),b=a(Ee(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Ee(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=n?n.missingWarn:Le(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,y=n?n.fallbackWarn:Le(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,v=n?n.fallbackRoot:Le(e.fallbackRoot)?e.fallbackRoot:!0,E=!!e.fallbackFormat,_=He(e.missing)?e.missing:null,d=He(e.missing)?Yc(e.missing):null,f=He(e.postTranslation)?e.postTranslation:null,g=n?n.warnHtmlMessage:Le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=n?n.modifiers:Ee(e.modifiers)?e.modifiers:{};let M=e.pluralRules||n&&n.pluralRules,S;S=(()=>{r&&Sc(null);const D={version:fb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:M,missing:d===null?void 0:d,missingWarn:A,fallbackWarn:y,fallbackFormat:E,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};D.datetimeFormats=b.value,D.numberFormats=x.value,D.__datetimeFormatters=Ee(S)?S.__datetimeFormatters:void 0,D.__numberFormatters=Ee(S)?S.__numberFormatters:void 0;const P=nb(D);return r&&Sc(P),P})(),Vo(S,c.value,u.value);function q(){return[c.value,u.value,p.value,b.value,x.value]}const J=re({get:()=>c.value,set:D=>{c.value=D,S.locale=c.value}}),he=re({get:()=>u.value,set:D=>{u.value=D,S.fallbackLocale=u.value,Vo(S,c.value,D)}}),B=re(()=>p.value),H=re(()=>b.value),L=re(()=>x.value);function T(){return He(f)?f:null}function R(D){f=D,S.postTranslation=D}function z(){return _}function Y(D){D!==null&&(d=Yc(D)),_=D,S.missing=d}const ee=(D,P,X,te,me,ve)=>{q();let Fe;try{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=n?tb():void 0),Fe=D(S)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=void 0)}if(X!=="translate exists"&&ot(Fe)&&Fe===Yr||X==="translate exists"&&!Fe){const[et,wt]=P();return n&&v?te(n):me(et)}else{if(ve(Fe))return Fe;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function K(...D){return ee(P=>Reflect.apply(Pc,null,[P,...D]),()=>ia(...D),"translate",P=>Reflect.apply(P.t,P,[...D]),P=>P,P=>de(P))}function ue(...D){const[P,X,te]=D;if(te&&!Oe(te))throw lt(at.INVALID_ARGUMENT);return K(P,X,ft({resolvedMessage:!0},te||{}))}function ge(...D){return ee(P=>Reflect.apply(Nc,null,[P,...D]),()=>la(...D),"datetime format",P=>Reflect.apply(P.d,P,[...D]),()=>bc,P=>de(P))}function Ce(...D){return ee(P=>Reflect.apply(Oc,null,[P,...D]),()=>ca(...D),"number format",P=>Reflect.apply(P.n,P,[...D]),()=>bc,P=>de(P))}function _e(D){return D.map(P=>de(P)||ot(P)||Le(P)?Vc(String(P)):P)}const Xe={normalize:_e,interpolate:D=>D,type:"vnode"};function Je(...D){return ee(P=>{let X;const te=P;try{te.processor=Xe,X=Reflect.apply(Pc,null,[te,...D])}finally{te.processor=null}return X},()=>ia(...D),"translate",P=>P[ua](...D),P=>[Vc(P)],P=>We(P))}function Ue(...D){return ee(P=>Reflect.apply(Oc,null,[P,...D]),()=>ca(...D),"number format",P=>P[fa](...D),Wc,P=>de(P)||We(P))}function rt(...D){return ee(P=>Reflect.apply(Nc,null,[P,...D]),()=>la(...D),"datetime format",P=>P[da](...D),Wc,P=>de(P)||We(P))}function w(D){M=D,S.pluralRules=M}function I(D,P){return ee(()=>{if(!D)return!1;const X=de(P)?P:c.value,te=V(X),me=S.messageResolver(te,D);return i?me!=null:Qt(me)||Pt(me)||de(me)},()=>[D],"translate exists",X=>Reflect.apply(X.te,X,[D,P]),hb,X=>Le(X))}function C(D){let P=null;const X=hc(S,u.value,c.value);for(let te=0;te{l&&(c.value=D,S.locale=D,Vo(S,c.value,u.value))}),mt(n.fallbackLocale,D=>{l&&(u.value=D,S.fallbackLocale=D,Vo(S,c.value,u.value))}));const oe={id:Kc,locale:J,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(D){l=D,D&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Vo(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:B,get modifiers(){return $},get pluralRules(){return M||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(D){A=D,S.missingWarn=A},get fallbackWarn(){return y},set fallbackWarn(D){y=D,S.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(D){v=D},get fallbackFormat(){return E},set fallbackFormat(D){E=D,S.fallbackFormat=E},get warnHtmlMessage(){return g},set warnHtmlMessage(D){g=D,S.warnHtmlMessage=D},get escapeParameter(){return k},set escapeParameter(D){k=D,S.escapeParameter=D},t:K,getLocaleMessage:V,setLocaleMessage:Z,mergeLocaleMessage:ae,getPostTranslationHandler:T,setPostTranslationHandler:R,getMissingHandler:z,setMissingHandler:Y,[Bc]:w};return oe.datetimeFormats=H,oe.numberFormats=L,oe.rt=ue,oe.te=I,oe.tm=U,oe.d=ge,oe.n=Ce,oe.getDateTimeFormat=se,oe.setDateTimeFormat=h,oe.mergeDateTimeFormat=m,oe.getNumberFormat=j,oe.setNumberFormat=G,oe.mergeNumberFormat=le,oe[Uc]=o,oe[ua]=Je,oe[da]=rt,oe[fa]=Ue,oe}function bb(e){const t=de(e.locale)?e.locale:ao,n=de(e.fallbackLocale)||We(e.fallbackLocale)||Ee(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=He(e.missing)?e.missing:void 0,r=Le(e.silentTranslationWarn)||Sn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Le(e.silentFallbackWarn)||Sn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Le(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ee(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=He(e.postTranslation)?e.postTranslation:void 0,p=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,x=Le(e.sync)?e.sync:!0;let A=e.messages;if(Ee(e.sharedMessages)){const k=e.sharedMessages;A=Object.keys(k).reduce((M,S)=>{const O=M[S]||(M[S]={});return ft(O,k[S]),M},A||{})}const{__i18n:y,__root:v,__injectWithOption:E}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:A,flatJson:f,datetimeFormats:_,numberFormats:d,missing:o,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:E}}function ha(e={},t){{const n=ga(bb(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return Le(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=Le(s)?!s:s},get silentFallbackWarn(){return Le(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=Le(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:We(i)?u=i:Ee(i)&&(p=i),We(l)?u=l:Ee(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:ot(i)?c.plural=i:We(i)?u=i:Ee(i)&&(p=i),de(l)?c.locale=l:We(l)?u=l:Ee(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},te(s,a){return n.te(s,a)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,a){n.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){n.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,a){n.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){n.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,a){n.setNumberFormat(s,a)},mergeNumberFormat(s,a){n.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=o,r}}const ma={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function _b({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===Ae?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},Be())}function Xc(e){return Ae}const Jc=Lo({name:"i18n-t",props:ft({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ma),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||lo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),a=Be();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=de(e.plural)?+e.plural:e.plural);const i=_b(t,s),l=r[ua](e.keypath,i,a),c=ft(Be(),o),u=de(e.tag)||Oe(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function yb(e){return We(e)&&!de(e[0])}function Zc(e,t,n,o){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Be();e.locale&&(a.locale=e.locale),de(e.format)?a.key=e.format:Oe(e.format)&&(de(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,x)=>n.includes(x)?ft(Be(),b,{[x]:e.format[x]}):b,Be()));const l=o(e.value,a,i);let c=[a.key];We(l)?c=l.map((b,x)=>{const A=r[b.type],y=A?A({[b.type]:b.value,index:x,parts:l}):[b.value];return yb(y)&&(y[0].key=`${b.type}-${x}`),y}):de(l)&&(c=[l]);const u=ft(Be(),s),p=de(e.tag)||Oe(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Lo({name:"i18n-n",props:ft({value:{type:Number,required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...o)=>n[fa](...o))}}),eu=Lo({name:"i18n-d",props:ft({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Fc,(...o)=>n[da](...o))}});function vb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function wb(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=vb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...nu(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=mt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...nu(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(de(e))return{path:e};if(Ee(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function nu(e){const{path:t,locale:n,args:o,choice:r,plural:s}=e,a={},i=o||{};return de(n)&&(a.locale=n),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,i,a]}function xb(e,t,...n){const o=Ee(n[0])?n[0]:{},r=!!o.useI18nComponentName;(Le(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",wb(t))}function kb(e,t,n){return{beforeCreate(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=ou(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ha(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=ou(e,r);else{this.$i18n=ha({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&qc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),n.__deleteInstance(o),delete this.$i18n}}}function ou(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const n=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const $b=$n("global-vue-i18n");function Sb(e={},t){const n=__VUE_I18N_LEGACY_API__&&Le(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=Le(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[a,i]=Eb(e,n),l=$n("");function c(b){return s.get(b)||null}function u(b,x){s.set(b,x)}function p(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(x,...A){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,b),Ee(A[0])){const E=A[0];b.__composerExtend=E.__composerExtend,b.__vueI18nExtend=E.__vueI18nExtend}let y=null;!n&&o&&(y=Fb(x,b.global)),__VUE_I18N_FULL_INSTALL__&&xb(x,b,...A),__VUE_I18N_LEGACY_API__&&n&&x.mixin(kb(i,i.__composer,b));const v=x.unmount;x.unmount=()=>{y&&y(),b.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return b}}function lo(e={}){const t=un();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const n=Ab(t),o=Tb(n),r=Gc(t),s=Cb(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Mb(t,s,o,e)}if(s==="global")return qc(o,e,r),o;if(s==="parent"){let l=Lb(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=ft({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),i=ga(l),a.__composerExtend&&(i[pa]=a.__composerExtend(i)),Ib(a,t,i),a.__setInstance(t,i)}return i}function Eb(e,t,n){const o=ds();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ha(e)):o.run(()=>ga(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[o,r]}}function Ab(e){{const t=Se(e.isCE?$b:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Cb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Tb(e){return e.mode==="composition"?e.global:e.global.__composer}function Lb(e,t,n=!1){let o=null;const r=t.root;let s=Pb(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Uc]&&(o=null))}if(o!=null||r===s)break;s=s.parent}return o}function Pb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ib(e,t,n){xt(()=>{},t),Cr(()=>{const o=n;e.__deleteInstance(t);const r=o[pa];r&&(r(),delete o[pa])},t)}function Mb(e,t,n,o={}){const r=t==="local",s=So(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Le(o.inheritLocale)?o.inheritLocale:!de(o.locale),i=ce(!r||a?n.locale.value:de(o.locale)?o.locale:ao),l=ce(!r||a?n.fallbackLocale.value:de(o.fallbackLocale)||We(o.fallbackLocale)||Ee(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=ce(Xr(i.value,o)),u=ce(Ee(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=ce(Ee(o.numberFormats)?o.numberFormats:{[i.value]:{}}),b=r?n.missingWarn:Le(o.missingWarn)||Sn(o.missingWarn)?o.missingWarn:!0,x=r?n.fallbackWarn:Le(o.fallbackWarn)||Sn(o.fallbackWarn)?o.fallbackWarn:!0,A=r?n.fallbackRoot:Le(o.fallbackRoot)?o.fallbackRoot:!0,y=!!o.fallbackFormat,v=He(o.missing)?o.missing:null,E=He(o.postTranslation)?o.postTranslation:null,_=r?n.warnHtmlMessage:Le(o.warnHtmlMessage)?o.warnHtmlMessage:!0,d=!!o.escapeParameter,f=r?n.modifiers:Ee(o.modifiers)?o.modifiers:{},g=o.pluralRules||r&&n.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:C=>{s.value&&(s.value.locale.value=C),i.value=C}}),M=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:C=>{s.value&&(s.value.fallbackLocale.value=C),l.value=C}}),S=re(()=>s.value?s.value.messages.value:c.value),O=re(()=>u.value),q=re(()=>p.value);function J(){return s.value?s.value.getPostTranslationHandler():E}function he(C){s.value&&s.value.setPostTranslationHandler(C)}function B(){return s.value?s.value.getMissingHandler():v}function H(C){s.value&&s.value.setMissingHandler(C)}function L(C){return k(),C()}function T(...C){return s.value?L(()=>Reflect.apply(s.value.t,null,[...C])):L(()=>"")}function R(...C){return s.value?Reflect.apply(s.value.rt,null,[...C]):""}function z(...C){return s.value?L(()=>Reflect.apply(s.value.d,null,[...C])):L(()=>"")}function Y(...C){return s.value?L(()=>Reflect.apply(s.value.n,null,[...C])):L(()=>"")}function ee(C){return s.value?s.value.tm(C):{}}function K(C,U){return s.value?s.value.te(C,U):!1}function ue(C){return s.value?s.value.getLocaleMessage(C):{}}function ge(C,U){s.value&&(s.value.setLocaleMessage(C,U),c.value[C]=U)}function Ce(C,U){s.value&&s.value.mergeLocaleMessage(C,U)}function _e(C){return s.value?s.value.getDateTimeFormat(C):{}}function Te(C,U){s.value&&(s.value.setDateTimeFormat(C,U),u.value[C]=U)}function Xe(C,U){s.value&&s.value.mergeDateTimeFormat(C,U)}function Je(C){return s.value?s.value.getNumberFormat(C):{}}function Ue(C,U){s.value&&(s.value.setNumberFormat(C,U),p.value[C]=U)}function rt(C,U){s.value&&s.value.mergeNumberFormat(C,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:M,messages:S,datetimeFormats:O,numberFormats:q,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(C){s.value&&(s.value.inheritLocale=C)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(C){s.value&&(s.value.missingWarn=C)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(C){s.value&&(s.value.missingWarn=C)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(C){s.value&&(s.value.fallbackRoot=C)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(C){s.value&&(s.value.fallbackFormat=C)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(C){s.value&&(s.value.warnHtmlMessage=C)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(C){s.value&&(s.value.escapeParameter=C)},t:T,getPostTranslationHandler:J,setPostTranslationHandler:he,getMissingHandler:B,setMissingHandler:H,rt:R,d:z,n:Y,tm:ee,te:K,getLocaleMessage:ue,setLocaleMessage:ge,mergeLocaleMessage:Ce,getDateTimeFormat:_e,setDateTimeFormat:Te,mergeDateTimeFormat:Xe,getNumberFormat:Je,setNumberFormat:Ue,mergeNumberFormat:rt};function I(C){C.locale.value=i.value,C.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{C.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{C.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{C.mergeNumberFormat(U,p.value[U])}),C.escapeParameter=d,C.fallbackFormat=y,C.fallbackRoot=A,C.fallbackWarn=x,C.missingWarn=b,C.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const C=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=C.locale.value,l.value=C.fallbackLocale.value,c.value=C.messages.value,u.value=C.datetimeFormats.value,p.value=C.numberFormats.value):r&&I(C)}),w}const Nb=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Fb(e,t){const n=Object.create(null);return Nb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Ke(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(pb(),__INTLIFY_JIT_COMPILATION__?vc(ib):vc(ab),Jm(Pm),Zm(hc),__INTLIFY_PROD_DEVTOOLS__){const e=fn();e.__INTLIFY__=!0,zm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Rb=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":Gp,"./locales/ar/detail.json":qp,"./locales/ar/legend.json":Vp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":Wp,"./locales/ar/prayerLaps.json":Kp,"./locales/ar/search.json":Yp,"./locales/ar/tabs.json":Xp,"./locales/de/aria.json":Jp,"./locales/de/buttons.json":Zp,"./locales/de/detail.json":Qp,"./locales/de/legend.json":eg,"./locales/de/messages.json":tg,"./locales/de/options.json":ng,"./locales/de/prayerLaps.json":og,"./locales/de/search.json":rg,"./locales/de/tabs.json":sg,"./locales/en/aria.json":ag,"./locales/en/buttons.json":ig,"./locales/en/detail.json":lg,"./locales/en/legend.json":cg,"./locales/en/messages.json":ug,"./locales/en/options.json":dg,"./locales/en/popup.json":fg,"./locales/en/prayerLaps.json":pg,"./locales/en/search.json":gg,"./locales/en/tabs.json":hg,"./locales/es/aria.json":mg,"./locales/es/buttons.json":bg,"./locales/es/detail.json":_g,"./locales/es/legend.json":yg,"./locales/es/messages.json":vg,"./locales/es/options.json":wg,"./locales/es/prayerLaps.json":xg,"./locales/es/search.json":kg,"./locales/es/tabs.json":$g,"./locales/fr/aria.json":Sg,"./locales/fr/buttons.json":Eg,"./locales/fr/detail.json":Ag,"./locales/fr/legend.json":Cg,"./locales/fr/messages.json":Tg,"./locales/fr/options.json":Lg,"./locales/fr/popup.json":Pg,"./locales/fr/prayerLaps.json":Ig,"./locales/fr/search.json":Mg,"./locales/fr/tabs.json":Ng,"./locales/hi/aria.json":Fg,"./locales/hi/buttons.json":Rg,"./locales/hi/detail.json":Og,"./locales/hi/legend.json":Dg,"./locales/hi/messages.json":jg,"./locales/hi/options.json":zg,"./locales/hi/prayerLaps.json":Bg,"./locales/hi/search.json":Ug,"./locales/it/aria.json":Gg,"./locales/it/buttons.json":qg,"./locales/it/detail.json":Vg,"./locales/it/legend.json":Hg,"./locales/it/messages.json":Wg,"./locales/it/options.json":Kg,"./locales/it/prayerLaps.json":Yg,"./locales/it/search.json":Xg,"./locales/pt/aria.json":Jg,"./locales/pt/buttons.json":Zg,"./locales/pt/detail.json":Qg,"./locales/pt/legend.json":eh,"./locales/pt/messages.json":th,"./locales/pt/options.json":nh,"./locales/pt/prayerLaps.json":oh,"./locales/pt/search.json":rh,"./locales/pt/tabs.json":sh,"./locales/ro/aria.json":ah,"./locales/ro/buttons.json":ih,"./locales/ro/detail.json":lh,"./locales/ro/legend.json":ch,"./locales/ro/messages.json":uh,"./locales/ro/options.json":dh,"./locales/ro/prayerLaps.json":fh,"./locales/ro/search.json":ph,"./locales/ru/aria.json":gh,"./locales/ru/buttons.json":hh,"./locales/ru/detail.json":mh,"./locales/ru/legend.json":bh,"./locales/ru/messages.json":_h,"./locales/ru/options.json":yh,"./locales/ru/prayerLaps.json":vh,"./locales/ru/search.json":wh,"./locales/ru/tabs.json":xh,"./locales/zh/aria.json":kh,"./locales/zh/buttons.json":$h,"./locales/zh/detail.json":Sh,"./locales/zh/legend.json":Eh,"./locales/zh/messages.json":Ah,"./locales/zh/options.json":Ch,"./locales/zh/prayerLaps.json":Th,"./locales/zh/search.json":Lh}),Wo={};for(const[e,t]of Object.entries(Rb)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,r]=n;Wo[o]??(Wo[o]={}),Wo[o][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Ob(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Db(){return Sb({legacy:!1,globalInjection:!0,locale:Ob(),fallbackLocale:"en",messages:Wo,missingWarn:!1,fallbackWarn:!1})}function Tt(e,t){const n=t||jb(e);xt(()=>{var i;const o=un();if(!o)return;const r=(i=o.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,s.appendChild(a)})}function jb(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=ce(!1),a=ce(null);let i=null,l=null,c=null,u=null,p=null;function b(){s.value=!1}function x(v,E){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===E||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function A(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const E=v.getBoundingClientRect();if(!E.height)return;const _=Math.round(E.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const E=a.value;if(!E||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=E.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);E.style.setProperty("--pin-hint-attrib-clear",d+"px"),A()}return xt(()=>{var d,f,g;const v=un(),E=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!E||typeof E.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=E.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Nn(()=>{const $=x(k,E),M=a.value;if($&&M&&M.parentElement!==$)try{$.appendChild(M),l=$}catch{}y(E),A();try{const S=a.value&&a.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>A()),u.observe(S)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Ot(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Tt(` + */const fb="9.14.5";function pb(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(fn().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(fn().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(fn().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(fn().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(fn().__INTLIFY_PROD_DEVTOOLS__=!1)}const gb=Vm.__EXTEND_POINT__,gn=qr(gb);gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn(),gn();const zc=zt.__EXTEND_POINT__,kt=qr(zc),at={UNEXPECTED_RETURN_TYPE:zc,INVALID_ARGUMENT:kt(),MUST_BE_CALL_SETUP_TOP:kt(),NOT_INSTALLED:kt(),NOT_AVAILABLE_IN_LEGACY_MODE:kt(),REQUIRED_VALUE:kt(),INVALID_VALUE:kt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:kt(),NOT_INSTALLED_WITH_PROVIDE:kt(),UNEXPECTED_ERROR:kt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:kt(),BRIDGE_SUPPORT_VUE_2_ONLY:kt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:kt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:kt(),__EXTEND_POINT__:kt()};function lt(e,...t){return oo(e,null,void 0)}const ua=$n("__translateVNode"),da=$n("__datetimeParts"),fa=$n("__numberParts"),Bc=$n("__setPluralRules"),Uc=$n("__injectWithOption"),pa=$n("__dispose");function Ho(e){if(!De(e)||Qt(e))return e;for(const t in e)if(Dt(e,t))if(!t.includes("."))De(e[t])&&Ho(e[t]);else{const n=t.split("."),o=n.length-1;let r=e,s=!1;for(let a=0;a{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(a[l]=a[l]||Ue(),Hr(c,a[l])):Hr(c,a)}else de(i)&&Hr(JSON.parse(i),a)}),r==null&&s)for(const i in a)Dt(a,i)&&Ho(a[i]);return a}function Gc(e){return e.type}function qc(e,t,n){let o=De(t.messages)?t.messages:Ue();"__i18nGlobal"in n&&(o=Xr(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const r=Object.keys(o);r.length&&r.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(De(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(a=>{e.mergeDateTimeFormat(a,t.datetimeFormats[a])})}if(De(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(a=>{e.mergeNumberFormat(a,t.numberFormats[a])})}}}function Vc(e){return Pe(Mo,null,e,0)}const Hc="__INTLIFY_META__",Wc=()=>[],hb=()=>!1;let Kc=0;function Yc(e){return(t,n,o,r)=>e(n,o,un()||void 0,r)}const mb=()=>{const e=un();let t=null;return e&&(t=Gc(e)[Hc])?{[Hc]:t}:null};function ga(e={},t){const{__root:n,__injectWithOption:o}=e,r=n===void 0,s=e.flatJson,a=Ur?ue:So,i=!!e.translateExistCompatible;let l=Te(e.inheritLocale)?e.inheritLocale:!0;const c=a(n&&l?n.locale.value:de(e.locale)?e.locale:ao),u=a(n&&l?n.fallbackLocale.value:de(e.fallbackLocale)||Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=a(Xr(c.value,e)),b=a(Ae(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=a(Ae(e.numberFormats)?e.numberFormats:{[c.value]:{}});let A=n?n.missingWarn:Te(e.missingWarn)||Sn(e.missingWarn)?e.missingWarn:!0,y=n?n.fallbackWarn:Te(e.fallbackWarn)||Sn(e.fallbackWarn)?e.fallbackWarn:!0,v=n?n.fallbackRoot:Te(e.fallbackRoot)?e.fallbackRoot:!0,C=!!e.fallbackFormat,_=We(e.missing)?e.missing:null,d=We(e.missing)?Yc(e.missing):null,f=We(e.postTranslation)?e.postTranslation:null,g=n?n.warnHtmlMessage:Te(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const $=n?n.modifiers:Ae(e.modifiers)?e.modifiers:{};let I=e.pluralRules||n&&n.pluralRules,S;S=(()=>{r&&Sc(null);const O={version:fb,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:$,pluralRules:I,missing:d===null?void 0:d,missingWarn:A,fallbackWarn:y,fallbackFormat:C,unresolving:!0,postTranslation:f===null?void 0:f,warnHtmlMessage:g,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};O.datetimeFormats=b.value,O.numberFormats=x.value,O.__datetimeFormatters=Ae(S)?S.__datetimeFormatters:void 0,O.__numberFormatters=Ae(S)?S.__numberFormatters:void 0;const L=nb(O);return r&&Sc(L),L})(),Vo(S,c.value,u.value);function V(){return[c.value,u.value,p.value,b.value,x.value]}const Z=re({get:()=>c.value,set:O=>{c.value=O,S.locale=c.value}}),he=re({get:()=>u.value,set:O=>{u.value=O,S.fallbackLocale=u.value,Vo(S,c.value,O)}}),z=re(()=>p.value),Y=re(()=>b.value),B=re(()=>x.value);function E(){return We(f)?f:null}function N(O){f=O,S.postTranslation=O}function X(){return _}function j(O){O!==null&&(d=Yc(O)),_=O,S.missing=d}const q=(O,L,J,ne,me,ve)=>{V();let Re;try{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=n?tb():void 0),Re=O(S)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(S.fallbackContext=void 0)}if(J!=="translate exists"&&ot(Re)&&Re===Yr||J==="translate exists"&&!Re){const[et,wt]=L();return n&&v?ne(n):me(et)}else{if(ve(Re))return Re;throw lt(at.UNEXPECTED_RETURN_TYPE)}};function W(...O){return q(L=>Reflect.apply(Pc,null,[L,...O]),()=>ia(...O),"translate",L=>Reflect.apply(L.t,L,[...O]),L=>L,L=>de(L))}function le(...O){const[L,J,ne]=O;if(ne&&!De(ne))throw lt(at.INVALID_ARGUMENT);return W(L,J,ft({resolvedMessage:!0},ne||{}))}function ge(...O){return q(L=>Reflect.apply(Mc,null,[L,...O]),()=>la(...O),"datetime format",L=>Reflect.apply(L.d,L,[...O]),()=>bc,L=>de(L))}function Se(...O){return q(L=>Reflect.apply(Oc,null,[L,...O]),()=>ca(...O),"number format",L=>Reflect.apply(L.n,L,[...O]),()=>bc,L=>de(L))}function Ie(O){return O.map(L=>de(L)||ot(L)||Te(L)?Vc(String(L)):L)}const Ge={normalize:Ie,interpolate:O=>O,type:"vnode"};function Je(...O){return q(L=>{let J;const ne=L;try{ne.processor=Ge,J=Reflect.apply(Pc,null,[ne,...O])}finally{ne.processor=null}return J},()=>ia(...O),"translate",L=>L[ua](...O),L=>[Vc(L)],L=>Ke(L))}function Fe(...O){return q(L=>Reflect.apply(Oc,null,[L,...O]),()=>ca(...O),"number format",L=>L[fa](...O),Wc,L=>de(L)||Ke(L))}function rt(...O){return q(L=>Reflect.apply(Mc,null,[L,...O]),()=>la(...O),"datetime format",L=>L[da](...O),Wc,L=>de(L)||Ke(L))}function w(O){I=O,S.pluralRules=I}function P(O,L){return q(()=>{if(!O)return!1;const J=de(L)?L:c.value,ne=H(J),me=S.messageResolver(ne,O);return i?me!=null:Qt(me)||Pt(me)||de(me)},()=>[O],"translate exists",J=>Reflect.apply(J.te,J,[O,L]),hb,J=>Te(J))}function T(O){let L=null;const J=hc(S,u.value,c.value);for(let ne=0;ne{l&&(c.value=O,S.locale=O,Vo(S,c.value,u.value))}),mt(n.fallbackLocale,O=>{l&&(u.value=O,S.fallbackLocale=O,Vo(S,c.value,u.value))}));const oe={id:Kc,locale:Z,fallbackLocale:he,get inheritLocale(){return l},set inheritLocale(O){l=O,O&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,Vo(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:z,get modifiers(){return $},get pluralRules(){return I||{}},get isGlobal(){return r},get missingWarn(){return A},set missingWarn(O){A=O,S.missingWarn=A},get fallbackWarn(){return y},set fallbackWarn(O){y=O,S.fallbackWarn=y},get fallbackRoot(){return v},set fallbackRoot(O){v=O},get fallbackFormat(){return C},set fallbackFormat(O){C=O,S.fallbackFormat=C},get warnHtmlMessage(){return g},set warnHtmlMessage(O){g=O,S.warnHtmlMessage=O},get escapeParameter(){return k},set escapeParameter(O){k=O,S.escapeParameter=O},t:W,getLocaleMessage:H,setLocaleMessage:Q,mergeLocaleMessage:ae,getPostTranslationHandler:E,setPostTranslationHandler:N,getMissingHandler:X,setMissingHandler:j,[Bc]:w};return oe.datetimeFormats=Y,oe.numberFormats=B,oe.rt=le,oe.te=P,oe.tm=U,oe.d=ge,oe.n=Se,oe.getDateTimeFormat=se,oe.setDateTimeFormat=h,oe.mergeDateTimeFormat=m,oe.getNumberFormat=D,oe.setNumberFormat=G,oe.mergeNumberFormat=ce,oe[Uc]=o,oe[ua]=Je,oe[da]=rt,oe[fa]=Fe,oe}function bb(e){const t=de(e.locale)?e.locale:ao,n=de(e.fallbackLocale)||Ke(e.fallbackLocale)||Ae(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=We(e.missing)?e.missing:void 0,r=Te(e.silentTranslationWarn)||Sn(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Te(e.silentFallbackWarn)||Sn(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,a=Te(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Ae(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=We(e.postTranslation)?e.postTranslation:void 0,p=de(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,b=!!e.escapeParameterHtml,x=Te(e.sync)?e.sync:!0;let A=e.messages;if(Ae(e.sharedMessages)){const k=e.sharedMessages;A=Object.keys(k).reduce((I,S)=>{const R=I[S]||(I[S]={});return ft(R,k[S]),I},A||{})}const{__i18n:y,__root:v,__injectWithOption:C}=e,_=e.datetimeFormats,d=e.numberFormats,f=e.flatJson,g=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:A,flatJson:f,datetimeFormats:_,numberFormats:d,missing:o,missingWarn:r,fallbackWarn:s,fallbackRoot:a,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:g,__i18n:y,__root:v,__injectWithOption:C}}function ha(e={},t){{const n=ga(bb(e)),{__extender:o}=e,r={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return Te(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=Te(s)?!s:s},get silentFallbackWarn(){return Te(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=Te(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[a,i,l]=s,c={};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:Ke(i)?u=i:Ae(i)&&(p=i),Ke(l)?u=l:Ae(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[a,i,l]=s,c={plural:1};let u=null,p=null;if(!de(a))throw lt(at.INVALID_ARGUMENT);const b=a;return de(i)?c.locale=i:ot(i)?c.plural=i:Ke(i)?u=i:Ae(i)&&(p=i),de(l)?c.locale=l:Ke(l)?u=l:Ae(l)&&(p=l),Reflect.apply(n.t,n,[b,u||p||{},c])},te(s,a){return n.te(s,a)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,a){n.setLocaleMessage(s,a)},mergeLocaleMessage(s,a){n.mergeLocaleMessage(s,a)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,a){n.setDateTimeFormat(s,a)},mergeDateTimeFormat(s,a){n.mergeDateTimeFormat(s,a)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,a){n.setNumberFormat(s,a)},mergeNumberFormat(s,a){n.mergeNumberFormat(s,a)},getChoiceIndex(s,a){return-1}};return r.__extender=o,r}}const ma={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function _b({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,r)=>[...o,...r.type===Ce?r.children:[r]],[]):t.reduce((n,o)=>{const r=e[o];return r&&(n[o]=r()),n},Ue())}function Xc(e){return Ce}const Jc=Lo({name:"i18n-t",props:ft({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ot(e)||!isNaN(e)}},ma),setup(e,t){const{slots:n,attrs:o}=t,r=e.i18n||lo({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),a=Ue();e.locale&&(a.locale=e.locale),e.plural!==void 0&&(a.plural=de(e.plural)?+e.plural:e.plural);const i=_b(t,s),l=r[ua](e.keypath,i,a),c=ft(Ue(),o),u=de(e.tag)||De(e.tag)?e.tag:Xc();return wl(u,c,l)}}});function yb(e){return Ke(e)&&!de(e[0])}function Zc(e,t,n,o){const{slots:r,attrs:s}=t;return()=>{const a={part:!0};let i=Ue();e.locale&&(a.locale=e.locale),de(e.format)?a.key=e.format:De(e.format)&&(de(e.format.key)&&(a.key=e.format.key),i=Object.keys(e.format).reduce((b,x)=>n.includes(x)?ft(Ue(),b,{[x]:e.format[x]}):b,Ue()));const l=o(e.value,a,i);let c=[a.key];Ke(l)?c=l.map((b,x)=>{const A=r[b.type],y=A?A({[b.type]:b.value,index:x,parts:l}):[b.value];return yb(y)&&(y[0].key=`${b.type}-${x}`),y}):de(l)&&(c=[l]);const u=ft(Ue(),s),p=de(e.tag)||De(e.tag)?e.tag:Xc();return wl(p,u,c)}}const Qc=Lo({name:"i18n-n",props:ft({value:{type:Number,required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Dc,(...o)=>n[fa](...o))}}),eu=Lo({name:"i18n-d",props:ft({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ma),setup(e,t){const n=e.i18n||lo({useScope:e.scope,__useComponent:!0});return Zc(e,t,Fc,(...o)=>n[da](...o))}});function vb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function wb(e){const t=a=>{const{instance:i,modifiers:l,value:c}=a;if(!i||!i.$)throw lt(at.UNEXPECTED_ERROR);const u=vb(e,i.$),p=tu(c);return[Reflect.apply(u.t,u,[...nu(p)]),u]};return{created:(a,i)=>{const[l,c]=t(i);Ur&&e.global===c&&(a.__i18nWatcher=mt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),a.__composer=c,a.textContent=l},unmounted:a=>{Ur&&a.__i18nWatcher&&(a.__i18nWatcher(),a.__i18nWatcher=void 0,delete a.__i18nWatcher),a.__composer&&(a.__composer=void 0,delete a.__composer)},beforeUpdate:(a,{value:i})=>{if(a.__composer){const l=a.__composer,c=tu(i);a.textContent=Reflect.apply(l.t,l,[...nu(c)])}},getSSRProps:a=>{const[i]=t(a);return{textContent:i}}}}function tu(e){if(de(e))return{path:e};if(Ae(e)){if(!("path"in e))throw lt(at.REQUIRED_VALUE,"path");return e}else throw lt(at.INVALID_VALUE)}function nu(e){const{path:t,locale:n,args:o,choice:r,plural:s}=e,a={},i=o||{};return de(n)&&(a.locale=n),ot(r)&&(a.plural=r),ot(s)&&(a.plural=s),[t,i,a]}function xb(e,t,...n){const o=Ae(n[0])?n[0]:{},r=!!o.useI18nComponentName;(Te(o.globalInstall)?o.globalInstall:!0)&&([r?"i18n":Jc.name,"I18nT"].forEach(a=>e.component(a,Jc)),[Qc.name,"I18nN"].forEach(a=>e.component(a,Qc)),[eu.name,"I18nD"].forEach(a=>e.component(a,eu))),e.directive("t",wb(t))}function kb(e,t,n){return{beforeCreate(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const s=r.i18n;if(r.__i18n&&(s.__i18n=r.__i18n),s.__root=t,this===this.$root)this.$i18n=ou(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ha(s);const a=this.$i18n;a.__extender&&(a.__disposer=a.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=ou(e,r);else{this.$i18n=ha({__i18n:r.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&&qc(t,r,r),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,a)=>this.$i18n.te(s,a),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=un();if(!o)throw lt(at.UNEXPECTED_ERROR);const r=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,r.__disposer&&(r.__disposer(),delete r.__disposer,delete r.__extender),n.__deleteInstance(o),delete this.$i18n}}}function ou(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[Bc](t.pluralizationRules||e.pluralizationRules);const n=Xr(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const $b=$n("global-vue-i18n");function Sb(e={},t){const n=__VUE_I18N_LEGACY_API__&&Te(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=Te(e.globalInjection)?e.globalInjection:!0,r=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[a,i]=Eb(e,n),l=$n("");function c(b){return s.get(b)||null}function u(b,x){s.set(b,x)}function p(b){s.delete(b)}{const b={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return r},async install(x,...A){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,b),Ae(A[0])){const C=A[0];b.__composerExtend=C.__composerExtend,b.__vueI18nExtend=C.__vueI18nExtend}let y=null;!n&&o&&(y=Fb(x,b.global)),__VUE_I18N_FULL_INSTALL__&&xb(x,b,...A),__VUE_I18N_LEGACY_API__&&n&&x.mixin(kb(i,i.__composer,b));const v=x.unmount;x.unmount=()=>{y&&y(),b.dispose(),v()}},get global(){return i},dispose(){a.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return b}}function lo(e={}){const t=un();if(t==null)throw lt(at.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw lt(at.NOT_INSTALLED);const n=Ab(t),o=Tb(n),r=Gc(t),s=Cb(e,r);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw lt(at.NOT_AVAILABLE_IN_LEGACY_MODE);return Nb(t,s,o,e)}if(s==="global")return qc(o,e,r),o;if(s==="parent"){let l=Lb(n,t,e.__useComponent);return l==null&&(l=o),l}const a=n;let i=a.__getInstance(t);if(i==null){const l=ft({},e);"__i18n"in r&&(l.__i18n=r.__i18n),o&&(l.__root=o),i=ga(l),a.__composerExtend&&(i[pa]=a.__composerExtend(i)),Ib(a,t,i),a.__setInstance(t,i)}return i}function Eb(e,t,n){const o=ds();{const r=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ha(e)):o.run(()=>ga(e));if(r==null)throw lt(at.UNEXPECTED_ERROR);return[o,r]}}function Ab(e){{const t=Ee(e.isCE?$b:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw lt(e.isCE?at.NOT_INSTALLED_WITH_PROVIDE:at.UNEXPECTED_ERROR);return t}}function Cb(e,t){return Gr(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Tb(e){return e.mode==="composition"?e.global:e.global.__composer}function Lb(e,t,n=!1){let o=null;const r=t.root;let s=Pb(t,n);for(;s!=null;){const a=e;if(e.mode==="composition")o=a.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=a.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Uc]&&(o=null))}if(o!=null||r===s)break;s=s.parent}return o}function Pb(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function Ib(e,t,n){xt(()=>{},t),Cr(()=>{const o=n;e.__deleteInstance(t);const r=o[pa];r&&(r(),delete o[pa])},t)}function Nb(e,t,n,o={}){const r=t==="local",s=So(null);if(r&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw lt(at.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const a=Te(o.inheritLocale)?o.inheritLocale:!de(o.locale),i=ue(!r||a?n.locale.value:de(o.locale)?o.locale:ao),l=ue(!r||a?n.fallbackLocale.value:de(o.fallbackLocale)||Ke(o.fallbackLocale)||Ae(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=ue(Xr(i.value,o)),u=ue(Ae(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=ue(Ae(o.numberFormats)?o.numberFormats:{[i.value]:{}}),b=r?n.missingWarn:Te(o.missingWarn)||Sn(o.missingWarn)?o.missingWarn:!0,x=r?n.fallbackWarn:Te(o.fallbackWarn)||Sn(o.fallbackWarn)?o.fallbackWarn:!0,A=r?n.fallbackRoot:Te(o.fallbackRoot)?o.fallbackRoot:!0,y=!!o.fallbackFormat,v=We(o.missing)?o.missing:null,C=We(o.postTranslation)?o.postTranslation:null,_=r?n.warnHtmlMessage:Te(o.warnHtmlMessage)?o.warnHtmlMessage:!0,d=!!o.escapeParameter,f=r?n.modifiers:Ae(o.modifiers)?o.modifiers:{},g=o.pluralRules||r&&n.pluralRules;function k(){return[i.value,l.value,c.value,u.value,p.value]}const $=re({get:()=>s.value?s.value.locale.value:i.value,set:T=>{s.value&&(s.value.locale.value=T),i.value=T}}),I=re({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:T=>{s.value&&(s.value.fallbackLocale.value=T),l.value=T}}),S=re(()=>s.value?s.value.messages.value:c.value),R=re(()=>u.value),V=re(()=>p.value);function Z(){return s.value?s.value.getPostTranslationHandler():C}function he(T){s.value&&s.value.setPostTranslationHandler(T)}function z(){return s.value?s.value.getMissingHandler():v}function Y(T){s.value&&s.value.setMissingHandler(T)}function B(T){return k(),T()}function E(...T){return s.value?B(()=>Reflect.apply(s.value.t,null,[...T])):B(()=>"")}function N(...T){return s.value?Reflect.apply(s.value.rt,null,[...T]):""}function X(...T){return s.value?B(()=>Reflect.apply(s.value.d,null,[...T])):B(()=>"")}function j(...T){return s.value?B(()=>Reflect.apply(s.value.n,null,[...T])):B(()=>"")}function q(T){return s.value?s.value.tm(T):{}}function W(T,U){return s.value?s.value.te(T,U):!1}function le(T){return s.value?s.value.getLocaleMessage(T):{}}function ge(T,U){s.value&&(s.value.setLocaleMessage(T,U),c.value[T]=U)}function Se(T,U){s.value&&s.value.mergeLocaleMessage(T,U)}function Ie(T){return s.value?s.value.getDateTimeFormat(T):{}}function be(T,U){s.value&&(s.value.setDateTimeFormat(T,U),u.value[T]=U)}function Ge(T,U){s.value&&s.value.mergeDateTimeFormat(T,U)}function Je(T){return s.value?s.value.getNumberFormat(T):{}}function Fe(T,U){s.value&&(s.value.setNumberFormat(T,U),p.value[T]=U)}function rt(T,U){s.value&&s.value.mergeNumberFormat(T,U)}const w={get id(){return s.value?s.value.id:-1},locale:$,fallbackLocale:I,messages:S,datetimeFormats:R,numberFormats:V,get inheritLocale(){return s.value?s.value.inheritLocale:a},set inheritLocale(T){s.value&&(s.value.inheritLocale=T)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:f},get pluralRules(){return s.value?s.value.pluralRules:g},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:b},set missingWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(T){s.value&&(s.value.missingWarn=T)},get fallbackRoot(){return s.value?s.value.fallbackRoot:A},set fallbackRoot(T){s.value&&(s.value.fallbackRoot=T)},get fallbackFormat(){return s.value?s.value.fallbackFormat:y},set fallbackFormat(T){s.value&&(s.value.fallbackFormat=T)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:_},set warnHtmlMessage(T){s.value&&(s.value.warnHtmlMessage=T)},get escapeParameter(){return s.value?s.value.escapeParameter:d},set escapeParameter(T){s.value&&(s.value.escapeParameter=T)},t:E,getPostTranslationHandler:Z,setPostTranslationHandler:he,getMissingHandler:z,setMissingHandler:Y,rt:N,d:X,n:j,tm:q,te:W,getLocaleMessage:le,setLocaleMessage:ge,mergeLocaleMessage:Se,getDateTimeFormat:Ie,setDateTimeFormat:be,mergeDateTimeFormat:Ge,getNumberFormat:Je,setNumberFormat:Fe,mergeNumberFormat:rt};function P(T){T.locale.value=i.value,T.fallbackLocale.value=l.value,Object.keys(c.value).forEach(U=>{T.mergeLocaleMessage(U,c.value[U])}),Object.keys(u.value).forEach(U=>{T.mergeDateTimeFormat(U,u.value[U])}),Object.keys(p.value).forEach(U=>{T.mergeNumberFormat(U,p.value[U])}),T.escapeParameter=d,T.fallbackFormat=y,T.fallbackRoot=A,T.fallbackWarn=x,T.missingWarn=b,T.warnHtmlMessage=_}return Di(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw lt(at.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const T=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=T.locale.value,l.value=T.fallbackLocale.value,c.value=T.messages.value,u.value=T.datetimeFormats.value,p.value=T.numberFormats.value):r&&P(T)}),w}const Mb=["locale","fallbackLocale","availableLocales"],ru=["t","rt","d","n","tm","te"];function Fb(e,t){const n=Object.create(null);return Mb.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s)throw lt(at.UNEXPECTED_ERROR);const a=Ye(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,r,a)}),e.config.globalProperties.$i18n=n,ru.forEach(r=>{const s=Object.getOwnPropertyDescriptor(t,r);if(!s||!s.value)throw lt(at.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${r}`,s)}),()=>{delete e.config.globalProperties.$i18n,ru.forEach(r=>{delete e.config.globalProperties[`$${r}`]})}}if(pb(),__INTLIFY_JIT_COMPILATION__?vc(ib):vc(ab),Jm(Pm),Zm(hc),__INTLIFY_PROD_DEVTOOLS__){const e=fn();e.__INTLIFY__=!0,zm(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Rb=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":Gp,"./locales/ar/detail.json":qp,"./locales/ar/legend.json":Vp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":Wp,"./locales/ar/prayerLaps.json":Kp,"./locales/ar/search.json":Yp,"./locales/ar/tabs.json":Xp,"./locales/de/aria.json":Jp,"./locales/de/buttons.json":Zp,"./locales/de/detail.json":Qp,"./locales/de/legend.json":eg,"./locales/de/messages.json":tg,"./locales/de/options.json":ng,"./locales/de/prayerLaps.json":og,"./locales/de/search.json":rg,"./locales/de/tabs.json":sg,"./locales/en/aria.json":ag,"./locales/en/buttons.json":ig,"./locales/en/detail.json":lg,"./locales/en/legend.json":cg,"./locales/en/messages.json":ug,"./locales/en/options.json":dg,"./locales/en/popup.json":fg,"./locales/en/prayerLaps.json":pg,"./locales/en/search.json":gg,"./locales/en/tabs.json":hg,"./locales/es/aria.json":mg,"./locales/es/buttons.json":bg,"./locales/es/detail.json":_g,"./locales/es/legend.json":yg,"./locales/es/messages.json":vg,"./locales/es/options.json":wg,"./locales/es/prayerLaps.json":xg,"./locales/es/search.json":kg,"./locales/es/tabs.json":$g,"./locales/fr/aria.json":Sg,"./locales/fr/buttons.json":Eg,"./locales/fr/detail.json":Ag,"./locales/fr/legend.json":Cg,"./locales/fr/messages.json":Tg,"./locales/fr/options.json":Lg,"./locales/fr/popup.json":Pg,"./locales/fr/prayerLaps.json":Ig,"./locales/fr/search.json":Ng,"./locales/fr/tabs.json":Mg,"./locales/hi/aria.json":Fg,"./locales/hi/buttons.json":Rg,"./locales/hi/detail.json":Og,"./locales/hi/legend.json":Dg,"./locales/hi/messages.json":jg,"./locales/hi/options.json":zg,"./locales/hi/prayerLaps.json":Bg,"./locales/hi/search.json":Ug,"./locales/it/aria.json":Gg,"./locales/it/buttons.json":qg,"./locales/it/detail.json":Vg,"./locales/it/legend.json":Hg,"./locales/it/messages.json":Wg,"./locales/it/options.json":Kg,"./locales/it/prayerLaps.json":Yg,"./locales/it/search.json":Xg,"./locales/pt/aria.json":Jg,"./locales/pt/buttons.json":Zg,"./locales/pt/detail.json":Qg,"./locales/pt/legend.json":eh,"./locales/pt/messages.json":th,"./locales/pt/options.json":nh,"./locales/pt/prayerLaps.json":oh,"./locales/pt/search.json":rh,"./locales/pt/tabs.json":sh,"./locales/ro/aria.json":ah,"./locales/ro/buttons.json":ih,"./locales/ro/detail.json":lh,"./locales/ro/legend.json":ch,"./locales/ro/messages.json":uh,"./locales/ro/options.json":dh,"./locales/ro/prayerLaps.json":fh,"./locales/ro/search.json":ph,"./locales/ru/aria.json":gh,"./locales/ru/buttons.json":hh,"./locales/ru/detail.json":mh,"./locales/ru/legend.json":bh,"./locales/ru/messages.json":_h,"./locales/ru/options.json":yh,"./locales/ru/prayerLaps.json":vh,"./locales/ru/search.json":wh,"./locales/ru/tabs.json":xh,"./locales/zh/aria.json":kh,"./locales/zh/buttons.json":$h,"./locales/zh/detail.json":Sh,"./locales/zh/legend.json":Eh,"./locales/zh/messages.json":Ah,"./locales/zh/options.json":Ch,"./locales/zh/prayerLaps.json":Th,"./locales/zh/search.json":Lh}),Wo={};for(const[e,t]of Object.entries(Rb)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,r]=n;Wo[o]??(Wo[o]={}),Wo[o][r]=t}const su=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function Ob(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return su.includes(t)?t:"en"}function Db(){return Sb({legacy:!1,globalInjection:!0,locale:Ob(),fallbackLocale:"en",messages:Wo,missingWarn:!1,fallbackWarn:!1})}function Tt(e,t){const n=t||jb(e);xt(()=>{var i;const o=un();if(!o)return;const r=(i=o.proxy)==null?void 0:i.$el;if(!r)return;const s=r.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const a=document.createElement("style");a.setAttribute("data-shadow-styles",n),a.textContent=e,s.appendChild(a)})}function jb(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),r=re(()=>{var v;return((v=n==null?void 0:n.value)==null?void 0:v.pinHintLabel)||"Tap a red dot — someone still needs prayer"}),s=ue(!1),a=ue(null);let i=null,l=null,c=null,u=null,p=null;function b(){s.value=!1}function x(v,C){var d;let _=v==null?void 0:v.parentElement;for(let f=0;_&&f<12;f++,_=_.parentElement){if(_===C||(d=_.classList)!=null&&d.contains("profile-loader"))return null;let g="";try{g=getComputedStyle(_).position}catch{}if(g&&g!=="static"){const k=_.getBoundingClientRect();if(k.height>=120&&k.width>=160)return _}}return null}function A(){const v=a.value;if(v)try{v.style.removeProperty("--pin-hint-lift");const C=v.getBoundingClientRect();if(!C.height)return;const _=Math.round(C.bottom-window.innerHeight);_>0&&v.style.setProperty("--pin-hint-lift",_+8+"px")}catch{}}function y(v){const C=a.value;if(!C||!(v!=null&&v.querySelector))return;let _=0;try{const f=v.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(f){const g=f.getBoundingClientRect(),k=C.parentElement,$=k?k.getBoundingClientRect():null;if(_=$?Math.max(g.height||0,$.bottom-g.top):g.height||0,p!==f&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=f,c=new ResizeObserver(()=>y(v)),c.observe(f)}}}catch{}const d=Math.min(Math.max(Math.ceil(_)||20,20),72);C.style.setProperty("--pin-hint-attrib-clear",d+"px"),A()}return xt(()=>{var d,f,g;const v=un(),C=(g=(f=(d=v==null?void 0:v.proxy)==null?void 0:d.$el)==null?void 0:f.getRootNode)==null?void 0:g.call(f);if(!C||typeof C.querySelector!="function")return;let _=0;i=setInterval(()=>{_++;const k=C.querySelector("canvas");k?(clearInterval(i),i=null,s.value=!0,Mn(()=>{const $=x(k,C),I=a.value;if($&&I&&I.parentElement!==$)try{$.appendChild(I),l=$}catch{}y(C),A();try{const S=a.value&&a.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>A()),u.observe(S)}}catch{}})):_>40&&(clearInterval(i),i=null)},300)}),Ot(()=>{var v;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((v=a.value)==null?void 0:v.parentElement)===l)try{l.removeChild(a.value)}catch{}l=null}),Tt(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -69,11 +69,11 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),(v,E)=>s.value?(Q(),ne("div",{key:0,ref_key:"hintEl",ref:a,class:Me(["pin-hint",{dark:o.value}]),role:"status"},[F("span",zb,[E[0]||(E[0]=F("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+fe(r.value)+" ",1),F("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):ze("",!0)}};let Ub=0;const Gb=Js("ui",{state:()=>({_storeInstanceId:++Ub,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),qb=Js("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let r=[0,0];if(n.center)r=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Vb=Js("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=$o({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),It={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Hb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Wb={class:"profile-loader"},Kb={key:0,class:"profile-error"},Yb={key:1,class:"profile-error"},Xb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const n=e,o=Se("profileConfig",null),r=re(()=>{var k;if(!n.profileConfig)return null;let g;try{g=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=o==null?void 0:o.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||It.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),b=Se("appI18n",null);Jd(()=>{p.value&&b&&(b.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=b==null?void 0:b.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),A=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Se("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?sf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",A),ut("lang",x);const E=Gb(),_=qb(),d=Vb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=E.setTheme)==null||f.call(E,g))}catch{}return ut("uiStore",E),ut("mapStore",_),ut("dataStore",d),(g,k)=>(Q(),ne("div",Wb,[r.value?v.value?(Q(),Yt(zi(v.value),{key:2})):(Q(),ne("div",Yb,[F("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),F("strong",null,'"'+fe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(Q(),ne("div",Kb,[...k[0]||(k[0]=[F("p",null,[nt("⚠️ "),F("strong",null,"doxa-map"),nt(": missing or invalid "),F("code",null,"profile-config"),nt(" prop.")],-1),F("p",null,[nt("Example: "),F("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(Q(),Yt(zi(pe(null)),{key:3})):ze("",!0),v.value&&u.value?(Q(),Yt(Bb,{key:4})):ze("",!0)]))}},[["styles",[Hb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",hn={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Jb=hn,ba={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Zb=ba;function iu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?hn.hasAdoption:hn.notAdopted}function _a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],hn.hasAdoption,["==",t,1],hn.hasAdoption,hn.notAdopted]}const lu=_a,Qb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Jb,ADOPTION_LABELS:Zb,LABELS:ba,PALETTE:hn,PROPERTY_KEY:au,applyColor:_a,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:hn,colors:hn,labels:ba,getColor:iu,applyColor:_a,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",mn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},e_=mn,ya={notEngaged:"Unengaged",hasEngagement:"Engaged"},t_=ya;function uu(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mn.hasEngagement:mn.notEngaged}function va({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],mn.hasEngagement,["==",t,1],mn.hasEngagement,mn.notEngaged]}const du=va,n_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:e_,ENGAGEMENT_LABELS:t_,LABELS:ya,PALETTE:mn,PROPERTY_KEY:cu,applyColor:va,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:mn,colors:mn,labels:ya,getColor:uu,applyColor:va,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),wa="languageFamily",o_="#000000",bn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},r_=bn;function xa(e){return bn[e]||o_}const s_=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(bn))t[e(n)]=n;return t})(),a_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return a_[n]||s_[n]||t}function fu(e){var t;return xa(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ka(){const e=["match",["get",wa]];return Object.entries(bn).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const pu=ka,i_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:r_,PALETTE:bn,PROPERTY_KEY:wa,applyColor:ka,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:wa,palette:bn,colors:bn,getColor:fu,applyColor:ka,buildColorExpression:pu,getLanguageFamilyColor:xa,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:xa,languageFamilyColors:bn},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Tn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},l_=Tn,Ko={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},c_=Ko;function co(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qr?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $a(e){return Tn[co(e)]}function hu(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function mu(e){return co(e)==="fullPrayer"}function bu(e){return $a(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Tn.fullPrayer,[">",t,0],Tn.hasPrayer,Tn.noPrayer]}const _u=es,u_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Ko,PALETTE:Tn,PRAYER_COLORS:l_,PRAYER_LABELS:c_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Tn,colors:Tn,labels:Ko,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:co,getPrayerColor:$a,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:$a,getPrayerLevel:co},Symbol.toStringTag,{value:"Module"})),yu="religion",Sa="#94a3b8",Bn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ea(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Bn[t]?t:"U"}function vu(e){var n,o,r;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[Ea(t)]||Sa}function Aa(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,Sa]}const wu=Aa,d_=Object.assign({"./adoption.js":Qb,"./engagement.js":n_,"./language-family.js":i_,"./prayer-progress.js":u_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:yu,RELIGION_FAMILIES:Bn,applyColor:Aa,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:$t,families:Bn,getColor:vu,applyColor:Aa,buildColorExpression:wu,fallback:Sa},getColor:vu,getReligionFamily:Ea},Symbol.toStringTag,{value:"Module"}))}),f_=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),p_=e=>e.replace(/-/g,"_").toUpperCase(),_n={...{STATUS:"status",CUSTOM:"custom"}},Ca={};function xu(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const r=f_(n);_n[p_(n)]=r,Ca[r]=o}}xu(d_);function g_(e){e&&xu(e)}function ts(e){return Ca[e]||Ca[_n.LANGUAGE_FAMILY]}const h_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function m_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(h_,null,!0),!0}catch{return!1}}const ku="affinityBlock",uo="#95a5a6",fo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},po=Ta;Object.entries(fo).reduce((e,[t,n])=>(e[n]=t,e),{});const b_=Object.entries(fo).reduce((e,[t,n])=>(e[n]=po[t],e),{}),__=fo;function $u(e){return fo[e]||"Unknown"}function Su(e){return po[e]||uo}function y_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?po[e]||uo:b_[e]||uo:uo}function v_(){return Object.entries(fo).map(([e,t])=>({code:e,name:t,color:po[e]}))}function w_(e){return{code:e,name:fo[e]||"Unknown",color:po[e]||uo}}function x_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Su(t)}function k_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(po).forEach(([t,n])=>{e.push(t,n)}),e.push(uo),e}const $_={name:"Affinity Block",propertyKey:ku,palette:Ta,colors:Ta,names:__,getColor:x_,applyColor:Eu,buildColorExpression:Eu,getName:k_,getAffinityBlockName:$u,getAffinityBlockColor:y_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:v_,getAffinityBlockData:w_};function S_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let o=0;o{e.push(t,n)}),e.push(La),e}const C_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Pa,aliases:Pu,fallback:La,getColor:A_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:E_,getRegionColorBySlug:Lu},T_=Object.assign({"./research-dashboard.vue":()=>td(()=>Promise.resolve().then(()=>Dw),void 0)});g_({"./affinity-block.js":{default:$_},"./doxa-region.js":{default:C_}}),m_();function L_(){return Sp(Xb,{configureApp(e){e.use(Rp()),e.use(Db()),e.provide("profileModules",T_)}})}const P_=L_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",P_));function I_(e){const t={};for(const n of(e==null?void 0:e.facetRail)||[]){const o=Array.isArray(n.drill)?n.drill.filter(Boolean):[];for(let r=0;r!t[o[r]].includes(a))):s}}return t}function M_(){const e=In({}),t=new Set,n=ce(0),o=ce(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=I_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){o.value=_==null?"":String(_),a("search",o.value)}function b(){n.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),b()}function A(){t.size&&(t.clear(),b())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&b(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&b(),d}function E(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:n,searchTerm:o,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:A,selectMany:y,deselectMany:v,setSelection:E}}const Ia={};function Ma(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&(Ia==null?void 0:Ia.VITE_API_BASE_URL)||""}function N_(e={}){const t=ce(!1),n=ce(null),o=So(new Map),r=So([]),s=ce(null),a=ce(0),i=e.source||It.activeSource;async function l(){var c,u,p,b;t.value=!0,n.value=null;try{const x=((c=It==null?void 0:It.sources)==null?void 0:c[i])||{},A=Ma(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),E=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${A}${y}?${v?`fields=${v}&`:""}lang=${E}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const M of g){const S=M&&(M.slug||M.id);S&&k.set(S,M)}o.value=k,r.value=g,a.value=k.size;const $=((b=x.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const M=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});M.ok&&(M.headers.get("content-type")||"").includes("json")&&(s.value=await M.json())}catch{}a.value===0&&(n.value="No records loaded from the live API.")}catch(x){n.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:n,rowStore:o,rows:r,stats:s,total:a,load:l,sourceId:i}}const ns=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Na({rowStore:e,rows:t,selectionSet:n,filterSet:o,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var H,L,T;const g=s.source||It.activeSource,k=((H=It==null?void 0:It.sources)==null?void 0:H[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:ns,M=((L=k.endpoints)==null?void 0:L.bulk)||"/api/people-groups/list",S=((T=k.queryParams)==null?void 0:T.lang)||"en",O=`${Ma()}${M}?fields=${$.join(",")}&lang=${S}`,q=await fetch(O,{cache:"no-store"});if(!q.ok)throw new Error(`export list HTTP ${q.status}`);const J=await q.json(),he=Array.isArray(J)?J:J.posts||J.data||J.results||[],B=new Map;for(const R of he){const z=R&&(R.slug||R.id);z&&B.set(z,R)}return i=B,B})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(n&&n.size)return[...n].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(o);return g.length?(t.value||[]).filter(k=>g.every($=>{const M=r[$];return M?M(k)===o[$]:!0})):t.value||[]}function b(){return n&&n.size?`selection (${n.size})`:Object.keys(o).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function A(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(A),k=g.reduce((q,J)=>(Object.keys(J).forEach(he=>q.add(he)),q),new Set),$=[...ns.filter(q=>k.has(q)),...[...k].filter(q=>!ns.includes(q))],M=Object.entries(o).map(([q,J])=>`${q}=${a?a(q,J):J}`).join(" | ")||"none",S=`# Research Dashboard export — scope: ${b()}; filters: ${M}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(q=>$.map(J=>y(q[J])).join(",")),S].join(`\r -`)}const E={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const g=v(),k=p().length,$=(g.split(`\r -`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=g)}catch{}let M=!1,S=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(g).catch(()=>{}),M=!0)}catch{}try{const O=new Blob([g],{type:"text/csv;charset=utf-8"}),q=URL.createObjectURL(O),J=document.createElement("a");J.href=q,J.download="research-dashboard.csv",J.style.display="none",document.body.appendChild(J),J.click(),S=!0,setTimeout(()=>{try{URL.revokeObjectURL(q),J.remove()}catch{}},200)}catch{}Object.assign(E,{rows:k,clipboard:M,downloaded:S,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:M,downloaded:S,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:M,downloaded:S,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:b,lastExport:E,prefetchExportFields:f,EXPORT_FIELDS:ns}}const F_="#6b7280";function R_(){const e=ts(_n.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function O_(e,t){const n=R_();return e&&n[e]?n[e]:F_}function D_(e){return(e==null?void 0:e.properties)||e||{}}function Fa(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function j_(e){var t;return String(e.affinityBlock||Fa((t=e._raw)==null?void 0:t.rop1)||"").trim()}function z_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function B_(e){var t;return String(e.cluster||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function U_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function G_(e){var t;return String(e.peopleGroup||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function q_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function V_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function H_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function W_(e){var n;const t=Number(e.population??e.populationNum??((n=e._raw)==null?void 0:n.population)??0);return Number.isFinite(t)?t:0}function K_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function Y_(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=D_(i),c=j_(l),u=z_(l)||c||"— Unknown —",p=B_(l),b=U_(l)||p||"— Unknown —",x=G_(l),A=q_(l)||x||"— Unknown —",y=V_(l),v=H_(l)||y,E=W_(l),_=K_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=E,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=E,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:A,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=E,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:E})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=O_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:n(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:n(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:n(b.memberIds),children:[]};b.instances.sort((A,y)=>y.pop-A.pop||A.country.localeCompare(y.country));for(const A of b.instances)x.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:l,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});p.children.push(x)}p.children.sort((b,x)=>x.count-b.count||x.pop-b.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:o,highlight:r}}function Yo(e,t,n){const o=re(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=Y_(o),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,p=new Map,b=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&b.set(v.code,v.label);for(const E of v.peopleGroups.values())E.code&&x.set(E.code,E.label)}}const A={};return l&&(A[l]=p),c&&(A[c]=b),u&&(A[u]=x),A});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:o,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Mu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=It,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let r="",s=!1,a=[],i=!0;for(let l=0;ls.value?(ee(),te("div",{key:0,ref_key:"hintEl",ref:a,class:Ne(["pin-hint",{dark:o.value}]),role:"status"},[F("span",zb,[C[0]||(C[0]=F("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),nt(" "+fe(r.value)+" ",1),F("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:b},"×")])],2)):Be("",!0)}};let Ub=0;const Gb=Js("ui",{state:()=>({_storeInstanceId:++Ub,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:r=null,persistent:s=!1}=e,a={id:this.nextToastId++,message:t,type:n,duration:o,action:r,persistent:s,createdAt:Date.now()};return this.toasts.push(a),!s&&o>0&&setTimeout(()=>{this.removeToast(a.id)},o),a.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),qb=Js("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let r=[0,0];if(n.center)r=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(r=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,center:r,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Vb=Js("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=$o({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=$o({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),It={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Hb=".profile-loader[data-v-931b414b]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-931b414b]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Jr=(e,t)=>{const n=e.__vccOpts||e;for(const[o,r]of t)n[o]=r;return n},Wb={class:"profile-loader"},Kb={key:0,class:"profile-error"},Yb={key:1,class:"profile-error"},Xb=Jr({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var f;const n=e,o=Ee("profileConfig",null),r=re(()=>{var k;if(!n.profileConfig)return null;let g;try{g=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(g&&g.assetsBase===void 0){const $=(k=o==null?void 0:o.value)==null?void 0:k.assetsBase;typeof $=="string"&&$&&(g.assetsBase=$)}return g}),s=re(()=>{var g;return((g=r.value)==null?void 0:g.profile)||null}),a=re(()=>{var k;const g=(k=r.value)==null?void 0:k.tk;return typeof g=="string"&&g?g:typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN?window.MAP_TOKEN:""}),i=re(()=>{var g;return((g=r.value)==null?void 0:g.dataSource)||It.activeSource||"doxa-csv"}),l=re(()=>{var g;return((g=r.value)==null?void 0:g.colorSet)||"default"}),c=re(()=>!1),u=re(()=>{var g;return((g=r.value)==null?void 0:g.pinHint)!==!1}),p=re(()=>{var k,$;const g=(((k=r.value)==null?void 0:k.locale)||(($=r.value)==null?void 0:$.lang)||"").split("-")[0].toLowerCase();return su.includes(g)?g:""}),b=Ee("appI18n",null);Jd(()=>{p.value&&b&&(b.global.locale.value=p.value)});const x=re(()=>{var g,k;return p.value||((k=(g=b==null?void 0:b.global)==null?void 0:g.locale)==null?void 0:k.value)||"en"}),A=re(()=>{var g;return((g=r.value)==null?void 0:g.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),y=Ee("profileModules",null);if(!y)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const v=re(()=>{if(!s.value)return null;const g=`./${s.value}.vue`;return y[g]?sf(y[g]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(y)),null)});ut("mapboxToken",a),ut("dataSource",i),ut("colorSet",l),ut("profileConfig",r),ut("instanceId",A),ut("lang",x);const C=Gb(),_=qb(),d=Vb();try{const g=typeof localStorage<"u"?localStorage.getItem("theme"):null;g&&((f=C.setTheme)==null||f.call(C,g))}catch{}return ut("uiStore",C),ut("mapStore",_),ut("dataStore",d),(g,k)=>(ee(),te("div",Wb,[r.value?v.value?(ee(),Yt(zi(v.value),{key:2})):(ee(),te("div",Yb,[F("p",null,[k[1]||(k[1]=nt("⚠️ Profile ",-1)),F("strong",null,'"'+fe(s.value)+'"',1),k[2]||(k[2]=nt(" not found.",-1))])])):(ee(),te("div",Kb,[...k[0]||(k[0]=[F("p",null,[nt("⚠️ "),F("strong",null,"doxa-map"),nt(": missing or invalid "),F("code",null,"profile-config"),nt(" prop.")],-1),F("p",null,[nt("Example: "),F("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),v.value&&c.value?(ee(),Yt(zi(pe(null)),{key:3})):Be("",!0),v.value&&u.value?(ee(),Yt(Bb,{key:4})):Be("",!0)]))}},[["styles",[Hb]],["__scopeId","data-v-931b414b"]]),au="adoptionStatus",hn={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},Jb=hn,ba={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},Zb=ba;function iu(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?hn.hasAdoption:hn.notAdopted}function _a({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],hn.hasAdoption,["==",t,1],hn.hasAdoption,hn.notAdopted]}const lu=_a,Qb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:Jb,ADOPTION_LABELS:Zb,LABELS:ba,PALETTE:hn,PROPERTY_KEY:au,applyColor:_a,buildColorExpression:lu,default:{name:"Adoption Progress",propertyKey:au,palette:hn,colors:hn,labels:ba,getColor:iu,applyColor:_a,buildColorExpression:lu},getColor:iu},Symbol.toStringTag,{value:"Module"})),cu="engagementStatus",mn={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},e_=mn,ya={notEngaged:"Unengaged",hasEngagement:"Engaged"},t_=ya;function uu(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?mn.hasEngagement:mn.notEngaged}function va({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],mn.hasEngagement,["==",t,1],mn.hasEngagement,mn.notEngaged]}const du=va,n_=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:e_,ENGAGEMENT_LABELS:t_,LABELS:ya,PALETTE:mn,PROPERTY_KEY:cu,applyColor:va,buildColorExpression:du,default:{name:"Engagement Progress",propertyKey:cu,palette:mn,colors:mn,labels:ya,getColor:uu,applyColor:va,buildColorExpression:du},getColor:uu},Symbol.toStringTag,{value:"Module"})),wa="languageFamily",o_="#000000",bn={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},r_=bn;function xa(e){return bn[e]||o_}const s_=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(bn))t[e(n)]=n;return t})(),a_={"tai-kadai":"Kra-Dai",none:"Unknown"};function Zr(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return a_[n]||s_[n]||t}function fu(e){var t;return xa(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function ka(){const e=["match",["get",wa]];return Object.entries(bn).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const pu=ka,i_=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:r_,PALETTE:bn,PROPERTY_KEY:wa,applyColor:ka,buildColorExpression:pu,canonicalFamilyName:Zr,default:{name:"Language Family",propertyKey:wa,palette:bn,colors:bn,getColor:fu,applyColor:ka,buildColorExpression:pu,getLanguageFamilyColor:xa,canonicalFamilyName:Zr},defaultFamilyColor:"#95a5a6",getColor:fu,getLanguageFamilyColor:xa,languageFamilyColors:bn},Symbol.toStringTag,{value:"Module"})),gu="peoplePraying",Qr=144,Tn={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},l_=Tn,Ko={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},c_=Ko;function co(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=Qr?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $a(e){return Tn[co(e)]}function hu(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function mu(e){return co(e)==="fullPrayer"}function bu(e){return $a(e)}function es({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,Qr],Tn.fullPrayer,[">",t,0],Tn.hasPrayer,Tn.noPrayer]}const _u=es,u_=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:Qr,LABELS:Ko,PALETTE:Tn,PRAYER_COLORS:l_,PRAYER_LABELS:c_,PROPERTY_KEY:gu,applyColor:es,buildColorExpression:_u,checkHasFullPrayer:mu,checkHasPrayer:hu,default:{name:"Prayer Progress",propertyKey:gu,palette:Tn,colors:Tn,labels:Ko,threshold:Qr,getColor:bu,applyColor:es,buildColorExpression:_u,getPrayerLevel:co,getPrayerColor:$a,checkHasPrayer:hu,checkHasFullPrayer:mu},getColor:bu,getPrayerColor:$a,getPrayerLevel:co},Symbol.toStringTag,{value:"Module"})),yu="religion",Sa="#94a3b8",Bn={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},$t={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Ea(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Bn[t]?t:"U"}function vu(e){var n,o,r;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((r=e==null?void 0:e._raw)==null?void 0:r.religion);return $t[Ea(t)]||Sa}function Aa(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",$t.C,"M",$t.M,"H",$t.H,"B",$t.B,"E",$t.E,"J",$t.J,"S",$t.S,"N",$t.N,"O",$t.O,Sa]}const wu=Aa,d_=Object.assign({"./adoption.js":Qb,"./engagement.js":n_,"./language-family.js":i_,"./prayer-progress.js":u_,"./religion.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:$t,PROPERTY_KEY:yu,RELIGION_FAMILIES:Bn,applyColor:Aa,buildColorExpression:wu,default:{name:"Religion",propertyKey:yu,palette:$t,families:Bn,getColor:vu,applyColor:Aa,buildColorExpression:wu,fallback:Sa},getColor:vu,getReligionFamily:Ea},Symbol.toStringTag,{value:"Module"}))}),f_=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),p_=e=>e.replace(/-/g,"_").toUpperCase(),_n={...{STATUS:"status",CUSTOM:"custom"}},Ca={};function xu(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith("."))continue;const o=e[t].default;if(!o)continue;const r=f_(n);_n[p_(n)]=r,Ca[r]=o}}xu(d_);function g_(e){e&&xu(e)}function ts(e){return Ca[e]||Ca[_n.LANGUAGE_FAMILY]}const h_="https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js";function m_(){var e;if(typeof window>"u"||!((e=window.mapboxgl)!=null&&e.setRTLTextPlugin))return!1;try{return window.mapboxgl.setRTLTextPlugin(h_,null,!0),!0}catch{return!1}}const ku="affinityBlock",uo="#95a5a6",fo={A001:"Arab World",A002:"East Asian Peoples",A003:"Eurasian Peoples",A004:"Horn of Africa Peoples",A005:"Jewish",A006:"Malay Peoples",A007:"Persian-Median Peoples",A008:"South Asian Peoples",A009:"North American Peoples",A010:"Pacific Islanders",A011:"Southeast Asian Peoples",A012:"Sub-Saharan Peoples",A013:"Tibetan-Himalayan Peoples",A014:"Turkic Peoples",A015:"Latin-Caribbean Americans",A017:"Deaf",A018:"Tibetan Peoples",A019:"Himalayan Peoples"},Ta={A001:"#E74C3C",A002:"#3498DB",A003:"#2ECC71",A004:"#F39C12",A005:"#9B59B6",A006:"#1ABC9C",A007:"#E67E22",A008:"#34495E",A009:"#95A5A6",A010:"#5DADE2",A011:"#16A085",A012:"#C0392B",A013:"#8E44AD",A014:"#D35400",A015:"#27AE60",A017:"#000000",A018:"#6C3483",A019:"#A569BD"},po=Ta;Object.entries(fo).reduce((e,[t,n])=>(e[n]=t,e),{});const b_=Object.entries(fo).reduce((e,[t,n])=>(e[n]=po[t],e),{}),__=fo;function $u(e){return fo[e]||"Unknown"}function Su(e){return po[e]||uo}function y_(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?po[e]||uo:b_[e]||uo:uo}function v_(){return Object.entries(fo).map(([e,t])=>({code:e,name:t,color:po[e]}))}function w_(e){return{code:e,name:fo[e]||"Unknown",color:po[e]||uo}}function x_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return Su(t)}function k_(e){var n;const t=e.affinityBlock||((n=e._raw)==null?void 0:n.ROP1);return $u(t)}function Eu(){const e=["match",["get",ku]];return Object.entries(po).forEach(([t,n])=>{e.push(t,n)}),e.push(uo),e}const $_={name:"Affinity Block",propertyKey:ku,palette:Ta,colors:Ta,names:__,getColor:x_,applyColor:Eu,buildColorExpression:Eu,getName:k_,getAffinityBlockName:$u,getAffinityBlockColor:y_,getAffinityBlockColorByCode:Su,getAffinityBlocksArray:v_,getAffinityBlockData:w_};function S_(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let o=0;o{e.push(t,n)}),e.push(La),e}const C_={name:"DOXA Region",propertyKey:Au,palette:Tu,colors:Tu,slugColors:Pa,aliases:Pu,fallback:La,getColor:A_,applyColor:Iu,buildColorExpression:Iu,getRegionColor:E_,getRegionColorBySlug:Lu},T_=Object.assign({"./research-dashboard.vue":()=>td(()=>Promise.resolve().then(()=>jw),void 0)});g_({"./affinity-block.js":{default:$_},"./doxa-region.js":{default:C_}}),m_();function L_(){return Sp(Xb,{configureApp(e){e.use(Rp()),e.use(Db()),e.provide("profileModules",T_)}})}const P_=L_();typeof customElements<"u"&&(customElements.get("research-dashboard-map")||customElements.define("research-dashboard-map",P_));function I_(e){const t={};for(const n of(e==null?void 0:e.facetRail)||[]){const o=Array.isArray(n.drill)?n.drill.filter(Boolean):[];for(let r=0;r!t[o[r]].includes(a))):s}}return t}function N_(){const e=In({}),t=new Set,n=ue(0),o=ue(""),r=new Map;function s(_,d){return r.has(_)||r.set(_,new Set),r.get(_).add(d),()=>{var f;return(f=r.get(_))==null?void 0:f.delete(d)}}function a(_,d){var f;(f=r.get(_))==null||f.forEach(g=>{try{g(d)}catch{}})}let i={};function l(_){i=I_(_)}function c(_,d){if(d==null){delete e[_];for(const f of i[_]||[])delete e[f]}else e[_]=d;a("filter",e)}function u(){Object.keys(e).forEach(_=>delete e[_]),a("filter",e)}function p(_){o.value=_==null?"":String(_),a("search",o.value)}function b(){n.value++,a("select",t)}function x(_){t.has(_)?t.delete(_):t.add(_),b()}function A(){t.size&&(t.clear(),b())}function y(_,{additive:d=!0}={}){let f=!1;d||t.size&&(t.clear(),f=!0);for(const g of _)t.has(g)||(t.add(g),f=!0);return f&&b(),f}function v(_){let d=!1;for(const f of _)t.delete(f)&&(d=!0);return d&&b(),d}function C(_){const d=_ instanceof Set?_:new Set(_);if(d.size===t.size){let f=!0;for(const g of d)if(!t.has(g)){f=!1;break}if(f)return!1}t.clear();for(const f of d)t.add(f);return b(),!0}return{filterSet:e,selectionSet:t,selectionVersion:n,searchTerm:o,on:s,emit:a,setFilter:c,clearFilters:u,setSearch:p,configureHierarchy:l,toggleSelect:x,clearSelection:A,selectMany:y,deselectMany:v,setSelection:C}}const Ia={};function Na(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href}<"u"&&(Ia==null?void 0:Ia.VITE_API_BASE_URL)||""}function M_(e={}){const t=ue(!1),n=ue(null),o=So(new Map),r=So([]),s=ue(null),a=ue(0),i=e.source||It.activeSource;async function l(){var c,u,p,b;t.value=!0,n.value=null;try{const x=((c=It==null?void 0:It.sources)==null?void 0:c[i])||{},A=Na(),y=((u=x.endpoints)==null?void 0:u.bulk)||"/api/people-groups/list",v=(x.defaultFields||[]).join(","),C=((p=x.queryParams)==null?void 0:p.lang)||"en",_=`${A}${y}?${v?`fields=${v}&`:""}lang=${C}&_=${Date.now()}`,d=await fetch(_,{cache:"no-store"});if(!d.ok)throw new Error(`list HTTP ${d.status}`);const f=await d.json(),g=Array.isArray(f)?f:f.posts||f.data||f.results||[],k=new Map;for(const I of g){const S=I&&(I.slug||I.id);S&&k.set(S,I)}o.value=k,r.value=g,a.value=k.size;const $=((b=x.endpoints)==null?void 0:b.statistics)||"/api/people-groups/statistics";try{const I=await fetch(`${A}${$}?_=${Date.now()}`,{cache:"no-store"});I.ok&&(I.headers.get("content-type")||"").includes("json")&&(s.value=await I.json())}catch{}a.value===0&&(n.value="No records loaded from the live API.")}catch(x){n.value=x&&x.message?x.message:String(x)}finally{t.value=!1}}return{loading:t,error:n,rowStore:o,rows:r,stats:s,total:a,load:l,sourceId:i}}const ns=["slug","name","imb_alternate_name","doxa_wagf_uid","imb_uid","imb_peid","imb_pgid","joshua_project_id","imb_affinity_code","latitude","longitude","country_code","region","wagf_region","wagf_block","wagf_member","imb_subregion","location_description","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","primary_language","imb_language_family","imb_language_class","imb_language_speakers","work_in_local_language","imb_is_indigenous","religion","imb_reg_of_religion_3","imb_reg_of_religion_4","population","imb_population_class","believers_count","evangelical_pct","imb_evangelical_level","imb_congregation_existing","people_praying","people_committed","committed_duration","adopted_by_churches","adopted_by_count","adopted_by_names","engagement_status","status","reason_engaged","reason_unlisted","global_start_date","workers_long_term","imb_church_planting","disciple_and_church_multiplication","imb_bible_available","imb_bible_translation_level","imb_bible_year_published","imb_bible_stories_available","imb_audio_scripture_available","imb_gospel_recordings_available","imb_jesus_film_available","imb_radio_broadcast_available","imb_total_resources_available","imb_gsec","imb_lostness_priority_index","imb_strategic_priority_index","has_photo","image_url","picture_credit","imb_people_description"];function Ma({rowStore:e,rows:t,selectionSet:n,filterSet:o,FACET_ACC:r,dataOpts:s={},labelFor:a=null}){let i=null,l=null;function c(){return l||(l=(async()=>{var Y,B,E;const g=s.source||It.activeSource,k=((Y=It==null?void 0:It.sources)==null?void 0:Y[g])||{},$=Array.isArray(k.exportFields)&&k.exportFields.length?k.exportFields:ns,I=((B=k.endpoints)==null?void 0:B.bulk)||"/api/people-groups/list",S=((E=k.queryParams)==null?void 0:E.lang)||"en",R=`${Na()}${I}?fields=${$.join(",")}&lang=${S}`,V=await fetch(R,{cache:"no-store"});if(!V.ok)throw new Error(`export list HTTP ${V.status}`);const Z=await V.json(),he=Array.isArray(Z)?Z:Z.posts||Z.data||Z.results||[],z=new Map;for(const N of he){const X=N&&(N.slug||N.id);X&&z.set(X,N)}return i=z,z})().catch(g=>{throw l=null,g}),l)}function u(g){if(!i)return g;const k=i.get(g&&(g.slug||g.id));return k?{...g,...k}:g}function p(){if(n&&n.size)return[...n].map(k=>e.value.get(k)).filter(Boolean);const g=Object.keys(o);return g.length?(t.value||[]).filter(k=>g.every($=>{const I=r[$];return I?I(k)===o[$]:!0})):t.value||[]}function b(){return n&&n.size?`selection (${n.size})`:Object.keys(o).length?"filter result":"all"}function x(g){return g==null?g:Array.isArray(g)?g.map(k=>x(k)).filter(k=>k!==""&&k!==null&&k!==void 0).join(" | "):typeof g=="object"?g.label??g.value??g.text??g.name??g.link??JSON.stringify(g):g}function A(g){const k={};for(const $ of Object.keys(g))k[$]=x(g[$]);return k}function y(g){let k=g==null?"":String(g);return/^[=+\-@]/.test(k)&&(k="'"+k),/[",\n\r]/.test(k)&&(k='"'+k.replace(/"/g,'""')+'"'),k}function v(){const g=p().map(u).map(A),k=g.reduce((V,Z)=>(Object.keys(Z).forEach(he=>V.add(he)),V),new Set),$=[...ns.filter(V=>k.has(V)),...[...k].filter(V=>!ns.includes(V))],I=Object.entries(o).map(([V,Z])=>`${V}=${a?a(V,Z):Z}`).join(" | ")||"none",S=`# Research Dashboard export — scope: ${b()}; filters: ${I}; rows: ${g.length}`;return[$.map(y).join(","),...g.map(V=>$.map(Z=>y(V[Z])).join(",")),S].join(`\r +`)}const C={rows:0,clipboard:!1,downloaded:!1,at:0,fields:0,wide:!1};function _(){const g=v(),k=p().length,$=(g.split(`\r +`)[0]||"").split(",").length;try{typeof window<"u"&&(window.__rdashLastCsv=g)}catch{}let I=!1,S=!1;try{typeof navigator<"u"&&navigator.clipboard&&navigator.clipboard.writeText&&(navigator.clipboard.writeText(g).catch(()=>{}),I=!0)}catch{}try{const R=new Blob([g],{type:"text/csv;charset=utf-8"}),V=URL.createObjectURL(R),Z=document.createElement("a");Z.href=V,Z.download="research-dashboard.csv",Z.style.display="none",document.body.appendChild(Z),Z.click(),S=!0,setTimeout(()=>{try{URL.revokeObjectURL(V),Z.remove()}catch{}},200)}catch{}Object.assign(C,{rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i,at:typeof performance<"u"?performance.now():0});try{window.__rdashExportStatus={rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}catch{}return{csv:g,rows:k,clipboard:I,downloaded:S,fields:$,wide:!!i}}async function d(){try{await c()}catch{}return _()}function f(){try{return c()}catch{return null}}return{exportCsv:_,exportCsvAsync:d,buildCsv:v,pickRows:p,scopeLabel:b,lastExport:C,prefetchExportFields:f,EXPORT_FIELDS:ns}}const F_="#6b7280";function R_(){const e=ts(_n.AFFINITY_BLOCK);return e&&e.propertyKey==="affinityBlock"&&e.palette?e.palette:{}}function O_(e,t){const n=R_();return e&&n[e]?n[e]:F_}function D_(e){return(e==null?void 0:e.properties)||e||{}}function Fa(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function j_(e){var t;return String(e.affinityBlock||Fa((t=e._raw)==null?void 0:t.rop1)||"").trim()}function z_(e){var t;return String(e.affinityBlockLabel||((t=e._raw)!=null&&t.rop1&&typeof e._raw.rop1=="object"?e._raw.rop1.label:"")||"").trim()}function B_(e){var t;return String(e.cluster||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function U_(e){var t;return String(e.clusterLabel||((t=e._raw)!=null&&t.imb_reg_of_people_2&&typeof e._raw.imb_reg_of_people_2=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function G_(e){var t;return String(e.peopleGroup||Fa((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function q_(e){var t;return String(e.peopleGroupLabel||((t=e._raw)!=null&&t.imb_reg_of_people_25&&typeof e._raw.imb_reg_of_people_25=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function V_(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function H_(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function W_(e){var n;const t=Number(e.population??e.populationNum??((n=e._raw)==null?void 0:n.population)??0);return Number.isFinite(t)?t:0}function K_(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function Y_(e){const t=re(()=>{const s=e&&e.value||[],a=new Map;for(const i of s){const l=D_(i),c=j_(l),u=z_(l)||c||"— Unknown —",p=B_(l),b=U_(l)||p||"— Unknown —",x=G_(l),A=q_(l)||x||"— Unknown —",y=V_(l),v=H_(l)||y,C=W_(l),_=K_(l);if(!y)continue;let d=a.get(c||"__unknown__");d||(d={code:c,label:u,count:0,pop:0,memberIds:[],clusters:new Map},a.set(c||"__unknown__",d)),d.count+=1,d.pop+=C,d.memberIds.push(y);let f=d.clusters.get(p||"__unknown__");f||(f={code:p,label:b,count:0,pop:0,memberIds:[],peopleGroups:new Map},d.clusters.set(p||"__unknown__",f)),f.count+=1,f.pop+=C,f.memberIds.push(y);let g=f.peopleGroups.get(x||"__unknown__");g||(g={code:x,label:A,count:0,pop:0,memberIds:[],instances:[]},f.peopleGroups.set(x||"__unknown__",g)),g.count+=1,g.pop+=C,g.memberIds.push(y),g.instances.push({id:y,name:v,country:_,pop:C})}return a}),n=s=>s&&s.length?["in",["get","uniqueId"],["literal",s]]:["==",["get","uniqueId"],"__none__"],o=re(()=>{const s=t.value,a=[];for(const i of s.values()){const l=O_(i.code,i.label),c={id:`bloc:${i.code||i.label}`,label:i.label,color:l,count:i.count,pop:i.pop,filter:n(i.memberIds),children:[]};for(const u of i.clusters.values()){const p={id:`cluster:${i.code}__${u.code||u.label}`,label:`${u.label} (Cluster)`,color:l,count:u.count,pop:u.pop,filter:n(u.memberIds),children:[]};for(const b of u.peopleGroups.values()){const x={id:`pg:${i.code}__${u.code}__${b.code||b.label}`,label:`${b.label} (PG)`,color:l,count:b.count,pop:b.pop,filter:n(b.memberIds),children:[]};b.instances.sort((A,y)=>y.pop-A.pop||A.country.localeCompare(y.country));for(const A of b.instances)x.children.push({id:`pgic:${A.id}`,label:`${A.country?`${A.name}, ${A.country}`:A.name} (PGIC)`,color:l,count:1,pop:A.pop,filter:["==",["get","uniqueId"],A.id],children:[]});p.children.push(x)}p.children.sort((b,x)=>x.count-b.count||x.pop-b.pop),c.children.push(p)}c.children.sort((u,p)=>p.count-u.count||p.pop-u.pop),a.push(c)}return a.sort((i,l)=>l.count-i.count||l.pop-i.pop),a});function r(s){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!s){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const a=String(s.id||""),i={kind:null,label:s.label,filterExpr:s.filter};a.startsWith("bloc:")?i.kind="bloc":a.startsWith("cluster:")?i.kind="cluster":a.startsWith("pg:")?i.kind="people-group":a.startsWith("pgic:")&&(i.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:i}))}return{aggregated:t,affinityTree:o,highlight:r}}function Yo(e,t,n){const o=re(()=>{const l=t&&n&&t.sources&&t.sources[n];return l&&l.features||[]}),{aggregated:r}=Y_(o),s=re(()=>{const l=(e&&e.facetRail||[]).find(c=>c.tree==="affinity");return l&&l.drill||[]}),a=re(()=>{const[l,c,u]=s.value,p=new Map,b=new Map,x=new Map;for(const y of r.value.values()){y.code&&p.set(y.code,y.label);for(const v of y.clusters.values()){v.code&&b.set(v.code,v.label);for(const C of v.peopleGroups.values())C.code&&x.set(C.code,C.label)}}const A={};return l&&(A[l]=p),c&&(A[c]=b),u&&(A[u]=x),A});function i(l,c){const u=a.value[l];return u&&u.get(c)||c}return{normalizedFeatures:o,affinityAgg:r,affinityLabelMaps:a,treeFacetKeys:s,labelFor:i}}class Nu{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=It,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let r="",s=!1,a=[],i=!0;for(let l=0;l0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const p={};o.forEach((b,x)=>{p[b]=a[x]||""}),n.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Ma(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Mu;const Nu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Fu=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xo(e){const t=Nu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jo(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&String(a).toLowerCase().includes(o))return!0}return!1}}function X_(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],p=new Set;t.forEach(b=>{const x=u?u(b):b[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function J_(e){const t=ce(null),n=ce(!1),o=ce(!1),r=ce(!1),s=ce("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=ce(!1),c=ce(!1),u=ce(!1);xt(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;n.value=v<760,o.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Ot(()=>i&&i.disconnect());function p(v){const E=v.target.closest("[data-view]");E&&(s.value=E.getAttribute("data-view"))}const b=re(()=>!n.value||s.value==="facets"),x=re(()=>!n.value||s.value==="map"),A=re(()=>!n.value||s.value==="table"),y=re(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:b,showMap:x,showTable:A,showCharts:y}}function Z_(e){function t(){try{const n=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+n)}catch{}}mt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(n){const o=JSON.parse(decodeURIComponent(n[1]));Object.entries(o).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function Q_(e){var y;const t=M_();t.configureHierarchy(e);const n=N_(e.data),o=Nu(e.facets,v=>v.get),r=Jo(t,Xo(e)),s=re(()=>{var d;const v=n.rows.value||[],E=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!E.length&&!_?v:v.filter(f=>E.every(g=>{const k=o[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>X_(e.kpis,s.value,n.rows.value||[],o,e)),i=J_(t);Z_(t);const l=n.sourceId||It.activeSource,c=((y=It.sources)==null?void 0:y[l])||{},u=new Mu,p=re(()=>{const v=n.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yo(e,b,l),A=Na({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",n),ut("dashboardConfig",e),ut("dataStore",b),ut("searchSourceId",l),xt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:A,responsive:i}}const ey={facetW:296,railW:264,tableH:"34%"},ty={facetW:[160,420],railW:[200,520],tableH:[12,70]},go=(e,[t,n])=>Math.min(n,Math.max(t,e)),Ru=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function ny(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,storageKey:r="rd-dashboard-layout"}=e,s={...ey,...e.defaults||{}},a={...ty,...e.clamps||{}},i=ce(s.facetW),l=ce(s.railW),c=ce(s.tableH),u=ce(!1),p=()=>!!pe(o);function b(){const S=t&&t.value;!S||!u.value||(S.style.setProperty("--facet-w",i.value+"px"),S.style.setProperty("--rail-w",l.value+"px"),S.style.setProperty("--table-h",c.value))}function x(){const S=t&&t.value;S&&(S.style.removeProperty("--facet-w"),S.style.removeProperty("--rail-w"),S.style.removeProperty("--table-h"))}function A(){try{localStorage.setItem(r,JSON.stringify({facetW:i.value,railW:l.value,tableH:c.value}))}catch{}}function y(){try{const S=localStorage.getItem(r);if(!S)return!1;const O=JSON.parse(S);return Number.isFinite(O.facetW)&&(i.value=go(O.facetW,a.facetW)),Number.isFinite(O.railW)&&(l.value=go(O.railW,a.railW)),O.tableH!=null&&(c.value=go(Ru(O.tableH,Ru(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function v(){try{localStorage.removeItem(r)}catch{}i.value=s.facetW,l.value=s.railW,c.value=s.tableH,u.value=!1,x()}const E=ce(!1);function _(){if(E.value)return;E.value=!0;const S=t&&t.value;if(S&&S.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function d(){if(!E.value)return;E.value=!1;const S=t&&t.value;if(S&&S.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function f(S,O){if(p())return;const q=t&&t.value;if(!q)return;O.preventDefault();const J=q.getBoundingClientRect(),he=O.clientX,B=i.value,H=l.value,L=O.currentTarget;try{L&&L.setPointerCapture&&L.setPointerCapture(O.pointerId)}catch{}_();let T=0,R=null;function z(){if(T=0,!R)return;const K=R;if(R=null,S==="facet")i.value=Math.round(go(B+(K.clientX-he),a.facetW));else if(S==="rail")l.value=Math.round(go(H-(K.clientX-he),a.railW));else if(S==="table"){const ue=(J.bottom-K.clientY)/J.height*100;c.value=Math.round(go(ue,a.tableH))+"%"}u.value=!0,b()}function Y(K){R={clientX:K.clientX,clientY:K.clientY},T||(T=requestAnimationFrame(z))}function ee(K){window.removeEventListener("pointermove",Y),window.removeEventListener("pointerup",ee),window.removeEventListener("pointercancel",ee),T&&(cancelAnimationFrame(T),T=0),z();try{L&&L.releasePointerCapture&&L.releasePointerCapture(K.pointerId)}catch{}A(),d()}window.addEventListener("pointermove",Y),window.addEventListener("pointerup",ee),window.addEventListener("pointercancel",ee)}const g=S=>f("facet",S),k=S=>f("rail",S),$=S=>f("table",S);let M=null;return xt(()=>{y()&&b(),n&&typeof n.on=="function"&&(M=n.on("resetLayout",v))}),Ot(()=>{try{M&&M()}catch{}try{d()}catch{}}),{facetW:i,railW:l,tableH:c,customized:u,resizing:E,startFacetResize:g,startRailResize:k,startTableResize:$,startResize:f,reset:v,applyVars:b}}const oy=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",ry=["value","placeholder","aria-label"],Ou=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,o=t,r=re(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(Q(),ne("div",{class:"search-box",style:gt(r.value)},[i[0]||(i[0]=F("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[F("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),F("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,ry)],4))}},[["styles",[oy]]]),sy=Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href,Ra=e=>String(e||"").trim().replace(/\/+$/,"");function ay(){try{const t=String(sy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function iy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ra(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return Ra(n)}return Ra(ay()||"")}function ly({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=iy(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const cy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Tt(` +`&&l++,r||a.length>0){if(a.push(r.trim()),r="",i)o.push(...a),i=!1;else if(a.length>1){const p={};o.forEach((b,x)=>{p[b]=a[x]||""}),n.push(p)}a=[]}}else r+=c}if((r||a.length>0)&&(a.push(r.trim()),!i&&a.length>1)){const l={};o.forEach((c,u)=>{l[c]=a[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:r,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,r,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const r=new Set(n.map(a=>a.trim())),s=[];for(const[a,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)r.has(l)||s.push({systemField:a,sourceField:l,isComposite:!0});else i&&!r.has(i)&&s.push({systemField:a,sourceField:i,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Na(),o=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",r=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];r&&s.push(`fields=${r}`);const a={...t.queryParams||{}};this.locale&&(a.lang=this.locale);for(const[u,p]of Object.entries(a))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const b=await u.json();return this.rawData=Array.isArray(b)?b:b.posts||b.data||b.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const r={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));r[l]=u.join("_")}else r[l]=this.getFieldValue(o,c);if(r.latitude=parseFloat(r.latitude)||0,r.longitude=parseFloat(r.longitude)||0,r.latitude===0&&r.longitude===0)continue;r.populationNum=this.parsePopulation(r.population),r.imageUrl=this.getImageUrl(r,t.imageConfig);const s=r.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(r.engagementStatusLabel=s.label||s.value,r.engagementStatus=s.value==="engaged"):r.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const a=r.adoptionStatus;a!=null&&(r.adoptionStatus=a===!0||a===1||a==="1"||a==="true"||typeof a=="object"&&!!(a!=null&&a.value)||typeof a=="number"&&a>0||typeof a=="string"&&parseInt(a,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=r[l];c!=null&&typeof c=="object"&&"value"in c?(r[l+"Label"]=c.label||c.value,r[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(r[l+"Label"]||(r[l+"Label"]=c))}r.countryName=r.countryIsoLabel||r.country||r.countryIso||"",r.religionName=r.religionLabel||r.religion||"",r._raw=o,this.normalizedData.push(r),this.dataByUniqueId.set(r.uniqueId,r)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const r of Object.keys(t))if(r.trim()===o||r.includes(o)||o.includes(r.trim()))return t[r];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",r=t[n.useField];return r&&String(r).trim()&&!String(r).includes("NoImageAvailable")?r:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(r=>Math.abs(r.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Nu;const Mu=(e,t)=>Object.fromEntries(Object.entries(e||{}).map(([n,o])=>[n,t(o,n)])),Fu=e=>e==null?"—":Number(e).toLocaleString("en-US");function Xo(e){const t=Mu(e.facets,r=>r.get),n=Object.fromEntries((e.columns||[]).map(r=>[r.key,r.get])),o=Array.isArray(e.searchKeys)?e.searchKeys:null;return o?o.map(r=>t[r]||n[r]).filter(r=>typeof r=="function"):(e.columns||[]).filter(r=>r.type!=="num"&&typeof r.get=="function").map(r=>r.get)}function Jo(e,t){return n=>{var r;const o=(((r=e==null?void 0:e.searchTerm)==null?void 0:r.value)||"").trim().toLowerCase();if(!o)return!0;for(const s of t){const a=s(n);if(a!=null&&String(a).toLowerCase().includes(o))return!0}return!1}}function X_(e,t,n,o,r){return(e||[]).map(s=>{var l,c;let a,i;if(s.kind==="count")a=t.length,s.showDelta&&(i=Math.max(0,n.length-t.length));else if(s.kind==="sum")a=t.reduce((u,p)=>u+(Number(p[s.field])||0),0);else if(s.kind==="pct")a=t.length?Math.round(t.filter(s.test).length/t.length*100)+"%":"—";else if(s.kind==="distinct"){const u=s.via?(c=(l=r==null?void 0:r.facets)==null?void 0:l[s.field])==null?void 0:c[s.via]:o[s.field],p=new Set;t.forEach(b=>{const x=u?u(b):b[s.field];x&&p.add(x)}),a=p.size}return{id:s.id,label:s.label,kind:s.kind,value:a,delta:i}})}function J_(e){const t=ue(null),n=ue(!1),o=ue(!1),r=ue(!1),s=ue("map"),a=[{k:"map",l:"Map"},{k:"facets",l:"Filters"},{k:"table",l:"Table"},{k:"charts",l:"Charts"}];let i=null;const l=ue(!1),c=ue(!1),u=ue(!1);xt(()=>{t.value&&(i=new ResizeObserver(()=>{const v=t.value.clientWidth;n.value=v<760,o.value=v>=760&&v<1180,r.value=v>=760&&v<980}),i.observe(t.value)),e&&e.on("toggleTable",v=>{l.value=!!v}),e&&e.on("toggleFacet",v=>{c.value=!!v}),e&&e.on("toggleRail",v=>{u.value=!!v})}),Ot(()=>i&&i.disconnect());function p(v){const C=v.target.closest("[data-view]");C&&(s.value=C.getAttribute("data-view"))}const b=re(()=>!n.value||s.value==="facets"),x=re(()=>!n.value||s.value==="map"),A=re(()=>!n.value||s.value==="table"),y=re(()=>!n.value||s.value==="charts");return{shell:t,isNarrow:n,slimRail:o,slimFacet:r,mobileView:s,SEG:a,tableCollapsed:l,facetCollapsed:c,railCollapsed:u,setView:p,showFacets:b,showMap:x,showTable:A,showCharts:y}}function Z_(e){function t(){try{const n=encodeURIComponent(JSON.stringify(e.filterSet));typeof location<"u"&&history.replaceState(null,"","#f="+n)}catch{}}mt(()=>({...e.filterSet}),t,{deep:!0}),xt(()=>{try{const n=typeof location<"u"&&/[#&]f=([^&]+)/.exec(location.hash);if(n){const o=JSON.parse(decodeURIComponent(n[1]));Object.entries(o).forEach(([r,s])=>e.setFilter(r,s))}}catch{}})}function Q_(e){var y;const t=N_();t.configureHierarchy(e);const n=M_(e.data),o=Mu(e.facets,v=>v.get),r=Jo(t,Xo(e)),s=re(()=>{var d;const v=n.rows.value||[],C=Object.keys(t.filterSet),_=!!(((d=t.searchTerm)==null?void 0:d.value)||"").trim();return!C.length&&!_?v:v.filter(f=>C.every(g=>{const k=o[g];return k?k(f)===t.filterSet[g]:!0})&&r(f))}),a=re(()=>X_(e.kpis,s.value,n.rows.value||[],o,e)),i=J_(t);Z_(t);const l=n.sourceId||It.activeSource,c=((y=It.sources)==null?void 0:y[l])||{},u=new Nu,p=re(()=>{const v=n.rows.value||[];return v.length?(u.rawData=v.slice(),u.normalizeData(c),u.normalizedData):[]}),b={sources:{[l]:{get features(){return p.value}}}},{labelFor:x}=Yo(e,b,l),A=Ma({rowStore:n.rowStore,rows:n.rows,selectionSet:t.selectionSet,filterSet:t.filterSet,FACET_ACC:o,dataOpts:e.data,labelFor:x});return ut("selectionBus",t),ut("dashboardData",n),ut("dashboardConfig",e),ut("dataStore",b),ut("searchSourceId",l),xt(()=>n.load()),{bus:t,data:n,FACET_ACC:o,filteredRows:s,kpis:a,exporter:A,responsive:i}}const ey={facetW:296,railW:264,tableH:"34%"},ty={facetW:[160,420],railW:[200,520],tableH:[12,70]},go=(e,[t,n])=>Math.min(n,Math.max(t,e)),Ru=(e,t)=>{const n=parseFloat(String(e));return Number.isFinite(n)?n:t};function ny(e={}){const{shellRef:t,bus:n=null,isNarrow:o=!1,storageKey:r="rd-dashboard-layout"}=e,s={...ey,...e.defaults||{}},a={...ty,...e.clamps||{}},i=ue(s.facetW),l=ue(s.railW),c=ue(s.tableH),u=ue(!1),p=()=>!!pe(o);function b(){const S=t&&t.value;!S||!u.value||(S.style.setProperty("--facet-w",i.value+"px"),S.style.setProperty("--rail-w",l.value+"px"),S.style.setProperty("--table-h",c.value))}function x(){const S=t&&t.value;S&&(S.style.removeProperty("--facet-w"),S.style.removeProperty("--rail-w"),S.style.removeProperty("--table-h"))}function A(){try{localStorage.setItem(r,JSON.stringify({facetW:i.value,railW:l.value,tableH:c.value}))}catch{}}function y(){try{const S=localStorage.getItem(r);if(!S)return!1;const R=JSON.parse(S);return Number.isFinite(R.facetW)&&(i.value=go(R.facetW,a.facetW)),Number.isFinite(R.railW)&&(l.value=go(R.railW,a.railW)),R.tableH!=null&&(c.value=go(Ru(R.tableH,Ru(s.tableH,34)),a.tableH)+"%"),u.value=!0,!0}catch{return!1}}function v(){try{localStorage.removeItem(r)}catch{}i.value=s.facetW,l.value=s.railW,c.value=s.tableH,u.value=!1,x()}const C=ue(!1);function _(){if(C.value)return;C.value=!0;const S=t&&t.value;if(S&&S.setAttribute("data-rd-resizing","1"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!0)}catch{}}function d(){if(!C.value)return;C.value=!1;const S=t&&t.value;if(S&&S.removeAttribute("data-rd-resizing"),n&&typeof n.emit=="function")try{n.emit("layoutResizing",!1)}catch{}}function f(S,R){if(p())return;const V=t&&t.value;if(!V)return;R.preventDefault();const Z=V.getBoundingClientRect(),he=R.clientX,z=i.value,Y=l.value,B=R.currentTarget;try{B&&B.setPointerCapture&&B.setPointerCapture(R.pointerId)}catch{}_();let E=0,N=null;function X(){if(E=0,!N)return;const W=N;if(N=null,S==="facet")i.value=Math.round(go(z+(W.clientX-he),a.facetW));else if(S==="rail")l.value=Math.round(go(Y-(W.clientX-he),a.railW));else if(S==="table"){const le=(Z.bottom-W.clientY)/Z.height*100;c.value=Math.round(go(le,a.tableH))+"%"}u.value=!0,b()}function j(W){N={clientX:W.clientX,clientY:W.clientY},E||(E=requestAnimationFrame(X))}function q(W){window.removeEventListener("pointermove",j),window.removeEventListener("pointerup",q),window.removeEventListener("pointercancel",q),E&&(cancelAnimationFrame(E),E=0),X();try{B&&B.releasePointerCapture&&B.releasePointerCapture(W.pointerId)}catch{}A(),d()}window.addEventListener("pointermove",j),window.addEventListener("pointerup",q),window.addEventListener("pointercancel",q)}const g=S=>f("facet",S),k=S=>f("rail",S),$=S=>f("table",S);let I=null;return xt(()=>{y()&&b(),n&&typeof n.on=="function"&&(I=n.on("resetLayout",v))}),Ot(()=>{try{I&&I()}catch{}try{d()}catch{}}),{facetW:i,railW:l,tableH:c,customized:u,resizing:C,startFacetResize:g,startRailResize:k,startTableResize:$,startResize:f,reset:v,applyVars:b}}const oy=".search-box{position:relative;display:flex;align-items:center;margin:0 auto;width:100%;color:var(--dx-muted, #6d766e)}.search-box .search-icon{position:absolute;left:12px;pointer-events:none}.search-box input{width:100%;padding:10px 12px 10px 38px;font-size:.95rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:10px;outline:none;box-sizing:border-box}.search-box input:focus{border-color:var(--dx-accent, #92b195);box-shadow:0 0 0 2px var(--dx-accent-weak, rgba(146, 177, 149, .18))}",ry=["value","placeholder","aria-label"],Ou=Jr({__name:"SearchBar",props:{modelValue:{type:String,default:""},placeholder:{type:String,default:"Search…"},ariaLabel:{type:String,default:"Search"},maxWidth:{type:String,default:""}},emits:["update:modelValue","search"],setup(e,{emit:t}){const n=e,o=t,r=re(()=>n.maxWidth?{maxWidth:n.maxWidth}:{});function s(a){const i=a.target.value??"";o("update:modelValue",i),o("search",{value:i})}return(a,i)=>(ee(),te("div",{class:"search-box",style:gt(r.value)},[i[0]||(i[0]=F("svg",{class:"search-icon",width:"18",height:"18",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true"},[F("circle",{cx:"11",cy:"11",r:"7",fill:"none",stroke:"currentColor","stroke-width":"2"}),F("line",{x1:"16.5",y1:"16.5",x2:"21",y2:"21",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("input",{type:"search",value:e.modelValue,placeholder:e.placeholder,"aria-label":e.ariaLabel,onInput:s},null,40,ry)],4))}},[["styles",[oy]]]),sy=Gn&&Gn.tagName.toUpperCase()==="SCRIPT"&&Gn.src||new URL("research-dashboard.js",document.baseURI).href,Ra=e=>String(e||"").trim().replace(/\/+$/,"");function ay(){try{const t=String(sy||"").split(/[?#]/)[0].match(/^(.*)\/([^/]+)\/([^/]+)\.js$/);return!t||t[2]!==t[3]?null:t[1]||null}catch{return null}}function iy(e){const t=e==null?void 0:e.embedBaseUrl;if(typeof t=="string"&&t.trim())return Ra(t);if(typeof window<"u"){const n=window.MAP_EMBED_BASE_URL;if(typeof n=="string"&&n.trim())return Ra(n)}return Ra(ay()||"")}function ly({shareUrl:e,embedPath:t,profileConfig:n}={}){const o=n||null,r=typeof window<"u",s=e||(o==null?void 0:o.shareUrl);if(typeof s=="string"&&s.trim())return s.trim();const a=String(t||(o==null?void 0:o.shareEmbedPath)||"").trim();if(a){if(/^https?:\/\//i.test(a))return a;if(a.startsWith("/"))return r?window.location.origin+a:a;const i=iy(o),l=a.replace(/^\.\//,"");if(i)return i+"/"+l;if(typeof document<"u")try{return new URL(l,document.baseURI).href}catch{}return l}return r?window.location.origin+window.location.pathname:""}const cy=["title","aria-label","disabled"],Oa={__name:"MapControlButton",props:{isDark:{type:Boolean,default:!1},title:{type:String,default:""},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(e){return Tt(` .mcb{ width:var(--map-btn-size,40px);height:var(--map-btn-size,40px); background:#fff; @@ -97,7 +97,7 @@ .mcb.dark:hover:not(:disabled){background:#4e594f;box-shadow:0 2px 8px rgba(0,0,0,0.5);} .mcb.dark.active{background:#4e594f;color:#92b195;} @media(max-width:767px){.mcb{width:36px;height:36px;}} -`,"map-control-button"),(t,n)=>(Q(),ne("button",{class:Me(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Ps(t.$slots,"default")],10,cy))}},uy=["aria-label"],dy={class:"mcm-header"},fy={class:"mcm-title"},py={class:"mcm-body"},gy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Da="doxa-map-menu-open",hy={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Tt(` +`,"map-control-button"),(t,n)=>(ee(),te("button",{class:Ne(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,"aria-label":e.title||void 0,disabled:e.disabled,onClick:n[0]||(n[0]=o=>t.$emit("click"))},[Ps(t.$slots,"default")],10,cy))}},uy=["aria-label"],dy={class:"mcm-header"},fy={class:"mcm-title"},py={class:"mcm-body"},gy=".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]",Da="doxa-map-menu-open",hy={__name:"MapControlMenu",props:{open:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:Number,default:340},isDark:{type:Boolean,default:!1},maxHeight:{type:Number,default:null},height:{type:Number,default:null},matchToolbar:{type:Boolean,default:!1}},emits:["close"],setup(e,{emit:t}){Tt(` .mcm{position:absolute;z-index:var(--z-menu,3000);display:flex;flex-direction:column;box-sizing:border-box; background:#161b22;border:1px solid #30363d;border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,0.45); color:#e6edf3;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:13px; @@ -113,7 +113,7 @@ .mcm.light .mcm-close{background:rgba(208,215,222,0.4);border-color:#d0d7de;color:#57606a;} .mcm.light .mcm-close:hover{color:#3b463d;background:rgba(59,70,61,0.12);border-color:#3b463d;} .mcm-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;} -`,"map-control-menu");const n=e,o=t,r=Se("mapToolbar",null),s=ce(null),a=ce(null),i=ce({});function l(){var M;const x=(M=r==null?void 0:r.el)==null?void 0:M.value,A=s.value;if(!x||!A){i.value={};return}const y=A.getBoundingClientRect(),v=x.getBoundingClientRect(),E=(v.left+v.right)/2>(y.left+y.right)/2,_=8,d=12,f=E?y.right-v.left+_:v.right-y.left+_,g=Math.max(200,Math.min(n.width,y.width-f-d)),k=Math.max(0,v.top-y.top);let $=Math.max(120,y.height-k-d);n.matchToolbar&&($=Math.max(120,Math.min($,v.height))),n.maxHeight&&($=Math.min($,n.maxHeight)),i.value={top:`${Math.round(k)}px`,[E?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(g)}px`,maxHeight:`${Math.round($)}px`,...n.height?{height:`${Math.round(Math.min(n.height,$))}px`}:{}}}function c(x){n.open&&x.detail!==a.value&&o("close")}mt(()=>n.open,async x=>{var A;if(x){await Nn(),l();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Da,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function p(x){x.key==="Escape"&&n.open&&o("close")}function b(x){var y;if(!n.open)return;const A=x.composedPath?x.composedPath():[x.target];a.value&&A.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&A.includes(r.el.value)||A.some(v=>{var E,_,d,f;return((_=(E=v==null?void 0:v.classList)==null?void 0:E.contains)==null?void 0:_.call(E,"mapboxgl-canvas"))||((f=(d=v==null?void 0:v.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&o("close")}return xt(()=>{var x,A,y;s.value=((A=(x=r==null?void 0:r.el)==null?void 0:x.value)==null?void 0:A.closest(gy))||null,(y=s.value)==null||y.addEventListener(Da,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",p)}),Ot(()=>{var x;(x=s.value)==null||x.removeEventListener(Da,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",p)}),(x,A)=>(Q(),Yt(nf,{to:s.value,disabled:!s.value},[e.open?(Q(),ne("div",{key:0,ref_key:"el",ref:a,class:Me(["mcm",{light:!e.isDark}]),style:gt(i.value),role:"dialog","aria-label":e.title},[F("div",dy,[F("span",fy,fe(e.title),1),F("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=y=>o("close"))},[...A[1]||(A[1]=[F("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[F("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),F("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),F("div",py,[Ps(x.$slots,"default")])],14,uy)):ze("",!0)],8,["to","disabled"]))}},my={class:"share-steps"},by={class:"share-tabs"},_y={key:0,class:"share-body"},yy={class:"share-url-box"},vy={class:"share-url-text"},wy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},xy={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},ky={key:1,class:"share-body"},$y={class:"share-size-pills"},Sy=["onClick"],Ey={class:"share-code-box"},Ay={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Ty={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Tt(` +`,"map-control-menu");const n=e,o=t,r=Ee("mapToolbar",null),s=ue(null),a=ue(null),i=ue({});function l(){var I;const x=(I=r==null?void 0:r.el)==null?void 0:I.value,A=s.value;if(!x||!A){i.value={};return}const y=A.getBoundingClientRect(),v=x.getBoundingClientRect(),C=(v.left+v.right)/2>(y.left+y.right)/2,_=8,d=12,f=C?y.right-v.left+_:v.right-y.left+_,g=Math.max(200,Math.min(n.width,y.width-f-d)),k=Math.max(0,v.top-y.top);let $=Math.max(120,y.height-k-d);n.matchToolbar&&($=Math.max(120,Math.min($,v.height))),n.maxHeight&&($=Math.min($,n.maxHeight)),i.value={top:`${Math.round(k)}px`,[C?"right":"left"]:`${Math.round(f)}px`,width:`${Math.round(g)}px`,maxHeight:`${Math.round($)}px`,...n.height?{height:`${Math.round(Math.min(n.height,$))}px`}:{}}}function c(x){n.open&&x.detail!==a.value&&o("close")}mt(()=>n.open,async x=>{var A;if(x){await Mn(),l();try{(A=s.value)==null||A.dispatchEvent(new CustomEvent(Da,{detail:a.value}))}catch{}}});function u(){n.open&&l()}function p(x){x.key==="Escape"&&n.open&&o("close")}function b(x){var y;if(!n.open)return;const A=x.composedPath?x.composedPath():[x.target];a.value&&A.includes(a.value)||(y=r==null?void 0:r.el)!=null&&y.value&&A.includes(r.el.value)||A.some(v=>{var C,_,d,f;return((_=(C=v==null?void 0:v.classList)==null?void 0:C.contains)==null?void 0:_.call(C,"mapboxgl-canvas"))||((f=(d=v==null?void 0:v.classList)==null?void 0:d.contains)==null?void 0:f.call(d,"maplibregl-canvas"))})&&o("close")}return xt(()=>{var x,A,y;s.value=((A=(x=r==null?void 0:r.el)==null?void 0:x.value)==null?void 0:A.closest(gy))||null,(y=s.value)==null||y.addEventListener(Da,c),window.addEventListener("resize",u),document.addEventListener("click",b,!0),document.addEventListener("keydown",p)}),Ot(()=>{var x;(x=s.value)==null||x.removeEventListener(Da,c),window.removeEventListener("resize",u),document.removeEventListener("click",b,!0),document.removeEventListener("keydown",p)}),(x,A)=>(ee(),Yt(nf,{to:s.value,disabled:!s.value},[e.open?(ee(),te("div",{key:0,ref_key:"el",ref:a,class:Ne(["mcm",{light:!e.isDark}]),style:gt(i.value),role:"dialog","aria-label":e.title},[F("div",dy,[F("span",fy,fe(e.title),1),F("button",{class:"mcm-close",type:"button","aria-label":"Close",onClick:A[0]||(A[0]=y=>o("close"))},[...A[1]||(A[1]=[F("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"},[F("line",{x1:"2",y1:"2",x2:"12",y2:"12"}),F("line",{x1:"12",y1:"2",x2:"2",y2:"12"})],-1)])])]),F("div",py,[Ps(x.$slots,"default")])],14,uy)):Be("",!0)],8,["to","disabled"]))}},my={class:"share-steps"},by={class:"share-tabs"},_y={key:0,class:"share-body"},yy={class:"share-url-box"},vy={class:"share-url-text"},wy={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},xy={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},ky={key:1,class:"share-body"},$y={class:"share-size-pills"},Sy=["onClick"],Ey={class:"share-code-box"},Ay={key:0,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},Cy={key:1,width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"},Ty={__name:"ShareButton",props:{isDark:{type:Boolean,default:!1},embedPath:{type:String,default:""}},setup(e){Tt(` .share-wrap{position:relative;display:inline-block;border-radius:50%;} .share-wrap::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;pointer-events:none; background:conic-gradient(#ff6b6b,#ffd166,#6bd67b,#4dabf7,#9775fa,#f783ac,#ff6b6b); @@ -366,7 +366,7 @@ border-color:rgba(46,164,79,0.30); color:#2ea44f; } -`,"share-button");const{t,tm:n,rt:o}=lo(),r=e,s=ce(null),a=ce(!1),i=ce(null),l=ce(null),c=ce("link"),u=ce(!1),p=ce(!1),b=ce("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Se("profileConfig",null),y=re(()=>ly({embedPath:r.embedPath,profileConfig:pe(A)||null})),v=re(()=>{const O=x[b.value].height;return''});function E(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(O){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(O),!0}catch{}try{const q=document.createElement("textarea");q.value=O,q.setAttribute("readonly",""),q.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(q),q.select();const J=document.execCommand("copy");return document.body.removeChild(q),J}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Se("mapToolbar",null),$=ce(null);ut("mapToolbar",k||{el:$});const M=!k;function S(O){if(s.value=O||null,!M||!O){O||($.value=null);return}const q=O.offsetParent||O.parentElement;q&&!q.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&q.setAttribute("data-map-area","share-fallback"),$.value=O}return(O,q)=>(Q(),ne("div",{ref:S,class:"share-wrap","data-share-root":""},[Ie(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:pe(t)("buttons.share"),onClick:E},{default:Xn(()=>[...q[2]||(q[2]=[F("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[F("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),F("polyline",{points:"16 6 12 2 8 6"}),F("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Ie(hy,{open:a.value,title:pe(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Xn(()=>[F("div",{ref_key:"popoverEl",ref:i,class:Me(["share-pop",{light:!e.isDark}])},[F("ul",my,[(Q(!0),ne(Ae,null,Qe(pe(n)("buttons.shareSteps"),(J,he)=>(Q(),ne("li",{key:he},fe(pe(o)(J)),1))),128))]),F("div",by,[F("button",{class:Me(["share-tab",{active:c.value==="link"}]),onClick:q[0]||(q[0]=J=>c.value="link")},"Embed link",2),F("button",{class:Me(["share-tab",{active:c.value==="embed"}]),onClick:q[1]||(q[1]=J=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(Q(),ne("div",_y,[F("div",yy,[F("div",vy,fe(y.value),1)]),F("button",{class:Me(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(Q(),ne("svg",xy,[...q[4]||(q[4]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),ne("svg",wy,[...q[3]||(q[3]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(u.value?"Copied!":"Copy Link"),1)],2)])):ze("",!0),c.value==="embed"?(Q(),ne("div",ky,[q[7]||(q[7]=F("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),F("div",$y,[(Q(),ne(Ae,null,Qe(x,(J,he)=>F("button",{key:he,class:Me(["share-size-pill",{active:b.value===he}]),onClick:B=>b.value=he},fe(J.label),11,Sy)),64))]),F("div",Ey,fe(v.value),1),F("button",{class:Me(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(Q(),ne("svg",Cy,[...q[6]||(q[6]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(Q(),ne("svg",Ay,[...q[5]||(q[5]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(p.value?"Copied!":"Copy Code"),1)],2)])):ze("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},yn="#c4c8c0",Ye=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Ly=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function os(e,t){const n=ts(e);return n&&n.propertyKey===t?n:null}function Py(e,t){const n=String(e||"").trim();if(!n)return"U";const o=Object.keys(t),r=o.find(i=>t[i]===n);if(r)return r;let s=null,a=0;for(const i of o){const l=t[i];l&&n.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(n)?Ea(n):"U")}function ja(e,t,n){const o=new Map;for(const s of e){const a=t(s);a==null||a===""||o.set(a,(o.get(a)||0)+1)}let r=[...o.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(n&&r.length>n){const s=r.slice(0,n),a=r.slice(n).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Iy(e,t,n){const o=new Map;for(const s of e||[]){const a=t&&t(s),i=n&&n(s);if(!a||!i)continue;o.has(a)||o.set(a,new Map);const l=o.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of o){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?ju("wagf_region",i):yn)}return r}function My(e,t=132,n=.58,o="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*n,c=e.reduce((p,b)=>p+b.value,0)||1;let u=-Math.PI/2;return e.map((p,b)=>{const x=u,A=u+p.value/c*Math.PI*2;u=A;const y=A-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,E=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(A,i)} L${v(A,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:E,pct:Math.round(p.value/c*100),color:Du(o,p.key,r)}})}function Ny(e,t="",n=null){const o=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/o,color:Du(t,r.key,n)}))}function Du(e,t,n){if(n&&t!=="Other"){const o=n.get?n.get(t):n[t];if(o)return o}return ju(e,t)}function ju(e,t){if(t==null||t===""||t==="Other")return yn;if(e==="religion"||e==="religion_family"){const n=os(_n.RELIGION,"religion"),o=n&&n.palette||$t,r=n&&n.families||Bn;return o[Py(t,r)]||yn}if(e==="wagf_region"){const n=os(_n.DOXA_REGION,"doxaRegion");if(!n)return yn;const o=n.slugColors&&n.slugColors[Ly(t)];return o||n.aliases&&n.aliases[t]||yn}if(e==="affinity_bloc"){const n=os(_n.AFFINITY_BLOCK,"affinityBlock");return n&&n.palette&&n.palette[t]||yn}if(e==="language_family"){const n=os(_n.LANGUAGE_FAMILY,"languageFamily");return n&&n.palette&&n.palette[t]||yn}return yn}const Fy={class:"rd-left"},Ry={class:"rd-brand"},Oy={class:"rd-ttl"},Dy={class:"rd-filter-search","data-filter-search":""},jy={key:0,class:"rd-search","data-search":""},zy=["data-slug"],By={class:"nm"},Uy={class:"sub"},Gy={key:1,class:"rd-empty"},qy=["onKeydown"],Vy="research-dashboard/research-dashboard/index.html",Hy={__name:"DashboardTopBar",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=re(()=>o.showTopBarSearch===!0);function s(){n&&n.emit("resetLayout")}const a=re(()=>{var d;return((d=n==null?void 0:n.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=o.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){n==null||n.setSearch((d==null?void 0:d.value)??"")}const c=ce(""),u=ce(!1),p=ce(0),b=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!n||(d.slug&&(n.toggleSelect(d.slug),n.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function A(){u.value=!0,p.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),x(b.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(M=>M.slug===g);k&&x(k)}const E=ce(null);function _(d){E.value&&!E.value.contains(d.target)&&(u.value=!1)}return xt(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Ot(()=>{var d,f;try{(f=(d=E.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Tt(` +`,"share-button");const{t,tm:n,rt:o}=lo(),r=e,s=ue(null),a=ue(!1),i=ue(null),l=ue(null),c=ue("link"),u=ue(!1),p=ue(!1),b=ue("medium"),x={small:{label:"Small",height:400},medium:{label:"Medium",height:600},large:{label:"Large",height:800}},A=Ee("profileConfig",null),y=re(()=>ly({embedPath:r.embedPath,profileConfig:pe(A)||null})),v=re(()=>{const R=x[b.value].height;return''});function C(){a.value=!a.value,a.value&&(c.value="link",u.value=!1,p.value=!1)}function _(){a.value=!1}async function d(R){try{if(navigator.clipboard&&window.isSecureContext)return await navigator.clipboard.writeText(R),!0}catch{}try{const V=document.createElement("textarea");V.value=R,V.setAttribute("readonly",""),V.style.cssText="position:fixed;top:-1000px;opacity:0",document.body.appendChild(V),V.select();const Z=document.execCommand("copy");return document.body.removeChild(V),Z}catch{return!1}}async function f(){await d(y.value)&&(u.value=!0,setTimeout(()=>{u.value=!1},2e3))}async function g(){await d(v.value)&&(p.value=!0,setTimeout(()=>{p.value=!1},2e3))}const k=Ee("mapToolbar",null),$=ue(null);ut("mapToolbar",k||{el:$});const I=!k;function S(R){if(s.value=R||null,!I||!R){R||($.value=null);return}const V=R.offsetParent||R.parentElement;V&&!V.closest(".dsm-map-area, .rm-map-area, .dm-map-area, [data-map-area]")&&V.setAttribute("data-map-area","share-fallback"),$.value=R}return(R,V)=>(ee(),te("div",{ref:S,class:"share-wrap","data-share-root":""},[Pe(Oa,{ref_key:"btnEl",ref:l,"is-dark":e.isDark,active:a.value,title:pe(t)("buttons.share"),onClick:C},{default:Xn(()=>[...V[2]||(V[2]=[F("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[F("path",{d:"M4 12v7a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7"}),F("polyline",{points:"16 6 12 2 8 6"}),F("line",{x1:"12",y1:"2",x2:"12",y2:"15"})],-1)])]),_:1},8,["is-dark","active","title"]),Pe(hy,{open:a.value,title:pe(t)("buttons.share"),"is-dark":e.isDark,onClose:_},{default:Xn(()=>[F("div",{ref_key:"popoverEl",ref:i,class:Ne(["share-pop",{light:!e.isDark}])},[F("ul",my,[(ee(!0),te(Ce,null,Qe(pe(n)("buttons.shareSteps"),(Z,he)=>(ee(),te("li",{key:he},fe(pe(o)(Z)),1))),128))]),F("div",by,[F("button",{class:Ne(["share-tab",{active:c.value==="link"}]),onClick:V[0]||(V[0]=Z=>c.value="link")},"Embed link",2),F("button",{class:Ne(["share-tab",{active:c.value==="embed"}]),onClick:V[1]||(V[1]=Z=>c.value="embed")},"Add to Your Website",2)]),c.value==="link"?(ee(),te("div",_y,[F("div",yy,[F("div",vy,fe(y.value),1)]),F("button",{class:Ne(["share-primary-btn",{copied:u.value}]),onClick:f},[u.value?(ee(),te("svg",xy,[...V[4]||(V[4]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),te("svg",wy,[...V[3]||(V[3]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(u.value?"Copied!":"Copy Link"),1)],2)])):Be("",!0),c.value==="embed"?(ee(),te("div",ky,[V[7]||(V[7]=F("div",{class:"share-embed-desc"}," Paste this code into your website builder (WordPress, Squarespace, Wix, or any site that accepts HTML widgets). ",-1)),F("div",$y,[(ee(),te(Ce,null,Qe(x,(Z,he)=>F("button",{key:he,class:Ne(["share-size-pill",{active:b.value===he}]),onClick:z=>b.value=he},fe(Z.label),11,Sy)),64))]),F("div",Ey,fe(v.value),1),F("button",{class:Ne(["share-secondary-btn",{copied:p.value}]),onClick:g},[p.value?(ee(),te("svg",Cy,[...V[6]||(V[6]=[F("polyline",{points:"20 6 9 17 4 12"},null,-1)])])):(ee(),te("svg",Ay,[...V[5]||(V[5]=[F("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"},null,-1),F("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"},null,-1)])])),nt(" "+fe(p.value?"Copied!":"Copy Code"),1)],2)])):Be("",!0)],2)]),_:1},8,["open","title","is-dark"])],512))}},yn="#c4c8c0",Xe=e=>e==null?"":typeof e=="object"?e.label??e.value??"":e,Ly=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function os(e,t){const n=ts(e);return n&&n.propertyKey===t?n:null}function Py(e,t){const n=String(e||"").trim();if(!n)return"U";const o=Object.keys(t),r=o.find(i=>t[i]===n);if(r)return r;let s=null,a=0;for(const i of o){const l=t[i];l&&n.toLowerCase().startsWith(l.toLowerCase())&&l.length>a&&(s=i,a=l.length)}return s||(/^[A-Z]{1,3}$/.test(n)?Ea(n):"U")}function ja(e,t,n){const o=new Map;for(const s of e){const a=t(s);a==null||a===""||o.set(a,(o.get(a)||0)+1)}let r=[...o.entries()].map(([s,a])=>({key:s,value:a})).sort((s,a)=>a.value-s.value);if(n&&r.length>n){const s=r.slice(0,n),a=r.slice(n).reduce((i,l)=>i+l.value,0);a>0&&s.push({key:"Other",value:a,other:!0}),r=s}return r}function Iy(e,t,n){const o=new Map;for(const s of e||[]){const a=t&&t(s),i=n&&n(s);if(!a||!i)continue;o.has(a)||o.set(a,new Map);const l=o.get(a);l.set(i,(l.get(i)||0)+1)}const r=new Map;for(const[s,a]of o){let i=null,l=0,c=!1;for(const[u,p]of a)p>l?(i=u,l=p,c=!1):p===l&&(c=!0);r.set(s,i&&!c?ju("wagf_region",i):yn)}return r}function Ny(e,t=132,n=.58,o="",r=null){const s=t/2,a=t/2,i=t/2-3,l=(t/2-3)*n,c=e.reduce((p,b)=>p+b.value,0)||1;let u=-Math.PI/2;return e.map((p,b)=>{const x=u,A=u+p.value/c*Math.PI*2;u=A;const y=A-x>Math.PI?1:0,v=(_,d)=>`${(s+d*Math.cos(_)).toFixed(2)},${(a+d*Math.sin(_)).toFixed(2)}`,C=`M${v(x,i)} A${i},${i} 0 ${y} 1 ${v(A,i)} L${v(A,l)} A${l},${l} 0 ${y} 0 ${v(x,l)} Z`;return{...p,path:C,pct:Math.round(p.value/c*100),color:Du(o,p.key,r)}})}function My(e,t="",n=null){const o=e.reduce((r,s)=>Math.max(r,s.value),0)||1;return e.map(r=>({...r,frac:r.value/o,color:Du(t,r.key,n)}))}function Du(e,t,n){if(n&&t!=="Other"){const o=n.get?n.get(t):n[t];if(o)return o}return ju(e,t)}function ju(e,t){if(t==null||t===""||t==="Other")return yn;if(e==="religion"||e==="religion_family"){const n=os(_n.RELIGION,"religion"),o=n&&n.palette||$t,r=n&&n.families||Bn;return o[Py(t,r)]||yn}if(e==="wagf_region"){const n=os(_n.DOXA_REGION,"doxaRegion");if(!n)return yn;const o=n.slugColors&&n.slugColors[Ly(t)];return o||n.aliases&&n.aliases[t]||yn}if(e==="affinity_bloc"){const n=os(_n.AFFINITY_BLOCK,"affinityBlock");return n&&n.palette&&n.palette[t]||yn}if(e==="language_family"){const n=os(_n.LANGUAGE_FAMILY,"languageFamily");return n&&n.palette&&n.palette[t]||yn}return yn}const Fy={class:"rd-left"},Ry={class:"rd-brand"},Oy={class:"rd-ttl"},Dy={class:"rd-filter-search","data-filter-search":""},jy={key:0,class:"rd-search","data-search":""},zy=["data-slug"],By={class:"nm"},Uy={class:"sub"},Gy={key:1,class:"rd-empty"},qy=["onKeydown"],Vy="research-dashboard/research-dashboard/index.html",Hy={__name:"DashboardTopBar",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=re(()=>o.showTopBarSearch===!0);function s(){n&&n.emit("resetLayout")}const a=re(()=>{var d;return((d=n==null?void 0:n.searchTerm)==null?void 0:d.value)||""}),i=re(()=>{var d;return((d=o.researchFilters)==null?void 0:d.searchPlaceholder)||"Search people groups, place, language, religion…"});function l(d){n==null||n.setSearch((d==null?void 0:d.value)??"")}const c=ue(""),u=ue(!1),p=ue(0),b=re(()=>{var k;const d=c.value.trim().toLowerCase();if(d.length<2)return[];const f=((k=t==null?void 0:t.rows)==null?void 0:k.value)||[],g=[];for(const $ of f)if(($.name||"").toLowerCase().includes(d)&&(g.push($),g.length>=8))break;return g});function x(d){!d||!n||(d.slug&&(n.toggleSelect(d.slug),n.emit("focusRow",{slug:d.slug,name:d.name})),c.value="",u.value=!1,p.value=0)}function A(){u.value=!0,p.value=0}function y(d){if(!b.value.length){d.key==="Escape"&&(c.value="",u.value=!1);return}d.key==="ArrowDown"?(d.preventDefault(),p.value=(p.value+1)%b.value.length):d.key==="ArrowUp"?(d.preventDefault(),p.value=(p.value-1+b.value.length)%b.value.length):d.key==="Enter"?(d.preventDefault(),x(b.value[p.value])):d.key==="Escape"&&(c.value="",u.value=!1,p.value=0)}function v(d){var $;const f=d.target&&d.target.closest&&d.target.closest("[data-slug]");if(!f)return;const g=f.getAttribute("data-slug"),k=((($=t==null?void 0:t.rows)==null?void 0:$.value)||[]).find(I=>I.slug===g);k&&x(k)}const C=ue(null);function _(d){C.value&&!C.value.contains(d.target)&&(u.value=!1)}return xt(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.addEventListener("click",_)}catch{}}),Ot(()=>{var d,f;try{(f=(d=C.value)==null?void 0:d.getRootNode())==null||f.removeEventListener("click",_)}catch{}}),Tt(` .rd-topbar{ position:relative; display:flex; align-items:center; gap:12px; height:100%; padding:0 var(--rd-edge,14px); --rd-search-w:min(360px,34%); background:var(--rd-header,#4e594f); color:var(--rd-header-ink,#f3f3f1); border-bottom:1px solid var(--rd-header-line,#3c453d); @@ -408,7 +408,7 @@ background:#ffffff1f; border:1px solid #ffffff3d; border-radius:var(--r-md,6px); padding:5px 11px; } .rd-topbar .rd-align:hover{ background:#ffffff33; border-color:var(--rd-accent,#e67e22); color:#fff; } .rd-shell.rd-narrow .rd-topbar .rd-align{ display:none; } -`,"rd-topbar"),(d,f)=>(Q(),ne("header",{ref_key:"rootEl",ref:E,class:"rd-topbar","data-region":"topbar"},[F("div",Fy,[F("span",Ry,[F("span",Oy,[nt(fe(pe(o).title||"Research Dashboard"),1),f[1]||(f[1]=F("span",{class:"dot"},".",-1))])])]),F("div",Dy,[Ie(Ou,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=F("span",{class:"rd-spacer"},null,-1)),r.value?(Q(),ne("div",jy,[f[2]||(f[2]=F("span",{class:"ic"},"⌕",-1)),Rt(F("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:y},null,544),[[Cp,c.value]]),u.value&&c.value.trim().length>=2?(Q(),ne("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[b.value.length?(Q(!0),ne(Ae,{key:0},Qe(b.value,(g,k)=>(Q(),ne("div",{key:g.slug,class:Me(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[F("span",By,fe(g.name),1),F("span",Uy,fe(pe(Ye)(g.country_code))+" · "+fe(pe(Ye)(g.religion)),1)],10,zy))),128)):(Q(),ne("div",Gy,"No people groups match “"+fe(c.value.trim())+"”.",1))])):ze("",!0)])):ze("",!0),F("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(to(s,["prevent"]),["enter"]),zr(to(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,qy),Ie(Ty,{"embed-path":Vy})],512))}},Ln="#c4c8c0";function Wy(e,t){const n=ts(e);return n&&n.propertyKey===t&&n.palette?n.palette:null}const Ky=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yy(){const e=re(()=>{const n=ts(_n.DOXA_REGION),o=n&&n.propertyKey==="doxaRegion";return{slug:o&&n.slugColors||null,alias:o&&n.aliases||null}});function t(n,o,r,s){if(r==null||r==="")return Ln;if(n==="people"){const a=Wy(_n.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Ln}if(n==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Ky(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Ln}return n==="language"?bn[s||r]||Ln:n==="religion"&&$t[s]||Ln}return{colorFor:t,NEUTRAL:Ln}}const Xy={class:"rd-facets","data-region":"facets"},Jy={class:"fr-head"},Zy={class:"fr-scope","data-scope-count":""},Qy=["data-facet-section"],ev=["onClick"],tv={class:"fr-rows"},nv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label"],ov=["data-expand","data-expand-value","aria-expanded","aria-label"],rv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},sv={class:"fr-lbl"},av={class:"fr-bar"},iv={class:"fr-cnt"},lv={__name:"DashboardFacetRail",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=Se("dataStore",null),s=Se("searchSourceId",null),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(o.facets||{}).map(([L,T])=>[L,T.get])),l=Jo(n,Xo(o));function c(L){var Y,ee;const T=((Y=t==null?void 0:t.rows)==null?void 0:Y.value)||[],R=Object.keys(a).filter(K=>!L.includes(K)),z=!!(((ee=n==null?void 0:n.searchTerm)==null?void 0:ee.value)||"").trim();return!R.length&&!z?T:T.filter(K=>R.every(ue=>{const ge=i[ue];return ge?ge(K)===a[ue]:!0})&&l(K))}const u=In(Object.fromEntries((o.facetRail||[]).map(L=>[L.id,!0])));function p(L){u[L]=!u[L]}const b=In({}),x=(L,T)=>L+":"+T;function A(L,T){const R=x(L,T);b[R]=!y(L,T)}function y(L,T){const R=x(L,T);return R in b?b[R]:a[L]===T}function v(L,T,R){const z=L.reduce((Y,ee)=>Math.max(Y,ee.value),0)||1;return L.map(Y=>({facet:T,value:Y.key,label:Y.key,count:Y.value,frac:Y.value/z,level:R,other:!!Y.other,active:!Y.other&&a[T]===Y.key}))}const E=new Map;function _(L,T,R){if(R)return E.set(L,T.map(_e=>({..._e,count:0,frac:0,active:!1,expanded:!1}))),T;const z=E.get(L);if(!z)return T;const Y=_e=>_e.facet+":"+_e.value,ee=new Set(T.map(Y));if(!z.filter(_e=>!ee.has(Y(_e))).length)return T;const ue=new Map;let ge="";for(const _e of z){const Te=Y(_e);if(ee.has(Te)){ge=Te;continue}ue.has(ge)||ue.set(ge,[]),ue.get(ge).push({..._e,zero:!0})}const Ce=[];for(const _e of ue.get("")||[])Ce.push(_e);for(let _e=0;_eTe.level;)Ce.push(T[++_e]);for(const Je of Xe)Ce.push(Je)}}return Ce}function d(L,T){return v(ja(c([L]),i[L],T??24),L,0)}function f(L,T){const R=[],z=(Y,ee)=>{const K=L[Y],ue=(T&&T[Y])??(Y===L.length-1?40:30);let ge=c(L.slice(Y));ee.length&&(ge=ge.filter(_e=>ee.every(([Te,Xe])=>{const Je=i[Te];return Je?Je(_e)===Xe:!0})));const Ce=v(ja(ge,i[K],ue),K,Y);for(const _e of Ce)_e.hasChildren=!_e.other&&Y{var R;const L=new Map,T=o.facets&&o.facets.religion_family;if(!T||!T.famKey)return L;for(const z of((R=t==null?void 0:t.rows)==null?void 0:R.value)||[]){const Y=T.get(z);Y&&!L.has(Y)&&L.set(Y,T.famKey(z))}return L}),O=re(()=>{var L;return!Object.keys(a).length&&!(((L=n==null?void 0:n.searchTerm)==null?void 0:L.value)||"").trim()}),q=re(()=>(o.facetRail||[]).map(L=>{let T=L.drill?f(L.drill,L.topN):d(L.facet,L.topN);if(T=_(L.id,T,O.value),L.tree==="affinity"){const R=k.value;T=T.map(z=>z.other?z:{...z,label:R[z.facet]&&R[z.facet].get(z.value)||z.label})}return T=M(T,L.axis,S.value),{id:L.id,title:L.title,axis:L.axis,rows:g(T)}})),J=re(()=>{var R;const L=((R=t==null?void 0:t.rows)==null?void 0:R.value)||[],T=Object.keys(a);return T.length?L.filter(z=>T.every(Y=>{const ee=i[Y];return ee?ee(z)===a[Y]:!0})).length:L.length});function he(L){const T=L.target;if(!T||!T.closest)return;const R=T.closest("[data-expand]");if(R){const K=R.getAttribute("data-expand"),ue=R.getAttribute("data-expand-value");K&&ue!=null&&(L.stopPropagation(),A(K,ue));return}const z=T.closest("[data-facet]");if(!z||!n)return;const Y=z.getAttribute("data-facet"),ee=z.getAttribute("data-value");!Y||!ee||n.setFilter(Y,a[Y]===ee?null:ee)}function B(L){if(L.key!=="Enter"&&L.key!==" "&&L.key!=="Spacebar")return;const T=L.target&&L.target.closest?L.target.closest("[data-facet]"):null;if(!T||!n)return;L.preventDefault();const R=T.getAttribute("data-facet"),z=T.getAttribute("data-value");!R||!z||n.setFilter(R,a[R]===z?null:z)}const H=ce(null);return xt(()=>{n&&n.on("mapFocus",({value:L}={})=>{if(!L||!H.value)return;const R=[...H.value.querySelectorAll(".fr-row")].find(z=>z.textContent&&z.textContent.includes(L));R&&(H.value.scrollTop=Math.max(0,R.offsetTop-8))})}),Tt(` +`,"rd-topbar"),(d,f)=>(ee(),te("header",{ref_key:"rootEl",ref:C,class:"rd-topbar","data-region":"topbar"},[F("div",Fy,[F("span",Ry,[F("span",Oy,[nt(fe(pe(o).title||"Research Dashboard"),1),f[1]||(f[1]=F("span",{class:"dot"},".",-1))])])]),F("div",Dy,[Pe(Ou,{"model-value":a.value,placeholder:i.value,"aria-label":i.value,"max-width":"360px",onSearch:l},null,8,["model-value","placeholder","aria-label"])]),f[3]||(f[3]=F("span",{class:"rd-spacer"},null,-1)),r.value?(ee(),te("div",jy,[f[2]||(f[2]=F("span",{class:"ic"},"⌕",-1)),Rt(F("input",{type:"text","onUpdate:modelValue":f[0]||(f[0]=g=>c.value=g),placeholder:"Search people groups…","data-search-input":"","aria-label":"Search people groups",onInput:A,onFocus:A,onKeydown:y},null,544),[[Cp,c.value]]),u.value&&c.value.trim().length>=2?(ee(),te("div",{key:0,class:"rd-results","data-search-results":"",onClick:v},[b.value.length?(ee(!0),te(Ce,{key:0},Qe(b.value,(g,k)=>(ee(),te("div",{key:g.slug,class:Ne(["rd-res",{on:k===p.value}]),"data-slug":g.slug},[F("span",By,fe(g.name),1),F("span",Uy,fe(pe(Xe)(g.country_code))+" · "+fe(pe(Xe)(g.religion)),1)],10,zy))),128)):(ee(),te("div",Gy,"No people groups match “"+fe(c.value.trim())+"”.",1))])):Be("",!0)])):Be("",!0),F("span",{class:"rd-align",role:"button",tabindex:"0","data-align-btn":"",title:"Reset the dashboard layout to its default alignment",onClick:s,onKeydown:[zr(to(s,["prevent"]),["enter"]),zr(to(s,["prevent"]),["space"])]}," ⤢ Align Dashboard ",40,qy),Pe(Ty,{"embed-path":Vy})],512))}},Ln="#c4c8c0";function Wy(e,t){const n=ts(e);return n&&n.propertyKey===t&&n.palette?n.palette:null}const Ky=e=>String(e||"").trim().toLowerCase().replace(/\s+/g,"_");function Yy(){const e=re(()=>{const n=ts(_n.DOXA_REGION),o=n&&n.propertyKey==="doxaRegion";return{slug:o&&n.slugColors||null,alias:o&&n.aliases||null}});function t(n,o,r,s){if(r==null||r==="")return Ln;if(n==="people"){const a=Wy(_n.AFFINITY_BLOCK,"affinityBlock");return a&&a[s||r]||Ln}if(n==="place"){const{slug:a,alias:i}=e.value,l=s||r;if(a){const c=a[Ky(l)];if(c)return c}if(i){const c=i[l];if(c)return c}return Ln}return n==="language"?bn[s||r]||Ln:n==="religion"&&$t[s]||Ln}return{colorFor:t,NEUTRAL:Ln}}const Xy={class:"rd-facets","data-region":"facets"},Jy={class:"fr-head"},Zy={class:"fr-scope","data-scope-count":""},Qy=["data-facet-section"],ev=["onClick"],tv={class:"fr-rows"},nv=["data-facet","data-value","tabindex","role","aria-pressed","aria-label","title"],ov=["data-expand","data-expand-value","aria-expanded","aria-label"],rv={key:1,class:"fr-caret fr-caret-leaf","aria-hidden":"true"},sv={class:"fr-lbl"},av={class:"fr-bar"},iv={class:"fr-cnt"},lv={key:3,class:"fr-donly","aria-hidden":"true"},cv={__name:"DashboardFacetRail",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=Ee("dataStore",null),s=Ee("searchSourceId",null),a=(n==null?void 0:n.filterSet)||{},i=Object.fromEntries(Object.entries(o.facets||{}).map(([E,N])=>[E,N.get])),l=new Set(Object.entries(o.facets||{}).filter(([,E])=>E&&E.dashboardOnly).map(([E])=>E)),c=Jo(n,Xo(o));function u(E){var q,W;const N=((q=t==null?void 0:t.rows)==null?void 0:q.value)||[],X=Object.keys(a).filter(le=>!E.includes(le)),j=!!(((W=n==null?void 0:n.searchTerm)==null?void 0:W.value)||"").trim();return!X.length&&!j?N:N.filter(le=>X.every(ge=>{const Se=i[ge];return Se?Se(le)===a[ge]:!0})&&c(le))}const p=In(Object.fromEntries((o.facetRail||[]).map(E=>[E.id,!0])));function b(E){p[E]=!p[E]}const x=In({}),A=(E,N)=>E+":"+N;function y(E,N){const X=A(E,N);x[X]=!v(E,N)}function v(E,N){const X=A(E,N);return X in x?x[X]:a[E]===N}function C(E,N,X){const j=E.reduce((q,W)=>Math.max(q,W.value),0)||1;return E.map(q=>({facet:N,value:q.key,label:q.key,count:q.value,frac:q.value/j,level:X,other:!!q.other,active:!q.other&&a[N]===q.key,dashboardOnly:l.has(N)}))}const _=new Map;function d(E,N,X){if(X)return _.set(E,N.map(be=>({...be,count:0,frac:0,active:!1,expanded:!1}))),N;const j=_.get(E);if(!j)return N;const q=be=>be.facet+":"+be.value,W=new Set(N.map(q));if(!j.filter(be=>!W.has(q(be))).length)return N;const ge=new Map;let Se="";for(const be of j){const Ge=q(be);if(W.has(Ge)){Se=Ge;continue}ge.has(Se)||ge.set(Se,[]),ge.get(Se).push({...be,zero:!0})}const Ie=[];for(const be of ge.get("")||[])Ie.push(be);for(let be=0;beGe.level;)Ie.push(N[++be]);for(const Fe of Je)Ie.push(Fe)}}return Ie}function f(E,N){return C(ja(u([E]),i[E],N??24),E,0)}function g(E,N){const X=[],j=(q,W)=>{const le=E[q],ge=(N&&N[q])??(q===E.length-1?40:30);let Se=u(E.slice(q));W.length&&(Se=Se.filter(be=>W.every(([Ge,Je])=>{const Fe=i[Ge];return Fe?Fe(be)===Je:!0})));const Ie=C(ja(Se,i[le],ge),le,q);for(const be of Ie)be.hasChildren=!be.other&&q{var X;const E=new Map,N=o.facets&&o.facets.religion_family;if(!N||!N.famKey)return E;for(const j of((X=t==null?void 0:t.rows)==null?void 0:X.value)||[]){const q=N.get(j);q&&!E.has(q)&&E.set(q,N.famKey(j))}return E}),V=re(()=>{var E;return!Object.keys(a).length&&!(((E=n==null?void 0:n.searchTerm)==null?void 0:E.value)||"").trim()}),Z=re(()=>(o.facetRail||[]).map(E=>{let N=E.drill?g(E.drill,E.topN):f(E.facet,E.topN);if(N=d(E.id,N,V.value),E.tree==="affinity"){const X=$.value;N=N.map(j=>j.other?j:{...j,label:X[j.facet]&&X[j.facet].get(j.value)||j.label})}return N=S(N,E.axis,R.value),{id:E.id,title:E.title,axis:E.axis,rows:k(N)}})),he=re(()=>{var X;const E=((X=t==null?void 0:t.rows)==null?void 0:X.value)||[],N=Object.keys(a);return N.length?E.filter(j=>N.every(q=>{const W=i[q];return W?W(j)===a[q]:!0})).length:E.length});function z(E){const N=E.target;if(!N||!N.closest)return;const X=N.closest("[data-expand]");if(X){const le=X.getAttribute("data-expand"),ge=X.getAttribute("data-expand-value");le&&ge!=null&&(E.stopPropagation(),y(le,ge));return}const j=N.closest("[data-facet]");if(!j||!n)return;const q=j.getAttribute("data-facet"),W=j.getAttribute("data-value");!q||!W||n.setFilter(q,a[q]===W?null:W)}function Y(E){if(E.key!=="Enter"&&E.key!==" "&&E.key!=="Spacebar")return;const N=E.target&&E.target.closest?E.target.closest("[data-facet]"):null;if(!N||!n)return;E.preventDefault();const X=N.getAttribute("data-facet"),j=N.getAttribute("data-value");!X||!j||n.setFilter(X,a[X]===j?null:j)}const B=ue(null);return xt(()=>{n&&n.on("mapFocus",({value:E}={})=>{if(!E||!B.value)return;const X=[...B.value.querySelectorAll(".fr-row")].find(j=>j.textContent&&j.textContent.includes(E));X&&(B.value.scrollTop=Math.max(0,X.offsetTop-8))})}),Tt(` .rd-facets{ display:flex; flex-direction:column; height:100%; min-height:0; box-sizing:border-box; background:var(--rd-panel,#fff); } .rd-facets .fr-head{ flex:0 0 auto; padding:var(--s3,12px) var(--s3,12px) var(--s2,8px); border-bottom:1px solid var(--rd-line, #d1d4cd); } @@ -481,7 +481,9 @@ .fr-bar i{ display:block; height:100%; background:var(--dx-accent, #92b195); border-radius:2px; transition:width .3s; } .fr-row.on .fr-bar i{ background:var(--rd-accent,#e67e22); } .fr-cnt{ flex:0 0 auto; font-variant-numeric:tabular-nums; color:var(--dx-muted, #6d766e); min-width:30px; text-align:right; font-size:11px; margin-left:8px; } -`,"rd-facetrail"),(L,T)=>(Q(),ne("aside",Xy,[F("div",Jy,[T[1]||(T[1]=F("div",{class:"fr-title"},"Tree Legend",-1)),F("div",Zy,[F("b",null,fe(J.value.toLocaleString("en-US")),1),T[0]||(T[0]=nt(" groups in scope",-1))])]),F("div",{class:"fr-body",ref_key:"railEl",ref:H,onClick:he,onKeydown:B},[(Q(!0),ne(Ae,null,Qe(q.value,R=>(Q(),ne("div",{key:R.id,class:"fr-sec","data-facet-section":R.id},[F("div",{class:Me(["fr-sech",{closed:!u[R.id]}]),onClick:to(z=>p(R.id),["stop"])},[F("span",null,fe(R.title),1),T[2]||(T[2]=F("span",{class:"chev"},"▾",-1))],10,ev),Rt(F("div",tv,[(Q(!0),ne(Ae,null,Qe(R.rows,z=>(Q(),ne("div",{key:z.facet+":"+z.value,class:Me(["fr-row",["l"+z.level,{on:z.active,other:z.other,zero:z.zero,inert:z.other||z.zero}]]),"data-facet":z.other||z.zero?null:z.facet,"data-value":z.other||z.zero?null:z.value,tabindex:z.other||z.zero?null:0,role:z.other||z.zero?null:"button","aria-pressed":z.other||z.zero?null:z.active?"true":"false","aria-label":z.other||z.zero?null:(z.active?"Remove filter ":"Filter by ")+z.label+", "+z.count.toLocaleString("en-US")+" groups"},[(Q(!0),ne(Ae,null,Qe(z.trunks,(Y,ee)=>(Q(),ne("span",{key:"tr"+ee,class:Me(["fr-trunk","fr-trunk-"+Y])},null,2))),128)),z.hasChildren?(Q(),ne("button",{key:0,type:"button",class:Me(["fr-caret-btn",{open:z.expanded}]),"data-expand":z.facet,"data-expand-value":z.value,"aria-expanded":z.expanded?"true":"false","aria-label":(z.expanded?"Collapse ":"Expand ")+z.label},[...T[3]||(T[3]=[F("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,ov)):(Q(),ne("span",rv)),z.swatch?(Q(),ne("span",{key:2,class:"fr-sw",style:gt({background:z.swatch}),"aria-hidden":"true"},null,4)):ze("",!0),F("span",sv,fe(z.label),1),F("span",av,[F("i",{style:gt({width:Math.max(4,z.frac*100)+"%"})},null,4)]),F("span",iv,fe(z.count.toLocaleString("en-US")),1)],10,nv))),128))],512),[[Zt,u[R.id]]])],8,Qy))),128))],544)]))}},cv=["data-sel-count"],uv=["data-collapsed"],dv=["title","aria-expanded"],fv={class:"ct","data-table-count":""},pv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},gv=["aria-pressed"],hv=["aria-pressed"],mv={key:2,class:"rd-toast","data-export-toast":""},bv=["aria-busy","title","onKeydown"],_v={key:0,class:"rd-csv-n"},yv=["data-sort-by","aria-rowcount"],vv={class:"rd-thead",role:"row"},wv=["title"],xv=["checked","aria-label"],kv=["title","aria-sort","data-col","onClick"],$v={class:"ind"},Sv=["data-slug","aria-selected","aria-rowindex"],Ev={class:"rd-td chk",role:"gridcell"},Av=["checked","aria-label"],Cv={class:"rd-foot",role:"row"},Zo=26,Tv={__name:"DashboardDataTable",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=P=>{if(typeof P=="number")return P;const X=parseFloat(String(P??"").replace(/[^0-9.\-]/g,""));return isNaN(X)?null:X},s=P=>P==null?"":Number(P).toLocaleString("en-US"),a=re(()=>o.columns||[]);function i(P){const X=Number(P&&P.w);return{flex:`${Number.isFinite(X)&&X>0?X:1} 1 0`}}const l=Object.fromEntries(Object.entries(o.facets||{}).map(([P,X])=>[P,X.get])),c=re(()=>{var P;return((P=t==null?void 0:t.rows)==null?void 0:P.value)||[]}),u=(n==null?void 0:n.filterSet)||{},p=n==null?void 0:n.selectionSet;function b(P,X,te){const me=l[X];if(!me)return!0;const ve=me(P);return Array.isArray(te)?te.includes(ve):ve===te}const x=Jo(n,Xo(o)),A=re(()=>{var te;const P=Object.keys(u),X=!!(((te=n==null?void 0:n.searchTerm)==null?void 0:te.value)||"").trim();return!P.length&&!X?c.value:c.value.filter(me=>P.every(ve=>b(me,ve,u[ve]))&&x(me))}),y=ce([]);function v(P,X){const te=!!(X&&X.shiftKey),me=y.value.findIndex(ve=>ve.key===P.key);if(me<0)y.value=(te?[...y.value]:[]).concat({key:P.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ve=[...y.value];ve[me]={key:P.key,dir:"desc"},y.value=ve}else y.value=te?y.value.filter(ve=>ve.key!==P.key):[]}function E(P){const X=y.value.find(te=>te.key===P.key);return X?X.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const P=y.value;if(!P.length)return A.value;const X=P.map(te=>({col:a.value.find(me=>me.key===te.key),dir:te.dir==="asc"?1:-1}));return A.value.slice().sort((te,me)=>{for(const{col:ve,dir:Fe}of X){let et=ve.get(te),wt=ve.get(me);if((et==null||et==="")&&(et=ve.type==="num"?-1/0:""),(wt==null||wt==="")&&(wt=ve.type==="num"?-1/0:""),etwt)return 1*Fe}return 0})}),d=ce(!1),f=ce(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>n&&n.selectionVersion?n.selectionVersion.value:0,M=re(()=>{let P=_.value;if(d.value&&($(),P=P.filter(X=>p&&p.has(X.slug))),f.value){$();const X=[],te=[];for(const me of P)(p&&p.has(me.slug)?X:te).push(me);P=X.concat(te)}return P}),S=ce(0),O=ce(360),q=ce(null);let J=null;function he(P){S.value=P.target.scrollTop}const B=re(()=>Math.max(0,Math.floor(S.value/Zo)-6)),H=re(()=>Math.ceil(O.value/Zo)+12),L=re(()=>M.value.slice(B.value,B.value+H.value)),T=re(()=>B.value*Zo),R=re(()=>Math.max(0,(M.value.length-(B.value+L.value.length))*Zo));xt(()=>{q.value&&(O.value=q.value.clientHeight||360,J=new ResizeObserver(()=>{O.value=q.value.clientHeight||O.value}),J.observe(q.value)),n&&n.on("toggleTable",P=>{V.value=!!P}),n&&n.on("focusRow",({slug:P}={})=>{if(!P||!q.value)return;const X=M.value.findIndex(te=>te.slug===P);X>=0&&(q.value.scrollTop=Math.max(0,X*Zo-O.value/2))})}),Ot(()=>{J&&J.disconnect(),clearTimeout(le)});const z=re(()=>($(),p?p.size:0)),Y=P=>!!(p&&p.has(P.slug)),ee=re(()=>$()),K=ce(null),ue=ce("select");let ge=new Set;function Ce(P,X){K.value=P,ue.value=X,ge=new Set(p)}function _e(P,X){const te=M.value,me=te.findIndex(Ze=>Ze.slug===P),ve=te.findIndex(Ze=>Ze.slug===X);if(me<0||ve<0)return[];const[Fe,et]=me<=ve?[me,ve]:[ve,me],wt=[];for(let Ze=Fe;Ze<=et;Ze++)wt.push(te[Ze].slug);return wt}function Te(P,X){if(!n||!P)return;const te=!!(X&&(X.ctrlKey||X.metaKey));if(!!(X&&X.shiftKey)&&K.value){const ve=_e(K.value,P);if(!ve.length)return;if(te){const Fe=new Set(ge);if(ue.value==="deselect")for(const et of ve)Fe.delete(et);else for(const et of ve)Fe.add(et);n.setSelection(Fe)}else n.setSelection(ve);return}if(te){const ve=!p.has(P);Ce(P,ve?"select":"deselect"),n.toggleSelect(P),ge=new Set(p);return}Ce(P,"select"),n.setSelection([P]),ge=new Set(p)}function Xe(P){const X=P.target;if(!X||!X.closest)return;const te=X.closest(".rd-row");if(!te||!n)return;const me=te.getAttribute("data-slug");if(me){if(X.closest(".rd-td.chk")){if(P.shiftKey||P.ctrlKey||P.metaKey){Te(me,P);return}Ce(me,p.has(me)?"deselect":"select"),n.toggleSelect(me),ge=new Set(p);return}Te(me,P)}}function Je(P){P.shiftKey&&P.target&&P.target.closest&&P.target.closest(".rd-row")&&P.preventDefault()}const Ue=re(()=>{$();const P=A.value;if(!P.length)return!1;for(const X of P)if(!p.has(X.slug))return!1;return!0}),rt=re(()=>{if($(),Ue.value)return!1;for(const P of A.value)if(p.has(P.slug))return!0;return!1});function w(){if(!n)return;const P=A.value.map(X=>X.slug);Ue.value?n.deselectMany(P):n.selectMany(P),K.value=null,ge=new Set(p)}function I(){n&&n.clearSelection(),K.value=null,ge=new Set}const C=ce(null);function U(P){C.value=P||null}mt([rt,C],()=>{C.value&&(C.value.indeterminate=rt.value)},{immediate:!0}),mt([y,()=>A.value.length,d,f],()=>{K.value=null}),mt(z,P=>{P||(d.value=!1)});const V=ce(!1);function Z(){V.value=!V.value,n&&n.emit("toggleTable",V.value)}const ae=re(()=>A.value.reduce((P,X)=>P+(r(X.population)||0),0)),se=re(()=>A.value.length),{labelFor:h}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),m=t&&n?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:l,dataOpts:o.data,labelFor:h}):null,j=ce(""),G=ce(!1);let le=null;async function oe(){if(!(!m||G.value)){G.value=!0;try{const P=await m.exportCsvAsync(),X=P.downloaded?"exported":P.clipboard?"copied to clipboard":"ready";j.value=`✓ ${s(P.rows)} rows × ${P.fields} fields ${X}`}catch{j.value="✕ Export failed"}finally{G.value=!1,clearTimeout(le),le=setTimeout(()=>{j.value=""},3200)}}}function D(){m&&m.prefetchExportFields()}return Tt(` + .fr-row.dash-only .fr-donly{ flex:0 0 auto; margin-left:6px; font-size:10px; line-height:1; + color:var(--dx-muted, #6d766e); opacity:.75; } +`,"rd-facetrail"),(E,N)=>(ee(),te("aside",Xy,[F("div",Jy,[N[1]||(N[1]=F("div",{class:"fr-title"},"Tree Legend",-1)),F("div",Zy,[F("b",null,fe(he.value.toLocaleString("en-US")),1),N[0]||(N[0]=nt(" groups in scope",-1))])]),F("div",{class:"fr-body",ref_key:"railEl",ref:B,onClick:z,onKeydown:Y},[(ee(!0),te(Ce,null,Qe(Z.value,X=>(ee(),te("div",{key:X.id,class:"fr-sec","data-facet-section":X.id},[F("div",{class:Ne(["fr-sech",{closed:!p[X.id]}]),onClick:to(j=>b(X.id),["stop"])},[F("span",null,fe(X.title),1),N[2]||(N[2]=F("span",{class:"chev"},"▾",-1))],10,ev),Rt(F("div",tv,[(ee(!0),te(Ce,null,Qe(X.rows,j=>(ee(),te("div",{key:j.facet+":"+j.value,class:Ne(["fr-row",["l"+j.level,{on:j.active,other:j.other,zero:j.zero,inert:j.other||j.zero,"dash-only":j.dashboardOnly}]]),"data-facet":j.other||j.zero?null:j.facet,"data-value":j.other||j.zero?null:j.value,tabindex:j.other||j.zero?null:0,role:j.other||j.zero?null:"button","aria-pressed":j.other||j.zero?null:j.active?"true":"false","aria-label":j.other||j.zero?null:(j.active?"Remove filter ":"Filter by ")+j.label+", "+j.count.toLocaleString("en-US")+" groups"+(j.dashboardOnly?". Updates the charts on this dashboard only; it does not filter the list below.":""),title:j.dashboardOnly?"Updates this dashboard only — the list below does not filter on "+j.label:null},[(ee(!0),te(Ce,null,Qe(j.trunks,(q,W)=>(ee(),te("span",{key:"tr"+W,class:Ne(["fr-trunk","fr-trunk-"+q])},null,2))),128)),j.hasChildren?(ee(),te("button",{key:0,type:"button",class:Ne(["fr-caret-btn",{open:j.expanded}]),"data-expand":j.facet,"data-expand-value":j.value,"aria-expanded":j.expanded?"true":"false","aria-label":(j.expanded?"Collapse ":"Expand ")+j.label},[...N[3]||(N[3]=[F("span",{class:"fr-caret-gl","aria-hidden":"true"},"▸",-1)])],10,ov)):(ee(),te("span",rv)),j.swatch?(ee(),te("span",{key:2,class:"fr-sw",style:gt({background:j.swatch}),"aria-hidden":"true"},null,4)):Be("",!0),F("span",sv,fe(j.label),1),F("span",av,[F("i",{style:gt({width:Math.max(4,j.frac*100)+"%"})},null,4)]),F("span",iv,fe(j.count.toLocaleString("en-US")),1),j.dashboardOnly?(ee(),te("span",lv,"◐")):Be("",!0)],10,nv))),128))],512),[[Zt,p[X.id]]])],8,Qy))),128))],544)]))}},uv=["data-sel-count"],dv=["data-collapsed"],fv=["title","aria-expanded"],pv={class:"ct","data-table-count":""},gv={key:0,class:"rd-pill","data-sel-pill":"",role:"status"},hv=["aria-pressed"],mv=["aria-pressed"],bv={key:2,class:"rd-toast","data-export-toast":""},_v=["aria-busy","title","onKeydown"],yv={key:0,class:"rd-csv-n"},vv=["data-sort-by","aria-rowcount"],wv={class:"rd-thead",role:"row"},xv=["title"],kv=["checked","aria-label"],$v=["title","aria-sort","data-col","onClick"],Sv={class:"ind"},Ev=["data-slug","aria-selected","aria-rowindex"],Av={class:"rd-td chk",role:"gridcell"},Cv=["checked","aria-label"],Tv={class:"rd-foot",role:"row"},Zo=26,Lv={__name:"DashboardDataTable",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=L=>{if(typeof L=="number")return L;const J=parseFloat(String(L??"").replace(/[^0-9.\-]/g,""));return isNaN(J)?null:J},s=L=>L==null?"":Number(L).toLocaleString("en-US"),a=re(()=>o.columns||[]);function i(L){const J=Number(L&&L.w);return{flex:`${Number.isFinite(J)&&J>0?J:1} 1 0`}}const l=Object.fromEntries(Object.entries(o.facets||{}).map(([L,J])=>[L,J.get])),c=re(()=>{var L;return((L=t==null?void 0:t.rows)==null?void 0:L.value)||[]}),u=(n==null?void 0:n.filterSet)||{},p=n==null?void 0:n.selectionSet;function b(L,J,ne){const me=l[J];if(!me)return!0;const ve=me(L);return Array.isArray(ne)?ne.includes(ve):ve===ne}const x=Jo(n,Xo(o)),A=re(()=>{var ne;const L=Object.keys(u),J=!!(((ne=n==null?void 0:n.searchTerm)==null?void 0:ne.value)||"").trim();return!L.length&&!J?c.value:c.value.filter(me=>L.every(ve=>b(me,ve,u[ve]))&&x(me))}),y=ue([]);function v(L,J){const ne=!!(J&&J.shiftKey),me=y.value.findIndex(ve=>ve.key===L.key);if(me<0)y.value=(ne?[...y.value]:[]).concat({key:L.key,dir:"asc"});else if(y.value[me].dir==="asc"){const ve=[...y.value];ve[me]={key:L.key,dir:"desc"},y.value=ve}else y.value=ne?y.value.filter(ve=>ve.key!==L.key):[]}function C(L){const J=y.value.find(ne=>ne.key===L.key);return J?J.dir==="asc"?"ascending":"descending":"none"}const _=re(()=>{const L=y.value;if(!L.length)return A.value;const J=L.map(ne=>({col:a.value.find(me=>me.key===ne.key),dir:ne.dir==="asc"?1:-1}));return A.value.slice().sort((ne,me)=>{for(const{col:ve,dir:Re}of J){let et=ve.get(ne),wt=ve.get(me);if((et==null||et==="")&&(et=ve.type==="num"?-1/0:""),(wt==null||wt==="")&&(wt=ve.type==="num"?-1/0:""),etwt)return 1*Re}return 0})}),d=ue(!1),f=ue(!1);function g(){d.value=!d.value}function k(){f.value=!f.value}const $=()=>n&&n.selectionVersion?n.selectionVersion.value:0,I=re(()=>{let L=_.value;if(d.value&&($(),L=L.filter(J=>p&&p.has(J.slug))),f.value){$();const J=[],ne=[];for(const me of L)(p&&p.has(me.slug)?J:ne).push(me);L=J.concat(ne)}return L}),S=ue(0),R=ue(360),V=ue(null);let Z=null;function he(L){S.value=L.target.scrollTop}const z=re(()=>Math.max(0,Math.floor(S.value/Zo)-6)),Y=re(()=>Math.ceil(R.value/Zo)+12),B=re(()=>I.value.slice(z.value,z.value+Y.value)),E=re(()=>z.value*Zo),N=re(()=>Math.max(0,(I.value.length-(z.value+B.value.length))*Zo));xt(()=>{V.value&&(R.value=V.value.clientHeight||360,Z=new ResizeObserver(()=>{R.value=V.value.clientHeight||R.value}),Z.observe(V.value)),n&&n.on("toggleTable",L=>{H.value=!!L}),n&&n.on("focusRow",({slug:L}={})=>{if(!L||!V.value)return;const J=I.value.findIndex(ne=>ne.slug===L);J>=0&&(V.value.scrollTop=Math.max(0,J*Zo-R.value/2))})}),Ot(()=>{Z&&Z.disconnect(),clearTimeout(ce)});const X=re(()=>($(),p?p.size:0)),j=L=>!!(p&&p.has(L.slug)),q=re(()=>$()),W=ue(null),le=ue("select");let ge=new Set;function Se(L,J){W.value=L,le.value=J,ge=new Set(p)}function Ie(L,J){const ne=I.value,me=ne.findIndex(Ze=>Ze.slug===L),ve=ne.findIndex(Ze=>Ze.slug===J);if(me<0||ve<0)return[];const[Re,et]=me<=ve?[me,ve]:[ve,me],wt=[];for(let Ze=Re;Ze<=et;Ze++)wt.push(ne[Ze].slug);return wt}function be(L,J){if(!n||!L)return;const ne=!!(J&&(J.ctrlKey||J.metaKey));if(!!(J&&J.shiftKey)&&W.value){const ve=Ie(W.value,L);if(!ve.length)return;if(ne){const Re=new Set(ge);if(le.value==="deselect")for(const et of ve)Re.delete(et);else for(const et of ve)Re.add(et);n.setSelection(Re)}else n.setSelection(ve);return}if(ne){const ve=!p.has(L);Se(L,ve?"select":"deselect"),n.toggleSelect(L),ge=new Set(p);return}Se(L,"select"),n.setSelection([L]),ge=new Set(p)}function Ge(L){const J=L.target;if(!J||!J.closest)return;const ne=J.closest(".rd-row");if(!ne||!n)return;const me=ne.getAttribute("data-slug");if(me){if(J.closest(".rd-td.chk")){if(L.shiftKey||L.ctrlKey||L.metaKey){be(me,L);return}Se(me,p.has(me)?"deselect":"select"),n.toggleSelect(me),ge=new Set(p);return}be(me,L)}}function Je(L){L.shiftKey&&L.target&&L.target.closest&&L.target.closest(".rd-row")&&L.preventDefault()}const Fe=re(()=>{$();const L=A.value;if(!L.length)return!1;for(const J of L)if(!p.has(J.slug))return!1;return!0}),rt=re(()=>{if($(),Fe.value)return!1;for(const L of A.value)if(p.has(L.slug))return!0;return!1});function w(){if(!n)return;const L=A.value.map(J=>J.slug);Fe.value?n.deselectMany(L):n.selectMany(L),W.value=null,ge=new Set(p)}function P(){n&&n.clearSelection(),W.value=null,ge=new Set}const T=ue(null);function U(L){T.value=L||null}mt([rt,T],()=>{T.value&&(T.value.indeterminate=rt.value)},{immediate:!0}),mt([y,()=>A.value.length,d,f],()=>{W.value=null}),mt(X,L=>{L||(d.value=!1)});const H=ue(!1);function Q(){H.value=!H.value,n&&n.emit("toggleTable",H.value)}const ae=re(()=>A.value.reduce((L,J)=>L+(r(J.population)||0),0)),se=re(()=>A.value.length),{labelFor:h}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),m=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:l,dataOpts:o.data,labelFor:h}):null,D=ue(""),G=ue(!1);let ce=null;async function oe(){if(!(!m||G.value)){G.value=!0;try{const L=await m.exportCsvAsync(),J=L.downloaded?"exported":L.clipboard?"copied to clipboard":"ready";D.value=`✓ ${s(L.rows)} rows × ${L.fields} fields ${J}`}catch{D.value="✕ Export failed"}finally{G.value=!1,clearTimeout(ce),ce=setTimeout(()=>{D.value=""},3200)}}}function O(){m&&m.prefetchExportFields()}return Tt(` .rd-table-wrap{ display:flex; flex-direction:column; height:100%; min-height:0; background:#fff; font-size:12px; } .rd-table-bar{ position:relative; display:flex; align-items:center; gap:10px; padding:4px 10px; border-bottom:1px solid var(--dx-line, #d1d4cd); flex:0 0 auto; } .rd-table-bar .ttl{ font-weight:700; color:var(--rd-ink, #3b463d); } .rd-table-bar .ct{ color:var(--dx-muted, #6d766e); } @@ -529,7 +531,7 @@ .rd-td.num{ text-align:right; font-variant-numeric:tabular-nums; } .rd-td.chk{ flex:0 0 30px; text-align:center; padding:0; } .rd-foot{ flex:0 0 auto; display:flex; border-top:2px solid var(--dx-line, #d1d4cd); background:var(--dx-surface, #f3f3f1); font-weight:700; height:28px; align-items:center; color:var(--dx-text, #3b463d); } .rd-foot .rd-td{ color:var(--dx-text, #3b463d); } -`,"rd-datatable"),(P,X)=>(Q(),ne("div",{class:"rd-table-wrap","data-sel-count":z.value},[F("div",{class:"rd-table-bar","data-collapsed":V.value?"1":"0"},[F("button",{class:"rd-dock",title:V.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":V.value?"false":"true",onClick:Z},fe(V.value?"▴":"▾"),9,dv),X[0]||(X[0]=F("span",{class:"ttl"},"People Groups",-1)),F("span",fv,fe(s(se.value))+" "+fe(se.value===1?"group":"groups"),1),z.value?(Q(),ne("span",pv,[F("span",null,fe(s(z.value))+" selected",1),F("button",{title:"Clear selection","aria-label":"Clear selection",onClick:I},"✕")])):ze("",!0),z.value?(Q(),ne(Ae,{key:1},[F("button",{class:Me(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,gv),F("button",{class:Me(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,hv)],64)):ze("",!0),X[1]||(X[1]=F("span",{class:"rd-bar-sp"},null,-1)),j.value?(Q(),ne("span",mv,fe(j.value),1)):ze("",!0),F("span",{class:Me(["rd-csv",{busy:G.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":G.value?"true":"false",title:z.value?`Export the ${z.value} selected people groups — all fields`:`Export these ${s(se.value)} people groups — all fields`,onClick:oe,onMouseenter:D,onFocus:D,onKeydown:[zr(to(oe,["prevent"]),["enter"]),zr(to(oe,["prevent"]),["space"])]},[nt(fe(G.value?"…":"↓")+" Export CSV",1),z.value?(Q(),ne("span",_v,fe(z.value),1)):ze("",!0)],42,bv)],8,uv),Rt(F("div",{ref_key:"scroller",ref:q,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(te=>te.key+":"+te.dir).join(","),"aria-rowcount":M.value.length+1,onScroll:he,onClick:Xe,onMousedown:Je},[F("div",vv,[F("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Ue.value?"Deselect all "+s(se.value):"Select all "+s(se.value),onClick:w},[F("input",{type:"checkbox",checked:Ue.value,ref:U,"aria-label":Ue.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,xv)],8,wv),(Q(!0),ne(Ae,null,Qe(a.value,te=>(Q(),ne("div",{key:te.key,class:Me(["rd-th",{num:te.type==="num"}]),style:gt(i(te)),title:`Sort this table by ${te.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":E(te),"data-col":te.key,onClick:me=>v(te,me)},[nt(fe(te.label),1),F("span",$v,fe(E(te)==="ascending"?"▲":E(te)==="descending"?"▼":""),1)],14,kv))),128))]),F("div",{style:gt({height:T.value+"px"})},null,4),(Q(!0),ne(Ae,null,Qe(L.value,(te,me)=>(Q(),ne("div",{key:te.slug,class:Me(["rd-row",{sel:ee.value>=0&&Y(te)}]),role:"row","data-slug":te.slug,"aria-selected":Y(te)?"true":"false","aria-rowindex":B.value+me+2},[F("div",Ev,[F("input",{type:"checkbox",class:"rd-rowchk",checked:Y(te),"aria-label":"Select "+te.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Av)]),(Q(!0),ne(Ae,null,Qe(a.value,ve=>(Q(),ne("div",{key:ve.key,class:Me(["rd-td",{num:ve.type==="num"}]),style:gt(i(ve)),role:"gridcell"},fe(ve.type==="num"?s(ve.get(te)):ve.get(te)),7))),128))],10,Sv))),128)),F("div",{style:gt({height:R.value+"px"})},null,4)],40,yv),[[Zt,!V.value]]),Rt(F("div",Cv,[X[2]||(X[2]=F("div",{class:"rd-td chk"},null,-1)),(Q(!0),ne(Ae,null,Qe(a.value,(te,me)=>(Q(),ne("div",{key:"f-"+te.key,class:Me(["rd-td",{num:te.type==="num"}]),style:gt(i(te))},[me===0?(Q(),ne(Ae,{key:0},[nt("Σ "+fe(s(se.value))+" groups",1)],64)):te.key==="population"?(Q(),ne(Ae,{key:1},[nt(fe(s(ae.value)),1)],64)):ze("",!0)],6))),128))],512),[[Zt,!V.value]])],8,cv))}},Lv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Pv=["aria-selected","disabled","title","data-tab","onClick"],Iv=["data-chart"],Mv={class:"rd-ct"},Nv={class:"rd-donutwrap"},Fv=["aria-label"],Rv=["d","fill","data-facet","data-key"],Ov={class:"rd-legend"},Dv=["data-facet","data-key","title"],jv={class:"rd-lt"},zv=["data-chart"],Bv={class:"rd-ct"},Uv={class:"rd-bars"},Gv=["data-facet","data-key"],qv={class:"rd-bl"},Vv={class:"rd-bt"},Hv={class:"rd-bv"},Wv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],n=ce("charts"),o=Se("dashboardData",null),r=Se("selectionBus",null),s=Se("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,E])=>[v,E.get])),l=Jo(r,Xo(s));function c(v){var f,g;const E=((f=o==null?void 0:o.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?E:E.filter(k=>_.every($=>{const M=i[$];return M?M(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,E=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!E?null:Iy(((k=o==null?void 0:o.rows)==null?void 0:k.value)||[],v,E)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const E=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Ye(k[v.facet])),_=ja(c([v.facet]),E,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?Ny(_,v.facet,d):My(_,132,.58,v.facet,d)}})),b=(v,E)=>a[v]===E,x=v=>a[v]!=null;function A(v,E){!E||E==="Other"||!r||r.setFilter(v,a[v]===E?null:E)}function y(v){const E=v.target&&v.target.closest&&v.target.closest("[data-facet]");E&&A(E.getAttribute("data-facet"),E.getAttribute("data-key"))}return Tt(` +`,"rd-datatable"),(L,J)=>(ee(),te("div",{class:"rd-table-wrap","data-sel-count":X.value},[F("div",{class:"rd-table-bar","data-collapsed":H.value?"1":"0"},[F("button",{class:"rd-dock",title:H.value?"Expand table":"Collapse table — grow the map","data-table-dock":"","aria-expanded":H.value?"false":"true",onClick:Q},fe(H.value?"▴":"▾"),9,fv),J[0]||(J[0]=F("span",{class:"ttl"},"People Groups",-1)),F("span",pv,fe(s(se.value))+" "+fe(se.value===1?"group":"groups"),1),X.value?(ee(),te("span",gv,[F("span",null,fe(s(X.value))+" selected",1),F("button",{title:"Clear selection","aria-label":"Clear selection",onClick:P},"✕")])):Be("",!0),X.value?(ee(),te(Ce,{key:1},[F("button",{class:Ne(["rd-vtog",{on:d.value}]),"data-only-selected":"","aria-pressed":d.value?"true":"false",title:"Show only the selected people groups",onClick:g},"Only selected",10,hv),F("button",{class:Ne(["rd-vtog",{on:f.value}]),"data-selected-first":"","aria-pressed":f.value?"true":"false",title:"Float the selected people groups to the top, keeping your column sort",onClick:k},"Selected first",10,mv)],64)):Be("",!0),J[1]||(J[1]=F("span",{class:"rd-bar-sp"},null,-1)),D.value?(ee(),te("span",bv,fe(D.value),1)):Be("",!0),F("span",{class:Ne(["rd-csv",{busy:G.value}]),role:"button",tabindex:"0","data-csv-btn":"","aria-busy":G.value?"true":"false",title:X.value?`Export the ${X.value} selected people groups — all fields`:`Export these ${s(se.value)} people groups — all fields`,onClick:oe,onMouseenter:O,onFocus:O,onKeydown:[zr(to(oe,["prevent"]),["enter"]),zr(to(oe,["prevent"]),["space"])]},[nt(fe(G.value?"…":"↓")+" Export CSV",1),X.value?(ee(),te("span",yv,fe(X.value),1)):Be("",!0)],42,_v)],8,dv),Rt(F("div",{ref_key:"scroller",ref:V,class:"rd-grid",role:"grid","aria-multiselectable":"true","data-sort-scope":"view-local","data-sort-by":y.value.map(ne=>ne.key+":"+ne.dir).join(","),"aria-rowcount":I.value.length+1,onScroll:he,onClick:Ge,onMousedown:Je},[F("div",wv,[F("div",{class:"rd-th chk",style:{cursor:"pointer"},title:Fe.value?"Deselect all "+s(se.value):"Select all "+s(se.value),onClick:w},[F("input",{type:"checkbox",checked:Fe.value,ref:U,"aria-label":Fe.value?"Deselect all rows":"Select all rows",tabindex:"-1",style:{"pointer-events":"none"}},null,8,kv)],8,xv),(ee(!0),te(Ce,null,Qe(a.value,ne=>(ee(),te("div",{key:ne.key,class:Ne(["rd-th",{num:ne.type==="num"}]),style:gt(i(ne)),title:`Sort this table by ${ne.label} — shift-click to add a second column. Sorting orders the table only; the cards keep their own order.`,role:"columnheader","aria-sort":C(ne),"data-col":ne.key,onClick:me=>v(ne,me)},[nt(fe(ne.label),1),F("span",Sv,fe(C(ne)==="ascending"?"▲":C(ne)==="descending"?"▼":""),1)],14,$v))),128))]),F("div",{style:gt({height:E.value+"px"})},null,4),(ee(!0),te(Ce,null,Qe(B.value,(ne,me)=>(ee(),te("div",{key:ne.slug,class:Ne(["rd-row",{sel:q.value>=0&&j(ne)}]),role:"row","data-slug":ne.slug,"aria-selected":j(ne)?"true":"false","aria-rowindex":z.value+me+2},[F("div",Av,[F("input",{type:"checkbox",class:"rd-rowchk",checked:j(ne),"aria-label":"Select "+ne.name,tabindex:"-1",style:{"pointer-events":"none"}},null,8,Cv)]),(ee(!0),te(Ce,null,Qe(a.value,ve=>(ee(),te("div",{key:ve.key,class:Ne(["rd-td",{num:ve.type==="num"}]),style:gt(i(ve)),role:"gridcell"},fe(ve.type==="num"?s(ve.get(ne)):ve.get(ne)),7))),128))],10,Ev))),128)),F("div",{style:gt({height:N.value+"px"})},null,4)],40,vv),[[Zt,!H.value]]),Rt(F("div",Tv,[J[2]||(J[2]=F("div",{class:"rd-td chk"},null,-1)),(ee(!0),te(Ce,null,Qe(a.value,(ne,me)=>(ee(),te("div",{key:"f-"+ne.key,class:Ne(["rd-td",{num:ne.type==="num"}]),style:gt(i(ne))},[me===0?(ee(),te(Ce,{key:0},[nt("Σ "+fe(s(se.value))+" groups",1)],64)):ne.key==="population"?(ee(),te(Ce,{key:1},[nt(fe(s(ae.value)),1)],64)):Be("",!0)],6))),128))],512),[[Zt,!H.value]])],8,uv))}},Pv={class:"rd-tabs",role:"tablist","aria-label":"Rail views"},Iv=["aria-selected","disabled","title","data-tab","onClick"],Nv=["data-chart"],Mv={class:"rd-ct"},Fv={class:"rd-donutwrap"},Rv=["aria-label"],Ov=["d","fill","data-facet","data-key"],Dv={class:"rd-legend"},jv=["data-facet","data-key","title"],zv={class:"rd-lt"},Bv=["data-chart"],Uv={class:"rd-ct"},Gv={class:"rd-bars"},qv=["data-facet","data-key"],Vv={class:"rd-bl"},Hv={class:"rd-bt"},Wv={class:"rd-bv"},Kv={__name:"DashboardChartsRail",setup(e){const t=[{id:"charts",label:"Charts"},{id:"gospel",label:"Gospel Resources",disabled:!0,why:"Waiting on three decisions: the official lostness number, key-less vs a registered Joshua Project key, and the UI shape. See IDEA-GOSPEL-RESOURCES-INTEGRATION-STRATEGY."}],n=ue("charts"),o=Ee("dashboardData",null),r=Ee("selectionBus",null),s=Ee("dashboardConfig",{}),a=(r==null?void 0:r.filterSet)||{},i=Object.fromEntries(Object.entries(s.facets||{}).map(([v,C])=>[v,C.get])),l=Jo(r,Xo(s));function c(v){var f,g;const C=((f=o==null?void 0:o.rows)==null?void 0:f.value)||[],_=Object.keys(a).filter(k=>!v.includes(k)),d=!!(((g=r==null?void 0:r.searchTerm)==null?void 0:g.value)||"").trim();return!_.length&&!d?C:C.filter(k=>_.every($=>{const I=i[$];return I?I(k)===a[$]:!0})&&l(k))}const u=re(()=>{var _,d,f,g,k;const v=(d=(_=s.facets)==null?void 0:_.country_code)==null?void 0:d.get,C=(g=(f=s.facets)==null?void 0:f.wagf_region)==null?void 0:g.get;return!v||!C?null:Iy(((k=o==null?void 0:o.rows)==null?void 0:k.value)||[],v,C)}),p=re(()=>(s.charts||[]).map(v=>{var f,g;const C=((g=(f=s.facets)==null?void 0:f[v.facet])==null?void 0:g.get)||(k=>Xe(k[v.facet])),_=ja(c([v.facet]),C,v.topN),d=v.facet==="country_code"?u.value:null;return{id:v.id,type:v.type,facet:v.facet,title:v.title,geometry:v.type==="bar"?My(_,v.facet,d):Ny(_,132,.58,v.facet,d)}})),b=(v,C)=>a[v]===C,x=v=>a[v]!=null;function A(v,C){!C||C==="Other"||!r||r.setFilter(v,a[v]===C?null:C)}function y(v){const C=v.target&&v.target.closest&&v.target.closest("[data-facet]");C&&A(C.getAttribute("data-facet"),C.getAttribute("data-key"))}return Tt(` .rd-charts{ display:flex; flex-direction:column; gap:var(--s2,8px); height:100%; min-height:0; padding:6px 2px 6px 6px; background:var(--rd-panel,#fff); overflow-y:auto; overflow-x:hidden; box-sizing:border-box; @@ -578,7 +580,7 @@ .rd-bt{ flex:1 1 auto; height:11px; background:var(--dx-surface, #f3f3f1); border-radius:3px; overflow:hidden; } .rd-bf{ display:block; height:100%; border-radius:3px; transition:width .35s cubic-bezier(.4,0,.2,1); } .rd-bv{ flex:0 0 auto; color:var(--rd-muted, #6d766e); font-variant-numeric:tabular-nums; min-width:30px; text-align:right; } -`,"rd-charts"),(v,E)=>(Q(),ne("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[F("div",Lv,[(Q(),ne(Ae,null,Qe(t,_=>F("button",{key:_.id,class:Me(["rd-tab",{on:n.value===_.id,off:_.disabled}]),role:"tab",type:"button","aria-selected":n.value===_.id?"true":"false",disabled:_.disabled,title:_.disabled?_.why:_.label,"data-tab":_.id,onClick:to(d=>!_.disabled&&(n.value=_.id),["stop"])},fe(_.label),11,Pv)),64))]),(Q(!0),ne(Ae,null,Qe(p.value,_=>(Q(),ne(Ae,{key:_.id},[_.type==="donut"?(Q(),ne("div",{key:0,class:"rd-chart","data-chart":_.facet},[F("div",Mv,fe(_.title),1),F("div",Nv,[(Q(),ne("svg",{class:Me(["rd-donut",{"has-sel":x(_.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":_.title+" donut"},[(Q(!0),ne(Ae,null,Qe(_.geometry,d=>(Q(),ne("path",{key:d.key,d:d.path,fill:d.color,class:Me(["rd-slice",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("title",null,fe(d.key)+": "+fe(d.value)+" ("+fe(d.pct)+"%)",1)],10,Rv))),128))],10,Fv)),F("div",Ov,[(Q(!0),ne(Ae,null,Qe(_.geometry,d=>(Q(),ne("span",{key:d.key,class:Me(["rd-li",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key,title:d.key+": "+d.value},[F("i",{style:gt({background:d.color})},null,4),F("span",jv,fe(d.key),1),F("b",null,fe(d.value),1)],10,Dv))),128))])])],8,Iv)):(Q(),ne("div",{key:1,class:"rd-chart","data-chart":_.facet},[F("div",Bv,fe(_.title),1),F("div",Uv,[(Q(!0),ne(Ae,null,Qe(_.geometry,d=>(Q(),ne("div",{key:d.key,class:Me(["rd-bar",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("span",qv,fe(d.key),1),F("span",Vv,[F("span",{class:"rd-bf",style:gt({width:d.frac*100+"%",background:d.color})},null,4)]),F("span",Hv,fe(d.value),1)],10,Gv))),128))])],8,zv))],64))),128))]))}},Kv={class:"rd-detail","data-region":"detail-drawer"},Yv={class:"rd-dh"},Xv={key:0,class:"rd-empty","data-detail-empty":""},Jv={class:"rd-top"},Zv=["src","alt"],Qv={key:1,class:"rd-ph","data-detail-thumb":""},e0={class:"rd-name","data-detail-name":""},t0={class:"rd-meta"},n0={class:"rd-actions"},o0=["href","title"],r0=["href","title"],s0={class:"rd-rows"},a0={class:"rd-row"},i0={class:"v"},l0={key:0,class:"fam"},c0={class:"rd-row"},u0={class:"v"},d0={class:"rd-row"},f0={class:"v"},p0={class:"rd-row"},g0={class:"v"},h0={class:"rd-row"},m0={class:"v"},b0={class:"rd-row"},_0={class:"v"},y0={__name:"DashboardDetailDrawer",setup(e){const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("dashboardConfig",{}),r=Object.fromEntries(Object.entries(o.facets||{}).map(([f,g])=>[f,g.get])),{labelFor:s}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),a=t&&n?Na({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:r,labelFor:s}):null,i=ce(null),l=[];xt(()=>{n&&(l.push(n.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(n.on("select",f=>{const g=f?[...f]:[];g.length&&(i.value=g[g.length-1])})))}),Ot(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=re(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),p=re(()=>{const f=c.value;return f?o.detail&&typeof o.detail.photo=="function"?!!o.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=re(()=>o.detail||{});function x(f,g,k){if(typeof f=="function")try{return f(g)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(g.slug||"")):k}const A=re(()=>{const f=c.value;if(!f)return null;const g=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(g||b.value.utmSource||o.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return x(b.value.prayUrl,f,$)}),y=re(()=>{var S;const f=c.value;if(!f)return null;const g=typeof window<"u"&&((S=window.location)==null?void 0:S.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(k||b.value.utmSource||o.utmSource||"agwm")),M=`${g}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${$}`;return x(b.value.moreInfoUrl,f,M)}),v=re(()=>b.value.prayLabel||"Pray for this people group"),E=re(()=>b.value.moreInfoLabel||"More information");function _(){!a||!n||(!n.selectionSet.size&&i.value&&n.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,n&&typeof n.clearSelection=="function"&&n.clearSelection()}return Tt(` +`,"rd-charts"),(v,C)=>(ee(),te("aside",{class:"rd-charts","data-region":"charts-rail",onClick:y},[F("div",Pv,[(ee(),te(Ce,null,Qe(t,_=>F("button",{key:_.id,class:Ne(["rd-tab",{on:n.value===_.id,off:_.disabled}]),role:"tab",type:"button","aria-selected":n.value===_.id?"true":"false",disabled:_.disabled,title:_.disabled?_.why:_.label,"data-tab":_.id,onClick:to(d=>!_.disabled&&(n.value=_.id),["stop"])},fe(_.label),11,Iv)),64))]),(ee(!0),te(Ce,null,Qe(p.value,_=>(ee(),te(Ce,{key:_.id},[_.type==="donut"?(ee(),te("div",{key:0,class:"rd-chart","data-chart":_.facet},[F("div",Mv,fe(_.title),1),F("div",Fv,[(ee(),te("svg",{class:Ne(["rd-donut",{"has-sel":x(_.facet)}]),viewBox:"0 0 132 132",role:"img","aria-label":_.title+" donut"},[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("path",{key:d.key,d:d.path,fill:d.color,class:Ne(["rd-slice",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("title",null,fe(d.key)+": "+fe(d.value)+" ("+fe(d.pct)+"%)",1)],10,Ov))),128))],10,Rv)),F("div",Dv,[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("span",{key:d.key,class:Ne(["rd-li",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key,title:d.key+": "+d.value},[F("i",{style:gt({background:d.color})},null,4),F("span",zv,fe(d.key),1),F("b",null,fe(d.value),1)],10,jv))),128))])])],8,Nv)):(ee(),te("div",{key:1,class:"rd-chart","data-chart":_.facet},[F("div",Uv,fe(_.title),1),F("div",Gv,[(ee(!0),te(Ce,null,Qe(_.geometry,d=>(ee(),te("div",{key:d.key,class:Ne(["rd-bar",{on:b(_.facet,d.key)}]),"data-facet":_.facet,"data-key":d.key},[F("span",Vv,fe(d.key),1),F("span",Hv,[F("span",{class:"rd-bf",style:gt({width:d.frac*100+"%",background:d.color})},null,4)]),F("span",Wv,fe(d.value),1)],10,qv))),128))])],8,Bv))],64))),128))]))}},Yv={class:"rd-detail","data-region":"detail-drawer"},Xv={class:"rd-dh"},Jv={key:0,class:"rd-empty","data-detail-empty":""},Zv={class:"rd-top"},Qv=["src","alt"],e0={key:1,class:"rd-ph","data-detail-thumb":""},t0={class:"rd-name","data-detail-name":""},n0={class:"rd-meta"},o0={class:"rd-actions"},r0=["href","title"],s0=["href","title"],a0={class:"rd-rows"},i0={class:"rd-row"},l0={class:"v"},c0={key:0,class:"fam"},u0={class:"rd-row"},d0={class:"v"},f0={class:"rd-row"},p0={class:"v"},g0={class:"rd-row"},h0={class:"v"},m0={class:"rd-row"},b0={class:"v"},_0={class:"rd-row"},y0={class:"v"},v0={__name:"DashboardDetailDrawer",setup(e){const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("dashboardConfig",{}),r=Object.fromEntries(Object.entries(o.facets||{}).map(([f,g])=>[f,g.get])),{labelFor:s}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),a=t&&n?Ma({rowStore:t.rowStore,rows:t.rows,selectionSet:n.selectionSet,filterSet:n.filterSet,FACET_ACC:r,labelFor:s}):null,i=ue(null),l=[];xt(()=>{n&&(l.push(n.on("focusRow",f=>{f&&f.slug&&(i.value=f.slug)})),l.push(n.on("select",f=>{const g=f?[...f]:[];g.length&&(i.value=g[g.length-1])})))}),Ot(()=>{l.forEach(f=>{try{f()}catch{}}),l.length=0});const c=re(()=>{const f=i.value;return!f||!t||!t.rowStore||!t.rowStore.value?null:t.rowStore.value.get(f)||null}),u=f=>f==null||f===""?"—":Number(f).toLocaleString("en-US"),p=re(()=>{const f=c.value;return f?o.detail&&typeof o.detail.photo=="function"?!!o.detail.photo(f):!!(f.has_photo&&f.image_url):!1}),b=re(()=>o.detail||{});function x(f,g,k){if(typeof f=="function")try{return f(g)||k}catch{return k}return typeof f=="string"&&f?f.replace("{slug}",encodeURIComponent(g.slug||"")):k}const A=re(()=>{const f=c.value;if(!f)return null;const g=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),k=encodeURIComponent(String(g||b.value.utmSource||o.utmSource||"agwm")),$=`https://pray.doxa.life/${encodeURIComponent(f.slug||"")}?source=doxalife&utm_source=${k}`;return x(b.value.prayUrl,f,$)}),y=re(()=>{var S;const f=c.value;if(!f)return null;const g=typeof window<"u"&&((S=window.location)==null?void 0:S.origin)||"https://doxa.life",k=(()=>{try{return new URLSearchParams(window.location.search).get("utm_source")||""}catch{return""}})(),$=encodeURIComponent(String(k||b.value.utmSource||o.utmSource||"agwm")),I=`${g}/research/${encodeURIComponent(f.slug||"")}/?utm_source=${$}`;return x(b.value.moreInfoUrl,f,I)}),v=re(()=>b.value.prayLabel||"Pray for this people group"),C=re(()=>b.value.moreInfoLabel||"More information");function _(){!a||!n||(!n.selectionSet.size&&i.value&&n.toggleSelect(i.value),a.exportCsv())}function d(){i.value=null,n&&typeof n.clearSelection=="function"&&n.clearSelection()}return Tt(` .rd-detail{ box-sizing:border-box; background:var(--rd-panel,#fff); border-left:1px solid var(--rd-line, #d1d4cd); border-bottom:1px solid var(--rd-line, #d1d4cd); padding:var(--s3,12px); font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; color:var(--rd-ink, #3b463d); flex:0 0 auto; } @@ -617,7 +619,7 @@ .rd-detail .rd-act-info{ flex:0 1 auto; background:var(--rd-bg, #f3f3f1); color:var(--rd-ink, #3b463d); border:1px solid var(--rd-line, #d1d4cd); } .rd-detail .rd-act-info:hover{ background:var(--rd-panel,#fff); border-color:var(--rd-muted, #6d766e); } -`,"rd-detaildrawer"),(f,g)=>(Q(),ne("section",Kv,[F("div",Yv,[g[0]||(g[0]=F("span",null,"Detail",-1)),c.value?(Q(),ne("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):ze("",!0)]),c.value?(Q(),ne(Ae,{key:1},[F("div",Jv,[p.value?(Q(),ne("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Zv)):(Q(),ne("div",Qv,"No photo")),F("div",null,[F("div",e0,fe(c.value.name||"—"),1),F("div",t0,fe(pe(Ye)(c.value.country_code)||"—")+" · "+fe(pe(Ye)(c.value.religion)||"—"),1)])]),F("div",n0,[A.value?(Q(),ne("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),F("span",null,fe(v.value),1)],8,o0)):ze("",!0),y.value?(Q(),ne("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:E.value,"data-detail-moreinfo":""},[g[2]||(g[2]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),F("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("span",null,fe(E.value),1)],8,r0)):ze("",!0)]),F("div",s0,[F("div",a0,[g[3]||(g[3]=F("span",{class:"k"},"Language",-1)),F("span",i0,[nt(fe(pe(Ye)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(Q(),ne("span",l0," ("+fe(c.value.imb_language_family)+")",1)):ze("",!0)])]),F("div",c0,[g[4]||(g[4]=F("span",{class:"k"},"Population",-1)),F("span",u0,fe(u(c.value.population)),1)]),F("div",d0,[g[5]||(g[5]=F("span",{class:"k"},"People praying",-1)),F("span",f0,fe(u(c.value.people_praying)),1)]),F("div",p0,[g[6]||(g[6]=F("span",{class:"k"},"People committed",-1)),F("span",g0,fe(u(c.value.people_committed)),1)]),F("div",h0,[g[7]||(g[7]=F("span",{class:"k"},"Adopted by churches",-1)),F("span",m0,fe(u(c.value.adopted_by_churches)),1)]),F("div",b0,[g[8]||(g[8]=F("span",{class:"k"},"Engagement",-1)),F("span",_0,fe(pe(Ye)(c.value.engagement_status)||"—"),1)])]),F("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(Q(),ne("div",Xv,"Select a people group to see detail"))]))}},v0="rgba(120, 128, 134, 0.28)",zu="36px",Bu=()=>{};function w0(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return Bu;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return Bu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of o)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${v0} ${zu}, transparent ${zu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>o.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of o)l.has(_)||a(_)},b=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>b(),A=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const E=[];for(const _ of o){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),E.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of E)d();for(const d of o)a(d)}}const x0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function k0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=x0[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const ho={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Uu(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const $0=ho.mapbox.css,S0="https://tiles.openfreemap.org/styles/liberty";function za(e){var n;const t=((n=ho[e])==null?void 0:n.global)||ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function E0(e){const t=ho[e]||ho.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(za(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function A0(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=a=>new Promise(i=>setTimeout(i,a)),r=n.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),n.prepend(s)}),o(2e3)])}function C0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:S0}const T0=85.0511,Gu=-2,L0=0,P0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function I0(e,t,n,o){if(!e||e<=0||!t||t<=0)return L0;const r=Math.log2(e/512),s=qu(o)-qu(T0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Gu,Math.min(i,(n??18)-1))}function M0({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:b=!0,southCutoff:x=P0,maxBounds:A=void 0}){const y=So(null),v=ce(!1);let E=null,_=null,d=null;const f=r==="maplibre";async function g(){var z;const M=k0(n,r).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await E0(r);const S=za(r);if(!S){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await A0(e.value,f?ho.maplibre.css:$0),await new Promise(Y=>requestAnimationFrame(Y));const O=e.value,q=O.clientWidth,J=O.clientHeight;if(q===0||J===0){console.error(`[useMapInstance] Container has ZERO dimensions (${q}×${J}). Map will be invisible. Check that parent elements have CSS sizing.`);let Y=O.parentElement,ee=0;for(;Y&&ee<5;)Y=Y.parentElement,ee++}const he=t;f||(S.accessToken=he);const B=()=>typeof window<"u"&&window.innerWidth>=1024,H=(Y,ee)=>{if(!B())return Gu;const K=I0(Y,ee,l,x);return typeof i=="number"?Math.max(i,K):K},L=H(O.clientWidth,O.clientHeight);if(f){y.value=new S.Map({container:e.value,style:C0(M),center:s,zoom:a,minZoom:L,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const Y=typeof o=="function"?o():o;y.value=new S.Map({accessToken:he,container:e.value,style:M,...Y?{config:Y}:{},center:s,zoom:a,minZoom:L,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let Y=!1;y.value.on("error",ee=>{var ge,Ce;const K=((ge=ee==null?void 0:ee.error)==null?void 0:ge.status)??(ee==null?void 0:ee.status),ue=String(((Ce=ee==null?void 0:ee.error)==null?void 0:Ce.url)||(ee==null?void 0:ee.sourceId)||"");K!==401&&K!==403||Y||(Y=!0,console.error(`[doxa-maps] Mapbox returned ${K} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(ue?` First failing request: ${ue.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=w0(((z=e.value)==null?void 0:z.parentElement)||null,{enabled:b});let T=L,R=null;E=()=>{const Y=y.value;if(!Y)return;const ee=H(O.clientWidth,O.clientHeight);ee!==T&&(T=ee,Y.setMinZoom(ee)),Y.getZoom(){R=null;const K=y.value;if(!K)return;const ue=H(O.clientWidth,O.clientHeight);if(K.getZoom(){R&&(clearTimeout(R),R=null)},y.value.on("resize",E),typeof window<"u"&&(window.addEventListener("resize",E),window.addEventListener("orientationchange",E)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var Y;(Y=y.value)==null||Y.resize(),y.value&&y.value.setMinZoom(H(O.clientWidth,O.clientHeight)),v.value=!0})})}function k(){if(y.value){if(E&&(y.value.off("resize",E),typeof window<"u"&&(window.removeEventListener("resize",E),window.removeEventListener("orientationchange",E)),E=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const N0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function F0(e){return N0[e]||null}const mo={center:[20,10],zoom:1.8};function R0(e={}){const{getMap:t=()=>null,mapId:n="unknown",mapStore:o=null,regionsGeoData:r=null,defaultCenter:s=(mo==null?void 0:mo.center)||[20,10],defaultZoom:a=mo==null?void 0:mo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(B,H,L={x:150,y:0}){const T=t();if(!T)return B;try{const R=T.getCanvas(),z=R.width,Y=R.height,ee=T.project(B),K=window.devicePixelRatio||1,ue=(L.x||0)*K,ge=(L.y||0)*K,Ce={x:ee.x-ue,y:ee.y-ge},_e=T.unproject(Ce);return[_e.lng,_e.lat]}catch{return B}}function c(B,H=[]){const L=t();if(!L)return;let T=null,R=5;const z=H.filter(ee=>ee.languageFamily===B);if(z.length>0){let ee=1/0,K=-1/0,ue=1/0,ge=-1/0;if(z.forEach(Ce=>{Ce.longitude&&Ce.latitude&&(ee=Math.min(ee,Ce.longitude),K=Math.max(K,Ce.longitude),ue=Math.min(ue,Ce.latitude),ge=Math.max(ge,Ce.latitude))}),ee!==1/0){T=[(ee+K)/2,(ue+ge)/2];const Ce=K-ee,_e=ge-ue,Te=Math.max(Ce,_e);Te>50?R=2:Te>20?R=3:Te>10?R=4:Te>5?R=5:R=6}}if(!T)return;const Y=l(T);L.flyTo({center:Y,zoom:R,...i})}function u(B){const H=t();if(!H)return;let L=null,T=4;const R=F0(B);if(R)L=R.center,T=R.zoom||4;else if(r!=null&&r.features){const Y=r.features.find(ee=>{var K,ue;return((K=ee.properties)==null?void 0:K.region)===B||((ue=ee.properties)==null?void 0:ue.name)===B});Y&&(L=p(Y))}if(!L)return;const z=l(L);H.flyTo({center:z,zoom:T,...i})}function p(B){if(!B||!B.geometry)return null;const{type:H,coordinates:L}=B.geometry;let T=[];if(H==="Polygon"?T=L[0]||[]:H==="MultiPolygon"&&L.forEach(Y=>{T=T.concat(Y[0]||[])}),T.length===0)return null;let R=0,z=0;return T.forEach(Y=>{R+=Y[0],z+=Y[1]}),[R/T.length,z/T.length]}function b(B,H={}){const L=t();if(!L)return;const T={center:B,...i,...H};L.flyTo(T)}function x(B,H){const L=t();if(!L||(B==null?void 0:B.longitude)==null||(B==null?void 0:B.latitude)==null)return;const T=H??Math.min(L.getZoom()+2,8);b([B.longitude,B.latitude],{zoom:T})}function A(B,H={top:40,right:40,bottom:40,left:40},L={}){const T=t();if(!T||!B)return;const R=L.maxZoom??4,z=L.duration??900;T.fitBounds(B,{padding:H,maxZoom:R,duration:z,...i,...L})}function y(){const B=t();B&&B.flyTo({center:s,zoom:a,...i})}const v=80,E=800,_=5,d=5,f=110,g=1.2;function k(B){const H=B.filter(Number.isFinite).slice().sort((w,I)=>w-I),L=H.length;if(!L)return null;let T=-1,R=0;for(let w=0;wT&&(T=C,R=w)}const z=(R+1)%L,Y=new Array(L);for(let w=0;w0&&I((w+180)%360+360)%360-180,_e=Ce(ue),Te=24,Xe=360/Te,Je=new Array(Te).fill(0);for(const w of H){let I=Math.floor(((w+180)%360+360)%360/Xe);I>=Te&&(I=Te-1),Je[I]++}let Ue=0;for(let w=1;wJe[Ue]&&(Ue=w);return{center:Ce(-180+(Ue+.5)*Xe),minLng:_e,maxLng:_e+(ge-ue),span:ge-ue}}function $(B){try{const H=B.getContainer&&B.getContainer().clientWidth||0,L=H>0?Math.log2(H/512):g,T=typeof B.getMinZoom=="function"?B.getMinZoom():L;return Math.max(T,L)}catch{return g}}function M(B,H,L,T){B.easeTo({center:[H,(L+T)/2],zoom:$(B),duration:E,essential:!0})}function S(B,H,L){if(L>f)return!0;try{const T=typeof B.cameraForBounds=="function"?B.cameraForBounds(H,{padding:v,maxZoom:_}):null;return T==null?!0:typeof T.zoom=="number"&&T.zoom<=$(B)+.05}catch{return!1}}function O(B,H){if(!Array.isArray(B))return B;switch(B[0]){case"get":return H==null?void 0:H[B[1]];case"literal":return B[1];case"has":return H!=null&&B[1]in H;case"!has":return H==null||!(B[1]in H);case"!":return!O(B[1],H);case"coalesce":{for(let T=1;T2){const z=Number(O(B[2],H));return Number.isFinite(z)?z:0}return NaN}case"to-string":{const T=O(B[1],H);return T==null?"":String(T)}case"to-boolean":return!!O(B[1],H);case"slice":{const T=O(B[1],H),R=O(B[2],H),z=B.length>3?O(B[3],H):void 0;return typeof T!="string"?"":z!=null?T.slice(R,z):T.slice(R)}default:return B}}function q(B,H){if(B===!0)return!0;if(B===!1)return!1;if(!Array.isArray(B))return!!B;const L=B[0];if(L==="all"){for(let T=1;T"||L===">="||L==="<"||L==="<="){const T=typeof B[1]=="string"?H==null?void 0:H[B[1]]:O(B[1],H),R=O(B[2],H);switch(L){case"==":return T===R||T==null&&R==null;case"!=":return!(T===R||T==null&&R==null);case">":return T>R;case">=":return T>=R;case"<":return T{const U=(C==null?void 0:C.properties)||{};return U.region===w||U.name===w||U.id===w});if(I){const C=[];let U=1/0,V=-1/0;const Z=se=>{for(const h of se)Array.isArray(h[0])?Z(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(C.push(h[0]),h[1]V&&(V=h[1]))};(Je=I.geometry)!=null&&Je.coordinates&&Z(I.geometry.coordinates);const ae=k(C);if(ae&&Number.isFinite(U)){const se=[[ae.minLng,U],[ae.maxLng,V]];S(L,se,ae.span)?M(L,ae.center,U,V):L.fitBounds(se,{padding:v,maxZoom:_,duration:E,essential:!0});return}}}const T=H.sourceId??"language-families";if(!L.getSource(T))return;const R=H.matchExpr??B.filter;if(!R)return;const z=J(L,T);if(!z.length)return;const Y=[];let ee=1/0,K=-1/0,ue=0,ge=0,Ce=0;const _e=new Set;for(const rt of z){const w=rt==null?void 0:rt.properties;if(!q(R,w))continue;const I=w==null?void 0:w.uniqueId;if(I!=null){if(_e.has(I))continue;_e.add(I)}const C=(Ue=rt.geometry)==null?void 0:Ue.coordinates;if(!Array.isArray(C)||C.length<2)continue;const U=C[0],V=C[1];!Number.isFinite(U)||!Number.isFinite(V)||(ue===0&&(ge=U,Ce=V),Y.push(U),VK&&(K=V),ue++)}if(ue===0)return;if(ue===1){L.flyTo({center:[ge,Ce],zoom:d,duration:E,essential:!0});return}const Te=k(Y)||{center:0,minLng:0,maxLng:0,span:0},Xe=[[Te.minLng,ee],[Te.maxLng,K]];if(S(L,Xe,Te.span)){M(L,Te.center,ee,K);return}try{L.fitBounds(Xe,{padding:v,maxZoom:_,duration:E,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:x,fitBounds:A,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const O0=150,D0=1200,j0=70,z0=5.5,B0=6,Vu=.01,U0=110,G0=1.45;function q0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function V0(e){if(!e)return null;const t=Number(e.longitude),n=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(n)||t===0&&n===0||n<-90||n>90||t<-180||t>180?null:[t,n]}function H0(e){let t=1/0,n=-1/0,o=1/0,r=-1/0;for(const i of e){in&&(n=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=n-t,a=r-o;if(a180?o-360:o;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:n,span:s}}function W0(e,t){if(!e||!e.size||!t)return null;const n=[];let o=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=V0(t.get(l));c&&(a===0&&(s=c),n.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=H0(n);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=W0(e.selectionSet,n&&n());if(!c)return;const u=q0()?0:D0;try{if(c.kind==="point"){o.flyTo(c.center,{zoom:B0,duration:u,essential:!0});return}if(c.span>U0){o.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:G0,duration:u,essential:!0});return}o.fitBounds(c.bounds,j0,{maxZoom:z0,duration:u,essential:!0})}catch{}}const i=mt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,O0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const Y0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ce(null);return ut("mapToolbar",{el:t}),Tt(` +`,"rd-detaildrawer"),(f,g)=>(ee(),te("section",Yv,[F("div",Xv,[g[0]||(g[0]=F("span",null,"Detail",-1)),c.value?(ee(),te("button",{key:0,class:"rd-detail-close",type:"button","aria-label":"Close detail","data-detail-close":"",onClick:d},"✕")):Be("",!0)]),c.value?(ee(),te(Ce,{key:1},[F("div",Zv,[p.value?(ee(),te("img",{key:0,class:"rd-thumb",src:c.value.image_url,alt:c.value.name,"data-detail-thumb":""},null,8,Qv)):(ee(),te("div",e0,"No photo")),F("div",null,[F("div",t0,fe(c.value.name||"—"),1),F("div",n0,fe(pe(Xe)(c.value.country_code)||"—")+" · "+fe(pe(Xe)(c.value.religion)||"—"),1)])]),F("div",o0,[A.value?(ee(),te("a",{key:0,class:"rd-act rd-act-pray",href:A.value,target:"_blank",rel:"noopener",title:v.value,"data-detail-pray":""},[g[1]||(g[1]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),F("span",null,fe(v.value),1)],8,r0)):Be("",!0),y.value?(ee(),te("a",{key:1,class:"rd-act rd-act-info",href:y.value,target:"_blank",rel:"noopener",title:C.value,"data-detail-moreinfo":""},[g[2]||(g[2]=F("svg",{width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true"},[F("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),F("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),F("span",null,fe(C.value),1)],8,s0)):Be("",!0)]),F("div",a0,[F("div",i0,[g[3]||(g[3]=F("span",{class:"k"},"Language",-1)),F("span",l0,[nt(fe(pe(Xe)(c.value.primary_language)||"—"),1),c.value.imb_language_family?(ee(),te("span",c0," ("+fe(c.value.imb_language_family)+")",1)):Be("",!0)])]),F("div",u0,[g[4]||(g[4]=F("span",{class:"k"},"Population",-1)),F("span",d0,fe(u(c.value.population)),1)]),F("div",f0,[g[5]||(g[5]=F("span",{class:"k"},"People praying",-1)),F("span",p0,fe(u(c.value.people_praying)),1)]),F("div",g0,[g[6]||(g[6]=F("span",{class:"k"},"People committed",-1)),F("span",h0,fe(u(c.value.people_committed)),1)]),F("div",m0,[g[7]||(g[7]=F("span",{class:"k"},"Adopted by churches",-1)),F("span",b0,fe(u(c.value.adopted_by_churches)),1)]),F("div",_0,[g[8]||(g[8]=F("span",{class:"k"},"Engagement",-1)),F("span",y0,fe(pe(Xe)(c.value.engagement_status)||"—"),1)])]),F("button",{class:"rd-exp",type:"button","data-detail-export":"",onClick:_},"Export this selection ↓")],64)):(ee(),te("div",Jv,"Select a people group to see detail"))]))}},w0="rgba(120, 128, 134, 0.28)",zu="36px",Bu=()=>{};function x0(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return Bu;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return Bu;const r=_=>_.classList.contains("map-scroll-edge--left");for(const _ of o)_.style.background=`linear-gradient(${r(_)?"to right":"to left"}, ${w0} ${zu}, transparent ${zu})`,_.style.opacity="0",_.style.transition="opacity 0.16s ease",_.style.userSelect="none",_.style.webkitUserSelect="none";const s=_=>{_.style.opacity="1"},a=_=>{_.style.opacity="0"},i=()=>o.find(_=>!r(_))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const _ of o)l.has(_)||a(_)},b=()=>{const _=i();_&&(s(_),u&&clearTimeout(u),u=setTimeout(p,250))},x=()=>b(),A=_=>{if(!(_.touches&&_.touches.length===1))return;const d=_.target;d&&d.classList&&d.classList.contains("map-scroll-edge")||b()},y=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",x,{passive:!0}),e.addEventListener("touchmove",A,{passive:!0}),e.addEventListener("touchend",y,{passive:!0}),e.addEventListener("touchcancel",y,{passive:!0});const v=()=>{c||b()};typeof window<"u"&&window.addEventListener("scroll",v,{passive:!0});const C=[];for(const _ of o){const d=()=>{l.add(_),s(_)},f=()=>{l.delete(_),a(_)},g=()=>{c=!0,s(_)},k=()=>{c=!1,a(_)};_.addEventListener("mouseenter",d),_.addEventListener("mouseleave",f),_.addEventListener("touchstart",g,{passive:!0}),_.addEventListener("touchend",k,{passive:!0}),C.push(()=>{_.removeEventListener("mouseenter",d),_.removeEventListener("mouseleave",f),_.removeEventListener("touchstart",g),_.removeEventListener("touchend",k)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",x),e.removeEventListener("touchmove",A),e.removeEventListener("touchend",y),e.removeEventListener("touchcancel",y),typeof window<"u"&&window.removeEventListener("scroll",v);for(const d of C)d();for(const d of o)a(d)}}const k0=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["research-dashboard"]}].map(e=>[e.id,e]));function $0(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0};const n=k0[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0}:{style:n.mapbox,lightPreset:n.lightPreset}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0}:{style:void 0,lightPreset:void 0}}const ho={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function Uu(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const S0=ho.mapbox.css,E0="https://tiles.openfreemap.org/styles/liberty";function za(e){var n;const t=((n=ho[e])==null?void 0:n.global)||ho.mapbox.global;return typeof window<"u"?window[t]:void 0}async function A0(e){const t=ho[e]||ho.mapbox;if(za(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(za(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,r)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>r(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function C0(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=a=>new Promise(i=>setTimeout(i,a)),r=n.querySelector(`link[href="${t}"]`);if(r){if(r.sheet)return;await Promise.race([new Promise(a=>{r.addEventListener("load",a,{once:!0}),r.addEventListener("error",a,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(a=>{s.addEventListener("load",a,{once:!0}),s.addEventListener("error",a,{once:!0}),n.prepend(s)}),o(2e3)])}function T0(e){return typeof e=="string"&&/^https?:\/\//.test(e)?e:E0}const L0=85.0511,Gu=-2,P0=0,I0=-60;function qu(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function N0(e,t,n,o){if(!e||e<=0||!t||t<=0)return P0;const r=Math.log2(e/512),s=qu(o)-qu(L0),a=Math.log2(t/(512*s)),i=Math.max(r,a);return Math.max(Gu,Math.min(i,(n??18)-1))}function M0({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:r="mapbox",center:s=[20,10],zoom:a=2,minZoom:i=void 0,maxZoom:l=18,pitch:c=0,bearing:u=0,renderWorldCopies:p=!0,showEdgeBorders:b=!0,southCutoff:x=I0,maxBounds:A=void 0}){const y=So(null),v=ue(!1);let C=null,_=null,d=null;const f=r==="maplibre";async function g(){var X;const I=$0(n,r).style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await A0(r);const S=za(r);if(!S){console.error(`[useMapInstance] ${f?"maplibregl":"mapboxgl"} is not available. Add the ${f?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!f){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await C0(e.value,f?ho.maplibre.css:S0),await new Promise(j=>requestAnimationFrame(j));const R=e.value,V=R.clientWidth,Z=R.clientHeight;if(V===0||Z===0){console.error(`[useMapInstance] Container has ZERO dimensions (${V}×${Z}). Map will be invisible. Check that parent elements have CSS sizing.`);let j=R.parentElement,q=0;for(;j&&q<5;)j=j.parentElement,q++}const he=t;f||(S.accessToken=he);const z=()=>typeof window<"u"&&window.innerWidth>=1024,Y=(j,q)=>{if(!z())return Gu;const W=N0(j,q,l,x);return typeof i=="number"?Math.max(i,W):W},B=Y(R.clientWidth,R.clientHeight);if(f){y.value=new S.Map({container:e.value,style:T0(I),center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}else{const j=typeof o=="function"?o():o;y.value=new S.Map({accessToken:he,container:e.value,style:I,...j?{config:j}:{},center:s,zoom:a,minZoom:B,maxZoom:l,pitch:c,bearing:u,dragRotate:!1,touchPitch:!1,renderWorldCopies:p,...A?{maxBounds:A}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),Uu(y.value);try{e.value.__doxaMap=y.value}catch{}}try{let j=!1;y.value.on("error",q=>{var ge,Se;const W=((ge=q==null?void 0:q.error)==null?void 0:ge.status)??(q==null?void 0:q.status),le=String(((Se=q==null?void 0:q.error)==null?void 0:Se.url)||(q==null?void 0:q.sourceId)||"");W!==401&&W!==403||j||(j=!0,console.error(`[doxa-maps] Mapbox returned ${W} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(le?` First failing request: ${le.slice(0,120)}`:"")))})}catch{}try{y.value.touchZoomRotate.disableRotation()}catch{}d=x0(((X=e.value)==null?void 0:X.parentElement)||null,{enabled:b});let E=B,N=null;C=()=>{const j=y.value;if(!j)return;const q=Y(R.clientWidth,R.clientHeight);q!==E&&(E=q,j.setMinZoom(q)),j.getZoom(){N=null;const W=y.value;if(!W)return;const le=Y(R.clientWidth,R.clientHeight);if(W.getZoom(){N&&(clearTimeout(N),N=null)},y.value.on("resize",C),typeof window<"u"&&(window.addEventListener("resize",C),window.addEventListener("orientationchange",C)),y.value.on("style.load",()=>{requestAnimationFrame(()=>{var j;(j=y.value)==null||j.resize(),y.value&&y.value.setMinZoom(Y(R.clientWidth,R.clientHeight)),v.value=!0})})}function k(){if(y.value){if(C&&(y.value.off("resize",C),typeof window<"u"&&(window.removeEventListener("resize",C),window.removeEventListener("orientationchange",C)),C=null),_){try{_()}catch{}_=null}d&&(d(),d=null),y.value.remove(),y.value=null,v.value=!1}}return{map:y,isMapReady:v,initializeMap:g,destroy:k}}const F0={Africa:{zoom:1.3,center:[16.6512,26.3538]},Asia:{zoom:.8,center:[98.2654,49.9282]},Europe:{zoom:1.4,center:[22.7826,70.1026]},"Latin America & Caribbean":{zoom:1.8,center:[-60.4619,10.1428]},"Middle East":{zoom:1.7,center:[22.9056,39.5752]},"No WAGF Region/Bloc":{zoom:.6,center:[-8.2363,44.2392]},"North America & Non-Spanish Caribbean":{zoom:2.1,center:[-68.1935,31.4282]},Oceania:{zoom:1.5,center:[161.6257,-.668]}};function R0(e){return F0[e]||null}const mo={center:[20,10],zoom:1.8};function O0(e={}){const{getMap:t=()=>null,mapId:n="unknown",mapStore:o=null,regionsGeoData:r=null,defaultCenter:s=(mo==null?void 0:mo.center)||[20,10],defaultZoom:a=mo==null?void 0:mo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(z,Y,B={x:150,y:0}){const E=t();if(!E)return z;try{const N=E.getCanvas(),X=N.width,j=N.height,q=E.project(z),W=window.devicePixelRatio||1,le=(B.x||0)*W,ge=(B.y||0)*W,Se={x:q.x-le,y:q.y-ge},Ie=E.unproject(Se);return[Ie.lng,Ie.lat]}catch{return z}}function c(z,Y=[]){const B=t();if(!B)return;let E=null,N=5;const X=Y.filter(q=>q.languageFamily===z);if(X.length>0){let q=1/0,W=-1/0,le=1/0,ge=-1/0;if(X.forEach(Se=>{Se.longitude&&Se.latitude&&(q=Math.min(q,Se.longitude),W=Math.max(W,Se.longitude),le=Math.min(le,Se.latitude),ge=Math.max(ge,Se.latitude))}),q!==1/0){E=[(q+W)/2,(le+ge)/2];const Se=W-q,Ie=ge-le,be=Math.max(Se,Ie);be>50?N=2:be>20?N=3:be>10?N=4:be>5?N=5:N=6}}if(!E)return;const j=l(E);B.flyTo({center:j,zoom:N,...i})}function u(z){const Y=t();if(!Y)return;let B=null,E=4;const N=R0(z);if(N)B=N.center,E=N.zoom||4;else if(r!=null&&r.features){const j=r.features.find(q=>{var W,le;return((W=q.properties)==null?void 0:W.region)===z||((le=q.properties)==null?void 0:le.name)===z});j&&(B=p(j))}if(!B)return;const X=l(B);Y.flyTo({center:X,zoom:E,...i})}function p(z){if(!z||!z.geometry)return null;const{type:Y,coordinates:B}=z.geometry;let E=[];if(Y==="Polygon"?E=B[0]||[]:Y==="MultiPolygon"&&B.forEach(j=>{E=E.concat(j[0]||[])}),E.length===0)return null;let N=0,X=0;return E.forEach(j=>{N+=j[0],X+=j[1]}),[N/E.length,X/E.length]}function b(z,Y={}){const B=t();if(!B)return;const E={center:z,...i,...Y};B.flyTo(E)}function x(z,Y){const B=t();if(!B||(z==null?void 0:z.longitude)==null||(z==null?void 0:z.latitude)==null)return;const E=Y??Math.min(B.getZoom()+2,8);b([z.longitude,z.latitude],{zoom:E})}function A(z,Y={top:40,right:40,bottom:40,left:40},B={}){const E=t();if(!E||!z)return;const N=B.maxZoom??4,X=B.duration??900;E.fitBounds(z,{padding:Y,maxZoom:N,duration:X,...i,...B})}function y(){const z=t();z&&z.flyTo({center:s,zoom:a,...i})}const v=80,C=800,_=5,d=5,f=110,g=1.2;function k(z){const Y=z.filter(Number.isFinite).slice().sort((w,P)=>w-P),B=Y.length;if(!B)return null;let E=-1,N=0;for(let w=0;wE&&(E=T,N=w)}const X=(N+1)%B,j=new Array(B);for(let w=0;w0&&P((w+180)%360+360)%360-180,Ie=Se(le),be=24,Ge=360/be,Je=new Array(be).fill(0);for(const w of Y){let P=Math.floor(((w+180)%360+360)%360/Ge);P>=be&&(P=be-1),Je[P]++}let Fe=0;for(let w=1;wJe[Fe]&&(Fe=w);return{center:Se(-180+(Fe+.5)*Ge),minLng:Ie,maxLng:Ie+(ge-le),span:ge-le}}function $(z){try{const Y=z.getContainer&&z.getContainer().clientWidth||0,B=Y>0?Math.log2(Y/512):g,E=typeof z.getMinZoom=="function"?z.getMinZoom():B;return Math.max(E,B)}catch{return g}}function I(z,Y,B,E){z.easeTo({center:[Y,(B+E)/2],zoom:$(z),duration:C,essential:!0})}function S(z,Y,B){if(B>f)return!0;try{const E=typeof z.cameraForBounds=="function"?z.cameraForBounds(Y,{padding:v,maxZoom:_}):null;return E==null?!0:typeof E.zoom=="number"&&E.zoom<=$(z)+.05}catch{return!1}}function R(z,Y){if(!Array.isArray(z))return z;switch(z[0]){case"get":return Y==null?void 0:Y[z[1]];case"literal":return z[1];case"has":return Y!=null&&z[1]in Y;case"!has":return Y==null||!(z[1]in Y);case"!":return!R(z[1],Y);case"coalesce":{for(let E=1;E2){const X=Number(R(z[2],Y));return Number.isFinite(X)?X:0}return NaN}case"to-string":{const E=R(z[1],Y);return E==null?"":String(E)}case"to-boolean":return!!R(z[1],Y);case"slice":{const E=R(z[1],Y),N=R(z[2],Y),X=z.length>3?R(z[3],Y):void 0;return typeof E!="string"?"":X!=null?E.slice(N,X):E.slice(N)}default:return z}}function V(z,Y){if(z===!0)return!0;if(z===!1)return!1;if(!Array.isArray(z))return!!z;const B=z[0];if(B==="all"){for(let E=1;E"||B===">="||B==="<"||B==="<="){const E=typeof z[1]=="string"?Y==null?void 0:Y[z[1]]:R(z[1],Y),N=R(z[2],Y);switch(B){case"==":return E===N||E==null&&N==null;case"!=":return!(E===N||E==null&&N==null);case">":return E>N;case">=":return E>=N;case"<":return E{const U=(T==null?void 0:T.properties)||{};return U.region===w||U.name===w||U.id===w});if(P){const T=[];let U=1/0,H=-1/0;const Q=se=>{for(const h of se)Array.isArray(h[0])?Q(h):Number.isFinite(h[0])&&Number.isFinite(h[1])&&(T.push(h[0]),h[1]H&&(H=h[1]))};(Je=P.geometry)!=null&&Je.coordinates&&Q(P.geometry.coordinates);const ae=k(T);if(ae&&Number.isFinite(U)){const se=[[ae.minLng,U],[ae.maxLng,H]];S(B,se,ae.span)?I(B,ae.center,U,H):B.fitBounds(se,{padding:v,maxZoom:_,duration:C,essential:!0});return}}}const E=Y.sourceId??"language-families";if(!B.getSource(E))return;const N=Y.matchExpr??z.filter;if(!N)return;const X=Z(B,E);if(!X.length)return;const j=[];let q=1/0,W=-1/0,le=0,ge=0,Se=0;const Ie=new Set;for(const rt of X){const w=rt==null?void 0:rt.properties;if(!V(N,w))continue;const P=w==null?void 0:w.uniqueId;if(P!=null){if(Ie.has(P))continue;Ie.add(P)}const T=(Fe=rt.geometry)==null?void 0:Fe.coordinates;if(!Array.isArray(T)||T.length<2)continue;const U=T[0],H=T[1];!Number.isFinite(U)||!Number.isFinite(H)||(le===0&&(ge=U,Se=H),j.push(U),HW&&(W=H),le++)}if(le===0)return;if(le===1){B.flyTo({center:[ge,Se],zoom:d,duration:C,essential:!0});return}const be=k(j)||{center:0,minLng:0,maxLng:0,span:0},Ge=[[be.minLng,q],[be.maxLng,W]];if(S(B,Ge,be.span)){I(B,be.center,q,W);return}try{B.fitBounds(Ge,{padding:v,maxZoom:_,duration:C,essential:!0})}catch{}}return{getOffsetCenter:l,slowFlyToFamily:c,slowFlyToRegion:u,flyTo:b,flyToCoords:x,fitBounds:A,resetView:y,zoomToLegendRow:he,calculateRegionCenterFromPolygon:p}}const D0=150,j0=1200,z0=70,B0=5.5,U0=6,Vu=.01,G0=110,q0=1.45;function V0(){try{return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}}function H0(e){if(!e)return null;const t=Number(e.longitude),n=Number(e.latitude);return!Number.isFinite(t)||!Number.isFinite(n)||t===0&&n===0||n<-90||n>90||t<-180||t>180?null:[t,n]}function W0(e){let t=1/0,n=-1/0,o=1/0,r=-1/0;for(const i of e){in&&(n=i);const l=i<0?i+360:i;lr&&(r=l)}if(!Number.isFinite(t))return null;const s=n-t,a=r-o;if(a180?o-360:o;return{minLng:i,maxLng:i+a,span:a}}return{minLng:t,maxLng:n,span:s}}function K0(e,t){if(!e||!e.size||!t)return null;const n=[];let o=1/0,r=-1/0,s=null,a=0;for(const l of e){const c=H0(t.get(l));c&&(a===0&&(s=c),n.push(c[0]),c[1]r&&(r=c[1]),a++)}if(a===0)return null;if(a===1)return{kind:"point",center:s};const i=W0(n);return i?i.span!0}){if(!e||!e.selectionVersion)return()=>{};let s=null;function a(){if(s=null,!(t&&t())||!r())return;const c=K0(e.selectionSet,n&&n());if(!c)return;const u=V0()?0:j0;try{if(c.kind==="point"){o.flyTo(c.center,{zoom:U0,duration:u,essential:!0});return}if(c.span>G0){o.flyTo([(c.bounds[0][0]+c.bounds[1][0])/2,(c.bounds[0][1]+c.bounds[1][1])/2],{zoom:q0,duration:u,essential:!0});return}o.fitBounds(c.bounds,z0,{maxZoom:B0,duration:u,essential:!0})}catch{}}const i=mt(()=>e.selectionVersion.value,()=>{s&&clearTimeout(s),s=setTimeout(a,D0)});return function(){s&&(clearTimeout(s),s=null);try{i()}catch{}}}const X0={__name:"MapToolbar",props:{hasGeocoder:{type:Boolean,default:!0}},setup(e){const t=ue(null);return ut("mapToolbar",{el:t}),Tt(` .map-toolbar { position: absolute; top: 6px; @@ -634,7 +636,7 @@ .map-toolbar { top: 72px; gap: 6px; } .map-toolbar.map-toolbar--no-geocoder { top: 6px; gap: 6px; } } -`,"map-toolbar"),(n,o)=>(Q(),ne("div",{ref_key:"toolbarEl",ref:t,class:Me(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ps(n.$slots,"default")],2))}},X0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomIn()}return(r,s)=>(Q(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomIn"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},J0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomOut()}return(r,s)=>(Q(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomOut"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Z0=["data-projection"],Q0={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Hu=2,ew="prayer_level",tw=.1,nw=12,ow={__name:"DashboardMapPanel",setup(e){var Qo,er,Ku,Yu,Xu,Ju,Zu,Qu,ed;const t=Se("dashboardData",null),n=Se("selectionBus",null),o=Se("mapboxToken",ce("")),r=Se("dashboardConfig",{}),s=(n==null?void 0:n.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([N,W])=>[N,W.get])),i=Jo(n,Xo(r)),l=re(()=>{var be,ke;const N=((be=t==null?void 0:t.rows)==null?void 0:be.value)||[],W=Object.keys(s),ie=!!(((ke=n==null?void 0:n.searchTerm)==null?void 0:ke.value)||"").trim();return!W.length&&!ie?N:N.filter(Re=>W.every(Pe=>{const ye=a[Pe];return ye?ye(Re)===s[Pe]:!0})&&i(Re))}),c=((Qo=r.map)==null?void 0:Qo.geoFacet)||"country_code",u=((Ku=(er=r.facets)==null?void 0:er[c])==null?void 0:Ku.geoIso)||(N=>{const W=N[c];return W&&W.value?W.value:null}),p=a[c]||(N=>Ye(N[c])),b=re(()=>{var W;const N=new Map;for(const ie of((W=t==null?void 0:t.rows)==null?void 0:W.value)||[]){const be=u(ie);be&&N.set(be,p(ie)||be)}return N}),x=re(()=>{const N=new Map;for(const W of l.value){const ie=u(W);ie&&N.set(ie,(N.get(ie)||0)+1)}return N}),A=ce(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:E,initializeMap:_,destroy:d}=M0({containerRef:A,accessToken:pe(o)||o&&o.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Yu=r.map)!=null&&Yu.mapStyle||r.mapStyle?{style:((Xu=r.map)==null?void 0:Xu.mapStyle)||r.mapStyle}:{}}),f=R0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=K0({bus:n,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var N;return(N=t==null?void 0:t.rowStore)==null?void 0:N.value},isEnabled:()=>E.value});let k=!1,$=null,M=null,S=null,O=0,q=!1;function J(){q||O||(O=requestAnimationFrame(()=>{O=0;const N=v.value;if(N&&typeof N.resize=="function")try{N.resize()}catch{}}))}function he(N){const W=!!N;if(W!==q){if(q=W,q){O&&(cancelAnimationFrame(O),O=0);return}J(),setTimeout(J,180)}}const B=["#f6beb3","#ef9d8e","#e57a6c","#da544a","#cd2027"],H={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function L(N,W){return Number.isFinite(W)?W-1<=N?`${N}`:`${N}–${W-1}`:`${N}+ · heartbeat zone`}function T(N){const ie=H.binThresholds.map(be=>be/H.heartbeatThreshold).map(be=>Math.max(Hu,Math.round(be*N)));return R(ie,N)}function R(N,W){const ie=[];for(const be of N){const ke=Math.max(be,ie.length?ie[ie.length-1]+1:Hu);kePe>0).sort((Pe,ye)=>Pe-ye);if(ie.length<8)return null;const be=Pe=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Pe*ie.length)))],ke=be(1-W)+1,Re=[.25,.5,.75].map(Pe=>be(Pe));return{threshold:ke,edges:R(Re,ke)}}function Y(N){var Pe;if(Array.isArray((Pe=r.map)==null?void 0:Pe.bins)&&r.map.bins.length)return r.map.bins;const W=r.map||{};let ie=Number(W.heartbeatThreshold)>0?Number(W.heartbeatThreshold):H.heartbeatThreshold,be=null;if(W.heartbeatMode==="quantile"){const ye=z(N||[],Number(W.heartbeatQuantile)>0?Number(W.heartbeatQuantile):H.quantile);ye&&(ie=ye.threshold,be=ye.edges)}be||(be=Array.isArray(W.binThresholds)&&W.binThresholds.length?[...new Set(W.binThresholds.map(Number).filter(ye=>Number.isFinite(ye)&&ye>0&&yeye-pt):Number(W.heartbeatThreshold)>0?T(ie):H.binThresholds);const ke=[...be,ie,1/0].slice(0,B.length);for(;ke.length{const Bt={upTo:ye,c:B[pt],l:L(Re,ye)};return Re=ye,Bt})}const ee=re(()=>Y([...x.value.values()])),K=((Ju=r.map)==null?void 0:Ju.noDataColor)||"#f3f3f1";function ue(N){if(!N)return K;const W=ee.value;for(const ie of W)if(Nee.value.map(N=>({c:N.c,l:N.l}))),Ce=((Zu=r.map)==null?void 0:Zu.selectedColor)||"#1a237e";function _e(){const N=x.value,W=[],ie=[];N.forEach((Pe,ye)=>{W.push(ye,ue(Pe)),ie.push(ye)});const be=W.length?["match",["get","iso_3166_1_alpha_3"],...W,K]:K,Re=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Pe=>[Pe,.92]),.12]:.78;return{fillColor:be,fillOpacity:Re}}function Te(){return Object.prototype.hasOwnProperty.call(s,ew)}const Xe=((Qu=r.map)==null?void 0:Qu.pinColor)||"#ef6c00",Je=((ed=r.map)==null?void 0:ed.pinStrokeColor)||"#ffffff";function Ue(){return Te()?es({colorSource:"properties"}):Xe}function rt(){const N=v.value;if(!N||!N.getLayer("rd-choropleth"))return;const{fillColor:W,fillOpacity:ie}=_e();N.setPaintProperty("rd-choropleth","fill-color",W),N.setPaintProperty("rd-choropleth","fill-opacity",ie);const be=N.getSource("rd-bubbles");be&&be.setData(I()),N.getLayer("rd-bubble-layer")&&N.setPaintProperty("rd-bubble-layer","circle-color",Ue())}function w(N){const W=N==null?void 0:N.people_praying,ie=W&&typeof W=="object"?W.value:W;return Number(ie)||0}function I(){return{type:"FeatureCollection",features:l.value.filter(N=>Number(N.latitude)&&Number(N.longitude)).map(N=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(N.longitude),Number(N.latitude)]},properties:{pop:Number(N.population)||0,slug:N.slug||"",name:N.name||"",peoplePraying:w(N)}}))}}function C(){var ie;const N=n==null?void 0:n.selectionSet,W=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!N||!N.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:W.filter(be=>N.has(be.slug)&&Number(be.latitude)&&Number(be.longitude)).map(be=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(be.longitude),Number(be.latitude)]},properties:{slug:be.slug||"",name:be.name||""}}))}}function U(){const N=v.value;if(!N)return;const W=N.getSource("rd-bubble-selected");W&&W.setData(C())}function V(){var be;const N=v.value;if(!N||k)return;k=!0,N.getSource("rd-countries")||N.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:W,fillOpacity:ie}=_e();N.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":W,"fill-opacity":ie,"fill-outline-color":((be=r.map)==null?void 0:be.outlineColor)||"#6d766e"}}),N.addSource("rd-bubbles",{type:"geojson",data:I()}),N.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":Ue(),"circle-opacity":1,"circle-stroke-color":Je,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),N.addSource("rd-bubble-selected",{type:"geojson",data:C()}),N.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Ce,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Ce,"circle-stroke-opacity":.95}}),N.on("click","rd-choropleth",Z),N.on("click","rd-bubble-layer",ae),N.on("mouseenter","rd-choropleth",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-choropleth",()=>{N.getCanvas().style.cursor=""}),N.on("mouseenter","rd-bubble-layer",()=>{N.getCanvas().style.cursor="pointer"}),N.on("mouseleave","rd-bubble-layer",()=>{N.getCanvas().style.cursor=""});try{window.__rdashMap=N,window.__rdashClickAt=(ke,Re)=>{const Pe=N.project([ke,Re]),ye=N.queryRenderedFeatures(Pe,{layers:["rd-choropleth"]});return ye&&ye[0]?(Z({features:ye}),ye[0].properties&&ye[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(ke,Re)=>{const Pe=N.project([ke,Re]),ye=N.queryRenderedFeatures([[Pe.x-7,Pe.y-7],[Pe.x+7,Pe.y+7]],{layers:["rd-bubble-layer"]});return ye&&ye[0]?(ae({features:[ye[0]]}),ye[0].properties&&ye[0].properties.slug):null}}catch{}te(),n&&n.on("select",U),U(),n&&n.on("focusRow",({slug:ke}={})=>{var ye;if(!ke)return;const Re=(((ye=t==null?void 0:t.rows)==null?void 0:ye.value)||[]).find(pt=>pt.slug===ke),Pe=v.value;if(Pe&&Re&&Number(Re.latitude)&&Number(Re.longitude))try{Pe.flyTo({center:[Number(Re.longitude),Number(Re.latitude)],zoom:5.5,duration:1200})}catch{}})}function Z(N){const W=v.value;if(W&&N.point){const Re=W.queryRenderedFeatures([[N.point.x-5,N.point.y-5],[N.point.x+5,N.point.y+5]],{layers:["rd-bubble-layer"]});if(Re&&Re.length)return}const ie=N.features&&N.features[0];if(!ie||!n)return;const be=ie.properties&&ie.properties.iso_3166_1_alpha_3,ke=b.value.get(be);ke&&(n.setFilter(c,s[c]===ke?null:ke),n.emit("mapFocus",{facet:c,value:ke}))}function ae(N){const W=N.features&&N.features[0];if(!W||!n)return;const ie=W.properties&&W.properties.slug;ie&&(n.toggleSelect(ie),n.emit("focusRow",{slug:ie,name:W.properties&&W.properties.name}))}function se(N){var ie;let W=N&&N.parentNode;for(;W;){if(W.nodeType===1){const be=getComputedStyle(W);if(/auto|scroll/.test(be.overflowY)&&W.scrollHeight>W.clientHeight+4)return W}if(W=W.parentElement||((ie=W.parentNode)==null?void 0:ie.host)||(W.parentNode!==W?W.parentNode:null),W&&W.nodeType===9)break}return null}function h(N){if(!(!N||!N.scrollZoom))try{const ie=document.documentElement.scrollHeight>window.innerHeight+4,be=N.getContainer&&N.getContainer()||null,ke=be?!!se(be):!1;ie||ke?N.scrollZoom.disable():N.scrollZoom.enable()}catch{}}xt(async()=>{await _();const N=v.value;if(!N)return;N.isStyleLoaded()?V():N.on("load",V),h(N);const W=()=>h(N);let ie=null;try{ie=new ResizeObserver(W);const be=N.getContainer&&N.getContainer()||null;be&&ie.observe(be);const ke=be?se(be):null;ke&&ie.observe(ke),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",W),Ot(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",W)}),N.on("zoom",G),N.on("zoomend",G),N.on("resize",G),G(),N.on("idle",()=>{!k&&N.isStyleLoaded()&&V()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(J),$.observe(A.value)),P(),N.on("idle",P),N.on("resize",P),n&&typeof n.on=="function"&&(M=n.on("toggleTable",()=>{J(),setTimeout(J,280)}),S=n.on("layoutResizing",he))}),Ot(()=>{try{g&&g()}catch{}g=null;try{M&&M()}catch{}M=null;try{S&&S()}catch{}if(S=null,$){try{$.disconnect()}catch{}$=null}if(oe){try{oe.disconnect()}catch{}oe=null}D=null,O&&(cancelAnimationFrame(O),O=0);try{const N=v.value;N&&(N.off("zoom",G),N.off("zoomend",G),N.off("resize",G),N.off("idle",P),N.off("resize",P))}catch{}try{d&&d()}catch{}}),mt([l,E],rt);const m=ce(!0),j=ce(!0);function G(){const N=v.value;if(!N)return;const W=N.getZoom();m.value=WN.getMinZoom()+.01}const le=ce(null);let oe=null,D=null;function P(){var be;const N=le.value;if(!N)return;let W=0;try{const ke=(be=N.getRootNode)==null?void 0:be.call(N),Re=ke&&ke.querySelector?ke.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Re){const Pe=Re.getBoundingClientRect(),ye=N.getBoundingClientRect();if(W=Math.max(Pe.height||0,ye.bottom-Pe.top),D!==Re&&typeof ResizeObserver<"u"){if(oe)try{oe.disconnect()}catch{}D=Re,oe=new ResizeObserver(P),oe.observe(Re)}}}catch{}const ie=Math.min(Math.max(Math.ceil(W)||20,20),72);N.style.setProperty("--rd-attrib-clear",ie+"px")}const X=ce("globe");function te(){const N=v.value;if(N)try{N.setProjection(X.value)}catch{}}function me(){X.value=X.value==="globe"?"mercator":"globe",te()}function ve(N){const W=Number(N.longitude),ie=Number(N.latitude);return!Number.isFinite(W)||!Number.isFinite(ie)||W===0&&ie===0||ie<-90||ie>90||W<-180||W>180?null:[W,ie]}function Fe(N,W){if(!N.length)return NaN;const ie=Math.min(N.length-1,Math.max(0,Math.round(W*(N.length-1))));return N[ie]}function et(N){const W=N.slice().sort((ye,pt)=>ye-pt),ie=W.length;if(ie<2)return W;let be=-1,ke=0;for(let ye=0;yebe&&(be=Bt,ke=ye)}const Re=(ke+1)%ie,Pe=new Array(ie);for(let ye=0;ye0&&ptUn[1]).sort((Un,ss)=>Un-ss),be=et(W.map(Un=>Un[0])),ke=W.length>=nw?tw:0,Re=Fe(ie,ke),Pe=Fe(ie,1-ke),ye=Fe(be,ke),pt=Fe(be,1-ke),Bt=[Fe(be,.5),Fe(ie,.5)];return!(pt>ye)||!(Pe>Re)?{bounds:[[Bt[0],Bt[1]],[Bt[0],Bt[1]]],center:Bt}:{bounds:[[ye,Re],[pt,Pe]],center:Bt}}function Ze(){const N=v.value;if(!N)return;if(!Object.keys(s).length){try{N.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const W=wt(l.value);if(W)try{N.fitBounds(W.bounds,{padding:70,duration:1200,maxZoom:5.5}),N.setCenter(W.center)}catch{}}let Lt=null;return mt(()=>JSON.stringify(s),()=>{clearTimeout(Lt),Lt=setTimeout(Ze,260)}),Tt(` +`,"map-toolbar"),(n,o)=>(ee(),te("div",{ref_key:"toolbarEl",ref:t,class:Ne(["map-toolbar",{"map-toolbar--no-geocoder":!e.hasGeocoder}])},[Ps(n.$slots,"default")],2))}},J0={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomIn()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomIn"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Z0={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){const{t}=lo(),n=e;function o(){var r;n.disabled||(r=n.map)==null||r.zoomOut()}return(r,s)=>(ee(),Yt(Oa,{"is-dark":e.isDark,disabled:e.disabled,title:pe(t)("buttons.zoomOut"),onClick:o},{default:Xn(()=>[...s[0]||(s[0]=[F("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","disabled","title"]))}},Q0=["data-projection"],ew={class:"rd-legend-map","data-map-legend":"","aria-label":"UPG count legend"},Hu=2,tw="prayer_level",nw=.1,ow=12,rw={__name:"DashboardMapPanel",setup(e){var Qo,er,Ku,Yu,Xu,Ju,Zu,Qu,ed;const t=Ee("dashboardData",null),n=Ee("selectionBus",null),o=Ee("mapboxToken",ue("")),r=Ee("dashboardConfig",{}),s=(n==null?void 0:n.filterSet)||{},a=Object.fromEntries(Object.entries(r.facets||{}).map(([M,K])=>[M,K.get])),i=Jo(n,Xo(r)),l=re(()=>{var _e,ke;const M=((_e=t==null?void 0:t.rows)==null?void 0:_e.value)||[],K=Object.keys(s),ie=!!(((ke=n==null?void 0:n.searchTerm)==null?void 0:ke.value)||"").trim();return!K.length&&!ie?M:M.filter(Oe=>K.every(Le=>{const ye=a[Le];return ye?ye(Oe)===s[Le]:!0})&&i(Oe))}),c=((Qo=r.map)==null?void 0:Qo.geoFacet)||"country_code",u=((Ku=(er=r.facets)==null?void 0:er[c])==null?void 0:Ku.geoIso)||(M=>{const K=M[c];return K&&K.value?K.value:null}),p=a[c]||(M=>Xe(M[c])),b=re(()=>{var K;const M=new Map;for(const ie of((K=t==null?void 0:t.rows)==null?void 0:K.value)||[]){const _e=u(ie);_e&&M.set(_e,p(ie)||_e)}return M}),x=re(()=>{const M=new Map;for(const K of l.value){const ie=u(K);ie&&M.set(ie,(M.get(ie)||0)+1)}return M}),A=ue(null),y=re(()=>r.provider==="maplibre"?"maplibre":"mapbox"),{map:v,isMapReady:C,initializeMap:_,destroy:d}=M0({containerRef:A,accessToken:pe(o)||o&&o.value||"",center:[28,18],zoom:1.45,minZoom:1,provider:y.value,...(Yu=r.map)!=null&&Yu.mapStyle||r.mapStyle?{style:((Xu=r.map)==null?void 0:Xu.mapStyle)||r.mapStyle}:{}}),f=O0({getMap:()=>v.value,mapId:"rdash-map",defaultCenter:[28,18],defaultZoom:1.45});let g=null;g=Y0({bus:n,mapFly:f,getMap:()=>v.value,getRowStore:()=>{var M;return(M=t==null?void 0:t.rowStore)==null?void 0:M.value},isEnabled:()=>C.value});let k=!1,$=null,I=null,S=null,R=0,V=!1;function Z(){V||R||(R=requestAnimationFrame(()=>{R=0;const M=v.value;if(M&&typeof M.resize=="function")try{M.resize()}catch{}}))}function he(M){const K=!!M;if(K!==V){if(V=K,V){R&&(cancelAnimationFrame(R),R=0);return}Z(),setTimeout(Z,180)}}const z=["#f6beb3","#ef9d8e","#e57a6c","#da544a","#cd2027"],Y={heartbeatThreshold:150,binThresholds:[5,20,60],quantile:.1};function B(M,K){return Number.isFinite(K)?K-1<=M?`${M}`:`${M}–${K-1}`:`${M}+ · heartbeat zone`}function E(M){const ie=Y.binThresholds.map(_e=>_e/Y.heartbeatThreshold).map(_e=>Math.max(Hu,Math.round(_e*M)));return N(ie,M)}function N(M,K){const ie=[];for(const _e of M){const ke=Math.max(_e,ie.length?ie[ie.length-1]+1:Hu);keLe>0).sort((Le,ye)=>Le-ye);if(ie.length<8)return null;const _e=Le=>ie[Math.min(ie.length-1,Math.max(0,Math.floor(Le*ie.length)))],ke=_e(1-K)+1,Oe=[.25,.5,.75].map(Le=>_e(Le));return{threshold:ke,edges:N(Oe,ke)}}function j(M){var Le;if(Array.isArray((Le=r.map)==null?void 0:Le.bins)&&r.map.bins.length)return r.map.bins;const K=r.map||{};let ie=Number(K.heartbeatThreshold)>0?Number(K.heartbeatThreshold):Y.heartbeatThreshold,_e=null;if(K.heartbeatMode==="quantile"){const ye=X(M||[],Number(K.heartbeatQuantile)>0?Number(K.heartbeatQuantile):Y.quantile);ye&&(ie=ye.threshold,_e=ye.edges)}_e||(_e=Array.isArray(K.binThresholds)&&K.binThresholds.length?[...new Set(K.binThresholds.map(Number).filter(ye=>Number.isFinite(ye)&&ye>0&&yeye-pt):Number(K.heartbeatThreshold)>0?E(ie):Y.binThresholds);const ke=[..._e,ie,1/0].slice(0,z.length);for(;ke.length{const Bt={upTo:ye,c:z[pt],l:B(Oe,ye)};return Oe=ye,Bt})}const q=re(()=>j([...x.value.values()])),W=((Ju=r.map)==null?void 0:Ju.noDataColor)||"#f3f3f1";function le(M){if(!M)return W;const K=q.value;for(const ie of K)if(Mq.value.map(M=>({c:M.c,l:M.l}))),Se=((Zu=r.map)==null?void 0:Zu.selectedColor)||"#1a237e";function Ie(){const M=x.value,K=[],ie=[];M.forEach((Le,ye)=>{K.push(ye,le(Le)),ie.push(ye)});const _e=K.length?["match",["get","iso_3166_1_alpha_3"],...K,W]:W,Oe=Object.keys(s).length>0&&ie.length?["match",["get","iso_3166_1_alpha_3"],...ie.flatMap(Le=>[Le,.92]),.12]:.78;return{fillColor:_e,fillOpacity:Oe}}function be(){return Object.prototype.hasOwnProperty.call(s,tw)}const Ge=((Qu=r.map)==null?void 0:Qu.pinColor)||"#ef6c00",Je=((ed=r.map)==null?void 0:ed.pinStrokeColor)||"#ffffff";function Fe(){return be()?es({colorSource:"properties"}):Ge}function rt(){const M=v.value;if(!M||!M.getLayer("rd-choropleth"))return;const{fillColor:K,fillOpacity:ie}=Ie();M.setPaintProperty("rd-choropleth","fill-color",K),M.setPaintProperty("rd-choropleth","fill-opacity",ie);const _e=M.getSource("rd-bubbles");_e&&_e.setData(P()),M.getLayer("rd-bubble-layer")&&M.setPaintProperty("rd-bubble-layer","circle-color",Fe())}function w(M){const K=M==null?void 0:M.people_praying,ie=K&&typeof K=="object"?K.value:K;return Number(ie)||0}function P(){return{type:"FeatureCollection",features:l.value.filter(M=>Number(M.latitude)&&Number(M.longitude)).map(M=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(M.longitude),Number(M.latitude)]},properties:{pop:Number(M.population)||0,slug:M.slug||"",name:M.name||"",peoplePraying:w(M)}}))}}function T(){var ie;const M=n==null?void 0:n.selectionSet,K=((ie=t==null?void 0:t.rows)==null?void 0:ie.value)||[];return!M||!M.size?{type:"FeatureCollection",features:[]}:{type:"FeatureCollection",features:K.filter(_e=>M.has(_e.slug)&&Number(_e.latitude)&&Number(_e.longitude)).map(_e=>({type:"Feature",geometry:{type:"Point",coordinates:[Number(_e.longitude),Number(_e.latitude)]},properties:{slug:_e.slug||"",name:_e.name||""}}))}}function U(){const M=v.value;if(!M)return;const K=M.getSource("rd-bubble-selected");K&&K.setData(T())}function H(){var _e;const M=v.value;if(!M||k)return;k=!0,M.getSource("rd-countries")||M.addSource("rd-countries",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"});const{fillColor:K,fillOpacity:ie}=Ie();M.addLayer({id:"rd-choropleth",type:"fill",source:"rd-countries","source-layer":"country_boundaries",paint:{"fill-color":K,"fill-opacity":ie,"fill-outline-color":((_e=r.map)==null?void 0:_e.outlineColor)||"#6d766e"}}),M.addSource("rd-bubbles",{type:"geojson",data:P()}),M.addLayer({id:"rd-bubble-layer",type:"circle",source:"rd-bubbles",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,2.2,6,5.5],"circle-color":Fe(),"circle-opacity":1,"circle-stroke-color":Je,"circle-stroke-width":["interpolate",["linear"],["zoom"],1,1.2,6,2],"circle-stroke-opacity":1}}),M.addSource("rd-bubble-selected",{type:"geojson",data:T()}),M.addLayer({id:"rd-bubble-selected",type:"circle",source:"rd-bubble-selected",paint:{"circle-radius":["interpolate",["linear"],["zoom"],1,5,6,11],"circle-color":Se,"circle-opacity":.18,"circle-stroke-width":3,"circle-stroke-color":Se,"circle-stroke-opacity":.95}}),M.on("click","rd-choropleth",Q),M.on("click","rd-bubble-layer",ae),M.on("mouseenter","rd-choropleth",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-choropleth",()=>{M.getCanvas().style.cursor=""}),M.on("mouseenter","rd-bubble-layer",()=>{M.getCanvas().style.cursor="pointer"}),M.on("mouseleave","rd-bubble-layer",()=>{M.getCanvas().style.cursor=""});try{window.__rdashMap=M,window.__rdashClickAt=(ke,Oe)=>{const Le=M.project([ke,Oe]),ye=M.queryRenderedFeatures(Le,{layers:["rd-choropleth"]});return ye&&ye[0]?(Q({features:ye}),ye[0].properties&&ye[0].properties.iso_3166_1_alpha_3):null},window.__rdashPinAt=(ke,Oe)=>{const Le=M.project([ke,Oe]),ye=M.queryRenderedFeatures([[Le.x-7,Le.y-7],[Le.x+7,Le.y+7]],{layers:["rd-bubble-layer"]});return ye&&ye[0]?(ae({features:[ye[0]]}),ye[0].properties&&ye[0].properties.slug):null}}catch{}ne(),n&&n.on("select",U),U(),n&&n.on("focusRow",({slug:ke}={})=>{var ye;if(!ke)return;const Oe=(((ye=t==null?void 0:t.rows)==null?void 0:ye.value)||[]).find(pt=>pt.slug===ke),Le=v.value;if(Le&&Oe&&Number(Oe.latitude)&&Number(Oe.longitude))try{Le.flyTo({center:[Number(Oe.longitude),Number(Oe.latitude)],zoom:5.5,duration:1200})}catch{}})}function Q(M){const K=v.value;if(K&&M.point){const Oe=K.queryRenderedFeatures([[M.point.x-5,M.point.y-5],[M.point.x+5,M.point.y+5]],{layers:["rd-bubble-layer"]});if(Oe&&Oe.length)return}const ie=M.features&&M.features[0];if(!ie||!n)return;const _e=ie.properties&&ie.properties.iso_3166_1_alpha_3,ke=b.value.get(_e);ke&&(n.setFilter(c,s[c]===ke?null:ke),n.emit("mapFocus",{facet:c,value:ke}))}function ae(M){const K=M.features&&M.features[0];if(!K||!n)return;const ie=K.properties&&K.properties.slug;ie&&(n.toggleSelect(ie),n.emit("focusRow",{slug:ie,name:K.properties&&K.properties.name}))}function se(M){var ie;let K=M&&M.parentNode;for(;K;){if(K.nodeType===1){const _e=getComputedStyle(K);if(/auto|scroll/.test(_e.overflowY)&&K.scrollHeight>K.clientHeight+4)return K}if(K=K.parentElement||((ie=K.parentNode)==null?void 0:ie.host)||(K.parentNode!==K?K.parentNode:null),K&&K.nodeType===9)break}return null}function h(M){if(!(!M||!M.scrollZoom))try{const ie=document.documentElement.scrollHeight>window.innerHeight+4,_e=M.getContainer&&M.getContainer()||null,ke=_e?!!se(_e):!1;ie||ke?M.scrollZoom.disable():M.scrollZoom.enable()}catch{}}xt(async()=>{await _();const M=v.value;if(!M)return;M.isStyleLoaded()?H():M.on("load",H),h(M);const K=()=>h(M);let ie=null;try{ie=new ResizeObserver(K);const _e=M.getContainer&&M.getContainer()||null;_e&&ie.observe(_e);const ke=_e?se(_e):null;ke&&ie.observe(ke),document.body&&ie.observe(document.body)}catch{}window.addEventListener("resize",K),Ot(()=>{try{ie&&ie.disconnect()}catch{}window.removeEventListener("resize",K)}),M.on("zoom",G),M.on("zoomend",G),M.on("resize",G),G(),M.on("idle",()=>{!k&&M.isStyleLoaded()&&H()}),typeof ResizeObserver<"u"&&A.value&&($=new ResizeObserver(Z),$.observe(A.value)),L(),M.on("idle",L),M.on("resize",L),n&&typeof n.on=="function"&&(I=n.on("toggleTable",()=>{Z(),setTimeout(Z,280)}),S=n.on("layoutResizing",he))}),Ot(()=>{try{g&&g()}catch{}g=null;try{I&&I()}catch{}I=null;try{S&&S()}catch{}if(S=null,$){try{$.disconnect()}catch{}$=null}if(oe){try{oe.disconnect()}catch{}oe=null}O=null,R&&(cancelAnimationFrame(R),R=0);try{const M=v.value;M&&(M.off("zoom",G),M.off("zoomend",G),M.off("resize",G),M.off("idle",L),M.off("resize",L))}catch{}try{d&&d()}catch{}}),mt([l,C],rt);const m=ue(!0),D=ue(!0);function G(){const M=v.value;if(!M)return;const K=M.getZoom();m.value=KM.getMinZoom()+.01}const ce=ue(null);let oe=null,O=null;function L(){var _e;const M=ce.value;if(!M)return;let K=0;try{const ke=(_e=M.getRootNode)==null?void 0:_e.call(M),Oe=ke&&ke.querySelector?ke.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib"):null;if(Oe){const Le=Oe.getBoundingClientRect(),ye=M.getBoundingClientRect();if(K=Math.max(Le.height||0,ye.bottom-Le.top),O!==Oe&&typeof ResizeObserver<"u"){if(oe)try{oe.disconnect()}catch{}O=Oe,oe=new ResizeObserver(L),oe.observe(Oe)}}}catch{}const ie=Math.min(Math.max(Math.ceil(K)||20,20),72);M.style.setProperty("--rd-attrib-clear",ie+"px")}const J=ue("globe");function ne(){const M=v.value;if(M)try{M.setProjection(J.value)}catch{}}function me(){J.value=J.value==="globe"?"mercator":"globe",ne()}function ve(M){const K=Number(M.longitude),ie=Number(M.latitude);return!Number.isFinite(K)||!Number.isFinite(ie)||K===0&&ie===0||ie<-90||ie>90||K<-180||K>180?null:[K,ie]}function Re(M,K){if(!M.length)return NaN;const ie=Math.min(M.length-1,Math.max(0,Math.round(K*(M.length-1))));return M[ie]}function et(M){const K=M.slice().sort((ye,pt)=>ye-pt),ie=K.length;if(ie<2)return K;let _e=-1,ke=0;for(let ye=0;ye_e&&(_e=Bt,ke=ye)}const Oe=(ke+1)%ie,Le=new Array(ie);for(let ye=0;ye0&&ptUn[1]).sort((Un,ss)=>Un-ss),_e=et(K.map(Un=>Un[0])),ke=K.length>=ow?nw:0,Oe=Re(ie,ke),Le=Re(ie,1-ke),ye=Re(_e,ke),pt=Re(_e,1-ke),Bt=[Re(_e,.5),Re(ie,.5)];return!(pt>ye)||!(Le>Oe)?{bounds:[[Bt[0],Bt[1]],[Bt[0],Bt[1]]],center:Bt}:{bounds:[[ye,Oe],[pt,Le]],center:Bt}}function Ze(){const M=v.value;if(!M)return;if(!Object.keys(s).length){try{M.flyTo({center:[28,18],zoom:1.45,duration:1e3})}catch{}return}const K=wt(l.value);if(K)try{M.fitBounds(K.bounds,{padding:70,duration:1200,maxZoom:5.5}),M.setCenter(K.center)}catch{}}let Lt=null;return mt(()=>JSON.stringify(s),()=>{clearTimeout(Lt),Lt=setTimeout(Ze,260)}),Tt(` .rd-mapwrap{ position:relative; width:100%; height:100%; min-height:0; background:var(--dx-line, #d1d4cd); } .rd-mapwrap .rd-mapc{ position:absolute; inset:0; } .rd-maptag{ position:absolute; left:8px; bottom:8px; z-index:2; font-size:10px; color:#33415588; background:#ffffffcc; padding:2px 6px; border-radius:4px; } @@ -665,11 +667,11 @@ z-index:2; touch-action:pan-y; pointer-events:auto; background:transparent; } .map-scroll-edge--left{ left:0; } .map-scroll-edge--right{ right:0; } -`,"rd-mappanel"),(N,W)=>(Q(),ne("div",{ref_key:"mapWrap",ref:le,class:"rd-mapwrap","data-sub":"map","data-projection":X.value},[F("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),W[1]||(W[1]=F("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),W[2]||(W[2]=F("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Ie(Y0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Xn(()=>[Ie(X0,{map:pe(v),disabled:!m.value},null,8,["map","disabled"]),Ie(J0,{map:pe(v),disabled:!j.value},null,8,["map","disabled"])]),_:1}),F("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:me},fe(X.value==="globe"?"🌐 Globe":"▭ Flat"),1),W[3]||(W[3]=F("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),F("div",Q0,[W[0]||(W[0]=F("div",{class:"lg-h"},"UPGs / country",-1)),(Q(!0),ne(Ae,null,Qe(ge.value,ie=>(Q(),ne("div",{key:ie.l,class:"lg-row"},[F("span",{class:"lg-sw",style:gt({background:ie.c})},null,4),F("span",null,fe(ie.l),1)]))),128))])],8,Z0))}},rw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",sw=["data-active","aria-expanded"],aw={class:"filter-dropdown__label"},iw=["value","placeholder"],lw={class:"filter-dropdown__options"},cw={key:0,class:"filter-dropdown__no-options"},uw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],dw={class:"filter-dropdown__count"},fw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,o=t,r=ce(!1),s=ce(""),a=ce(-1),i=ce(null),l=ce(null),c=ce(null),u=ce({});function p(S){const O=S.ownerDocument,q=O.createElement("div");q.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(S.parentElement||S.getRootNode().body||O.body).appendChild(q);const he=q.getBoundingClientRect();return q.remove(),{x:he.left,y:he.top}}function b(){const S=c.value;if(!S)return;const O=S.getBoundingClientRect(),q=window.innerWidth,J=window.innerHeight,he=320,B=4,H=8,L=Math.round(Math.min(O.width,q-H*2)),T=O.right>H&&O.leftq-H?R=Math.round(Math.max(O.right-L,H)):R=Math.round(Math.max(O.left,H)):R=Math.round(Math.min(Math.max(O.left,H),q-L-H));const z=J-O.bottom,Y=z<180&&O.top>z,ee=p(S),K=Math.round(R-ee.x);u.value=Y?{top:"auto",bottom:`${Math.round(J-O.top+B+ee.y)}px`,left:`${K}px`,width:`${L}px`,maxHeight:`${Math.round(Math.min(he,O.top-B-H))}px`}:{top:`${Math.round(O.bottom+B-ee.y)}px`,bottom:"auto",left:`${K}px`,width:`${L}px`,maxHeight:`${Math.round(Math.min(he,z-B-H))}px`}}function x(){r.value&&b()}const A=re(()=>{if(!s.value)return n.options;const S=s.value.toLowerCase();return n.options.filter(O=>O.label.toLowerCase().includes(S))}),y=re(()=>n.options.find(S=>S.value===n.value));function v(S){var q;const O=((q=S.composedPath)==null?void 0:q.call(S))??[];i.value&&!O.includes(i.value)&&d()}function E(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Nn(()=>{var S;b(),(S=l.value)==null||S.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(S){s.value=S.target.value,a.value=-1}function g(S){const O=A.value;switch(S.key){case"ArrowDown":S.preventDefault(),a.value=Math.min(a.value+1,O.length-1),k();break;case"ArrowUp":S.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{S.preventDefault();const q=O[a.value];q&&$(q);break}case"Escape":S.preventDefault(),d();break}}function k(){Nn(()=>{var O;const S=(O=i.value)==null?void 0:O.querySelector(".filter-dropdown__option[data-highlighted]");S==null||S.scrollIntoView({block:"nearest"})})}function $(S){o("filter-change",{name:n.name,value:S.value,label:S.label,type:S.type}),d()}function M(){o("filter-clear",{name:n.name}),d()}return Ot(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(S,O)=>(Q(),ne("div",{ref_key:"rootRef",ref:i,class:Me(["filter-dropdown",{"is-open":r.value}])},[F("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:E},[F("span",aw,[y.value?(Q(),ne(Ae,{key:0},[nt(fe(e.label)+": ",1),F("strong",null,fe(y.value.label),1)],64)):(Q(),ne(Ae,{key:1},[nt(fe(e.label),1)],64))]),O[0]||(O[0]=F("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,sw),r.value?(Q(),ne("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:gt(u.value)},[F("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,iw),e.value?(Q(),ne("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:M},"Clear selection")):ze("",!0),F("div",lw,[A.value.length===0?(Q(),ne("div",cw,"No options found")):(Q(!0),ne(Ae,{key:1},Qe(A.value,(q,J)=>(Q(),ne("div",{key:q.value,class:"filter-dropdown__option",role:"option","data-highlighted":J===a.value?"":void 0,"data-selected":q.value===e.value?"":void 0,"aria-selected":q.value===e.value,onClick:he=>$(q),onMouseenter:he=>a.value=J},[F("span",null,fe(q.label),1),F("span",dw,fe(q.count),1)],40,uw))),128))])],4)):ze("",!0)],2))}},[["styles",[rw]]]),pw=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",gw={class:"sfh"},hw={key:0,class:"sfh__search-row"},mw=["aria-expanded"],bw=["aria-label"],_w=["data-active","onClick"],yw={class:"sfh__chip-strip"},vw={class:"sfh__sel-label"},ww=["aria-label","onClick"],xw={key:1,class:"sfh__sel-world"},kw=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const n=e,o=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(n.showSearch)),a=re(()=>r(n.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...n.labels})),l=ce(n.startExpanded||!n.collapsible);function c(){l.value=!l.value}const u=re(()=>!n.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(n.activeChips))return n.activeChips;const _=[];for(const d of n.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of n.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function b(_){const d=(_==null?void 0:_.value)??"";o("update:search",d),o("search",{value:d})}function x(_){o("filter-change",_)}function A(_){o("filter-clear",_)}function y(_){o("toggle",{name:_.name,active:!_.active})}function v(_){o("remove-filter",{name:_})}function E(){o("clear-all")}return(_,d)=>(Q(),ne("div",gw,[s.value?(Q(),ne("div",hw,[Ie(Ou,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(Q(),ne("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(fe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=F("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,mw)):ze("",!0)])):ze("",!0),a.value&&u.value?(Q(),ne("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(Q(!0),ne(Ae,null,Qe(e.filters,f=>(Q(),Yt(fw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(Q(!0),ne(Ae,null,Qe(e.toggles,f=>(Q(),ne("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},fe(f.label),9,_w))),128))],8,bw)):ze("",!0),a.value?(Q(),ne("div",{key:2,class:Me(["sfh__chips",{"is-empty":!p.value.length}])},[F("div",yw,[F("span",vw,fe(i.value.selected||"Selected"),1),p.value.length?(Q(),ne(Ae,{key:0},[(Q(!0),ne(Ae,null,Qe(p.value,f=>(Q(),ne("span",{key:f.name,class:"sfh__chip"},[nt(fe(f.label)+" ",1),F("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,ww)]))),128)),F("button",{class:"sfh__clear",type:"button",onClick:E},fe(i.value.clear_all),1)],64)):(Q(),ne("span",xw,fe(i.value.world||"World"),1))])],2)):ze("",!0)]))}},[["styles",[pw]]]),$w={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},rs="prayer_level",Sw={__name:"DashboardResearchFilters",setup(e){const t=Se("selectionBus",null),n=Se("dashboardData",null),o=Se("dashboardConfig",{}),r=re(()=>{var $;return(($=n==null?void 0:n.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const M=$==null?void 0:$.people_praying,S=M&&typeof M=="object"?M.value:M;return Ko[co({peoplePraying:S??null})]}},i=re(()=>({[rs]:a,...o.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,M])=>[$,M.get]))),c=re(()=>o.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[rs,...$.filter(M=>M!==rs)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b($,M){const S=Object.keys($);return S.length?M.filter(O=>S.every(q=>{const J=l.value[q];return J?J(O)===$[q]:!0})):M}function x($){var he;const M=l.value[$];if(!M)return[];const S=(he=i.value[$])==null?void 0:he.optionLabel,O={};for(const[B,H]of Object.entries(s))B!==$&&(O[B]=H);const q=b(O,r.value),J=new Map;for(const B of q){const H=M(B);if(H==null||H==="")continue;const L=J.get(H);L?L.count+=1:J.set(H,{label:S&&S(B)||H,count:1})}return Array.from(J.entries()).map(([B,{label:H,count:L}])=>({value:B,label:H,count:L})).sort((B,H)=>String(B.label).localeCompare(String(H.label)))}const A=re(()=>u.value.map($=>{var M;return{name:$,label:((M=i.value[$])==null?void 0:M.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yo(o,Se("dataStore",null),Se("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var S;const M=s[$];return{name:$,label:`${((S=i.value[$])==null?void 0:S.label)||$}: ${$===rs?M:y($,M)}`}})),E=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Tt(` +`,"rd-mappanel"),(M,K)=>(ee(),te("div",{ref_key:"mapWrap",ref:ce,class:"rd-mapwrap","data-sub":"map","data-projection":J.value},[F("div",{ref_key:"mapContainer",ref:A,class:"rd-mapc","data-map-canvas":""},null,512),K[1]||(K[1]=F("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),K[2]||(K[2]=F("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),Pe(X0,{class:"rd-zoomtools","has-geocoder":!1,"data-map-zoom-controls":""},{default:Xn(()=>[Pe(J0,{map:pe(v),disabled:!m.value},null,8,["map","disabled"]),Pe(Z0,{map:pe(v),disabled:!D.value},null,8,["map","disabled"])]),_:1}),F("span",{class:"rd-proj",role:"button",tabindex:"0","data-proj-toggle":"",onClick:me},fe(J.value==="globe"?"🌐 Globe":"▭ Flat"),1),K[3]||(K[3]=F("div",{class:"rd-maptag"},"UPG choropleth · click a country to filter · click a pin to select",-1)),F("div",ew,[K[0]||(K[0]=F("div",{class:"lg-h"},"UPGs / country",-1)),(ee(!0),te(Ce,null,Qe(ge.value,ie=>(ee(),te("div",{key:ie.l,class:"lg-row"},[F("span",{class:"lg-sw",style:gt({background:ie.c})},null,4),F("span",null,fe(ie.l),1)]))),128))])],8,Q0))}},sw=".filter-dropdown{position:relative;flex:0 0 auto;width:var(--dx-filter-w, 168px);min-width:var(--dx-filter-w, 168px);max-width:var(--dx-filter-w, 168px)}@media (max-width: 576px){.filter-dropdown{width:var(--dx-filter-w-sm, 140px);min-width:var(--dx-filter-w-sm, 140px);max-width:var(--dx-filter-w-sm, 140px)}}.filter-dropdown__trigger{width:100%;padding:var(--dx-filter-pad-y, 4px) 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.875rem;color:var(--dx-text, #3b463d);text-align:start;background:var(--dx-elevated, #fff);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;transition:border-color .15s ease}.filter-dropdown__trigger:hover{border-color:var(--dx-accent, #92b195)}.filter-dropdown__trigger[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--dx-accent, #92b195)}.filter-dropdown__label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-dropdown__chevron{flex-shrink:0;transition:transform .2s ease}.filter-dropdown.is-open .filter-dropdown__chevron{transform:rotate(180deg)}.filter-dropdown__menu{position:fixed;z-index:2147483000;background-color:var(--dx-elevated, #fff);color:var(--dx-text, #3b463d);border:1px solid var(--dx-line, #d1d4cd);border-radius:8px;box-shadow:0 4px 12px #0000001f;overflow:hidden;display:flex;flex-direction:column;min-width:160px}.filter-dropdown__search{border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);border-radius:0;padding:6px 12px;width:100%;font-size:.875rem;color:var(--dx-text, #3b463d);background:var(--dx-elevated, #fff);outline:none;box-sizing:border-box}.filter-dropdown__search::placeholder{color:var(--dx-muted, #6d766e)}.filter-dropdown__clear{display:block;width:100%;background:none;border:none;border-bottom:1px solid var(--dx-line, #d1d4cd);padding:6px 12px;font-size:.875rem;color:var(--dx-text, #3b463d);cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:var(--dx-accent, #92b195);text-underline-offset:3px}.filter-dropdown__clear:hover{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__options{flex:1 1 auto;min-height:0;max-height:250px;overflow-y:auto}.filter-dropdown__search,.filter-dropdown__clear{flex:0 0 auto}.filter-dropdown__option{padding:5px 12px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;transition:background-color .1s ease}.filter-dropdown__option[data-selected]{font-weight:700;color:var(--dx-text, #3b463d);box-shadow:inset 3px 0 0 var(--dx-accent, #92b195)}.filter-dropdown__option:hover,.filter-dropdown__option[data-highlighted]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18))}.filter-dropdown__count{color:var(--dx-muted, #6d766e);font-size:.75rem;margin-inline-start:6px}.filter-dropdown__no-options{padding:12px;font-size:.875rem;color:var(--dx-muted, #6d766e);text-align:center}",aw=["data-active","aria-expanded"],iw={class:"filter-dropdown__label"},lw=["value","placeholder"],cw={class:"filter-dropdown__options"},uw={key:0,class:"filter-dropdown__no-options"},dw=["data-highlighted","data-selected","aria-selected","onClick","onMouseenter"],fw={class:"filter-dropdown__count"},pw=Jr({__name:"FilterDropdown",props:{label:{type:String,required:!0},name:{type:String,required:!0},options:{type:Array,default:()=>[]},value:{type:String,default:""},placeholder:{type:String,default:"Type to search..."}},emits:["filter-change","filter-clear"],setup(e,{emit:t}){const n=e,o=t,r=ue(!1),s=ue(""),a=ue(-1),i=ue(null),l=ue(null),c=ue(null),u=ue({});function p(S){const R=S.ownerDocument,V=R.createElement("div");V.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",(S.parentElement||S.getRootNode().body||R.body).appendChild(V);const he=V.getBoundingClientRect();return V.remove(),{x:he.left,y:he.top}}function b(){const S=c.value;if(!S)return;const R=S.getBoundingClientRect(),V=window.innerWidth,Z=window.innerHeight,he=320,z=4,Y=8,B=Math.round(Math.min(R.width,V-Y*2)),E=R.right>Y&&R.leftV-Y?N=Math.round(Math.max(R.right-B,Y)):N=Math.round(Math.max(R.left,Y)):N=Math.round(Math.min(Math.max(R.left,Y),V-B-Y));const X=Z-R.bottom,j=X<180&&R.top>X,q=p(S),W=Math.round(N-q.x);u.value=j?{top:"auto",bottom:`${Math.round(Z-R.top+z+q.y)}px`,left:`${W}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,R.top-z-Y))}px`}:{top:`${Math.round(R.bottom+z-q.y)}px`,bottom:"auto",left:`${W}px`,width:`${B}px`,maxHeight:`${Math.round(Math.min(he,X-z-Y))}px`}}function x(){r.value&&b()}const A=re(()=>{if(!s.value)return n.options;const S=s.value.toLowerCase();return n.options.filter(R=>R.label.toLowerCase().includes(S))}),y=re(()=>n.options.find(S=>S.value===n.value));function v(S){var V;const R=((V=S.composedPath)==null?void 0:V.call(S))??[];i.value&&!R.includes(i.value)&&d()}function C(){r.value?d():_()}function _(){r.value=!0,s.value="",a.value=-1,b(),document.addEventListener("click",v),window.addEventListener("scroll",x,!0),window.addEventListener("resize",x),Mn(()=>{var S;b(),(S=l.value)==null||S.focus()})}function d(){r.value=!1,s.value="",a.value=-1,document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}function f(S){s.value=S.target.value,a.value=-1}function g(S){const R=A.value;switch(S.key){case"ArrowDown":S.preventDefault(),a.value=Math.min(a.value+1,R.length-1),k();break;case"ArrowUp":S.preventDefault(),a.value=Math.max(a.value-1,0),k();break;case"Enter":{S.preventDefault();const V=R[a.value];V&&$(V);break}case"Escape":S.preventDefault(),d();break}}function k(){Mn(()=>{var R;const S=(R=i.value)==null?void 0:R.querySelector(".filter-dropdown__option[data-highlighted]");S==null||S.scrollIntoView({block:"nearest"})})}function $(S){o("filter-change",{name:n.name,value:S.value,label:S.label,type:S.type}),d()}function I(){o("filter-clear",{name:n.name}),d()}return Ot(()=>{document.removeEventListener("click",v),window.removeEventListener("scroll",x,!0),window.removeEventListener("resize",x)}),(S,R)=>(ee(),te("div",{ref_key:"rootRef",ref:i,class:Ne(["filter-dropdown",{"is-open":r.value}])},[F("button",{ref_key:"triggerRef",ref:c,class:"filter-dropdown__trigger input","data-active":e.value?"":void 0,type:"button","aria-haspopup":"listbox","aria-expanded":r.value,onClick:C},[F("span",iw,[y.value?(ee(),te(Ce,{key:0},[nt(fe(e.label)+": ",1),F("strong",null,fe(y.value.label),1)],64)):(ee(),te(Ce,{key:1},[nt(fe(e.label),1)],64))]),R[0]||(R[0]=F("svg",{class:"filter-dropdown__chevron",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,aw),r.value?(ee(),te("div",{key:0,class:"filter-dropdown__menu",role:"listbox",style:gt(u.value)},[F("input",{ref_key:"searchInputRef",ref:l,class:"filter-dropdown__search",type:"text",value:s.value,placeholder:e.placeholder,onInput:f,onKeydown:g},null,40,lw),e.value?(ee(),te("button",{key:0,class:"filter-dropdown__clear",type:"button",onClick:I},"Clear selection")):Be("",!0),F("div",cw,[A.value.length===0?(ee(),te("div",uw,"No options found")):(ee(!0),te(Ce,{key:1},Qe(A.value,(V,Z)=>(ee(),te("div",{key:V.value,class:"filter-dropdown__option",role:"option","data-highlighted":Z===a.value?"":void 0,"data-selected":V.value===e.value?"":void 0,"aria-selected":V.value===e.value,onClick:he=>$(V),onMouseenter:he=>a.value=Z},[F("span",null,fe(V.label),1),F("span",fw,fe(V.count),1)],40,dw))),128))])],4)):Be("",!0)],2))}},[["styles",[sw]]]),gw=".sfh{--brand: var(--dx-accent, #92b195);--ink: var(--dx-text, #3b463d);--mut: var(--dx-muted, #6d766e);--line: var(--dx-line, #d1d4cd);--card: var(--dx-elevated, #fff);display:flex;flex-direction:column;gap:var(--dx-sfh-gap, 4px);width:100%;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--ink)}.sfh__search-row{display:flex;align-items:center;gap:12px;justify-content:center}.sfh__search-row>:first-child{flex:0 1 auto}.sfh__toggle{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:.875rem;color:var(--ink);display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:4px}.sfh__toggle-chev{transition:transform .2s ease}.sfh__toggle[aria-expanded=true] .sfh__toggle-chev{transform:rotate(180deg)}.sfh__filters-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--dx-filter-gap, 10px);justify-content:flex-start;overflow-x:clip;padding-bottom:2px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__dd{flex:0 0 auto}.sfh__filters-row::-webkit-scrollbar{height:8px}.sfh__filters-row::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__filters-row::-webkit-scrollbar-track{background:transparent}.sfh__pill{flex:0 0 auto;padding:6px 12px;cursor:pointer;font-size:.875rem;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:8px;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.sfh__pill:hover{border-color:var(--brand)}.sfh__pill[data-active]{background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));border-color:var(--brand);color:var(--ink)}.sfh__chips{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;min-height:var(--dx-sel-row-h, 16px)}.sfh__chip-strip{flex:0 1 auto;min-width:0;display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center;justify-content:safe center;overflow-x:auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.sfh__chip-strip::-webkit-scrollbar{height:6px}.sfh__chip-strip::-webkit-scrollbar-thumb{background:var(--dx-scroll-thumb, #c4c8c0);border-radius:8px}.sfh__chip-strip::-webkit-scrollbar-track{background:transparent}.sfh__sel-label{flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--mut, #6d766e);opacity:.75}.sfh__sel-world{flex:0 0 auto;font-size:.75rem;color:var(--mut, #6d766e)}.sfh__chip{flex:0 0 auto;display:inline-flex;gap:4px;align-items:center;background-color:var(--dx-accent-weak, rgba(146, 177, 149, .18));color:var(--ink);border:1px solid var(--line);border-radius:100px;padding:0 8px;font-size:.75rem;line-height:1;white-space:nowrap;height:var(--dx-sel-row-h, 16px);box-sizing:border-box}.sfh__chip-x{background:none;border:none;cursor:pointer;font-size:1.05em;line-height:1;color:inherit;padding:0;display:inline-flex;align-items:center}.sfh__chip-x:hover{opacity:.7}.sfh__clear{flex:0 0 auto;white-space:nowrap;background:none;border:none;cursor:pointer;font-size:.75rem;line-height:1;color:var(--mut, #6d766e);text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;padding:0 4px;margin-inline-start:2px}.sfh__clear:hover{color:var(--ink)}",hw={class:"sfh"},mw={key:0,class:"sfh__search-row"},bw=["aria-expanded"],_w=["aria-label"],yw=["data-active","onClick"],vw={class:"sfh__chip-strip"},ww={class:"sfh__sel-label"},xw=["aria-label","onClick"],kw={key:1,class:"sfh__sel-world"},$w=Jr({__name:"SearchFilterHeader",props:{search:{type:String,default:""},filters:{type:Array,default:()=>[]},toggles:{type:Array,default:()=>[]},activeChips:{type:Array,default:null},searchPlaceholder:{type:String,default:"Search…"},searchMaxWidth:{type:String,default:"520px"},showSearch:{type:[Boolean,String],default:!0},showFilters:{type:[Boolean,String],default:!0},startExpanded:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0},labels:{type:Object,default:()=>({})}},emits:["update:search","search","filter-change","filter-clear","toggle","remove-filter","clear-all"],setup(e,{emit:t}){const n=e,o=t,r=_=>!(_===!1||_==="false"||_==="0"||_===0),s=re(()=>r(n.showSearch)),a=re(()=>r(n.showFilters)),i=re(()=>({show_filters:"Show Filters",hide_filters:"Hide Filters",clear_all:"Clear All",type_to_search:"Type to search...",filters:"Filters",...n.labels})),l=ue(n.startExpanded||!n.collapsible);function c(){l.value=!l.value}const u=re(()=>!n.collapsible||!s.value||l.value),p=re(()=>{if(Array.isArray(n.activeChips))return n.activeChips;const _=[];for(const d of n.filters){if(!d.value)continue;const f=(d.options||[]).find(g=>g.value===d.value);_.push({name:d.name,label:f?f.label:d.value})}for(const d of n.toggles)d.active&&_.push({name:d.name,label:d.label});return _});function b(_){const d=(_==null?void 0:_.value)??"";o("update:search",d),o("search",{value:d})}function x(_){o("filter-change",_)}function A(_){o("filter-clear",_)}function y(_){o("toggle",{name:_.name,active:!_.active})}function v(_){o("remove-filter",{name:_})}function C(){o("clear-all")}return(_,d)=>(ee(),te("div",hw,[s.value?(ee(),te("div",mw,[Pe(Ou,{"model-value":e.search,placeholder:e.searchPlaceholder,"aria-label":e.searchPlaceholder,"max-width":e.searchMaxWidth,onSearch:b},null,8,["model-value","placeholder","aria-label","max-width"]),a.value&&e.collapsible?(ee(),te("button",{key:0,class:"sfh__toggle",type:"button","aria-expanded":u.value,onClick:c},[nt(fe(u.value?i.value.hide_filters:i.value.show_filters)+" ",1),d[0]||(d[0]=F("svg",{class:"sfh__toggle-chev",width:"12",height:"12",viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg"},[F("path",{d:"M2 4l4 4 4-4",fill:"none",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,bw)):Be("",!0)])):Be("",!0),a.value&&u.value?(ee(),te("div",{key:1,class:"sfh__filters-row",role:"group","aria-label":i.value.filters},[(ee(!0),te(Ce,null,Qe(e.filters,f=>(ee(),Yt(pw,{key:f.name,class:"sfh__dd",label:f.label,name:f.name,options:f.options||[],value:f.value||"",placeholder:f.placeholder||i.value.type_to_search,onFilterChange:x,onFilterClear:A},null,8,["label","name","options","value","placeholder"]))),128)),(ee(!0),te(Ce,null,Qe(e.toggles,f=>(ee(),te("button",{key:f.name,class:"sfh__pill",type:"button","data-active":f.active?"":void 0,onClick:g=>y(f)},fe(f.label),9,yw))),128))],8,_w)):Be("",!0),a.value?(ee(),te("div",{key:2,class:Ne(["sfh__chips",{"is-empty":!p.value.length}])},[F("div",vw,[F("span",ww,fe(i.value.selected||"Selected"),1),p.value.length?(ee(),te(Ce,{key:0},[(ee(!0),te(Ce,null,Qe(p.value,f=>(ee(),te("span",{key:f.name,class:"sfh__chip"},[nt(fe(f.label)+" ",1),F("button",{class:"sfh__chip-x",type:"button","aria-label":`Remove ${f.label}`,onClick:g=>v(f.name)},"×",8,xw)]))),128)),F("button",{class:"sfh__clear",type:"button",onClick:C},fe(i.value.clear_all),1)],64)):(ee(),te("span",kw,fe(i.value.world||"World"),1))])],2)):Be("",!0)]))}},[["styles",[gw]]]),Sw={class:"rd-research-filters","data-region":"filters","data-sub":"research-filters"},rs="prayer_level",Ew={__name:"DashboardResearchFilters",setup(e){const t=Ee("selectionBus",null),n=Ee("dashboardData",null),o=Ee("dashboardConfig",{}),r=re(()=>{var $;return(($=n==null?void 0:n.rows)==null?void 0:$.value)||[]}),s=(t==null?void 0:t.filterSet)||{},a={label:"Prayer",get:$=>{const I=$==null?void 0:$.people_praying,S=I&&typeof I=="object"?I.value:I;return Ko[co({peoplePraying:S??null})]}},i=re(()=>({[rs]:a,...o.facets||{}})),l=re(()=>Object.fromEntries(Object.entries(i.value).map(([$,I])=>[$,I.get]))),c=re(()=>o.researchFilters||{}),u=re(()=>{const $=c.value.dropdowns||["wagf_region","wagf_block","country_code","people_group","religion"];return[rs,...$.filter(I=>I!==rs)]}),p=re(()=>c.value.searchPlaceholder||"Search people groups, place, language, religion…");function b($,I){const S=Object.keys($);return S.length?I.filter(R=>S.every(V=>{const Z=l.value[V];return Z?Z(R)===$[V]:!0})):I}function x($){var he;const I=l.value[$];if(!I)return[];const S=(he=i.value[$])==null?void 0:he.optionLabel,R={};for(const[z,Y]of Object.entries(s))z!==$&&(R[z]=Y);const V=b(R,r.value),Z=new Map;for(const z of V){const Y=I(z);if(Y==null||Y==="")continue;const B=Z.get(Y);B?B.count+=1:Z.set(Y,{label:S&&S(z)||Y,count:1})}return Array.from(Z.entries()).map(([z,{label:Y,count:B}])=>({value:z,label:Y,count:B})).sort((z,Y)=>String(z.label).localeCompare(String(Y.label)))}const A=re(()=>u.value.map($=>{var I;return{name:$,label:((I=i.value[$])==null?void 0:I.label)||$,options:x($),value:s[$]||""}})),{labelFor:y}=Yo(o,Ee("dataStore",null),Ee("searchSourceId",null)),v=re(()=>Object.keys(s).map($=>{var S;const I=s[$];return{name:$,label:`${((S=i.value[$])==null?void 0:S.label)||$}: ${$===rs?I:y($,I)}`}})),C=re(()=>{var $;return(($=t==null?void 0:t.searchTerm)==null?void 0:$.value)||""});function _($){t==null||t.setSearch(($==null?void 0:$.value)??"")}function d($){t==null||t.setFilter($.name,$.value)}function f($){t==null||t.setFilter($.name,null)}function g($){t==null||t.setFilter($.name,null)}function k(){t==null||t.clearFilters()}return Tt(` .rd-research-filters{ position:relative; z-index:55; height:100%; box-sizing:border-box; padding:3px var(--rd-edge,14px); background:var(--rd-panel,#fff); border-bottom:1px solid var(--rd-line, #d1d4cd); overflow:visible; } -`,"rd-research-filters"),($,M)=>(Q(),ne("div",$w,[Ie(kw,{search:E.value,filters:A.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Ew={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Wu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,n=t&&typeof t=="object"?t.value:t;return Ko[co({peoplePraying:n??null})]}},religion:{label:"Religion",get:e=>Ye(e.religion)},religion_family:{label:"Religion Family",get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return n&&Bn[n]?Bn[n]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return Bn[n]?n:""}},wagf_region:{label:"Region",get:e=>Ye(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Ye(e.wagf_block)},country_code:{label:"Country",get:e=>Ye(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Ye(e.engagement_status)},language_family:{label:"Language Family",get:e=>{const t=Ye(e.imb_language_family);if(t)return Zr(t);const n=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,o=n&&Ew[n];return o?Zr(o):""}},primary_language:{label:"Language",get:e=>Ye(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Ye(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Ye(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"status",title:"Status",axis:null,facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Ye(e.engagement_status))||/unengaged/i.test(Ye(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Ye(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Ye(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Ye(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Ye(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Wu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Wu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Ye(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Aw=["data-row-count","data-loading","data-error","data-narrow"],Cw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Tw=["data-kpi"],Lw={class:"l"},Pw={key:0,class:"d","data-kpi-delta":""},Iw={class:"rd-cell-map","data-region":"map"},Mw=["title"],Nw=["title"],Fw={class:"rd-cell-table","data-region":"table"},Rw={class:"rd-rail","data-region":"rail"},Ow=["data-view"],Dw=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const n=Se("profileConfig",ce(null)),o=re(()=>{const K=pe(n);if(!K||typeof K!="object")return Ua;const ue={...Ua,...K};return K.map&&typeof K.map=="object"&&(ue.map={...Ua.map,...K.map}),ue}),r=re(()=>{var K;return((K=pe(n))==null?void 0:K.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=Q_(o.value),u=t;mt(()=>{var K;return{filters:{...s.filterSet},q:((K=s.searchTerm)==null?void 0:K.value)||""}},({filters:K,q:ue})=>u("dashboard-filter",{filterSet:K,searchTerm:ue}),{deep:!0});const p=a.total,b=a.loading,x=a.error,{shell:A,isNarrow:y,slimRail:v,slimFacet:E,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:M,showMap:S,showTable:O,showCharts:q}=c,{startFacetResize:J,startRailResize:he,startTableResize:B}=ny({shellRef:A,bus:s,isNarrow:y,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function H(K){return K.kind==="pct"?K.value:K.kind==="distinct"?K.value||"—":Fu(K.value)}const L=re(()=>{var K;return(K=s.selectionVersion)==null||K.value,s.selectionSet?s.selectionSet.size:0});function T(){l.exportCsvAsync()}function R(){s.clearSelection()}function z(){s.emit("toggleFacet",!g.value)}function Y(){s.emit("toggleRail",!k.value)}function ee(K){const ue=K.target&&K.target.closest&&K.target.closest("[data-bar-export],[data-bar-clear]");ue&&(ue.hasAttribute("data-bar-export")?T():R())}return Tt(` +`,"rd-research-filters"),($,I)=>(ee(),te("div",Sw,[Pe($w,{search:C.value,filters:A.value,"active-chips":v.value,"search-placeholder":p.value,"show-search":!1,"start-expanded":"",onSearch:_,onFilterChange:d,onFilterClear:f,onRemoveFilter:g,onClearAll:k},null,8,["search","filters","active-chips","search-placeholder"])]))}},Aw={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},Wu=e=>{if(typeof e=="number")return e;const t=parseFloat(String(e??"").replace(/[^0-9.\-]/g,""));return isNaN(t)?null:t},Ba=e=>e&&typeof e=="object"?e.value??e.label??"":e??"",Ua={id:"doxa-research-dashboard",title:"Big Picture Research Dashboard",element:"doxa-research-dashboard",data:{source:"pray-tools",primaryKey:"slug"},facets:{prayer_level:{label:"Prayer",get:e=>{const t=e==null?void 0:e.people_praying,n=t&&typeof t=="object"?t.value:t;return Ko[co({peoplePraying:n??null})]}},religion:{label:"Religion",get:e=>Xe(e.religion)},religion_family:{label:"Religion Family",dashboardOnly:!0,get:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return n&&Bn[n]?Bn[n]:""},famKey:e=>{const t=e.religion&&typeof e.religion=="object"?e.religion.value:e.religion,n=String(t||"").charAt(0).toUpperCase();return Bn[n]?n:""}},wagf_region:{label:"Region",get:e=>Xe(e.wagf_region)},wagf_block:{label:"Bloc",get:e=>Xe(e.wagf_block)},country_code:{label:"Country",get:e=>Xe(e.country_code),geoIso:e=>e.country_code&&e.country_code.value},engagement_status:{label:"Status",get:e=>Xe(e.engagement_status)},language_family:{label:"Language Family",dashboardOnly:!0,get:e=>{const t=Xe(e.imb_language_family);if(t)return Zr(t);const n=e.primary_language&&typeof e.primary_language=="object"?e.primary_language.value:null,o=n&&Aw[n];return o?Zr(o):""}},primary_language:{label:"Language",get:e=>Xe(e.primary_language)},affinity_bloc:{label:"People",get:e=>Ba(e.rop1),optionLabel:e=>Xe(e.rop1)},cluster:{label:"Cluster",get:e=>Ba(e.imb_reg_of_people_2)},people_group:{label:"People Group",get:e=>Ba(e.imb_reg_of_people_25)},rop1_name:{label:"People (name)",get:e=>Xe(e.rop1)}},facetRail:[{id:"people",title:"People",axis:"people",drill:["affinity_bloc","cluster","people_group"],tree:"affinity",topN:[30,40,60]},{id:"place",title:"Place",axis:"place",drill:["wagf_region","wagf_block","country_code"]},{id:"language",title:"Language",axis:"language",drill:["language_family","primary_language"]},{id:"religion",title:"Religion",axis:"religion",drill:["religion_family","religion"],topN:[12,24]},{id:"status",title:"Status",axis:null,facet:"engagement_status",topN:16}],kpis:[{id:"total",label:"UPGs in scope",kind:"count",showDelta:!0},{id:"pop",label:"Σ population",kind:"sum",field:"population"},{id:"unreached",label:"unreached",kind:"pct",test:e=>!/engaged/i.test(Xe(e.engagement_status))||/unengaged/i.test(Xe(e.engagement_status))},{id:"countries",label:"countries touched",kind:"distinct",field:"country_code",via:"geoIso"},{id:"praying",label:"Σ praying",kind:"sum",field:"people_praying"},{id:"adopted",label:"adopted",kind:"pct",test:e=>Number(e.adopted_by_churches)>0}],columns:[{key:"name",label:"People Group",get:e=>e.name||"",type:"str",w:1.34},{key:"country",label:"Country",get:e=>Xe(e.country_code),type:"str",w:1.04},{key:"region",label:"Region",get:e=>Xe(e.wagf_region),type:"str",w:1.04},{key:"language",label:"Language",get:e=>Xe(e.primary_language),type:"str",w:1.04},{key:"religion",label:"Religion",get:e=>Xe(e.religion),type:"str",w:1.04},{key:"population",label:"Population",get:e=>Wu(e.population),type:"num",w:.86},{key:"people_praying",label:"Praying",get:e=>Wu(e.people_praying),type:"num",w:.66},{key:"engagement",label:"Engagement",get:e=>Xe(e.engagement_status),type:"str",w:.97}],map:{mapStyle:"paper",heartbeatThreshold:150,binThresholds:[5,20,60],heartbeatMode:"fixed",heartbeatQuantile:.1},charts:[{id:"religion",type:"donut",facet:"religion",title:"Religion",topN:8},{id:"region",type:"donut",facet:"wagf_region",title:"Region",topN:9},{id:"country",type:"bar",facet:"country_code",title:"Top countries",topN:12}],detail:{photo:e=>e.has_photo&&e.image_url,fields:["religion","primary_language","people_praying","adopted_by_churches","engagement_status"]},researchFilters:{dropdowns:["prayer_level","affinity_bloc","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],searchPlaceholder:"Search people groups, place, language, religion…"},searchKeys:["name","rop1_name","wagf_region","wagf_block","country_code","primary_language","religion","engagement_status"],search:[{id:"people",label:"Search people",context:"people-groups",kinds:["affinity-bloc","cluster","people-group"]},{id:"place",label:"Search place",context:"regions",kinds:["region","country"]},{id:"language",label:"Search language",context:"language",kinds:["language-family","language","dialect"]},{id:"religion",label:"Search religion",context:"religion",kinds:["religion"]}]},Cw=["data-row-count","data-loading","data-error","data-narrow"],Tw={class:"rd-stats","data-region":"stats","data-sub":"stat-strip"},Lw=["data-kpi"],Pw={class:"l"},Iw={key:0,class:"d","data-kpi-delta":""},Nw={class:"rd-cell-map","data-region":"map"},Mw=["title"],Fw=["title"],Rw={class:"rd-cell-table","data-region":"table"},Ow={class:"rd-rail","data-region":"rail"},Dw=["data-view"],jw=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"research-dashboard",emits:["dashboard-filter"],setup(e,{emit:t}){const n=Ee("profileConfig",ue(null)),o=re(()=>{const W=pe(n);if(!W||typeof W!="object")return Ua;const le={...Ua,...W};return W.map&&typeof W.map=="object"&&(le.map={...Ua.map,...W.map}),le}),r=re(()=>{var W;return((W=pe(n))==null?void 0:W.layout)==="page-scroll"}),{bus:s,data:a,kpis:i,exporter:l,responsive:c}=Q_(o.value),u=t;mt(()=>{var W;return{filters:{...s.filterSet},q:((W=s.searchTerm)==null?void 0:W.value)||""}},({filters:W,q:le})=>u("dashboard-filter",{filterSet:W,searchTerm:le}),{deep:!0});const p=a.total,b=a.loading,x=a.error,{shell:A,isNarrow:y,slimRail:v,slimFacet:C,mobileView:_,SEG:d,tableCollapsed:f,facetCollapsed:g,railCollapsed:k,setView:$,showFacets:I,showMap:S,showTable:R,showCharts:V}=c,{startFacetResize:Z,startRailResize:he,startTableResize:z}=ny({shellRef:A,bus:s,isNarrow:y,storageKey:"rd-dashboard-layout",defaults:{facetW:296,railW:264,tableH:"34%"}});function Y(W){return W.kind==="pct"?W.value:W.kind==="distinct"?W.value||"—":Fu(W.value)}const B=re(()=>{var W;return(W=s.selectionVersion)==null||W.value,s.selectionSet?s.selectionSet.size:0});function E(){l.exportCsvAsync()}function N(){s.clearSelection()}function X(){s.emit("toggleFacet",!g.value)}function j(){s.emit("toggleRail",!k.value)}function q(W){const le=W.target&&W.target.closest&&W.target.closest("[data-bar-export],[data-bar-clear]");le&&(le.hasAttribute("data-bar-export")?E():N())}return Tt(` :host{ display:block; width:100%; height:100%; min-height:560px; box-sizing:border-box; --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --dx-surface:#f3f3f1; --dx-elevated:#ffffff; --dx-text:#3b463d; --dx-muted:#6d766e; @@ -760,4 +762,4 @@ .rd-shell ::-webkit-scrollbar-thumb{ background:var(--dx-scroll-thumb, #c4c8c0); border-radius:8px; } .rd-shell ::-webkit-scrollbar-thumb:hover{ background:#9aa197; } .rd-shell ::-webkit-scrollbar-corner{ background:transparent; } -`,"rd-shell-layout"),(K,ue)=>(Q(),ne("div",{ref_key:"shell",ref:A,class:Me(["rd-shell",{"rd-narrow":pe(y),"rd-slim-rail":pe(v),"rd-slim-facet":pe(E),"rd-table-collapsed":pe(f),"rd-facet-collapsed":pe(g),"rd-rail-collapsed":pe(k),"rd-page-scroll":r.value}]),"data-row-count":pe(p),"data-loading":pe(b)?"1":"0","data-error":pe(x)||"","data-narrow":pe(y)?"1":"0"},[Ie(pe(Hy)),Ie(pe(Sw)),F("div",Cw,[(Q(!0),ne(Ae,null,Qe(pe(i),ge=>(Q(),ne("div",{class:"kpi",key:ge.id},[F("span",{class:"n","data-kpi":ge.id},fe(ge.kind==="count"&&pe(b)?"…":H(ge)),9,Tw),F("span",Lw,fe(ge.label),1),ge.delta?(Q(),ne("span",Pw,"↓"+fe(pe(Fu)(ge.delta)),1)):ze("",!0)]))),128))]),Rt(Ie(pe(lv),null,null,512),[[Zt,pe(M)]]),Rt(F("div",Iw,[Ie(pe(ow)),pe(y)?ze("",!0):(Q(),ne("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:pe(g)?"Show filters":"Hide filters — grow the map",onClick:z},fe(pe(g)?"▸":"◂"),9,Mw)),pe(y)?ze("",!0):(Q(),ne("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:pe(k)?"Show charts":"Hide charts — grow the map",onClick:Y},fe(pe(k)?"◂":"▸"),9,Nw))],512),[[Zt,pe(S)]]),Rt(F("div",Fw,[Ie(pe(Tv))],512),[[Zt,pe(O)]]),Rt(F("aside",Rw,[Ie(pe(y0)),Ie(pe(Wv))],512),[[Zt,pe(q)]]),Rt(F("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:ue[0]||(ue[0]=(...ge)=>pe(J)&&pe(J)(...ge))},null,544),[[Zt,!pe(y)&&!pe(g)]]),Rt(F("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:ue[1]||(ue[1]=(...ge)=>pe(he)&&pe(he)(...ge))},null,544),[[Zt,!pe(y)&&!pe(k)]]),Rt(F("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:ue[2]||(ue[2]=(...ge)=>pe(B)&&pe(B)(...ge))},null,544),[[Zt,!pe(y)&&!pe(f)]]),F("div",{class:"rd-seg","data-segmented":"",onClick:ue[3]||(ue[3]=(...ge)=>pe($)&&pe($)(...ge))},[(Q(!0),ne(Ae,null,Qe(pe(d),ge=>(Q(),ne("button",{key:ge.k,class:Me({on:pe(_)===ge.k}),"data-view-btn":"","data-view":ge.k},fe(ge.l),11,Ow))),128))]),L.value?(Q(),ne("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:ee},[F("b",null,fe(L.value)+" selected",1),ue[4]||(ue[4]=F("span",{class:"sp"},null,-1)),ue[5]||(ue[5]=F("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),ue[6]||(ue[6]=F("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):ze("",!0)],10,Aw))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"rd-shell-layout"),(W,le)=>(ee(),te("div",{ref_key:"shell",ref:A,class:Ne(["rd-shell",{"rd-narrow":pe(y),"rd-slim-rail":pe(v),"rd-slim-facet":pe(C),"rd-table-collapsed":pe(f),"rd-facet-collapsed":pe(g),"rd-rail-collapsed":pe(k),"rd-page-scroll":r.value}]),"data-row-count":pe(p),"data-loading":pe(b)?"1":"0","data-error":pe(x)||"","data-narrow":pe(y)?"1":"0"},[Pe(pe(Hy)),Pe(pe(Ew)),F("div",Tw,[(ee(!0),te(Ce,null,Qe(pe(i),ge=>(ee(),te("div",{class:"kpi",key:ge.id},[F("span",{class:"n","data-kpi":ge.id},fe(ge.kind==="count"&&pe(b)?"…":Y(ge)),9,Lw),F("span",Pw,fe(ge.label),1),ge.delta?(ee(),te("span",Iw,"↓"+fe(pe(Fu)(ge.delta)),1)):Be("",!0)]))),128))]),Rt(Pe(pe(cv),null,null,512),[[Zt,pe(I)]]),Rt(F("div",Nw,[Pe(pe(rw)),pe(y)?Be("",!0):(ee(),te("button",{key:0,class:"rd-edge-caret rd-edge-facet",type:"button","data-toggle-facet":"",title:pe(g)?"Show filters":"Hide filters — grow the map",onClick:X},fe(pe(g)?"▸":"◂"),9,Mw)),pe(y)?Be("",!0):(ee(),te("button",{key:1,class:"rd-edge-caret rd-edge-rail",type:"button","data-toggle-rail":"",title:pe(k)?"Show charts":"Hide charts — grow the map",onClick:j},fe(pe(k)?"◂":"▸"),9,Fw))],512),[[Zt,pe(S)]]),Rt(F("div",Rw,[Pe(pe(Lv))],512),[[Zt,pe(R)]]),Rt(F("aside",Ow,[Pe(pe(v0)),Pe(pe(Kv))],512),[[Zt,pe(V)]]),Rt(F("div",{class:"rd-rz rd-rz-facet","data-resize":"facet",role:"separator","aria-orientation":"vertical",title:"Drag to resize the filters rail",onPointerdown:le[0]||(le[0]=(...ge)=>pe(Z)&&pe(Z)(...ge))},null,544),[[Zt,!pe(y)&&!pe(g)]]),Rt(F("div",{class:"rd-rz rd-rz-rail","data-resize":"rail",role:"separator","aria-orientation":"vertical",title:"Drag to resize the charts rail",onPointerdown:le[1]||(le[1]=(...ge)=>pe(he)&&pe(he)(...ge))},null,544),[[Zt,!pe(y)&&!pe(k)]]),Rt(F("div",{class:"rd-rz rd-rz-table","data-resize":"table",role:"separator","aria-orientation":"horizontal",title:"Drag to resize the table",onPointerdown:le[2]||(le[2]=(...ge)=>pe(z)&&pe(z)(...ge))},null,544),[[Zt,!pe(y)&&!pe(f)]]),F("div",{class:"rd-seg","data-segmented":"",onClick:le[3]||(le[3]=(...ge)=>pe($)&&pe($)(...ge))},[(ee(!0),te(Ce,null,Qe(pe(d),ge=>(ee(),te("button",{key:ge.k,class:Ne({on:pe(_)===ge.k}),"data-view-btn":"","data-view":ge.k},fe(ge.l),11,Dw))),128))]),B.value?(ee(),te("div",{key:0,class:"rd-exportbar","data-export-bar":"",onClick:q},[F("b",null,fe(B.value)+" selected",1),le[4]||(le[4]=F("span",{class:"sp"},null,-1)),le[5]||(le[5]=F("button",{class:"x-clr","data-bar-clear":""},"Clear",-1)),le[6]||(le[6]=F("button",{class:"x-go","data-bar-export":""},"Export CSV ↓",-1))])):Be("",!0)],10,Cw))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/research-dashboard/research-dashboard/index.html b/public/doxa-maps/research-dashboard/research-dashboard/index.html index 43ca8f72e..31e865bd9 100644 --- a/public/doxa-maps/research-dashboard/research-dashboard/index.html +++ b/public/doxa-maps/research-dashboard/research-dashboard/index.html @@ -29,7 +29,7 @@ - +