From fc69adbbd51f51009a0bcd5a3a49b93b19f52286 Mon Sep 17 00:00:00 2001 From: doxa-maps-88655c70 <88627970+doxa-maps-88655c70@users.noreply.github.com> Date: Thu, 24 Sep 2026 05:09:12 +0000 Subject: [PATCH] Country boundaries load on MapLibre in the shared library, not per plugin main added country-posters-mfe (isMap=true). It inherits the engine swap correctly -- 14 -> 4 requests to api.mapbox.com, maplibregl loaded -- but threw Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" is not supported A new map arriving is exactly what the rollout has to cover, so this was worth chasing rather than noting. TWO shared library sites, not one, which only measuring found. Fixing useCountryOutline.js (consumers: doxa-simple-map, countries-map, research-map) cleaned two of the four leaves and left countries-map -- and the new element nesting it -- still throwing, from a SECOND site: useMapLayers.js addRegionsLayer. Both now branch per engine, using the keyless assets/boundaries/world-adm0.geojson the tree already ships, with iso3 normalised once to iso_3166_1_alpha_3 so every downstream expression keeps reading the name it always read, and 'source-layer' set for the vector-tile path alone. The engine is read off the LIVE map -- its container carries maplibregl-map -- rather than from config, because both composables are called with nothing but a map getter. MEASURED: 0 mapbox:// errors across country-posters-mfe, countries-map, doxa-simple-map, research-map and demo-map; the adm0 fetch confirmed firing; provider sweep 15/17. The Mapbox path is unchanged -- its control screenshot still shows the coloured WAGF region fills. Also fixes check:descriptions, which the new profile red-gated by shipping an empty description. Written from the component's own header, not a placeholder: 34/34 profiles described. NOT FIXED, and recorded in the ledger rather than glossed: under MapLibre countries-map still paints NO coloured region fills. The error is gone and the geojson loads, but the fill does not appear. That is a separate defect from the source failing, and claiming this commit finishes it would be false. --- library/composables/useCountryOutline.js | 45 +++++++++- library/composables/useMapLayers.js | 43 +++++++-- .../country-posters/country-posters-mfe.vue | 5 ++ .../all-people-groups/all-people-groups.js | 46 +++++----- .../all-people-groups/index.html | 2 +- public/doxa-maps/big-picture/big-picture.js | 16 ++-- .../big-picture/big-picture/index.html | 2 +- .../big-picture/frontier/index.html | 2 +- .../big-picture/big-picture/index.html | 2 +- .../cities-internet/cities-internet.js | 2 +- .../connectivity-list/index.html | 2 +- .../connectivity-map/index.html | 2 +- .../cities-internet/data-tables/index.html | 2 +- .../country-posters/countries-map/index.html | 2 +- .../country-poster-wall/index.html | 2 +- .../country-posters-mfe/index.html | 2 +- .../country-posters/country-posters.js | 84 ++++++++--------- .../dashboard-plus-grid.js | 64 ++++++------- .../dashboard-plus-grid/default/index.html | 2 +- .../dashboard-plus-grid/index.html | 2 +- public/doxa-maps/demo-map/demo-map.js | 74 +++++++-------- public/doxa-maps/demo-map/demo-map/index.html | 2 +- .../demo-map/demo-map/maplibre/index.html | 2 +- .../doxa-research-map/doxa-research-map.js | 84 ++++++++--------- .../doxa-research-map/research-map/index.html | 2 +- .../research-map/maplibre/index.html | 2 +- .../doxa-simple-map/doxa-simple-map.js | 90 +++++++++---------- .../doxa-simple-map/adoption/index.html | 2 +- .../doxa-simple-map/engagement/index.html | 2 +- .../doxa-simple-map/index.html | 2 +- .../doxa-simple-map/prayer/index.html | 2 +- .../gospel-resources/charts/index.html | 2 +- .../gospel-resources/data-tables/index.html | 2 +- .../gospel-resources/gospel-resources.js | 2 +- .../resources-list/index.html | 2 +- .../gospel-resources/resources-map/index.html | 2 +- public/doxa-maps/index.html | 2 +- public/doxa-maps/manifest.json | 72 +++++++-------- .../my-upg-100-list/my-upg-100-list.js | 2 +- .../my-upg-100-list/poster-wall/index.html | 2 +- .../my-upg-100-list/upg-100-list/index.html | 2 +- .../my-upg-100-list/upg-100-mfe/index.html | 2 +- .../research-dashboard/research-dashboard.js | 62 ++++++------- .../research-dashboard/index.html | 2 +- .../template-bundle/template-bundle.js | 32 +++---- .../template-bundle/template-map-a/index.html | 2 +- .../template-bundle/template-map-b/index.html | 2 +- 47 files changed, 432 insertions(+), 353 deletions(-) diff --git a/library/composables/useCountryOutline.js b/library/composables/useCountryOutline.js index 845c4da7e..97d37714a 100644 --- a/library/composables/useCountryOutline.js +++ b/library/composables/useCountryOutline.js @@ -31,6 +31,8 @@ * outline.clearCountry() */ +import { resolveAssetsBase } from '../utils/embedBase.js' + const SOURCE_ID = 'doxa-country-outline' const LAYER_ID = 'doxa-country-outline-line' @@ -124,12 +126,51 @@ export function useCountryOutline(getMap, opts = {}) { // Swap any stale source, then (re)create the singleton outline layer. clearCountry() try { - m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + // ── COUNTRY POLYGONS, PER ENGINE ──────────────────────────────────────────────────────── + // ★ COUNTRY_BOUNDARIES_URL IS A MAPBOX-HOSTED VECTOR TILESET, AND MAPLIBRE CANNOT FETCH IT. + // It throws "Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme + // 'mapbox' is not supported" and then draws everything else perfectly, so the country + // outline is simply ABSENT with no visible failure. MEASURED on country-posters-mfe the + // moment it landed: engine swapped, 14 -> 4 mapbox requests, canvas fine, and this error in + // the console. THREE consumers share this composable — doxa-simple-map, countries-map and + // research-map — so the fix belongs here, once, not three times. + // Same shape already proven in DashboardMapPanel and RegionCountryMap. + // + // The ENGINE is read off the live map rather than guessed from config: the container carries + // maplibregl-map or mapboxgl-map, which is a fact about the instance in hand. Consumers call + // useCountryOutline(() => map.value) with no options, so there is no provider to pass in. + const isMaplibre = (() => { + try { return !!m.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })() + + if (isMaplibre) { + // Add EMPTY first, then setData after the fetch, so addLayer below stays SYNCHRONOUS and + // the outline keeps its place in the layer order. + m.addSource(SOURCE_ID, { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }) + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // The tileset names the ISO field iso_3166_1_alpha_3; the geojson names it iso3. + // countryFilter() reads the tileset name, so normalise ONCE here and every filter + // downstream keeps reading the single name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3 + } + const live = typeof getMap === 'function' ? getMap() : null + const src = live && live.getSource(SOURCE_ID) + if (src) src.setData(gj) + }) + .catch((e) => console.warn('[country-outline] boundaries failed to load', e)) + } else { + m.addSource(SOURCE_ID, { type: 'vector', url: COUNTRY_BOUNDARIES_URL }) + } m.addLayer({ id: LAYER_ID, type: 'line', source: SOURCE_ID, - 'source-layer': SOURCE_LAYER, + // 'source-layer' applies to VECTOR TILE sources only — MapLibre rejects a layer that + // declares one on a geojson source ("does not need a source-layer"). + ...(isMaplibre ? {} : { 'source-layer': SOURCE_LAYER }), filter, layout: { 'line-join': 'round', 'line-cap': 'round' }, // Outline only — no fill layer — so pins / labels under the country diff --git a/library/composables/useMapLayers.js b/library/composables/useMapLayers.js index 70ca970c8..b82777df8 100644 --- a/library/composables/useMapLayers.js +++ b/library/composables/useMapLayers.js @@ -4,6 +4,7 @@ // Import Vue functions from NPM package import { ref, toRaw } from 'vue'; +import { resolveAssetsBase } from '../utils/embedBase.js' import { emissivePaint } from './useMapProvider.js'; // Import utilities @@ -416,16 +417,48 @@ export function useMapLayers(options = {}) { ? 'language-family-pins' : undefined; - map.addSource('regions', { - type: 'vector', - url: 'mapbox://mapbox.country-boundaries-v1' - }); + // ── REGION POLYGONS, PER ENGINE ──────────────────────────────────────────────────── + // ★ SECOND SITE OF THE SAME DEFECT. mapbox://mapbox.country-boundaries-v1 is a + // Mapbox-hosted VECTOR TILESET; MapLibre cannot fetch a mapbox:// URL and throws + // Fetch API cannot load mapbox://mapbox.country-boundaries-v1. URL scheme "mapbox" + // then renders everything else correctly with this fill simply MISSING. Fixing the + // country-OUTLINE composable cleaned doxa-simple-map and research-map but left + // countries-map (and the new country-posters-mfe that nests it) still throwing — + // measured, which is how this second site was found at all. + // The keyless equivalent already ships: assets/boundaries/world-adm0.geojson. + // Engine read off the live map (its container carries maplibregl-map), not guessed. + const _isMaplibre = (() => { + try { return !!map.getContainer?.()?.classList?.contains('maplibregl-map') } catch (_) { return false } + })(); + if (_isMaplibre) { + // EMPTY first so the addLayer below stays synchronous and keeps its z-order slot + // (regions → shadow → pins → hitbox); setData once the fetch lands. + map.addSource('regions', { type: 'geojson', data: { type: 'FeatureCollection', features: [] } }); + fetch(`${resolveAssetsBase(null)}/boundaries/world-adm0.geojson`) + .then((r) => r.json()) + .then((gj) => { + // Tileset field is iso_3166_1_alpha_3; the geojson's is iso3. Normalise ONCE + // so every colour/filter expression downstream reads the name it always read. + for (const f of gj.features || []) { + if (f.properties && f.properties.iso3) f.properties.iso_3166_1_alpha_3 = f.properties.iso3; + } + const src = map.getSource('regions'); + if (src) src.setData(gj); + }) + .catch((e) => console.warn('[map-layers] region boundaries failed to load', e)); + } else { + map.addSource('regions', { + type: 'vector', + url: 'mapbox://mapbox.country-boundaries-v1' + }); + } map.addLayer({ id: 'regions-fill', type: 'fill', source: 'regions', - 'source-layer': 'country_boundaries', + // VECTOR-TILE only; MapLibre rejects a layer declaring source-layer on geojson. + ...(_isMaplibre ? {} : { 'source-layer': 'country_boundaries' }), paint: { 'fill-color': fillColorExpr, 'fill-opacity': colorScheme === 'none' ? 0.1 : 0.7, diff --git a/plugin-designs/country-posters/country-posters-mfe.vue b/plugin-designs/country-posters/country-posters-mfe.vue index 5b9fc0350..d849cd146 100644 --- a/plugin-designs/country-posters/country-posters-mfe.vue +++ b/plugin-designs/country-posters/country-posters-mfe.vue @@ -2,6 +2,11 @@ /** * country-posters-mfe.vue — Country Posters as a TWO-TAB element. * + * @element country-posters-mfe + * @description Country Posters as ONE two-tab element — the countries map and the printable + * poster wall behind a single view switcher, structured like the UPG-100 list. The switcher is + * the library's shared ViewSelect, not a third hand-rolled copy. + * * Driver: "Country Posters is supposed to have two tabs, structured like the * UPG-100 list." * diff --git a/public/doxa-maps/all-people-groups/all-people-groups.js b/public/doxa-maps/all-people-groups/all-people-groups.js index da86ec7ba..3075a011b 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups.js +++ b/public/doxa-maps/all-people-groups/all-people-groups.js @@ -1,45 +1,45 @@ -(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Mb="modulepreload",Ib=function(e){return"/"+e},Rb={},Mc=function(t,n,o){let a=Promise.resolve();function s(i){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=i,window.dispatchEvent(r),!r.defaultPrevented)throw i}return a.then(i=>{for(const r of i||[])r.status==="rejected"&&s(r.reason);return t().catch(s)})};/** +(function(){"use strict";var aa=typeof document<"u"?document.currentScript:null;const Bb="modulepreload",Kb=function(e){return"/"+e},Ub={},Mc=function(t,n,o){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)})};/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const _e={},un=[],gt=()=>{},Os=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),io=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ia=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Cn(e)==="[object Map]",ro=e=>Cn(e)==="[object Set]",xs=e=>Cn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",pe=e=>e!==null&&typeof e=="object",js=e=>(pe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Cn=e=>Bs.call(e),Rc=e=>Cn(e).slice(8,-1),lo=e=>Cn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Dc=/-\w/g,Pe=uo(e=>e.replace(Dc,t=>t.slice(1).toUpperCase())),Fc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Fc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ra=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Oc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const fo=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function po(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function Nn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||pe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:ro(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):pe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function sa(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ye={},un=[],gt=()=>{},Ds=()=>!1,so=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ro=e=>e.startsWith("onUpdate:"),Ee=Object.assign,ra=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ic=Object.prototype.hasOwnProperty,de=(e,t)=>Ic.call(e,t),Z=Array.isArray,jt=e=>Nn(e)==="[object Map]",io=e=>Nn(e)==="[object Set]",xs=e=>Nn(e)==="[object Date]",te=e=>typeof e=="function",ve=e=>typeof e=="string",Xe=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",js=e=>(fe(e)||te(e))&&te(e.then)&&te(e.catch),Bs=Object.prototype.toString,Nn=e=>Bs.call(e),Rc=e=>Nn(e).slice(8,-1),lo=e=>Nn(e)==="[object Object]",co=e=>ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ln=sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),uo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fc=/-\w/g,Pe=uo(e=>e.replace(Fc,t=>t.slice(1).toUpperCase())),Oc=/\B([A-Z])/g,Ze=uo(e=>e.replace(Oc,"-$1").toLowerCase()),go=uo(e=>e.charAt(0).toUpperCase()+e.slice(1)),ia=uo(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),la=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},Dc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Us=e=>{const t=ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Gs;const po=()=>Gs||(Gs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function fo(e){if(Z(e)){const t={};for(let n=0;n{if(n){const o=n.split(jc);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function wn(e){let t="";if(ve(e))t=e;else if(Z(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Qt=e=>ve(e)?e:e==null?"":Z(e)||fe(e)&&(e.toString===Bs||!te(e.toString))?Hs(e)?Qt(e.value):JSON.stringify(e,Vs,2):String(e),Vs=(e,t)=>Hs(t)?Vs(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],s)=>(n[ca(o,s)+" =>"]=a,n),{})}:io(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ca(n))}:Xe(t)?ca(t):fe(t)&&!Z(t)&&!lo(t)?String(t):t,ca=(e,t="")=>{var n;return Xe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Le;class Ws{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&&Le&&(Le.active?(this.parent=Le,this.index=(Le.scopes||(Le.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Le===this)Le=this.prevScope;else{let t=Le;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ei(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function pa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!pa(e))))return;e.flags|=2;const t=e.dep,n=ye,o=at;ye=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ye=n,at=o,ei(e),e.flags&=-3}}function ha(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const ni=[];function ft(){ni.push(at),at=!1}function pt(){const e=ni.pop();at=e===void 0?!0:e}function oi(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ye;ye=void 0;try{t()}finally{ye=n}}}let In=0;class Hc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ma{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(!ye||!at||ye===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ye)n=this.activeLink=new Hc(ye,this),ye.deps?(n.prevDep=ye.depsTail,ye.depsTail.nextDep=n,ye.depsTail=n):ye.deps=ye.depsTail=n,ai(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=ye.depsTail,n.nextDep=void 0,ye.depsTail.nextDep=n,ye.depsTail=n,ye.deps===n&&(ye.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{fa()}}}function ai(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ai(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&ye){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function kt(e,t,n,o,a,s){const i=mo.get(e);if(!i){In++;return}const r=l=>{l&&l.trigger()};if(da(),t==="clear")i.forEach(r);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&r(f)})}else switch((n!==void 0||i.has(void 0))&&r(i.get(n)),c&&r(i.get(Rn)),t){case"add":l?c&&r(i.get("length")):(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"delete":l||(r(i.get(en)),jt(e)&&r(i.get(ba)));break;case"set":jt(e)&&r(i.get(en));break}}fa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return $t(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return _a(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return _a(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return Tt(this,"every",e,t,void 0,arguments)},filter(e,t){return Tt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return Tt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return Tt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Tt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return Tt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Tt(this,"forEach",e,t,void 0,arguments)},includes(...e){return ya(this,"includes",e)},indexOf(...e){return ya(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return ya(this,"lastIndexOf",e)},map(e,t){return Tt(this,"map",e,t,void 0,arguments)},pop(){return Dn(this,"pop")},push(...e){return Dn(this,"push",e)},reduce(e,...t){return si(this,"reduce",e,t)},reduceRight(e,...t){return si(this,"reduceRight",e,t)},shift(){return Dn(this,"shift")},some(e,t){return Tt(this,"some",e,t,void 0,arguments)},splice(...e){return Dn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Dn(this,"unshift",e)},values(){return _a(this,"values",e=>ht(this,e))}};function _a(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function Tt(e,t,n,o,a,s){const i=bo(e),r=i!==e&&!He(e),l=i[t];if(l!==Yc[t]){const f=l.apply(e,s);return r?st(f):f}let c=n;i!==e&&(r?c=function(f,m){return n.call(this,ht(e,f),m,e)}:n.length>2&&(c=function(f,m){return n.call(this,f,m,e)}));const u=l.call(i,c,o);return r&&a?a(u):u}function si(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let i=n,r=!1;a!==e&&(s?(r=o.length===0,i=function(c,u,f){return r&&(r=!1,c=ht(e,c)),n.call(this,c,ht(e,u),f,e)}):n.length>3&&(i=function(c,u,f){return n.call(this,c,u,f,e)}));const l=a[t](i,...o);return r?ht(e,l):l}function ya(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&ko(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Dn(e,t,n=[]){ft(),da();const o=ce(e)[t].apply(e,n);return fa(),pt(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),ii=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ri{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?fi:di:s?gi:ui).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=Z(t);if(!a){let l;if(i&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const r=Reflect.get(t,n,Te(t)?t:o);if((Xe(n)?ii.has(n):Jc(n))||(a||je(t,"get",n),s))return r;if(Te(r)){const l=i&&co(n)?r:r.value;return a&&pe(l)?Sa(l):l}return pe(r)?a?Sa(r):So(r):r}}class li extends ri{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const i=Z(t)&&co(n);if(!this._isShallow){const c=$t(s);if(!He(o)&&!$t(o)&&(s=ce(s),o=ce(o)),!i&&Te(s)&&!Te(o))return c||(s.value=o),!0}const r=i?Number(n)e,_o=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),i=jt(s),r=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:f,done:m}=c.next();return m?{value:f,done:m}:{value:r?[u(f[0]),u(f[1])]:u(f),done:m}}})}}function yo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,i=ce(s),r=ce(a);e||(dt(a,r)&&je(i,"get",a),je(i,"get",r));const{has:l}=_o(i),c=t?Aa:e?dn:st;if(l.call(i,a))return c(s.get(a));if(l.call(i,r))return c(s.get(r));s!==i&&s.get(a)},get size(){const a=this.__v_raw;return!e&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,i=ce(s),r=ce(a);return e||(dt(a,r)&&je(i,"has",a),je(i,"has",r)),a===r?s.has(a):s.has(a)||s.has(r)},forEach(a,s){const i=this,r=i.__v_raw,l=ce(r),c=t?Aa:e?dn:st;return!e&&je(l,"iterate",en),r.forEach((u,f)=>a.call(s,c(u),c(f),i))}};return Ee(n,e?{add:yo("add"),set:yo("set"),delete:yo("delete"),clear:yo("clear")}:{add(a){const s=ce(this),i=_o(s),r=ce(a),l=!t&&!He(a)&&!$t(a)?r:a;return i.has.call(s,l)||dt(a,l)&&i.has.call(s,a)||dt(r,l)&&i.has.call(s,r)||(s.add(l),kt(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!$t(s)&&(s=ce(s));const i=ce(this),{has:r,get:l}=_o(i);let c=r.call(i,a);c||(a=ce(a),c=r.call(i,a));const u=l.call(i,a);return i.set(a,s),c?dt(s,u)&&kt(i,"set",a,s):kt(i,"add",a,s),this},delete(a){const s=ce(this),{has:i,get:r}=_o(s);let l=i.call(s,a);l||(a=ce(a),l=i.call(s,a)),r&&r.call(s,a);const c=s.delete(a);return l&&kt(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,i=a.clear();return s&&kt(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},iu={get:Ao(!0,!1)},ru={get:Ao(!0,!0)},ui=new WeakMap,gi=new WeakMap,di=new WeakMap,fi=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 So(e){return $t(e)?e:vo(e,!1,Zc,au,ui)}function cu(e){return vo(e,!1,eu,su,gi)}function Sa(e){return vo(e,!0,Qc,iu,di)}function Fb(e){return vo(e,!0,tu,ru,fi)}function vo(e,t,n,o,a){if(!pe(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 i=lu(Rc(e));if(i===0)return e;const r=new Proxy(e,i===2?o:n);return a.set(e,r),r}function Et(e){return $t(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function $t(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function ko(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function Fn(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>pe(e)?So(e):e,dn=e=>pe(e)?Sa(e):e;function Te(e){return e?e.__v_isRef===!0:!1}function he(e){return pi(e,!1)}function va(e){return pi(e,!0)}function pi(e,t){return Te(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||$t(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function To(e){return Te(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:To(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return Te(a)&&!Te(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hi(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=pu(e,n);return t}class fu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!ko(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=To(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Te(this._raw[this._key])){const n=this._object[this._key];if(Te(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function pu(e,t,n){return new fu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&ye!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},$o=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=$o.get(n);o||$o.set(n,o=[]),o.push(e)}}function _u(e,t,n=_e){const{immediate:o,deep:a,once:s,scheduler:i,augmentJob:r,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,f,m,k,N=!1,v=!1;if(Te(e)?(f=()=>e.value,N=He(e)):Et(e)?(f=()=>c(e),N=!0):Z(e)?(v=!0,N=e.some(b=>Et(b)||He(b)),f=()=>e.map(b=>{if(Te(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?f=l?()=>l(e,2):e:f=()=>{if(m){ft();try{m()}finally{pt()}}const b=tn;tn=u;try{return l?l(e,3,[k]):e(k)}finally{tn=b}}:f=gt,t&&a){const b=f,L=a===!0?1/0:a;f=()=>Bt(b(),L)}const $=Ys(),P=()=>{u.stop(),$&&$.active&&ia($.effects,u)};if(s&&t){const b=t;t=(...L)=>{const A=b(...L);return P(),A}}let T=v?new Array(e.length).fill(Eo):Eo;const _=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const L=u.run();if(b||a||N||(v?L.some((A,w)=>dt(A,T[w])):dt(L,T))){m&&m();const A=tn;tn=u;try{const w=[L,T===Eo?void 0:v&&T[0]===Eo?[]:T,k];T=L,l?l(t,3,w):t(...w)}finally{tn=A}}}else u.run()};return r&&r(_),u=new Js(f),u.scheduler=i?()=>i(_,!1):_,k=b=>bu(b,!1,u),m=u.onStop=()=>{const b=$o.get(u);if(b){if(l)l(b,4);else for(const L of b)L();$o.delete(u)}},t?o?_(!0):T=u.run():i?i(_.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Te(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** +**/let Ce;class Ws{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&&Ce&&(Ce.active?(this.parent=Ce,this.index=(Ce.scopes||(Ce.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t0&&--this._on===0){if(Ce===this)Ce=this.prevScope;else{let t=Ce;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(Mn){let t=Mn;for(Mn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Pn;){let t=Pn;for(Pn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function Qs(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function er(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),ha(o),qc(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function fa(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(tr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function tr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===In)||(e.globalVersion=In,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fa(e))))return;e.flags|=2;const t=e.dep,n=_e,o=at;_e=e,at=!0;try{Qs(e);const a=e.fn(e._value);(t.version===0||dt(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{_e=n,at=o,er(e),e.flags&=-3}}function ha(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)ha(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function qc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let at=!0;const nr=[];function pt(){nr.push(at),at=!1}function ft(){const e=nr.pop();at=e===void 0?!0:e}function or(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=_e;_e=void 0;try{t()}finally{_e=n}}}let In=0;class Hc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ma{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(!_e||!at||_e===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==_e)n=this.activeLink=new Hc(_e,this),_e.deps?(n.prevDep=_e.depsTail,_e.depsTail.nextDep=n,_e.depsTail=n):_e.deps=_e.depsTail=n,ar(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=_e.depsTail,n.nextDep=void 0,_e.depsTail.nextDep=n,_e.depsTail=n,_e.deps===n&&(_e.deps=o)}return n}trigger(t){this.version++,In++,this.notify(t)}notify(t){da();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{pa()}}}function ar(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)ar(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const mo=new WeakMap,en=Symbol(""),ba=Symbol(""),Rn=Symbol("");function je(e,t,n){if(at&&_e){let o=mo.get(e);o||mo.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new ma),a.map=o,a.key=n),a.track()}}function $t(e,t,n,o,a,s){const r=mo.get(e);if(!r){In++;return}const i=l=>{l&&l.trigger()};if(da(),t==="clear")r.forEach(i);else{const l=Z(e),c=l&&co(n);if(l&&n==="length"){const u=Number(o);r.forEach((p,m)=>{(m==="length"||m===Rn||!Xe(m)&&m>=u)&&i(p)})}else switch((n!==void 0||r.has(void 0))&&i(r.get(n)),c&&i(r.get(Rn)),t){case"add":l?c&&i(r.get("length")):(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"delete":l||(i(r.get(en)),jt(e)&&i(r.get(ba)));break;case"set":jt(e)&&i(r.get(en));break}}pa()}function Vc(e,t){const n=mo.get(e);return n&&n.get(t)}function gn(e){const t=ce(e);return t===e?t:(je(t,"iterate",Rn),He(e)?t:t.map(st))}function bo(e){return je(e=ce(e),"iterate",Rn),e}function ht(e,t){return Tt(e)?dn(Et(e)?st(t):t):st(t)}const Wc={__proto__:null,[Symbol.iterator](){return ya(this,Symbol.iterator,e=>ht(this,e))},concat(...e){return gn(this).concat(...e.map(t=>Z(t)?gn(t):t))},entries(){return ya(this,"entries",e=>(e[1]=ht(this,e[1]),e))},every(e,t){return kt(this,"every",e,t,void 0,arguments)},filter(e,t){return kt(this,"filter",e,t,n=>n.map(o=>ht(this,o)),arguments)},find(e,t){return kt(this,"find",e,t,n=>ht(this,n),arguments)},findIndex(e,t){return kt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return kt(this,"findLast",e,t,n=>ht(this,n),arguments)},findLastIndex(e,t){return kt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return kt(this,"forEach",e,t,void 0,arguments)},includes(...e){return _a(this,"includes",e)},indexOf(...e){return _a(this,"indexOf",e)},join(e){return gn(this).join(e)},lastIndexOf(...e){return _a(this,"lastIndexOf",e)},map(e,t){return kt(this,"map",e,t,void 0,arguments)},pop(){return Fn(this,"pop")},push(...e){return Fn(this,"push",e)},reduce(e,...t){return sr(this,"reduce",e,t)},reduceRight(e,...t){return sr(this,"reduceRight",e,t)},shift(){return Fn(this,"shift")},some(e,t){return kt(this,"some",e,t,void 0,arguments)},splice(...e){return Fn(this,"splice",e)},toReversed(){return gn(this).toReversed()},toSorted(e){return gn(this).toSorted(e)},toSpliced(...e){return gn(this).toSpliced(...e)},unshift(...e){return Fn(this,"unshift",e)},values(){return ya(this,"values",e=>ht(this,e))}};function ya(e,t,n){const o=bo(e),a=o[t]();return o!==e&&!He(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=n(s.value)),s}),a}const Yc=Array.prototype;function kt(e,t,n,o,a,s){const r=bo(e),i=r!==e&&!He(e),l=r[t];if(l!==Yc[t]){const p=l.apply(e,s);return i?st(p):p}let c=n;r!==e&&(i?c=function(p,m){return n.call(this,ht(e,p),m,e)}:n.length>2&&(c=function(p,m){return n.call(this,p,m,e)}));const u=l.call(r,c,o);return i&&a?a(u):u}function sr(e,t,n,o){const a=bo(e),s=a!==e&&!He(e);let r=n,i=!1;a!==e&&(s?(i=o.length===0,r=function(c,u,p){return i&&(i=!1,c=ht(e,c)),n.call(this,c,ht(e,u),p,e)}):n.length>3&&(r=function(c,u,p){return n.call(this,c,u,p,e)}));const l=a[t](r,...o);return i?ht(e,l):l}function _a(e,t,n){const o=ce(e);je(o,"iterate",Rn);const a=o[t](...n);return(a===-1||a===!1)&&$o(n[0])?(n[0]=ce(n[0]),o[t](...n)):a}function Fn(e,t,n=[]){pt(),da();const o=ce(e)[t].apply(e,n);return pa(),ft(),o}const Jc=sa("__proto__,__v_isRef,__isVue"),rr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Xe));function Xc(e){Xe(e)||(e=String(e));const t=ce(this);return je(t,"has",e),t.hasOwnProperty(e)}class ir{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return s;if(n==="__v_raw")return o===(a?s?pr:dr:s?gr:ur).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Z(t);if(!a){let l;if(r&&(l=Wc[n]))return l;if(n==="hasOwnProperty")return Xc}const i=Reflect.get(t,n,ke(t)?t:o);if((Xe(n)?rr.has(n):Jc(n))||(a||je(t,"get",n),s))return i;if(ke(i)){const l=r&&co(n)?i:i.value;return a&&fe(l)?Sa(l):l}return fe(i)?a?Sa(i):So(i):i}}class lr extends ir{constructor(t=!1){super(!1,t)}set(t,n,o,a){let s=t[n];const r=Z(t)&&co(n);if(!this._isShallow){const c=Tt(s);if(!He(o)&&!Tt(o)&&(s=ce(s),o=ce(o)),!r&&ke(s)&&!ke(o))return c||(s.value=o),!0}const i=r?Number(n)e,yo=e=>Reflect.getPrototypeOf(e);function nu(e,t,n){return function(...o){const a=this.__v_raw,s=ce(a),r=jt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...o),u=n?Aa:t?dn:st;return!t&&je(s,"iterate",l?ba:en),Ee(Object.create(c),{next(){const{value:p,done:m}=c.next();return m?{value:p,done:m}:{value:i?[u(p[0]),u(p[1])]:u(p),done:m}}})}}function _o(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ou(e,t){const n={get(a){const s=this.__v_raw,r=ce(s),i=ce(a);e||(dt(a,i)&&je(r,"get",a),je(r,"get",i));const{has:l}=yo(r),c=t?Aa:e?dn:st;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&&je(ce(a),"iterate",en),a.size},has(a){const s=this.__v_raw,r=ce(s),i=ce(a);return e||(dt(a,i)&&je(r,"has",a),je(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?Aa:e?dn:st;return!e&&je(l,"iterate",en),i.forEach((u,p)=>a.call(s,c(u),c(p),r))}};return Ee(n,e?{add:_o("add"),set:_o("set"),delete:_o("delete"),clear:_o("clear")}:{add(a){const s=ce(this),r=yo(s),i=ce(a),l=!t&&!He(a)&&!Tt(a)?i:a;return r.has.call(s,l)||dt(a,l)&&r.has.call(s,a)||dt(i,l)&&r.has.call(s,i)||(s.add(l),$t(s,"add",l,l)),this},set(a,s){!t&&!He(s)&&!Tt(s)&&(s=ce(s));const r=ce(this),{has:i,get:l}=yo(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?dt(s,u)&&$t(r,"set",a,s):$t(r,"add",a,s),this},delete(a){const s=ce(this),{has:r,get:i}=yo(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&&$t(s,"delete",a,void 0),c},clear(){const a=ce(this),s=a.size!==0,r=a.clear();return s&&$t(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=nu(a,e,t)}),n}function Ao(e,t){const n=ou(e,t);return(o,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(de(n,a)&&a in o?n:o,a,s)}const au={get:Ao(!1,!1)},su={get:Ao(!1,!0)},ru={get:Ao(!0,!1)},iu={get:Ao(!0,!0)},ur=new WeakMap,gr=new WeakMap,dr=new WeakMap,pr=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 So(e){return Tt(e)?e:vo(e,!1,Zc,au,ur)}function cu(e){return vo(e,!1,eu,su,gr)}function Sa(e){return vo(e,!0,Qc,ru,dr)}function zb(e){return vo(e,!0,tu,iu,pr)}function vo(e,t,n,o,a){if(!fe(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(Rc(e));if(r===0)return e;const i=new Proxy(e,r===2?o:n);return a.set(e,i),i}function Et(e){return Tt(e)?Et(e.__v_raw):!!(e&&e.__v_isReactive)}function Tt(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function $o(e){return e?!!e.__v_raw:!1}function ce(e){const t=e&&e.__v_raw;return t?ce(t):e}function On(e){return!de(e,"__v_skip")&&Object.isExtensible(e)&&Ks(e,"__v_skip",!0),e}const st=e=>fe(e)?So(e):e,dn=e=>fe(e)?Sa(e):e;function ke(e){return e?e.__v_isRef===!0:!1}function he(e){return fr(e,!1)}function va(e){return fr(e,!0)}function fr(e,t){return ke(e)?e:new uu(e,t)}class uu{constructor(t,n){this.dep=new ma,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ce(t),this._value=n?t:st(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||He(t)||Tt(t);t=o?t:ce(t),dt(t,n)&&(this._rawValue=t,this._value=o?t:st(t),this.dep.trigger())}}function ko(e){return ke(e)?e.value:e}const gu={get:(e,t,n)=>t==="__v_raw"?e:ko(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return ke(a)&&!ke(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function hr(e){return Et(e)?e:new Proxy(e,gu)}function du(e){const t=Z(e)?new Array(e.length):{};for(const n in e)t[n]=fu(e,n);return t}class pu{constructor(t,n,o){this._object=t,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._key=Xe(n)?n:String(n),this._raw=ce(t);let a=!0,s=t;if(!Z(t)||Xe(this._key)||!co(this._key))do a=!$o(s)||He(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=ko(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ke(this._raw[this._key])){const n=this._object[this._key];if(ke(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Vc(this._raw,this._key)}}function fu(e,t,n){return new pu(e,t,n)}class hu{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ma(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=In-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&_e!==this)return Zs(this,!0),!0}get value(){const t=this.dep.track();return tr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function mu(e,t,n=!1){let o,a;return te(e)?o=e:(o=e.get,a=e.set),new hu(o,a,n)}const Eo={},To=new WeakMap;let tn;function bu(e,t=!1,n=tn){if(n){let o=To.get(n);o||To.set(n,o=[]),o.push(e)}}function yu(e,t,n=ye){const{immediate:o,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=n,c=b=>a?b:He(b)||a===!1||a===0?Bt(b,1):Bt(b);let u,p,m,$,w=!1,v=!1;if(ke(e)?(p=()=>e.value,w=He(e)):Et(e)?(p=()=>c(e),w=!0):Z(e)?(v=!0,w=e.some(b=>Et(b)||He(b)),p=()=>e.map(b=>{if(ke(b))return b.value;if(Et(b))return c(b);if(te(b))return l?l(b,2):b()})):te(e)?t?p=l?()=>l(e,2):e:p=()=>{if(m){pt();try{m()}finally{ft()}}const b=tn;tn=u;try{return l?l(e,3,[$]):e($)}finally{tn=b}}:p=gt,t&&a){const b=p,C=a===!0?1/0:a;p=()=>Bt(b(),C)}const T=Ys(),P=()=>{u.stop(),T&&T.active&&ra(T.effects,u)};if(s&&t){const b=t;t=(...C)=>{const A=b(...C);return P(),A}}let k=v?new Array(e.length).fill(Eo):Eo;const y=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const C=u.run();if(b||a||w||(v?C.some((A,L)=>dt(A,k[L])):dt(C,k))){m&&m();const A=tn;tn=u;try{const L=[C,k===Eo?void 0:v&&k[0]===Eo?[]:k,$];k=C,l?l(t,3,L):t(...L)}finally{tn=A}}}else u.run()};return i&&i(y),u=new Js(p),u.scheduler=r?()=>r(y,!1):y,$=b=>bu(b,!1,u),m=u.onStop=()=>{const b=To.get(u);if(b){if(l)l(b,4);else for(const C of b)C();To.delete(u)}},t?o?y(!0):k=u.run():r?r(y.bind(null,!0),!0):u.run(),P.pause=u.pause.bind(u),P.resume=u.resume.bind(u),P.stop=P,P}function Bt(e,t=1/0,n){if(t<=0||!fe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ke(e))Bt(e.value,t,n);else if(Z(e))for(let o=0;o{Bt(o,t,n)});else if(lo(e)){for(const o in e)Bt(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Bt(e[o],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/const On=[];let ka=!1;function Ob(e,...t){if(ka)return;ka=!0,ft();const n=On.length?On[On.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=yu();if(o)fn(o,n,11,[e+t.map(s=>{var i,r;return(r=(i=s.toString)==null?void 0:i.call(s))!=null?r:JSON.stringify(s)}).join(""),n&&n.proxy,a.map(({vnode:s})=>`at <${dr(n,s.type)}>`).join(` +**/const Dn=[];let $a=!1;function qb(e,...t){if($a)return;$a=!0,pt();const n=Dn.length?Dn[Dn.length-1].component:null,o=n&&n.appContext.config.warnHandler,a=_u();if(o)pn(o,n,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(""),n&&n.proxy,a.map(({vnode:s})=>`at <${di(n,s.type)}>`).join(` `),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(` -`,...Au(a)),console.warn(...s)}pt(),ka=!1}function yu(){let e=On[On.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${dr(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mi(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mi(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:Te(t)?(t=mi(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function fn(e,t,n,o){try{return o?e(...o):e()}catch(a){xn(a,t,n)}}function it(e,t,n,o){if(te(e)){const a=fn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(Tu(t),0,e),e.flags|=1,_i()}}function _i(){Lo||(Lo=bi.then(Si))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(pn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(pn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Si(e){try{for(mt=0;mt{o._d&&jo(-1);const s=wo(t),i=sn.length;let r;try{r=e(...a)}finally{for(let l=sn.length;l>i;l--)ar();wo(s),o._d&&jo(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let i=0;i1)return n&&te(t)?t.call(o&&o.proxy):t}}function Lu(){return!!(Mt()||on)}const Cu=Symbol.for("v-scx"),wu=()=>De(Cu);function Nu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=_e){const{immediate:o,deep:a,flush:s,once:i}=n,r=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(_n){if(s==="sync"){const k=wu();c=k.__watcherHandles||(k.__watcherHandles=[])}else if(!l){const k=()=>{};return k.stop=gt,k.resume=gt,k.pause=gt,k}}const u=Fe;r.call=(k,N,v)=>it(k,u,N,v);let f=!1;s==="post"?r.scheduler=k=>{ze(k,u&&u.suspense)}:s!=="sync"&&(f=!0,r.scheduler=(k,N)=>{N?k():Ta(k)}),r.augmentJob=k=>{t&&(k.flags|=4),f&&(k.flags|=2,u&&(k.id=u.uid,k.i=u))};const m=_u(e,t,r);return _n&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?ki(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const i=Jn(this),r=Ea(a,s.bind(o),n);return i(),r}function ki(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,$a=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}function Ti(e){if(!Io(e))return No(e.type)&&e.children?Iu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function La(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;La(No(n.type)&&Ti(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Ca(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ei(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,$)=>Kn(v,t&&(Z(t)?t[$]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,i=a?null:s,{i:r,r:l}=e,c=t&&t.r,u=r.refs===_e?r.refs={}:r.refs,f=r.setupState,m=ce(f),k=f===_e?Os:v=>Ei(u,v)?!1:de(m,v),N=(v,$)=>!($&&Ei(u,$));if(c!=null&&c!==l){if($i(t),ve(c))u[c]=null,k(c)&&(f[c]=null);else if(Te(c)){const v=t;N(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))fn(l,r,12,[i,u]);else{const v=ve(l),$=Te(l);if(v||$){const P=()=>{if(e.f){const T=v?k(l)?f[l]:u[l]:N()||!e.k?l.value:u[e.k];if(a)Z(T)&&ia(T,s);else if(Z(T))T.includes(s)||T.push(s);else if(v)u[l]=[s],k(l)&&(f[l]=u[l]);else{const _=[s];N(l,e.k)&&(l.value=_),e.k&&(u[e.k]=_)}}else v?(u[l]=i,k(l)&&(f[l]=i)):$&&(N(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const T=()=>{P(),Po.delete(e)};T.id=-1,Po.set(e,T),ze(T,n)}else $i(e),P()}}}function $i(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Li=e=>e.nodeType===8;fo().requestIdleCallback,fo().cancelIdleCallback;function Ru(e,t){if(Li(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Li(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Du(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:i,suspensible:r=!0,onError:l}=e;let c=null,u,f=0;const m=()=>(f++,c=null,k()),k=()=>{let N;return c||(N=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise(($,P)=>{l(v,()=>$(m()),()=>P(v),f+1)});throw v}).then(v=>N!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:k,__asyncHydrate(N,v,$){const P=N.isConnected;let T=!1;(v.bu||(v.bu=[])).push(()=>T=!0);const _=()=>{T||!N.parentNode||P&&!N.isConnected||$()},b=s?()=>{const L=s(_,A=>Ru(N,A));L&&(v.bum||(v.bum=[])).push(L)}:_;u?b():k().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const N=Fe;if(Ca(N),u)return()=>Mo(u,N);const v=L=>{c=null,xn(L,N,13,!o)};if(r&&N.suspense||_n)return k().then(L=>()=>Mo(L,N)).catch(L=>(v(L),()=>o?Me(o,{error:L}):null));const $=he(!1),P=he(),T=he(!!a);let _,b;return Fo(()=>{_!=null&&clearTimeout(_),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{N.isUnmounted||(T.value=!1)},a)),i!=null&&(_=setTimeout(()=>{if(!N.isUnmounted&&!$.value&&!P.value){const L=new Error(`Async component timed out after ${i}ms.`);v(L),P.value=L}},i)),k().then(()=>{N.isUnmounted||($.value=!0,N.parent&&Io(N.parent.vnode)&&N.parent.update())}).catch(L=>{if(N.isUnmounted){c=null;return}v(L),P.value=L}),()=>{if($.value&&u)return Mo(u,N);if(P.value&&o)return Me(o,{error:P.value});if(n&&!T.value)return Mo(n,N)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,i=Me(e,o,a);return i.ref=n,i.ce=s,delete t.vnode.ce,i}const Io=e=>e.type.__isKeepAlive;function Fu(e,t){Ci(e,"a",t)}function Ou(e,t){Ci(e,"da",t)}function Ci(e,t,n=Fe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Fo(()=>{ia(o[t],a)},n)}function Ro(e,t,n=Fe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...i)=>{ft();const r=Jn(n),l=it(t,n,e,i);return r(),pt(),l});return o?a.unshift(s):a.push(s),s}}const Lt=e=>(t,n=Fe)=>{(!_n||e==="sp")&&Ro(e,(...o)=>t(...o),n)},wi=Lt("bm"),Gn=Lt("m"),ju=Lt("bu"),Bu=Lt("u"),Do=Lt("bum"),Fo=Lt("um"),Ku=Lt("sp"),Uu=Lt("rtg"),Gu=Lt("rtc");function zu(e,t=Fe){Ro("ec",e,t)}const qu="components",Ni=Symbol.for("v-ndc");function Pi(e){return ve(e)?Hu(qu,e,!1)||e:e||Ni}function Hu(e,t,n=!0,o=!1){const a=rt||Fe;if(a){const s=a.type;{const r=gr(s,!1);if(r&&(r===t||r===Pe(t)||r===go(Pe(t))))return s}const i=Mi(a[e]||s[e],t)||Mi(a.appContext[e],t);return!i&&o?s:i}}function Mi(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,i=Z(e);if(i||ve(e)){const r=i&&Et(e);let l=!1,c=!1;r&&(l=!He(e),c=$t(e),e=bo(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(r,l,void 0,s));else{const r=Object.keys(e);a=new Array(r.length);for(let l=0,c=r.length;le?lr(e)?xa(e):wa(e.parent):null,zn=Ee(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=>wa(e.parent),$root:e=>wa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Fi(e),$forceUpdate:e=>e.f||(e.f=()=>{Ta(e.update)}),$nextTick:e=>e.n||(e.n=Co.bind(e.proxy)),$watch:e=>Pu.bind(e)}),Na=(e,t)=>e!==_e&&!e.__isScriptSetup&&de(e,t),Wu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:i,type:r,appContext:l}=e;if(t[0]!=="$"){const m=i[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(Na(o,t))return i[t]=1,o[t];if(a!==_e&&de(a,t))return i[t]=2,a[t];if(de(s,t))return i[t]=3,s[t];if(n!==_e&&de(n,t))return i[t]=4,n[t];Pa&&(i[t]=0)}}const c=zn[t];let u,f;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==_e&&de(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,de(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return Na(a,t)?(a[t]=n,!0):o!==_e&&de(o,t)?(o[t]=n,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:i}},r){let l;return!!(n[r]||e!==_e&&r[0]!=="$"&&de(e,r)||Na(t,r)||de(s,r)||de(o,r)||de(zn,r)||de(a.config.globalProperties,r)||(l=i.__cssModules)&&l[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ii(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Fi(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Ri(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:i,watch:r,provide:l,inject:c,created:u,beforeMount:f,mounted:m,beforeUpdate:k,updated:N,activated:v,deactivated:$,beforeDestroy:P,beforeUnmount:T,destroyed:_,unmounted:b,render:L,renderTracked:A,renderTriggered:w,errorCaptured:D,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),i)for(const q in i){const W=i[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);pe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,ie=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>ie.value,set:fe=>ie.value=fe})}if(r)for(const q in r)Di(r[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Ri(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(wi,f),j(Gn,m),j(ju,k),j(Bu,N),j(Fu,v),j(Ou,$),j(zu,D),j(Gu,A),j(Uu,w),j(Do,T),j(Fo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===gt&&(e.render=L),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Ca(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;pe(a)?"default"in a?s=De(a.from||o,a.default,!0):s=De(a.from||o):s=De(a),Te(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:i=>s.value=i}):t[o]=s}}function Ri(e,t,n){it(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Di(e,t,n,o){let a=o.includes(".")?ki(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(pe(e))if(Z(e))e.forEach(s=>Di(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Fi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,r=s.get(t);let l;return r?l=r:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Oo(l,c,i,!0)),Oo(l,t,i)),pe(t)&&s.set(t,l),l}function Oo(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Oo(e,s,n,!0),a&&a.forEach(i=>Oo(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const r=Xu[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}const Xu={data:Oi,props:xi,emits:xi,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Oi,inject:Zu};function Oi(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||_e;let a=n;const s=t.startsWith("update:"),i=s&&ng(o,t.slice(7));i&&(i.trim&&(a=n.map(u=>ve(u)?u.trim():u)),i.number&&(a=a.map(Oc)));let r,l=o[r=ra(t)]||o[r=ra(Pe(t))];!l&&s&&(l=o[r=ra(Ze(t))]),l&&it(l,e,6,a);const c=o[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,it(c,e,6,a)}}const ag=new WeakMap;function Bi(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let i={},r=!1;if(!te(e)){const l=c=>{const u=Bi(c,t,!0);u&&(r=!0,Ee(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!r?(pe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>i[l]=null):Ee(i,s),pe(e)&&o.set(e,i),i)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function xb(){}function Ki(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:i,attrs:r,emit:l,render:c,renderCache:u,props:f,data:m,setupState:k,ctx:N,inheritAttrs:v}=e,$=wo(e);let P,T;try{if(n.shapeFlag&4){const b=a||o,L=b;P=_t(c.call(L,b,u,f,k,m,N)),T=r}else{const b=t;P=_t(b.length>1?b(f,{attrs:r,slots:i,emit:l}):b(f,null)),T=t.props?r:sg(r)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Ct)}let _=P;if(T&&v!==!1){const b=Object.keys(T),{shapeFlag:L}=_;b.length&&L&7&&(s&&b.some(io)&&(T=ig(T,s)),_=mn(_,T,!1,!0))}if(n.dirs&&(_=mn(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition){const b=No(_.type)&&Ti(_)||_;La(b,n.transition)}return P=_,wo($),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},ig=(e,t)=>{const n={};for(const o in e)(!io(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function rg(e,t,n){const{props:o,children:a,component:s}=e,{props:i,children:r,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Ui(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(zi),Hi=e=>Object.getPrototypeOf(e)===zi;function cg(e,t,n,o=!1){const a={},s=qi();e.propsDefaults=Object.create(null),Vi(e,t,a,s);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:i}}=e,r=ce(a),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[m,k]=Wi(f,t,!0);Ee(i,m),k&&r.push(...k)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return pe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Da=e=>Z(e)?e.map(_t):[_t(e)],dg=(e,t,n)=>{if(t._n)return t;const o=$u((...a)=>Da(t(...a)),n);return o._c=!1,o},Ji=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const i=Da(s);t[a]=()=>i}}},Xi=(e,t)=>{const n=Da(t);e.slots.default=()=>n},Zi=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},fg=(e,t,n)=>{const o=e.slots=qi();if(e.vnode.shapeFlag&32){const a=t._;a?(Zi(o,t,n),n&&Ks(o,"_",a,!0)):Ji(t,o)}else t&&Xi(e,t)},pg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,i=_e;if(o.shapeFlag&32){const r=t._;r?n&&r===1?s=!1:Zi(a,t,n):(s=!t.$stable,Ji(t,a)),i=t}else t&&(Xi(e,t),i={default:1});if(s)for(const r in a)!Ra(r)&&i[r]==null&&delete a[r]},ze=yg;function hg(e){return mg(e)}function mg(e,t){const n=fo();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:i,createText:r,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:m,setScopeId:k=gt,insertStaticContent:N}=e,v=(p,y,h,M=null,x=null,O=null,U=void 0,K=null,g=!!y.dynamicChildren)=>{if(p===y)return;p&&!Wn(p,y)&&(M=Ye(p),fe(p,x,O,!0),p=null),y.patchFlag===-2&&(g=!1,y.dynamicChildren=null);const{type:d,ref:C,shapeFlag:I}=y;switch(d){case Hn:$(p,y,h,M);break;case Ct:P(p,y,h,M);break;case Oa:p==null&&T(y,h,M,U);break;case Qe:z(p,y,h,M,x,O,U,K,g);break;default:I&1?L(p,y,h,M,x,O,U,K,g):I&6?ee(p,y,h,M,x,O,U,K,g):(I&64||I&128)&&d.process(p,y,h,M,x,O,U,K,g,ot)}C!=null&&x?Kn(C,p&&p.ref,O,y||p,!y):C==null&&p&&p.ref!=null&&Kn(p.ref,null,O,p,!0)},$=(p,y,h,M)=>{if(p==null)o(y.el=r(y.children),h,M);else{const x=y.el=p.el;y.children!==p.children&&c(x,y.children)}},P=(p,y,h,M)=>{p==null?o(y.el=l(y.children||""),h,M):y.el=p.el},T=(p,y,h,M)=>{[p.el,p.anchor]=N(p.children,y,h,M,p.el,p.anchor)},_=({el:p,anchor:y},h,M)=>{let x;for(;p&&p!==y;)x=m(p),o(p,h,M),p=x;o(y,h,M)},b=({el:p,anchor:y})=>{let h;for(;p&&p!==y;)h=m(p),a(p),p=h;a(y)},L=(p,y,h,M,x,O,U,K,g)=>{if(y.type==="svg"?U="svg":y.type==="math"&&(U="mathml"),p==null)A(y,h,M,x,O,U,K,g);else{const d=p.el&&p.el._isVueCE?p.el:null;try{d&&d._beginPatch(),S(p,y,x,O,U,K,g)}finally{d&&d._endPatch()}}},A=(p,y,h,M,x,O,U,K)=>{let g,d;const{props:C,shapeFlag:I,transition:G,dirs:B}=p;if(g=p.el=i(p.type,O,C&&C.is,C),I&8?u(g,p.children):I&16&&D(p.children,g,null,M,x,Fa(p,O),U,K),B&&nn(p,null,M,"created"),w(g,p,p.scopeId,U,M),C){for(const R in C)R!=="value"&&!wn(R)&&s(g,R,null,C[R],O,M);"value"in C&&s(g,"value",null,C.value,O),(d=C.onVnodeBeforeMount)&&yt(d,M,p)}B&&nn(p,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,y,h),((d=C&&C.onVnodeMounted)||E||B)&&ze(()=>{try{d&&yt(d,M,p),E&&G.enter(g),B&&nn(p,null,M,"mounted")}finally{}},x)},w=(p,y,h,M,x)=>{if(h&&k(p,h),M)for(let O=0;O{for(let d=g;d{const K=y.el=p.el;let{patchFlag:g,dynamicChildren:d,dirs:C}=y;g|=p.patchFlag&16;const I=p.props||_e,G=y.props||_e;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&yt(B,h,y,p),C&&nn(y,p,h,"beforeUpdate"),h&&an(h,!0),d&&(!p.dynamicChildren||p.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(p.dynamicChildren,d,K,h,M,Fa(y,x),O):U||W(p,y,K,null,h,M,Fa(y,x),O,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=y.dynamicProps;for(let R=0;R{B&&yt(B,h,y,p),C&&nn(y,p,h,"updated")},M)},V=(p,y,h,M,x,O,U)=>{for(let K=0;K{if(y!==h){if(y!==_e)for(const O in y)!wn(O)&&!(O in h)&&s(p,O,y[O],null,x,M);for(const O in h){if(wn(O))continue;const U=h[O],K=y[O];U!==K&&O!=="value"&&s(p,O,K,U,x,M)}"value"in h&&s(p,"value",y.value,h.value,x)}},z=(p,y,h,M,x,O,U,K,g)=>{const d=y.el=p?p.el:r(""),C=y.anchor=p?p.anchor:r("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=y;B&&(K=K?K.concat(B):B),p==null?(o(d,h,M),o(C,h,M),D(y.children||[],h,C,x,O,U,K,g)):I>0&&I&64&&G&&p.dynamicChildren&&p.dynamicChildren.length===G.length?(V(p.dynamicChildren,G,h,x,O,U,K),(y.key!=null||x&&y===x.subTree)&&Qi(p,y,!0)):W(p,y,h,C,x,O,U,K,g)},ee=(p,y,h,M,x,O,U,K,g)=>{y.slotScopeIds=K,p==null?y.shapeFlag&512?x.ctx.activate(y,h,M,U,g):Y(y,h,M,x,O,U,g):F(p,y,g)},Y=(p,y,h,M,x,O,U)=>{const K=p.component=Eg(p,M,x);if(Io(p)&&(K.ctx.renderer=ot),$g(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!p.el){const g=K.subTree=Me(Ct);P(null,g,y,h),p.placeholder=g.el}}else j(K,p,y,h,x,O,U)},F=(p,y,h)=>{const M=y.component=p.component;if(rg(p,y,h))if(M.asyncDep&&!M.asyncResolved){q(M,y,h);return}else M.next=y,M.update();else y.el=p.el,M.vnode=y},j=(p,y,h,M,x,O,U)=>{const K=()=>{if(p.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=p;{const xe=er(p);if(xe){I&&(I.el=R.el,q(p,I,U)),xe.asyncDep.then(()=>{ze(()=>{p.isUnmounted||d()},x)});return}}let J=I,se;an(p,!1),I?(I.el=R.el,q(p,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&yt(se,E,I,R),an(p,!0);const Se=Ki(p),Ge=p.subTree;p.subTree=Se,v(Ge,Se,f(Ge.el),Ye(Ge),p,x,O),I.el=Se.el,J===null&&lg(p,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>yt(se,E,I,R),x)}else{let I;const{el:G,props:B}=y,{bm:E,m:R,parent:J,root:se,type:Se}=p,Ge=Un(y);an(p,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&yt(I,J,y),an(p,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,p.parent?p.parent.type:void 0);const xe=p.subTree=Ki(p);v(null,xe,h,M,p,x,O),y.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=y;ze(()=>yt(I,J,xe),x)}(y.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&p.a&&ze(p.a,x),p.isMounted=!0,y=h=M=null}};p.scope.on();const g=p.effect=new Js(K);p.scope.off();const d=p.update=g.run.bind(g),C=p.job=g.runIfDirty.bind(g);C.i=p,C.id=p.uid,g.scheduler=()=>Ta(C),an(p,!0),d()},q=(p,y,h)=>{y.component=p;const M=p.vnode.props;p.vnode=y,p.next=null,ug(p,y.props,M,h),pg(p,y.children,h),ft(),yi(p),pt()},W=(p,y,h,M,x,O,U,K,g=!1)=>{const d=p&&p.children,C=p?p.shapeFlag:0,I=y.children,{patchFlag:G,shapeFlag:B}=y;if(G>0){if(G&128){ge(d,I,h,M,x,O,U,K,g);return}else if(G&256){X(d,I,h,M,x,O,U,K,g);return}}B&8?(C&16&&Re(d,x,O),I!==d&&u(h,I)):C&16?B&16?ge(d,I,h,M,x,O,U,K,g):Re(d,x,O,!0):(C&8&&u(h,""),B&16&&D(I,h,M,x,O,U,K,g))},X=(p,y,h,M,x,O,U,K,g)=>{p=p||un,y=y||un;const d=p.length,C=y.length,I=Math.min(d,C);let G;for(G=0;GC?Re(p,x,O,!0,!1,I):D(y,h,M,x,O,U,K,g,I)},ge=(p,y,h,M,x,O,U,K,g)=>{let d=0;const C=y.length;let I=p.length-1,G=C-1;for(;d<=I&&d<=G;){const B=p[d],E=y[d]=g?Pt(y[d]):_t(y[d]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=p[I],E=y[G]=g?Pt(y[G]):_t(y[G]);if(Wn(B,E))v(B,E,h,null,x,O,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)fe(p[d],x,O,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=y[d]=g?Pt(y[d]):_t(y[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){fe(Je,x,O,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,y[J])){vt=J;break}vt===void 0?fe(Je,x,O,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,y[vt],h,null,x,O,U,K,g),se++)}const Fs=Ge?_g(cn):un;for(J=Fs.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=y[Je],Nc=y[Je+1],Pc=Je+1{const{el:O,type:U,transition:K,children:g,shapeFlag:d}=p;if(d&6){ie(p.component.subTree,y,h,M);return}if(d&128){p.suspense.move(y,h,M);return}if(d&64){U.move(p,y,h,ot);return}if(U===Qe){o(O,y,h);for(let I=0;IK.enter(O),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{p.ctx.isUnmounted?a(O):o(O,y,h)},R=()=>{const J=O._isLeaving||!!O[$a];O._isLeaving&&O[$a](!0),K.persisted&&!J?E():I(O,()=>{E(),B&&B()})};G?G(O,E,R):R()}else o(O,y,h)},fe=(p,y,h,M=!1,x=!1)=>{const{type:O,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:C,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=p;if(I===-2&&(x=!1),K!=null&&(ft(),Kn(K,null,h,p,!0),pt()),B!=null&&(y.renderCache[B]=void 0),C&256){y.ctx.deactivate(p);return}const R=C&1&&G,J=!Un(p);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&yt(se,y,p),C&6)Ne(p.component,h,M);else{if(C&128){p.suspense.unmount(h,M);return}R&&nn(p,null,y,"beforeUnmount"),C&64?p.type.remove(p,y,h,ot,M):d&&!d.hasOnce&&(O!==Qe||I>0&&I&64)?Re(d,y,h,!1,!0):(O===Qe&&I&384||!x&&C&16)&&Re(g,y,h),M&&oe(p)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&yt(se,y,p),R&&nn(p,null,y,"unmounted"),Se&&(p.el=null)},h)},oe=p=>{const{type:y,el:h,anchor:M,transition:x}=p;if(y===Qe){le(h,M);return}if(y===Oa){b(p);return}const O=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(p.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,O);K?K(p.el,O,g):g()}else O()},le=(p,y)=>{let h;for(;p!==y;)h=m(p),a(p),p=h;a(y)},Ne=(p,y,h)=>{const{bum:M,scope:x,job:O,subTree:U,um:K,m:g,a:d}=p;tr(g),tr(d),M&&la(M),x.stop(),O&&(O.flags|=8,fe(U,p,y,h)),K&&ze(K,y),ze(()=>{p.isUnmounted=!0},y)},Re=(p,y,h,M=!1,x=!1,O=0)=>{for(let U=O;U{if(p.shapeFlag&6)return Ye(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const y=m(p.anchor||p.el),h=y&&y[Mu];return h?m(h):y};let nt=!1;const Zt=(p,y,h)=>{let M;p==null?y._vnode&&(fe(y._vnode,null,null,!0),M=y._vnode.component):v(y._vnode||null,p,y,null,null,null,h),y._vnode=p,nt||(nt=!0,yi(M),Ai(),nt=!1)},ot={p:v,um:fe,m:ie,r:oe,mt:Y,mc:D,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Fa({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qi(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[r]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,i=n[s-1];s-- >0;)n[s]=i,i=t[i];return n}function er(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:er(t)}function tr(e){if(e)for(let t=0;te.__isSuspense;function yg(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),Oa=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ar(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function sr(e){return e.dynamicChildren=Vn>0?Ve||un:null,ar(),Vn>0&&Ve&&Ve.push(e),e}function wt(e,t,n,o,a,s){return sr(Ce(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return sr(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ir=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||Te(e)||te(e)?{i:rt,r:e,k:t,f:!!n}:e:null);function Ce(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,i=!1,r=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ir(t),ref:t&&Uo(t),scopeId:vi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:rt};return r?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!i&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===Ni)&&(e=Ct),Ko(e)){const r=mn(e,t,!0);return n&&Go(r,n),Vn>0&&!s&&Ve&&(r.shapeFlag&6?Ve[Ve.indexOf(e)]=r:Ve.push(r)),r.patchFlag=-2,r}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:r,style:l}=t;r&&!ve(r)&&(t.class=Nn(r)),pe(l)&&(ko(l)&&!Z(l)&&(l=Ee({},l)),t.style=po(l))}const i=ve(e)?1:or(e)?128:No(e)?64:pe(e)?4:te(e)?2:0;return Ce(e,t,n,o,a,i,s,!0)}function Sg(e){return e?ko(e)||Hi(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:i,children:r,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ir(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Qe?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&La(u,l.clone(u)),u}function Nt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Ct,null,e)):Me(Ct,null,e)}function _t(e){return e==null||typeof e=="boolean"?Me(Ct):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hi(t)?t._ctx=rt:a===3&&rt&&(rt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:rt},n=32}else t=String(t),o&64?(n=16,t=[Nt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nFe||rt;let zo,Yn;{const e=fo(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(i=>i(s)):a[0](s)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Fe=n),Yn=t("__VUE_SSR_SETTERS__",n=>_n=n)}const Jn=e=>{const t=Fe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},rr=()=>{Fe&&Fe.scope.off(),zo(null)};function lr(e){return e.vnode.shapeFlag&4}let _n=!1;function $g(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=lr(e);cg(e,o,s,t),fg(e,a,n||t);const i=s?Lg(e,t):void 0;return t&&Yn(!1),i}function Lg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){ft();const a=e.setupContext=o.length>1?wg(e):null,s=Jn(e),i=fn(o,e,0,[e.props,a]),r=js(i);if(pt(),s(),(r||e.sp)&&!Un(e)&&Ca(e),r){if(i.then(rr,rr),t)return i.then(l=>{Yn(!0);try{cr(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=i}else cr(e,i)}else ur(e)}function cr(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:pe(t)&&(e.setupState=hi(t)),ur(e)}function ur(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);ft();try{Yu(e)}finally{pt(),a()}}}const Cg={get(e,t){return je(e,"get",""),e[t]}};function wg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Cg),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hi(Fn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const Ng=/(?:^|[-_])\w/g,Pg=e=>e.replace(Ng,t=>t.toUpperCase()).replace(/[-_]/g,"");function gr(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function dr(e,t,n=!1){let o=gr(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const i in s)if(s[i]===t)return i};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,_n);function fr(e,t,n){try{jo(-1);const o=arguments.length;return o===2?pe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** +`,...Au(a)),console.warn(...s)}ft(),$a=!1}function _u(){let e=Dn[Dn.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Au(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` +`],...Su(n))}),t}function Su({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,a=` at <${di(e.component,e.type,o)}`,s=">"+n;return e.props?[a,...vu(e.props),s]:[a+s]}function vu(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...mr(o,e[o]))}),n.length>3&&t.push(" ..."),t}function mr(e,t,n){return ve(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ke(t)?(t=mr(e,ce(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):te(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ce(t),n?t:[`${e}=`,t])}function pn(e,t,n,o){try{return o?e(...o):e()}catch(a){xn(a,t,n)}}function rt(e,t,n,o){if(te(e)){const a=pn(e,t,n,o);return a&&js(a)&&a.catch(s=>{xn(s,t,n)}),a}if(Z(e)){const a=[];for(let s=0;s>>1,a=Be[o],s=jn(a);s=jn(n)?Be.push(e):Be.splice(ku(t),0,e),e.flags|=1,yr()}}function yr(){Co||(Co=br.then(Sr))}function Eu(e){if(!Z(e))Kt&&e.id===-1?Kt.splice(hn+1,0,e):e.flags&1||(fn.push(e),e.flags|=1);else for(let t=0;tjn(n)-jn(o));if(fn.length=0,Kt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Sr(e){try{for(mt=0;mt{o._d&&jo(-1);const s=Lo(t),r=sn.length;let i;try{i=e(...a)}finally{for(let l=sn.length;l>r;l--)ai();Lo(s),o._d&&jo(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function nn(e,t,n,o){const a=e.dirs,s=t&&t.dirs;for(let r=0;r1)return n&&te(t)?t.call(o&&o.proxy):t}}function Cu(){return!!(Mt()||on)}const Nu=Symbol.for("v-scx"),Lu=()=>Fe(Nu);function wu(e,t){return Ea(e,null,t)}function Ut(e,t,n){return Ea(e,t,n)}function Ea(e,t,n=ye){const{immediate:o,deep:a,flush:s,once:r}=n,i=Ee({},n),l=t&&o||!t&&s!=="post";let c;if(yn){if(s==="sync"){const $=Lu();c=$.__watcherHandles||($.__watcherHandles=[])}else if(!l){const $=()=>{};return $.stop=gt,$.resume=gt,$.pause=gt,$}}const u=Oe;i.call=($,w,v)=>rt($,u,w,v);let p=!1;s==="post"?i.scheduler=$=>{ze($,u&&u.suspense)}:s!=="sync"&&(p=!0,i.scheduler=($,w)=>{w?$():ka($)}),i.augmentJob=$=>{t&&($.flags|=4),p&&($.flags|=2,u&&($.id=u.uid,$.i=u))};const m=yu(e,t,i);return yn&&(c?c.push(m):l&&m()),m}function Pu(e,t,n){const o=this.proxy,a=ve(e)?e.includes(".")?$r(o,e):()=>o[e]:e.bind(o,o);let s;te(t)?s=t:(s=t.handler,n=t);const r=Jn(this),i=Ea(a,s.bind(o),n);return r(),i}function $r(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;ae.__isTeleport,Ta=Symbol("_leaveCb");function Iu(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Nt){t=n;break}}return t}function kr(e){if(!Io(e))return wo(e.type)&&e.children?Iu(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&te(n.default))return n.default()}}function Ca(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ca(wo(n.type)&&kr(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Bn(e,t){return te(e)?Ee({name:e.name},t,{setup:e}):e}function Na(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Er(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Po=new WeakMap;function Kn(e,t,n,o,a=!1){if(Z(e)){e.forEach((v,T)=>Kn(v,t&&(Z(t)?t[T]:t),n,o,a));return}if(Un(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&Kn(e,t,n,o.component.subTree);return}const s=o.shapeFlag&4?xa(o.component):o.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===ye?i.refs={}:i.refs,p=i.setupState,m=ce(p),$=p===ye?Ds:v=>Er(u,v)?!1:de(m,v),w=(v,T)=>!(T&&Er(u,T));if(c!=null&&c!==l){if(Tr(t),ve(c))u[c]=null,$(c)&&(p[c]=null);else if(ke(c)){const v=t;w(c,v.k)&&(c.value=null),v.k&&(u[v.k]=null)}}if(te(l))pn(l,i,12,[r,u]);else{const v=ve(l),T=ke(l);if(v||T){const P=()=>{if(e.f){const k=v?$(l)?p[l]:u[l]:w()||!e.k?l.value:u[e.k];if(a)Z(k)&&ra(k,s);else if(Z(k))k.includes(s)||k.push(s);else if(v)u[l]=[s],$(l)&&(p[l]=u[l]);else{const y=[s];w(l,e.k)&&(l.value=y),e.k&&(u[e.k]=y)}}else v?(u[l]=r,$(l)&&(p[l]=r)):T&&(w(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const k=()=>{P(),Po.delete(e)};k.id=-1,Po.set(e,k),ze(k,n)}else Tr(e),P()}}}function Tr(e){const t=Po.get(e);t&&(t.flags|=8,Po.delete(e))}const Cr=e=>e.nodeType===8;po().requestIdleCallback,po().cancelIdleCallback;function Ru(e,t){if(Cr(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(Cr(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Un=e=>!!e.type.__asyncLoader;function Fu(e){te(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,p=0;const m=()=>(p++,c=null,$()),$=()=>{let w;return c||(w=c=t().catch(v=>{if(v=v instanceof Error?v:new Error(String(v)),l)return new Promise((T,P)=>{l(v,()=>T(m()),()=>P(v),p+1)});throw v}).then(v=>w!==c&&c?c:(v&&(v.__esModule||v[Symbol.toStringTag]==="Module")&&(v=v.default),u=v,v)))};return Bn({name:"AsyncComponentWrapper",__asyncLoader:$,__asyncHydrate(w,v,T){const P=w.isConnected;let k=!1;(v.bu||(v.bu=[])).push(()=>k=!0);const y=()=>{k||!w.parentNode||P&&!w.isConnected||T()},b=s?()=>{const C=s(y,A=>Ru(w,A));C&&(v.bum||(v.bum=[])).push(C)}:y;u?b():$().then(()=>!v.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const w=Oe;if(Na(w),u)return()=>Mo(u,w);const v=C=>{c=null,xn(C,w,13,!o)};if(i&&w.suspense||yn)return $().then(C=>()=>Mo(C,w)).catch(C=>(v(C),()=>o?Me(o,{error:C}):null));const T=he(!1),P=he(),k=he(!!a);let y,b;return Oo(()=>{y!=null&&clearTimeout(y),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{w.isUnmounted||(k.value=!1)},a)),r!=null&&(y=setTimeout(()=>{if(!w.isUnmounted&&!T.value&&!P.value){const C=new Error(`Async component timed out after ${r}ms.`);v(C),P.value=C}},r)),$().then(()=>{w.isUnmounted||(T.value=!0,w.parent&&Io(w.parent.vnode)&&w.parent.update())}).catch(C=>{if(w.isUnmounted){c=null;return}v(C),P.value=C}),()=>{if(T.value&&u)return Mo(u,w);if(P.value&&o)return Me(o,{error:P.value});if(n&&!k.value)return Mo(n,w)}}})}function Mo(e,t){const{ref:n,props:o,children:a,ce:s}=t.vnode,r=Me(e,o,a);return r.ref=n,r.ce=s,delete t.vnode.ce,r}const Io=e=>e.type.__isKeepAlive;function Ou(e,t){Nr(e,"a",t)}function Du(e,t){Nr(e,"da",t)}function Nr(e,t,n=Oe){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Ro(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Io(a.parent.vnode)&&xu(o,t,n,a),a=a.parent}}function xu(e,t,n,o){const a=Ro(t,e,o,!0);Oo(()=>{ra(o[t],a)},n)}function Ro(e,t,n=Oe,o=!1){if(n){const a=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...r)=>{pt();const i=Jn(n),l=rt(t,n,e,r);return i(),ft(),l});return o?a.unshift(s):a.push(s),s}}const Ct=e=>(t,n=Oe)=>{(!yn||e==="sp")&&Ro(e,(...o)=>t(...o),n)},Lr=Ct("bm"),Gn=Ct("m"),ju=Ct("bu"),Bu=Ct("u"),Fo=Ct("bum"),Oo=Ct("um"),Ku=Ct("sp"),Uu=Ct("rtg"),Gu=Ct("rtc");function zu(e,t=Oe){Ro("ec",e,t)}const qu="components",wr=Symbol.for("v-ndc");function Pr(e){return ve(e)?Hu(qu,e,!1)||e:e||wr}function Hu(e,t,n=!0,o=!1){const a=it||Oe;if(a){const s=a.type;{const i=gi(s,!1);if(i&&(i===t||i===Pe(t)||i===go(Pe(t))))return s}const r=Mr(a[e]||s[e],t)||Mr(a.appContext[e],t);return!r&&o?s:r}}function Mr(e,t){return e&&(e[t]||e[Pe(t)]||e[go(Pe(t))])}function Vu(e,t,n,o){let a;const s=n,r=Z(e);if(r||ve(e)){const i=r&&Et(e);let l=!1,c=!1;i&&(l=!He(e),c=Tt(e),e=bo(e)),a=new Array(e.length);for(let u=0,p=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;le?li(e)?xa(e):La(e.parent):null,zn=Ee(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=>La(e.parent),$root:e=>La(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Or(e),$forceUpdate:e=>e.f||(e.f=()=>{ka(e.update)}),$nextTick:e=>e.n||(e.n=No.bind(e.proxy)),$watch:e=>Pu.bind(e)}),wa=(e,t)=>e!==ye&&!e.__isScriptSetup&&de(e,t),Wu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const m=r[t];if(m!==void 0)switch(m){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return s[t]}else{if(wa(o,t))return r[t]=1,o[t];if(a!==ye&&de(a,t))return r[t]=2,a[t];if(de(s,t))return r[t]=3,s[t];if(n!==ye&&de(n,t))return r[t]=4,n[t];Pa&&(r[t]=0)}}const c=zn[t];let u,p;if(c)return t==="$attrs"&&je(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(n!==ye&&de(n,t))return r[t]=4,n[t];if(p=l.config.globalProperties,de(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:s}=e;return wa(a,t)?(a[t]=n,!0):o!==ye&&de(o,t)?(o[t]=n,!0):de(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:s,type:r}},i){let l;return!!(n[i]||e!==ye&&i[0]!=="$"&&de(e,i)||wa(t,i)||de(s,i)||de(o,i)||de(zn,i)||de(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:de(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ir(e){return Z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Pa=!0;function Yu(e){const t=Or(e),n=e.proxy,o=e.ctx;Pa=!1,t.beforeCreate&&Rr(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:p,mounted:m,beforeUpdate:$,updated:w,activated:v,deactivated:T,beforeDestroy:P,beforeUnmount:k,destroyed:y,unmounted:b,render:C,renderTracked:A,renderTriggered:L,errorCaptured:F,serverPrefetch:S,expose:V,inheritAttrs:ae,components:z,directives:ee,filters:Y}=t;if(c&&Ju(c,o,null),r)for(const q in r){const W=r[q];te(W)&&(o[q]=W.bind(n))}if(a){const q=a.call(n,n);fe(q)&&(e.data=So(q))}if(Pa=!0,s)for(const q in s){const W=s[q],X=te(W)?W.bind(n,n):te(W.get)?W.get.bind(n,n):gt,ge=!te(W)&&te(W.set)?W.set.bind(n):gt,re=be({get:X,set:ge});Object.defineProperty(o,q,{enumerable:!0,configurable:!0,get:()=>re.value,set:pe=>re.value=pe})}if(i)for(const q in i)Fr(i[q],o,n,q);if(l){const q=te(l)?l.call(n):l;Reflect.ownKeys(q).forEach(W=>{bt(W,q[W])})}u&&Rr(u,e,"c");function j(q,W){Z(W)?W.forEach(X=>q(X.bind(n))):W&&q(W.bind(n))}if(j(Lr,p),j(Gn,m),j(ju,$),j(Bu,w),j(Ou,v),j(Du,T),j(zu,F),j(Gu,A),j(Uu,L),j(Fo,k),j(Oo,b),j(Ku,S),Z(V))if(V.length){const q=e.exposed||(e.exposed={});V.forEach(W=>{Object.defineProperty(q,W,{get:()=>n[W],set:X=>n[W]=X,enumerable:!0})})}else e.exposed||(e.exposed={});C&&e.render===gt&&(e.render=C),ae!=null&&(e.inheritAttrs=ae),z&&(e.components=z),ee&&(e.directives=ee),S&&Na(e)}function Ju(e,t,n=gt){Z(e)&&(e=Ma(e));for(const o in e){const a=e[o];let s;fe(a)?"default"in a?s=Fe(a.from||o,a.default,!0):s=Fe(a.from||o):s=Fe(a),ke(s)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[o]=s}}function Rr(e,t,n){rt(Z(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fr(e,t,n,o){let a=o.includes(".")?$r(n,o):()=>n[o];if(ve(e)){const s=t[e];te(s)&&Ut(a,s)}else if(te(e))Ut(a,e.bind(n));else if(fe(e))if(Z(e))e.forEach(s=>Fr(s,t,n,o));else{const s=te(e.handler)?e.handler.bind(n):t[e.handler];te(s)&&Ut(a,s,e)}}function Or(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!n&&!o?l=t:(l={},a.length&&a.forEach(c=>Do(l,c,r,!0)),Do(l,t,r)),fe(t)&&s.set(t,l),l}function Do(e,t,n,o=!1){const{mixins:a,extends:s}=t;s&&Do(e,s,n,!0),a&&a.forEach(r=>Do(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const i=Xu[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const Xu={data:Dr,props:xr,emits:xr,methods:qn,computed:qn,beforeCreate:Ke,created:Ke,beforeMount:Ke,mounted:Ke,beforeUpdate:Ke,updated:Ke,beforeDestroy:Ke,beforeUnmount:Ke,destroyed:Ke,unmounted:Ke,activated:Ke,deactivated:Ke,errorCaptured:Ke,serverPrefetch:Ke,components:qn,directives:qn,watch:Qu,provide:Dr,inject:Zu};function Dr(e,t){return t?e?function(){return Ee(te(e)?e.call(this,this):e,te(t)?t.call(this,this):t)}:t:e}function Zu(e,t){return qn(Ma(e),Ma(t))}function Ma(e){if(Z(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pe(t)}Modifiers`]||e[`${Ze(t)}Modifiers`];function og(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||ye;let a=n;const s=t.startsWith("update:"),r=s&&ng(o,t.slice(7));r&&(r.trim&&(a=n.map(u=>ve(u)?u.trim():u)),r.number&&(a=a.map(Dc)));let i,l=o[i=ia(t)]||o[i=ia(Pe(t))];!l&&s&&(l=o[i=ia(Ze(t))]),l&&rt(l,e,6,a);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,rt(c,e,6,a)}}const ag=new WeakMap;function Br(e,t,n=!1){const o=n?ag:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!te(e)){const l=c=>{const u=Br(c,t,!0);u&&(i=!0,Ee(r,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(fe(e)&&o.set(e,null),null):(Z(s)?s.forEach(l=>r[l]=null):Ee(r,s),fe(e)&&o.set(e,r),r)}function xo(e,t){return!e||!so(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),de(e,t[0].toLowerCase()+t.slice(1))||de(e,Ze(t))||de(e,t))}function Hb(){}function Kr(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:p,data:m,setupState:$,ctx:w,inheritAttrs:v}=e,T=Lo(e);let P,k;try{if(n.shapeFlag&4){const b=a||o,C=b;P=yt(c.call(C,b,u,p,$,m,w)),k=i}else{const b=t;P=yt(b.length>1?b(p,{attrs:i,slots:r,emit:l}):b(p,null)),k=t.props?i:sg(i)}}catch(b){sn.length=0,xn(b,e,1),P=Me(Nt)}let y=P;if(k&&v!==!1){const b=Object.keys(k),{shapeFlag:C}=y;b.length&&C&7&&(s&&b.some(ro)&&(k=rg(k,s)),y=mn(y,k,!1,!0))}if(n.dirs&&(y=mn(y,null,!1,!0),y.dirs=y.dirs?y.dirs.concat(n.dirs):n.dirs),n.transition){const b=wo(y.type)&&kr(y)||y;Ca(b,n.transition)}return P=y,Lo(T),P}const sg=e=>{let t;for(const n in e)(n==="class"||n==="style"||so(n))&&((t||(t={}))[n]=e[n]);return t},rg=(e,t)=>{const n={};for(const o in e)(!ro(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function ig(e,t,n){const{props:o,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?Ur(o,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let p=0;pObject.create(zr),Hr=e=>Object.getPrototypeOf(e)===zr;function cg(e,t,n,o=!1){const a={},s=qr();e.propsDefaults=Object.create(null),Vr(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);n?e.props=o?a:cu(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function ug(e,t,n,o){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=ce(a),[l]=e.propsOptions;let c=!1;if((o||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let p=0;p{l=!0;const[m,$]=Wr(p,t,!0);Ee(r,m),$&&i.push(...$)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return fe(e)&&o.set(e,un),un;if(Z(s))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Fa=e=>Z(e)?e.map(yt):[yt(e)],dg=(e,t,n)=>{if(t._n)return t;const o=Tu((...a)=>Fa(t(...a)),n);return o._c=!1,o},Jr=(e,t,n)=>{const o=e._ctx;for(const a in e){if(Ra(a))continue;const s=e[a];if(te(s))t[a]=dg(a,s,o);else if(s!=null){const r=Fa(s);t[a]=()=>r}}},Xr=(e,t)=>{const n=Fa(t);e.slots.default=()=>n},Zr=(e,t,n)=>{for(const o in t)(n||!Ra(o))&&(e[o]=t[o])},pg=(e,t,n)=>{const o=e.slots=qr();if(e.vnode.shapeFlag&32){const a=t._;a?(Zr(o,t,n),n&&Ks(o,"_",a,!0)):Jr(t,o)}else t&&Xr(e,t)},fg=(e,t,n)=>{const{vnode:o,slots:a}=e;let s=!0,r=ye;if(o.shapeFlag&32){const i=t._;i?n&&i===1?s=!1:Zr(a,t,n):(s=!t.$stable,Jr(t,a)),r=t}else t&&(Xr(e,t),r={default:1});if(s)for(const i in a)!Ra(i)&&r[i]==null&&delete a[i]},ze=_g;function hg(e){return mg(e)}function mg(e,t){const n=po();n.__VUE__=!0;const{insert:o,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:p,nextSibling:m,setScopeId:$=gt,insertStaticContent:w}=e,v=(f,_,h,M=null,x=null,D=null,U=void 0,K=null,g=!!_.dynamicChildren)=>{if(f===_)return;f&&!Wn(f,_)&&(M=Ye(f),pe(f,x,D,!0),f=null),_.patchFlag===-2&&(g=!1,_.dynamicChildren=null);const{type:d,ref:N,shapeFlag:I}=_;switch(d){case Hn:T(f,_,h,M);break;case Nt:P(f,_,h,M);break;case Da:f==null&&k(_,h,M,U);break;case Qe:z(f,_,h,M,x,D,U,K,g);break;default:I&1?C(f,_,h,M,x,D,U,K,g):I&6?ee(f,_,h,M,x,D,U,K,g):(I&64||I&128)&&d.process(f,_,h,M,x,D,U,K,g,ot)}N!=null&&x?Kn(N,f&&f.ref,D,_||f,!_):N==null&&f&&f.ref!=null&&Kn(f.ref,null,D,f,!0)},T=(f,_,h,M)=>{if(f==null)o(_.el=i(_.children),h,M);else{const x=_.el=f.el;_.children!==f.children&&c(x,_.children)}},P=(f,_,h,M)=>{f==null?o(_.el=l(_.children||""),h,M):_.el=f.el},k=(f,_,h,M)=>{[f.el,f.anchor]=w(f.children,_,h,M,f.el,f.anchor)},y=({el:f,anchor:_},h,M)=>{let x;for(;f&&f!==_;)x=m(f),o(f,h,M),f=x;o(_,h,M)},b=({el:f,anchor:_})=>{let h;for(;f&&f!==_;)h=m(f),a(f),f=h;a(_)},C=(f,_,h,M,x,D,U,K,g)=>{if(_.type==="svg"?U="svg":_.type==="math"&&(U="mathml"),f==null)A(_,h,M,x,D,U,K,g);else{const d=f.el&&f.el._isVueCE?f.el:null;try{d&&d._beginPatch(),S(f,_,x,D,U,K,g)}finally{d&&d._endPatch()}}},A=(f,_,h,M,x,D,U,K)=>{let g,d;const{props:N,shapeFlag:I,transition:G,dirs:B}=f;if(g=f.el=r(f.type,D,N&&N.is,N),I&8?u(g,f.children):I&16&&F(f.children,g,null,M,x,Oa(f,D),U,K),B&&nn(f,null,M,"created"),L(g,f,f.scopeId,U,M),N){for(const R in N)R!=="value"&&!Ln(R)&&s(g,R,null,N[R],D,M);"value"in N&&s(g,"value",null,N.value,D),(d=N.onVnodeBeforeMount)&&_t(d,M,f)}B&&nn(f,null,M,"beforeMount");const E=bg(x,G);E&&G.beforeEnter(g),o(g,_,h),((d=N&&N.onVnodeMounted)||E||B)&&ze(()=>{try{d&&_t(d,M,f),E&&G.enter(g),B&&nn(f,null,M,"mounted")}finally{}},x)},L=(f,_,h,M,x)=>{if(h&&$(f,h),M)for(let D=0;D{for(let d=g;d{const K=_.el=f.el;let{patchFlag:g,dynamicChildren:d,dirs:N}=_;g|=f.patchFlag&16;const I=f.props||ye,G=_.props||ye;let B;if(h&&an(h,!1),(B=G.onVnodeBeforeUpdate)&&_t(B,h,_,f),N&&nn(_,f,h,"beforeUpdate"),h&&an(h,!0),d&&(!f.dynamicChildren||f.dynamicChildren.length!==d.length)&&(g=0,U=!1,d=null),(I.innerHTML&&G.innerHTML==null||I.textContent&&G.textContent==null)&&u(K,""),d?V(f.dynamicChildren,d,K,h,M,Oa(_,x),D):U||W(f,_,K,null,h,M,Oa(_,x),D,!1),g>0){if(g&16)ae(K,I,G,h,x);else if(g&2&&I.class!==G.class&&s(K,"class",null,G.class,x),g&4&&s(K,"style",I.style,G.style,x),g&8){const E=_.dynamicProps;for(let R=0;R{B&&_t(B,h,_,f),N&&nn(_,f,h,"updated")},M)},V=(f,_,h,M,x,D,U)=>{for(let K=0;K<_.length;K++){const g=f[K],d=_[K],N=g.el&&(g.type===Qe||!Wn(g,d)||g.shapeFlag&198)?p(g.el):h;v(g,d,N,null,M,x,D,U,!0)}},ae=(f,_,h,M,x)=>{if(_!==h){if(_!==ye)for(const D in _)!Ln(D)&&!(D in h)&&s(f,D,_[D],null,x,M);for(const D in h){if(Ln(D))continue;const U=h[D],K=_[D];U!==K&&D!=="value"&&s(f,D,K,U,x,M)}"value"in h&&s(f,"value",_.value,h.value,x)}},z=(f,_,h,M,x,D,U,K,g)=>{const d=_.el=f?f.el:i(""),N=_.anchor=f?f.anchor:i("");let{patchFlag:I,dynamicChildren:G,slotScopeIds:B}=_;B&&(K=K?K.concat(B):B),f==null?(o(d,h,M),o(N,h,M),F(_.children||[],h,N,x,D,U,K,g)):I>0&&I&64&&G&&f.dynamicChildren&&f.dynamicChildren.length===G.length?(V(f.dynamicChildren,G,h,x,D,U,K),(_.key!=null||x&&_===x.subTree)&&Qr(f,_,!0)):W(f,_,h,N,x,D,U,K,g)},ee=(f,_,h,M,x,D,U,K,g)=>{_.slotScopeIds=K,f==null?_.shapeFlag&512?x.ctx.activate(_,h,M,U,g):Y(_,h,M,x,D,U,g):O(f,_,g)},Y=(f,_,h,M,x,D,U)=>{const K=f.component=Eg(f,M,x);if(Io(f)&&(K.ctx.renderer=ot),Tg(K,!1,U),K.asyncDep){if(x&&x.registerDep(K,j,U),!f.el){const g=K.subTree=Me(Nt);P(null,g,_,h),f.placeholder=g.el}}else j(K,f,_,h,x,D,U)},O=(f,_,h)=>{const M=_.component=f.component;if(ig(f,_,h))if(M.asyncDep&&!M.asyncResolved){q(M,_,h);return}else M.next=_,M.update();else _.el=f.el,M.vnode=_},j=(f,_,h,M,x,D,U)=>{const K=()=>{if(f.isMounted){let{next:I,bu:G,u:B,parent:E,vnode:R}=f;{const xe=ei(f);if(xe){I&&(I.el=R.el,q(f,I,U)),xe.asyncDep.then(()=>{ze(()=>{f.isUnmounted||d()},x)});return}}let J=I,se;an(f,!1),I?(I.el=R.el,q(f,I,U)):I=R,G&&la(G),(se=I.props&&I.props.onVnodeBeforeUpdate)&&_t(se,E,I,R),an(f,!0);const Se=Kr(f),Ge=f.subTree;f.subTree=Se,v(Ge,Se,p(Ge.el),Ye(Ge),f,x,D),I.el=Se.el,J===null&&lg(f,Se.el),B&&ze(B,x),(se=I.props&&I.props.onVnodeUpdated)&&ze(()=>_t(se,E,I,R),x)}else{let I;const{el:G,props:B}=_,{bm:E,m:R,parent:J,root:se,type:Se}=f,Ge=Un(_);an(f,!1),E&&la(E),!Ge&&(I=B&&B.onVnodeBeforeMount)&&_t(I,J,_),an(f,!0);{se.ce&&se.ce._hasShadowRoot()&&se.ce._injectChildStyle(Se,f.parent?f.parent.type:void 0);const xe=f.subTree=Kr(f);v(null,xe,h,M,f,x,D),_.el=xe.el}if(R&&ze(R,x),!Ge&&(I=B&&B.onVnodeMounted)){const xe=_;ze(()=>_t(I,J,xe),x)}(_.shapeFlag&256||J&&Un(J.vnode)&&J.vnode.shapeFlag&256)&&f.a&&ze(f.a,x),f.isMounted=!0,_=h=M=null}};f.scope.on();const g=f.effect=new Js(K);f.scope.off();const d=f.update=g.run.bind(g),N=f.job=g.runIfDirty.bind(g);N.i=f,N.id=f.uid,g.scheduler=()=>ka(N),an(f,!0),d()},q=(f,_,h)=>{_.component=f;const M=f.vnode.props;f.vnode=_,f.next=null,ug(f,_.props,M,h),fg(f,_.children,h),pt(),_r(f),ft()},W=(f,_,h,M,x,D,U,K,g=!1)=>{const d=f&&f.children,N=f?f.shapeFlag:0,I=_.children,{patchFlag:G,shapeFlag:B}=_;if(G>0){if(G&128){ge(d,I,h,M,x,D,U,K,g);return}else if(G&256){X(d,I,h,M,x,D,U,K,g);return}}B&8?(N&16&&Re(d,x,D),I!==d&&u(h,I)):N&16?B&16?ge(d,I,h,M,x,D,U,K,g):Re(d,x,D,!0):(N&8&&u(h,""),B&16&&F(I,h,M,x,D,U,K,g))},X=(f,_,h,M,x,D,U,K,g)=>{f=f||un,_=_||un;const d=f.length,N=_.length,I=Math.min(d,N);let G;for(G=0;GN?Re(f,x,D,!0,!1,I):F(_,h,M,x,D,U,K,g,I)},ge=(f,_,h,M,x,D,U,K,g)=>{let d=0;const N=_.length;let I=f.length-1,G=N-1;for(;d<=I&&d<=G;){const B=f[d],E=_[d]=g?Pt(_[d]):yt(_[d]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;d++}for(;d<=I&&d<=G;){const B=f[I],E=_[G]=g?Pt(_[G]):yt(_[G]);if(Wn(B,E))v(B,E,h,null,x,D,U,K,g);else break;I--,G--}if(d>I){if(d<=G){const B=G+1,E=BG)for(;d<=I;)pe(f[d],x,D,!0),d++;else{const B=d,E=d,R=new Map;for(d=E;d<=G;d++){const Je=_[d]=g?Pt(_[d]):yt(_[d]);Je.key!=null&&R.set(Je.key,d)}let J,se=0;const Se=G-E+1;let Ge=!1,xe=0;const cn=new Array(Se);for(d=0;d=Se){pe(Je,x,D,!0);continue}let vt;if(Je.key!=null)vt=R.get(Je.key);else for(J=E;J<=G;J++)if(cn[J-E]===0&&Wn(Je,_[J])){vt=J;break}vt===void 0?pe(Je,x,D,!0):(cn[vt-E]=d+1,vt>=xe?xe=vt:Ge=!0,v(Je,_[vt],h,null,x,D,U,K,g),se++)}const Os=Ge?yg(cn):un;for(J=Os.length-1,d=Se-1;d>=0;d--){const Je=E+d,vt=_[Je],wc=_[Je+1],Pc=Je+1{const{el:D,type:U,transition:K,children:g,shapeFlag:d}=f;if(d&6){re(f.component.subTree,_,h,M);return}if(d&128){f.suspense.move(_,h,M);return}if(d&64){U.move(f,_,h,ot);return}if(U===Qe){o(D,_,h);for(let I=0;IK.enter(D),x));else{const{leave:I,delayLeave:G,afterLeave:B}=K,E=()=>{f.ctx.isUnmounted?a(D):o(D,_,h)},R=()=>{const J=D._isLeaving||!!D[Ta];D._isLeaving&&D[Ta](!0),K.persisted&&!J?E():I(D,()=>{E(),B&&B()})};G?G(D,E,R):R()}else o(D,_,h)},pe=(f,_,h,M=!1,x=!1)=>{const{type:D,props:U,ref:K,children:g,dynamicChildren:d,shapeFlag:N,patchFlag:I,dirs:G,cacheIndex:B,memo:E}=f;if(I===-2&&(x=!1),K!=null&&(pt(),Kn(K,null,h,f,!0),ft()),B!=null&&(_.renderCache[B]=void 0),N&256){_.ctx.deactivate(f);return}const R=N&1&&G,J=!Un(f);let se;if(J&&(se=U&&U.onVnodeBeforeUnmount)&&_t(se,_,f),N&6)we(f.component,h,M);else{if(N&128){f.suspense.unmount(h,M);return}R&&nn(f,null,_,"beforeUnmount"),N&64?f.type.remove(f,_,h,ot,M):d&&!d.hasOnce&&(D!==Qe||I>0&&I&64)?Re(d,_,h,!1,!0):(D===Qe&&I&384||!x&&N&16)&&Re(g,_,h),M&&oe(f)}const Se=E!=null&&B==null;(J&&(se=U&&U.onVnodeUnmounted)||R||Se)&&ze(()=>{se&&_t(se,_,f),R&&nn(f,null,_,"unmounted"),Se&&(f.el=null)},h)},oe=f=>{const{type:_,el:h,anchor:M,transition:x}=f;if(_===Qe){le(h,M);return}if(_===Da){b(f);return}const D=()=>{a(h),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(f.shapeFlag&1&&x&&!x.persisted){const{leave:U,delayLeave:K}=x,g=()=>U(h,D);K?K(f.el,D,g):g()}else D()},le=(f,_)=>{let h;for(;f!==_;)h=m(f),a(f),f=h;a(_)},we=(f,_,h)=>{const{bum:M,scope:x,job:D,subTree:U,um:K,m:g,a:d}=f;ti(g),ti(d),M&&la(M),x.stop(),D&&(D.flags|=8,pe(U,f,_,h)),K&&ze(K,_),ze(()=>{f.isUnmounted=!0},_)},Re=(f,_,h,M=!1,x=!1,D=0)=>{for(let U=D;U{if(f.shapeFlag&6)return Ye(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const _=m(f.anchor||f.el),h=_&&_[Mu];return h?m(h):_};let nt=!1;const Zt=(f,_,h)=>{let M;f==null?_._vnode&&(pe(_._vnode,null,null,!0),M=_._vnode.component):v(_._vnode||null,f,_,null,null,null,h),_._vnode=f,nt||(nt=!0,_r(M),Ar(),nt=!1)},ot={p:v,um:pe,m:re,r:oe,mt:Y,mc:F,pc:W,pbc:V,n:Ye,o:e};return{render:Zt,hydrate:void 0,createApp:tg(Zt)}}function Oa({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function an({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function bg(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qr(e,t,n=!1){const o=e.children,a=t.children;if(Z(o)&&Z(a))for(let s=0;s>1,e[n[i]]0&&(t[o]=n[s-1]),n[s]=o)}}for(s=n.length,r=n[s-1];s-- >0;)n[s]=r,r=t[r];return n}function ei(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ei(t)}function ti(e){if(e)for(let t=0;te.__isSuspense;function _g(e,t){t&&t.pendingBranch?Z(e)?t.effects.push(...e):t.effects.push(e):Eu(e)}const Qe=Symbol.for("v-fgt"),Hn=Symbol.for("v-txt"),Nt=Symbol.for("v-cmt"),Da=Symbol.for("v-stc"),sn=[];let Ve=null;function We(e=!1){sn.push(Ve=e?null:[])}function ai(){sn.pop(),Ve=sn[sn.length-1]||null}let Vn=1;function jo(e,t=!1){Vn+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function si(e){return e.dynamicChildren=Vn>0?Ve||un:null,ai(),Vn>0&&Ve&&Ve.push(e),e}function Lt(e,t,n,o,a,s){return si(Ne(e,t,n,o,a,s,!0))}function Bo(e,t,n,o,a){return si(Me(e,t,n,o,a,!0))}function Ko(e){return e?e.__v_isVNode===!0:!1}function Wn(e,t){return e.type===t.type&&e.key===t.key}const ri=({key:e})=>e??null,Uo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ve(e)||ke(e)||te(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Ne(e,t=null,n=null,o=0,a=null,s=e===Qe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ri(t),ref:t&&Uo(t),scopeId:vr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:it};return i?(Go(l,n),s&128&&e.normalize(l)):n&&(l.shapeFlag|=ve(n)?8:16),Vn>0&&!r&&Ve&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ve.push(l),l}const Me=Ag;function Ag(e,t=null,n=null,o=0,a=null,s=!1){if((!e||e===wr)&&(e=Nt),Ko(e)){const i=mn(e,t,!0);return n&&Go(i,n),Vn>0&&!s&&Ve&&(i.shapeFlag&6?Ve[Ve.indexOf(e)]=i:Ve.push(i)),i.patchFlag=-2,i}if(Mg(e)&&(e=e.__vccOpts),t){t=Sg(t);let{class:i,style:l}=t;i&&!ve(i)&&(t.class=wn(i)),fe(l)&&($o(l)&&!Z(l)&&(l=Ee({},l)),t.style=fo(l))}const r=ve(e)?1:oi(e)?128:wo(e)?64:fe(e)?4:te(e)?2:0;return Ne(e,t,n,o,a,r,s,!0)}function Sg(e){return e?$o(e)||Hr(e)?Ee({},e):e:null}function mn(e,t,n=!1,o=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?vg(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ri(c),ref:t&&t.ref?n&&s?Z(s)?s.concat(Uo(t)):[s,Uo(t)]:Uo(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!==Qe?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&&mn(e.ssContent),ssFallback:e.ssFallback&&mn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Ca(u,l.clone(u)),u}function wt(e=" ",t=0){return Me(Hn,null,e,t)}function bn(e="",t=!1){return t?(We(),Bo(Nt,null,e)):Me(Nt,null,e)}function yt(e){return e==null||typeof e=="boolean"?Me(Nt):Z(e)?Me(Qe,null,e.slice()):Ko(e)?Pt(e):Me(Hn,null,String(e))}function Pt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:mn(e)}function Go(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Z(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),Go(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!Hr(t)?t._ctx=it:a===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(te(t)){if(o&65){Go(e,{default:t});return}t={default:t,_ctx:it},n=32}else t=String(t),o&64?(n=16,t=[wt(t)]):n=8;e.children=t,e.shapeFlag|=n}function vg(...e){const t={};for(let n=0;nOe||it;let zo,Yn;{const e=po(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};zo=t("__VUE_INSTANCE_SETTERS__",n=>Oe=n),Yn=t("__VUE_SSR_SETTERS__",n=>yn=n)}const Jn=e=>{const t=Oe;return zo(e),e.scope.on(),()=>{e.scope.off(),zo(t)}},ii=()=>{Oe&&Oe.scope.off(),zo(null)};function li(e){return e.vnode.shapeFlag&4}let yn=!1;function Tg(e,t=!1,n=!1){t&&Yn(t);const{props:o,children:a}=e.vnode,s=li(e);cg(e,o,s,t),pg(e,a,n||t);const r=s?Cg(e,t):void 0;return t&&Yn(!1),r}function Cg(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Wu);const{setup:o}=n;if(o){pt();const a=e.setupContext=o.length>1?Lg(e):null,s=Jn(e),r=pn(o,e,0,[e.props,a]),i=js(r);if(ft(),s(),(i||e.sp)&&!Un(e)&&Na(e),i){if(r.then(ii,ii),t)return r.then(l=>{Yn(!0);try{ci(e,l,t)}finally{Yn(!1)}}).catch(l=>{xn(l,e,0)});e.asyncDep=r}else ci(e,r)}else ui(e)}function ci(e,t,n){te(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=hr(t)),ui(e)}function ui(e,t,n){const o=e.type;e.render||(e.render=o.render||gt);{const a=Jn(e);pt();try{Yu(e)}finally{ft(),a()}}}const Ng={get(e,t){return je(e,"get",""),e[t]}};function Lg(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ng),slots:e.slots,emit:e.emit,expose:t}}function xa(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hr(On(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in zn)return zn[n](e)},has(t,n){return n in t||n in zn}})):e.proxy}const wg=/(?:^|[-_])\w/g,Pg=e=>e.replace(wg,t=>t.toUpperCase()).replace(/[-_]/g,"");function gi(e,t=!0){return te(e)?e.displayName||e.name:e.name||t&&e.__name}function di(e,t,n=!1){let o=gi(t);if(!o&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(o=a[1])}if(!o&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};o=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return o?Pg(o):n?"App":"Anonymous"}function Mg(e){return te(e)&&"__vccOpts"in e}const be=(e,t)=>mu(e,t,yn);function pi(e,t,n){try{jo(-1);const o=arguments.length;return o===2?fe(t)&&!Z(t)?Ko(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ko(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Ig="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let ja;const pr=typeof window<"u"&&window.trustedTypes;if(pr)try{ja=pr.createPolicy("vue",{createHTML:e=>e})}catch{}const hr=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Dg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mr=It&&It.createElement("template"),Fg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Dg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const i=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{mr.innerHTML=hr(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const r=mr.content;if(o==="svg"||o==="mathml"){const l=r.firstChild;for(;l.firstChild;)r.appendChild(l.firstChild);r.removeChild(l)}t.insertBefore(r,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Og=Symbol("_vtc");function xg(e,t,n){const o=e[Og];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const br=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const i of t.split(";")){const r=i.slice(0,i.indexOf(":")).trim();n[r]==null&&Xn(o,r,"")}else for(const i in t)n[i]==null&&Xn(o,i,"");for(const i in n){i==="display"&&(s=!0);const r=n[i];r!=null?zg(e,i,!ve(t)&&t?t[i]:void 0,r)||Xn(o,i,r):Xn(o,i,"")}}else if(a){if(t!==n){const i=o[Bg];i&&(n+=";"+i),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");br in e&&(e[br]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const _r=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;a<_r.length;a++){const s=_r[a]+o;if(s in e)return Ba[t]=s}return t}function zg(e,t,n,o){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ve(o)&&n===o}const yr="http://www.w3.org/1999/xlink";function Ar(e,t,n,o,a,s=Uc(t)){o&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(yr,t.slice(6,t.length)):e.setAttributeNS(yr,t,n):n==null||s&&!zs(n)?e.removeAttribute(t):e.setAttribute(t,s?"":Xe(n)?String(n):n)}function Sr(e,t,n,o,a){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?hr(n):n);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const r=s==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(r!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const r=typeof e[t];r==="boolean"?n=zs(n):n==null&&r==="string"?(n="",i=!0):r==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(a||t)}function qg(e,t,n,o){e.addEventListener(t,n,o)}function Hg(e,t,n,o){e.removeEventListener(t,n,o)}const vr=Symbol("_vei");function Vg(e,t,n,o,a=null){const s=e[vr]||(e[vr]={}),i=s[t];if(o&&i)i.value=o;else{const[r,l]=Jg(t);if(o){const c=s[t]=Qg(o,a);qg(e,r,c,l)}else i&&(Hg(e,r,i,l),s[t]=void 0)}}const Wg=/(Once|Passive|Capture)$/,Yg=/^on:?(?:Once|Passive|Capture)$/;function Jg(e){let t,n;for(;(n=e.match(Wg))&&!Yg.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ze(e.slice(2)),t]}let Ka=0;const Xg=Promise.resolve(),Zg=()=>Ka||(Xg.then(()=>Ka=0),Ka=Date.now());function Qg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const i=a.slice(),r=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ed=(e,t,n,o,a,s)=>{const i=a==="svg";t==="class"?xg(e,o,i):t==="style"?Ug(e,n,o):so(t)?io(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,i))?(Sr(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,o,i,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Sr(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ar(e,t,o,i))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&kr(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return kr(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const Tr={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(i){super(o,i,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Lr){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Lr?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Co(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:i}=o;let r;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(r||(r=Object.create(null)))[Pe(l)]=!0)}this._numberProps=r,this._resolveProps(o),this.shadowRoot&&this._applyStyles(i),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)de(this,o)||Object.defineProperty(this,o,{get:()=>To(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(Pe))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 n=this.hasAttribute(t);let o=n?this.getAttribute(t):Tr;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===Tr?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),id(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,i)=>{this.dispatchEvent(new CustomEvent(s,lo(i[0])?Ee({detail:i},i[0]):{detail:i}))};o.emit=(s,...i)=>{a(s,i),Ze(s)!==s&&a(Ze(s),i)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,i=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let r=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,r||i),r=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{$r().render(...e)},Lr=(...e)=>{const t=$r().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=n(a,!1,rd(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t};function rd(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! +**/let ja;const fi=typeof window<"u"&&window.trustedTypes;if(fi)try{ja=fi.createPolicy("vue",{createHTML:e=>e})}catch{}const hi=ja?e=>ja.createHTML(e):e=>e,Rg="http://www.w3.org/2000/svg",Fg="http://www.w3.org/1998/Math/MathML",It=typeof document<"u"?document:null,mi=It&&It.createElement("template"),Og={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?It.createElementNS(Rg,e):t==="mathml"?It.createElementNS(Fg,e):n?It.createElement(e,{is:n}):It.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>It.createTextNode(e),createComment:e=>It.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>It.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,s){const r=n?n.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===s||!(a=a.nextSibling)););else{mi.innerHTML=hi(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=mi.content;if(o==="svg"||o==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Dg=Symbol("_vtc");function xg(e,t,n){const o=e[Dg];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const bi=Symbol("_vod"),jg=Symbol("_vsh"),Bg=Symbol(""),Kg=/(?:^|;)\s*display\s*:/;function Ug(e,t,n){const o=e.style,a=ve(n);let s=!1;if(n&&!a){if(t)if(ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();n[i]==null&&Xn(o,i,"")}else for(const r in t)n[r]==null&&Xn(o,r,"");for(const r in n){r==="display"&&(s=!0);const i=n[r];i!=null?zg(e,r,!ve(t)&&t?t[r]:void 0,i)||Xn(o,r,i):Xn(o,r,"")}}else if(a){if(t!==n){const r=o[Bg];r&&(n+=";"+r),o.cssText=n,s=Kg.test(n)}}else t&&e.removeAttribute("style");bi in e&&(e[bi]=s?o.display:"",e[jg]&&(o.display="none"))}const qo=/\s*!important$/;function Xn(e,t,n){if(Z(n))n.forEach(o=>Xn(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))qo.test(n)?e.setProperty(t,n.replace(qo,""),"important"):e.setProperty(t,n);else{const o=Gg(e,t);qo.test(n)?e.setProperty(Ze(o),n.replace(qo,""),"important"):e[o]=n}}const yi=["Webkit","Moz","ms"],Ba={};function Gg(e,t){const n=Ba[t];if(n)return n;let o=Pe(t);if(o!=="filter"&&o in e)return Ba[t]=o;o=go(o);for(let a=0;aKa||(Xg.then(()=>Ka=0),Ka=Date.now());function Qg(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;const a=n.value;if(Z(a)){const s=o.stopImmediatePropagation;o.stopImmediatePropagation=()=>{s.call(o),o._stopped=!0};const r=a.slice(),i=[o];for(let l=0;le.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ed=(e,t,n,o,a,s)=>{const r=a==="svg";t==="class"?xg(e,o,r):t==="style"?Ug(e,n,o):so(t)?ro(t)||Vg(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):td(e,t,o,r))?(Si(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ai(e,t,o,r,s,t!=="value")):e._isVueCE&&(nd(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ve(o)))?Si(e,Pe(t),o,s,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Ai(e,t,o,r))};function td(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&$i(t)&&te(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return $i(t)&&ve(n)?!1:t in e}function nd(e,t){const n=e._def.props;if(!n)return!1;const o=Pe(t);return Array.isArray(n)?n.some(a=>Pe(a)===o):Object.keys(n).some(a=>Pe(a)===o)}const ki={};function od(e,t,n){let o=Bn(e,t);lo(o)&&(o=Ee({},o,t));class a extends Ua{constructor(r){super(o,r,n)}}return a.def=o,a}const ad=typeof HTMLElement<"u"?HTMLElement:class{};class Ua extends ad{constructor(t,n={},o=Ci){super(),this._def=t,this._props=n,this._createApp=o,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&o!==Ci?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Ee({},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 Ua){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,No(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const n of t)this._setAttr(n.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let o=0;o{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=o;let i;if(s&&!Z(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=Us(this._props[l])),(i||(i=Object.create(null)))[Pe(l)]=!0)}this._numberProps=i,this._resolveProps(o),this.shadowRoot&&this._applyStyles(r),this._mount(o)},n=this._def.__asyncLoader;if(n)return this._pendingResolve=n().then(o=>{o.configureApp=this._def.configureApp,t(this._def=o,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const n=this._instance&&this._instance.exposed;if(n)for(const o in n)de(this,o)||Object.defineProperty(this,o,{get:()=>ko(n[o])})}_resolveProps(t){const{props:n}=t,o=Z(n)?n:Object.keys(n||{});for(const a of Object.keys(this))a[0]!=="_"&&o.includes(a)&&this._setProp(a,this[a]);for(const a of o.map(Pe))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 n=this.hasAttribute(t);let o=n?this.getAttribute(t):ki;const a=Pe(t);n&&this._numberProps&&this._numberProps[a]&&(o=Us(o)),this._setProp(a,o,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,n,o=!0,a=!1){if(n!==this._props[t]&&(this._dirty=!0,n===ki?delete this._props[t]:(this._props[t]=n,t==="key"&&this._app&&(this._app._ceVNode.key=n)),a&&this._instance&&this._update(),o)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),n===!0?this.setAttribute(Ze(t),""):typeof n=="string"||typeof n=="number"?this.setAttribute(Ze(t),n+""):n||this.removeAttribute(Ze(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),rd(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const n=Me(this._def,Ee(t,this._props));return this._instance||(n.ce=o=>{this._instance=o,o.ce=this,o.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,lo(r[0])?Ee({detail:r},r[0]):{detail:r}))};o.emit=(s,...r)=>{a(s,r),Ze(s)!==s&&a(Ze(s),r)},this._setParent()}),n}_applyStyles(t,n,o){if(!t)return;if(n){if(n===this._def||this._styleChildren.has(n))return;this._styleChildren.add(n)}const a=this._nonce,s=this.shadowRoot,r=o?this._getStyleAnchor(o)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(o||this._styleAnchors.set(this._def,c),n&&this._styleAnchors.set(n,c))}}_getStyleAnchor(t){if(!t)return null;const n=this._styleAnchors.get(t);return n&&n.parentNode===this.shadowRoot?n:(n&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let n=0;n{Ti().render(...e)},Ci=(...e)=>{const t=Ti().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=ld(o);if(!a)return;const s=t._component;!te(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=n(a,!1,id(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function id(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ld(e){return ve(e)?document.querySelector(e):e}/*! * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Cr;const Ho=e=>Cr=e,wr=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=Fn({install(s){Ho(a),a._a=s,s.provide(wr,a),s.config.globalProperties.$pinia=a,o.forEach(i=>n.push(i)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const Nr=()=>{};function Pr(e,t,n,o=Nr){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function yn(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mr=Symbol(),za=Symbol();function qa(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!Te(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function fd(e){return!!(Te(e)&&e.effect)}function pd(e,t,n,o){const{state:a,actions:s,getters:i}=t,r=n.state.value[e];let l;function c(){r||(n.state.value[e]=a?a():{});const u=du(n.state.value[e]);return Gt(u,s,Object.keys(i||{}).reduce((f,m)=>(f[m]=Fn(be(()=>{Ho(n);const k=n._s.get(e);return i[m].call(k,k)})),f),{}))}return l=Ir(e,c,t,n,o,!0),l}function Ir(e,t,n={},o,a,s){let i;const r=Gt({actions:{}},n),l={deep:!0};let c,u,f=[],m=[],k;const N=o.state.value[e];!s&&!N&&(o.state.value[e]={});let v;function $(D){let S;c=u=!1,typeof D=="function"?(D(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:k}):(qa(o.state.value[e],D),S={type:Zn.patchObject,payload:D,storeId:e,events:k});const V=v=Symbol();Co().then(()=>{v===V&&(c=!0)}),u=!0,yn(f,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:Nr;function T(){i.stop(),f=[],m=[],o._s.delete(e)}const _=(D,S="")=>{if(Mr in D)return D[za]=S,D;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function F(q){ee.push(q)}yn(m,{args:ae,name:V[za],store:L,after:Y,onError:F});let j;try{j=D.apply(this&&this.$id===e?this:L,ae)}catch(q){throw yn(ee,q),q}return j instanceof Promise?j.then(q=>(yn(z,q),q)).catch(q=>(yn(ee,q),Promise.reject(q))):(yn(z,j),j)};return V[Mr]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pr.bind(null,m),$patch:$,$reset:P,$subscribe(D,S={}){const V=Pr(f,D,S.detached,()=>ae()),ae=i.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&D({storeId:e,type:Zn.direct,events:k},z)},Gt({},l,S)));return V},$dispose:T},L=So(b);o._s.set(e,L);const w=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(i=ua()).run(()=>t({action:_}))));for(const D in w){const S=w[D];if(Te(S)&&!fd(S)||Et(S))s||(N&&dd(S)&&(Te(S)?S.value=N[D]:qa(S,N[D])),o.state.value[e][D]=S);else if(typeof S=="function"){const V=_(S,D);w[D]=V,r.actions[D]=S}}return Gt(L,w),Gt(ce(L),w),Object.defineProperty(L,"$state",{get:()=>o.state.value[e],set:D=>{$(S=>{Gt(S,D)})}}),o._p.forEach(D=>{Gt(L,i.run(()=>D({store:L,app:o._a,pinia:o,options:r})))}),N&&s&&n.hydrate&&n.hydrate(L.$state,N),c=!0,u=!0,L}/*! #__NO_SIDE_EFFECTS__ */function Ha(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function i(r,l){const c=Lu();return r=r||(c?De(wr,null):null),r&&Ho(r),r=Cr,r._s.has(o)||(s?Ir(o,t,a,r):pd(o,a,r)),r._s.get(o)}return i.$id=o,i}const Va="__doxaMapToken",Wa="doxa:map-token",Rr="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Dr(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Rr])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Dr(t)}}),window[Rr]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Do(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Du({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const _d={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},yd={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},kd={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Td={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},$d={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Ld={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Cd={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Nd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Pd={menuComingSoon:"Menü folgt in Kürze"},Md={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Id={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Rd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Fd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Od={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},xd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},jd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Bd={menuComingSoon:"Menu coming soon"},Kd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Ud={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Gd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},qd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Hd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Vd={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"},Wd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Yd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Jd={menuComingSoon:"Menú próximamente"},Xd={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Zd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},Qd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},ef={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},tf={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},nf={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"},of={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},af={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},sf={menuComingSoon:"Menu bientôt disponible"},rf={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},lf={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},cf={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},uf={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gf={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},df={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:"साझा करें और एम्बेड करें"},pf={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},hf={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},mf={menuComingSoon:"मेनू शीघ्र आ रहा है"},bf={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},_f={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},yf={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Af={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Sf={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"},vf={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},kf={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Tf={menuComingSoon:"Menu in arrivo"},Ef={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},$f={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Lf={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Cf={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},wf={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"},Nf={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Pf={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Mf={menuComingSoon:"Menu em breve"},If={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Rf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Df={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Ff={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Of={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},xf={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ă"},jf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Bf={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Kf={menuComingSoon:"Meniu în curând"},Uf={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Gf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},zf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qf={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Hf={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Vf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Wf={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Yf={menuComingSoon:"Меню скоро появится"},Jf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Xf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Zf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},Qf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},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:"分享与嵌入"},np={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},op={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},ap={menuComingSoon:"菜单即将推出"},sp={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ip={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},rp={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ni;const Ho=e=>Ni=e,Li=Symbol();function Ga(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Zn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Zn||(Zn={}));function cd(){const e=ua(!0),t=e.run(()=>he({}));let n=[],o=[];const a=On({install(s){Ho(a),a._a=s,s.provide(Li,a),s.config.globalProperties.$pinia=a,o.forEach(r=>n.push(r)),o=[]},use(s){return this._a?n.push(s):o.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return a}const wi=()=>{};function Pi(e,t,n,o=wi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),o())};return!n&&Ys()&&zc(a),a}function _n(e,...t){e.slice().forEach(n=>{n(...t)})}const ud=e=>e(),Mi=Symbol(),za=Symbol();function qa(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,o)=>e.set(o,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const o=t[n],a=e[n];Ga(a)&&Ga(o)&&e.hasOwnProperty(n)&&!ke(o)&&!Et(o)?e[n]=qa(a,o):e[n]=o}return e}const gd=Symbol();function dd(e){return!Ga(e)||!e.hasOwnProperty(gd)}const{assign:Gt}=Object;function pd(e){return!!(ke(e)&&e.effect)}function fd(e,t,n,o){const{state:a,actions:s,getters:r}=t,i=n.state.value[e];let l;function c(){i||(n.state.value[e]=a?a():{});const u=du(n.state.value[e]);return Gt(u,s,Object.keys(r||{}).reduce((p,m)=>(p[m]=On(be(()=>{Ho(n);const $=n._s.get(e);return r[m].call($,$)})),p),{}))}return l=Ii(e,c,t,n,o,!0),l}function Ii(e,t,n={},o,a,s){let r;const i=Gt({actions:{}},n),l={deep:!0};let c,u,p=[],m=[],$;const w=o.state.value[e];!s&&!w&&(o.state.value[e]={});let v;function T(F){let S;c=u=!1,typeof F=="function"?(F(o.state.value[e]),S={type:Zn.patchFunction,storeId:e,events:$}):(qa(o.state.value[e],F),S={type:Zn.patchObject,payload:F,storeId:e,events:$});const V=v=Symbol();No().then(()=>{v===V&&(c=!0)}),u=!0,_n(p,S,o.state.value[e])}const P=s?function(){const{state:S}=n,V=S?S():{};this.$patch(ae=>{Gt(ae,V)})}:wi;function k(){r.stop(),p=[],m=[],o._s.delete(e)}const y=(F,S="")=>{if(Mi in F)return F[za]=S,F;const V=function(){Ho(o);const ae=Array.from(arguments),z=[],ee=[];function Y(q){z.push(q)}function O(q){ee.push(q)}_n(m,{args:ae,name:V[za],store:C,after:Y,onError:O});let j;try{j=F.apply(this&&this.$id===e?this:C,ae)}catch(q){throw _n(ee,q),q}return j instanceof Promise?j.then(q=>(_n(z,q),q)).catch(q=>(_n(ee,q),Promise.reject(q))):(_n(z,j),j)};return V[Mi]=!0,V[za]=S,V},b={_p:o,$id:e,$onAction:Pi.bind(null,m),$patch:T,$reset:P,$subscribe(F,S={}){const V=Pi(p,F,S.detached,()=>ae()),ae=r.run(()=>Ut(()=>o.state.value[e],z=>{(S.flush==="sync"?u:c)&&F({storeId:e,type:Zn.direct,events:$},z)},Gt({},l,S)));return V},$dispose:k},C=So(b);o._s.set(e,C);const L=(o._a&&o._a.runWithContext||ud)(()=>o._e.run(()=>(r=ua()).run(()=>t({action:y}))));for(const F in L){const S=L[F];if(ke(S)&&!pd(S)||Et(S))s||(w&&dd(S)&&(ke(S)?S.value=w[F]:qa(S,w[F])),o.state.value[e][F]=S);else if(typeof S=="function"){const V=y(S,F);L[F]=V,i.actions[F]=S}}return Gt(C,L),Gt(ce(C),L),Object.defineProperty(C,"$state",{get:()=>o.state.value[e],set:F=>{T(S=>{Gt(S,F)})}}),o._p.forEach(F=>{Gt(C,r.run(()=>F({store:C,app:o._a,pinia:o,options:i})))}),w&&s&&n.hydrate&&n.hydrate(C.$state,w),c=!0,u=!0,C}/*! #__NO_SIDE_EFFECTS__ */function Ha(e,t,n){let o,a;const s=typeof t=="function";typeof e=="string"?(o=e,a=s?n:t):(a=e,o=e.id);function r(i,l){const c=Cu();return i=i||(c?Fe(Li,null):null),i&&Ho(i),i=Ni,i._s.has(o)||(s?Ii(o,t,a,i):fd(o,a,i)),i._s.get(o)}return r.$id=o,r}const Va="__doxaMapToken",Wa="doxa:map-token",Ri="__doxaMapTokenBridge",An=()=>{if(typeof window>"u")return"";const e=window[Va];return typeof e=="string"?e:""};function Fi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===An())return An();window[Va]=t;try{window.dispatchEvent(new CustomEvent(Wa,{detail:t}))}catch{}return t}function hd(){if(typeof window>"u"||window[Ri])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!An()&&(window[Va]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return An()},set(t){Fi(t)}}),window[Ri]=!0}catch{}}function md(){hd();const e=he(An());if(typeof window<"u"){const t=()=>{e.value=An()};window.addEventListener(Wa,t);try{Fo(()=>window.removeEventListener(Wa,t))}catch{}}return e}function bd(e){return Fu({loader:e,onError(t,n,o,a){a<=3?setTimeout(n,a*500):o()}})}const yd={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},_d={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},Ad={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Sd={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vd={menuComingSoon:"القائمة قادمة قريباً"},$d={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},kd={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Ed={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Td={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Cd={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},Nd={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Ld={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"},wd={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Pd={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Md={menuComingSoon:"Menü folgt in Kürze"},Id={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Rd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Fd={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","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","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","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.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Od={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Dd={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},xd={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},jd={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Bd={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Kd={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Ud={menuComingSoon:"Menu coming soon"},Gd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},zd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},qd={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Hd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Vd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Wd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Yd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Jd={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"},Xd={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Zd={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Qd={menuComingSoon:"Menú próximamente"},ep={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},tp={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},np={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},op={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},ap={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},sp={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},rp={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"},ip={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},lp={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},cp={menuComingSoon:"Menu bientôt disponible"},up={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},gp={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},dp={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},pp={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},fp={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},hp={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},mp={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},bp={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},yp={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},_p={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},Ap={menuComingSoon:"मेनू शीघ्र आ रहा है"},Sp={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vp={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},$p={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},kp={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},Ep={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Tp={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"},Cp={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Np={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Lp={menuComingSoon:"Menu in arrivo"},wp={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Pp={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Mp={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Ip={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Rp={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"},Fp={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Op={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Dp={menuComingSoon:"Menu em breve"},xp={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},jp={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Bp={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Kp={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Up={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},Gp={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},zp={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ă"},qp={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Hp={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Vp={menuComingSoon:"Meniu în curând"},Wp={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Yp={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Jp={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},Xp={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Zp={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Qp={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},ef={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},tf={menuComingSoon:"Меню скоро появится"},nf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},of={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},af={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},sf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},rf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},lf={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},cf={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},uf={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},gf={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},df={menuComingSoon:"菜单即将推出"},pf={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},ff={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hf={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function lp(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),cp=(e,t,n)=>up({l:e,k:t,s:n}),up=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),$e=e=>typeof e=="number"&&isFinite(e),gp=e=>Br(e)==="[object Date]",qt=e=>Br(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,Oe=Object.assign,dp=Object.create,me=(e=null)=>dp(e);let Fr;const Rt=()=>Fr||(Fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Or(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xr(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function fp(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xr(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xr(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const pp=Object.prototype.hasOwnProperty;function lt(e,t){return pp.call(e,t)}const ke=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",re=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",hp=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),jr=Object.prototype.toString,Br=e=>jr.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},mp=e=>e==null?"":ke(e)||ne(e)&&e.toString===jr?JSON.stringify(e,null,2):String(e);function bp(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||ke(e);function Xo(e,t){if(Jo(e)||Jo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! + */function mf(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Vo=typeof window<"u",zt=(e,t=!1)=>t?Symbol.for(e):Symbol(e),bf=(e,t,n)=>yf({l:e,k:t,s:n}),yf=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Te=e=>typeof e=="number"&&isFinite(e),_f=e=>Bi(e)==="[object Date]",qt=e=>Bi(e)==="[object RegExp]",Wo=e=>ne(e)&&Object.keys(e).length===0,De=Object.assign,Af=Object.create,me=(e=null)=>Af(e);let Oi;const Rt=()=>Oi||(Oi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:me());function Di(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function Sf(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(o,a,s)=>`${a}="${xi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(o,a,s)=>`${a}='${xi(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(o=>{e=e.replace(o,"$1javascript:")}),e}const vf=Object.prototype.hasOwnProperty;function lt(e,t){return vf.call(e,t)}const $e=Array.isArray,Ae=e=>typeof e=="function",H=e=>typeof e=="string",ie=e=>typeof e=="boolean",ue=e=>e!==null&&typeof e=="object",$f=e=>ue(e)&&Ae(e.then)&&Ae(e.catch),ji=Object.prototype.toString,Bi=e=>ji.call(e),ne=e=>{if(!ue(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},kf=e=>e==null?"":$e(e)||ne(e)&&e.toString===ji?JSON.stringify(e,null,2):String(e);function Ef(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}function Yo(e){let t=e;return()=>++t}const Jo=e=>!ue(e)||$e(e);function Xo(e,t){if(Jo(e)||Jo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:o,des:a}=n.pop();Object.keys(o).forEach(s=>{s!=="__proto__"&&(ue(o[s])&&!ue(a[s])&&(a[s]=Array.isArray(o[s])?[]:me()),Jo(a[s])||Jo(o[s])?a[s]=o[s]:n.push({src:o[s],des:a[s]}))})}}/*! * message-compiler v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function _p(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const yp=/\{([0-9a-zA-Z]+)\}/g;function Kr(e,...t){return t.length===1&&Ap(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(yp,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ur=Object.assign,Gr=e=>typeof e=="string",Ap=e=>e!==null&&typeof e=="object";function zr(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Sp={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function vp(e,t,...n){const o=Kr(Sp[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},kp={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,i=Kr((a||kp)[e]||"",...s||[]),r=new SyntaxError(String(i));return r.code=e,t&&(r.location=t),r.domain=o,r}function Tp(e){throw e}const Dt=" ",Ep="\r",Ue=` -`,$p="\u2028",Lp="\u2029";function Cp(e){const t=e;let n=0,o=1,a=1,s=0;const i=w=>t[w]===Ep&&t[w+1]===Ue,r=w=>t[w]===Ue,l=w=>t[w]===Lp,c=w=>t[w]===$p,u=w=>i(w)||r(w)||l(w)||c(w),f=()=>n,m=()=>o,k=()=>a,N=()=>s,v=w=>i(w)||l(w)||c(w)?Ue:t[w],$=()=>v(n),P=()=>v(n+s);function T(){return s=0,u(n)&&(o++,a=0),i(n)&&n++,n++,a++,t[n]}function _(){return i(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function L(w=0){s=w}function A(){const w=n+s;for(;w!==n;)T();s=0}return{index:f,line:m,column:k,peekOffset:N,charAt:v,currentChar:$,currentPeek:P,next:T,peek:_,reset:b,resetPeek:L,skipToPeek:A}}const Ht=void 0,wp=".",qr="'",Np="tokenizer";function Pp(e,t={}){const n=t.location!==!1,o=Cp(e),a=()=>o.index(),s=()=>_p(o.line(),o.column(),o.index()),i=s(),r=a(),l={currentType:14,offset:r,startLoc:i,endLoc:i,lastType:14,lastOffset:r,lastStartLoc:i,lastEndLoc:i,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function f(g,d,C,...I){const G=c();if(d.column+=C,d.offset+=C,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:Np,args:I});u(E)}}function m(g,d,C){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),C!=null&&(I.value=C),I}const k=g=>m(g,14);function N(g,d){return g.currentChar()===d?(g.next(),d):(f(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Dt||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function $(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function T(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function _(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=T(I);return g.resetPeek(),G}function L(g,d){const{currentType:C}=d;if(C!==2)return!1;v(g);const I=g.currentPeek()===qr;return g.resetPeek(),I}function A(g,d){const{currentType:C}=d;if(C!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function w(g,d){const{currentType:C}=d;if(C!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function D(g,d){const{currentType:C}=d;if(!(C===8||C===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:C}=d;if(C!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Dt||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),C=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:C,hasSpace:d.length>0}}function z(g,d=!0){const C=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),C(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Dt||B===Ue):R===Dt?(g.peek(),C(!0,Dt,E)):R===Ue?(g.peek(),C(!0,Ue,E)):!0},I=C();return d&&g.resetPeek(),I}function ee(g,d){const C=g.currentChar();return C===Ht?Ht:d(C)?(g.next(),C):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function F(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function ie(g){return ee(g,ge)}function fe(g){let d="",C="";for(;d=X(g);)C+=d;return C}function oe(g){$(g);const d=g.currentChar();return d!=="%"&&f(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const C=g.currentChar();if(C==="{"||C==="}"||C==="@"||C==="|"||!C)break;if(C==="%")if(z(g))d+=C,g.next();else break;else if(C===Dt||C===Ue)if(z(g))d+=C,g.next();else{if(V(g))break;d+=C,g.next()}else d+=C,g.next()}return d}function Ne(g){$(g);let d="",C="";for(;d=q(g);)C+=d;return g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C}function Re(g){$(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${fe(g)}`):d+=fe(g),g.currentChar()===Ht&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qr&&g!==Ue}function nt(g){$(g),N(g,"'");let d="",C="";for(;d=ee(g,Ye);)d==="\\"?C+=Zt(g):C+=d;const I=g.currentChar();return I===Ue||I===Ht?(f(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),N(g,"'")),C):(N(g,"'"),C)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return f(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,C){N(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Dt?C:(C+=I,g.next(),d(C))};return d("")}function M(g){$(g);const d=N(g,"|");return $(g),d}function x(g,d){let C=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&f(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),C=m(d,2,"{"),$(g),d.braceNest++,C;case"}":return d.braceNest>0&&d.currentType===2&&f(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),C=m(d,3,"}"),d.braceNest--,d.braceNest>0&&$(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),C;case"@":return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=O(g,d)||k(d),d.braceNest=0,C;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return f(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=_(g,d))return C=m(d,5,Ne(g)),$(g),C;if(B=b(g,d))return C=m(d,6,Re(g)),$(g),C;if(E=L(g,d))return C=m(d,7,nt(g)),$(g),C;if(!G&&!B&&!E)return C=m(d,13,p(g)),f(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,C.value),$(g),C;break}}return C}function O(g,d){const{currentType:C}=d;let I=null;const G=g.currentChar();switch((C===8||C===9||C===12||C===10)&&(G===Ue||G===Dt)&&f(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return $(g),g.next(),m(d,9,".");case":":return $(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||D(g,d)?($(g),O(g,d)):w(g,d)?($(g),m(d,12,y(g))):S(g,d)?($(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(C===8&&f(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let C={type:14};if(d.braceNest>0)return x(g,d)||k(d);if(d.inLinked)return O(g,d)||k(d);switch(g.currentChar()){case"{":return x(g,d)||k(d);case"}":return f(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return O(g,d)||k(d);default:{if(V(g))return C=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,C;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return C}function K(){const{currentType:g,offset:d,startLoc:C,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=C,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Mp="parser",Ip=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Rp(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Dp(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,n){const S=t?Zo(L,D):null,V=Sn(b,S,{domain:Mp,args:w});n(V)}}function s(_,b,L,A,...w){const D=_.currentPosition();if(D.offset+=A,D.column+=A,o){const S=t?Zo(L,D):null;o(vp(b,S,w))}}function i(_,b,L){const A={type:_};return t&&(A.start=b,A.end=b,A.loc={start:L,end:L}),A}function r(_,b,L,A){t&&(_.end=b,_.loc&&(_.loc.end=L))}function l(_,b){const L=_.context(),A=i(3,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function c(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(5,A,w);return D.index=parseInt(b,10),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function u(_,b,L){const A=_.context(),{lastOffset:w,lastStartLoc:D}=A,S=i(4,w,D);return S.key=b,L===!0&&(S.modulo=!0),_.nextToken(),r(S,_.currentOffset(),_.currentPosition()),S}function f(_,b){const L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(9,A,w);return D.value=b.replace(Ip,Rp),_.nextToken(),r(D,_.currentOffset(),_.currentPosition()),D}function m(_){const b=_.nextToken(),L=_.context(),{lastOffset:A,lastStartLoc:w}=L,D=i(8,A,w);return b.type!==12?(a(_,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,L.lastStartLoc,0),D.value="",r(D,A,w),{nextConsumeToken:b,node:D}):(b.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,ct(b)),D.value=b.value||"",r(D,_.currentOffset(),_.currentPosition()),{node:D})}function k(_,b){const L=_.context(),A=i(7,L.offset,L.startLoc);return A.value=b,r(A,_.currentOffset(),_.currentPosition()),A}function N(_){const b=_.context(),L=i(6,b.offset,b.startLoc);let A=_.nextToken();if(A.type===9){const w=m(_);L.modifier=w.node,A=w.nextConsumeToken||_.nextToken()}switch(A.type!==10&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=_.nextToken(),A.type===2&&(A=_.nextToken()),A.type){case 11:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=k(_,A.value||"");break;case 5:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=u(_,A.value||"");break;case 6:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=c(_,A.value||"");break;case 7:A.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),L.key=f(_,A.value||"");break;default:{a(_,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const w=_.context(),D=i(7,w.offset,w.startLoc);return D.value="",r(D,w.offset,w.startLoc),L.key=D,r(L,w.offset,w.startLoc),{nextConsumeToken:A,node:L}}}return r(L,_.currentOffset(),_.currentPosition()),{node:L}}function v(_){const b=_.context(),L=b.currentType===1?_.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,w=i(2,L,A);w.items=[];let D=null,S=null;do{const z=D||_.nextToken();switch(D=null,z.type){case 0:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(l(_,z.value||""));break;case 6:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(c(_,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(u(_,z.value||"",!!S)),S&&(s(_,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(_,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),w.items.push(f(_,z.value||""));break;case 8:{const ee=N(_);w.items.push(ee.node),D=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:_.currentOffset(),ae=b.currentType===1?b.lastEndLoc:_.currentPosition();return r(w,V,ae),w}function $(_,b,L,A){const w=_.context();let D=A.items.length===0;const S=i(1,b,L);S.cases=[],S.cases.push(A);do{const V=v(_);D||(D=V.items.length===0),S.cases.push(V)}while(w.currentType!==14);return D&&a(_,Q.MUST_HAVE_MESSAGES_IN_PLURAL,L,0),r(S,_.currentOffset(),_.currentPosition()),S}function P(_){const b=_.context(),{offset:L,startLoc:A}=b,w=v(_);return b.currentType===14?w:$(_,L,A,w)}function T(_){const b=Pp(_,Ur({},e)),L=b.context(),A=i(0,L.offset,L.startLoc);return t&&A.loc&&(A.loc.source=_),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(_)),L.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,L.lastStartLoc,0,_[L.offset]||""),r(A,b.currentOffset(),b.currentPosition()),A}return{parse:T}}function ct(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 Fp(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hr(e,t){for(let n=0;nVr(n)),e}function Vr(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;ni;function l(v,$){i.code+=v}function c(v,$=!0){const P=$?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const $=++i.indentLevel;v&&c($)}function f(v=!0){const $=--i.indentLevel;v&&c($)}function m(){c(i.indentLevel)}return{context:r,push:l,indent:u,deindent:f,newline:m,helper:v=>`_${v}`,needIndent:()=>i.needIndent}}function Up(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),kn(e,t.key),t.modifier?(e.push(", "),kn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Gp(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Gr(t.mode)?t.mode:"normal",o=Gr(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,s=t.needIndent?t.needIndent:n!=="arrow",i=e.helpers||[],r=Kp(e,{filename:o,breakLineCode:a,needIndent:s});r.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),r.indent(s),i.length>0&&(r.push(`const { ${zr(i.map(u=>`${u}: _${u}`),", ")} } = ctx`),r.newline()),r.push("return "),kn(r,e),r.deindent(s),r.push("}"),delete e.helpers;const{code:l,map:c}=r.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function Vp(e,t={}){const n=Ur({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,r=Dp(n).parse(e);return o?(s&&xp(r),a&&vn(r),{ast:r,code:""}):(Op(r,n),Hp(r,n))}/*! + */function Tf(e,t,n){return{line:e,column:t,offset:n}}function Zo(e,t,n){return{start:e,end:t}}const Cf=/\{([0-9a-zA-Z]+)\}/g;function Ki(e,...t){return t.length===1&&Nf(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Cf,(n,o)=>t.hasOwnProperty(o)?t[o]:"")}const Ui=Object.assign,Gi=e=>typeof e=="string",Nf=e=>e!==null&&typeof e=="object";function zi(e,t=""){return e.reduce((n,o,a)=>a===0?n+o:n+t+o,"")}const Ya={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Lf={[Ya.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function wf(e,t,...n){const o=Ki(Lf[e],...n||[]),a={message:String(o),code:e};return t&&(a.location=t),a}const Q={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},Pf={[Q.EXPECTED_TOKEN]:"Expected token: '{0}'",[Q.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Q.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Q.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Q.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Q.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Q.EMPTY_PLACEHOLDER]:"Empty placeholder",[Q.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Q.INVALID_LINKED_FORMAT]:"Invalid linked format",[Q.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Q.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Q.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Q.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Q.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Q.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Sn(e,t,n={}){const{domain:o,messages:a,args:s}=n,r=Ki((a||Pf)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=o,i}function Mf(e){throw e}const Ft=" ",If="\r",Ue=` +`,Rf="\u2028",Ff="\u2029";function Of(e){const t=e;let n=0,o=1,a=1,s=0;const r=L=>t[L]===If&&t[L+1]===Ue,i=L=>t[L]===Ue,l=L=>t[L]===Ff,c=L=>t[L]===Rf,u=L=>r(L)||i(L)||l(L)||c(L),p=()=>n,m=()=>o,$=()=>a,w=()=>s,v=L=>r(L)||l(L)||c(L)?Ue:t[L],T=()=>v(n),P=()=>v(n+s);function k(){return s=0,u(n)&&(o++,a=0),r(n)&&n++,n++,a++,t[n]}function y(){return r(n+s)&&s++,s++,t[n+s]}function b(){n=0,o=1,a=1,s=0}function C(L=0){s=L}function A(){const L=n+s;for(;L!==n;)k();s=0}return{index:p,line:m,column:$,peekOffset:w,charAt:v,currentChar:T,currentPeek:P,next:k,peek:y,reset:b,resetPeek:C,skipToPeek:A}}const Ht=void 0,Df=".",qi="'",xf="tokenizer";function jf(e,t={}){const n=t.location!==!1,o=Of(e),a=()=>o.index(),s=()=>Tf(o.line(),o.column(),o.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 p(g,d,N,...I){const G=c();if(d.column+=N,d.offset+=N,u){const B=n?Zo(G.startLoc,d):null,E=Sn(g,B,{domain:xf,args:I});u(E)}}function m(g,d,N){g.endLoc=s(),g.currentType=d;const I={type:d};return n&&(I.loc=Zo(g.startLoc,g.endLoc)),N!=null&&(I.value=N),I}const $=g=>m(g,14);function w(g,d){return g.currentChar()===d?(g.next(),d):(p(Q.EXPECTED_TOKEN,s(),0,d),"")}function v(g){let d="";for(;g.currentPeek()===Ft||g.currentPeek()===Ue;)d+=g.currentPeek(),g.peek();return d}function T(g){const d=v(g);return g.skipToPeek(),d}function P(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function k(g){if(g===Ht)return!1;const d=g.charCodeAt(0);return d>=48&&d<=57}function y(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function b(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()==="-"?g.peek():g.currentPeek(),G=k(I);return g.resetPeek(),G}function C(g,d){const{currentType:N}=d;if(N!==2)return!1;v(g);const I=g.currentPeek()===qi;return g.resetPeek(),I}function A(g,d){const{currentType:N}=d;if(N!==8)return!1;v(g);const I=g.currentPeek()===".";return g.resetPeek(),I}function L(g,d){const{currentType:N}=d;if(N!==9)return!1;v(g);const I=P(g.currentPeek());return g.resetPeek(),I}function F(g,d){const{currentType:N}=d;if(!(N===8||N===12))return!1;v(g);const I=g.currentPeek()===":";return g.resetPeek(),I}function S(g,d){const{currentType:N}=d;if(N!==10)return!1;const I=()=>{const B=g.currentPeek();return B==="{"?P(g.peek()):B==="@"||B==="%"||B==="|"||B===":"||B==="."||B===Ft||!B?!1:B===Ue?(g.peek(),I()):z(g,!1)},G=I();return g.resetPeek(),G}function V(g){v(g);const d=g.currentPeek()==="|";return g.resetPeek(),d}function ae(g){const d=v(g),N=g.currentPeek()==="%"&&g.peek()==="{";return g.resetPeek(),{isModulo:N,hasSpace:d.length>0}}function z(g,d=!0){const N=(G=!1,B="",E=!1)=>{const R=g.currentPeek();return R==="{"?B==="%"?!1:G:R==="@"||!R?B==="%"?!0:G:R==="%"?(g.peek(),N(G,"%",!0)):R==="|"?B==="%"||E?!0:!(B===Ft||B===Ue):R===Ft?(g.peek(),N(!0,Ft,E)):R===Ue?(g.peek(),N(!0,Ue,E)):!0},I=N();return d&&g.resetPeek(),I}function ee(g,d){const N=g.currentChar();return N===Ht?Ht:d(N)?(g.next(),N):null}function Y(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function O(g){return ee(g,Y)}function j(g){const d=g.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function q(g){return ee(g,j)}function W(g){const d=g.charCodeAt(0);return d>=48&&d<=57}function X(g){return ee(g,W)}function ge(g){const d=g.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function re(g){return ee(g,ge)}function pe(g){let d="",N="";for(;d=X(g);)N+=d;return N}function oe(g){T(g);const d=g.currentChar();return d!=="%"&&p(Q.EXPECTED_TOKEN,s(),0,d),g.next(),"%"}function le(g){let d="";for(;;){const N=g.currentChar();if(N==="{"||N==="}"||N==="@"||N==="|"||!N)break;if(N==="%")if(z(g))d+=N,g.next();else break;else if(N===Ft||N===Ue)if(z(g))d+=N,g.next();else{if(V(g))break;d+=N,g.next()}else d+=N,g.next()}return d}function we(g){T(g);let d="",N="";for(;d=q(g);)N+=d;return g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N}function Re(g){T(g);let d="";return g.currentChar()==="-"?(g.next(),d+=`-${pe(g)}`):d+=pe(g),g.currentChar()===Ht&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Ye(g){return g!==qi&&g!==Ue}function nt(g){T(g),w(g,"'");let d="",N="";for(;d=ee(g,Ye);)d==="\\"?N+=Zt(g):N+=d;const I=g.currentChar();return I===Ue||I===Ht?(p(Q.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),I===Ue&&(g.next(),w(g,"'")),N):(w(g,"'"),N)}function Zt(g){const d=g.currentChar();switch(d){case"\\":case"'":return g.next(),`\\${d}`;case"u":return ot(g,d,4);case"U":return ot(g,d,6);default:return p(Q.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function ot(g,d,N){w(g,d);let I="";for(let G=0;G{const I=g.currentChar();return I==="{"||I==="%"||I==="@"||I==="|"||I==="("||I===")"||!I||I===Ft?N:(N+=I,g.next(),d(N))};return d("")}function M(g){T(g);const d=w(g,"|");return T(g),d}function x(g,d){let N=null;switch(g.currentChar()){case"{":return d.braceNest>=1&&p(Q.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),g.next(),N=m(d,2,"{"),T(g),d.braceNest++,N;case"}":return d.braceNest>0&&d.currentType===2&&p(Q.EMPTY_PLACEHOLDER,s(),0),g.next(),N=m(d,3,"}"),d.braceNest--,d.braceNest>0&&T(g),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),N;case"@":return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=D(g,d)||$(d),d.braceNest=0,N;default:{let G=!0,B=!0,E=!0;if(V(g))return d.braceNest>0&&p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return p(Q.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,U(g,d);if(G=y(g,d))return N=m(d,5,we(g)),T(g),N;if(B=b(g,d))return N=m(d,6,Re(g)),T(g),N;if(E=C(g,d))return N=m(d,7,nt(g)),T(g),N;if(!G&&!B&&!E)return N=m(d,13,f(g)),p(Q.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,N.value),T(g),N;break}}return N}function D(g,d){const{currentType:N}=d;let I=null;const G=g.currentChar();switch((N===8||N===9||N===12||N===10)&&(G===Ue||G===Ft)&&p(Q.INVALID_LINKED_FORMAT,s(),0),G){case"@":return g.next(),I=m(d,8,"@"),d.inLinked=!0,I;case".":return T(g),g.next(),m(d,9,".");case":":return T(g),g.next(),m(d,10,":");default:return V(g)?(I=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,I):A(g,d)||F(g,d)?(T(g),D(g,d)):L(g,d)?(T(g),m(d,12,_(g))):S(g,d)?(T(g),G==="{"?x(g,d)||I:m(d,11,h(g))):(N===8&&p(Q.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,U(g,d))}}function U(g,d){let N={type:14};if(d.braceNest>0)return x(g,d)||$(d);if(d.inLinked)return D(g,d)||$(d);switch(g.currentChar()){case"{":return x(g,d)||$(d);case"}":return p(Q.UNBALANCED_CLOSING_BRACE,s(),0),g.next(),m(d,3,"}");case"@":return D(g,d)||$(d);default:{if(V(g))return N=m(d,1,M(g)),d.braceNest=0,d.inLinked=!1,N;const{isModulo:G,hasSpace:B}=ae(g);if(G)return B?m(d,0,le(g)):m(d,4,oe(g));if(z(g))return m(d,0,le(g));break}}return N}function K(){const{currentType:g,offset:d,startLoc:N,endLoc:I}=l;return l.lastType=g,l.lastOffset=d,l.lastStartLoc=N,l.lastEndLoc=I,l.offset=a(),l.startLoc=s(),o.currentChar()===Ht?m(l,14):U(o,l)}return{nextToken:K,currentOffset:a,currentPosition:s,context:c}}const Bf="parser",Kf=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Uf(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const o=parseInt(t||n,16);return o<=55295||o>=57344?String.fromCodePoint(o):"�"}}}function Gf(e={}){const t=e.location!==!1,{onError:n,onWarn:o}=e;function a(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,n){const S=t?Zo(C,F):null,V=Sn(b,S,{domain:Bf,args:L});n(V)}}function s(y,b,C,A,...L){const F=y.currentPosition();if(F.offset+=A,F.column+=A,o){const S=t?Zo(C,F):null;o(wf(b,S,L))}}function r(y,b,C){const A={type:y};return t&&(A.start=b,A.end=b,A.loc={start:C,end:C}),A}function i(y,b,C,A){t&&(y.end=b,y.loc&&(y.loc.end=C))}function l(y,b){const C=y.context(),A=r(3,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function c(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(5,A,L);return F.index=parseInt(b,10),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function u(y,b,C){const A=y.context(),{lastOffset:L,lastStartLoc:F}=A,S=r(4,L,F);return S.key=b,C===!0&&(S.modulo=!0),y.nextToken(),i(S,y.currentOffset(),y.currentPosition()),S}function p(y,b){const C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(9,A,L);return F.value=b.replace(Kf,Uf),y.nextToken(),i(F,y.currentOffset(),y.currentPosition()),F}function m(y){const b=y.nextToken(),C=y.context(),{lastOffset:A,lastStartLoc:L}=C,F=r(8,A,L);return b.type!==12?(a(y,Q.UNEXPECTED_EMPTY_LINKED_MODIFIER,C.lastStartLoc,0),F.value="",i(F,A,L),{nextConsumeToken:b,node:F}):(b.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,ct(b)),F.value=b.value||"",i(F,y.currentOffset(),y.currentPosition()),{node:F})}function $(y,b){const C=y.context(),A=r(7,C.offset,C.startLoc);return A.value=b,i(A,y.currentOffset(),y.currentPosition()),A}function w(y){const b=y.context(),C=r(6,b.offset,b.startLoc);let A=y.nextToken();if(A.type===9){const L=m(y);C.modifier=L.node,A=L.nextConsumeToken||y.nextToken()}switch(A.type!==10&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),A=y.nextToken(),A.type===2&&(A=y.nextToken()),A.type){case 11:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=$(y,A.value||"");break;case 5:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=u(y,A.value||"");break;case 6:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=c(y,A.value||"");break;case 7:A.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(A)),C.key=p(y,A.value||"");break;default:{a(y,Q.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const L=y.context(),F=r(7,L.offset,L.startLoc);return F.value="",i(F,L.offset,L.startLoc),C.key=F,i(C,L.offset,L.startLoc),{nextConsumeToken:A,node:C}}}return i(C,y.currentOffset(),y.currentPosition()),{node:C}}function v(y){const b=y.context(),C=b.currentType===1?y.currentOffset():b.offset,A=b.currentType===1?b.endLoc:b.startLoc,L=r(2,C,A);L.items=[];let F=null,S=null;do{const z=F||y.nextToken();switch(F=null,z.type){case 0:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(l(y,z.value||""));break;case 6:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(c(y,z.value||""));break;case 4:S=!0;break;case 5:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(u(y,z.value||"",!!S)),S&&(s(y,Ya.USE_MODULO_SYNTAX,b.lastStartLoc,0,ct(z)),S=null);break;case 7:z.value==null&&a(y,Q.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,ct(z)),L.items.push(p(y,z.value||""));break;case 8:{const ee=w(y);L.items.push(ee.node),F=ee.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const V=b.currentType===1?b.lastOffset:y.currentOffset(),ae=b.currentType===1?b.lastEndLoc:y.currentPosition();return i(L,V,ae),L}function T(y,b,C,A){const L=y.context();let F=A.items.length===0;const S=r(1,b,C);S.cases=[],S.cases.push(A);do{const V=v(y);F||(F=V.items.length===0),S.cases.push(V)}while(L.currentType!==14);return F&&a(y,Q.MUST_HAVE_MESSAGES_IN_PLURAL,C,0),i(S,y.currentOffset(),y.currentPosition()),S}function P(y){const b=y.context(),{offset:C,startLoc:A}=b,L=v(y);return b.currentType===14?L:T(y,C,A,L)}function k(y){const b=jf(y,Ui({},e)),C=b.context(),A=r(0,C.offset,C.startLoc);return t&&A.loc&&(A.loc.source=y),A.body=P(b),e.onCacheKey&&(A.cacheKey=e.onCacheKey(y)),C.currentType!==14&&a(b,Q.UNEXPECTED_LEXICAL_ANALYSIS,C.lastStartLoc,0,y[C.offset]||""),i(A,b.currentOffset(),b.currentPosition()),A}return{parse:k}}function ct(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 zf(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Hi(e,t){for(let n=0;nVi(n)),e}function Vi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;nr;function l(v,T){r.code+=v}function c(v,T=!0){const P=T?o:"";l(a?P+" ".repeat(v):P)}function u(v=!0){const T=++r.indentLevel;v&&c(T)}function p(v=!0){const T=--r.indentLevel;v&&c(T)}function m(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:p,newline:m,helper:v=>`_${v}`,needIndent:()=>r.needIndent}}function Jf(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),$n(e,t.key),t.modifier?(e.push(", "),$n(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function Xf(e,t){const{helper:n,needIndent:o}=e;e.push(`${n("normalize")}([`),e.indent(o());const a=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(o());const a=t.cases.length;for(let s=0;s{const n=Gi(t.mode)?t.mode:"normal",o=Gi(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,s=t.needIndent?t.needIndent:n!=="arrow",r=e.helpers||[],i=Yf(e,{filename:o,breakLineCode:a,needIndent:s});i.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${zi(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),$n(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 th(e,t={}){const n=Ui({},t),o=!!n.jit,a=!!n.minify,s=n.optimize==null?!0:n.optimize,i=Gf(n).parse(e);return o?(s&&Hf(i),a&&vn(i),{ast:i,code:""}):(qf(i,n),eh(i,n))}/*! * core-base v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */function Wp(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wr=["b","body"];function Yp(e){return Vt(e,Wr)}const Yr=["c","cases"];function Jp(e){return Vt(e,Yr,[])}const Jr=["s","static"];function Xp(e){return Vt(e,Jr)}const Xr=["i","items"];function Zp(e){return Vt(e,Xr,[])}const Zr=["t","type"];function Xa(e){return Vt(e,Zr)}const Qr=["v","value"];function Qo(e,t){const n=Vt(e,Qr);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function Qp(e){return Vt(e,el)}const tl=["k","key"];function eh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{i===void 0?i=r:i+=r},m[1]=()=>{i!==void 0&&(t.push(i),i=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,i===void 0||(i=sh(i),i===!1))return!1;m[1]()}};function k(){const N=e[n+1];if(o===5&&N==="'"||o===6&&N==='"')return n++,r="\\"+N,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&k())){if(l=ah(s),f=Wt[o],c=f[l]||f.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(r=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function rh(e,t){return ue(e)?e[t]:null}function lh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=ih(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,uh=e=>"",gh="text",dh=e=>e.length===0?"":bp(e),fh=mp;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ph(e){const t=$e(e.pluralIndex)?e.pluralIndex:-1;return e.named&&($e(e.named.count)||$e(e.named.n))?$e(e.named.count)?e.named.count:$e(e.named.n)?e.named.n:t:t}function hh(e,t){t.count||(t.count=e),t.n||(t.n=e)}function mh(e={}){const t=e.locale,n=ph(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],i=e.list||[],r=P=>i[P],l=e.named||me();$e(e.pluralIndex)&&hh(n,l);const c=P=>l[P];function u(P){const T=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return T||(e.parent?e.parent.message(P):uh)}const f=P=>e.modifiers?e.modifiers[P]:ch,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:dh,k=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:fh,N=ne(e.processor)&&H(e.processor.type)?e.processor.type:gh,$={list:r,named:c,plural:s,linked:(P,...T)=>{const[_,b]=T;let L="text",A="";T.length===1?ue(_)?(A=_.modifier||A,L=_.type||L):H(_)&&(A=_||A):T.length===2&&(H(_)&&(A=_||A),H(b)&&(L=b||L));const w=u(P)($),D=L==="vnode"&&ke(w)&&A?w[0]:w;return A?f(A)(D,L):D},message:u,type:N,interpolate:k,normalize:m,values:Oe(me(),i,l)};return $}let eo=null;function bh(e){eo=e}function _h(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const yh=Ah("function:translate");function Ah(e){return t=>eo&&eo.emit(e,t)}const Sh=Ya.__EXTEND_POINT__,rn=Yo(Sh),vh={FALLBACK_TO_TRANSLATE:rn(),CANNOT_FORMAT_NUMBER:rn(),FALLBACK_TO_NUMBER_FORMAT:rn(),CANNOT_FORMAT_DATE:rn(),FALLBACK_TO_DATE_FORMAT:rn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:rn(),__EXTEND_POINT__:rn()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,INVALID_DATE_ARGUMENT:ln(),INVALID_ISO_DATE_ARGUMENT:ln(),NOT_SUPPORT_NON_STRING_MESSAGE:ln(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ln(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ln(),NOT_SUPPORT_LOCALE_TYPE:ln(),__EXTEND_POINT__:ln()};function St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?il(t.locale):il(e.locale)}let Qa;function il(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if(hp(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function kh(e,t,n){return[...new Set([n,...ke(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function rl(e,t,n){const o=H(n)?n:Tn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let i=[n];for(;ke(i);)i=ll(s,i,t);const r=ke(t)||!ne(t)?t:t.default?t.default:null;i=H(r)?[r]:r,ke(i)&&ll(s,i,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Lh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let fl;function Ch(e){fl=e}let pl;function wh(e){pl=e}let hl=null;const Nh=e=>{hl=e},Ph=()=>hl;let ml=null;const bl=e=>{ml=e},Mh=()=>ml;let _l=0;function Ih(e={}){const t=Ae(e.onWarn)?e.onWarn:lp,n=H(e.version)?e.version:$h,o=H(e.locale)||Ae(e.locale)?e.locale:Tn,a=Ae(o)?Tn:o,s=ke(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,i=ne(e.messages)?e.messages:es(a),r=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=Oe(me(),e.modifiers,Lh()),u=e.pluralRules||me(),f=Ae(e.missing)?e.missing:null,m=re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,k=re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,N=!!e.fallbackFormat,v=!!e.unresolving,$=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,T=re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,L=Ae(e.messageResolver)?e.messageResolver:fl||rh,A=Ae(e.localeFallbacker)?e.localeFallbacker:pl||kh,w=ue(e.fallbackContext)?e.fallbackContext:void 0,D=e,S=ue(D.__datetimeFormatters)?D.__datetimeFormatters:new Map,V=ue(D.__numberFormatters)?D.__numberFormatters:new Map,ae=ue(D.__meta)?D.__meta:{};_l++;const z={version:n,cid:_l,locale:o,fallbackLocale:s,messages:i,modifiers:c,pluralRules:u,missing:f,missingWarn:m,fallbackWarn:k,fallbackFormat:N,unresolving:v,postTranslation:$,processor:P,warnHtmlMessage:T,escapeParameter:_,messageCompiler:b,messageResolver:L,localeFallbacker:A,fallbackContext:w,onWarn:t,__meta:ae};return z.datetimeFormats=r,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&_h(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:i}=e;if(s!==null){const r=s(e,n,t,a);return H(r)?r:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Rh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Dh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;oFh(n,e)}function Fh(e,t){const n=Yp(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=Jp(n);return e.plural(s.reduce((i,r)=>[...i,yl(e,r)],[]))}else return yl(e,n)}function yl(e,t){const n=Xp(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=Zp(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&$e(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&$e(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=Qp(o),s=eh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Tp;return t.onError=a=>{n=!0,o(a)},{...Vp(e,t),detectError:n}}const Oh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:i}=Sl(e,t),r=new Function(`return ${s}`)();return i?r:En[o]=r}};function xh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){re(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:i}=Sl(e,{...t,location:!1,jit:!0}),r=ns(s);return i?r:En[o]=r}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function kl(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:i,messages:r}=e,[l,c]=as(...t),u=re(c.missingWarn)?c.missingWarn:e.missingWarn,f=re(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=re(c.escapeParameter)?c.escapeParameter:e.escapeParameter,k=!!c.resolvedMessage,N=H(c.default)||re(c.default)?re(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||N!=="",$=Za(e,c);m&&jh(c);let[P,T,_]=k?[l,$,r[$]||me()]:Tl(e,l,$,i,f,u),b=P,L=l;if(!k&&!(H(b)||At(b)||et(b))&&v&&(b=N,L=b),!k&&(!(H(b)||At(b)||et(b))||!H(T)))return a?ea:l;let A=!1;const w=()=>{A=!0},D=et(b)?b:El(e,l,T,b,L,w);if(A)return b;const S=Uh(e,T,_,c),V=mh(S),ae=Bh(e,D,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=fp(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:T||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=Oe({},e.__meta,Ph()||{}),yh(ee)}return z}function jh(e){ke(e.list)?e.list=e.list.map(t=>H(t)?Or(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Or(e.named[t]))})}function Tl(e,t,n,o,a,s){const{messages:i,onWarn:r,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let f=me(),m,k=null;const N="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=i(o,Kh(e,n,a,o,r,s));return l.locale=n,l.key=t,l.source=o,l}function Bh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!$e(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=$e(t)?String(t):(et(t),t);return $e(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:ke(n)&&(a.list=n),$e(o)?a.plural=o:H(o)?a.default=o:ne(o)&&Oe(a,o),[s,a]}function Kh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:i=>{throw s&&s(i),i},onCacheKey:i=>cp(t,n,i)}}function Uh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:i,fallbackLocale:r,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:k=>{let N=i(n,k);if(N==null&&u){const[,,v]=Tl(u,k,t,r,l,c);N=i(v,k)}if(H(N)||At(N)){let v=!1;const P=El(e,k,t,N,k,()=>{v=!0});return v?vl:P}else return et(N)?N:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),$e(o.plural)&&(m.pluralIndex=o.plural),m}function $l(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__datetimeFormatters:r}=e,[l,c,u,f]=ss(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.DateTimeFormat(N,f).format(c);let $={},P,T=null;const _="datetime format";for(let A=0;A{Ll.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Cl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function wl(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:i}=e,{__numberFormatters:r}=e,[l,c,u,f]=is(...t),m=re(u.missingWarn)?u.missingWarn:e.missingWarn;re(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const k=!!u.part,N=Za(e,u),v=i(e,a,N);if(!H(l)||l==="")return new Intl.NumberFormat(N,f).format(c);let $={},P,T=null;const _="number format";for(let A=0;A{Nl.includes(l)?i[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(i=o),ne(a)&&(i=a),[s.key||"",r,s,i]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}Wp();/*! + */function nh(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function At(e){return ue(e)&&Xa(e)===0&&(lt(e,"b")||lt(e,"body"))}const Wi=["b","body"];function oh(e){return Vt(e,Wi)}const Yi=["c","cases"];function ah(e){return Vt(e,Yi,[])}const Ji=["s","static"];function sh(e){return Vt(e,Ji)}const Xi=["i","items"];function rh(e){return Vt(e,Xi,[])}const Zi=["t","type"];function Xa(e){return Vt(e,Zi)}const Qi=["v","value"];function Qo(e,t){const n=Vt(e,Qi);if(n!=null)return n;throw Qn(t)}const el=["m","modifier"];function ih(e){return Vt(e,el)}const tl=["k","key"];function lh(e){const t=Vt(e,tl);if(t)return t;throw Qn(6)}function Vt(e,t,n){for(let o=0;o{r===void 0?r=i:r+=i},m[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},m[2]=()=>{m[0](),a++},m[3]=()=>{if(a>0)a--,o=4,m[0]();else{if(a=0,r===void 0||(r=ph(r),r===!1))return!1;m[1]()}};function $(){const w=e[n+1];if(o===5&&w==="'"||o===6&&w==='"')return n++,i="\\"+w,m[0](),!0}for(;o!==null;)if(n++,s=e[n],!(s==="\\"&&$())){if(l=dh(s),p=Wt[o],c=p[l]||p.l||8,c===8||(o=c[0],c[1]!==void 0&&(u=m[c[1]],u&&(i=s,u()===!1))))return;if(o===7)return t}}const ol=new Map;function hh(e,t){return ue(e)?e[t]:null}function mh(e,t){if(!ue(e))return null;let n=ol.get(t);if(n||(n=fh(t),n&&ol.set(t,n)),!n)return null;const o=n.length;let a=e,s=0;for(;se,yh=e=>"",_h="text",Ah=e=>e.length===0?"":Ef(e),Sh=kf;function al(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function vh(e){const t=Te(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Te(e.named.count)||Te(e.named.n))?Te(e.named.count)?e.named.count:Te(e.named.n)?e.named.n:t:t}function $h(e,t){t.count||(t.count=e),t.n||(t.n=e)}function kh(e={}){const t=e.locale,n=vh(e),o=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?e.pluralRules[t]:al,a=ue(e.pluralRules)&&H(t)&&Ae(e.pluralRules[t])?al:void 0,s=P=>P[o(n,P.length,a)],r=e.list||[],i=P=>r[P],l=e.named||me();Te(e.pluralIndex)&&$h(n,l);const c=P=>l[P];function u(P){const k=Ae(e.messages)?e.messages(P):ue(e.messages)?e.messages[P]:!1;return k||(e.parent?e.parent.message(P):yh)}const p=P=>e.modifiers?e.modifiers[P]:bh,m=ne(e.processor)&&Ae(e.processor.normalize)?e.processor.normalize:Ah,$=ne(e.processor)&&Ae(e.processor.interpolate)?e.processor.interpolate:Sh,w=ne(e.processor)&&H(e.processor.type)?e.processor.type:_h,T={list:i,named:c,plural:s,linked:(P,...k)=>{const[y,b]=k;let C="text",A="";k.length===1?ue(y)?(A=y.modifier||A,C=y.type||C):H(y)&&(A=y||A):k.length===2&&(H(y)&&(A=y||A),H(b)&&(C=b||C));const L=u(P)(T),F=C==="vnode"&&$e(L)&&A?L[0]:L;return A?p(A)(F,C):F},message:u,type:w,interpolate:$,normalize:m,values:De(me(),r,l)};return T}let eo=null;function Eh(e){eo=e}function Th(e,t,n){eo&&eo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Ch=Nh("function:translate");function Nh(e){return t=>eo&&eo.emit(e,t)}const Lh=Ya.__EXTEND_POINT__,rn=Yo(Lh),wh={FALLBACK_TO_TRANSLATE:rn(),CANNOT_FORMAT_NUMBER:rn(),FALLBACK_TO_NUMBER_FORMAT:rn(),CANNOT_FORMAT_DATE:rn(),FALLBACK_TO_DATE_FORMAT:rn(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:rn(),__EXTEND_POINT__:rn()},sl=Q.__EXTEND_POINT__,ln=Yo(sl),ut={INVALID_ARGUMENT:sl,INVALID_DATE_ARGUMENT:ln(),INVALID_ISO_DATE_ARGUMENT:ln(),NOT_SUPPORT_NON_STRING_MESSAGE:ln(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:ln(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:ln(),NOT_SUPPORT_LOCALE_TYPE:ln(),__EXTEND_POINT__:ln()};function St(e){return Sn(e,null,void 0)}function Za(e,t){return t.locale!=null?rl(t.locale):rl(e.locale)}let Qa;function rl(e){if(H(e))return e;if(Ae(e)){if(e.resolvedOnce&&Qa!=null)return Qa;if(e.constructor.name==="Function"){const t=e();if($f(t))throw St(ut.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Qa=t}else throw St(ut.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw St(ut.NOT_SUPPORT_LOCALE_TYPE)}function Ph(e,t,n){return[...new Set([n,...$e(t)?t:ue(t)?Object.keys(t):H(t)?[t]:[n]])]}function il(e,t,n){const o=H(n)?n:kn,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(o);if(!s){s=[];let r=[n];for(;$e(r);)r=ll(s,r,t);const i=$e(t)||!ne(t)?t:t.default?t.default:null;r=H(i)?[i]:i,$e(r)&&ll(s,r,!1),a.__localeChainCache.set(o,s)}return s}function ll(e,t,n){let o=!0;for(let a=0;a`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function Fh(){return{upper:(e,t)=>t==="text"&&H(e)?e.toUpperCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&H(e)?e.toLowerCase():t==="vnode"&&ue(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&H(e)?ul(e):t==="vnode"&&ue(e)&&"__v_isVNode"in e?ul(e.children):e}}let gl;function dl(e){gl=e}let pl;function Oh(e){pl=e}let fl;function Dh(e){fl=e}let hl=null;const xh=e=>{hl=e},jh=()=>hl;let ml=null;const bl=e=>{ml=e},Bh=()=>ml;let yl=0;function Kh(e={}){const t=Ae(e.onWarn)?e.onWarn:mf,n=H(e.version)?e.version:Rh,o=H(e.locale)||Ae(e.locale)?e.locale:kn,a=Ae(o)?kn:o,s=$e(e.fallbackLocale)||ne(e.fallbackLocale)||H(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=ne(e.messages)?e.messages:es(a),i=ne(e.datetimeFormats)?e.datetimeFormats:es(a),l=ne(e.numberFormats)?e.numberFormats:es(a),c=De(me(),e.modifiers,Fh()),u=e.pluralRules||me(),p=Ae(e.missing)?e.missing:null,m=ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,$=ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,w=!!e.fallbackFormat,v=!!e.unresolving,T=Ae(e.postTranslation)?e.postTranslation:null,P=ne(e.processor)?e.processor:null,k=ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,y=!!e.escapeParameter,b=Ae(e.messageCompiler)?e.messageCompiler:gl,C=Ae(e.messageResolver)?e.messageResolver:pl||hh,A=Ae(e.localeFallbacker)?e.localeFallbacker:fl||Ph,L=ue(e.fallbackContext)?e.fallbackContext:void 0,F=e,S=ue(F.__datetimeFormatters)?F.__datetimeFormatters:new Map,V=ue(F.__numberFormatters)?F.__numberFormatters:new Map,ae=ue(F.__meta)?F.__meta:{};yl++;const z={version:n,cid:yl,locale:o,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:p,missingWarn:m,fallbackWarn:$,fallbackFormat:w,unresolving:v,postTranslation:T,processor:P,warnHtmlMessage:k,escapeParameter:y,messageCompiler:b,messageResolver:C,localeFallbacker:A,fallbackContext:L,onWarn:t,__meta:ae};return z.datetimeFormats=i,z.numberFormats=l,z.__datetimeFormatters=S,z.__numberFormatters=V,__INTLIFY_PROD_DEVTOOLS__&&Th(z,n,ae),z}const es=e=>({[e]:me()});function ts(e,t,n,o,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,n,t,a);return H(i)?i:t}else return t}function to(e,t,n){const o=e;o.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Uh(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Gh(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let o=n+1;ozh(n,e)}function zh(e,t){const n=oh(t);if(n==null)throw Qn(0);if(Xa(n)===1){const s=ah(n);return e.plural(s.reduce((r,i)=>[...r,_l(e,i)],[]))}else return _l(e,n)}function _l(e,t){const n=sh(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const o=rh(t).reduce((a,s)=>[...a,os(e,s)],[]);return e.normalize(o)}}function os(e,t){const n=Xa(t);switch(n){case 3:return Qo(t,n);case 9:return Qo(t,n);case 4:{const o=t;if(lt(o,"k")&&o.k)return e.interpolate(e.named(o.k));if(lt(o,"key")&&o.key)return e.interpolate(e.named(o.key));throw Qn(n)}case 5:{const o=t;if(lt(o,"i")&&Te(o.i))return e.interpolate(e.list(o.i));if(lt(o,"index")&&Te(o.index))return e.interpolate(e.list(o.index));throw Qn(n)}case 6:{const o=t,a=ih(o),s=lh(o);return e.linked(os(e,s),a?os(e,a):void 0,e.type)}case 7:return Qo(t,n);case 8:return Qo(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Al=e=>e;let En=me();function Sl(e,t={}){let n=!1;const o=t.onError||Mf;return t.onError=a=>{n=!0,o(a)},{...th(e,t),detectError:n}}const qh=(e,t)=>{if(!H(e))throw St(ut.NOT_SUPPORT_NON_STRING_MESSAGE);{ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{code:s,detectError:r}=Sl(e,t),i=new Function(`return ${s}`)();return r?i:En[o]=i}};function Hh(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&H(e)){ie(t.warnHtmlMessage)&&t.warnHtmlMessage;const o=(t.onCacheKey||Al)(e),a=En[o];if(a)return a;const{ast:s,detectError:r}=Sl(e,{...t,location:!1,jit:!0}),i=ns(s);return r?i:En[o]=i}else{const n=e.cacheKey;if(n){const o=En[n];return o||(En[n]=ns(e))}else return ns(e)}}const vl=()=>"",et=e=>Ae(e);function $l(e,...t){const{fallbackFormat:n,postTranslation:o,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=as(...t),u=ie(c.missingWarn)?c.missingWarn:e.missingWarn,p=ie(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,m=ie(c.escapeParameter)?c.escapeParameter:e.escapeParameter,$=!!c.resolvedMessage,w=H(c.default)||ie(c.default)?ie(c.default)?s?l:()=>l:c.default:n?s?l:()=>l:"",v=n||w!=="",T=Za(e,c);m&&Vh(c);let[P,k,y]=$?[l,T,i[T]||me()]:kl(e,l,T,r,p,u),b=P,C=l;if(!$&&!(H(b)||At(b)||et(b))&&v&&(b=w,C=b),!$&&(!(H(b)||At(b)||et(b))||!H(k)))return a?ea:l;let A=!1;const L=()=>{A=!0},F=et(b)?b:El(e,l,k,b,C,L);if(A)return b;const S=Jh(e,k,y,c),V=kh(S),ae=Wh(e,F,V);let z=o?o(ae,l):ae;if(m&&H(z)&&(z=Sf(z)),__INTLIFY_PROD_DEVTOOLS__){const ee={timestamp:Date.now(),key:H(l)?l:et(b)?b.key:"",locale:k||(et(b)?b.locale:""),format:H(b)?b:et(b)?b.source:"",message:z};ee.meta=De({},e.__meta,jh()||{}),Ch(ee)}return z}function Vh(e){$e(e.list)?e.list=e.list.map(t=>H(t)?Di(t):t):ue(e.named)&&Object.keys(e.named).forEach(t=>{H(e.named[t])&&(e.named[t]=Di(e.named[t]))})}function kl(e,t,n,o,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,o,n);let p=me(),m,$=null;const w="translate";for(let v=0;vo;return c.locale=n,c.key=t,c}const l=r(o,Yh(e,n,a,o,i,s));return l.locale=n,l.key=t,l.source=o,l}function Wh(e,t,n){return t(n)}function as(...e){const[t,n,o]=e,a=me();if(!H(t)&&!Te(t)&&!et(t)&&!At(t))throw St(ut.INVALID_ARGUMENT);const s=Te(t)?String(t):(et(t),t);return Te(n)?a.plural=n:H(n)?a.default=n:ne(n)&&!Wo(n)?a.named=n:$e(n)&&(a.list=n),Te(o)?a.plural=o:H(o)?a.default=o:ne(o)&&De(a,o),[s,a]}function Yh(e,t,n,o,a,s){return{locale:t,key:n,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>bf(t,n,r)}}function Jh(e,t,n,o){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,m={locale:t,modifiers:a,pluralRules:s,messages:$=>{let w=r(n,$);if(w==null&&u){const[,,v]=kl(u,$,t,i,l,c);w=r(v,$)}if(H(w)||At(w)){let v=!1;const P=El(e,$,t,w,$,()=>{v=!0});return v?vl:P}else return et(w)?w:vl}};return e.processor&&(m.processor=e.processor),o.list&&(m.list=o.list),o.named&&(m.named=o.named),Te(o.plural)&&(m.pluralIndex=o.plural),m}function Tl(e,...t){const{datetimeFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,p]=ss(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.DateTimeFormat(w,p).format(c);let T={},P,k=null;const y="datetime format";for(let A=0;A{Cl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Nl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__datetimeFormatters.has(s)&&o.__datetimeFormatters.delete(s)}}function Ll(e,...t){const{numberFormats:n,unresolving:o,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,p]=rs(...t),m=ie(u.missingWarn)?u.missingWarn:e.missingWarn;ie(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const $=!!u.part,w=Za(e,u),v=r(e,a,w);if(!H(l)||l==="")return new Intl.NumberFormat(w,p).format(c);let T={},P,k=null;const y="number format";for(let A=0;A{wl.includes(l)?r[l]=n[l]:s[l]=n[l]}),H(o)?s.locale=o:ne(o)&&(r=o),ne(a)&&(r=a),[s.key||"",i,s,r]}function Pl(e,t,n){const o=e;for(const a in n){const s=`${t}__${a}`;o.__numberFormatters.has(s)&&o.__numberFormatters.delete(s)}}nh();/*! * vue-i18n v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. - */const Gh="9.14.5";function zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const qh=vh.__EXTEND_POINT__,Ft=Yo(qh);Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft(),Ft();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),we={UNEXPECTED_RETURN_TYPE:Ml,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function Ie(e,...t){return Sn(e,null,void 0)}const rs=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(e[t]);else{const n=t.split("."),o=n.length-1;let a=e,s=!1;for(let i=0;i{if("locale"in r&&"resource"in r){const{locale:l,resource:c}=r;l?(i[l]=i[l]||me(),Xo(c,i[l])):Xo(c,i)}else H(r)&&Xo(JSON.parse(r),i)}),a==null&&s)for(const r in i)lt(i,r)&&no(i[r]);return i}function Dl(e){return e.type}function Fl(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(i=>{e.mergeDateTimeFormat(i,t.datetimeFormats[i])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(i=>{e.mergeNumberFormat(i,t.numberFormats[i])})}}}function Ol(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],Hh=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const Vh=()=>{const e=Mt();let t=null;return e&&(t=Dl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,i=Vo?he:va,r=!!e.translateExistCompatible;let l=re(e.inheritLocale)?e.inheritLocale:!0;const c=i(n&&l?n.locale.value:H(e.locale)?e.locale:Tn),u=i(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),f=i(ta(c.value,e)),m=i(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),k=i(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let N=n?n.missingWarn:re(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:re(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,$=n?n.fallbackRoot:re(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,T=Ae(e.missing)?e.missing:null,_=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,L=n?n.warnHtmlMessage:re(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const w=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let D=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Gh,locale:c.value,fallbackLocale:u.value,messages:f.value,modifiers:w,pluralRules:D,missing:_===null?void 0:_,missingWarn:N,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:L,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=k.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Ih(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,f.value,m.value,k.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>f.value),F=be(()=>m.value),j=be(()=>k.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return T}function ge(E){E!==null&&(_=Kl(E)),T=E,S.missing=_}const ie=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Mh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&$e(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Fs]=R();return n&&$?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(we.UNEXPECTED_RETURN_TYPE)}};function fe(...E){return ie(R=>Reflect.apply(kl,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(we.INVALID_ARGUMENT);return fe(R,J,Oe({resolvedMessage:!0},se||{}))}function le(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function Ne(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||$e(R)||re(R)?Ol(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return ie(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply(kl,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[rs](...E),R=>[Ol(R)],R=>ke(R))}function ot(...E){return ie(R=>Reflect.apply(wl,null,[R,...E]),()=>is(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||ke(R))}function Ln(...E){return ie(R=>Reflect.apply($l,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||ke(R))}function p(E){D=E,S.pluralRules=D}function y(E,R){return ie(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return r?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),Hh,J=>re(J))}function h(E){let R=null;const J=rl(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Y,get modifiers(){return w},get pluralRules(){return D||{}},get isGlobal(){return a},get missingWarn(){return N},set missingWarn(E){N=E,S.missingWarn=N},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return $},set fallbackRoot(E){$=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return L},set warnHtmlMessage(E){L=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:fe,getLocaleMessage:x,setLocaleMessage:O,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:p};return B.datetimeFormats=F,B.numberFormats=j,B.rt=oe,B.te=y,B.tm=M,B.d=le,B.n=Ne,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=C,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[rs]=Zt,B[ls]=Ln,B[cs]=ot,B}function Wh(e){const t=H(e.locale)?e.locale:Tn,n=H(e.fallbackLocale)||ke(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=re(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=re(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,i=re(e.fallbackRoot)?e.fallbackRoot:!0,r=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,f=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,k=re(e.sync)?e.sync:!0;let N=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;N=Object.keys(A).reduce((D,S)=>{const V=D[S]||(D[S]={});return Oe(V,A[S]),D},N||{})}const{__i18n:v,__root:$,__injectWithOption:P}=e,T=e.datetimeFormats,_=e.numberFormats,b=e.flatJson,L=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:N,flatJson:b,datetimeFormats:T,numberFormats:_,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:i,fallbackFormat:r,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:f,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:k,translateExistCompatible:L,__i18n:v,__root:$,__injectWithOption:P}}function ds(e={},t){{const n=gs(Wh(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return re(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=re(s)?!s:s},get silentFallbackWarn(){return re(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=re(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[i,r,l]=s,c={};let u=null,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:ke(r)?u=r:ne(r)&&(f=r),ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[i,r,l]=s,c={plural:1};let u=null,f=null;if(!H(i))throw Ie(we.INVALID_ARGUMENT);const m=i;return H(r)?c.locale=r:$e(r)?c.plural=r:ke(r)?u=r:ne(r)&&(f=r),H(l)?c.locale=l:ke(l)?u=l:ne(l)&&(f=l),Reflect.apply(n.t,n,[m,u||f||{},c])},te(s,i){return n.te(s,i)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,i){n.setLocaleMessage(s,i)},mergeLocaleMessage(s,i){n.mergeLocaleMessage(s,i)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,i){n.setDateTimeFormat(s,i)},mergeDateTimeFormat(s,i){n.mergeDateTimeFormat(s,i)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,i){n.setNumberFormat(s,i)},mergeNumberFormat(s,i){n.mergeNumberFormat(s,i)},getChoiceIndex(s,i){return-1}};return a.__extender=o,a}}const fs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function Yh({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Qe?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:Oe({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>$e(e)||!isNaN(e)}},fs),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||ps({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(f=>f!=="_"),i=me();e.locale&&(i.locale=e.locale),e.plural!==void 0&&(i.plural=H(e.plural)?+e.plural:e.plural);const r=Yh(t,s),l=a[rs](e.keypath,r,i),c=Oe(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(u,c,l)}}});function Jh(e){return ke(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const i={part:!0};let r=me();e.locale&&(i.locale=e.locale),H(e.format)?i.key=e.format:ue(e.format)&&(H(e.format.key)&&(i.key=e.format.key),r=Object.keys(e.format).reduce((m,k)=>n.includes(k)?Oe(me(),m,{[k]:e.format[k]}):m,me()));const l=o(e.value,i,r);let c=[i.key];ke(l)?c=l.map((m,k)=>{const N=a[m.type],v=N?N({[m.type]:m.value,index:k,parts:l}):[m.value];return Jh(v)&&(v[0].key=`${m.type}-${k}`),v}):H(l)&&(c=[l]);const u=Oe(me(),s),f=H(e.tag)||ue(e.tag)?e.tag:Ul();return fr(f,u,c)}}const ql=Bn({name:"i18n-n",props:Oe({value:{type:Number,required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Nl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:Oe({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},fs),setup(e,t){const n=e.i18n||ps({useScope:e.scope,__useComponent:!0});return zl(e,t,Ll,(...o)=>n[ls](...o))}});function Xh(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function Zh(e){const t=i=>{const{instance:r,modifiers:l,value:c}=i;if(!r||!r.$)throw Ie(we.UNEXPECTED_ERROR);const u=Xh(e,r.$),f=Vl(c);return[Reflect.apply(u.t,u,[...Wl(f)]),u]};return{created:(i,r)=>{const[l,c]=t(r);Vo&&e.global===c&&(i.__i18nWatcher=Ut(c.locale,()=>{r.instance&&r.instance.$forceUpdate()})),i.__composer=c,i.textContent=l},unmounted:i=>{Vo&&i.__i18nWatcher&&(i.__i18nWatcher(),i.__i18nWatcher=void 0,delete i.__i18nWatcher),i.__composer&&(i.__composer=void 0,delete i.__composer)},beforeUpdate:(i,{value:r})=>{if(i.__composer){const l=i.__composer,c=Vl(r);i.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:i=>{const[r]=t(i);return{textContent:r}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(we.REQUIRED_VALUE,"path");return e}else throw Ie(we.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,i={},r=o||{};return H(n)&&(i.locale=n),$e(a)&&(i.plural=a),$e(s)&&(i.plural=s),[t,r,i]}function Qh(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(re(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(i=>e.component(i,Gl)),[ql.name,"I18nN"].forEach(i=>e.component(i,ql)),[Hl.name,"I18nD"].forEach(i=>e.component(i,Hl))),e.directive("t",Zh(t))}function em(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(we.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=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__vueI18nExtend,this.$i18n=ds(s);const i=this.$i18n;i.__extender&&(i.__disposer=i.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Yl(e,a);else{this.$i18n=ds({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Fl(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,i)=>this.$i18n.te(s,i),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Mt();if(!o)throw Ie(we.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),n.__deleteInstance(o),delete this.$i18n}}}function Yl(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[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const tm=zt("global-vue-i18n");function nm(e={},t){const n=__VUE_I18N_LEGACY_API__&&re(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=re(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[i,r]=om(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,k){s.set(m,k)}function f(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install(k,...N){if(k.__VUE_I18N_SYMBOL__=l,k.provide(k.__VUE_I18N_SYMBOL__,m),ne(N[0])){const P=N[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=dm(k,m.global)),__VUE_I18N_FULL_INSTALL__&&Qh(k,m,...N),__VUE_I18N_LEGACY_API__&&n&&k.mixin(em(r,r.__composer,m));const $=k.unmount;k.unmount=()=>{v&&v(),m.dispose(),$()}},get global(){return r},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:f};return m}}function ps(e={}){const t=Mt();if(t==null)throw Ie(we.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(we.NOT_INSTALLED);const n=am(t),o=im(n),a=Dl(t),s=sm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(we.NOT_AVAILABLE_IN_LEGACY_MODE);return um(t,s,o,e)}if(s==="global")return Fl(o,e,a),o;if(s==="parent"){let l=rm(n,t,e.__useComponent);return l==null&&(l=o),l}const i=n;let r=i.__getInstance(t);if(r==null){const l=Oe({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),r=gs(l),i.__composerExtend&&(r[us]=i.__composerExtend(r)),cm(i,t,r),i.__setInstance(t,r)}return r}function om(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(we.UNEXPECTED_ERROR);return[o,a]}}function am(e){{const t=De(e.isCE?tm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?we.NOT_INSTALLED_WITH_PROVIDE:we.UNEXPECTED_ERROR);return t}}function sm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function im(e){return e.mode==="composition"?e.global:e.global.__composer}function rm(e,t,n=!1){let o=null;const a=t.root;let s=lm(t,n);for(;s!=null;){const i=e;if(e.mode==="composition")o=i.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const r=i.__getInstance(s);r!=null&&(o=r.__composer,n&&o&&!o[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function lm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function cm(e,t,n){Gn(()=>{},t),Fo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function um(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(we.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const i=re(o.inheritLocale)?o.inheritLocale:!H(o.locale),r=he(!a||i?n.locale.value:H(o.locale)?o.locale:Tn),l=he(!a||i?n.fallbackLocale.value:H(o.fallbackLocale)||ke(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:r.value),c=he(ta(r.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[r.value]:{}}),f=he(ne(o.numberFormats)?o.numberFormats:{[r.value]:{}}),m=a?n.missingWarn:re(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,k=a?n.fallbackWarn:re(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,N=a?n.fallbackRoot:re(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,$=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,T=a?n.warnHtmlMessage:re(o.warnHtmlMessage)?o.warnHtmlMessage:!0,_=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},L=o.pluralRules||a&&n.pluralRules;function A(){return[r.value,l.value,c.value,u.value,f.value]}const w=be({get:()=>s.value?s.value.locale.value:r.value,set:h=>{s.value&&(s.value.locale.value=h),r.value=h}}),D=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>f.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():$}function F(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function ie(h){return s.value?s.value.tm(h):{}}function fe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function Ne(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),f.value[h]=M)}function Ln(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const p={get id(){return s.value?s.value.id:-1},locale:w,fallbackLocale:D,messages:S,datetimeFormats:V,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:i},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:b},get pluralRules(){return s.value?s.value.pluralRules:L},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:k},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:N},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:T},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:_},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:F,rt:W,d:X,n:ge,tm:ie,te:fe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:Ne,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Ln};function y(h){h.locale.value=r.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(f.value).forEach(M=>{h.mergeNumberFormat(M,f.value[M])}),h.escapeParameter=_,h.fallbackFormat=v,h.fallbackRoot=N,h.fallbackWarn=k,h.missingWarn=m,h.warnHtmlMessage=T}return wi(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(we.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(r.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,u.value=h.datetimeFormats.value,f.value=h.numberFormats.value):a&&y(h)}),p}const gm=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function dm(e,t){const n=Object.create(null);return gm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(we.UNEXPECTED_ERROR);const i=Te(s.value)?{get(){return s.value.value},set(r){s.value.value=r}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,a,i)}),e.config.globalProperties.$i18n=n,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(we.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(zh(),__INTLIFY_JIT_COMPILATION__?dl(xh):dl(Oh),Ch(lh),wh(rl),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,bh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const fm=Object.assign({"./locales/ar/aria.json":_d,"./locales/ar/buttons.json":yd,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":kd,"./locales/ar/prayerLaps.json":Td,"./locales/ar/search.json":Ed,"./locales/ar/tabs.json":$d,"./locales/de/aria.json":Ld,"./locales/de/buttons.json":Cd,"./locales/de/detail.json":wd,"./locales/de/legend.json":Nd,"./locales/de/messages.json":Pd,"./locales/de/options.json":Md,"./locales/de/prayerLaps.json":Id,"./locales/de/search.json":Rd,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":Fd,"./locales/en/buttons.json":Od,"./locales/en/detail.json":xd,"./locales/en/legend.json":jd,"./locales/en/messages.json":Bd,"./locales/en/options.json":Kd,"./locales/en/popup.json":Ud,"./locales/en/prayerLaps.json":Gd,"./locales/en/search.json":zd,"./locales/en/tabs.json":qd,"./locales/es/aria.json":Hd,"./locales/es/buttons.json":Vd,"./locales/es/detail.json":Wd,"./locales/es/legend.json":Yd,"./locales/es/messages.json":Jd,"./locales/es/options.json":Xd,"./locales/es/prayerLaps.json":Zd,"./locales/es/search.json":Qd,"./locales/es/tabs.json":ef,"./locales/fr/aria.json":tf,"./locales/fr/buttons.json":nf,"./locales/fr/detail.json":of,"./locales/fr/legend.json":af,"./locales/fr/messages.json":sf,"./locales/fr/options.json":rf,"./locales/fr/popup.json":lf,"./locales/fr/prayerLaps.json":cf,"./locales/fr/search.json":uf,"./locales/fr/tabs.json":gf,"./locales/hi/aria.json":df,"./locales/hi/buttons.json":ff,"./locales/hi/detail.json":pf,"./locales/hi/legend.json":hf,"./locales/hi/messages.json":mf,"./locales/hi/options.json":bf,"./locales/hi/prayerLaps.json":_f,"./locales/hi/search.json":yf,"./locales/it/aria.json":Af,"./locales/it/buttons.json":Sf,"./locales/it/detail.json":vf,"./locales/it/legend.json":kf,"./locales/it/messages.json":Tf,"./locales/it/options.json":Ef,"./locales/it/prayerLaps.json":$f,"./locales/it/search.json":Lf,"./locales/pt/aria.json":Cf,"./locales/pt/buttons.json":wf,"./locales/pt/detail.json":Nf,"./locales/pt/legend.json":Pf,"./locales/pt/messages.json":Mf,"./locales/pt/options.json":If,"./locales/pt/prayerLaps.json":Rf,"./locales/pt/search.json":Df,"./locales/pt/tabs.json":Ff,"./locales/ro/aria.json":Of,"./locales/ro/buttons.json":xf,"./locales/ro/detail.json":jf,"./locales/ro/legend.json":Bf,"./locales/ro/messages.json":Kf,"./locales/ro/options.json":Uf,"./locales/ro/prayerLaps.json":Gf,"./locales/ro/search.json":zf,"./locales/ru/aria.json":qf,"./locales/ru/buttons.json":Hf,"./locales/ru/detail.json":Vf,"./locales/ru/legend.json":Wf,"./locales/ru/messages.json":Yf,"./locales/ru/options.json":Jf,"./locales/ru/prayerLaps.json":Xf,"./locales/ru/search.json":Zf,"./locales/ru/tabs.json":Qf,"./locales/zh/aria.json":ep,"./locales/zh/buttons.json":tp,"./locales/zh/detail.json":np,"./locales/zh/legend.json":op,"./locales/zh/messages.json":ap,"./locales/zh/options.json":sp,"./locales/zh/prayerLaps.json":ip,"./locales/zh/search.json":rp}),oo={};for(const[e,t]of Object.entries(fm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function pm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function hm(){return nm({legacy:!1,globalInjection:!0,locale:pm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||mm(e);Gn(()=>{var r;const o=Mt();if(!o)return;const a=(r=o.proxy)==null?void 0:r.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const i=document.createElement("style");i.setAttribute("data-shadow-styles",n),i.textContent=e,s.appendChild(i)})}function mm(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var $;return(($=n==null?void 0:n.value)==null?void 0:$.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),i=he(null);let r=null,l=null,c=null,u=null,f=null;function m(){s.value=!1}function k($,P){var _;let T=$==null?void 0:$.parentElement;for(let b=0;T&&b<12;b++,T=T.parentElement){if(T===P||(_=T.classList)!=null&&_.contains("profile-loader"))return null;let L="";try{L=getComputedStyle(T).position}catch{}if(L&&L!=="static"){const A=T.getBoundingClientRect();if(A.height>=120&&A.width>=160)return T}}return null}function N(){const $=i.value;if($)try{$.style.removeProperty("--pin-hint-lift");const P=$.getBoundingClientRect();if(!P.height)return;const T=Math.round(P.bottom-window.innerHeight);T>0&&$.style.setProperty("--pin-hint-lift",T+8+"px")}catch{}}function v($){const P=i.value;if(!P||!($!=null&&$.querySelector))return;let T=0;try{const b=$.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const L=b.getBoundingClientRect(),A=P.parentElement,w=A?A.getBoundingClientRect():null;if(T=w?Math.max(L.height||0,w.bottom-L.top):L.height||0,f!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}f=b,c=new ResizeObserver(()=>v($)),c.observe(b)}}}catch{}const _=Math.min(Math.max(Math.ceil(T)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",_+"px"),N()}return Gn(()=>{var _,b,L;const $=Mt(),P=(L=(b=(_=$==null?void 0:$.proxy)==null?void 0:_.$el)==null?void 0:b.getRootNode)==null?void 0:L.call(b);if(!P||typeof P.querySelector!="function")return;let T=0;r=setInterval(()=>{T++;const A=P.querySelector("canvas");A?(clearInterval(r),r=null,s.value=!0,Co(()=>{const w=k(A,P),D=i.value;if(w&&D&&D.parentElement!==w)try{w.appendChild(D),l=w}catch{}v(P),N();try{const S=i.value&&i.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>N()),u.observe(S)}}catch{}})):T>40&&(clearInterval(r),r=null)},300)}),Do(()=>{var $;if(r&&clearInterval(r),c){try{c.disconnect()}catch{}c=null}if(f=null,u){try{u.disconnect()}catch{}u=null}if(l&&(($=i.value)==null?void 0:$.parentElement)===l)try{l.removeChild(i.value)}catch{}l=null}),Zl(` + */const Xh="9.14.5";function Zh(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const Qh=wh.__EXTEND_POINT__,Ot=Yo(Qh);Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot();const Ml=ut.__EXTEND_POINT__,qe=Yo(Ml),Le={UNEXPECTED_RETURN_TYPE:Ml,INVALID_ARGUMENT:qe(),MUST_BE_CALL_SETUP_TOP:qe(),NOT_INSTALLED:qe(),NOT_AVAILABLE_IN_LEGACY_MODE:qe(),REQUIRED_VALUE:qe(),INVALID_VALUE:qe(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:qe(),NOT_INSTALLED_WITH_PROVIDE:qe(),UNEXPECTED_ERROR:qe(),NOT_COMPATIBLE_LEGACY_VUE_I18N:qe(),BRIDGE_SUPPORT_VUE_2_ONLY:qe(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:qe(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:qe(),__EXTEND_POINT__:qe()};function Ie(e,...t){return Sn(e,null,void 0)}const is=zt("__translateVNode"),ls=zt("__datetimeParts"),cs=zt("__numberParts"),Il=zt("__setPluralRules"),Rl=zt("__injectWithOption"),us=zt("__dispose");function no(e){if(!ue(e)||At(e))return e;for(const t in e)if(lt(e,t))if(!t.includes("."))ue(e[t])&&no(e[t]);else{const n=t.split("."),o=n.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]||me(),Xo(c,r[l])):Xo(c,r)}else H(i)&&Xo(JSON.parse(i),r)}),a==null&&s)for(const i in r)lt(r,i)&&no(r[i]);return r}function Fl(e){return e.type}function Ol(e,t,n){let o=ue(t.messages)?t.messages:me();"__i18nGlobal"in n&&(o=ta(e.locale.value,{messages:o,__i18n:n.__i18nGlobal}));const a=Object.keys(o);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,o[s])});{if(ue(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(ue(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Dl(e){return Me(Hn,null,e,0)}const xl="__INTLIFY_META__",jl=()=>[],em=()=>!1;let Bl=0;function Kl(e){return(t,n,o,a)=>e(n,o,Mt()||void 0,a)}const tm=()=>{const e=Mt();let t=null;return e&&(t=Fl(e)[xl])?{[xl]:t}:null};function gs(e={},t){const{__root:n,__injectWithOption:o}=e,a=n===void 0,s=e.flatJson,r=Vo?he:va,i=!!e.translateExistCompatible;let l=ie(e.inheritLocale)?e.inheritLocale:!0;const c=r(n&&l?n.locale.value:H(e.locale)?e.locale:kn),u=r(n&&l?n.fallbackLocale.value:H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),p=r(ta(c.value,e)),m=r(ne(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),$=r(ne(e.numberFormats)?e.numberFormats:{[c.value]:{}});let w=n?n.missingWarn:ie(e.missingWarn)||qt(e.missingWarn)?e.missingWarn:!0,v=n?n.fallbackWarn:ie(e.fallbackWarn)||qt(e.fallbackWarn)?e.fallbackWarn:!0,T=n?n.fallbackRoot:ie(e.fallbackRoot)?e.fallbackRoot:!0,P=!!e.fallbackFormat,k=Ae(e.missing)?e.missing:null,y=Ae(e.missing)?Kl(e.missing):null,b=Ae(e.postTranslation)?e.postTranslation:null,C=n?n.warnHtmlMessage:ie(e.warnHtmlMessage)?e.warnHtmlMessage:!0,A=!!e.escapeParameter;const L=n?n.modifiers:ne(e.modifiers)?e.modifiers:{};let F=e.pluralRules||n&&n.pluralRules,S;S=(()=>{a&&bl(null);const E={version:Xh,locale:c.value,fallbackLocale:u.value,messages:p.value,modifiers:L,pluralRules:F,missing:y===null?void 0:y,missingWarn:w,fallbackWarn:v,fallbackFormat:P,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:C,escapeParameter:A,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};E.datetimeFormats=m.value,E.numberFormats=$.value,E.__datetimeFormatters=ne(S)?S.__datetimeFormatters:void 0,E.__numberFormatters=ne(S)?S.__numberFormatters:void 0;const R=Kh(E);return a&&bl(R),R})(),to(S,c.value,u.value);function ae(){return[c.value,u.value,p.value,m.value,$.value]}const z=be({get:()=>c.value,set:E=>{c.value=E,S.locale=c.value}}),ee=be({get:()=>u.value,set:E=>{u.value=E,S.fallbackLocale=u.value,to(S,c.value,E)}}),Y=be(()=>p.value),O=be(()=>m.value),j=be(()=>$.value);function q(){return Ae(b)?b:null}function W(E){b=E,S.postTranslation=E}function X(){return k}function ge(E){E!==null&&(y=Kl(E)),k=E,S.missing=y}const re=(E,R,J,se,Se,Ge)=>{ae();let xe;try{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=n?Bh():void 0),xe=E(S)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(S.fallbackContext=void 0)}if(J!=="translate exists"&&Te(xe)&&xe===ea||J==="translate exists"&&!xe){const[cn,Os]=R();return n&&T?se(n):Se(cn)}else{if(Ge(xe))return xe;throw Ie(Le.UNEXPECTED_RETURN_TYPE)}};function pe(...E){return re(R=>Reflect.apply($l,null,[R,...E]),()=>as(...E),"translate",R=>Reflect.apply(R.t,R,[...E]),R=>R,R=>H(R))}function oe(...E){const[R,J,se]=E;if(se&&!ue(se))throw Ie(Le.INVALID_ARGUMENT);return pe(R,J,De({resolvedMessage:!0},se||{}))}function le(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>Reflect.apply(R.d,R,[...E]),()=>cl,R=>H(R))}function we(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>Reflect.apply(R.n,R,[...E]),()=>cl,R=>H(R))}function Re(E){return E.map(R=>H(R)||Te(R)||ie(R)?Dl(String(R)):R)}const nt={normalize:Re,interpolate:E=>E,type:"vnode"};function Zt(...E){return re(R=>{let J;const se=R;try{se.processor=nt,J=Reflect.apply($l,null,[se,...E])}finally{se.processor=null}return J},()=>as(...E),"translate",R=>R[is](...E),R=>[Dl(R)],R=>$e(R))}function ot(...E){return re(R=>Reflect.apply(Ll,null,[R,...E]),()=>rs(...E),"number format",R=>R[cs](...E),jl,R=>H(R)||$e(R))}function Cn(...E){return re(R=>Reflect.apply(Tl,null,[R,...E]),()=>ss(...E),"datetime format",R=>R[ls](...E),jl,R=>H(R)||$e(R))}function f(E){F=E,S.pluralRules=F}function _(E,R){return re(()=>{if(!E)return!1;const J=H(R)?R:c.value,se=x(J),Se=S.messageResolver(se,E);return i?Se!=null:At(Se)||et(Se)||H(Se)},()=>[E],"translate exists",J=>Reflect.apply(J.te,J,[E,R]),em,J=>ie(J))}function h(E){let R=null;const J=il(S,u.value,c.value);for(let se=0;se{l&&(c.value=E,S.locale=E,to(S,c.value,u.value))}),Ut(n.fallbackLocale,E=>{l&&(u.value=E,S.fallbackLocale=E,to(S,c.value,u.value))}));const B={id:Bl,locale:z,fallbackLocale:ee,get inheritLocale(){return l},set inheritLocale(E){l=E,E&&n&&(c.value=n.locale.value,u.value=n.fallbackLocale.value,to(S,c.value,u.value))},get availableLocales(){return Object.keys(p.value).sort()},messages:Y,get modifiers(){return L},get pluralRules(){return F||{}},get isGlobal(){return a},get missingWarn(){return w},set missingWarn(E){w=E,S.missingWarn=w},get fallbackWarn(){return v},set fallbackWarn(E){v=E,S.fallbackWarn=v},get fallbackRoot(){return T},set fallbackRoot(E){T=E},get fallbackFormat(){return P},set fallbackFormat(E){P=E,S.fallbackFormat=P},get warnHtmlMessage(){return C},set warnHtmlMessage(E){C=E,S.warnHtmlMessage=E},get escapeParameter(){return A},set escapeParameter(E){A=E,S.escapeParameter=E},t:pe,getLocaleMessage:x,setLocaleMessage:D,mergeLocaleMessage:U,getPostTranslationHandler:q,setPostTranslationHandler:W,getMissingHandler:X,setMissingHandler:ge,[Il]:f};return B.datetimeFormats=O,B.numberFormats=j,B.rt=oe,B.te=_,B.tm=M,B.d=le,B.n=we,B.getDateTimeFormat=K,B.setDateTimeFormat=g,B.mergeDateTimeFormat=d,B.getNumberFormat=N,B.setNumberFormat=I,B.mergeNumberFormat=G,B[Rl]=o,B[is]=Zt,B[ls]=Cn,B[cs]=ot,B}function nm(e){const t=H(e.locale)?e.locale:kn,n=H(e.fallbackLocale)||$e(e.fallbackLocale)||ne(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,o=Ae(e.missing)?e.missing:void 0,a=ie(e.silentTranslationWarn)||qt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=ie(e.silentFallbackWarn)||qt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=ie(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=ne(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=Ae(e.postTranslation)?e.postTranslation:void 0,p=H(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,m=!!e.escapeParameterHtml,$=ie(e.sync)?e.sync:!0;let w=e.messages;if(ne(e.sharedMessages)){const A=e.sharedMessages;w=Object.keys(A).reduce((F,S)=>{const V=F[S]||(F[S]={});return De(V,A[S]),F},w||{})}const{__i18n:v,__root:T,__injectWithOption:P}=e,k=e.datetimeFormats,y=e.numberFormats,b=e.flatJson,C=e.translateExistCompatible;return{locale:t,fallbackLocale:n,messages:w,flatJson:b,datetimeFormats:k,numberFormats:y,missing:o,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:p,escapeParameter:m,messageResolver:e.messageResolver,inheritLocale:$,translateExistCompatible:C,__i18n:v,__root:T,__injectWithOption:P}}function ds(e={},t){{const n=gs(nm(e)),{__extender:o}=e,a={id:n.id,get locale(){return n.locale.value},set locale(s){n.locale.value=s},get fallbackLocale(){return n.fallbackLocale.value},set fallbackLocale(s){n.fallbackLocale.value=s},get messages(){return n.messages.value},get datetimeFormats(){return n.datetimeFormats.value},get numberFormats(){return n.numberFormats.value},get availableLocales(){return n.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return n.getMissingHandler()},set missing(s){n.setMissingHandler(s)},get silentTranslationWarn(){return ie(n.missingWarn)?!n.missingWarn:n.missingWarn},set silentTranslationWarn(s){n.missingWarn=ie(s)?!s:s},get silentFallbackWarn(){return ie(n.fallbackWarn)?!n.fallbackWarn:n.fallbackWarn},set silentFallbackWarn(s){n.fallbackWarn=ie(s)?!s:s},get modifiers(){return n.modifiers},get formatFallbackMessages(){return n.fallbackFormat},set formatFallbackMessages(s){n.fallbackFormat=s},get postTranslation(){return n.getPostTranslationHandler()},set postTranslation(s){n.setPostTranslationHandler(s)},get sync(){return n.inheritLocale},set sync(s){n.inheritLocale=s},get warnHtmlInMessage(){return n.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){n.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return n.escapeParameter},set escapeParameterHtml(s){n.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return n.pluralRules||{}},__composer:n,t(...s){const[r,i,l]=s,c={};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:$e(i)?u=i:ne(i)&&(p=i),$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},rt(...s){return Reflect.apply(n.rt,n,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,p=null;if(!H(r))throw Ie(Le.INVALID_ARGUMENT);const m=r;return H(i)?c.locale=i:Te(i)?c.plural=i:$e(i)?u=i:ne(i)&&(p=i),H(l)?c.locale=l:$e(l)?u=l:ne(l)&&(p=l),Reflect.apply(n.t,n,[m,u||p||{},c])},te(s,r){return n.te(s,r)},tm(s){return n.tm(s)},getLocaleMessage(s){return n.getLocaleMessage(s)},setLocaleMessage(s,r){n.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){n.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(n.d,n,[...s])},getDateTimeFormat(s){return n.getDateTimeFormat(s)},setDateTimeFormat(s,r){n.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){n.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(n.n,n,[...s])},getNumberFormat(s){return n.getNumberFormat(s)},setNumberFormat(s,r){n.setNumberFormat(s,r)},mergeNumberFormat(s,r){n.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=o,a}}const ps={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function om({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((o,a)=>[...o,...a.type===Qe?a.children:[a]],[]):t.reduce((n,o)=>{const a=e[o];return a&&(n[o]=a()),n},me())}function Ul(e){return Qe}const Gl=Bn({name:"i18n-t",props:De({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Te(e)||!isNaN(e)}},ps),setup(e,t){const{slots:n,attrs:o}=t,a=e.i18n||fs({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(p=>p!=="_"),r=me();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=H(e.plural)?+e.plural:e.plural);const i=om(t,s),l=a[is](e.keypath,i,r),c=De(me(),o),u=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(u,c,l)}}});function am(e){return $e(e)&&!H(e[0])}function zl(e,t,n,o){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=me();e.locale&&(r.locale=e.locale),H(e.format)?r.key=e.format:ue(e.format)&&(H(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((m,$)=>n.includes($)?De(me(),m,{[$]:e.format[$]}):m,me()));const l=o(e.value,r,i);let c=[r.key];$e(l)?c=l.map((m,$)=>{const w=a[m.type],v=w?w({[m.type]:m.value,index:$,parts:l}):[m.value];return am(v)&&(v[0].key=`${m.type}-${$}`),v}):H(l)&&(c=[l]);const u=De(me(),s),p=H(e.tag)||ue(e.tag)?e.tag:Ul();return pi(p,u,c)}}const ql=Bn({name:"i18n-n",props:De({value:{type:Number,required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,wl,(...o)=>n[cs](...o))}}),Hl=Bn({name:"i18n-d",props:De({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},ps),setup(e,t){const n=e.i18n||fs({useScope:e.scope,__useComponent:!0});return zl(e,t,Cl,(...o)=>n[ls](...o))}});function sm(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const o=n.__getInstance(t);return o!=null?o.__composer:e.global.__composer}}function rm(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Ie(Le.UNEXPECTED_ERROR);const u=sm(e,i.$),p=Vl(c);return[Reflect.apply(u.t,u,[...Wl(p)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Vo&&e.global===c&&(r.__i18nWatcher=Ut(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Vo&&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=Vl(i);r.textContent=Reflect.apply(l.t,l,[...Wl(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function Vl(e){if(H(e))return{path:e};if(ne(e)){if(!("path"in e))throw Ie(Le.REQUIRED_VALUE,"path");return e}else throw Ie(Le.INVALID_VALUE)}function Wl(e){const{path:t,locale:n,args:o,choice:a,plural:s}=e,r={},i=o||{};return H(n)&&(r.locale=n),Te(a)&&(r.plural=a),Te(s)&&(r.plural=s),[t,i,r]}function im(e,t,...n){const o=ne(n[0])?n[0]:{},a=!!o.useI18nComponentName;(ie(o.globalInstall)?o.globalInstall:!0)&&([a?"i18n":Gl.name,"I18nT"].forEach(r=>e.component(r,Gl)),[ql.name,"I18nN"].forEach(r=>e.component(r,ql)),[Hl.name,"I18nD"].forEach(r=>e.component(r,Hl))),e.directive("t",rm(t))}function lm(e,t,n){return{beforeCreate(){const o=Mt();if(!o)throw Ie(Le.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=Yl(e,s);else{s.__injectWithOption=!0,s.__extender=n.__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=Yl(e,a);else{this.$i18n=ds({__i18n:a.__i18n,__injectWithOption:!0,__extender:n.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Ol(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),n.__setInstance(o,this.$i18n)},mounted(){},unmounted(){const o=Mt();if(!o)throw Ie(Le.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),n.__deleteInstance(o),delete this.$i18n}}}function Yl(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[Il](t.pluralizationRules||e.pluralizationRules);const n=ta(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach(o=>e.mergeLocaleMessage(o,n[o])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(o=>e.mergeDateTimeFormat(o,t.datetimeFormats[o])),t.numberFormats&&Object.keys(t.numberFormats).forEach(o=>e.mergeNumberFormat(o,t.numberFormats[o])),e}const cm=zt("global-vue-i18n");function um(e={},t){const n=__VUE_I18N_LEGACY_API__&&ie(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,o=ie(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&n?!!e.allowComposition:!0,s=new Map,[r,i]=gm(e,n),l=zt("");function c(m){return s.get(m)||null}function u(m,$){s.set(m,$)}function p(m){s.delete(m)}{const m={get mode(){return __VUE_I18N_LEGACY_API__&&n?"legacy":"composition"},get allowComposition(){return a},async install($,...w){if($.__VUE_I18N_SYMBOL__=l,$.provide($.__VUE_I18N_SYMBOL__,m),ne(w[0])){const P=w[0];m.__composerExtend=P.__composerExtend,m.__vueI18nExtend=P.__vueI18nExtend}let v=null;!n&&o&&(v=Am($,m.global)),__VUE_I18N_FULL_INSTALL__&&im($,m,...w),__VUE_I18N_LEGACY_API__&&n&&$.mixin(lm(i,i.__composer,m));const T=$.unmount;$.unmount=()=>{v&&v(),m.dispose(),T()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:p};return m}}function fs(e={}){const t=Mt();if(t==null)throw Ie(Le.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ie(Le.NOT_INSTALLED);const n=dm(t),o=fm(n),a=Fl(t),s=pm(e,a);if(__VUE_I18N_LEGACY_API__&&n.mode==="legacy"&&!e.__useComponent){if(!n.allowComposition)throw Ie(Le.NOT_AVAILABLE_IN_LEGACY_MODE);return ym(t,s,o,e)}if(s==="global")return Ol(o,e,a),o;if(s==="parent"){let l=hm(n,t,e.__useComponent);return l==null&&(l=o),l}const r=n;let i=r.__getInstance(t);if(i==null){const l=De({},e);"__i18n"in a&&(l.__i18n=a.__i18n),o&&(l.__root=o),i=gs(l),r.__composerExtend&&(i[us]=r.__composerExtend(i)),bm(r,t,i),r.__setInstance(t,i)}return i}function gm(e,t,n){const o=ua();{const a=__VUE_I18N_LEGACY_API__&&t?o.run(()=>ds(e)):o.run(()=>gs(e));if(a==null)throw Ie(Le.UNEXPECTED_ERROR);return[o,a]}}function dm(e){{const t=Fe(e.isCE?cm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ie(e.isCE?Le.NOT_INSTALLED_WITH_PROVIDE:Le.UNEXPECTED_ERROR);return t}}function pm(e,t){return Wo(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function fm(e){return e.mode==="composition"?e.global:e.global.__composer}function hm(e,t,n=!1){let o=null;const a=t.root;let s=mm(t,n);for(;s!=null;){const r=e;if(e.mode==="composition")o=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(o=i.__composer,n&&o&&!o[Rl]&&(o=null))}if(o!=null||a===s)break;s=s.parent}return o}function mm(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function bm(e,t,n){Gn(()=>{},t),Oo(()=>{const o=n;e.__deleteInstance(t);const a=o[us];a&&(a(),delete o[us])},t)}function ym(e,t,n,o={}){const a=t==="local",s=va(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Ie(Le.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=ie(o.inheritLocale)?o.inheritLocale:!H(o.locale),i=he(!a||r?n.locale.value:H(o.locale)?o.locale:kn),l=he(!a||r?n.fallbackLocale.value:H(o.fallbackLocale)||$e(o.fallbackLocale)||ne(o.fallbackLocale)||o.fallbackLocale===!1?o.fallbackLocale:i.value),c=he(ta(i.value,o)),u=he(ne(o.datetimeFormats)?o.datetimeFormats:{[i.value]:{}}),p=he(ne(o.numberFormats)?o.numberFormats:{[i.value]:{}}),m=a?n.missingWarn:ie(o.missingWarn)||qt(o.missingWarn)?o.missingWarn:!0,$=a?n.fallbackWarn:ie(o.fallbackWarn)||qt(o.fallbackWarn)?o.fallbackWarn:!0,w=a?n.fallbackRoot:ie(o.fallbackRoot)?o.fallbackRoot:!0,v=!!o.fallbackFormat,T=Ae(o.missing)?o.missing:null,P=Ae(o.postTranslation)?o.postTranslation:null,k=a?n.warnHtmlMessage:ie(o.warnHtmlMessage)?o.warnHtmlMessage:!0,y=!!o.escapeParameter,b=a?n.modifiers:ne(o.modifiers)?o.modifiers:{},C=o.pluralRules||a&&n.pluralRules;function A(){return[i.value,l.value,c.value,u.value,p.value]}const L=be({get:()=>s.value?s.value.locale.value:i.value,set:h=>{s.value&&(s.value.locale.value=h),i.value=h}}),F=be({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:h=>{s.value&&(s.value.fallbackLocale.value=h),l.value=h}}),S=be(()=>s.value?s.value.messages.value:c.value),V=be(()=>u.value),ae=be(()=>p.value);function z(){return s.value?s.value.getPostTranslationHandler():P}function ee(h){s.value&&s.value.setPostTranslationHandler(h)}function Y(){return s.value?s.value.getMissingHandler():T}function O(h){s.value&&s.value.setMissingHandler(h)}function j(h){return A(),h()}function q(...h){return s.value?j(()=>Reflect.apply(s.value.t,null,[...h])):j(()=>"")}function W(...h){return s.value?Reflect.apply(s.value.rt,null,[...h]):""}function X(...h){return s.value?j(()=>Reflect.apply(s.value.d,null,[...h])):j(()=>"")}function ge(...h){return s.value?j(()=>Reflect.apply(s.value.n,null,[...h])):j(()=>"")}function re(h){return s.value?s.value.tm(h):{}}function pe(h,M){return s.value?s.value.te(h,M):!1}function oe(h){return s.value?s.value.getLocaleMessage(h):{}}function le(h,M){s.value&&(s.value.setLocaleMessage(h,M),c.value[h]=M)}function we(h,M){s.value&&s.value.mergeLocaleMessage(h,M)}function Re(h){return s.value?s.value.getDateTimeFormat(h):{}}function Ye(h,M){s.value&&(s.value.setDateTimeFormat(h,M),u.value[h]=M)}function nt(h,M){s.value&&s.value.mergeDateTimeFormat(h,M)}function Zt(h){return s.value?s.value.getNumberFormat(h):{}}function ot(h,M){s.value&&(s.value.setNumberFormat(h,M),p.value[h]=M)}function Cn(h,M){s.value&&s.value.mergeNumberFormat(h,M)}const f={get id(){return s.value?s.value.id:-1},locale:L,fallbackLocale:F,messages:S,datetimeFormats:V,numberFormats:ae,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale(h){s.value&&(s.value.inheritLocale=h)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:b},get pluralRules(){return s.value?s.value.pluralRules:C},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:m},set missingWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackWarn(){return s.value?s.value.fallbackWarn:$},set fallbackWarn(h){s.value&&(s.value.missingWarn=h)},get fallbackRoot(){return s.value?s.value.fallbackRoot:w},set fallbackRoot(h){s.value&&(s.value.fallbackRoot=h)},get fallbackFormat(){return s.value?s.value.fallbackFormat:v},set fallbackFormat(h){s.value&&(s.value.fallbackFormat=h)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:k},set warnHtmlMessage(h){s.value&&(s.value.warnHtmlMessage=h)},get escapeParameter(){return s.value?s.value.escapeParameter:y},set escapeParameter(h){s.value&&(s.value.escapeParameter=h)},t:q,getPostTranslationHandler:z,setPostTranslationHandler:ee,getMissingHandler:Y,setMissingHandler:O,rt:W,d:X,n:ge,tm:re,te:pe,getLocaleMessage:oe,setLocaleMessage:le,mergeLocaleMessage:we,getDateTimeFormat:Re,setDateTimeFormat:Ye,mergeDateTimeFormat:nt,getNumberFormat:Zt,setNumberFormat:ot,mergeNumberFormat:Cn};function _(h){h.locale.value=i.value,h.fallbackLocale.value=l.value,Object.keys(c.value).forEach(M=>{h.mergeLocaleMessage(M,c.value[M])}),Object.keys(u.value).forEach(M=>{h.mergeDateTimeFormat(M,u.value[M])}),Object.keys(p.value).forEach(M=>{h.mergeNumberFormat(M,p.value[M])}),h.escapeParameter=y,h.fallbackFormat=v,h.fallbackRoot=w,h.fallbackWarn=$,h.missingWarn=m,h.warnHtmlMessage=k}return Lr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Ie(Le.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const h=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=h.locale.value,l.value=h.fallbackLocale.value,c.value=h.messages.value,u.value=h.datetimeFormats.value,p.value=h.numberFormats.value):a&&_(h)}),f}const _m=["locale","fallbackLocale","availableLocales"],Jl=["t","rt","d","n","tm","te"];function Am(e,t){const n=Object.create(null);return _m.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Ie(Le.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(n,a,r)}),e.config.globalProperties.$i18n=n,Jl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Ie(Le.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Jl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(Zh(),__INTLIFY_JIT_COMPILATION__?dl(Hh):dl(qh),Oh(mh),Dh(il),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,Eh(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Sm=Object.assign({"./locales/ar/aria.json":yd,"./locales/ar/buttons.json":_d,"./locales/ar/detail.json":Ad,"./locales/ar/legend.json":Sd,"./locales/ar/messages.json":vd,"./locales/ar/options.json":$d,"./locales/ar/prayerLaps.json":kd,"./locales/ar/regions.json":Ed,"./locales/ar/search.json":Td,"./locales/ar/tabs.json":Cd,"./locales/de/aria.json":Nd,"./locales/de/buttons.json":Ld,"./locales/de/detail.json":wd,"./locales/de/legend.json":Pd,"./locales/de/messages.json":Md,"./locales/de/options.json":Id,"./locales/de/prayerLaps.json":Rd,"./locales/de/regions.json":Fd,"./locales/de/search.json":Od,"./locales/de/tabs.json":Dd,"./locales/en/aria.json":xd,"./locales/en/buttons.json":jd,"./locales/en/detail.json":Bd,"./locales/en/legend.json":Kd,"./locales/en/messages.json":Ud,"./locales/en/options.json":Gd,"./locales/en/popup.json":zd,"./locales/en/prayerLaps.json":qd,"./locales/en/regions.json":Hd,"./locales/en/search.json":Vd,"./locales/en/tabs.json":Wd,"./locales/es/aria.json":Yd,"./locales/es/buttons.json":Jd,"./locales/es/detail.json":Xd,"./locales/es/legend.json":Zd,"./locales/es/messages.json":Qd,"./locales/es/options.json":ep,"./locales/es/prayerLaps.json":tp,"./locales/es/regions.json":np,"./locales/es/search.json":op,"./locales/es/tabs.json":ap,"./locales/fr/aria.json":sp,"./locales/fr/buttons.json":rp,"./locales/fr/detail.json":ip,"./locales/fr/legend.json":lp,"./locales/fr/messages.json":cp,"./locales/fr/options.json":up,"./locales/fr/popup.json":gp,"./locales/fr/prayerLaps.json":dp,"./locales/fr/regions.json":pp,"./locales/fr/search.json":fp,"./locales/fr/tabs.json":hp,"./locales/hi/aria.json":mp,"./locales/hi/buttons.json":bp,"./locales/hi/detail.json":yp,"./locales/hi/legend.json":_p,"./locales/hi/messages.json":Ap,"./locales/hi/options.json":Sp,"./locales/hi/prayerLaps.json":vp,"./locales/hi/regions.json":$p,"./locales/hi/search.json":kp,"./locales/it/aria.json":Ep,"./locales/it/buttons.json":Tp,"./locales/it/detail.json":Cp,"./locales/it/legend.json":Np,"./locales/it/messages.json":Lp,"./locales/it/options.json":wp,"./locales/it/prayerLaps.json":Pp,"./locales/it/search.json":Mp,"./locales/pt/aria.json":Ip,"./locales/pt/buttons.json":Rp,"./locales/pt/detail.json":Fp,"./locales/pt/legend.json":Op,"./locales/pt/messages.json":Dp,"./locales/pt/options.json":xp,"./locales/pt/prayerLaps.json":jp,"./locales/pt/regions.json":Bp,"./locales/pt/search.json":Kp,"./locales/pt/tabs.json":Up,"./locales/ro/aria.json":Gp,"./locales/ro/buttons.json":zp,"./locales/ro/detail.json":qp,"./locales/ro/legend.json":Hp,"./locales/ro/messages.json":Vp,"./locales/ro/options.json":Wp,"./locales/ro/prayerLaps.json":Yp,"./locales/ro/search.json":Jp,"./locales/ru/aria.json":Xp,"./locales/ru/buttons.json":Zp,"./locales/ru/detail.json":Qp,"./locales/ru/legend.json":ef,"./locales/ru/messages.json":tf,"./locales/ru/options.json":nf,"./locales/ru/prayerLaps.json":of,"./locales/ru/regions.json":af,"./locales/ru/search.json":sf,"./locales/ru/tabs.json":rf,"./locales/zh/aria.json":lf,"./locales/zh/buttons.json":cf,"./locales/zh/detail.json":uf,"./locales/zh/legend.json":gf,"./locales/zh/messages.json":df,"./locales/zh/options.json":pf,"./locales/zh/prayerLaps.json":ff,"./locales/zh/search.json":hf}),oo={};for(const[e,t]of Object.entries(Sm)){const n=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!n)continue;const[,o,a]=n;oo[o]??(oo[o]={}),oo[o][a]=t}const Xl=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"];function vm(){var n;const t=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return Xl.includes(t)?t:"en"}function $m(){return um({legacy:!1,globalInjection:!0,locale:vm(),fallbackLocale:"en",messages:oo,missingWarn:!1,fallbackWarn:!1})}function Zl(e,t){const n=t||km(e);Gn(()=>{var i;const o=Mt();if(!o)return;const a=(i=o.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${n}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",n),r.textContent=e,s.appendChild(r)})}function km(e){let t=0;for(let n=0;n(t==null?void 0:t.theme)==="dark"),a=be(()=>{var T;return((T=n==null?void 0:n.value)==null?void 0:T.pinHintLabel)||"Tap a coloured dot — someone still needs prayer"}),s=he(!1),r=he(null);let i=null,l=null,c=null,u=null,p=null;function m(){s.value=!1}function $(T,P){var y;let k=T==null?void 0:T.parentElement;for(let b=0;k&&b<12;b++,k=k.parentElement){if(k===P||(y=k.classList)!=null&&y.contains("profile-loader"))return null;let C="";try{C=getComputedStyle(k).position}catch{}if(C&&C!=="static"){const A=k.getBoundingClientRect();if(A.height>=120&&A.width>=160)return k}}return null}function w(){const T=r.value;if(T)try{T.style.removeProperty("--pin-hint-lift");const P=T.getBoundingClientRect();if(!P.height)return;const k=Math.round(P.bottom-window.innerHeight);k>0&&T.style.setProperty("--pin-hint-lift",k+8+"px")}catch{}}function v(T){const P=r.value;if(!P||!(T!=null&&T.querySelector))return;let k=0;try{const b=T.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(b){const C=b.getBoundingClientRect(),A=P.parentElement,L=A?A.getBoundingClientRect():null;if(k=L?Math.max(C.height||0,L.bottom-C.top):C.height||0,p!==b&&typeof ResizeObserver<"u"){if(c)try{c.disconnect()}catch{}p=b,c=new ResizeObserver(()=>v(T)),c.observe(b)}}}catch{}const y=Math.min(Math.max(Math.ceil(k)||20,20),72);P.style.setProperty("--pin-hint-attrib-clear",y+"px"),w()}return Gn(()=>{var y,b,C;const T=Mt(),P=(C=(b=(y=T==null?void 0:T.proxy)==null?void 0:y.$el)==null?void 0:b.getRootNode)==null?void 0:C.call(b);if(!P||typeof P.querySelector!="function")return;let k=0;i=setInterval(()=>{k++;const A=P.querySelector("canvas");A?(clearInterval(i),i=null,s.value=!0,No(()=>{const L=$(A,P),F=r.value;if(L&&F&&F.parentElement!==L)try{L.appendChild(F),l=L}catch{}v(P),w();try{const S=r.value&&r.value.offsetParent||null;if(S&&typeof ResizeObserver<"u"){if(u)try{u.disconnect()}catch{}u=new ResizeObserver(()=>w()),u.observe(S)}}catch{}})):k>40&&(clearInterval(i),i=null)},300)}),Fo(()=>{var T;if(i&&clearInterval(i),c){try{c.disconnect()}catch{}c=null}if(p=null,u){try{u.disconnect()}catch{}u=null}if(l&&((T=r.value)==null?void 0:T.parentElement)===l)try{l.removeChild(r.value)}catch{}l=null}),Zl(` .pin-hint { position: absolute; left: 50%; bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%); z-index: 2147482000; pointer-events: none; @@ -68,9 +68,9 @@ @media (prefers-reduced-motion: reduce) { .pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; } } -`,"pin-hint"),($,P)=>s.value?(We(),wt("div",{key:0,ref_key:"hintEl",ref:i,class:Nn(["pin-hint",{dark:o.value}]),role:"status"},[Ce("span",bm,[P[0]||(P[0]=Ce("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Nt(" "+Qt(a.value)+" ",1),Ce("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let ym=0;const Am=Ha("ui",{state:()=>({_storeInstanceId:++ym,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,i={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(i),!s&&o>0&&setTimeout(()=>{this.removeToast(i.id)},o),i.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Sm=Ha("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,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 n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),vm=Ha("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=Fn({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Fn({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ql={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},km=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Tm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Em={class:"profile-loader"},$m={key:0,class:"profile-error"},Lm={key:1,class:"profile-error"},Cm=Tm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var L;const n=e,o=De("profileConfig",null),a=be(()=>{var w;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const D=(w=o==null?void 0:o.value)==null?void 0:w.assetsBase;typeof D=="string"&&D&&(A.assetsBase=D)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),i=md(),r=be(()=>{var w;const A=(w=a.value)==null?void 0:w.tk;return typeof A=="string"&&A?A:i.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Dr(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),f=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var w,D;const A=(((w=a.value)==null?void 0:w.locale)||((D=a.value)==null?void 0:D.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),k=De("appI18n",null);Nu(()=>{m.value&&k&&(k.global.locale.value=m.value)});const N=be(()=>{var A,w;return m.value||((w=(A=k==null?void 0:k.global)==null?void 0:A.locale)==null?void 0:w.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),$=De("profileModules",null);if(!$)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return $[A]?bd($[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys($)),null)});bt("mapboxToken",r),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",N);const T=Am(),_=Sm(),b=vm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((L=T.setTheme)==null||L.call(T,A))}catch{}return bt("uiStore",T),bt("mapStore",_),bt("dataStore",b),(A,w)=>(We(),wt("div",Em,[a.value?P.value?(We(),Bo(Pi(P.value),{key:2})):(We(),wt("div",Lm,[Ce("p",null,[w[1]||(w[1]=Nt("⚠️ Profile ",-1)),Ce("strong",null,'"'+Qt(s.value)+'"',1),w[2]||(w[2]=Nt(" not found.",-1))])])):(We(),wt("div",$m,[...w[0]||(w[0]=[Ce("p",null,[Nt("⚠️ "),Ce("strong",null,"doxa-map"),Nt(": missing or invalid "),Ce("code",null,"profile-config"),Nt(" prop.")],-1),Ce("p",null,[Nt("Example: "),Ce("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pi(To(null)),{key:3})):bn("",!0),P.value&&f.value?(We(),Bo(_m,{key:4})):bn("",!0)]))}},[["styles",[km]],["__scopeId","data-v-ba19fc13"]]),wm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>Pb),void 0)}),Nm=od(Cm,{configureApp(e){e.use(cd());const t=hm();e.use(t),e.provide("appI18n",t),e.provide("profileModules",wm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",Nm);const Pm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Mm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=T=>T.classList.contains("map-scroll-edge--left");for(const T of o)T.style.background=`linear-gradient(${a(T)?"to right":"to left"}, ${Pm} ${ec}, transparent ${ec})`,T.style.opacity="0",T.style.transition="opacity 0.16s ease",T.style.userSelect="none",T.style.webkitUserSelect="none";const s=T=>{T.style.opacity="1"},i=T=>{T.style.opacity="0"},r=()=>o.find(T=>!a(T))||null,l=new Set;let c=!1,u=null;const f=()=>{for(const T of o)l.has(T)||i(T)},m=()=>{const T=r();T&&(s(T),u&&clearTimeout(u),u=setTimeout(f,250))},k=()=>m(),N=T=>{if(!(T.touches&&T.touches.length===1))return;const _=T.target;_&&_.classList&&_.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),f()};e.addEventListener("wheel",k,{passive:!0}),e.addEventListener("touchmove",N,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const $=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",$,{passive:!0});const P=[];for(const T of o){const _=()=>{l.add(T),s(T)},b=()=>{l.delete(T),i(T)},L=()=>{c=!0,s(T)},A=()=>{c=!1,i(T)};T.addEventListener("mouseenter",_),T.addEventListener("mouseleave",b),T.addEventListener("touchstart",L,{passive:!0}),T.addEventListener("touchend",A,{passive:!0}),P.push(()=>{T.removeEventListener("mouseenter",_),T.removeEventListener("mouseleave",b),T.removeEventListener("touchstart",L),T.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",k),e.removeEventListener("touchmove",N),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",$);for(const _ of P)_();for(const _ of o)i(_)}}const Im=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Rm(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Im[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Dm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const Fm=["mapbox","maplibre"],nc="mapbox";function Om(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=Om(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||nc).toLowerCase().trim();return Fm.includes(s)?s:nc}const $n={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const xm=$n.mapbox.css,jm="https://tiles.openfreemap.org/styles/liberty",Bm="https://tiles.openfreemap.org/styles/fiord";function hs(e){var n;const t=((n=$n[e])==null?void 0:n.global)||$n.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Km(e){const t=$n[e]||$n.mapbox;if(hs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(hs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Um(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=i=>new Promise(r=>setTimeout(r,i)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(i=>{a.addEventListener("load",i,{once:!0}),a.addEventListener("error",i,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(i=>{s.addEventListener("load",i,{once:!0}),s.addEventListener("error",i,{once:!0}),n.prepend(s)}),o(2e3)])}function Gm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Bm:jm}const zm=85.0511,ms=-2,qm=0,Hm=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function Vm(e,t,n,o){if(!e||e<=0||!t||t<=0)return qm;const a=Math.log2(e/512),s=sc(o)-sc(zm),i=Math.log2(t/(512*s)),r=Math.max(a,i);return Math.max(ms,Math.min(r,(n??18)-1))}function Wm({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:i=2,minZoom:r=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:f=0,renderWorldCopies:m=!0,showEdgeBorders:k=!0,southCutoff:N=Hm,maxBounds:v=void 0}){const $=va(null),P=he(!1);let T=null,_=null,b=null,L=null;try{L=De("profileConfig",null)}catch{}a=a||oc(L);const A=a==="maplibre";async function w(){var fe;const S=Rm(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Km(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Um(e.value,A?$n.maplibre.css:xm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const F=t;A||(ae.accessToken=F);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof r=="number"?r:ms;if(!j())return ms;const Ne=Vm(oe,le,c,N);return typeof r=="number"?Math.max(r,Ne):Ne},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){$.value=new ae.Map({container:e.value,style:Gm(V,X),center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}else{const oe=typeof o=="function"?o():o;$.value=new ae.Map({accessToken:F,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:i,minZoom:W,maxZoom:c,pitch:u,bearing:f,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac($.value);try{e.value.__doxaMap=$.value}catch{}}try{let oe=!1;$.value.on("error",le=>{var Ye,nt;const Ne=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");Ne!==401&&Ne!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${Ne} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{$.value.touchZoomRotate.disableRotation()}catch{}b=Mm(((fe=e.value)==null?void 0:fe.parentElement)||null,{enabled:k});let ge=W,ie=null;T=()=>{const oe=$.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){ie=null;const Ne=$.value;if(!Ne)return;const Re=q(z.clientWidth,z.clientHeight);if(Ne.getZoom(){ie&&(clearTimeout(ie),ie=null)},$.value.on("resize",T),typeof window<"u"&&(window.addEventListener("resize",T),window.addEventListener("orientationchange",T)),$.value.on("style.load",()=>{if(S.paint&&$.value){const oe=Dm($.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=$.value)==null||oe.resize(),$.value&&$.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function D(){if($.value){if(T&&($.value.off("resize",T),typeof window<"u"&&(window.removeEventListener("resize",T),window.removeEventListener("orientationchange",T)),T=null),_){try{_()}catch{}_=null}b&&(b(),b=null),$.value.remove(),$.value=null,P.value=!1}}return{map:$,isMapReady:P,initializeMap:w,destroy:D}}const ic="doxa-prayed-local",Ym=7*24*60*60*1e3;function Jm(){try{const e=localStorage.getItem(ic);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function Xm(e){try{localStorage.setItem(ic,JSON.stringify(e))}catch{}}function Zm(){const e=Date.now(),t=Jm();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>Ym)&&(delete t[o],n=!0);return n&&Xm(t),new Set(Object.keys(t))}function Qm(e){const t=Zm();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={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"},rc={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},bs="languageFamily",eb="#000000",Jt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},tb=Jt;function _s(e){return Jt[e]||eb}const nb=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),ob={"tai-kadai":"Kra-Dai",none:"Unknown"};function ys(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return ob[n]||nb[n]||t}function lc(e){var t;return _s(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,ab=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:tb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:ys,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:_s,canonicalFamilyName:ys},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:_s,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Ot={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},sb=Ot,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},ib=Ss;function gc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Ot.hasAdoption:Ot.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Ot.hasAdoption,["==",t,1],Ot.hasAdoption,Ot.notAdopted]}const dc=vs,rb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:sb,ADOPTION_LABELS:ib,LABELS:Ss,PALETTE:Ot,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Ot,colors:Ot,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),fc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},lb=xt,ks={notEngaged:"Unengaged",hasEngagement:"Engaged"},cb=ks;function pc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xt.hasEngagement:xt.notEngaged}function Ts({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=Ts,ub=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:lb,ENGAGEMENT_LABELS:cb,LABELS:ks,PALETTE:xt,PROPERTY_KEY:fc,applyColor:Ts,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:fc,palette:xt,colors:xt,labels:ks,getColor:pc,applyColor:Ts,buildColorExpression:hc},getColor:pc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},gb=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},db=Es;function oa(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function $s(e){return Xt[oa(e)]}function bc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function _c(e){return oa(e)==="fullPrayer"}function yc(e){return $s(e)}function Ls({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Ls,fb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:gb,PRAYER_LABELS:db,PROPERTY_KEY:mc,applyColor:Ls,buildColorExpression:Ac,checkHasFullPrayer:_c,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:yc,applyColor:Ls,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:$s,checkHasPrayer:bc,checkHasFullPrayer:_c},getColor:yc,getPrayerColor:$s,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Cs="#94a3b8",ws={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return ws[t]?t:"U"}function kc(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return tt[vc(t)]||Cs}function Ns(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Cs]}const Tc=Ns,pb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:ws,applyColor:Ns,buildColorExpression:Tc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:ws,getColor:kc,applyColor:Ns,buildColorExpression:Tc,fallback:Cs},getColor:kc,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",$c={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Lc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Cc=Is,hb=Object.assign({"./adoption.js":rb,"./engagement.js":ub,"./language-family.js":ab,"./prayer-progress.js":fb,"./religion.js":pb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:$c,applyColor:Is,buildColorExpression:Cc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:$c,order:Ms,getColor:Lc,applyColor:Is,buildColorExpression:Cc,fallback:Ps},getColor:Lc},Symbol.toStringTag,{value:"Module"}))}),mb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),bb=e=>e.replace(/-/g,"_").toUpperCase(),_b={...{STATUS:"status",CUSTOM:"custom"}};function yb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=mb(n);_b[bb(n)]=a}}yb(hb);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Ab=[[/ sign language$/i,"Sign Language"]];function Sb(e){var r,l;const t=Rs(e.languageFamily);if(t)return t;const n=String(((l=(r=e._raw)==null?void 0:r.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&rc[n])return rc[n];const o=Rs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const i=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(i!==a&&Yt[i])return Yt[i];for(const[c,u]of Ab)if(c.test(a))return u;return""}function vb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=w=>w}=e;o||console.error("useMapData: dataSourceManager is required!");const i=he(!1),r=he(null),l=he(!1),c=he([]),u=he([]),f=he(null),m=he([]),k=he([]),N=he([]),v=he(null);async function $(){if(!o)throw new Error("dataSourceManager is required for useMapData");i.value=!0,r.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const F=a.getSourceData(n);u.value=s(F.normalizedData||[])}else{const F=await o.setActiveSource(n);for(const j of F){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Sb(j);j.languageFamily=ys(W)}u.value=s(F),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:F,timestamp:Date.now()})}c.value=s(Qm(u.value.map(F=>({id:F.uniqueId,slug:F.slug||"",rop3:F.peopleGroupId,peopleId3:F.peopleId3,name:F.name,language:F.language,languageFamily:F.languageFamily,country:F.country,population:F.population,status:F.engagementStatus||F.status,latitude:F.latitude,longitude:F.longitude,lng:F.longitude,lat:F.latitude,description:F.description,imageUrl:F.imageUrl,doxaRegion:F.doxaRegion||F.wagfRegion||"",peoplePraying:F.peoplePraying??null,_normalized:F}))));const w=o.getDataByLanguageFamily();m.value=Object.entries(w).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>j.count-F.count);const D=o.getDataByRegion();k.value=Object.entries(D).map(([F,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:F,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((F,j)=>F.name.localeCompare(j.name));const S={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(F=>{const j=parseInt(F.population)||0;let q=!1;F.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(F),q=!0),F.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(F),q=!0),F.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(F),q=!0),F.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(F),q=!0),F.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(F),q=!0),F.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(F),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(F)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(F))});const V=u.value.length,ae=u.value.reduce((F,j)=>F+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return N.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:k.value,resourcesData:N.value,stats:v.value}}catch(w){throw console.error(`Failed to load data for map "${t}":`,w),r.value=w.message||"Failed to load data",w}finally{i.value=!1}}async function P(){var w,D,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((D=(w=z._raw)==null?void 0:w.country_code)==null?void 0:D.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,F=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&F&&!V[ee]&&(V[ee]=F)}return f.value={isoToRegion:V},f.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),r.value=V.message||"Failed to build regions",V}}function T(){return o?o.getDataByLanguageFamily():{}}function _(){return o?o.getDataByRegion():{}}function b(w){return T()[w]||[]}function L(w){return _()[w]||[]}function A(){c.value=[],u.value=[],f.value=null,m.value=[],k.value=[],N.value=[],v.value=null,l.value=!1,r.value=null}return{isLoading:i,isInitialized:l,error:r,peopleGroups:c,normalizedPeopleGroups:u,regionsData:f,languageFamiliesData:m,doxaRegionsData:k,resourcesData:N,stats:v,loadData:$,loadRegionsData:P,getDataByLanguageFamily:T,getDataByRegion:_,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:L,clearData:A}}const Ds={};function kb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Ds==null?void 0:Ds.VITE_API_BASE_URL)||""}class wc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Ql,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,i=[],r=!0;for(let l=0;ls.value?(We(),Lt("div",{key:0,ref_key:"hintEl",ref:r,class:wn(["pin-hint",{dark:o.value}]),role:"status"},[Ne("span",Em,[P[0]||(P[0]=Ne("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),wt(" "+Qt(a.value)+" ",1),Ne("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:m},"×")])],2)):bn("",!0)}};let Cm=0;const Nm=Ha("ui",{state:()=>({_storeInstanceId:++Cm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(n=>n.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const n=this.isDarkTheme;document.documentElement.setAttribute("data-theme",n?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:n="info",duration:o=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:n,duration:o,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&o>0&&setTimeout(()=>{this.removeToast(r.id)},o),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(n=>n.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(n=>{for(const o of n)this.updateWindowSize(o.contentRect.width,o.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",n.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",n=>{this.reducedMotion=n.matches,document.documentElement.setAttribute("data-reduced-motion",n.matches)}))}}}),Lm=Ha("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,n={}){let o=1.5;n.zoom!==void 0?o=n.zoom:t&&typeof t.getZoom=="function"&&(o=t.getZoom());let a=[0,0];if(n.center)a=n.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:n,isReady:!1,zoom:o,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 n=this.maps[e];n&&Object.assign(n,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),wm=Ha("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const n=await t();this.sources[e]=On({features:n,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(n){console.error(`[dataStore] Failed to load source "${e}":`,n),this.loadingStates[e]={isLoading:!1,error:n}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=On({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var n;return((n=e.sources[t])==null?void 0:n.features)??null},isLoading:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.isLoading)??!1},getError:e=>t=>{var n;return((n=e.loadingStates[t])==null?void 0:n.error)??null}}}),Ql={_meta:{_comment:"Single source of truth for data-source connections across all doxa-maps bundles.",_comment_token:"Mapbox access token is fetched at runtime from window.MAP_TOKEN_URL (same modular pattern as window.MAP_APP_API_URL). Not hardcoded to any host — set mapboxTokenUrl below or override window.MAP_TOKEN_URL on the host page.",mapboxTokenUrl:"window.MAP_TOKEN_URL"},activeSource:"pray-tools",sources:{"pray-tools":{id:"pray-tools",name:"Prayer.Tools API",type:"rest-api",description:"pray.doxa.life live API — people-group prayer, engagement, and adoption data. Base URL read from window.MAP_APP_API_URL or VITE_API_BASE_URL at runtime.",endpoints:{bulk:"/api/people-groups/list",detail:"/api/people-groups/detail/{slug}",statistics:"/api/people-groups/statistics"},queryParams:{lang:"en"},defaultFields:["slug","name","latitude","longitude","wagf_region","wagf_block","wagf_member","rop1","imb_reg_of_people_2","imb_reg_of_people_25","imb_reg_of_people_3","country_code","religion","population","has_photo","image_url","people_praying","people_committed","adopted_by_churches","engagement_status","imb_gsec","primary_language","imb_language_family","imb_language_class","imb_language_speakers"],pollFields:["slug","people_praying"],pollInterval:3e5,fallbackSourceId:null,fieldMappings:{uniqueId:"slug",slug:"slug",name:"name",latitude:"latitude",longitude:"longitude",wagfRegion:"wagf_region",doxaRegion:"wagf_region",wagfBlock:"wagf_block",wagfMember:"wagf_member",affinityBlock:"rop1",countryIso:"country_code",religion:"religion",religionCode:"religion",population:"population",hasPhoto:"has_photo",imageUrl:"image_url",photoUrl:"image_url",peoplePraying:"people_praying",peopleCommitted:"people_committed",engagementStatus:"engagement_status",adoptionStatus:"adopted_by_churches",language:"primary_language",cluster:"imb_reg_of_people_2",peopleGroup:"imb_reg_of_people_25",peopleGroupCountry:"imb_reg_of_people_3",languageFamily:"imb_language_family",languageClass:"imb_language_class",languageSpeakers:"imb_language_speakers"},imageConfig:{useField:"imageUrl",fallbackField:null,fallbackUrlTemplate:null,placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",useSvgPlaceholder:!0}},"doxa-csv":{id:"doxa-csv",name:"DOXA People Groups CSV",type:"csv",path:"assets/data/Joshua-project-ids-Doxa-1439.csv",description:"People groups dataset from DOXA / Joshua Project",fieldMappings:{uniqueId:"ROP3",peopleGroupId:"ROP3",countryCode:"ROG",peopleId3:"PeopleID3",name:"Name",displayName:"NmDisp",alternateName:"NmAlt",description:"PeopleDesc",locationDescription:"LocationDe",country:"Ctry",countryIso:"ISOalpha3",region:"Regn",subRegion:"RegnSub",wagfRegion:"WAGF Region",doxaRegion:"WAGF Region",wagfBlock:"WAGF BLOCK",affinityBloc:"Affbloc",affinityBlock:"ROP1",affinityCode:"AffCd",affinityName:"Aff",peopleCluster:"PplClstr",ethneName:"Ethne",latitude:"Latitude",longitude:"Longitude",population:"Pop",populationClass:"PopCls",status:"Status",engagementStatus:"EngStat",evangelicalLevel:"EvngLvl",gsec:"GSEC",gsecBrief:"GSECbrf",gsecLong:"GSEClng",spiScore:"SPI",spiDescription:"SPIdesc",language:"Lang",languageCode:"ROL",languageFamily:"LangFamily",religion:"Rlgn",religionCode:"ROR",religionDescription:"RORdesc",religionBase:"RlgnBs",religionDiv:"RlgnDiv",bible:"Bible",jesusFilm:"Jesus",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",resourcesTotal:"ResTot",bibleLevel:"LvlBible",yearPublished:"YrPub",photoCredit:"PicCrdt",photoUrl:"PicURL",hasPhoto:"Photo",isIndigenous:"Indigenous"},imageConfig:{useField:"photoUrl",fallbackField:"peopleId3",fallbackUrlTemplate:"https://joshuaproject.net/assets/media/profiles/photos/p{peopleId3}.jpg",placeholderUrl:"https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg"}}},systemFields:{uniqueId:{description:"Unique identifier per row (slug for API, ROP3+ROG for CSV)",required:!0},peopleGroupId:{description:"People group ID — same group can appear in multiple countries",required:!0},name:{description:"People group display name",required:!0},latitude:{description:"Latitude coordinate for map pin",required:!0},longitude:{description:"Longitude coordinate for map pin",required:!0},engagementStatus:{description:"Boolean — true if engaged_status = 'engaged'",required:!1},adoptionStatus:{description:"Boolean — true if adopted_by_churches > 0",required:!1},peoplePraying:{description:"Number of people currently praying for this group — from pray-tools API",required:!1},peopleCommitted:{description:"Raw count of committed workers for this group — source of engagementStatus",required:!1},languageFamily:{description:"Language family name",required:!1},religion:{description:"Primary religion",required:!1},population:{description:"Population count",required:!1},doxaRegion:{description:"WAGF/DOXA region name",required:!1},photoUrl:{description:"URL to people group photo",required:!1},description:{description:"People group description text",required:!1}}},Pm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Mm=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},Im={class:"profile-loader"},Rm={key:0,class:"profile-error"},Fm={key:1,class:"profile-error"},Om=Mm({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var C;const n=e,o=Fe("profileConfig",null),a=be(()=>{var L;if(!n.profileConfig)return null;let A;try{A=JSON.parse(n.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",n.profileConfig),null}if(A&&A.assetsBase===void 0){const F=(L=o==null?void 0:o.value)==null?void 0:L.assetsBase;typeof F=="string"&&F&&(A.assetsBase=F)}return A}),s=be(()=>{var A;return((A=a.value)==null?void 0:A.profile)||null}),r=md(),i=be(()=>{var L;const A=(L=a.value)==null?void 0:L.tk;return typeof A=="string"&&A?A:r.value||""});Ut(()=>{var A;return(A=a.value)==null?void 0:A.tk},A=>{typeof A=="string"&&A&&Fi(A)},{immediate:!0});const l=be(()=>{var A;return((A=a.value)==null?void 0:A.dataSource)||Ql.activeSource||"doxa-csv"}),c=be(()=>{var A;return((A=a.value)==null?void 0:A.colorSet)||"default"}),u=be(()=>!1),p=be(()=>{var A;return((A=a.value)==null?void 0:A.pinHint)!==!1}),m=be(()=>{var L,F;const A=(((L=a.value)==null?void 0:L.locale)||((F=a.value)==null?void 0:F.lang)||"").split("-")[0].toLowerCase();return Xl.includes(A)?A:""}),$=Fe("appI18n",null);wu(()=>{m.value&&$&&($.global.locale.value=m.value)});const w=be(()=>{var A,L;return m.value||((L=(A=$==null?void 0:$.global)==null?void 0:A.locale)==null?void 0:L.value)||"en"}),v=be(()=>{var A;return((A=a.value)==null?void 0:A.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),T=Fe("profileModules",null);if(!T)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const P=be(()=>{if(!s.value)return null;const A=`./${s.value}.vue`;return T[A]?bd(T[A]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(T)),null)});bt("mapboxToken",i),bt("dataSource",l),bt("colorSet",c),bt("profileConfig",a),bt("instanceId",v),bt("lang",w);const k=Nm(),y=Lm(),b=wm();try{const A=typeof localStorage<"u"?localStorage.getItem("theme"):null;A&&((C=k.setTheme)==null||C.call(k,A))}catch{}return bt("uiStore",k),bt("mapStore",y),bt("dataStore",b),(A,L)=>(We(),Lt("div",Im,[a.value?P.value?(We(),Bo(Pr(P.value),{key:2})):(We(),Lt("div",Fm,[Ne("p",null,[L[1]||(L[1]=wt("⚠️ Profile ",-1)),Ne("strong",null,'"'+Qt(s.value)+'"',1),L[2]||(L[2]=wt(" not found.",-1))])])):(We(),Lt("div",Rm,[...L[0]||(L[0]=[Ne("p",null,[wt("⚠️ "),Ne("strong",null,"doxa-map"),wt(": missing or invalid "),Ne("code",null,"profile-config"),wt(" prop.")],-1),Ne("p",null,[wt("Example: "),Ne("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),P.value&&u.value?(We(),Bo(Pr(ko(null)),{key:3})):bn("",!0),P.value&&p.value?(We(),Bo(Tm,{key:4})):bn("",!0)]))}},[["styles",[Pm]],["__scopeId","data-v-ba19fc13"]]),Dm=Object.assign({"./all-people-groups.vue":()=>Mc(()=>Promise.resolve().then(()=>jb),void 0)}),xm=od(Om,{configureApp(e){e.use(cd());const t=$m();e.use(t),e.provide("appI18n",t),e.provide("profileModules",Dm)}});typeof customElements<"u"&&!customElements.get("all-people-groups")&&customElements.define("all-people-groups",xm);const jm="rgba(120, 128, 134, 0.28)",ec="36px",tc=()=>{};function Bm(e,t={}){const{enabled:n=!0}=t;if(!n||!e)return tc;const o=Array.from(e.querySelectorAll(".map-scroll-edge"));if(!o.length)return tc;const a=k=>k.classList.contains("map-scroll-edge--left");for(const k of o)k.style.background=`linear-gradient(${a(k)?"to right":"to left"}, ${jm} ${ec}, transparent ${ec})`,k.style.opacity="0",k.style.transition="opacity 0.16s ease",k.style.userSelect="none",k.style.webkitUserSelect="none";const s=k=>{k.style.opacity="1"},r=k=>{k.style.opacity="0"},i=()=>o.find(k=>!a(k))||null,l=new Set;let c=!1,u=null;const p=()=>{for(const k of o)l.has(k)||r(k)},m=()=>{const k=i();k&&(s(k),u&&clearTimeout(u),u=setTimeout(p,250))},$=()=>m(),w=k=>{if(!(k.touches&&k.touches.length===1))return;const y=k.target;y&&y.classList&&y.classList.contains("map-scroll-edge")||m()},v=()=>{u&&clearTimeout(u),p()};e.addEventListener("wheel",$,{passive:!0}),e.addEventListener("touchmove",w,{passive:!0}),e.addEventListener("touchend",v,{passive:!0}),e.addEventListener("touchcancel",v,{passive:!0});const T=()=>{c||m()};typeof window<"u"&&window.addEventListener("scroll",T,{passive:!0});const P=[];for(const k of o){const y=()=>{l.add(k),s(k)},b=()=>{l.delete(k),r(k)},C=()=>{c=!0,s(k)},A=()=>{c=!1,r(k)};k.addEventListener("mouseenter",y),k.addEventListener("mouseleave",b),k.addEventListener("touchstart",C,{passive:!0}),k.addEventListener("touchend",A,{passive:!0}),P.push(()=>{k.removeEventListener("mouseenter",y),k.removeEventListener("mouseleave",b),k.removeEventListener("touchstart",C),k.removeEventListener("touchend",A)})}return function(){u&&(clearTimeout(u),u=null),e.removeEventListener("wheel",$),e.removeEventListener("touchmove",w),e.removeEventListener("touchend",v),e.removeEventListener("touchcancel",v),typeof window<"u"&&window.removeEventListener("scroll",T);for(const y of P)y();for(const y of o)r(y)}}const Km=Object.fromEntries([{id:"midnight-glow",label:"Midnight Glow",mood:"the prayer-map dark — pins glow like embers",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"night",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["doxa-simple-map","my-upg-100-list"]},{id:"daylight",label:"Daylight",mood:"the same Standard world, lights on",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"day",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","gospel-resources"]},{id:"dawn",label:"Dawn",mood:"soft warm horizon — hopeful, quiet",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dawn",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["doxa-simple-map"]},{id:"dusk",label:"Dusk",mood:"blue hour — calm contrast for bright pins",mapbox:"mapbox://styles/mapbox/standard",lightPreset:"dusk",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["my-upg-100-list"]},{id:"paper",label:"Paper",mood:"near-white minimal — data reads like print",mapbox:"mapbox://styles/mapbox/light-v11",maplibre:"https://tiles.openfreemap.org/styles/positron",bestFor:["research-dashboard","cities-internet"]},{id:"ink",label:"Ink",mood:"near-black minimal — maximum pin contrast",mapbox:"mapbox://styles/mapbox/dark-v11",maplibre:"https://tiles.openfreemap.org/styles/dark",bestFor:["my-upg-100-list","cities-internet"]},{id:"streetlife",label:"Street Life",mood:"full street detail — city-scale work",mapbox:"mapbox://styles/mapbox/streets-v12",maplibre:"https://tiles.openfreemap.org/styles/bright",bestFor:["cities-internet","key-cities"]},{id:"terrain",label:"Terrain",mood:"relief + parks — where people actually live",mapbox:"mapbox://styles/mapbox/outdoors-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["doxa-research-map","country-posters"]},{id:"satellite",label:"Satellite",mood:"imagery — the real ground",mapbox:"mapbox://styles/mapbox/satellite-v9",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["country-posters"]},{id:"hybrid",label:"Hybrid",mood:"imagery + labels — orientation without losing ground truth",mapbox:"mapbox://styles/mapbox/satellite-streets-v12",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["key-cities"]},{id:"wayfinder-day",label:"Wayfinder Day",mood:"high-legibility navigation palette",mapbox:"mapbox://styles/mapbox/navigation-day-v1",maplibre:"https://tiles.openfreemap.org/styles/liberty",bestFor:["gospel-resources"]},{id:"wayfinder-night",label:"Wayfinder Night",mood:"dark navigation — dashboards at night",mapbox:"mapbox://styles/mapbox/navigation-night-v1",maplibre:"https://tiles.openfreemap.org/styles/fiord",bestFor:["research-dashboard"]},{id:"galaxy",label:"Galaxy",mood:"the day side of Earth floating in space — normal land, blue oceans, black void behind the sphere",mapbox:"mapbox://styles/mapbox/standard",maplibre:"https://tiles.versatiles.org/assets/styles/colorful/style.json",bestFor:["research-dashboard","my-upg-100-list"]}].map(e=>[e.id,e]));function Um(e,t="mapbox"){if(typeof e!="string"||!e)return{style:void 0,lightPreset:void 0,paint:void 0};const n=Km[e];return n?t==="maplibre"?{style:n.maplibre,lightPreset:void 0,paint:n.paint}:{style:n.mapbox,lightPreset:n.lightPreset,paint:n.paint}:/^(mapbox:\/\/|https?:\/\/)/.test(e)?{style:e,lightPreset:void 0,paint:void 0}:{style:void 0,lightPreset:void 0,paint:void 0}}function Gm(e,t){if(!e||!Array.isArray(t))return[];const n=[];for(const o of t)if(!(!o||!o.layer||!o.prop))try{if(!e.getLayer(o.layer))continue;e.setPaintProperty(o.layer,o.prop,o.value),n.push(o.layer+"."+o.prop)}catch{}return n}const zm=["mapbox","maplibre"],nc="mapbox";function qm(e){return e&&typeof e=="object"&&"value"in e&&!("provider"in e)&&!("profile"in e)?e.value:e}function oc(e){const t=qm(e),n=t==null?void 0:t.provider,o=typeof location<"u"?new URLSearchParams(location.search).get("provider"):void 0,a=typeof window<"u"?window.MAP_PROVIDER:void 0,s=String(n||o||a||nc).toLowerCase().trim();return zm.includes(s)?s:nc}const Tn={mapbox:{global:"mapboxgl",js:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.js",css:"https://api.mapbox.com/mapbox-gl-js/v3.24.0/mapbox-gl.css"},maplibre:{global:"maplibregl",js:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.js",css:"https://cdn.jsdelivr.net/npm/maplibre-gl@5/dist/maplibre-gl.css"}};function ac(e){if(typeof window>"u")return;const t=window,n=()=>{try{const o=e.getContainer().querySelector(".mapboxgl-ctrl-logo, .maplibregl-ctrl-logo");o&&(o.style.display="none")}catch{}};if(t.__doxaLogoOwner&&t.__doxaLogoOwner!==e){e.once("load",n),n();return}t.__doxaLogoOwner=e,e.once("remove",()=>{t.__doxaLogoOwner===e&&(t.__doxaLogoOwner=null)})}const Hm=Tn.mapbox.css,Vm="https://tiles.openfreemap.org/styles/liberty",Wm="https://tiles.openfreemap.org/styles/fiord";function hs(e){var n;const t=((n=Tn[e])==null?void 0:n.global)||Tn.mapbox.global;return typeof window<"u"?window[t]:void 0}async function Ym(e){const t=Tn[e]||Tn.mapbox;if(hs(e)||typeof document>"u")return;if(!document.querySelector(`link[href="${t.css}"]`)){const o=document.createElement("link");o.rel="stylesheet",o.href=t.css,document.head.appendChild(o)}const n=document.querySelector(`script[src="${t.js}"]`);if(n){if(hs(e))return;await new Promise(o=>{n.addEventListener("load",o,{once:!0}),n.addEventListener("error",o,{once:!0})});return}await new Promise((o,a)=>{const s=document.createElement("script");s.src=t.js,s.async=!1,s.addEventListener("load",o,{once:!0}),s.addEventListener("error",()=>a(new Error(`[useMapInstance] Failed to load ${e} engine script`)),{once:!0}),document.head.appendChild(s)})}async function Jm(e,t){const n=e.getRootNode();if(!(n instanceof ShadowRoot))return;const o=r=>new Promise(i=>setTimeout(i,r)),a=n.querySelector(`link[href="${t}"]`);if(a){if(a.sheet)return;await Promise.race([new Promise(r=>{a.addEventListener("load",r,{once:!0}),a.addEventListener("error",r,{once:!0})}),o(2e3)]);return}const s=document.createElement("link");s.rel="stylesheet",s.href=t,await Promise.race([new Promise(r=>{s.addEventListener("load",r,{once:!0}),s.addEventListener("error",r,{once:!0}),n.prepend(s)}),o(2e3)])}function Xm(e,t){return typeof e=="string"&&/^https?:\/\//.test(e)?e:t==="night"||t==="dusk"?Wm:Vm}const Zm=85.0511,ms=-2,Qm=0,eb=-60;function sc(e){return(1-Math.log(Math.tan(Math.PI/4+e*Math.PI/180/2))/Math.PI)/2}function tb(e,t,n,o){if(!e||e<=0||!t||t<=0)return Qm;const a=Math.log2(e/512),s=sc(o)-sc(Zm),r=Math.log2(t/(512*s)),i=Math.max(a,r);return Math.max(ms,Math.min(i,(n??18)-1))}function nb({containerRef:e,accessToken:t,style:n,config:o=void 0,provider:a=void 0,center:s=[20,10],zoom:r=2,minZoom:i=void 0,skipWorldFloor:l=!1,maxZoom:c=18,pitch:u=0,bearing:p=0,renderWorldCopies:m=!0,showEdgeBorders:$=!0,southCutoff:w=eb,maxBounds:v=void 0}){const T=va(null),P=he(!1);let k=null,y=null,b=null,C=null;try{C=Fe("profileConfig",null)}catch{}a=a||oc(C);const A=a==="maplibre";async function L(){var pe;const S=Um(n,a),V=S.style||n;if(!e.value){console.error("containerRef.value is null — call initializeMap() inside onMounted()");return}await Ym(a);const ae=hs(a);if(!ae){console.error(`[useMapInstance] ${A?"maplibregl":"mapboxgl"} is not available. Add the ${A?"MapLibre":"Mapbox"} GL JS script to your page.`);return}if(!A){if(!t&&typeof window<"u"&&typeof window.MAP_TOKEN=="string"&&window.MAP_TOKEN&&(t=window.MAP_TOKEN),!t){console.error('No Mapbox access token provided. Pass "tk" in profile-config JSON or set window.MAP_TOKEN.');return}if(!t.startsWith("pk.")){console.error('Mapbox token looks invalid (expected "pk." prefix). Got:',t.slice(0,10)+"...");return}}await Jm(e.value,A?Tn.maplibre.css:Hm),await new Promise(oe=>requestAnimationFrame(oe));const z=e.value,ee=z.clientWidth,Y=z.clientHeight;if(ee===0||Y===0){console.error(`[useMapInstance] Container has ZERO dimensions (${ee}×${Y}). Map will be invisible. Check that parent elements have CSS sizing.`);let oe=z.parentElement,le=0;for(;oe&&le<5;)oe=oe.parentElement,le++}const O=t;A||(ae.accessToken=O);const j=()=>typeof window<"u"&&window.innerWidth>=1024,q=(oe,le)=>{if(l)return typeof i=="number"?i:ms;if(!j())return ms;const we=tb(oe,le,c,w);return typeof i=="number"?Math.max(i,we):we},W=q(z.clientWidth,z.clientHeight),X=S.lightPreset||(()=>{var oe;try{const le=typeof o=="function"?o():o;return(oe=le==null?void 0:le.basemap)==null?void 0:oe.lightPreset}catch{return}})();if(A){T.value=new ae.Map({container:e.value,style:Xm(V,X),center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}else{const oe=typeof o=="function"?o():o;T.value=new ae.Map({accessToken:O,container:e.value,style:V,...oe?{config:oe}:{},center:s,zoom:r,minZoom:W,maxZoom:c,pitch:u,bearing:p,dragRotate:!1,touchPitch:!1,renderWorldCopies:m,...v?{maxBounds:v}:{},attributionControl:!0,logoPosition:typeof window<"u"&&window.matchMedia&&window.matchMedia("(max-width: 767px)").matches?"bottom-right":"bottom-left"}),ac(T.value);try{e.value.__doxaMap=T.value}catch{}}try{let oe=!1;T.value.on("error",le=>{var Ye,nt;const we=((Ye=le==null?void 0:le.error)==null?void 0:Ye.status)??(le==null?void 0:le.status),Re=String(((nt=le==null?void 0:le.error)==null?void 0:nt.url)||(le==null?void 0:le.sourceId)||"");we!==401&&we!==403||oe||(oe=!0,console.error(`[doxa-maps] Mapbox returned ${we} for a TILE request while the style loaded fine. That is a URL RESTRICTION on the access token, not a bad token and not a bug in this map. Add this page's origin (${typeof location<"u"?location.origin:"this origin"}) to the token's URL restrictions in the Mapbox account. The map will keep its data layer and stay blank underneath until then.`+(Re?` First failing request: ${Re.slice(0,120)}`:"")))})}catch{}try{T.value.touchZoomRotate.disableRotation()}catch{}b=Bm(((pe=e.value)==null?void 0:pe.parentElement)||null,{enabled:$});let ge=W,re=null;k=()=>{const oe=T.value;if(!oe)return;const le=q(z.clientWidth,z.clientHeight);le!==ge&&(ge=le,oe.setMinZoom(le)),oe.getZoom(){re=null;const we=T.value;if(!we)return;const Re=q(z.clientWidth,z.clientHeight);if(we.getZoom(){re&&(clearTimeout(re),re=null)},T.value.on("resize",k),typeof window<"u"&&(window.addEventListener("resize",k),window.addEventListener("orientationchange",k)),T.value.on("style.load",()=>{if(S.paint&&T.value){const oe=Gm(T.value,S.paint);console.info("[useMapInstance] style paint applied ("+a+"):",oe.join(", ")||"NONE MATCHED")}requestAnimationFrame(()=>{var oe;(oe=T.value)==null||oe.resize(),T.value&&T.value.setMinZoom(q(z.clientWidth,z.clientHeight)),P.value=!0})})}function F(){if(T.value){if(k&&(T.value.off("resize",k),typeof window<"u"&&(window.removeEventListener("resize",k),window.removeEventListener("orientationchange",k)),k=null),y){try{y()}catch{}y=null}b&&(b(),b=null),T.value.remove(),T.value=null,P.value=!1}}return{map:T,isMapReady:P,initializeMap:L,destroy:F}}const rc="doxa-prayed-local",ob=7*24*60*60*1e3;function ab(){try{const e=localStorage.getItem(rc);if(!e)return{};const t=JSON.parse(e);return t&&typeof t=="object"?t:{}}catch{return{}}}function sb(e){try{localStorage.setItem(rc,JSON.stringify(e))}catch{}}function rb(){const e=Date.now(),t=ab();let n=!1;for(const[o,a]of Object.entries(t))(typeof a!="number"||e-a>ob)&&(delete t[o],n=!0);return n&&sb(t),new Set(Object.keys(t))}function ib(e){const t=rb();return!t.size||!Array.isArray(e)?e:e.map(n=>(Number(n&&n.peoplePraying)||0)>0||!n||!t.has(n.slug)?n:{...n,peoplePraying:1})}const Yt={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"},ic={aar:"Afro-Asiatic",abf:"Austronesian",abl:"Austronesian",abv:"Afro-Asiatic",acm:"Afro-Asiatic",acq:"Afro-Asiatic",acw:"Afro-Asiatic",acx:"Afro-Asiatic",adh:"Nilo-Saharan",adi:"Sino-Tibetan",adw:"Tupian",adx:"Sino-Tibetan",aen:"Sign Language",afb:"Afro-Asiatic",afg:"Sign Language",afr:"Indo-European",aft:"Nilo-Saharan",agx:"Nakh-Daghestanian",ahk:"Sino-Tibetan",aib:"Turkic",aih:"Kra-Dai",aio:"Kra-Dai",ajp:"Afro-Asiatic",aju:"Afro-Asiatic",aks:"Niger-Congo",akv:"Nakh-Daghestanian",alk:"Austro-Asiatic",alo:"Austronesian",alw:"Afro-Asiatic",amc:"Panoan",amh:"Afro-Asiatic",amr:"Harákmbut",amv:"Austronesian",ani:"Nakh-Daghestanian",anp:"Indo-European",anq:"Andamanese",aoc:"Cariban",apc:"Afro-Asiatic",apd:"Afro-Asiatic",arb:"Afro-Asiatic",arq:"Afro-Asiatic",arr:"Tupian",ars:"Afro-Asiatic",arv:"Afro-Asiatic",ary:"Afro-Asiatic",ase:"Sign Language",asl:"Austronesian",asm:"Indo-European",asn:"Tupian",asp:"Sign Language",atr:"Cariban",avd:"Indo-European",avl:"Afro-Asiatic",avv:"Tupian",awe:"Tupian",awt:"Tupian",ayh:"Afro-Asiatic",ayl:"Afro-Asiatic",ayn:"Afro-Asiatic",azb:"Turkic",bao:"Tucanoan",bbh:"Austro-Asiatic",bcc:"Indo-European",bcz:"Niger-Congo",bdg:"Austronesian",bdi:"Nilo-Saharan",bdj:"Niger-Congo",bdm:"Afro-Asiatic",bdo:"Nilo-Saharan",bee:"Sino-Tibetan",bej:"Afro-Asiatic",bem:"Niger-Congo",ben:"Indo-European",bfi:"Sign Language",bfu:"Sino-Tibetan",bfw:"Austro-Asiatic",bfy:"Indo-European",bgc:"Indo-European",bgg:"Sino-Tibetan",bgk:"Austro-Asiatic",bgl:"Austro-Asiatic",bgn:"Indo-European",bgp:"Indo-European",bgq:"Indo-European",bho:"Indo-European",bhu:"Indo-European",bid:"Afro-Asiatic",bjj:"Indo-European",bkk:"Indo-European",blf:"Austronesian",blm:"Nilo-Saharan",blo:"Niger-Congo",bls:"Austronesian",blt:"Kra-Dai",bly:"Niger-Congo",bma:"Niger-Congo",bmr:"Witotoan",bna:"Austronesian",bns:"Indo-European",bor:"Bororoan",bos:"Indo-European",bph:"Nakh-Daghestanian",bqg:"Niger-Congo",bqj:"Niger-Congo",bqk:"Niger-Congo",bqn:"Sign Language",bqx:"Niger-Congo",bra:"Indo-European",brb:"Austro-Asiatic",bro:"Sino-Tibetan",brx:"Sino-Tibetan",bsb:"Austronesian",bsg:"Indo-European",bsk:"Language isolate",bsy:"Austronesian",btd:"Austronesian",btf:"Afro-Asiatic",btv:"Indo-European",btx:"Austronesian",btz:"Austronesian",bub:"Niger-Congo",buh:"Hmong-Mien",bva:"Afro-Asiatic",bvf:"Afro-Asiatic",bvi:"Niger-Congo",bvo:"Niger-Congo",bwi:"Maipurean",bwn:"Hmong-Mien",bwx:"Hmong-Mien",bxr:"Mongolic",bxu:"Mongolic",bxw:"Niger-Congo",byn:"Afro-Asiatic",byo:"Sino-Tibetan",bze:"Niger-Congo",bzx:"Niger-Congo",cat:"Indo-European",cbb:"Maipurean",cbc:"Tucanoan",cbi:"Barbacoan",cbn:"Austro-Asiatic",cby:"Unclassified",cdh:"Indo-European",cdn:"Sino-Tibetan",cdz:"Austro-Asiatic",ceg:"Zamucoan",cgk:"Sino-Tibetan",che:"Nakh-Daghestanian",cib:"Niger-Congo",cji:"Nakh-Daghestanian",ckh:"Sino-Tibetan",ckq:"Afro-Asiatic",clk:"Sino-Tibetan",cmn:"Sino-Tibetan",cnq:"Niger-Congo",cnu:"Afro-Asiatic",coa:"Creole",cog:"Austro-Asiatic",cpu:"Maipurean",cqd:"Hmong-Mien",csf:"Sign Language",csx:"Sign language",cub:"Tucanoan",cui:"Guajiboan",cuu:"Kra-Dai",daa:"Afro-Asiatic",daj:"Nilo-Saharan",dar:"Nakh-Daghestanian",dau:"Nilo-Saharan",dba:"Language isolate",dbb:"Afro-Asiatic",dbp:"Afro-Asiatic",dbr:"Afro-Asiatic",ddn:"Nilo-Saharan",deg:"Niger-Congo",dek:"Niger-Congo",des:"Tucanoan",dgo:"Indo-European",dgs:"Niger-Congo",dhd:"Indo-European",dhi:"Sino-Tibetan",dhm:"Niger-Congo",dil:"Nilo-Saharan",diu:"Niger-Congo",div:"Indo-European",djc:"Nilo-Saharan",dkg:"Niger-Congo",dln:"Sino-Tibetan",dml:"Indo-European",dms:"Austronesian",dnu:"Austro-Asiatic",doc:"Kra-Dai",dok:"Austronesian",dox:"Afro-Asiatic",dru:"Austronesian",dse:"Sign Language",dsh:"Afro-Asiatic",dsl:"Sign Language",dsq:"Nilo-Saharan",dta:"Mongolic",dtp:"Austronesian",dyu:"Niger-Congo",dzg:"Nilo-Saharan",dzl:"Sino-Tibetan",eng:"Indo-European",enn:"Niger-Congo",epi:"Niger-Congo",ers:"Sino-Tibetan",esl:"Sign Language",evn:"Tungusic",fin:"Uralic",fni:"Niger-Congo",fod:"Niger-Congo",fra:"Indo-European",fsl:"Sign Language",fub:"Niger-Congo",fuc:"Niger-Congo",fuf:"Niger-Congo",fuj:"Niger-Congo",fvr:"Nilo-Saharan",fwe:"Niger-Congo",gax:"Afro-Asiatic",gaz:"Afro-Asiatic",gbk:"Indo-European",gbm:"Indo-European",gbn:"Nilo-Saharan",gdq:"Afro-Asiatic",gea:"Afro-Asiatic",ges:"Austronesian",gex:"Afro-Asiatic",ghl:"Nilo-Saharan",giq:"Kra-Dai",giw:"Kra-Dai",gju:"Indo-European",glc:"Niger-Congo",goe:"Sino-Tibetan",gow:"Afro-Asiatic",gqu:"Kra-Dai",grr:"Afro-Asiatic",gsg:"Sign Language",gss:"Sign Language",guj:"Indo-European",gus:"Sign Language",gvp:"Jean",gwb:"Niger-Congo",gwc:"Indo-European",gwd:"Afro-Asiatic",gwf:"Indo-European",gya:"Niger-Congo",gyo:"Sino-Tibetan",gzn:"Austronesian",hae:"Afro-Asiatic",hal:"Austro-Asiatic",hau:"Afro-Asiatic",hca:"Creole",hea:"Hmong-Mien",heb:"Afro-Asiatic",her:"Niger-Congo",hik:"Austronesian",hin:"Indo-European",hks:"Sign Language",hlb:"Indo-European",hld:"Austro-Asiatic",hmb:"Nilo-Saharan",hmh:"Hmong-Mien",hml:"Hmong-Mien",hmm:"Hmong-Mien",hne:"Indo-European",hni:"Sino-Tibetan",hnu:"Austro-Asiatic",hoh:"Afro-Asiatic",hoj:"Indo-European",hoz:"Afro-Asiatic",hsn:"Sino-Tibetan",hss:"Afro-Asiatic",htu:"Austronesian",hug:"Harákmbut",huo:"Austro-Asiatic",iba:"Austronesian",ibr:"Niger-Congo",icl:"Sign Language",iii:"Sino-Tibetan",ind:"Austronesian",irr:"Austro-Asiatic",ise:"Sign Language",isk:"Indo-European",isr:"Sign Language",ium:"Hmong-Mien",jbn:"Afro-Asiatic",jeu:"Afro-Asiatic",jia:"Afro-Asiatic",jii:"Afro-Asiatic",jio:"Kra-Dai",jit:"Niger-Congo",jiu:"Sino-Tibetan",jle:"Niger-Congo",jls:"Sign Language",jmi:"Afro-Asiatic",jnl:"Sino-Tibetan",jos:"Sign Language",jpn:"Japonic",jup:"Puinavean",kaf:"Sino-Tibetan",kan:"Dravidian",kas:"Indo-European",kay:"Tupian",kaz:"Turkic",kbg:"Sino-Tibetan",kbo:"Nilo-Saharan",kbp:"Niger-Congo",kby:"Nilo-Saharan",kcf:"Niger-Congo",kcn:"Creole",kcp:"Nilo-Saharan",kcu:"Niger-Congo",kcy:"Nilo-Saharan",kcz:"Niger-Congo",kdh:"Niger-Congo",kdn:"Niger-Congo",kdt:"Austro-Asiatic",kdu:"Nilo-Saharan",kec:"Nilo-Saharan",kfa:"Dravidian",kfd:"Dravidian",kfe:"Dravidian",kfg:"Dravidian",kfm:"Indo-European",kfr:"Indo-European",kfs:"Indo-European",kfy:"Indo-European",kgn:"Indo-European",khb:"Kra-Dai",khf:"Austro-Asiatic",khv:"Nakh-Daghestanian",kia:"Niger-Congo",kib:"Niger-Congo",kie:"Nilo-Saharan",kil:"Afro-Asiatic",kir:"Turkic",kjc:"Austronesian",kjg:"Austro-Asiatic",kjk:"Austronesian",kke:"Niger-Congo",kkh:"Kra-Dai",kkn:"Austro-Asiatic",kko:"Nilo-Saharan",kks:"Afro-Asiatic",klf:"Nilo-Saharan",kmc:"Kra-Dai",kmq:"Nilo-Saharan",kmr:"Indo-European",kmz:"Turkic",knc:"Nilo-Saharan",knf:"Niger-Congo",knk:"Niger-Congo",knm:"Maipurean",knn:"Indo-European",kns:"Austro-Asiatic",knz:"Niger-Congo",kou:"Niger-Congo",kpa:"Afro-Asiatic",kpc:"Maipurean",kpj:"Karajá",kpt:"Nakh-Daghestanian",kqg:"Niger-Congo",kqm:"Niger-Congo",krn:"Niger-Congo",krs:"Nilo-Saharan",kth:"Nilo-Saharan",kuf:"Austro-Asiatic",kui:"Cariban",kuj:"Niger-Congo",kva:"Nakh-Daghestanian",kvf:"Afro-Asiatic",kvh:"Austronesian",kvp:"Austronesian",kwn:"Niger-Congo",kwv:"Nilo-Saharan",kxd:"Austronesian",kxh:"Afro-Asiatic",kxj:"Nilo-Saharan",kyi:"Austronesian",kyp:"Kra-Dai",kyw:"Indo-European",kzq:"Sino-Tibetan",lae:"Sino-Tibetan",lan:"Niger-Congo",lao:"Kra-Dai",laq:"Kra-Dai",lbj:"Sino-Tibetan",lbn:"Austro-Asiatic",lbo:"Austro-Asiatic",lbs:"Sign Language",lbt:"Kra-Dai",lcd:"Austronesian",lcq:"Austronesian",lgn:"Nilo-Saharan",lgs:"Sign Language",lha:"Kra-Dai",lhn:"Austronesian",lhp:"Sino-Tibetan",lic:"Kra-Dai",liq:"Afro-Asiatic",liu:"Nilo-Saharan",lkc:"Sino-Tibetan",lkh:"Sino-Tibetan",lki:"Indo-European",lkr:"Nilo-Saharan",lma:"Niger-Congo",loh:"Nilo-Saharan",lop:"Niger-Congo",lsd:"Afro-Asiatic",lso:"Sign Language",lss:"Indo-European",lsy:"Sign Language",luk:"Sino-Tibetan",lul:"Nilo-Saharan",mag:"Indo-European",mai:"Indo-European",mal:"Dravidian",mar:"Indo-European",mbd:"Austronesian",mbn:"Guajiboan",mcd:"Panoan",mdl:"Sign Language",mdy:"Afro-Asiatic",mei:"Nilo-Saharan",men:"Niger-Congo",mes:"Afro-Asiatic",mew:"Afro-Asiatic",mey:"Afro-Asiatic",mgb:"Nilo-Saharan",mgd:"Nilo-Saharan",mge:"Nilo-Saharan",mgh:"Niger-Congo",mhr:"Uralic",mhu:"Sino-Tibetan",mhw:"Niger-Congo",mjp:"Dravidian",mkg:"Kra-Dai",mmh:"Maipurean",mml:"Austro-Asiatic",mmy:"Afro-Asiatic",mne:"Nilo-Saharan",mni:"Sino-Tibetan",mnj:"Indo-European",mnk:"Niger-Congo",mnq:"Austro-Asiatic",mns:"Uralic",mot:"Chibchan",mou:"Afro-Asiatic",moy:"Afro-Asiatic",moz:"Afro-Asiatic",mpe:"Nilo-Saharan",mpz:"Sino-Tibetan",mqi:"Austronesian",mqn:"Austronesian",mra:"Austro-Asiatic",mrj:"Uralic",msc:"Niger-Congo",msv:"Afro-Asiatic",msw:"Niger-Congo",mtr:"Indo-European",mub:"Afro-Asiatic",mup:"Indo-European",muq:"Hmong-Mien",muv:"Dravidian",mvf:"Mongolic",mvu:"Nilo-Saharan",mvy:"Indo-European",mwn:"Niger-Congo",mxj:"Sino-Tibetan",myp:"Muran",myy:"Tucanoan",mzb:"Afro-Asiatic",mzy:"Sign Language",naq:"Khoe-Kwadi",nbt:"Sino-Tibetan",nbw:"Niger-Congo",ndg:"Niger-Congo",ndp:"Nilo-Saharan",ndt:"Niger-Congo",neb:"Niger-Congo",neh:"Sino-Tibetan",nev:"Austro-Asiatic",ngt:"Austro-Asiatic",njl:"Nilo-Saharan",nkd:"Sino-Tibetan",nld:"Indo-European",nmd:"Niger-Congo",nmi:"Afro-Asiatic",nml:"Niger-Congo",nmy:"Sino-Tibetan",nnj:"Nilo-Saharan",nod:"Kra-Dai",noe:"Indo-European",nos:"Sino-Tibetan",npb:"Sino-Tibetan",npi:"Indo-European",nrb:"Nilo-Saharan",nru:"Sino-Tibetan",nsl:"Sign Language",nuo:"Austro-Asiatic",nus:"Nilo-Saharan",nwm:"Nilo-Saharan",nxq:"Sino-Tibetan",nye:"Niger-Congo",nyn:"Niger-Congo",nyr:"Niger-Congo",nyw:"Kra-Dai",nzs:"Sign Language",okn:"Japonic",ole:"Sino-Tibetan",oog:"Austro-Asiatic",oon:"Andamanese",opa:"Niger-Congo",ort:"Indo-European",ory:"Indo-European",ost:"Niger-Congo",oyb:"Austro-Asiatic",oym:"Tupian",pac:"Austro-Asiatic",pah:"Tupian",pbp:"Niger-Congo",peh:"Mongolic",pes:"Indo-European",pga:"Creole",pgg:"Indo-European",pgz:"Sign language",pha:"Hmong-Mien",phh:"Sino-Tibetan",phj:"Sino-Tibetan",phk:"Kra-Dai",phl:"Indo-European",pho:"Sino-Tibetan",phq:"Sino-Tibetan",phr:"Indo-European",pht:"Kra-Dai",pil:"Niger-Congo",pir:"Tucanoan",pkb:"Niger-Congo",pks:"Sign Language",pkt:"Austro-Asiatic",pll:"Austro-Asiatic",pnq:"Niger-Congo",pnx:"Austro-Asiatic",por:"Indo-European",prc:"Indo-European",prs:"Indo-European",prt:"Austro-Asiatic",psc:"Sign Language",pse:"Austronesian",pto:"Tupian",pum:"Sino-Tibetan",puo:"Austro-Asiatic",qae:"Sign Language",qao:"Sign Language",qbh:"Sign Language",qbj:"Sign Language",qbn:"Sign Language",qbt:"Sign Language",qcd:"Sign Language",qcm:"Sign Language",qcy:"Sign Language",qer:"Sign Language",qfa:"Sign Language",qfj:"Sign Language",qga:"Sign Language",qge:"Sign Language",qgm:"Sign Language",qiq:"Sign Language",qki:"Sign Language",qkm:"Sign Language",qkp:"Sign Language",qkw:"Sign Language",qmv:"Sign Language",qnh:"Sign Language",qns:"Sign Language",qom:"Sign Language",qqa:"Sign Language",qry:"Sign Language",qsm:"Sign Language",qso:"Sign Language",qsr:"Sign Language",qsz:"Sign Language",qtp:"Sign Language",qvz:"Quechuan",ras:"Niger-Congo",rbb:"Austro-Asiatic",ren:"Austro-Asiatic",rji:"Sino-Tibetan",rmt:"Indo-European",rmy:"Indo-European",rob:"Austronesian",rsl:"Sign Language",rui:"Niger-Congo",rus:"Indo-European",rwm:"Niger-Congo",rwr:"Indo-European",rys:"Japonic",saa:"Afro-Asiatic",sbf:"Unclassified",sbj:"Nilo-Saharan",sbs:"Niger-Congo",scb:"Austro-Asiatic",sck:"Indo-European",scl:"Indo-European",sdb:"Indo-European",sdg:"Indo-European",sdl:"Sign Language",sdp:"Sino-Tibetan",seq:"Niger-Congo",sgh:"Indo-European",sgy:"Indo-European",she:"Afro-Asiatic",shm:"Indo-European",shn:"Kra-Dai",sho:"Niger-Congo",shp:"Panoan",shu:"Afro-Asiatic",shv:"Afro-Asiatic",shz:"Niger-Congo",siy:"Indo-European",siz:"Afro-Asiatic",sjg:"Nilo-Saharan",sjo:"Tungusic",skq:"Niger-Congo",sle:"Dravidian",slt:"Sino-Tibetan",sml:"Austronesian",smy:"Indo-European",snd:"Indo-European",snn:"Tucanoan",soj:"Indo-European",sok:"Afro-Asiatic",soy:"Niger-Congo",spa:"Indo-European",spu:"Austro-Asiatic",sqk:"Sign Language",sqq:"Austro-Asiatic",sqs:"Sign Language",sqt:"Afro-Asiatic",srh:"Indo-European",sri:"Tucanoan",srp:"Indo-European",ssh:"Afro-Asiatic",ssn:"Afro-Asiatic",sss:"Austro-Asiatic",ssy:"Afro-Asiatic",std:"Andamanese",sts:"Indo-European",suq:"Nilo-Saharan",suv:"Sino-Tibetan",suy:"Jean",suz:"Sino-Tibetan",swh:"Niger-Congo",swi:"Kra-Dai",swl:"Sign Language",swv:"Indo-European",swx:"Arauan",sxg:"Sino-Tibetan",sze:"Afro-Asiatic",szn:"Austronesian",szs:"Sign Language",tag:"Niger-Congo",tam:"Dravidian",taz:"Niger-Congo",tbm:"Niger-Congo",tbn:"Chibchan",tbr:"Nilo-Saharan",tct:"Kra-Dai",tcy:"Dravidian",tda:"Mixed language",tdb:"Indo-European",tdd:"Kra-Dai",tdf:"Austro-Asiatic",tdj:"Austronesian",tel:"Dravidian",teq:"Nilo-Saharan",tgf:"Sino-Tibetan",tgk:"Indo-European",tgr:"Austro-Asiatic",thk:"Niger-Congo",thm:"Austro-Asiatic",thu:"Nilo-Saharan",thv:"Afro-Asiatic",tig:"Afro-Asiatic",tin:"Nakh-Daghestanian",tiz:"Kra-Dai",tkn:"Japonic",tlq:"Austro-Asiatic",tly:"Indo-European",tma:"Nilo-Saharan",tnb:"Chibchan",toi:"Niger-Congo",toq:"Nilo-Saharan",tou:"Austro-Asiatic",tqq:"Afro-Asiatic",tri:"Cariban",trj:"Afro-Asiatic",tsb:"Afro-Asiatic",tsc:"Niger-Congo",tsj:"Sino-Tibetan",tsk:"Sino-Tibetan",tsl:"Kra-Dai",tsm:"Sign Language",ttg:"Austronesian",tth:"Austro-Asiatic",ttl:"Niger-Congo",tts:"Kra-Dai",tue:"Tucanoan",tum:"Niger-Congo",tuo:"Tucanoan",tur:"Turkic",twm:"Sino-Tibetan",txi:"Cariban",txm:"Austronesian",tyh:"Austro-Asiatic",tyj:"Kra-Dai",tyr:"Kra-Dai",tyv:"Turkic",tyy:"Niger-Congo",tzm:"Afro-Asiatic",uan:"Kra-Dai",udj:"Austronesian",une:"Niger-Congo",unk:"Maipurean",urd:"Indo-European",urp:"Tupian",urz:"Tupian",ush:"Indo-European",usi:"Sino-Tibetan",uuu:"Austro-Asiatic",uzn:"Turkic",vai:"Niger-Congo",vgr:"Indo-European",vie:"Austro-Asiatic",vkj:"Unclassified",vkn:"Niger-Congo",vkz:"Niger-Congo",vmk:"Niger-Congo",vut:"Niger-Congo",wau:"Maipurean",waw:"Cariban",wbj:"Afro-Asiatic",wbl:"Indo-European",wbr:"Indo-European",wlc:"Niger-Congo",wll:"Nilo-Saharan",wmd:"Nambikwara",wmg:"Sino-Tibetan",wne:"Indo-European",wni:"Niger-Congo",wol:"Niger-Congo",wrn:"Niger-Congo",wti:"Nilo-Saharan",wuh:"Mixed language",wwa:"Niger-Congo",xal:"Mongolic",xan:"Afro-Asiatic",xdq:"Nakh-Daghestanian",xhv:"Austro-Asiatic",xka:"Indo-European",xkz:"Sino-Tibetan",xma:"Niger-Congo",xmj:"Afro-Asiatic",xmo:"Tupian",xms:"Sign Language",xnr:"Indo-European",xns:"Sino-Tibetan",xom:"Nilo-Saharan",xor:"Panoan",xsm:"Niger-Congo",xsr:"Sino-Tibetan",xwg:"Nilo-Saharan",yaa:"Panoan",yad:"Yaguan",yao:"Niger-Congo",yax:"Niger-Congo",ybh:"Sino-Tibetan",ycl:"Sino-Tibetan",ydd:"Indo-European",ydg:"Indo-European",yea:"Dravidian",yhd:"Afro-Asiatic",yig:"Sino-Tibetan",yix:"Sino-Tibetan",ymm:"Afro-Asiatic",ymx:"Sino-Tibetan",yne:"Sino-Tibetan",yno:"Kra-Dai",yom:"Niger-Congo",yox:"Japonic",yoy:"Kra-Dai",yrn:"Kra-Dai",ysl:"Sign Language",ysm:"Sign language",ysn:"Sino-Tibetan",yue:"Sino-Tibetan",yul:"Nilo-Saharan",yup:"Cariban",ywn:"Panoan",ywt:"Sino-Tibetan",zag:"Nilo-Saharan",zgn:"Kra-Dai",zhd:"Kra-Dai",ziw:"Niger-Congo",zkr:"Sino-Tibetan",zlm:"Austronesian",zna:"Niger-Congo",zne:"Niger-Congo",zng:"Austro-Asiatic",zqe:"Kra-Dai",zum:"Indo-European",zyg:"Kra-Dai"},bs="languageFamily",lb="#000000",Jt={"Indo-European":"#e74c3c",Dravidian:"#ff9800","Afro-Asiatic":"#27ae60","Sino-Tibetan":"#3498db","Niger-Congo":"#9b59b6",Unclassified:"#95a5a6","Nilo-Saharan":"#e91e63","Khoe-Kwadi":"#00bcd4","Austro-Asiatic":"#00bcd4","Kra-Dai":"#8e44ad",Austronesian:"#ff69b4","Hmong-Mien":"#f44336",Turkic:"#ffc107","Nakh-Daghestanian":"#009688",Mongolic:"#795548",Uralic:"#607d8b",Tungusic:"#4caf50",Japonic:"#ff5722",Cariban:"#673ab7",Tupian:"#03a9f4",Tucanoan:"#8bc34a",Maipurean:"#ffc107",Panoan:"#cddc39",Guajiboan:"#9e9e9e",Chibchan:"#ff7043",Quechuan:"#ab47bc",Jean:"#26a69a",Harákmbut:"#7e57c2",Nambikwara:"#42a5f5",Muran:"#66bb6a",Karajá:"#ffa726",Bororoan:"#ef5350",Arauan:"#5c6bc0",Yanomaman:"#26c6da",Yaguan:"#d4e157",Witotoan:"#78909c",Zamucoan:"#8d6e63",Puinavean:"#aed581",Barbacoan:"#4db6ac","Eyak-Athabaskan":"#7986cb","Trans-New Guinea":"#ba68c8",Andamanese:"#4dd0e1","Atlantic-Congo":"#7D3C98",Mande:"#B9770E","Sign Language":"#212121",Creole:"#9575cd","Mixed language":"#a1887f","Language isolate":"#90a4ae",Unknown:"#000000"},cb=Jt;function ys(e){return Jt[e]||lb}const ub=(()=>{const e=n=>String(n||"").toLowerCase().trim(),t={};for(const n of Object.keys(Jt))t[e(n)]=n;return t})(),gb={"tai-kadai":"Kra-Dai",none:"Unknown"};function _s(e){if(!e)return"Unknown";const t=String(e).trim(),n=t.toLowerCase();return gb[n]||ub[n]||t}function lc(e){var t;return ys(e.languageFamily||((t=e._normalized)==null?void 0:t.languageFamily))}function As(){const e=["match",["get",bs]];return Object.entries(Jt).forEach(([t,n])=>{e.push(t,n)}),e.push("#95a5a6"),e}const cc=As,db=Object.freeze(Object.defineProperty({__proto__:null,LANGUAGE_FAMILY_COLORS:cb,PALETTE:Jt,PROPERTY_KEY:bs,applyColor:As,buildColorExpression:cc,canonicalFamilyName:_s,default:{name:"Language Family",propertyKey:bs,palette:Jt,colors:Jt,getColor:lc,applyColor:As,buildColorExpression:cc,getLanguageFamilyColor:ys,canonicalFamilyName:_s},defaultFamilyColor:"#95a5a6",getColor:lc,getLanguageFamilyColor:ys,languageFamilyColors:Jt},Symbol.toStringTag,{value:"Module"})),uc="adoptionStatus",Dt={notAdopted:"#f03b2d",hasAdoption:"#22c55e"},pb=Dt,Ss={notAdopted:"Needs Adoption",hasAdopted:"Has Adoption"},fb=Ss;function gc(e){var o;const t=e.adoptionStatus??((o=e._raw)==null?void 0:o.adopted_by_churches);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?Dt.hasAdoption:Dt.notAdopted}function vs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","adoptionStatus"]:["get","adoptionStatus"];return["case",["==",t,!0],Dt.hasAdoption,["==",t,1],Dt.hasAdoption,Dt.notAdopted]}const dc=vs,hb=Object.freeze(Object.defineProperty({__proto__:null,ADOPTION_COLORS:pb,ADOPTION_LABELS:fb,LABELS:Ss,PALETTE:Dt,PROPERTY_KEY:uc,applyColor:vs,buildColorExpression:dc,default:{name:"Adoption Progress",propertyKey:uc,palette:Dt,colors:Dt,labels:Ss,getColor:gc,applyColor:vs,buildColorExpression:dc},getColor:gc},Symbol.toStringTag,{value:"Module"})),pc="engagementStatus",xt={notEngaged:"#f03b2d",hasEngagement:"#22c55e"},mb=xt,$s={notEngaged:"Unengaged",hasEngagement:"Engaged"},bb=$s;function fc(e){var o;const t=e.engagementStatus??((o=e._raw)==null?void 0:o.people_committed);return t===!0||t===1||typeof t=="number"&&t>0||typeof t=="object"&&(t==null?void 0:t.value)?xt.hasEngagement:xt.notEngaged}function ks({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","engagementStatus"]:["get","engagementStatus"];return["case",["==",t,!0],xt.hasEngagement,["==",t,1],xt.hasEngagement,xt.notEngaged]}const hc=ks,yb=Object.freeze(Object.defineProperty({__proto__:null,ENGAGEMENT_COLORS:mb,ENGAGEMENT_LABELS:bb,LABELS:$s,PALETTE:xt,PROPERTY_KEY:pc,applyColor:ks,buildColorExpression:hc,default:{name:"Engagement Progress",propertyKey:pc,palette:xt,colors:xt,labels:$s,getColor:fc,applyColor:ks,buildColorExpression:hc},getColor:fc},Symbol.toStringTag,{value:"Module"})),mc="peoplePraying",na=144,Xt={noPrayer:"#f03b2d",hasPrayer:"#f0c64a",fullPrayer:"#22c55e"},_b=Xt,Es={noPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayer:"Has Full Prayer Coverage"},Ab=Es;function oa(e){var o;const t=(e==null?void 0:e.peoplePraying)??((o=e==null?void 0:e._raw)==null?void 0:o.people_praying)??null,n=Number(t)||0;return n>=na?"fullPrayer":n>0?"hasPrayer":"noPrayer"}function Ts(e){return Xt[oa(e)]}function bc(e){var n;const t=(e==null?void 0:e.peoplePraying)??((n=e==null?void 0:e._raw)==null?void 0:n.people_praying)??null;return t!==null&&t>0}function yc(e){return oa(e)==="fullPrayer"}function _c(e){return Ts(e)}function Cs({colorSource:e="properties"}={}){const t=e==="feature-state"?["feature-state","peoplePraying"]:["get","peoplePraying"];return["case",[">=",t,na],Xt.fullPrayer,[">",t,0],Xt.hasPrayer,Xt.noPrayer]}const Ac=Cs,Sb=Object.freeze(Object.defineProperty({__proto__:null,FULL_PRAYER_THRESHOLD:na,LABELS:Es,PALETTE:Xt,PRAYER_COLORS:_b,PRAYER_LABELS:Ab,PROPERTY_KEY:mc,applyColor:Cs,buildColorExpression:Ac,checkHasFullPrayer:yc,checkHasPrayer:bc,default:{name:"Prayer Progress",propertyKey:mc,palette:Xt,colors:Xt,labels:Es,threshold:na,getColor:_c,applyColor:Cs,buildColorExpression:Ac,getPrayerLevel:oa,getPrayerColor:Ts,checkHasPrayer:bc,checkHasFullPrayer:yc},getColor:_c,getPrayerColor:Ts,getPrayerLevel:oa},Symbol.toStringTag,{value:"Module"})),Sc="religion",Ns="#94a3b8",Ls={C:"Christianity",M:"Islam",H:"Hinduism",B:"Buddhism",E:"Ethnoreligion",J:"Judaism",S:"Sikhism",N:"Unaffiliated",O:"Other",U:"Unknown"},tt={C:"#3b82f6",M:"#ef4444",H:"#f59e0b",B:"#facc15",E:"#84cc16",J:"#a855f7",S:"#ec4899",N:"#71717a",O:"#ff6b2b",U:"#94a3b8"};function vc(e){if(!e||typeof e!="string")return"U";const t=e.charAt(0).toUpperCase();return Ls[t]?t:"U"}function $c(e){var n,o,a;const t=(e==null?void 0:e.religion)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.religion)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.religion);return tt[vc(t)]||Ns}function ws(){return["match",["slice",["coalesce",["get","religion"],""],0,1],"C",tt.C,"M",tt.M,"H",tt.H,"B",tt.B,"E",tt.E,"J",tt.J,"S",tt.S,"N",tt.N,"O",tt.O,Ns]}const kc=ws,vb=Object.freeze(Object.defineProperty({__proto__:null,PALETTE:tt,PROPERTY_KEY:Sc,RELIGION_FAMILIES:Ls,applyColor:ws,buildColorExpression:kc,default:{name:"Religion",propertyKey:Sc,palette:tt,families:Ls,getColor:$c,applyColor:ws,buildColorExpression:kc,fallback:Ns},getColor:$c,getReligionFamily:vc},Symbol.toStringTag,{value:"Module"})),Ec="region",Ps="#6d766e",Tc={africa:"Africa",asia:"Asia",europe:"Europe","latin_america_&_caribbean":"Latin America & Caribbean",middle_east:"Middle East","north_america_&_non-spanish_caribbean":"North America & Non-Spanish Caribbean",oceania:"Oceania"},ao={africa:"#2563eb",asia:"#d97706",europe:"#7c3aed","latin_america_&_caribbean":"#15803d",middle_east:"#dc2626","north_america_&_non-spanish_caribbean":"#0891b2",oceania:"#be185d"},Ms=Object.keys(ao);function Cc(e){var n,o,a;const t=(e==null?void 0:e.region)||((o=(n=e==null?void 0:e._raw)==null?void 0:n.wagf_region)==null?void 0:o.value)||((a=e==null?void 0:e._raw)==null?void 0:a.wagf_region);return ao[t]||Ps}function Is(){const e=["match",["coalesce",["get","region"],""]];for(const t of Ms)e.push(t,ao[t]);return e.push(Ps),e}const Nc=Is,$b=Object.assign({"./adoption.js":hb,"./engagement.js":yb,"./language-family.js":db,"./prayer-progress.js":Sb,"./religion.js":vb,"./wagf-region.js":Object.freeze(Object.defineProperty({__proto__:null,PALETTE:ao,PROPERTY_KEY:Ec,REGION_ORDER:Ms,WAGF_REGIONS:Tc,applyColor:Is,buildColorExpression:Nc,default:{name:"WAGF Region",propertyKey:Ec,palette:ao,regions:Tc,order:Ms,getColor:Cc,applyColor:Is,buildColorExpression:Nc,fallback:Ps},getColor:Cc},Symbol.toStringTag,{value:"Module"}))}),kb=e=>e.replace(/-([a-z0-9])/g,(t,n)=>n.toUpperCase()),Eb=e=>e.replace(/-/g,"_").toUpperCase(),Tb={...{STATUS:"status",CUSTOM:"custom"}};function Cb(e){for(const t of Object.keys(e).sort()){const n=t.split("/").pop().replace(/\.js$/,"");if(n.startsWith("_")||n.startsWith(".")||!e[t].default)continue;const a=kb(n);Tb[Eb(n)]=a}}Cb($b);function Rs(e){return e==null?"":typeof e=="object"?e.label||e.value||"":String(e)}const Nb=[[/ sign language$/i,"Sign Language"]];function Lb(e){var i,l;const t=Rs(e.languageFamily);if(t)return t;const n=String(((l=(i=e._raw)==null?void 0:i.primary_language)==null?void 0:l.value)||(e.language&&typeof e.language=="object"?e.language.value:"")||"").trim().toLowerCase();if(n&&ic[n])return ic[n];const o=Rs(e.language||e.primary_language);if(!o||typeof o!="string")return"";const a=o.trim(),s=a.split(",").map(c=>c.trim()).filter(Boolean);if(s.length>=2){const c=[...s].reverse().join(" ");if(Yt[c])return Yt[c];if(s.length>=3){const u=[s[1],s[0]].join(" ");if(Yt[u])return Yt[u]}}if(Yt[a])return Yt[a];const r=a.replace(/\s*\(.*?\)\s*$/,"").trim();if(r!==a&&Yt[r])return Yt[r];for(const[c,u]of Nb)if(c.test(a))return u;return""}function wb(e){const{mapId:t="unknown",dataSourceId:n="doxa-csv",dataSourceManager:o=null,dataStore:a=null,markRaw:s=L=>L}=e;o||console.error("useMapData: dataSourceManager is required!");const r=he(!1),i=he(null),l=he(!1),c=he([]),u=he([]),p=he(null),m=he([]),$=he([]),w=he([]),v=he(null);async function T(){if(!o)throw new Error("dataSourceManager is required for useMapData");r.value=!0,i.value=null;try{if(await o.init(),a&&a.hasSourceData&&a.hasSourceData(n)){const O=a.getSourceData(n);u.value=s(O.normalizedData||[])}else{const O=await o.setActiveSource(n);for(const j of O){const q=Rs(j.language||j.primary_language);q&&(j.language=q);const W=Lb(j);j.languageFamily=_s(W)}u.value=s(O),a&&a.cacheSourceData&&a.cacheSourceData(n,{normalizedData:O,timestamp:Date.now()})}c.value=s(ib(u.value.map(O=>({id:O.uniqueId,slug:O.slug||"",rop3:O.peopleGroupId,peopleId3:O.peopleId3,name:O.name,language:O.language,languageFamily:O.languageFamily,country:O.country,population:O.population,status:O.engagementStatus||O.status,latitude:O.latitude,longitude:O.longitude,lng:O.longitude,lat:O.latitude,description:O.description,imageUrl:O.imageUrl,doxaRegion:O.doxaRegion||O.wagfRegion||"",peoplePraying:O.peoplePraying??null,_normalized:O}))));const L=o.getDataByLanguageFamily();m.value=Object.entries(L).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>j.count-O.count);const F=o.getDataByRegion();$.value=Object.entries(F).map(([O,j])=>{const q=j.reduce((W,X)=>{const ge=parseInt(X.population)||0;return W+ge},0);return{name:O,count:j.length,peopleGroupCount:j.length,population:q,groups:j}}).sort((O,j)=>O.name.localeCompare(j.name));const S={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(O=>{const j=parseInt(O.population)||0;let q=!1;O.bible==="Available"&&(S.bible.count++,S.bible.population+=j,S.bible.groups.push(O),q=!0),O.jesusFilm==="Available"&&(S.jesusFilm.count++,S.jesusFilm.population+=j,S.jesusFilm.groups.push(O),q=!0),O.radio==="Available"&&(S.radio.count++,S.radio.population+=j,S.radio.groups.push(O),q=!0),O.gospel==="Available"&&(S.gospel.count++,S.gospel.population+=j,S.gospel.groups.push(O),q=!0),O.audio==="Available"&&(S.audio.count++,S.audio.population+=j,S.audio.groups.push(O),q=!0),O.stories==="Available"&&(S.stories.count++,S.stories.population+=j,S.stories.groups.push(O),q=!0),q?(S.hasResources.count++,S.hasResources.population+=j,S.hasResources.groups.push(O)):(S.noResources.count++,S.noResources.population+=j,S.noResources.groups.push(O))});const V=u.value.length,ae=u.value.reduce((O,j)=>O+(parseInt(j.population)||0),0),z={bible:"Bible",jesusFilm:"Jesus Film",radio:"Radio",gospel:"Gospel",audio:"Audio",stories:"Stories",hasResources:"Has Resources",noResources:"No Resources"},ee={bible:{count:V-S.bible.count,population:ae-S.bible.population},jesusFilm:{count:V-S.jesusFilm.count,population:ae-S.jesusFilm.population},radio:{count:V-S.radio.count,population:ae-S.radio.population},gospel:{count:V-S.gospel.count,population:ae-S.gospel.population},audio:{count:V-S.audio.count,population:ae-S.audio.population},stories:{count:V-S.stories.count,population:ae-S.stories.population}},Y="#2c3e50";return w.value=[{name:z.bible,key:"bible",count:S.bible.count,population:S.bible.population,isParent:!0,children:[{name:"No Bible",key:"noBible",count:ee.bible.count,population:ee.bible.population,color:Y}]},{name:z.jesusFilm,key:"jesusFilm",count:S.jesusFilm.count,population:S.jesusFilm.population,isParent:!0,children:[{name:"No Jesus Film",key:"noJesusFilm",count:ee.jesusFilm.count,population:ee.jesusFilm.population,color:Y}]},{name:z.radio,key:"radio",count:S.radio.count,population:S.radio.population,isParent:!0,children:[{name:"No Radio",key:"noRadio",count:ee.radio.count,population:ee.radio.population,color:Y}]},{name:z.gospel,key:"gospel",count:S.gospel.count,population:S.gospel.population,isParent:!0,children:[{name:"No Gospel",key:"noGospel",count:ee.gospel.count,population:ee.gospel.population,color:Y}]},{name:z.audio,key:"audio",count:S.audio.count,population:S.audio.population,isParent:!0,children:[{name:"No Audio",key:"noAudio",count:ee.audio.count,population:ee.audio.population,color:Y}]},{name:z.stories,key:"stories",count:S.stories.count,population:S.stories.population,isParent:!0,children:[{name:"No Stories",key:"noStories",count:ee.stories.count,population:ee.stories.population,color:Y}]},{name:z.hasResources,key:"hasResources",count:S.hasResources.count,population:S.hasResources.population,isParent:!0,children:[{name:z.noResources,key:"noResources",count:S.noResources.count,population:S.noResources.population,color:Y}]}],v.value=o.getStats(),l.value=!0,{peopleGroups:c.value,normalizedPeopleGroups:u.value,languageFamiliesData:m.value,doxaRegionsData:$.value,resourcesData:w.value,stats:v.value}}catch(L){throw console.error(`Failed to load data for map "${t}":`,L),i.value=L.message||"Failed to load data",L}finally{r.value=!1}}async function P(){var L,F,S;try{const V={},ae=u.value||[];for(const z of ae){const ee=z.countryIso||((F=(L=z._raw)==null?void 0:L.country_code)==null?void 0:F.value)||"",Y=(S=z._raw)==null?void 0:S.wagf_region,O=z.doxaRegion||z.wagfRegion||(Y&&typeof Y=="object"?Y.value:"")||"";ee&&O&&!V[ee]&&(V[ee]=O)}return p.value={isoToRegion:V},p.value}catch(V){throw console.error(`Error building regions data for map "${t}":`,V),i.value=V.message||"Failed to build regions",V}}function k(){return o?o.getDataByLanguageFamily():{}}function y(){return o?o.getDataByRegion():{}}function b(L){return k()[L]||[]}function C(L){return y()[L]||[]}function A(){c.value=[],u.value=[],p.value=null,m.value=[],$.value=[],w.value=[],v.value=null,l.value=!1,i.value=null}return{isLoading:r,isInitialized:l,error:i,peopleGroups:c,normalizedPeopleGroups:u,regionsData:p,languageFamiliesData:m,doxaRegionsData:$,resourcesData:w,stats:v,loadData:T,loadRegionsData:P,getDataByLanguageFamily:k,getDataByRegion:y,getPeopleGroupsByFamily:b,getPeopleGroupsByRegion:C,clearData:A}}const Fs={};function Pb(){return typeof window<"u"&&window.MAP_APP_API_URL||typeof{url:aa&&aa.tagName.toUpperCase()==="SCRIPT"&&aa.src||new URL("all-people-groups.js",document.baseURI).href}<"u"&&(Fs==null?void 0:Fs.VITE_API_BASE_URL)||""}class Lc{constructor(t={}){this.sourcesConfig=null,this.activeSource=null,this.rawData=[],this.normalizedData=[],this.dataByUniqueId=new Map,this.baseUrl=typeof window<"u"&&window.MAP_APP_BASE_URL||"./",this.locale=t.locale||null,this.cache=new Map,this.cacheEnabled=!0,this.cacheTTL=5*60*1e3}async init(){return this.sourcesConfig=Ql,this.sourcesConfig}getActiveSourceId(){var t;return((t=this.sourcesConfig)==null?void 0:t.activeSource)||"doxa-csv"}getSourceConfig(t){var n,o;return(o=(n=this.sourcesConfig)==null?void 0:n.sources)==null?void 0:o[t]}async setActiveSource(t){const n=this.getSourceConfig(t);if(!n)throw new Error(`Source not found: ${t}`);if(this.activeSource=n,this.cacheEnabled&&this.cache.has(t)){const o=this.cache.get(t);return this.normalizedData=o.normalizedData,this.dataByUniqueId=o.dataByUniqueId,this.normalizedData}return n.type==="csv"?await this.loadCSVData(n):n.type==="api"?await this.loadAPIData(n):n.type==="rest-api"&&await this.loadRestApiData(n),this.cacheEnabled&&this.cache.set(t,{normalizedData:this.normalizedData,dataByUniqueId:this.dataByUniqueId,timestamp:Date.now()}),this.normalizedData}clearCache(t=null){t?this.cache.delete(t):this.cache.clear()}isCached(t){return this.cache.has(t)}async loadActiveSource(){return this.sourcesConfig||await this.init(),this.setActiveSource(this.getActiveSourceId())}parseCSV(t){const n=[],o=[];let a="",s=!1,r=[],i=!0;for(let l=0;l0){if(i.push(a.trim()),a="",r)o.push(...i),r=!1;else if(i.length>1){const f={};o.forEach((m,k)=>{f[m]=i[k]||""}),n.push(f)}i=[]}}else a+=c}if((a||i.length>0)&&(i.push(a.trim()),!r&&i.length>1)){const l={};o.forEach((c,u)=>{l[c]=i[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.map(i=>i.trim())),s=[];for(const[i,r]of Object.entries(t||{}))if(Array.isArray(r))for(const l of r)a.has(l)||s.push({systemField:i,sourceField:l,isComposite:!0});else r&&!a.has(r)&&s.push({systemField:i,sourceField:r,isComposite:!1});s.length>0&&console.warn(`[DataSourceManager] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=kb(),o=((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 i={...t.queryParams||{}};this.locale&&(i.lang=this.locale);for(const[u,f]of Object.entries(i))s.push(`${u}=${encodeURIComponent(f)}`);const r=`${n}${o}?${s.join("&")}`;try{const u=await fetch(r);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 ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(f=>this.getFieldValue(o,f));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,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 i=a.adoptionStatus;i!=null&&(a.adoptionStatus=i===!0||i===1||i==="1"||i==="true"||typeof i=="object"&&!!(i!=null&&i.value)||typeof i=="number"&&i>0||typeof i=="string"&&parseInt(i,10)>0);const r=["doxaRegion","wagfRegion","wagfBlock","wagfMember","affinityBlock","cluster","peopleGroup","countryIso","religion","religionCode"];for(const l of r){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=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new wc;const Tb={class:"apg-root"},Eb={key:0,class:"apg-loading"},$b={key:1,class:"apg-error"},Lb={key:2,class:"apg-legend"},Cb={class:"apg-legend-sub"},wb=["onClick"],Nb={class:"apg-count"},Pb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` +`&&l++,a||r.length>0){if(r.push(a.trim()),a="",i)o.push(...r),i=!1;else if(r.length>1){const p={};o.forEach((m,$)=>{p[m]=r[$]||""}),n.push(p)}r=[]}}else a+=c}if((a||r.length>0)&&(r.push(a.trim()),!i&&r.length>1)){const l={};o.forEach((c,u)=>{l[c]=r[u]||""}),n.push(l)}return{headers:o,data:n}}async loadCSVData(t){try{const o=await(await fetch(this.baseUrl+t.path)).text(),{headers:a,data:s}=this.parseCSV(o);return this.rawData=s,this.validateFieldMappings(t.fieldMappings,a,t.name),this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load CSV data:",n),n}}validateFieldMappings(t,n,o){const a=new Set(n.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] ${o}: missing CSV columns:`,s)}async loadAPIData(t){try{const o=await(await fetch(t.url||t.endpoint)).json();return this.rawData=Array.isArray(o)?o:o.posts||o.data||o.peopleGroups||o.results||[],this.normalizeData(t),this.normalizedData}catch(n){throw console.error("Failed to load API data:",n),n}}async loadRestApiData(t){var l,c;const n=Pb(),o=((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||{}};this.locale&&(r.lang=this.locale);for(const[u,p]of Object.entries(r))s.push(`${u}=${encodeURIComponent(p)}`);const i=`${n}${o}?${s.join("&")}`;try{const u=await fetch(i);if(!u.ok)throw new Error(`HTTP ${u.status}: ${u.statusText}`);const p=u.headers.get("content-type")||"";if(!p.includes("application/json"))throw new Error(`API returned "${p}" instead of JSON. Server at ${n} may be down or misconfigured.`);const m=await u.json();return this.rawData=Array.isArray(m)?m:m.posts||m.data||m.results||[],this.normalizeData(t),this.normalizedData}catch(u){throw console.error(`[rest-api] Failed to load from ${t.id}:`,u),u}}normalizeData(t){const n=t.fieldMappings||{};this.normalizedData=[],this.dataByUniqueId=new Map;for(const o of this.rawData){const a={};for(const[l,c]of Object.entries(n))if(Array.isArray(c)){const u=c.map(p=>this.getFieldValue(o,p));a[l]=u.join("_")}else a[l]=this.getFieldValue(o,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=o,this.normalizedData.push(a),this.dataByUniqueId.set(a.uniqueId,a)}this.rawData=null}getFieldValue(t,n){if(!n)return"";if(t[n]!==void 0)return t[n];const o=n.trim();if(t[o]!==void 0)return t[o];for(const a of Object.keys(t))if(a.trim()===o||a.includes(o)||o.includes(a.trim()))return t[a];return""}parsePopulation(t){if(!t)return 0;const n=String(t).replace(/,/g,"").trim(),o=parseInt(n,10);return isNaN(o)?0:o}getImageUrl(t,n){if(!n)return"";const o=n.placeholderUrl||"",a=t[n.useField];return a&&String(a).trim()&&!String(a).includes("NoImageAvailable")?a:o}getData(){return this.normalizedData}getByUniqueId(t){return this.dataByUniqueId.get(t)}getByCoordinates(t,n,o=1e-4){return this.normalizedData.find(a=>Math.abs(a.latitude-t)n.peopleGroupId===t)}getLanguageFamilies(){const t=new Set;return this.normalizedData.forEach(n=>{n.languageFamily&&t.add(n.languageFamily)}),Array.from(t).sort()}getDataByLanguageFamily(){const t={};return this.normalizedData.forEach(n=>{const o=n.languageFamily||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getDataByRegion(){const t={};return this.normalizedData.forEach(n=>{const o=n.doxaRegion||"Unknown";t[o]||(t[o]=[]),t[o].push(n)}),t}getStats(){return{totalRecords:this.normalizedData.length,withPeopleId3:this.normalizedData.filter(t=>t.peopleId3).length,withPhotos:this.normalizedData.filter(t=>t.imageUrl&&!String(t.imageUrl).includes("NoImageAvailable")).length,languageFamilies:this.getLanguageFamilies().length,countries:new Set(this.normalizedData.map(t=>t.country)).size,regions:Object.keys(this.getDataByRegion()).length}}}new Lc;const Mb={class:"apg-root"},Ib={key:0,class:"apg-loading"},Rb={key:1,class:"apg-error"},Fb={key:2,class:"apg-legend"},Ob={class:"apg-legend-sub"},Db=["onClick"],xb={class:"apg-count"},jb=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"all-people-groups",setup(e){var ee;Zl(` .apg-root { position:absolute;inset:0;overflow:hidden; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif; } .apg-canvas { position:absolute;inset:0; } @@ -101,10 +101,10 @@ .apg-pop .meta { color:#4b5563;margin-top:4px; } .apg-pop a { display:inline-block;margin-top:7px;font-weight:700;color:#b45309;text-decoration:none; } .apg-pop a:hover { text-decoration:underline; } -`,"all-people-groups");const t=De("profileConfig"),n=De("mapboxToken"),o=De("dataSource"),a=De("dataStore"),s=De("mapStore"),i=oc(t),r=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function f(Y,F){if(F.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const F=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||F||"agwm"))}const k=he(null),N=he(!1),v=he(null),{map:$,initializeMap:P,destroy:T}=Wm({containerRef:k,accessToken:n.value,provider:i,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),_=new wc,b=vb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:_,dataStore:a,markRaw:Y=>Y});let L=[],A=new Map;function w(Y){return String(Y??"").replace(/[&<>"']/g,F=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[F])}async function D(){const[Y,F]=await Promise.all([fetch(`${r.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of F){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),ie=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(ie)||ge===0&&ie===0)continue;const fe=f(X,j);W[fe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[ie,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:fe}})}return u.value=W,L=q,{type:"FeatureCollection",features:q}}function S(Y){const F=$.value;F.addSource("apg",{type:"geojson",data:Y}),F.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),F.on("mouseenter","apg-pins",()=>{F.getCanvas().style.cursor="pointer"}),F.on("mouseleave","apg-pins",()=>{F.getCanvas().style.cursor=""}),F.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),ie=X&&X.slug?`Pray for them →`:"",fe=i==="maplibre"?window.maplibregl:window.mapboxgl;new fe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
- ${w(W.name)} ${w(ge.label.split(" — ")[0])} -
${w(W.country)} · pop ${Number(W.population).toLocaleString()}
-
${w(W.evangelical||"GSEC "+W.gsec)}
-
${w(W.language)}${W.religion?" · "+w(W.religion):""}
- ${ie} -
`).addTo(F)})}const V=he(null);function ae(Y){const F=$.value;if(!F||!F.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,F.setFilter("apg-pins",null),F.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,F.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const ie of L){if(ie.properties.category!==Y)continue;const[fe,oe]=ie.geometry.coordinates;feW&&(W=fe),oeX&&(X=oe),ge++}ge&&F.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=D().catch(F=>(v.value=String((F==null?void 0:F.message)||F),null));try{await P()}catch(F){v.value=String((F==null?void 0:F.message)||F);return}if(!$.value){v.value="Map failed to initialize — check token and container";return}$.value.once("style.load",async()=>{var F;try{const j=await Y;if(!j)return;try{$.value.setProjection("mercator")}catch{}S(j),(F=s==null?void 0:s.registerMap)==null||F.call(s,"all-people-groups",$.value),N.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Do(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),T()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,F)=>(We(),wt("div",Tb,[!N.value&&!v.value?(We(),wt("div",Eb,"Loading every people group…")):bn("",!0),v.value?(We(),wt("div",$b,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ce("div",{ref_key:"mapContainer",ref:k,class:"apg-canvas"},null,512),N.value?(We(),wt("div",Lb,[F[0]||(F[0]=Ce("div",{class:"apg-legend-title"},"All People Groups",-1)),Ce("div",Cb,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),wt(Qe,null,Vu(l,j=>Ce("div",{key:j.id,class:Nn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ce("span",{class:"apg-dot",style:po({background:j.color})},null,4),Nt(" "+Qt(j.label)+" ",1),Ce("span",Nb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,wb)),64)),F[1]||(F[1]=Ce("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); +`,"all-people-groups");const t=Fe("profileConfig"),n=Fe("mapboxToken"),o=Fe("dataSource"),a=Fe("dataStore"),s=Fe("mapStore"),r=oc(t),i=be(()=>{var Y;return String(((Y=t==null?void 0:t.value)==null?void 0:Y.assetsBase)||"/assets").replace(/\/+$/,"")}),l=[{id:"doxa",label:"DOXA people groups",color:"#111827"},{id:"frontier",label:"Frontier — nothing started",color:"#e74c3c"},{id:"unreached",label:"Unreached — work beginning",color:"#f1c40f"},{id:"reached",label:"Reached — church is there",color:"#2ecc71"}],c=Object.fromEntries(l.map(Y=>[Y.id,Y.color])),u=he({doxa:0,frontier:0,unreached:0,reached:0});function p(Y,O){if(O.has(String(Y.ROP3Code||"")))return"doxa";const j=Number(Y.GSEC);return!Number.isFinite(j)||j<=1?"frontier":j<=3?"unreached":"reached"}function m(){var j;let Y="";try{Y=new URLSearchParams(window.location.search).get("utm_source")||""}catch{}const O=(j=t==null?void 0:t.value)==null?void 0:j.utmSource;return encodeURIComponent(String(Y||O||"agwm"))}const $=he(null),w=he(!1),v=he(null),{map:T,initializeMap:P,destroy:k}=nb({containerRef:$,accessToken:n.value,provider:r,style:((ee=t==null?void 0:t.value)==null?void 0:ee.style)??"ink",center:[20,12],zoom:1.6}),y=new Lc,b=wb({mapId:"all-people-groups",dataSourceId:o.value,dataSourceManager:y,dataStore:a,markRaw:Y=>Y});let C=[],A=new Map;function L(Y){return String(Y??"").replace(/[&<>"']/g,O=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[O])}async function F(){const[Y,O]=await Promise.all([fetch(`${i.value}/people-groups/people-groups-slim.json`).then(X=>{if(!X.ok)throw new Error(`people-groups-slim.json ${X.status}`);return X.json()}),b.loadData().then(()=>b.normalizedPeopleGroups.value||[]).catch(X=>(console.warn("[all-people-groups] DOXA overlay unavailable (map still renders by GSEC):",X),[]))]),j=new Set;for(const X of O){const ge=String(X.peopleGroupId||X.rop3||"");ge&&(j.add(ge),A.has(ge)||A.set(ge,{slug:X.slug||"",name:X.name||""}))}const q=[],W={doxa:0,frontier:0,unreached:0,reached:0};for(const X of Y.rows||[]){const ge=Number(X.Lat),re=Number(X.Long);if(!Number.isFinite(ge)||!Number.isFinite(re)||ge===0&&re===0)continue;const pe=p(X,j);W[pe]++,q.push({type:"Feature",geometry:{type:"Point",coordinates:[re,ge]},properties:{name:X.Name||"",country:X.CountryName||"",population:Number(X.Population)||0,gsec:X.GSEC,evangelical:X.EvangelicalLevel||"",language:X.LanguageName||"",religion:X.ReligionName||"",rop3:String(X.ROP3Code||""),category:pe}})}return u.value=W,C=q,{type:"FeatureCollection",features:q}}function S(Y){const O=T.value;O.addSource("apg",{type:"geojson",data:Y}),O.addLayer({id:"apg-pins",type:"circle",source:"apg",paint:{"circle-color":["match",["get","category"],"doxa",c.doxa,"frontier",c.frontier,"unreached",c.unreached,c.reached],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,.4,6,.8,12,1.1],"circle-stroke-opacity":.85,"circle-radius":["interpolate",["linear"],["zoom"],0,2.2,4,3.4,8,6,12,9],"circle-opacity":.92,"circle-sort-key":["match",["get","category"],"doxa",4,"frontier",3,"unreached",2,1]}}),O.on("mouseenter","apg-pins",()=>{O.getCanvas().style.cursor="pointer"}),O.on("mouseleave","apg-pins",()=>{O.getCanvas().style.cursor=""}),O.on("click","apg-pins",j=>{const q=j.features&&j.features[0];if(!q)return;const W=q.properties,X=W.category==="doxa"?A.get(W.rop3):null,ge=l.find(oe=>oe.id===W.category),re=X&&X.slug?`Pray for them →`:"",pe=r==="maplibre"?window.maplibregl:window.mapboxgl;new pe.Popup({closeButton:!0,maxWidth:"290px"}).setLngLat(j.lngLat).setHTML(`
+ ${L(W.name)} ${L(ge.label.split(" — ")[0])} +
${L(W.country)} · pop ${Number(W.population).toLocaleString()}
+
${L(W.evangelical||"GSEC "+W.gsec)}
+
${L(W.language)}${W.religion?" · "+L(W.religion):""}
+ ${re} +
`).addTo(O)})}const V=he(null);function ae(Y){const O=T.value;if(!O||!O.getLayer("apg-pins"))return;if(V.value===Y){V.value=null,O.setFilter("apg-pins",null),O.fitBounds([[-170,-55],[179,72]],{padding:20,duration:900});return}V.value=Y,O.setFilter("apg-pins",["==",["get","category"],Y]);let j=180,q=85,W=-180,X=-85,ge=0;for(const re of C){if(re.properties.category!==Y)continue;const[pe,oe]=re.geometry.coordinates;peW&&(W=pe),oeX&&(X=oe),ge++}ge&&O.fitBounds([[j,q],[W,X]],{padding:60,duration:900,maxZoom:6})}Gn(async()=>{const Y=F().catch(O=>(v.value=String((O==null?void 0:O.message)||O),null));try{await P()}catch(O){v.value=String((O==null?void 0:O.message)||O);return}if(!T.value){v.value="Map failed to initialize — check token and container";return}T.value.once("style.load",async()=>{var O;try{const j=await Y;if(!j)return;try{T.value.setProjection("mercator")}catch{}S(j),(O=s==null?void 0:s.registerMap)==null||O.call(s,"all-people-groups",T.value),w.value=!0}catch(j){v.value=String((j==null?void 0:j.message)||j)}})}),Fo(()=>{var Y;(Y=s==null?void 0:s.unregisterMap)==null||Y.call(s,"all-people-groups"),k()});const z=be(()=>u.value.doxa+u.value.frontier+u.value.unreached+u.value.reached);return(Y,O)=>(We(),Lt("div",Mb,[!w.value&&!v.value?(We(),Lt("div",Ib,"Loading every people group…")):bn("",!0),v.value?(We(),Lt("div",Rb,"The map could not be loaded. "+Qt(v.value),1)):bn("",!0),Ne("div",{ref_key:"mapContainer",ref:$,class:"apg-canvas"},null,512),w.value?(We(),Lt("div",Fb,[O[0]||(O[0]=Ne("div",{class:"apg-legend-title"},"All People Groups",-1)),Ne("div",Ob,Qt(z.value.toLocaleString())+" group–country locations",1),(We(),Lt(Qe,null,Vu(l,j=>Ne("div",{key:j.id,class:wn(["apg-row",{active:V.value===j.id}]),onClick:q=>ae(j.id)},[Ne("span",{class:"apg-dot",style:fo({background:j.color})},null,4),wt(" "+Qt(j.label)+" ",1),Ne("span",xb,Qt((u.value[j.id]||0).toLocaleString()),1)],10,Db)),64)),O[1]||(O[1]=Ne("div",{class:"apg-hint"},"Click a row to see all of them · click again for everything",-1))])):bn("",!0)]))}}},Symbol.toStringTag,{value:"Module"}))})(); diff --git a/public/doxa-maps/all-people-groups/all-people-groups/index.html b/public/doxa-maps/all-people-groups/all-people-groups/index.html index 22208c1b1..5f654dfe3 100644 --- a/public/doxa-maps/all-people-groups/all-people-groups/index.html +++ b/public/doxa-maps/all-people-groups/all-people-groups/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + window.FORGE.manifest = {"schema":"doxa-maps-manifest@1","generatedFrom":"plugin-designs/*/*.vue","embedBase":".","bundleCount":22,"profileCount":34,"bundles":[{"bundle":"all-people-groups","scriptUrl":"./all-people-groups/all-people-groups.js","output":"doxa-maps/all-people-groups/all-people-groups.js","integrity":"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c","elements":["all-people-groups"],"profiles":[{"profile":"all-people-groups","file":"all-people-groups.vue","description":"All 12,379 people groups (peoplegroups.org) in four colors — reached,","element":"all-people-groups","type":"single","isMap":true,"iframeUrl":"./all-people-groups/all-people-groups/index.html","scriptUrl":"./all-people-groups/all-people-groups.js","embed":{"iframe":"\u003ciframe src=\"./all-people-groups/all-people-groups/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./all-people-groups/all-people-groups.js\" integrity=\"sha384-R42WaDgwpLQcS2xBY+w+VgqpnTlojkRR3jqMq56IOaLn2MmuDoYwtXysc9CMN58c\" crossorigin=\"anonymous\">\u003c/script>\n\u003call-people-groups profile-config='{\"profile\":\"all-people-groups\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/all-people-groups>"},"bundle":"all-people-groups"}]},{"bundle":"big-picture","scriptUrl":"./big-picture/big-picture.js","output":"doxa-maps/big-picture/big-picture.js","integrity":"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y","elements":["bp-big-picture","bp-research-header","people-groups-grid"],"composes":["bp-research-header","people-groups-grid"],"profiles":[{"profile":"big-picture","file":"big-picture.vue","description":"The Cat-4 composite that PAIRS the two real capability elements of the","element":"bp-big-picture","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./big-picture/big-picture/index.html","scriptUrl":"./big-picture/big-picture.js","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./big-picture/big-picture.js\" integrity=\"sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y\" crossorigin=\"anonymous\">\u003c/script>\n\u003cbp-big-picture profile-config='{\"profile\":\"big-picture\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/bp-big-picture>"},"instances":[{"id":"big-picture","title":"Big Picture — research header ↔ people-groups grid (composite)","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/big-picture/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/big-picture/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Big Picture — frontier accent","apiBaseUrl":"","props":{"profile":"big-picture","provider":"maplibre","instanceId":"bp-big-picture-frontier","accent":"#22d3ee","title":"Big Picture — Frontier Focus"},"element":"bp-big-picture","iframeUrl":"./big-picture/big-picture/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./big-picture/big-picture/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"big-picture"}]},{"bundle":"cities-internet","scriptUrl":"./cities-internet/cities-internet.js","output":"doxa-maps/cities-internet/cities-internet.js","integrity":"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V","elements":["cities-internet-map"],"profiles":[{"profile":"connectivity-list","file":"connectivity-list.vue","description":"Countries where DX people groups live, grouped by region, showing measured internet penetration","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/connectivity-list/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"connectivity-map","file":"connectivity-map.vue","description":"Every country shaded by measured internet penetration, with its named carriers and dominant","element":"cities-internet-map","type":"single","isMap":true,"iframeUrl":"./cities-internet/connectivity-map/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/connectivity-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"connectivity-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Four validated research tables, one tab each, with sortable and filterable columns, CSV and JSON","element":"cities-internet-map","type":"single","isMap":false,"iframeUrl":"./cities-internet/data-tables/index.html","scriptUrl":"./cities-internet/cities-internet.js","embed":{"iframe":"\u003ciframe src=\"./cities-internet/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./cities-internet/cities-internet.js\" integrity=\"sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccities-internet-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/cities-internet-map>"}}]},{"bundle":"country-posters","scriptUrl":"./country-posters/country-posters.js","output":"doxa-maps/country-posters/country-posters.js","integrity":"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI","elements":["country-posters-map"],"composes":["country-posters/country-poster-wall","country-posters/countries-map"],"profiles":[{"profile":"countries-map","file":"countries-map.vue","description":"The researcher's workbench retargeted from people groups to COUNTRIES — region","element":"country-posters-map","type":"single","isMap":true,"iframeUrl":"./country-posters/countries-map/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/countries-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"countries-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-poster-wall","file":"country-poster-wall.vue","description":"One printable card per country, grouped into COLLAPSIBLE regional sections so the","element":"country-posters-map","type":"single","isMap":false,"iframeUrl":"./country-posters/country-poster-wall/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}},{"profile":"country-posters-mfe","file":"country-posters-mfe.vue","description":"Country Posters as ONE two-tab element — the countries map and the printable","element":"country-posters-mfe","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./country-posters/country-posters-mfe/index.html","scriptUrl":"./country-posters/country-posters.js","embed":{"iframe":"\u003ciframe src=\"./country-posters/country-posters-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./country-posters/country-posters.js\" integrity=\"sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI\" crossorigin=\"anonymous\">\u003c/script>\n\u003ccountry-posters-map profile-config='{\"profile\":\"country-posters-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/country-posters-map>"}}]},{"bundle":"dashboard-plus-grid","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","output":"doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js","integrity":"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q","elements":["dashboard-plus-grid"],"composes":["research-dashboard","people-groups-grid"],"profiles":[{"profile":"dashboard-plus-grid","file":"dashboard-plus-grid.vue","description":"Both children are IMPORTED DIRECTLY (compiled into this ONE bundle — no runtime bundle","element":"dashboard-plus-grid","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/index.html","scriptUrl":"./dashboard-plus-grid/dashboard-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./dashboard-plus-grid/dashboard-plus-grid.js\" integrity=\"sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdashboard-plus-grid profile-config='{\"profile\":\"dashboard-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/dashboard-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"dashboard-plus-grid"},"element":"dashboard-plus-grid","iframeUrl":"./dashboard-plus-grid/dashboard-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./dashboard-plus-grid/dashboard-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"demo-map","scriptUrl":"./demo-map/demo-map.js","output":"doxa-maps/demo-map/demo-map.js","integrity":"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH","elements":["demo-map"],"profiles":[{"profile":"demo-map","file":"demo-map.vue","description":"Simple two-tab demo map. Tab 1 colors pins by religion (shared","element":"demo-map","type":"parameterized","isMap":true,"iframeUrl":"./demo-map/demo-map/index.html","scriptUrl":"./demo-map/demo-map.js","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./demo-map/demo-map.js\" integrity=\"sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdemo-map profile-config='{\"profile\":\"demo-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/demo-map>"},"instances":[{"id":"maplibre","title":"Demo map — MapLibre (token-free)","apiBaseUrl":"","props":{"profile":"demo-map","provider":"maplibre","instanceId":"demo-maplibre"},"element":"demo-map","iframeUrl":"./demo-map/demo-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./demo-map/demo-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"demo-map"}]},{"bundle":"doxa-maps-spa","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","output":"doxa-maps/doxa-maps-spa/doxa-maps-spa.js","integrity":"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP","elements":["doxa-maps-spa"],"composes":["bp-big-picture","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map"],"profiles":[{"profile":"doxa-maps-spa","file":"doxa-maps-spa.vue","description":"The DX-maps app itself: one element whose vertical-tab rail nests every other","element":"doxa-maps-spa","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./doxa-maps-spa/doxa-maps-spa/index.html","scriptUrl":"./doxa-maps-spa/doxa-maps-spa.js","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-maps-spa/doxa-maps-spa.js\" integrity=\"sha384-Ce+DKsLgwfej+rgoWeaWFuMMbR3Y4H+8io/lVL+lQfX0O3iGKwDLf4remDkHGCrP\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-maps-spa profile-config='{\"profile\":\"doxa-maps-spa\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-maps-spa>"},"instances":[{"id":"app","title":"DX-Maps SPA — Big Picture + every research map (app-shell)","apiBaseUrl":"","props":{"profile":"doxa-maps-spa","provider":"maplibre","instanceId":"doxa-maps-spa-app","title":"DX-Maps"},"element":"doxa-maps-spa","iframeUrl":"./doxa-maps-spa/doxa-maps-spa/app/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-maps-spa/doxa-maps-spa/app/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-research-map","scriptUrl":"./doxa-research-map/doxa-research-map.js","output":"doxa-maps/doxa-research-map/doxa-research-map.js","integrity":"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp","elements":["doxa-research-map"],"profiles":[{"profile":"research-map","file":"research-map.vue","description":"The researcher's workbench: every piece a missiologist, demographer or","element":"doxa-research-map","type":"monolithic","isMap":true,"iframeUrl":"./doxa-research-map/research-map/index.html","scriptUrl":"./doxa-research-map/doxa-research-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-research-map/doxa-research-map.js\" integrity=\"sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-research-map profile-config='{\"profile\":\"research-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-research-map>"},"instances":[{"id":"maplibre","title":"Research map — MapLibre (token-free, no search bar)","apiBaseUrl":"","props":{"profile":"research-map","provider":"maplibre","instanceId":"research-map-maplibre"},"element":"doxa-research-map","iframeUrl":"./doxa-research-map/research-map/maplibre/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-research-map/research-map/maplibre/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-simple-map","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","output":"doxa-maps/doxa-simple-map/doxa-simple-map.js","integrity":"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC","elements":["doxa-map","doxa-simple-map"],"profiles":[{"profile":"doxa-simple-map","file":"doxa-simple-map.vue","description":"The simple world map, shipped as three presets off ONE prop table —","element":"doxa-map","type":"parameterized","isMap":true,"iframeUrl":"./doxa-simple-map/doxa-simple-map/index.html","scriptUrl":"./doxa-simple-map/doxa-simple-map.js","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-simple-map/doxa-simple-map.js\" integrity=\"sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-map profile-config='{\"profile\":\"doxa-simple-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-map>"},"instances":[{"id":"prayer","title":"Prayer Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-prayer","dataSource":"pray-tools","tabs":[{"id":"prayer","colorStrategy":"prayer","legend":"prayer","popup":"prayer"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/prayer/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/prayer/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"engagement","title":"Engagement Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-engagement","dataSource":"pray-tools","tabs":[{"id":"engagement","colorStrategy":"engagement","legend":"engagement","popup":"engagement"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/engagement/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/engagement/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"adoption","title":"Adoption Map","apiBaseUrl":"https://pray.doxa.life","props":{"profile":"doxa-simple-map","instanceId":"embed-adoption","dataSource":"pray-tools","tabs":[{"id":"adoption","colorStrategy":"adoption","legend":"adoption","popup":"adoption"}]},"element":"doxa-map","iframeUrl":"./doxa-simple-map/doxa-simple-map/adoption/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-simple-map/doxa-simple-map/adoption/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"doxa-vision-card","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","output":"doxa-maps/doxa-vision-card/doxa-vision-card.js","integrity":"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn","elements":["doxa-vision-card"],"profiles":[{"profile":"doxa-vision-card","file":"doxa-vision-card.vue","description":"The Capability-1 example: ONE folder -> ONE bundle -> ONE element.","element":"doxa-vision-card","type":"parameterized","isMap":false,"iframeUrl":"./doxa-vision-card/doxa-vision-card/index.html","scriptUrl":"./doxa-vision-card/doxa-vision-card.js","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./doxa-vision-card/doxa-vision-card.js\" integrity=\"sha384-2mza3cltN5LQQIrlENG/IVL6Icd9zzcFve3E8R8VWuCdYOGW9uGKFvxcbu6eFfwn\" crossorigin=\"anonymous\">\u003c/script>\n\u003cdoxa-vision-card profile-config='{\"profile\":\"doxa-vision-card\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/doxa-vision-card>"},"instances":[{"id":"default","title":"Vision card — reach at a glance","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-default"},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/default/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"frontier","title":"Vision card — frontier accent","apiBaseUrl":"","props":{"profile":"doxa-vision-card","provider":"maplibre","instanceId":"vision-card-frontier","accent":"#22d3ee","title":"The last frontier of the gospel.","tagline":"Frontier people groups — where fewer than one in a thousand follow Jesus.","stats":[{"value":"1,910","label":"Frontier groups","note":"under 0.1% believers"},{"value":"2.1B","label":"People","note":"living in frontier settings"},{"value":"0.1%","label":"Christian","note":"or fewer, in each group"}]},"element":"doxa-vision-card","iframeUrl":"./doxa-vision-card/doxa-vision-card/frontier/index.html","embed":{"iframe":"\u003ciframe src=\"./doxa-vision-card/doxa-vision-card/frontier/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}],"bundle":"doxa-vision-card"}]},{"bundle":"golden-path-check","scriptUrl":"./golden-path-check/golden-path-check.js","output":"doxa-maps/golden-path-check/golden-path-check.js","integrity":"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14","elements":["golden-path-check"],"profiles":[{"profile":"golden-path-check","file":"golden-path-check.vue","description":"A live self-test of the develop-a-plugin-and-see-it-live path: it reads the built","element":"golden-path-check","type":"single","isMap":false,"iframeUrl":"./golden-path-check/golden-path-check/index.html","scriptUrl":"./golden-path-check/golden-path-check.js","embed":{"iframe":"\u003ciframe src=\"./golden-path-check/golden-path-check/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./golden-path-check/golden-path-check.js\" integrity=\"sha384-1V/sT5SkV0U9yTCK9ELIOFfU1ZIJkInIF6nG3UllJ4dxax3RsEAupSGLJEFK6e14\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgolden-path-check profile-config='{\"profile\":\"golden-path-check\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/golden-path-check>"}}]},{"bundle":"gospel-resources","scriptUrl":"./gospel-resources/gospel-resources.js","output":"doxa-maps/gospel-resources/gospel-resources.js","integrity":"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0","elements":["gospel-resources-map"],"profiles":[{"profile":"charts","file":"charts.vue","description":"The gap by LANGUAGE (ISO 639-3) rather than by people group — because one translation serves every","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/charts/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/charts/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"charts\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"data-tables","file":"data-tables.vue","description":"Two validated tables: what resources exist per people group, and whether that access is keeping","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/data-tables/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/data-tables/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"data-tables\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-list","file":"resources-list.vue","description":"Which DX people groups have scripture in their own language, and which have none. The zero-resource","element":"gospel-resources-map","type":"single","isMap":false,"iframeUrl":"./gospel-resources/resources-list/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}},{"profile":"resources-map","file":"resources-map.vue","description":"Every country shaded by how much of its unengaged population has NO gospel resource in their own","element":"gospel-resources-map","type":"single","isMap":true,"iframeUrl":"./gospel-resources/resources-map/index.html","scriptUrl":"./gospel-resources/gospel-resources.js","embed":{"iframe":"\u003ciframe src=\"./gospel-resources/resources-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./gospel-resources/gospel-resources.js\" integrity=\"sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0\" crossorigin=\"anonymous\">\u003c/script>\n\u003cgospel-resources-map profile-config='{\"profile\":\"resources-map\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/gospel-resources-map>"}}]},{"bundle":"my-upg-100-list","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","output":"doxa-maps/my-upg-100-list/my-upg-100-list.js","integrity":"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2","elements":["my-upg-100-list-map"],"composes":["my-upg-100-list/upg-100-list","my-upg-100-list/poster-wall"],"profiles":[{"profile":"poster-wall","file":"poster-wall.vue","description":"A wall of printable poster cards, one per 100-list entry, each with a \"Show on map\" action that","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/poster-wall/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/poster-wall/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"poster-wall\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-list","file":"upg-100-list.vue","description":"A personal unreached-people-groups list painted as true boundary polygons —","element":"my-upg-100-list-map","type":"single","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-list/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}},{"profile":"upg-100-mfe","file":"upg-100-mfe.vue","description":"The standalone, shareable and embeddable composite of the my-upg-100-list family — it nests the map","element":"my-upg-100-list-map","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./my-upg-100-list/upg-100-mfe/index.html","scriptUrl":"./my-upg-100-list/my-upg-100-list.js","embed":{"iframe":"\u003ciframe src=\"./my-upg-100-list/upg-100-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./my-upg-100-list/my-upg-100-list.js\" integrity=\"sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2\" crossorigin=\"anonymous\">\u003c/script>\n\u003cmy-upg-100-list-map profile-config='{\"profile\":\"upg-100-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/my-upg-100-list-map>"}}]},{"bundle":"people-groups-grid","scriptUrl":"./people-groups-grid/people-groups-grid.js","output":"doxa-maps/people-groups-grid/people-groups-grid.js","integrity":"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37","elements":["people-groups-grid"],"profiles":[{"profile":"people-groups-grid","file":"people-groups-grid.vue","description":"The people-groups grid as an owned custom element: card list, search and four","element":"people-groups-grid","type":"parameterized","isMap":false,"iframeUrl":"./people-groups-grid/people-groups-grid/index.html","scriptUrl":"./people-groups-grid/people-groups-grid.js","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./people-groups-grid/people-groups-grid.js\" integrity=\"sha384-ss5PmeSkKuxafBwvxZG3r7roP0OB/oVGwFbfrHnydEhjbtrlB4eisdsPXEyCJF37\" crossorigin=\"anonymous\">\u003c/script>\n\u003cpeople-groups-grid profile-config='{\"profile\":\"people-groups-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/people-groups-grid>"},"instances":[{"id":"people-groups-grid","title":"People Groups Grid — standalone (own search + 4 dropdowns)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid","pray-base-url":"https://pray.doxa.life"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/people-groups-grid/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/people-groups-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"driven","title":"People Groups Grid — externally driven (controls off, props/events)","apiBaseUrl":"","props":{"profile":"people-groups-grid","provider":"maplibre","instanceId":"people-groups-grid-driven","pray-base-url":"https://pray.doxa.life","show-search":"false","show-filters":"false"},"element":"people-groups-grid","iframeUrl":"./people-groups-grid/people-groups-grid/driven/index.html","embed":{"iframe":"\u003ciframe src=\"./people-groups-grid/people-groups-grid/driven/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"plugin-studio","scriptUrl":"./plugin-studio/plugin-studio.js","output":"doxa-maps/plugin-studio/plugin-studio.js","integrity":"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH","elements":["plugin-studio"],"composes":["bp-big-picture","people-groups-grid","doxa-research-map","doxa-simple-map","cities-internet-map","gospel-resources-map","my-upg-100-list-map","doxa-vision-card","all-people-groups","research-dashboard"],"profiles":[{"profile":"plugin-studio","file":"plugin-studio.vue","description":"The developer's viewing surface: a sidebar that is the composability ladder","element":"plugin-studio","type":"nested-mfe-spa","isMap":false,"iframeUrl":"./plugin-studio/plugin-studio/index.html","scriptUrl":"./plugin-studio/plugin-studio.js","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./plugin-studio/plugin-studio.js\" integrity=\"sha384-2RlLFRU2XdjBN7w+FPguj8INgj57JFg4IFT2AmdefGnR9QQLehbiiAffV45LcsFH\" crossorigin=\"anonymous\">\u003c/script>\n\u003cplugin-studio profile-config='{\"profile\":\"plugin-studio\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/plugin-studio>"},"instances":[{"id":"studio","title":"Plugin Studio — every element by capability 5 -> 1 (developer studio)","apiBaseUrl":"","props":{"profile":"plugin-studio","provider":"maplibre","instanceId":"plugin-studio","title":"Plugin Studio"},"element":"plugin-studio","iframeUrl":"./plugin-studio/plugin-studio/studio/index.html","embed":{"iframe":"\u003ciframe src=\"./plugin-studio/plugin-studio/studio/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"prayer-walk-planner","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","output":"doxa-maps/prayer-walk-planner/prayer-walk-planner.js","integrity":"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC","elements":["prayer-walk-planner"],"profiles":[{"profile":"prayer-walk-planner","file":"prayer-walk-planner.vue","description":"A simple polygon-drawing tool for planning prayer-walking routes.","element":"prayer-walk-planner","type":"single","isMap":true,"iframeUrl":"./prayer-walk-planner/prayer-walk-planner/index.html","scriptUrl":"./prayer-walk-planner/prayer-walk-planner.js","embed":{"iframe":"\u003ciframe src=\"./prayer-walk-planner/prayer-walk-planner/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./prayer-walk-planner/prayer-walk-planner.js\" integrity=\"sha384-F0+r4avX8xkXp0hBpU5EBPU0InMRCObIn2Ieh9HJNn1r2amk8/qHmJ68WuNfsirC\" crossorigin=\"anonymous\">\u003c/script>\n\u003cprayer-walk-planner profile-config='{\"profile\":\"prayer-walk-planner\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/prayer-walk-planner>"}}]},{"bundle":"regions-dashboard","scriptUrl":"./regions-dashboard/regions-dashboard.js","output":"doxa-maps/regions-dashboard/regions-dashboard.js","integrity":"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS","elements":["regions-dashboard"],"composes":["regions-dashboard/regions-list","regions-dashboard/region-dashboards"],"profiles":[{"profile":"region-dashboards","file":"region-dashboards.vue","description":"The dashboard half of the Driver's 2-tab Regions element: given a region (or a","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/region-dashboards/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/region-dashboards/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"region-dashboards\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-list","file":"regions-list.vue","description":"A refactor of DX-life's /regions index page (app/pages/regions/index.vue) into","element":"regions-dashboard","type":"single","isMap":true,"iframeUrl":"./regions-dashboard/regions-list/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-list/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-list\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}},{"profile":"regions-mfe","file":"regions-mfe.vue","description":"The composite the Driver asked for: ONE element carrying the SELECT VIEW switcher","element":"regions-dashboard","type":"nested-elements-mfe","isMap":true,"iframeUrl":"./regions-dashboard/regions-mfe/index.html","scriptUrl":"./regions-dashboard/regions-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./regions-dashboard/regions-mfe/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./regions-dashboard/regions-dashboard.js\" integrity=\"sha384-BHIpCnisN9qu6gdJpslS3Q59xknjMZfO4AL3tNe6jbYfdg3CShiTaVWQYv5KyidS\" crossorigin=\"anonymous\">\u003c/script>\n\u003cregions-dashboard profile-config='{\"profile\":\"regions-mfe\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/regions-dashboard>"}}]},{"bundle":"research-dashboard","scriptUrl":"./research-dashboard/research-dashboard.js","output":"doxa-maps/research-dashboard/research-dashboard.js","integrity":"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX","elements":["research-dashboard-map"],"profiles":[{"profile":"research-dashboard","file":"research-dashboard.vue","description":"Coordinated-Multiple-Views research dashboard for 10/40-window UPGs (live pray.doxa.life): docked facet rail + map-as-hero + linked table/charts, brushing-and-linking over one in-memory store.","element":"research-dashboard-map","type":"monolithic","isMap":true,"iframeUrl":"./research-dashboard/research-dashboard/index.html","scriptUrl":"./research-dashboard/research-dashboard.js","embed":{"iframe":"\u003ciframe src=\"./research-dashboard/research-dashboard/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-dashboard/research-dashboard.js\" integrity=\"sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-dashboard-map profile-config='{\"profile\":\"research-dashboard\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-dashboard-map>"},"bundle":"research-dashboard"}]},{"bundle":"research-map-plus-grid","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","output":"doxa-maps/research-map-plus-grid/research-map-plus-grid.js","integrity":"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo","elements":["research-map-plus-grid"],"composes":["doxa-research-map","people-groups-grid"],"profiles":[{"profile":"research-map-plus-grid","file":"research-map-plus-grid.vue","description":"The monolithic 7-tab research map (cap-3) on top, the People Groups grid beneath,","element":"research-map-plus-grid","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./research-map-plus-grid/research-map-plus-grid/index.html","scriptUrl":"./research-map-plus-grid/research-map-plus-grid.js","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./research-map-plus-grid/research-map-plus-grid.js\" integrity=\"sha384-sOkaMV0UFr2uNXfoJpRvaD+gHD6xFlkmpR7MzEwwFdarYdid8aN9Nj1Y8TqQJuFo\" crossorigin=\"anonymous\">\u003c/script>\n\u003cresearch-map-plus-grid profile-config='{\"profile\":\"research-map-plus-grid\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/research-map-plus-grid>"},"instances":[{"id":"default","title":"default","apiBaseUrl":"","props":{"profile":"research-map-plus-grid"},"element":"research-map-plus-grid","iframeUrl":"./research-map-plus-grid/research-map-plus-grid/default/index.html","embed":{"iframe":"\u003ciframe src=\"./research-map-plus-grid/research-map-plus-grid/default/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"stack-demo","scriptUrl":"./stack-demo/stack-demo.js","output":"doxa-maps/stack-demo/stack-demo.js","integrity":"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf","elements":["stack-demo"],"composes":["research-dashboard-map","people-groups-grid"],"profiles":[{"profile":"stack-demo","file":"stack-demo.vue","description":"Groups TWO independent elements TOP-TO-BOTTOM so you can embed the pair on a page and","element":"stack-demo","type":"nested-elements-mfe","isMap":false,"iframeUrl":"./stack-demo/stack-demo/index.html","scriptUrl":"./stack-demo/stack-demo.js","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./stack-demo/stack-demo.js\" integrity=\"sha384-gnwM6s+puf1K60Nl7crQcC2QC+9BxwpkaTx4OepLZ8VUCraZc+aRlWpsb6nj6Gyf\" crossorigin=\"anonymous\">\u003c/script>\n\u003cstack-demo profile-config='{\"profile\":\"stack-demo\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/stack-demo>"},"instances":[{"id":"pair","title":"pair","apiBaseUrl":"","props":{"profile":"stack-demo"},"element":"stack-demo","iframeUrl":"./stack-demo/stack-demo/pair/index.html","embed":{"iframe":"\u003ciframe src=\"./stack-demo/stack-demo/pair/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]},{"bundle":"template-bundle","scriptUrl":"./template-bundle/template-bundle.js","output":"doxa-maps/template-bundle/template-bundle.js","integrity":"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3","elements":["template-bundle"],"profiles":[{"profile":"template-map-a","file":"template-map-a.vue","description":"Minimal example profile A — a colored placeholder, no Mapbox or data.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-a/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-a/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-a\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"},{"profile":"template-map-b","file":"template-map-b.vue","description":"Minimal example profile B — a second profile in the same bundle.","element":"template-bundle","type":"single","isMap":false,"iframeUrl":"./template-bundle/template-map-b/index.html","scriptUrl":"./template-bundle/template-bundle.js","embed":{"iframe":"\u003ciframe src=\"./template-bundle/template-map-b/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./template-bundle/template-bundle.js\" integrity=\"sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3\" crossorigin=\"anonymous\">\u003c/script>\n\u003ctemplate-bundle profile-config='{\"profile\":\"template-map-b\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/template-bundle>"},"bundle":"template-bundle"}]},{"bundle":"upg-neighbor","scriptUrl":"./upg-neighbor/upg-neighbor.js","output":"doxa-maps/upg-neighbor/upg-neighbor.js","integrity":"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q","elements":["upg-neighbor"],"profiles":[{"profile":"upg-neighbor","file":"upg-neighbor.vue","description":"Rescues the three pre-bundler experimental maps that live inside the legacy","element":"upg-neighbor","type":"parameterized","isMap":false,"iframeUrl":"./upg-neighbor/upg-neighbor/index.html","scriptUrl":"./upg-neighbor/upg-neighbor.js","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>","script":"\u003cscript>window.MAP_APP_API_URL=\"https://pray.doxa.life\";\u003c/script>\n\u003cscript src=\"./upg-neighbor/upg-neighbor.js\" integrity=\"sha384-JDJr4qoVZuiSi/rvgdzeuUNrzf7vjPdyh/g8dg7X8RHkZk/Y+tYXIQ3gpEzrU07q\" crossorigin=\"anonymous\">\u003c/script>\n\u003cupg-neighbor profile-config='{\"profile\":\"upg-neighbor\",\"tk\":\"YOUR_MAPBOX_TOKEN\",\"utmSource\":\"YOUR_SOURCE\",\"assetsBase\":\"YOUR_TREE_URL/assets\"}'>\u003c/upg-neighbor>"},"instances":[{"id":"send-map","title":"Send Map (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"send-map","legacyTitle":"Send Map"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/send-map/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/send-map/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"upg-neighbors","title":"UPG Neighbors (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"upg-neighbors","legacyTitle":"UPG Neighbors"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/upg-neighbors/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/upg-neighbors/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"lang-cluster","title":"Language Clusters (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"lang-cluster","legacyTitle":"Language Clusters"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/lang-cluster/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/lang-cluster/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"bloom-cockpit","title":"Bloom Cockpit (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"bloom-cockpit","legacyTitle":"Bloom Cockpit"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/bloom-cockpit/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}},{"id":"flower-mesh","title":"Flower Mesh (legacy)","apiBaseUrl":"","props":{"profile":"upg-neighbor","legacyElement":"flower-mesh","legacyTitle":"Flower Mesh"},"element":"upg-neighbor","iframeUrl":"./upg-neighbor/upg-neighbor/flower-mesh/index.html","embed":{"iframe":"\u003ciframe src=\"./upg-neighbor/upg-neighbor/flower-mesh/index.html?utm_source=YOUR_SOURCE\" width=\"100%\" height=\"600\" style=\"border:none;border-radius:12px;\" allowfullscreen>\u003c/iframe>"}}]}]}]}; \n\n" + "script": "\n\n" }, "bundle": "all-people-groups" } @@ -35,7 +35,7 @@ "bundle": "big-picture", "scriptUrl": "./big-picture/big-picture.js", "output": "doxa-maps/big-picture/big-picture.js", - "integrity": "sha384-v0b+aZ7TBxmgUIBBLdKEm6HzwjY3jAGyOFNsKeKCKY4EIRpiWRTcNLavAitHRt8h", + "integrity": "sha384-voYmtWeACTFBJOOeqcbf5cuBKSjyskA89cjvm5qcvrx9IUFTAhLuICyRXUM6fL+Y", "elements": [ "bp-big-picture", "bp-research-header", @@ -57,7 +57,7 @@ "scriptUrl": "./big-picture/big-picture.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -101,7 +101,7 @@ "bundle": "cities-internet", "scriptUrl": "./cities-internet/cities-internet.js", "output": "doxa-maps/cities-internet/cities-internet.js", - "integrity": "sha384-tNig8gXdCocWVKD5iXR6iRqiAr7msWFtcFKzYif0L0G5i/RM+HI+SO8oR5c6O+5R", + "integrity": "sha384-lF6OGT0FH7sBXnALLiAoji8TADE05n7yqqoortZAifVdH6fNJ4yQeRRwjT8oXq+V", "elements": [ "cities-internet-map" ], @@ -117,7 +117,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -131,7 +131,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -145,7 +145,7 @@ "scriptUrl": "./cities-internet/cities-internet.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -154,7 +154,7 @@ "bundle": "country-posters", "scriptUrl": "./country-posters/country-posters.js", "output": "doxa-maps/country-posters/country-posters.js", - "integrity": "sha384-QdkwinBM2mJMqVlEX7HYctnr/9k9Nj01MDwFGwYL7tT62O8Nm3JuujLJ8qxZTFJ7", + "integrity": "sha384-pWCBnzi9A8axrT5aW4DjigzZ8utiQeU+OVsOIKVKA9vC61ArtxaRxjqQ8l5xNxzI", "elements": [ "country-posters-map" ], @@ -174,7 +174,7 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -188,21 +188,21 @@ "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { "profile": "country-posters-mfe", "file": "country-posters-mfe.vue", - "description": "", - "element": "country-posters-map", + "description": "Country Posters as ONE two-tab element — the countries map and the printable", + "element": "country-posters-mfe", "type": "nested-elements-mfe", "isMap": true, "iframeUrl": "./country-posters/country-posters-mfe/index.html", "scriptUrl": "./country-posters/country-posters.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -211,7 +211,7 @@ "bundle": "dashboard-plus-grid", "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "output": "doxa-maps/dashboard-plus-grid/dashboard-plus-grid.js", - "integrity": "sha384-YbJgljynZ4t3/Ro44oHQy9ihl9/5o7j4IKts8MNRfA73Cb5cyD7U52DklXjzpLpG", + "integrity": "sha384-KWYs/unuewlt9PJ4CC/VlyoghFmN4KtHqsweo68lJwUNL1g3FJ8VctASOYWAt91q", "elements": [ "dashboard-plus-grid" ], @@ -231,7 +231,7 @@ "scriptUrl": "./dashboard-plus-grid/dashboard-plus-grid.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -255,7 +255,7 @@ "bundle": "demo-map", "scriptUrl": "./demo-map/demo-map.js", "output": "doxa-maps/demo-map/demo-map.js", - "integrity": "sha384-QiUJUgeFn27tiHKVhAYtJuIWo+1z5xsCUP1Nj4m1H4cFUV3vUA7ADTP58Ky3oVtQ", + "integrity": "sha384-2ItGdUG5OW9uHN4ldNF6To6hvTy3XGdFnJrJenyyqShBjIi2NgcyXTyhYu2mttHH", "elements": [ "demo-map" ], @@ -271,7 +271,7 @@ "scriptUrl": "./demo-map/demo-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -349,7 +349,7 @@ "bundle": "doxa-research-map", "scriptUrl": "./doxa-research-map/doxa-research-map.js", "output": "doxa-maps/doxa-research-map/doxa-research-map.js", - "integrity": "sha384-oecoezttPmpRe5GNG/Yko6IkEbtLjCD7PD7qghU1ZigprnfLKhbf0eBEiEbE24iR", + "integrity": "sha384-ycDpVdTjizEUxzsO+lQpTagpdLenXlLnvFQ/juKcWeazo2Qvo1B1QYpDxykzA9Zp", "elements": [ "doxa-research-map" ], @@ -365,7 +365,7 @@ "scriptUrl": "./doxa-research-map/doxa-research-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -391,7 +391,7 @@ "bundle": "doxa-simple-map", "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "output": "doxa-maps/doxa-simple-map/doxa-simple-map.js", - "integrity": "sha384-hzEui48BqpW8VhRthz3daMgAdw4w4M3gtBre4ce4sXuAmS+39pMRW9reNAvpFb+W", + "integrity": "sha384-8drw8bByutNX9KwjTP4nrgMqtlu7xgrqxK6ebWLh8VTWAYC39TQ3d/8qwBxhPJMC", "elements": [ "doxa-map", "doxa-simple-map" @@ -408,7 +408,7 @@ "scriptUrl": "./doxa-simple-map/doxa-simple-map.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "instances": [ { @@ -591,7 +591,7 @@ "bundle": "gospel-resources", "scriptUrl": "./gospel-resources/gospel-resources.js", "output": "doxa-maps/gospel-resources/gospel-resources.js", - "integrity": "sha384-4pOAnuuOovcKXSQANV9jnLu1ExxiwQMuC4aU5MtAsd959tYmdUj05u4tT57Z/rKI", + "integrity": "sha384-XgF3DvRZEHIzZxcUqixiOsEk5bh6vIpwP7Drf9fBYy9F9cB7bp3NP2G2E56pPGt0", "elements": [ "gospel-resources-map" ], @@ -607,7 +607,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -621,7 +621,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -635,7 +635,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -649,7 +649,7 @@ "scriptUrl": "./gospel-resources/gospel-resources.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -658,7 +658,7 @@ "bundle": "my-upg-100-list", "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "output": "doxa-maps/my-upg-100-list/my-upg-100-list.js", - "integrity": "sha384-cs9Yz6dE0cp2ChVeNB9btNOXrqNk+xl0r4374AkMHRiEW7x+u3wlLDBv9TU469Ra", + "integrity": "sha384-9MM9Wm9yP7JwtlWBL0+xuJ2yHwHD/trEHYrsk0kEKgR4pXXdTNguIE50TqRCUbK2", "elements": [ "my-upg-100-list-map" ], @@ -678,7 +678,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -692,7 +692,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } }, { @@ -706,7 +706,7 @@ "scriptUrl": "./my-upg-100-list/my-upg-100-list.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" } } ] @@ -913,7 +913,7 @@ "bundle": "research-dashboard", "scriptUrl": "./research-dashboard/research-dashboard.js", "output": "doxa-maps/research-dashboard/research-dashboard.js", - "integrity": "sha384-VvOYWBcDd7NtnB1eveECKX88ZHIpGnOf79tVdCUqGZzXLgoZPc+oTTPIC3ajaYsn", + "integrity": "sha384-60D2NR4qeGMpN3QBUP2aTS2Ay90/Qqka2PiJQR12HoyewjpUeJXWDV3qihflLQGX", "elements": [ "research-dashboard-map" ], @@ -929,7 +929,7 @@ "scriptUrl": "./research-dashboard/research-dashboard.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "research-dashboard" } @@ -1027,7 +1027,7 @@ "bundle": "template-bundle", "scriptUrl": "./template-bundle/template-bundle.js", "output": "doxa-maps/template-bundle/template-bundle.js", - "integrity": "sha384-k+G5UlkZ99QmuecCCWUrjz998JBJnQT3hsDG0A+IVmiX9F3CNswmHXXzYhjnUTDX", + "integrity": "sha384-6SGiWbRI14LXEIhcKTQ3rZPX2ZLKlxaBBZkrnWx4zNsgG5J0l2MxdeI8Fbf0O5R3", "elements": [ "template-bundle" ], @@ -1043,7 +1043,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" }, @@ -1058,7 +1058,7 @@ "scriptUrl": "./template-bundle/template-bundle.js", "embed": { "iframe": "", - "script": "\n\n" + "script": "\n\n" }, "bundle": "template-bundle" } diff --git a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js index 0b5ee047e..91ca4cb3e 100644 --- a/public/doxa-maps/my-upg-100-list/my-upg-100-list.js +++ b/public/doxa-maps/my-upg-100-list/my-upg-100-list.js @@ -22,7 +22,7 @@ * pinia v2.3.1 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,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 $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(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];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(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 u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","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","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","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.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged"},Hh={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Jh={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},om={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gm={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Rm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Gm={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},zm={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! + */let Ac;const rr=e=>Ac=e,Sc=Symbol();function bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var ra;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(ra||(ra={}));function lh(){const e=Ir(!0),t=e.run(()=>de({}));let o=[],n=[];const a=qo({install(r){rr(a),a._a=r,r.provide(Sc,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 $c=()=>{};function Ec(e,t,o,n=$c){e.push(t);const a=()=>{const r=e.indexOf(t);r>-1&&(e.splice(r,1),n())};return!o&&Bi()&&Np(a),a}function wn(e,...t){e.slice().forEach(o=>{o(...t)})}const ch=e=>e(),Cc=Symbol(),ys=Symbol();function _s(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];bs(a)&&bs(n)&&e.hasOwnProperty(o)&&!st(n)&&!vo(n)?e[o]=_s(a,n):e[o]=n}return e}const uh=Symbol();function dh(e){return!bs(e)||!e.hasOwnProperty(uh)}const{assign:Fo}=Object;function ph(e){return!!(st(e)&&e.effect)}function gh(e,t,o,n){const{state:a,actions:r,getters:s}=t,i=o.state.value[e];let l;function u(){i||(o.state.value[e]=a?a():{});const c=tg(o.state.value[e]);return Fo(c,r,Object.keys(s||{}).reduce((p,g)=>(p[g]=qo(te(()=>{rr(o);const k=o._s.get(e);return s[g].call(k,k)})),p),{}))}return l=Lc(e,u,t,o,n,!0),l}function Lc(e,t,o={},n,a,r){let s;const i=Fo({actions:{}},o),l={deep:!0};let u,c,p=[],g=[],k;const w=n.state.value[e];!r&&!w&&(n.state.value[e]={});let _;function d(T){let I;u=c=!1,typeof T=="function"?(T(n.state.value[e]),I={type:ra.patchFunction,storeId:e,events:k}):(_s(n.state.value[e],T),I={type:ra.patchObject,payload:T,storeId:e,events:k});const H=_=Symbol();lo().then(()=>{_===H&&(u=!0)}),c=!0,wn(p,I,n.state.value[e])}const h=r?function(){const{state:I}=o,H=I?I():{};this.$patch(W=>{Fo(W,H)})}:$c;function f(){s.stop(),p=[],g=[],n._s.delete(e)}const m=(T,I="")=>{if(Cc in T)return T[ys]=I,T;const H=function(){rr(n);const W=Array.from(arguments),re=[],P=[];function $(N){re.push(N)}function M(N){P.push(N)}wn(g,{args:W,name:H[ys],store:x,after:$,onError:M});let C;try{C=T.apply(this&&this.$id===e?this:x,W)}catch(N){throw wn(P,N),N}return C instanceof Promise?C.then(N=>(wn(re,N),N)).catch(N=>(wn(P,N),Promise.reject(N))):(wn(re,C),C)};return H[Cc]=!0,H[ys]=I,H},v={_p:n,$id:e,$onAction:Ec.bind(null,g),$patch:d,$reset:h,$subscribe(T,I={}){const H=Ec(p,T,I.detached,()=>W()),W=s.run(()=>ct(()=>n.state.value[e],re=>{(I.flush==="sync"?c:u)&&T({storeId:e,type:ra.direct,events:k},re)},Fo({},l,I)));return H},$dispose:f},x=pn(v);n._s.set(e,x);const S=(n._a&&n._a.runWithContext||ch)(()=>n._e.run(()=>(s=Ir()).run(()=>t({action:m}))));for(const T in S){const I=S[T];if(st(I)&&!ph(I)||vo(I))r||(w&&dh(I)&&(st(I)?I.value=w[T]:_s(I,w[T])),n.state.value[e][T]=I);else if(typeof I=="function"){const H=m(I,T);S[T]=H,i.actions[T]=I}}return Fo(x,S),Fo(Be(x),S),Object.defineProperty(x,"$state",{get:()=>n.state.value[e],set:T=>{d(I=>{Fo(I,T)})}}),n._p.forEach(T=>{Fo(x,s.run(()=>T({store:x,app:n._a,pinia:n,options:i})))}),w&&r&&o.hydrate&&o.hydrate(x.$state,w),u=!0,c=!0,x}/*! #__NO_SIDE_EFFECTS__ */function vs(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 u=mg();return i=i||(u?Fe(Sc,null):null),i&&rr(i),i=Ac,i._s.has(n)||(r?Lc(n,t,a,i):gh(n,a,i)),i._s.get(n)}return s.$id=n,s}const ks="__doxaMapToken",ws="doxa:map-token",Tc="__doxaMapTokenBridge",xn=()=>{if(typeof window>"u")return"";const e=window[ks];return typeof e=="string"?e:""};function Pc(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===xn())return xn();window[ks]=t;try{window.dispatchEvent(new CustomEvent(ws,{detail:t}))}catch{}return t}function fh(){if(typeof window>"u"||window[Tc])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!xn()&&(window[ks]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return xn()},set(t){Pc(t)}}),window[Tc]=!0}catch{}}function hh(){fh();const e=de(xn());if(typeof window<"u"){const t=()=>{e.value=xn()};window.addEventListener(ws,t);try{uo(()=>window.removeEventListener(ws,t))}catch{}}return e}function Mc(e){return Eg({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const mh={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل"},bh={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين"},yh={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},_h={title:{prayer:"تقدم الصلاة",engagement:"تقدم الانخراط",adoption:"تقدم التبني",languageFamilies:"العائلات اللغوية",doxaRegions:"مناطق Doxa",affinityBlocs:"كتل القرابة",gospelResources:"موارد الإنجيل"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"}},vh={menuComingSoon:"القائمة قادمة قريباً"},kh={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},wh={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},xh={"%count% people groups in %countries% countries":"%count% مجموعة بشرية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"تم انتماؤه","Adoption Progress":"تقدُّم الإنتماء","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُنخرَط","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الشخصي الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات بشرية","People committed to praying":"الأشخاص الذين التزموا بالصلاة",Population:"عدد السكان","Prayer Coverage":"التغطية المستمرة بالصلاة","Prayer coverage progress":"تقدم تغطية الصلاة",Regions:"المناطق",Religion:"الدين","Search names, country/continent, religions...":"إبحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"الشعوب الغير متفاعلة","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"الشعوب المنتمية","people groups engaged":"مجموعات بشرية مُنخرِطة"},Ah={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"}},Sh={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة"},$h={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen"},Eh={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"},Ch={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Lh={title:{prayer:"Gebetsfortschritt",engagement:"Engagement-Fortschritt",adoption:"Adoptionsfortschritt",languageFamilies:"Sprachfamilien",doxaRegions:"Doxa-Regionen",affinityBlocs:"Affinitätsblöcke",gospelResources:"Evangeliumsressourcen"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung"},footer:{total:"Gesamt"}},Th={menuComingSoon:"Menü folgt in Kürze"},Ph={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},Mh={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},Nh={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Angenommen","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Engagement-Fortschritt","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","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung",Regions:"Regionen",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Show Filters":"Filter anzeigen","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.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Völlig unerreichte Volksgruppen","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen"},Rh={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"}},Ih={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land"},Oh={backToLegend:"Back to Legend",closeDetailView:"Close detail view"},Fh={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share"},Dh={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},Bh={title:{prayer:"Prayer Progress",engagement:"Engagement Progress",adoption:"Adoption Progress",languageFamilies:"Language Families",doxaRegions:"Doxa Regions",affinityBlocs:"Affinity Blocks",gospelResources:"Gospel Resources"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"}},Gh={menuComingSoon:"Menu coming soon"},jh={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},Uh={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Kh={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},zh={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress",Regions:"Regions",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","View country posters":"View country posters","Hide country posters":"Hide country posters","No poster has been generated for this country yet.":"No poster has been generated for this country yet."},Hh={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Vh={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country"},Wh={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle"},Yh={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"},qh={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Jh={title:{prayer:"Progreso de oración",engagement:"Progreso de implicación",adoption:"Progreso de adopción",languageFamilies:"Familias lingüísticas",doxaRegions:"Regiones Doxa",affinityBlocs:"Bloques de afinidad",gospelResources:"Recursos del Evangelio"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"}},Xh={menuComingSoon:"Menú próximamente"},Zh={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Qh={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},em={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Aprobado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración",Regions:"Regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos de personas adoptados","people groups engaged":"grupos étnicos comprometidos"},tm={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"}},om={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País"},nm={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée"},am={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"},rm={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},sm={title:{prayer:"Progression de la prière",engagement:"Progression de l'engagement",adoption:"Progression de l'adoption",languageFamilies:"Familles de langues",doxaRegions:"Régions Doxa",affinityBlocs:"Blocs d'affinité",gospelResources:"Ressources de l'Évangile"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"}},im={menuComingSoon:"Menu bientôt disponible"},lm={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},cm={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},um={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},dm={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière",Regions:"Régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés"},pm={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"}},gm={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays"},fm={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें"},hm={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें"},mm={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},bm={title:{prayer:"प्रार्थना प्रगति",engagement:"सहभागिता प्रगति",adoption:"गोद लेने की प्रगति",languageFamilies:"भाषा परिवार",doxaRegions:"Doxa क्षेत्र",affinityBlocs:"समानता समूह",gospelResources:"सुसमाचार संसाधन"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या"},footer:{total:"कुल"}},ym={menuComingSoon:"मेनू शीघ्र आ रहा है"},_m={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},vm={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},km={"%count% people groups in %countries% countries":"%countries% देशों में %count% लोगों के समूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"दत्तक लिया गया","Adoption Progress":"दत्तक ग्रहण की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"प्रवेशित","Engagement Progress":"प्रवेश की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूर्ण प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"लोगों के समूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग",Population:"जनसँख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति",Regions:"क्षेत्र",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें..।","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनलग्न लोगों के समूह","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"लोगों के समूहों ने अपनाया","people groups engaged":"प्रवेशित लोगों के समूह"},wm={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"}},xm={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio"},Am={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"},Sm={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},$m={title:{prayer:"Avanzamento della preghiera",engagement:"Avanzamento dell'impegno",adoption:"Avanzamento dell'adozione",languageFamilies:"Famiglie linguistiche",doxaRegions:"Regioni Doxa",affinityBlocs:"Blocchi di affinità",gospelResources:"Risorse del Vangelo"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione"},footer:{total:"Totale"}},Em={menuComingSoon:"Menu in arrivo"},Cm={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},Lm={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Tm={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"}},Pm={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe"},Mm={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"},Nm={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},Rm={title:{prayer:"Progresso da oração",engagement:"Progresso do envolvimento",adoption:"Progresso da adoção",languageFamilies:"Famílias linguísticas",doxaRegions:"Regiões Doxa",affinityBlocs:"Blocos de afinidade",gospelResources:"Recursos do Evangelho"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"}},Im={menuComingSoon:"Menu em breve"},Om={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},Fm={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},Dm={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Aprovado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração",Population:"Aplicação","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração",Regions:"Regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados"},Bm={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"}},Gm={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País"},jm={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată"},Um={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ă"},Km={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},zm={title:{prayer:"Progresul rugăciunii",engagement:"Progresul implicării",adoption:"Progresul adopției",languageFamilies:"Familii de limbi",doxaRegions:"Regiuni Doxa",affinityBlocs:"Blocuri de afinitate",gospelResources:"Resurse ale Evangheliei"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație"},footer:{total:"Total"}},Hm={menuComingSoon:"Meniu în curând"},Vm={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},Wm={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Ym={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"}},qm={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид"},Jm={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить"},Xm={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},Zm={title:{prayer:"Прогресс молитвы",engagement:"Прогресс вовлечённости",adoption:"Прогресс усыновления",languageFamilies:"Языковые семьи",doxaRegions:"Регионы Doxa",affinityBlocs:"Блоки родства",gospelResources:"Евангельские ресурсы"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"}},Qm={menuComingSoon:"Меню скоро появится"},eb={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},tb={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},ob={"%count% people groups in %countries% countries":"%count% групп людей в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Принято","Adoption Progress":"Прогресс принятия","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечённый","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры",Intercessors:"Ходатаи","Load More":"Загрузить еще","Loading results...":"Загрузка результатов...","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Группы людей","People committed to praying":"Люди, посвятившие себя молитве",Population:"Население","Prayer Coverage":"Молитвенное покрытие","Prayer coverage progress":"Прогресс молитвенного покрытия",Regions:"Регионы",Religion:"Религия","Search names, country/continent, religions...":"Поиск по именам, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые группы людей","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"принятые группы людей","people groups engaged":"вовлечённые группы людей"},nb={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"}},ab={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна"},rb={backToLegend:"返回图例",closeDetailView:"关闭详情视图"},sb={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入"},ib={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lb={title:{prayer:"祷告进度",engagement:"参与进度",adoption:"认领进度",languageFamilies:"语系",doxaRegions:"Doxa 区域",affinityBlocs:"亲缘板块",gospelResources:"福音资源"},header:{collapsed:"图例",peopleGroupFallback:"民族群体"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口"},footer:{total:"总计"}},cb={menuComingSoon:"菜单即将推出"},ub={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},db={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},pb={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"}};/*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. diff --git a/public/doxa-maps/my-upg-100-list/poster-wall/index.html b/public/doxa-maps/my-upg-100-list/poster-wall/index.html index a322e3047..bcdb8400c 100644 --- a/public/doxa-maps/my-upg-100-list/poster-wall/index.html +++ b/public/doxa-maps/my-upg-100-list/poster-wall/index.html @@ -29,7 +29,7 @@ - + - + - + - + - + - +