diff --git a/app/utils/terms/de.ts b/app/utils/terms/de.ts new file mode 100644 index 00000000..1a7389a5 --- /dev/null +++ b/app/utils/terms/de.ts @@ -0,0 +1,181 @@ +import type { TermsContent } from './index' + +export const de: TermsContent = { + title: 'Terminologie', + intro: [ + 'Diese Seite dokumentiert die deutschen Begriffsentscheidungen der DOXA-Partnerschaft. Zu jedem Begriff: die Definition, die erwogenen Alternativen, was Joshua Project und PeopleGroups.org (IMB) verwenden, und der Grund für unsere Wahl.', + 'Unsere Quellen: das von einem deutschsprachigen Prüfer durchgesehene DOXA-Glossar, der Sprachgebrauch deutschsprachiger Missionswerke und Gebetsnetzwerke (etwa Unerreichte-Volksgruppen.de) sowie Luther 2017 und Schlachter 2000 für jede Wendung biblischen Ursprungs.' + ], + seeDefinitionsBefore: 'Die vollständigen Definitionen stehen auf der Seite', + definitionsLinkLabel: 'Begriffsbestimmungen', + seeDefinitionsAfter: '.', + labels: { + english: 'Englisch:', + definition: 'Definition:', + alternatives: 'Erwogene Alternativen:', + jp: 'Joshua Project:', + pg: 'PeopleGroups.org:', + rationale: 'Warum diese Wahl:' + }, + entries: [ + { + term: 'Volksgruppe', + english: 'people group', + definition: + 'eine ethno-linguistische Gruppe, deren Mitglieder sich durch Sprache, Kultur, Religion und Weltanschauung verbunden wissen – die größte Gruppe, innerhalb derer sich das Evangelium ohne Verständnis- oder Akzeptanzbarrieren ausbreiten kann. Die Grundeinheit von allem, was DOXA zählt.', + alternatives: 'Völker · Volk · ethnische Gruppe · Menschengruppe · Personengruppe', + rationale: + 'der eingeführte Begriff der deutschsprachigen Missionsbewegung. Unser Prüfer: „Wir sagen nie Völker, sondern immer Volksgruppen.“ Der Plural „Völker“ klingt nach Nationen, „Personengruppe“ nach Statistik. In der Schweiz ist „Völker“ geläufiger; wir folgen dem deutschen Gebrauch und schreiben durchgehend „Volksgruppe“, auch in Zusammensetzungen (Volksgruppenprofil, DOXA-Volksgruppen).' + }, + { + term: 'Unerreichte Volksgruppe (UVG)', + english: 'unreached people group (UPG)', + definition: + 'etwa 2 Jünger oder weniger auf 100 Menschen (≤ 2 %), ohne die Fähigkeit, ohne kulturübergreifende Hilfe einheimische Gemeinden zu gründen. Joshua Project ergänzt ein Kriterium von ≤ 5 % Christen; DOXA folgt der IMB-Definition.', + alternatives: 'nicht erreichte Volksgruppe · UPG (englisches Kürzel)', + rationale: + 'Standardbegriff im deutschsprachigen evangelikalen Raum (Unerreichte-Volksgruppen.de). Kürzel werden eingedeutscht statt englisch übernommen: Aus UPG wird UVG. Für die allgemeine Gemeindearbeit genügt der Oberbegriff „unerreichte Volksgruppen“; die feineren Kategorien unten richten sich an strategisch Verantwortliche.' + }, + { + term: 'Unberührte Volksgruppe', + english: 'unengaged people group', + definition: + 'keine bekannten Bemühungen, sich selbst tragende Gemeinden zu gründen – die vier Ebenen wirksamer missionarischer Arbeit vor Ort fehlen (apostolischer Einsatz vor Ort; Arbeit in Kultur und Herzenssprache; langfristige Verbindlichkeit; Evangelisation mit dem Ziel einer Gemeindegründungsbewegung). Ein Fachbegriff aus dem Umfeld der IMB: Er sagt, dass niemand unter ihnen arbeitet – nicht, dass die Menschen gleichgültig wären.', + alternatives: 'nicht-engagierte Volksgruppe · völlig unerreichte Volksgruppe · Volksgruppe ohne missionarische Arbeit vor Ort', + rationale: + 'die abschließende Entscheidung unseres Prüfers: „Im Deutschen sprechen wir von unberührten Landstrichen.“ „Unberührt“ sagt, dass noch niemand begonnen hat, ohne Gleichgültigkeit zu unterstellen. „Nicht-engagiert“ klingt nach persönlichem Desinteresse; „völlig unerreicht“ bleibt der kombinierten Kategorie VUVG vorbehalten.' + }, + { + term: 'Völlig unerreichte Volksgruppe (VUVG)', + english: 'unengaged unreached people group (UUPG)', + definition: + 'die kombinierte Kategorie – unerreicht und unberührt. Die 2.085 Volksgruppen, für die DOXA Gebet mobilisiert.', + alternatives: 'unerreichte und unberührte Volksgruppe · UUPG (englisches Kürzel)', + pg: 'UUPG ist das international eingeführte Kürzel.', + rationale: + '„völlig unerreicht“ bringt auf den Punkt, was UUPG meint: keine Gläubigen und niemand, der unter ihnen arbeitet. Das Kürzel wird wie UVG eingedeutscht (VUVG). „Unberührt“ und „völlig unerreicht“ bleiben bewusst zwei getrennte Begriffe, damit die Kategorien unterscheidbar bleiben.' + }, + { + term: 'Am wenigsten erreichte Volksgruppe', + english: 'under-engaged people group', + definition: + 'etwa 1 Jünger oder weniger auf 100 (≤ 1 %): Die Arbeit hat begonnen, aber es braucht mehr Gemeindegründungsteams für eine fruchtbare Arbeit vor Ort.', + alternatives: 'unterversorgte Volksgruppe · wenig erreichte Volksgruppe · unterengagierte Volksgruppe', + rationale: + 'die Wendung, die Unerreichte-Volksgruppen.de verwendet, und die abschließende Wahl unseres Prüfers. Sie beschreibt den Grad der Erreichung, nicht eine Haltung der Menschen.' + }, + { + term: 'Frontier-Volksgruppe', + english: 'frontier people group', + definition: + 'etwa 1 Jünger oder weniger auf 1.000 (≤ 0,1 %), ohne bestätigte, anhaltende Bewegung zu Jesus hin – die unerreichtesten der Unerreichten. Der Begriff stammt von Joshua Project.', + alternatives: 'Grenzvolksgruppe · Pioniervolksgruppe', + jp: '„Grenzvolksgruppen“ in einem deutsch untertitelten Video.', + rationale: + 'das englische Lehnwort wird beibehalten und bei der ersten Nennung erklärt. „Grenze“ liest sich im Deutschen als Landesgrenze; „Pionier“ beschreibt die Arbeit, nicht die Volksgruppe.' + }, + { + term: 'Missionarische Arbeit vor Ort · engagiert', + english: 'engagement · engaged', + definition: + 'eine dauerhafte, ansässige, kulturübergreifende Arbeit, die Christus bezeugt und Jünger macht, auf sich selbst tragende Gemeinden zielt und kulturell angemessen geschieht (siehe „Was ist Engagement?“ auf der Seite Vision).', + alternatives: 'Engagement · Beteiligung · Kontakt · Einsatz', + rationale: + '„missionarische Arbeit vor Ort“ macht konkret, was gemeint ist: ansässig, dauerhaft, kulturübergreifend. „Beteiligung“ oder „Kontakt“ würden den Begriff entleeren, und „Engagement“ allein klingt im Deutschen nach ehrenamtlichem Einsatz. Das Adjektiv bleibt „engagiert“, damit Status und Definition denselben Wortstamm teilen; in Zusammensetzungen steht „Engagement vor Ort“ (Arbeit ansässiger Mitarbeiter/innen) und „weiteres Engagement“ (Beiträge von Projektpartnern von außen). In Oberflächenbeschriftungen steht die Kurzform „Arbeit vor Ort“ (Status der Arbeit vor Ort, Kriterien für Arbeit vor Ort).' + }, + { + term: 'Gemeindegründungsbewegung', + english: 'church-planting movement (CPM)', + definition: + 'eine Vervielfältigung einheimischer Gemeinden, die ihrerseits Gemeinden gründen – mindestens vier Stränge von je vier geistlichen Generationen mit insgesamt mehr als 1.000 Personen.', + alternatives: 'Kirchengründungsbewegung · das englische Kürzel CPM', + rationale: + '„Gemeinde“ ist das Wort der deutschsprachigen Freikirchen für die örtliche Gemeinde; „Kirche“ klingt institutionell. Ein deutsches Kürzel hat sich nicht eingebürgert, deshalb steht in technischen Zusammenhängen weiterhin CPM daneben.' + }, + { + term: 'Einheimische Gemeinde', + english: 'indigenous church', + definition: + 'eine Gemeinde, die aus der Volksgruppe selbst hervorgeht und in den fünf „Selbst“ heranreift: sich selbst ausbreitend, sich selbst leitend, sich selbst finanzierend, selbst Theologie treibend, selbst missionierend.', + alternatives: 'indigene Gemeinde · autochthone Gemeinde · Ortsgemeinde', + rationale: + '„einheimisch“ sagt lokal verwurzelt und selbstständig. „Indigen“ weckt im Deutschen die Assoziation an indigene Völker und Naturreligionen; „autochthon“ ist Fachsprache, die im Gemeindealltag kaum jemand benutzt.' + }, + { + term: 'Kulturübergreifende Mitarbeiter/innen', + english: 'cross-cultural workers', + alternatives: 'interkulturelle Mitarbeiter · transkulturelle Mitarbeiter · ausländische Missionare', + rationale: + '„kulturübergreifend“ benennt das Hinübergehen in eine andere Kultur – den missionarischen Sinn –, während „interkulturell“ eher den Austausch zwischen nebeneinander lebenden Kulturen meint (interkulturelle Kompetenz). Die Form mit „/innen“ ist die des geprüften Glossars.' + }, + { + term: 'Herr der Ernte', + english: 'Lord of the harvest', + rationale: + 'Matthäus 9,38 (Luther 2017): „Darum bittet den Herrn der Ernte, dass er Arbeiter aussende in seine Ernte.“ Schlachter 2000 lautet bis auf die Wortstellung gleich. Unsere biblischen Wendungen folgen diesen beiden Übersetzungen.' + }, + { + term: 'Gebet bahnt den Weg', + english: 'prayer prepares the way', + alternatives: 'Gebet bereitet den Weg · Gebet bereitet den Boden', + rationale: + 'Anklang an Jesaja 40,3 (Luther 2017): „Bereitet dem HERRN den Weg, macht in der Steppe eine ebene Bahn unserm Gott!“ „Bahnen“ sagt, dass ein Weg entsteht, wo noch keiner war – genau das tut Fürbitte, lange bevor Mitarbeiter eintreffen. „Den Boden bereiten“ bleibt richtig, wo der englische Text „prepares the soil“ sagt.' + }, + { + term: 'Herzenssprache', + english: 'heart language', + alternatives: 'Muttersprache', + rationale: + 'der eingeführte Begriff der deutschsprachigen Missions- und Bibelübersetzungsarbeit für die Sprache, in der ein Mensch denkt und fühlt – im Unterschied zur Amts- oder Verkehrssprache, was „Muttersprache“ nicht ausdrückt.' + }, + { + term: 'Gebetsanliegen', + english: 'prayer points', + alternatives: 'Gebetspunkte · Gebetsimpulse · Gebetsaufforderungen', + rationale: + '„Gebetsanliegen“ ist das natürliche Wort deutschsprachiger Gemeinden; „Gebetspunkte“ ist eine Lehnübersetzung, „Gebetsaufforderung“ klingt nach Befehl. Das tägliche Ganze heißt „täglicher Gebetsleitfaden“.' + }, + { + term: 'Adoptieren (eine Volksgruppe)', + english: 'adopt a people group', + alternatives: 'eine Patenschaft übernehmen · auswählen · sich verpflichten', + rationale: + 'unser Prüfer hat „Patenschaft übernehmen“ verworfen: Im deutschsprachigen Raum sagt man längst „eine Volksgruppe adoptieren“, und „adoptieren“ trägt nicht mehr familienrechtliches Gewicht als das englische Wort. „Auswählen“ bleibt dem Schritt der Auswahl vorbehalten („Wählen Sie eine Volksgruppe aus“).' + }, + { + term: 'Unser Geschenk an Jesus', + english: 'our gift to Jesus', + alternatives: 'unsere Gabe an Jesus · unser Opfer für Jesus', + rationale: '„Geschenk“ behält die Wärme einer Gabe aus Anbetung; „Gabe“ klingt nach Kollekte, „Opfer“ nach Verlust.' + }, + { + term: 'World Assemblies of God Fellowship (WAGF)', + english: 'World Assemblies of God Fellowship (WAGF)', + alternatives: 'Weltweite Gemeinschaft der Assemblies of God', + rationale: + 'ein etablierter deutscher Name existiert nicht, und Organisationsnamen bleiben nach unserer Glossarregel unübersetzt. Das Kürzel WAGF bleibt auf der ganzen Website gleich.' + }, + { + term: 'Sendeorganisationen', + english: 'sending agencies', + alternatives: 'Entsendeorganisationen · Missionswerke · Missionsgesellschaften', + rationale: + 'Begriff des geprüften Glossars. „Missionswerk“ ist das gängige deutsche Wort, aber weiter gefasst; „Sendeorganisation“ hält die Aufgabe des Sendens sichtbar, die zum Dreiklang beten, geben und senden gehört.' + }, + { + term: 'Tägliches Gebet (für eine Volksgruppe)', + english: 'daily prayer (for a people group)', + definition: + 'die Verpflichtung, jeden Tag für eine bestimmte unberührte Volksgruppe zu beten – mit dem täglichen Gebetsleitfaden. Das Ziel: mehr als 100 tägliche Fürbitter/innen für jede Volksgruppe.', + alternatives: 'regelmäßiges Gebet · 24-Stunden-Gebetsabdeckung (früheres Ziel: 144 Fürbitter × 10 Minuten)', + rationale: + '„täglich“ ist gewollt – eine Verpflichtung für jeden Tag, kein gelegentliches Gebet. Das frühere Bild von 144 Fürbittern, die zusammen 24 Stunden abdecken, wurde durch das Ziel von mehr als 100 täglichen Fürbitter/innen abgelöst.' + }, + { + term: 'Jeder Stamm, jede Zunge, jedes Volk und jede Nation', + english: 'every tribe, tongue, people, and nation', + rationale: + 'Offenbarung 5,9 und 7,9 – das Bild, das die ganze Arbeit motiviert. Luther 2017 und Schlachter 2000 übersetzen „aus allen Stämmen und Sprachen und Völkern und Nationen“; die Glossarform behält „Zunge“ als wörtliche Wiedergabe des biblischen Begriffs bei. Jedes der vier Wörter benennt eine eigene Dimension menschlicher Vielfalt.' + } + ] +} diff --git a/app/utils/terms/en.ts b/app/utils/terms/en.ts index 0b9add6c..14bbef31 100644 --- a/app/utils/terms/en.ts +++ b/app/utils/terms/en.ts @@ -109,9 +109,9 @@ export const en: TermsContent = { 'Organizations that recruit, train, support, and send missionaries. DOXA works with sending agencies (129 WAGF-affiliated as of 2026) but does not replace them.' }, { - term: '24-hour prayer coverage', + term: 'Daily prayer (for a people group)', definition: - 'At least 144 intercessors each praying 10 minutes a day for one people group — together, 24 hours of daily prayer.' + 'Committing to pray for a specific unengaged people group every day, using the daily prayer guide. The goal is 100+ daily intercessors for each people group. "Daily" is intentional — an every-day commitment, not regular or occasional prayer; it replaces the earlier framing of 144 intercessors covering 24 hours.' }, { term: 'Every tribe, tongue, people, and nation', diff --git a/app/utils/terms/fr.ts b/app/utils/terms/fr.ts index ed2fdd6d..e8dd1615 100644 --- a/app/utils/terms/fr.ts +++ b/app/utils/terms/fr.ts @@ -168,12 +168,13 @@ export const fr: TermsContent = { rationale: 'terme usuel des structures missionnaires francophones ; « agence d’envoi » est un calque.' }, { - term: 'Couverture de prière 24h/24', - english: '24-hour prayer coverage', + term: 'Prière quotidienne (pour un peuple)', + english: 'daily prayer (for a people group)', definition: - 'au moins 144 intercesseurs priant chacun 10 minutes par jour pour un même peuple — soit 24 heures de prière quotidienne.', - alternatives: 'couverture de prière de 24 heures', - rationale: '« 24h/24 » est la forme idiomatique française pour une couverture continue.' + 'l’engagement de prier chaque jour pour un peuple non engagé précis, à l’aide du guide de prière quotidien. L’objectif : 100 intercesseurs quotidiens ou plus pour chaque peuple.', + alternatives: 'prière régulière · couverture de prière 24h/24 (ancien objectif : 144 intercesseurs × 10 minutes)', + rationale: + '« quotidienne » est voulu — un engagement de chaque jour, non une prière occasionnelle. L’ancien cadre des 144 intercesseurs couvrant 24 heures a été remplacé par l’objectif de 100 intercesseurs quotidiens ou plus.' }, { term: 'Toute tribu, toute langue, tout peuple et toute nation', diff --git a/app/utils/terms/index.ts b/app/utils/terms/index.ts index 96804b8f..2fdf5c30 100644 --- a/app/utils/terms/index.ts +++ b/app/utils/terms/index.ts @@ -7,6 +7,7 @@ import { en } from './en' import { fr } from './fr' +import { de } from './de' export interface TermEntry { /** Canonical term in this edition's language. */ @@ -41,7 +42,7 @@ export interface TermsContent { entries: TermEntry[] } -const editions: Record = { en, fr } +const editions: Record = { en, fr, de } export function getTermsContent(locale: string): TermsContent { return editions[locale] ?? en diff --git a/config/glossaries.ts b/config/glossaries.ts index d93eeacb..04f4c47d 100644 --- a/config/glossaries.ts +++ b/config/glossaries.ts @@ -96,20 +96,20 @@ export const GLOSSARIES: Record ["people groups", "Volksgruppen"], ["unreached people group", "unerreichte Volksgruppe"], ["unreached people groups", "unerreichte Volksgruppen"], - ["unengaged people group", "nicht-engagierte Volksgruppe"], - ["unengaged people groups", "nicht-engagierte Volksgruppen"], - ["unengaged unreached people group", "unerreichte und nicht-engagierte Volksgruppe"], - ["under-engaged", "unterengagiert"], + ["unengaged people group", "unberührte Volksgruppe"], + ["unengaged people groups", "unberührte Volksgruppen"], + ["unengaged unreached people group", "völlig unerreichte Volksgruppe (VUVG)"], + ["under-engaged", "am wenigsten erreicht"], ["frontier people group", "Frontier-Volksgruppe"], ["frontier people groups", "Frontier-Volksgruppen"], - ["ethnolinguistic group", "ethnolinguistische Gruppe"], + ["ethnolinguistic group", "ethno-linguistische Gruppe"], ["unreached", "unerreicht"], - ["unengaged", "nicht-engagiert"], + ["unengaged", "unberührt"], ["engaged", "engagiert"], - ["engagement", "Engagement"], - ["fruitful engagement", "fruchtbares Engagement"], + ["engagement", "missionarische Arbeit vor Ort"], + ["fruitful engagement", "fruchtbare Arbeit vor Ort"], ["gospel access", "Zugang zum Evangelium"], - ["gospel engagement", "Engagement für das Evangelium"], + ["gospel engagement", "Evangelisationsarbeit"], ["the gospel", "das Evangelium"], ["church-planting movement", "Gemeindegründungsbewegung"], ["church planting", "Gemeindegründung"], @@ -121,33 +121,33 @@ export const GLOSSARIES: Record ["self-theologizing", "selbsttheologisierend"], ["self-missionizing", "selbstmissionierend"], ["residential engagement", "Engagement vor Ort"], - ["workers in residence", "Mitarbeiter vor Ort"], - ["cross-cultural workers", "interkulturelle Mitarbeiter"], + ["workers in residence", "vor Ort ansässige Mitarbeiter/innen"], + ["cross-cultural workers", "kulturübergreifende Mitarbeiter/innen"], ["apostolic effort", "apostolischer Einsatz"], ["pioneer work", "Pionierarbeit"], - ["heart language", "Muttersprache"], - ["movement to Jesus", "Bewegung zu Jesus"], - ["nonresident partners", "nicht-residente Partner"], - ["broader engagement", "erweitertes Engagement"], + ["heart language", "Herzenssprache"], + ["movement to Jesus", "Bewegung zu Jesus hin"], + ["nonresident partners", "Projektpartner"], + ["broader engagement", "weiteres Engagement"], ["diaspora", "Diaspora"], ["daily prayer", "tägliches Gebet"], ["24-hour prayer coverage", "24-Stunden-Gebetsabdeckung"], - ["intercessor", "Fürbitter"], - ["intercessors", "Fürbitter"], - ["intercessory prayer", "Fürbitte"], + ["intercessor", "Fürbitter/in"], + ["intercessors", "Fürbitter/innen"], + ["intercessory prayer", "Fürbittegebet"], ["prayer points", "Gebetsanliegen"], ["daily prayer guide", "täglicher Gebetsleitfaden"], - ["prayer prepares the way", "Gebet bereitet den Weg"], + ["prayer prepares the way", "Gebet bahnt den Weg"], ["Lord of the harvest", "Herr der Ernte"], ["adopt", "adoptieren"], ["pray, give, and send", "beten, geben und senden"], ["mobilize", "mobilisieren"], ["mobilization", "Mobilisierung"], - ["sending agency", "Entsendeorganisation"], - ["sending agencies", "Entsendeorganisationen"], - ["our gift to Jesus", "unsere Gabe an Jesus"], - ["DOXA partnership missionaries", "DOXA-Partnerschaftsmissionare"], - ["every tribe, tongue, people, and nation", "jeder Stamm, jede Sprache, jedes Volk und jede Nation"], + ["sending agency", "Sendeorganisation"], + ["sending agencies", "Sendeorganisationen"], + ["our gift to Jesus", "unser Geschenk an Jesus"], + ["DOXA partnership missionaries", "DOXA-Partnermissionare"], + ["every tribe, tongue, people, and nation", "jeder Stamm, jede Zunge, jedes Volk und jede Nation"], ["make disciples of all the nations", "macht zu Jüngern alle Völker"], ["disciple", "Jünger"], ["disciples", "Jünger"], @@ -174,7 +174,7 @@ export const GLOSSARIES: Record ["pre-millennial return", "prämillenniale Wiederkunft"], ["bodily resurrection", "leibliche Auferstehung"], ["pray", "beten"], - ["engage", "engagieren"], + ["engage", "eine missionarische Arbeit vor Ort beginnen"], ["choose a people group", "eine Volksgruppe wählen"], ["sign up", "anmelden"] ], diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/buttons.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/buttons.json index 8e217283..aaef35fe 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/buttons.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/buttons.json @@ -1,6 +1,6 @@ { "prayForThem": "Für sie beten", - "adoptThem": "Sie adoptieren", + "adoptThem": "Adoptieren", "moreInfo": "Mehr Infos", "zoomIn": "Vergrößern", "zoomOut": "Verkleinern", diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json index 0eb64b9a..83a956b7 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/legend.json @@ -1,7 +1,7 @@ { "title": { "prayer": "Gebetsfortschritt", - "engagement": "Engagement-Fortschritt", + "engagement": "Fortschritt der Arbeit vor Ort", "adoption": "Adoptionsfortschritt", "languageFamilies": "Sprachfamilien", "doxaRegions": "Doxa-Regionen", @@ -18,15 +18,15 @@ "fullPrayerCoverage": "100+ Menschen beten" }, "engagement": { - "needsEngagement": "Braucht Engagement", - "hasEngagement": "Hat Engagement" + "needsEngagement": "Unberührt", + "hasEngagement": "Engagiert" }, "adoption": { - "needsAdoption": "Braucht Adoption", - "hasAdoption": "Hat Adoption" + "needsAdoption": "Wartet auf Adoption", + "hasAdoption": "Adoptiert" }, "columns": { - "upgs": "UUPGs", + "upgs": "VUVGs", "population": "Bevölkerung" }, "footer": { diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/prayerLaps.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/prayerLaps.json index fb6f8caa..02451500 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/prayerLaps.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/prayerLaps.json @@ -1,6 +1,6 @@ { "header": "AKTUELLE GEBETSRUNDE", "lap": "Runde", - "upgs": "UUPGs", + "upgs": "VUVGs", "separator": " von " } diff --git a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/search.json b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/search.json index 135cc5ed..62d5d321 100644 --- a/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/search.json +++ b/embeddables/micro-frontends/1040-maps/src/i18n/locales/de/search.json @@ -1,7 +1,7 @@ { - "placeholder": "Volk, Ort, Sprache, Religion", + "placeholder": "Volksgruppe, Ort, Sprache, Religion", "labels": { - "people": "Volk:", + "people": "Volksgruppe:", "place": "Ort:", "language": "Sprache:", "religion": "Religion:" diff --git a/i18n/locales/de/common.json b/i18n/locales/de/common.json index 9d149c3c..bf7c0a07 100644 --- a/i18n/locales/de/common.json +++ b/i18n/locales/de/common.json @@ -6,7 +6,7 @@ "By Region": "Nach Region", "Countries": "Länder", "Countries in this region": "Länder in dieser Region", - "Engagement Progress": "Engagement-Fortschritt", + "Engagement Progress": "Fortschritt der Arbeit vor Ort", "Find unreached people groups by region and country.": "Finde unerreichte Volksgruppen nach Region und Land.", "Goal": "Ziel", "Other": "Andere", @@ -17,15 +17,15 @@ "See %region% dashboard": "Dashboard anzeigen: %region%", "There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.": "In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.", "A church-led commitment to pray, give, and send so that gospel access begins": "Verpflichtung einer Ortsgemeinde zum Beten, Geben und Senden, damit ein Volk Zugang zum Evangelium erhält", - "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Ein klares, elegantes Thema für DOXA Life – Bis 2033 alle Volksgruppen erreichen", + "A clean, elegant theme for DOXA Life - Engaging every people group by 2033": "Ein klares, elegantes Thema für DOXA Life – Bis 2033 in allen Volksgruppen eine missionarische Arbeit vor Ort", "A simple path to faithful obedience": "Drei einfache Schritte, die du gehen kannst", - "About": "Über Zúme", + "About": "Über uns", "Actively help surface and support potential goers, encouraging those God may be calling to cross cultures and serve this people group directly.": "Hilf aktiv mit, potenzielle Leute zu finden und zu begleiten, welche Gott vielleicht dazu beruft, Kulturen zu überschreiten, um dieser Volksgruppe direkt zu dienen.", "Additional tools to help your church stay engaged in prayer for this people group": "Weitere Hilfsmittel, die Ihrer Gemeinde helfen, diese Volksgruppe weiterhin im Gebet zu begleiten", "Adopt": "Adoptieren", - "Adopt an unengaged people group": "Adoptiere eine völlig unerreichte Volksgruppe", + "Adopt an unengaged people group": "Adoptiere eine unberührte Volksgruppe", "Adopt people group": "Volksgruppe adoptieren", - "Adopted": "Angenommen", + "Adopted": "Adoptiert", "Adoption Certificate": "Adoptionsurkunde", "Adoption Form": "Adoptionsformular", "Adoption Goal": "Unser Ziel", @@ -33,9 +33,9 @@ "Adoption Progress": "Adoptionsfortschritt", "Adoption Resources": "Ressourcen zum Thema Adoption", "Adoption Status": "Adoptionsstatus", - "Adoption invites the local church into meaningful participation - praying, giving, and sending – so that a people group moves from unengaged to engaged, and ultimately becomes a worshipping community for Jesus.": "Die Adoption lädt die örtliche Gemeinde zu einer sinnvollen Beteiligung ein – durch Gebet, Spenden und Entsendung –, damit eine Volksgruppe von einer nicht engagierten zu einer engagierten Gruppe wird und schließlich zu einer Jesus anbetenden Gemeinschaft.", + "Adoption invites the local church into meaningful participation - praying, giving, and sending – so that a people group moves from unengaged to engaged, and ultimately becomes a worshipping community for Jesus.": "Die Adoption lädt die örtliche Gemeinde zu einer sinnvollen Beteiligung ein – durch Beten, Geben und Senden –, damit eine Volksgruppe von einer unberührten zu einer engagierten Gruppe wird und schließlich zu einer Jesus anbetenden Gemeinschaft.", "Adoption is a much bigger commitment than signing up to pray. If you only wish to pray, click the button below. Please remember to also sign up to pray after you fill out the adoption form.": "Eine Adoption ist eine viel größere Verpflichtung als die Anmeldung zum Beten. Wenn Sie nur beten möchten, klicken Sie auf die Schaltfläche unten. Bitte denken Sie daran, sich nach dem Ausfüllen des Adoptionsformulars auch zum Beten anzumelden.", - "Adoption mobilizes 100+ daily intercessors whose prayer prepares the soil, breaks spiritual barriers, and supports workers who go. Every gospel movement begins with prayer.": "Die Adoption mobilisiert täglich mehr als 100 Fürbitter, deren Gebet den Boden bereitet, geistliche Barrieren durchbricht und die Mitarbeiter unterstützt, die vor Ort tätig sind. Jede evangelistische Bewegung beginnt mit Gebet.", + "Adoption mobilizes 100+ daily intercessors whose prayer prepares the soil, breaks spiritual barriers, and supports workers who go. Every gospel movement begins with prayer.": "Die Adoption mobilisiert täglich mehr als 100 Fürbitter/innen, deren Gebet den Boden bereitet, geistliche Barrieren durchbricht und die Mitarbeiter unterstützt, die vor Ort tätig sind. Jede evangelistische Bewegung beginnt mit Gebet.", "All rights reserved.": "Alle Rechte vorbehalten.", "Alternate Names": "Alternative Namen", "Audio Scripture": "Audio-Schriftstelle", @@ -47,7 +47,7 @@ "Choose": "Choose", "Choose a people group": "Wähle eine Volksgruppe aus", "Choose an unengaged people group you will commit to pray for daily.": "Wähle eine Volksgruppe aus, für die du täglich beten möchtest.", - "Church planting movements among every unreached people on earth": "Gemeindegründungsbewegungen unter jedem unerreichten Volk auf der Erde zu sehen", + "Church planting movements among every unreached people on earth": "Gemeindegründungsbewegungen unter jeder unerreichten Volksgruppe auf der Erde zu sehen", "Church/Group Name": "Name der Kirche/Gruppe", "Churches and networks take ownership – praying, giving, and preparing the way for gospel workers.": "Kirchen und Netzwerke übernehmen Verantwortung – sie beten, spenden und bereiten den Weg für Mitarbeiter des Evangeliums.", "Churches become active partners in God's mission": "Kirchen werden zu aktiven Partnern in Gottes Mission", @@ -63,10 +63,10 @@ "Contact Page": "Kontaktseite", "Contact Us": "Kontaktiere uns", "Country": "Land", - "Cross-cultural workers present": "Interkulturelle Mitarbeiter anwesend", + "Cross-cultural workers present": "Kulturübergreifende Mitarbeiter/innen anwesend", "Current Status": "Aktueller Status", "DOXA Campaign Talking Points": "DOXA-Kampagne: Kernaussagen", - "DOXA Life": "DOXA Leben", + "DOXA Life": "DOXA Life", "DOXA Playbook": "DOXA-Leitfaden", "DOXA Playbook Slides": "DOXA-Playbook-Folien", "DOXA Promo Video": "DOXA-Werbevideo", @@ -83,36 +83,36 @@ "Email": "E-Mail", "Email Templates": "E-Mail-Vorlagen", "Engage": "Bring dich ein", - "Engage every people by 2033": "Bis 2033 in allen Volksgruppen eine Gemeindegründungsarbeit", + "Engage every people by 2033": "Bis 2033 in allen Volksgruppen eine missionarische Arbeit vor Ort", "Engaged": "Engagiert", "Engaged!": "Engagiert!", - "Engagement Status": "Engagement-Status", - "Engagement starts with prayer": "Dein Engagement beginnt mit Gebet.", + "Engagement Status": "Status der Arbeit vor Ort", + "Engagement starts with prayer": "Missionarische Arbeit vor Ort beginnt mit Gebet.", "Enter Church/Group Name": "Name der Kirche/Gruppe eingeben", "Enter your email": "Gib deine Email Adresse ein", "Enter your message": "Gib deine Nachricht ein", "Enter your name": "Gib deinen Namen ein", - "Every movement of the gospel begins with intercession. Cover an unengaged people group in daily prayer and help prepare the way.": "Jede Bewegung des Evangeliums beginnt mit Fürbitte. Sege eine unerreichte Volksgruppe täglich durch dein Gebet und bringe sie somit näher zu Jesus.", - "Every unengaged people group adopted by a church committed to prayer, giving, and sending": "Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden", - "Every unengaged people on earth engaged by 2033": "Alle unverheirateten Menschen auf der Erde werden bis 2033 verheiratet sein.", + "Every movement of the gospel begins with intercession. Cover an unengaged people group in daily prayer and help prepare the way.": "Jede Bewegung des Evangeliums beginnt mit Fürbitte. Segne eine unberührte Volksgruppe täglich durch dein Gebet und bringe sie somit näher zu Jesus.", + "Every unengaged people group adopted by a church committed to prayer, giving, and sending": "Jede einzelne der unberührten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden", + "Every unengaged people on earth engaged by 2033": "Bis 2033 hat jede unberührte Volksgruppe der Erde eine missionarische Arbeit vor Ort", "Exact Search": "Exakte Suche", "Example: Pastor, Missions Pastor, Elder, Volunteer Leader etc.": "Beispiel: Pastor, Missionspastor, Ältester, ehrenamtlicher Leiter usw.", "Find a UUPG": "Eine VUVG finden", "First Name": "Vorname", - "Frontier People": "Frontier Gruppen", - "Fruitful engagement among frontier peoples and the under-engaged": "Ein fruchtbares Zusammenwirken zwischen Frontier Gruppen und \"wenig-erreichten Gruppen\" zu haben", + "Frontier People": "Frontier-Volksgruppen", + "Fruitful engagement among frontier peoples and the under-engaged": "Eine fruchtbare Arbeit vor Ort unter Frontier-Volksgruppen und den am wenigsten erreichten Volksgruppen zu haben", "Full Profile": "Vollständiges Profil", "General Resources": "Allgemeine Ressourcen", "Get Started": "Los geht's", "Give": "Spenden", - "Give to support gospel work among unreached peoples": "Spenden Sie, um die Evangelisationsarbeit unter unerreichten Völkern zu unterstützen", + "Give to support gospel work among unreached peoples": "Spenden Sie, um die Evangelisationsarbeit unter unerreichten Volksgruppen zu unterstützen", "Global Partnership for the Unreached": "Globale Partnerschaft für die Unerreichten", "God raises up men and women to go, serve, and proclaim Christ among the nations.": "Gott beruft Männer und Frauen dazu, hinauszugehen, zu dienen und Christus unter den Völkern zu verkünden.", "Gospel Ambition Team": "Gospel Ambition Team", "Gospel Recordings": "Gospel-Aufnahmen", "Graphics, QR code and slides for sharing with your congregation": "Grafiken, QR-Codes und Folien zum Weitergeben an Ihre Gemeinde", "Has prayer coverage": "Hat Gebetsabdeckung", - "Help prepare the way for gospel engagement through prayer": "Bete mit uns, um den Weg für die Verkündigung des Evangeliums zu bereiten", + "Help prepare the way for gospel engagement through prayer": "Bete mit uns, um den Weg für die Evangelisationsarbeit zu bahnen", "Helpful tips for sustaining long-term commitment": "Hilfreiche Tipps für ein langfristiges Engagement", "Hide Filters": "Filter ausblenden", "Home": "Home", @@ -125,7 +125,7 @@ "In partnership with the global church, our vision is for...": "In Zusammenarbeit mit der globalen Kirche ist unsere Vision…", "Info": "Info", "Initial Proposal": "Erstantrag", - "Intercessors": "Fürbitter", + "Intercessors": "Fürbitter/innen", "Introduction": "Einleitung", "Introduction 2025": "Einleitung 2025", "It looks like nothing was found at this location. Perhaps one of the links below can help.": "An diesem Ort wurde offenbar nichts gefunden. Vielleicht kann einer der folgenden Links weiterhelfen.", @@ -140,9 +140,9 @@ "Load More": "Mehr laden", "Loading results...": "Ergebnisse werden geladen...", "Location of Church/Group": "Standort der Kirche/Gruppe", - "Many unengaged people groups have no churches, no missionaries, and often no believers, meaning little to no consistent prayer is being offered on their behalf.": "Viele der völlig unerreichten Volksgruppen haben keine Kirchen, keine Missionare und oft auch keine Gläubigen, was bedeutet, dass kaum oder gar nicht für sie gebetet wird.", + "Many unengaged people groups have no churches, no missionaries, and often no believers, meaning little to no consistent prayer is being offered on their behalf.": "Viele der unberührten Volksgruppen haben keine Kirchen, keine Missionare und oft auch keine Gläubigen, was bedeutet, dass kaum oder gar nicht für sie gebetet wird.", "Message": "Nachricht", - "Mobilization of 20,000+ DOXA partnership missionaries": "20,000 DOXA-Partnerschafts-Missionare zu mobilisieren", + "Mobilization of 20,000+ DOXA partnership missionaries": "20.000+ DOXA-Partnermissionare zu mobilisieren", "Mobilize": "Mobilize", "Mobilize 100+ people praying daily for each DOXA people group": "Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten", "Mobilize others in your church to join in prayer": "Mobilisieren Sie andere in Ihrer Gemeinde, sich dem Gebet anzuschließen", @@ -151,11 +151,11 @@ "Name": "Name", "No": "Nein", "No options found": "Keine Standorte gefunden", - "No prayer coverage": "Keine Gebetsberichterstattung", - "No unengaged people groups by 2033": "Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt", + "No prayer coverage": "Keine Gebetsabdeckung", + "No unengaged people groups by 2033": "Dass es bis 2033 keine unberührte Volksgruppe mehr gibt", "Not Adopted": "noch nicht adoptiert", "Not Done": "Nicht fertig", - "Not Engaged": "Nicht-engagiert", + "Not Engaged": "Unberührt", "Our gift to Jesus": "Unser Geschenk an Jesus", "Our hope is to cover each of them in extraordinary prayer. You and your church can be part of it.": "Unsere Hoffnung ist es, jede von ihnen mit außergewöhnlichem Gebet abzudecken. Du und deine Gemeinde können Teil davon sein.", "Out of {0} DOXA people groups:": "Von {0} DOXA-Volksgruppen:", @@ -165,8 +165,8 @@ "Partner financially on a monthly basis with the Doxa Foundation to help sustain prayer mobilization, campaign operations, and the sending of gospel workers.": "Unterstütze die Doxa Foundation monatlich finanziell, um die Mobilisierung von Betern, Kampagnen und die Entsendung von Evangelisten zu fördern.", "Partner through prayer, giving, and sending so that gospel access begins.": "Nimm durch Beten, Geben und Senden daran teil, damit der Zugang zum Evangelium möglich wird.", "Partnering Church": "Partnerkirche", - "People Group": "Personengruppe", - "People Group Not Found": "Personengruppe nicht gefunden", + "People Group": "Volksgruppe", + "People Group Not Found": "Volksgruppe nicht gefunden", "People committed to praying": "Menschen, die sich dem Beten verpflichtet haben", "People groups with complete daily prayer coverage": "Volksgruppen mit vollständiger täglicher Gebetsabdeckung", "Per Page": "Pro Seite", @@ -179,22 +179,22 @@ "Popular Pages:": "Beliebte Seiten:", "Population": "Bevölkerung", "Pray": "Ich bete", - "Pray earnestly to the Lord of the harvest ...that He would send laborers to the [Unengaged].": "Bittet den Herrn der Ernte, dass er Arbeiter zu den [völlig Unerreichten] sende!", + "Pray earnestly to the Lord of the harvest ...that He would send laborers to the [Unengaged].": "Bittet den Herrn der Ernte, dass er Arbeiter zu den [Unberührten] sende!", "Pray daily and help provide complete prayer coverage for a people group.": "Bete täglich und hilf, eine vollständige Gebetsabdeckung für eine Volksgruppe zu gewährleisten.", "Pray for them": "Betet für sie", - "Pray regularly for this people group and for gospel breakthrough": "Betet regelmäßig für dieses Volk und für einen Durchbruch des Evangeliums", + "Pray regularly for this people group and for gospel breakthrough": "Betet regelmäßig für diese Volksgruppe und für einen Durchbruch des Evangeliums", "Prayer Campaign QR Code": "QR-Code für die Gebetskampagne", "Prayer Coverage": "Gebetsabdeckung", "Prayer coverage progress": "Fortschritt der Gebetsabdeckung", "Prayer Goal": "Gebetsziel", "Prayer Progress": "Gebetsfortschritt", "Prayer Status": "Gebetsstatus", - "Prayer for an unengaged people group": "Gebet für eine völlig unerreichte Volksgruppe", - "Prayer opens the door for engagement": "Das Gebet öffnet die Tür für Engagement", - "Prayer prepares the way for the gospel": "Das Gebet bereitet den Weg für das Evangelium.", + "Prayer for an unengaged people group": "Gebet für eine unberührte Volksgruppe", + "Prayer opens the door for engagement": "Das Gebet öffnet die Tür für missionarische Arbeit vor Ort", + "Prayer prepares the way for the gospel": "Das Gebet bahnt den Weg für das Evangelium.", "Prayer softens hearts, opens doors, and invites the work of the Holy Spirit long before workers arrive or the gospel is proclaimed.": "Das Gebet erweicht Herzen, öffnet Türen und lädt das Wirken des Heiligen Geistes ein, lange bevor die Arbeiter eintreffen oder das Evangelium verkündet wird.", "Prayer unites the global church": "Das Gebet vereint die weltweite Kirche", - "Prayerfully select an unengaged people group to adopt.": "Wähle im Gebet eine völlig unerreichte Volksgruppe aus, welche du adoptieren möchtest.", + "Prayerfully select an unengaged people group to adopt.": "Wähle im Gebet eine unberührte Volksgruppe aus, welche du adoptieren möchtest.", "Primary Language": "Hauptsprache", "Primary Religion": "Primäre Religion", "Privacy Policy": "Datenschutzerklärung", @@ -204,7 +204,7 @@ "Progress": "Fortschritt", "Promo Slide": "Werbefolie", "Radio Broadcasts": "Radiosendungen", - "Raise up 100+ daily intercessors to pray for this people group.": "Mobilisiere 100+ tägliche Fürbitter, die für diese Volksgruppe beten.", + "Raise up 100+ daily intercessors to pray for this people group.": "Mobilisiere 100+ tägliche Fürbitter/innen, die für diese Volksgruppe beten.", "Real prayer needs from the field": "Echte Gebetsanliegen vom Missionsfeld", "Receive daily prayer points and join believers worldwide in prayer for the unengaged peoples.": "Erhalte täglich Gebetsanliegen, die mit anderen Gläubigen weltweit geteilt werden.", "Religion": "Primäre Religion", @@ -216,11 +216,11 @@ "Scripture-centered prayer themes": "Auf die Bibel basierende Gebetsthemen", "Search": "Suche", "Search names, country/continent, religions...": "Suche nach Namen, Land/Kontinent, Religionen...", - "Search people groups or locations": "Personengruppen oder Orte suchen", + "Search people groups or locations": "Volksgruppen oder Orte suchen", "See All": "Alle anzeigen", "Select": "Auswählen", "Select Country": "Land auswählen", - "Select a highlighted unengaged people group, or search for a specific group or location below.": "Wähle eine der hier vorgestellten völlig unerreichten Volksgruppen aus oder suche nach einer bestimmten Gruppe oder nach einem bestimmten Ort.", + "Select a highlighted unengaged people group, or search for a specific group or location below.": "Wähle eine der hier vorgestellten unberührten Volksgruppen aus oder suche nach einer bestimmten Gruppe oder nach einem bestimmten Ort.", "Send": "Senden", "Send or raise up workers who may go and serve among them": "Sende oder berufe Arbeiter aus, die hingehen und unter ihnen dienen können", "Show Filters": "Filter anzeigen", @@ -238,28 +238,28 @@ "Submit Updates": "Aktualisierungen einreichen", "Submitting...": "Senden...", "Success! Form submitted.": "Erfolg! Das Formular wurde gesendet.", - "Thank you for adopting this Unengaged, Unreached People Group. Your church is joining a global movement asking God to open the way for the gospel among people who currently have little or no access to it. This page provides resources to help your church stay informed, mobilize prayer, and explore how God may use your community to help bring the good news of Jesus to this people group.": "Vielen Dank, dass Sie diese unerreichte Volksgruppe in Ihr Herz geschlossen haben. Ihre Gemeinde schließt sich einer weltweiten Bewegung an, die Gott darum bittet, den Weg für das Evangelium unter Menschen zu ebnen, die derzeit kaum oder gar keinen Zugang dazu haben. Auf dieser Seite finden Sie Materialien, die Ihrer Gemeinde helfen sollen, auf dem Laufenden zu bleiben, zum Gebet zu mobilisieren und zu erkunden, wie Gott Ihre Gemeinde dazu nutzen kann, dieser Volksgruppe die frohe Botschaft von Jesus zu bringen.", - "Thank you for taking a step toward adopting an unengaged people group. Please complete the form below so we can confirm your church's adoption, connect with your Champion, and begin sending prayer updates and resources.": "Vielen Dank, dass du einen Schritt in Richtung der Adoption einer nicht-erreichten Volksgruppe gemacht habst. Bitte fülle das unten stehende Formular aus, damit wir die Adoption deiner Gemeinde bestätigen, dich mit deinem “Champion” in Verbindung bringen und dir Gebetsupdates und Ressourcen zusenden können.", + "Thank you for adopting this Unengaged, Unreached People Group. Your church is joining a global movement asking God to open the way for the gospel among people who currently have little or no access to it. This page provides resources to help your church stay informed, mobilize prayer, and explore how God may use your community to help bring the good news of Jesus to this people group.": "Vielen Dank, dass Sie diese völlig unerreichte Volksgruppe (VUVG) adoptiert haben. Ihre Gemeinde schließt sich einer weltweiten Bewegung an, die Gott darum bittet, den Weg für das Evangelium unter Menschen zu ebnen, die derzeit kaum oder gar keinen Zugang dazu haben. Auf dieser Seite finden Sie Materialien, die Ihrer Gemeinde helfen sollen, auf dem Laufenden zu bleiben, zum Gebet zu mobilisieren und zu erkunden, wie Gott Ihre Gemeinde dazu nutzen kann, dieser Volksgruppe die frohe Botschaft von Jesus zu bringen.", + "Thank you for taking a step toward adopting an unengaged people group. Please complete the form below so we can confirm your church's adoption, connect with your Champion, and begin sending prayer updates and resources.": "Vielen Dank, dass du einen Schritt in Richtung der Adoption einer unberührten Volksgruppe gemacht hast. Bitte fülle das unten stehende Formular aus, damit wir die Adoption deiner Gemeinde bestätigen, dich mit deinem “Champion” in Verbindung bringen und dir Gebetsupdates und Ressourcen zusenden können.", "Thank you for your adoption commitment! We will be in touch soon.": "Vielen Dank für Ihre Adoptionszusage! Wir melden uns bald bei Ihnen.", "Thank you for your message. We will get back to you soon!": "Vielen Dank für Ihre Nachricht. Wir melden uns in Kürze bei Ihnen!", - "The Champion is the person who will organize the 100 intercessors and receive updates.": "Der Champion ist die Person, die die 100 Fürbitter organisiert und Updates erhält.", + "The Champion is the person who will organize the 100 intercessors and receive updates.": "Der Champion ist die Person, die die 100 Fürbitter/innen organisiert und Updates erhält.", "The DOXA Vision: Click image to watch the video": "Klicke auf das Bild, um mehr über die Doxa-Vision zu erfahren", - "The people group you are looking for could not be found. Please try again.": "Die gesuchte Personengruppe konnte nicht gefunden werden. Bitte versuchen Sie es erneut.", + "The people group you are looking for could not be found. Please try again.": "Die gesuchte Volksgruppe konnte nicht gefunden werden. Bitte versuchen Sie es erneut.", "There was an error sending your message. Please try again.": "Es ist ein Fehler beim Senden Ihrer Nachricht aufgetreten. Bitte versuchen Sie es später noch einmal.", "There was an error submitting your adoption. Please try again.": "Beim Absenden Ihrer Adoption ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.", "They have no gospel access": "Sie haben keinen Zugang zum Evangelium.", "They have no one praying for them": "Es gibt niemanden, der für sie betet.", - "To confirm your adoption, please verify your email address. We sent a verification email to": "Um Ihre Registrierung zu bestätigen, überprüfen Sie bitte Ihre E-Mail-Adresse. Wir haben eine Bestätigungs-E-Mail an", + "To confirm your adoption, please verify your email address. We sent a verification email to": "Um Ihre Adoption zu bestätigen, überprüfen Sie bitte Ihre E-Mail-Adresse. Wir haben eine Bestätigungs-E-Mail an", "Tools to mobilize prayer and participation across your congregation": "Werkzeuge, um viele in deiner Gemeinde zu mobilisieren", "Total": "Gesamt", "Type to search...": "Geben Sie etwas ein, um danach zu suchen", - "Unengaged people groups": "Völlig unerreichte Volksgruppen", - "UUPG Detail": "UUPG-Detail", - "UUPG Photo": "Foto der UUPG", - "UUPGS": "UUPGS", - "Under-Engaged": "Wenig erreicht", - "Unengaged": "Völlig unerreicht", - "Unengaged people groups have no missionaries, no churches, and often no known believers. Adoption helps ensure they are finally seen, prayed for, and intentionally pursued with the gospel.": "Nicht engagierte Volksgruppen haben keine Missionare, keine Kirchen und oft auch keine bekannten Gläubigen. Durch Adoption wird sichergestellt, dass sie endlich wahrgenommen werden, dass für sie gebetet wird und dass sie gezielt mit dem Evangelium angesprochen werden.", + "Unengaged people groups": "Unberührte Volksgruppen", + "UUPG Detail": "VUVG-Detail", + "UUPG Photo": "Foto der VUVG", + "UUPGS": "VUVGs", + "Under-Engaged": "Am wenigsten erreicht", + "Unengaged": "Unberührt", + "Unengaged people groups have no missionaries, no churches, and often no known believers. Adoption helps ensure they are finally seen, prayed for, and intentionally pursued with the gospel.": "Unberührte Volksgruppen haben keine Missionare, keine Kirchen und oft auch keine bekannten Gläubigen. Durch Adoption wird sichergestellt, dass sie endlich wahrgenommen werden, dass für sie gebetet wird und dass sie gezielt mit dem Evangelium angesprochen werden.", "DOXA people groups around the world": "DOXA-Volksgruppen weltweit", "Unknown": "Unbekannt", "Unreached": "Unerreicht", @@ -272,16 +272,16 @@ "Vision and Values": "Leitbild und Werte", "WAGF Block": "WAGF-Block", "WAGF Region": "WAGF-Region", - "We chose this name because Jesus is worthy of glory from every tribe, tongue, people, and nation. DOXA reminds us that we partner with the whole Church to take the whole gospel to the whole world – until people from every nation are worshipping Jesus and He alone receives all the glory.": "Wir haben diesen Namen gewählt, weil Jesus die Ehre aller Stämme, Sprachen, Völker und Nationen würdig ist. DOXA erinnert uns daran, dass wir mit der gesamten Kirche zusammenarbeiten, um das ganze Evangelium in die ganze Welt zu tragen – bis Menschen aus allen Nationen Jesus anbeten und ihm allein alle Ehre zuteil wird.", + "We chose this name because Jesus is worthy of glory from every tribe, tongue, people, and nation. DOXA reminds us that we partner with the whole Church to take the whole gospel to the whole world – until people from every nation are worshipping Jesus and He alone receives all the glory.": "Wir haben diesen Namen gewählt, weil Jesus der Ehre aus jedem Stamm, jeder Zunge, jedem Volk und jeder Nation würdig ist. DOXA erinnert uns daran, dass wir mit der gesamten Kirche zusammenarbeiten, um das ganze Evangelium in die ganze Welt zu tragen – bis Menschen aus allen Nationen Jesus anbeten und ihm allein alle Ehre zuteil wird.", "We recommend that churches give a monthly pledge based on their congregational size. i.e. $100 a month for a congregation around 100. $500 a month for a congregation around 500. $1000 a month for a congregation around 1000, etc.": "Wir empfehlen Kirchen, eine monatliche Spende entsprechend der Größe ihrer Gemeinde zu leisten. Zum Beispiel: 100 Dollar pro Monat für eine Gemeinde mit etwa 100 Mitgliedern, 500 Dollar pro Monat für etwa 500 Mitglieder, 1000 Dollar pro Monat für etwa 1000 Mitglieder usw.", "Welcome to the adoption Journey": "Willkommen auf dem Weg zur Adoption", "What does \"DOXA\" mean?": "Was bedeutet „DOXA“?", - "What is your commitment? Pray. Give. Send.": "Was ist Dein Engagement? Beten. Spenden. Senden.", + "What is your commitment? Pray. Give. Send.": "Was ist Dein Engagement? Beten. Geben. Senden.", "When we pray, we join believers around the world in God's mission, standing together for peoples still waiting to hear the name of Jesus.": "Wenn wir beten, schließen wir uns mit Gläubigen auf der ganzen Welt in Gottes Mission zusammen und stehen gemeinsam für Menschen ein, die noch darauf warten, den Namen Jesu zu hören.", "When you adopt a people group, you step into a leadership role on their behalf—standing in the gap until the gospel takes root. This involves a commitment to:": "Wenn Du eine Volksgruppe adoptierst, übernimmst Du eine Führungsrolle für diese Gruppe – Du stehst für sie ein, bis das Evangelium Wurzeln schlägt. Diese Verpflichtung beinhaltet:", "Where are they?": "Wo sind sie?", "Where do I start?": "Wie kann ich mitmachen?", - "Who are the unengaged?": "Wer sind die völlig unerreichten Volksgruppen?", + "Who are the unengaged?": "Wer sind die unberührten Volksgruppen?", "Why adoption matters": "Warum Adoption wichtig ist", "Why prayer matters": "Warum Gebete wichtig sind", "Work in local language & culture": "Arbeiten in der lokalen Sprache und Kultur", @@ -290,13 +290,13 @@ "Your Adoption Resources": "Ihre Ressourcen zum Thema Adoption", "Your Resources": "Ihre Ressourcen", "Your Country (optional)": "Ihr Land (optional)", - "Your UUPG": "Ihre UUPG", - "Your daily prayer guide": "Dein Täglicher Prayer Guide", - "Your role as an adopting church": "Ihre Rolle als aufnehmende Gemeinde", + "Your UUPG": "Ihre VUVG", + "Your daily prayer guide": "Dein täglicher Gebetsleitfaden", + "Your role as an adopting church": "Ihre Rolle als adoptierende Gemeinde", "churches / individuals have adopted this people group": "Kirchen / Einzelpersonen haben diese Volksgruppe adoptiert", "people groups adopted": "adoptierte Volksgruppen", "{0} Billion": "{0} Milliarden", "{0} Million": "{0} Millionen", "{0} People Groups": "{0} Volksgruppen", - "{0} unengaged people groups": "{0} völlig unerreichte Volksgruppen" + "{0} unengaged people groups": "{0} unberührte Volksgruppen" } diff --git a/public/js/doxa-research-map.js b/public/js/doxa-research-map.js index b5b6acf5..6648adfe 100644 --- a/public/js/doxa-research-map.js +++ b/public/js/doxa-research-map.js @@ -22,7 +22,7 @@ var use=Object.defineProperty;var fse=(Oo,SA,Au)=>SA in Oo?use(Oo,SA,{enumerable * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let FB;const ih=t=>FB=t,EB=Symbol();function G0(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Ru;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Ru||(Ru={}));function hN(){const t=u0(!0),e=t.run(()=>Je({}));let r=[],n=[];const a=pu({install(i){ih(a),a._a=i,i.provide(EB,a),i.config.globalProperties.$pinia=a,n.forEach(o=>r.push(o)),n=[]},use(i){return this._a?r.push(i):n.push(i),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return a}const SB=()=>{};function LB(t,e,r,n=SB){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),n())};return!r&&Fw()&&jU(a),a}function Hl(t,...e){t.slice().forEach(r=>{r(...e)})}const gN=t=>t(),IB=Symbol(),V0=Symbol();function z0(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],a=t[r];G0(a)&&G0(n)&&t.hasOwnProperty(r)&&!$r(n)&&!Do(n)?t[r]=z0(a,n):t[r]=n}return t}const pN=Symbol();function mN(t){return!G0(t)||!t.hasOwnProperty(pN)}const{assign:NA}=Object;function vN(t){return!!($r(t)&&t.effect)}function bN(t,e,r,n){const{state:a,actions:i,getters:o}=e,A=r.state.value[t];let s;function l(){A||(r.state.value[t]=a?a():{});const c=fT(r.state.value[t]);return NA(c,i,Object.keys(o||{}).reduce((u,h)=>(u[h]=pu(Oe(()=>{ih(r);const f=r._s.get(t);return o[h].call(f,f)})),u),{}))}return s=UB(t,l,e,r,n,!0),s}function UB(t,e,r={},n,a,i){let o;const A=NA({actions:{}},r),s={deep:!0};let l,c,u=[],h=[],f;const p=n.state.value[t];!i&&!p&&(n.state.value[t]={});let v;function b(T){let C;l=c=!1,typeof T=="function"?(T(n.state.value[t]),C={type:Ru.patchFunction,storeId:t,events:f}):(z0(n.state.value[t],T),C={type:Ru.patchObject,payload:T,storeId:t,events:f});const D=v=Symbol();bu().then(()=>{v===D&&(l=!0)}),c=!0,Hl(u,C,n.state.value[t])}const m=i?function(){const{state:C}=r,D=C?C():{};this.$patch(I=>{NA(I,D)})}:SB;function _(){o.stop(),u=[],h=[],n._s.delete(t)}const y=(T,C="")=>{if(IB in T)return T[V0]=C,T;const D=function(){ih(n);const I=Array.from(arguments),E=[],P=[];function H(J){E.push(J)}function O(J){P.push(J)}Hl(h,{args:I,name:D[V0],store:F,after:H,onError:O});let z;try{z=T.apply(this&&this.$id===t?this:F,I)}catch(J){throw Hl(P,J),J}return z instanceof Promise?z.then(J=>(Hl(E,J),J)).catch(J=>(Hl(P,J),Promise.reject(J))):(Hl(E,z),z)};return D[IB]=!0,D[V0]=C,D},B={_p:n,$id:t,$onAction:LB.bind(null,h),$patch:b,$reset:m,$subscribe(T,C={}){const D=LB(u,T,C.detached,()=>I()),I=o.run(()=>nr(()=>n.state.value[t],E=>{(C.flush==="sync"?c:l)&&T({storeId:t,type:Ru.direct,events:f},E)},NA({},s,C)));return D},$dispose:_},F=kl(B);n._s.set(t,F);const k=(n._a&&n._a.runWithContext||gN)(()=>n._e.run(()=>(o=u0()).run(()=>e({action:y}))));for(const T in k){const C=k[T];if($r(C)&&!vN(C)||Do(C))i||(p&&mN(C)&&($r(C)?C.value=p[T]:z0(C,p[T])),n.state.value[t][T]=C);else if(typeof C=="function"){const D=y(C,T);k[T]=D,A.actions[T]=C}}return NA(F,k),NA(ir(F),k),Object.defineProperty(F,"$state",{get:()=>n.state.value[t],set:T=>{b(C=>{NA(C,T)})}}),n._p.forEach(T=>{NA(F,o.run(()=>T({store:F,app:n._a,pinia:n,options:A})))}),p&&i&&r.hydrate&&r.hydrate(F.$state,p),l=!0,c=!0,F}/*! #__NO_SIDE_EFFECTS__ */function W0(t,e,r){let n,a;const i=typeof e=="function";typeof t=="string"?(n=t,a=i?r:e):(a=t,n=t.id);function o(A,s){const l=FT();return A=A||(l?Wt(EB,null):null),A&&ih(A),A=FB,A._s.has(n)||(i?UB(n,e,a,A):bN(n,a,A)),A._s.get(n)}return o.$id=n,o}let yN=0;const wN=W0("ui",{state:()=>({_storeInstanceId:++yN,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:t=>t.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:t.theme==="dark",isMobile:t=>t.breakpoint==="mobile",isTablet:t=>t.breakpoint==="tablet",isDesktop:t=>t.breakpoint==="desktop"||t.breakpoint==="wide",legendHeight:t=>t._customLegendHeight?t._customLegendHeight:t.legendState==="collapsed"?"48px":t.legendState==="open"?"30%":t.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:t=>t.legendState==="collapsed"?0:90,showPullTab:t=>t.legendState==="open"||t.legendState==="fullyOpen",getToastsByType:t=>e=>t.toasts.filter(r=>r.type===e),hasOpenModal:t=>t.openModals.length>0,topModal:t=>t.openModals.length===0?null:t.openModals[t.openModals.length-1],isModalOpen:t=>e=>t.openModals.includes(e),isAnyLoading:t=>t.isGlobalLoading||t.loadingStates.size>0,isLoading:t=>e=>t.loadingStates.get(e)||!1},actions:{setTheme(t){if(!["light","dark","auto"].includes(t))return;this.theme=t;const r=this.isDarkTheme;document.documentElement.setAttribute("data-theme",r?"dark":"light"),localStorage.setItem("theme",t)},toggleTheme(){const t=this.theme==="light"?"dark":"light";this.setTheme(t)},setColorScheme(t){this.colorScheme=t,document.documentElement.setAttribute("data-color-scheme",t)},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(t){this.activeTab=t,this.addToHistory({type:"tab-change",tabId:t,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(t){["prayer","detail"].includes(t)&&(this.legendMode=t)},setPrayerFilter(t){[null,"noPrayer","hasPrayer","fullPrayer"].includes(t)&&(this.prayerFilter=t)},setEngagementFilter(t){[null,"notEngaged","hasEngagement"].includes(t)&&(this.engagementFilter=t)},setAdoptionFilter(t){[null,"notAdopted","hasAdoption"].includes(t)&&(this.adoptionFilter=t)},setReligionFilter(t){[null,"C","M","H","B","E","J","S","N","O","U"].includes(t)&&(this.religionFilter=t)},selectPeopleGroup(t){this.selectedPeopleGroup=t,t?(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(t){["collapsed","open","fullyOpen"].includes(t)&&(this.legendState=t)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(t){this.searchMode=t},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(t){let e;t<768?e="mobile":t<1024?e="tablet":t<1920?e="desktop":e="wide",e!==this.breakpoint&&(this.breakpoint=e)},updateWindowSize(t,e){this.windowSize.width=t,this.windowSize.height=e,this.updateBreakpoint(t)},showToast(t){const{message:e,type:r="info",duration:n=this.toastDuration,action:a=null,persistent:i=!1}=t,o={id:this.nextToastId++,message:e,type:r,duration:n,action:a,persistent:i,createdAt:Date.now()};return this.toasts.push(o),!i&&n>0&&setTimeout(()=>{this.removeToast(o.id)},n),o.id},showSuccess(t,e={}){return this.showToast({message:t,type:"success",...e})},showError(t,e={}){return this.showToast({message:t,type:"error",duration:7e3,...e})},showWarning(t,e={}){return this.showToast({message:t,type:"warning",...e})},showInfo(t,e={}){return this.showToast({message:t,type:"info",...e})},removeToast(t){const e=this.toasts.findIndex(r=>r.id===t);e!==-1&&this.toasts.splice(e,1)},clearAllToasts(){this.toasts=[]},openModal(t,e={}){this.openModals.includes(t)||(this.openModals.push(t),this.modalData.set(t,e),this.focusTrapActive=!0)},closeModal(t=null){if(t){const e=this.openModals.indexOf(t);e!==-1&&(this.openModals.splice(e,1),this.modalData.delete(t))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(t){return this.modalData.get(t)},showGlobalLoading(t="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=t},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(t,e=!0){e?this.loadingStates.set(t,!0):this.loadingStates.delete(t)},addToHistory(t){this.interactionHistory.push(t),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(t,e="polite"){this.screenReaderAnnouncement=t,setTimeout(()=>{this.screenReaderAnnouncement===t&&(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(t){this._customLegendHeight=t},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(){const t=localStorage.getItem("theme");t&&this.setTheme(t),new ResizeObserver(r=>{for(const n of r)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",r.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",r=>{this.reducedMotion=r.matches,document.documentElement.setAttribute("data-reduced-motion",r.matches)}))}}}),BN=W0("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:t=>e=>t.maps[e],activeMap:t=>t.activeMapId?t.maps[t.activeMapId]:null,hasMap:t=>e=>e in t.maps,allMapIds:t=>Object.keys(t.maps),hasSelection:t=>!!(t.selectedRegion||t.selectedFamily||t.selectedAffinityBlock||t.selectedPeopleGroup),isAutoFlying:t=>t.autoFly.isActive,isGuidedTourActive:t=>t.guidedTour.isActive,isMapFullscreen:t=>e=>t.fullscreenMapId===e},actions:{registerMap(t,e,r={}){let n=1.5;r.zoom!==void 0?n=r.zoom:e&&typeof e.getZoom=="function"&&(n=e.getZoom());let a=[0,0];if(r.center)a=r.center;else if(e&&typeof e.getCenter=="function"){const i=e.getCenter();i&&(a=[i.lng,i.lat])}this.maps[t]={instance:e,config:r,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=t)},setMapReady(t){const e=this.maps[t];e&&(e.isReady=!0)},updateMapState(t,e){const r=this.maps[t];r&&Object.assign(r,e)},unregisterMap(t){if(delete this.maps[t],this.activeMapId===t){const e=this.allMapIds;this.activeMapId=e.length>0?e[0]:null}},setActiveMap(t){t in this.maps&&(this.activeMapId=t)},selectRegion(t){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=t},selectFamily(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=t},setActiveLegendTab(t){this.activeLegendTab=t},selectLanguage(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=t},selectDialect(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=t},selectAffinityBlock(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=t},selectPeopleGroup(t){this.selectedPeopleGroup=t},selectResource(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===t?this.selectedResource=null:this.selectedResource=t},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(t){this.selectedPinIds=t||[]},setFilter(t,e){this.globalFilters[t]=e},removeFilter(t){delete this.globalFilters[t]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(t){this.searchQuery=t},startAutoFly(t,e=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=e,this.autoFly.items=t,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(t){this.autoFly.speed=Math.max(.5,Math.min(2,t))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const t=this.autoFly.items[this.autoFly.currentIndex];t.type==="region"?this.selectRegion(t):t.type==="family"&&this.selectFamily(t)},toggleClusters(t){typeof t=="boolean"?this.showClusters=t:this.showClusters=!this.showClusters},setClusterMode(t){["region","language-family","affinity-block","mst","resource"].includes(t)&&(this.clusterMode=t)},setClusterFilter(t,e){this.clusterFilterProperty=t||null,this.clusterFilterValue=e||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(t){["slow","normal","fast"].includes(t)&&(this.flySpeed=t)},setSelectedFamily(t){this.selectFamily(t)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(t){this.selectRegion(t)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(t){this.fullscreenMapId===t?this.fullscreenMapId=null:this.fullscreenMapId=t},loadPreferences(){try{const t=localStorage.getItem("mapUserPreferences");if(t){const e=JSON.parse(t);this.preferences={...this.preferences,...e}}}catch(t){console.error("[mapStore] Failed to load preferences:",t)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(t){console.error("[mapStore] Failed to save preferences:",t)}},setPreference(t,e){this.preferences[t]=e,this.preferences.autoSavePreferences&&this.savePreferences()}}}),CN=W0("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(t,e){if(!this.sources[t]){this.loadingStates[t]={isLoading:!0,error:null};try{const r=await e();this.sources[t]=pu({features:r,timestamp:Date.now()}),this.loadingStates[t]={isLoading:!1,error:null}}catch(r){console.error(`[dataStore] Failed to load source "${t}":`,r),this.loadingStates[t]={isLoading:!1,error:r}}}},clearSource(t){delete this.sources[t],delete this.loadingStates[t]},cacheSourceData(t,e){this.sources[t]=pu({features:e.normalizedData||[],timestamp:e.timestamp||Date.now()})},hasSourceData(t){return!!this.sources[t]},getSourceData(t){return this.sources[t]?{normalizedData:this.sources[t].features}:null}},getters:{getData:t=>e=>{var r;return((r=t.sources[e])==null?void 0:r.features)??null},isLoading:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.isLoading)??!1},getError:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.error)??null}}}),Ga=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},_N={class:"profile-loader"},xN={key:0,class:"profile-error"},FN={key:1,class:"profile-error"},EN=Ga({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(t){const e=t,r=Oe(()=>{if(!e.profileConfig)return null;try{return JSON.parse(e.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",e.profileConfig),null}}),n=Oe(()=>{var f;return((f=r.value)==null?void 0:f.profile)||null}),a=Oe(()=>{var f;return((f=r.value)==null?void 0:f.tk)||""}),i=Oe(()=>{var f;return((f=r.value)==null?void 0:f.dataSource)||"doxa-csv"}),o=Oe(()=>{var f;return((f=r.value)==null?void 0:f.colorSet)||"default"}),A=Oe(()=>{var f;return((f=r.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),s=Wt("profileModules",null);if(!s)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const l=Oe(()=>{if(!n.value)return null;const f=`./profiles/${n.value}.vue`;return s[f]?xu(s[f]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(s)),null)});La("mapboxToken",a),La("dataSource",i),La("colorSet",o),La("profileConfig",r),La("instanceId",A);const c=wN(),u=BN(),h=CN();return La("uiStore",c),La("mapStore",u),La("dataStore",h),(f,p)=>(Qe(),$e("div",_N,[r.value?l.value?(Qe(),br(GT(l.value),{key:2})):(Qe(),$e("div",FN,[oe("p",null,[p[1]||(p[1]=Nn("⚠️ Profile ",-1)),oe("strong",null,'"'+ct(n.value)+'"',1),p[2]||(p[2]=Nn(" not found.",-1))])])):(Qe(),$e("div",xN,[...p[0]||(p[0]=[oe("p",null,[Nn("⚠️ "),oe("strong",null,"doxa-map"),Nn(": missing or invalid "),oe("code",null,"profile-config"),Nn(" prop.")],-1),oe("p",null,[Nn("Example: "),oe("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),SN={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},LN={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},IN={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},UN={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},TN={menuComingSoon:"القائمة قادمة قريباً"},kN={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},NN={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},QN={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},PN={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ON={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"},MN={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},RN={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:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},DN={menuComingSoon:"Menü folgt in Kürze"},HN={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},$N={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},KN={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},jN={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},GN={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"},VN={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},zN={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},WN={menuComingSoon:"Menu coming soon"},qN={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},YN={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},XN={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},JN={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ZN={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"},eQ={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},tQ={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:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},rQ={menuComingSoon:"Menú próximamente"},nQ={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},aQ={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},iQ={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},oQ={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},AQ={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"},sQ={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},lQ={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:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},cQ={menuComingSoon:"Menu bientôt disponible"},uQ={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},fQ={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},dQ={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},hQ={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gQ={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pQ={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mQ={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vQ={menuComingSoon:"मेनू शीघ्र आ रहा है"},bQ={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yQ={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},wQ={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},BQ={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},CQ={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"},_Q={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},xQ={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:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},FQ={menuComingSoon:"Menu in arrivo"},EQ={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},SQ={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},LQ={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},IQ={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},UQ={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"},TQ={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},kQ={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:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},NQ={menuComingSoon:"Menu em breve"},QQ={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},PQ={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},OQ={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},MQ={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},RQ={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ă"},DQ={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},HQ={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:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},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"}},$Q={menuComingSoon:"Meniu în curând"},KQ={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},jQ={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},GQ={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},VQ={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},zQ={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},WQ={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},qQ={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},YQ={menuComingSoon:"Меню скоро появится"},XQ={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},JQ={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ZQ={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},eP={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tP={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},rP={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},nP={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},aP={menuComingSoon:"菜单即将推出"},iP={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},oP={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},AP={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let FB;const ih=t=>FB=t,EB=Symbol();function G0(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var Ru;(function(t){t.direct="direct",t.patchObject="patch object",t.patchFunction="patch function"})(Ru||(Ru={}));function hN(){const t=u0(!0),e=t.run(()=>Je({}));let r=[],n=[];const a=pu({install(i){ih(a),a._a=i,i.provide(EB,a),i.config.globalProperties.$pinia=a,n.forEach(o=>r.push(o)),n=[]},use(i){return this._a?r.push(i):n.push(i),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return a}const SB=()=>{};function LB(t,e,r,n=SB){t.push(e);const a=()=>{const i=t.indexOf(e);i>-1&&(t.splice(i,1),n())};return!r&&Fw()&&jU(a),a}function Hl(t,...e){t.slice().forEach(r=>{r(...e)})}const gN=t=>t(),IB=Symbol(),V0=Symbol();function z0(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],a=t[r];G0(a)&&G0(n)&&t.hasOwnProperty(r)&&!$r(n)&&!Do(n)?t[r]=z0(a,n):t[r]=n}return t}const pN=Symbol();function mN(t){return!G0(t)||!t.hasOwnProperty(pN)}const{assign:NA}=Object;function vN(t){return!!($r(t)&&t.effect)}function bN(t,e,r,n){const{state:a,actions:i,getters:o}=e,A=r.state.value[t];let s;function l(){A||(r.state.value[t]=a?a():{});const c=fT(r.state.value[t]);return NA(c,i,Object.keys(o||{}).reduce((u,h)=>(u[h]=pu(Oe(()=>{ih(r);const f=r._s.get(t);return o[h].call(f,f)})),u),{}))}return s=UB(t,l,e,r,n,!0),s}function UB(t,e,r={},n,a,i){let o;const A=NA({actions:{}},r),s={deep:!0};let l,c,u=[],h=[],f;const p=n.state.value[t];!i&&!p&&(n.state.value[t]={});let v;function b(T){let C;l=c=!1,typeof T=="function"?(T(n.state.value[t]),C={type:Ru.patchFunction,storeId:t,events:f}):(z0(n.state.value[t],T),C={type:Ru.patchObject,payload:T,storeId:t,events:f});const D=v=Symbol();bu().then(()=>{v===D&&(l=!0)}),c=!0,Hl(u,C,n.state.value[t])}const m=i?function(){const{state:C}=r,D=C?C():{};this.$patch(I=>{NA(I,D)})}:SB;function _(){o.stop(),u=[],h=[],n._s.delete(t)}const y=(T,C="")=>{if(IB in T)return T[V0]=C,T;const D=function(){ih(n);const I=Array.from(arguments),E=[],P=[];function H(J){E.push(J)}function O(J){P.push(J)}Hl(h,{args:I,name:D[V0],store:F,after:H,onError:O});let z;try{z=T.apply(this&&this.$id===t?this:F,I)}catch(J){throw Hl(P,J),J}return z instanceof Promise?z.then(J=>(Hl(E,J),J)).catch(J=>(Hl(P,J),Promise.reject(J))):(Hl(E,z),z)};return D[IB]=!0,D[V0]=C,D},B={_p:n,$id:t,$onAction:LB.bind(null,h),$patch:b,$reset:m,$subscribe(T,C={}){const D=LB(u,T,C.detached,()=>I()),I=o.run(()=>nr(()=>n.state.value[t],E=>{(C.flush==="sync"?c:l)&&T({storeId:t,type:Ru.direct,events:f},E)},NA({},s,C)));return D},$dispose:_},F=kl(B);n._s.set(t,F);const k=(n._a&&n._a.runWithContext||gN)(()=>n._e.run(()=>(o=u0()).run(()=>e({action:y}))));for(const T in k){const C=k[T];if($r(C)&&!vN(C)||Do(C))i||(p&&mN(C)&&($r(C)?C.value=p[T]:z0(C,p[T])),n.state.value[t][T]=C);else if(typeof C=="function"){const D=y(C,T);k[T]=D,A.actions[T]=C}}return NA(F,k),NA(ir(F),k),Object.defineProperty(F,"$state",{get:()=>n.state.value[t],set:T=>{b(C=>{NA(C,T)})}}),n._p.forEach(T=>{NA(F,o.run(()=>T({store:F,app:n._a,pinia:n,options:A})))}),p&&i&&r.hydrate&&r.hydrate(F.$state,p),l=!0,c=!0,F}/*! #__NO_SIDE_EFFECTS__ */function W0(t,e,r){let n,a;const i=typeof e=="function";typeof t=="string"?(n=t,a=i?r:e):(a=t,n=t.id);function o(A,s){const l=FT();return A=A||(l?Wt(EB,null):null),A&&ih(A),A=FB,A._s.has(n)||(i?UB(n,e,a,A):bN(n,a,A)),A._s.get(n)}return o.$id=n,o}let yN=0;const wN=W0("ui",{state:()=>({_storeInstanceId:++yN,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:t=>t.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:t.theme==="dark",isMobile:t=>t.breakpoint==="mobile",isTablet:t=>t.breakpoint==="tablet",isDesktop:t=>t.breakpoint==="desktop"||t.breakpoint==="wide",legendHeight:t=>t._customLegendHeight?t._customLegendHeight:t.legendState==="collapsed"?"48px":t.legendState==="open"?"30%":t.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:t=>t.legendState==="collapsed"?0:90,showPullTab:t=>t.legendState==="open"||t.legendState==="fullyOpen",getToastsByType:t=>e=>t.toasts.filter(r=>r.type===e),hasOpenModal:t=>t.openModals.length>0,topModal:t=>t.openModals.length===0?null:t.openModals[t.openModals.length-1],isModalOpen:t=>e=>t.openModals.includes(e),isAnyLoading:t=>t.isGlobalLoading||t.loadingStates.size>0,isLoading:t=>e=>t.loadingStates.get(e)||!1},actions:{setTheme(t){if(!["light","dark","auto"].includes(t))return;this.theme=t;const r=this.isDarkTheme;document.documentElement.setAttribute("data-theme",r?"dark":"light"),localStorage.setItem("theme",t)},toggleTheme(){const t=this.theme==="light"?"dark":"light";this.setTheme(t)},setColorScheme(t){this.colorScheme=t,document.documentElement.setAttribute("data-color-scheme",t)},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(t){this.activeTab=t,this.addToHistory({type:"tab-change",tabId:t,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(t){["prayer","detail"].includes(t)&&(this.legendMode=t)},setPrayerFilter(t){[null,"noPrayer","hasPrayer","fullPrayer"].includes(t)&&(this.prayerFilter=t)},setEngagementFilter(t){[null,"notEngaged","hasEngagement"].includes(t)&&(this.engagementFilter=t)},setAdoptionFilter(t){[null,"notAdopted","hasAdoption"].includes(t)&&(this.adoptionFilter=t)},setReligionFilter(t){[null,"C","M","H","B","E","J","S","N","O","U"].includes(t)&&(this.religionFilter=t)},selectPeopleGroup(t){this.selectedPeopleGroup=t,t?(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(t){["collapsed","open","fullyOpen"].includes(t)&&(this.legendState=t)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(t){this.searchMode=t},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(t){let e;t<768?e="mobile":t<1024?e="tablet":t<1920?e="desktop":e="wide",e!==this.breakpoint&&(this.breakpoint=e)},updateWindowSize(t,e){this.windowSize.width=t,this.windowSize.height=e,this.updateBreakpoint(t)},showToast(t){const{message:e,type:r="info",duration:n=this.toastDuration,action:a=null,persistent:i=!1}=t,o={id:this.nextToastId++,message:e,type:r,duration:n,action:a,persistent:i,createdAt:Date.now()};return this.toasts.push(o),!i&&n>0&&setTimeout(()=>{this.removeToast(o.id)},n),o.id},showSuccess(t,e={}){return this.showToast({message:t,type:"success",...e})},showError(t,e={}){return this.showToast({message:t,type:"error",duration:7e3,...e})},showWarning(t,e={}){return this.showToast({message:t,type:"warning",...e})},showInfo(t,e={}){return this.showToast({message:t,type:"info",...e})},removeToast(t){const e=this.toasts.findIndex(r=>r.id===t);e!==-1&&this.toasts.splice(e,1)},clearAllToasts(){this.toasts=[]},openModal(t,e={}){this.openModals.includes(t)||(this.openModals.push(t),this.modalData.set(t,e),this.focusTrapActive=!0)},closeModal(t=null){if(t){const e=this.openModals.indexOf(t);e!==-1&&(this.openModals.splice(e,1),this.modalData.delete(t))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(t){return this.modalData.get(t)},showGlobalLoading(t="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=t},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(t,e=!0){e?this.loadingStates.set(t,!0):this.loadingStates.delete(t)},addToHistory(t){this.interactionHistory.push(t),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(t,e="polite"){this.screenReaderAnnouncement=t,setTimeout(()=>{this.screenReaderAnnouncement===t&&(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(t){this._customLegendHeight=t},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(){const t=localStorage.getItem("theme");t&&this.setTheme(t),new ResizeObserver(r=>{for(const n of r)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",r=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",r.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",r=>{this.reducedMotion=r.matches,document.documentElement.setAttribute("data-reduced-motion",r.matches)}))}}}),BN=W0("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:t=>e=>t.maps[e],activeMap:t=>t.activeMapId?t.maps[t.activeMapId]:null,hasMap:t=>e=>e in t.maps,allMapIds:t=>Object.keys(t.maps),hasSelection:t=>!!(t.selectedRegion||t.selectedFamily||t.selectedAffinityBlock||t.selectedPeopleGroup),isAutoFlying:t=>t.autoFly.isActive,isGuidedTourActive:t=>t.guidedTour.isActive,isMapFullscreen:t=>e=>t.fullscreenMapId===e},actions:{registerMap(t,e,r={}){let n=1.5;r.zoom!==void 0?n=r.zoom:e&&typeof e.getZoom=="function"&&(n=e.getZoom());let a=[0,0];if(r.center)a=r.center;else if(e&&typeof e.getCenter=="function"){const i=e.getCenter();i&&(a=[i.lng,i.lat])}this.maps[t]={instance:e,config:r,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=t)},setMapReady(t){const e=this.maps[t];e&&(e.isReady=!0)},updateMapState(t,e){const r=this.maps[t];r&&Object.assign(r,e)},unregisterMap(t){if(delete this.maps[t],this.activeMapId===t){const e=this.allMapIds;this.activeMapId=e.length>0?e[0]:null}},setActiveMap(t){t in this.maps&&(this.activeMapId=t)},selectRegion(t){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=t},selectFamily(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=t},setActiveLegendTab(t){this.activeLegendTab=t},selectLanguage(t){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=t},selectDialect(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=t},selectAffinityBlock(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=t},selectPeopleGroup(t){this.selectedPeopleGroup=t},selectResource(t){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===t?this.selectedResource=null:this.selectedResource=t},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(t){this.selectedPinIds=t||[]},setFilter(t,e){this.globalFilters[t]=e},removeFilter(t){delete this.globalFilters[t]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(t){this.searchQuery=t},startAutoFly(t,e=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=e,this.autoFly.items=t,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(t){this.autoFly.speed=Math.max(.5,Math.min(2,t))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const t=this.autoFly.items[this.autoFly.currentIndex];t.type==="region"?this.selectRegion(t):t.type==="family"&&this.selectFamily(t)},toggleClusters(t){typeof t=="boolean"?this.showClusters=t:this.showClusters=!this.showClusters},setClusterMode(t){["region","language-family","affinity-block","mst","resource"].includes(t)&&(this.clusterMode=t)},setClusterFilter(t,e){this.clusterFilterProperty=t||null,this.clusterFilterValue=e||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(t){["slow","normal","fast"].includes(t)&&(this.flySpeed=t)},setSelectedFamily(t){this.selectFamily(t)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(t){this.selectRegion(t)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(t){this.fullscreenMapId===t?this.fullscreenMapId=null:this.fullscreenMapId=t},loadPreferences(){try{const t=localStorage.getItem("mapUserPreferences");if(t){const e=JSON.parse(t);this.preferences={...this.preferences,...e}}}catch(t){console.error("[mapStore] Failed to load preferences:",t)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(t){console.error("[mapStore] Failed to save preferences:",t)}},setPreference(t,e){this.preferences[t]=e,this.preferences.autoSavePreferences&&this.savePreferences()}}}),CN=W0("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(t,e){if(!this.sources[t]){this.loadingStates[t]={isLoading:!0,error:null};try{const r=await e();this.sources[t]=pu({features:r,timestamp:Date.now()}),this.loadingStates[t]={isLoading:!1,error:null}}catch(r){console.error(`[dataStore] Failed to load source "${t}":`,r),this.loadingStates[t]={isLoading:!1,error:r}}}},clearSource(t){delete this.sources[t],delete this.loadingStates[t]},cacheSourceData(t,e){this.sources[t]=pu({features:e.normalizedData||[],timestamp:e.timestamp||Date.now()})},hasSourceData(t){return!!this.sources[t]},getSourceData(t){return this.sources[t]?{normalizedData:this.sources[t].features}:null}},getters:{getData:t=>e=>{var r;return((r=t.sources[e])==null?void 0:r.features)??null},isLoading:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.isLoading)??!1},getError:t=>e=>{var r;return((r=t.loadingStates[e])==null?void 0:r.error)??null}}}),Ga=(t,e)=>{const r=t.__vccOpts||t;for(const[n,a]of e)r[n]=a;return r},_N={class:"profile-loader"},xN={key:0,class:"profile-error"},FN={key:1,class:"profile-error"},EN=Ga({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(t){const e=t,r=Oe(()=>{if(!e.profileConfig)return null;try{return JSON.parse(e.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",e.profileConfig),null}}),n=Oe(()=>{var f;return((f=r.value)==null?void 0:f.profile)||null}),a=Oe(()=>{var f;return((f=r.value)==null?void 0:f.tk)||""}),i=Oe(()=>{var f;return((f=r.value)==null?void 0:f.dataSource)||"doxa-csv"}),o=Oe(()=>{var f;return((f=r.value)==null?void 0:f.colorSet)||"default"}),A=Oe(()=>{var f;return((f=r.value)==null?void 0:f.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),s=Wt("profileModules",null);if(!s)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const l=Oe(()=>{if(!n.value)return null;const f=`./profiles/${n.value}.vue`;return s[f]?xu(s[f]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(s)),null)});La("mapboxToken",a),La("dataSource",i),La("colorSet",o),La("profileConfig",r),La("instanceId",A);const c=wN(),u=BN(),h=CN();return La("uiStore",c),La("mapStore",u),La("dataStore",h),(f,p)=>(Qe(),$e("div",_N,[r.value?l.value?(Qe(),br(GT(l.value),{key:2})):(Qe(),$e("div",FN,[oe("p",null,[p[1]||(p[1]=Nn("⚠️ Profile ",-1)),oe("strong",null,'"'+ct(n.value)+'"',1),p[2]||(p[2]=Nn(" not found.",-1))])])):(Qe(),$e("div",xN,[...p[0]||(p[0]=[oe("p",null,[Nn("⚠️ "),oe("strong",null,"doxa-map"),Nn(": missing or invalid "),oe("code",null,"profile-config"),Nn(" prop.")],-1),oe("p",null,[Nn("Example: "),oe("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),SN={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},LN={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},IN={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},UN={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},TN={menuComingSoon:"القائمة قادمة قريباً"},kN={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},NN={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},QN={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},PN={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ON={prayForThem:"Für sie beten",adoptThem:"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"},MN={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},RN={title:{prayer:"Gebetsfortschritt",engagement:"Fortschritt der Arbeit vor Ort",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},DN={menuComingSoon:"Menü folgt in Kürze"},HN={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},$N={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"VUVGs",separator:" von "},KN={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},jN={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},GN={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"},VN={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},zN={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},WN={menuComingSoon:"Menu coming soon"},qN={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},YN={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},XN={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},JN={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},ZN={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"},eQ={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},tQ={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:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},rQ={menuComingSoon:"Menú próximamente"},nQ={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},aQ={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},iQ={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},oQ={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},AQ={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"},sQ={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},lQ={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:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},cQ={menuComingSoon:"Menu bientôt disponible"},uQ={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},fQ={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},dQ={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},hQ={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},gQ={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},pQ={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},mQ={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},vQ={menuComingSoon:"मेनू शीघ्र आ रहा है"},bQ={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},yQ={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},wQ={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},BQ={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},CQ={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"},_Q={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},xQ={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:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},FQ={menuComingSoon:"Menu in arrivo"},EQ={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},SQ={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},LQ={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},IQ={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},UQ={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"},TQ={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},kQ={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:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},NQ={menuComingSoon:"Menu em breve"},QQ={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},PQ={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},OQ={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},MQ={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},RQ={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ă"},DQ={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},HQ={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:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},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"}},$Q={menuComingSoon:"Meniu în curând"},KQ={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},jQ={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},GQ={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},VQ={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},zQ={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},WQ={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},qQ={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},YQ={menuComingSoon:"Меню скоро появится"},XQ={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},JQ={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ZQ={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},eP={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},tP={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},rP={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},nP={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},aP={menuComingSoon:"菜单即将推出"},iP={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},oP={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},AP={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. diff --git a/public/js/doxa-simple-map.js b/public/js/doxa-simple-map.js index 7eadfa6b..9b0cb282 100644 --- a/public/js/doxa-simple-map.js +++ b/public/js/doxa-simple-map.js @@ -1,46 +1,46 @@ (function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".profile-loader[data-v-858dd5a1]{width:100%;height:100%;position:relative}.profile-error[data-v-858dd5a1]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}.people-group-detail[data-v-0cd4696d]{display:flex;flex-direction:column;height:100%;overflow-y:auto}.detail-header[data-v-0cd4696d]{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:#fff;position:sticky;top:0;z-index:10}.header-left[data-v-0cd4696d]{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.header-text[data-v-0cd4696d]{flex:1;min-width:0}.people-group-name[data-v-0cd4696d]{margin:0;font-size:18px;font-weight:700;color:#333;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text;-webkit-user-select:text;cursor:text}.people-group-subtitle[data-v-0cd4696d]{margin:4px 0 0;font-size:13px;color:#666;line-height:1.2}.close-button[data-v-0cd4696d]{background:none;border:none;padding:4px;cursor:pointer;color:#666;transition:color .2s ease;flex-shrink:0}.close-button[data-v-0cd4696d]:hover{color:#333}.detail-content[data-v-0cd4696d]{padding:6px 12px 12px;flex:1;overflow-y:auto}.quick-stats[data-v-0cd4696d]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.stat-item[data-v-0cd4696d]{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.stat-label[data-v-0cd4696d]{color:#666;font-weight:500}.stat-value[data-v-0cd4696d]{color:#333;font-weight:600;text-align:right}.action-buttons[data-v-0cd4696d]{display:flex;gap:8px;padding-top:12px;margin-bottom:10px;overflow-x:auto;padding-bottom:2px}.action-btn[data-v-0cd4696d]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.action-btn.primary[data-v-0cd4696d]{background:#92b195;color:#fff}.action-btn.primary[data-v-0cd4696d]:hover{background:#73a17f;box-shadow:0 2px 4px #92b1954d}.action-btn.secondary[data-v-0cd4696d]{background:#ecf0f1;color:#333}.action-btn.secondary[data-v-0cd4696d]:hover{background:#d5dbdb}.btn-icon[data-v-0cd4696d]{flex-shrink:0}.image-container[data-v-0cd4696d]{margin-bottom:16px;border-radius:8px;overflow:hidden;background:#f5f5f5}.image-container.position-above[data-v-0cd4696d]{width:120px;height:150px;margin:0 auto 16px}.image-container.position-inside[data-v-0cd4696d]{width:200px;height:250px;margin:0 auto 16px}.people-group-image[data-v-0cd4696d]{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s ease}.people-group-image.loaded[data-v-0cd4696d]{opacity:1}.image-placeholder-svg[data-v-0cd4696d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f0f0f0;transition:opacity .3s ease}.image-placeholder-svg.hidden[data-v-0cd4696d]{opacity:0;pointer-events:none}.image-container[data-v-0cd4696d]{position:relative}.description-section[data-v-0cd4696d]{margin-top:16px;padding-top:16px;border-top:1px solid #e0e0e0}.description-text[data-v-0cd4696d]{margin:0;font-size:14px;line-height:1.6;color:#555}.description-text.empty[data-v-0cd4696d]{color:#999;font-style:italic}.action-buttons[data-v-0cd4696d]::-webkit-scrollbar{height:4px}.action-buttons[data-v-0cd4696d]::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.action-buttons[data-v-0cd4696d]::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.action-buttons[data-v-0cd4696d]::-webkit-scrollbar-thumb:hover{background:#999}@media (max-width: 480px){.people-group-name[data-v-0cd4696d]{font-size:16px}.stat-item[data-v-0cd4696d]{font-size:13px}.action-btn[data-v-0cd4696d]{padding:8px 14px;font-size:13px}}.dsm-root[data-v-bf7056c2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow:hidden}.dsm-tab-bar[data-v-bf7056c2]{flex:0 0 auto;display:flex;align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px #00000014;height:48px;padding:0 12px;gap:4px;z-index:10}.dsm-tab[data-v-bf7056c2]{background:none;border:none;padding:0 20px;height:100%;font-size:14px;font-weight:500;color:#555;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap}.dsm-tab[data-v-bf7056c2]:hover{background:#3498db0f;color:#3498db}.dsm-tab.active[data-v-bf7056c2]{color:#3498db;border-bottom-color:#3498db;background:#3498db0f}.dsm-map-area[data-v-bf7056c2]{flex:1 1 0;position:relative;overflow:hidden}.dsm-map-canvas[data-v-bf7056c2]{position:absolute;top:0;right:0;bottom:0;left:0}.dsm-loading[data-v-bf7056c2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#f8f9fa;color:#555;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;z-index:5}")),document.head.appendChild(t)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); -(function(){"use strict";var Jc;var xa=typeof document<"u"?document.currentScript:null;const R0="modulepreload",D0=function(e){return"/"+e},O0={},La=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/** +(function(){"use strict";var Jc;var xa=typeof document<"u"?document.currentScript:null;const R0="modulepreload",D0=function(e){return"/"+e},O0={},La=function(t,o,n){let a=Promise.resolve();function r(s){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=s,window.dispatchEvent(i),!i.defaultPrevented)throw s}return a.then(s=>{for(const i of s||[])i.status==="rejected"&&r(i.reason);return t().catch(r)})};/** * @vue/shared v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function Ta(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Oe={},$o=[],It=()=>{},Js=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fn=e=>e.startsWith("onUpdate:"),qe=Object.assign,Ea=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xc=Object.prototype.hasOwnProperty,Me=(e,t)=>Xc.call(e,t),be=Array.isArray,Po=e=>tn(e)==="[object Map]",Xs=e=>tn(e)==="[object Set]",Zs=e=>tn(e)==="[object Date]",Se=e=>typeof e=="function",Ge=e=>typeof e=="string",bt=e=>typeof e=="symbol",Ne=e=>e!==null&&typeof e=="object",Qs=e=>(Ne(e)||Se(e))&&Se(e.then)&&Se(e.catch),er=Object.prototype.toString,tn=e=>er.call(e),Zc=e=>tn(e).slice(8,-1),Rn=e=>tn(e)==="[object Object]",Dn=e=>Ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,on=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),On=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Qc=/-\w/g,ot=On(e=>e.replace(Qc,t=>t.slice(1).toUpperCase())),eu=/\B([A-Z])/g,vt=On(e=>e.replace(eu,"-$1").toLowerCase()),Bn=On(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ca=On(e=>e?`on${Bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),$a=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},tu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},or=e=>{const t=Ge(e)?Number(e):NaN;return isNaN(t)?e:t};let nr;const Un=()=>nr||(nr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ct(e){if(be(e)){const t={};for(let o=0;o{if(o){const n=o.split(nu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(Ge(e))t=e;else if(be(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>Ge(e)?e:e==null?"":be(e)||Ne(e)&&(e.toString===er||!Se(e.toString))?sr(e)?ye(e.value):JSON.stringify(e,rr,2):String(e),rr=(e,t)=>sr(t)?rr(e,t.value):Po(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[Ma(n,s)+" =>"]=a,o),{})}:Xs(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ma(o))}:bt(t)?Ma(t):Ne(t)&&!be(t)&&!Rn(t)?String(t):t,Ma=(e,t="")=>{var o;return bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** +**/function Ta(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const Oe={},$o=[],It=()=>{},Jr=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fn=e=>e.startsWith("onUpdate:"),qe=Object.assign,Ea=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},Xc=Object.prototype.hasOwnProperty,Me=(e,t)=>Xc.call(e,t),be=Array.isArray,Po=e=>tn(e)==="[object Map]",Xr=e=>tn(e)==="[object Set]",Zr=e=>tn(e)==="[object Date]",Se=e=>typeof e=="function",Ge=e=>typeof e=="string",bt=e=>typeof e=="symbol",Ne=e=>e!==null&&typeof e=="object",Qr=e=>(Ne(e)||Se(e))&&Se(e.then)&&Se(e.catch),es=Object.prototype.toString,tn=e=>es.call(e),Zc=e=>tn(e).slice(8,-1),Rn=e=>tn(e)==="[object Object]",Dn=e=>Ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,on=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),On=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Qc=/-\w/g,ot=On(e=>e.replace(Qc,t=>t.slice(1).toUpperCase())),eu=/\B([A-Z])/g,vt=On(e=>e.replace(eu,"-$1").toLowerCase()),Bn=On(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ca=On(e=>e?`on${Bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),$a=(e,...t)=>{for(let o=0;o{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},tu=e=>{const t=parseFloat(e);return isNaN(t)?e:t},os=e=>{const t=Ge(e)?Number(e):NaN;return isNaN(t)?e:t};let ns;const Un=()=>ns||(ns=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ct(e){if(be(e)){const t={};for(let o=0;o{if(o){const n=o.split(nu);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Be(e){let t="";if(Ge(e))t=e;else if(be(e))for(let o=0;o!!(e&&e.__v_isRef===!0),ye=e=>Ge(e)?e:e==null?"":be(e)||Ne(e)&&(e.toString===es||!Se(e.toString))?rs(e)?ye(e.value):JSON.stringify(e,ss,2):String(e),ss=(e,t)=>rs(t)?ss(e,t.value):Po(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],r)=>(o[Ma(n,r)+" =>"]=a,o),{})}:Xr(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>Ma(o))}:bt(t)?Ma(t):Ne(t)&&!be(t)&&!Rn(t)?String(t):t,Ma=(e,t="")=>{var o;return bt(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/** * @vue/reactivity v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let et;class ir{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&&et&&(et.active?(this.parent=et,this.index=(et.scopes||(et.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)for(t=0,o=this.scopes.length;t0&&--this._on===0){if(et===this)et=this.prevScope;else{let t=et;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(an){let t=an;for(an=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;nn;){let t=nn;for(nn=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 pr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gr(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Oa(n),cu(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Da(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===sn)||(e.globalVersion=sn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Da(e))))return;e.flags|=2;const t=e.dep,o=Ue,n=At;Ue=e,At=!0;try{pr(e);const a=e.fn(e._value);(t.version===0||Nt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ue=o,At=n,gr(e),e.flags&=-3}}function Oa(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.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)Oa(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function cu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let At=!0;const hr=[];function Ft(){hr.push(At),At=!1}function Rt(){const e=hr.pop();At=e===void 0?!0:e}function mr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ue;Ue=void 0;try{t()}finally{Ue=o}}}let sn=0;class uu{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 Ba{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(!Ue||!At||Ue===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ue)o=this.activeLink=new uu(Ue,this),Ue.deps?(o.prevDep=Ue.depsTail,Ue.depsTail.nextDep=o,Ue.depsTail=o):Ue.deps=Ue.depsTail=o,br(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=Ue.depsTail,o.nextDep=void 0,Ue.depsTail.nextDep=o,Ue.depsTail=o,Ue.deps===o&&(Ue.deps=n)}return o}trigger(t){this.version++,sn++,this.notify(t)}notify(t){Fa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ra()}}}function br(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)br(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const jn=new WeakMap,_o=Symbol(""),Ua=Symbol(""),rn=Symbol("");function lt(e,t,o){if(At&&Ue){let n=jn.get(e);n||jn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ba),a.map=n,a.key=o),a.track()}}function Ht(e,t,o,n,a,s){const r=jn.get(e);if(!r){sn++;return}const i=l=>{l&&l.trigger()};if(Fa(),t==="clear")r.forEach(i);else{const l=be(e),c=l&&Dn(o);if(l&&o==="length"){const u=Number(n);r.forEach((f,v)=>{(v==="length"||v===rn||!bt(v)&&v>=u)&&i(f)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(rn)),t){case"add":l?c&&i(r.get("length")):(i(r.get(_o)),Po(e)&&i(r.get(Ua)));break;case"delete":l||(i(r.get(_o)),Po(e)&&i(r.get(Ua)));break;case"set":Po(e)&&i(r.get(_o));break}}Ra()}function du(e,t){const o=jn.get(e);return o&&o.get(t)}function Mo(e){const t=Ce(e);return t===e?t:(lt(t,"iterate",rn),yt(e)?t:t.map(xt))}function Gn(e){return lt(e=Ce(e),"iterate",rn),e}function Dt(e,t){return Wt(e)?No(Vt(e)?xt(t):t):xt(t)}const pu={__proto__:null,[Symbol.iterator](){return ja(this,Symbol.iterator,e=>Dt(this,e))},concat(...e){return Mo(this).concat(...e.map(t=>be(t)?Mo(t):t))},entries(){return ja(this,"entries",e=>(e[1]=Dt(this,e[1]),e))},every(e,t){return zt(this,"every",e,t,void 0,arguments)},filter(e,t){return zt(this,"filter",e,t,o=>o.map(n=>Dt(this,n)),arguments)},find(e,t){return zt(this,"find",e,t,o=>Dt(this,o),arguments)},findIndex(e,t){return zt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zt(this,"findLast",e,t,o=>Dt(this,o),arguments)},findLastIndex(e,t){return zt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ga(this,"includes",e)},indexOf(...e){return Ga(this,"indexOf",e)},join(e){return Mo(this).join(e)},lastIndexOf(...e){return Ga(this,"lastIndexOf",e)},map(e,t){return zt(this,"map",e,t,void 0,arguments)},pop(){return ln(this,"pop")},push(...e){return ln(this,"push",e)},reduce(e,...t){return yr(this,"reduce",e,t)},reduceRight(e,...t){return yr(this,"reduceRight",e,t)},shift(){return ln(this,"shift")},some(e,t){return zt(this,"some",e,t,void 0,arguments)},splice(...e){return ln(this,"splice",e)},toReversed(){return Mo(this).toReversed()},toSorted(e){return Mo(this).toSorted(e)},toSpliced(...e){return Mo(this).toSpliced(...e)},unshift(...e){return ln(this,"unshift",e)},values(){return ja(this,"values",e=>Dt(this,e))}};function ja(e,t,o){const n=Gn(e),a=n[t]();return n!==e&&!yt(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const gu=Array.prototype;function zt(e,t,o,n,a,s){const r=Gn(e),i=r!==e&&!yt(e),l=r[t];if(l!==gu[t]){const f=l.apply(e,s);return i?xt(f):f}let c=o;r!==e&&(i?c=function(f,v){return o.call(this,Dt(e,f),v,e)}:o.length>2&&(c=function(f,v){return o.call(this,f,v,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function yr(e,t,o,n){const a=Gn(e),s=a!==e&&!yt(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,f){return i&&(i=!1,c=Dt(e,c)),o.call(this,c,Dt(e,u),f,e)}):o.length>3&&(r=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](r,...n);return i?Dt(e,l):l}function Ga(e,t,o){const n=Ce(e);lt(n,"iterate",rn);const a=n[t](...o);return(a===-1||a===!1)&&Wn(o[0])?(o[0]=Ce(o[0]),n[t](...o)):a}function ln(e,t,o=[]){Ft(),Fa();const n=Ce(e)[t].apply(e,o);return Ra(),Rt(),n}const fu=Ta("__proto__,__v_isRef,__isVue"),_r=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function hu(e){bt(e)||(e=String(e));const t=Ce(this);return lt(t,"has",e),t.hasOwnProperty(e)}class vr{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?Lr:xr:s?Ar:Sr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=be(t);if(!a){let l;if(r&&(l=pu[o]))return l;if(o==="hasOwnProperty")return hu}const i=Reflect.get(t,o,Ke(t)?t:n);if((bt(o)?_r.has(o):fu(o))||(a||lt(t,"get",o),s))return i;if(Ke(i)){const l=r&&Dn(o)?i:i.value;return a&&Ne(l)?Ha(l):l}return Ne(i)?a?Ha(i):Io(i):i}}class wr extends vr{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=be(t)&&Dn(o);if(!this._isShallow){const c=Wt(s);if(!yt(n)&&!Wt(n)&&(s=Ce(s),n=Ce(n)),!r&&Ke(s)&&!Ke(n))return c||(s.value=n),!0}const i=r?Number(o)e,Kn=e=>Reflect.getPrototypeOf(e);function vu(e,t,o){return function(...n){const a=this.__v_raw,s=Ce(a),r=Po(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?Ka:t?No:xt;return!t&<(s,"iterate",l?Ua:_o),qe(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:i?[u(f[0]),u(f[1])]:u(f),done:v}}})}}function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wu(e,t){const o={get(a){const s=this.__v_raw,r=Ce(s),i=Ce(a);e||(Nt(a,i)&<(r,"get",a),lt(r,"get",i));const{has:l}=Kn(r),c=t?Ka:e?No:xt;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&<(Ce(a),"iterate",_o),a.size},has(a){const s=this.__v_raw,r=Ce(s),i=Ce(a);return e||(Nt(a,i)&<(r,"has",a),lt(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=Ce(i),c=t?Ka:e?No:xt;return!e&<(l,"iterate",_o),i.forEach((u,f)=>a.call(s,c(u),c(f),r))}};return qe(o,e?{add:Hn("add"),set:Hn("set"),delete:Hn("delete"),clear:Hn("clear")}:{add(a){const s=Ce(this),r=Kn(s),i=Ce(a),l=!t&&!yt(a)&&!Wt(a)?i:a;return r.has.call(s,l)||Nt(a,l)&&r.has.call(s,a)||Nt(i,l)&&r.has.call(s,i)||(s.add(l),Ht(s,"add",l,l)),this},set(a,s){!t&&!yt(s)&&!Wt(s)&&(s=Ce(s));const r=Ce(this),{has:i,get:l}=Kn(r);let c=i.call(r,a);c||(a=Ce(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?Nt(s,u)&&Ht(r,"set",a,s):Ht(r,"add",a,s),this},delete(a){const s=Ce(this),{has:r,get:i}=Kn(s);let l=r.call(s,a);l||(a=Ce(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&Ht(s,"delete",a,void 0),c},clear(){const a=Ce(this),s=a.size!==0,r=a.clear();return s&&Ht(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=vu(a,e,t)}),o}function zn(e,t){const o=wu(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Me(o,a)&&a in n?o:n,a,s)}const ku={get:zn(!1,!1)},Su={get:zn(!1,!0)},Au={get:zn(!0,!1)},xu={get:zn(!0,!0)},Sr=new WeakMap,Ar=new WeakMap,xr=new WeakMap,Lr=new WeakMap;function Lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Io(e){return Wt(e)?e:Vn(e,!1,mu,ku,Sr)}function Tu(e){return Vn(e,!1,yu,Su,Ar)}function Ha(e){return Vn(e,!0,bu,Au,xr)}function U0(e){return Vn(e,!0,_u,xu,Lr)}function Vn(e,t,o,n,a){if(!Ne(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=Lu(Zc(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Vt(e){return Wt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function yt(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function cn(e){return!Me(e,"__v_skip")&&Object.isExtensible(e)&&tr(e,"__v_skip",!0),e}const xt=e=>Ne(e)?Io(e):e,No=e=>Ne(e)?Ha(e):e;function Ke(e){return e?e.__v_isRef===!0:!1}function me(e){return Er(e,!1)}function Tr(e){return Er(e,!0)}function Er(e,t){return Ke(e)?e:new Eu(e,t)}class Eu{constructor(t,o){this.dep=new Ba,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ce(t),this._value=o?t:xt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||yt(t)||Wt(t);t=n?t:Ce(t),Nt(t,o)&&(this._rawValue=t,this._value=n?t:xt(t),this.dep.trigger())}}function pe(e){return Ke(e)?e.value:e}const Cu={get:(e,t,o)=>t==="__v_raw"?e:pe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ke(a)&&!Ke(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cr(e){return Vt(e)?e:new Proxy(e,Cu)}function $u(e){const t=be(e)?new Array(e.length):{};for(const o in e)t[o]=$r(e,o);return t}class Pu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=bt(o)?o:String(o),this._raw=Ce(t);let a=!0,s=t;if(!be(t)||bt(this._key)||!Dn(this._key))do a=!Wn(s)||yt(s);while(a&&(s=s.__v_raw));this._shallow=a}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 o=this._object[this._key];if(Ke(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return du(this._raw,this._key)}}class Mu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function za(e,t,o){return Ke(e)?e:Se(e)?new Mu(e):Ne(e)&&arguments.length>1?$r(e,t,o):me(e)}function $r(e,t,o){return new Pu(e,t,o)}class Iu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ba(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=sn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ue!==this)return dr(this,!0),!0}get value(){const t=this.dep.track();return fr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nu(e,t,o=!1){let n,a;return Se(e)?n=e:(n=e.get,a=e.set),new Iu(n,a,o)}const Yn={},qn=new WeakMap;let vo;function Fu(e,t=!1,o=vo){if(o){let n=qn.get(o);n||qn.set(o,n=[]),n.push(e)}}function Ru(e,t,o=Oe){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=k=>a?k:yt(k)||a===!1||a===0?Yt(k,1):Yt(k);let u,f,v,x,T=!1,w=!1;if(Ke(e)?(f=()=>e.value,T=yt(e)):Vt(e)?(f=()=>c(e),T=!0):be(e)?(w=!0,T=e.some(k=>Vt(k)||yt(k)),f=()=>e.map(k=>{if(Ke(k))return k.value;if(Vt(k))return c(k);if(Se(k))return l?l(k,2):k()})):Se(e)?t?f=l?()=>l(e,2):e:f=()=>{if(v){Ft();try{v()}finally{Rt()}}const k=vo;vo=u;try{return l?l(e,3,[x]):e(x)}finally{vo=k}}:f=It,t&&a){const k=f,A=a===!0?1/0:a;f=()=>Yt(k(),A)}const E=lr(),_=()=>{u.stop(),E&&E.active&&Ea(E.effects,u)};if(s&&t){const k=t;t=(...A)=>{k(...A),_()}}let S=w?new Array(e.length).fill(Yn):Yn;const g=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(a||T||(w?A.some((L,O)=>Nt(L,S[O])):Nt(A,S))){v&&v();const L=vo;vo=u;try{const O=[A,S===Yn?void 0:w&&S[0]===Yn?[]:S,x];S=A,l?l(t,3,O):t(...O)}finally{vo=L}}}else u.run()};return i&&i(g),u=new cr(f),u.scheduler=r?()=>r(g,!1):g,x=k=>Fu(k,!1,u),v=u.onStop=()=>{const k=qn.get(u);if(k){if(l)l(k,4);else for(const A of k)A();qn.delete(u)}},t?n?g(!0):S=u.run():r?r(g.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Yt(e,t=1/0,o){if(t<=0||!Ne(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ke(e))Yt(e.value,t,o);else if(be(e))for(let n=0;n{Yt(n,t,o)});else if(Rn(e)){for(const n in e)Yt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yt(e[n],t,o)}return e}/** +**/let et;class is{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&&et&&(et.active?(this.parent=et,this.index=(et.scopes||(et.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)for(t=0,o=this.scopes.length;t0&&--this._on===0){if(et===this)et=this.prevScope;else{let t=et;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(an){let t=an;for(an=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;nn;){let t=nn;for(nn=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 ps(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gs(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),Oa(n),cu(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function Da(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(fs(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function fs(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===rn)||(e.globalVersion=rn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Da(e))))return;e.flags|=2;const t=e.dep,o=Ue,n=At;Ue=e,At=!0;try{ps(e);const a=e.fn(e._value);(t.version===0||Nt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{Ue=o,At=n,gs(e),e.flags&=-3}}function Oa(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let r=o.computed.deps;r;r=r.nextDep)Oa(r,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function cu(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let At=!0;const hs=[];function Ft(){hs.push(At),At=!1}function Rt(){const e=hs.pop();At=e===void 0?!0:e}function ms(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=Ue;Ue=void 0;try{t()}finally{Ue=o}}}let rn=0;class uu{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 Ba{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(!Ue||!At||Ue===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==Ue)o=this.activeLink=new uu(Ue,this),Ue.deps?(o.prevDep=Ue.depsTail,Ue.depsTail.nextDep=o,Ue.depsTail=o):Ue.deps=Ue.depsTail=o,bs(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=Ue.depsTail,o.nextDep=void 0,Ue.depsTail.nextDep=o,Ue.depsTail=o,Ue.deps===o&&(Ue.deps=n)}return o}trigger(t){this.version++,rn++,this.notify(t)}notify(t){Fa();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{Ra()}}}function bs(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)bs(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const jn=new WeakMap,_o=Symbol(""),Ua=Symbol(""),sn=Symbol("");function lt(e,t,o){if(At&&Ue){let n=jn.get(e);n||jn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new Ba),a.map=n,a.key=o),a.track()}}function Ht(e,t,o,n,a,r){const s=jn.get(e);if(!s){rn++;return}const i=l=>{l&&l.trigger()};if(Fa(),t==="clear")s.forEach(i);else{const l=be(e),c=l&&Dn(o);if(l&&o==="length"){const u=Number(n);s.forEach((f,v)=>{(v==="length"||v===sn||!bt(v)&&v>=u)&&i(f)})}else switch((o!==void 0||s.has(void 0))&&i(s.get(o)),c&&i(s.get(sn)),t){case"add":l?c&&i(s.get("length")):(i(s.get(_o)),Po(e)&&i(s.get(Ua)));break;case"delete":l||(i(s.get(_o)),Po(e)&&i(s.get(Ua)));break;case"set":Po(e)&&i(s.get(_o));break}}Ra()}function du(e,t){const o=jn.get(e);return o&&o.get(t)}function Mo(e){const t=Ce(e);return t===e?t:(lt(t,"iterate",sn),yt(e)?t:t.map(xt))}function Gn(e){return lt(e=Ce(e),"iterate",sn),e}function Dt(e,t){return Wt(e)?No(Vt(e)?xt(t):t):xt(t)}const pu={__proto__:null,[Symbol.iterator](){return ja(this,Symbol.iterator,e=>Dt(this,e))},concat(...e){return Mo(this).concat(...e.map(t=>be(t)?Mo(t):t))},entries(){return ja(this,"entries",e=>(e[1]=Dt(this,e[1]),e))},every(e,t){return zt(this,"every",e,t,void 0,arguments)},filter(e,t){return zt(this,"filter",e,t,o=>o.map(n=>Dt(this,n)),arguments)},find(e,t){return zt(this,"find",e,t,o=>Dt(this,o),arguments)},findIndex(e,t){return zt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return zt(this,"findLast",e,t,o=>Dt(this,o),arguments)},findLastIndex(e,t){return zt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return zt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ga(this,"includes",e)},indexOf(...e){return Ga(this,"indexOf",e)},join(e){return Mo(this).join(e)},lastIndexOf(...e){return Ga(this,"lastIndexOf",e)},map(e,t){return zt(this,"map",e,t,void 0,arguments)},pop(){return ln(this,"pop")},push(...e){return ln(this,"push",e)},reduce(e,...t){return ys(this,"reduce",e,t)},reduceRight(e,...t){return ys(this,"reduceRight",e,t)},shift(){return ln(this,"shift")},some(e,t){return zt(this,"some",e,t,void 0,arguments)},splice(...e){return ln(this,"splice",e)},toReversed(){return Mo(this).toReversed()},toSorted(e){return Mo(this).toSorted(e)},toSpliced(...e){return Mo(this).toSpliced(...e)},unshift(...e){return ln(this,"unshift",e)},values(){return ja(this,"values",e=>Dt(this,e))}};function ja(e,t,o){const n=Gn(e),a=n[t]();return n!==e&&!yt(e)&&(a._next=a.next,a.next=()=>{const r=a._next();return r.done||(r.value=o(r.value)),r}),a}const gu=Array.prototype;function zt(e,t,o,n,a,r){const s=Gn(e),i=s!==e&&!yt(e),l=s[t];if(l!==gu[t]){const f=l.apply(e,r);return i?xt(f):f}let c=o;s!==e&&(i?c=function(f,v){return o.call(this,Dt(e,f),v,e)}:o.length>2&&(c=function(f,v){return o.call(this,f,v,e)}));const u=l.call(s,c,n);return i&&a?a(u):u}function ys(e,t,o,n){const a=Gn(e),r=a!==e&&!yt(e);let s=o,i=!1;a!==e&&(r?(i=n.length===0,s=function(c,u,f){return i&&(i=!1,c=Dt(e,c)),o.call(this,c,Dt(e,u),f,e)}):o.length>3&&(s=function(c,u,f){return o.call(this,c,u,f,e)}));const l=a[t](s,...n);return i?Dt(e,l):l}function Ga(e,t,o){const n=Ce(e);lt(n,"iterate",sn);const a=n[t](...o);return(a===-1||a===!1)&&Wn(o[0])?(o[0]=Ce(o[0]),n[t](...o)):a}function ln(e,t,o=[]){Ft(),Fa();const n=Ce(e)[t].apply(e,o);return Ra(),Rt(),n}const fu=Ta("__proto__,__v_isRef,__isVue"),_s=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bt));function hu(e){bt(e)||(e=String(e));const t=Ce(this);return lt(t,"has",e),t.hasOwnProperty(e)}class vs{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,r=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return r;if(o==="__v_raw")return n===(a?r?Ls:xs:r?As:Ss).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const s=be(t);if(!a){let l;if(s&&(l=pu[o]))return l;if(o==="hasOwnProperty")return hu}const i=Reflect.get(t,o,Ke(t)?t:n);if((bt(o)?_s.has(o):fu(o))||(a||lt(t,"get",o),r))return i;if(Ke(i)){const l=s&&Dn(o)?i:i.value;return a&&Ne(l)?Ha(l):l}return Ne(i)?a?Ha(i):Io(i):i}}class ws extends vs{constructor(t=!1){super(!1,t)}set(t,o,n,a){let r=t[o];const s=be(t)&&Dn(o);if(!this._isShallow){const c=Wt(r);if(!yt(n)&&!Wt(n)&&(r=Ce(r),n=Ce(n)),!s&&Ke(r)&&!Ke(n))return c||(r.value=n),!0}const i=s?Number(o)e,Kn=e=>Reflect.getPrototypeOf(e);function vu(e,t,o){return function(...n){const a=this.__v_raw,r=Ce(a),s=Po(r),i=e==="entries"||e===Symbol.iterator&&s,l=e==="keys"&&s,c=a[e](...n),u=o?Ka:t?No:xt;return!t&<(r,"iterate",l?Ua:_o),qe(Object.create(c),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:i?[u(f[0]),u(f[1])]:u(f),done:v}}})}}function Hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wu(e,t){const o={get(a){const r=this.__v_raw,s=Ce(r),i=Ce(a);e||(Nt(a,i)&<(s,"get",a),lt(s,"get",i));const{has:l}=Kn(s),c=t?Ka:e?No:xt;if(l.call(s,a))return c(r.get(a));if(l.call(s,i))return c(r.get(i));r!==s&&r.get(a)},get size(){const a=this.__v_raw;return!e&<(Ce(a),"iterate",_o),a.size},has(a){const r=this.__v_raw,s=Ce(r),i=Ce(a);return e||(Nt(a,i)&<(s,"has",a),lt(s,"has",i)),a===i?r.has(a):r.has(a)||r.has(i)},forEach(a,r){const s=this,i=s.__v_raw,l=Ce(i),c=t?Ka:e?No:xt;return!e&<(l,"iterate",_o),i.forEach((u,f)=>a.call(r,c(u),c(f),s))}};return qe(o,e?{add:Hn("add"),set:Hn("set"),delete:Hn("delete"),clear:Hn("clear")}:{add(a){const r=Ce(this),s=Kn(r),i=Ce(a),l=!t&&!yt(a)&&!Wt(a)?i:a;return s.has.call(r,l)||Nt(a,l)&&s.has.call(r,a)||Nt(i,l)&&s.has.call(r,i)||(r.add(l),Ht(r,"add",l,l)),this},set(a,r){!t&&!yt(r)&&!Wt(r)&&(r=Ce(r));const s=Ce(this),{has:i,get:l}=Kn(s);let c=i.call(s,a);c||(a=Ce(a),c=i.call(s,a));const u=l.call(s,a);return s.set(a,r),c?Nt(r,u)&&Ht(s,"set",a,r):Ht(s,"add",a,r),this},delete(a){const r=Ce(this),{has:s,get:i}=Kn(r);let l=s.call(r,a);l||(a=Ce(a),l=s.call(r,a)),i&&i.call(r,a);const c=r.delete(a);return l&&Ht(r,"delete",a,void 0),c},clear(){const a=Ce(this),r=a.size!==0,s=a.clear();return r&&Ht(a,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=vu(a,e,t)}),o}function zn(e,t){const o=wu(e,t);return(n,a,r)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(Me(o,a)&&a in n?o:n,a,r)}const ku={get:zn(!1,!1)},Su={get:zn(!1,!0)},Au={get:zn(!0,!1)},xu={get:zn(!0,!0)},Ss=new WeakMap,As=new WeakMap,xs=new WeakMap,Ls=new WeakMap;function Lu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Io(e){return Wt(e)?e:Vn(e,!1,mu,ku,Ss)}function Tu(e){return Vn(e,!1,yu,Su,As)}function Ha(e){return Vn(e,!0,bu,Au,xs)}function U0(e){return Vn(e,!0,_u,xu,Ls)}function Vn(e,t,o,n,a){if(!Ne(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=a.get(e);if(r)return r;const s=Lu(Zc(e));if(s===0)return e;const i=new Proxy(e,s===2?n:o);return a.set(e,i),i}function Vt(e){return Wt(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function yt(e){return!!(e&&e.__v_isShallow)}function Wn(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function cn(e){return!Me(e,"__v_skip")&&Object.isExtensible(e)&&ts(e,"__v_skip",!0),e}const xt=e=>Ne(e)?Io(e):e,No=e=>Ne(e)?Ha(e):e;function Ke(e){return e?e.__v_isRef===!0:!1}function me(e){return Es(e,!1)}function Ts(e){return Es(e,!0)}function Es(e,t){return Ke(e)?e:new Eu(e,t)}class Eu{constructor(t,o){this.dep=new Ba,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:Ce(t),this._value=o?t:xt(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||yt(t)||Wt(t);t=n?t:Ce(t),Nt(t,o)&&(this._rawValue=t,this._value=n?t:xt(t),this.dep.trigger())}}function pe(e){return Ke(e)?e.value:e}const Cu={get:(e,t,o)=>t==="__v_raw"?e:pe(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return Ke(a)&&!Ke(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Cs(e){return Vt(e)?e:new Proxy(e,Cu)}function $u(e){const t=be(e)?new Array(e.length):{};for(const o in e)t[o]=$s(e,o);return t}class Pu{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=bt(o)?o:String(o),this._raw=Ce(t);let a=!0,r=t;if(!be(t)||bt(this._key)||!Dn(this._key))do a=!Wn(r)||yt(r);while(a&&(r=r.__v_raw));this._shallow=a}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 o=this._object[this._key];if(Ke(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return du(this._raw,this._key)}}class Mu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function za(e,t,o){return Ke(e)?e:Se(e)?new Mu(e):Ne(e)&&arguments.length>1?$s(e,t,o):me(e)}function $s(e,t,o){return new Pu(e,t,o)}class Iu{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new Ba(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=rn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ue!==this)return ds(this,!0),!0}get value(){const t=this.dep.track();return fs(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nu(e,t,o=!1){let n,a;return Se(e)?n=e:(n=e.get,a=e.set),new Iu(n,a,o)}const Yn={},qn=new WeakMap;let vo;function Fu(e,t=!1,o=vo){if(o){let n=qn.get(o);n||qn.set(o,n=[]),n.push(e)}}function Ru(e,t,o=Oe){const{immediate:n,deep:a,once:r,scheduler:s,augmentJob:i,call:l}=o,c=k=>a?k:yt(k)||a===!1||a===0?Yt(k,1):Yt(k);let u,f,v,x,T=!1,w=!1;if(Ke(e)?(f=()=>e.value,T=yt(e)):Vt(e)?(f=()=>c(e),T=!0):be(e)?(w=!0,T=e.some(k=>Vt(k)||yt(k)),f=()=>e.map(k=>{if(Ke(k))return k.value;if(Vt(k))return c(k);if(Se(k))return l?l(k,2):k()})):Se(e)?t?f=l?()=>l(e,2):e:f=()=>{if(v){Ft();try{v()}finally{Rt()}}const k=vo;vo=u;try{return l?l(e,3,[x]):e(x)}finally{vo=k}}:f=It,t&&a){const k=f,A=a===!0?1/0:a;f=()=>Yt(k(),A)}const E=ls(),_=()=>{u.stop(),E&&E.active&&Ea(E.effects,u)};if(r&&t){const k=t;t=(...A)=>{k(...A),_()}}let S=w?new Array(e.length).fill(Yn):Yn;const g=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const A=u.run();if(a||T||(w?A.some((L,O)=>Nt(L,S[O])):Nt(A,S))){v&&v();const L=vo;vo=u;try{const O=[A,S===Yn?void 0:w&&S[0]===Yn?[]:S,x];S=A,l?l(t,3,O):t(...O)}finally{vo=L}}}else u.run()};return i&&i(g),u=new cs(f),u.scheduler=s?()=>s(g,!1):g,x=k=>Fu(k,!1,u),v=u.onStop=()=>{const k=qn.get(u);if(k){if(l)l(k,4);else for(const A of k)A();qn.delete(u)}},t?n?g(!0):S=u.run():s?s(g.bind(null,!0),!0):u.run(),_.pause=u.pause.bind(u),_.resume=u.resume.bind(u),_.stop=_,_}function Yt(e,t=1/0,o){if(t<=0||!Ne(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,Ke(e))Yt(e.value,t,o);else if(be(e))for(let n=0;n{Yt(n,t,o)});else if(Rn(e)){for(const n in e)Yt(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Yt(e[n],t,o)}return e}/** * @vue/runtime-core v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const un=[];let Va=!1;function j0(e,...t){if(Va)return;Va=!0,Ft();const o=un.length?un[un.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Du();if(n)Fo(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Li(o,s.type)}>`).join(` -`),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...Ou(a)),console.warn(...s)}Rt(),Va=!1}function Du(){let e=un[un.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 Ou(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` -`],...Bu(o))}),t}function Bu({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Li(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Uu(e.props),s]:[a+s]}function Uu(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Pr(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Pr(e,t,o){return Ge(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ke(t)?(t=Pr(e,Ce(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ce(t),o?t:[`${e}=`,t])}function Fo(e,t,o,n){try{return n?e(...n):e()}catch(a){dn(a,t,o)}}function Lt(e,t,o,n){if(Se(e)){const a=Fo(e,t,o,n);return a&&Qs(a)&&a.catch(s=>{dn(s,t,o)}),a}if(be(e)){const a=[];for(let s=0;s>>1,a=ut[n],s=pn(a);s=pn(o)?ut.push(e):ut.splice(Gu(t),0,e),e.flags|=1,Ir()}}function Ir(){Jn||(Jn=Mr.then(Rr))}function Ku(e){be(e)?Ro.push(...e):no&&e.id===-1?no.splice(Do+1,0,e):e.flags&1||(Ro.push(e),e.flags|=1),Ir()}function Nr(e,t,o=Ot+1){for(;opn(o)-pn(n));if(Ro.length=0,no){no.push(...t);return}for(no=t,Do=0;Doe.id==null?e.flags&2?-1:1/0:e.id;function Rr(e){try{for(Ot=0;Ot{n._d&&aa(-1);const s=Xn(t);let r;try{r=e(...a)}finally{Xn(s),n._d&&aa(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function Hu(e,t){if(st===null)return e;const o=ia(st),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Se(t)?t.call(n&&n.proxy):t}}function zu(){return!!(so()||ko)}const Vu=Symbol.for("v-scx"),Wu=()=>$e(Vu);function Ye(e,t,o){return Or(e,t,o)}function Or(e,t,o=Oe){const{immediate:n,deep:a,flush:s,once:r}=o,i=qe({},o),l=t&&n||!t&&s!=="post";let c;if(jo){if(s==="sync"){const x=Wu();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=It,x.resume=It,x.pause=It,x}}const u=rt;i.call=(x,T,w)=>Lt(x,u,T,w);let f=!1;s==="post"?i.scheduler=x=>{ft(x,u&&u.suspense)}:s!=="sync"&&(f=!0,i.scheduler=(x,T)=>{T?x():Ya(x)}),i.augmentJob=x=>{t&&(x.flags|=4),f&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const v=Ru(e,t,i);return jo&&(c?c.push(v):l&&v()),v}function Yu(e,t,o){const n=this.proxy,a=Ge(e)?e.includes(".")?Br(n,e):()=>n[e]:e.bind(n,n);let s;Se(t)?s=t:(s=t.handler,o=t);const r=kn(this),i=Or(a,s.bind(n),o);return r(),i}function Br(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,qa=Symbol("_leaveCb");function Ja(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ja(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function gn(e,t){return Se(e)?qe({name:e.name},t,{setup:e}):e}function Xa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ur(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function fn(e,t,o,n,a=!1){if(be(e)){e.forEach((w,E)=>fn(w,t&&(be(t)?t[E]:t),o,n,a));return}if(Oo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&fn(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?ia(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===Oe?i.refs={}:i.refs,f=i.setupState,v=Ce(f),x=f===Oe?Js:w=>Ur(u,w)?!1:Me(v,w),T=(w,E)=>!(E&&Ur(u,E));if(c!=null&&c!==l){if(jr(t),Ge(c))u[c]=null,x(c)&&(f[c]=null);else if(Ke(c)){const w=t;T(c,w.k)&&(c.value=null),w.k&&(u[w.k]=null)}}if(Se(l))Fo(l,i,12,[r,u]);else{const w=Ge(l),E=Ke(l);if(w||E){const _=()=>{if(e.f){const S=w?x(l)?f[l]:u[l]:T()||!e.k?l.value:u[e.k];if(a)be(S)&&Ea(S,s);else if(be(S))S.includes(s)||S.push(s);else if(w)u[l]=[s],x(l)&&(f[l]=u[l]);else{const g=[s];T(l,e.k)&&(l.value=g),e.k&&(u[e.k]=g)}}else w?(u[l]=r,x(l)&&(f[l]=r)):E&&(T(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const S=()=>{_(),Zn.delete(e)};S.id=-1,Zn.set(e,S),ft(S,o)}else jr(e),_()}}}function jr(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Gr=e=>e.nodeType===8;Un().requestIdleCallback,Un().cancelIdleCallback;function Xu(e,t){if(Gr(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Gr(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Oo=e=>!!e.type.__asyncLoader;function Za(e){Se(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,f=0;const v=()=>(f++,c=null,x()),x=()=>{let T;return c||(T=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((E,_)=>{l(w,()=>E(v()),()=>_(w),f+1)});throw w}).then(w=>T!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),u=w,w)))};return gn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(T,w,E){let _=!1;(w.bu||(w.bu=[])).push(()=>_=!0);const S=()=>{_||E()},g=s?()=>{const k=s(S,A=>Xu(T,A));k&&(w.bum||(w.bum=[])).push(k)}:S;u?g():x().then(()=>!w.isUnmounted&&g())},get __asyncResolved(){return u},setup(){const T=rt;if(Xa(T),u)return()=>Qn(u,T);const w=g=>{c=null,dn(g,T,13,!n)};if(i&&T.suspense||jo)return x().then(g=>()=>Qn(g,T)).catch(g=>(w(g),()=>n?Ve(n,{error:g}):null));const E=me(!1),_=me(),S=me(!!a);return a&&setTimeout(()=>{S.value=!1},a),r!=null&&setTimeout(()=>{if(!E.value&&!_.value){const g=new Error(`Async component timed out after ${r}ms.`);w(g),_.value=g}},r),x().then(()=>{E.value=!0,T.parent&&Qa(T.parent.vnode)&&T.parent.update()}).catch(g=>{w(g),_.value=g}),()=>{if(E.value&&u)return Qn(u,T);if(_.value&&n)return Ve(n,{error:_.value});if(o&&!S.value)return Qn(o,T)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=Ve(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const Qa=e=>e.type.__isKeepAlive;function Zu(e,t){Kr(e,"a",t)}function Qu(e,t){Kr(e,"da",t)}function Kr(e,t,o=rt){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(ea(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Qa(a.parent.vnode)&&ed(n,t,o,a),a=a.parent}}function ed(e,t,o,n){const a=ea(t,e,n,!0);es(()=>{Ea(n[t],a)},o)}function ea(e,t,o=rt,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{Ft();const i=kn(o),l=Lt(t,o,e,r);return i(),Rt(),l});return n?a.unshift(s):a.push(s),s}}const qt=e=>(t,o=rt)=>{(!jo||e==="sp")&&ea(e,(...n)=>t(...n),o)},Hr=qt("bm"),ao=qt("m"),td=qt("bu"),od=qt("u"),Bo=qt("bum"),es=qt("um"),nd=qt("sp"),ad=qt("rtg"),sd=qt("rtc");function rd(e,t=rt){ea("ec",e,t)}const id="components",zr=Symbol.for("v-ndc");function ld(e){return Ge(e)?cd(id,e,!1)||e:e||zr}function cd(e,t,o=!0,n=!1){const a=st||rt;if(a){const s=a.type;{const i=xi(s,!1);if(i&&(i===t||i===ot(t)||i===Bn(ot(t))))return s}const r=Vr(a[e]||s[e],t)||Vr(a.appContext[e],t);return!r&&n?s:r}}function Vr(e,t){return e&&(e[t]||e[ot(t)]||e[Bn(ot(t))])}function Bt(e,t,o,n){let a;const s=o,r=be(e);if(r||Ge(e)){const i=r&&Vt(e);let l=!1,c=!1;i&&(l=!yt(e),c=Wt(e),e=Gn(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(o.name=t),J(),Je(Ie,null,[Ve("slot",o,n)],c?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),J();const r=s&&Wr(s(o)),i=o.key||r&&r.key,l=Je(Ie,{key:(i&&!bt(i)?i:`_${t}`)+(!r&&n?"_fb":"")},r||[],r&&e._===1?64:-2);return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),s&&s._c&&(s._d=!0),l}function Wr(e){return e.some(t=>vn(t)?!(t.type===Jt||t.type===Ie&&!Wr(t.children)):!0)?e:null}const ts=e=>e?ki(e)?ia(e):ts(e.parent):null,hn=qe(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=>ts(e.parent),$root:e=>ts(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xr(e),$forceUpdate:e=>e.f||(e.f=()=>{Ya(e.update)}),$nextTick:e=>e.n||(e.n=Wa.bind(e.proxy)),$watch:e=>Yu.bind(e)}),os=(e,t)=>e!==Oe&&!e.__isScriptSetup&&Me(e,t),ud={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const v=r[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(os(n,t))return r[t]=1,n[t];if(a!==Oe&&Me(a,t))return r[t]=2,a[t];if(Me(s,t))return r[t]=3,s[t];if(o!==Oe&&Me(o,t))return r[t]=4,o[t];ns&&(r[t]=0)}}const c=hn[t];let u,f;if(c)return t==="$attrs"&<(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Oe&&Me(o,t))return r[t]=4,o[t];if(f=l.config.globalProperties,Me(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return os(a,t)?(a[t]=o,!0):n!==Oe&&Me(n,t)?(n[t]=o,!0):Me(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:a,props:s,type:r}},i){let l;return!!(o[i]||e!==Oe&&i[0]!=="$"&&Me(e,i)||os(t,i)||Me(s,i)||Me(n,i)||Me(hn,i)||Me(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Me(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Yr(e){return be(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let ns=!0;function dd(e){const t=Xr(e),o=e.proxy,n=e.ctx;ns=!1,t.beforeCreate&&qr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:v,beforeUpdate:x,updated:T,activated:w,deactivated:E,beforeDestroy:_,beforeUnmount:S,destroyed:g,unmounted:k,render:A,renderTracked:L,renderTriggered:O,errorCaptured:$,serverPrefetch:m,expose:U,inheritAttrs:H,components:I,directives:W,filters:ue}=t;if(c&&pd(c,n,null),r)for(const G in r){const re=r[G];Se(re)&&(n[G]=re.bind(o))}if(a){const G=a.call(o,o);Ne(G)&&(e.data=Io(G))}if(ns=!0,s)for(const G in s){const re=s[G],fe=Se(re)?re.bind(o,o):Se(re.get)?re.get.bind(o,o):It,Z=!Se(re)&&Se(re.set)?re.set.bind(o):It,ce=Q({get:fe,set:Z});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>ce.value,set:oe=>ce.value=oe})}if(i)for(const G in i)Jr(i[G],n,o,G);if(l){const G=Se(l)?l.call(o):l;Reflect.ownKeys(G).forEach(re=>{wt(re,G[re])})}u&&qr(u,e,"c");function M(G,re){be(re)?re.forEach(fe=>G(fe.bind(o))):re&&G(re.bind(o))}if(M(Hr,f),M(ao,v),M(td,x),M(od,T),M(Zu,w),M(Qu,E),M(rd,$),M(sd,L),M(ad,O),M(Bo,S),M(es,k),M(nd,m),be(U))if(U.length){const G=e.exposed||(e.exposed={});U.forEach(re=>{Object.defineProperty(G,re,{get:()=>o[re],set:fe=>o[re]=fe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===It&&(e.render=A),H!=null&&(e.inheritAttrs=H),I&&(e.components=I),W&&(e.directives=W),m&&Xa(e)}function pd(e,t,o=It){be(e)&&(e=as(e));for(const n in e){const a=e[n];let s;Ne(a)?"default"in a?s=$e(a.from||n,a.default,!0):s=$e(a.from||n):s=$e(a),Ke(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function qr(e,t,o){Lt(be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Jr(e,t,o,n){let a=n.includes(".")?Br(o,n):()=>o[n];if(Ge(e)){const s=t[e];Se(s)&&Ye(a,s)}else if(Se(e))Ye(a,e.bind(o));else if(Ne(e))if(be(e))e.forEach(s=>Jr(s,t,o,n));else{const s=Se(e.handler)?e.handler.bind(o):t[e.handler];Se(s)&&Ye(a,s,e)}}function Xr(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>oa(l,c,r,!0)),oa(l,t,r)),Ne(t)&&s.set(t,l),l}function oa(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&oa(e,s,o,!0),a&&a.forEach(r=>oa(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=gd[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const gd={data:Zr,props:Qr,emits:Qr,methods:mn,computed:mn,beforeCreate:dt,created:dt,beforeMount:dt,mounted:dt,beforeUpdate:dt,updated:dt,beforeDestroy:dt,beforeUnmount:dt,destroyed:dt,unmounted:dt,activated:dt,deactivated:dt,errorCaptured:dt,serverPrefetch:dt,components:mn,directives:mn,watch:hd,provide:Zr,inject:fd};function Zr(e,t){return t?e?function(){return qe(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function fd(e,t){return mn(as(e),as(t))}function as(e){if(be(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ot(t)}Modifiers`]||e[`${vt(t)}Modifiers`];function _d(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Oe;let a=o;const s=t.startsWith("update:"),r=s&&yd(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>Ge(u)?u.trim():u)),r.number&&(a=o.map(tu)));let i,l=n[i=Ca(t)]||n[i=Ca(ot(t))];!l&&s&&(l=n[i=Ca(vt(t))]),l&&Lt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Lt(c,e,6,a)}}const vd=new WeakMap;function ti(e,t,o=!1){const n=o?vd:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!Se(e)){const l=c=>{const u=ti(c,t,!0);u&&(i=!0,qe(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(Ne(e)&&n.set(e,null),null):(be(s)?s.forEach(l=>r[l]=null):qe(r,s),Ne(e)&&n.set(e,r),r)}function na(e,t){return!e||!Nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Me(e,t[0].toLowerCase()+t.slice(1))||Me(e,vt(t))||Me(e,t))}function G0(){}function oi(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:f,data:v,setupState:x,ctx:T,inheritAttrs:w}=e,E=Xn(e);let _,S;try{if(o.shapeFlag&4){const k=a||n,A=k;_=Ut(c.call(A,k,u,f,x,v,T)),S=i}else{const k=t;_=Ut(k.length>1?k(f,{attrs:i,slots:r,emit:l}):k(f,null)),S=t.props?i:wd(i)}}catch(k){yn.length=0,dn(k,e,1),_=Ve(Jt)}let g=_;if(S&&w!==!1){const k=Object.keys(S),{shapeFlag:A}=g;k.length&&A&7&&(s&&k.some(Fn)&&(S=kd(S,s)),g=Uo(g,S,!1,!0))}return o.dirs&&(g=Uo(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(o.dirs):o.dirs),o.transition&&Ja(g,o.transition),_=g,Xn(E),_}const wd=e=>{let t;for(const o in e)(o==="class"||o==="style"||Nn(o))&&((t||(t={}))[o]=e[o]);return t},kd=(e,t)=>{const o={};for(const n in e)(!Fn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sd(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ni(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(si),ii=e=>Object.getPrototypeOf(e)===si;function xd(e,t,o,n=!1){const a={},s=ri();e.propsDefaults=Object.create(null),li(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:Tu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function Ld(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=Ce(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[v,x]=ci(f,t,!0);qe(r,v),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return Ne(e)&&n.set(e,$o),$o;if(be(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",is=e=>be(e)?e.map(Ut):[Ut(e)],Ed=(e,t,o)=>{if(t._n)return t;const n=Tt((...a)=>is(t(...a)),o);return n._c=!1,n},di=(e,t,o)=>{const n=e._ctx;for(const a in e){if(rs(a))continue;const s=e[a];if(Se(s))t[a]=Ed(a,s,n);else if(s!=null){const r=is(s);t[a]=()=>r}}},pi=(e,t)=>{const o=is(t);e.slots.default=()=>o},gi=(e,t,o)=>{for(const n in t)(o||!rs(n))&&(e[n]=t[n])},Cd=(e,t,o)=>{const n=e.slots=ri();if(e.vnode.shapeFlag&32){const a=t._;a?(gi(n,t,o),o&&tr(n,"_",a,!0)):di(t,n)}else t&&pi(e,t)},$d=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=Oe;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:gi(a,t,o):(s=!t.$stable,di(t,a)),r=t}else t&&(pi(e,t),r={default:1});if(s)for(const i in a)!rs(i)&&r[i]==null&&delete a[i]},ft=Fd;function Pd(e){return Md(e)}function Md(e,t){const o=Un();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:v,setScopeId:x=It,insertStaticContent:T}=e,w=(d,y,b,P=null,D=null,B=null,Y=void 0,q=null,p=!!y.dynamicChildren)=>{if(d===y)return;d&&!wn(d,y)&&(P=Te(d),oe(d,D,B,!0),d=null),y.patchFlag===-2&&(p=!1,y.dynamicChildren=null);const{type:h,ref:F,shapeFlag:K}=y;switch(h){case bn:E(d,y,b,P);break;case Jt:_(d,y,b,P);break;case cs:d==null&&S(y,b,P,Y);break;case Ie:I(d,y,b,P,D,B,Y,q,p);break;default:K&1?A(d,y,b,P,D,B,Y,q,p):K&6?W(d,y,b,P,D,B,Y,q,p):(K&64||K&128)&&h.process(d,y,b,P,D,B,Y,q,p,he)}F!=null&&D?fn(F,d&&d.ref,B,y||d,!y):F==null&&d&&d.ref!=null&&fn(d.ref,null,B,d,!0)},E=(d,y,b,P)=>{if(d==null)n(y.el=i(y.children),b,P);else{const D=y.el=d.el;y.children!==d.children&&c(D,y.children)}},_=(d,y,b,P)=>{d==null?n(y.el=l(y.children||""),b,P):y.el=d.el},S=(d,y,b,P)=>{[d.el,d.anchor]=T(d.children,y,b,P,d.el,d.anchor)},g=({el:d,anchor:y},b,P)=>{let D;for(;d&&d!==y;)D=v(d),n(d,b,P),d=D;n(y,b,P)},k=({el:d,anchor:y})=>{let b;for(;d&&d!==y;)b=v(d),a(d),d=b;a(y)},A=(d,y,b,P,D,B,Y,q,p)=>{if(y.type==="svg"?Y="svg":y.type==="math"&&(Y="mathml"),d==null)L(y,b,P,D,B,Y,q,p);else{const h=d.el&&d.el._isVueCE?d.el:null;try{h&&h._beginPatch(),m(d,y,D,B,Y,q,p)}finally{h&&h._endPatch()}}},L=(d,y,b,P,D,B,Y,q)=>{let p,h;const{props:F,shapeFlag:K,transition:se,dirs:ee}=d;if(p=d.el=r(d.type,B,F&&F.is,F),K&8?u(p,d.children):K&16&&$(d.children,p,null,P,D,ls(d,B),Y,q),ee&&wo(d,null,P,"created"),O(p,d,d.scopeId,Y,P),F){for(const V in F)V!=="value"&&!on(V)&&s(p,V,null,F[V],B,P);"value"in F&&s(p,"value",null,F.value,B),(h=F.onVnodeBeforeMount)&&jt(h,P,d)}ee&&wo(d,null,P,"beforeMount");const R=Id(D,se);R&&se.beforeEnter(p),n(p,y,b),((h=F&&F.onVnodeMounted)||R||ee)&&ft(()=>{try{h&&jt(h,P,d),R&&se.enter(p),ee&&wo(d,null,P,"mounted")}finally{}},D)},O=(d,y,b,P,D)=>{if(b&&x(d,b),P)for(let B=0;B{for(let h=p;h{const q=y.el=d.el;let{patchFlag:p,dynamicChildren:h,dirs:F}=y;p|=d.patchFlag&16;const K=d.props||Oe,se=y.props||Oe;let ee;if(b&&So(b,!1),(ee=se.onVnodeBeforeUpdate)&&jt(ee,b,y,d),F&&wo(y,d,b,"beforeUpdate"),b&&So(b,!0),(K.innerHTML&&se.innerHTML==null||K.textContent&&se.textContent==null)&&u(q,""),h?U(d.dynamicChildren,h,q,b,P,ls(y,D),B):Y||re(d,y,q,null,b,P,ls(y,D),B,!1),p>0){if(p&16)H(q,K,se,b,D);else if(p&2&&K.class!==se.class&&s(q,"class",null,se.class,D),p&4&&s(q,"style",K.style,se.style,D),p&8){const R=y.dynamicProps;for(let V=0;V{ee&&jt(ee,b,y,d),F&&wo(y,d,b,"updated")},P)},U=(d,y,b,P,D,B,Y)=>{for(let q=0;q{if(y!==b){if(y!==Oe)for(const B in y)!on(B)&&!(B in b)&&s(d,B,y[B],null,D,P);for(const B in b){if(on(B))continue;const Y=b[B],q=y[B];Y!==q&&B!=="value"&&s(d,B,q,Y,D,P)}"value"in b&&s(d,"value",y.value,b.value,D)}},I=(d,y,b,P,D,B,Y,q,p)=>{const h=y.el=d?d.el:i(""),F=y.anchor=d?d.anchor:i("");let{patchFlag:K,dynamicChildren:se,slotScopeIds:ee}=y;ee&&(q=q?q.concat(ee):ee),d==null?(n(h,b,P),n(F,b,P),$(y.children||[],b,F,D,B,Y,q,p)):K>0&&K&64&&se&&d.dynamicChildren&&d.dynamicChildren.length===se.length?(U(d.dynamicChildren,se,b,D,B,Y,q),(y.key!=null||D&&y===D.subTree)&&fi(d,y,!0)):re(d,y,b,F,D,B,Y,q,p)},W=(d,y,b,P,D,B,Y,q,p)=>{y.slotScopeIds=q,d==null?y.shapeFlag&512?D.ctx.activate(y,b,P,Y,p):ue(y,b,P,D,B,Y,p):C(d,y,p)},ue=(d,y,b,P,D,B,Y)=>{const q=d.component=Gd(d,P,D);if(Qa(d)&&(q.ctx.renderer=he),Kd(q,!1,Y),q.asyncDep){if(D&&D.registerDep(q,M,Y),!d.el){const p=q.subTree=Ve(Jt);_(null,p,y,b),d.placeholder=p.el}}else M(q,d,y,b,D,B,Y)},C=(d,y,b)=>{const P=y.component=d.component;if(Sd(d,y,b))if(P.asyncDep&&!P.asyncResolved){G(P,y,b);return}else P.next=y,P.update();else y.el=d.el,P.vnode=y},M=(d,y,b,P,D,B,Y)=>{const q=()=>{if(d.isMounted){let{next:K,bu:se,u:ee,parent:R,vnode:V}=d;{const Qe=hi(d);if(Qe){K&&(K.el=V.el,G(d,K,Y)),Qe.asyncDep.then(()=>{ft(()=>{d.isUnmounted||h()},D)});return}}let de=K,xe;So(d,!1),K?(K.el=V.el,G(d,K,Y)):K=V,se&&$a(se),(xe=K.props&&K.props.onVnodeBeforeUpdate)&&jt(xe,R,K,V),So(d,!0);const De=oi(d),at=d.subTree;d.subTree=De,w(at,De,f(at.el),Te(at),d,D,B),K.el=De.el,de===null&&Ad(d,De.el),ee&&ft(ee,D),(xe=K.props&&K.props.onVnodeUpdated)&&ft(()=>jt(xe,R,K,V),D)}else{let K;const{el:se,props:ee}=y,{bm:R,m:V,parent:de,root:xe,type:De}=d,at=Oo(y);So(d,!1),R&&$a(R),!at&&(K=ee&&ee.onVnodeBeforeMount)&&jt(K,de,y),So(d,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(De,d.parent?d.parent.type:void 0);const Qe=d.subTree=oi(d);w(null,Qe,b,P,d,D,B),y.el=Qe.el}if(V&&ft(V,D),!at&&(K=ee&&ee.onVnodeMounted)){const Qe=y;ft(()=>jt(K,de,Qe),D)}(y.shapeFlag&256||de&&Oo(de.vnode)&&de.vnode.shapeFlag&256)&&d.a&&ft(d.a,D),d.isMounted=!0,y=b=P=null}};d.scope.on();const p=d.effect=new cr(q);d.scope.off();const h=d.update=p.run.bind(p),F=d.job=p.runIfDirty.bind(p);F.i=d,F.id=d.uid,p.scheduler=()=>Ya(F),So(d,!0),h()},G=(d,y,b)=>{y.component=d;const P=d.vnode.props;d.vnode=y,d.next=null,Ld(d,y.props,P,b),$d(d,y.children,b),Ft(),Nr(d),Rt()},re=(d,y,b,P,D,B,Y,q,p=!1)=>{const h=d&&d.children,F=d?d.shapeFlag:0,K=y.children,{patchFlag:se,shapeFlag:ee}=y;if(se>0){if(se&128){Z(h,K,b,P,D,B,Y,q,p);return}else if(se&256){fe(h,K,b,P,D,B,Y,q,p);return}}ee&8?(F&16&&ge(h,D,B),K!==h&&u(b,K)):F&16?ee&16?Z(h,K,b,P,D,B,Y,q,p):ge(h,D,B,!0):(F&8&&u(b,""),ee&16&&$(K,b,P,D,B,Y,q,p))},fe=(d,y,b,P,D,B,Y,q,p)=>{d=d||$o,y=y||$o;const h=d.length,F=y.length,K=Math.min(h,F);let se;for(se=0;seF?ge(d,D,B,!0,!1,K):$(y,b,P,D,B,Y,q,p,K)},Z=(d,y,b,P,D,B,Y,q,p)=>{let h=0;const F=y.length;let K=d.length-1,se=F-1;for(;h<=K&&h<=se;){const ee=d[h],R=y[h]=p?Xt(y[h]):Ut(y[h]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;h++}for(;h<=K&&h<=se;){const ee=d[K],R=y[se]=p?Xt(y[se]):Ut(y[se]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;K--,se--}if(h>K){if(h<=se){const ee=se+1,R=eese)for(;h<=K;)oe(d[h],D,B,!0),h++;else{const ee=h,R=h,V=new Map;for(h=R;h<=se;h++){const ae=y[h]=p?Xt(y[h]):Ut(y[h]);ae.key!=null&&V.set(ae.key,h)}let de,xe=0;const De=se-R+1;let at=!1,Qe=0;const X=new Array(De);for(h=0;h=De){oe(ae,D,B,!0);continue}let ve;if(ae.key!=null)ve=V.get(ae.key);else for(de=R;de<=se;de++)if(X[de-R]===0&&wn(ae,y[de])){ve=de;break}ve===void 0?oe(ae,D,B,!0):(X[ve-R]=h+1,ve>=Qe?Qe=ve:at=!0,w(ae,y[ve],b,null,D,B,Y,q,p),xe++)}const te=at?Nd(X):$o;for(de=te.length-1,h=De-1;h>=0;h--){const ae=R+h,ve=y[ae],Ze=y[ae+1],yo=ae+1{const{el:B,type:Y,transition:q,children:p,shapeFlag:h}=d;if(h&6){ce(d.component.subTree,y,b,P);return}if(h&128){d.suspense.move(y,b,P);return}if(h&64){Y.move(d,y,b,he);return}if(Y===Ie){n(B,y,b);for(let K=0;Kq.enter(B),D));else{const{leave:K,delayLeave:se,afterLeave:ee}=q,R=()=>{d.ctx.isUnmounted?a(B):n(B,y,b)},V=()=>{const de=B._isLeaving||!!B[qa];B._isLeaving&&B[qa](!0),q.persisted&&!de?R():K(B,()=>{R(),ee&&ee()})};se?se(B,R,V):V()}else n(B,y,b)},oe=(d,y,b,P=!1,D=!1)=>{const{type:B,props:Y,ref:q,children:p,dynamicChildren:h,shapeFlag:F,patchFlag:K,dirs:se,cacheIndex:ee,memo:R}=d;if(K===-2&&(D=!1),q!=null&&(Ft(),fn(q,null,b,d,!0),Rt()),ee!=null&&(y.renderCache[ee]=void 0),F&256){y.ctx.deactivate(d);return}const V=F&1&&se,de=!Oo(d);let xe;if(de&&(xe=Y&&Y.onVnodeBeforeUnmount)&&jt(xe,y,d),F&6)Fe(d.component,b,P);else{if(F&128){d.suspense.unmount(b,P);return}V&&wo(d,null,y,"beforeUnmount"),F&64?d.type.remove(d,y,b,he,P):h&&!h.hasOnce&&(B!==Ie||K>0&&K&64)?ge(h,y,b,!1,!0):(B===Ie&&K&384||!D&&F&16)&&ge(p,y,b),P&&ke(d)}const De=R!=null&&ee==null;(de&&(xe=Y&&Y.onVnodeUnmounted)||V||De)&&ft(()=>{xe&&jt(xe,y,d),V&&wo(d,null,y,"unmounted"),De&&(d.el=null)},b)},ke=d=>{const{type:y,el:b,anchor:P,transition:D}=d;if(y===Ie){ie(b,P);return}if(y===cs){k(d);return}const B=()=>{a(b),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(d.shapeFlag&1&&D&&!D.persisted){const{leave:Y,delayLeave:q}=D,p=()=>Y(b,B);q?q(d.el,B,p):p()}else B()},ie=(d,y)=>{let b;for(;d!==y;)b=v(d),a(d),d=b;a(y)},Fe=(d,y,b)=>{const{bum:P,scope:D,job:B,subTree:Y,um:q,m:p,a:h}=d;mi(p),mi(h),P&&$a(P),D.stop(),B&&(B.flags|=8,oe(Y,d,y,b)),q&&ft(q,y),ft(()=>{d.isUnmounted=!0},y)},ge=(d,y,b,P=!1,D=!1,B=0)=>{for(let Y=B;Y{if(d.shapeFlag&6)return Te(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const y=v(d.anchor||d.el),b=y&&y[qu];return b?v(b):y};let Ae=!1;const z=(d,y,b)=>{let P;d==null?y._vnode&&(oe(y._vnode,null,null,!0),P=y._vnode.component):w(y._vnode||null,d,y,null,null,null,b),y._vnode=d,Ae||(Ae=!0,Nr(P),Fr(),Ae=!1)},he={p:w,um:oe,m:ce,r:ke,mt:ue,mc:$,pc:re,pbc:U,n:Te,o:e};return{render:z,hydrate:void 0,createApp:bd(z)}}function ls({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 So({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Id(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fi(e,t,o=!1){const n=e.children,a=t.children;if(be(n)&&be(a))for(let s=0;s>1,e[o[i]]0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hi(t)}function mi(e){if(e)for(let t=0;te.__isSuspense;function Fd(e,t){t&&t.pendingBranch?be(e)?t.effects.push(...e):t.effects.push(e):Ku(e)}const Ie=Symbol.for("v-fgt"),bn=Symbol.for("v-txt"),Jt=Symbol.for("v-cmt"),cs=Symbol.for("v-stc"),yn=[];let _t=null;function J(e=!1){yn.push(_t=e?null:[])}function Rd(){yn.pop(),_t=yn[yn.length-1]||null}let _n=1;function aa(e,t=!1){_n+=e,e<0&&_t&&t&&(_t.hasOnce=!0)}function _i(e){return e.dynamicChildren=_n>0?_t||$o:null,Rd(),_n>0&&_t&&_t.push(e),e}function ne(e,t,o,n,a,s){return _i(j(e,t,o,n,a,s,!0))}function Je(e,t,o,n,a){return _i(Ve(e,t,o,n,a,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function wn(e,t){return e.type===t.type&&e.key===t.key}const vi=({key:e})=>e??null,sa=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ge(e)||Ke(e)||Se(e)?{i:st,r:e,k:t,f:!!o}:e:null);function j(e,t=null,o=null,n=0,a=null,s=e===Ie?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vi(t),ref:t&&sa(t),scopeId:Dr,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:a,dynamicChildren:null,appContext:null,ctx:st};return i?(us(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=Ge(o)?8:16),_n>0&&!r&&_t&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&_t.push(l),l}const Ve=Dd;function Dd(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===zr)&&(e=Jt),vn(e)){const i=Uo(e,t,!0);return o&&us(i,o),_n>0&&!s&&_t&&(i.shapeFlag&6?_t[_t.indexOf(e)]=i:_t.push(i)),i.patchFlag=-2,i}if(qd(e)&&(e=e.__vccOpts),t){t=Od(t);let{class:i,style:l}=t;i&&!Ge(i)&&(t.class=Be(i)),Ne(l)&&(Wn(l)&&!be(l)&&(l=qe({},l)),t.style=ct(l))}const r=Ge(e)?1:yi(e)?128:Ju(e)?64:Ne(e)?4:Se(e)?2:0;return j(e,t,o,n,a,r,s,!0)}function Od(e){return e?Wn(e)||ii(e)?qe({},e):e:null}function Uo(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Bd(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vi(c),ref:t&&t.ref?o&&s?be(s)?s.concat(sa(t)):[s,sa(t)]:sa(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!==Ie?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Uo(e.ssContent),ssFallback:e.ssFallback&&Uo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ja(u,l.clone(u)),u}function ht(e=" ",t=0){return Ve(bn,null,e,t)}function we(e="",t=!1){return t?(J(),Je(Jt,null,e)):Ve(Jt,null,e)}function Ut(e){return e==null||typeof e=="boolean"?Ve(Jt):be(e)?Ve(Ie,null,e.slice()):vn(e)?Xt(e):Ve(bn,null,String(e))}function Xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Uo(e)}function us(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(be(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),us(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!ii(t)?t._ctx=st:a===3&&st&&(st.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Se(t)?(t={default:t,_ctx:st},o=32):(t=String(t),n&64?(o=16,t=[ht(t)]):o=8);e.children=t,e.shapeFlag|=o}function Bd(...e){const t={};for(let o=0;ort||st;let ra,ds;{const e=Un(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};ra=t("__VUE_INSTANCE_SETTERS__",o=>rt=o),ds=t("__VUE_SSR_SETTERS__",o=>jo=o)}const kn=e=>{const t=rt;return ra(e),e.scope.on(),()=>{e.scope.off(),ra(t)}},wi=()=>{rt&&rt.scope.off(),ra(null)};function ki(e){return e.vnode.shapeFlag&4}let jo=!1;function Kd(e,t=!1,o=!1){t&&ds(t);const{props:n,children:a}=e.vnode,s=ki(e);xd(e,n,s,t),Cd(e,a,o||t);const r=s?Hd(e,t):void 0;return t&&ds(!1),r}function Hd(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ud);const{setup:n}=o;if(n){Ft();const a=e.setupContext=n.length>1?Vd(e):null,s=kn(e),r=Fo(n,e,0,[e.props,a]),i=Qs(r);if(Rt(),s(),(i||e.sp)&&!Oo(e)&&Xa(e),i){if(r.then(wi,wi),t)return r.then(l=>{Si(e,l)}).catch(l=>{dn(l,e,0)});e.asyncDep=r}else Si(e,r)}else Ai(e)}function Si(e,t,o){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ne(t)&&(e.setupState=Cr(t)),Ai(e)}function Ai(e,t,o){const n=e.type;e.render||(e.render=n.render||It);{const a=kn(e);Ft();try{dd(e)}finally{Rt(),a()}}}const zd={get(e,t){return lt(e,"get",""),e[t]}};function Vd(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,zd),slots:e.slots,emit:e.emit,expose:t}}function ia(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cr(cn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in hn)return hn[o](e)},has(t,o){return o in t||o in hn}})):e.proxy}const Wd=/(?:^|[-_])\w/g,Yd=e=>e.replace(Wd,t=>t.toUpperCase()).replace(/[-_]/g,"");function xi(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function Li(e,t,o=!1){let n=xi(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Yd(n):o?"App":"Anonymous"}function qd(e){return Se(e)&&"__vccOpts"in e}const Q=(e,t)=>Nu(e,t,jo);function Ti(e,t,o){try{aa(-1);const n=arguments.length;return n===2?Ne(t)&&!be(t)?vn(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&vn(o)&&(o=[o]),Ve(e,t,o))}finally{aa(1)}}const Jd="3.5.35";/** +**/const un=[];let Va=!1;function j0(e,...t){if(Va)return;Va=!0,Ft();const o=un.length?un[un.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Du();if(n)Fo(n,o,11,[e+t.map(r=>{var s,i;return(i=(s=r.toString)==null?void 0:s.call(r))!=null?i:JSON.stringify(r)}).join(""),o&&o.proxy,a.map(({vnode:r})=>`at <${Li(o,r.type)}>`).join(` +`),a]);else{const r=[`[Vue warn]: ${e}`,...t];a.length&&r.push(` +`,...Ou(a)),console.warn(...r)}Rt(),Va=!1}function Du(){let e=un[un.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 Ou(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[` +`],...Bu(o))}),t}function Bu({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Li(e.component,e.type,n)}`,r=">"+o;return e.props?[a,...Uu(e.props),r]:[a+r]}function Uu(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Ps(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Ps(e,t,o){return Ge(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:Ke(t)?(t=Ps(e,Ce(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):Se(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=Ce(t),o?t:[`${e}=`,t])}function Fo(e,t,o,n){try{return n?e(...n):e()}catch(a){dn(a,t,o)}}function Lt(e,t,o,n){if(Se(e)){const a=Fo(e,t,o,n);return a&&Qr(a)&&a.catch(r=>{dn(r,t,o)}),a}if(be(e)){const a=[];for(let r=0;r>>1,a=ut[n],r=pn(a);r=pn(o)?ut.push(e):ut.splice(Gu(t),0,e),e.flags|=1,Is()}}function Is(){Jn||(Jn=Ms.then(Rs))}function Ku(e){be(e)?Ro.push(...e):no&&e.id===-1?no.splice(Do+1,0,e):e.flags&1||(Ro.push(e),e.flags|=1),Is()}function Ns(e,t,o=Ot+1){for(;opn(o)-pn(n));if(Ro.length=0,no){no.push(...t);return}for(no=t,Do=0;Doe.id==null?e.flags&2?-1:1/0:e.id;function Rs(e){try{for(Ot=0;Ot{n._d&&aa(-1);const r=Xn(t);let s;try{s=e(...a)}finally{Xn(r),n._d&&aa(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Hu(e,t){if(rt===null)return e;const o=ia(rt),n=e.dirs||(e.dirs=[]);for(let a=0;a1)return o&&Se(t)?t.call(n&&n.proxy):t}}function zu(){return!!(ro()||ko)}const Vu=Symbol.for("v-scx"),Wu=()=>$e(Vu);function Ye(e,t,o){return Os(e,t,o)}function Os(e,t,o=Oe){const{immediate:n,deep:a,flush:r,once:s}=o,i=qe({},o),l=t&&n||!t&&r!=="post";let c;if(jo){if(r==="sync"){const x=Wu();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!l){const x=()=>{};return x.stop=It,x.resume=It,x.pause=It,x}}const u=st;i.call=(x,T,w)=>Lt(x,u,T,w);let f=!1;r==="post"?i.scheduler=x=>{ft(x,u&&u.suspense)}:r!=="sync"&&(f=!0,i.scheduler=(x,T)=>{T?x():Ya(x)}),i.augmentJob=x=>{t&&(x.flags|=4),f&&(x.flags|=2,u&&(x.id=u.uid,x.i=u))};const v=Ru(e,t,i);return jo&&(c?c.push(v):l&&v()),v}function Yu(e,t,o){const n=this.proxy,a=Ge(e)?e.includes(".")?Bs(n,e):()=>n[e]:e.bind(n,n);let r;Se(t)?r=t:(r=t.handler,o=t);const s=kn(this),i=Os(a,r.bind(n),o);return s(),i}function Bs(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;ae.__isTeleport,qa=Symbol("_leaveCb");function Ja(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ja(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function gn(e,t){return Se(e)?qe({name:e.name},t,{setup:e}):e}function Xa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Us(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const Zn=new WeakMap;function fn(e,t,o,n,a=!1){if(be(e)){e.forEach((w,E)=>fn(w,t&&(be(t)?t[E]:t),o,n,a));return}if(Oo(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&fn(e,t,o,n.component.subTree);return}const r=n.shapeFlag&4?ia(n.component):n.el,s=a?null:r,{i,r:l}=e,c=t&&t.r,u=i.refs===Oe?i.refs={}:i.refs,f=i.setupState,v=Ce(f),x=f===Oe?Jr:w=>Us(u,w)?!1:Me(v,w),T=(w,E)=>!(E&&Us(u,E));if(c!=null&&c!==l){if(js(t),Ge(c))u[c]=null,x(c)&&(f[c]=null);else if(Ke(c)){const w=t;T(c,w.k)&&(c.value=null),w.k&&(u[w.k]=null)}}if(Se(l))Fo(l,i,12,[s,u]);else{const w=Ge(l),E=Ke(l);if(w||E){const _=()=>{if(e.f){const S=w?x(l)?f[l]:u[l]:T()||!e.k?l.value:u[e.k];if(a)be(S)&&Ea(S,r);else if(be(S))S.includes(r)||S.push(r);else if(w)u[l]=[r],x(l)&&(f[l]=u[l]);else{const g=[r];T(l,e.k)&&(l.value=g),e.k&&(u[e.k]=g)}}else w?(u[l]=s,x(l)&&(f[l]=s)):E&&(T(l,e.k)&&(l.value=s),e.k&&(u[e.k]=s))};if(s){const S=()=>{_(),Zn.delete(e)};S.id=-1,Zn.set(e,S),ft(S,o)}else js(e),_()}}}function js(e){const t=Zn.get(e);t&&(t.flags|=8,Zn.delete(e))}const Gs=e=>e.nodeType===8;Un().requestIdleCallback,Un().cancelIdleCallback;function Xu(e,t){if(Gs(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(Gs(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Oo=e=>!!e.type.__asyncLoader;function Za(e){Se(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:r,timeout:s,suspensible:i=!0,onError:l}=e;let c=null,u,f=0;const v=()=>(f++,c=null,x()),x=()=>{let T;return c||(T=c=t().catch(w=>{if(w=w instanceof Error?w:new Error(String(w)),l)return new Promise((E,_)=>{l(w,()=>E(v()),()=>_(w),f+1)});throw w}).then(w=>T!==c&&c?c:(w&&(w.__esModule||w[Symbol.toStringTag]==="Module")&&(w=w.default),u=w,w)))};return gn({name:"AsyncComponentWrapper",__asyncLoader:x,__asyncHydrate(T,w,E){let _=!1;(w.bu||(w.bu=[])).push(()=>_=!0);const S=()=>{_||E()},g=r?()=>{const k=r(S,A=>Xu(T,A));k&&(w.bum||(w.bum=[])).push(k)}:S;u?g():x().then(()=>!w.isUnmounted&&g())},get __asyncResolved(){return u},setup(){const T=st;if(Xa(T),u)return()=>Qn(u,T);const w=g=>{c=null,dn(g,T,13,!n)};if(i&&T.suspense||jo)return x().then(g=>()=>Qn(g,T)).catch(g=>(w(g),()=>n?Ve(n,{error:g}):null));const E=me(!1),_=me(),S=me(!!a);return a&&setTimeout(()=>{S.value=!1},a),s!=null&&setTimeout(()=>{if(!E.value&&!_.value){const g=new Error(`Async component timed out after ${s}ms.`);w(g),_.value=g}},s),x().then(()=>{E.value=!0,T.parent&&Qa(T.parent.vnode)&&T.parent.update()}).catch(g=>{w(g),_.value=g}),()=>{if(E.value&&u)return Qn(u,T);if(_.value&&n)return Ve(n,{error:_.value});if(o&&!S.value)return Qn(o,T)}}})}function Qn(e,t){const{ref:o,props:n,children:a,ce:r}=t.vnode,s=Ve(e,n,a);return s.ref=o,s.ce=r,delete t.vnode.ce,s}const Qa=e=>e.type.__isKeepAlive;function Zu(e,t){Ks(e,"a",t)}function Qu(e,t){Ks(e,"da",t)}function Ks(e,t,o=st){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(ea(t,n,o),o){let a=o.parent;for(;a&&a.parent;)Qa(a.parent.vnode)&&ed(n,t,o,a),a=a.parent}}function ed(e,t,o,n){const a=ea(t,e,n,!0);er(()=>{Ea(n[t],a)},o)}function ea(e,t,o=st,n=!1){if(o){const a=o[e]||(o[e]=[]),r=t.__weh||(t.__weh=(...s)=>{Ft();const i=kn(o),l=Lt(t,o,e,s);return i(),Rt(),l});return n?a.unshift(r):a.push(r),r}}const qt=e=>(t,o=st)=>{(!jo||e==="sp")&&ea(e,(...n)=>t(...n),o)},Hs=qt("bm"),ao=qt("m"),td=qt("bu"),od=qt("u"),Bo=qt("bum"),er=qt("um"),nd=qt("sp"),ad=qt("rtg"),rd=qt("rtc");function sd(e,t=st){ea("ec",e,t)}const id="components",zs=Symbol.for("v-ndc");function ld(e){return Ge(e)?cd(id,e,!1)||e:e||zs}function cd(e,t,o=!0,n=!1){const a=rt||st;if(a){const r=a.type;{const i=xi(r,!1);if(i&&(i===t||i===ot(t)||i===Bn(ot(t))))return r}const s=Vs(a[e]||r[e],t)||Vs(a.appContext[e],t);return!s&&n?r:s}}function Vs(e,t){return e&&(e[t]||e[ot(t)]||e[Bn(ot(t))])}function Bt(e,t,o,n){let a;const r=o,s=be(e);if(s||Ge(e)){const i=s&&Vt(e);let l=!1,c=!1;i&&(l=!yt(e),c=Wt(e),e=Gn(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(i,l,void 0,r));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l0;return t!=="default"&&(o.name=t),J(),Je(Ie,null,[Ve("slot",o,n)],c?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),J();const s=r&&Ws(r(o)),i=o.key||s&&s.key,l=Je(Ie,{key:(i&&!bt(i)?i:`_${t}`)+(!s&&n?"_fb":"")},s||[],s&&e._===1?64:-2);return!a&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),r&&r._c&&(r._d=!0),l}function Ws(e){return e.some(t=>vn(t)?!(t.type===Jt||t.type===Ie&&!Ws(t.children)):!0)?e:null}const tr=e=>e?ki(e)?ia(e):tr(e.parent):null,hn=qe(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=>tr(e.parent),$root:e=>tr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Xs(e),$forceUpdate:e=>e.f||(e.f=()=>{Ya(e.update)}),$nextTick:e=>e.n||(e.n=Wa.bind(e.proxy)),$watch:e=>Yu.bind(e)}),or=(e,t)=>e!==Oe&&!e.__isScriptSetup&&Me(e,t),ud={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:r,accessCache:s,type:i,appContext:l}=e;if(t[0]!=="$"){const v=s[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return r[t]}else{if(or(n,t))return s[t]=1,n[t];if(a!==Oe&&Me(a,t))return s[t]=2,a[t];if(Me(r,t))return s[t]=3,r[t];if(o!==Oe&&Me(o,t))return s[t]=4,o[t];nr&&(s[t]=0)}}const c=hn[t];let u,f;if(c)return t==="$attrs"&<(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==Oe&&Me(o,t))return s[t]=4,o[t];if(f=l.config.globalProperties,Me(f,t))return f[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:r}=e;return or(a,t)?(a[t]=o,!0):n!==Oe&&Me(n,t)?(n[t]=o,!0):Me(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:r,type:s}},i){let l;return!!(o[i]||e!==Oe&&i[0]!=="$"&&Me(e,i)||or(t,i)||Me(r,i)||Me(n,i)||Me(hn,i)||Me(a.config.globalProperties,i)||(l=s.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:Me(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function Ys(e){return be(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let nr=!0;function dd(e){const t=Xs(e),o=e.proxy,n=e.ctx;nr=!1,t.beforeCreate&&qs(t.beforeCreate,e,"bc");const{data:a,computed:r,methods:s,watch:i,provide:l,inject:c,created:u,beforeMount:f,mounted:v,beforeUpdate:x,updated:T,activated:w,deactivated:E,beforeDestroy:_,beforeUnmount:S,destroyed:g,unmounted:k,render:A,renderTracked:L,renderTriggered:O,errorCaptured:$,serverPrefetch:m,expose:U,inheritAttrs:H,components:I,directives:W,filters:ue}=t;if(c&&pd(c,n,null),s)for(const G in s){const se=s[G];Se(se)&&(n[G]=se.bind(o))}if(a){const G=a.call(o,o);Ne(G)&&(e.data=Io(G))}if(nr=!0,r)for(const G in r){const se=r[G],fe=Se(se)?se.bind(o,o):Se(se.get)?se.get.bind(o,o):It,Z=!Se(se)&&Se(se.set)?se.set.bind(o):It,ce=Q({get:fe,set:Z});Object.defineProperty(n,G,{enumerable:!0,configurable:!0,get:()=>ce.value,set:oe=>ce.value=oe})}if(i)for(const G in i)Js(i[G],n,o,G);if(l){const G=Se(l)?l.call(o):l;Reflect.ownKeys(G).forEach(se=>{wt(se,G[se])})}u&&qs(u,e,"c");function M(G,se){be(se)?se.forEach(fe=>G(fe.bind(o))):se&&G(se.bind(o))}if(M(Hs,f),M(ao,v),M(td,x),M(od,T),M(Zu,w),M(Qu,E),M(sd,$),M(rd,L),M(ad,O),M(Bo,S),M(er,k),M(nd,m),be(U))if(U.length){const G=e.exposed||(e.exposed={});U.forEach(se=>{Object.defineProperty(G,se,{get:()=>o[se],set:fe=>o[se]=fe,enumerable:!0})})}else e.exposed||(e.exposed={});A&&e.render===It&&(e.render=A),H!=null&&(e.inheritAttrs=H),I&&(e.components=I),W&&(e.directives=W),m&&Xa(e)}function pd(e,t,o=It){be(e)&&(e=ar(e));for(const n in e){const a=e[n];let r;Ne(a)?"default"in a?r=$e(a.from||n,a.default,!0):r=$e(a.from||n):r=$e(a),Ke(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[n]=r}}function qs(e,t,o){Lt(be(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function Js(e,t,o,n){let a=n.includes(".")?Bs(o,n):()=>o[n];if(Ge(e)){const r=t[e];Se(r)&&Ye(a,r)}else if(Se(e))Ye(a,e.bind(o));else if(Ne(e))if(be(e))e.forEach(r=>Js(r,t,o,n));else{const r=Se(e.handler)?e.handler.bind(o):t[e.handler];Se(r)&&Ye(a,r,e)}}function Xs(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,i=r.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>oa(l,c,s,!0)),oa(l,t,s)),Ne(t)&&r.set(t,l),l}function oa(e,t,o,n=!1){const{mixins:a,extends:r}=t;r&&oa(e,r,o,!0),a&&a.forEach(s=>oa(e,s,o,!0));for(const s in t)if(!(n&&s==="expose")){const i=gd[s]||o&&o[s];e[s]=i?i(e[s],t[s]):t[s]}return e}const gd={data:Zs,props:Qs,emits:Qs,methods:mn,computed:mn,beforeCreate:dt,created:dt,beforeMount:dt,mounted:dt,beforeUpdate:dt,updated:dt,beforeDestroy:dt,beforeUnmount:dt,destroyed:dt,unmounted:dt,activated:dt,deactivated:dt,errorCaptured:dt,serverPrefetch:dt,components:mn,directives:mn,watch:hd,provide:Zs,inject:fd};function Zs(e,t){return t?e?function(){return qe(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function fd(e,t){return mn(ar(e),ar(t))}function ar(e){if(be(e)){const t={};for(let o=0;ot==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ot(t)}Modifiers`]||e[`${vt(t)}Modifiers`];function _d(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||Oe;let a=o;const r=t.startsWith("update:"),s=r&&yd(n,t.slice(7));s&&(s.trim&&(a=o.map(u=>Ge(u)?u.trim():u)),s.number&&(a=o.map(tu)));let i,l=n[i=Ca(t)]||n[i=Ca(ot(t))];!l&&r&&(l=n[i=Ca(vt(t))]),l&&Lt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Lt(c,e,6,a)}}const vd=new WeakMap;function ti(e,t,o=!1){const n=o?vd:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const r=e.emits;let s={},i=!1;if(!Se(e)){const l=c=>{const u=ti(c,t,!0);u&&(i=!0,qe(s,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!i?(Ne(e)&&n.set(e,null),null):(be(r)?r.forEach(l=>s[l]=null):qe(s,r),Ne(e)&&n.set(e,s),s)}function na(e,t){return!e||!Nn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Me(e,t[0].toLowerCase()+t.slice(1))||Me(e,vt(t))||Me(e,t))}function G0(){}function oi(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[r],slots:s,attrs:i,emit:l,render:c,renderCache:u,props:f,data:v,setupState:x,ctx:T,inheritAttrs:w}=e,E=Xn(e);let _,S;try{if(o.shapeFlag&4){const k=a||n,A=k;_=Ut(c.call(A,k,u,f,x,v,T)),S=i}else{const k=t;_=Ut(k.length>1?k(f,{attrs:i,slots:s,emit:l}):k(f,null)),S=t.props?i:wd(i)}}catch(k){yn.length=0,dn(k,e,1),_=Ve(Jt)}let g=_;if(S&&w!==!1){const k=Object.keys(S),{shapeFlag:A}=g;k.length&&A&7&&(r&&k.some(Fn)&&(S=kd(S,r)),g=Uo(g,S,!1,!0))}return o.dirs&&(g=Uo(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(o.dirs):o.dirs),o.transition&&Ja(g,o.transition),_=g,Xn(E),_}const wd=e=>{let t;for(const o in e)(o==="class"||o==="style"||Nn(o))&&((t||(t={}))[o]=e[o]);return t},kd=(e,t)=>{const o={};for(const n in e)(!Fn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function Sd(e,t,o){const{props:n,children:a,component:r}=e,{props:s,children:i,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?ni(n,s,c):!!s;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(ri),ii=e=>Object.getPrototypeOf(e)===ri;function xd(e,t,o,n=!1){const a={},r=si();e.propsDefaults=Object.create(null),li(e,t,a,r);for(const s in e.propsOptions[0])s in a||(a[s]=void 0);o?e.props=n?a:Tu(a):e.type.props?e.props=a:e.props=r,e.attrs=r}function Ld(e,t,o,n){const{props:a,attrs:r,vnode:{patchFlag:s}}=e,i=Ce(a),[l]=e.propsOptions;let c=!1;if((n||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[v,x]=ci(f,t,!0);qe(s,v),x&&i.push(...x)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Ne(e)&&n.set(e,$o),$o;if(be(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",ir=e=>be(e)?e.map(Ut):[Ut(e)],Ed=(e,t,o)=>{if(t._n)return t;const n=Tt((...a)=>ir(t(...a)),o);return n._c=!1,n},di=(e,t,o)=>{const n=e._ctx;for(const a in e){if(sr(a))continue;const r=e[a];if(Se(r))t[a]=Ed(a,r,n);else if(r!=null){const s=ir(r);t[a]=()=>s}}},pi=(e,t)=>{const o=ir(t);e.slots.default=()=>o},gi=(e,t,o)=>{for(const n in t)(o||!sr(n))&&(e[n]=t[n])},Cd=(e,t,o)=>{const n=e.slots=si();if(e.vnode.shapeFlag&32){const a=t._;a?(gi(n,t,o),o&&ts(n,"_",a,!0)):di(t,n)}else t&&pi(e,t)},$d=(e,t,o)=>{const{vnode:n,slots:a}=e;let r=!0,s=Oe;if(n.shapeFlag&32){const i=t._;i?o&&i===1?r=!1:gi(a,t,o):(r=!t.$stable,di(t,a)),s=t}else t&&(pi(e,t),s={default:1});if(r)for(const i in a)!sr(i)&&s[i]==null&&delete a[i]},ft=Fd;function Pd(e){return Md(e)}function Md(e,t){const o=Un();o.__VUE__=!0;const{insert:n,remove:a,patchProp:r,createElement:s,createText:i,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:v,setScopeId:x=It,insertStaticContent:T}=e,w=(d,y,b,P=null,D=null,B=null,Y=void 0,q=null,p=!!y.dynamicChildren)=>{if(d===y)return;d&&!wn(d,y)&&(P=Te(d),oe(d,D,B,!0),d=null),y.patchFlag===-2&&(p=!1,y.dynamicChildren=null);const{type:h,ref:F,shapeFlag:K}=y;switch(h){case bn:E(d,y,b,P);break;case Jt:_(d,y,b,P);break;case cr:d==null&&S(y,b,P,Y);break;case Ie:I(d,y,b,P,D,B,Y,q,p);break;default:K&1?A(d,y,b,P,D,B,Y,q,p):K&6?W(d,y,b,P,D,B,Y,q,p):(K&64||K&128)&&h.process(d,y,b,P,D,B,Y,q,p,he)}F!=null&&D?fn(F,d&&d.ref,B,y||d,!y):F==null&&d&&d.ref!=null&&fn(d.ref,null,B,d,!0)},E=(d,y,b,P)=>{if(d==null)n(y.el=i(y.children),b,P);else{const D=y.el=d.el;y.children!==d.children&&c(D,y.children)}},_=(d,y,b,P)=>{d==null?n(y.el=l(y.children||""),b,P):y.el=d.el},S=(d,y,b,P)=>{[d.el,d.anchor]=T(d.children,y,b,P,d.el,d.anchor)},g=({el:d,anchor:y},b,P)=>{let D;for(;d&&d!==y;)D=v(d),n(d,b,P),d=D;n(y,b,P)},k=({el:d,anchor:y})=>{let b;for(;d&&d!==y;)b=v(d),a(d),d=b;a(y)},A=(d,y,b,P,D,B,Y,q,p)=>{if(y.type==="svg"?Y="svg":y.type==="math"&&(Y="mathml"),d==null)L(y,b,P,D,B,Y,q,p);else{const h=d.el&&d.el._isVueCE?d.el:null;try{h&&h._beginPatch(),m(d,y,D,B,Y,q,p)}finally{h&&h._endPatch()}}},L=(d,y,b,P,D,B,Y,q)=>{let p,h;const{props:F,shapeFlag:K,transition:re,dirs:ee}=d;if(p=d.el=s(d.type,B,F&&F.is,F),K&8?u(p,d.children):K&16&&$(d.children,p,null,P,D,lr(d,B),Y,q),ee&&wo(d,null,P,"created"),O(p,d,d.scopeId,Y,P),F){for(const V in F)V!=="value"&&!on(V)&&r(p,V,null,F[V],B,P);"value"in F&&r(p,"value",null,F.value,B),(h=F.onVnodeBeforeMount)&&jt(h,P,d)}ee&&wo(d,null,P,"beforeMount");const R=Id(D,re);R&&re.beforeEnter(p),n(p,y,b),((h=F&&F.onVnodeMounted)||R||ee)&&ft(()=>{try{h&&jt(h,P,d),R&&re.enter(p),ee&&wo(d,null,P,"mounted")}finally{}},D)},O=(d,y,b,P,D)=>{if(b&&x(d,b),P)for(let B=0;B{for(let h=p;h{const q=y.el=d.el;let{patchFlag:p,dynamicChildren:h,dirs:F}=y;p|=d.patchFlag&16;const K=d.props||Oe,re=y.props||Oe;let ee;if(b&&So(b,!1),(ee=re.onVnodeBeforeUpdate)&&jt(ee,b,y,d),F&&wo(y,d,b,"beforeUpdate"),b&&So(b,!0),(K.innerHTML&&re.innerHTML==null||K.textContent&&re.textContent==null)&&u(q,""),h?U(d.dynamicChildren,h,q,b,P,lr(y,D),B):Y||se(d,y,q,null,b,P,lr(y,D),B,!1),p>0){if(p&16)H(q,K,re,b,D);else if(p&2&&K.class!==re.class&&r(q,"class",null,re.class,D),p&4&&r(q,"style",K.style,re.style,D),p&8){const R=y.dynamicProps;for(let V=0;V{ee&&jt(ee,b,y,d),F&&wo(y,d,b,"updated")},P)},U=(d,y,b,P,D,B,Y)=>{for(let q=0;q{if(y!==b){if(y!==Oe)for(const B in y)!on(B)&&!(B in b)&&r(d,B,y[B],null,D,P);for(const B in b){if(on(B))continue;const Y=b[B],q=y[B];Y!==q&&B!=="value"&&r(d,B,q,Y,D,P)}"value"in b&&r(d,"value",y.value,b.value,D)}},I=(d,y,b,P,D,B,Y,q,p)=>{const h=y.el=d?d.el:i(""),F=y.anchor=d?d.anchor:i("");let{patchFlag:K,dynamicChildren:re,slotScopeIds:ee}=y;ee&&(q=q?q.concat(ee):ee),d==null?(n(h,b,P),n(F,b,P),$(y.children||[],b,F,D,B,Y,q,p)):K>0&&K&64&&re&&d.dynamicChildren&&d.dynamicChildren.length===re.length?(U(d.dynamicChildren,re,b,D,B,Y,q),(y.key!=null||D&&y===D.subTree)&&fi(d,y,!0)):se(d,y,b,F,D,B,Y,q,p)},W=(d,y,b,P,D,B,Y,q,p)=>{y.slotScopeIds=q,d==null?y.shapeFlag&512?D.ctx.activate(y,b,P,Y,p):ue(y,b,P,D,B,Y,p):C(d,y,p)},ue=(d,y,b,P,D,B,Y)=>{const q=d.component=Gd(d,P,D);if(Qa(d)&&(q.ctx.renderer=he),Kd(q,!1,Y),q.asyncDep){if(D&&D.registerDep(q,M,Y),!d.el){const p=q.subTree=Ve(Jt);_(null,p,y,b),d.placeholder=p.el}}else M(q,d,y,b,D,B,Y)},C=(d,y,b)=>{const P=y.component=d.component;if(Sd(d,y,b))if(P.asyncDep&&!P.asyncResolved){G(P,y,b);return}else P.next=y,P.update();else y.el=d.el,P.vnode=y},M=(d,y,b,P,D,B,Y)=>{const q=()=>{if(d.isMounted){let{next:K,bu:re,u:ee,parent:R,vnode:V}=d;{const Qe=hi(d);if(Qe){K&&(K.el=V.el,G(d,K,Y)),Qe.asyncDep.then(()=>{ft(()=>{d.isUnmounted||h()},D)});return}}let de=K,xe;So(d,!1),K?(K.el=V.el,G(d,K,Y)):K=V,re&&$a(re),(xe=K.props&&K.props.onVnodeBeforeUpdate)&&jt(xe,R,K,V),So(d,!0);const De=oi(d),at=d.subTree;d.subTree=De,w(at,De,f(at.el),Te(at),d,D,B),K.el=De.el,de===null&&Ad(d,De.el),ee&&ft(ee,D),(xe=K.props&&K.props.onVnodeUpdated)&&ft(()=>jt(xe,R,K,V),D)}else{let K;const{el:re,props:ee}=y,{bm:R,m:V,parent:de,root:xe,type:De}=d,at=Oo(y);So(d,!1),R&&$a(R),!at&&(K=ee&&ee.onVnodeBeforeMount)&&jt(K,de,y),So(d,!0);{xe.ce&&xe.ce._hasShadowRoot()&&xe.ce._injectChildStyle(De,d.parent?d.parent.type:void 0);const Qe=d.subTree=oi(d);w(null,Qe,b,P,d,D,B),y.el=Qe.el}if(V&&ft(V,D),!at&&(K=ee&&ee.onVnodeMounted)){const Qe=y;ft(()=>jt(K,de,Qe),D)}(y.shapeFlag&256||de&&Oo(de.vnode)&&de.vnode.shapeFlag&256)&&d.a&&ft(d.a,D),d.isMounted=!0,y=b=P=null}};d.scope.on();const p=d.effect=new cs(q);d.scope.off();const h=d.update=p.run.bind(p),F=d.job=p.runIfDirty.bind(p);F.i=d,F.id=d.uid,p.scheduler=()=>Ya(F),So(d,!0),h()},G=(d,y,b)=>{y.component=d;const P=d.vnode.props;d.vnode=y,d.next=null,Ld(d,y.props,P,b),$d(d,y.children,b),Ft(),Ns(d),Rt()},se=(d,y,b,P,D,B,Y,q,p=!1)=>{const h=d&&d.children,F=d?d.shapeFlag:0,K=y.children,{patchFlag:re,shapeFlag:ee}=y;if(re>0){if(re&128){Z(h,K,b,P,D,B,Y,q,p);return}else if(re&256){fe(h,K,b,P,D,B,Y,q,p);return}}ee&8?(F&16&&ge(h,D,B),K!==h&&u(b,K)):F&16?ee&16?Z(h,K,b,P,D,B,Y,q,p):ge(h,D,B,!0):(F&8&&u(b,""),ee&16&&$(K,b,P,D,B,Y,q,p))},fe=(d,y,b,P,D,B,Y,q,p)=>{d=d||$o,y=y||$o;const h=d.length,F=y.length,K=Math.min(h,F);let re;for(re=0;reF?ge(d,D,B,!0,!1,K):$(y,b,P,D,B,Y,q,p,K)},Z=(d,y,b,P,D,B,Y,q,p)=>{let h=0;const F=y.length;let K=d.length-1,re=F-1;for(;h<=K&&h<=re;){const ee=d[h],R=y[h]=p?Xt(y[h]):Ut(y[h]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;h++}for(;h<=K&&h<=re;){const ee=d[K],R=y[re]=p?Xt(y[re]):Ut(y[re]);if(wn(ee,R))w(ee,R,b,null,D,B,Y,q,p);else break;K--,re--}if(h>K){if(h<=re){const ee=re+1,R=eere)for(;h<=K;)oe(d[h],D,B,!0),h++;else{const ee=h,R=h,V=new Map;for(h=R;h<=re;h++){const ae=y[h]=p?Xt(y[h]):Ut(y[h]);ae.key!=null&&V.set(ae.key,h)}let de,xe=0;const De=re-R+1;let at=!1,Qe=0;const X=new Array(De);for(h=0;h=De){oe(ae,D,B,!0);continue}let ve;if(ae.key!=null)ve=V.get(ae.key);else for(de=R;de<=re;de++)if(X[de-R]===0&&wn(ae,y[de])){ve=de;break}ve===void 0?oe(ae,D,B,!0):(X[ve-R]=h+1,ve>=Qe?Qe=ve:at=!0,w(ae,y[ve],b,null,D,B,Y,q,p),xe++)}const te=at?Nd(X):$o;for(de=te.length-1,h=De-1;h>=0;h--){const ae=R+h,ve=y[ae],Ze=y[ae+1],yo=ae+1{const{el:B,type:Y,transition:q,children:p,shapeFlag:h}=d;if(h&6){ce(d.component.subTree,y,b,P);return}if(h&128){d.suspense.move(y,b,P);return}if(h&64){Y.move(d,y,b,he);return}if(Y===Ie){n(B,y,b);for(let K=0;Kq.enter(B),D));else{const{leave:K,delayLeave:re,afterLeave:ee}=q,R=()=>{d.ctx.isUnmounted?a(B):n(B,y,b)},V=()=>{const de=B._isLeaving||!!B[qa];B._isLeaving&&B[qa](!0),q.persisted&&!de?R():K(B,()=>{R(),ee&&ee()})};re?re(B,R,V):V()}else n(B,y,b)},oe=(d,y,b,P=!1,D=!1)=>{const{type:B,props:Y,ref:q,children:p,dynamicChildren:h,shapeFlag:F,patchFlag:K,dirs:re,cacheIndex:ee,memo:R}=d;if(K===-2&&(D=!1),q!=null&&(Ft(),fn(q,null,b,d,!0),Rt()),ee!=null&&(y.renderCache[ee]=void 0),F&256){y.ctx.deactivate(d);return}const V=F&1&&re,de=!Oo(d);let xe;if(de&&(xe=Y&&Y.onVnodeBeforeUnmount)&&jt(xe,y,d),F&6)Fe(d.component,b,P);else{if(F&128){d.suspense.unmount(b,P);return}V&&wo(d,null,y,"beforeUnmount"),F&64?d.type.remove(d,y,b,he,P):h&&!h.hasOnce&&(B!==Ie||K>0&&K&64)?ge(h,y,b,!1,!0):(B===Ie&&K&384||!D&&F&16)&&ge(p,y,b),P&&ke(d)}const De=R!=null&&ee==null;(de&&(xe=Y&&Y.onVnodeUnmounted)||V||De)&&ft(()=>{xe&&jt(xe,y,d),V&&wo(d,null,y,"unmounted"),De&&(d.el=null)},b)},ke=d=>{const{type:y,el:b,anchor:P,transition:D}=d;if(y===Ie){ie(b,P);return}if(y===cr){k(d);return}const B=()=>{a(b),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(d.shapeFlag&1&&D&&!D.persisted){const{leave:Y,delayLeave:q}=D,p=()=>Y(b,B);q?q(d.el,B,p):p()}else B()},ie=(d,y)=>{let b;for(;d!==y;)b=v(d),a(d),d=b;a(y)},Fe=(d,y,b)=>{const{bum:P,scope:D,job:B,subTree:Y,um:q,m:p,a:h}=d;mi(p),mi(h),P&&$a(P),D.stop(),B&&(B.flags|=8,oe(Y,d,y,b)),q&&ft(q,y),ft(()=>{d.isUnmounted=!0},y)},ge=(d,y,b,P=!1,D=!1,B=0)=>{for(let Y=B;Y{if(d.shapeFlag&6)return Te(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const y=v(d.anchor||d.el),b=y&&y[qu];return b?v(b):y};let Ae=!1;const z=(d,y,b)=>{let P;d==null?y._vnode&&(oe(y._vnode,null,null,!0),P=y._vnode.component):w(y._vnode||null,d,y,null,null,null,b),y._vnode=d,Ae||(Ae=!0,Ns(P),Fs(),Ae=!1)},he={p:w,um:oe,m:ce,r:ke,mt:ue,mc:$,pc:se,pbc:U,n:Te,o:e};return{render:z,hydrate:void 0,createApp:bd(z)}}function lr({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 So({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Id(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function fi(e,t,o=!1){const n=e.children,a=t.children;if(be(n)&&be(a))for(let r=0;r>1,e[o[i]]0&&(t[n]=o[r-1]),o[r]=n)}}for(r=o.length,s=o[r-1];r-- >0;)o[r]=s,s=t[s];return o}function hi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:hi(t)}function mi(e){if(e)for(let t=0;te.__isSuspense;function Fd(e,t){t&&t.pendingBranch?be(e)?t.effects.push(...e):t.effects.push(e):Ku(e)}const Ie=Symbol.for("v-fgt"),bn=Symbol.for("v-txt"),Jt=Symbol.for("v-cmt"),cr=Symbol.for("v-stc"),yn=[];let _t=null;function J(e=!1){yn.push(_t=e?null:[])}function Rd(){yn.pop(),_t=yn[yn.length-1]||null}let _n=1;function aa(e,t=!1){_n+=e,e<0&&_t&&t&&(_t.hasOnce=!0)}function _i(e){return e.dynamicChildren=_n>0?_t||$o:null,Rd(),_n>0&&_t&&_t.push(e),e}function ne(e,t,o,n,a,r){return _i(j(e,t,o,n,a,r,!0))}function Je(e,t,o,n,a){return _i(Ve(e,t,o,n,a,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function wn(e,t){return e.type===t.type&&e.key===t.key}const vi=({key:e})=>e??null,ra=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?Ge(e)||Ke(e)||Se(e)?{i:rt,r:e,k:t,f:!!o}:e:null);function j(e,t=null,o=null,n=0,a=null,r=e===Ie?0:1,s=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&vi(t),ref:t&&ra(t),scopeId:Ds,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:r,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:rt};return i?(ur(l,o),r&128&&e.normalize(l)):o&&(l.shapeFlag|=Ge(o)?8:16),_n>0&&!s&&_t&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&_t.push(l),l}const Ve=Dd;function Dd(e,t=null,o=null,n=0,a=null,r=!1){if((!e||e===zs)&&(e=Jt),vn(e)){const i=Uo(e,t,!0);return o&&ur(i,o),_n>0&&!r&&_t&&(i.shapeFlag&6?_t[_t.indexOf(e)]=i:_t.push(i)),i.patchFlag=-2,i}if(qd(e)&&(e=e.__vccOpts),t){t=Od(t);let{class:i,style:l}=t;i&&!Ge(i)&&(t.class=Be(i)),Ne(l)&&(Wn(l)&&!be(l)&&(l=qe({},l)),t.style=ct(l))}const s=Ge(e)?1:yi(e)?128:Ju(e)?64:Ne(e)?4:Se(e)?2:0;return j(e,t,o,n,a,s,r,!0)}function Od(e){return e?Wn(e)||ii(e)?qe({},e):e:null}function Uo(e,t,o=!1,n=!1){const{props:a,ref:r,patchFlag:s,children:i,transition:l}=e,c=t?Bd(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&vi(c),ref:t&&t.ref?o&&r?be(r)?r.concat(ra(t)):[r,ra(t)]:ra(t):r,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!==Ie?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Uo(e.ssContent),ssFallback:e.ssFallback&&Uo(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Ja(u,l.clone(u)),u}function ht(e=" ",t=0){return Ve(bn,null,e,t)}function we(e="",t=!1){return t?(J(),Je(Jt,null,e)):Ve(Jt,null,e)}function Ut(e){return e==null||typeof e=="boolean"?Ve(Jt):be(e)?Ve(Ie,null,e.slice()):vn(e)?Xt(e):Ve(bn,null,String(e))}function Xt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Uo(e)}function ur(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(be(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),ur(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!ii(t)?t._ctx=rt:a===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Se(t)?(t={default:t,_ctx:rt},o=32):(t=String(t),n&64?(o=16,t=[ht(t)]):o=8);e.children=t,e.shapeFlag|=o}function Bd(...e){const t={};for(let o=0;ost||rt;let sa,dr;{const e=Un(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),r=>{a.length>1?a.forEach(s=>s(r)):a[0](r)}};sa=t("__VUE_INSTANCE_SETTERS__",o=>st=o),dr=t("__VUE_SSR_SETTERS__",o=>jo=o)}const kn=e=>{const t=st;return sa(e),e.scope.on(),()=>{e.scope.off(),sa(t)}},wi=()=>{st&&st.scope.off(),sa(null)};function ki(e){return e.vnode.shapeFlag&4}let jo=!1;function Kd(e,t=!1,o=!1){t&&dr(t);const{props:n,children:a}=e.vnode,r=ki(e);xd(e,n,r,t),Cd(e,a,o||t);const s=r?Hd(e,t):void 0;return t&&dr(!1),s}function Hd(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ud);const{setup:n}=o;if(n){Ft();const a=e.setupContext=n.length>1?Vd(e):null,r=kn(e),s=Fo(n,e,0,[e.props,a]),i=Qr(s);if(Rt(),r(),(i||e.sp)&&!Oo(e)&&Xa(e),i){if(s.then(wi,wi),t)return s.then(l=>{Si(e,l)}).catch(l=>{dn(l,e,0)});e.asyncDep=s}else Si(e,s)}else Ai(e)}function Si(e,t,o){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ne(t)&&(e.setupState=Cs(t)),Ai(e)}function Ai(e,t,o){const n=e.type;e.render||(e.render=n.render||It);{const a=kn(e);Ft();try{dd(e)}finally{Rt(),a()}}}const zd={get(e,t){return lt(e,"get",""),e[t]}};function Vd(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,zd),slots:e.slots,emit:e.emit,expose:t}}function ia(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cs(cn(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in hn)return hn[o](e)},has(t,o){return o in t||o in hn}})):e.proxy}const Wd=/(?:^|[-_])\w/g,Yd=e=>e.replace(Wd,t=>t.toUpperCase()).replace(/[-_]/g,"");function xi(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function Li(e,t,o=!1){let n=xi(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=r=>{for(const s in r)if(r[s]===t)return s};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Yd(n):o?"App":"Anonymous"}function qd(e){return Se(e)&&"__vccOpts"in e}const Q=(e,t)=>Nu(e,t,jo);function Ti(e,t,o){try{aa(-1);const n=arguments.length;return n===2?Ne(t)&&!be(t)?vn(t)?Ve(e,null,[t]):Ve(e,t):Ve(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&vn(o)&&(o=[o]),Ve(e,t,o))}finally{aa(1)}}const Jd="3.5.35";/** * @vue/runtime-dom v3.5.35 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ps;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{ps=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const Ci=ps?e=>ps.createHTML(e):e=>e,Xd="http://www.w3.org/2000/svg",Zd="http://www.w3.org/1998/Math/MathML",Zt=typeof document<"u"?document:null,$i=Zt&&Zt.createElement("template"),Qd={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 a=t==="svg"?Zt.createElementNS(Xd,e):t==="mathml"?Zt.createElementNS(Zd,e):o?Zt.createElement(e,{is:o}):Zt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Zt.createTextNode(e),createComment:e=>Zt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Zt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{$i.innerHTML=Ci(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=$i.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ep=Symbol("_vtc");function tp(e,t,o){const n=e[ep];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const la=Symbol("_vod"),Pi=Symbol("_vsh"),op={name:"show",beforeMount(e,{value:t},{transition:o}){e[la]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Sn(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),Sn(e,!0),n.enter(e)):n.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[la]:"none",e[Pi]=!t}const np=Symbol(""),ap=/(?:^|;)\s*display\s*:/;function sp(e,t,o){const n=e.style,a=Ge(o);let s=!1;if(o&&!a){if(t)if(Ge(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&An(n,i,"")}else for(const r in t)o[r]==null&&An(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?ip(e,r,!Ge(t)&&t?t[r]:void 0,i)||An(n,r,i):An(n,r,"")}}else if(a){if(t!==o){const r=n[np];r&&(o+=";"+r),n.cssText=o,s=ap.test(o)}}else t&&e.removeAttribute("style");la in e&&(e[la]=s?n.display:"",e[Pi]&&(n.display="none"))}const Mi=/\s*!important$/;function An(e,t,o){if(be(o))o.forEach(n=>An(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const n=rp(e,t);Mi.test(o)?e.setProperty(vt(n),o.replace(Mi,""),"important"):e[n]=o}}const Ii=["Webkit","Moz","ms"],gs={};function rp(e,t){const o=gs[t];if(o)return o;let n=ot(t);if(n!=="filter"&&n in e)return gs[t]=n;n=Bn(n);for(let a=0;afs||(pp.then(()=>fs=0),fs=Date.now());function fp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(be(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hp=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?tp(e,n,r):t==="style"?sp(e,o,n):Nn(t)?Fn(t)||up(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):mp(e,t,n,r))?(Ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,r,s,t!=="value")):e._isVueCE&&(bp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ge(n)))?Ri(e,ot(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,r))};function mp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bi(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 a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(t)&&Ge(o)?!1:t in e}function bp(e,t){const o=e._def.props;if(!o)return!1;const n=ot(t);return Array.isArray(o)?o.some(a=>ot(a)===n):Object.keys(o).some(a=>ot(a)===n)}const Ui={};function yp(e,t,o){let n=gn(e,t);Rn(n)&&(n=qe({},n,t));class a extends hs{constructor(r){super(n,r,o)}}return a.def=n,a}const _p=typeof HTMLElement<"u"?HTMLElement:class{};class hs extends _p{constructor(t,o={},n=Ki){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!==Ki?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(qe({},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(()=>{this._pendingResolve=void 0,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,Wa(()=>{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;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!be(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=or(this._props[l])),(i||(i=Object.create(null)))[ot(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;o?this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):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)Me(this,n)||Object.defineProperty(this,n,{get:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=be(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(ot))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ui;const a=ot(t);o&&this._numberProps&&this._numberProps[a]&&(n=or(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ui?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(vt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(vt(t),o+""):o||this.removeAttribute(vt(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Sp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(this._def,qe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,Rn(r[0])?qe({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),vt(s)!==s&&a(vt(s),r)},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 a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===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;oe.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)=>vp.some(o=>e[`${o}Key`]&&!t.includes(o))},Et=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r{Gi().render(...e)},Ki=(...e)=>{const t=Gi().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=xp(n);if(!a)return;const s=t._component;!Se(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,Ap(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function Ap(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xp(e){return Ge(e)?document.querySelector(e):e}/*! +**/let pr;const Ei=typeof window<"u"&&window.trustedTypes;if(Ei)try{pr=Ei.createPolicy("vue",{createHTML:e=>e})}catch{}const Ci=pr?e=>pr.createHTML(e):e=>e,Xd="http://www.w3.org/2000/svg",Zd="http://www.w3.org/1998/Math/MathML",Zt=typeof document<"u"?document:null,$i=Zt&&Zt.createElement("template"),Qd={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 a=t==="svg"?Zt.createElementNS(Xd,e):t==="mathml"?Zt.createElementNS(Zd,e):o?Zt.createElement(e,{is:o}):Zt.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Zt.createTextNode(e),createComment:e=>Zt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Zt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,r){const s=o?o.previousSibling:t.lastChild;if(a&&(a===r||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===r||!(a=a.nextSibling)););else{$i.innerHTML=Ci(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const i=$i.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[s?s.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ep=Symbol("_vtc");function tp(e,t,o){const n=e[ep];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const la=Symbol("_vod"),Pi=Symbol("_vsh"),op={name:"show",beforeMount(e,{value:t},{transition:o}){e[la]=e.style.display==="none"?"":e.style.display,o&&t?o.beforeEnter(e):Sn(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),Sn(e,!0),n.enter(e)):n.leave(e,()=>{Sn(e,!1)}):Sn(e,t))},beforeUnmount(e,{value:t}){Sn(e,t)}};function Sn(e,t){e.style.display=t?e[la]:"none",e[Pi]=!t}const np=Symbol(""),ap=/(?:^|;)\s*display\s*:/;function rp(e,t,o){const n=e.style,a=Ge(o);let r=!1;if(o&&!a){if(t)if(Ge(t))for(const s of t.split(";")){const i=s.slice(0,s.indexOf(":")).trim();o[i]==null&&An(n,i,"")}else for(const s in t)o[s]==null&&An(n,s,"");for(const s in o){s==="display"&&(r=!0);const i=o[s];i!=null?ip(e,s,!Ge(t)&&t?t[s]:void 0,i)||An(n,s,i):An(n,s,"")}}else if(a){if(t!==o){const s=n[np];s&&(o+=";"+s),n.cssText=o,r=ap.test(o)}}else t&&e.removeAttribute("style");la in e&&(e[la]=r?n.display:"",e[Pi]&&(n.display="none"))}const Mi=/\s*!important$/;function An(e,t,o){if(be(o))o.forEach(n=>An(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))e.setProperty(t,o);else{const n=sp(e,t);Mi.test(o)?e.setProperty(vt(n),o.replace(Mi,""),"important"):e[n]=o}}const Ii=["Webkit","Moz","ms"],gr={};function sp(e,t){const o=gr[t];if(o)return o;let n=ot(t);if(n!=="filter"&&n in e)return gr[t]=n;n=Bn(n);for(let a=0;afr||(pp.then(()=>fr=0),fr=Date.now());function fp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(be(a)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const s=a.slice(),i=[n];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hp=(e,t,o,n,a,r)=>{const s=a==="svg";t==="class"?tp(e,n,s):t==="style"?rp(e,o,n):Nn(t)?Fn(t)||up(e,t,o,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):mp(e,t,n,s))?(Ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fi(e,t,n,s,r,t!=="value")):e._isVueCE&&(bp(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ge(n)))?Ri(e,ot(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fi(e,t,n,s))};function mp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Bi(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 a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Bi(t)&&Ge(o)?!1:t in e}function bp(e,t){const o=e._def.props;if(!o)return!1;const n=ot(t);return Array.isArray(o)?o.some(a=>ot(a)===n):Object.keys(o).some(a=>ot(a)===n)}const Ui={};function yp(e,t,o){let n=gn(e,t);Rn(n)&&(n=qe({},n,t));class a extends hr{constructor(s){super(n,s,o)}}return a.def=n,a}const _p=typeof HTMLElement<"u"?HTMLElement:class{};class hr extends _p{constructor(t,o={},n=Ki){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!==Ki?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(qe({},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 hr){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{this._pendingResolve=void 0,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,Wa(()=>{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;for(let n=0;n{this._resolved=!0,this._pendingResolve=void 0;const{props:r,styles:s}=n;let i;if(r&&!be(r))for(const l in r){const c=r[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=os(this._props[l])),(i||(i=Object.create(null)))[ot(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(s),this._mount(n)},o=this._def.__asyncLoader;o?this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}):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)Me(this,n)||Object.defineProperty(this,n,{get:()=>pe(o[n])})}_resolveProps(t){const{props:o}=t,n=be(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(ot))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(r){this._setProp(a,r,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):Ui;const a=ot(t);o&&this._numberProps&&this._numberProps[a]&&(n=os(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===Ui?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const r=this._ob;r&&(this._processMutations(r.takeRecords()),r.disconnect()),o===!0?this.setAttribute(vt(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(vt(t),o+""):o||this.removeAttribute(vt(t)),r&&r.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),Sp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Ve(this._def,qe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(r,s)=>{this.dispatchEvent(new CustomEvent(r,Rn(s[0])?qe({detail:s},s[0]):{detail:s}))};n.emit=(r,...s)=>{a(r,s),vt(r)!==r&&a(vt(r),s)},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 a=this._nonce,r=this.shadowRoot,s=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(r);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],r.insertBefore(c,i||s),i=c,l===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;oe.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)=>vp.some(o=>e[`${o}Key`]&&!t.includes(o))},Et=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...r)=>{for(let s=0;s{Gi().render(...e)},Ki=(...e)=>{const t=Gi().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=xp(n);if(!a)return;const r=t._component;!Se(r)&&!r.render&&!r.template&&(r.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const s=o(a,!1,Ap(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),s},t};function Ap(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xp(e){return Ge(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Hi;const ca=e=>Hi=e,zi=Symbol();function ms(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(xn||(xn={}));function Lp(){const e=Ia(!0),t=e.run(()=>me({}));let o=[],n=[];const a=cn({install(s){ca(a),a._a=s,s.provide(zi,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),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 a}const Vi=()=>{};function Wi(e,t,o,n=Vi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&lr()&&lu(a),a}function Go(e,...t){e.slice().forEach(o=>{o(...t)})}const Tp=e=>e(),Yi=Symbol(),bs=Symbol();function ys(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];ms(a)&&ms(n)&&e.hasOwnProperty(o)&&!Ke(n)&&!Vt(n)?e[o]=ys(a,n):e[o]=n}return e}const Ep=Symbol();function Cp(e){return!ms(e)||!e.hasOwnProperty(Ep)}const{assign:ro}=Object;function $p(e){return!!(Ke(e)&&e.effect)}function Pp(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=$u(o.state.value[e]);return ro(u,s,Object.keys(r||{}).reduce((f,v)=>(f[v]=cn(Q(()=>{ca(o);const x=o._s.get(e);return r[v].call(x,x)})),f),{}))}return l=qi(e,c,t,o,n,!0),l}function qi(e,t,o={},n,a,s){let r;const i=ro({actions:{}},o),l={deep:!0};let c,u,f=[],v=[],x;const T=n.state.value[e];!s&&!T&&(n.state.value[e]={});let w;function E($){let m;c=u=!1,typeof $=="function"?($(n.state.value[e]),m={type:xn.patchFunction,storeId:e,events:x}):(ys(n.state.value[e],$),m={type:xn.patchObject,payload:$,storeId:e,events:x});const U=w=Symbol();Wa().then(()=>{w===U&&(c=!0)}),u=!0,Go(f,m,n.state.value[e])}const _=s?function(){const{state:m}=o,U=m?m():{};this.$patch(H=>{ro(H,U)})}:Vi;function S(){r.stop(),f=[],v=[],n._s.delete(e)}const g=($,m="")=>{if(Yi in $)return $[bs]=m,$;const U=function(){ca(n);const H=Array.from(arguments),I=[],W=[];function ue(G){I.push(G)}function C(G){W.push(G)}Go(v,{args:H,name:U[bs],store:A,after:ue,onError:C});let M;try{M=$.apply(this&&this.$id===e?this:A,H)}catch(G){throw Go(W,G),G}return M instanceof Promise?M.then(G=>(Go(I,G),G)).catch(G=>(Go(W,G),Promise.reject(G))):(Go(I,M),M)};return U[Yi]=!0,U[bs]=m,U},k={_p:n,$id:e,$onAction:Wi.bind(null,v),$patch:E,$reset:_,$subscribe($,m={}){const U=Wi(f,$,m.detached,()=>H()),H=r.run(()=>Ye(()=>n.state.value[e],I=>{(m.flush==="sync"?u:c)&&$({storeId:e,type:xn.direct,events:x},I)},ro({},l,m)));return U},$dispose:S},A=Io(k);n._s.set(e,A);const O=(n._a&&n._a.runWithContext||Tp)(()=>n._e.run(()=>(r=Ia()).run(()=>t({action:g}))));for(const $ in O){const m=O[$];if(Ke(m)&&!$p(m)||Vt(m))s||(T&&Cp(m)&&(Ke(m)?m.value=T[$]:ys(m,T[$])),n.state.value[e][$]=m);else if(typeof m=="function"){const U=g(m,$);O[$]=U,i.actions[$]=m}}return ro(A,O),ro(Ce(A),O),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:$=>{E(m=>{ro(m,$)})}}),n._p.forEach($=>{ro(A,r.run(()=>$({store:A,app:n._a,pinia:n,options:i})))}),T&&s&&o.hydrate&&o.hydrate(A.$state,T),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function _s(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=zu();return i=i||(c?$e(zi,null):null),i&&ca(i),i=Hi,i._s.has(n)||(s?qi(n,t,a,i):Pp(n,a,i)),i._s.get(n)}return r.$id=n,r}let Mp=0;const Ip=_s("ui",{state:()=>({_storeInstanceId:++Mp,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=>e.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e.theme==="dark",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(o=>o.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;this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light"),localStorage.setItem("theme",e)},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:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.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(o=>o.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(){const e=localStorage.getItem("theme");e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Np=_s("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,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,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()}}}),Fp=_s("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=cn({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=cn({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 o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Ao=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Rp={class:"profile-loader"},Dp={key:0,class:"profile-error"},Op={key:1,class:"profile-error"},Bp=Ao({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Q(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),n=Q(()=>{var x;return((x=o.value)==null?void 0:x.profile)||null}),a=Q(()=>{var x;return((x=o.value)==null?void 0:x.tk)||""}),s=Q(()=>{var x;return((x=o.value)==null?void 0:x.dataSource)||"doxa-csv"}),r=Q(()=>{var x;return((x=o.value)==null?void 0:x.colorSet)||"default"}),i=Q(()=>{var x;return((x=o.value)==null?void 0:x.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),l=$e("profileModules",null);if(!l)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const c=Q(()=>{if(!n.value)return null;const x=`./profiles/${n.value}.vue`;return l[x]?Za(l[x]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(l)),null)});wt("mapboxToken",a),wt("dataSource",s),wt("colorSet",r),wt("profileConfig",o),wt("instanceId",i);const u=Ip(),f=Np(),v=Fp();return wt("uiStore",u),wt("mapStore",f),wt("dataStore",v),(x,T)=>(J(),ne("div",Rp,[o.value?c.value?(J(),Je(ld(c.value),{key:2})):(J(),ne("div",Op,[j("p",null,[T[1]||(T[1]=ht("⚠️ Profile ",-1)),j("strong",null,'"'+ye(n.value)+'"',1),T[2]||(T[2]=ht(" not found.",-1))])])):(J(),ne("div",Dp,[...T[0]||(T[0]=[j("p",null,[ht("⚠️ "),j("strong",null,"doxa-map"),ht(": missing or invalid "),j("code",null,"profile-config"),ht(" prop.")],-1),j("p",null,[ht("Example: "),j("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},jp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},zp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Wp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},Yp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},qp={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"},Jp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Xp={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:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Zp={menuComingSoon:"Menü folgt in Kürze"},Qp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},eg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},tg={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},og={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ng={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"},ag={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},sg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},rg={menuComingSoon:"Menu coming soon"},ig={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},lg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},cg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},ug={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},dg={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"},pg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},gg={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:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},fg={menuComingSoon:"Menú próximamente"},hg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},mg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},bg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},yg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},_g={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"},vg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},wg={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:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},kg={menuComingSoon:"Menu bientôt disponible"},Sg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ag={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},xg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Tg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Eg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},$g={menuComingSoon:"मेनू शीघ्र आ रहा है"},Pg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Mg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ig={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ng={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Fg={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"},Rg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Dg={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:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Og={menuComingSoon:"Menu in arrivo"},Bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ug={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},jg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Gg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Kg={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"},Hg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},zg={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:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},Vg={menuComingSoon:"Menu em breve"},Wg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Yg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},qg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},Jg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Xg={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ă"},Zg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},Qg={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:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},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"}},ef={menuComingSoon:"Meniu în curând"},tf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},of={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},nf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},af={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},sf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},rf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},lf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},cf={menuComingSoon:"Меню скоро появится"},uf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},df={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},pf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},gf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},ff={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},hf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},mf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},bf={menuComingSoon:"菜单即将推出"},yf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},_f={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},vf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Hi;const ca=e=>Hi=e,zi=Symbol();function mr(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var xn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(xn||(xn={}));function Lp(){const e=Ia(!0),t=e.run(()=>me({}));let o=[],n=[];const a=cn({install(r){ca(a),a._a=r,r.provide(zi,a),r.config.globalProperties.$pinia=a,n.forEach(s=>o.push(s)),n=[]},use(r){return this._a?o.push(r):n.push(r),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const Vi=()=>{};function Wi(e,t,o,n=Vi){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&ls()&&lu(a),a}function Go(e,...t){e.slice().forEach(o=>{o(...t)})}const Tp=e=>e(),Yi=Symbol(),br=Symbol();function yr(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];mr(a)&&mr(n)&&e.hasOwnProperty(o)&&!Ke(n)&&!Vt(n)?e[o]=yr(a,n):e[o]=n}return e}const Ep=Symbol();function Cp(e){return!mr(e)||!e.hasOwnProperty(Ep)}const{assign:so}=Object;function $p(e){return!!(Ke(e)&&e.effect)}function Pp(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=$u(o.state.value[e]);return so(u,r,Object.keys(s||{}).reduce((f,v)=>(f[v]=cn(Q(()=>{ca(o);const x=o._s.get(e);return s[v].call(x,x)})),f),{}))}return l=qi(e,c,t,o,n,!0),l}function qi(e,t,o={},n,a,r){let s;const i=so({actions:{}},o),l={deep:!0};let c,u,f=[],v=[],x;const T=n.state.value[e];!r&&!T&&(n.state.value[e]={});let w;function E($){let m;c=u=!1,typeof $=="function"?($(n.state.value[e]),m={type:xn.patchFunction,storeId:e,events:x}):(yr(n.state.value[e],$),m={type:xn.patchObject,payload:$,storeId:e,events:x});const U=w=Symbol();Wa().then(()=>{w===U&&(c=!0)}),u=!0,Go(f,m,n.state.value[e])}const _=r?function(){const{state:m}=o,U=m?m():{};this.$patch(H=>{so(H,U)})}:Vi;function S(){s.stop(),f=[],v=[],n._s.delete(e)}const g=($,m="")=>{if(Yi in $)return $[br]=m,$;const U=function(){ca(n);const H=Array.from(arguments),I=[],W=[];function ue(G){I.push(G)}function C(G){W.push(G)}Go(v,{args:H,name:U[br],store:A,after:ue,onError:C});let M;try{M=$.apply(this&&this.$id===e?this:A,H)}catch(G){throw Go(W,G),G}return M instanceof Promise?M.then(G=>(Go(I,G),G)).catch(G=>(Go(W,G),Promise.reject(G))):(Go(I,M),M)};return U[Yi]=!0,U[br]=m,U},k={_p:n,$id:e,$onAction:Wi.bind(null,v),$patch:E,$reset:_,$subscribe($,m={}){const U=Wi(f,$,m.detached,()=>H()),H=s.run(()=>Ye(()=>n.state.value[e],I=>{(m.flush==="sync"?u:c)&&$({storeId:e,type:xn.direct,events:x},I)},so({},l,m)));return U},$dispose:S},A=Io(k);n._s.set(e,A);const O=(n._a&&n._a.runWithContext||Tp)(()=>n._e.run(()=>(s=Ia()).run(()=>t({action:g}))));for(const $ in O){const m=O[$];if(Ke(m)&&!$p(m)||Vt(m))r||(T&&Cp(m)&&(Ke(m)?m.value=T[$]:yr(m,T[$])),n.state.value[e][$]=m);else if(typeof m=="function"){const U=g(m,$);O[$]=U,i.actions[$]=m}}return so(A,O),so(Ce(A),O),Object.defineProperty(A,"$state",{get:()=>n.state.value[e],set:$=>{E(m=>{so(m,$)})}}),n._p.forEach($=>{so(A,s.run(()=>$({store:A,app:n._a,pinia:n,options:i})))}),T&&r&&o.hydrate&&o.hydrate(A.$state,T),c=!0,u=!0,A}/*! #__NO_SIDE_EFFECTS__ */function _r(e,t,o){let n,a;const r=typeof t=="function";typeof e=="string"?(n=e,a=r?o:t):(a=e,n=e.id);function s(i,l){const c=zu();return i=i||(c?$e(zi,null):null),i&&ca(i),i=Hi,i._s.has(n)||(r?qi(n,t,a,i):Pp(n,a,i)),i._s.get(n)}return s.$id=n,s}let Mp=0;const Ip=_r("ui",{state:()=>({_storeInstanceId:++Mp,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=>e.theme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e.theme==="dark",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(o=>o.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;this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light"),localStorage.setItem("theme",e)},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:o="info",duration:n=this.toastDuration,action:a=null,persistent:r=!1}=e,s={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:r,createdAt:Date.now()};return this.toasts.push(s),!r&&n>0&&setTimeout(()=>{this.removeToast(s.id)},n),s.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(o=>o.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(){const e=localStorage.getItem("theme");e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Np=_r("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,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const r=t.getCenter();r&&(a=[r.lng,r.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,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()}}}),Fp=_r("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=cn({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=cn({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 o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Ao=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Rp={class:"profile-loader"},Dp={key:0,class:"profile-error"},Op={key:1,class:"profile-error"},Bp=Ao({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Q(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),n=Q(()=>{var x;return((x=o.value)==null?void 0:x.profile)||null}),a=Q(()=>{var x;return((x=o.value)==null?void 0:x.tk)||""}),r=Q(()=>{var x;return((x=o.value)==null?void 0:x.dataSource)||"doxa-csv"}),s=Q(()=>{var x;return((x=o.value)==null?void 0:x.colorSet)||"default"}),i=Q(()=>{var x;return((x=o.value)==null?void 0:x.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),l=$e("profileModules",null);if(!l)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./profiles/*.vue"))`');const c=Q(()=>{if(!n.value)return null;const x=`./profiles/${n.value}.vue`;return l[x]?Za(l[x]):(console.error(`[ProfileLoader] Profile not found: "${n.value}". Available:`,Object.keys(l)),null)});wt("mapboxToken",a),wt("dataSource",r),wt("colorSet",s),wt("profileConfig",o),wt("instanceId",i);const u=Ip(),f=Np(),v=Fp();return wt("uiStore",u),wt("mapStore",f),wt("dataStore",v),(x,T)=>(J(),ne("div",Rp,[o.value?c.value?(J(),Je(ld(c.value),{key:2})):(J(),ne("div",Op,[j("p",null,[T[1]||(T[1]=ht("⚠️ Profile ",-1)),j("strong",null,'"'+ye(n.value)+'"',1),T[2]||(T[2]=ht(" not found.",-1))])])):(J(),ne("div",Dp,[...T[0]||(T[0]=[j("p",null,[ht("⚠️ "),j("strong",null,"doxa-map"),ht(": missing or invalid "),j("code",null,"profile-config"),ht(" prop.")],-1),j("p",null,[ht("Example: "),j("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])]))]))}},[["__scopeId","data-v-858dd5a1"]]),Up={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},jp={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Gp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},Kp={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"لا أحد يصلّي",hasPrayer:"شخص واحد أو أكثر يصلّي",fullPrayerCoverage:"أكثر من 100 شخص يصلّون"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان"},footer:{total:"الإجمالي"}},Hp={menuComingSoon:"القائمة قادمة قريباً"},zp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Vp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Wp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},Yp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},qp={prayForThem:"Für sie beten",adoptThem:"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"},Jp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Xp={title:{prayer:"Gebetsfortschritt",engagement:"Fortschritt der Arbeit vor Ort",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Zp={menuComingSoon:"Menü folgt in Kürze"},Qp={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},eg={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"VUVGs",separator:" von "},tg={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},og={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},ng={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"},ag={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},rg={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayerCoverage:"100+ People Praying"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population"},footer:{total:"Total"}},sg={menuComingSoon:"Menu coming soon"},ig={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},lg={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},cg={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},ug={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},dg={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"},pg={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},gg={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:"Nadie orando",hasPrayer:"1+ personas orando",fullPrayerCoverage:"100+ personas orando"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población"},footer:{total:"Total"}},fg={menuComingSoon:"Menú próximamente"},hg={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},mg={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},bg={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},yg={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},_g={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"},vg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},wg={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:"Peuple"},prayer:{needsPrayer:"Personne ne prie",hasPrayer:"1+ personnes en prière",fullPrayerCoverage:"100+ personnes en prière"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPG",population:"Population"},footer:{total:"Total"}},kg={menuComingSoon:"Menu bientôt disponible"},Sg={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},Ag={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPG",separator:" sur "},xg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Lg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Tg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},Eg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Cg={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"कोई प्रार्थना नहीं कर रहा",hasPrayer:"1+ लोग प्रार्थना कर रहे हैं",fullPrayerCoverage:"100+ लोग प्रार्थना कर रहे हैं"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},$g={menuComingSoon:"मेनू शीघ्र आ रहा है"},Pg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Mg={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},Ig={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ng={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Fg={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"},Rg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Dg={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:"Nessuno prega",hasPrayer:"1+ persone in preghiera",fullPrayerCoverage:"100+ persone in preghiera"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Og={menuComingSoon:"Menu in arrivo"},Bg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Ug={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},jg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Gg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Kg={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"},Hg={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},zg={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:"Ninguém orando",hasPrayer:"1+ pessoas orando",fullPrayerCoverage:"100+ pessoas orando"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População"},footer:{total:"Total"}},Vg={menuComingSoon:"Menu em breve"},Wg={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Yg={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},qg={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},Jg={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Xg={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ă"},Zg={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},Qg={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:"Nimeni nu se roagă",hasPrayer:"1+ persoane se roagă",fullPrayerCoverage:"100+ persoane se roagă"},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"}},ef={menuComingSoon:"Meniu în curând"},tf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},of={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},nf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},af={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},rf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},sf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},lf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Никто не молится",hasPrayer:"1+ человек молится",fullPrayerCoverage:"100+ человек молятся"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население"},footer:{total:"Всего"}},cf={menuComingSoon:"Меню скоро появится"},uf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},df={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},pf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},gf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},ff={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},hf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},mf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"无人祷告",hasPrayer:"1+ 人祷告",fullPrayerCoverage:"100+ 人祷告"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},bf={menuComingSoon:"菜单即将推出"},yf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},_f={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},vf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function wf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ua=typeof window<"u",io=(e,t=!1)=>t?Symbol.for(e):Symbol(e),kf=(e,t,o)=>Sf({l:e,k:t,s:o}),Sf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Xe=e=>typeof e=="number"&&isFinite(e),Af=e=>el(e)==="[object Date]",lo=e=>el(e)==="[object RegExp]",da=e=>Le(e)&&Object.keys(e).length===0,it=Object.assign,xf=Object.create,Re=(e=null)=>xf(e);let Ji;const Qt=()=>Ji||(Ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Re());function Xi(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Zi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${Zi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${Zi(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 Tf=Object.prototype.hasOwnProperty;function Ct(e,t){return Tf.call(e,t)}const He=Array.isArray,je=e=>typeof e=="function",le=e=>typeof e=="string",Ee=e=>typeof e=="boolean",Pe=e=>e!==null&&typeof e=="object",Ef=e=>Pe(e)&&je(e.then)&&je(e.catch),Qi=Object.prototype.toString,el=e=>Qi.call(e),Le=e=>{if(!Pe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Cf=e=>e==null?"":He(e)||Le(e)&&e.toString===Qi?JSON.stringify(e,null,2):String(e);function $f(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function pa(e){let t=e;return()=>++t}const ga=e=>!Pe(e)||He(e);function fa(e,t){if(ga(e)||ga(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(Pe(n[s])&&!Pe(a[s])&&(a[s]=Array.isArray(n[s])?[]:Re()),ga(a[s])||ga(n[s])?a[s]=n[s]:o.push({src:n[s],des:a[s]}))})}}/*! + */function wf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const ua=typeof window<"u",io=(e,t=!1)=>t?Symbol.for(e):Symbol(e),kf=(e,t,o)=>Sf({l:e,k:t,s:o}),Sf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Xe=e=>typeof e=="number"&&isFinite(e),Af=e=>el(e)==="[object Date]",lo=e=>el(e)==="[object RegExp]",da=e=>Le(e)&&Object.keys(e).length===0,it=Object.assign,xf=Object.create,Re=(e=null)=>xf(e);let Ji;const Qt=()=>Ji||(Ji=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Re());function Xi(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Zi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Lf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,r)=>`${a}="${Zi(r)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,r)=>`${a}='${Zi(r)}'`),/\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 Tf=Object.prototype.hasOwnProperty;function Ct(e,t){return Tf.call(e,t)}const He=Array.isArray,je=e=>typeof e=="function",le=e=>typeof e=="string",Ee=e=>typeof e=="boolean",Pe=e=>e!==null&&typeof e=="object",Ef=e=>Pe(e)&&je(e.then)&&je(e.catch),Qi=Object.prototype.toString,el=e=>Qi.call(e),Le=e=>{if(!Pe(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Cf=e=>e==null?"":He(e)||Le(e)&&e.toString===Qi?JSON.stringify(e,null,2):String(e);function $f(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function pa(e){let t=e;return()=>++t}const ga=e=>!Pe(e)||He(e);function fa(e,t){if(ga(e)||ga(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(r=>{r!=="__proto__"&&(Pe(n[r])&&!Pe(a[r])&&(a[r]=Array.isArray(n[r])?[]:Re()),ga(a[r])||ga(n[r])?a[r]=n[r]:o.push({src:n[r],des:a[r]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Pf(e,t,o){return{line:e,column:t,offset:o}}function ha(e,t,o){return{start:e,end:t}}const Mf=/\{([0-9a-zA-Z]+)\}/g;function tl(e,...t){return t.length===1&&If(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Mf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const ol=Object.assign,nl=e=>typeof e=="string",If=e=>e!==null&&typeof e=="object";function al(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const vs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Nf={[vs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Ff(e,t,...o){const n=tl(Nf[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const _e={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},Rf={[_e.EXPECTED_TOKEN]:"Expected token: '{0}'",[_e.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[_e.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[_e.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[_e.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[_e.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[_e.EMPTY_PLACEHOLDER]:"Empty placeholder",[_e.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[_e.INVALID_LINKED_FORMAT]:"Invalid linked format",[_e.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[_e.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[_e.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[_e.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[_e.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[_e.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Ko(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=tl((a||Rf)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function Df(e){throw e}const eo=" ",Of="\r",pt=` -`,Bf="\u2028",Uf="\u2029";function jf(e){const t=e;let o=0,n=1,a=1,s=0;const r=O=>t[O]===Of&&t[O+1]===pt,i=O=>t[O]===pt,l=O=>t[O]===Uf,c=O=>t[O]===Bf,u=O=>r(O)||i(O)||l(O)||c(O),f=()=>o,v=()=>n,x=()=>a,T=()=>s,w=O=>r(O)||l(O)||c(O)?pt:t[O],E=()=>w(o),_=()=>w(o+s);function S(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function g(){return r(o+s)&&s++,s++,t[o+s]}function k(){o=0,n=1,a=1,s=0}function A(O=0){s=O}function L(){const O=o+s;for(;O!==o;)S();s=0}return{index:f,line:v,column:x,peekOffset:T,charAt:w,currentChar:E,currentPeek:_,next:S,peek:g,reset:k,resetPeek:A,skipToPeek:L}}const co=void 0,Gf=".",sl="'",Kf="tokenizer";function Hf(e,t={}){const o=t.location!==!1,n=jf(e),a=()=>n.index(),s=()=>Pf(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,h,F,...K){const se=c();if(h.column+=F,h.offset+=F,u){const ee=o?ha(se.startLoc,h):null,R=Ko(p,ee,{domain:Kf,args:K});u(R)}}function v(p,h,F){p.endLoc=s(),p.currentType=h;const K={type:h};return o&&(K.loc=ha(p.startLoc,p.endLoc)),F!=null&&(K.value=F),K}const x=p=>v(p,14);function T(p,h){return p.currentChar()===h?(p.next(),h):(f(_e.EXPECTED_TOKEN,s(),0,h),"")}function w(p){let h="";for(;p.currentPeek()===eo||p.currentPeek()===pt;)h+=p.currentPeek(),p.peek();return h}function E(p){const h=w(p);return p.skipToPeek(),h}function _(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function S(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=48&&h<=57}function g(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function k(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()==="-"?p.peek():p.currentPeek(),se=S(K);return p.resetPeek(),se}function A(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()===sl;return p.resetPeek(),K}function L(p,h){const{currentType:F}=h;if(F!==8)return!1;w(p);const K=p.currentPeek()===".";return p.resetPeek(),K}function O(p,h){const{currentType:F}=h;if(F!==9)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function $(p,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;w(p);const K=p.currentPeek()===":";return p.resetPeek(),K}function m(p,h){const{currentType:F}=h;if(F!==10)return!1;const K=()=>{const ee=p.currentPeek();return ee==="{"?_(p.peek()):ee==="@"||ee==="%"||ee==="|"||ee===":"||ee==="."||ee===eo||!ee?!1:ee===pt?(p.peek(),K()):I(p,!1)},se=K();return p.resetPeek(),se}function U(p){w(p);const h=p.currentPeek()==="|";return p.resetPeek(),h}function H(p){const h=w(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function I(p,h=!0){const F=(se=!1,ee="",R=!1)=>{const V=p.currentPeek();return V==="{"?ee==="%"?!1:se:V==="@"||!V?ee==="%"?!0:se:V==="%"?(p.peek(),F(se,"%",!0)):V==="|"?ee==="%"||R?!0:!(ee===eo||ee===pt):V===eo?(p.peek(),F(!0,eo,R)):V===pt?(p.peek(),F(!0,pt,R)):!0},K=F();return h&&p.resetPeek(),K}function W(p,h){const F=p.currentChar();return F===co?co:h(F)?(p.next(),F):null}function ue(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function C(p){return W(p,ue)}function M(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function G(p){return W(p,M)}function re(p){const h=p.charCodeAt(0);return h>=48&&h<=57}function fe(p){return W(p,re)}function Z(p){const h=p.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function ce(p){return W(p,Z)}function oe(p){let h="",F="";for(;h=fe(p);)F+=h;return F}function ke(p){E(p);const h=p.currentChar();return h!=="%"&&f(_e.EXPECTED_TOKEN,s(),0,h),p.next(),"%"}function ie(p){let h="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(I(p))h+=F,p.next();else break;else if(F===eo||F===pt)if(I(p))h+=F,p.next();else{if(U(p))break;h+=F,p.next()}else h+=F,p.next()}return h}function Fe(p){E(p);let h="",F="";for(;h=G(p);)F+=h;return p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F}function ge(p){E(p);let h="";return p.currentChar()==="-"?(p.next(),h+=`-${oe(p)}`):h+=oe(p),p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),h}function Te(p){return p!==sl&&p!==pt}function Ae(p){E(p),T(p,"'");let h="",F="";for(;h=W(p,Te);)h==="\\"?F+=z(p):F+=h;const K=p.currentChar();return K===pt||K===co?(f(_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),K===pt&&(p.next(),T(p,"'")),F):(T(p,"'"),F)}function z(p){const h=p.currentChar();switch(h){case"\\":case"'":return p.next(),`\\${h}`;case"u":return he(p,h,4);case"U":return he(p,h,6);default:return f(_e.UNKNOWN_ESCAPE_SEQUENCE,s(),0,h),""}}function he(p,h,F){T(p,h);let K="";for(let se=0;se{const K=p.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===eo?F:(F+=K,p.next(),h(F))};return h("")}function P(p){E(p);const h=T(p,"|");return E(p),h}function D(p,h){let F=null;switch(p.currentChar()){case"{":return h.braceNest>=1&&f(_e.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),p.next(),F=v(h,2,"{"),E(p),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(_e.EMPTY_PLACEHOLDER,s(),0),p.next(),F=v(h,3,"}"),h.braceNest--,h.braceNest>0&&E(p),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F=B(p,h)||x(h),h.braceNest=0,F;default:{let se=!0,ee=!0,R=!0;if(U(p))return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(_e.UNTERMINATED_CLOSING_BRACE,s(),0),h.braceNest=0,Y(p,h);if(se=g(p,h))return F=v(h,5,Fe(p)),E(p),F;if(ee=k(p,h))return F=v(h,6,ge(p)),E(p),F;if(R=A(p,h))return F=v(h,7,Ae(p)),E(p),F;if(!se&&!ee&&!R)return F=v(h,13,d(p)),f(_e.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,F.value),E(p),F;break}}return F}function B(p,h){const{currentType:F}=h;let K=null;const se=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(se===pt||se===eo)&&f(_e.INVALID_LINKED_FORMAT,s(),0),se){case"@":return p.next(),K=v(h,8,"@"),h.inLinked=!0,K;case".":return E(p),p.next(),v(h,9,".");case":":return E(p),p.next(),v(h,10,":");default:return U(p)?(K=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,K):L(p,h)||$(p,h)?(E(p),B(p,h)):O(p,h)?(E(p),v(h,12,y(p))):m(p,h)?(E(p),se==="{"?D(p,h)||K:v(h,11,b(p))):(F===8&&f(_e.INVALID_LINKED_FORMAT,s(),0),h.braceNest=0,h.inLinked=!1,Y(p,h))}}function Y(p,h){let F={type:14};if(h.braceNest>0)return D(p,h)||x(h);if(h.inLinked)return B(p,h)||x(h);switch(p.currentChar()){case"{":return D(p,h)||x(h);case"}":return f(_e.UNBALANCED_CLOSING_BRACE,s(),0),p.next(),v(h,3,"}");case"@":return B(p,h)||x(h);default:{if(U(p))return F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:se,hasSpace:ee}=H(p);if(se)return ee?v(h,0,ie(p)):v(h,4,ke(p));if(I(p))return v(h,0,ie(p));break}}return F}function q(){const{currentType:p,offset:h,startLoc:F,endLoc:K}=l;return l.lastType=p,l.lastOffset=h,l.lastStartLoc=F,l.lastEndLoc=K,l.offset=a(),l.startLoc=s(),n.currentChar()===co?v(l,14):Y(n,l)}return{nextToken:q,currentOffset:a,currentPosition:s,context:c}}const zf="parser",Vf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wf(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 Yf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,o){const m=t?ha(A,$):null,U=Ko(k,m,{domain:zf,args:O});o(U)}}function s(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,n){const m=t?ha(A,$):null;n(Ff(k,m,O))}}function r(g,k,A){const L={type:g};return t&&(L.start=k,L.end=k,L.loc={start:A,end:A}),L}function i(g,k,A,L){t&&(g.end=k,g.loc&&(g.loc.end=A))}function l(g,k){const A=g.context(),L=r(3,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function c(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(5,L,O);return $.index=parseInt(k,10),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function u(g,k,A){const L=g.context(),{lastOffset:O,lastStartLoc:$}=L,m=r(4,O,$);return m.key=k,A===!0&&(m.modulo=!0),g.nextToken(),i(m,g.currentOffset(),g.currentPosition()),m}function f(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(9,L,O);return $.value=k.replace(Vf,Wf),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function v(g){const k=g.nextToken(),A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=r(8,L,O);return k.type!==12?(a(g,_e.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),$.value="",i($,L,O),{nextConsumeToken:k,node:$}):(k.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,$t(k)),$.value=k.value||"",i($,g.currentOffset(),g.currentPosition()),{node:$})}function x(g,k){const A=g.context(),L=r(7,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function T(g){const k=g.context(),A=r(6,k.offset,k.startLoc);let L=g.nextToken();if(L.type===9){const O=v(g);A.modifier=O.node,L=O.nextConsumeToken||g.nextToken()}switch(L.type!==10&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),L=g.nextToken(),L.type===2&&(L=g.nextToken()),L.type){case 11:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=x(g,L.value||"");break;case 5:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=u(g,L.value||"");break;case 6:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=c(g,L.value||"");break;case 7:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=f(g,L.value||"");break;default:{a(g,_e.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const O=g.context(),$=r(7,O.offset,O.startLoc);return $.value="",i($,O.offset,O.startLoc),A.key=$,i(A,O.offset,O.startLoc),{nextConsumeToken:L,node:A}}}return i(A,g.currentOffset(),g.currentPosition()),{node:A}}function w(g){const k=g.context(),A=k.currentType===1?g.currentOffset():k.offset,L=k.currentType===1?k.endLoc:k.startLoc,O=r(2,A,L);O.items=[];let $=null,m=null;do{const I=$||g.nextToken();switch($=null,I.type){case 0:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(l(g,I.value||""));break;case 6:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(c(g,I.value||""));break;case 4:m=!0;break;case 5:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(u(g,I.value||"",!!m)),m&&(s(g,vs.USE_MODULO_SYNTAX,k.lastStartLoc,0,$t(I)),m=null);break;case 7:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(f(g,I.value||""));break;case 8:{const W=T(g);O.items.push(W.node),$=W.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const U=k.currentType===1?k.lastOffset:g.currentOffset(),H=k.currentType===1?k.lastEndLoc:g.currentPosition();return i(O,U,H),O}function E(g,k,A,L){const O=g.context();let $=L.items.length===0;const m=r(1,k,A);m.cases=[],m.cases.push(L);do{const U=w(g);$||($=U.items.length===0),m.cases.push(U)}while(O.currentType!==14);return $&&a(g,_e.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(m,g.currentOffset(),g.currentPosition()),m}function _(g){const k=g.context(),{offset:A,startLoc:L}=k,O=w(g);return k.currentType===14?O:E(g,A,L,O)}function S(g){const k=Hf(g,ol({},e)),A=k.context(),L=r(0,A.offset,A.startLoc);return t&&L.loc&&(L.loc.source=g),L.body=_(k),e.onCacheKey&&(L.cacheKey=e.onCacheKey(g)),A.currentType!==14&&a(k,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,g[A.offset]||""),i(L,k.currentOffset(),k.currentPosition()),L}return{parse:S}}function $t(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 qf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function rl(e,t){for(let o=0;oil(o)),e}function il(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;or;function l(w,E){r.code+=w}function c(w,E=!0){const _=E?n:"";l(a?_+" ".repeat(w):_)}function u(w=!0){const E=++r.indentLevel;w&&c(E)}function f(w=!0){const E=--r.indentLevel;w&&c(E)}function v(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:v,helper:w=>`_${w}`,needIndent:()=>r.needIndent}}function th(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),zo(e,t.key),t.modifier?(e.push(", "),zo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function oh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s{const o=nl(t.mode)?t.mode:"normal",n=nl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` -`,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=eh(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${al(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),zo(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 rh(e,t={}){const o=ol({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=Yf(o).parse(e);return n?(s&&Xf(i),a&&Ho(i),{ast:i,code:""}):(Jf(i,o),sh(i,o))}/*! + */function Pf(e,t,o){return{line:e,column:t,offset:o}}function ha(e,t,o){return{start:e,end:t}}const Mf=/\{([0-9a-zA-Z]+)\}/g;function tl(e,...t){return t.length===1&&If(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Mf,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const ol=Object.assign,nl=e=>typeof e=="string",If=e=>e!==null&&typeof e=="object";function al(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const vr={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Nf={[vr.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Ff(e,t,...o){const n=tl(Nf[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const _e={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},Rf={[_e.EXPECTED_TOKEN]:"Expected token: '{0}'",[_e.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[_e.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[_e.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[_e.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[_e.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[_e.EMPTY_PLACEHOLDER]:"Empty placeholder",[_e.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[_e.INVALID_LINKED_FORMAT]:"Invalid linked format",[_e.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[_e.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[_e.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[_e.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[_e.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[_e.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Ko(e,t,o={}){const{domain:n,messages:a,args:r}=o,s=tl((a||Rf)[e]||"",...r||[]),i=new SyntaxError(String(s));return i.code=e,t&&(i.location=t),i.domain=n,i}function Df(e){throw e}const eo=" ",Of="\r",pt=` +`,Bf="\u2028",Uf="\u2029";function jf(e){const t=e;let o=0,n=1,a=1,r=0;const s=O=>t[O]===Of&&t[O+1]===pt,i=O=>t[O]===pt,l=O=>t[O]===Uf,c=O=>t[O]===Bf,u=O=>s(O)||i(O)||l(O)||c(O),f=()=>o,v=()=>n,x=()=>a,T=()=>r,w=O=>s(O)||l(O)||c(O)?pt:t[O],E=()=>w(o),_=()=>w(o+r);function S(){return r=0,u(o)&&(n++,a=0),s(o)&&o++,o++,a++,t[o]}function g(){return s(o+r)&&r++,r++,t[o+r]}function k(){o=0,n=1,a=1,r=0}function A(O=0){r=O}function L(){const O=o+r;for(;O!==o;)S();r=0}return{index:f,line:v,column:x,peekOffset:T,charAt:w,currentChar:E,currentPeek:_,next:S,peek:g,reset:k,resetPeek:A,skipToPeek:L}}const co=void 0,Gf=".",rl="'",Kf="tokenizer";function Hf(e,t={}){const o=t.location!==!1,n=jf(e),a=()=>n.index(),r=()=>Pf(n.line(),n.column(),n.index()),s=r(),i=a(),l={currentType:14,offset:i,startLoc:s,endLoc:s,lastType:14,lastOffset:i,lastStartLoc:s,lastEndLoc:s,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(p,h,F,...K){const re=c();if(h.column+=F,h.offset+=F,u){const ee=o?ha(re.startLoc,h):null,R=Ko(p,ee,{domain:Kf,args:K});u(R)}}function v(p,h,F){p.endLoc=r(),p.currentType=h;const K={type:h};return o&&(K.loc=ha(p.startLoc,p.endLoc)),F!=null&&(K.value=F),K}const x=p=>v(p,14);function T(p,h){return p.currentChar()===h?(p.next(),h):(f(_e.EXPECTED_TOKEN,r(),0,h),"")}function w(p){let h="";for(;p.currentPeek()===eo||p.currentPeek()===pt;)h+=p.currentPeek(),p.peek();return h}function E(p){const h=w(p);return p.skipToPeek(),h}function _(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h===95}function S(p){if(p===co)return!1;const h=p.charCodeAt(0);return h>=48&&h<=57}function g(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function k(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()==="-"?p.peek():p.currentPeek(),re=S(K);return p.resetPeek(),re}function A(p,h){const{currentType:F}=h;if(F!==2)return!1;w(p);const K=p.currentPeek()===rl;return p.resetPeek(),K}function L(p,h){const{currentType:F}=h;if(F!==8)return!1;w(p);const K=p.currentPeek()===".";return p.resetPeek(),K}function O(p,h){const{currentType:F}=h;if(F!==9)return!1;w(p);const K=_(p.currentPeek());return p.resetPeek(),K}function $(p,h){const{currentType:F}=h;if(!(F===8||F===12))return!1;w(p);const K=p.currentPeek()===":";return p.resetPeek(),K}function m(p,h){const{currentType:F}=h;if(F!==10)return!1;const K=()=>{const ee=p.currentPeek();return ee==="{"?_(p.peek()):ee==="@"||ee==="%"||ee==="|"||ee===":"||ee==="."||ee===eo||!ee?!1:ee===pt?(p.peek(),K()):I(p,!1)},re=K();return p.resetPeek(),re}function U(p){w(p);const h=p.currentPeek()==="|";return p.resetPeek(),h}function H(p){const h=w(p),F=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:F,hasSpace:h.length>0}}function I(p,h=!0){const F=(re=!1,ee="",R=!1)=>{const V=p.currentPeek();return V==="{"?ee==="%"?!1:re:V==="@"||!V?ee==="%"?!0:re:V==="%"?(p.peek(),F(re,"%",!0)):V==="|"?ee==="%"||R?!0:!(ee===eo||ee===pt):V===eo?(p.peek(),F(!0,eo,R)):V===pt?(p.peek(),F(!0,pt,R)):!0},K=F();return h&&p.resetPeek(),K}function W(p,h){const F=p.currentChar();return F===co?co:h(F)?(p.next(),F):null}function ue(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36}function C(p){return W(p,ue)}function M(p){const h=p.charCodeAt(0);return h>=97&&h<=122||h>=65&&h<=90||h>=48&&h<=57||h===95||h===36||h===45}function G(p){return W(p,M)}function se(p){const h=p.charCodeAt(0);return h>=48&&h<=57}function fe(p){return W(p,se)}function Z(p){const h=p.charCodeAt(0);return h>=48&&h<=57||h>=65&&h<=70||h>=97&&h<=102}function ce(p){return W(p,Z)}function oe(p){let h="",F="";for(;h=fe(p);)F+=h;return F}function ke(p){E(p);const h=p.currentChar();return h!=="%"&&f(_e.EXPECTED_TOKEN,r(),0,h),p.next(),"%"}function ie(p){let h="";for(;;){const F=p.currentChar();if(F==="{"||F==="}"||F==="@"||F==="|"||!F)break;if(F==="%")if(I(p))h+=F,p.next();else break;else if(F===eo||F===pt)if(I(p))h+=F,p.next();else{if(U(p))break;h+=F,p.next()}else h+=F,p.next()}return h}function Fe(p){E(p);let h="",F="";for(;h=G(p);)F+=h;return p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F}function ge(p){E(p);let h="";return p.currentChar()==="-"?(p.next(),h+=`-${oe(p)}`):h+=oe(p),p.currentChar()===co&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),h}function Te(p){return p!==rl&&p!==pt}function Ae(p){E(p),T(p,"'");let h="",F="";for(;h=W(p,Te);)h==="\\"?F+=z(p):F+=h;const K=p.currentChar();return K===pt||K===co?(f(_e.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),0),K===pt&&(p.next(),T(p,"'")),F):(T(p,"'"),F)}function z(p){const h=p.currentChar();switch(h){case"\\":case"'":return p.next(),`\\${h}`;case"u":return he(p,h,4);case"U":return he(p,h,6);default:return f(_e.UNKNOWN_ESCAPE_SEQUENCE,r(),0,h),""}}function he(p,h,F){T(p,h);let K="";for(let re=0;re{const K=p.currentChar();return K==="{"||K==="%"||K==="@"||K==="|"||K==="("||K===")"||!K||K===eo?F:(F+=K,p.next(),h(F))};return h("")}function P(p){E(p);const h=T(p,"|");return E(p),h}function D(p,h){let F=null;switch(p.currentChar()){case"{":return h.braceNest>=1&&f(_e.NOT_ALLOW_NEST_PLACEHOLDER,r(),0),p.next(),F=v(h,2,"{"),E(p),h.braceNest++,F;case"}":return h.braceNest>0&&h.currentType===2&&f(_e.EMPTY_PLACEHOLDER,r(),0),p.next(),F=v(h,3,"}"),h.braceNest--,h.braceNest>0&&E(p),h.inLinked&&h.braceNest===0&&(h.inLinked=!1),F;case"@":return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F=B(p,h)||x(h),h.braceNest=0,F;default:{let re=!0,ee=!0,R=!0;if(U(p))return h.braceNest>0&&f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;if(h.braceNest>0&&(h.currentType===5||h.currentType===6||h.currentType===7))return f(_e.UNTERMINATED_CLOSING_BRACE,r(),0),h.braceNest=0,Y(p,h);if(re=g(p,h))return F=v(h,5,Fe(p)),E(p),F;if(ee=k(p,h))return F=v(h,6,ge(p)),E(p),F;if(R=A(p,h))return F=v(h,7,Ae(p)),E(p),F;if(!re&&!ee&&!R)return F=v(h,13,d(p)),f(_e.INVALID_TOKEN_IN_PLACEHOLDER,r(),0,F.value),E(p),F;break}}return F}function B(p,h){const{currentType:F}=h;let K=null;const re=p.currentChar();switch((F===8||F===9||F===12||F===10)&&(re===pt||re===eo)&&f(_e.INVALID_LINKED_FORMAT,r(),0),re){case"@":return p.next(),K=v(h,8,"@"),h.inLinked=!0,K;case".":return E(p),p.next(),v(h,9,".");case":":return E(p),p.next(),v(h,10,":");default:return U(p)?(K=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,K):L(p,h)||$(p,h)?(E(p),B(p,h)):O(p,h)?(E(p),v(h,12,y(p))):m(p,h)?(E(p),re==="{"?D(p,h)||K:v(h,11,b(p))):(F===8&&f(_e.INVALID_LINKED_FORMAT,r(),0),h.braceNest=0,h.inLinked=!1,Y(p,h))}}function Y(p,h){let F={type:14};if(h.braceNest>0)return D(p,h)||x(h);if(h.inLinked)return B(p,h)||x(h);switch(p.currentChar()){case"{":return D(p,h)||x(h);case"}":return f(_e.UNBALANCED_CLOSING_BRACE,r(),0),p.next(),v(h,3,"}");case"@":return B(p,h)||x(h);default:{if(U(p))return F=v(h,1,P(p)),h.braceNest=0,h.inLinked=!1,F;const{isModulo:re,hasSpace:ee}=H(p);if(re)return ee?v(h,0,ie(p)):v(h,4,ke(p));if(I(p))return v(h,0,ie(p));break}}return F}function q(){const{currentType:p,offset:h,startLoc:F,endLoc:K}=l;return l.lastType=p,l.lastOffset=h,l.lastStartLoc=F,l.lastEndLoc=K,l.offset=a(),l.startLoc=r(),n.currentChar()===co?v(l,14):Y(n,l)}return{nextToken:q,currentOffset:a,currentPosition:r,context:c}}const zf="parser",Vf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Wf(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 Yf(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,o){const m=t?ha(A,$):null,U=Ko(k,m,{domain:zf,args:O});o(U)}}function r(g,k,A,L,...O){const $=g.currentPosition();if($.offset+=L,$.column+=L,n){const m=t?ha(A,$):null;n(Ff(k,m,O))}}function s(g,k,A){const L={type:g};return t&&(L.start=k,L.end=k,L.loc={start:A,end:A}),L}function i(g,k,A,L){t&&(g.end=k,g.loc&&(g.loc.end=A))}function l(g,k){const A=g.context(),L=s(3,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function c(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(5,L,O);return $.index=parseInt(k,10),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function u(g,k,A){const L=g.context(),{lastOffset:O,lastStartLoc:$}=L,m=s(4,O,$);return m.key=k,A===!0&&(m.modulo=!0),g.nextToken(),i(m,g.currentOffset(),g.currentPosition()),m}function f(g,k){const A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(9,L,O);return $.value=k.replace(Vf,Wf),g.nextToken(),i($,g.currentOffset(),g.currentPosition()),$}function v(g){const k=g.nextToken(),A=g.context(),{lastOffset:L,lastStartLoc:O}=A,$=s(8,L,O);return k.type!==12?(a(g,_e.UNEXPECTED_EMPTY_LINKED_MODIFIER,A.lastStartLoc,0),$.value="",i($,L,O),{nextConsumeToken:k,node:$}):(k.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,$t(k)),$.value=k.value||"",i($,g.currentOffset(),g.currentPosition()),{node:$})}function x(g,k){const A=g.context(),L=s(7,A.offset,A.startLoc);return L.value=k,i(L,g.currentOffset(),g.currentPosition()),L}function T(g){const k=g.context(),A=s(6,k.offset,k.startLoc);let L=g.nextToken();if(L.type===9){const O=v(g);A.modifier=O.node,L=O.nextConsumeToken||g.nextToken()}switch(L.type!==10&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),L=g.nextToken(),L.type===2&&(L=g.nextToken()),L.type){case 11:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=x(g,L.value||"");break;case 5:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=u(g,L.value||"");break;case 6:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=c(g,L.value||"");break;case 7:L.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(L)),A.key=f(g,L.value||"");break;default:{a(g,_e.UNEXPECTED_EMPTY_LINKED_KEY,k.lastStartLoc,0);const O=g.context(),$=s(7,O.offset,O.startLoc);return $.value="",i($,O.offset,O.startLoc),A.key=$,i(A,O.offset,O.startLoc),{nextConsumeToken:L,node:A}}}return i(A,g.currentOffset(),g.currentPosition()),{node:A}}function w(g){const k=g.context(),A=k.currentType===1?g.currentOffset():k.offset,L=k.currentType===1?k.endLoc:k.startLoc,O=s(2,A,L);O.items=[];let $=null,m=null;do{const I=$||g.nextToken();switch($=null,I.type){case 0:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(l(g,I.value||""));break;case 6:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(c(g,I.value||""));break;case 4:m=!0;break;case 5:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(u(g,I.value||"",!!m)),m&&(r(g,vr.USE_MODULO_SYNTAX,k.lastStartLoc,0,$t(I)),m=null);break;case 7:I.value==null&&a(g,_e.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,$t(I)),O.items.push(f(g,I.value||""));break;case 8:{const W=T(g);O.items.push(W.node),$=W.nextConsumeToken||null;break}}}while(k.currentType!==14&&k.currentType!==1);const U=k.currentType===1?k.lastOffset:g.currentOffset(),H=k.currentType===1?k.lastEndLoc:g.currentPosition();return i(O,U,H),O}function E(g,k,A,L){const O=g.context();let $=L.items.length===0;const m=s(1,k,A);m.cases=[],m.cases.push(L);do{const U=w(g);$||($=U.items.length===0),m.cases.push(U)}while(O.currentType!==14);return $&&a(g,_e.MUST_HAVE_MESSAGES_IN_PLURAL,A,0),i(m,g.currentOffset(),g.currentPosition()),m}function _(g){const k=g.context(),{offset:A,startLoc:L}=k,O=w(g);return k.currentType===14?O:E(g,A,L,O)}function S(g){const k=Hf(g,ol({},e)),A=k.context(),L=s(0,A.offset,A.startLoc);return t&&L.loc&&(L.loc.source=g),L.body=_(k),e.onCacheKey&&(L.cacheKey=e.onCacheKey(g)),A.currentType!==14&&a(k,_e.UNEXPECTED_LEXICAL_ANALYSIS,A.lastStartLoc,0,g[A.offset]||""),i(L,k.currentOffset(),k.currentPosition()),L}return{parse:S}}function $t(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 qf(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:r=>(o.helpers.add(r),r)}}function sl(e,t){for(let o=0;oil(o)),e}function il(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;os;function l(w,E){s.code+=w}function c(w,E=!0){const _=E?n:"";l(a?_+" ".repeat(w):_)}function u(w=!0){const E=++s.indentLevel;w&&c(E)}function f(w=!0){const E=--s.indentLevel;w&&c(E)}function v(){c(s.indentLevel)}return{context:i,push:l,indent:u,deindent:f,newline:v,helper:w=>`_${w}`,needIndent:()=>s.needIndent}}function th(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),zo(e,t.key),t.modifier?(e.push(", "),zo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function oh(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let r=0;r1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let r=0;r{const o=nl(t.mode)?t.mode:"normal",n=nl(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":` +`,r=t.needIndent?t.needIndent:o!=="arrow",s=e.helpers||[],i=eh(e,{filename:n,breakLineCode:a,needIndent:r});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(r),s.length>0&&(i.push(`const { ${al(s.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),zo(i,e),i.deindent(r),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function sh(e,t={}){const o=ol({},t),n=!!o.jit,a=!!o.minify,r=o.optimize==null?!0:o.optimize,i=Yf(o).parse(e);return n?(r&&Xf(i),a&&Ho(i),{ast:i,code:""}):(Jf(i,o),rh(i,o))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function ih(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Gt(e){return Pe(e)&&ks(e)===0&&(Ct(e,"b")||Ct(e,"body"))}const ll=["b","body"];function lh(e){return uo(e,ll)}const cl=["c","cases"];function ch(e){return uo(e,cl,[])}const ul=["s","static"];function uh(e){return uo(e,ul)}const dl=["i","items"];function dh(e){return uo(e,dl,[])}const pl=["t","type"];function ks(e){return uo(e,pl)}const gl=["v","value"];function ma(e,t){const o=uo(e,gl);if(o!=null)return o;throw Ln(t)}const fl=["m","modifier"];function ph(e){return uo(e,fl)}const hl=["k","key"];function gh(e){const t=uo(e,hl);if(t)return t;throw Ln(6)}function uo(e,t,o){for(let n=0;n{r===void 0?r=i:r+=i},v[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},v[2]=()=>{v[0](),a++},v[3]=()=>{if(a>0)a--,n=4,v[0]();else{if(a=0,r===void 0||(r=yh(r),r===!1))return!1;v[1]()}};function x(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,i="\\"+T,v[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&x())){if(l=bh(s),f=po[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=v[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const bl=new Map;function vh(e,t){return Pe(e)?e[t]:null}function wh(e,t){if(!Pe(e))return null;let o=bl.get(t);if(o||(o=_h(t),o&&bl.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;se,Sh=e=>"",Ah="text",xh=e=>e.length===0?"":$f(e),Lh=Cf;function yl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Th(e){const t=Xe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Xe(e.named.count)||Xe(e.named.n))?Xe(e.named.count)?e.named.count:Xe(e.named.n)?e.named.n:t:t}function Eh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Ch(e={}){const t=e.locale,o=Th(e),n=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?e.pluralRules[t]:yl,a=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?yl:void 0,s=_=>_[n(o,_.length,a)],r=e.list||[],i=_=>r[_],l=e.named||Re();Xe(e.pluralIndex)&&Eh(o,l);const c=_=>l[_];function u(_){const S=je(e.messages)?e.messages(_):Pe(e.messages)?e.messages[_]:!1;return S||(e.parent?e.parent.message(_):Sh)}const f=_=>e.modifiers?e.modifiers[_]:kh,v=Le(e.processor)&&je(e.processor.normalize)?e.processor.normalize:xh,x=Le(e.processor)&&je(e.processor.interpolate)?e.processor.interpolate:Lh,T=Le(e.processor)&&le(e.processor.type)?e.processor.type:Ah,E={list:i,named:c,plural:s,linked:(_,...S)=>{const[g,k]=S;let A="text",L="";S.length===1?Pe(g)?(L=g.modifier||L,A=g.type||A):le(g)&&(L=g||L):S.length===2&&(le(g)&&(L=g||L),le(k)&&(A=k||A));const O=u(_)(E),$=A==="vnode"&&He(O)&&L?O[0]:O;return L?f(L)($,A):$},message:u,type:T,interpolate:x,normalize:v,values:it(Re(),r,l)};return E}let Tn=null;function $h(e){Tn=e}function Ph(e,t,o){Tn&&Tn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Mh=Ih("function:translate");function Ih(e){return t=>Tn&&Tn.emit(e,t)}const Nh=vs.__EXTEND_POINT__,xo=pa(Nh),Fh={FALLBACK_TO_TRANSLATE:xo(),CANNOT_FORMAT_NUMBER:xo(),FALLBACK_TO_NUMBER_FORMAT:xo(),CANNOT_FORMAT_DATE:xo(),FALLBACK_TO_DATE_FORMAT:xo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:xo(),__EXTEND_POINT__:xo()},_l=_e.__EXTEND_POINT__,Lo=pa(_l),Pt={INVALID_ARGUMENT:_l,INVALID_DATE_ARGUMENT:Lo(),INVALID_ISO_DATE_ARGUMENT:Lo(),NOT_SUPPORT_NON_STRING_MESSAGE:Lo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Lo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Lo(),NOT_SUPPORT_LOCALE_TYPE:Lo(),__EXTEND_POINT__:Lo()};function Kt(e){return Ko(e,null,void 0)}function Ss(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let As;function vl(e){if(le(e))return e;if(je(e)){if(e.resolvedOnce&&As!=null)return As;if(e.constructor.name==="Function"){const t=e();if(Ef(t))throw Kt(Pt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return As=t}else throw Kt(Pt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Kt(Pt.NOT_SUPPORT_LOCALE_TYPE)}function Rh(e,t,o){return[...new Set([o,...He(t)?t:Pe(t)?Object.keys(t):le(t)?[t]:[o]])]}function wl(e,t,o){const n=le(o)?o:Vo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;He(r);)r=kl(s,r,t);const i=He(t)||!Le(t)?t:t.default?t.default:null;r=le(i)?[i]:i,He(r)&&kl(s,r,!1),a.__localeChainCache.set(n,s)}return s}function kl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Uh(){return{upper:(e,t)=>t==="text"&&le(e)?e.toUpperCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&le(e)?e.toLowerCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&le(e)?Al(e):t==="vnode"&&Pe(e)&&"__v_isVNode"in e?Al(e.children):e}}let xl;function Ll(e){xl=e}let Tl;function jh(e){Tl=e}let El;function Gh(e){El=e}let Cl=null;const Kh=e=>{Cl=e},Hh=()=>Cl;let $l=null;const Pl=e=>{$l=e},zh=()=>$l;let Ml=0;function Vh(e={}){const t=je(e.onWarn)?e.onWarn:wf,o=le(e.version)?e.version:Bh,n=le(e.locale)||je(e.locale)?e.locale:Vo,a=je(n)?Vo:n,s=He(e.fallbackLocale)||Le(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=Le(e.messages)?e.messages:xs(a),i=Le(e.datetimeFormats)?e.datetimeFormats:xs(a),l=Le(e.numberFormats)?e.numberFormats:xs(a),c=it(Re(),e.modifiers,Uh()),u=e.pluralRules||Re(),f=je(e.missing)?e.missing:null,v=Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,x=Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,T=!!e.fallbackFormat,w=!!e.unresolving,E=je(e.postTranslation)?e.postTranslation:null,_=Le(e.processor)?e.processor:null,S=Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,k=je(e.messageCompiler)?e.messageCompiler:xl,A=je(e.messageResolver)?e.messageResolver:Tl||vh,L=je(e.localeFallbacker)?e.localeFallbacker:El||Rh,O=Pe(e.fallbackContext)?e.fallbackContext:void 0,$=e,m=Pe($.__datetimeFormatters)?$.__datetimeFormatters:new Map,U=Pe($.__numberFormatters)?$.__numberFormatters:new Map,H=Pe($.__meta)?$.__meta:{};Ml++;const I={version:o,cid:Ml,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:f,missingWarn:v,fallbackWarn:x,fallbackFormat:T,unresolving:w,postTranslation:E,processor:_,warnHtmlMessage:S,escapeParameter:g,messageCompiler:k,messageResolver:A,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:H};return I.datetimeFormats=i,I.numberFormats=l,I.__datetimeFormatters=m,I.__numberFormatters=U,__INTLIFY_PROD_DEVTOOLS__&&Ph(I,o,H),I}const xs=e=>({[e]:Re()});function Ls(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return le(i)?i:t}else return t}function En(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Wh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Yh(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nqh(o,e)}function qh(e,t){const o=lh(t);if(o==null)throw Ln(0);if(ks(o)===1){const s=ch(o);return e.plural(s.reduce((r,i)=>[...r,Il(e,i)],[]))}else return Il(e,o)}function Il(e,t){const o=uh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=dh(t).reduce((a,s)=>[...a,Es(e,s)],[]);return e.normalize(n)}}function Es(e,t){const o=ks(t);switch(o){case 3:return ma(t,o);case 9:return ma(t,o);case 4:{const n=t;if(Ct(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ct(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ln(o)}case 5:{const n=t;if(Ct(n,"i")&&Xe(n.i))return e.interpolate(e.list(n.i));if(Ct(n,"index")&&Xe(n.index))return e.interpolate(e.list(n.index));throw Ln(o)}case 6:{const n=t,a=ph(n),s=gh(n);return e.linked(Es(e,s),a?Es(e,a):void 0,e.type)}case 7:return ma(t,o);case 8:return ma(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Nl=e=>e;let Wo=Re();function Fl(e,t={}){let o=!1;const n=t.onError||Df;return t.onError=a=>{o=!0,n(a)},{...rh(e,t),detectError:o}}const Jh=(e,t)=>{if(!le(e))throw Kt(Pt.NOT_SUPPORT_NON_STRING_MESSAGE);{Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{code:s,detectError:r}=Fl(e,t),i=new Function(`return ${s}`)();return r?i:Wo[n]=i}};function Xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&le(e)){Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{ast:s,detectError:r}=Fl(e,{...t,location:!1,jit:!0}),i=Ts(s);return r?i:Wo[n]=i}else{const o=e.cacheKey;if(o){const n=Wo[o];return n||(Wo[o]=Ts(e))}else return Ts(e)}}const Rl=()=>"",kt=e=>je(e);function Dl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=Cs(...t),u=Ee(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ee(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,v=Ee(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,T=le(c.default)||Ee(c.default)?Ee(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",w=o||T!=="",E=Ss(e,c);v&&Zh(c);let[_,S,g]=x?[l,E,i[E]||Re()]:Ol(e,l,E,r,f,u),k=_,A=l;if(!x&&!(le(k)||Gt(k)||kt(k))&&w&&(k=T,A=k),!x&&(!(le(k)||Gt(k)||kt(k))||!le(S)))return a?ba:l;let L=!1;const O=()=>{L=!0},$=kt(k)?k:Bl(e,l,S,k,A,O);if(L)return k;const m=tm(e,S,g,c),U=Ch(m),H=Qh(e,$,U);let I=n?n(H,l):H;if(v&&le(I)&&(I=Lf(I)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:le(l)?l:kt(k)?k.key:"",locale:S||(kt(k)?k.locale:""),format:le(k)?k:kt(k)?k.source:"",message:I};W.meta=it({},e.__meta,Hh()||{}),Mh(W)}return I}function Zh(e){He(e.list)?e.list=e.list.map(t=>le(t)?Xi(t):t):Pe(e.named)&&Object.keys(e.named).forEach(t=>{le(e.named[t])&&(e.named[t]=Xi(e.named[t]))})}function Ol(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Re(),v,x=null;const T="translate";for(let w=0;wn;return c.locale=o,c.key=t,c}const l=r(n,em(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function Qh(e,t,o){return t(o)}function Cs(...e){const[t,o,n]=e,a=Re();if(!le(t)&&!Xe(t)&&!kt(t)&&!Gt(t))throw Kt(Pt.INVALID_ARGUMENT);const s=Xe(t)?String(t):(kt(t),t);return Xe(o)?a.plural=o:le(o)?a.default=o:Le(o)&&!da(o)?a.named=o:He(o)&&(a.list=o),Xe(n)?a.plural=n:le(n)?a.default=n:Le(n)&&it(a,n),[s,a]}function em(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>kf(t,o,r)}}function tm(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,v={locale:t,modifiers:a,pluralRules:s,messages:x=>{let T=r(o,x);if(T==null&&u){const[,,w]=Ol(u,x,t,i,l,c);T=r(w,x)}if(le(T)||Gt(T)){let w=!1;const _=Bl(e,x,t,T,x,()=>{w=!0});return w?Rl:_}else return kt(T)?T:Rl}};return e.processor&&(v.processor=e.processor),n.list&&(v.list=n.list),n.named&&(v.named=n.named),Xe(n.plural)&&(v.pluralIndex=n.plural),v}function Ul(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=$s(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Ss(e,u),w=r(e,a,T);if(!le(l)||l==="")return new Intl.DateTimeFormat(T,f).format(c);let E={},_,S=null;const g="datetime format";for(let L=0;L{jl.includes(l)?r[l]=o[l]:s[l]=o[l]}),le(n)?s.locale=n:Le(n)&&(r=n),Le(a)&&(r=a),[s.key||"",i,s,r]}function Gl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function Kl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,f]=Ps(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Ss(e,u),w=r(e,a,T);if(!le(l)||l==="")return new Intl.NumberFormat(T,f).format(c);let E={},_,S=null;const g="number format";for(let L=0;L{Hl.includes(l)?r[l]=o[l]:s[l]=o[l]}),le(n)?s.locale=n:Le(n)&&(r=n),Le(a)&&(r=a),[s.key||"",i,s,r]}function zl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}ih();/*! + */function ih(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function Gt(e){return Pe(e)&&kr(e)===0&&(Ct(e,"b")||Ct(e,"body"))}const ll=["b","body"];function lh(e){return uo(e,ll)}const cl=["c","cases"];function ch(e){return uo(e,cl,[])}const ul=["s","static"];function uh(e){return uo(e,ul)}const dl=["i","items"];function dh(e){return uo(e,dl,[])}const pl=["t","type"];function kr(e){return uo(e,pl)}const gl=["v","value"];function ma(e,t){const o=uo(e,gl);if(o!=null)return o;throw Ln(t)}const fl=["m","modifier"];function ph(e){return uo(e,fl)}const hl=["k","key"];function gh(e){const t=uo(e,hl);if(t)return t;throw Ln(6)}function uo(e,t,o){for(let n=0;n{s===void 0?s=i:s+=i},v[1]=()=>{s!==void 0&&(t.push(s),s=void 0)},v[2]=()=>{v[0](),a++},v[3]=()=>{if(a>0)a--,n=4,v[0]();else{if(a=0,s===void 0||(s=yh(s),s===!1))return!1;v[1]()}};function x(){const T=e[o+1];if(n===5&&T==="'"||n===6&&T==='"')return o++,i="\\"+T,v[0](),!0}for(;n!==null;)if(o++,r=e[o],!(r==="\\"&&x())){if(l=bh(r),f=po[n],c=f[l]||f.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=v[c[1]],u&&(i=r,u()===!1))))return;if(n===7)return t}}const bl=new Map;function vh(e,t){return Pe(e)?e[t]:null}function wh(e,t){if(!Pe(e))return null;let o=bl.get(t);if(o||(o=_h(t),o&&bl.set(t,o)),!o)return null;const n=o.length;let a=e,r=0;for(;re,Sh=e=>"",Ah="text",xh=e=>e.length===0?"":$f(e),Lh=Cf;function yl(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function Th(e){const t=Xe(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Xe(e.named.count)||Xe(e.named.n))?Xe(e.named.count)?e.named.count:Xe(e.named.n)?e.named.n:t:t}function Eh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function Ch(e={}){const t=e.locale,o=Th(e),n=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?e.pluralRules[t]:yl,a=Pe(e.pluralRules)&&le(t)&&je(e.pluralRules[t])?yl:void 0,r=_=>_[n(o,_.length,a)],s=e.list||[],i=_=>s[_],l=e.named||Re();Xe(e.pluralIndex)&&Eh(o,l);const c=_=>l[_];function u(_){const S=je(e.messages)?e.messages(_):Pe(e.messages)?e.messages[_]:!1;return S||(e.parent?e.parent.message(_):Sh)}const f=_=>e.modifiers?e.modifiers[_]:kh,v=Le(e.processor)&&je(e.processor.normalize)?e.processor.normalize:xh,x=Le(e.processor)&&je(e.processor.interpolate)?e.processor.interpolate:Lh,T=Le(e.processor)&&le(e.processor.type)?e.processor.type:Ah,E={list:i,named:c,plural:r,linked:(_,...S)=>{const[g,k]=S;let A="text",L="";S.length===1?Pe(g)?(L=g.modifier||L,A=g.type||A):le(g)&&(L=g||L):S.length===2&&(le(g)&&(L=g||L),le(k)&&(A=k||A));const O=u(_)(E),$=A==="vnode"&&He(O)&&L?O[0]:O;return L?f(L)($,A):$},message:u,type:T,interpolate:x,normalize:v,values:it(Re(),s,l)};return E}let Tn=null;function $h(e){Tn=e}function Ph(e,t,o){Tn&&Tn.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const Mh=Ih("function:translate");function Ih(e){return t=>Tn&&Tn.emit(e,t)}const Nh=vr.__EXTEND_POINT__,xo=pa(Nh),Fh={FALLBACK_TO_TRANSLATE:xo(),CANNOT_FORMAT_NUMBER:xo(),FALLBACK_TO_NUMBER_FORMAT:xo(),CANNOT_FORMAT_DATE:xo(),FALLBACK_TO_DATE_FORMAT:xo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:xo(),__EXTEND_POINT__:xo()},_l=_e.__EXTEND_POINT__,Lo=pa(_l),Pt={INVALID_ARGUMENT:_l,INVALID_DATE_ARGUMENT:Lo(),INVALID_ISO_DATE_ARGUMENT:Lo(),NOT_SUPPORT_NON_STRING_MESSAGE:Lo(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:Lo(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:Lo(),NOT_SUPPORT_LOCALE_TYPE:Lo(),__EXTEND_POINT__:Lo()};function Kt(e){return Ko(e,null,void 0)}function Sr(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let Ar;function vl(e){if(le(e))return e;if(je(e)){if(e.resolvedOnce&&Ar!=null)return Ar;if(e.constructor.name==="Function"){const t=e();if(Ef(t))throw Kt(Pt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Ar=t}else throw Kt(Pt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Kt(Pt.NOT_SUPPORT_LOCALE_TYPE)}function Rh(e,t,o){return[...new Set([o,...He(t)?t:Pe(t)?Object.keys(t):le(t)?[t]:[o]])]}function wl(e,t,o){const n=le(o)?o:Vo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let r=a.__localeChainCache.get(n);if(!r){r=[];let s=[o];for(;He(s);)s=kl(r,s,t);const i=He(t)||!Le(t)?t:t.default?t.default:null;s=le(i)?[i]:i,He(s)&&kl(r,s,!1),a.__localeChainCache.set(n,r)}return r}function kl(e,t,o){let n=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Uh(){return{upper:(e,t)=>t==="text"&&le(e)?e.toUpperCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&le(e)?e.toLowerCase():t==="vnode"&&Pe(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&le(e)?Al(e):t==="vnode"&&Pe(e)&&"__v_isVNode"in e?Al(e.children):e}}let xl;function Ll(e){xl=e}let Tl;function jh(e){Tl=e}let El;function Gh(e){El=e}let Cl=null;const Kh=e=>{Cl=e},Hh=()=>Cl;let $l=null;const Pl=e=>{$l=e},zh=()=>$l;let Ml=0;function Vh(e={}){const t=je(e.onWarn)?e.onWarn:wf,o=le(e.version)?e.version:Bh,n=le(e.locale)||je(e.locale)?e.locale:Vo,a=je(n)?Vo:n,r=He(e.fallbackLocale)||Le(e.fallbackLocale)||le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,s=Le(e.messages)?e.messages:xr(a),i=Le(e.datetimeFormats)?e.datetimeFormats:xr(a),l=Le(e.numberFormats)?e.numberFormats:xr(a),c=it(Re(),e.modifiers,Uh()),u=e.pluralRules||Re(),f=je(e.missing)?e.missing:null,v=Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,x=Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,T=!!e.fallbackFormat,w=!!e.unresolving,E=je(e.postTranslation)?e.postTranslation:null,_=Le(e.processor)?e.processor:null,S=Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,g=!!e.escapeParameter,k=je(e.messageCompiler)?e.messageCompiler:xl,A=je(e.messageResolver)?e.messageResolver:Tl||vh,L=je(e.localeFallbacker)?e.localeFallbacker:El||Rh,O=Pe(e.fallbackContext)?e.fallbackContext:void 0,$=e,m=Pe($.__datetimeFormatters)?$.__datetimeFormatters:new Map,U=Pe($.__numberFormatters)?$.__numberFormatters:new Map,H=Pe($.__meta)?$.__meta:{};Ml++;const I={version:o,cid:Ml,locale:n,fallbackLocale:r,messages:s,modifiers:c,pluralRules:u,missing:f,missingWarn:v,fallbackWarn:x,fallbackFormat:T,unresolving:w,postTranslation:E,processor:_,warnHtmlMessage:S,escapeParameter:g,messageCompiler:k,messageResolver:A,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:H};return I.datetimeFormats=i,I.numberFormats=l,I.__datetimeFormatters=m,I.__numberFormatters=U,__INTLIFY_PROD_DEVTOOLS__&&Ph(I,o,H),I}const xr=e=>({[e]:Re()});function Lr(e,t,o,n,a){const{missing:r,onWarn:s}=e;if(r!==null){const i=r(e,o,t,a);return le(i)?i:t}else return t}function En(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function Wh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Yh(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;nqh(o,e)}function qh(e,t){const o=lh(t);if(o==null)throw Ln(0);if(kr(o)===1){const r=ch(o);return e.plural(r.reduce((s,i)=>[...s,Il(e,i)],[]))}else return Il(e,o)}function Il(e,t){const o=uh(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=dh(t).reduce((a,r)=>[...a,Er(e,r)],[]);return e.normalize(n)}}function Er(e,t){const o=kr(t);switch(o){case 3:return ma(t,o);case 9:return ma(t,o);case 4:{const n=t;if(Ct(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(Ct(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Ln(o)}case 5:{const n=t;if(Ct(n,"i")&&Xe(n.i))return e.interpolate(e.list(n.i));if(Ct(n,"index")&&Xe(n.index))return e.interpolate(e.list(n.index));throw Ln(o)}case 6:{const n=t,a=ph(n),r=gh(n);return e.linked(Er(e,r),a?Er(e,a):void 0,e.type)}case 7:return ma(t,o);case 8:return ma(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const Nl=e=>e;let Wo=Re();function Fl(e,t={}){let o=!1;const n=t.onError||Df;return t.onError=a=>{o=!0,n(a)},{...sh(e,t),detectError:o}}const Jh=(e,t)=>{if(!le(e))throw Kt(Pt.NOT_SUPPORT_NON_STRING_MESSAGE);{Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{code:r,detectError:s}=Fl(e,t),i=new Function(`return ${r}`)();return s?i:Wo[n]=i}};function Xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&le(e)){Ee(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||Nl)(e),a=Wo[n];if(a)return a;const{ast:r,detectError:s}=Fl(e,{...t,location:!1,jit:!0}),i=Tr(r);return s?i:Wo[n]=i}else{const o=e.cacheKey;if(o){const n=Wo[o];return n||(Wo[o]=Tr(e))}else return Tr(e)}}const Rl=()=>"",kt=e=>je(e);function Dl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:r,fallbackLocale:s,messages:i}=e,[l,c]=Cr(...t),u=Ee(c.missingWarn)?c.missingWarn:e.missingWarn,f=Ee(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,v=Ee(c.escapeParameter)?c.escapeParameter:e.escapeParameter,x=!!c.resolvedMessage,T=le(c.default)||Ee(c.default)?Ee(c.default)?r?l:()=>l:c.default:o?r?l:()=>l:"",w=o||T!=="",E=Sr(e,c);v&&Zh(c);let[_,S,g]=x?[l,E,i[E]||Re()]:Ol(e,l,E,s,f,u),k=_,A=l;if(!x&&!(le(k)||Gt(k)||kt(k))&&w&&(k=T,A=k),!x&&(!(le(k)||Gt(k)||kt(k))||!le(S)))return a?ba:l;let L=!1;const O=()=>{L=!0},$=kt(k)?k:Bl(e,l,S,k,A,O);if(L)return k;const m=tm(e,S,g,c),U=Ch(m),H=Qh(e,$,U);let I=n?n(H,l):H;if(v&&le(I)&&(I=Lf(I)),__INTLIFY_PROD_DEVTOOLS__){const W={timestamp:Date.now(),key:le(l)?l:kt(k)?k.key:"",locale:S||(kt(k)?k.locale:""),format:le(k)?k:kt(k)?k.source:"",message:I};W.meta=it({},e.__meta,Hh()||{}),Mh(W)}return I}function Zh(e){He(e.list)?e.list=e.list.map(t=>le(t)?Xi(t):t):Pe(e.named)&&Object.keys(e.named).forEach(t=>{le(e.named[t])&&(e.named[t]=Xi(e.named[t]))})}function Ol(e,t,o,n,a,r){const{messages:s,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let f=Re(),v,x=null;const T="translate";for(let w=0;wn;return c.locale=o,c.key=t,c}const l=s(n,em(e,o,a,n,i,r));return l.locale=o,l.key=t,l.source=n,l}function Qh(e,t,o){return t(o)}function Cr(...e){const[t,o,n]=e,a=Re();if(!le(t)&&!Xe(t)&&!kt(t)&&!Gt(t))throw Kt(Pt.INVALID_ARGUMENT);const r=Xe(t)?String(t):(kt(t),t);return Xe(o)?a.plural=o:le(o)?a.default=o:Le(o)&&!da(o)?a.named=o:He(o)&&(a.list=o),Xe(n)?a.plural=n:le(n)?a.default=n:Le(n)&&it(a,n),[r,a]}function em(e,t,o,n,a,r){return{locale:t,key:o,warnHtmlMessage:a,onError:s=>{throw r&&r(s),s},onCacheKey:s=>kf(t,o,s)}}function tm(e,t,o,n){const{modifiers:a,pluralRules:r,messageResolver:s,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,v={locale:t,modifiers:a,pluralRules:r,messages:x=>{let T=s(o,x);if(T==null&&u){const[,,w]=Ol(u,x,t,i,l,c);T=s(w,x)}if(le(T)||Gt(T)){let w=!1;const _=Bl(e,x,t,T,x,()=>{w=!0});return w?Rl:_}else return kt(T)?T:Rl}};return e.processor&&(v.processor=e.processor),n.list&&(v.list=n.list),n.named&&(v.named=n.named),Xe(n.plural)&&(v.pluralIndex=n.plural),v}function Ul(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__datetimeFormatters:i}=e,[l,c,u,f]=$r(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Sr(e,u),w=s(e,a,T);if(!le(l)||l==="")return new Intl.DateTimeFormat(T,f).format(c);let E={},_,S=null;const g="datetime format";for(let L=0;L{jl.includes(l)?s[l]=o[l]:r[l]=o[l]}),le(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function Gl(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__datetimeFormatters.has(r)&&n.__datetimeFormatters.delete(r)}}function Kl(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:r,localeFallbacker:s}=e,{__numberFormatters:i}=e,[l,c,u,f]=Pr(...t),v=Ee(u.missingWarn)?u.missingWarn:e.missingWarn;Ee(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const x=!!u.part,T=Sr(e,u),w=s(e,a,T);if(!le(l)||l==="")return new Intl.NumberFormat(T,f).format(c);let E={},_,S=null;const g="number format";for(let L=0;L{Hl.includes(l)?s[l]=o[l]:r[l]=o[l]}),le(n)?r.locale=n:Le(n)&&(s=n),Le(a)&&(s=a),[r.key||"",i,r,s]}function zl(e,t,o){const n=e;for(const a in o){const r=`${t}__${a}`;n.__numberFormatters.has(r)&&n.__numberFormatters.delete(r)}}ih();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const om="9.14.5";function nm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Qt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Qt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1)}const am=Fh.__EXTEND_POINT__,to=pa(am);to(),to(),to(),to(),to(),to(),to(),to(),to();const Vl=Pt.__EXTEND_POINT__,mt=pa(Vl),tt={UNEXPECTED_RETURN_TYPE:Vl,INVALID_ARGUMENT:mt(),MUST_BE_CALL_SETUP_TOP:mt(),NOT_INSTALLED:mt(),NOT_AVAILABLE_IN_LEGACY_MODE:mt(),REQUIRED_VALUE:mt(),INVALID_VALUE:mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:mt(),NOT_INSTALLED_WITH_PROVIDE:mt(),UNEXPECTED_ERROR:mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:mt(),BRIDGE_SUPPORT_VUE_2_ONLY:mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:mt(),__EXTEND_POINT__:mt()};function nt(e,...t){return Ko(e,null,void 0)}const Ms=io("__translateVNode"),Is=io("__datetimeParts"),Ns=io("__numberParts"),Wl=io("__setPluralRules"),Yl=io("__injectWithOption"),Fs=io("__dispose");function Cn(e){if(!Pe(e)||Gt(e))return e;for(const t in e)if(Ct(e,t))if(!t.includes("."))Pe(e[t])&&Cn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||Re(),fa(c,r[l])):fa(c,r)}else le(i)&&fa(JSON.parse(i),r)}),a==null&&s)for(const i in r)Ct(r,i)&&Cn(r[i]);return r}function ql(e){return e.type}function Jl(e,t,o){let n=Pe(t.messages)?t.messages:Re();"__i18nGlobal"in o&&(n=ya(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(Pe(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(Pe(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Xl(e){return Ve(bn,null,e,0)}const Zl="__INTLIFY_META__",Ql=()=>[],sm=()=>!1;let ec=0;function tc(e){return(t,o,n,a)=>e(o,n,so()||void 0,a)}const rm=()=>{const e=so();let t=null;return e&&(t=ql(e)[Zl])?{[Zl]:t}:null};function Rs(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=ua?me:Tr,i=!!e.translateExistCompatible;let l=Ee(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:le(e.locale)?e.locale:Vo),u=r(o&&l?o.fallbackLocale.value:le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=r(ya(c.value,e)),v=r(Le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=r(Le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=o?o.missingWarn:Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,w=o?o.fallbackWarn:Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,E=o?o.fallbackRoot:Ee(e.fallbackRoot)?e.fallbackRoot:!0,_=!!e.fallbackFormat,S=je(e.missing)?e.missing:null,g=je(e.missing)?tc(e.missing):null,k=je(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const O=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let $=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Pl(null);const R={version:om,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:O,pluralRules:$,missing:g===null?void 0:g,missingWarn:T,fallbackWarn:w,fallbackFormat:_,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};R.datetimeFormats=v.value,R.numberFormats=x.value,R.__datetimeFormatters=Le(m)?m.__datetimeFormatters:void 0,R.__numberFormatters=Le(m)?m.__numberFormatters:void 0;const V=Vh(R);return a&&Pl(V),V})(),En(m,c.value,u.value);function H(){return[c.value,u.value,f.value,v.value,x.value]}const I=Q({get:()=>c.value,set:R=>{c.value=R,m.locale=c.value}}),W=Q({get:()=>u.value,set:R=>{u.value=R,m.fallbackLocale=u.value,En(m,c.value,R)}}),ue=Q(()=>f.value),C=Q(()=>v.value),M=Q(()=>x.value);function G(){return je(k)?k:null}function re(R){k=R,m.postTranslation=R}function fe(){return S}function Z(R){R!==null&&(g=tc(R)),S=R,m.missing=g}const ce=(R,V,de,xe,De,at)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?zh():void 0),Qe=R(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(de!=="translate exists"&&Xe(Qe)&&Qe===ba||de==="translate exists"&&!Qe){const[X,te]=V();return o&&E?xe(o):De(X)}else{if(at(Qe))return Qe;throw nt(tt.UNEXPECTED_RETURN_TYPE)}};function oe(...R){return ce(V=>Reflect.apply(Dl,null,[V,...R]),()=>Cs(...R),"translate",V=>Reflect.apply(V.t,V,[...R]),V=>V,V=>le(V))}function ke(...R){const[V,de,xe]=R;if(xe&&!Pe(xe))throw nt(tt.INVALID_ARGUMENT);return oe(V,de,it({resolvedMessage:!0},xe||{}))}function ie(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$s(...R),"datetime format",V=>Reflect.apply(V.d,V,[...R]),()=>Sl,V=>le(V))}function Fe(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Ps(...R),"number format",V=>Reflect.apply(V.n,V,[...R]),()=>Sl,V=>le(V))}function ge(R){return R.map(V=>le(V)||Xe(V)||Ee(V)?Xl(String(V)):V)}const Ae={normalize:ge,interpolate:R=>R,type:"vnode"};function z(...R){return ce(V=>{let de;const xe=V;try{xe.processor=Ae,de=Reflect.apply(Dl,null,[xe,...R])}finally{xe.processor=null}return de},()=>Cs(...R),"translate",V=>V[Ms](...R),V=>[Xl(V)],V=>He(V))}function he(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Ps(...R),"number format",V=>V[Ns](...R),Ql,V=>le(V)||He(V))}function N(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$s(...R),"datetime format",V=>V[Is](...R),Ql,V=>le(V)||He(V))}function d(R){$=R,m.pluralRules=$}function y(R,V){return ce(()=>{if(!R)return!1;const de=le(V)?V:c.value,xe=D(de),De=m.messageResolver(xe,R);return i?De!=null:Gt(De)||kt(De)||le(De)},()=>[R],"translate exists",de=>Reflect.apply(de.te,de,[R,V]),sm,de=>Ee(de))}function b(R){let V=null;const de=wl(m,u.value,c.value);for(let xe=0;xe{l&&(c.value=R,m.locale=R,En(m,c.value,u.value))}),Ye(o.fallbackLocale,R=>{l&&(u.value=R,m.fallbackLocale=R,En(m,c.value,u.value))}));const ee={id:ec,locale:I,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(R){l=R,R&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,En(m,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ue,get modifiers(){return O},get pluralRules(){return $||{}},get isGlobal(){return a},get missingWarn(){return T},set missingWarn(R){T=R,m.missingWarn=T},get fallbackWarn(){return w},set fallbackWarn(R){w=R,m.fallbackWarn=w},get fallbackRoot(){return E},set fallbackRoot(R){E=R},get fallbackFormat(){return _},set fallbackFormat(R){_=R,m.fallbackFormat=_},get warnHtmlMessage(){return A},set warnHtmlMessage(R){A=R,m.warnHtmlMessage=R},get escapeParameter(){return L},set escapeParameter(R){L=R,m.escapeParameter=R},t:oe,getLocaleMessage:D,setLocaleMessage:B,mergeLocaleMessage:Y,getPostTranslationHandler:G,setPostTranslationHandler:re,getMissingHandler:fe,setMissingHandler:Z,[Wl]:d};return ee.datetimeFormats=C,ee.numberFormats=M,ee.rt=ke,ee.te=y,ee.tm=P,ee.d=ie,ee.n=Fe,ee.getDateTimeFormat=q,ee.setDateTimeFormat=p,ee.mergeDateTimeFormat=h,ee.getNumberFormat=F,ee.setNumberFormat=K,ee.mergeNumberFormat=se,ee[Yl]=n,ee[Ms]=z,ee[Is]=N,ee[Ns]=he,ee}function im(e){const t=le(e.locale)?e.locale:Vo,o=le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=je(e.missing)?e.missing:void 0,a=Ee(e.silentTranslationWarn)||lo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=Ee(e.silentFallbackWarn)||lo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=Ee(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=je(e.postTranslation)?e.postTranslation:void 0,f=le(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,v=!!e.escapeParameterHtml,x=Ee(e.sync)?e.sync:!0;let T=e.messages;if(Le(e.sharedMessages)){const L=e.sharedMessages;T=Object.keys(L).reduce(($,m)=>{const U=$[m]||($[m]={});return it(U,L[m]),$},T||{})}const{__i18n:w,__root:E,__injectWithOption:_}=e,S=e.datetimeFormats,g=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:T,flatJson:k,datetimeFormats:S,numberFormats:g,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:v,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:A,__i18n:w,__root:E,__injectWithOption:_}}function Ds(e={},t){{const o=Rs(im(e)),{__extender:n}=e,a={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 Ee(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=Ee(s)?!s:s},get silentFallbackWarn(){return Ee(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=Ee(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[r,i,l]=s,c={};let u=null,f=null;if(!le(r))throw nt(tt.INVALID_ARGUMENT);const v=r;return le(i)?c.locale=i:He(i)?u=i:Le(i)&&(f=i),He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,f=null;if(!le(r))throw nt(tt.INVALID_ARGUMENT);const v=r;return le(i)?c.locale=i:Xe(i)?c.plural=i:He(i)?u=i:Le(i)&&(f=i),le(l)?c.locale=l:He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const Os={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function lm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ie?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Re())}function oc(e){return Ie}const nc=gn({name:"i18n-t",props:it({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Xe(e)||!isNaN(e)}},Os),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||gt({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(f=>f!=="_"),r=Re();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=le(e.plural)?+e.plural:e.plural);const i=lm(t,s),l=a[Ms](e.keypath,i,r),c=it(Re(),n),u=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(u,c,l)}}});function cm(e){return He(e)&&!le(e[0])}function ac(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=Re();e.locale&&(r.locale=e.locale),le(e.format)?r.key=e.format:Pe(e.format)&&(le(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((v,x)=>o.includes(x)?it(Re(),v,{[x]:e.format[x]}):v,Re()));const l=n(e.value,r,i);let c=[r.key];He(l)?c=l.map((v,x)=>{const T=a[v.type],w=T?T({[v.type]:v.value,index:x,parts:l}):[v.value];return cm(w)&&(w[0].key=`${v.type}-${x}`),w}):le(l)&&(c=[l]);const u=it(Re(),s),f=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(f,u,c)}}const sc=gn({name:"i18n-n",props:it({value:{type:Number,required:!0},format:{type:[String,Object]}},Os),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,Hl,(...n)=>o[Ns](...n))}}),rc=gn({name:"i18n-d",props:it({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Os),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,jl,(...n)=>o[Is](...n))}});function um(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 dm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw nt(tt.UNEXPECTED_ERROR);const u=um(e,i.$),f=ic(c);return[Reflect.apply(u.t,u,[...lc(f)]),u]};return{created:(r,i)=>{const[l,c]=t(i);ua&&e.global===c&&(r.__i18nWatcher=Ye(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{ua&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=ic(i);r.textContent=Reflect.apply(l.t,l,[...lc(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function ic(e){if(le(e))return{path:e};if(Le(e)){if(!("path"in e))throw nt(tt.REQUIRED_VALUE,"path");return e}else throw nt(tt.INVALID_VALUE)}function lc(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return le(o)&&(r.locale=o),Xe(a)&&(r.plural=a),Xe(s)&&(r.plural=s),[t,i,r]}function pm(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ee(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":nc.name,"I18nT"].forEach(r=>e.component(r,nc)),[sc.name,"I18nN"].forEach(r=>e.component(r,sc)),[rc.name,"I18nD"].forEach(r=>e.component(r,rc))),e.directive("t",dm(t))}function gm(e,t,o){return{beforeCreate(){const n=so();if(!n)throw nt(tt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=cc(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=Ds(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=cc(e,a);else{this.$i18n=Ds({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Jl(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),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=so();if(!n)throw nt(tt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function cc(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[Wl](t.pluralizationRules||e.pluralizationRules);const o=ya(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 fm=io("global-vue-i18n");function hm(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ee(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ee(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=mm(e,o),l=io("");function c(v){return s.get(v)||null}function u(v,x){s.set(v,x)}function f(v){s.delete(v)}{const v={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...T){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,v),Le(T[0])){const _=T[0];v.__composerExtend=_.__composerExtend,v.__vueI18nExtend=_.__vueI18nExtend}let w=null;!o&&n&&(w=xm(x,v.global)),__VUE_I18N_FULL_INSTALL__&&pm(x,v,...T),__VUE_I18N_LEGACY_API__&&o&&x.mixin(gm(i,i.__composer,v));const E=x.unmount;x.unmount=()=>{w&&w(),v.dispose(),E()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return v}}function gt(e={}){const t=so();if(t==null)throw nt(tt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw nt(tt.NOT_INSTALLED);const o=bm(t),n=_m(o),a=ql(t),s=ym(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw nt(tt.NOT_AVAILABLE_IN_LEGACY_MODE);return Sm(t,s,n,e)}if(s==="global")return Jl(n,e,a),n;if(s==="parent"){let l=vm(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=it({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Rs(l),r.__composerExtend&&(i[Fs]=r.__composerExtend(i)),km(r,t,i),r.__setInstance(t,i)}return i}function mm(e,t,o){const n=Ia();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Ds(e)):n.run(()=>Rs(e));if(a==null)throw nt(tt.UNEXPECTED_ERROR);return[n,a]}}function bm(e){{const t=$e(e.isCE?fm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw nt(e.isCE?tt.NOT_INSTALLED_WITH_PROVIDE:tt.UNEXPECTED_ERROR);return t}}function ym(e,t){return da(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function _m(e){return e.mode==="composition"?e.global:e.global.__composer}function vm(e,t,o=!1){let n=null;const a=t.root;let s=wm(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Yl]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function wm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function km(e,t,o){ao(()=>{},t),es(()=>{const n=o;e.__deleteInstance(t);const a=n[Fs];a&&(a(),delete n[Fs])},t)}function Sm(e,t,o,n={}){const a=t==="local",s=Tr(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw nt(tt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=Ee(n.inheritLocale)?n.inheritLocale:!le(n.locale),i=me(!a||r?o.locale.value:le(n.locale)?n.locale:Vo),l=me(!a||r?o.fallbackLocale.value:le(n.fallbackLocale)||He(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=me(ya(i.value,n)),u=me(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=me(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),v=a?o.missingWarn:Ee(n.missingWarn)||lo(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Ee(n.fallbackWarn)||lo(n.fallbackWarn)?n.fallbackWarn:!0,T=a?o.fallbackRoot:Ee(n.fallbackRoot)?n.fallbackRoot:!0,w=!!n.fallbackFormat,E=je(n.missing)?n.missing:null,_=je(n.postTranslation)?n.postTranslation:null,S=a?o.warnHtmlMessage:Ee(n.warnHtmlMessage)?n.warnHtmlMessage:!0,g=!!n.escapeParameter,k=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,f.value]}const O=Q({get:()=>s.value?s.value.locale.value:i.value,set:b=>{s.value&&(s.value.locale.value=b),i.value=b}}),$=Q({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:b=>{s.value&&(s.value.fallbackLocale.value=b),l.value=b}}),m=Q(()=>s.value?s.value.messages.value:c.value),U=Q(()=>u.value),H=Q(()=>f.value);function I(){return s.value?s.value.getPostTranslationHandler():_}function W(b){s.value&&s.value.setPostTranslationHandler(b)}function ue(){return s.value?s.value.getMissingHandler():E}function C(b){s.value&&s.value.setMissingHandler(b)}function M(b){return L(),b()}function G(...b){return s.value?M(()=>Reflect.apply(s.value.t,null,[...b])):M(()=>"")}function re(...b){return s.value?Reflect.apply(s.value.rt,null,[...b]):""}function fe(...b){return s.value?M(()=>Reflect.apply(s.value.d,null,[...b])):M(()=>"")}function Z(...b){return s.value?M(()=>Reflect.apply(s.value.n,null,[...b])):M(()=>"")}function ce(b){return s.value?s.value.tm(b):{}}function oe(b,P){return s.value?s.value.te(b,P):!1}function ke(b){return s.value?s.value.getLocaleMessage(b):{}}function ie(b,P){s.value&&(s.value.setLocaleMessage(b,P),c.value[b]=P)}function Fe(b,P){s.value&&s.value.mergeLocaleMessage(b,P)}function ge(b){return s.value?s.value.getDateTimeFormat(b):{}}function Te(b,P){s.value&&(s.value.setDateTimeFormat(b,P),u.value[b]=P)}function Ae(b,P){s.value&&s.value.mergeDateTimeFormat(b,P)}function z(b){return s.value?s.value.getNumberFormat(b):{}}function he(b,P){s.value&&(s.value.setNumberFormat(b,P),f.value[b]=P)}function N(b,P){s.value&&s.value.mergeNumberFormat(b,P)}const d={get id(){return s.value?s.value.id:-1},locale:O,fallbackLocale:$,messages:m,datetimeFormats:U,numberFormats:H,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(b){s.value&&(s.value.inheritLocale=b)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:k},get pluralRules(){return s.value?s.value.pluralRules:A},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:v},set missingWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackWarn(){return s.value?s.value.fallbackWarn:x},set fallbackWarn(b){s.value&&(s.value.missingWarn=b)},get fallbackRoot(){return s.value?s.value.fallbackRoot:T},set fallbackRoot(b){s.value&&(s.value.fallbackRoot=b)},get fallbackFormat(){return s.value?s.value.fallbackFormat:w},set fallbackFormat(b){s.value&&(s.value.fallbackFormat=b)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:S},set warnHtmlMessage(b){s.value&&(s.value.warnHtmlMessage=b)},get escapeParameter(){return s.value?s.value.escapeParameter:g},set escapeParameter(b){s.value&&(s.value.escapeParameter=b)},t:G,getPostTranslationHandler:I,setPostTranslationHandler:W,getMissingHandler:ue,setMissingHandler:C,rt:re,d:fe,n:Z,tm:ce,te:oe,getLocaleMessage:ke,setLocaleMessage:ie,mergeLocaleMessage:Fe,getDateTimeFormat:ge,setDateTimeFormat:Te,mergeDateTimeFormat:Ae,getNumberFormat:z,setNumberFormat:he,mergeNumberFormat:N};function y(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{b.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{b.mergeDateTimeFormat(P,u.value[P])}),Object.keys(f.value).forEach(P=>{b.mergeNumberFormat(P,f.value[P])}),b.escapeParameter=g,b.fallbackFormat=w,b.fallbackRoot=T,b.fallbackWarn=x,b.missingWarn=v,b.warnHtmlMessage=S}return Hr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw nt(tt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):a&&y(b)}),d}const Am=["locale","fallbackLocale","availableLocales"],uc=["t","rt","d","n","tm","te"];function xm(e,t){const o=Object.create(null);return Am.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw nt(tt.UNEXPECTED_ERROR);const r=Ke(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,uc.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw nt(tt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,uc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(nm(),__INTLIFY_JIT_COMPILATION__?Ll(Xh):Ll(Jh),jh(wh),Gh(wl),__INTLIFY_PROD_DEVTOOLS__){const e=Qt();e.__INTLIFY__=!0,$h(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Lm=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":jp,"./locales/ar/detail.json":Gp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":zp,"./locales/ar/prayerLaps.json":Vp,"./locales/ar/search.json":Wp,"./locales/de/aria.json":Yp,"./locales/de/buttons.json":qp,"./locales/de/detail.json":Jp,"./locales/de/legend.json":Xp,"./locales/de/messages.json":Zp,"./locales/de/options.json":Qp,"./locales/de/prayerLaps.json":eg,"./locales/de/search.json":tg,"./locales/en/aria.json":og,"./locales/en/buttons.json":ng,"./locales/en/detail.json":ag,"./locales/en/legend.json":sg,"./locales/en/messages.json":rg,"./locales/en/options.json":ig,"./locales/en/prayerLaps.json":lg,"./locales/en/search.json":cg,"./locales/es/aria.json":ug,"./locales/es/buttons.json":dg,"./locales/es/detail.json":pg,"./locales/es/legend.json":gg,"./locales/es/messages.json":fg,"./locales/es/options.json":hg,"./locales/es/prayerLaps.json":mg,"./locales/es/search.json":bg,"./locales/fr/aria.json":yg,"./locales/fr/buttons.json":_g,"./locales/fr/detail.json":vg,"./locales/fr/legend.json":wg,"./locales/fr/messages.json":kg,"./locales/fr/options.json":Sg,"./locales/fr/prayerLaps.json":Ag,"./locales/fr/search.json":xg,"./locales/hi/aria.json":Lg,"./locales/hi/buttons.json":Tg,"./locales/hi/detail.json":Eg,"./locales/hi/legend.json":Cg,"./locales/hi/messages.json":$g,"./locales/hi/options.json":Pg,"./locales/hi/prayerLaps.json":Mg,"./locales/hi/search.json":Ig,"./locales/it/aria.json":Ng,"./locales/it/buttons.json":Fg,"./locales/it/detail.json":Rg,"./locales/it/legend.json":Dg,"./locales/it/messages.json":Og,"./locales/it/options.json":Bg,"./locales/it/prayerLaps.json":Ug,"./locales/it/search.json":jg,"./locales/pt/aria.json":Gg,"./locales/pt/buttons.json":Kg,"./locales/pt/detail.json":Hg,"./locales/pt/legend.json":zg,"./locales/pt/messages.json":Vg,"./locales/pt/options.json":Wg,"./locales/pt/prayerLaps.json":Yg,"./locales/pt/search.json":qg,"./locales/ro/aria.json":Jg,"./locales/ro/buttons.json":Xg,"./locales/ro/detail.json":Zg,"./locales/ro/legend.json":Qg,"./locales/ro/messages.json":ef,"./locales/ro/options.json":tf,"./locales/ro/prayerLaps.json":of,"./locales/ro/search.json":nf,"./locales/ru/aria.json":af,"./locales/ru/buttons.json":sf,"./locales/ru/detail.json":rf,"./locales/ru/legend.json":lf,"./locales/ru/messages.json":cf,"./locales/ru/options.json":uf,"./locales/ru/prayerLaps.json":df,"./locales/ru/search.json":pf,"./locales/zh/aria.json":gf,"./locales/zh/buttons.json":ff,"./locales/zh/detail.json":hf,"./locales/zh/legend.json":mf,"./locales/zh/messages.json":bf,"./locales/zh/options.json":yf,"./locales/zh/prayerLaps.json":_f,"./locales/zh/search.json":vf}),$n={};for(const[e,t]of Object.entries(Lm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;$n[n]??($n[n]={}),$n[n][a]=t}const Tm=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Em=new Set(["ar"]);function Cm(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Tm.includes(t)?t:"en"}function $m(){return hm({legacy:!1,globalInjection:!0,locale:Cm(),fallbackLocale:"en",messages:$n,missingWarn:!1,fallbackWarn:!1})}const Pm=Object.assign({"./profiles/doxa-simple-map.vue":()=>La(()=>Promise.resolve().then(()=>Q_),void 0)});if(typeof window<"u"&&((Jc=window.mapboxgl)!=null&&Jc.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function dc(){return yp(Bp,{configureApp(e){e.use(Lp()),e.use($m()),e.provide("profileModules",Pm)}})}const Mm=dc(),Im=dc();typeof customElements<"u"&&(customElements.get("doxa-map")||customElements.define("doxa-map",Mm),customElements.get("doxa-simple-map")||customElements.define("doxa-simple-map",Im));const pc="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function Nm(e){const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const o=s=>new Promise(r=>setTimeout(r,s)),n=t.querySelector(`link[href="${pc}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(s=>{n.addEventListener("load",s,{once:!0}),n.addEventListener("error",s,{once:!0})}),o(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=pc,await Promise.race([new Promise(s=>{a.addEventListener("load",s,{once:!0}),a.addEventListener("error",s,{once:!0}),t.prepend(a)}),o(2e3)])}function Fm({containerRef:e,accessToken:t,style:o,center:n=[20,10],zoom:a=2,minZoom:s=.5,maxZoom:r=18,pitch:i=0,bearing:l=0}){const c=me(null),u=me(!1);async function f(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}await Nm(e.value),await new Promise(_=>requestAnimationFrame(_));const x=e.value,T=x.clientWidth,w=x.clientHeight;if(T===0||w===0){console.error(`[useMapInstance] Container has ZERO dimensions (${T}×${w}). Map will be invisible. Check that parent elements have CSS sizing.`);let _=x.parentElement,S=0;for(;_&&S<5;)_=_.parentElement,S++}const E=t;mapboxgl.accessToken=E,c.value=new mapboxgl.Map({accessToken:E,container:e.value,style:o,center:n,zoom:a,minZoom:s,maxZoom:r,pitch:i,bearing:l,attributionControl:!1}),c.value.on("style.load",()=>{requestAnimationFrame(()=>{var _;(_=c.value)==null||_.resize(),u.value=!0})})}function v(){c.value&&(c.value.remove(),c.value=null,u.value=!1)}return{map:c,isMapReady:u,initializeMap:f,destroy:v}}const We={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Rm="peoplePraying",To=100,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Bs=Eo,Dm={noPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayer:"100+ People Praying"};function Yo(e){var n;const t=e.peoplePraying??((n=e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=To?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function gc(e){return Eo[Yo(e)]}function Om(e){var o;const t=e.peoplePraying??((o=e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Bm(e){return Yo(e)==="fullPrayer"}function Um(e){return gc(e)}function fc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,To],Eo.fullPrayer,[">",t,0],Eo.hasPrayer,Eo.noPrayer]}const jm={name:"Prayer Progress",propertyKey:Rm,palette:Eo,colors:Eo,labels:Dm,threshold:To,getColor:Um,applyColor:fc,buildColorExpression:fc,getPrayerLevel:Yo,getPrayerColor:gc,checkHasPrayer:Om,checkHasFullPrayer:Bm},Gm="engagementStatus",go={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},hc=go,Km={notEngaged:"Unengaged",hasEngagement:"Engaged"};function Hm(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)?go.hasEngagement:go.notEngaged}function mc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const zm={name:"Engagement Progress",propertyKey:Gm,palette:go,colors:go,labels:Km,getColor:Hm,applyColor:mc,buildColorExpression:mc},Vm="adoptionStatus",fo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},bc=fo,Wm={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function Ym(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 yc({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 qm={name:"Adoption Progress",propertyKey:Vm,palette:fo,colors:fo,labels:Wm,getColor:Ym,applyColor:yc,buildColorExpression:yc},_c="affinityBlock",qo="#95a5a6",Jo={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"},Pn={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"},Xo=Pn;Object.entries(Jo).reduce((e,[t,o])=>(e[o]=t,e),{});const Jm=Object.entries(Jo).reduce((e,[t,o])=>(e[o]=Xo[t],e),{}),Xm=Jo;function vc(e){return Jo[e]||"Unknown"}function wc(e){return Xo[e]||qo}function Zm(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Xo[e]||qo:Jm[e]||qo:qo}function Qm(){return Object.entries(Jo).map(([e,t])=>({code:e,name:t,color:Xo[e]}))}function eb(e){return{code:e,name:Jo[e]||"Unknown",color:Xo[e]||qo}}function tb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return wc(t)}function ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vc(t)}function kc(){const e=["match",["get",_c]];return Object.entries(Xo).forEach(([t,o])=>{e.push(t,o)}),e.push(qo),e}const nb={name:"Affinity Block",propertyKey:_c,palette:Pn,colors:Pn,names:Xm,getColor:tb,applyColor:kc,buildColorExpression:kc,getName:ob,getAffinityBlockName:vc,getAffinityBlockColor:Zm,getAffinityBlockColorByCode:wc,getAffinityBlocksArray:Qm,getAffinityBlockData:eb},Sc="languageFamily",ab="#000000",Zo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function Mt(e){return Zo[e]||ab}const sb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Zo))t[e(o)]=o;return t})();function Us(e){if(!e)return"Unknown";const t=String(e).trim();return sb[t.toLowerCase()]||t}function rb(e){var t;return Mt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ac(){const e=["match",["get",Sc]];return Object.entries(Zo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const ib={name:"Language Family",propertyKey:Sc,palette:Zo,colors:Zo,getColor:rb,applyColor:Ac,buildColorExpression:Ac,getLanguageFamilyColor:Mt,canonicalFamilyName:Us};function lb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Lc),e}const pb={name:"DOXA Region",propertyKey:xc,palette:Mn,colors:Mn,aliases:Tc,getColor:db,applyColor:Ec,buildColorExpression:Ec,getRegionColor:ub},gb="resourceType",oo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},_a=["bible","jesusFilm","radio","gospel","audio","stories"],Cc={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},fb=Cc;function va(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function hb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return oo.hasResources;return oo.noResources}function mb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return!0;return!1}function bb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return o;return"noResources"}function $c(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],oo.hasResources,oo.noResources]}const yb={name:"Gospel Resources",propertyKey:gb,palette:oo,colors:oo,names:Cc,priority:_a,getColor:hb,applyColor:$c,buildColorExpression:$c,hasAnyResource:mb,getResourceType:bb,getCSVColumn:va},_b="religion",js="#94a3b8",Gs={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Pc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Gs[t]?t:"U"}function vb(e){var o,n,a;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)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return St[Pc(t)]||js}function Mc(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,js]}const wb={propertyKey:_b,palette:St,families:Gs,getColor:vb,applyColor:Mc,buildColorExpression:Mc,fallback:js},ze={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},Ic={[ze.LANGUAGE_FAMILY]:ib,[ze.AFFINITY_BLOCK]:nb,[ze.DOXA_REGION]:pb,[ze.RESOURCE]:yb,[ze.PRAYER_PROGRESS]:jm,[ze.ENGAGEMENT]:zm,[ze.ADOPTION]:qm,[ze.RELIGION]:wb};function Nc(e){return Ic[e]||Ic[ze.LANGUAGE_FAMILY]}function Ks(e,t={}){return Nc(e).applyColor(t)}(()=>{const e=o=>String(o||"").toLowerCase().replace(/[^a-z0-9]+/g,""),t={};for(const o of Object.keys(Mn))t[e(o)]=o;return t.na="No WAGF Region/Bloc",t})();function Hs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const kb=[[/ sign language$/i,"Sign Language"]];function Sb(e){const t=Hs(e.languageFamily);if(t)return t;const o=Hs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const n=o.trim(),a=n.split(",").map(r=>r.trim()).filter(Boolean);if(a.length>=2){const r=[...a].reverse().join(" ");if(We[r])return We[r];if(a.length>=3){const i=[a[1],a[0]].join(" ");if(We[i])return We[i]}}if(We[n])return We[n];const s=n.replace(/\s*\(.*?\)\s*$/,"").trim();if(s!==n&&We[s])return We[s];for(const[r,i]of kb)if(r.test(n))return i;return""}function Ab(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:s=O=>O}=e;n||console.error("useMapData: dataSourceManager is required!");const r=me(!1),i=me(null),l=me(!1),c=me([]),u=me([]),f=me(null),v=me([]),x=me([]),T=me([]),w=me(null);async function E(){if(!n)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const C=a.getSourceData(o);u.value=s(C.normalizedData||[])}else{const C=await n.setActiveSource(o);for(const M of C){const G=Hs(M.language||M.primary_language);G&&(M.language=G);const re=Sb(M);M.languageFamily=Us(re)}u.value=s(C),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:C,timestamp:Date.now()})}c.value=s(u.value.map(C=>({id:C.uniqueId,slug:C.slug||"",rop3:C.peopleGroupId,peopleId3:C.peopleId3,name:C.name,language:C.language,languageFamily:C.languageFamily,country:C.country,population:C.population,status:C.engagementStatus||C.status,latitude:C.latitude,longitude:C.longitude,lng:C.longitude,lat:C.latitude,description:C.description,imageUrl:C.imageUrl,doxaRegion:C.doxaRegion||C.wagfRegion||"",peoplePraying:C.peoplePraying??null,_normalized:C})));const O=n.getDataByLanguageFamily();v.value=Object.entries(O).map(([C,M])=>{const G=M.reduce((re,fe)=>{const Z=parseInt(fe.population)||0;return re+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>M.count-C.count);const $=n.getDataByRegion();x.value=Object.entries($).map(([C,M])=>{const G=M.reduce((re,fe)=>{const Z=parseInt(fe.population)||0;return re+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>C.name.localeCompare(M.name));const m={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(C=>{const M=parseInt(C.population)||0;let G=!1;C.bible==="Available"&&(m.bible.count++,m.bible.population+=M,m.bible.groups.push(C),G=!0),C.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=M,m.jesusFilm.groups.push(C),G=!0),C.radio==="Available"&&(m.radio.count++,m.radio.population+=M,m.radio.groups.push(C),G=!0),C.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=M,m.gospel.groups.push(C),G=!0),C.audio==="Available"&&(m.audio.count++,m.audio.population+=M,m.audio.groups.push(C),G=!0),C.stories==="Available"&&(m.stories.count++,m.stories.population+=M,m.stories.groups.push(C),G=!0),G?(m.hasResources.count++,m.hasResources.population+=M,m.hasResources.groups.push(C)):(m.noResources.count++,m.noResources.population+=M,m.noResources.groups.push(C))});const U=u.value.length,H=u.value.reduce((C,M)=>C+(parseInt(M.population)||0),0),I={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:U-m.bible.count,population:H-m.bible.population},jesusFilm:{count:U-m.jesusFilm.count,population:H-m.jesusFilm.population},radio:{count:U-m.radio.count,population:H-m.radio.population},gospel:{count:U-m.gospel.count,population:H-m.gospel.population},audio:{count:U-m.audio.count,population:H-m.audio.population},stories:{count:U-m.stories.count,population:H-m.stories.population}},ue="#2c3e50";return T.value=[{name:I.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ue}]},{name:I.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ue}]},{name:I.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ue}]},{name:I.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ue}]},{name:I.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ue}]},{name:I.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ue}]},{name:I.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:I.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:ue}]}],w.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:v.value,doxaRegionsData:x.value,resourcesData:T.value,stats:w.value}}catch(O){throw console.error(`Failed to load data for map "${t}":`,O),i.value=O.message||"Failed to load data",O}finally{r.value=!1}}async function _(){var O,$,m;try{const U={},H=u.value||[];for(const I of H){const W=I.countryIso||(($=(O=I._raw)==null?void 0:O.country_code)==null?void 0:$.value)||"",ue=(m=I._raw)==null?void 0:m.wagf_region,C=I.wagfRegionLabel||I.doxaRegionLabel||(ue&&typeof ue=="object"?ue.label:"")||I.doxaRegion||I.wagfRegion||"";W&&C&&!U[W]&&(U[W]=C)}return f.value={isoToRegion:U},f.value}catch(U){throw console.error(`Error building regions data for map "${t}":`,U),i.value=U.message||"Failed to build regions",U}}function S(){return n?n.getDataByLanguageFamily():{}}function g(){return n?n.getDataByRegion():{}}function k(O){return S()[O]||[]}function A(O){return g()[O]||[]}function L(){c.value=[],u.value=[],f.value=null,v.value=[],x.value=[],T.value=[],w.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:v,doxaRegionsData:x,resourcesData:T,stats:w,loadData:E,loadRegionsData:_,getDataByLanguageFamily:S,getDataByRegion:g,getPeopleGroupsByFamily:k,getPeopleGroupsByRegion:A,clearData:L}}const xb={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]}},wa={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function Lb(e){return xb[e]||null}function zs(e="standard"){return wa.circleRadius[e]||wa.circleRadius.standard}function Tb(e="standard"){return wa.circleStrokeWidth[e]||wa.circleStrokeWidth.standard}function Eb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=$e("uiStore"),r=me([]);function i(_){const S=n(_.languageFamily),g="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let k=_.imageUrl;(!k||k.includes("NoImageAvailable"))&&(k=g);const A=(_.name||"U")[0].toUpperCase(),L=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],O=A.charCodeAt(0)%L.length;return` + */const om="9.14.5";function nm(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Qt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Qt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Qt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Qt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Qt().__INTLIFY_PROD_DEVTOOLS__=!1)}const am=Fh.__EXTEND_POINT__,to=pa(am);to(),to(),to(),to(),to(),to(),to(),to(),to();const Vl=Pt.__EXTEND_POINT__,mt=pa(Vl),tt={UNEXPECTED_RETURN_TYPE:Vl,INVALID_ARGUMENT:mt(),MUST_BE_CALL_SETUP_TOP:mt(),NOT_INSTALLED:mt(),NOT_AVAILABLE_IN_LEGACY_MODE:mt(),REQUIRED_VALUE:mt(),INVALID_VALUE:mt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:mt(),NOT_INSTALLED_WITH_PROVIDE:mt(),UNEXPECTED_ERROR:mt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:mt(),BRIDGE_SUPPORT_VUE_2_ONLY:mt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:mt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:mt(),__EXTEND_POINT__:mt()};function nt(e,...t){return Ko(e,null,void 0)}const Mr=io("__translateVNode"),Ir=io("__datetimeParts"),Nr=io("__numberParts"),Wl=io("__setPluralRules"),Yl=io("__injectWithOption"),Fr=io("__dispose");function Cn(e){if(!Pe(e)||Gt(e))return e;for(const t in e)if(Ct(e,t))if(!t.includes("."))Pe(e[t])&&Cn(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,r=!1;for(let s=0;s{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(s[l]=s[l]||Re(),fa(c,s[l])):fa(c,s)}else le(i)&&fa(JSON.parse(i),s)}),a==null&&r)for(const i in s)Ct(s,i)&&Cn(s[i]);return s}function ql(e){return e.type}function Jl(e,t,o){let n=Pe(t.messages)?t.messages:Re();"__i18nGlobal"in o&&(n=ya(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(r=>{e.mergeLocaleMessage(r,n[r])});{if(Pe(t.datetimeFormats)){const r=Object.keys(t.datetimeFormats);r.length&&r.forEach(s=>{e.mergeDateTimeFormat(s,t.datetimeFormats[s])})}if(Pe(t.numberFormats)){const r=Object.keys(t.numberFormats);r.length&&r.forEach(s=>{e.mergeNumberFormat(s,t.numberFormats[s])})}}}function Xl(e){return Ve(bn,null,e,0)}const Zl="__INTLIFY_META__",Ql=()=>[],rm=()=>!1;let ec=0;function tc(e){return(t,o,n,a)=>e(o,n,ro()||void 0,a)}const sm=()=>{const e=ro();let t=null;return e&&(t=ql(e)[Zl])?{[Zl]:t}:null};function Rr(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,r=e.flatJson,s=ua?me:Ts,i=!!e.translateExistCompatible;let l=Ee(e.inheritLocale)?e.inheritLocale:!0;const c=s(o&&l?o.locale.value:le(e.locale)?e.locale:Vo),u=s(o&&l?o.fallbackLocale.value:le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=s(ya(c.value,e)),v=s(Le(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),x=s(Le(e.numberFormats)?e.numberFormats:{[c.value]:{}});let T=o?o.missingWarn:Ee(e.missingWarn)||lo(e.missingWarn)?e.missingWarn:!0,w=o?o.fallbackWarn:Ee(e.fallbackWarn)||lo(e.fallbackWarn)?e.fallbackWarn:!0,E=o?o.fallbackRoot:Ee(e.fallbackRoot)?e.fallbackRoot:!0,_=!!e.fallbackFormat,S=je(e.missing)?e.missing:null,g=je(e.missing)?tc(e.missing):null,k=je(e.postTranslation)?e.postTranslation:null,A=o?o.warnHtmlMessage:Ee(e.warnHtmlMessage)?e.warnHtmlMessage:!0,L=!!e.escapeParameter;const O=o?o.modifiers:Le(e.modifiers)?e.modifiers:{};let $=e.pluralRules||o&&o.pluralRules,m;m=(()=>{a&&Pl(null);const R={version:om,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:O,pluralRules:$,missing:g===null?void 0:g,missingWarn:T,fallbackWarn:w,fallbackFormat:_,unresolving:!0,postTranslation:k===null?void 0:k,warnHtmlMessage:A,escapeParameter:L,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};R.datetimeFormats=v.value,R.numberFormats=x.value,R.__datetimeFormatters=Le(m)?m.__datetimeFormatters:void 0,R.__numberFormatters=Le(m)?m.__numberFormatters:void 0;const V=Vh(R);return a&&Pl(V),V})(),En(m,c.value,u.value);function H(){return[c.value,u.value,f.value,v.value,x.value]}const I=Q({get:()=>c.value,set:R=>{c.value=R,m.locale=c.value}}),W=Q({get:()=>u.value,set:R=>{u.value=R,m.fallbackLocale=u.value,En(m,c.value,R)}}),ue=Q(()=>f.value),C=Q(()=>v.value),M=Q(()=>x.value);function G(){return je(k)?k:null}function se(R){k=R,m.postTranslation=R}function fe(){return S}function Z(R){R!==null&&(g=tc(R)),S=R,m.missing=g}const ce=(R,V,de,xe,De,at)=>{H();let Qe;try{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=o?zh():void 0),Qe=R(m)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(m.fallbackContext=void 0)}if(de!=="translate exists"&&Xe(Qe)&&Qe===ba||de==="translate exists"&&!Qe){const[X,te]=V();return o&&E?xe(o):De(X)}else{if(at(Qe))return Qe;throw nt(tt.UNEXPECTED_RETURN_TYPE)}};function oe(...R){return ce(V=>Reflect.apply(Dl,null,[V,...R]),()=>Cr(...R),"translate",V=>Reflect.apply(V.t,V,[...R]),V=>V,V=>le(V))}function ke(...R){const[V,de,xe]=R;if(xe&&!Pe(xe))throw nt(tt.INVALID_ARGUMENT);return oe(V,de,it({resolvedMessage:!0},xe||{}))}function ie(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$r(...R),"datetime format",V=>Reflect.apply(V.d,V,[...R]),()=>Sl,V=>le(V))}function Fe(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Pr(...R),"number format",V=>Reflect.apply(V.n,V,[...R]),()=>Sl,V=>le(V))}function ge(R){return R.map(V=>le(V)||Xe(V)||Ee(V)?Xl(String(V)):V)}const Ae={normalize:ge,interpolate:R=>R,type:"vnode"};function z(...R){return ce(V=>{let de;const xe=V;try{xe.processor=Ae,de=Reflect.apply(Dl,null,[xe,...R])}finally{xe.processor=null}return de},()=>Cr(...R),"translate",V=>V[Mr](...R),V=>[Xl(V)],V=>He(V))}function he(...R){return ce(V=>Reflect.apply(Kl,null,[V,...R]),()=>Pr(...R),"number format",V=>V[Nr](...R),Ql,V=>le(V)||He(V))}function N(...R){return ce(V=>Reflect.apply(Ul,null,[V,...R]),()=>$r(...R),"datetime format",V=>V[Ir](...R),Ql,V=>le(V)||He(V))}function d(R){$=R,m.pluralRules=$}function y(R,V){return ce(()=>{if(!R)return!1;const de=le(V)?V:c.value,xe=D(de),De=m.messageResolver(xe,R);return i?De!=null:Gt(De)||kt(De)||le(De)},()=>[R],"translate exists",de=>Reflect.apply(de.te,de,[R,V]),rm,de=>Ee(de))}function b(R){let V=null;const de=wl(m,u.value,c.value);for(let xe=0;xe{l&&(c.value=R,m.locale=R,En(m,c.value,u.value))}),Ye(o.fallbackLocale,R=>{l&&(u.value=R,m.fallbackLocale=R,En(m,c.value,u.value))}));const ee={id:ec,locale:I,fallbackLocale:W,get inheritLocale(){return l},set inheritLocale(R){l=R,R&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,En(m,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:ue,get modifiers(){return O},get pluralRules(){return $||{}},get isGlobal(){return a},get missingWarn(){return T},set missingWarn(R){T=R,m.missingWarn=T},get fallbackWarn(){return w},set fallbackWarn(R){w=R,m.fallbackWarn=w},get fallbackRoot(){return E},set fallbackRoot(R){E=R},get fallbackFormat(){return _},set fallbackFormat(R){_=R,m.fallbackFormat=_},get warnHtmlMessage(){return A},set warnHtmlMessage(R){A=R,m.warnHtmlMessage=R},get escapeParameter(){return L},set escapeParameter(R){L=R,m.escapeParameter=R},t:oe,getLocaleMessage:D,setLocaleMessage:B,mergeLocaleMessage:Y,getPostTranslationHandler:G,setPostTranslationHandler:se,getMissingHandler:fe,setMissingHandler:Z,[Wl]:d};return ee.datetimeFormats=C,ee.numberFormats=M,ee.rt=ke,ee.te=y,ee.tm=P,ee.d=ie,ee.n=Fe,ee.getDateTimeFormat=q,ee.setDateTimeFormat=p,ee.mergeDateTimeFormat=h,ee.getNumberFormat=F,ee.setNumberFormat=K,ee.mergeNumberFormat=re,ee[Yl]=n,ee[Mr]=z,ee[Ir]=N,ee[Nr]=he,ee}function im(e){const t=le(e.locale)?e.locale:Vo,o=le(e.fallbackLocale)||He(e.fallbackLocale)||Le(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=je(e.missing)?e.missing:void 0,a=Ee(e.silentTranslationWarn)||lo(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,r=Ee(e.silentFallbackWarn)||lo(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,s=Ee(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=Le(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=je(e.postTranslation)?e.postTranslation:void 0,f=le(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,v=!!e.escapeParameterHtml,x=Ee(e.sync)?e.sync:!0;let T=e.messages;if(Le(e.sharedMessages)){const L=e.sharedMessages;T=Object.keys(L).reduce(($,m)=>{const U=$[m]||($[m]={});return it(U,L[m]),$},T||{})}const{__i18n:w,__root:E,__injectWithOption:_}=e,S=e.datetimeFormats,g=e.numberFormats,k=e.flatJson,A=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:T,flatJson:k,datetimeFormats:S,numberFormats:g,missing:n,missingWarn:a,fallbackWarn:r,fallbackRoot:s,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:v,messageResolver:e.messageResolver,inheritLocale:x,translateExistCompatible:A,__i18n:w,__root:E,__injectWithOption:_}}function Dr(e={},t){{const o=Rr(im(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(r){o.locale.value=r},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(r){o.fallbackLocale.value=r},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(r){},get missing(){return o.getMissingHandler()},set missing(r){o.setMissingHandler(r)},get silentTranslationWarn(){return Ee(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(r){o.missingWarn=Ee(r)?!r:r},get silentFallbackWarn(){return Ee(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(r){o.fallbackWarn=Ee(r)?!r:r},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(r){o.fallbackFormat=r},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(r){o.setPostTranslationHandler(r)},get sync(){return o.inheritLocale},set sync(r){o.inheritLocale=r},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(r){o.warnHtmlMessage=r!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(r){o.escapeParameter=r},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(r){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...r){const[s,i,l]=r,c={};let u=null,f=null;if(!le(s))throw nt(tt.INVALID_ARGUMENT);const v=s;return le(i)?c.locale=i:He(i)?u=i:Le(i)&&(f=i),He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},rt(...r){return Reflect.apply(o.rt,o,[...r])},tc(...r){const[s,i,l]=r,c={plural:1};let u=null,f=null;if(!le(s))throw nt(tt.INVALID_ARGUMENT);const v=s;return le(i)?c.locale=i:Xe(i)?c.plural=i:He(i)?u=i:Le(i)&&(f=i),le(l)?c.locale=l:He(l)?u=l:Le(l)&&(f=l),Reflect.apply(o.t,o,[v,u||f||{},c])},te(r,s){return o.te(r,s)},tm(r){return o.tm(r)},getLocaleMessage(r){return o.getLocaleMessage(r)},setLocaleMessage(r,s){o.setLocaleMessage(r,s)},mergeLocaleMessage(r,s){o.mergeLocaleMessage(r,s)},d(...r){return Reflect.apply(o.d,o,[...r])},getDateTimeFormat(r){return o.getDateTimeFormat(r)},setDateTimeFormat(r,s){o.setDateTimeFormat(r,s)},mergeDateTimeFormat(r,s){o.mergeDateTimeFormat(r,s)},n(...r){return Reflect.apply(o.n,o,[...r])},getNumberFormat(r){return o.getNumberFormat(r)},setNumberFormat(r,s){o.setNumberFormat(r,s)},mergeNumberFormat(r,s){o.mergeNumberFormat(r,s)},getChoiceIndex(r,s){return-1}};return a.__extender=n,a}}const Or={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function lm({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Ie?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},Re())}function oc(e){return Ie}const nc=gn({name:"i18n-t",props:it({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Xe(e)||!isNaN(e)}},Or),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||gt({useScope:e.scope,__useComponent:!0});return()=>{const r=Object.keys(o).filter(f=>f!=="_"),s=Re();e.locale&&(s.locale=e.locale),e.plural!==void 0&&(s.plural=le(e.plural)?+e.plural:e.plural);const i=lm(t,r),l=a[Mr](e.keypath,i,s),c=it(Re(),n),u=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(u,c,l)}}});function cm(e){return He(e)&&!le(e[0])}function ac(e,t,o,n){const{slots:a,attrs:r}=t;return()=>{const s={part:!0};let i=Re();e.locale&&(s.locale=e.locale),le(e.format)?s.key=e.format:Pe(e.format)&&(le(e.format.key)&&(s.key=e.format.key),i=Object.keys(e.format).reduce((v,x)=>o.includes(x)?it(Re(),v,{[x]:e.format[x]}):v,Re()));const l=n(e.value,s,i);let c=[s.key];He(l)?c=l.map((v,x)=>{const T=a[v.type],w=T?T({[v.type]:v.value,index:x,parts:l}):[v.value];return cm(w)&&(w[0].key=`${v.type}-${x}`),w}):le(l)&&(c=[l]);const u=it(Re(),r),f=le(e.tag)||Pe(e.tag)?e.tag:oc();return Ti(f,u,c)}}const rc=gn({name:"i18n-n",props:it({value:{type:Number,required:!0},format:{type:[String,Object]}},Or),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,Hl,(...n)=>o[Nr](...n))}}),sc=gn({name:"i18n-d",props:it({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},Or),setup(e,t){const o=e.i18n||gt({useScope:e.scope,__useComponent:!0});return ac(e,t,jl,(...n)=>o[Ir](...n))}});function um(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 dm(e){const t=s=>{const{instance:i,modifiers:l,value:c}=s;if(!i||!i.$)throw nt(tt.UNEXPECTED_ERROR);const u=um(e,i.$),f=ic(c);return[Reflect.apply(u.t,u,[...lc(f)]),u]};return{created:(s,i)=>{const[l,c]=t(i);ua&&e.global===c&&(s.__i18nWatcher=Ye(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),s.__composer=c,s.textContent=l},unmounted:s=>{ua&&s.__i18nWatcher&&(s.__i18nWatcher(),s.__i18nWatcher=void 0,delete s.__i18nWatcher),s.__composer&&(s.__composer=void 0,delete s.__composer)},beforeUpdate:(s,{value:i})=>{if(s.__composer){const l=s.__composer,c=ic(i);s.textContent=Reflect.apply(l.t,l,[...lc(c)])}},getSSRProps:s=>{const[i]=t(s);return{textContent:i}}}}function ic(e){if(le(e))return{path:e};if(Le(e)){if(!("path"in e))throw nt(tt.REQUIRED_VALUE,"path");return e}else throw nt(tt.INVALID_VALUE)}function lc(e){const{path:t,locale:o,args:n,choice:a,plural:r}=e,s={},i=n||{};return le(o)&&(s.locale=o),Xe(a)&&(s.plural=a),Xe(r)&&(s.plural=r),[t,i,s]}function pm(e,t,...o){const n=Le(o[0])?o[0]:{},a=!!n.useI18nComponentName;(Ee(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":nc.name,"I18nT"].forEach(s=>e.component(s,nc)),[rc.name,"I18nN"].forEach(s=>e.component(s,rc)),[sc.name,"I18nD"].forEach(s=>e.component(s,sc))),e.directive("t",dm(t))}function gm(e,t,o){return{beforeCreate(){const n=ro();if(!n)throw nt(tt.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const r=a.i18n;if(a.__i18n&&(r.__i18n=a.__i18n),r.__root=t,this===this.$root)this.$i18n=cc(e,r);else{r.__injectWithOption=!0,r.__extender=o.__vueI18nExtend,this.$i18n=Dr(r);const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=cc(e,a);else{this.$i18n=Dr({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Jl(t,a,a),this.$t=(...r)=>this.$i18n.t(...r),this.$rt=(...r)=>this.$i18n.rt(...r),this.$tc=(...r)=>this.$i18n.tc(...r),this.$te=(r,s)=>this.$i18n.te(r,s),this.$d=(...r)=>this.$i18n.d(...r),this.$n=(...r)=>this.$i18n.n(...r),this.$tm=r=>this.$i18n.tm(r),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=ro();if(!n)throw nt(tt.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function cc(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[Wl](t.pluralizationRules||e.pluralizationRules);const o=ya(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 fm=io("global-vue-i18n");function hm(e={},t){const o=__VUE_I18N_LEGACY_API__&&Ee(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=Ee(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,r=new Map,[s,i]=mm(e,o),l=io("");function c(v){return r.get(v)||null}function u(v,x){r.set(v,x)}function f(v){r.delete(v)}{const v={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(x,...T){if(x.__VUE_I18N_SYMBOL__=l,x.provide(x.__VUE_I18N_SYMBOL__,v),Le(T[0])){const _=T[0];v.__composerExtend=_.__composerExtend,v.__vueI18nExtend=_.__vueI18nExtend}let w=null;!o&&n&&(w=xm(x,v.global)),__VUE_I18N_FULL_INSTALL__&&pm(x,v,...T),__VUE_I18N_LEGACY_API__&&o&&x.mixin(gm(i,i.__composer,v));const E=x.unmount;x.unmount=()=>{w&&w(),v.dispose(),E()}},get global(){return i},dispose(){s.stop()},__instances:r,__getInstance:c,__setInstance:u,__deleteInstance:f};return v}}function gt(e={}){const t=ro();if(t==null)throw nt(tt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw nt(tt.NOT_INSTALLED);const o=bm(t),n=_m(o),a=ql(t),r=ym(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw nt(tt.NOT_AVAILABLE_IN_LEGACY_MODE);return Sm(t,r,n,e)}if(r==="global")return Jl(n,e,a),n;if(r==="parent"){let l=vm(o,t,e.__useComponent);return l==null&&(l=n),l}const s=o;let i=s.__getInstance(t);if(i==null){const l=it({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=Rr(l),s.__composerExtend&&(i[Fr]=s.__composerExtend(i)),km(s,t,i),s.__setInstance(t,i)}return i}function mm(e,t,o){const n=Ia();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>Dr(e)):n.run(()=>Rr(e));if(a==null)throw nt(tt.UNEXPECTED_ERROR);return[n,a]}}function bm(e){{const t=$e(e.isCE?fm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw nt(e.isCE?tt.NOT_INSTALLED_WITH_PROVIDE:tt.UNEXPECTED_ERROR);return t}}function ym(e,t){return da(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function _m(e){return e.mode==="composition"?e.global:e.global.__composer}function vm(e,t,o=!1){let n=null;const a=t.root;let r=wm(t,o);for(;r!=null;){const s=e;if(e.mode==="composition")n=s.__getInstance(r);else if(__VUE_I18N_LEGACY_API__){const i=s.__getInstance(r);i!=null&&(n=i.__composer,o&&n&&!n[Yl]&&(n=null))}if(n!=null||a===r)break;r=r.parent}return n}function wm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function km(e,t,o){ao(()=>{},t),er(()=>{const n=o;e.__deleteInstance(t);const a=n[Fr];a&&(a(),delete n[Fr])},t)}function Sm(e,t,o,n={}){const a=t==="local",r=Ts(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw nt(tt.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const s=Ee(n.inheritLocale)?n.inheritLocale:!le(n.locale),i=me(!a||s?o.locale.value:le(n.locale)?n.locale:Vo),l=me(!a||s?o.fallbackLocale.value:le(n.fallbackLocale)||He(n.fallbackLocale)||Le(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=me(ya(i.value,n)),u=me(Le(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),f=me(Le(n.numberFormats)?n.numberFormats:{[i.value]:{}}),v=a?o.missingWarn:Ee(n.missingWarn)||lo(n.missingWarn)?n.missingWarn:!0,x=a?o.fallbackWarn:Ee(n.fallbackWarn)||lo(n.fallbackWarn)?n.fallbackWarn:!0,T=a?o.fallbackRoot:Ee(n.fallbackRoot)?n.fallbackRoot:!0,w=!!n.fallbackFormat,E=je(n.missing)?n.missing:null,_=je(n.postTranslation)?n.postTranslation:null,S=a?o.warnHtmlMessage:Ee(n.warnHtmlMessage)?n.warnHtmlMessage:!0,g=!!n.escapeParameter,k=a?o.modifiers:Le(n.modifiers)?n.modifiers:{},A=n.pluralRules||a&&o.pluralRules;function L(){return[i.value,l.value,c.value,u.value,f.value]}const O=Q({get:()=>r.value?r.value.locale.value:i.value,set:b=>{r.value&&(r.value.locale.value=b),i.value=b}}),$=Q({get:()=>r.value?r.value.fallbackLocale.value:l.value,set:b=>{r.value&&(r.value.fallbackLocale.value=b),l.value=b}}),m=Q(()=>r.value?r.value.messages.value:c.value),U=Q(()=>u.value),H=Q(()=>f.value);function I(){return r.value?r.value.getPostTranslationHandler():_}function W(b){r.value&&r.value.setPostTranslationHandler(b)}function ue(){return r.value?r.value.getMissingHandler():E}function C(b){r.value&&r.value.setMissingHandler(b)}function M(b){return L(),b()}function G(...b){return r.value?M(()=>Reflect.apply(r.value.t,null,[...b])):M(()=>"")}function se(...b){return r.value?Reflect.apply(r.value.rt,null,[...b]):""}function fe(...b){return r.value?M(()=>Reflect.apply(r.value.d,null,[...b])):M(()=>"")}function Z(...b){return r.value?M(()=>Reflect.apply(r.value.n,null,[...b])):M(()=>"")}function ce(b){return r.value?r.value.tm(b):{}}function oe(b,P){return r.value?r.value.te(b,P):!1}function ke(b){return r.value?r.value.getLocaleMessage(b):{}}function ie(b,P){r.value&&(r.value.setLocaleMessage(b,P),c.value[b]=P)}function Fe(b,P){r.value&&r.value.mergeLocaleMessage(b,P)}function ge(b){return r.value?r.value.getDateTimeFormat(b):{}}function Te(b,P){r.value&&(r.value.setDateTimeFormat(b,P),u.value[b]=P)}function Ae(b,P){r.value&&r.value.mergeDateTimeFormat(b,P)}function z(b){return r.value?r.value.getNumberFormat(b):{}}function he(b,P){r.value&&(r.value.setNumberFormat(b,P),f.value[b]=P)}function N(b,P){r.value&&r.value.mergeNumberFormat(b,P)}const d={get id(){return r.value?r.value.id:-1},locale:O,fallbackLocale:$,messages:m,datetimeFormats:U,numberFormats:H,get inheritLocale(){return r.value?r.value.inheritLocale:s},set inheritLocale(b){r.value&&(r.value.inheritLocale=b)},get availableLocales(){return r.value?r.value.availableLocales:Object.keys(c.value)},get modifiers(){return r.value?r.value.modifiers:k},get pluralRules(){return r.value?r.value.pluralRules:A},get isGlobal(){return r.value?r.value.isGlobal:!1},get missingWarn(){return r.value?r.value.missingWarn:v},set missingWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackWarn(){return r.value?r.value.fallbackWarn:x},set fallbackWarn(b){r.value&&(r.value.missingWarn=b)},get fallbackRoot(){return r.value?r.value.fallbackRoot:T},set fallbackRoot(b){r.value&&(r.value.fallbackRoot=b)},get fallbackFormat(){return r.value?r.value.fallbackFormat:w},set fallbackFormat(b){r.value&&(r.value.fallbackFormat=b)},get warnHtmlMessage(){return r.value?r.value.warnHtmlMessage:S},set warnHtmlMessage(b){r.value&&(r.value.warnHtmlMessage=b)},get escapeParameter(){return r.value?r.value.escapeParameter:g},set escapeParameter(b){r.value&&(r.value.escapeParameter=b)},t:G,getPostTranslationHandler:I,setPostTranslationHandler:W,getMissingHandler:ue,setMissingHandler:C,rt:se,d:fe,n:Z,tm:ce,te:oe,getLocaleMessage:ke,setLocaleMessage:ie,mergeLocaleMessage:Fe,getDateTimeFormat:ge,setDateTimeFormat:Te,mergeDateTimeFormat:Ae,getNumberFormat:z,setNumberFormat:he,mergeNumberFormat:N};function y(b){b.locale.value=i.value,b.fallbackLocale.value=l.value,Object.keys(c.value).forEach(P=>{b.mergeLocaleMessage(P,c.value[P])}),Object.keys(u.value).forEach(P=>{b.mergeDateTimeFormat(P,u.value[P])}),Object.keys(f.value).forEach(P=>{b.mergeNumberFormat(P,f.value[P])}),b.escapeParameter=g,b.fallbackFormat=w,b.fallbackRoot=T,b.fallbackWarn=x,b.missingWarn=v,b.warnHtmlMessage=S}return Hs(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw nt(tt.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const b=r.value=e.proxy.$i18n.__composer;t==="global"?(i.value=b.locale.value,l.value=b.fallbackLocale.value,c.value=b.messages.value,u.value=b.datetimeFormats.value,f.value=b.numberFormats.value):a&&y(b)}),d}const Am=["locale","fallbackLocale","availableLocales"],uc=["t","rt","d","n","tm","te"];function xm(e,t){const o=Object.create(null);return Am.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r)throw nt(tt.UNEXPECTED_ERROR);const s=Ke(r.value)?{get(){return r.value.value},set(i){r.value.value=i}}:{get(){return r.get&&r.get()}};Object.defineProperty(o,a,s)}),e.config.globalProperties.$i18n=o,uc.forEach(a=>{const r=Object.getOwnPropertyDescriptor(t,a);if(!r||!r.value)throw nt(tt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,r)}),()=>{delete e.config.globalProperties.$i18n,uc.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(nm(),__INTLIFY_JIT_COMPILATION__?Ll(Xh):Ll(Jh),jh(wh),Gh(wl),__INTLIFY_PROD_DEVTOOLS__){const e=Qt();e.__INTLIFY__=!0,$h(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Lm=Object.assign({"./locales/ar/aria.json":Up,"./locales/ar/buttons.json":jp,"./locales/ar/detail.json":Gp,"./locales/ar/legend.json":Kp,"./locales/ar/messages.json":Hp,"./locales/ar/options.json":zp,"./locales/ar/prayerLaps.json":Vp,"./locales/ar/search.json":Wp,"./locales/de/aria.json":Yp,"./locales/de/buttons.json":qp,"./locales/de/detail.json":Jp,"./locales/de/legend.json":Xp,"./locales/de/messages.json":Zp,"./locales/de/options.json":Qp,"./locales/de/prayerLaps.json":eg,"./locales/de/search.json":tg,"./locales/en/aria.json":og,"./locales/en/buttons.json":ng,"./locales/en/detail.json":ag,"./locales/en/legend.json":rg,"./locales/en/messages.json":sg,"./locales/en/options.json":ig,"./locales/en/prayerLaps.json":lg,"./locales/en/search.json":cg,"./locales/es/aria.json":ug,"./locales/es/buttons.json":dg,"./locales/es/detail.json":pg,"./locales/es/legend.json":gg,"./locales/es/messages.json":fg,"./locales/es/options.json":hg,"./locales/es/prayerLaps.json":mg,"./locales/es/search.json":bg,"./locales/fr/aria.json":yg,"./locales/fr/buttons.json":_g,"./locales/fr/detail.json":vg,"./locales/fr/legend.json":wg,"./locales/fr/messages.json":kg,"./locales/fr/options.json":Sg,"./locales/fr/prayerLaps.json":Ag,"./locales/fr/search.json":xg,"./locales/hi/aria.json":Lg,"./locales/hi/buttons.json":Tg,"./locales/hi/detail.json":Eg,"./locales/hi/legend.json":Cg,"./locales/hi/messages.json":$g,"./locales/hi/options.json":Pg,"./locales/hi/prayerLaps.json":Mg,"./locales/hi/search.json":Ig,"./locales/it/aria.json":Ng,"./locales/it/buttons.json":Fg,"./locales/it/detail.json":Rg,"./locales/it/legend.json":Dg,"./locales/it/messages.json":Og,"./locales/it/options.json":Bg,"./locales/it/prayerLaps.json":Ug,"./locales/it/search.json":jg,"./locales/pt/aria.json":Gg,"./locales/pt/buttons.json":Kg,"./locales/pt/detail.json":Hg,"./locales/pt/legend.json":zg,"./locales/pt/messages.json":Vg,"./locales/pt/options.json":Wg,"./locales/pt/prayerLaps.json":Yg,"./locales/pt/search.json":qg,"./locales/ro/aria.json":Jg,"./locales/ro/buttons.json":Xg,"./locales/ro/detail.json":Zg,"./locales/ro/legend.json":Qg,"./locales/ro/messages.json":ef,"./locales/ro/options.json":tf,"./locales/ro/prayerLaps.json":of,"./locales/ro/search.json":nf,"./locales/ru/aria.json":af,"./locales/ru/buttons.json":rf,"./locales/ru/detail.json":sf,"./locales/ru/legend.json":lf,"./locales/ru/messages.json":cf,"./locales/ru/options.json":uf,"./locales/ru/prayerLaps.json":df,"./locales/ru/search.json":pf,"./locales/zh/aria.json":gf,"./locales/zh/buttons.json":ff,"./locales/zh/detail.json":hf,"./locales/zh/legend.json":mf,"./locales/zh/messages.json":bf,"./locales/zh/options.json":yf,"./locales/zh/prayerLaps.json":_f,"./locales/zh/search.json":vf}),$n={};for(const[e,t]of Object.entries(Lm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;$n[n]??($n[n]={}),$n[n][a]=t}const Tm=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Em=new Set(["ar"]);function Cm(){var o;const t=(((o=document==null?void 0:document.documentElement)==null?void 0:o.lang)||"").split("-")[0].toLowerCase();return Tm.includes(t)?t:"en"}function $m(){return hm({legacy:!1,globalInjection:!0,locale:Cm(),fallbackLocale:"en",messages:$n,missingWarn:!1,fallbackWarn:!1})}const Pm=Object.assign({"./profiles/doxa-simple-map.vue":()=>La(()=>Promise.resolve().then(()=>Q_),void 0)});if(typeof window<"u"&&((Jc=window.mapboxgl)!=null&&Jc.setRTLTextPlugin))try{window.mapboxgl.setRTLTextPlugin("https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-rtl-text/v0.3.0/mapbox-gl-rtl-text.js",null,!0)}catch{}function dc(){return yp(Bp,{configureApp(e){e.use(Lp()),e.use($m()),e.provide("profileModules",Pm)}})}const Mm=dc(),Im=dc();typeof customElements<"u"&&(customElements.get("doxa-map")||customElements.define("doxa-map",Mm),customElements.get("doxa-simple-map")||customElements.define("doxa-simple-map",Im));const pc="https://api.mapbox.com/mapbox-gl-js/v3.3.0/mapbox-gl.css";async function Nm(e){const t=e.getRootNode();if(!(t instanceof ShadowRoot))return;const o=r=>new Promise(s=>setTimeout(s,r)),n=t.querySelector(`link[href="${pc}"]`);if(n){if(n.sheet)return;await Promise.race([new Promise(r=>{n.addEventListener("load",r,{once:!0}),n.addEventListener("error",r,{once:!0})}),o(2e3)]);return}const a=document.createElement("link");a.rel="stylesheet",a.href=pc,await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0}),t.prepend(a)}),o(2e3)])}function Fm({containerRef:e,accessToken:t,style:o,center:n=[20,10],zoom:a=2,minZoom:r=.5,maxZoom:s=18,pitch:i=0,bearing:l=0}){const c=me(null),u=me(!1);async function f(){if(typeof mapboxgl>"u"){console.error("mapboxgl is not available. Add the Mapbox GL JS script to your page.");return}if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}if(!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}await Nm(e.value),await new Promise(_=>requestAnimationFrame(_));const x=e.value,T=x.clientWidth,w=x.clientHeight;if(T===0||w===0){console.error(`[useMapInstance] Container has ZERO dimensions (${T}×${w}). Map will be invisible. Check that parent elements have CSS sizing.`);let _=x.parentElement,S=0;for(;_&&S<5;)_=_.parentElement,S++}const E=t;mapboxgl.accessToken=E,c.value=new mapboxgl.Map({accessToken:E,container:e.value,style:o,center:n,zoom:a,minZoom:r,maxZoom:s,pitch:i,bearing:l,attributionControl:!1}),c.value.on("style.load",()=>{requestAnimationFrame(()=>{var _;(_=c.value)==null||_.resize(),u.value=!0})})}function v(){c.value&&(c.value.remove(),c.value=null,u.value=!1)}return{map:c,isMapReady:u,initializeMap:f,destroy:v}}const We={Chamacoco:"Zamucoan",Ninam:"Yanomaman",Yagua:"Yaguan",Muinane:"Witotoan",Finnish:"Uralic","Hill Mari":"Uralic",Mansi:"Uralic","Meadow Mari":"Uralic","North Saami":"Uralic",Carabayo:"Unclassified",Kujarge:"Unclassified",Shabo:"Unclassified",Ainu:"Turkic",Kazakh:"Turkic","Khorasani Turkish":"Turkic",Kyrgyz:"Turkic","Northern Uzbek":"Turkic","South Azerbaijani":"Turkic",Turkish:"Turkic",Tuvan:"Turkic",Uyghur:"Turkic",Amundava:"Tupian",Araweté:"Tupian","Asurini of Xingú":"Tupian","Avá-Canoeiro":"Tupian",Awetí:"Tupian",Kamayurá:"Tupian",Karo:"Tupian",Morerebi:"Tupian",Tenharim:"Tupian","Uru-Eu-Wau-Wau":"Tupian","Uru-Pa-In":"Tupian",Wayampi:"Tupian","Zo’é":"Tupian",Evenki:"Tungusic",Xibe:"Tungusic",Carapana:"Tucanoan",Cubeo:"Tucanoan",Desano:"Tucanoan",Macuna:"Tucanoan",Piratapuyo:"Tucanoan",Siona:"Tucanoan",Siriano:"Tucanoan",Tucano:"Tucanoan",Tuyuca:"Tucanoan",Waimaha:"Tucanoan",Tay:"Trans-New Guinea",Adi:"Sino-Tibetan",Akha:"Sino-Tibetan","Amdo Tibetan":"Sino-Tibetan",Axi:"Sino-Tibetan",Biyo:"Sino-Tibetan","Boro (India)":"Sino-Tibetan",Brokkat:"Sino-Tibetan",Bugun:"Sino-Tibetan",Byangsi:"Sino-Tibetan","Central Lalo":"Sino-Tibetan","Central Tibetan":"Sino-Tibetan",Chak:"Sino-Tibetan",Chalikha:"Sino-Tibetan",Chaudangsi:"Sino-Tibetan",Chocangacakha:"Sino-Tibetan",Darlong:"Sino-Tibetan",Dhimal:"Sino-Tibetan","Digaro-Mishmi":"Sino-Tibetan",Dzalakha:"Sino-Tibetan","Eastern Nisu":"Sino-Tibetan",Ersu:"Sino-Tibetan",Gahri:"Sino-Tibetan",Gongduk:"Sino-Tibetan",Gyalsumdo:"Sino-Tibetan",Hani:"Sino-Tibetan","Idu-Mishmi":"Sino-Tibetan",Kaike:"Sino-Tibetan",Kanashi:"Sino-Tibetan",Katso:"Sino-Tibetan",Khamba:"Sino-Tibetan",Koireng:"Sino-Tibetan",Kucong:"Sino-Tibetan",Kurtokha:"Sino-Tibetan",Ladakhi:"Sino-Tibetan",Lakha:"Sino-Tibetan","Lang’e":"Sino-Tibetan",Lhokpu:"Sino-Tibetan",Lolopo:"Sino-Tibetan",Lunanakha:"Sino-Tibetan","Mandarin Chinese":"Sino-Tibetan",Meitei:"Sino-Tibetan","Miju-Mishmi":"Sino-Tibetan",Mpi:"Sino-Tibetan",Na:"Sino-Tibetan",Namuyi:"Sino-Tibetan",Narua:"Sino-Tibetan",Naxi:"Sino-Tibetan","Northern Muji":"Sino-Tibetan",Nuosu:"Sino-Tibetan",Nupbikha:"Sino-Tibetan",Nyenkha:"Sino-Tibetan",Olekha:"Sino-Tibetan",Pahari:"Sino-Tibetan",Pattani:"Sino-Tibetan","Phana’":"Sino-Tibetan",Phula:"Sino-Tibetan",Phunoi:"Sino-Tibetan",Puma:"Sino-Tibetan",Puroik:"Sino-Tibetan",Raji:"Sino-Tibetan",Rawat:"Sino-Tibetan",Sani:"Sino-Tibetan",Sherdukpen:"Sino-Tibetan",Sherpa:"Sino-Tibetan",Shuhi:"Sino-Tibetan",Sila:"Sino-Tibetan",Singpho:"Sino-Tibetan",Sunwar:"Sino-Tibetan","Tawang Monpa":"Sino-Tibetan",Tseku:"Sino-Tibetan",Tshangla:"Sino-Tibetan",Usoi:"Sino-Tibetan","Western Minyag":"Sino-Tibetan","Wusa Nasu":"Sino-Tibetan","Xiang Chinese":"Sino-Tibetan",Yakkha:"Sino-Tibetan","Youle Jinuo":"Sino-Tibetan","Yue Chinese":"Sino-Tibetan",Zakhring:"Sino-Tibetan","Afghan Sign Language":"Sign Language","Albanian Sign Language":"Sign Language","Algerian Sign Language":"Sign Language","American Sign Language":"Sign Language","Armenian Sign Language":"Sign Language","British Sign Language":"Sign Language","Bulgarian Sign Language":"Sign Language","Cambodian Sign Language":"Sign language","Cuban Sign Language":"Sign Language","Egyptian Sign Language":"Sign Language","Greek Sign Language":"Sign Language","Guinean Sign Language":"Sign Language","Hong Kong Sign Language":"Sign Language","Icelandic Sign Language":"Sign Language","Iranian Sign Language":"Sign Language","Israeli Sign Language":"Sign Language","Jamaican Sign Language":"Sign Language","Jordanian Sign Language":"Sign Language","Laos Sign Language":"Sign Language","Libyan Sign Language":"Sign Language","Maltese Sign Language":"Sign Language","Mauritian Sign Language":"Sign Language","Moroccan Sign Language":"Sign Language","Mozambican Sign Language":"Sign Language","Myanmar Sign Language":"Sign language","Natural Sign Language":"Sign Language","Pakistan Sign Language":"Sign Language","Papua New Guinean Sign Language":"Sign language","Russian Sign Language":"Sign Language","Saudi Arabian Sign Language":"Sign Language","Sign Language of the Netherlands":"Sign Language","Solomon Islands Sign Language":"Sign Language","Sri Lankan Sign Language":"Sign Language","Swedish Sign Language":"Sign Language","Turkish Sign Language":"Sign Language","Northern Conchucos Ancash Quechua":"Quechuan","Northern Pastaza Quichua":"Quechuan",Hupdë:"Puinavean",Amahuaca:"Panoan",Korubo:"Panoan",Sharanahua:"Panoan","Shipibo-Conibo":"Panoan",Yaminahua:"Panoan",Yawanawa:"Panoan",Afitti:"Nilo-Saharan",Assangori:"Nilo-Saharan","Beli (South Sudan)":"Nilo-Saharan",Berta:"Nilo-Saharan",Burun:"Nilo-Saharan","Dar Daju Daju":"Nilo-Saharan","Dar Fur Daju":"Nilo-Saharan","Dar Sila Daju":"Nilo-Saharan",Dazaga:"Nilo-Saharan","Dendi (Benin)":"Nilo-Saharan",Dilling:"Nilo-Saharan",Fur:"Nilo-Saharan",Gbaya:"Nilo-Saharan",Ghulfan:"Nilo-Saharan",Gwama:"Nilo-Saharan","Humburi Senni Songhay":"Nilo-Saharan",Jopadhola:"Nilo-Saharan",Kadaru:"Nilo-Saharan",Kanga:"Nilo-Saharan",Karanga:"Nilo-Saharan",Karko:"Nilo-Saharan",Kebu:"Nilo-Saharan",Keiga:"Nilo-Saharan",Keliko:"Nilo-Saharan",Kendeje:"Nilo-Saharan",Kibet:"Nilo-Saharan","Komo (Sudan)":"Nilo-Saharan",Korandje:"Nilo-Saharan",Kulfa:"Nilo-Saharan",Kwegu:"Nilo-Saharan",Laarim:"Nilo-Saharan",Logorik:"Nilo-Saharan",Majang:"Nilo-Saharan","Manga Kanuri":"Nilo-Saharan",Mango:"Nilo-Saharan",Mararit:"Nilo-Saharan",Marfa:"Nilo-Saharan",Midob:"Nilo-Saharan","Mo’da":"Nilo-Saharan",Morom:"Nilo-Saharan",Moru:"Nilo-Saharan",Naba:"Nilo-Saharan",Nara:"Nilo-Saharan",Njalgulgule:"Nilo-Saharan",Nuer:"Nilo-Saharan","Nyamusa-Molo":"Nilo-Saharan",Nyangatom:"Nilo-Saharan","Olu’bo":"Nilo-Saharan",Opo:"Nilo-Saharan",Päri:"Nilo-Saharan","Sara Kaba Naa":"Nilo-Saharan",Surbakhal:"Nilo-Saharan",Tadaksahak:"Nilo-Saharan","Tama (Chad)":"Nilo-Saharan",Temein:"Nilo-Saharan",Thuri:"Nilo-Saharan","Tirmaga-Chai Suri":"Nilo-Saharan",Toposa:"Nilo-Saharan",Tumtum:"Nilo-Saharan","Wali (Sudan)":"Nilo-Saharan","Yerwa Kanuri":"Nilo-Saharan",Yulu:"Nilo-Saharan",Zaghawa:"Nilo-Saharan","Adamawa Fulfulde":"Niger-Congo",Akaselem:"Niger-Congo","Amba (Uganda)":"Niger-Congo",Anii:"Niger-Congo",Baangi:"Niger-Congo",Badyara:"Niger-Congo","Bago-Kusuntu":"Niger-Congo",Bai:"Niger-Congo","Bainouk-Gunyaamolo":"Niger-Congo",Bamanankan:"Niger-Congo","Banda-Mbrès":"Niger-Congo",Bandial:"Niger-Congo",Bankagooma:"Niger-Congo","Belanda Viri":"Niger-Congo",Bemba:"Niger-Congo",Bolgo:"Niger-Congo","Bon Gula":"Niger-Congo",Bua:"Niger-Congo",Chichewa:"Niger-Congo","Chung (Cameroon)":"Niger-Congo","Ci Gbe":"Niger-Congo",Degema:"Niger-Congo",Dek:"Niger-Congo",Dhimba:"Niger-Congo",Dogoso:"Niger-Congo","East Limba":"Niger-Congo",Engenni:"Niger-Congo",Epie:"Niger-Congo",Éwé:"Niger-Congo",Fania:"Niger-Congo",Foodo:"Niger-Congo",Fwe:"Niger-Congo",Gciriku:"Niger-Congo",Gwa:"Niger-Congo",Herero:"Niger-Congo",Ibuoro:"Niger-Congo","Jenaama Bozo":"Niger-Congo",Jita:"Niger-Congo",Jula:"Niger-Congo",Kabiyè:"Niger-Congo",Kadung:"Niger-Congo",Kakabe:"Niger-Congo",Kalamsé:"Niger-Congo","Kami (Tanzania)":"Niger-Congo","Kango (Bas-Uélé District)":"Niger-Congo",Kasem:"Niger-Congo","Kelengaxo Bozo":"Niger-Congo",Khe:"Niger-Congo",Khisa:"Niger-Congo",Kim:"Niger-Congo",Kinyarwanda:"Niger-Congo",Kipfokomu:"Niger-Congo",Kitharaka:"Niger-Congo",Kiyombe:"Niger-Congo",Ko:"Niger-Congo",Koalib:"Niger-Congo",Koke:"Niger-Congo",Konongo:"Niger-Congo","Koro Nulu":"Niger-Congo","Koro Zuba":"Niger-Congo",Kuhane:"Niger-Congo",Kunda:"Niger-Congo",Kuranko:"Niger-Congo",Kuria:"Niger-Congo",Kwangali:"Niger-Congo",Lame:"Niger-Congo",Laru:"Niger-Congo",Lopa:"Niger-Congo","Makhuwa-Meetto":"Niger-Congo","Makhuwa-Shirima":"Niger-Congo","Malawi Nyiha":"Niger-Congo",Mandinka:"Niger-Congo",Mankanya:"Niger-Congo",Mansoanka:"Niger-Congo",Mbukushu:"Niger-Congo","Mende (Sierra Leone)":"Niger-Congo",Miyobe:"Niger-Congo",Mushungulu:"Niger-Congo","Mwali Comorian":"Niger-Congo","Mwera (Chimwera)":"Niger-Congo",Ndemli:"Niger-Congo",Ndengereko:"Niger-Congo",Ndumu:"Niger-Congo",Ndunga:"Niger-Congo","Ndzwani Comorian":"Niger-Congo",Ngile:"Niger-Congo","Northwest Gbaya":"Niger-Congo",Notre:"Niger-Congo",Nyamwanga:"Niger-Congo",Nyankore:"Niger-Congo",Nyengo:"Niger-Congo",Okpamheri:"Niger-Congo",Osatu:"Niger-Congo","Pana (Burkina Faso)":"Niger-Congo",Pulaar:"Niger-Congo",Pular:"Niger-Congo",Rufiji:"Niger-Congo","Sankaran Maninka":"Niger-Congo",Sapo:"Niger-Congo","Senara Sénoufo":"Niger-Congo",Shanga:"Niger-Congo",Sininkere:"Niger-Congo","Southern Ngbandi":"Niger-Congo",Swahili:"Niger-Congo","Syenara Sénoufo":"Niger-Congo",Tagbu:"Niger-Congo",Tagoi:"Niger-Congo",Tegali:"Niger-Congo",Tem:"Niger-Congo","Tiéyaxo Bozo":"Niger-Congo",Tiyaa:"Niger-Congo",Tocho:"Niger-Congo","Tonga (Zambia)":"Niger-Congo",Totela:"Niger-Congo","Toura (Côte d’Ivoire)":"Niger-Congo",Tswa:"Niger-Congo",Tumbuka:"Niger-Congo",Ukaan:"Niger-Congo",Uneme:"Niger-Congo",Vai:"Niger-Congo",Vute:"Niger-Congo",Waama:"Niger-Congo",Warnang:"Niger-Congo",Wolof:"Niger-Congo",Yao:"Niger-Congo",Yauma:"Niger-Congo",Yom:"Niger-Congo","Zan Gula":"Niger-Congo",Zande:"Niger-Congo",Zigula:"Niger-Congo",Mamaindê:"Nambikwara",Aghul:"Nakh-Daghestanian",Akhvakh:"Nakh-Daghestanian",Andi:"Nakh-Daghestanian",Avar:"Nakh-Daghestanian",Bagvalal:"Nakh-Daghestanian",Botlikh:"Nakh-Daghestanian",Chamalal:"Nakh-Daghestanian",Chechen:"Nakh-Daghestanian",Dargwa:"Nakh-Daghestanian",Kaitag:"Nakh-Daghestanian",Karata:"Nakh-Daghestanian",Khvarshi:"Nakh-Daghestanian",Tindi:"Nakh-Daghestanian",Pirahã:"Muran",Bonan:"Mongolic","China Buriat":"Mongolic",Daur:"Mongolic","Kalmyk-Oirat":"Mongolic","Peripheral Mongolian":"Mongolic","Russia Buriat":"Mongolic",Tagdal:"Mixed language",Wutunhua:"Mixed language","Ashéninka Perené":"Maipurean",Baniwa:"Maipurean",Cabiyarí:"Maipurean",Curripaco:"Maipurean","Enawené-Nawé":"Maipurean",Kanamarí:"Maipurean",Mehináku:"Maipurean","Pichis Ashéninka":"Maipurean",Waurá:"Maipurean",Bangime:"Language isolate",Burushaski:"Language isolate","Ai-Cham":"Kra-Dai",Aiton:"Kra-Dai","Dai Zhuang":"Kra-Dai",Duoluo:"Kra-Dai","Green Gelao":"Kra-Dai","Guibian Zhuang":"Kra-Dai",Hlai:"Kra-Dai",Jiamao:"Kra-Dai",Kang:"Kra-Dai",Khün:"Kra-Dai",Kuan:"Kra-Dai",Lachi:"Kra-Dai","Laha (Viet Nam)":"Kra-Dai",Lao:"Kra-Dai",Lü:"Kra-Dai","Mak (China)":"Kra-Dai","Northeastern Thai":"Kra-Dai","Northern Dong":"Kra-Dai","Northern Thai":"Kra-Dai",Nyaw:"Kra-Dai",Phake:"Kra-Dai","Phu Thai":"Kra-Dai",Qabiao:"Kra-Dai",Qau:"Kra-Dai","Qiubei Zhuang":"Kra-Dai",Shan:"Kra-Dai","Southern Dong":"Kra-Dai",Sui:"Kra-Dai","T’en":"Kra-Dai","Tai Daeng":"Kra-Dai","Tai Dam":"Kra-Dai","Tai Hongjin":"Kra-Dai","Tai Nüa":"Kra-Dai","Tai Ya":"Kra-Dai","Tai Yo":"Kra-Dai","Ts’ün-Lao":"Kra-Dai","Yang Zhuang":"Kra-Dai",Yerong:"Kra-Dai",Yong:"Kra-Dai",Yoy:"Kra-Dai",Khoekhoe:"Khoe-Kwadi",Karajá:"Karajá","Pará Gavião":"Jean",Suyá:"Jean",Japanese:"Japonic","Oki-No-Erabu":"Japonic","Toku-No-Shima":"Japonic",Yaeyama:"Japonic",Yoron:"Japonic","Adivasi Oriya":"Indo-European",Afrikaans:"Indo-European","Alviri-Vidari":"Indo-European",Angika:"Indo-European",Assamese:"Indo-European",Bagheli:"Indo-European",Bagri:"Indo-European",Bashkardi:"Indo-European",Bateri:"Indo-European",Bengali:"Indo-European",Bhojpuri:"Indo-European",Bhunjia:"Indo-European",Bilaspuri:"Indo-European",Bosnian:"Indo-European","Braj Bhasha":"Indo-European",Brokskat:"Indo-European",Bundeli:"Indo-European",Catalan:"Indo-European",Chambeali:"Indo-European",Chhattisgarhi:"Indo-European",Dameli:"Indo-European",Dari:"Indo-European",Dhundari:"Indo-European",Dogri:"Indo-European",Domari:"Indo-European",Dutch:"Indo-European","Eastern Balochi":"Indo-European","Eastern Panjabi":"Indo-European","Eastern Yiddish":"Indo-European",English:"Indo-European",French:"Indo-European",Gaddi:"Indo-European",Garhwali:"Indo-European",Gawri:"Indo-European",Gowro:"Indo-European",Gujarati:"Indo-European",Gujari:"Indo-European",Halbi:"Indo-European",Haroti:"Indo-European",Haryanvi:"Indo-European",Hindi:"Indo-European","Indus Kohistani":"Indo-European","Iranian Persian":"Indo-European",Ishkashimi:"Indo-European",Kacchi:"Indo-European",Kalkoti:"Indo-European",Kanauji:"Indo-European",Kangri:"Indo-European",Karingani:"Indo-European",Kashmiri:"Indo-European",Kati:"Indo-European",Khunsari:"Indo-European",Konkani:"Indo-European",Kudmali:"Indo-European",Kumaoni:"Indo-European",Kumzari:"Indo-European",Laki:"Indo-European",Lasi:"Indo-European",Luwati:"Indo-European",Magahi:"Indo-European",Maithili:"Indo-European",Maldivian:"Indo-European",Malvi:"Indo-European",Marathi:"Indo-European","Marwari (India)":"Indo-European",Mewari:"Indo-European",Munji:"Indo-European",Nepali:"Indo-European",Nimadi:"Indo-European","Northern Kurdish":"Indo-European",Odia:"Indo-European","Pahari-Potwari":"Indo-European",Palula:"Indo-European",Panchpargania:"Indo-European",Pangwali:"Indo-European",Parachi:"Indo-European",Portuguese:"Indo-European",Russian:"Indo-European",Sadri:"Indo-European",Sanglechi:"Indo-European",Sarikoli:"Indo-European",Savi:"Indo-European",Semnani:"Indo-European",Serbian:"Indo-European",Shabak:"Indo-European",Shahrudi:"Indo-European",Shekhawati:"Indo-European",Shina:"Indo-European",Shughni:"Indo-European",Shumashti:"Indo-European",Sindhi:"Indo-European",Sivandi:"Indo-European",Soi:"Indo-European","Southern Balochi":"Indo-European",Spanish:"Indo-European",Tajik:"Indo-European",Talysh:"Indo-European",Urdu:"Indo-European",Ushojo:"Indo-European",Vaghri:"Indo-European","Vlax Romani":"Indo-European",Wagdi:"Indo-European",Wakhi:"Indo-European",Waneci:"Indo-European","Western Balochi":"Indo-European",Yadgha:"Indo-European","Bu-Nao Bunu":"Hmong-Mien","Central Mashan Miao":"Hmong-Mien","Chuanqiandian Cluster Miao":"Hmong-Mien","Eastern Xiangxi Miao":"Hmong-Mien","Iu Mien":"Hmong-Mien","Luopohe Miao":"Hmong-Mien","Northern Qiandong Miao":"Hmong-Mien","Pa-Hng":"Hmong-Mien","Southwestern Huishui Miao":"Hmong-Mien","Wunai Bunu":"Hmong-Mien","Younuo Bunu":"Hmong-Mien",Amarakaeri:"Harákmbut",Huachipaeri:"Harákmbut",Cuiba:"Guajiboan",Macaguán:"Guajiboan",Tlicho:"Eyak-Athabaskan",Kannada:"Dravidian",Kodava:"Dravidian","Korra Koraga":"Dravidian","Kota (India)":"Dravidian",Kudiya:"Dravidian",Malapandaram:"Dravidian",Malayalam:"Dravidian",Muthuvan:"Dravidian",Ravula:"Dravidian",Sholaga:"Dravidian",Tamil:"Dravidian",Telugu:"Dravidian",Tulu:"Dravidian",Vishavan:"Dravidian","Andaman Hindi Creole":"Creole","Cocos Islands Malay":"Creole","Juba Arabic":"Creole",Nubi:"Creole",Barí:"Chibchan","Barro Negro Tunebo":"Chibchan","Western Tunebo":"Chibchan",Ikpeng:"Cariban","Kuikúro-Kalapálo":"Cariban",Pemon:"Cariban",Trió:"Cariban","Waimiri-Atroarí":"Cariban",Waiwai:"Cariban",Yukpa:"Cariban",Borôro:"Bororoan",Chachi:"Barbacoan","Abai Sungai":"Austronesian",Ambelau:"Austronesian",Asilulu:"Austronesian",Balaesang:"Austronesian","Batak Alas-Kluet":"Austronesian","Batak Dairi":"Austronesian","Batak Karo":"Austronesian",Bonerate:"Austronesian",Bonggi:"Austronesian",Brunei:"Austronesian","Brunei Bisaya":"Austronesian",Buol:"Austronesian","Central Malay":"Austronesian","Central Sama":"Austronesian","Coastal Konjo":"Austronesian",Dampelas:"Austronesian","Dibabawon Manobo":"Austronesian",Dondo:"Austronesian",Gane:"Austronesian","Geser-Gorom":"Austronesian","Highland Konjo":"Austronesian",Hitu:"Austronesian",Iban:"Austronesian",Indonesian:"Austronesian","Kadazan Dusun":"Austronesian",Kiput:"Austronesian",Komodo:"Austronesian",Kompane:"Austronesian",Lahanan:"Austronesian","Lampung Nyo":"Austronesian","Larike-Wakasihu":"Austronesian",Lola:"Austronesian",Luhu:"Austronesian",Malay:"Austronesian",Mariri:"Austronesian",Moronene:"Austronesian",Rukai:"Austronesian","Sabah Bisaya":"Austronesian","Seit-Kaitetu":"Austronesian",Sula:"Austronesian","Tae’":"Austronesian",Tajio:"Austronesian",Tomini:"Austronesian",Tutong:"Austronesian",Ujir:"Austronesian",Aheu:"Austro-Asiatic",Alak:"Austro-Asiatic",Bit:"Austro-Asiatic","Bo (Laos)":"Austro-Asiatic",Bondo:"Austro-Asiatic",Brao:"Austro-Asiatic",Bugan:"Austro-Asiatic",Chong:"Austro-Asiatic",Chut:"Austro-Asiatic",Danau:"Austro-Asiatic",Halang:"Austro-Asiatic","Halang Doan":"Austro-Asiatic",Hu:"Austro-Asiatic",Hung:"Austro-Asiatic",Ir:"Austro-Asiatic",Kensiu:"Austro-Asiatic",Khmu:"Austro-Asiatic",Khua:"Austro-Asiatic",Khuen:"Austro-Asiatic",Koda:"Austro-Asiatic","Kon Keu":"Austro-Asiatic",Kriang:"Austro-Asiatic",Kuay:"Austro-Asiatic",Laven:"Austro-Asiatic",Maleng:"Austro-Asiatic","Man Met":"Austro-Asiatic",Mang:"Austro-Asiatic",Minriq:"Austro-Asiatic",Mlabri:"Austro-Asiatic",Nguôn:"Austro-Asiatic",Nyaheun:"Austro-Asiatic",Nyahkur:"Austro-Asiatic","O’du":"Austro-Asiatic",Ong:"Austro-Asiatic",Oy:"Austro-Asiatic",Pacoh:"Austro-Asiatic","Phong-Kniang":"Austro-Asiatic",Prai:"Austro-Asiatic",Puoc:"Austro-Asiatic",Rengao:"Austro-Asiatic",Rmeet:"Austro-Asiatic","Rumai Palaung":"Austro-Asiatic",Sapuan:"Austro-Asiatic","Shwe Palaung":"Austro-Asiatic","So (Laos)":"Austro-Asiatic",Sou:"Austro-Asiatic","Tai Loi":"Austro-Asiatic",Talieng:"Austro-Asiatic",Tareng:"Austro-Asiatic",Tho:"Austro-Asiatic",U:"Austro-Asiatic","Upper Ta’oih":"Austro-Asiatic",Vietnamese:"Austro-Asiatic","Western Katu":"Austro-Asiatic",Suruahá:"Arauan",Jarawa:"Andamanese",Öñge:"Andamanese",Sentinel:"Andamanese",Afar:"Afro-Asiatic","Alaba-K’abeena":"Afro-Asiatic",Alagwa:"Afro-Asiatic",Ale:"Afro-Asiatic","Algerian Arabic":"Afro-Asiatic",Amharic:"Afro-Asiatic",Arbore:"Afro-Asiatic","Baharna Arabic":"Afro-Asiatic",Barein:"Afro-Asiatic",Bedawiyet:"Afro-Asiatic",Bidiyo:"Afro-Asiatic",Bilen:"Afro-Asiatic",Birgit:"Afro-Asiatic",Boor:"Afro-Asiatic","Borana-Arsi-Guji Oromo":"Afro-Asiatic",Buduma:"Afro-Asiatic","Central Atlas Tamazight":"Afro-Asiatic","Chadian Arabic":"Afro-Asiatic",Chenoua:"Afro-Asiatic",Ciwogai:"Afro-Asiatic",Daasanach:"Afro-Asiatic",Dabarre:"Afro-Asiatic",Dangaléat:"Afro-Asiatic",Deno:"Afro-Asiatic",Diri:"Afro-Asiatic",Duwai:"Afro-Asiatic","Eastern Egyptian Bedawi Arabic":"Afro-Asiatic","Eastern Oromo":"Afro-Asiatic",Garre:"Afro-Asiatic",Geruma:"Afro-Asiatic",Giiwo:"Afro-Asiatic",Gorowa:"Afro-Asiatic","Gulf Arabic":"Afro-Asiatic","Hadrami Arabic":"Afro-Asiatic",Harsusi:"Afro-Asiatic",Hassaniyya:"Afro-Asiatic",Hausa:"Afro-Asiatic",Hebrew:"Afro-Asiatic","Hijazi Arabic":"Afro-Asiatic",Hobyót:"Afro-Asiatic",Hozo:"Afro-Asiatic",Jiiddu:"Afro-Asiatic",Jimi:"Afro-Asiatic",Jina:"Afro-Asiatic","Jonkor Bourmataguil":"Afro-Asiatic","Judeo-Iraqi Arabic":"Afro-Asiatic","Judeo-Moroccan Arabic":"Afro-Asiatic",Kabalai:"Afro-Asiatic",Kajakse:"Afro-Asiatic",Kariya:"Afro-Asiatic","Karo (Ethiopia)":"Afro-Asiatic",Kutto:"Afro-Asiatic","Levantine Arabic":"Afro-Asiatic",Libido:"Afro-Asiatic","Libyan Arabic":"Afro-Asiatic","Lishana Deni":"Afro-Asiatic",Maaka:"Afro-Asiatic",Maay:"Afro-Asiatic",Majera:"Afro-Asiatic",Male:"Afro-Asiatic",Maslam:"Afro-Asiatic",Masmaje:"Afro-Asiatic",Mburku:"Afro-Asiatic",Mehri:"Afro-Asiatic","Mesopotamian Arabic":"Afro-Asiatic",Migaama:"Afro-Asiatic",Mogum:"Afro-Asiatic","Moroccan Arabic":"Afro-Asiatic",Mositacha:"Afro-Asiatic",Mubi:"Afro-Asiatic",Mukulu:"Afro-Asiatic",Nafusi:"Afro-Asiatic","Najdi Arabic":"Afro-Asiatic",Nyam:"Afro-Asiatic","Omani Arabic":"Afro-Asiatic","Pa’a":"Afro-Asiatic",Saba:"Afro-Asiatic",Saho:"Afro-Asiatic","Sanaani Arabic":"Afro-Asiatic",Seze:"Afro-Asiatic",Shehri:"Afro-Asiatic",Shekkacho:"Afro-Asiatic",Sheko:"Afro-Asiatic","Shihhi Arabic":"Afro-Asiatic",Siwi:"Afro-Asiatic",Sokoro:"Afro-Asiatic",Soqotri:"Afro-Asiatic","South Levantine Arabic":"Afro-Asiatic","Standard Arabic":"Afro-Asiatic","Sudanese Arabic":"Afro-Asiatic","Ta’izzi-Adeni Arabic":"Afro-Asiatic","Tahaggart Tamahaq":"Afro-Asiatic",Taznatit:"Afro-Asiatic",Tigré:"Afro-Asiatic",Toram:"Afro-Asiatic",Tsamai:"Afro-Asiatic",Tumzabt:"Afro-Asiatic",Tunni:"Afro-Asiatic",Waata:"Afro-Asiatic","West Central Oromo":"Afro-Asiatic",Xamtanga:"Afro-Asiatic",Zumbun:"Afro-Asiatic"},Rm="peoplePraying",To=100,Eo={noPrayer:"#e74c3c",hasPrayer:"#f39c12",fullPrayer:"#22c55e"},Br=Eo,Dm={noPrayer:"No One Praying",hasPrayer:"1+ People Praying",fullPrayer:"100+ People Praying"};function Yo(e){var n;const t=e.peoplePraying??((n=e._raw)==null?void 0:n.people_praying)??null,o=Number(t)||0;return o>=To?"fullPrayer":o>0?"hasPrayer":"noPrayer"}function gc(e){return Eo[Yo(e)]}function Om(e){var o;const t=e.peoplePraying??((o=e._raw)==null?void 0:o.people_praying)??null;return t!==null&&t>0}function Bm(e){return Yo(e)==="fullPrayer"}function Um(e){return gc(e)}function fc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,To],Eo.fullPrayer,[">",t,0],Eo.hasPrayer,Eo.noPrayer]}const jm={name:"Prayer Progress",propertyKey:Rm,palette:Eo,colors:Eo,labels:Dm,threshold:To,getColor:Um,applyColor:fc,buildColorExpression:fc,getPrayerLevel:Yo,getPrayerColor:gc,checkHasPrayer:Om,checkHasFullPrayer:Bm},Gm="engagementStatus",go={notEngaged:"#e74c3c",hasEngagement:"#22c55e"},hc=go,Km={notEngaged:"Unengaged",hasEngagement:"Engaged"};function Hm(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)?go.hasEngagement:go.notEngaged}function mc({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],go.hasEngagement,["==",t,1],go.hasEngagement,go.notEngaged]}const zm={name:"Engagement Progress",propertyKey:Gm,palette:go,colors:go,labels:Km,getColor:Hm,applyColor:mc,buildColorExpression:mc},Vm="adoptionStatus",fo={notAdopted:"#e74c3c",hasAdoption:"#22c55e"},bc=fo,Wm={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"};function Ym(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 yc({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 qm={name:"Adoption Progress",propertyKey:Vm,palette:fo,colors:fo,labels:Wm,getColor:Ym,applyColor:yc,buildColorExpression:yc},_c="affinityBlock",qo="#95a5a6",Jo={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"},Pn={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"},Xo=Pn;Object.entries(Jo).reduce((e,[t,o])=>(e[o]=t,e),{});const Jm=Object.entries(Jo).reduce((e,[t,o])=>(e[o]=Xo[t],e),{}),Xm=Jo;function vc(e){return Jo[e]||"Unknown"}function wc(e){return Xo[e]||qo}function Zm(e){return e?typeof e=="string"&&/^A\d{3}$/.test(e)?Xo[e]||qo:Jm[e]||qo:qo}function Qm(){return Object.entries(Jo).map(([e,t])=>({code:e,name:t,color:Xo[e]}))}function eb(e){return{code:e,name:Jo[e]||"Unknown",color:Xo[e]||qo}}function tb(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return wc(t)}function ob(e){var o;const t=e.affinityBlock||((o=e._raw)==null?void 0:o.ROP1);return vc(t)}function kc(){const e=["match",["get",_c]];return Object.entries(Xo).forEach(([t,o])=>{e.push(t,o)}),e.push(qo),e}const nb={name:"Affinity Block",propertyKey:_c,palette:Pn,colors:Pn,names:Xm,getColor:tb,applyColor:kc,buildColorExpression:kc,getName:ob,getAffinityBlockName:vc,getAffinityBlockColor:Zm,getAffinityBlockColorByCode:wc,getAffinityBlocksArray:Qm,getAffinityBlockData:eb},Sc="languageFamily",ab="#000000",Zo={"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","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"};function Mt(e){return Zo[e]||ab}const rb=(()=>{const e=o=>String(o||"").toLowerCase().trim(),t={};for(const o of Object.keys(Zo))t[e(o)]=o;return t})();function Ur(e){if(!e)return"Unknown";const t=String(e).trim();return rb[t.toLowerCase()]||t}function sb(e){var t;return Mt(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function Ac(){const e=["match",["get",Sc]];return Object.entries(Zo).forEach(([t,o])=>{e.push(t,o)}),e.push("#95a5a6"),e}const ib={name:"Language Family",propertyKey:Sc,palette:Zo,colors:Zo,getColor:sb,applyColor:Ac,buildColorExpression:Ac,getLanguageFamilyColor:Mt,canonicalFamilyName:Ur};function lb(e){if(!e)return"hsl(0, 60%, 50%)";let t=0;for(let n=0;n{e.push(t,o)}),e.push(Lc),e}const pb={name:"DOXA Region",propertyKey:xc,palette:Mn,colors:Mn,aliases:Tc,getColor:db,applyColor:Ec,buildColorExpression:Ec,getRegionColor:ub},gb="resourceType",oo={bible:"#3498db",jesusFilm:"#20c997",radio:"#9b59b6",gospel:"#f39c12",audio:"#1abc9c",stories:"#e74c3c",hasResources:"#27ae60",noResources:"#2c3e50"},_a=["bible","jesusFilm","radio","gospel","audio","stories"],Cc={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},fb=Cc;function va(e){return{bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories"}[e]}function hb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return oo.hasResources;return oo.noResources}function mb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return!0;return!1}function bb(e){var t;for(const o of _a)if((e[o]||((t=e._raw)==null?void 0:t[va(o)]))==="Available")return o;return"noResources"}function $c(){return["case",["any",["==",["get","bible"],"Available"],["==",["get","jesusFilm"],"Available"],["==",["get","radio"],"Available"],["==",["get","gospel"],"Available"],["==",["get","audio"],"Available"],["==",["get","stories"],"Available"]],oo.hasResources,oo.noResources]}const yb={name:"Gospel Resources",propertyKey:gb,palette:oo,colors:oo,names:Cc,priority:_a,getColor:hb,applyColor:$c,buildColorExpression:$c,hasAnyResource:mb,getResourceType:bb,getCSVColumn:va},_b="religion",jr="#94a3b8",Gr={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},St={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function Pc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Gr[t]?t:"U"}function vb(e){var o,n,a;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)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return St[Pc(t)]||jr}function Mc(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",St.C,"M",St.M,"H",St.H,"B",St.B,"E",St.E,"J",St.J,"S",St.S,"N",St.N,"O",St.O,jr]}const wb={propertyKey:_b,palette:St,families:Gr,getColor:vb,applyColor:Mc,buildColorExpression:Mc,fallback:jr},ze={LANGUAGE_FAMILY:"languageFamily",AFFINITY_BLOCK:"affinityBlock",DOXA_REGION:"doxaRegion",RESOURCE:"resource",PRAYER_PROGRESS:"prayerProgress",ENGAGEMENT:"engagement",ADOPTION:"adoption",RELIGION:"religion"},Ic={[ze.LANGUAGE_FAMILY]:ib,[ze.AFFINITY_BLOCK]:nb,[ze.DOXA_REGION]:pb,[ze.RESOURCE]:yb,[ze.PRAYER_PROGRESS]:jm,[ze.ENGAGEMENT]:zm,[ze.ADOPTION]:qm,[ze.RELIGION]:wb};function Nc(e){return Ic[e]||Ic[ze.LANGUAGE_FAMILY]}function Kr(e,t={}){return Nc(e).applyColor(t)}(()=>{const e=o=>String(o||"").toLowerCase().replace(/[^a-z0-9]+/g,""),t={};for(const o of Object.keys(Mn))t[e(o)]=o;return t.na="No WAGF Region/Bloc",t})();function Hr(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const kb=[[/ sign language$/i,"Sign Language"]];function Sb(e){const t=Hr(e.languageFamily);if(t)return t;const o=Hr(e.language||e.primary_language);if(!o||typeof o!="string")return"";const n=o.trim(),a=n.split(",").map(s=>s.trim()).filter(Boolean);if(a.length>=2){const s=[...a].reverse().join(" ");if(We[s])return We[s];if(a.length>=3){const i=[a[1],a[0]].join(" ");if(We[i])return We[i]}}if(We[n])return We[n];const r=n.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==n&&We[r])return We[r];for(const[s,i]of kb)if(s.test(n))return i;return""}function Ab(e){const{mapId:t="unknown",dataSourceId:o="doxa-csv",dataSourceManager:n=null,dataStore:a=null,markRaw:r=O=>O}=e;n||console.error("useMapData: dataSourceManager is required!");const s=me(!1),i=me(null),l=me(!1),c=me([]),u=me([]),f=me(null),v=me([]),x=me([]),T=me([]),w=me(null);async function E(){if(!n)throw new Error("dataSourceManager is required for useMapData");s.value=!0,i.value=null;try{if(await n.init(),a&&a.hasSourceData&&a.hasSourceData(o)){const C=a.getSourceData(o);u.value=r(C.normalizedData||[])}else{const C=await n.setActiveSource(o);for(const M of C){const G=Hr(M.language||M.primary_language);G&&(M.language=G);const se=Sb(M);M.languageFamily=Ur(se)}u.value=r(C),a&&a.cacheSourceData&&a.cacheSourceData(o,{normalizedData:C,timestamp:Date.now()})}c.value=r(u.value.map(C=>({id:C.uniqueId,slug:C.slug||"",rop3:C.peopleGroupId,peopleId3:C.peopleId3,name:C.name,language:C.language,languageFamily:C.languageFamily,country:C.country,population:C.population,status:C.engagementStatus||C.status,latitude:C.latitude,longitude:C.longitude,lng:C.longitude,lat:C.latitude,description:C.description,imageUrl:C.imageUrl,doxaRegion:C.doxaRegion||C.wagfRegion||"",peoplePraying:C.peoplePraying??null,_normalized:C})));const O=n.getDataByLanguageFamily();v.value=Object.entries(O).map(([C,M])=>{const G=M.reduce((se,fe)=>{const Z=parseInt(fe.population)||0;return se+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>M.count-C.count);const $=n.getDataByRegion();x.value=Object.entries($).map(([C,M])=>{const G=M.reduce((se,fe)=>{const Z=parseInt(fe.population)||0;return se+Z},0);return{name:C,count:M.length,peopleGroupCount:M.length,population:G,groups:M}}).sort((C,M)=>C.name.localeCompare(M.name));const m={bible:{count:0,population:0,groups:[]},jesusFilm:{count:0,population:0,groups:[]},radio:{count:0,population:0,groups:[]},gospel:{count:0,population:0,groups:[]},audio:{count:0,population:0,groups:[]},stories:{count:0,population:0,groups:[]},hasResources:{count:0,population:0,groups:[]},noResources:{count:0,population:0,groups:[]}};u.value.forEach(C=>{const M=parseInt(C.population)||0;let G=!1;C.bible==="Available"&&(m.bible.count++,m.bible.population+=M,m.bible.groups.push(C),G=!0),C.jesusFilm==="Available"&&(m.jesusFilm.count++,m.jesusFilm.population+=M,m.jesusFilm.groups.push(C),G=!0),C.radio==="Available"&&(m.radio.count++,m.radio.population+=M,m.radio.groups.push(C),G=!0),C.gospel==="Available"&&(m.gospel.count++,m.gospel.population+=M,m.gospel.groups.push(C),G=!0),C.audio==="Available"&&(m.audio.count++,m.audio.population+=M,m.audio.groups.push(C),G=!0),C.stories==="Available"&&(m.stories.count++,m.stories.population+=M,m.stories.groups.push(C),G=!0),G?(m.hasResources.count++,m.hasResources.population+=M,m.hasResources.groups.push(C)):(m.noResources.count++,m.noResources.population+=M,m.noResources.groups.push(C))});const U=u.value.length,H=u.value.reduce((C,M)=>C+(parseInt(M.population)||0),0),I={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},W={bible:{count:U-m.bible.count,population:H-m.bible.population},jesusFilm:{count:U-m.jesusFilm.count,population:H-m.jesusFilm.population},radio:{count:U-m.radio.count,population:H-m.radio.population},gospel:{count:U-m.gospel.count,population:H-m.gospel.population},audio:{count:U-m.audio.count,population:H-m.audio.population},stories:{count:U-m.stories.count,population:H-m.stories.population}},ue="#2c3e50";return T.value=[{name:I.bible,key:"bible",count:m.bible.count,population:m.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:W.bible.count,population:W.bible.population,color:ue}]},{name:I.jesusFilm,key:"jesusFilm",count:m.jesusFilm.count,population:m.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:W.jesusFilm.count,population:W.jesusFilm.population,color:ue}]},{name:I.radio,key:"radio",count:m.radio.count,population:m.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:W.radio.count,population:W.radio.population,color:ue}]},{name:I.gospel,key:"gospel",count:m.gospel.count,population:m.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:W.gospel.count,population:W.gospel.population,color:ue}]},{name:I.audio,key:"audio",count:m.audio.count,population:m.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:W.audio.count,population:W.audio.population,color:ue}]},{name:I.stories,key:"stories",count:m.stories.count,population:m.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:W.stories.count,population:W.stories.population,color:ue}]},{name:I.hasResources,key:"hasResources",count:m.hasResources.count,population:m.hasResources.population,isParent:!0,children:[{name:I.noResources,key:"noResources",count:m.noResources.count,population:m.noResources.population,color:ue}]}],w.value=n.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:v.value,doxaRegionsData:x.value,resourcesData:T.value,stats:w.value}}catch(O){throw console.error(`Failed to load data for map "${t}":`,O),i.value=O.message||"Failed to load data",O}finally{s.value=!1}}async function _(){var O,$,m;try{const U={},H=u.value||[];for(const I of H){const W=I.countryIso||(($=(O=I._raw)==null?void 0:O.country_code)==null?void 0:$.value)||"",ue=(m=I._raw)==null?void 0:m.wagf_region,C=I.wagfRegionLabel||I.doxaRegionLabel||(ue&&typeof ue=="object"?ue.label:"")||I.doxaRegion||I.wagfRegion||"";W&&C&&!U[W]&&(U[W]=C)}return f.value={isoToRegion:U},f.value}catch(U){throw console.error(`Error building regions data for map "${t}":`,U),i.value=U.message||"Failed to build regions",U}}function S(){return n?n.getDataByLanguageFamily():{}}function g(){return n?n.getDataByRegion():{}}function k(O){return S()[O]||[]}function A(O){return g()[O]||[]}function L(){c.value=[],u.value=[],f.value=null,v.value=[],x.value=[],T.value=[],w.value=null,l.value=!1,i.value=null}return{isLoading:s,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:v,doxaRegionsData:x,resourcesData:T,stats:w,loadData:E,loadRegionsData:_,getDataByLanguageFamily:S,getDataByRegion:g,getPeopleGroupsByFamily:k,getPeopleGroupsByRegion:A,clearData:L}}const xb={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]}},wa={circleRadius:{standard:["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],highlighted:["interpolate",["linear"],["zoom"],0,4,4,5,8,12,12,20],faded:["interpolate",["linear"],["zoom"],0,2,4,2.5,8,5,12,8],compact:["interpolate",["linear"],["zoom"],0,2,4,3,8,6,12,10],large:["interpolate",["linear"],["zoom"],0,4,4,6,8,14,12,24],touchTarget:["interpolate",["linear"],["zoom"],0,14,2,18,4,22,6,24,8,26,10,28,12,32,14,40]},circleStrokeWidth:{standard:["interpolate",["linear"],["zoom"],0,.5,4,.75,8,1,12,1.5],thick:["interpolate",["linear"],["zoom"],0,1,4,1.5,8,2,12,3]}};function Lb(e){return xb[e]||null}function zr(e="standard"){return wa.circleRadius[e]||wa.circleRadius.standard}function Tb(e="standard"){return wa.circleStrokeWidth[e]||wa.circleStrokeWidth.standard}function Eb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=$e("uiStore"),s=me([]);function i(_){const S=n(_.languageFamily),g="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";let k=_.imageUrl;(!k||k.includes("NoImageAvailable"))&&(k=g);const A=(_.name||"U")[0].toUpperCase(),L=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"],O=A.charCodeAt(0)%L.length;return`
{try{const L=A.features[0],O=L.properties,$=L.geometry.coordinates.slice();for(;Math.abs(A.lngLat.lng-$[0])>180;)$[0]+=A.lngLat.lng>$[0]?360:-360;if(s&&s.legendMode!==void 0){s.selectPeopleGroup(L),s.isMobile&&s.legendState==="collapsed"&&s.setLegendState("open"),s.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat($).setHTML(i(O)).addTo(S)}catch(L){console.error(` [${o}] Pin click handler error:`,L)}};S.on("click",g,k),r.value.push({event:"click",layer:g,handler:k})}function u(){const _=t();if(!_)return;const S="regions-fill";if(!_.getLayer(S))return;const g=k=>{const A=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const L of A)if(_.getLayer(L)){const O=_.queryRenderedFeatures(k.point,{layers:[L]});if(O&&O.length>0)return}if(k.features&&k.features.length>0){const L=k.features[0].properties;new mapboxgl.Popup().setLngLat(k.lngLat).setHTML(l(L)).addTo(_)}};_.on("click",S,g),r.value.push({event:"click",layer:S,handler:g})}function f(){const _=t();if(!_)return;const S="clusters";if(!_.getLayer(S))return;const g=k=>{const A=_.queryRenderedFeatures(k.point,{layers:[S]});if(!A.length)return;const L=A[0].properties.cluster_id,O=A[0].source;_.getSource(O).getClusterExpansionZoom(L,($,m)=>{$||_.easeTo({center:A[0].geometry.coordinates,zoom:m})})};_.on("click",S,g),r.value.push({event:"click",layer:S,handler:g})}function v(_){const S=t();if(!S||!S.getLayer(_))return;const g=()=>{S.getCanvas().style.cursor="pointer"},k=()=>{S.getCanvas().style.cursor=""};S.on("mouseenter",_,g),S.on("mouseleave",_,k),r.value.push({event:"mouseenter",layer:_,handler:g}),r.value.push({event:"mouseleave",layer:_,handler:k})}function x(){c(),v("language-family-pins"),c("language-family-pins-hitbox"),v("language-family-pins-hitbox"),f(),v("clusters")}function T(){u(),v("regions-fill")}function w(){const _=t();_&&(_.getLayer("language-family-pins")&&x(),_.getLayer("regions-fill")&&T(),_.getLayer("people-groups-pins")&&(c(),v("people-groups-pins")))}function E(){const _=t();if(_){for(const{event:S,layer:g,handler:k}of r.value)try{_.off(S,g,k)}catch{}r.value=[]}}return{attachAllEventHandlers:w,attachLanguageFamilyEvents:x,attachRegionEvents:T,attachPinClickHandler:c,attachRegionClickHandler:u,attachClusterClickHandler:f,attachCursorHandlers:v,detachAllEventHandlers:E,generatePinPopupContent:i,generateRegionPopupContent:l,registeredHandlers:r}}const Cb=[[/ sign language$/i,"Sign Language"]];function $b(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(We[a])return We[a];if(o.length>=3){const s=[o[1],o[0]].join(" ");if(We[s])return We[s]}}if(We[t])return We[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&We[n])return We[n];for(const[a,s]of Cb)if(a.test(t))return s;return null}function Pb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,s=Eb({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),r=me({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=me({});function l(Z,ce="languageFamily"){const oe=t();if(!oe||!(Z!=null&&Z.length))return;const ke=Ks(ce),ie=Z.map(z=>{var he,N,d,y,b,P,D,B,Y,q,p,h,F,K,se,ee,R,V,de;return{type:"Feature",properties:{uniqueId:z.id||z.uniqueId,slug:z.slug||((he=z._normalized)==null?void 0:he.slug)||"",rop3:z.rop3||z.peopleGroupId,peopleId3:z.peopleId3||"",name:z.name,language:z.language,languageFamily:z.languageFamily||((N=z._normalized)==null?void 0:N.languageFamily)||$b(z.language)||"Unknown",affinityBlock:z.affinityBlock||z.affbloc||z.Affbloc||((d=z._normalized)==null?void 0:d.affinityBlock)||"Unknown",affinityBlockLabel:z.affinityBlockLabel||((y=z._normalized)==null?void 0:y.affinityBlockLabel)||"",cluster:z.cluster||((b=z._normalized)==null?void 0:b.cluster)||"",clusterLabel:z.clusterLabel||((P=z._normalized)==null?void 0:P.clusterLabel)||"",peopleGroup:z.peopleGroup||((D=z._normalized)==null?void 0:D.peopleGroup)||"",peopleGroupLabel:z.peopleGroupLabel||((B=z._normalized)==null?void 0:B.peopleGroupLabel)||"",doxaRegion:z.doxaRegion||((Y=z._normalized)==null?void 0:Y.doxaRegion)||"Unknown",wagfBlock:z.wagfBlock||((q=z._normalized)==null?void 0:q.wagfBlock)||"",wagfBlockLabel:z.wagfBlockLabel||((p=z._normalized)==null?void 0:p.wagfBlockLabel)||"",wagfRegionLabel:z.wagfRegionLabel||((h=z._normalized)==null?void 0:h.wagfRegionLabel)||"",country:z.country,countryIso:z.countryIso,countryIsoLabel:z.countryIsoLabel,countryName:z.countryName,religion:z.religion,religionCode:z.religionCode,religionLabel:z.religionLabel,religionName:z.religionName,population:z.population,status:z.status,description:z.description||"",imageUrl:z.imageUrl||"",peoplePraying:Number(z.peoplePraying??((F=z._normalized)==null?void 0:F.peoplePraying)??0),engagementStatus:z.engagementStatus===!0||z.engagementStatus===1||!1,adoptionStatus:z.adoptionStatus===!0||z.adoptionStatus===1||!1,bible:z.bible||((K=z._normalized)==null?void 0:K.bible)||"Not Available",jesusFilm:z.jesusFilm||((se=z._normalized)==null?void 0:se.jesusFilm)||"Not Available",radio:z.radio||((ee=z._normalized)==null?void 0:ee.radio)||"Not Available",gospel:z.gospel||((R=z._normalized)==null?void 0:R.gospel)||"Not Available",audio:z.audio||((V=z._normalized)==null?void 0:V.audio)||"Not Available",stories:z.stories||((de=z._normalized)==null?void 0:de.stories)||"Not Available",lng:parseFloat(z.longitude||z.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(z.longitude||z.lng),parseFloat(z.latitude||z.lat)]}}}).filter(z=>!isNaN(z.geometry.coordinates[0])&&!isNaN(z.geometry.coordinates[1])),Fe=.04,ge=z=>`${z.geometry.coordinates[0]},${z.geometry.coordinates[1]}`,Te=new Map;for(const z of ie){const he=ge(z);Te.has(he)||Te.set(he,[]),Te.get(he).push(z)}for(const z of Te.values()){if(z.length<2)continue;const[he,N]=z[0].geometry.coordinates,d=z.length;for(let y=0;y{var he;return(Ae.languageFamily||((he=Ae._normalized)==null?void 0:he.languageFamily)||"Unknown")===Z});if(ke.length<2)return;const ie=n(Z),Fe=[],ge=15,Te=[...ke].sort((Ae,z)=>(Ae.longitude||Ae.lng)-(z.longitude||z.lng));for(let Ae=0;Ae=",["get","peoplePraying"],To],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const I=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function W(Z,ce){const oe=["interpolate",["linear"],["zoom"]];for(let ke=0;ke",["get","peoplePraying"],0],oe=H();if(!O.every(ie=>Z.getLayer(ie))){for(const ie of O)if(Z.getLayer(ie))try{Z.removeLayer(ie)}catch{}Z.addLayer({id:k,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":oe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0}},"language-family-pins");for(const ie of L)Z.addLayer({id:ie,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":oe,"circle-stroke-opacity":0}},"language-family-pins")}}function C(){const Z=t();if(Z)for(const ce of O)Z.getLayer(ce)&&Z.removeLayer(ce)}function M(Z){const ce=t();if(!ce)return;const oe=[">",["get","peoplePraying"],0],ke=Z?["all",oe,Z]:oe;for(const ie of O)if(ce.getLayer(ie))try{ce.setFilter(ie,ke)}catch{}}function G(){const Z=t();if(Z){if(ue(),_&&(cancelAnimationFrame(_),_=null),S=!0,Z.getLayer("language-family-pins"))try{Z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],To],1,[">",["get","peoplePraying"],0],1,3])}catch{}re()}}function re(){_&&(cancelAnimationFrame(_),_=null);const Z=++g;let ce=performance.now();function oe(ke){if(!S||Z!==g)return;const ie=t();if(!ie||!O.some(ge=>ie.getLayer(ge))){_=null;return}const Fe=(ke-ce)/1e3;for(let ge=0;ge{try{const L=A.features[0],O=L.properties,$=L.geometry.coordinates.slice();for(;Math.abs(A.lngLat.lng-$[0])>180;)$[0]+=A.lngLat.lng>$[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(L),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("doxa:openDesktopLegend",{detail:{mapId:o}}));return}new mapboxgl.Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat($).setHTML(i(O)).addTo(S)}catch(L){console.error(` [${o}] Pin click handler error:`,L)}};S.on("click",g,k),s.value.push({event:"click",layer:g,handler:k})}function u(){const _=t();if(!_)return;const S="regions-fill";if(!_.getLayer(S))return;const g=k=>{const A=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const L of A)if(_.getLayer(L)){const O=_.queryRenderedFeatures(k.point,{layers:[L]});if(O&&O.length>0)return}if(k.features&&k.features.length>0){const L=k.features[0].properties;new mapboxgl.Popup().setLngLat(k.lngLat).setHTML(l(L)).addTo(_)}};_.on("click",S,g),s.value.push({event:"click",layer:S,handler:g})}function f(){const _=t();if(!_)return;const S="clusters";if(!_.getLayer(S))return;const g=k=>{const A=_.queryRenderedFeatures(k.point,{layers:[S]});if(!A.length)return;const L=A[0].properties.cluster_id,O=A[0].source;_.getSource(O).getClusterExpansionZoom(L,($,m)=>{$||_.easeTo({center:A[0].geometry.coordinates,zoom:m})})};_.on("click",S,g),s.value.push({event:"click",layer:S,handler:g})}function v(_){const S=t();if(!S||!S.getLayer(_))return;const g=()=>{S.getCanvas().style.cursor="pointer"},k=()=>{S.getCanvas().style.cursor=""};S.on("mouseenter",_,g),S.on("mouseleave",_,k),s.value.push({event:"mouseenter",layer:_,handler:g}),s.value.push({event:"mouseleave",layer:_,handler:k})}function x(){c(),v("language-family-pins"),c("language-family-pins-hitbox"),v("language-family-pins-hitbox"),f(),v("clusters")}function T(){u(),v("regions-fill")}function w(){const _=t();_&&(_.getLayer("language-family-pins")&&x(),_.getLayer("regions-fill")&&T(),_.getLayer("people-groups-pins")&&(c(),v("people-groups-pins")))}function E(){const _=t();if(_){for(const{event:S,layer:g,handler:k}of s.value)try{_.off(S,g,k)}catch{}s.value=[]}}return{attachAllEventHandlers:w,attachLanguageFamilyEvents:x,attachRegionEvents:T,attachPinClickHandler:c,attachRegionClickHandler:u,attachClusterClickHandler:f,attachCursorHandlers:v,detachAllEventHandlers:E,generatePinPopupContent:i,generateRegionPopupContent:l,registeredHandlers:s}}const Cb=[[/ sign language$/i,"Sign Language"]];function $b(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(We[a])return We[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(We[r])return We[r]}}if(We[t])return We[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&We[n])return We[n];for(const[a,r]of Cb)if(a.test(t))return r;return null}function Pb(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=Eb({getMap:t,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),s=me({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),i=me({});function l(Z,ce="languageFamily"){const oe=t();if(!oe||!(Z!=null&&Z.length))return;const ke=Kr(ce),ie=Z.map(z=>{var he,N,d,y,b,P,D,B,Y,q,p,h,F,K,re,ee,R,V,de;return{type:"Feature",properties:{uniqueId:z.id||z.uniqueId,slug:z.slug||((he=z._normalized)==null?void 0:he.slug)||"",rop3:z.rop3||z.peopleGroupId,peopleId3:z.peopleId3||"",name:z.name,language:z.language,languageFamily:z.languageFamily||((N=z._normalized)==null?void 0:N.languageFamily)||$b(z.language)||"Unknown",affinityBlock:z.affinityBlock||z.affbloc||z.Affbloc||((d=z._normalized)==null?void 0:d.affinityBlock)||"Unknown",affinityBlockLabel:z.affinityBlockLabel||((y=z._normalized)==null?void 0:y.affinityBlockLabel)||"",cluster:z.cluster||((b=z._normalized)==null?void 0:b.cluster)||"",clusterLabel:z.clusterLabel||((P=z._normalized)==null?void 0:P.clusterLabel)||"",peopleGroup:z.peopleGroup||((D=z._normalized)==null?void 0:D.peopleGroup)||"",peopleGroupLabel:z.peopleGroupLabel||((B=z._normalized)==null?void 0:B.peopleGroupLabel)||"",doxaRegion:z.doxaRegion||((Y=z._normalized)==null?void 0:Y.doxaRegion)||"Unknown",wagfBlock:z.wagfBlock||((q=z._normalized)==null?void 0:q.wagfBlock)||"",wagfBlockLabel:z.wagfBlockLabel||((p=z._normalized)==null?void 0:p.wagfBlockLabel)||"",wagfRegionLabel:z.wagfRegionLabel||((h=z._normalized)==null?void 0:h.wagfRegionLabel)||"",country:z.country,countryIso:z.countryIso,countryIsoLabel:z.countryIsoLabel,countryName:z.countryName,religion:z.religion,religionCode:z.religionCode,religionLabel:z.religionLabel,religionName:z.religionName,population:z.population,status:z.status,description:z.description||"",imageUrl:z.imageUrl||"",peoplePraying:Number(z.peoplePraying??((F=z._normalized)==null?void 0:F.peoplePraying)??0),engagementStatus:z.engagementStatus===!0||z.engagementStatus===1||!1,adoptionStatus:z.adoptionStatus===!0||z.adoptionStatus===1||!1,bible:z.bible||((K=z._normalized)==null?void 0:K.bible)||"Not Available",jesusFilm:z.jesusFilm||((re=z._normalized)==null?void 0:re.jesusFilm)||"Not Available",radio:z.radio||((ee=z._normalized)==null?void 0:ee.radio)||"Not Available",gospel:z.gospel||((R=z._normalized)==null?void 0:R.gospel)||"Not Available",audio:z.audio||((V=z._normalized)==null?void 0:V.audio)||"Not Available",stories:z.stories||((de=z._normalized)==null?void 0:de.stories)||"Not Available",lng:parseFloat(z.longitude||z.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(z.longitude||z.lng),parseFloat(z.latitude||z.lat)]}}}).filter(z=>!isNaN(z.geometry.coordinates[0])&&!isNaN(z.geometry.coordinates[1])),Fe=.04,ge=z=>`${z.geometry.coordinates[0]},${z.geometry.coordinates[1]}`,Te=new Map;for(const z of ie){const he=ge(z);Te.has(he)||Te.set(he,[]),Te.get(he).push(z)}for(const z of Te.values()){if(z.length<2)continue;const[he,N]=z[0].geometry.coordinates,d=z.length;for(let y=0;y{var he;return(Ae.languageFamily||((he=Ae._normalized)==null?void 0:he.languageFamily)||"Unknown")===Z});if(ke.length<2)return;const ie=n(Z),Fe=[],ge=15,Te=[...ke].sort((Ae,z)=>(Ae.longitude||Ae.lng)-(z.longitude||z.lng));for(let Ae=0;Ae=",["get","peoplePraying"],To],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const I=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function W(Z,ce){const oe=["interpolate",["linear"],["zoom"]];for(let ke=0;ke",["get","peoplePraying"],0],oe=H();if(!O.every(ie=>Z.getLayer(ie))){for(const ie of O)if(Z.getLayer(ie))try{Z.removeLayer(ie)}catch{}Z.addLayer({id:k,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":oe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0}},"language-family-pins");for(const ie of L)Z.addLayer({id:ie,type:"circle",source:"language-families",filter:ce,paint:{"circle-radius":W(I,1),"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":oe,"circle-stroke-opacity":0}},"language-family-pins")}}function C(){const Z=t();if(Z)for(const ce of O)Z.getLayer(ce)&&Z.removeLayer(ce)}function M(Z){const ce=t();if(!ce)return;const oe=[">",["get","peoplePraying"],0],ke=Z?["all",oe,Z]:oe;for(const ie of O)if(ce.getLayer(ie))try{ce.setFilter(ie,ke)}catch{}}function G(){const Z=t();if(Z){if(ue(),_&&(cancelAnimationFrame(_),_=null),S=!0,Z.getLayer("language-family-pins"))try{Z.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],To],1,[">",["get","peoplePraying"],0],1,3])}catch{}se()}}function se(){_&&(cancelAnimationFrame(_),_=null);const Z=++g;let ce=performance.now();function oe(ke){if(!S||Z!==g)return;const ie=t();if(!ie||!O.some(ge=>ie.getLayer(ge))){_=null;return}const Fe=(ke-ce)/1e3;for(let ge=0;ge /* Angled, brush-style pin (qa: 2026-05-06 user feedback — wanted a more hand-drawn / painterly feel like the reference image they shared). @@ -188,9 +188,9 @@ fill="url(#${o})" /> -`,t}function Ib(e={}){const{getMap:t=()=>null}=e,o=$e("uiStore");let n=null,a=null;const s=$e("getActivePinColor",null);let r=Vs,i=null;function l(){const w=t();w&&(w.getLayer(ho)||w.getSource("language-families")&&w.addLayer({id:ho,type:"circle",source:"language-families",paint:{"circle-radius":["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],"circle-color":r,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function c(){(!n||i!==r)&&(n=Mb(r),i=r)}function u(w,E){const _=t();_&&(c(),a&&a.remove(),a=new mapboxgl.Marker({element:n,anchor:"bottom",offset:[0,0]}).setLngLat([w,E]).addTo(_))}function f(){a&&(a.remove(),a=null)}function v(w){var L,O;const E=t();if(!E)return;const _=(s==null?void 0:s(w==null?void 0:w.properties))??Vs;if(_!==r&&(r=_,E.getLayer(ho)&&E.setPaintProperty(ho,"circle-color",r)),l(),!w){E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],"__none__"]),f();return}const S=((L=w.properties)==null?void 0:L.uniqueId)||"__none__",g=(O=w.geometry)==null?void 0:O.coordinates;if(!g)return;E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],S]);const[k,A]=g;u(k,A)}Ye(()=>o.selectedPeopleGroup,w=>{v(w)});function x(){l()}function T(){f(),n=null}return{initialize:x,cleanup:T,updateSelectedPin:v}}function mo(e,t){const o=t||Nb(e);ao(()=>{var i;const n=so();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}function Nb(e){let t=0;for(let o=0;o 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}}},Ws={};function Fc(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:xa&&xa.tagName.toUpperCase()==="SCRIPT"&&xa.src||new URL("doxa-simple-map.js",document.baseURI).href}<"u"&&(Ws==null?void 0:Ws.VITE_API_BASE_URL)||""}class Rb{constructor(){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.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Fb,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 a="",s=!1,r=[],i=!0;for(let l=0;l0){if(r.push(a.trim()),a="",i)n.push(...r),i=!1;else if(r.length>1){const f={};n.forEach((v,x)=>{f[v]=r[x]||""}),o.push(f)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};n.forEach((c,u)=>{l[c]=r[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(n);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(r=>r.trim())),s=[];for(const[r,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||s.push({systemField:r,sourceField:l,isComposite:!0});else i&&!a.has(i)&&s.push({systemField:r,sourceField:i,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 l,c;const o=Fc(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",s=[];a&&s.push(`fields=${a}`);const r={...t.queryParams||{}};for(const[u,f]of Object.entries(r))s.push(`${u}=${encodeURIComponent(f)}`);const i=`${o}${n}?${s.join("&")}`;try{const u=await fetch(i);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 v=await u.json();return this.rawData=Array.isArray(v)?v:v.posts||v.data||v.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 a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const s=a.engagementStatus;s!=null&&(typeof s=="object"&&"value"in s?(a.engagementStatusLabel=s.label||s.value,a.engagementStatus=s.value==="engaged"):a.engagementStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const r=a.adoptionStatus;r!=null&&(a.adoptionStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="object"&&!!(r!=null&&r.value)||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}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 a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];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||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.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}}}const bo={center:[20,10],zoom:1.8,pitch:20,bearing:0};function Db(e){return(e==null?void 0:e.properties)||e||{}}function ka(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function Ob(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(We[n])return We[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(We[a])return We[a]}}if(We[e])return We[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&We[o]?We[o]:null}const Bb=[[/ sign language$/i,"Sign Language"]];function Ub(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function jb(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function Gb(e){var r,i,l,c;const t=e.language_family??e.languageFamily??((r=e._raw)==null?void 0:r.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=ka(t),n=Us(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),s=ka(a);if(s){const u=String(s).trim(),f=Ob(u);if(f)return f;for(const[v,x]of Bb)if(v.test(u))return x}return"Unknown"}function Kb(e){var a,s;const t=((a=e._raw)==null?void 0:a.primary_language)??((s=e._raw)==null?void 0:s.PrimaryLanguage);if(t){const r=ka(t);if(r)return String(r).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=ka(o);return n&&String(n).trim()||"— Unknown —"}function Hb(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function zb(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function Vb(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function Wb(e,t){var a,s,r,i;const o=parseFloat(t.latitude??t.lat??((a=t._raw)==null?void 0:a.Latitude)??((s=t._raw)==null?void 0:s.latitude)),n=parseFloat(t.longitude??t.lng??((r=t._raw)==null?void 0:r.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function Yb(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function Sa(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function Rc(e,t={}){t.aggregator;const o=Io({});function n(w){return!!o[w]}function a(w){o[w]=!o[w]}function s(w){const E=new Set(Array.isArray(w)?w:[]);for(const _ of Object.keys(o))E.has(_)||(o[_]=!1);for(const _ of E)o[_]=!0}const r=Q(()=>{const w=(e==null?void 0:e.value)||[],E=new Map;for(const _ of w){const S=Db(_),g=Gb(S),k=Kb(S),A=Ub(k),L=jb(k),O=Hb(S),$=zb(_,S),m=Vb(_,S),U=Wb(_,S);let H=E.get(g);H||(H={key:g,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},E.set(g,H)),H.peopleGroupCount+=1,H.population+=O,$!=null&&H.pinIds.push($),U&&H.coords.push(U),m&&!H.clusterId&&(H.clusterId=m);let I=H.languages.get(A);if(I||(I={key:A,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},H.languages.set(A,I)),I.peopleGroupCount+=1,I.population+=O,$!=null&&I.pinIds.push($),U&&I.coords.push(U),m&&!I.clusterId&&(I.clusterId=m),L){let W=I.dialects.get(L);W?W.originalLabels.add(k):(W={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([k])},I.dialects.set(L,W)),W.peopleGroupCount+=1,W.population+=O,$!=null&&W.pinIds.push($),U&&W.coords.push(U)}}return E}),i=t.showAllKnown!==!1,l=Q(()=>{const w=r.value,E=[],_=new Set;for(const S of w.values())E.push({key:S.key,label:S.key,color:Mt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),_.add(S.key);if(i)for(const S of Object.keys(Zo))_.has(S)||E.push({key:S,label:S,color:Mt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return E.sort(Yb),E});function c(w){const E=r.value.get(w);if(!E)return[];const _=[];for(const S of E.languages.values())_.push({key:`${w}__${S.key}`,label:S.key,color:Mt(w),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:w,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return _.sort(Sa),_}function u(w){const E=w.indexOf("__");if(E<0)return[];const _=w.slice(0,E),S=w.slice(E+2),g=r.value.get(_);if(!g)return[];const k=g.languages.get(S);if(!k)return[];const A=[];for(const L of k.dialects.values())A.push({key:`${w}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Mt(_),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:_,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return A.sort(Sa),A}const f=Q(()=>{const w=r.value,E=[];for(const _ of w.values())for(const S of _.languages.values())E.push({key:`${_.key}__${S.key}`,label:S.key,color:Mt(_.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return E.sort(Sa),E}),v=Q(()=>{const w=r.value,E=[];for(const _ of w.values())for(const S of _.languages.values())for(const g of S.dialects.values())E.push({key:`${_.key}__${S.key}__${g.key}`,label:`${S.key}, ${g.key}`,dialectOnly:g.key,color:Mt(_.key),peopleGroupCount:g.peopleGroupCount,population:g.population,kind:"dialect",languageKey:S.key,familyKey:_.key,pinIds:g.pinIds,coords:g.coords,originalLabels:Array.from(g.originalLabels)});return E.sort(Sa),E});function x(w){let E=w;if(typeof w=="string"&&(E=l.value.find(S=>S.key===w),!E))return;const _={kind:E.kind,pinIds:E.pinIds||[],coords:E.coords||[]};E.kind==="family"&&(_.familyKey=E.label),E.kind==="language"&&(_.languageKey=E.label,_.familyKey=E.familyKey),E.kind==="dialect"&&(_.dialectKey=E.key,_.dialectOnly=E.dialectOnly||E.label,_.languageKey=E.languageKey,_.familyKey=E.familyKey,_.originalLabels=E.originalLabels||[]),E.kind==="cluster"&&(_.clusterId=E.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:_}))}const T=Q(()=>{const w=r.value,E=[];for(const _ of w.values()){const S=Mt(_.key),g=[];for(const A of _.languages.values()){A.key&&A.key!=="— Unknown —"&&g.push(A.key);for(const L of A.dialects.values())for(const O of L.originalLabels)O&&g.push(O)}const k={id:`fam:${_.key}`,label:_.key,color:S,count:_.peopleGroupCount,pop:_.population,filter:g.length>0?["any",["==",["get","languageFamily"],_.key],["in",["get","language"],["literal",Array.from(new Set(g))]]]:["==",["get","languageFamily"],_.key],children:[]};for(const A of _.languages.values()){const L=A.key,O={id:`lang:${_.key}__${L}`,label:L,color:S,count:A.peopleGroupCount,pop:A.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const $ of A.dialects.values()){const m=Array.from($.originalLabels);O.children.push({id:`dial:${_.key}__${L}__${$.key}`,label:`${L}, ${$.key}`,color:S,count:$.peopleGroupCount,pop:$.population,filter:m.length===1?["==",["get","language"],m[0]]:["in",["get","language"],["literal",m]],originalLabels:m,children:[]})}k.children.push(O)}E.push(k)}return E.sort((_,S)=>S.pop-_.pop||S.count-_.count),E});return{rows:l,languageRows:f,dialectRows:v,langTree:T,toggle:a,isExpanded:n,setExpansionToOnly:s,childRowsFor:c,dialectRowsFor:u,highlight:x}}const qb=[],Jb={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","No WAGF Region/Bloc":"#95a5a6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},Dc={"Arab World":"#3aac4c",Deaf:"#FFFFFF","East Asian Peoples":"#f7ee6a","Eurasian Peoples":"#ffefbd","Horn of Africa Peoples":"#d37429",Jews:"#710f11","Latin-Caribbean Americans":"#e61e24","Malay Peoples":"#acd566","North American Peoples":"#f87d80","Pacific Islanders":"#418c71","Persian-Median":"#20306c","South Asian Peoples":"#a7892f","Southeast Asian Peoples":"#e84e21","Sub-Saharan Peoples":"#9e4821","Tibetan-Himalayan Peoples":"#426eb5","Turkic Peoples":"#b57bb5"};function Co(e,t){const a=Object.values(e.sources||{}).flatMap(s=>(s==null?void 0:s.features)||[]).filter(s=>t(s.properties||s));return{count:a.length,population:a.reduce((s,r)=>{var l;const i=r.properties||r;return s+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}function Oc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}function Bc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const Xb={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function In(e){return e==="doxa-region"?"doxa-regions":e}function Zb(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function Qb(e){return(Number(e)||0).toLocaleString()}function Ys(e,t={}){const o=$e("dataStore"),n=$e("uiStore"),a=$e("mapStore"),{t:s}=gt(),r=Q(()=>{if(In(e.value)==="religion")return"Religion";const w=Xb[e.value];return w?s(w):""}),i=Q(()=>In(e.value)==="affinity-blocs"?qb:[{key:"count",label:s("legend.columns.upgs"),width:48},{key:"population",label:s("legend.columns.population"),width:48}]),l=Q(()=>{const T=In(e.value);return T==="prayer"?n.prayerFilter:T==="engagement"?n.engagementFilter:T==="adoption"?n.adoptionFilter:T==="language-families"?a.selectedFamily:T==="doxa-regions"?a.selectedRegion:T==="gospel-resources"?a.selectedResource:T==="religion"?n.religionFilter:null});function c(T){const w=In(e.value);w==="prayer"?n.setPrayerFilter(n.prayerFilter===T?null:T):w==="engagement"?n.setEngagementFilter(n.engagementFilter===T?null:T):w==="adoption"?n.setAdoptionFilter(n.adoptionFilter===T?null:T):w==="language-families"?a.selectFamily(a.selectedFamily===T?null:T):w==="doxa-regions"?a.selectRegion(a.selectedRegion===T?null:T):w==="gospel-resources"?a.selectResource(a.selectedResource===T?null:T):w==="religion"&&n.setReligionFilter(n.religionFilter===T?null:T)}const u=Q(()=>{var w,E,_,S;const T=In(e.value);if(T==="prayer"){const g=Co(o,L=>Yo(L)==="noPrayer"),k=Co(o,L=>Yo(L)==="hasPrayer"),A=Co(o,L=>Yo(L)==="fullPrayer");return[{key:"noPrayer",label:s("legend.prayer.needsPrayer"),color:Bs.noPrayer,count:g.count,population:g.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:s("legend.prayer.hasPrayer"),color:Bs.hasPrayer,count:k.count,population:k.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:s("legend.prayer.fullPrayerCoverage"),color:Bs.fullPrayer,count:A.count,population:A.population,filterKey:"fullPrayer"}]}]}if(T==="engagement"){const g=Co(o,A=>!Oc(A)),k=Co(o,A=>Oc(A));return[{key:"notEngaged",label:s("legend.engagement.needsEngagement"),color:hc.notEngaged,count:g.count,population:g.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:s("legend.engagement.hasEngagement"),color:hc.hasEngagement,count:k.count,population:k.population,filterKey:"hasEngagement"}]}]}if(T==="adoption"){const g=Co(o,A=>!Bc(A)),k=Co(o,A=>Bc(A));return[{key:"notAdopted",label:s("legend.adoption.needsAdoption"),color:bc.notAdopted,count:g.count,population:g.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:s("legend.adoption.hasAdoption"),color:bc.hasAdoption,count:k.count,population:k.population,filterKey:"hasAdoption"}]}]}if(T==="religion"){const g={},A=Object.values(o.sources||{}).flatMap($=>($==null?void 0:$.features)||[]);for(const $ of A){const m=$.properties||$,U=m.religion||((E=(w=m._raw)==null?void 0:w.religion)==null?void 0:E.value)||((_=m._raw)==null?void 0:_.religion)||"",H=Pc(U);g[H]||(g[H]={count:0,population:0}),g[H].count+=1,g[H].population+=parseInt(m.population||((S=m._raw)==null?void 0:S.Population)||0)||0}const L=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const $ of L)delete g[$];return Object.keys(g).sort(($,m)=>$==="C"?-1:m==="C"?1:g[m].population-g[$].population).map($=>({key:$,label:Gs[$]||"Unknown",color:St[$]||"#94a3b8",count:g[$].count,population:g[$].population,filterKey:$,children:[]}))}if(T==="language-families")return(o.languageFamiliesData||[]).map(g=>({key:g.name,label:g.name,color:Mt(g.name),count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="language-family"){const k={value:Object.values(o.sources||{}).flatMap(L=>(L==null?void 0:L.features)||[])},{rows:A}=Rc(k);return A.value.map(L=>({key:L.key,label:L.label,color:L.color,count:L.peopleGroupCount,population:L.population,filterKey:L.key,children:[]}))}if(T==="doxa-regions")return(o.doxaRegionsData||[]).map(g=>({key:g.name,label:g.name,color:Jb[g.name]||"#999",count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="gospel-resources"){const g=o.resourcesData||[];return Object.keys(oo).map(k=>{const A=g.find(L=>L.key===k);return{key:k,label:fb[k]||k,color:oo[k],count:(A==null?void 0:A.count)||0,population:(A==null?void 0:A.population)||0,filterKey:k,children:((A==null?void 0:A.children)||[]).map(L=>({key:L.key,label:L.name||L.key,color:L.color||oo[k],count:L.count||0,population:L.population||0,filterKey:L.key}))}})}return T==="affinity-blocs"?Object.keys(Dc).map(g=>({key:g,label:g,color:Dc[g],filterKey:g,children:[]})):[]});function f(T,w){return T.reduce((E,_)=>{var g;let S=_[w]||0;return(g=_.children)!=null&&g.length&&(S+=f(_.children,w)),E+S},0)}const v=Q(()=>f(u.value,"count")),x=Q(()=>f(u.value,"population"));return{items:u,columns:i,title:r,activeFilter:l,setFilter:c,totalCount:v,totalPopulation:x,fmtPop:Zb,fmtCount:Qb}}const ey={key:0,class:"lrg-title-row"},ty={class:"lrg-title-caret-slot"},oy={class:"lrg-title"},ny={class:"lrg-row"},ay=["onClick"],sy={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},ry=["onClick"],iy={class:"lrg-name"},ly={class:"lrg-badge-inner"},cy=["onClick"],uy={class:"lrg-name"},dy={class:"lrg-badge-inner"},py={key:1,class:"lrg-footer"},gy={class:"lrg-footer-label"},Uc=Ao({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1}},emits:["filter-click"],setup(e){const{t}=gt();mo(` +`,t}function Ib(e={}){const{getMap:t=()=>null}=e,o=$e("uiStore");let n=null,a=null;const r=$e("getActivePinColor",null);let s=Vr,i=null;function l(){const w=t();w&&(w.getLayer(ho)||w.getSource("language-families")&&w.addLayer({id:ho,type:"circle",source:"language-families",paint:{"circle-radius":["interpolate",["linear"],["zoom"],0,3,2,3.5,4,4,5,5,6,6.5,7,8,8,10,10,14,12,18,14,22],"circle-color":s,"circle-opacity":1,"circle-stroke-width":2,"circle-stroke-color":"#FFFFFF","circle-stroke-opacity":1},filter:["==",["get","uniqueId"],"__none__"]}))}function c(){(!n||i!==s)&&(n=Mb(s),i=s)}function u(w,E){const _=t();_&&(c(),a&&a.remove(),a=new mapboxgl.Marker({element:n,anchor:"bottom",offset:[0,0]}).setLngLat([w,E]).addTo(_))}function f(){a&&(a.remove(),a=null)}function v(w){var L,O;const E=t();if(!E)return;const _=(r==null?void 0:r(w==null?void 0:w.properties))??Vr;if(_!==s&&(s=_,E.getLayer(ho)&&E.setPaintProperty(ho,"circle-color",s)),l(),!w){E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],"__none__"]),f();return}const S=((L=w.properties)==null?void 0:L.uniqueId)||"__none__",g=(O=w.geometry)==null?void 0:O.coordinates;if(!g)return;E.getLayer(ho)&&E.setFilter(ho,["==",["get","uniqueId"],S]);const[k,A]=g;u(k,A)}Ye(()=>o.selectedPeopleGroup,w=>{v(w)});function x(){l()}function T(){f(),n=null}return{initialize:x,cleanup:T,updateSelectedPin:v}}function mo(e,t){const o=t||Nb(e);ao(()=>{var i;const n=ro();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const r=a.getRootNode();if(!(r instanceof ShadowRoot)||r.querySelector(`style[data-shadow-styles="${o}"]`))return;const s=document.createElement("style");s.setAttribute("data-shadow-styles",o),s.textContent=e,r.appendChild(s)})}function Nb(e){let t=0;for(let o=0;o 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}}},Wr={};function Fc(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:xa&&xa.tagName.toUpperCase()==="SCRIPT"&&xa.src||new URL("doxa-simple-map.js",document.baseURI).href}<"u"&&(Wr==null?void 0:Wr.VITE_API_BASE_URL)||""}class Rb{constructor(){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.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Fb,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 a="",r=!1,s=[],i=!0;for(let l=0;l0){if(s.push(a.trim()),a="",i)n.push(...s),i=!1;else if(s.length>1){const f={};n.forEach((v,x)=>{f[v]=s[x]||""}),o.push(f)}s=[]}}else a+=c}if((a||s.length>0)&&(s.push(a.trim()),!i&&s.length>1)){const l={};n.forEach((c,u)=>{l[c]=s[u]||""}),o.push(l)}return{headers:n,data:o}}async loadCSVData(t){try{const n=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:r}=this.parseCSV(n);return this.rawData=r,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(o){throw console.error("Failed to load CSV data:",o),o}}validateFieldMappings(t,o,n){const a=new Set(o.map(s=>s.trim())),r=[];for(const[s,i]of Object.entries(t||{}))if(Array.isArray(i))for(const l of i)a.has(l)||r.push({systemField:s,sourceField:l,isComposite:!0});else i&&!a.has(i)&&r.push({systemField:s,sourceField:i,isComposite:!1});r.length>0&&console.warn(`[DataSourceManager] ${n}: missing CSV columns:`,r)}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 l,c;const o=Fc(),n=((l=t.endpoints)==null?void 0:l.bulk)||"/api/people-groups/list",a=((c=t.defaultFields)==null?void 0:c.join(","))||"",r=[];a&&r.push(`fields=${a}`);const s={...t.queryParams||{}};for(const[u,f]of Object.entries(s))r.push(`${u}=${encodeURIComponent(f)}`);const i=`${o}${n}?${r.join("&")}`;try{const u=await fetch(i);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 v=await u.json();return this.rawData=Array.isArray(v)?v:v.posts||v.data||v.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 a={};for(const[l,c]of Object.entries(o))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(n,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(n,c);if(a.latitude=parseFloat(a.latitude)||0,a.longitude=parseFloat(a.longitude)||0,a.latitude===0&&a.longitude===0)continue;a.populationNum=this.parsePopulation(a.population),a.imageUrl=this.getImageUrl(a,t.imageConfig);const r=a.engagementStatus;r!=null&&(typeof r=="object"&&"value"in r?(a.engagementStatusLabel=r.label||r.value,a.engagementStatus=r.value==="engaged"):a.engagementStatus=r===!0||r===1||r==="1"||r==="true"||typeof r=="number"&&r>0||typeof r=="string"&&parseInt(r,10)>0);const s=a.adoptionStatus;s!=null&&(a.adoptionStatus=s===!0||s===1||s==="1"||s==="true"||typeof s=="object"&&!!(s!=null&&s.value)||typeof s=="number"&&s>0||typeof s=="string"&&parseInt(s,10)>0);const i=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of i){const c=a[l];c!=null&&typeof c=="object"&&"value"in c?(a[l+"Label"]=c.label||c.value,a[l]=c.value):c!=null&&typeof c=="string"&&c!==""&&(a[l+"Label"]||(a[l+"Label"]=c))}a.countryName=a.countryIsoLabel||a.country||a.countryIso||"",a.religionName=a.religionLabel||a.religion||"",a._raw=n,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}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 a of Object.keys(t))if(a.trim()===n||a.includes(n)||n.includes(a.trim()))return t[a];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||"",a=t[o.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:n}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,o,n=1e-4){return this.normalizedData.find(a=>Math.abs(a.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}}}const bo={center:[20,10],zoom:1.8,pitch:20,bearing:0};function Db(e){return(e==null?void 0:e.properties)||e||{}}function ka(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function Ob(e){if(!e||typeof e!="string")return null;const t=e.split(",").map(n=>n.trim()).filter(Boolean);if(t.length>=2){const n=[...t].reverse().join(" ");if(We[n])return We[n];if(t.length>=3){const a=[t[1],t[0]].join(" ");if(We[a])return We[a]}}if(We[e])return We[e];const o=e.replace(/\s*\(.*?\)\s*$/,"").trim();return o!==e&&We[o]?We[o]:null}const Bb=[[/ sign language$/i,"Sign Language"]];function Ub(e){if(!e||typeof e!="string")return"— Unknown —";const t=e.indexOf(",");return t>0?e.slice(0,t).trim():e.trim()}function jb(e){if(!e||typeof e!="string")return null;const t=e.indexOf(",");return t>=0&&e.slice(t+1).trim()||null}function Gb(e){var s,i,l,c;const t=e.language_family??e.languageFamily??((s=e._raw)==null?void 0:s.LanguageFamily)??((i=e._raw)==null?void 0:i.language_family),o=ka(t),n=Ur(o);if(n&&n!=="Unknown")return n;const a=e.primary_language??e.primaryLanguage??((l=e._raw)==null?void 0:l.PrimaryLanguage)??((c=e._raw)==null?void 0:c.primary_language),r=ka(a);if(r){const u=String(r).trim(),f=Ob(u);if(f)return f;for(const[v,x]of Bb)if(v.test(u))return x}return"Unknown"}function Kb(e){var a,r;const t=((a=e._raw)==null?void 0:a.primary_language)??((r=e._raw)==null?void 0:r.PrimaryLanguage);if(t){const s=ka(t);if(s)return String(s).trim()}const o=e.primary_language??e.primaryLanguage??e.language,n=ka(o);return n&&String(n).trim()||"— Unknown —"}function Hb(e){var o,n;const t=e.population??((o=e._raw)==null?void 0:o.Population)??((n=e._raw)==null?void 0:n.population)??0;return parseInt(t,10)||0}function zb(e,t){var o,n;return(e==null?void 0:e.id)??t.id??t.peopleGroupId??((o=t._raw)==null?void 0:o.PeopleID3)??((n=t._raw)==null?void 0:n.PeopleID)??null}function Vb(e,t){return(e==null?void 0:e.clusterId)??t.clusterId??null}function Wb(e,t){var a,r,s,i;const o=parseFloat(t.latitude??t.lat??((a=t._raw)==null?void 0:a.Latitude)??((r=t._raw)==null?void 0:r.latitude)),n=parseFloat(t.longitude??t.lng??((s=t._raw)==null?void 0:s.Longitude)??((i=t._raw)==null?void 0:i.longitude));return!isFinite(o)||!isFinite(n)?null:[n,o]}function Yb(e,t){return t.peopleGroupCount!==e.peopleGroupCount?t.peopleGroupCount-e.peopleGroupCount:(t.population||0)-(e.population||0)}function Sa(e,t){return(t.population||0)!==(e.population||0)?(t.population||0)-(e.population||0):t.peopleGroupCount-e.peopleGroupCount}function Rc(e,t={}){t.aggregator;const o=Io({});function n(w){return!!o[w]}function a(w){o[w]=!o[w]}function r(w){const E=new Set(Array.isArray(w)?w:[]);for(const _ of Object.keys(o))E.has(_)||(o[_]=!1);for(const _ of E)o[_]=!0}const s=Q(()=>{const w=(e==null?void 0:e.value)||[],E=new Map;for(const _ of w){const S=Db(_),g=Gb(S),k=Kb(S),A=Ub(k),L=jb(k),O=Hb(S),$=zb(_,S),m=Vb(_,S),U=Wb(_,S);let H=E.get(g);H||(H={key:g,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,languages:new Map},E.set(g,H)),H.peopleGroupCount+=1,H.population+=O,$!=null&&H.pinIds.push($),U&&H.coords.push(U),m&&!H.clusterId&&(H.clusterId=m);let I=H.languages.get(A);if(I||(I={key:A,peopleGroupCount:0,population:0,pinIds:[],coords:[],clusterId:null,dialects:new Map},H.languages.set(A,I)),I.peopleGroupCount+=1,I.population+=O,$!=null&&I.pinIds.push($),U&&I.coords.push(U),m&&!I.clusterId&&(I.clusterId=m),L){let W=I.dialects.get(L);W?W.originalLabels.add(k):(W={key:L,peopleGroupCount:0,population:0,pinIds:[],coords:[],originalLabels:new Set([k])},I.dialects.set(L,W)),W.peopleGroupCount+=1,W.population+=O,$!=null&&W.pinIds.push($),U&&W.coords.push(U)}}return E}),i=t.showAllKnown!==!1,l=Q(()=>{const w=s.value,E=[],_=new Set;for(const S of w.values())E.push({key:S.key,label:S.key,color:Mt(S.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"family",clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords}),_.add(S.key);if(i)for(const S of Object.keys(Zo))_.has(S)||E.push({key:S,label:S,color:Mt(S),peopleGroupCount:0,population:0,kind:"family",pinIds:[],coords:[]});return E.sort(Yb),E});function c(w){const E=s.value.get(w);if(!E)return[];const _=[];for(const S of E.languages.values())_.push({key:`${w}__${S.key}`,label:S.key,color:Mt(w),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:w,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return _.sort(Sa),_}function u(w){const E=w.indexOf("__");if(E<0)return[];const _=w.slice(0,E),S=w.slice(E+2),g=s.value.get(_);if(!g)return[];const k=g.languages.get(S);if(!k)return[];const A=[];for(const L of k.dialects.values())A.push({key:`${w}__${L.key}`,label:`${S}, ${L.key}`,dialectOnly:L.key,color:Mt(_),peopleGroupCount:L.peopleGroupCount,population:L.population,kind:"dialect",languageKey:S,familyKey:_,pinIds:L.pinIds,coords:L.coords,originalLabels:Array.from(L.originalLabels)});return A.sort(Sa),A}const f=Q(()=>{const w=s.value,E=[];for(const _ of w.values())for(const S of _.languages.values())E.push({key:`${_.key}__${S.key}`,label:S.key,color:Mt(_.key),peopleGroupCount:S.peopleGroupCount,population:S.population,kind:S.clusterId?"cluster":"language",familyKey:_.key,clusterId:S.clusterId||void 0,pinIds:S.pinIds,coords:S.coords,hasDialects:S.dialects.size>0});return E.sort(Sa),E}),v=Q(()=>{const w=s.value,E=[];for(const _ of w.values())for(const S of _.languages.values())for(const g of S.dialects.values())E.push({key:`${_.key}__${S.key}__${g.key}`,label:`${S.key}, ${g.key}`,dialectOnly:g.key,color:Mt(_.key),peopleGroupCount:g.peopleGroupCount,population:g.population,kind:"dialect",languageKey:S.key,familyKey:_.key,pinIds:g.pinIds,coords:g.coords,originalLabels:Array.from(g.originalLabels)});return E.sort(Sa),E});function x(w){let E=w;if(typeof w=="string"&&(E=l.value.find(S=>S.key===w),!E))return;const _={kind:E.kind,pinIds:E.pinIds||[],coords:E.coords||[]};E.kind==="family"&&(_.familyKey=E.label),E.kind==="language"&&(_.languageKey=E.label,_.familyKey=E.familyKey),E.kind==="dialect"&&(_.dialectKey=E.key,_.dialectOnly=E.dialectOnly||E.label,_.languageKey=E.languageKey,_.familyKey=E.familyKey,_.originalLabels=E.originalLabels||[]),E.kind==="cluster"&&(_.clusterId=E.clusterId),typeof window<"u"&&typeof window.CustomEvent=="function"&&window.dispatchEvent(new CustomEvent("legend:highlight",{detail:_}))}const T=Q(()=>{const w=s.value,E=[];for(const _ of w.values()){const S=Mt(_.key),g=[];for(const A of _.languages.values()){A.key&&A.key!=="— Unknown —"&&g.push(A.key);for(const L of A.dialects.values())for(const O of L.originalLabels)O&&g.push(O)}const k={id:`fam:${_.key}`,label:_.key,color:S,count:_.peopleGroupCount,pop:_.population,filter:g.length>0?["any",["==",["get","languageFamily"],_.key],["in",["get","language"],["literal",Array.from(new Set(g))]]]:["==",["get","languageFamily"],_.key],children:[]};for(const A of _.languages.values()){const L=A.key,O={id:`lang:${_.key}__${L}`,label:L,color:S,count:A.peopleGroupCount,pop:A.population,filter:["any",["==",["get","language"],L],["==",["slice",["get","language"],0,L.length+1],L+","],["in"," "+L,["get","language"]]],children:[]};for(const $ of A.dialects.values()){const m=Array.from($.originalLabels);O.children.push({id:`dial:${_.key}__${L}__${$.key}`,label:`${L}, ${$.key}`,color:S,count:$.peopleGroupCount,pop:$.population,filter:m.length===1?["==",["get","language"],m[0]]:["in",["get","language"],["literal",m]],originalLabels:m,children:[]})}k.children.push(O)}E.push(k)}return E.sort((_,S)=>S.pop-_.pop||S.count-_.count),E});return{rows:l,languageRows:f,dialectRows:v,langTree:T,toggle:a,isExpanded:n,setExpansionToOnly:r,childRowsFor:c,dialectRowsFor:u,highlight:x}}const qb=[],Jb={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","No WAGF Region/Bloc":"#95a5a6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},Dc={"Arab World":"#3aac4c",Deaf:"#FFFFFF","East Asian Peoples":"#f7ee6a","Eurasian Peoples":"#ffefbd","Horn of Africa Peoples":"#d37429",Jews:"#710f11","Latin-Caribbean Americans":"#e61e24","Malay Peoples":"#acd566","North American Peoples":"#f87d80","Pacific Islanders":"#418c71","Persian-Median":"#20306c","South Asian Peoples":"#a7892f","Southeast Asian Peoples":"#e84e21","Sub-Saharan Peoples":"#9e4821","Tibetan-Himalayan Peoples":"#426eb5","Turkic Peoples":"#b57bb5"};function Co(e,t){const a=Object.values(e.sources||{}).flatMap(r=>(r==null?void 0:r.features)||[]).filter(r=>t(r.properties||r));return{count:a.length,population:a.reduce((r,s)=>{var l;const i=s.properties||s;return r+(parseInt(i.population||((l=i._raw)==null?void 0:l.Population)||0)||0)},0)}}function Oc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}function Bc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||t==="1"||t==="true"||typeof t=="number"&&t>0||typeof t=="string"&&parseInt(t,10)>0}const Xb={prayer:"legend.title.prayer",engagement:"legend.title.engagement",adoption:"legend.title.adoption","language-families":"legend.title.languageFamilies","language-family":"legend.title.languageFamilies","doxa-regions":"legend.title.doxaRegions","doxa-region":"legend.title.doxaRegions","affinity-blocs":"legend.title.affinityBlocs","gospel-resources":"legend.title.gospelResources",religion:"legend.title.religion"};function In(e){return e==="doxa-region"?"doxa-regions":e}function Zb(e){return e?e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toLocaleString():"0"}function Qb(e){return(Number(e)||0).toLocaleString()}function Yr(e,t={}){const o=$e("dataStore"),n=$e("uiStore"),a=$e("mapStore"),{t:r}=gt(),s=Q(()=>{if(In(e.value)==="religion")return"Religion";const w=Xb[e.value];return w?r(w):""}),i=Q(()=>In(e.value)==="affinity-blocs"?qb:[{key:"count",label:r("legend.columns.upgs"),width:48},{key:"population",label:r("legend.columns.population"),width:48}]),l=Q(()=>{const T=In(e.value);return T==="prayer"?n.prayerFilter:T==="engagement"?n.engagementFilter:T==="adoption"?n.adoptionFilter:T==="language-families"?a.selectedFamily:T==="doxa-regions"?a.selectedRegion:T==="gospel-resources"?a.selectedResource:T==="religion"?n.religionFilter:null});function c(T){const w=In(e.value);w==="prayer"?n.setPrayerFilter(n.prayerFilter===T?null:T):w==="engagement"?n.setEngagementFilter(n.engagementFilter===T?null:T):w==="adoption"?n.setAdoptionFilter(n.adoptionFilter===T?null:T):w==="language-families"?a.selectFamily(a.selectedFamily===T?null:T):w==="doxa-regions"?a.selectRegion(a.selectedRegion===T?null:T):w==="gospel-resources"?a.selectResource(a.selectedResource===T?null:T):w==="religion"&&n.setReligionFilter(n.religionFilter===T?null:T)}const u=Q(()=>{var w,E,_,S;const T=In(e.value);if(T==="prayer"){const g=Co(o,L=>Yo(L)==="noPrayer"),k=Co(o,L=>Yo(L)==="hasPrayer"),A=Co(o,L=>Yo(L)==="fullPrayer");return[{key:"noPrayer",label:r("legend.prayer.needsPrayer"),color:Br.noPrayer,count:g.count,population:g.population,filterKey:"noPrayer",children:[{key:"hasPrayer",label:r("legend.prayer.hasPrayer"),color:Br.hasPrayer,count:k.count,population:k.population,filterKey:"hasPrayer"},{key:"fullPrayer",label:r("legend.prayer.fullPrayerCoverage"),color:Br.fullPrayer,count:A.count,population:A.population,filterKey:"fullPrayer"}]}]}if(T==="engagement"){const g=Co(o,A=>!Oc(A)),k=Co(o,A=>Oc(A));return[{key:"notEngaged",label:r("legend.engagement.needsEngagement"),color:hc.notEngaged,count:g.count,population:g.population,filterKey:"notEngaged",children:[{key:"hasEngagement",label:r("legend.engagement.hasEngagement"),color:hc.hasEngagement,count:k.count,population:k.population,filterKey:"hasEngagement"}]}]}if(T==="adoption"){const g=Co(o,A=>!Bc(A)),k=Co(o,A=>Bc(A));return[{key:"notAdopted",label:r("legend.adoption.needsAdoption"),color:bc.notAdopted,count:g.count,population:g.population,filterKey:"notAdopted",children:[{key:"hasAdoption",label:r("legend.adoption.hasAdoption"),color:bc.hasAdoption,count:k.count,population:k.population,filterKey:"hasAdoption"}]}]}if(T==="religion"){const g={},A=Object.values(o.sources||{}).flatMap($=>($==null?void 0:$.features)||[]);for(const $ of A){const m=$.properties||$,U=m.religion||((E=(w=m._raw)==null?void 0:w.religion)==null?void 0:E.value)||((_=m._raw)==null?void 0:_.religion)||"",H=Pc(U);g[H]||(g[H]={count:0,population:0}),g[H].count+=1,g[H].population+=parseInt(m.population||((S=m._raw)==null?void 0:S.Population)||0)||0}const L=new Set((t==null?void 0:t.excludeReligionFamilies)||[]);for(const $ of L)delete g[$];return Object.keys(g).sort(($,m)=>$==="C"?-1:m==="C"?1:g[m].population-g[$].population).map($=>({key:$,label:Gr[$]||"Unknown",color:St[$]||"#94a3b8",count:g[$].count,population:g[$].population,filterKey:$,children:[]}))}if(T==="language-families")return(o.languageFamiliesData||[]).map(g=>({key:g.name,label:g.name,color:Mt(g.name),count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="language-family"){const k={value:Object.values(o.sources||{}).flatMap(L=>(L==null?void 0:L.features)||[])},{rows:A}=Rc(k);return A.value.map(L=>({key:L.key,label:L.label,color:L.color,count:L.peopleGroupCount,population:L.population,filterKey:L.key,children:[]}))}if(T==="doxa-regions")return(o.doxaRegionsData||[]).map(g=>({key:g.name,label:g.name,color:Jb[g.name]||"#999",count:g.count,population:g.population,filterKey:g.name,children:[]}));if(T==="gospel-resources"){const g=o.resourcesData||[];return Object.keys(oo).map(k=>{const A=g.find(L=>L.key===k);return{key:k,label:fb[k]||k,color:oo[k],count:(A==null?void 0:A.count)||0,population:(A==null?void 0:A.population)||0,filterKey:k,children:((A==null?void 0:A.children)||[]).map(L=>({key:L.key,label:L.name||L.key,color:L.color||oo[k],count:L.count||0,population:L.population||0,filterKey:L.key}))}})}return T==="affinity-blocs"?Object.keys(Dc).map(g=>({key:g,label:g,color:Dc[g],filterKey:g,children:[]})):[]});function f(T,w){return T.reduce((E,_)=>{var g;let S=_[w]||0;return(g=_.children)!=null&&g.length&&(S+=f(_.children,w)),E+S},0)}const v=Q(()=>f(u.value,"count")),x=Q(()=>f(u.value,"population"));return{items:u,columns:i,title:s,activeFilter:l,setFilter:c,totalCount:v,totalPopulation:x,fmtPop:Zb,fmtCount:Qb}}const ey={key:0,class:"lrg-title-row"},ty={class:"lrg-title-caret-slot"},oy={class:"lrg-title"},ny={class:"lrg-row"},ay=["onClick"],ry={key:1,class:"lrg-caret-placeholder","aria-hidden":"true"},sy=["onClick"],iy={class:"lrg-name"},ly={class:"lrg-badge-inner"},cy=["onClick"],uy={class:"lrg-name"},dy={class:"lrg-badge-inner"},py={key:1,class:"lrg-footer"},gy={class:"lrg-footer-label"},Uc=Ao({__name:"LegendRows",props:{title:{type:String,default:""},items:{type:Array,required:!0},columns:{type:Array,default:()=>[]},activeFilter:{type:String,default:null},isDark:{type:Boolean,default:!1},hideColumnHeader:{type:Boolean,default:!1},showFooter:{type:Boolean,default:!1},totalCount:{type:Number,default:0},totalPopulation:{type:Number,default:0},fmtPop:{type:Function,default:e=>String(e||0)},fmtCount:{type:Function,default:e=>String(e||0)},disableCollapse:{type:Boolean,default:!1}},emits:["filter-click"],setup(e){const{t}=gt();mo(` /* ── LegendRows — single flat grid with an invisible caret column. Spec: docs/legend-spec.md. One parent grid (.lrg-items) with subgrid children (.lrg-title-row, .lrg-row, .lrg-footer). Col 1 is the caret @@ -279,7 +279,7 @@ .lrg-dark .lrg-header-col{color:rgba(243,243,241,0.65);} .lrg-dark .lrg-footer{background:#2a332a;border-top-color:rgba(255,255,255,0.1);color:rgba(243,243,241,0.75);} .lrg-dark .lrg-footer-label{color:rgba(243,243,241,0.65);} -`,"legend-row-group");const o=e,n=Io({});function a(r){n[r]=!n[r]}const s=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(r,i)=>(J(),ne("div",{class:Be(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[j("div",{class:"lrg-items",style:ct({"--lrg-grid-cols":s.value})},[!e.hideColumnHeader&&(e.title||e.columns.length)?(J(),ne("div",ey,[j("span",ty,[ta(r.$slots,"title-caret",{},void 0,!0)]),j("span",oy,ye(e.title),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-header-col"},ye(l.label),1))),128))])):we("",!0),(J(!0),ne(Ie,null,Bt(e.items,l=>(J(),ne(Ie,{key:l.key},[j("div",ny,[l.children&&l.children.length&&!e.disableCollapse?(J(),ne("button",{key:0,class:Be(["lrg-caret",{expanded:!n[l.key]}]),onClick:Et(c=>a(l.key),["stop"]),"aria-label":"Toggle children"},[...i[0]||(i[0]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,ay)):(J(),ne("span",sy)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===l.filterKey}]),onClick:c=>r.$emit("filter-click",l.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:l.color,"--lrg-item-color":l.color})},[j("span",iy,ye(l.label),1),(J(!0),ne(Ie,null,Bt(e.columns,c=>(J(),ne("span",{key:c.key,class:"lrg-badge"},[j("span",ly,ye(c.key==="population"?e.fmtPop(l.population):e.fmtCount(l.count)),1)]))),128))],4)],10,ry)]),l.children&&l.children.length&&!n[l.key]?(J(!0),ne(Ie,{key:0},Bt(l.children,c=>(J(),ne("div",{key:c.key,class:"lrg-row lrg-row-child"},[i[1]||(i[1]=j("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===c.filterKey}]),onClick:u=>r.$emit("filter-click",c.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:c.color,"--lrg-item-color":c.color})},[j("span",uy,ye(c.label),1),(J(!0),ne(Ie,null,Bt(e.columns,u=>(J(),ne("span",{key:u.key,class:"lrg-badge"},[j("span",dy,ye(u.key==="population"?e.fmtPop(c.population):e.fmtCount(c.count)),1)]))),128))],4)],10,cy)]))),128)):we("",!0)],64))),128)),e.columns.length&&e.showFooter?(J(),ne("div",py,[i[2]||(i[2]=j("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),j("span",gy,ye(pe(t)("legend.footer.total")),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-footer-value"},ye(l.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):we("",!0)],4)],2))}},[["__scopeId","data-v-686c20a7"]]),jc=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Gc(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%jc.length,n=jc[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function fy(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=Gc(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const hy={key:0,class:"detail-header"},my={class:"header-left"},by={class:"header-text"},yy={class:"people-group-name"},_y={class:"people-group-subtitle"},vy=["aria-label"],wy={class:"detail-content"},ky={key:0,class:"pg-name-lead"},Sy={class:"action-buttons"},Ay={class:"quick-stats"},xy={class:"stat-item"},Ly={class:"stat-label"},Ty={class:"stat-value"},Ey={class:"stat-item"},Cy={class:"stat-label"},$y={class:"stat-value"},Py={class:"stat-item"},My={class:"stat-label"},Iy={class:"stat-value"},Ny={class:"stat-item"},Fy={class:"stat-label"},Ry={class:"stat-value"},Dy={key:1,class:"image-container position-inside"},Oy=["src","alt"],By={key:2,class:"description-section"},Uy={key:0,class:"description-text"},jy={key:1,class:"description-text empty"},Kc="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Hc=Ao({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=gt();mo(` +`,"legend-row-group");const o=e,n=Io({});function a(s){n[s]=!n[s]}const r=Q(()=>`var(--lrg-caret-col) minmax(80px, 1fr) ${o.columns.map(()=>"auto").join(" ")} var(--lrg-caret-col)`);return(s,i)=>(J(),ne("div",{class:Be(["legend-row-group",e.isDark?"lrg-dark":"lrg-light"])},[j("div",{class:"lrg-items",style:ct({"--lrg-grid-cols":r.value})},[!e.hideColumnHeader&&(e.title||e.columns.length)?(J(),ne("div",ey,[j("span",ty,[ta(s.$slots,"title-caret",{},void 0,!0)]),j("span",oy,ye(e.title),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-header-col"},ye(l.label),1))),128))])):we("",!0),(J(!0),ne(Ie,null,Bt(e.items,l=>(J(),ne(Ie,{key:l.key},[j("div",ny,[l.children&&l.children.length&&!e.disableCollapse?(J(),ne("button",{key:0,class:Be(["lrg-caret",{expanded:!n[l.key]}]),onClick:Et(c=>a(l.key),["stop"]),"aria-label":"Toggle children"},[...i[0]||(i[0]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,ay)):(J(),ne("span",ry)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===l.filterKey}]),onClick:c=>s.$emit("filter-click",l.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:l.color,"--lrg-item-color":l.color})},[j("span",iy,ye(l.label),1),(J(!0),ne(Ie,null,Bt(e.columns,c=>(J(),ne("span",{key:c.key,class:"lrg-badge"},[j("span",ly,ye(c.key==="population"?e.fmtPop(l.population):e.fmtCount(l.count)),1)]))),128))],4)],10,sy)]),l.children&&l.children.length&&!n[l.key]?(J(!0),ne(Ie,{key:0},Bt(l.children,c=>(J(),ne("div",{key:c.key,class:"lrg-row lrg-row-child"},[i[1]||(i[1]=j("span",{class:"lrg-caret-placeholder","aria-hidden":"true"},null,-1)),j("div",{class:Be(["lrg-item",{selected:e.activeFilter===c.filterKey}]),onClick:u=>s.$emit("filter-click",c.filterKey)},[j("div",{class:"lrg-item-inner",style:ct({backgroundColor:c.color,"--lrg-item-color":c.color})},[j("span",uy,ye(c.label),1),(J(!0),ne(Ie,null,Bt(e.columns,u=>(J(),ne("span",{key:u.key,class:"lrg-badge"},[j("span",dy,ye(u.key==="population"?e.fmtPop(c.population):e.fmtCount(c.count)),1)]))),128))],4)],10,cy)]))),128)):we("",!0)],64))),128)),e.columns.length&&e.showFooter?(J(),ne("div",py,[i[2]||(i[2]=j("span",{class:"lrg-footer-caret-slot","aria-hidden":"true"},null,-1)),j("span",gy,ye(pe(t)("legend.footer.total")),1),(J(!0),ne(Ie,null,Bt(e.columns,l=>(J(),ne("span",{key:l.key,class:"lrg-footer-value"},ye(l.key==="population"?e.fmtPop(e.totalPopulation):e.fmtCount(e.totalCount)),1))),128))])):we("",!0)],4)],2))}},[["__scopeId","data-v-686c20a7"]]),jc=["#e74c3c","#3498db","#2ecc71","#f39c12","#9b59b6","#1abc9c","#e67e22","#34495e"];function Gc(e){const t=(e||"U")[0].toUpperCase(),o=t.charCodeAt(0)%jc.length,n=jc[o];return{letter:t,color:"#ffffff",backgroundColor:n}}function fy(e,t={}){const{size:o=32,borderRadius:n=4}=t,a=Gc(e);return{width:`${o}px`,height:`${o}px`,borderRadius:`${n}px`,backgroundColor:a.backgroundColor,color:a.color,display:"flex",alignItems:"center",justifyContent:"center",fontWeight:"600",fontSize:`${Math.floor(o*.5)}px`,flexShrink:"0"}}const hy={key:0,class:"detail-header"},my={class:"header-left"},by={class:"header-text"},yy={class:"people-group-name"},_y={class:"people-group-subtitle"},vy=["aria-label"],wy={class:"detail-content"},ky={key:0,class:"pg-name-lead"},Sy={class:"action-buttons"},Ay={class:"quick-stats"},xy={class:"stat-item"},Ly={class:"stat-label"},Ty={class:"stat-value"},Ey={class:"stat-item"},Cy={class:"stat-label"},$y={class:"stat-value"},Py={class:"stat-item"},My={class:"stat-label"},Iy={class:"stat-value"},Ny={class:"stat-item"},Fy={class:"stat-label"},Ry={class:"stat-value"},Dy={key:1,class:"image-container position-inside"},Oy=["src","alt"],By={key:2,class:"description-section"},Uy={key:0,class:"description-text"},jy={key:1,class:"description-text empty"},Kc="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",Hc=Ao({__name:"PeopleGroupDetail",props:{peopleGroup:{type:Object,required:!0},hideHeader:{type:Boolean,default:!1},dark:{type:Boolean,default:!1},action:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)}},setup(e){const{t,locale:o}=gt();mo(` .people-group-detail{display:flex;flex-direction:column;height:100%;overflow-y:auto;} .people-group-detail.dark-mode{background:#1a1a2e;color:#eee;} .detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;border-bottom:1px solid #e0e0e0;background:white;position:sticky;top:0;z-index:10;} @@ -330,7 +330,7 @@ .dark-mode .description-text{color:#d1d5db;} .description-text.empty{color:#999;font-style:italic;} .dark-mode .description-text.empty{color:#6b7280;} -`,"legend-people-group-detail");const n=e,a=$e("uiStore"),s=Q(()=>a.legendState),r=Q(()=>a.isMobile),i=Q(()=>!r.value||s.value==="fullyOpen"),l=Q(()=>Gc(n.peopleGroup.properties.name)),c=Q(()=>l.value.letter),u=Q(()=>fy(n.peopleGroup.properties.name,{size:32,borderRadius:4})),f=Q(()=>n.peopleGroup.properties),v=me(null),x=me(!1),T=Q(()=>f.value.slug||"");async function w(C){if(!C)return;const M=Fc();if(M)try{const G=await fetch(`${M}/api/people-groups/detail/${encodeURIComponent(C)}?lang=${encodeURIComponent(o.value)}`);if(!G.ok)throw new Error(`HTTP ${G.status}`);v.value=await G.json()}catch{v.value=null}}Ye(T,C=>{x.value=!1,v.value=null,w(C)},{immediate:!0});const E=Q(()=>{var C;return f.value.countryName||f.value.countryIsoLabel||f.value.country||f.value.countryIso||((C=f.value._raw)==null?void 0:C.Country)||""}),_=Q(()=>{var G;const C=f.value.status||((G=f.value._raw)==null?void 0:G.Status),M=E.value||"Unknown";return C?`${M} • ${C}`:M}),S=Q(()=>{var M;const C=f.value.language||((M=f.value._raw)==null?void 0:M.Language);if(!C)return"Unknown";if(typeof C=="object"&&C.label)return C.label;if(typeof C=="string"&&C.startsWith("{"))try{const G=JSON.parse(C);if(G!=null&&G.label)return G.label}catch{}return C}),g=Q(()=>{var C;return f.value.population||((C=f.value._raw)==null?void 0:C.Population)||0}),k=Q(()=>{var C;return f.value.religionName||f.value.religionLabel||f.value.religion||((C=f.value._raw)==null?void 0:C.Religion)||""}),A=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.imb_people_description)||((M=v.value)==null?void 0:M.description)||f.value.description||((G=f.value._raw)==null?void 0:G.Description)||""}),L=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.image_url)||((M=v.value)==null?void 0:M.imageUrl)||f.value.imageUrl||((G=f.value._raw)==null?void 0:G.ImageURL)||Kc}),O=Q(()=>{const C=parseInt(g.value);return C>=1e6?`${(C/1e6).toFixed(1)}M`:C>=1e3?`${(C/1e3).toFixed(1)}K`:C.toLocaleString()});function $(){a.selectPeopleGroup(null)}function m(C){return`https://pray.doxa.life/${encodeURIComponent(C)}?source=doxalife`}function U(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/adopt/${encodeURIComponent(C)}/?source=doxalife`}function H(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/research/${encodeURIComponent(C)}/`}function I(){const C=T.value;if(!C)return;const M=n.action==="adopt"?U(C):m(C);window.open(M,"_blank","noopener")}function W(){const C=T.value;C&&window.open(H(C),"_blank","noopener")}function ue(C){C.target.dataset.usedFallback||(C.target.dataset.usedFallback="true",C.target.src=Kc)}return(C,M)=>(J(),ne("div",{class:Be(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?we("",!0):(J(),ne("div",hy,[j("div",my,[j("div",{class:"avatar",style:ct(u.value)},ye(c.value),5),j("div",by,[j("h3",yy,ye(e.peopleGroup.properties.name),1),j("p",_y,ye(_.value),1)])]),j("button",{class:"close-button",onClick:$,"aria-label":pe(t)("aria.closeDetailView")},[...M[1]||(M[1]=[j("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,vy)])),j("div",wy,[e.hideHeader?(J(),ne("h3",ky,ye(e.peopleGroup.properties.name||pe(t)("legend.header.peopleGroupFallback")),1)):we("",!0),j("div",Sy,[e.action==="pray"||e.action==="adopt"?(J(),ne("button",{key:0,class:"action-btn primary",onClick:I},[M[2]||(M[2]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),j("span",null,ye(e.action==="adopt"?pe(t)("buttons.adoptThem"):pe(t)("buttons.prayForThem")),1)])):we("",!0),j("button",{class:"action-btn secondary",onClick:W},[M[3]||(M[3]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),j("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),j("span",null,ye(pe(t)("buttons.moreInfo")),1)])]),j("div",Ay,[j("div",xy,[j("span",Ly,ye(pe(t)("detail.labels.country")),1),j("span",Ty,ye(E.value||"—"),1)]),j("div",Ey,[j("span",Cy,ye(pe(t)("detail.labels.population")),1),j("span",$y,ye(O.value||"—"),1)]),j("div",Py,[j("span",My,ye(pe(t)("detail.labels.language")),1),j("span",Iy,ye(S.value||"—"),1)]),j("div",Ny,[j("span",Fy,ye(pe(t)("detail.labels.religion")),1),j("span",Ry,ye(k.value||"—"),1)])]),i.value?(J(),ne("div",Dy,[j("div",{class:Be(["image-placeholder-svg",{hidden:x.value}])},[...M[4]||(M[4]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[j("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),j("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),L.value?(J(),ne("img",{key:0,src:L.value,alt:`${e.peopleGroup.properties.name} people group`,class:Be(["people-group-image",{loaded:x.value}]),onLoad:M[0]||(M[0]=G=>x.value=!0),onError:ue},null,42,Oy)):we("",!0)])):we("",!0),i.value?(J(),ne("div",By,[A.value?(J(),ne("p",Uy,ye(A.value),1)):(J(),ne("p",jy,ye(pe(t)("detail.messages.noDescription")),1))])):we("",!0)])],2))}},[["__scopeId","data-v-0cd4696d"]]),zc={excludeReligionFamilies:["C"]},Gy={class:"legend-reopen-label"},Ky=["aria-label"],Hy=["aria-label"],zy=["aria-label"],Vy=Ao({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0)),{t:o}=gt();mo(` +`,"legend-people-group-detail");const n=e,a=$e("uiStore"),r=Q(()=>a.legendState),s=Q(()=>a.isMobile),i=Q(()=>!s.value||r.value==="fullyOpen"),l=Q(()=>Gc(n.peopleGroup.properties.name)),c=Q(()=>l.value.letter),u=Q(()=>fy(n.peopleGroup.properties.name,{size:32,borderRadius:4})),f=Q(()=>n.peopleGroup.properties),v=me(null),x=me(!1),T=Q(()=>f.value.slug||"");async function w(C){if(!C)return;const M=Fc();if(M)try{const G=await fetch(`${M}/api/people-groups/detail/${encodeURIComponent(C)}?lang=${encodeURIComponent(o.value)}`);if(!G.ok)throw new Error(`HTTP ${G.status}`);v.value=await G.json()}catch{v.value=null}}Ye(T,C=>{x.value=!1,v.value=null,w(C)},{immediate:!0});const E=Q(()=>{var C;return f.value.countryName||f.value.countryIsoLabel||f.value.country||f.value.countryIso||((C=f.value._raw)==null?void 0:C.Country)||""}),_=Q(()=>{var G;const C=f.value.status||((G=f.value._raw)==null?void 0:G.Status),M=E.value||"Unknown";return C?`${M} • ${C}`:M}),S=Q(()=>{var M;const C=f.value.language||((M=f.value._raw)==null?void 0:M.Language);if(!C)return"Unknown";if(typeof C=="object"&&C.label)return C.label;if(typeof C=="string"&&C.startsWith("{"))try{const G=JSON.parse(C);if(G!=null&&G.label)return G.label}catch{}return C}),g=Q(()=>{var C;return f.value.population||((C=f.value._raw)==null?void 0:C.Population)||0}),k=Q(()=>{var C;return f.value.religionName||f.value.religionLabel||f.value.religion||((C=f.value._raw)==null?void 0:C.Religion)||""}),A=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.imb_people_description)||((M=v.value)==null?void 0:M.description)||f.value.description||((G=f.value._raw)==null?void 0:G.Description)||""}),L=Q(()=>{var C,M,G;return((C=v.value)==null?void 0:C.image_url)||((M=v.value)==null?void 0:M.imageUrl)||f.value.imageUrl||((G=f.value._raw)==null?void 0:G.ImageURL)||Kc}),O=Q(()=>{const C=parseInt(g.value);return C>=1e6?`${(C/1e6).toFixed(1)}M`:C>=1e3?`${(C/1e3).toFixed(1)}K`:C.toLocaleString()});function $(){a.selectPeopleGroup(null)}function m(C){return`https://pray.doxa.life/${encodeURIComponent(C)}?source=doxalife`}function U(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/adopt/${encodeURIComponent(C)}/?source=doxalife`}function H(C){var G;return`${typeof window<"u"&&((G=window.location)==null?void 0:G.origin)||"https://doxa.life"}/research/${encodeURIComponent(C)}/`}function I(){const C=T.value;if(!C)return;const M=n.action==="adopt"?U(C):m(C);window.open(M,"_blank","noopener")}function W(){const C=T.value;C&&window.open(H(C),"_blank","noopener")}function ue(C){C.target.dataset.usedFallback||(C.target.dataset.usedFallback="true",C.target.src=Kc)}return(C,M)=>(J(),ne("div",{class:Be(["people-group-detail",{"dark-mode":e.dark}])},[e.hideHeader?we("",!0):(J(),ne("div",hy,[j("div",my,[j("div",{class:"avatar",style:ct(u.value)},ye(c.value),5),j("div",by,[j("h3",yy,ye(e.peopleGroup.properties.name),1),j("p",_y,ye(_.value),1)])]),j("button",{class:"close-button",onClick:$,"aria-label":pe(t)("aria.closeDetailView")},[...M[1]||(M[1]=[j("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,vy)])),j("div",wy,[e.hideHeader?(J(),ne("h3",ky,ye(e.peopleGroup.properties.name||pe(t)("legend.header.peopleGroupFallback")),1)):we("",!0),j("div",Sy,[e.action==="pray"||e.action==="adopt"?(J(),ne("button",{key:0,class:"action-btn primary",onClick:I},[M[2]||(M[2]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("path",{d:"M8 2L10 6L14 6.5L11 9.5L11.5 14L8 12L4.5 14L5 9.5L2 6.5L6 6L8 2Z",fill:"currentColor"})],-1)),j("span",null,ye(e.action==="adopt"?pe(t)("buttons.adoptThem"):pe(t)("buttons.prayForThem")),1)])):we("",!0),j("button",{class:"action-btn secondary",onClick:W},[M[3]||(M[3]=j("svg",{class:"btn-icon",width:"16",height:"16",viewBox:"0 0 16 16"},[j("circle",{cx:"8",cy:"8",r:"6",stroke:"currentColor","stroke-width":"2",fill:"none"}),j("path",{d:"M8 6V8M8 10H8.01",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)),j("span",null,ye(pe(t)("buttons.moreInfo")),1)])]),j("div",Ay,[j("div",xy,[j("span",Ly,ye(pe(t)("detail.labels.country")),1),j("span",Ty,ye(E.value||"—"),1)]),j("div",Ey,[j("span",Cy,ye(pe(t)("detail.labels.population")),1),j("span",$y,ye(O.value||"—"),1)]),j("div",Py,[j("span",My,ye(pe(t)("detail.labels.language")),1),j("span",Iy,ye(S.value||"—"),1)]),j("div",Ny,[j("span",Fy,ye(pe(t)("detail.labels.religion")),1),j("span",Ry,ye(k.value||"—"),1)])]),i.value?(J(),ne("div",Dy,[j("div",{class:Be(["image-placeholder-svg",{hidden:x.value}])},[...M[4]||(M[4]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 120",width:"80",height:"96","aria-hidden":"true"},[j("circle",{cx:"50",cy:"36",r:"22",fill:"#ccc"}),j("ellipse",{cx:"50",cy:"95",rx:"36",ry:"28",fill:"#ccc"})],-1)])],2),L.value?(J(),ne("img",{key:0,src:L.value,alt:`${e.peopleGroup.properties.name} people group`,class:Be(["people-group-image",{loaded:x.value}]),onLoad:M[0]||(M[0]=G=>x.value=!0),onError:ue},null,42,Oy)):we("",!0)])):we("",!0),i.value?(J(),ne("div",By,[A.value?(J(),ne("p",Uy,ye(A.value),1)):(J(),ne("p",jy,ye(pe(t)("detail.messages.noDescription")),1))])):we("",!0)])],2))}},[["__scopeId","data-v-0cd4696d"]]),zc={excludeReligionFamilies:["C"]},Gy={class:"legend-reopen-label"},Ky=["aria-label"],Hy=["aria-label"],zy=["aria-label"],Vy=Ao({__name:"LegendDesktop",props:{legendType:{type:String,required:!0},initiallyCollapsed:{type:Boolean,default:!1},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1}},setup(e){const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0)),{t:o}=gt();mo(` /* ── Container — the card. The LegendRows grid owns left/right padding via its caret + trailing columns. The card itself only adds top/bottom breathing space via @@ -478,7 +478,7 @@ .legend-dark .legend-item-selected{outline-color:rgba(255,255,255,0.5)!important;} .legend-dark .legend-tree-caret{color:rgba(243,243,241,0.7)!important;} .legend-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.18);} -`,"legend-component");const n=e;$e("mapStore"),$e("dataStore");const a=$e("uiStore"),s=za(n,"legendType"),{items:r,columns:i,title:l,activeFilter:c,setFilter:u,totalCount:f,totalPopulation:v,fmtPop:x,fmtCount:T}=Ys(s,zc);$e("normalizedPeopleGroups",null);const w=$e("mapId",null),E=Q(()=>a.isMobile),_=Q(()=>a.legendMode),S=Q(()=>a.selectedPeopleGroup),g=me(n.initiallyCollapsed);let k=null;const A=Q(()=>{var $;return _.value==="detail"&&S.value?(($=S.value.properties)==null?void 0:$.name)||o("legend.header.peopleGroupFallback"):g.value?o("legend.header.collapsed"):l.value});function L(){g.value=!g.value}Ye(_,($,m)=>{$==="detail"&&m!=="detail"&&g.value&&(g.value=!1)});function O($){u($)}return ao(()=>{window.innerWidth<768&&(g.value=!0),k=$=>{var m;w&&((m=$.detail)!=null&&m.mapId)&&$.detail.mapId!==w||(g.value=!1)},window.addEventListener("doxa:openDesktopLegend",k)}),Bo(()=>{k&&window.removeEventListener("doxa:openDesktopLegend",k)}),($,m)=>E.value?(J(),Je(pe(t),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):g.value?(J(),ne("button",{key:1,class:Be(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:"Expand legend",onClick:m[0]||(m[0]=U=>g.value=!1)},[m[2]||(m[2]=j("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",Gy,ye(pe(l)),1),m[3]||(m[3]=j("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],2)):(J(),ne("div",{key:2,class:Be(["legend-container",{"legend-dark":e.isDark}])},[_.value==="detail"?(J(),ne("button",{key:0,class:"detail-collapse-btn",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},null,8,Ky)):we("",!0),_.value==="detail"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:m[1]||(m[1]=Et(U=>pe(a).selectPeopleGroup(null),["stop"])),"aria-label":pe(o)("aria.backToLegend")},[...m[4]||(m[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Hy)):we("",!0),j("div",{class:Be(["legend-content",{"no-padding":pe(i).length>0}])},[_.value==="detail"&&S.value?(J(),Je(Hc,{key:0,peopleGroup:S.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):e.legendType==="language-family"?(J(),ne(Ie,{key:1},[],64)):(J(),Je(Uc,{key:2,title:A.value,items:pe(r),columns:pe(i),activeFilter:pe(c),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(f),totalPopulation:pe(v),fmtPop:pe(x),fmtCount:pe(T),onFilterClick:O},{"title-caret":Tt(()=>[j("button",{class:"legend-collapse-caret",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},[...m[5]||(m[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:"rotate(180deg)","transform-origin":"center"}})],-1)])],8,zy)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))],2)],2))}},[["__scopeId","data-v-6dbdb66e"]]),Vc="pplrInstance";function Wy(e){return{instanceId:e,selection:me(null),activeTab:me(0),isSearching:me(!1),geocoderText:me(""),pinDetail:me(null),theme:me("dark")}}function Yy(e){wt(Vc,e)}function qy(){return $e(Vc,null)}const Jy=["data-theme"],Xy={class:"stl-inner"},Zy={class:"stl-titlebar"},Qy={class:"stl-tb-caret-slot"},e_=["title"],t_={class:"stl-tb-eyebrow"},o_=["title"],n_={key:2,class:"stl-tb-title"},a_={key:0,class:"stl-tabs-wrap"},s_={class:"stl-tabs"},r_=["onClick"],i_=["title","onClick"],l_={key:0,class:"stl-info-pop"},c_={class:"stl-col-hdr"},u_={class:"stl-hdr-name"},d_={key:0,class:"stl-sort-arrow"},p_={key:0,class:"stl-sort-arrow"},g_=["onClick"],f_=["onClick"],h_={key:1,class:"stl-caret-sp"},m_={key:3,class:"stl-dot-sp"},b_={class:"stl-name"},y_={key:4,class:"stl-num"},__={key:5,class:"stl-num"},v_={class:"stl-x-slot"},w_={key:0,class:"stl-empty stl-loading"},k_={key:1,class:"stl-empty"},S_={key:2,class:"stl-empty"},A_={key:3,class:"stl-overflow"},x_={key:1,class:"stl-footer"},L_={class:"stl-footer-label"},T_={key:0,class:"stl-num stl-footer-num"},E_={key:1,class:"stl-num stl-footer-num"},C_=["data-theme"],$_={class:"stl-reopen-label"},Wc=Ao({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},totalLabel:{type:String,default:""},totalCount:{type:Number,default:null},totalPop:{type:Number,default:null}},emits:["select","update:open"],setup(e,{emit:t}){const o=e,n=t,a=qy();function s(N,d=0){return N!=null&&N.length?Math.max(...N.map(y=>s(y.children??[],d+1))):d}function r(N,d,y=0){return y===d?N.slice():N.flatMap(b=>r(b.children??[],d,y+1))}function i(N,d,y=[]){var b;for(const P of N){if(P.id===d)return y;if((b=P.children)!=null&&b.length){const D=i(P.children,d,[...y,P]);if(D)return D}}return null}function l(N,d=new Set){var y;if(!((y=N==null?void 0:N.children)!=null&&y.length))return d;for(const b of N.children)d.add(b.id),l(b,d);return d}const c=Q(()=>s(o.nodes)),u=Q(()=>{const N=o.tabs??[],d=N.length||c.value+1;return Array.from({length:d},(y,b)=>N[b]??{id:`gen${b+1}`,label:`Generation ${b+1}`})}),f=me(0),v=me(new Set),x=me(null),T=me(o.open!==null?o.open:!0),w=me(null),E=me(null),_=me("desc"),S=Q({get:()=>o.hideTabs?0:a?a.activeTab.value:f.value,set:N=>{o.hideTabs||(a?a.activeTab.value=N:f.value=N)}}),g=Q({get:()=>a?a.selection.value:x.value,set:N=>{a?a.selection.value=N:x.value=N}}),k=Q(()=>{var N;return((N=g.value)==null?void 0:N.id)||null});Ye(()=>o.open,N=>{N!==null&&(T.value=N)}),Ye(()=>o.nodes,()=>{const N=a==null?void 0:a.activeTab.value;S.value=typeof N=="number"&&N>=0?N:0,v.value=new Set,g.value=null,n("select",null)},{deep:!1});let A=null;a&&Ye(()=>a.selection.value,N=>{if((N==null?void 0:N.id)===A)return;if(!N){A=null;return}A=N.id;const d=i(o.nodes,N.id)||[];typeof N.depth=="number"&&(S.value=Math.min(N.depth,u.value.length-1));const y=S.value,b=new Set;d.slice(y).forEach(P=>b.add(P.id)),v.value=b,n("select",N)});function L(N,d){const y=(d.pop??0)-(N.pop??0);return y!==0?y:(d.count??0)-(N.count??0)}const O=Q(()=>{if(!E.value)return L;const N=E.value,d=_.value==="asc"?1:-1;return(y,b)=>((y[N]??0)-(b[N]??0))*d});function $(N){E.value===N?_.value==="desc"?_.value="asc":(E.value=null,_.value="desc"):(E.value=N,_.value="desc")}const m=me([]),U=me(!1);let H=-1;function I(N){if(m.value[N]){U.value=!1;return}U.value=!0,H=N,setTimeout(()=>{if(H!==N)return;const d=[...r(o.nodes,N)].sort(O.value),y=[...m.value];y[N]=d,m.value=y,U.value=!1},0)}Ye(S,N=>I(N),{immediate:!0}),Ye(()=>[o.nodes,E.value,_.value],()=>{m.value=[],I(S.value)},{deep:!1});const W=Q(()=>m.value[S.value]||[]),ue=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?W.value.slice(0,N):W.value}),C=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?Math.max(0,W.value.length-N):0});function M(N,d,y,b,P){var D;for(const B of d)N.push({node:B,relDepth:y,parent:b,ancestors:P}),v.value.has(B.id)&&((D=B.children)!=null&&D.length)&&M(N,[...B.children].sort(O.value),y+1,B,[...P,B])}const G=Q(()=>{const N=[];M(N,ue.value,0,null,[]);for(let d=0;dP+1&&q.ancestors[P]}if(P===y.relDepth-1){let Y=!1;for(let q=d+1;qk.value!==null),fe=Q(()=>o.columns.includes("count")),Z=Q(()=>o.columns.includes("pop")),ce=Q(()=>g.value?l(g.value):new Set),oe=Q(()=>{var D;const N=g.value;if(!N)return null;const d=i(o.nodes,N.id);if(!d||!d.length)return null;const y=d[d.length-1],b=d.length-1,P=((D=u.value[b])==null?void 0:D.label)||"Parent";return{node:y,tabName:P}});function ke(N){k.value===N.id?(A=null,g.value=null,n("select",null)):(A=N.id,g.value=N,n("select",N))}function ie(N,d){d==null||d.stopPropagation();const y=new Set(v.value),b=y.has(N);if(b?y.delete(N):y.add(N),v.value=y,b&&g.value){const P=i(o.nodes,g.value.id);P&&P.some(D=>D.id===N)&&(A=null,g.value=null,n("select",null))}}function Fe(N){if(S.value===N){w.value=w.value===N?null:N;return}S.value=N,v.value=new Set,A=null,g.value=null,w.value=null,n("select",null)}function ge(N){N==null||N.stopPropagation(),A=null,g.value=null,n("select",null)}function Te(N,d){d==null||d.stopPropagation(),w.value=w.value===N?null:N}function Ae(N){return N?N>=1e6?(N/1e6).toFixed(1)+"M":N>=1e3?Math.round(N/1e3)+"k":N.toLocaleString():"—"}function z(N){return N!=null?N.toLocaleString():"—"}function he(N){var d;return{selected:k.value===N.node.id,descendant:re.value&&ce.value.has(N.node.id),child:N.relDepth>0,leaf:!((d=N.node.children)!=null&&d.length)}}return mo(` +`,"legend-component");const n=e;$e("mapStore"),$e("dataStore");const a=$e("uiStore"),r=za(n,"legendType"),{items:s,columns:i,title:l,activeFilter:c,setFilter:u,totalCount:f,totalPopulation:v,fmtPop:x,fmtCount:T}=Yr(r,zc);$e("normalizedPeopleGroups",null);const w=$e("mapId",null),E=Q(()=>a.isMobile),_=Q(()=>a.legendMode),S=Q(()=>a.selectedPeopleGroup),g=me(n.initiallyCollapsed);let k=null;const A=Q(()=>{var $;return _.value==="detail"&&S.value?(($=S.value.properties)==null?void 0:$.name)||o("legend.header.peopleGroupFallback"):g.value?o("legend.header.collapsed"):l.value});function L(){g.value=!g.value}Ye(_,($,m)=>{$==="detail"&&m!=="detail"&&g.value&&(g.value=!1)});function O($){u($)}return ao(()=>{window.innerWidth<768&&(g.value=!0),k=$=>{var m;w&&((m=$.detail)!=null&&m.mapId)&&$.detail.mapId!==w||(g.value=!1)},window.addEventListener("doxa:openDesktopLegend",k)}),Bo(()=>{k&&window.removeEventListener("doxa:openDesktopLegend",k)}),($,m)=>E.value?(J(),Je(pe(t),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):g.value?(J(),ne("button",{key:1,class:Be(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:"Expand legend",onClick:m[0]||(m[0]=U=>g.value=!1)},[m[2]||(m[2]=j("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",Gy,ye(pe(l)),1),m[3]||(m[3]=j("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],2)):(J(),ne("div",{key:2,class:Be(["legend-container",{"legend-dark":e.isDark}])},[_.value==="detail"?(J(),ne("button",{key:0,class:"detail-collapse-btn",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},null,8,Ky)):we("",!0),_.value==="detail"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:m[1]||(m[1]=Et(U=>pe(a).selectPeopleGroup(null),["stop"])),"aria-label":pe(o)("aria.backToLegend")},[...m[4]||(m[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,Hy)):we("",!0),j("div",{class:Be(["legend-content",{"no-padding":pe(i).length>0}])},[_.value==="detail"&&S.value?(J(),Je(Hc,{key:0,peopleGroup:S.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):e.legendType==="language-family"?(J(),ne(Ie,{key:1},[],64)):(J(),Je(Uc,{key:2,title:A.value,items:pe(s),columns:pe(i),activeFilter:pe(c),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(f),totalPopulation:pe(v),fmtPop:pe(x),fmtCount:pe(T),onFilterClick:O},{"title-caret":Tt(()=>[j("button",{class:"legend-collapse-caret",onClick:Et(L,["stop"]),"aria-label":pe(o)("aria.toggleLegend")},[...m[5]||(m[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round",style:{transform:"rotate(180deg)","transform-origin":"center"}})],-1)])],8,zy)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))],2)],2))}},[["__scopeId","data-v-6dbdb66e"]]),Vc="pplrInstance";function Wy(e){return{instanceId:e,selection:me(null),activeTab:me(0),isSearching:me(!1),geocoderText:me(""),pinDetail:me(null),theme:me("dark")}}function Yy(e){wt(Vc,e)}function qy(){return $e(Vc,null)}const Jy=["data-theme"],Xy={class:"stl-inner"},Zy={class:"stl-titlebar"},Qy={class:"stl-tb-caret-slot"},e_=["title"],t_={class:"stl-tb-eyebrow"},o_=["title"],n_={key:2,class:"stl-tb-title"},a_={key:0,class:"stl-tabs-wrap"},r_={class:"stl-tabs"},s_=["onClick"],i_=["title","onClick"],l_={key:0,class:"stl-info-pop"},c_={class:"stl-col-hdr"},u_={class:"stl-hdr-name"},d_={key:0,class:"stl-sort-arrow"},p_={key:0,class:"stl-sort-arrow"},g_=["onClick"],f_=["onClick"],h_={key:1,class:"stl-caret-sp"},m_={key:3,class:"stl-dot-sp"},b_={class:"stl-name"},y_={key:4,class:"stl-num"},__={key:5,class:"stl-num"},v_={class:"stl-x-slot"},w_={key:0,class:"stl-empty stl-loading"},k_={key:1,class:"stl-empty"},S_={key:2,class:"stl-empty"},A_={key:3,class:"stl-overflow"},x_={key:1,class:"stl-footer"},L_={class:"stl-footer-label"},T_={key:0,class:"stl-num stl-footer-num"},E_={key:1,class:"stl-num stl-footer-num"},C_=["data-theme"],$_={class:"stl-reopen-label"},Wc=Ao({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},tabs:{type:Array,default:null},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},totalLabel:{type:String,default:""},totalCount:{type:Number,default:null},totalPop:{type:Number,default:null}},emits:["select","update:open"],setup(e,{emit:t}){const o=e,n=t,a=qy();function r(N,d=0){return N!=null&&N.length?Math.max(...N.map(y=>r(y.children??[],d+1))):d}function s(N,d,y=0){return y===d?N.slice():N.flatMap(b=>s(b.children??[],d,y+1))}function i(N,d,y=[]){var b;for(const P of N){if(P.id===d)return y;if((b=P.children)!=null&&b.length){const D=i(P.children,d,[...y,P]);if(D)return D}}return null}function l(N,d=new Set){var y;if(!((y=N==null?void 0:N.children)!=null&&y.length))return d;for(const b of N.children)d.add(b.id),l(b,d);return d}const c=Q(()=>r(o.nodes)),u=Q(()=>{const N=o.tabs??[],d=N.length||c.value+1;return Array.from({length:d},(y,b)=>N[b]??{id:`gen${b+1}`,label:`Generation ${b+1}`})}),f=me(0),v=me(new Set),x=me(null),T=me(o.open!==null?o.open:!0),w=me(null),E=me(null),_=me("desc"),S=Q({get:()=>o.hideTabs?0:a?a.activeTab.value:f.value,set:N=>{o.hideTabs||(a?a.activeTab.value=N:f.value=N)}}),g=Q({get:()=>a?a.selection.value:x.value,set:N=>{a?a.selection.value=N:x.value=N}}),k=Q(()=>{var N;return((N=g.value)==null?void 0:N.id)||null});Ye(()=>o.open,N=>{N!==null&&(T.value=N)}),Ye(()=>o.nodes,()=>{const N=a==null?void 0:a.activeTab.value;S.value=typeof N=="number"&&N>=0?N:0,v.value=new Set,g.value=null,n("select",null)},{deep:!1});let A=null;a&&Ye(()=>a.selection.value,N=>{if((N==null?void 0:N.id)===A)return;if(!N){A=null;return}A=N.id;const d=i(o.nodes,N.id)||[];typeof N.depth=="number"&&(S.value=Math.min(N.depth,u.value.length-1));const y=S.value,b=new Set;d.slice(y).forEach(P=>b.add(P.id)),v.value=b,n("select",N)});function L(N,d){const y=(d.pop??0)-(N.pop??0);return y!==0?y:(d.count??0)-(N.count??0)}const O=Q(()=>{if(!E.value)return L;const N=E.value,d=_.value==="asc"?1:-1;return(y,b)=>((y[N]??0)-(b[N]??0))*d});function $(N){E.value===N?_.value==="desc"?_.value="asc":(E.value=null,_.value="desc"):(E.value=N,_.value="desc")}const m=me([]),U=me(!1);let H=-1;function I(N){if(m.value[N]){U.value=!1;return}U.value=!0,H=N,setTimeout(()=>{if(H!==N)return;const d=[...s(o.nodes,N)].sort(O.value),y=[...m.value];y[N]=d,m.value=y,U.value=!1},0)}Ye(S,N=>I(N),{immediate:!0}),Ye(()=>[o.nodes,E.value,_.value],()=>{m.value=[],I(S.value)},{deep:!1});const W=Q(()=>m.value[S.value]||[]),ue=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?W.value.slice(0,N):W.value}),C=Q(()=>{var d;const N=(d=u.value[S.value])==null?void 0:d.topLimit;return N?Math.max(0,W.value.length-N):0});function M(N,d,y,b,P){var D;for(const B of d)N.push({node:B,relDepth:y,parent:b,ancestors:P}),v.value.has(B.id)&&((D=B.children)!=null&&D.length)&&M(N,[...B.children].sort(O.value),y+1,B,[...P,B])}const G=Q(()=>{const N=[];M(N,ue.value,0,null,[]);for(let d=0;dP+1&&q.ancestors[P]}if(P===y.relDepth-1){let Y=!1;for(let q=d+1;qk.value!==null),fe=Q(()=>o.columns.includes("count")),Z=Q(()=>o.columns.includes("pop")),ce=Q(()=>g.value?l(g.value):new Set),oe=Q(()=>{var D;const N=g.value;if(!N)return null;const d=i(o.nodes,N.id);if(!d||!d.length)return null;const y=d[d.length-1],b=d.length-1,P=((D=u.value[b])==null?void 0:D.label)||"Parent";return{node:y,tabName:P}});function ke(N){k.value===N.id?(A=null,g.value=null,n("select",null)):(A=N.id,g.value=N,n("select",N))}function ie(N,d){d==null||d.stopPropagation();const y=new Set(v.value),b=y.has(N);if(b?y.delete(N):y.add(N),v.value=y,b&&g.value){const P=i(o.nodes,g.value.id);P&&P.some(D=>D.id===N)&&(A=null,g.value=null,n("select",null))}}function Fe(N){if(S.value===N){w.value=w.value===N?null:N;return}S.value=N,v.value=new Set,A=null,g.value=null,w.value=null,n("select",null)}function ge(N){N==null||N.stopPropagation(),A=null,g.value=null,n("select",null)}function Te(N,d){d==null||d.stopPropagation(),w.value=w.value===N?null:N}function Ae(N){return N?N>=1e6?(N/1e6).toFixed(1)+"M":N>=1e3?Math.round(N/1e3)+"k":N.toLocaleString():"—"}function z(N){return N!=null?N.toLocaleString():"—"}function he(N){var d;return{selected:k.value===N.node.id,descendant:se.value&&ce.value.has(N.node.id),child:N.relDepth>0,leaf:!((d=N.node.children)!=null&&d.length)}}return mo(` .stl-inner { --stl-pad-x: 10px; --stl-gap: 6px; @@ -858,7 +858,7 @@ .stl-reopen[data-theme="light"] .stl-reopen-caret { color: #57606a; } .stl-panel[data-theme="light"] .stl-x-chip { color: #57606a; border-color: rgba(208,215,222,0.6); } .stl-panel[data-theme="light"] .stl-x-chip:hover { color: #1f2328; background: rgba(208,215,222,0.3); border-color: #afb8c1; } -`,"semantic-tree-legend"),(N,d)=>{var y,b,P,D,B;return J(),ne(Ie,null,[j("div",{class:Be(["stl-panel",{closed:!T.value,"fit-content":e.hideTabs}]),"data-theme":((y=pe(a))==null?void 0:y.theme.value)||"dark"},[j("div",Xy,[j("div",Zy,[j("span",Qy,[ta(N.$slots,"title-caret",{},void 0,!0)]),N.$slots["title-caret"]?we("",!0):(J(),ne("button",{key:0,class:Be(["stl-collapse-btn",{closed:!T.value}]),title:T.value?"Collapse legend":"Expand legend",onClick:d[0]||(d[0]=Y=>{T.value=!T.value,n("update:open",T.value)})},[...d[5]||(d[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,e_)),oe.value&&g.value?(J(),ne(Ie,{key:1},[j("span",t_,ye(oe.value.tabName),1),oe.value.node.color?(J(),ne("span",{key:0,class:"stl-tb-dot",style:ct({background:oe.value.node.color})},null,4)):we("",!0),j("span",{class:"stl-tb-text",title:oe.value.node.label},ye(oe.value.node.label),9,o_)],64)):(J(),ne("span",n_,ye(e.title),1))]),e.hideTabs?we("",!0):(J(),ne("div",a_,[j("div",s_,[(J(!0),ne(Ie,null,Bt(u.value,(Y,q)=>(J(),ne("div",{key:Y.id,class:Be(["stl-tab-chip",{active:S.value===q}])},[j("button",{class:"stl-tab",onClick:p=>Fe(q)},ye(Y.label),9,r_),Y.info?(J(),ne("button",{key:0,class:"stl-tab-info",title:Y.info,onClick:p=>Te(q,p)},"i",8,i_)):we("",!0)],2))),128))]),w.value!==null&&((b=u.value[w.value])!=null&&b.info)?(J(),ne("div",l_,ye(u.value[w.value].info),1)):we("",!0)])),j("div",c_,[d[8]||(d[8]=j("span",{class:"stl-caret-sp"},null,-1)),d[9]||(d[9]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",u_,ye(e.columnLabel||(e.hideTabs?e.title:((P=u.value[S.value])==null?void 0:P.label)||"Name")),1),fe.value?(J(),ne("button",{key:0,class:Be(["stl-hdr-num",{active:E.value==="count"}]),title:"Sort by UUPGs",onClick:d[1]||(d[1]=Y=>$("count"))},[d[6]||(d[6]=ht(" UUPGs ",-1)),E.value==="count"?(J(),ne("span",d_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),Z.value?(J(),ne("button",{key:1,class:Be(["stl-hdr-num",{active:E.value==="pop"}]),title:"Sort by Population",onClick:d[2]||(d[2]=Y=>$("pop"))},[d[7]||(d[7]=ht(" Pop ",-1)),E.value==="pop"?(J(),ne("span",p_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),d[10]||(d[10]=j("span",{class:"stl-x-slot"},null,-1))]),j("div",{class:Be(["stl-rows",{"has-sel":re.value}])},[(J(!0),ne(Ie,null,Bt(G.value,Y=>{var q,p;return J(),ne("div",{key:Y.node.id,class:Be(["stl-row",he(Y)]),style:ct({"--trunk-color":((q=Y.parent)==null?void 0:q.color)||"#6e7681","--row-color":Y.node.color||"#73A17F"}),onClick:h=>ke(Y.node)},[(J(!0),ne(Ie,null,Bt(Y.trunks,(h,F)=>(J(),ne("span",{key:`tr${F}`,class:Be(["stl-trunk",`stl-trunk-${h}`])},null,2))),128)),(p=Y.node.children)!=null&&p.length?(J(),ne("button",{key:0,class:Be(["stl-caret",{open:v.value.has(Y.node.id)}]),onClick:Et(h=>ie(Y.node.id,h),["stop"])},[...d[11]||(d[11]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,f_)):(J(),ne("span",h_)),Y.node.color?(J(),ne("span",{key:2,class:"stl-dot",style:ct({background:Y.node.color})},null,4)):(J(),ne("span",m_)),j("span",b_,ye(Y.node.label),1),fe.value?(J(),ne("span",y_,ye(z(Y.node.count)),1)):we("",!0),Z.value?(J(),ne("span",__,ye(Ae(Y.node.pop)),1)):we("",!0),j("span",v_,[k.value===Y.node.id?(J(),ne("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:d[3]||(d[3]=Et(h=>ge(h),["stop"]))},[...d[12]||(d[12]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):we("",!0)])],14,g_)}),128)),U.value&&!G.value.length?(J(),ne("div",w_,[d[13]||(d[13]=j("span",{class:"stl-spinner"},null,-1)),j("span",null,"Loading "+ye(((D=u.value[S.value])==null?void 0:D.label)||"rows")+"…",1)])):!G.value.length&&e.nodes.length===0?(J(),ne("div",k_,"Loading data…")):G.value.length?we("",!0):(J(),ne("div",S_,"No data at this level")),C.value>0?(J(),ne("div",A_,[ht(" Showing top "+ye(u.value[S.value].topLimit.toLocaleString())+" of "+ye(W.value.length.toLocaleString())+" — ",1),d[14]||(d[14]=j("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):we("",!0)],2),e.totalLabel?(J(),ne("div",x_,[d[15]||(d[15]=j("span",{class:"stl-caret-sp"},null,-1)),d[16]||(d[16]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",L_,ye(e.totalLabel),1),fe.value?(J(),ne("span",T_,ye(z(e.totalCount)),1)):we("",!0),Z.value?(J(),ne("span",E_,ye(Ae(e.totalPop)),1)):we("",!0),d[17]||(d[17]=j("span",{class:"stl-x-slot"},null,-1))])):we("",!0)])],10,Jy),T.value?we("",!0):(J(),ne("button",{key:0,class:"stl-reopen","data-theme":((B=pe(a))==null?void 0:B.theme.value)||"dark",title:"Expand legend",onClick:d[4]||(d[4]=Y=>{T.value=!0,n("update:open",!0)})},[d[18]||(d[18]=j("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",$_,[g.value?(J(),ne(Ie,{key:0},[g.value.color?(J(),ne("span",{key:0,class:"stl-reopen-dot",style:ct({background:g.value.color})},null,4)):we("",!0),ht(" "+ye(g.value.label),1)],64)):(J(),ne(Ie,{key:1},[ht(ye(e.title),1)],64))]),d[19]||(d[19]=j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,C_))],64)}}},[["__scopeId","data-v-d5ce018a"]]);function P_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:s=(bo==null?void 0:bo.center)||[20,10],defaultZoom:r=bo==null?void 0:bo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(m,U,H={x:150,y:0}){const I=t();if(!I)return m;try{const W=I.getCanvas(),ue=W.width,C=W.height,M=I.project(m),G=window.devicePixelRatio||1,re=(H.x||0)*G,fe=(H.y||0)*G,Z={x:M.x-re,y:M.y-fe},ce=I.unproject(Z);return[ce.lng,ce.lat]}catch{return m}}function c(m,U=[]){const H=t();if(!H)return;let I=null,W=5;const ue=U.filter(M=>M.languageFamily===m);if(ue.length>0){let M=1/0,G=-1/0,re=1/0,fe=-1/0;if(ue.forEach(Z=>{Z.longitude&&Z.latitude&&(M=Math.min(M,Z.longitude),G=Math.max(G,Z.longitude),re=Math.min(re,Z.latitude),fe=Math.max(fe,Z.latitude))}),M!==1/0){I=[(M+G)/2,(re+fe)/2];const Z=G-M,ce=fe-re,oe=Math.max(Z,ce);oe>50?W=2:oe>20?W=3:oe>10?W=4:oe>5?W=5:W=6}}if(!I)return;const C=l(I);H.flyTo({center:C,zoom:W,...i})}function u(m){const U=t();if(!U)return;let H=null,I=4;const W=Lb(m);if(W)H=W.center,I=W.zoom||4;else if(a!=null&&a.features){const C=a.features.find(M=>{var G,re;return((G=M.properties)==null?void 0:G.region)===m||((re=M.properties)==null?void 0:re.name)===m});C&&(H=f(C))}if(!H)return;const ue=l(H);U.flyTo({center:ue,zoom:I,...i})}function f(m){if(!m||!m.geometry)return null;const{type:U,coordinates:H}=m.geometry;let I=[];if(U==="Polygon"?I=H[0]||[]:U==="MultiPolygon"&&H.forEach(C=>{I=I.concat(C[0]||[])}),I.length===0)return null;let W=0,ue=0;return I.forEach(C=>{W+=C[0],ue+=C[1]}),[W/I.length,ue/I.length]}function v(m,U={}){const H=t();if(!H)return;const I={center:m,...i,...U};H.flyTo(I)}function x(m,U){const H=t();if(!H||(m==null?void 0:m.longitude)==null||(m==null?void 0:m.latitude)==null)return;const I=U??Math.min(H.getZoom()+2,8);v([m.longitude,m.latitude],{zoom:I})}function T(m,U={top:40,right:40,bottom:40,left:40},H={}){const I=t();if(!I||!m)return;const W=H.maxZoom??4;I.fitBounds(m,{padding:U,maxZoom:W,...i})}function w(){const m=t();m&&m.flyTo({center:s,zoom:r,...i})}const E=80,_=800,S=5,g=5;function k(m){if(!m.length)return null;let U=1/0,H=-1/0,I=1/0,W=-1/0;for(const M of m){if(!Number.isFinite(M))continue;MH&&(H=M);const G=M<0?M+360:M;GW&&(W=G)}if(!Number.isFinite(U))return null;const ue=H-U,C=W-I;if(C180?I-360:I;return{minLng:M,maxLng:M+C}}return{minLng:U,maxLng:H}}function A(m,U){if(!Array.isArray(m))return m;switch(m[0]){case"get":return U==null?void 0:U[m[1]];case"literal":return m[1];case"has":return U!=null&&m[1]in U;case"!has":return U==null||!(m[1]in U);case"!":return!A(m[1],U);case"coalesce":{for(let I=1;I2){const ue=Number(A(m[2],U));return Number.isFinite(ue)?ue:0}return NaN}case"to-string":{const I=A(m[1],U);return I==null?"":String(I)}case"to-boolean":return!!A(m[1],U);case"slice":{const I=A(m[1],U),W=A(m[2],U),ue=m.length>3?A(m[3],U):void 0;return typeof I!="string"?"":ue!=null?I.slice(W,ue):I.slice(W)}default:return m}}function L(m,U){if(m===!0)return!0;if(m===!1)return!1;if(!Array.isArray(m))return!!m;const H=m[0];if(H==="all"){for(let I=1;I"||H===">="||H==="<"||H==="<="){const I=typeof m[1]=="string"?U==null?void 0:U[m[1]]:A(m[1],U),W=A(m[2],U);switch(H){case"==":return I===W||I==null&&W==null;case"!=":return!(I===W||I==null&&W==null);case">":return I>W;case">=":return I>=W;case"<":return I{const d=(N==null?void 0:N.properties)||{};return d.region===z||d.name===z||d.id===z});if(he){const N=[];let d=1/0,y=-1/0;const b=D=>{for(const B of D)Array.isArray(B[0])?b(B):Number.isFinite(B[0])&&Number.isFinite(B[1])&&(N.push(B[0]),B[1]y&&(y=B[1]))};(ge=he.geometry)!=null&&ge.coordinates&&b(he.geometry.coordinates);const P=k(N);if(P&&Number.isFinite(d)){H.fitBounds([[P.minLng,d],[P.maxLng,y]],{padding:E,maxZoom:S,duration:_,essential:!0});return}}}const I=U.sourceId??"language-families";if(!H.getSource(I))return;const W=U.matchExpr??m.filter;if(!W)return;const ue=O(H,I);if(!ue.length)return;const C=[];let M=1/0,G=-1/0,re=0,fe=0,Z=0;const ce=new Set;for(const Ae of ue){const z=Ae==null?void 0:Ae.properties;if(!L(W,z))continue;const he=z==null?void 0:z.uniqueId;if(he!=null){if(ce.has(he))continue;ce.add(he)}const N=(Te=Ae.geometry)==null?void 0:Te.coordinates;if(!Array.isArray(N)||N.length<2)continue;const d=N[0],y=N[1];!Number.isFinite(d)||!Number.isFinite(y)||(re===0&&(fe=d,Z=y),C.push(d),yG&&(G=y),re++)}if(re===0)return;const oe=k(C),ke=oe?oe.minLng:0,ie=oe?oe.maxLng:0;if(re===1){H.flyTo({center:[fe,Z],zoom:g,duration:_,essential:!0});return}const Fe=[[ke,M],[ie,G]];try{const Ae=typeof H.cameraForBounds=="function"?H.cameraForBounds(Fe,{padding:E,maxZoom:S}):null,z=typeof H.getMinZoom=="function"?H.getMinZoom():null;if((Ae==null||typeof Ae.zoom=="number"&&typeof z=="number"&&Ae.zoom{var y,b,P,D,B;return J(),ne(Ie,null,[j("div",{class:Be(["stl-panel",{closed:!T.value,"fit-content":e.hideTabs}]),"data-theme":((y=pe(a))==null?void 0:y.theme.value)||"dark"},[j("div",Xy,[j("div",Zy,[j("span",Qy,[ta(N.$slots,"title-caret",{},void 0,!0)]),N.$slots["title-caret"]?we("",!0):(J(),ne("button",{key:0,class:Be(["stl-collapse-btn",{closed:!T.value}]),title:T.value?"Collapse legend":"Expand legend",onClick:d[0]||(d[0]=Y=>{T.value=!T.value,n("update:open",T.value)})},[...d[5]||(d[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,e_)),oe.value&&g.value?(J(),ne(Ie,{key:1},[j("span",t_,ye(oe.value.tabName),1),oe.value.node.color?(J(),ne("span",{key:0,class:"stl-tb-dot",style:ct({background:oe.value.node.color})},null,4)):we("",!0),j("span",{class:"stl-tb-text",title:oe.value.node.label},ye(oe.value.node.label),9,o_)],64)):(J(),ne("span",n_,ye(e.title),1))]),e.hideTabs?we("",!0):(J(),ne("div",a_,[j("div",r_,[(J(!0),ne(Ie,null,Bt(u.value,(Y,q)=>(J(),ne("div",{key:Y.id,class:Be(["stl-tab-chip",{active:S.value===q}])},[j("button",{class:"stl-tab",onClick:p=>Fe(q)},ye(Y.label),9,s_),Y.info?(J(),ne("button",{key:0,class:"stl-tab-info",title:Y.info,onClick:p=>Te(q,p)},"i",8,i_)):we("",!0)],2))),128))]),w.value!==null&&((b=u.value[w.value])!=null&&b.info)?(J(),ne("div",l_,ye(u.value[w.value].info),1)):we("",!0)])),j("div",c_,[d[8]||(d[8]=j("span",{class:"stl-caret-sp"},null,-1)),d[9]||(d[9]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",u_,ye(e.columnLabel||(e.hideTabs?e.title:((P=u.value[S.value])==null?void 0:P.label)||"Name")),1),fe.value?(J(),ne("button",{key:0,class:Be(["stl-hdr-num",{active:E.value==="count"}]),title:"Sort by UUPGs",onClick:d[1]||(d[1]=Y=>$("count"))},[d[6]||(d[6]=ht(" UUPGs ",-1)),E.value==="count"?(J(),ne("span",d_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),Z.value?(J(),ne("button",{key:1,class:Be(["stl-hdr-num",{active:E.value==="pop"}]),title:"Sort by Population",onClick:d[2]||(d[2]=Y=>$("pop"))},[d[7]||(d[7]=ht(" Pop ",-1)),E.value==="pop"?(J(),ne("span",p_,ye(_.value==="desc"?"▼":"▲"),1)):we("",!0)],2)):we("",!0),d[10]||(d[10]=j("span",{class:"stl-x-slot"},null,-1))]),j("div",{class:Be(["stl-rows",{"has-sel":se.value}])},[(J(!0),ne(Ie,null,Bt(G.value,Y=>{var q,p;return J(),ne("div",{key:Y.node.id,class:Be(["stl-row",he(Y)]),style:ct({"--trunk-color":((q=Y.parent)==null?void 0:q.color)||"#6e7681","--row-color":Y.node.color||"#73A17F"}),onClick:h=>ke(Y.node)},[(J(!0),ne(Ie,null,Bt(Y.trunks,(h,F)=>(J(),ne("span",{key:`tr${F}`,class:Be(["stl-trunk",`stl-trunk-${h}`])},null,2))),128)),(p=Y.node.children)!=null&&p.length?(J(),ne("button",{key:0,class:Be(["stl-caret",{open:v.value.has(Y.node.id)}]),onClick:Et(h=>ie(Y.node.id,h),["stop"])},[...d[11]||(d[11]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],10,f_)):(J(),ne("span",h_)),Y.node.color?(J(),ne("span",{key:2,class:"stl-dot",style:ct({background:Y.node.color})},null,4)):(J(),ne("span",m_)),j("span",b_,ye(Y.node.label),1),fe.value?(J(),ne("span",y_,ye(z(Y.node.count)),1)):we("",!0),Z.value?(J(),ne("span",__,ye(Ae(Y.node.pop)),1)):we("",!0),j("span",v_,[k.value===Y.node.id?(J(),ne("button",{key:0,class:"stl-x-chip",title:"Clear selection",onClick:d[3]||(d[3]=Et(h=>ge(h),["stop"]))},[...d[12]||(d[12]=[j("svg",{width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 2L10 10M10 2L2 10",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])):we("",!0)])],14,g_)}),128)),U.value&&!G.value.length?(J(),ne("div",w_,[d[13]||(d[13]=j("span",{class:"stl-spinner"},null,-1)),j("span",null,"Loading "+ye(((D=u.value[S.value])==null?void 0:D.label)||"rows")+"…",1)])):!G.value.length&&e.nodes.length===0?(J(),ne("div",k_,"Loading data…")):G.value.length?we("",!0):(J(),ne("div",S_,"No data at this level")),C.value>0?(J(),ne("div",A_,[ht(" Showing top "+ye(u.value[S.value].topLimit.toLocaleString())+" of "+ye(W.value.length.toLocaleString())+" — ",1),d[14]||(d[14]=j("span",{class:"stl-overflow-hint"},"use the geocoder above to find the rest",-1))])):we("",!0)],2),e.totalLabel?(J(),ne("div",x_,[d[15]||(d[15]=j("span",{class:"stl-caret-sp"},null,-1)),d[16]||(d[16]=j("span",{class:"stl-dot-sp"},null,-1)),j("span",L_,ye(e.totalLabel),1),fe.value?(J(),ne("span",T_,ye(z(e.totalCount)),1)):we("",!0),Z.value?(J(),ne("span",E_,ye(Ae(e.totalPop)),1)):we("",!0),d[17]||(d[17]=j("span",{class:"stl-x-slot"},null,-1))])):we("",!0)])],10,Jy),T.value?we("",!0):(J(),ne("button",{key:0,class:"stl-reopen","data-theme":((B=pe(a))==null?void 0:B.theme.value)||"dark",title:"Expand legend",onClick:d[4]||(d[4]=Y=>{T.value=!0,n("update:open",!0)})},[d[18]||(d[18]=j("svg",{class:"stl-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),j("span",$_,[g.value?(J(),ne(Ie,{key:0},[g.value.color?(J(),ne("span",{key:0,class:"stl-reopen-dot",style:ct({background:g.value.color})},null,4)):we("",!0),ht(" "+ye(g.value.label),1)],64)):(J(),ne(Ie,{key:1},[ht(ye(e.title),1)],64))]),d[19]||(d[19]=j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none",class:"stl-reopen-caret"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],8,C_))],64)}}},[["__scopeId","data-v-d5ce018a"]]);function P_(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(bo==null?void 0:bo.center)||[20,10],defaultZoom:s=bo==null?void 0:bo.zoom}=e,i={speed:.5,essential:!0,curve:1.2};function l(m,U,H={x:150,y:0}){const I=t();if(!I)return m;try{const W=I.getCanvas(),ue=W.width,C=W.height,M=I.project(m),G=window.devicePixelRatio||1,se=(H.x||0)*G,fe=(H.y||0)*G,Z={x:M.x-se,y:M.y-fe},ce=I.unproject(Z);return[ce.lng,ce.lat]}catch{return m}}function c(m,U=[]){const H=t();if(!H)return;let I=null,W=5;const ue=U.filter(M=>M.languageFamily===m);if(ue.length>0){let M=1/0,G=-1/0,se=1/0,fe=-1/0;if(ue.forEach(Z=>{Z.longitude&&Z.latitude&&(M=Math.min(M,Z.longitude),G=Math.max(G,Z.longitude),se=Math.min(se,Z.latitude),fe=Math.max(fe,Z.latitude))}),M!==1/0){I=[(M+G)/2,(se+fe)/2];const Z=G-M,ce=fe-se,oe=Math.max(Z,ce);oe>50?W=2:oe>20?W=3:oe>10?W=4:oe>5?W=5:W=6}}if(!I)return;const C=l(I);H.flyTo({center:C,zoom:W,...i})}function u(m){const U=t();if(!U)return;let H=null,I=4;const W=Lb(m);if(W)H=W.center,I=W.zoom||4;else if(a!=null&&a.features){const C=a.features.find(M=>{var G,se;return((G=M.properties)==null?void 0:G.region)===m||((se=M.properties)==null?void 0:se.name)===m});C&&(H=f(C))}if(!H)return;const ue=l(H);U.flyTo({center:ue,zoom:I,...i})}function f(m){if(!m||!m.geometry)return null;const{type:U,coordinates:H}=m.geometry;let I=[];if(U==="Polygon"?I=H[0]||[]:U==="MultiPolygon"&&H.forEach(C=>{I=I.concat(C[0]||[])}),I.length===0)return null;let W=0,ue=0;return I.forEach(C=>{W+=C[0],ue+=C[1]}),[W/I.length,ue/I.length]}function v(m,U={}){const H=t();if(!H)return;const I={center:m,...i,...U};H.flyTo(I)}function x(m,U){const H=t();if(!H||(m==null?void 0:m.longitude)==null||(m==null?void 0:m.latitude)==null)return;const I=U??Math.min(H.getZoom()+2,8);v([m.longitude,m.latitude],{zoom:I})}function T(m,U={top:40,right:40,bottom:40,left:40},H={}){const I=t();if(!I||!m)return;const W=H.maxZoom??4;I.fitBounds(m,{padding:U,maxZoom:W,...i})}function w(){const m=t();m&&m.flyTo({center:r,zoom:s,...i})}const E=80,_=800,S=5,g=5;function k(m){if(!m.length)return null;let U=1/0,H=-1/0,I=1/0,W=-1/0;for(const M of m){if(!Number.isFinite(M))continue;MH&&(H=M);const G=M<0?M+360:M;GW&&(W=G)}if(!Number.isFinite(U))return null;const ue=H-U,C=W-I;if(C180?I-360:I;return{minLng:M,maxLng:M+C}}return{minLng:U,maxLng:H}}function A(m,U){if(!Array.isArray(m))return m;switch(m[0]){case"get":return U==null?void 0:U[m[1]];case"literal":return m[1];case"has":return U!=null&&m[1]in U;case"!has":return U==null||!(m[1]in U);case"!":return!A(m[1],U);case"coalesce":{for(let I=1;I2){const ue=Number(A(m[2],U));return Number.isFinite(ue)?ue:0}return NaN}case"to-string":{const I=A(m[1],U);return I==null?"":String(I)}case"to-boolean":return!!A(m[1],U);case"slice":{const I=A(m[1],U),W=A(m[2],U),ue=m.length>3?A(m[3],U):void 0;return typeof I!="string"?"":ue!=null?I.slice(W,ue):I.slice(W)}default:return m}}function L(m,U){if(m===!0)return!0;if(m===!1)return!1;if(!Array.isArray(m))return!!m;const H=m[0];if(H==="all"){for(let I=1;I"||H===">="||H==="<"||H==="<="){const I=typeof m[1]=="string"?U==null?void 0:U[m[1]]:A(m[1],U),W=A(m[2],U);switch(H){case"==":return I===W||I==null&&W==null;case"!=":return!(I===W||I==null&&W==null);case">":return I>W;case">=":return I>=W;case"<":return I{const d=(N==null?void 0:N.properties)||{};return d.region===z||d.name===z||d.id===z});if(he){const N=[];let d=1/0,y=-1/0;const b=D=>{for(const B of D)Array.isArray(B[0])?b(B):Number.isFinite(B[0])&&Number.isFinite(B[1])&&(N.push(B[0]),B[1]y&&(y=B[1]))};(ge=he.geometry)!=null&&ge.coordinates&&b(he.geometry.coordinates);const P=k(N);if(P&&Number.isFinite(d)){H.fitBounds([[P.minLng,d],[P.maxLng,y]],{padding:E,maxZoom:S,duration:_,essential:!0});return}}}const I=U.sourceId??"language-families";if(!H.getSource(I))return;const W=U.matchExpr??m.filter;if(!W)return;const ue=O(H,I);if(!ue.length)return;const C=[];let M=1/0,G=-1/0,se=0,fe=0,Z=0;const ce=new Set;for(const Ae of ue){const z=Ae==null?void 0:Ae.properties;if(!L(W,z))continue;const he=z==null?void 0:z.uniqueId;if(he!=null){if(ce.has(he))continue;ce.add(he)}const N=(Te=Ae.geometry)==null?void 0:Te.coordinates;if(!Array.isArray(N)||N.length<2)continue;const d=N[0],y=N[1];!Number.isFinite(d)||!Number.isFinite(y)||(se===0&&(fe=d,Z=y),C.push(d),yG&&(G=y),se++)}if(se===0)return;const oe=k(C),ke=oe?oe.minLng:0,ie=oe?oe.maxLng:0;if(se===1){H.flyTo({center:[fe,Z],zoom:g,duration:_,essential:!0});return}const Fe=[[ke,M],[ie,G]];try{const Ae=typeof H.cameraForBounds=="function"?H.cameraForBounds(Fe,{padding:E,maxZoom:S}):null,z=typeof H.getMinZoom=="function"?H.getMinZoom():null;if((Ae==null||typeof Ae.zoom=="number"&&typeof z=="number"&&Ae.zoom(J(),ne("button",{class:Be(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[ta(t.$slots,"default")],10,I_))}},N_={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomIn()}return(a,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomIn"),onClick:n},{default:Tt(()=>[...s[0]||(s[0]=[j("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},F_={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomOut()}return(a,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomOut"),onClick:n},{default:Tt(()=>[...s[0]||(s[0]=[j("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},R_={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=gt(),o=e;function n(){var s;(s=o.map)==null||s.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function a(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(s=>{const{longitude:r,latitude:i}=s.coords;Number.isFinite(r)&&Number.isFinite(i)?o.map.flyTo({center:[r,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(s,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.resetView"),onClick:a},{default:Tt(()=>[...r[0]||(r[0]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[j("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},D_={key:0,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},O_={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},B_={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=gt(),n=e,a=t,s=me(!1);let r=null,i=null,l=null,c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0,g=null,k=null;function A(){if(typeof document>"u")return!1;const C=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(C)||C.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var C,M,G;return((G=(M=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:M.call(C))==null?void 0:G.host)??null}function O(){var M,G;const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);return document.fullscreenElement||document.webkitFullscreenElement||(C&&C instanceof ShadowRoot?C.fullscreenElement:null)||null}function $(C){const M=C.requestFullscreen||C.webkitRequestFullscreen;if(!M)return Promise.reject(new Error("Fullscreen API unavailable"));const G=M.call(C);return G&&typeof G.then=="function"?G:Promise.resolve()}function m(){const C=document.exitFullscreen||document.webkitExitFullscreen;if(!C)return Promise.reject(new Error("Fullscreen API unavailable"));const M=C.call(document);return M&&typeof M.then=="function"?M:Promise.resolve()}function U(){const C=L();if(!C)return!1;if(l=C,i=C.style.cssText,C.style.position="fixed",C.style.top="0",C.style.left="0",C.style.right="0",C.style.bottom="0",C.style.width="100vw",C.style.height="100vh",C.style.height="100dvh",C.style.zIndex="2147483647",C.style.margin="0",C.style.borderRadius="0",C.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){_=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const M=document.body,G=document.documentElement;c=M?M.style.overflow:null,u=G?G.style.overflow:null,f=M?M.style.position:null,v=M?M.style.top:null,x=M?M.style.left:null,T=M?M.style.width:null,w=M?M.style.touchAction:null,E=G?G.style.touchAction:null,G&&(G.style.overflow="hidden",G.style.touchAction="none"),M&&(M.style.overflow="hidden",M.style.position="fixed",M.style.top=`-${_}px`,M.style.left=`-${S}px`,M.style.width="100%",M.style.touchAction="none"),g=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},k=re=>{if(!l)return;const fe=re.target;fe&&(fe===l||l.contains&&l.contains(fe))||re.cancelable&&re.preventDefault()},document.addEventListener("touchmove",g,{passive:!1,capture:!0}),document.addEventListener("wheel",k,{passive:!1,capture:!0})}return!0}function H(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const C=document.body,M=document.documentElement;C&&(C.style.overflow=c??"",C.style.position=f??"",C.style.top=v??"",C.style.left=x??"",C.style.width=T??"",C.style.touchAction=w??""),M&&(M.style.overflow=u??"",M.style.touchAction=E??""),g&&(document.removeEventListener("touchmove",g,{capture:!0}),g=null),k&&(document.removeEventListener("wheel",k,{capture:!0}),k=null),typeof window<"u"&&(_||S)&&window.scrollTo(S,_)}c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0}}function I(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function W(){if(!A()){s.value?(H(),s.value=!1,a("change",!1)):U()&&(s.value=!0,a("change",!0)),I();return}if(O())m().then(()=>{s.value=!1,a("change",!1)}).catch(()=>{});else{const M=L()??document.documentElement;$(M).then(()=>{s.value=!0,a("change",!0)}).catch(()=>{$(document.documentElement).then(()=>{s.value=!0,a("change",!0)}).catch(()=>{})})}}function ue(){s.value=!!O(),a("change",s.value)}return ao(()=>{var M,G;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);C instanceof ShadowRoot&&(r=C,C.addEventListener("fullscreenchange",ue),C.addEventListener("webkitfullscreenchange",ue))}),Bo(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),r&&(r.removeEventListener("fullscreenchange",ue),r.removeEventListener("webkitfullscreenchange",ue),r=null),l&&H()}),(C,M)=>(J(),Je(Qo,{"is-dark":e.isDark,active:s.value,title:pe(o)("buttons.toggleFullscreen"),onClick:W},{default:Tt(()=>[s.value?(J(),ne("svg",O_,[...M[1]||(M[1]=[j("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"},null,-1)])])):(J(),ne("svg",D_,[...M[0]||(M[0]=[j("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},U_={style:{"font-size":"16px","line-height":"1"}},j_={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:e.isDark?pe(t)("buttons.switchToLightMode"):pe(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:Tt(()=>[j("span",U_,ye(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"]))}},G_={__name:"HelpButton",props:{isDark:{type:Boolean,default:!1}},emits:["open-help"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.aboutThisMap"),onClick:n[0]||(n[0]=a=>o.$emit("open-help"))},{default:Tt(()=>[...n[1]||(n[1]=[j("span",{style:{"font-size":"15px","font-weight":"700","font-family":"serif","line-height":"1"}},"?",-1)])]),_:1},8,["is-dark","title"]))}},K_=["dir"],H_={key:0,class:"dsm-tab-bar"},z_=["onClick"],V_={class:"dsm-map-area"},W_={key:0,class:"dsm-loading"},Y_={class:"dsm-legend-desktop-slot"},q_={class:"dsm-legend-mobile-slot"},J_={class:"dsm-help-modal"},en="language-family-pins-active",Aa="language-family-pins-pulse",Yc="language-family-pins-hitbox",X_="#b9bfc6",Z_="#4b5360",Q_=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"doxa-simple-map",setup(e){var at,Qe;const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0));mo(` +`,"map-control-button"),(t,o)=>(J(),ne("button",{class:Be(["mcb",{dark:e.isDark,active:e.active}]),title:e.title,disabled:e.disabled,onClick:o[0]||(o[0]=n=>t.$emit("click"))},[ta(t.$slots,"default")],10,I_))}},N_={__name:"ZoomInButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomIn()}return(a,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomIn"),onClick:n},{default:Tt(()=>[...r[0]||(r[0]=[j("span",{style:{"font-size":"20px","line-height":"1","font-weight":"600"}},"+",-1)])]),_:1},8,["is-dark","title"]))}},F_={__name:"ZoomOutButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1}},setup(e){const{t}=gt(),o=e;function n(){var a;(a=o.map)==null||a.zoomOut()}return(a,r)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.zoomOut"),onClick:n},{default:Tt(()=>[...r[0]||(r[0]=[j("span",{style:{"font-size":"22px","line-height":"1","font-weight":"600"}},"−",-1)])]),_:1},8,["is-dark","title"]))}},R_={__name:"LocationButton",props:{map:{type:Object,default:null},isDark:{type:Boolean,default:!1},center:{type:Array,default:()=>[20,10]},zoom:{type:Number,default:1.8},userZoom:{type:Number,default:10}},setup(e){const{t}=gt(),o=e;function n(){var r;(r=o.map)==null||r.flyTo({center:o.center,zoom:o.zoom,duration:1200})}function a(){if(o.map){if(typeof navigator>"u"||!navigator.geolocation){n();return}navigator.geolocation.getCurrentPosition(r=>{const{longitude:s,latitude:i}=r.coords;Number.isFinite(s)&&Number.isFinite(i)?o.map.flyTo({center:[s,i],zoom:o.userZoom,duration:1500}):n()},()=>n(),{enableHighAccuracy:!1,timeout:5e3,maximumAge:6e4})}}return(r,s)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.resetView"),onClick:a},{default:Tt(()=>[...s[0]||(s[0]=[j("svg",{xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},[j("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z"})],-1)])]),_:1},8,["is-dark","title"]))}},D_={key:0,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},O_={key:1,xmlns:"http://www.w3.org/2000/svg",width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},B_={__name:"FullscreenButton",props:{mapContainer:{type:Object,default:null},isDark:{type:Boolean,default:!1}},emits:["change"],setup(e,{emit:t}){const{t:o}=gt(),n=e,a=t,r=me(!1);let s=null,i=null,l=null,c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0,g=null,k=null;function A(){if(typeof document>"u")return!1;const C=typeof navigator<"u"&&navigator.userAgent||"";return/iPad|iPhone|iPod/.test(C)||C.includes("Mac")&&typeof document<"u"&&"ontouchend"in document?!1:!!(document.fullscreenEnabled||document.webkitFullscreenEnabled)}function L(){var C,M,G;return((G=(M=(C=n.mapContainer)==null?void 0:C.getRootNode)==null?void 0:M.call(C))==null?void 0:G.host)??null}function O(){var M,G;const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);return document.fullscreenElement||document.webkitFullscreenElement||(C&&C instanceof ShadowRoot?C.fullscreenElement:null)||null}function $(C){const M=C.requestFullscreen||C.webkitRequestFullscreen;if(!M)return Promise.reject(new Error("Fullscreen API unavailable"));const G=M.call(C);return G&&typeof G.then=="function"?G:Promise.resolve()}function m(){const C=document.exitFullscreen||document.webkitExitFullscreen;if(!C)return Promise.reject(new Error("Fullscreen API unavailable"));const M=C.call(document);return M&&typeof M.then=="function"?M:Promise.resolve()}function U(){const C=L();if(!C)return!1;if(l=C,i=C.style.cssText,C.style.position="fixed",C.style.top="0",C.style.left="0",C.style.right="0",C.style.bottom="0",C.style.width="100vw",C.style.height="100vh",C.style.height="100dvh",C.style.zIndex="2147483647",C.style.margin="0",C.style.borderRadius="0",C.style.touchAction="pan-x pan-y pinch-zoom",typeof document<"u"){_=window.scrollY||window.pageYOffset||0,S=window.scrollX||window.pageXOffset||0;const M=document.body,G=document.documentElement;c=M?M.style.overflow:null,u=G?G.style.overflow:null,f=M?M.style.position:null,v=M?M.style.top:null,x=M?M.style.left:null,T=M?M.style.width:null,w=M?M.style.touchAction:null,E=G?G.style.touchAction:null,G&&(G.style.overflow="hidden",G.style.touchAction="none"),M&&(M.style.overflow="hidden",M.style.position="fixed",M.style.top=`-${_}px`,M.style.left=`-${S}px`,M.style.width="100%",M.style.touchAction="none"),g=se=>{if(!l)return;const fe=se.target;fe&&(fe===l||l.contains&&l.contains(fe))||se.cancelable&&se.preventDefault()},k=se=>{if(!l)return;const fe=se.target;fe&&(fe===l||l.contains&&l.contains(fe))||se.cancelable&&se.preventDefault()},document.addEventListener("touchmove",g,{passive:!1,capture:!0}),document.addEventListener("wheel",k,{passive:!1,capture:!0})}return!0}function H(){if(l){if(l.style.cssText=i||"",l=null,i=null,typeof document<"u"){const C=document.body,M=document.documentElement;C&&(C.style.overflow=c??"",C.style.position=f??"",C.style.top=v??"",C.style.left=x??"",C.style.width=T??"",C.style.touchAction=w??""),M&&(M.style.overflow=u??"",M.style.touchAction=E??""),g&&(document.removeEventListener("touchmove",g,{capture:!0}),g=null),k&&(document.removeEventListener("wheel",k,{capture:!0}),k=null),typeof window<"u"&&(_||S)&&window.scrollTo(S,_)}c=null,u=null,f=null,v=null,x=null,T=null,w=null,E=null,_=0,S=0}}function I(){typeof window>"u"||window.requestAnimationFrame(()=>{window.dispatchEvent(new Event("resize"))})}function W(){if(!A()){r.value?(H(),r.value=!1,a("change",!1)):U()&&(r.value=!0,a("change",!0)),I();return}if(O())m().then(()=>{r.value=!1,a("change",!1)}).catch(()=>{});else{const M=L()??document.documentElement;$(M).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{$(document.documentElement).then(()=>{r.value=!0,a("change",!0)}).catch(()=>{})})}}function ue(){r.value=!!O(),a("change",r.value)}return ao(()=>{var M,G;document.addEventListener("fullscreenchange",ue),document.addEventListener("webkitfullscreenchange",ue);const C=(G=(M=n.mapContainer)==null?void 0:M.getRootNode)==null?void 0:G.call(M);C instanceof ShadowRoot&&(s=C,C.addEventListener("fullscreenchange",ue),C.addEventListener("webkitfullscreenchange",ue))}),Bo(()=>{document.removeEventListener("fullscreenchange",ue),document.removeEventListener("webkitfullscreenchange",ue),s&&(s.removeEventListener("fullscreenchange",ue),s.removeEventListener("webkitfullscreenchange",ue),s=null),l&&H()}),(C,M)=>(J(),Je(Qo,{"is-dark":e.isDark,active:r.value,title:pe(o)("buttons.toggleFullscreen"),onClick:W},{default:Tt(()=>[r.value?(J(),ne("svg",O_,[...M[1]||(M[1]=[j("path",{d:"M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"},null,-1)])])):(J(),ne("svg",D_,[...M[0]||(M[0]=[j("path",{d:"M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"},null,-1)])]))]),_:1},8,["is-dark","active","title"]))}},U_={style:{"font-size":"16px","line-height":"1"}},j_={__name:"ThemeToggleButton",props:{isDark:{type:Boolean,default:!1}},emits:["toggle"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:e.isDark?pe(t)("buttons.switchToLightMode"):pe(t)("buttons.switchToDarkMode"),onClick:n[0]||(n[0]=a=>o.$emit("toggle"))},{default:Tt(()=>[j("span",U_,ye(e.isDark?"☀️":"🌙"),1)]),_:1},8,["is-dark","title"]))}},G_={__name:"HelpButton",props:{isDark:{type:Boolean,default:!1}},emits:["open-help"],setup(e){const{t}=gt();return(o,n)=>(J(),Je(Qo,{"is-dark":e.isDark,title:pe(t)("buttons.aboutThisMap"),onClick:n[0]||(n[0]=a=>o.$emit("open-help"))},{default:Tt(()=>[...n[1]||(n[1]=[j("span",{style:{"font-size":"15px","font-weight":"700","font-family":"serif","line-height":"1"}},"?",-1)])]),_:1},8,["is-dark","title"]))}},K_=["dir"],H_={key:0,class:"dsm-tab-bar"},z_=["onClick"],V_={class:"dsm-map-area"},W_={key:0,class:"dsm-loading"},Y_={class:"dsm-legend-desktop-slot"},q_={class:"dsm-legend-mobile-slot"},J_={class:"dsm-help-modal"},en="language-family-pins-active",Aa="language-family-pins-pulse",Yc="language-family-pins-hitbox",X_="#b9bfc6",Z_="#4b5360",Q_=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"doxa-simple-map",setup(e){var at,Qe;const t=Za(()=>La(()=>Promise.resolve().then(()=>qc),void 0));mo(` .dsm-root { position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden; } .dsm-tab-bar { flex:0 0 auto;display:flex;align-items:center;background:#fff;border-bottom:2px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.08);height:48px;padding:0 12px;gap:4px;z-index:10; } .dsm-tab { background:none;border:none;padding:0 20px;height:100%;font-size:14px;font-weight:500;color:#555;cursor:pointer;border-bottom:3px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap; } @@ -1019,7 +1019,7 @@ .dsm-help-modal p:last-of-type { margin-bottom:0; } .dsm-help-close { position:absolute;top:12px;right:14px;background:none;border:none;color:#fff;font-size:20px;cursor:pointer;line-height:1;padding:4px 6px;border-radius:4px; } .dsm-help-close:hover { background:rgba(255,255,255,0.12); } -`,"doxa-simple-map");const{t:o,locale:n}=gt(),a=["country-label","state-label","settlement-major-label","settlement-minor-label","place-label","continent-label","water-point-label","water-line-label"];function s(X){const te=ge==null?void 0:ge.value;if(te){for(const ae of a)if(te.getLayer(ae))try{te.setLayoutProperty(ae,"text-field",["coalesce",["get","name_"+X],["get","name_en"],["get","name"]])}catch{}}}const r=Q(()=>Em.has(n.value)),i={hamburgerMenu:!1,infoButton:!1,overlapDensity:!1,darkPinBorder:!1,geocoder:!1,activeOverlayEmphasis:!1},l=$e("profileConfig"),c=$e("mapboxToken"),u=$e("dataSource"),f=[{id:"prayer",label:"Prayer",colorStrategy:"prayer",legend:"prayer",popup:"prayer"}],v=Q(()=>{var X;return((X=l==null?void 0:l.value)==null?void 0:X.tabs)??f}),x=Q(()=>v.value.length>1),T=me(null),w=Q(()=>v.value.find(X=>X.id===T.value)??v.value[0]),E={prayer:"prayer",engagement:"engagement",adoption:"adoption"},_=Q(()=>{var X;return E[(X=w.value)==null?void 0:X.legend]??"prayer"}),S=Q(()=>{var X;return((X=w.value)==null?void 0:X.popup)==="adoption"?"adopt":"pray"}),g=$e("instanceId",null),k=(g==null?void 0:g.value)||g||"doxa-simple-map-"+Math.random().toString(36).slice(2,7);wt("mapId",k),wt("getActivePinColor",X=>{var ve,Ze,yo;const te=(ve=w.value)==null?void 0:ve.colorStrategy,ae=te==="engagement"?ze.ENGAGEMENT:te==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return((yo=(Ze=Nc(ae))==null?void 0:Ze.getColor)==null?void 0:yo.call(Ze,X))??"#1a1a1a"});const A=Wy();Yy(A),A.theme.value="light";const L=Ys(za(()=>_.value));function O(X){const te=[];for(const ae of X){te.push({id:ae.key,label:ae.label,color:ae.color,count:ae.count??0,pop:ae.population??0,filter:ae.filterKey?["==",["get","_flat_filter"],ae.filterKey]:null,children:[]});for(const ve of ae.children||[])te.push({id:ve.key,label:ve.label,color:ve.color,count:ve.count??0,pop:ve.population??0,filter:ve.filterKey?["==",["get","_flat_filter"],ve.filterKey]:null,children:[]})}return te}const $=Q(()=>O(L.items.value)),m=Q(()=>"Legend"),U=Q(()=>{const X=_.value;return X==="prayer"?"Prayer Status":X==="engagement"?"Engagement Status":X==="adoption"?"Adoption Status":"Status"}),H=Q(()=>o("legend.footer.total")),I=Q(()=>L.totalCount.value),W=Q(()=>L.totalPopulation.value),ue=Q(()=>ie.legendState!=="collapsed");function C(X){X?ie.openLegend():ie.collapseLegend()}function M(X){var ve;if(!X){const Ze=_.value;Ze==="prayer"?ie.setPrayerFilter(null):Ze==="engagement"?ie.setEngagementFilter(null):Ze==="adoption"&&ie.setAdoptionFilter(null);return}const te=_.value;te==="prayer"?ie.setPrayerFilter(X.id):te==="engagement"?ie.setEngagementFilter(X.id):te==="adoption"&&ie.setAdoptionFilter(X.id);const ae=R(te,X.id);ae&&((ve=N.zoomToLegendRow)==null||ve.call(N,X,{matchExpr:ae}))}const G=me(null),re=me(null);let fe=null;function Z(X){const te=re.value;te&&(X>=700?(te.style.setProperty("--map-btn-size","40px"),te.style.setProperty("--map-toolbar-gap","8px"),te.style.setProperty("--map-font-md","13px"),te.style.setProperty("--map-font-sm","11px"),te.style.setProperty("--map-legend-width","400px")):X>=500?(te.style.setProperty("--map-btn-size","36px"),te.style.setProperty("--map-toolbar-gap","6px"),te.style.setProperty("--map-font-md","12px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","360px")):(te.style.setProperty("--map-btn-size","32px"),te.style.setProperty("--map-toolbar-gap","5px"),te.style.setProperty("--map-font-md","11px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","280px")))}const ce=me(!1),oe=$e("mapStore"),ke=$e("dataStore"),ie=$e("uiStore"),Fe=new Rb,{map:ge,initializeMap:Te,destroy:Ae}=Fm({containerRef:G,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:[20,10],zoom:1.8,pitch:((at=l==null?void 0:l.value)==null?void 0:at.pitch)??bo.pitch,bearing:((Qe=l==null?void 0:l.value)==null?void 0:Qe.bearing)??bo.bearing}),z=Ab({mapId:k,dataSourceId:u.value,dataSourceManager:Fe,dataStore:ke,markRaw:X=>X}),he=Pb({getMap:()=>ge.value,mapId:k,getLanguageFamilyColor:Mt,getNormalizedPeopleGroups:()=>z.normalizedPeopleGroups.value||[]}),N=P_({getMap:()=>ge.value,mapId:k,mapStore:oe,defaultCenter:[20,10],defaultZoom:1.8}),d=Ib({getMap:()=>ge.value});let y=[];const b=Q(()=>ie.theme==="dark");Ye(b,X=>{A.theme.value=X?"dark":"light"},{immediate:!0}),Ye(b,X=>{const te=ge.value;!te||!te.getLayer("language-family-pins")||te.setPaintProperty("language-family-pins","circle-stroke-color",X?"#ffffff":"rgba(0,0,0,0.45)")},{immediate:!1});function P(){if(!ge.value)return;ie.toggleTheme();const X=ie.theme==="dark"?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11";ge.value.setStyle(X),ge.value.once("style.load",()=>{var te,ae;if(y!=null&&y.length){const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(y,Ze)}d.initialize(),s(n.value),(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()})}function D(){ie.updateBreakpoint(window.innerWidth)}ao(()=>{ie.updateBreakpoint(window.innerWidth),ie.isMobile?ie.collapseLegend():ie.openLegend(),window.addEventListener("resize",D),re.value&&(Z(re.value.offsetWidth),fe=new ResizeObserver(X=>{for(const te of X)Z(te.contentRect.width)}),fe.observe(re.value))}),Bo(()=>{window.removeEventListener("resize",D),fe==null||fe.disconnect(),fe=null});const B=me(!1);function Y(X){if(X===T.value)return;T.value=X;const te=v.value.find(Ze=>Ze.id===X);if(!te||!ge.value)return;const ae=te.colorStrategy,ve=ae==="engagement"?ze.ENGAGEMENT:ae==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;if(ge.value.getLayer("language-family-pins")){const Ze=Ks(ve);ge.value.setPaintProperty("language-family-pins","circle-color",Ze),ge.value.getLayer(en)&&ge.value.setPaintProperty(en,"circle-color",Ze),h.forEach(yo=>{ge.value.getLayer(yo)&&ge.value.setPaintProperty(yo,"circle-color",Ze)})}te.id==="prayer"||te.colorStrategy==="prayer"?he.startPrayerGlow():he.stopPrayerGlow()}function q(X,te){if(X!=null&&X.getLayer(Yc))try{X.setFilter(Yc,te)}catch{}}let p={type:null,key:null};const h=[Aa];function F(){return b.value?Z_:X_}function K(){const X=w.value,te=(X==null?void 0:X.colorStrategy)==="engagement"?ze.ENGAGEMENT:(X==null?void 0:X.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return Ks(te)}function se(X,te){return ee()}function ee(){return b.value?"#ffffff":"rgba(0,0,0,0.45)"}function R(X,te){if(X==="prayer"){const ae=["coalesce",["to-number",["get","peoplePraying"],0],0];if(te==="noPrayer")return["<=",ae,0];if(te==="hasPrayer")return["all",[">",ae,0],["<",ae,To]];if(te==="fullPrayer")return[">=",ae,To]}else if(X==="engagement"){const ae=["get","engagementStatus"];if(te==="hasEngagement")return["any",["==",ae,!0],["==",ae,1]];if(te==="notEngaged")return["all",["!=",ae,!0],["!=",ae,1]]}else if(X==="adoption"){const ae=["get","adoptionStatus"];if(te==="hasAdoption")return["any",["==",ae,!0],["==",ae,1]];if(te==="notAdopted")return["all",["!=",ae,!0],["!=",ae,1]]}return null}function V(){const X=ge.value;X!=null&&X.getLayer(Aa)&&(X.setFilter(Aa,["==","uniqueId",""]),X.setPaintProperty(Aa,"circle-opacity",0))}function de(){V();const X=ge.value;X!=null&&X.getLayer(en)&&X.setFilter(en,["==","uniqueId",""])}function xe(X,te){const ae=ge.value;if(!ae||!ae.getLayer("language-family-pins"))return;if(!te){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}const ve=R(X,te);if(!ve){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}p={type:X,key:te};{ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",["case",ve,1,.06]),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",ve,1,.06]),q(ae,ve),he.syncGlowFilter(ve);return}}Ye(b,()=>{const X=ge.value;X&&(X.getLayer(en)&&X.setPaintProperty(en,"circle-stroke-color",se(p.type,p.key)),p.key&&X.getLayer("language-family-pins")&&X.setPaintProperty("language-family-pins","circle-color",F()))}),Ye(()=>ie.prayerFilter,X=>xe("prayer",X)),Ye(()=>ie.engagementFilter,X=>xe("engagement",X)),Ye(()=>ie.adoptionFilter,X=>xe("adoption",X));async function De(X){var te,ae;oe.registerMap(k,ge.value);try{ge.value.setProjection("mercator")}catch{}if(X!=null&&X.length){y=X;const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(X,Ze)}d.initialize(),s(n.value),oe.setMapReady(k),ce.value=!0,(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()}return Ye(n,X=>s(X)),ao(async()=>{var te;T.value=((te=v.value[0])==null?void 0:te.id)??"prayer",ie.updateBreakpoint(window.innerWidth);const X=z.loadData().catch(ae=>(console.error("[doxa-simple-map] Data load failed:",ae),{normalizedPeopleGroups:[]}));if(await Te(),!ge.value){console.error("[doxa-simple-map] Map failed to initialize — check token and container");return}ge.value.once("style.load",async()=>{try{const{normalizedPeopleGroups:ae}=await X;await De(ae)}catch(ae){console.error("[doxa-simple-map] onMapReady failed:",ae)}})}),Bo(()=>{he.stopPrayerGlow(),de(),oe.unregisterMap(k),d.cleanup(),Ae()}),(X,te)=>(J(),ne("div",{ref_key:"dsmRoot",ref:re,class:Be(["dsm-root",{"dsm-dark":b.value,"dsm-rtl":r.value,"dsm-no-geocoder":!0}]),dir:r.value?"rtl":"ltr"},[x.value?(J(),ne("div",H_,[(J(!0),ne(Ie,null,Bt(v.value,ae=>(J(),ne("button",{key:ae.id,class:Be(["dsm-tab",{active:T.value===ae.id}]),onClick:ve=>Y(ae.id)},ye(ae.label),11,z_))),128))])):we("",!0),j("div",V_,[ce.value?we("",!0):(J(),ne("div",W_,"Loading map…")),j("div",{ref_key:"mapContainer",ref:G,class:"dsm-map-canvas"},null,512),we("",!0),we("",!0),we("",!0),j("div",Y_,[ce.value&&pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup?(J(),Je(Vy,{key:0,"legend-type":_.value,"popup-action":S.value,"initially-collapsed":!1,"is-dark":b.value},null,8,["legend-type","popup-action","is-dark"])):we("",!0),ce.value?Hu((J(),Je(Wc,{key:1,nodes:$.value,tabs:null,title:m.value,hideTabs:!0,columnLabel:U.value,"total-label":H.value,"total-count":I.value,"total-pop":W.value,open:ue.value,onSelect:M,"onUpdate:open":C},null,8,["nodes","title","columnLabel","total-label","total-count","total-pop","open"])),[[op,!(pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup)]]):we("",!0)]),j("div",q_,[ce.value?(J(),Je(pe(t),{key:0,"legend-type":_.value,"popup-action":S.value,"is-dark":b.value,"show-total":!0},null,8,["legend-type","popup-action","is-dark"])):we("",!0)]),te[9]||(te[9]=j("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),te[10]||(te[10]=j("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ce.value?(J(),Je(M_,{key:4,"has-geocoder":i.geocoder},{default:Tt(()=>[Ve(N_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(F_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(R_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(B_,{"map-container":G.value,"is-dark":b.value},null,8,["map-container","is-dark"]),Ve(j_,{"is-dark":b.value,onToggle:P},null,8,["is-dark"]),i.infoButton?(J(),Je(G_,{key:0,"is-dark":b.value,onOpenHelp:te[2]||(te[2]=ae=>B.value=!0)},null,8,["is-dark"])):we("",!0)]),_:1},8,["has-geocoder"])):we("",!0),B.value?(J(),ne("div",{key:5,class:"dsm-help-overlay",onClick:te[4]||(te[4]=Et(ae=>B.value=!1,["self"]))},[j("div",J_,[j("button",{class:"dsm-help-close",onClick:te[3]||(te[3]=ae=>B.value=!1)},"×"),te[5]||(te[5]=j("h2",null,"About This Map",-1)),te[6]||(te[6]=j("p",null,"This map displays Unreached People Groups (UPGs) around the world — communities without meaningful access to the Gospel.",-1)),te[7]||(te[7]=j("p",null,"Use the tabs (if shown) to switch between Prayer and Engagement views. Click any dot to learn more about a people group.",-1)),te[8]||(te[8]=j("p",null,[ht("Data sourced from "),j("strong",null,"pray.doxa.life"),ht(".")],-1))])])):we("",!0)])],10,K_))}},[["__scopeId","data-v-bf7056c2"]])},Symbol.toStringTag,{value:"Module"})),e0="#6b7280";function t0(e,t){return e&&Pn[e]?Pn[e]:e0}function o0(e){return(e==null?void 0:e.properties)||e||{}}function qs(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function n0(e){var t;return String(e.affinityBlock||qs((t=e._raw)==null?void 0:t.rop1)||"").trim()}function a0(e){var t;return String(e.affinityBlockLabel||(typeof((t=e._raw)==null?void 0:t.rop1)=="object"?e._raw.rop1.label:"")||"").trim()}function s0(e){var t;return String(e.cluster||qs((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function r0(e){var t;return String(e.clusterLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_2)=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function i0(e){var t;return String(e.peopleGroup||qs((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function l0(e){var t;return String(e.peopleGroupLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_25)=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function c0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function u0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function d0(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 p0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function g0(e){const t=Q(()=>{const a=e&&e.value||[],s=new Map;for(const r of a){const i=o0(r),l=n0(i),c=a0(i)||l||"— Unknown —",u=s0(i),f=r0(i)||u||"— Unknown —",v=i0(i),x=l0(i)||v||"— Unknown —",T=c0(i),w=u0(i)||T,E=d0(i),_=p0(i);if(!T)continue;let S=s.get(l||"__unknown__");S||(S={code:l,label:c,count:0,pop:0,clusters:new Map},s.set(l||"__unknown__",S)),S.count+=1,S.pop+=E;let g=S.clusters.get(u||"__unknown__");g||(g={code:u,label:f,count:0,pop:0,peopleGroups:new Map},S.clusters.set(u||"__unknown__",g)),g.count+=1,g.pop+=E;let k=g.peopleGroups.get(v||"__unknown__");k||(k={code:v,label:x,count:0,pop:0,instances:[]},g.peopleGroups.set(v||"__unknown__",k)),k.count+=1,k.pop+=E,k.instances.push({id:T,name:w,country:_,pop:E})}return s}),o=Q(()=>{const a=t.value,s=[];for(const r of a.values()){const i=t0(r.code,r.label),l={id:`bloc:${r.code||r.label}`,label:r.label,color:i,count:r.count,pop:r.pop,filter:r.code?["==",["get","affinityBlock"],r.code]:["!",["has","affinityBlock"]],children:[]};for(const c of r.clusters.values()){const u={id:`cluster:${r.code}__${c.code||c.label}`,label:`${c.label} (Cluster)`,color:i,count:c.count,pop:c.pop,filter:c.code?["==",["get","cluster"],c.code]:["==",["get","affinityBlock"],r.code],children:[]};for(const f of c.peopleGroups.values()){const v={id:`pg:${r.code}__${c.code}__${f.code||f.label}`,label:`${f.label} (PG)`,color:i,count:f.count,pop:f.pop,filter:f.code?["==",["get","peopleGroup"],f.code]:["all",["==",["get","affinityBlock"],r.code],["==",["get","cluster"],c.code]],children:[]};f.instances.sort((x,T)=>T.pop-x.pop||x.country.localeCompare(T.country));for(const x of f.instances)v.children.push({id:`pgic:${x.id}`,label:`${x.country?`${x.name}, ${x.country}`:x.name} (PGIC)`,color:i,count:1,pop:x.pop,filter:["==",["get","uniqueId"],x.id],children:[]});u.children.push(v)}u.children.sort((f,v)=>v.count-f.count||v.pop-f.pop),l.children.push(u)}l.children.sort((c,u)=>u.count-c.count||u.pop-c.pop),s.push(l)}return s.sort((r,i)=>i.count-r.count||i.pop-r.pop),s});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),r={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("bloc:")?r.kind="bloc":s.startsWith("cluster:")?r.kind="cluster":s.startsWith("pg:")?r.kind="people-group":s.startsWith("pgic:")&&(r.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:r}))}return{aggregated:t,affinityTree:o,highlight:n}}const f0={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},h0="#95a5a6";function m0(e){return f0[e]||h0}function b0(e){return(e==null?void 0:e.properties)||e||{}}function y0(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 _0(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function v0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function w0(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function k0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function S0(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function A0(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function x0(e){const t=Q(()=>{const a=e&&e.value||[],s=new Map;for(const r of a){const i=b0(r),l=_0(i),c=v0(i)||l||"— Unknown —",u=w0(i),f=k0(i)||u||"— Unknown —",v=S0(i),x=A0(i)||v||"— Unknown —",T=y0(i);if(!l||l==="na"||l==="none")continue;let w=s.get(l);if(w||(w={slug:l,label:c,count:0,pop:0,blocks:new Map},s.set(l,w)),w.count+=1,w.pop+=T,!u||u==="na")continue;let E=w.blocks.get(u);if(E||(E={slug:u,label:f,count:0,pop:0,countries:new Map},w.blocks.set(u,E)),E.count+=1,E.pop+=T,!v)continue;let _=E.countries.get(v);_||(_={iso:v,name:x,count:0,pop:0},E.countries.set(v,_)),_.count+=1,_.pop+=T}return s}),o=Q(()=>{const a=t.value,s=[];for(const r of a.values()){const i=m0(r.label),l=[],c=[],u=[...r.blocks.values()].sort((f,v)=>v.pop-f.pop||f.label.localeCompare(v.label));for(const f of u){const v=[],x=[],T=[...f.countries.values()].sort((w,E)=>E.pop-w.pop||w.name.localeCompare(E.name));for(const w of T)v.push(w.iso),l.push(w.iso),x.push({id:`country:${r.slug}__${f.slug}__${w.iso}`,label:w.name,color:i,count:w.count,pop:w.pop,filter:["==",["get","countryIso"],w.iso],isoCodes:[w.iso],children:[]});c.push({id:`block:${r.slug}__${f.slug}`,label:`${f.label} (Block)`,color:i,count:f.count,pop:f.pop,filter:["==",["get","wagfBlock"],f.slug],isoCodes:v,children:x})}s.push({id:`region:${r.slug}`,label:`${r.label} (Region)`,color:i,count:r.count,pop:r.pop,filter:["==",["get","doxaRegion"],r.slug],isoCodes:[...new Set(l)],children:c})}return s.sort((r,i)=>i.pop-r.pop||r.label.localeCompare(i.label)),s});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const s=String(a.id||""),r={kind:null,label:a.label,filterExpr:a.filter};s.startsWith("region:")?r.kind="region":s.startsWith("block:")?r.kind="block":s.startsWith("country:")&&(r.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:r}))}return{aggregated:t,regionsTree:o,highlight:n}}const L0={class:"legend-sheet-root"},T0=["src","alt"],E0={key:0,class:"pull-tab-handle"},C0=["aria-label"],$0=["aria-label"],P0=["aria-label"],M0={class:"collapsed-detail-title"},I0={class:"legend-content"},N0=["aria-label"],F0=["aria-label"],qc=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"LegendMobile",props:{legendType:{type:String,required:!0},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1},showTotal:{type:Boolean,default:!1}},setup(e){const{t}=gt();mo(` +`,"doxa-simple-map");const{t:o,locale:n}=gt(),a=["country-label","state-label","settlement-major-label","settlement-minor-label","place-label","continent-label","water-point-label","water-line-label"];function r(X){const te=ge==null?void 0:ge.value;if(te){for(const ae of a)if(te.getLayer(ae))try{te.setLayoutProperty(ae,"text-field",["coalesce",["get","name_"+X],["get","name_en"],["get","name"]])}catch{}}}const s=Q(()=>Em.has(n.value)),i={hamburgerMenu:!1,infoButton:!1,overlapDensity:!1,darkPinBorder:!1,geocoder:!1,activeOverlayEmphasis:!1},l=$e("profileConfig"),c=$e("mapboxToken"),u=$e("dataSource"),f=[{id:"prayer",label:"Prayer",colorStrategy:"prayer",legend:"prayer",popup:"prayer"}],v=Q(()=>{var X;return((X=l==null?void 0:l.value)==null?void 0:X.tabs)??f}),x=Q(()=>v.value.length>1),T=me(null),w=Q(()=>v.value.find(X=>X.id===T.value)??v.value[0]),E={prayer:"prayer",engagement:"engagement",adoption:"adoption"},_=Q(()=>{var X;return E[(X=w.value)==null?void 0:X.legend]??"prayer"}),S=Q(()=>{var X;return((X=w.value)==null?void 0:X.popup)==="adoption"?"adopt":"pray"}),g=$e("instanceId",null),k=(g==null?void 0:g.value)||g||"doxa-simple-map-"+Math.random().toString(36).slice(2,7);wt("mapId",k),wt("getActivePinColor",X=>{var ve,Ze,yo;const te=(ve=w.value)==null?void 0:ve.colorStrategy,ae=te==="engagement"?ze.ENGAGEMENT:te==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return((yo=(Ze=Nc(ae))==null?void 0:Ze.getColor)==null?void 0:yo.call(Ze,X))??"#1a1a1a"});const A=Wy();Yy(A),A.theme.value="light";const L=Yr(za(()=>_.value));function O(X){const te=[];for(const ae of X){te.push({id:ae.key,label:ae.label,color:ae.color,count:ae.count??0,pop:ae.population??0,filter:ae.filterKey?["==",["get","_flat_filter"],ae.filterKey]:null,children:[]});for(const ve of ae.children||[])te.push({id:ve.key,label:ve.label,color:ve.color,count:ve.count??0,pop:ve.population??0,filter:ve.filterKey?["==",["get","_flat_filter"],ve.filterKey]:null,children:[]})}return te}const $=Q(()=>O(L.items.value)),m=Q(()=>"Legend"),U=Q(()=>{const X=_.value;return X==="prayer"?"Prayer Status":X==="engagement"?"Engagement Status":X==="adoption"?"Adoption Status":"Status"}),H=Q(()=>o("legend.footer.total")),I=Q(()=>L.totalCount.value),W=Q(()=>L.totalPopulation.value),ue=Q(()=>ie.legendState!=="collapsed");function C(X){X?ie.openLegend():ie.collapseLegend()}function M(X){var ve;if(!X){const Ze=_.value;Ze==="prayer"?ie.setPrayerFilter(null):Ze==="engagement"?ie.setEngagementFilter(null):Ze==="adoption"&&ie.setAdoptionFilter(null);return}const te=_.value;te==="prayer"?ie.setPrayerFilter(X.id):te==="engagement"?ie.setEngagementFilter(X.id):te==="adoption"&&ie.setAdoptionFilter(X.id);const ae=R(te,X.id);ae&&((ve=N.zoomToLegendRow)==null||ve.call(N,X,{matchExpr:ae}))}const G=me(null),se=me(null);let fe=null;function Z(X){const te=se.value;te&&(X>=700?(te.style.setProperty("--map-btn-size","40px"),te.style.setProperty("--map-toolbar-gap","8px"),te.style.setProperty("--map-font-md","13px"),te.style.setProperty("--map-font-sm","11px"),te.style.setProperty("--map-legend-width","400px")):X>=500?(te.style.setProperty("--map-btn-size","36px"),te.style.setProperty("--map-toolbar-gap","6px"),te.style.setProperty("--map-font-md","12px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","360px")):(te.style.setProperty("--map-btn-size","32px"),te.style.setProperty("--map-toolbar-gap","5px"),te.style.setProperty("--map-font-md","11px"),te.style.setProperty("--map-font-sm","10px"),te.style.setProperty("--map-legend-width","280px")))}const ce=me(!1),oe=$e("mapStore"),ke=$e("dataStore"),ie=$e("uiStore"),Fe=new Rb,{map:ge,initializeMap:Te,destroy:Ae}=Fm({containerRef:G,accessToken:c.value,style:"mapbox://styles/mapbox/light-v11",center:[20,10],zoom:1.8,pitch:((at=l==null?void 0:l.value)==null?void 0:at.pitch)??bo.pitch,bearing:((Qe=l==null?void 0:l.value)==null?void 0:Qe.bearing)??bo.bearing}),z=Ab({mapId:k,dataSourceId:u.value,dataSourceManager:Fe,dataStore:ke,markRaw:X=>X}),he=Pb({getMap:()=>ge.value,mapId:k,getLanguageFamilyColor:Mt,getNormalizedPeopleGroups:()=>z.normalizedPeopleGroups.value||[]}),N=P_({getMap:()=>ge.value,mapId:k,mapStore:oe,defaultCenter:[20,10],defaultZoom:1.8}),d=Ib({getMap:()=>ge.value});let y=[];const b=Q(()=>ie.theme==="dark");Ye(b,X=>{A.theme.value=X?"dark":"light"},{immediate:!0}),Ye(b,X=>{const te=ge.value;!te||!te.getLayer("language-family-pins")||te.setPaintProperty("language-family-pins","circle-stroke-color",X?"#ffffff":"rgba(0,0,0,0.45)")},{immediate:!1});function P(){if(!ge.value)return;ie.toggleTheme();const X=ie.theme==="dark"?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11";ge.value.setStyle(X),ge.value.once("style.load",()=>{var te,ae;if(y!=null&&y.length){const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(y,Ze)}d.initialize(),r(n.value),(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()})}function D(){ie.updateBreakpoint(window.innerWidth)}ao(()=>{ie.updateBreakpoint(window.innerWidth),ie.isMobile?ie.collapseLegend():ie.openLegend(),window.addEventListener("resize",D),se.value&&(Z(se.value.offsetWidth),fe=new ResizeObserver(X=>{for(const te of X)Z(te.contentRect.width)}),fe.observe(se.value))}),Bo(()=>{window.removeEventListener("resize",D),fe==null||fe.disconnect(),fe=null});const B=me(!1);function Y(X){if(X===T.value)return;T.value=X;const te=v.value.find(Ze=>Ze.id===X);if(!te||!ge.value)return;const ae=te.colorStrategy,ve=ae==="engagement"?ze.ENGAGEMENT:ae==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;if(ge.value.getLayer("language-family-pins")){const Ze=Kr(ve);ge.value.setPaintProperty("language-family-pins","circle-color",Ze),ge.value.getLayer(en)&&ge.value.setPaintProperty(en,"circle-color",Ze),h.forEach(yo=>{ge.value.getLayer(yo)&&ge.value.setPaintProperty(yo,"circle-color",Ze)})}te.id==="prayer"||te.colorStrategy==="prayer"?he.startPrayerGlow():he.stopPrayerGlow()}function q(X,te){if(X!=null&&X.getLayer(Yc))try{X.setFilter(Yc,te)}catch{}}let p={type:null,key:null};const h=[Aa];function F(){return b.value?Z_:X_}function K(){const X=w.value,te=(X==null?void 0:X.colorStrategy)==="engagement"?ze.ENGAGEMENT:(X==null?void 0:X.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;return Kr(te)}function re(X,te){return ee()}function ee(){return b.value?"#ffffff":"rgba(0,0,0,0.45)"}function R(X,te){if(X==="prayer"){const ae=["coalesce",["to-number",["get","peoplePraying"],0],0];if(te==="noPrayer")return["<=",ae,0];if(te==="hasPrayer")return["all",[">",ae,0],["<",ae,To]];if(te==="fullPrayer")return[">=",ae,To]}else if(X==="engagement"){const ae=["get","engagementStatus"];if(te==="hasEngagement")return["any",["==",ae,!0],["==",ae,1]];if(te==="notEngaged")return["all",["!=",ae,!0],["!=",ae,1]]}else if(X==="adoption"){const ae=["get","adoptionStatus"];if(te==="hasAdoption")return["any",["==",ae,!0],["==",ae,1]];if(te==="notAdopted")return["all",["!=",ae,!0],["!=",ae,1]]}return null}function V(){const X=ge.value;X!=null&&X.getLayer(Aa)&&(X.setFilter(Aa,["==","uniqueId",""]),X.setPaintProperty(Aa,"circle-opacity",0))}function de(){V();const X=ge.value;X!=null&&X.getLayer(en)&&X.setFilter(en,["==","uniqueId",""])}function xe(X,te){const ae=ge.value;if(!ae||!ae.getLayer("language-family-pins"))return;if(!te){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}const ve=R(X,te);if(!ve){p={type:null,key:null},ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",.9),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",1),q(ae,null),he.syncGlowFilter(null),de();return}p={type:X,key:te};{ae.setPaintProperty("language-family-pins","circle-color",K()),ae.setPaintProperty("language-family-pins","circle-opacity",["case",ve,1,.06]),ae.setPaintProperty("language-family-pins","circle-stroke-opacity",["case",ve,1,.06]),q(ae,ve),he.syncGlowFilter(ve);return}}Ye(b,()=>{const X=ge.value;X&&(X.getLayer(en)&&X.setPaintProperty(en,"circle-stroke-color",re(p.type,p.key)),p.key&&X.getLayer("language-family-pins")&&X.setPaintProperty("language-family-pins","circle-color",F()))}),Ye(()=>ie.prayerFilter,X=>xe("prayer",X)),Ye(()=>ie.engagementFilter,X=>xe("engagement",X)),Ye(()=>ie.adoptionFilter,X=>xe("adoption",X));async function De(X){var te,ae;oe.registerMap(k,ge.value);try{ge.value.setProjection("mercator")}catch{}if(X!=null&&X.length){y=X;const ve=v.value[0],Ze=(ve==null?void 0:ve.colorStrategy)==="engagement"?ze.ENGAGEMENT:(ve==null?void 0:ve.colorStrategy)==="adoption"?ze.ADOPTION:ze.PRAYER_PROGRESS;he.addLanguageFamilyLayer(X,Ze)}d.initialize(),r(n.value),oe.setMapReady(k),ce.value=!0,(((te=w.value)==null?void 0:te.id)==="prayer"||((ae=w.value)==null?void 0:ae.colorStrategy)==="prayer")&&he.startPrayerGlow()}return Ye(n,X=>r(X)),ao(async()=>{var te;T.value=((te=v.value[0])==null?void 0:te.id)??"prayer",ie.updateBreakpoint(window.innerWidth);const X=z.loadData().catch(ae=>(console.error("[doxa-simple-map] Data load failed:",ae),{normalizedPeopleGroups:[]}));if(await Te(),!ge.value){console.error("[doxa-simple-map] Map failed to initialize — check token and container");return}ge.value.once("style.load",async()=>{try{const{normalizedPeopleGroups:ae}=await X;await De(ae)}catch(ae){console.error("[doxa-simple-map] onMapReady failed:",ae)}})}),Bo(()=>{he.stopPrayerGlow(),de(),oe.unregisterMap(k),d.cleanup(),Ae()}),(X,te)=>(J(),ne("div",{ref_key:"dsmRoot",ref:se,class:Be(["dsm-root",{"dsm-dark":b.value,"dsm-rtl":s.value,"dsm-no-geocoder":!0}]),dir:s.value?"rtl":"ltr"},[x.value?(J(),ne("div",H_,[(J(!0),ne(Ie,null,Bt(v.value,ae=>(J(),ne("button",{key:ae.id,class:Be(["dsm-tab",{active:T.value===ae.id}]),onClick:ve=>Y(ae.id)},ye(ae.label),11,z_))),128))])):we("",!0),j("div",V_,[ce.value?we("",!0):(J(),ne("div",W_,"Loading map…")),j("div",{ref_key:"mapContainer",ref:G,class:"dsm-map-canvas"},null,512),we("",!0),we("",!0),we("",!0),j("div",Y_,[ce.value&&pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup?(J(),Je(Vy,{key:0,"legend-type":_.value,"popup-action":S.value,"initially-collapsed":!1,"is-dark":b.value},null,8,["legend-type","popup-action","is-dark"])):we("",!0),ce.value?Hu((J(),Je(Wc,{key:1,nodes:$.value,tabs:null,title:m.value,hideTabs:!0,columnLabel:U.value,"total-label":H.value,"total-count":I.value,"total-pop":W.value,open:ue.value,onSelect:M,"onUpdate:open":C},null,8,["nodes","title","columnLabel","total-label","total-count","total-pop","open"])),[[op,!(pe(ie).legendMode==="detail"&&pe(ie).selectedPeopleGroup)]]):we("",!0)]),j("div",q_,[ce.value?(J(),Je(pe(t),{key:0,"legend-type":_.value,"popup-action":S.value,"is-dark":b.value,"show-total":!0},null,8,["legend-type","popup-action","is-dark"])):we("",!0)]),te[9]||(te[9]=j("div",{class:"map-scroll-edge map-scroll-edge--left"},null,-1)),te[10]||(te[10]=j("div",{class:"map-scroll-edge map-scroll-edge--right"},null,-1)),ce.value?(J(),Je(M_,{key:4,"has-geocoder":i.geocoder},{default:Tt(()=>[Ve(N_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(F_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(R_,{map:pe(ge),"is-dark":b.value},null,8,["map","is-dark"]),Ve(B_,{"map-container":G.value,"is-dark":b.value},null,8,["map-container","is-dark"]),Ve(j_,{"is-dark":b.value,onToggle:P},null,8,["is-dark"]),i.infoButton?(J(),Je(G_,{key:0,"is-dark":b.value,onOpenHelp:te[2]||(te[2]=ae=>B.value=!0)},null,8,["is-dark"])):we("",!0)]),_:1},8,["has-geocoder"])):we("",!0),B.value?(J(),ne("div",{key:5,class:"dsm-help-overlay",onClick:te[4]||(te[4]=Et(ae=>B.value=!1,["self"]))},[j("div",J_,[j("button",{class:"dsm-help-close",onClick:te[3]||(te[3]=ae=>B.value=!1)},"×"),te[5]||(te[5]=j("h2",null,"About This Map",-1)),te[6]||(te[6]=j("p",null,"This map displays Unreached People Groups (UPGs) around the world — communities without meaningful access to the Gospel.",-1)),te[7]||(te[7]=j("p",null,"Use the tabs (if shown) to switch between Prayer and Engagement views. Click any dot to learn more about a people group.",-1)),te[8]||(te[8]=j("p",null,[ht("Data sourced from "),j("strong",null,"pray.doxa.life"),ht(".")],-1))])])):we("",!0)])],10,K_))}},[["__scopeId","data-v-bf7056c2"]])},Symbol.toStringTag,{value:"Module"})),e0="#6b7280";function t0(e,t){return e&&Pn[e]?Pn[e]:e0}function o0(e){return(e==null?void 0:e.properties)||e||{}}function qr(e){return e&&typeof e=="object"&&"label"in e?e.label||e.value||"":e}function n0(e){var t;return String(e.affinityBlock||qr((t=e._raw)==null?void 0:t.rop1)||"").trim()}function a0(e){var t;return String(e.affinityBlockLabel||(typeof((t=e._raw)==null?void 0:t.rop1)=="object"?e._raw.rop1.label:"")||"").trim()}function r0(e){var t;return String(e.cluster||qr((t=e._raw)==null?void 0:t.imb_reg_of_people_2)||"").trim()}function s0(e){var t;return String(e.clusterLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_2)=="object"?e._raw.imb_reg_of_people_2.label:"")||"").trim()}function i0(e){var t;return String(e.peopleGroup||qr((t=e._raw)==null?void 0:t.imb_reg_of_people_25)||"").trim()}function l0(e){var t;return String(e.peopleGroupLabel||(typeof((t=e._raw)==null?void 0:t.imb_reg_of_people_25)=="object"?e._raw.imb_reg_of_people_25.label:"")||e.name||"").trim()}function c0(e){var t;return String(e.uniqueId||e.slug||((t=e._raw)==null?void 0:t.slug)||"").trim()}function u0(e){var t;return String(e.name||e.displayName||((t=e._raw)==null?void 0:t.name)||"").trim()}function d0(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 p0(e){return String(e.countryName||e.country||e.countryIsoLabel||e.countryIso||"").trim()}function g0(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=o0(s),l=n0(i),c=a0(i)||l||"— Unknown —",u=r0(i),f=s0(i)||u||"— Unknown —",v=i0(i),x=l0(i)||v||"— Unknown —",T=c0(i),w=u0(i)||T,E=d0(i),_=p0(i);if(!T)continue;let S=r.get(l||"__unknown__");S||(S={code:l,label:c,count:0,pop:0,clusters:new Map},r.set(l||"__unknown__",S)),S.count+=1,S.pop+=E;let g=S.clusters.get(u||"__unknown__");g||(g={code:u,label:f,count:0,pop:0,peopleGroups:new Map},S.clusters.set(u||"__unknown__",g)),g.count+=1,g.pop+=E;let k=g.peopleGroups.get(v||"__unknown__");k||(k={code:v,label:x,count:0,pop:0,instances:[]},g.peopleGroups.set(v||"__unknown__",k)),k.count+=1,k.pop+=E,k.instances.push({id:T,name:w,country:_,pop:E})}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=t0(s.code,s.label),l={id:`bloc:${s.code||s.label}`,label:s.label,color:i,count:s.count,pop:s.pop,filter:s.code?["==",["get","affinityBlock"],s.code]:["!",["has","affinityBlock"]],children:[]};for(const c of s.clusters.values()){const u={id:`cluster:${s.code}__${c.code||c.label}`,label:`${c.label} (Cluster)`,color:i,count:c.count,pop:c.pop,filter:c.code?["==",["get","cluster"],c.code]:["==",["get","affinityBlock"],s.code],children:[]};for(const f of c.peopleGroups.values()){const v={id:`pg:${s.code}__${c.code}__${f.code||f.label}`,label:`${f.label} (PG)`,color:i,count:f.count,pop:f.pop,filter:f.code?["==",["get","peopleGroup"],f.code]:["all",["==",["get","affinityBlock"],s.code],["==",["get","cluster"],c.code]],children:[]};f.instances.sort((x,T)=>T.pop-x.pop||x.country.localeCompare(T.country));for(const x of f.instances)v.children.push({id:`pgic:${x.id}`,label:`${x.country?`${x.name}, ${x.country}`:x.name} (PGIC)`,color:i,count:1,pop:x.pop,filter:["==",["get","uniqueId"],x.id],children:[]});u.children.push(v)}u.children.sort((f,v)=>v.count-f.count||v.pop-f.pop),l.children.push(u)}l.children.sort((c,u)=>u.count-c.count||u.pop-c.pop),r.push(l)}return r.sort((s,i)=>i.count-s.count||i.pop-s.pop),r});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const r=String(a.id||""),s={kind:null,label:a.label,filterExpr:a.filter};r.startsWith("bloc:")?s.kind="bloc":r.startsWith("cluster:")?s.kind="cluster":r.startsWith("pg:")?s.kind="people-group":r.startsWith("pgic:")&&(s.kind="people-group-in-country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,affinityTree:o,highlight:n}}const f0={Africa:"#e74c3c",Asia:"#3498db",Europe:"#2ecc71","Latin America & Caribbean":"#f39c12","Middle East":"#9b59b6","North America & Non-Spanish Caribbean":"#1abc9c",Oceania:"#e67e22"},h0="#95a5a6";function m0(e){return f0[e]||h0}function b0(e){return(e==null?void 0:e.properties)||e||{}}function y0(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 _0(e){var t,o;return String(e.doxaRegion||e.wagfRegion||((o=(t=e._raw)==null?void 0:t.wagf_region)==null?void 0:o.value)||"").trim()}function v0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_region;return String(e.wagfRegionLabel||e.doxaRegionLabel||(t&&typeof t=="object"?t.label:"")||e.doxaRegion||"").trim()}function w0(e){var t,o;return String(e.wagfBlock||((o=(t=e._raw)==null?void 0:t.wagf_block)==null?void 0:o.value)||"").trim()}function k0(e){var o;const t=(o=e._raw)==null?void 0:o.wagf_block;return String(e.wagfBlockLabel||(t&&typeof t=="object"?t.label:"")||e.wagfBlock||"").trim()}function S0(e){var t,o;return String(e.countryIso||((o=(t=e._raw)==null?void 0:t.country_code)==null?void 0:o.value)||"").trim().toUpperCase()}function A0(e){var o;const t=(o=e._raw)==null?void 0:o.country_code;return String(e.countryIsoLabel||(t&&typeof t=="object"?t.label:"")||e.countryIso||"").trim()}function x0(e){const t=Q(()=>{const a=e&&e.value||[],r=new Map;for(const s of a){const i=b0(s),l=_0(i),c=v0(i)||l||"— Unknown —",u=w0(i),f=k0(i)||u||"— Unknown —",v=S0(i),x=A0(i)||v||"— Unknown —",T=y0(i);if(!l||l==="na"||l==="none")continue;let w=r.get(l);if(w||(w={slug:l,label:c,count:0,pop:0,blocks:new Map},r.set(l,w)),w.count+=1,w.pop+=T,!u||u==="na")continue;let E=w.blocks.get(u);if(E||(E={slug:u,label:f,count:0,pop:0,countries:new Map},w.blocks.set(u,E)),E.count+=1,E.pop+=T,!v)continue;let _=E.countries.get(v);_||(_={iso:v,name:x,count:0,pop:0},E.countries.set(v,_)),_.count+=1,_.pop+=T}return r}),o=Q(()=>{const a=t.value,r=[];for(const s of a.values()){const i=m0(s.label),l=[],c=[],u=[...s.blocks.values()].sort((f,v)=>v.pop-f.pop||f.label.localeCompare(v.label));for(const f of u){const v=[],x=[],T=[...f.countries.values()].sort((w,E)=>E.pop-w.pop||w.name.localeCompare(E.name));for(const w of T)v.push(w.iso),l.push(w.iso),x.push({id:`country:${s.slug}__${f.slug}__${w.iso}`,label:w.name,color:i,count:w.count,pop:w.pop,filter:["==",["get","countryIso"],w.iso],isoCodes:[w.iso],children:[]});c.push({id:`block:${s.slug}__${f.slug}`,label:`${f.label} (Block)`,color:i,count:f.count,pop:f.pop,filter:["==",["get","wagfBlock"],f.slug],isoCodes:v,children:x})}r.push({id:`region:${s.slug}`,label:`${s.label} (Region)`,color:i,count:s.count,pop:s.pop,filter:["==",["get","doxaRegion"],s.slug],isoCodes:[...new Set(l)],children:c})}return r.sort((s,i)=>i.pop-s.pop||s.label.localeCompare(i.label)),r});function n(a){if(typeof window>"u"||typeof window.CustomEvent!="function")return;if(!a){window.dispatchEvent(new CustomEvent("legend:highlight",{detail:{kind:null}}));return}const r=String(a.id||""),s={kind:null,label:a.label,filterExpr:a.filter};r.startsWith("region:")?s.kind="region":r.startsWith("block:")?s.kind="block":r.startsWith("country:")&&(s.kind="country"),window.dispatchEvent(new CustomEvent("legend:highlight",{detail:s}))}return{aggregated:t,regionsTree:o,highlight:n}}const L0={class:"legend-sheet-root"},T0=["src","alt"],E0={key:0,class:"pull-tab-handle"},C0=["aria-label"],$0=["aria-label"],P0=["aria-label"],M0={class:"collapsed-detail-title"},I0={class:"legend-content"},N0=["aria-label"],F0=["aria-label"],qc=Object.freeze(Object.defineProperty({__proto__:null,default:Ao({__name:"LegendMobile",props:{legendType:{type:String,required:!0},isDark:{type:Boolean,default:!1},popupAction:{type:String,default:"pray",validator:e=>["pray","adopt","none"].includes(e)},disableCollapse:{type:Boolean,default:!1},showTotal:{type:Boolean,default:!1}},setup(e){const{t}=gt();mo(` /* ── Mobile bottom sheet — chrome only. The TABLE (title + column labels + data rows) is rendered by LegendRows, the SAME component desktop uses, with all the same default CSS. Mobile @@ -1221,4 +1221,4 @@ .sheet-dark .pull-tab-handle{background:rgba(243,243,241,0.3)!important;} .sheet-dark .legend-content{background:#3b463d!important;} .sheet-dark .legend-content::-webkit-scrollbar-thumb{background:rgba(255,255,255,0.2);} -`,"legend-mobile-sheet");const o=e,n=$e("uiStore");$e("mapStore");const a=$e("dataStore"),s=$e("onSemanticTreeSelect",()=>{}),r=za(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:f,totalCount:v,totalPopulation:x,fmtPop:T,fmtCount:w}=Ys(r,zc),E=$e("normalizedPeopleGroups",null),_=Q(()=>{var b,P;if((b=E==null?void 0:E.value)!=null&&b.length)return E.value;const y=[];for(const D in(a==null?void 0:a.sources)||{}){const B=a.sources[D];(P=B==null?void 0:B.features)!=null&&P.length&&y.push(...B.features)}return y}),S={get value(){return _.value}},{langTree:g}=Rc(S),{affinityTree:k}=g0(S),{regionsTree:A}=x0(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],O=[{id:"bloc",label:"Bloc",info:"Affinity Bloc (rop1) — broadest grouping. 16 blocs total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a bloc. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],$=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Block",info:'WAGF block — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their block."}],m=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function U(y){const b=[];for(const P of y){b.push({id:P.key,label:P.label,color:P.color,count:P.count??0,pop:P.population??0,filter:P.filterKey?["==",["get","_flat_filter"],P.filterKey]:null,children:[]});for(const D of P.children||[])b.push({id:D.key,label:D.label,color:D.color,count:D.count??0,pop:D.population??0,filter:D.filterKey?["==",["get","_flat_filter"],D.filterKey]:null,children:[]})}return b}const H=Q(()=>m.value?U(i.value):o.legendType==="affinity-block"?k.value:o.legendType==="doxa-regions"?A.value:g.value),I=Q(()=>m.value?null:o.legendType==="affinity-block"?O:o.legendType==="doxa-regions"?$:L),W=Q(()=>m.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),ue=Q(()=>o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":m.value?"Status":""),C=me(0),M=me(0),G=me(0),re=me(!1),fe=Q(()=>n.legendState),Z=Q(()=>n.legendHeight),ce=Q(()=>n.caretRotation),oe=Q(()=>n.showPullTab),ke=Q(()=>n.legendMode),ie=Q(()=>n.selectedPeopleGroup),Fe=Q(()=>{var y;return ke.value==="detail"&&ie.value?((y=ie.value.properties)==null?void 0:y.name)||t("legend.header.peopleGroupFallback"):fe.value==="collapsed"?t("legend.header.collapsed"):c.value});function ge(y){n.handleLegendItemClick(),f(y)}function Te(){n.toggleLegend()}function Ae(){n.selectPeopleGroup(null),n.openLegend()}const z=Q(()=>{var b;if(!ie.value)return null;const y=ie.value.properties||{};return y.imageUrl||((b=y._raw)==null?void 0:b.ImageURL)||null});function he(y){var b;if(fe.value!=="collapsed"){C.value=y.touches[0].clientY;const P=y.currentTarget.parentElement;M.value=P.offsetHeight,G.value=((b=P.parentElement)==null?void 0:b.offsetHeight)||window.innerHeight,re.value=!0}}function N(y){if(!re.value)return;y.preventDefault();const b=y.touches[0].clientY,P=C.value-b,D=M.value+P,B=G.value||window.innerHeight,Y=B*.3,q=B-56,p=Math.max(Y,Math.min(q,D));n.setLegendHeight(`${p}px`)}function d(y){var K;re.value=!1;const b=(K=y==null?void 0:y.currentTarget)==null?void 0:K.parentElement,P=b?b.offsetHeight:M.value,D=M.value,B=G.value||window.innerHeight,Y=8,q=P>D+Y,p=P=B*.55,F=D>=B*.2&&!h;p&&h?n.openLegend():p&&F?n.collapseLegend():q?n.fullyOpenLegend():n.openLegend()}return ao(()=>{}),Bo(()=>{}),(y,b)=>{var P;return J(),ne("div",L0,[ke.value==="detail"&&ie.value&&fe.value==="open"&&z.value?(J(),ne("div",{key:0,class:"floating-mini-image",onClick:b[0]||(b[0]=D=>pe(n).fullyOpenLegend())},[j("img",{src:z.value,alt:(P=ie.value.properties)==null?void 0:P.name,class:"mini-image"},null,8,T0)])):we("",!0),j("div",{class:Be(["legend-mobile-sheet",[fe.value,{"sheet-dark":e.isDark}]]),style:ct({height:Z.value})},[j("div",{class:"sheet-drag-strip",onClick:Te,onTouchstart:b[1]||(b[1]=D=>oe.value?he(D):null),onTouchmove:b[2]||(b[2]=D=>oe.value?N(D):null),onTouchend:b[3]||(b[3]=D=>oe.value?d(D):null)},[oe.value?(J(),ne("div",E0)):we("",!0)],32),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},null,8,C0)):we("",!0),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:Et(Ae,["stop"]),"aria-label":pe(t)("aria.backToLegend")},[...b[4]||(b[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,$0)):we("",!0),fe.value==="collapsed"&&ke.value==="detail"&&ie.value?(J(),ne("div",{key:2,class:"collapsed-detail-footer",onClick:Te},[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),"aria-label":pe(t)("aria.toggleLegend"),tabindex:"-1"},[...b[5]||(b[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,P0),j("span",M0,ye(Fe.value),1)])):we("",!0),j("div",I0,[ke.value==="detail"&&ie.value?(J(),ne(Ie,{key:0},[fe.value!=="collapsed"?(J(),Je(Hc,{key:0,peopleGroup:ie.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):we("",!0)],64)):e.legendType!=="default"?(J(),Je(Wc,{key:1,nodes:H.value,tabs:I.value,title:Fe.value||W.value,hideTabs:m.value,columnLabel:ue.value,columns:["count","pop"],"total-label":e.showTotal&&m.value?pe(t)("legend.footer.total"):"","total-count":pe(v),"total-pop":pe(x),onSelect:pe(s)},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[6]||(b[6]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,N0)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","total-label","total-count","total-pop","onSelect"])):(J(),Je(Uc,{key:2,title:Fe.value,items:pe(i),columns:pe(l),activeFilter:pe(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(v),totalPopulation:pe(x),fmtPop:pe(T),fmtCount:pe(w),onFilterClick:ge},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[7]||(b[7]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,F0)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],6)])}}},[["__scopeId","data-v-ea4ebd2e"]])},Symbol.toStringTag,{value:"Module"}))})(); +`,"legend-mobile-sheet");const o=e,n=$e("uiStore");$e("mapStore");const a=$e("dataStore"),r=$e("onSemanticTreeSelect",()=>{}),s=za(o,"legendType"),{items:i,columns:l,title:c,activeFilter:u,setFilter:f,totalCount:v,totalPopulation:x,fmtPop:T,fmtCount:w}=Yr(s,zc),E=$e("normalizedPeopleGroups",null),_=Q(()=>{var b,P;if((b=E==null?void 0:E.value)!=null&&b.length)return E.value;const y=[];for(const D in(a==null?void 0:a.sources)||{}){const B=a.sources[D];(P=B==null?void 0:B.features)!=null&&P.length&&y.push(...B.features)}return y}),S={get value(){return _.value}},{langTree:g}=Rc(S),{affinityTree:k}=g0(S),{regionsTree:A}=x0(S),L=[{id:"family",label:"Lang Family",info:"A language family is a group of languages descended from a common ancestor."},{id:"language",label:"Language",info:"A language is a system of communication used by a people."},{id:"dialect",label:"Dialect",info:"A dialect/variety is a regional or social form of a language."}],O=[{id:"bloc",label:"Bloc",info:"Affinity Bloc (rop1) — broadest grouping. 16 blocs total."},{id:"cluster",label:"Cluster",info:"Cluster (imb_reg_of_people_2, ROP 2) — finer grouping inside a bloc. 194 total."},{id:"group",label:"PG",info:"People Group (imb_reg_of_people_25, ROP 2.5) — abstract identity. 1,736 PGs."},{id:"pgic",label:"PGIC",info:"PG in Country (imb_reg_of_people_3 + country_code) — one row per PG-country pair. 2,106 rows."}],$=[{id:"region",label:"Region",info:'WAGF macro-region (e.g. "Asia", "Africa"). Color-coded on the map.'},{id:"block",label:"Block",info:'WAGF block — organizational sub-grouping within each region (e.g. "South East Asia").'},{id:"country",label:"Country",info:"Individual countries, listed by unreached-population size within their block."}],m=Q(()=>["prayer","engagement","adoption","religion"].includes(o.legendType));function U(y){const b=[];for(const P of y){b.push({id:P.key,label:P.label,color:P.color,count:P.count??0,pop:P.population??0,filter:P.filterKey?["==",["get","_flat_filter"],P.filterKey]:null,children:[]});for(const D of P.children||[])b.push({id:D.key,label:D.label,color:D.color,count:D.count??0,pop:D.population??0,filter:D.filterKey?["==",["get","_flat_filter"],D.filterKey]:null,children:[]})}return b}const H=Q(()=>m.value?U(i.value):o.legendType==="affinity-block"?k.value:o.legendType==="doxa-regions"?A.value:g.value),I=Q(()=>m.value?null:o.legendType==="affinity-block"?O:o.legendType==="doxa-regions"?$:L),W=Q(()=>m.value?"Legend":o.legendType==="affinity-block"?"People Groups":o.legendType==="doxa-regions"?"WAGF Regions":"Languages"),ue=Q(()=>o.legendType==="religion"?"UUPG Religions":o.legendType==="prayer"?"Prayer Status":o.legendType==="engagement"?"Engagement Status":o.legendType==="adoption"?"Adoption Status":m.value?"Status":""),C=me(0),M=me(0),G=me(0),se=me(!1),fe=Q(()=>n.legendState),Z=Q(()=>n.legendHeight),ce=Q(()=>n.caretRotation),oe=Q(()=>n.showPullTab),ke=Q(()=>n.legendMode),ie=Q(()=>n.selectedPeopleGroup),Fe=Q(()=>{var y;return ke.value==="detail"&&ie.value?((y=ie.value.properties)==null?void 0:y.name)||t("legend.header.peopleGroupFallback"):fe.value==="collapsed"?t("legend.header.collapsed"):c.value});function ge(y){n.handleLegendItemClick(),f(y)}function Te(){n.toggleLegend()}function Ae(){n.selectPeopleGroup(null),n.openLegend()}const z=Q(()=>{var b;if(!ie.value)return null;const y=ie.value.properties||{};return y.imageUrl||((b=y._raw)==null?void 0:b.ImageURL)||null});function he(y){var b;if(fe.value!=="collapsed"){C.value=y.touches[0].clientY;const P=y.currentTarget.parentElement;M.value=P.offsetHeight,G.value=((b=P.parentElement)==null?void 0:b.offsetHeight)||window.innerHeight,se.value=!0}}function N(y){if(!se.value)return;y.preventDefault();const b=y.touches[0].clientY,P=C.value-b,D=M.value+P,B=G.value||window.innerHeight,Y=B*.3,q=B-56,p=Math.max(Y,Math.min(q,D));n.setLegendHeight(`${p}px`)}function d(y){var K;se.value=!1;const b=(K=y==null?void 0:y.currentTarget)==null?void 0:K.parentElement,P=b?b.offsetHeight:M.value,D=M.value,B=G.value||window.innerHeight,Y=8,q=P>D+Y,p=P=B*.55,F=D>=B*.2&&!h;p&&h?n.openLegend():p&&F?n.collapseLegend():q?n.fullyOpenLegend():n.openLegend()}return ao(()=>{}),Bo(()=>{}),(y,b)=>{var P;return J(),ne("div",L0,[ke.value==="detail"&&ie.value&&fe.value==="open"&&z.value?(J(),ne("div",{key:0,class:"floating-mini-image",onClick:b[0]||(b[0]=D=>pe(n).fullyOpenLegend())},[j("img",{src:z.value,alt:(P=ie.value.properties)==null?void 0:P.name,class:"mini-image"},null,8,T0)])):we("",!0),j("div",{class:Be(["legend-mobile-sheet",[fe.value,{"sheet-dark":e.isDark}]]),style:ct({height:Z.value})},[j("div",{class:"sheet-drag-strip",onClick:Te,onTouchstart:b[1]||(b[1]=D=>oe.value?he(D):null),onTouchmove:b[2]||(b[2]=D=>oe.value?N(D):null),onTouchend:b[3]||(b[3]=D=>oe.value?d(D):null)},[oe.value?(J(),ne("div",E0)):we("",!0)],32),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:0,class:"detail-collapse-btn-mobile",onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},null,8,C0)):we("",!0),ke.value==="detail"&&fe.value!=="collapsed"?(J(),ne("button",{key:1,class:"detail-close-btn",onClick:Et(Ae,["stop"]),"aria-label":pe(t)("aria.backToLegend")},[...b[4]||(b[4]=[j("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[j("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,$0)):we("",!0),fe.value==="collapsed"&&ke.value==="detail"&&ie.value?(J(),ne("div",{key:2,class:"collapsed-detail-footer",onClick:Te},[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),"aria-label":pe(t)("aria.toggleLegend"),tabindex:"-1"},[...b[5]||(b[5]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,P0),j("span",M0,ye(Fe.value),1)])):we("",!0),j("div",I0,[ke.value==="detail"&&ie.value?(J(),ne(Ie,{key:0},[fe.value!=="collapsed"?(J(),Je(Hc,{key:0,peopleGroup:ie.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"])):we("",!0)],64)):e.legendType!=="default"?(J(),Je(Wc,{key:1,nodes:H.value,tabs:I.value,title:Fe.value||W.value,hideTabs:m.value,columnLabel:ue.value,columns:["count","pop"],"total-label":e.showTotal&&m.value?pe(t)("legend.footer.total"):"","total-count":pe(v),"total-pop":pe(x),onSelect:pe(r)},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[6]||(b[6]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,N0)]),_:1},8,["nodes","tabs","title","hideTabs","columnLabel","total-label","total-count","total-pop","onSelect"])):(J(),Je(Uc,{key:2,title:Fe.value,items:pe(i),columns:pe(l),activeFilter:pe(u),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:pe(v),totalPopulation:pe(x),fmtPop:pe(T),fmtCount:pe(w),onFilterClick:ge},{"title-caret":Tt(()=>[j("button",{class:"mobile-collapse-caret",style:ct({transform:`rotate(${ce.value}deg)`}),onClick:Et(Te,["stop"]),"aria-label":pe(t)("aria.toggleLegend")},[...b[7]||(b[7]=[j("svg",{width:"9",height:"9",viewBox:"0 0 12 12",fill:"none"},[j("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],12,F0)]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount"]))])],6)])}}},[["__scopeId","data-v-ea4ebd2e"]])},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/js/pplr-data-maps.iife.js b/public/js/pplr-data-maps.iife.js index 9cf54a68..285c7e4c 100644 --- a/public/js/pplr-data-maps.iife.js +++ b/public/js/pplr-data-maps.iife.js @@ -25,7 +25,7 @@ let X,Q;class ee{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,th * (c) 2025 Eduardo San Martin Morote * @license MIT */(e);if(!a)return;const n=t._component;g(n)||n.render||n.template||(n.template=a.innerHTML),1===a.nodeType&&(a.textContent="");const l=o(a,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),l},t};let Sl;const Ml=e=>Sl=e,Tl=Symbol();function Al(e){return e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)&&"function"!=typeof e.toJSON}var Rl,Ol;(Ol=Rl||(Rl={})).direct="direct",Ol.patchObject="patch object",Ol.patchFunction="patch function";const Fl=()=>{};function El(e,t,o,a=Fl){e.push(t);const n=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),a())};var l;return!o&&oe()&&(l=n,X&&X.cleanups.push(l)),n}function Il(e,...t){e.slice().forEach(e=>{e(...t)})}const jl=e=>e(),Nl=Symbol(),Dl=Symbol();function $l(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,o)=>e.set(o,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const a=t[o],n=e[o];Al(n)&&Al(a)&&e.hasOwnProperty(o)&&!_t(a)&&!ht(a)?e[o]=$l(n,a):e[o]=a}return e}const zl=Symbol();function Gl(e){return!Al(e)||!e.hasOwnProperty(zl)}const{assign:Bl}=Object;function Wl(e){return!(!_t(e)||!e.effect)}function Ul(e,t,o={},a,n,l){let r;const s=Bl({actions:{}},o),i={deep:!0};let c,d,u,p=[],f=[];const h=a.state.value[e];let g;function b(t){let o;c=d=!1,"function"==typeof t?(t(a.state.value[e]),o={type:Rl.patchFunction,storeId:e,events:u}):($l(a.state.value[e],t),o={type:Rl.patchObject,payload:t,storeId:e,events:u});const n=g=Symbol();Kt().then(()=>{g===n&&(c=!0)}),d=!0,Il(p,o,a.state.value[e])}l||h||(a.state.value[e]={});const m=l?function(){const{state:e}=o,t=e?e():{};this.$patch(e=>{Bl(e,t)})}:Fl;const v=(t,o="")=>{if(Nl in t)return t[Dl]=o,t;const n=function(){Ml(a);const o=Array.from(arguments),l=[],r=[];let s;Il(f,{args:o,name:n[Dl],store:y,after:function(e){l.push(e)},onError:function(e){r.push(e)}});try{s=t.apply(this&&this.$id===e?this:y,o)}catch(i){throw Il(r,i),i}return s instanceof Promise?s.then(e=>(Il(l,e),e)).catch(e=>(Il(r,e),Promise.reject(e))):(Il(l,s),s)};return n[Nl]=!0,n[Dl]=o,n},y=dt({_p:a,$id:e,$onAction:El.bind(null,f),$patch:b,$reset:m,$subscribe(t,o={}){const n=El(p,t,o.detached,()=>l()),l=r.run(()=>fo(()=>a.state.value[e],a=>{("sync"===o.flush?d:c)&&t({storeId:e,type:Rl.direct,events:u},a)},Bl({},i,o)));return n},$dispose:function(){r.stop(),p=[],f=[],a._s.delete(e)}});a._s.set(e,y);const x=(a._a&&a._a.runWithContext||jl)(()=>a._e.run(()=>(r=te()).run(()=>t({action:v}))));for(const k in x){const t=x[k];if(_t(t)&&!Wl(t)||ht(t))l||(h&&Gl(t)&&(_t(t)?t.value=h[k]:$l(t,h[k])),a.state.value[e][k]=t);else if("function"==typeof t){const e=v(t,k);x[k]=e,s.actions[k]=t}}return Bl(y,x),Bl(vt(y),x),Object.defineProperty(y,"$state",{get:()=>a.state.value[e],set:e=>{b(t=>{Bl(t,e)})}}),a._p.forEach(e=>{Bl(y,r.run(()=>e({store:y,app:a._a,pinia:a,options:s})))}),h&&l&&o.hydrate&&o.hydrate(y.$state,h),c=!0,d=!0,y} -/*! #__NO_SIDE_EFFECTS__ */function Vl(e,t,o){let a,n;const l="function"==typeof t;function r(e,o){const r=!(!Cn()&&!ma);(e=e||(r?uo(Tl,null):null))&&Ml(e),(e=Sl)._s.has(a)||(l?Ul(a,t,n,e):function(e,t,o){const{state:a,actions:n,getters:l}=t,r=o.state.value[e];let s;s=Ul(e,function(){r||(o.state.value[e]=a?a():{});const t=At(o.state.value[e]);return Bl(t,n,Object.keys(l||{}).reduce((t,a)=>(t[a]=yt(Dn(()=>{Ml(o);const t=o._s.get(e);return l[a].call(t,t)})),t),{}))},t,o,0,!0)}(a,n,e));return e._s.get(a)}return"string"==typeof e?(a=e,n=l?o:t):(n=e,a=e.id),r.$id=a,r}let Hl=0;const Yl=Vl("ui",{state:()=>({_storeInstanceId:++Hl,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,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=>"auto"===e.theme?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e.theme,isMobile:e=>"mobile"===e.breakpoint,isTablet:e=>"tablet"===e.breakpoint,isDesktop:e=>"desktop"===e.breakpoint||"wide"===e.breakpoint,legendHeight:e=>e._customLegendHeight?e._customLegendHeight:"collapsed"===e.legendState?"48px":"open"===e.legendState?"30%":"fullyOpen"===e.legendState?"calc(100% - 80px)":"48px",caretRotation:e=>"collapsed"===e.legendState?0:90,showPullTab:e=>"open"===e.legendState||"fullyOpen"===e.legendState,getToastsByType:e=>t=>e.toasts.filter(e=>e.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>0===e.openModals.length?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;this.theme=e;const t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"dark":"light"),localStorage.setItem("theme",e)},toggleTheme(){const e="light"===this.theme?"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)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?this.setLegendMode("detail"):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;t=e<768?"mobile":e<1024?"tablet":e<1920?"desktop":"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:o="info",duration:a=this.toastDuration,action:n=null,persistent:l=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:a,action:n,persistent:l,createdAt:Date.now()};return this.toasts.push(r),!l&&a>0&&setTimeout(()=>{this.removeToast(r.id)},a),r.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(t=>t.id===e);-1!==t&&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);-1!==t&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}0===this.openModals.length&&(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(){"fullyOpen"===this.legendState?this.legendState="open":"open"===this.legendState?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(){"fullyOpen"===this.legendState&&(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(){const e=localStorage.getItem("theme");e&&this.setTheme(e);new ResizeObserver(e=>{for(const t of e)this.updateWindowSize(t.contentRect.width,t.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{"auto"===this.theme&&document.documentElement.setAttribute("data-theme",e.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",e=>{this.reducedMotion=e.matches,document.documentElement.setAttribute("data-reduced-motion",e.matches)}))}}}),Jl=Vl("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,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,o={}){let a=1.5;void 0!==o.zoom?a=o.zoom:t&&"function"==typeof t.getZoom&&(a=t.getZoom());let n=[0,0];if(o.center)n=o.center;else if(t&&"function"==typeof t.getCenter){const e=t.getCenter();e&&(n=[e.lng,e.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:a,center:n,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const e=this.allMapIds;this.activeMapId=e.length>0?e[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.selectedFamily=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.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||0===this.autoFly.items.length)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];"region"===e.type?this.selectRegion(e):"family"===e.type&&this.selectFamily(e)},toggleClusters(e){this.showClusters="boolean"==typeof e?e:!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)},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()}}}),ql=Vl("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=yt({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=yt({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 o;return(null==(o=e.sources[t])?void 0:o.features)??null},isLoading:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.error)??null}}}),Kl=(e,t)=>{const o=e.__vccOpts||e;for(const[a,n]of t)o[a]=n;return o},Zl={class:"profile-loader"},Xl={key:0,class:"profile-error"},Ql={key:1,class:"profile-error"},er={__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Dn(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch(ng){return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),a=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.profile)||null}),n=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.tk)||""}),l=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.dataSource)||"doxa-csv"}),r=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.colorSet)||"default"}),s=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),i=Object.assign({"./app-profiles/pplr-coverage.vue":()=>Promise.resolve().then(()=>Zu),"./app-profiles/pplr-d3-tree.vue":()=>Promise.resolve().then(()=>dp),"./app-profiles/pplr-index.vue":()=>Promise.resolve().then(()=>gp),"./app-profiles/pplr-language-families.vue":()=>Promise.resolve().then(()=>Lf),"./app-profiles/pplr-pins.vue":()=>Promise.resolve().then(()=>If),"./app-profiles/pplr-religion.vue":()=>Promise.resolve().then(()=>dh),"./app-profiles/pplr-rop-tree.vue":()=>Promise.resolve().then(()=>Ah),"./app-profiles/pplr-rosetta-cards.vue":()=>Promise.resolve().then(()=>jh),"./app-profiles/pplr-semantic-trees.vue":()=>Promise.resolve().then(()=>Hh),"./app-profiles/pplr-translations.vue":()=>Promise.resolve().then(()=>ag)}),c=Dn(()=>{if(!a.value)return null;const e=`./app-profiles/${a.value}.vue`;return i[e]?Mo(i[e]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(i)),null)});co("mapboxToken",n),co("dataSource",l),co("colorSet",r),co("profileConfig",o),co("instanceId",s);const d=Yl(),u=Jl(),p=ql();return co("uiStore",d),co("mapStore",u),co("dataStore",p),(e,t)=>(on(),rn("div",Zl,[o.value?c.value?(on(),sn(Jo(c.value),{key:2})):(on(),rn("div",Ql,[fn("p",null,[t[1]||(t[1]=bn("⚠️ Profile ",-1)),fn("strong",null,'"'+q(a.value)+'"',1),t[2]||(t[2]=bn(" not found.",-1))])])):(on(),rn("div",Xl,[...t[0]||(t[0]=[fn("p",null,[bn("⚠️ "),fn("strong",null,"doxa-map"),bn(": missing or invalid "),fn("code",null,"profile-config"),bn(" prop.")],-1),fn("p",null,[bn("Example: "),fn("code",null,'profile-config=\'{"profile":"example-map","tk":"pk.eyJ..."}\'')],-1)])]))]))}},tr=Kl(er,[["styles",[".profile-loader[data-v-99360e71]{width:100%;height:100%;position:relative}.profile-error[data-v-99360e71]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}"]],["__scopeId","data-v-99360e71"]]),or={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},ar={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"}},nr={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},lr={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UPGs",population:"السكان"},footer:{total:"الإجمالي"}},rr={menuComingSoon:"القائمة قادمة قريباً"},sr={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},ir={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UPGs",separator:" من "},cr={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},dr={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ur={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"}},pr={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fr={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"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},hr={menuComingSoon:"Menü folgt in Kürze"},gr={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},br={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UPGs",separator:" von "},mr={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},vr={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},yr={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"}},xr={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},kr={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UPGs",population:"Population"},footer:{total:"Total"}},_r={menuComingSoon:"Menu coming soon"},wr={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Pr={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UPGs",separator:" of "},Lr={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},Cr={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Sr={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"}},Mr={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},Tr={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"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UPGs",population:"Población"},footer:{total:"Total"}},Ar={menuComingSoon:"Menú próximamente"},Rr={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Or={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UPGs",separator:" de "},Fr={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},Er={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Ir={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"}},jr={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},Nr={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"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UPGs",population:"Population"},footer:{total:"Total"}},Dr={menuComingSoon:"Menu bientôt disponible"},$r={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zr={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UPGs",separator:" sur "},Gr={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Br={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Wr={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"}},Ur={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Vr={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Hr={menuComingSoon:"मेनू शीघ्र आ रहा है"},Yr={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Jr={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UPGs",separator:" में से "},qr={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Kr={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zr={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"}},Xr={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qr={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"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UPGs",population:"Popolazione"},footer:{total:"Totale"}},es={menuComingSoon:"Menu in arrivo"},ts={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},os={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UPGs",separator:" di "},as={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},ns={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},ls={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"}},rs={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},ss={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"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UPGs",population:"População"},footer:{total:"Total"}},is={menuComingSoon:"Menu em breve"},cs={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ds={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UPGs",separator:" de "},us={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},ps={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},fs={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"}},hs={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},gs={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"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UPGs",population:"Populație"},footer:{total:"Total"}},bs={menuComingSoon:"Meniu în curând"},ms={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},vs={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UPGs",separator:" din "},ys={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},xs={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},ks={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"}},_s={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},ws={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UPGs",population:"Население"},footer:{total:"Всего"}},Ps={menuComingSoon:"Меню скоро появится"},Ls={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Cs={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UPGs",separator:" из "},Ss={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},Ms={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ts={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"}},As={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},Rs={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UPGs",population:"人口"},footer:{total:"总计"}},Os={menuComingSoon:"菜单即将推出"},Fs={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Es={header:"当前祷告轮次",lap:"第",upgs:"UPGs",separator:" / "},Is={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}}; +/*! #__NO_SIDE_EFFECTS__ */function Vl(e,t,o){let a,n;const l="function"==typeof t;function r(e,o){const r=!(!Cn()&&!ma);(e=e||(r?uo(Tl,null):null))&&Ml(e),(e=Sl)._s.has(a)||(l?Ul(a,t,n,e):function(e,t,o){const{state:a,actions:n,getters:l}=t,r=o.state.value[e];let s;s=Ul(e,function(){r||(o.state.value[e]=a?a():{});const t=At(o.state.value[e]);return Bl(t,n,Object.keys(l||{}).reduce((t,a)=>(t[a]=yt(Dn(()=>{Ml(o);const t=o._s.get(e);return l[a].call(t,t)})),t),{}))},t,o,0,!0)}(a,n,e));return e._s.get(a)}return"string"==typeof e?(a=e,n=l?o:t):(n=e,a=e.id),r.$id=a,r}let Hl=0;const Yl=Vl("ui",{state:()=>({_storeInstanceId:++Hl,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,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=>"auto"===e.theme?window.matchMedia("(prefers-color-scheme: dark)").matches:"dark"===e.theme,isMobile:e=>"mobile"===e.breakpoint,isTablet:e=>"tablet"===e.breakpoint,isDesktop:e=>"desktop"===e.breakpoint||"wide"===e.breakpoint,legendHeight:e=>e._customLegendHeight?e._customLegendHeight:"collapsed"===e.legendState?"48px":"open"===e.legendState?"30%":"fullyOpen"===e.legendState?"calc(100% - 80px)":"48px",caretRotation:e=>"collapsed"===e.legendState?0:90,showPullTab:e=>"open"===e.legendState||"fullyOpen"===e.legendState,getToastsByType:e=>t=>e.toasts.filter(e=>e.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>0===e.openModals.length?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;this.theme=e;const t=this.isDarkTheme;document.documentElement.setAttribute("data-theme",t?"dark":"light"),localStorage.setItem("theme",e)},toggleTheme(){const e="light"===this.theme?"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)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?this.setLegendMode("detail"):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;t=e<768?"mobile":e<1024?"tablet":e<1920?"desktop":"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:o="info",duration:a=this.toastDuration,action:n=null,persistent:l=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:a,action:n,persistent:l,createdAt:Date.now()};return this.toasts.push(r),!l&&a>0&&setTimeout(()=>{this.removeToast(r.id)},a),r.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(t=>t.id===e);-1!==t&&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);-1!==t&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const e=this.openModals.pop();e&&this.modalData.delete(e)}0===this.openModals.length&&(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(){"fullyOpen"===this.legendState?this.legendState="open":"open"===this.legendState?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(){"fullyOpen"===this.legendState&&(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(){const e=localStorage.getItem("theme");e&&this.setTheme(e);new ResizeObserver(e=>{for(const t of e)this.updateWindowSize(t.contentRect.width,t.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",e=>{"auto"===this.theme&&document.documentElement.setAttribute("data-theme",e.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",e=>{this.reducedMotion=e.matches,document.documentElement.setAttribute("data-reduced-motion",e.matches)}))}}}),Jl=Vl("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,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,o={}){let a=1.5;void 0!==o.zoom?a=o.zoom:t&&"function"==typeof t.getZoom&&(a=t.getZoom());let n=[0,0];if(o.center)n=o.center;else if(t&&"function"==typeof t.getCenter){const e=t.getCenter();e&&(n=[e.lng,e.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:a,center:n,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const e=this.allMapIds;this.activeMapId=e.length>0?e[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.selectedFamily=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.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||0===this.autoFly.items.length)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];"region"===e.type?this.selectRegion(e):"family"===e.type&&this.selectFamily(e)},toggleClusters(e){this.showClusters="boolean"==typeof e?e:!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)},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()}}}),ql=Vl("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=yt({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=yt({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 o;return(null==(o=e.sources[t])?void 0:o.features)??null},isLoading:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return(null==(o=e.loadingStates[t])?void 0:o.error)??null}}}),Kl=(e,t)=>{const o=e.__vccOpts||e;for(const[a,n]of t)o[a]=n;return o},Zl={class:"profile-loader"},Xl={key:0,class:"profile-error"},Ql={key:1,class:"profile-error"},er={__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){const t=e,o=Dn(()=>{if(!t.profileConfig)return null;try{return JSON.parse(t.profileConfig)}catch(ng){return console.error("[ProfileLoader] Invalid profile-config JSON:",t.profileConfig),null}}),a=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.profile)||null}),n=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.tk)||""}),l=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.dataSource)||"doxa-csv"}),r=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.colorSet)||"default"}),s=Dn(()=>{var e;return(null==(e=o.value)?void 0:e.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),i=Object.assign({"./app-profiles/pplr-coverage.vue":()=>Promise.resolve().then(()=>Zu),"./app-profiles/pplr-d3-tree.vue":()=>Promise.resolve().then(()=>dp),"./app-profiles/pplr-index.vue":()=>Promise.resolve().then(()=>gp),"./app-profiles/pplr-language-families.vue":()=>Promise.resolve().then(()=>Lf),"./app-profiles/pplr-pins.vue":()=>Promise.resolve().then(()=>If),"./app-profiles/pplr-religion.vue":()=>Promise.resolve().then(()=>dh),"./app-profiles/pplr-rop-tree.vue":()=>Promise.resolve().then(()=>Ah),"./app-profiles/pplr-rosetta-cards.vue":()=>Promise.resolve().then(()=>jh),"./app-profiles/pplr-semantic-trees.vue":()=>Promise.resolve().then(()=>Hh),"./app-profiles/pplr-translations.vue":()=>Promise.resolve().then(()=>ag)}),c=Dn(()=>{if(!a.value)return null;const e=`./app-profiles/${a.value}.vue`;return i[e]?Mo(i[e]):(console.error(`[ProfileLoader] Profile not found: "${a.value}". Available:`,Object.keys(i)),null)});co("mapboxToken",n),co("dataSource",l),co("colorSet",r),co("profileConfig",o),co("instanceId",s);const d=Yl(),u=Jl(),p=ql();return co("uiStore",d),co("mapStore",u),co("dataStore",p),(e,t)=>(on(),rn("div",Zl,[o.value?c.value?(on(),sn(Jo(c.value),{key:2})):(on(),rn("div",Ql,[fn("p",null,[t[1]||(t[1]=bn("⚠️ Profile ",-1)),fn("strong",null,'"'+q(a.value)+'"',1),t[2]||(t[2]=bn(" not found.",-1))])])):(on(),rn("div",Xl,[...t[0]||(t[0]=[fn("p",null,[bn("⚠️ "),fn("strong",null,"doxa-map"),bn(": missing or invalid "),fn("code",null,"profile-config"),bn(" prop.")],-1),fn("p",null,[bn("Example: "),fn("code",null,'profile-config=\'{"profile":"example-map","tk":"pk.eyJ..."}\'')],-1)])]))]))}},tr=Kl(er,[["styles",[".profile-loader[data-v-99360e71]{width:100%;height:100%;position:relative}.profile-error[data-v-99360e71]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}"]],["__scopeId","data-v-99360e71"]]),or={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},ar={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"}},nr={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:"},messages:{noDescription:"لا يوجد وصف متاح."}},lr={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UPGs",population:"السكان"},footer:{total:"الإجمالي"}},rr={menuComingSoon:"القائمة قادمة قريباً"},sr={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},ir={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UPGs",separator:" من "},cr={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"}},dr={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},ur={prayForThem:"Für sie beten",adoptThem:"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"}},pr={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},fr={title:{prayer:"Gebetsfortschritt",engagement:"Fortschritt der Arbeit vor Ort",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Niemand betet",hasPrayer:"1+ Menschen beten",fullPrayerCoverage:"100+ Menschen beten"},engagement:{needsEngagement:"Unberührt",hasEngagement:"Engagiert"},adoption:{needsAdoption:"Wartet auf Adoption",hasAdoption:"Adoptiert"},columns:{upgs:"VUVGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},hr={menuComingSoon:"Menü folgt in Kürze"},gr={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},br={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"VUVGs",separator:" von "},mr={placeholder:"Volksgruppe, Ort, Sprache, Religion",labels:{people:"Volksgruppe:",place:"Ort:",language:"Sprache:",religion:"Religion:"}},vr={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},yr={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"}},xr={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:"},messages:{noDescription:"No description available."}},kr={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocs",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UPGs",population:"Population"},footer:{total:"Total"}},_r={menuComingSoon:"Menu coming soon"},wr={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Pr={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UPGs",separator:" of "},Lr={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"}},Cr={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Sr={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"}},Mr={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:"},messages:{noDescription:"No hay descripción disponible."}},Tr={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"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UPGs",population:"Población"},footer:{total:"Total"}},Ar={menuComingSoon:"Menú próximamente"},Rr={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Or={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UPGs",separator:" de "},Fr={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"}},Er={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},Ir={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"}},jr={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :"},messages:{noDescription:"Aucune description disponible."}},Nr={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"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UPGs",population:"Population"},footer:{total:"Total"}},Dr={menuComingSoon:"Menu bientôt disponible"},$r={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},zr={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UPGs",separator:" sur "},Gr={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"}},Br={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},Wr={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"}},Ur={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},Vr={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Hr={menuComingSoon:"मेनू शीघ्र आ रहा है"},Yr={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Jr={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UPGs",separator:" में से "},qr={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Kr={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Zr={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"}},Xr={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Qr={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"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UPGs",population:"Popolazione"},footer:{total:"Totale"}},es={menuComingSoon:"Menu in arrivo"},ts={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},os={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UPGs",separator:" di "},as={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},ns={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},ls={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"}},rs={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:"},messages:{noDescription:"Sem descrição disponível."}},ss={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"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UPGs",population:"População"},footer:{total:"Total"}},is={menuComingSoon:"Menu em breve"},cs={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},ds={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UPGs",separator:" de "},us={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"}},ps={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},fs={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"}},hs={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:"},messages:{noDescription:"Nicio descriere disponibilă."}},gs={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"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UPGs",population:"Populație"},footer:{total:"Total"}},bs={menuComingSoon:"Meniu în curând"},ms={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},vs={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UPGs",separator:" din "},ys={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},xs={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},ks={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"}},_s={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:"},messages:{noDescription:"Описание недоступно."}},ws={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UPGs",population:"Население"},footer:{total:"Всего"}},Ps={menuComingSoon:"Меню скоро появится"},Ls={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Cs={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UPGs",separator:" из "},Ss={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"}},Ms={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},Ts={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"}},As={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:"},messages:{noDescription:"暂无描述。"}},Rs={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UPGs",population:"人口"},footer:{total:"总计"}},Os={menuComingSoon:"菜单即将推出"},Fs={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},Es={header:"当前祷告轮次",lap:"第",upgs:"UPGs",separator:" / "},Is={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}}; /*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi