From ca07fc3c8c9bef7bfde0f93afbf096562777869d Mon Sep 17 00:00:00 2001
From: Doxa Maps
Date: Tue, 29 Sep 2026 12:59:05 +0000
Subject: [PATCH] Rebuild the consumers main left stale (build owner, README
rule 5)
check:composite-freshness found stale on main: none. Rebuilt, tree + SRI
regenerated; the landing precondition (fresh, one folder, SRI) passed in main-capture scan.
---
.../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 | 2 +-
public/dx-maps/demo-map/demo-map.js | 2 +-
public/dx-maps/demo-map/demo-map/index.html | 2 +-
.../demo-map/demo-map/maplibre/index.html | 2 +-
public/dx-maps/doxa-maps-spa/manifest.json | 56 +++++++++----------
.../doxa-research-map/doxa-research-map.js | 2 +-
.../doxa-research-map/research-map/index.html | 2 +-
.../research-map/maplibre/index.html | 2 +-
.../doxa-simple-map/doxa-simple-map.js | 2 +-
.../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-dashboard/index.html | 2 +-
.../gospel-resources/gospel-resources.js | 2 +-
.../resources-list/index.html | 2 +-
.../gospel-resources/resources-map/index.html | 2 +-
public/dx-maps/manifest.json | 56 +++++++++----------
27 files changed, 81 insertions(+), 81 deletions(-)
diff --git a/public/dx-maps/cities-internet/cities-internet.js b/public/dx-maps/cities-internet/cities-internet.js
index fb2705b60..c3e575e17 100644
--- a/public/dx-maps/cities-internet/cities-internet.js
+++ b/public/dx-maps/cities-internet/cities-internet.js
@@ -691,7 +691,7 @@
@media (prefers-reduced-motion: reduce) {
.legend-container, .legend-reopen, .legend-collapse-caret, .legend-collapse-caret svg { transition: none !important; animation: none !important; }
}
-`,"legend-component");const a=e;Pe("mapStore");const r=Pe("dataStore"),s=Pe("uiStore"),i=pl(a,"legendType"),{items:l,columns:c,title:u,activeFilter:p,setFilter:d,totalCount:w,totalPopulation:y,progress:h,fmtPop:g,fmtCount:b}=od(i,gd),x=Pe("normalizedPeopleGroups",null),$=U(()=>{var J,X;if((J=x==null?void 0:x.value)!=null&&J.length)return x.value;const te=[];for(const oe in r.sources){const le=r.sources[oe];(X=le==null?void 0:le.features)!=null&&X.length&&te.push(...le.features)}return te}),k=Pe("mapId",null),C=U(()=>s.isMobile),S=U(()=>s.legendMode),L=U(()=>s.selectedPeopleGroup),F=U(()=>Li($.value)),N=U(()=>L.value?dd(F.value,L.value):[]),I=ie(a.initiallyCollapsed);let j=null;const M=U(()=>{var te;return S.value==="detail"&&L.value?((te=L.value.properties)==null?void 0:te.name)||n("legend.header.peopleGroupFallback"):I.value?n("legend.header.collapsed"):u.value});function q(){I.value=!I.value}Ue(S,(te,J)=>{te==="detail"&&J!=="detail"&&I.value&&(I.value=!1)});function ge(te){d(te)}return qt(()=>{window.innerWidth<768&&(I.value=!0),j=te=>{var J;k&&((J=te.detail)!=null&&J.mapId)&&te.detail.mapId!==k||(I.value=!1)},window.addEventListener("dxm:openDesktopLegend",j)}),Rt(()=>{j&&window.removeEventListener("dxm:openDesktopLegend",j)}),(te,J)=>C.value?(E(),Ve(H(o),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):I.value?(E(),B("button",{key:1,class:ye(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:t("aria.expandLegend","Expand legend"),onClick:J[0]||(J[0]=X=>I.value=!1)},[J[2]||(J[2]=_("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[_("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),_("span",wy,G(H(u)),1),J[3]||(J[3]=_("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[_("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],10,vy)):(E(),B("div",{key:2,class:ye(["legend-container",{"legend-dark":e.isDark}])},[S.value==="detail"?(E(),B("span",ky,[Ie(ud,{open:!I.value,t:H(n),onToggle:q},null,8,["open","t"])])):ue("",!0),S.value==="detail"?(E(),B("button",{key:1,class:"detail-close-btn",onClick:J[1]||(J[1]=ot(X=>H(s).selectPeopleGroup(null),["stop"])),"aria-label":H(n)("aria.backToLegend")},[...J[4]||(J[4]=[_("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[_("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,xy)):ue("",!0),_("div",{class:ye(["legend-content",{"no-padding":H(c).length>0}])},[S.value==="detail"&&L.value?(E(),B(be,{key:0},[Ie(cd,{peopleGroup:L.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"]),Ie(sa,{shared:N.value,dark:e.isDark},null,8,["shared","dark"])],64)):e.legendType==="language-family"?(E(),B(be,{key:1},[],64)):(E(),Ve(ad,{key:2,title:M.value,items:H(l),columns:H(c),activeFilter:H(p),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:H(w),totalPopulation:H(y),fmtPop:H(g),fmtCount:H(b),progress:H(h),onFilterClick:ge},{"title-caret":It(()=>[Ie(ud,{open:!I.value,t:H(n),onToggle:q},null,8,["open","t"])]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount","progress"])),S.value!=="detail"?(E(),Ve(sa,{key:3,dark:e.isDark},null,8,["dark"])):ue("",!0)],2)],2))}},[["styles",[yy]],["__scopeId","data-v-37990088"]]),Ay={class:"gm-legend"},Py={class:"gm-title"},Sy={class:"gm-keys"},Ly={key:0,class:"gm-key"},Ty={class:"gm-caveat"},Ny={key:0,class:"gm-adm1"},Oy={class:"gm-adm1-h"},My=["aria-label"],Fy=["aria-pressed"],Ey=["aria-pressed"],Iy={class:"gm-keys"},Ry={class:"gm-caveat"},Dy={key:0,class:"gm-caveat"},By={key:1,class:"gm-err"},zy={key:2,class:"gm-wait",role:"status"},Gy={key:3,class:"gm-pg-desktop"},jy={key:4,class:"gm-pg-mobile"},Hy={key:5,class:"gm-sheet"},Uy={class:"gm-sh-head"},Wy={class:"gm-sh-name"},Ky={class:"gm-list-h"},Vy={class:"gm-adm1-t"},qy={class:"gm-note"},Yy={key:6,class:"gm-sheet"},Zy={class:"gm-sh-head"},Jy={class:"gm-sh-name"},Xy={key:0,class:"gm-ai"},Qy=["aria-label"],e1={class:"gm-stat"},t1={class:"gm-stat"},o1={class:"gm-stat"},n1={class:"gm-stat"},a1={class:"gm-stat"},r1={key:1,class:"gm-list"},s1={class:"gm-list-h"},i1={key:2,class:"gm-list"},l1={class:"gm-list-h"},c1={class:"gm-note"},Ti="#1e293b",u1=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=Object.create(null);function o(Q,ne){try{window[Q]=ne,t[Q]=ne}catch{}}const n=Rs(()=>kn(()=>Promise.resolve().then(()=>_d),void 0)),a=Pe("profileConfig",ie(null)),r=U(()=>{var Q;return((Q=a.value)==null?void 0:Q.isDark)===!0}),s=Pe("mapboxToken",null),i=U(()=>{var Q;return((Q=a.value)==null?void 0:Q.tk)||(s==null?void 0:s.value)||typeof window<"u"&&window.MAP_TOKEN||""}),l=U(()=>Ds(a.value)),c=ie(null),u=ko(null),p=ie([]),d=ie(null),w=ie(!0),y=ie(null),h=ie(!0),g=ko(null),b=ie("women"),x=ie(null),$=Pe("uiStore",null),k=(()=>{var ne;const Q=(ne=Pe("lang",null))==null?void 0:ne.value;return Q&&Q!=="en"?Q:null})(),C=()=>{if(k)return k;const Q=a.value;if(Q&&(Q.locale||Q.lang))return String(Q.locale||Q.lang);try{const ne=new URLSearchParams(location.search);return ne.get("lang")||ne.get("locale")||document.documentElement.lang||"en"}catch{return"en"}},S=new dp({locale:k,profileConfig:a}),L=ko([]),F=ie(0),N=y$({getMap:()=>u.value,getActivePinColor:()=>Ti});async function I(){await S.init();const Q=await S.setActiveSource("pray-tools");L.value=wo(Q||[])}function j(){const Q=[];for(const ne of L.value){const he=parseFloat(ne.longitude??ne.lng),v=parseFloat(ne.latitude??ne.lat);if(!isFinite(he)||!isFinite(v))continue;const P=ne._normalized||{};Q.push({type:"Feature",properties:{uniqueId:ne.uniqueId,slug:ne.slug||"",name:ne.name,language:ne.language,languageFamily:ne.languageFamily||P.languageFamily||"",country:ne.country,countryIso:ne.countryIso,countryIsoLabel:ne.countryIsoLabel,countryName:ne.countryName,religion:ne.religion,religionLabel:ne.religionLabel,religionName:ne.religionName,population:ne.population,status:ne.status,description:ne.description||"",imageUrl:ne.imageUrl||"",peoplePraying:Number(ne.peoplePraying??P.peoplePraying??0)},geometry:{type:"Point",coordinates:[he,v]}})}return{type:"FeatureCollection",features:Q}}function M(Q){if(!L.value.length||Q.getSource("language-families"))return;const ne=j();if(F.value=ne.features.length,Q.addSource("language-families",{type:"geojson",data:ne,promoteId:"uniqueId"}),ne.features.length){let he=180,v=90,P=-180,A=-90;for(const Z of ne.features){const[Y,ae]=Z.geometry.coordinates;YP&&(P=Y),aeA&&(A=ae)}const R=Math.round(Math.min(Q.getContainer().clientWidth,Q.getContainer().clientHeight)*.06)+8;try{const Z=Q.cameraForBounds([[he,v],[P,A]],{padding:R});if(Q.fitBounds([[he,v],[P,A]],{padding:R,duration:0}),Z&&Q.getZoom()>Z.zoom+.05){const Y=Q.getBounds(),ae=Math.min(360,Y.getEast()-Y.getWest());let re=Q.getCenter().lng,f=-1;for(let m=-180;m<180;m+=5){let D=0;for(const V of ne.features){let se=V.geometry.coordinates[0]-m;se=(se+540)%360-180,Math.abs(se)<=ae/2&&D++}D>f&&(f=D,re=m)}Q.jumpTo({center:[re,(v+A)/2]})}}catch{}}Q.addLayer({id:"ci-pg-dots",type:"circle",source:"language-families",paint:{"circle-color":Ti,"circle-radius":["interpolate",["linear"],["zoom"],0,2.6,4,3.6,8,6,12,8.5],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,1,6,1.4,12,1.8],"circle-opacity":.95}}),Q.on("click","ci-pg-dots",he=>{var P;const v=(P=he.features)==null?void 0:P[0];!v||!$||(d.value=null,$.selectPeopleGroup(v))}),Q.on("mouseenter","ci-pg-dots",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-pg-dots",()=>{Q.getCanvas().style.cursor=""}),typeof window<"u"&&(o("__ciState",()=>{var he,v;return{groups:L.value.length,dots:F.value,hasLayer:!!Q.getLayer("ci-pg-dots"),rendered:Q.queryRenderedFeatures({layers:["ci-pg-dots"]}).length,selected:((v=(he=$==null?void 0:$.selectedPeopleGroup)==null?void 0:he.properties)==null?void 0:v.slug)||null}}),o("__ciMap",Q))}const q=mn("connectivity"),ge=[{id:"yes",color:"#10b981"},{id:"partial",color:"#e8c15a"},{id:"no",color:"#b42318"},{id:"unknown",color:"#9aa2ad"}],te=Q=>(ge.find(ne=>ne.id===Q)||{}).color||"#9aa2ad",J=U(()=>{const Q={};for(const ne of p.value)Q[ne.iso3]=ne;return Q});async function X(){const[Q,ne]=await Promise.all([fetch(`${l.value}/tables/internet-by-country.json`).then(he=>he.json()),fetch(`${l.value}/boundaries/world-adm0-web.geojson`).then(he=>he.json())]);return p.value=Q.countries||[],ne}function oe(Q,ne){const he=J.value,P={type:"FeatureCollection",features:(ne.features||[]).map(A=>{var Y;const R=(Y=A.properties)==null?void 0:Y.iso3,Z=he[R];return{type:"Feature",properties:{iso3:R,band:(Z==null?void 0:Z.band)||"none",color:Z?te(Z.band):"rgba(0,0,0,0)",hasData:!!Z},geometry:A.geometry}})};if(Q.getSource("ci-src")){Q.getSource("ci-src").setData(P);return}Q.addSource("ci-src",{type:"geojson",data:P}),Q.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),Q.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),Q.on("click","ci-fill",A=>{var Z,Y,ae;if(Q.getLayer("ci-pg-dots")&&Q.queryRenderedFeatures(A.point,{layers:["ci-pg-dots"]}).length)return;const R=(ae=(Y=(Z=A.features)==null?void 0:Z[0])==null?void 0:Y.properties)==null?void 0:ae.iso3;R&&J.value[R]&&($==null||$.selectPeopleGroup(null),x.value=null,d.value=J.value[R])}),Q.on("mouseenter","ci-fill",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-fill",()=>{Q.getCanvas().style.cursor=""})}const le=[{from:0,color:"#deebf7"},{from:25,color:"#9ecae1"},{from:40,color:"#6baed6"},{from:55,color:"#3182bd"},{from:70,color:"#08519c"}],W=Q=>["case",["==",["typeof",["get",Q]],"number"],["step",["get",Q],...le.flatMap((ne,he)=>he===0?[ne.color]:[ne.from,ne.color])],"rgba(0,0,0,0)"];async function pe(){var v;const[Q,ne]=await Promise.all([fetch(`${l.value}/tables/internet-by-adm1.json`).then(P=>{if(!P.ok)throw new Error("internet-by-adm1 "+P.status);return P.json()}),fetch(`${l.value}/boundaries/gb-IND-ADM1-full-web.geojson`).then(P=>{if(!P.ok)throw new Error("gb-IND-ADM1-full "+P.status);return P.json()})]),he={};for(const P of Q.rows||[]){if(P.iso3!=="IND"||P.measure!=="ever_used_internet"||!P.adm1)continue;const A=he[v=P.adm1]??(he[v]={name:P.adm1_name||P.adm1,women:{},men:{}});A[P.sex][P.area]=P.value}return g.value=wo({meta:Q.meta||{},byArea:he}),ne}function fe(Q,ne){const he=g.value.byArea,v={type:"FeatureCollection",features:(ne.features||[]).map(A=>{var Z,Y;const R=he[(Z=A.properties)==null?void 0:Z.shapeName];return{type:"Feature",geometry:A.geometry,properties:{adm1:(Y=A.properties)==null?void 0:Y.shapeName,women:(R==null?void 0:R.women.total)??null,men:(R==null?void 0:R.men.total)??null}}})},P=Q.getLayer("ci-pg-dots")?"ci-pg-dots":void 0;Q.addSource("ci-adm1-src",{type:"geojson",data:v}),Q.addLayer({id:"ci-adm1-fill",type:"fill",source:"ci-adm1-src",paint:{"fill-color":W(b.value),"fill-opacity":.85}},P),Q.addLayer({id:"ci-adm1-line",type:"line",source:"ci-adm1-src",paint:{"line-color":"rgba(255,255,255,0.8)","line-width":.6}},P),Q.getLayer("ci-fill")&&Q.setFilter("ci-fill",["!=",["get","iso3"],"IND"]),Q.on("click","ci-adm1-fill",A=>{var Y,ae,re;if(Q.getLayer("ci-pg-dots")&&Q.queryRenderedFeatures(A.point,{layers:["ci-pg-dots"]}).length)return;const R=(re=(ae=(Y=A.features)==null?void 0:Y[0])==null?void 0:ae.properties)==null?void 0:re.adm1,Z=R&&he[R];Z&&($==null||$.selectPeopleGroup(null),d.value=null,x.value={key:R,...Z})}),Q.on("mouseenter","ci-adm1-fill",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-adm1-fill",()=>{Q.getCanvas().style.cursor=""})}function $e(Q){b.value=Q;const ne=u.value;ne!=null&&ne.getLayer("ci-adm1-fill")&&ne.setPaintProperty("ci-adm1-fill","fill-color",W(Q))}const Ne=U(()=>{var Q,ne,he,v;return(((v=(he=(ne=(Q=g.value)==null?void 0:Q.meta)==null?void 0:ne.boundaries)==null?void 0:he.IND)==null?void 0:v.missing)||[]).join(", ")}),Me=e$(Pe("profileConfig",null));let ve=!1;qt(async()=>{try{await h$(Me)}catch{}const Q=Gs(Me);if(!ve){if(!Q){const ne=Me==="maplibre"?"MapLibre":"Mapbox";console.warn(`[connectivity-map] the ${ne} engine did not load; refusing to substitute another engine.`),y.value=ar(vt("messages.engineMissing"),{engine:ne});return}if(!c.value){y.value=vt("messages.engineNotLoaded");return}i$(Q);try{const ne=I().catch(R=>{console.warn("[connectivity-map] people groups:",(R==null?void 0:R.message)||R)}),he=pe().catch(R=>(console.warn("[connectivity-map] India by state:",(R==null?void 0:R.message)||R),null)),v=await X();if(ve||!c.value)return;const P=g$(Me);if(P&&await m$(c.value,P),ve||!c.value)return;const A=new Q.Map({container:c.value,style:r$(r.value?"ink":"paper",Me).style||(r.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:i.value,locale:d$(C(),Me),center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});u.value=wo(A),bb(A,{boundaries:!0}),A.once("load",async()=>{try{u$(A,C())}catch{}oe(A,v),N.initialize(),await ne,M(A);const R=await he;R&&!ve&&fe(A,R),h.value=!1})}catch(ne){y.value=String(ne.message||ne),h.value=!1}}}),Rt(()=>{var Q;try{window.__ciState===t.__ciState&&delete window.__ciState}catch{}try{window.__ciMap===t.__ciMap&&delete window.__ciMap}catch{}ve=!0,N.cleanup(),$==null||$.selectPeopleGroup(null);try{(Q=u.value)==null||Q.remove()}catch{}});const Ye=Q=>(Number(Q)||0).toLocaleString(),ze=U(()=>!!($!=null&&$.selectedPeopleGroup));return ht(":host{display:block;width:100%;height:100%;min-height:420px}.gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;inset-inline-start:8px;width:var(--map-legend-width,380px);max-width:calc(100% - 16px);box-sizing:border-box;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}@media(max-width:480px){.gm-legend{width:auto;inset-inline-end:46px}}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-adm1{margin-top:8px;padding-top:7px;border-top:1px solid rgba(0,0,0,.12)}.gm-adm1-h{font-weight:600;font-size:12px;margin-bottom:5px}.gm-seg{display:inline-flex;border:1px solid rgba(0,0,0,.2);border-radius:6px;overflow:hidden;margin-bottom:6px}.gm-seg button{font:inherit;font-size:11px;padding:3px 10px;min-height:24px;border:0;background:transparent;color:inherit;cursor:pointer}.gm-seg button.on{background:#08519c;color:#fff}.gm-adm1-t{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0 6px}.gm-adm1-t th,.gm-adm1-t td{padding:3px 4px;text-align:end}.gm-adm1-t th:first-child{text-align:start}.is-dark .gm-adm1{border-top-color:rgba(255,255,255,.15)}.is-dark .gm-seg{border-color:rgba(255,255,255,.3)}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{inset-inline-start:auto;inset-inline-end:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px;min-width:24px;min-height:24px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}.gm-wait{position:absolute;top:50%;inset-inline:0;text-align:center;font-size:13px;opacity:.7}.gm-dot{width:10px;height:10px;border-radius:50%;flex:none;box-sizing:border-box;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.gm-pg-mobile{display:none}@media(max-width:767px){.gm-pg-mobile{display:block}.gm-pg-desktop{display:none}}","doxa-connectivity-map"),(Q,ne)=>(E(),B("div",{class:ye(["gm",{"is-dark":r.value}])},[_("div",{ref_key:"mapEl",ref:c,class:"gm-map"},null,512),u.value?(E(),Ve($b,{key:0},{default:It(()=>[Ie(vb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(wb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(kb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(Ab,{"map-container":c.value,"is-dark":r.value},null,8,["map-container","is-dark"]),Ie(Jb,{"is-dark":r.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):ue("",!0),zr(_("div",Ay,[_("div",Py,G(H(q)("connectivity.title")),1),_("div",Sy,[(E(),B(be,null,Xe(ge,he=>_("span",{key:he.id,class:"gm-key"},[_("i",{class:"gm-sw",style:He({background:he.color})},null,4),Te(G(H(q)("connectivity.bands."+he.id)),1)])),64)),L.value.length?(E(),B("span",Ly,[_("i",{class:"gm-dot",style:He({background:Ti})},null,4),Te(G(H(q)("connectivity.peopleGroup"))+" ("+G(Ye(L.value.length))+") ",1)])):ue("",!0)]),_("div",Ty,G(H(q)("connectivity.caveat")),1),g.value?(E(),B("div",Ny,[_("div",Oy,G(H(q)("connectivity.adm1.title")),1),_("div",{class:"gm-seg",role:"group","aria-label":H(q)("connectivity.adm1.title")},[_("button",{type:"button",class:ye({on:b.value==="women"}),"aria-pressed":b.value==="women",onClick:ne[0]||(ne[0]=he=>$e("women"))},G(H(q)("connectivity.adm1.women")),11,Fy),_("button",{type:"button",class:ye({on:b.value==="men"}),"aria-pressed":b.value==="men",onClick:ne[1]||(ne[1]=he=>$e("men"))},G(H(q)("connectivity.adm1.men")),11,Ey)],8,My),_("div",Iy,[(E(),B(be,null,Xe(le,(he,v)=>_("span",{key:he.from,class:"gm-key"},[_("i",{class:"gm-sw",style:He({background:he.color})},null,4),Te(G(v+1x.value=null)},G(H(q)("connectivity.sheet.close")),1)]),_("div",Ky,G(H(q)("connectivity.adm1.title")),1),_("table",Vy,[_("thead",null,[_("tr",null,[ne[5]||(ne[5]=_("th",null,null,-1)),_("th",null,G(H(q)("connectivity.adm1.total")),1),_("th",null,G(H(q)("connectivity.adm1.urban")),1),_("th",null,G(H(q)("connectivity.adm1.rural")),1)])]),_("tbody",null,[(E(),B(be,null,Xe(["women","men"],he=>_("tr",{key:he},[_("th",null,G(H(q)("connectivity.adm1."+he)),1),(E(),B(be,null,Xe(["total","urban","rural"],v=>_("td",{key:v},G(x.value[he][v]!=null?x.value[he][v]+"%":"—"),1)),64))])),64))])]),_("p",qy,G(H(q)("connectivity.adm1.source")),1)])):ue("",!0),d.value?(E(),B("div",Yy,[_("div",Zy,[_("span",Jy,G(d.value.country),1),_("button",{type:"button",class:"gm-x",onClick:ne[3]||(ne[3]=he=>d.value=null)},G(H(q)("connectivity.sheet.close")),1)]),w.value?(E(),B("div",Xy,[_("span",null,G(H(q)("connectivity.sheet.ai")),1),_("button",{type:"button",class:"gm-ai-x",onClick:ne[4]||(ne[4]=he=>w.value=!1),"aria-label":H(q)("connectivity.sheet.dismiss")},"×",8,Qy)])):ue("",!0),_("div",e1,[_("span",null,G(H(q)("connectivity.sheet.internetUsers")),1),_("b",null,G(d.value.internet_pct!=null?d.value.internet_pct+"%":H(q)("connectivity.sheet.unknown")),1)]),_("div",t1,[_("span",null,G(H(q)("connectivity.sheet.measured")),1),_("b",null,G(d.value.internet_year||"—"),1)]),_("div",o1,[_("span",null,G(H(q)("connectivity.sheet.mobilePer100")),1),_("b",null,G(d.value.mobile_per_100??"—"),1)]),_("div",n1,[_("span",null,G(H(q)("connectivity.sheet.peopleGroups")),1),_("b",null,G(Ye(d.value.people_groups)),1)]),_("div",a1,[_("span",null,G(H(q)("connectivity.sheet.topPlatform")),1),_("b",null,[Te(G(d.value.top_platform||H(q)("connectivity.sheet.unknown")),1),d.value.top_platform_pct?(E(),B(be,{key:0},[Te(" · "+G(d.value.top_platform_pct)+"%",1)],64)):ue("",!0)])]),d.value.carriers&&d.value.carriers.length?(E(),B("div",r1,[_("div",s1,G(H(q)("connectivity.sheet.carriers",{n:d.value.carrier_count})),1),_("ul",null,[(E(!0),B(be,null,Xe(d.value.carriers,(he,v)=>(E(),B("li",{key:v},G(he),1))),128))])])):ue("",!0),d.value.platforms&&d.value.platforms.length?(E(),B("div",i1,[_("div",l1,G(H(q)("connectivity.sheet.socialPlatforms")),1),_("ul",null,[(E(!0),B(be,null,Xe(d.value.platforms,(he,v)=>(E(),B("li",{key:v},G(he.name)+" · "+G(he.pct)+"%",1))),128))])])):ue("",!0),_("p",c1,G(H(q)("connectivity.sheet.note")),1)])):ue("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function p1(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function hd(e){const t=ie(null),o=ko({position:"fixed",inset:"0"}),n=()=>{var u,p;const r=t.value;if(!r)return;const s=p1(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((p=i==null?void 0:i.documentElement)==null?void 0:p.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};Ue(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),Rt(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const d1={class:"dt-head"},g1={class:"dt-title"},h1={class:"dt-count"},m1={key:0,class:"dt-grain"},f1={class:"dt-actions"},_1={key:0,class:"dt-err"},b1={class:"dt-wrap"},$1={class:"dt-hint"},y1={key:0,dir:"ltr"},v1=["aria-label"],w1={class:"dt-sheet-head"},k1={class:"dt-dl"},x1=["href"],C1={key:1},A1={key:2},P1={key:2,class:"dt-caveats"},S1={dir:"ltr"},L1={class:"dt-cav-k"},T1={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=(I,j)=>vt(I)||j,n=e,a=t,r=ie(!1),s=ie(null),{scrimRef:i,scrimStyle:l}=hd(s),c=ie(null),u=ko(null),p=ie(null),d=ie(!1),w=U(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),y=U(()=>{var I;return((I=n.table)==null?void 0:I.meta)||{}}),h=U(()=>{var I;return(((I=n.table)==null?void 0:I.rows)||[]).length}),g=U(()=>Object.entries(y.value).filter(([I,j])=>typeof j=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(I)).map(([I,j])=>({key:I.replace(/_/g," "),text:j})));let b=null;function x(){return window.Tabulator?Promise.resolve(window.Tabulator):b||(b=new Promise((I,j)=>{const M=document.createElement("script");M.src=`${w.value}/vendor/tabulator/tabulator.min.js`,M.onload=()=>I(window.Tabulator),M.onerror=()=>j(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(M)}),b)}async function $(I){if(!(!I||I.querySelector("style[data-tabulator]")))try{const j=await fetch(`${w.value}/vendor/tabulator/tabulator.min.css`);if(!j.ok)return;const M=document.createElement("style");M.setAttribute("data-tabulator",""),M.textContent=await j.text(),I.appendChild(M)}catch{}}function k(I){var ge,te;if(!c.value)return;r.value=typeof window<"u"&&window.innerWidth<700;const j=((ge=n.table)==null?void 0:ge.columns)||[],q=(r.value?j.slice(0,3):j).map((J,X)=>({title:J.title,field:J.field,headerFilter:J.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:J.type==="number"?"number":J.type==="boolean"?"boolean":"string",formatter:J.type==="boolean"?"tickCross":void 0,.../_url$/.test(J.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!r.value&&X{s.value=X.getData(),a("row-click",X.getData())}),u.value.on("tableBuilt",()=>{d.value=!0})}const C=I=>{var j,M;return((M=(((j=n.table)==null?void 0:j.columns)||[]).find(q=>q.field===I))==null?void 0:M.title)||I.replace(/_/g," ")},S=I=>typeof I=="string"&&I.includes(", ")&&I.length>40?I.split(", "):null,L=I=>typeof I=="string"&&/^https?:\/\//.test(I),F=U(()=>s.value?Object.entries(s.value).filter(([,I])=>I!==""&&I!==null&&I!==void 0):[]);function N(I){var j;try{(j=u.value)==null||j.download(I,`${(y.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${I}`)}catch(M){p.value=String(M.message||M)}}return qt(async()=>{var I,j;try{await $((j=(I=c.value)==null?void 0:I.getRootNode)==null?void 0:j.call(I)),k(await x())}catch(M){p.value=String(M.message||M)}}),Rt(()=>{var I;try{(I=u.value)==null||I.destroy()}catch{}}),Ue(()=>n.table,()=>{var I,j;try{(j=u.value)==null||j.replaceData(((I=n.table)==null?void 0:I.rows)||[])}catch{}}),ht(".dt .tabulator{border:1px solid #d1d4cd;background:#fff;font-size:14px}.dt .tabulator .tabulator-header{background:#f3f3f1;border-bottom:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col{background:#f3f3f1;border-right:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover{background:#e9ebe6}.dt .tabulator .tabulator-col-title{color:#3b463d;font-weight:700}.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d;padding:3px 6px}.dt .tabulator .tabulator-row{background:#fff;color:#3b463d;border-bottom:1px solid #e6e8e3}.dt .tabulator .tabulator-row.tabulator-row-even{background:#faf9f7}.dt .tabulator .tabulator-row:hover{background:#e9ebe6}.dt .tabulator .tabulator-row .tabulator-cell{border-inline-end:1px solid #e6e8e3;color:#3b463d;unicode-bidi:plaintext}.dt:dir(rtl) .tabulator .tabulator-row .tabulator-cell{text-align:right}.dt .tabulator .tabulator-row .tabulator-cell a{color:#4a7a52;font-weight:600}.dt .tabulator .tabulator-footer{background:#f3f3f1;border-top:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator label{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page{border:1px solid #d1d4cd;background:#fff;color:#3b463d;border-radius:5px}.dt .tabulator .tabulator-footer .tabulator-page.active{background:#92b195;border-color:#92b195;color:#fff}.dt .tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#e9ebe6;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page:disabled{opacity:.45}.dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-inline-start:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-inline-start:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-inline-start:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(I,j)=>{var M,q;return E(),B("div",{class:ye(["dt",{"is-dark":e.isDark}])},[_("div",d1,[_("h3",g1,G(y.value.title||"Data"),1),_("span",h1,G(h.value.toLocaleString())+" rows",1),y.value.grain?(E(),B("span",m1,"· "+G(y.value.grain),1)):ue("",!0),_("span",f1,[_("button",{type:"button",class:"dt-btn",onClick:j[0]||(j[0]=ge=>N("csv"))},G(o("tables.csv","CSV")),1),_("button",{type:"button",class:"dt-btn",onClick:j[1]||(j[1]=ge=>N("json"))},G(o("tables.json","JSON")),1)])]),p.value?(E(),B("div",_1,G(p.value),1)):ue("",!0),_("div",b1,[_("div",{ref_key:"host",ref:c},null,512)]),_("p",$1,[Te(G(o("tables.tap_row_hint","Tap any row for its full detail")),1),r.value?(E(),B(be,{key:1},[Te(".")],64)):(E(),B("bdi",y1," — every field, including the lists the table flattens."))]),s.value?(E(),B("div",{key:1,ref_key:"scrimRef",ref:i,style:He(H(l)),class:"dt-scrim",onClick:j[3]||(j[3]=ot(ge=>s.value=null,["self"]))},[_("div",{class:"dt-sheet",role:"dialog","aria-label":o("aria.rowDetail","Row detail")},[_("div",w1,[_("strong",null,G(s.value[(q=(((M=e.table)==null?void 0:M.columns)||[])[0])==null?void 0:q.field]||"Detail"),1),_("button",{type:"button",class:"dt-close",onClick:j[2]||(j[2]=ge=>s.value=null)},G(o("buttons.close","Close")),1)]),_("dl",k1,[(E(!0),B(be,null,Xe(F.value,([ge,te])=>(E(),B(be,{key:ge},[_("dt",null,G(C(ge)),1),_("dd",null,[L(te)?(E(),B("a",{key:0,href:te,target:"_blank",rel:"noopener"},G(te),9,x1)):S(te)?(E(),B("ul",C1,[(E(!0),B(be,null,Xe(S(te),(J,X)=>(E(),B("li",{key:X},G(J),1))),128))])):(E(),B("span",A1,G(te===!0?"yes":te===!1?"no":te),1))])],64))),128))])],8,v1)],4)):ue("",!0),g.value.length?(E(),B("div",P1,[(E(!0),B(be,null,Xe(g.value,ge=>(E(),B("div",{key:ge.key},[_("bdi",S1,[_("span",L1,G(ge.key)+":",1),Te(" "+G(ge.text),1)])]))),128))])):ue("",!0)],2)}}},N1={class:"ct-h"},O1={class:"ct-sub"},M1={class:"ct-tabs"},F1=["onClick"],E1={key:0,class:"ct-n"},I1={key:0,class:"ct-err"},R1={key:1,class:"ct-load"},D1=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Pe("profileConfig",ie(null)),o=U(()=>{var y;return((y=t.value)==null?void 0:y.isDark)===!0}),n=U(()=>Ds(t.value)),a=mn("connectivity"),r=y=>(Number(y)||0).toLocaleString(),s=[{id:"cities",file:"key-cities"},{id:"internet",file:"country-connectivity"},{id:"operators",file:"network-operators"},{id:"social",file:"social-platforms"},{id:"messaging",file:"messaging-channels"}],i=ie("cities"),l=U(()=>s.find(y=>y.id===i.value)||s[0]),c=ie({}),u=ie(!1),p=ie(null);async function d(y){if(!c.value[y]){u.value=!0,p.value=null;try{const h=await fetch(`${n.value}/tables/${y}.json`);if(!h.ok)throw new Error(String(h.status));c.value={...c.value,[y]:await h.json()}}catch{const g=s.find(b=>b.file===y);p.value=ar(vt("messages.couldNotLoadNamed"),{name:g?a("tables.tabs."+g.id):y})}finally{u.value=!1}}}Ue(l,y=>y&&d(y.file),{immediate:!0});const w=U(()=>{var y;return c.value[(y=l.value)==null?void 0:y.file]||null});return ht(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(y,h)=>(E(),B("div",{class:ye(["ct",{"is-dark":o.value}])},[_("h2",N1,G(H(a)("connectivity.tables.title")),1),_("p",O1,G(H(a)("connectivity.tables.intro")),1),_("div",M1,[(E(),B(be,null,Xe(s,g=>_("button",{key:g.id,type:"button",class:ye(["ct-tab",{on:i.value===g.id}]),onClick:b=>i.value=g.id},[Te(G(H(a)("connectivity.tables.tabs."+g.id)),1),c.value[g.file]?(E(),B("span",E1,G(r((c.value[g.file].rows||[]).length)),1)):ue("",!0)],10,F1)),64))]),p.value?(E(),B("div",I1,G(p.value),1)):w.value?(E(),Ve(T1,{key:l.value.id,table:w.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(E(),B("div",R1,G(H(a)("connectivity.tables.loading",{name:H(a)("connectivity.tables.tabs."+l.value.id)})),1))],2))}}},Symbol.toStringTag,{value:"Module"})),B1="pplrInstance";function z1(){return Pe(B1,null)}const G1="",j1=["data-theme"],H1={class:"stl-inner"},U1={class:"stl-tb-caret-slot"},W1=["title","aria-label","aria-expanded"],K1={class:"stl-tb-eyebrow"},V1=["title","aria-label"],q1=["title"],Y1={key:2,class:"stl-tb-title"},Z1={key:3,class:"stl-export"},J1=["aria-expanded","title","aria-label"],X1={class:"stl-export-label"},Q1={class:"stl-export-menu",role:"menu"},ev={class:"stl-export-item-label"},tv={class:"stl-export-item-label"},ov=["aria-expanded"],nv={class:"stl-export-item-label"},av=["aria-label"],rv={class:"stl-export-note"},sv={class:"stl-export-item-label"},iv={class:"stl-export-item-label"},lv={key:0,class:"stl-tabs-wrap"},cv={class:"stl-tabs"},uv=["onClick"],pv=["title","onClick"],dv={key:0,class:"stl-info-pop"},gv={class:"stl-col-hdr"},hv={class:"stl-hdr-name"},mv=["title"],fv={key:0,class:"stl-sort-arrow"},_v=["title"],bv={key:0,class:"stl-sort-arrow"},$v=["data-stl-node-id","onClick"],yv=["aria-expanded","aria-label","onClick"],vv={key:1,class:"stl-caret-sp"},wv={key:3,class:"stl-dot-sp"},kv={class:"stl-name"},xv={key:4,class:"stl-num"},Cv={key:5,class:"stl-num"},Av={class:"stl-x-slot"},Pv=["title","aria-label"],Sv={key:0,class:"stl-empty stl-loading"},Lv={key:1,class:"stl-empty"},Tv={key:2,class:"stl-empty"},Nv={key:3,class:"stl-overflow"},Ov={class:"stl-overflow-hint"},Mv=["data-theme","title","aria-label"],Fv={class:"stl-reopen-label"},Ev=mo({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},pinNote:{type:Boolean,default:null},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},exportEnabled:{type:Boolean,default:!1},exportCards:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["select","update:open","export"],setup(e,{emit:t}){const o=(O,K)=>vt(O)||K,n=O=>String(O).split(".").pop().replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^./,K=>K.toUpperCase()),{t:a,te:r,locale:s}=tp("",{fallback:O=>n(O)});function i(O){const K="tabs."+((O==null?void 0:O.i18nKey)||(O==null?void 0:O.id));return O&&r(K)?a(K):(O==null?void 0:O.label)??""}function l(O){const K="legend.tabInfo."+((O==null?void 0:O.i18nKey)||(O==null?void 0:O.id));return O&&r(K)?a(K):typeof(O==null?void 0:O.info)=="string"?O.info:""}const c=e,u=t,p=z1(),d=Pe("legendProgress",null),w=U(()=>c.progress??H(d)??null),y=U(()=>w.value?a("legend.progress.title"):c.title),h=U(()=>((p==null?void 0:p.theme.value)||"dark")==="dark"),g=Pe("dataStore",null),b=Pe("normalizedPeopleGroups",null),x=O=>!!(O&&yr(O)&&Si(O)),$=U(()=>{var K,me;if(c.pinNote!==null)return c.pinNote;if((K=b==null?void 0:b.value)!=null&&K.length)return b.value.slice(0,20).some(x);const O=(g==null?void 0:g.sources)||{};for(const we in O)if((((me=O[we])==null?void 0:me.features)||[]).slice(0,20).some(x))return!0;return!1});function k(O,K){var me;for(const we of O||[]){if((we==null?void 0:we.id)===K)return we;const Le=(me=we==null?void 0:we.children)!=null&&me.length?k(we.children,K):null;if(Le)return Le}return null}function C(O){const K=k(j.value,O);K&&z(K)}function S(O,K=0){return O!=null&&O.length?Math.max(...O.map(me=>S(me.children??[],K+1))):K}function L(O,K,me=0){return me===K?O.slice():O.flatMap(we=>L(we.children??[],K,me+1))}function F(O,K,me=[]){var we;for(const Le of O){if(Le.id===K)return me;if((we=Le.children)!=null&&we.length){const Qe=F(Le.children,K,[...me,Le]);if(Qe)return Qe}}return null}function N(O,K=new Set){var me;if(!((me=O==null?void 0:O.children)!=null&&me.length))return K;for(const we of O.children)K.add(we.id),N(we,K);return K}function I(O,K="root"){var we;if(!Array.isArray(O))return[];const me=[];for(const Le of O){if(!Le||typeof Le!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",K)}catch{}continue}me.push((we=Le.children)!=null&&we.length?{...Le,children:I(Le.children,Le.label||Le.id||K)}:Le)}return me}const j=U(()=>I(c.nodes)),M=U(()=>S(j.value)),q=U(()=>{const O=c.tabs??[],K=O.length||M.value+1;return Array.from({length:K},(me,we)=>O[we]??{id:`gen${we+1}`,label:`Generation ${we+1}`})}),ge=ie(Math.max(0,c.defaultTab|0)),te=ie(new Set),J=ie(null),X=ie(c.open!==null?c.open:!0),oe=ie(null),le=ie(!1),W=ie(!1),{scrimRef:pe,scrimStyle:fe}=hd(le),$e=ie(null),Ne=ie("desc"),Me=U({get:()=>{var O;return c.hideTabs?0:p&&!((O=p.activeTabTouched)!=null&&O.value)?Math.min(Math.max(0,c.defaultTab|0),Math.max(0,q.value.length-1)):p?p.activeTab.value:ge.value},set:O=>{c.hideTabs||(p?(p.activeTab.value=O,p.activeTabTouched&&(p.activeTabTouched.value=!0)):ge.value=O)}}),ve=U({get:()=>p?p.selection.value:J.value,set:O=>{p?p.selection.value=O:J.value=O}}),Ye=U(()=>{var O;return((O=ve.value)==null?void 0:O.id)||null}),ze=ie(null);Ue(()=>c.open,O=>{O!==null&&(X.value=O)}),Ue(()=>j.value,()=>{var Qe,Ce;const O=((Qe=ve.value)==null?void 0:Qe.id)||null;if(O){const mt=k(j.value,O);if(mt){ve.value=mt;return}}const K=p?(Ce=p.activeTabTouched)==null?void 0:Ce.value:!1,me=K?p==null?void 0:p.activeTab.value:void 0,we=Math.min(Math.max(0,c.defaultTab|0),Math.max(0,q.value.length-1)),Le=typeof me=="number"&&me>=0?me:we;p?(p.activeTab.value=Le,!K&&p.activeTabTouched&&(p.activeTabTouched.value=!1)):ge.value=Le,te.value=new Set,ve.value=null,u("select",null)},{deep:!1});let Q=null;p&&Ue(()=>p.selection.value,O=>{if((O==null?void 0:O.id)===Q)return;if(!O){Q=null;return}Q=O.id;const K=F(j.value,O.id)||[];typeof O.depth=="number"&&(Me.value=Math.min(O.depth,q.value.length-1));const me=new Set;K.forEach(we=>me.add(we.id)),te.value=me,u("select",O)});function ne(O,K){const me=(K.pop??0)-(O.pop??0);return me!==0?me:(K.count??0)-(O.count??0)}const he=U(()=>{if(!$e.value)return ne;const O=$e.value,K=Ne.value==="asc"?1:-1;return(me,we)=>((me[O]??0)-(we[O]??0))*K});function v(O){$e.value===O?Ne.value==="desc"?Ne.value="asc":($e.value=null,Ne.value="desc"):($e.value=O,Ne.value="desc")}const P=ie([]),A=ie(!1);let R=-1;function Z(O){if(P.value[O]){A.value=!1;return}A.value=!0,R=O,setTimeout(()=>{if(R!==O)return;const K=[...L(j.value,O)].sort(he.value),me=[...P.value];me[O]=K,P.value=me,A.value=!1},0)}Ue(Me,O=>Z(O),{immediate:!0}),Ue(()=>[j.value,$e.value,Ne.value],()=>{P.value=[],Z(Me.value)},{deep:!1});const Y=U(()=>P.value[Me.value]||[]),ae=U(()=>{var K;const O=(K=q.value[Me.value])==null?void 0:K.topLimit;return O?Y.value.slice(0,O):Y.value}),re=U(()=>{var K;const O=(K=q.value[Me.value])==null?void 0:K.topLimit;return O?Math.max(0,Y.value.length-O):0});function f(O,K,me,we,Le){var Qe;for(const Ce of K)Ce&&(O.push({node:Ce,relDepth:me,parent:we,ancestors:Le}),te.value.has(Ce.id)&&((Qe=Ce.children)!=null&&Qe.length)&&f(O,[...Ce.children].sort(he.value),me+1,Ce,[...Le,Ce]))}const m=U(()=>{const O=[];f(O,ae.value,0,null,[]);for(let K=0;KLe+1&&kt.ancestors[Le]}if(Le===me.relDepth-1){let mt=!1;for(let kt=K+1;ktYe.value!==null),V=U(()=>c.columns.includes("count")),se=U(()=>c.columns.includes("pop")),ee=U(()=>ve.value?N(ve.value):new Set),T=U(()=>{var Qe;const O=ve.value;if(!O)return null;const K=F(j.value,O.id);if(!K||!K.length)return null;const me=K[K.length-1],we=K.length-1,Le=((Qe=q.value[we])==null?void 0:Qe.label)||"Parent";return{node:me,tabName:Le,depth:we}});function z(O){Ye.value===O.id?(Q=null,ve.value=null,u("select",null)):(Q=O.id,ve.value=O,u("select",O))}function ce(O,K){K==null||K.stopPropagation();const me=new Set(te.value),we=me.has(O);if(we?me.delete(O):me.add(O),te.value=me,we&&ve.value){const Le=F(j.value,ve.value.id);Le&&Le.some(Qe=>Qe.id===O)&&(Q=null,ve.value=null,u("select",null))}}function _e(){const O=T.value;O!=null&&O.node&&(!c.hideTabs&&typeof O.depth=="number"&&(Me.value=O.depth),te.value=new Set,z(O.node))}function Ee(O){if(Me.value===O){oe.value=oe.value===O?null:O;return}Me.value=O,te.value=new Set,Q=null,ve.value=null,oe.value=null,u("select",null)}function pt(O){O==null||O.stopPropagation(),Q=null,ve.value=null,u("select",null)}function rt(O,K){K==null||K.stopPropagation(),oe.value=oe.value===O?null:O}function yo(O){O==null||O.stopPropagation(),le.value=!le.value}function Bo(O){le.value=!1,W.value=!1,u("export",O)}Ue(Ye,O=>{O||(le.value=!1,W.value=!1)}),Ue(le,O=>{O||(W.value=!1)});function wt(O){let K=O.parentElement;for(;K;){const me=getComputedStyle(K).overflowY;if((me==="auto"||me==="scroll")&&K.scrollHeight>K.clientHeight+1){const we=O.getBoundingClientRect(),Le=K.getBoundingClientRect();K.scrollTop+=we.top-Le.top-8}K=K.parentElement}}let Lt=0;Ue(Ye,async O=>{if(!O)return;const K=++Lt,me=ze.value;if(!me)return;await Vt();const we=(Le=0)=>{if(K!==Lt)return;const Qe=me.querySelector(`[data-stl-node-id="${CSS.escape(String(O))}"]`);Qe&&wt(Qe),Le<6&&setTimeout(()=>we(Le+1),70)};we(0)});function wn(){const O=s&&(s.value??s);return typeof O=="string"&&O?O:void 0}function vr(O){return O?O>=1e3?new Intl.NumberFormat(wn(),{notation:"compact",maximumFractionDigits:O>=1e6&&O<1e7?1:0}).format(O):O.toLocaleString(wn()):"—"}function bd(O){return O!=null?O.toLocaleString(wn()):"—"}function kw(O){var K;return{selected:Ye.value===O.node.id,descendant:D.value&&ee.value.has(O.node.id),child:O.relDepth>0,leaf:!((K=O.node.children)!=null&&K.length)}}return ht(`
+`,"legend-component");const a=e;Pe("mapStore");const r=Pe("dataStore"),s=Pe("uiStore"),i=pl(a,"legendType"),{items:l,columns:c,title:u,activeFilter:p,setFilter:d,totalCount:w,totalPopulation:y,progress:h,fmtPop:g,fmtCount:b}=od(i,gd),x=Pe("normalizedPeopleGroups",null),$=U(()=>{var J,X;if((J=x==null?void 0:x.value)!=null&&J.length)return x.value;const te=[];for(const oe in r.sources){const le=r.sources[oe];(X=le==null?void 0:le.features)!=null&&X.length&&te.push(...le.features)}return te}),k=Pe("mapId",null),C=U(()=>s.isMobile),S=U(()=>s.legendMode),L=U(()=>s.selectedPeopleGroup),F=U(()=>Li($.value)),N=U(()=>L.value?dd(F.value,L.value):[]),I=ie(a.initiallyCollapsed);let j=null;const M=U(()=>{var te;return S.value==="detail"&&L.value?((te=L.value.properties)==null?void 0:te.name)||n("legend.header.peopleGroupFallback"):I.value?n("legend.header.collapsed"):u.value});function q(){I.value=!I.value}Ue(S,(te,J)=>{te==="detail"&&J!=="detail"&&I.value&&(I.value=!1)});function ge(te){d(te)}return qt(()=>{window.innerWidth<768&&(I.value=!0),j=te=>{var J;k&&((J=te.detail)!=null&&J.mapId)&&te.detail.mapId!==k||(I.value=!1)},window.addEventListener("dxm:openDesktopLegend",j)}),Rt(()=>{j&&window.removeEventListener("dxm:openDesktopLegend",j)}),(te,J)=>C.value?(E(),Ve(H(o),{key:0,legendType:e.legendType,popupAction:e.popupAction,isDark:e.isDark,disableCollapse:e.disableCollapse},null,8,["legendType","popupAction","isDark","disableCollapse"])):I.value?(E(),B("button",{key:1,class:ye(["legend-reopen",{"legend-reopen-light":!e.isDark}]),title:t("aria.expandLegend","Expand legend"),onClick:J[0]||(J[0]=X=>I.value=!1)},[J[2]||(J[2]=_("svg",{class:"legend-reopen-icon",width:"11",height:"11",viewBox:"0 0 12 12",fill:"none"},[_("path",{d:"M2 4h8M2 6h8M2 8h5",stroke:"currentColor","stroke-width":"1.4","stroke-linecap":"round"})],-1)),_("span",wy,G(H(u)),1),J[3]||(J[3]=_("svg",{class:"legend-reopen-caret",width:"8",height:"8",viewBox:"0 0 12 12",fill:"none"},[_("path",{d:"M4.5 3L7.5 6L4.5 9",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round"})],-1))],10,vy)):(E(),B("div",{key:2,class:ye(["legend-container",{"legend-dark":e.isDark}])},[S.value==="detail"?(E(),B("span",ky,[Ie(ud,{open:!I.value,t:H(n),onToggle:q},null,8,["open","t"])])):ue("",!0),S.value==="detail"?(E(),B("button",{key:1,class:"detail-close-btn",onClick:J[1]||(J[1]=ot(X=>H(s).selectPeopleGroup(null),["stop"])),"aria-label":H(n)("aria.backToLegend")},[...J[4]||(J[4]=[_("svg",{width:"18",height:"18",viewBox:"0 0 20 20",fill:"none"},[_("path",{d:"M15 5L5 15M5 5L15 15",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])],8,xy)):ue("",!0),_("div",{class:ye(["legend-content",{"no-padding":H(c).length>0}])},[S.value==="detail"&&L.value?(E(),B(be,{key:0},[Ie(cd,{peopleGroup:L.value,hideHeader:!0,dark:e.isDark,action:e.popupAction},null,8,["peopleGroup","dark","action"]),Ie(sa,{shared:N.value,dark:e.isDark},null,8,["shared","dark"])],64)):e.legendType==="language-family"?(E(),B(be,{key:1},[],64)):(E(),Ve(ad,{key:2,title:M.value,items:H(l),columns:H(c),activeFilter:H(p),isDark:e.isDark,hideColumnHeader:!1,showFooter:!1,disableCollapse:!0,totalCount:H(w),totalPopulation:H(y),fmtPop:H(g),fmtCount:H(b),progress:H(h),onFilterClick:ge},{"title-caret":It(()=>[Ie(ud,{open:!I.value,t:H(n),onToggle:q},null,8,["open","t"])]),_:1},8,["title","items","columns","activeFilter","isDark","totalCount","totalPopulation","fmtPop","fmtCount","progress"])),S.value!=="detail"?(E(),Ve(sa,{key:3,dark:e.isDark},null,8,["dark"])):ue("",!0)],2)],2))}},[["styles",[yy]],["__scopeId","data-v-37990088"]]),Ay={class:"gm-legend"},Py={class:"gm-title"},Sy={class:"gm-keys"},Ly={key:0,class:"gm-key"},Ty={class:"gm-caveat"},Ny={key:0,class:"gm-adm1"},Oy={class:"gm-adm1-h"},My=["aria-label"],Fy=["aria-pressed"],Ey=["aria-pressed"],Iy={class:"gm-keys"},Ry={class:"gm-caveat"},Dy={key:0,class:"gm-caveat"},By={key:1,class:"gm-err"},zy={key:2,class:"gm-wait",role:"status"},Gy={key:3,class:"gm-pg-desktop"},jy={key:4,class:"gm-pg-mobile"},Hy={key:5,class:"gm-sheet"},Uy={class:"gm-sh-head"},Wy={class:"gm-sh-name"},Ky={class:"gm-list-h"},Vy={class:"gm-adm1-t"},qy={class:"gm-note"},Yy={key:6,class:"gm-sheet"},Zy={class:"gm-sh-head"},Jy={class:"gm-sh-name"},Xy={key:0,class:"gm-ai"},Qy=["aria-label"],e1={class:"gm-stat"},t1={class:"gm-stat"},o1={class:"gm-stat"},n1={class:"gm-stat"},a1={class:"gm-stat"},r1={key:1,class:"gm-list"},s1={class:"gm-list-h"},i1={key:2,class:"gm-list"},l1={class:"gm-list-h"},c1={class:"gm-note"},Ti="#1e293b",u1=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"connectivity-map",setup(e){const t=Object.create(null);function o(Q,ne){try{window[Q]=ne,t[Q]=ne}catch{}}const n=Rs(()=>kn(()=>Promise.resolve().then(()=>_d),void 0)),a=Pe("profileConfig",ie(null)),r=U(()=>{var Q;return((Q=a.value)==null?void 0:Q.isDark)===!0}),s=Pe("mapboxToken",null),i=U(()=>{var Q;return((Q=a.value)==null?void 0:Q.tk)||(s==null?void 0:s.value)||typeof window<"u"&&window.MAP_TOKEN||""}),l=U(()=>Ds(a.value)),c=ie(null),u=ko(null),p=ie([]),d=ie(null),w=ie(!0),y=ie(null),h=ie(!0),g=ko(null),b=ie("women"),x=ie(null),$=Pe("uiStore",null),k=(()=>{var ne;const Q=(ne=Pe("lang",null))==null?void 0:ne.value;return Q&&Q!=="en"?Q:null})(),C=()=>{if(k)return k;const Q=a.value;if(Q&&(Q.locale||Q.lang))return String(Q.locale||Q.lang);try{const ne=new URLSearchParams(location.search);return ne.get("lang")||ne.get("locale")||document.documentElement.lang||"en"}catch{return"en"}},S=new dp({locale:k,profileConfig:a}),L=ko([]),F=ie(0),N=y$({getMap:()=>u.value,getActivePinColor:()=>Ti});async function I(){await S.init();const Q=await S.setActiveSource("pray-tools");L.value=wo(Q||[])}function j(){const Q=[];for(const ne of L.value){const he=parseFloat(ne.longitude??ne.lng),v=parseFloat(ne.latitude??ne.lat);if(!isFinite(he)||!isFinite(v))continue;const P=ne._normalized||{};Q.push({type:"Feature",properties:{uniqueId:ne.uniqueId,slug:ne.slug||"",name:ne.name,language:ne.language,languageFamily:ne.languageFamily||P.languageFamily||"",country:ne.country,countryIso:ne.countryIso,countryIsoLabel:ne.countryIsoLabel,countryName:ne.countryName,religion:ne.religion,religionLabel:ne.religionLabel,religionName:ne.religionName,population:ne.population,status:ne.status,description:ne.description||"",imageUrl:ne.imageUrl||"",peoplePraying:Number(ne.peoplePraying??P.peoplePraying??0)},geometry:{type:"Point",coordinates:[he,v]}})}return{type:"FeatureCollection",features:Q}}function M(Q){if(!L.value.length||Q.getSource("language-families"))return;const ne=j();if(F.value=ne.features.length,Q.addSource("language-families",{type:"geojson",data:ne,promoteId:"uniqueId"}),ne.features.length){let he=180,v=90,P=-180,A=-90;for(const Z of ne.features){const[Y,ae]=Z.geometry.coordinates;YP&&(P=Y),aeA&&(A=ae)}const R=Math.round(Math.min(Q.getContainer().clientWidth,Q.getContainer().clientHeight)*.06)+8;try{const Z=Q.cameraForBounds([[he,v],[P,A]],{padding:R});if(Q.fitBounds([[he,v],[P,A]],{padding:R,duration:0}),Z&&Q.getZoom()>Z.zoom+.05){const Y=Q.getBounds(),ae=Math.min(360,Y.getEast()-Y.getWest());let re=Q.getCenter().lng,f=-1;for(let m=-180;m<180;m+=5){let D=0;for(const V of ne.features){let se=V.geometry.coordinates[0]-m;se=(se+540)%360-180,Math.abs(se)<=ae/2&&D++}D>f&&(f=D,re=m)}Q.jumpTo({center:[re,(v+A)/2]})}}catch{}}Q.addLayer({id:"ci-pg-dots",type:"circle",source:"language-families",paint:{"circle-color":Ti,"circle-radius":["interpolate",["linear"],["zoom"],0,2.6,4,3.6,8,6,12,8.5],"circle-stroke-color":"#ffffff","circle-stroke-width":["interpolate",["linear"],["zoom"],0,1,6,1.4,12,1.8],"circle-opacity":.95}}),Q.on("click","ci-pg-dots",he=>{var P;const v=(P=he.features)==null?void 0:P[0];!v||!$||(d.value=null,$.selectPeopleGroup(v))}),Q.on("mouseenter","ci-pg-dots",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-pg-dots",()=>{Q.getCanvas().style.cursor=""}),typeof window<"u"&&(o("__ciState",()=>{var he,v;return{groups:L.value.length,dots:F.value,hasLayer:!!Q.getLayer("ci-pg-dots"),rendered:Q.queryRenderedFeatures({layers:["ci-pg-dots"]}).length,selected:((v=(he=$==null?void 0:$.selectedPeopleGroup)==null?void 0:he.properties)==null?void 0:v.slug)||null}}),o("__ciMap",Q))}const q=mn("connectivity"),ge=[{id:"yes",color:"#10b981"},{id:"partial",color:"#e8c15a"},{id:"no",color:"#b42318"},{id:"unknown",color:"#9aa2ad"}],te=Q=>(ge.find(ne=>ne.id===Q)||{}).color||"#9aa2ad",J=U(()=>{const Q={};for(const ne of p.value)Q[ne.iso3]=ne;return Q});async function X(){const[Q,ne]=await Promise.all([fetch(`${l.value}/tables/internet-by-country.json`).then(he=>he.json()),fetch(`${l.value}/boundaries/world-adm0-web.geojson`).then(he=>he.json())]);return p.value=Q.countries||[],ne}function oe(Q,ne){const he=J.value,P={type:"FeatureCollection",features:(ne.features||[]).map(A=>{var Y;const R=(Y=A.properties)==null?void 0:Y.iso3,Z=he[R];return{type:"Feature",properties:{iso3:R,band:(Z==null?void 0:Z.band)||"none",color:Z?te(Z.band):"rgba(0,0,0,0)",hasData:!!Z},geometry:A.geometry}})};if(Q.getSource("ci-src")){Q.getSource("ci-src").setData(P);return}Q.addSource("ci-src",{type:"geojson",data:P}),Q.addLayer({id:"ci-fill",type:"fill",source:"ci-src",paint:{"fill-color":["get","color"],"fill-opacity":["case",["get","hasData"],.72,0]}}),Q.addLayer({id:"ci-line",type:"line",source:"ci-src",paint:{"line-color":"rgba(255,255,255,0.5)","line-width":.5}}),Q.on("click","ci-fill",A=>{var Z,Y,ae;if(Q.getLayer("ci-pg-dots")&&Q.queryRenderedFeatures(A.point,{layers:["ci-pg-dots"]}).length)return;const R=(ae=(Y=(Z=A.features)==null?void 0:Z[0])==null?void 0:Y.properties)==null?void 0:ae.iso3;R&&J.value[R]&&($==null||$.selectPeopleGroup(null),x.value=null,d.value=J.value[R])}),Q.on("mouseenter","ci-fill",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-fill",()=>{Q.getCanvas().style.cursor=""})}const le=[{from:0,color:"#deebf7"},{from:25,color:"#9ecae1"},{from:40,color:"#6baed6"},{from:55,color:"#3182bd"},{from:70,color:"#08519c"}],W=Q=>["case",["==",["typeof",["get",Q]],"number"],["step",["get",Q],...le.flatMap((ne,he)=>he===0?[ne.color]:[ne.from,ne.color])],"rgba(0,0,0,0)"];async function pe(){var v;const[Q,ne]=await Promise.all([fetch(`${l.value}/tables/internet-by-adm1.json`).then(P=>{if(!P.ok)throw new Error("internet-by-adm1 "+P.status);return P.json()}),fetch(`${l.value}/boundaries/gb-IND-ADM1-full-web.geojson`).then(P=>{if(!P.ok)throw new Error("gb-IND-ADM1-full "+P.status);return P.json()})]),he={};for(const P of Q.rows||[]){if(P.iso3!=="IND"||P.measure!=="ever_used_internet"||!P.adm1)continue;const A=he[v=P.adm1]??(he[v]={name:P.adm1_name||P.adm1,women:{},men:{}});A[P.sex][P.area]=P.value}return g.value=wo({meta:Q.meta||{},byArea:he}),ne}function fe(Q,ne){const he=g.value.byArea,v={type:"FeatureCollection",features:(ne.features||[]).map(A=>{var Z,Y;const R=he[(Z=A.properties)==null?void 0:Z.shapeName];return{type:"Feature",geometry:A.geometry,properties:{adm1:(Y=A.properties)==null?void 0:Y.shapeName,women:(R==null?void 0:R.women.total)??null,men:(R==null?void 0:R.men.total)??null}}})},P=Q.getLayer("ci-pg-dots")?"ci-pg-dots":void 0;Q.addSource("ci-adm1-src",{type:"geojson",data:v}),Q.addLayer({id:"ci-adm1-fill",type:"fill",source:"ci-adm1-src",paint:{"fill-color":W(b.value),"fill-opacity":.85}},P),Q.addLayer({id:"ci-adm1-line",type:"line",source:"ci-adm1-src",paint:{"line-color":"rgba(255,255,255,0.8)","line-width":.6}},P),Q.getLayer("ci-fill")&&Q.setFilter("ci-fill",["!=",["get","iso3"],"IND"]),Q.on("click","ci-adm1-fill",A=>{var Y,ae,re;if(Q.getLayer("ci-pg-dots")&&Q.queryRenderedFeatures(A.point,{layers:["ci-pg-dots"]}).length)return;const R=(re=(ae=(Y=A.features)==null?void 0:Y[0])==null?void 0:ae.properties)==null?void 0:re.adm1,Z=R&&he[R];Z&&($==null||$.selectPeopleGroup(null),d.value=null,x.value={key:R,...Z})}),Q.on("mouseenter","ci-adm1-fill",()=>{Q.getCanvas().style.cursor="pointer"}),Q.on("mouseleave","ci-adm1-fill",()=>{Q.getCanvas().style.cursor=""})}function $e(Q){b.value=Q;const ne=u.value;ne!=null&&ne.getLayer("ci-adm1-fill")&&ne.setPaintProperty("ci-adm1-fill","fill-color",W(Q))}const Ne=U(()=>{var Q,ne,he,v;return(((v=(he=(ne=(Q=g.value)==null?void 0:Q.meta)==null?void 0:ne.boundaries)==null?void 0:he.IND)==null?void 0:v.missing)||[]).join(", ")}),Me=e$(Pe("profileConfig",null));let ve=!1;qt(async()=>{try{await h$(Me)}catch{}const Q=Gs(Me);if(!ve){if(!Q){const ne=Me==="maplibre"?"MapLibre":"Mapbox";console.warn(`[connectivity-map] the ${ne} engine did not load; refusing to substitute another engine.`),y.value=ar(vt("messages.engineMissing"),{engine:ne});return}if(!c.value){y.value=vt("messages.engineNotLoaded");return}i$(Q);try{const ne=I().catch(R=>{console.warn("[connectivity-map] people groups:",(R==null?void 0:R.message)||R)}),he=pe().catch(R=>(console.warn("[connectivity-map] India by state:",(R==null?void 0:R.message)||R),null)),v=await X();if(ve||!c.value)return;const P=g$(Me);if(P&&await m$(c.value,P),ve||!c.value)return;const A=new Q.Map({container:c.value,style:r$(r.value?"ink":"paper",Me).style||(r.value?"mapbox://styles/mapbox/dark-v11":"mapbox://styles/mapbox/light-v11"),accessToken:i.value,locale:d$(C(),Me),center:[42,18],zoom:1.3,projection:"mercator",attributionControl:!1});u.value=wo(A),bb(A,{boundaries:!0}),A.once("load",async()=>{try{u$(A,C())}catch{}oe(A,v),N.initialize(),await ne,M(A);const R=await he;R&&!ve&&fe(A,R),h.value=!1})}catch(ne){y.value=String(ne.message||ne),h.value=!1}}}),Rt(()=>{var Q;try{window.__ciState===t.__ciState&&delete window.__ciState}catch{}try{window.__ciMap===t.__ciMap&&delete window.__ciMap}catch{}ve=!0,N.cleanup(),$==null||$.selectPeopleGroup(null);try{(Q=u.value)==null||Q.remove()}catch{}});const Ye=Q=>(Number(Q)||0).toLocaleString(),ze=U(()=>!!($!=null&&$.selectedPeopleGroup));return ht(":host{display:block;width:100%;height:100%;min-height:420px}.gm{position:absolute;inset:0;overflow:hidden}.gm-map{position:absolute;inset:0}.gm-legend{position:absolute;top:8px;inset-inline-start:8px;width:var(--map-legend-width,380px);max-width:calc(100% - 16px);box-sizing:border-box;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.94);color:#0f1419;font:12px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 2px 10px rgba(0,0,0,.16)}@media(max-width:480px){.gm-legend{width:auto;inset-inline-end:46px}}.is-dark .gm-legend{background:rgba(19,32,25,.95);color:#e5e7eb}.gm-title{font-weight:700;font-size:12.5px;margin-bottom:5px}.gm-keys{display:flex;flex-wrap:wrap;gap:5px 12px}.gm-key{display:flex;align-items:center;gap:5px;font-size:11px;white-space:nowrap}.gm-sw{width:12px;height:12px;border-radius:3px;flex:none}.gm-caveat{margin-top:5px;font-size:10.5px;opacity:.72;line-height:1.4}.gm-adm1{margin-top:8px;padding-top:7px;border-top:1px solid rgba(0,0,0,.12)}.gm-adm1-h{font-weight:600;font-size:12px;margin-bottom:5px}.gm-seg{display:inline-flex;border:1px solid rgba(0,0,0,.2);border-radius:6px;overflow:hidden;margin-bottom:6px}.gm-seg button{font:inherit;font-size:11px;padding:3px 10px;min-height:24px;border:0;background:transparent;color:inherit;cursor:pointer}.gm-seg button.on{background:#08519c;color:#fff}.gm-adm1-t{width:100%;border-collapse:collapse;font-size:12px;margin:4px 0 6px}.gm-adm1-t th,.gm-adm1-t td{padding:3px 4px;text-align:end}.gm-adm1-t th:first-child{text-align:start}.is-dark .gm-adm1{border-top-color:rgba(255,255,255,.15)}.is-dark .gm-seg{border-color:rgba(255,255,255,.3)}.gm-sheet{position:absolute;left:0;right:0;bottom:0;z-index:6;max-height:62%;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:14px 16px 22px;font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-shadow:0 -6px 26px rgba(0,0,0,.28)}@media(min-width:700px){.gm-sheet{inset-inline-start:auto;inset-inline-end:14px;bottom:14px;width:330px;border-radius:12px}}.is-dark .gm-sheet{background:#132019;color:#e5e7eb}.gm-sh-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.gm-sh-name{font-weight:800;font-size:15px}.gm-ai{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:7px 9px;border-radius:8px;font-size:11px;line-height:1.35;background:rgba(180,120,0,.12);color:#7a4f00;border:1px solid rgba(180,120,0,.25)}.is-dark .gm-ai{background:rgba(255,200,80,.10);color:#f0cf88;border-color:rgba(255,200,80,.22)}.gm-ai-x{margin-left:auto;flex:none;border:0;background:none;cursor:pointer;font-size:15px;line-height:1;color:inherit;opacity:.7;padding:0 2px;min-width:24px;min-height:24px}.gm-ai-x:hover{opacity:1}.gm-x{margin-left:auto;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit;font:600 12px inherit;padding:6px 12px;border-radius:8px;cursor:pointer;min-height:34px}.gm-stat{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid rgba(0,0,0,.07);font-variant-numeric:tabular-nums}.is-dark .gm-stat{border-bottom-color:rgba(255,255,255,.09)}.gm-stat b{font-weight:700}.gm-list{margin-top:9px}.gm-list-h{font-weight:700;font-size:12px;margin-bottom:3px}.gm-list ul{margin:0;padding-left:17px;font-size:12px;line-height:1.5}.gm-note{margin-top:9px;font-size:11px;line-height:1.5;opacity:.75}.gm-err{position:absolute;top:50%;left:0;right:0;text-align:center;font-size:13px;opacity:.7}.gm-wait{position:absolute;top:50%;inset-inline:0;text-align:center;font-size:13px;opacity:.7}.gm-dot{width:10px;height:10px;border-radius:50%;flex:none;box-sizing:border-box;border:1.5px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25)}.gm-pg-mobile{display:none}@media(max-width:767px){.gm-pg-mobile{display:block}.gm-pg-desktop{display:none}}","doxa-connectivity-map"),(Q,ne)=>(E(),B("div",{class:ye(["gm",{"is-dark":r.value}])},[_("div",{ref_key:"mapEl",ref:c,class:"gm-map"},null,512),u.value?(E(),Ve($b,{key:0},{default:It(()=>[Ie(vb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(wb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(kb,{map:u.value,"is-dark":r.value},null,8,["map","is-dark"]),Ie(Ab,{"map-container":c.value,"is-dark":r.value},null,8,["map-container","is-dark"]),Ie(Jb,{"is-dark":r.value,"embed-path":"cities-internet/connectivity-map/index.html"},null,8,["is-dark"])]),_:1})):ue("",!0),zr(_("div",Ay,[_("div",Py,G(H(q)("connectivity.title")),1),_("div",Sy,[(E(),B(be,null,Xe(ge,he=>_("span",{key:he.id,class:"gm-key"},[_("i",{class:"gm-sw",style:He({background:he.color})},null,4),Te(G(H(q)("connectivity.bands."+he.id)),1)])),64)),L.value.length?(E(),B("span",Ly,[_("i",{class:"gm-dot",style:He({background:Ti})},null,4),Te(G(H(q)("connectivity.peopleGroup"))+" ("+G(Ye(L.value.length))+") ",1)])):ue("",!0)]),_("div",Ty,G(H(q)("connectivity.caveat")),1),g.value?(E(),B("div",Ny,[_("div",Oy,G(H(q)("connectivity.adm1.title")),1),_("div",{class:"gm-seg",role:"group","aria-label":H(q)("connectivity.adm1.title")},[_("button",{type:"button",class:ye({on:b.value==="women"}),"aria-pressed":b.value==="women",onClick:ne[0]||(ne[0]=he=>$e("women"))},G(H(q)("connectivity.adm1.women")),11,Fy),_("button",{type:"button",class:ye({on:b.value==="men"}),"aria-pressed":b.value==="men",onClick:ne[1]||(ne[1]=he=>$e("men"))},G(H(q)("connectivity.adm1.men")),11,Ey)],8,My),_("div",Iy,[(E(),B(be,null,Xe(le,(he,v)=>_("span",{key:he.from,class:"gm-key"},[_("i",{class:"gm-sw",style:He({background:he.color})},null,4),Te(G(v+1x.value=null)},G(H(q)("connectivity.sheet.close")),1)]),_("div",Ky,G(H(q)("connectivity.adm1.title")),1),_("table",Vy,[_("thead",null,[_("tr",null,[ne[5]||(ne[5]=_("th",null,null,-1)),_("th",null,G(H(q)("connectivity.adm1.total")),1),_("th",null,G(H(q)("connectivity.adm1.urban")),1),_("th",null,G(H(q)("connectivity.adm1.rural")),1)])]),_("tbody",null,[(E(),B(be,null,Xe(["women","men"],he=>_("tr",{key:he},[_("th",null,G(H(q)("connectivity.adm1."+he)),1),(E(),B(be,null,Xe(["total","urban","rural"],v=>_("td",{key:v},G(x.value[he][v]!=null?x.value[he][v]+"%":"—"),1)),64))])),64))])]),_("p",qy,G(H(q)("connectivity.adm1.source")),1)])):ue("",!0),d.value?(E(),B("div",Yy,[_("div",Zy,[_("span",Jy,G(d.value.country),1),_("button",{type:"button",class:"gm-x",onClick:ne[3]||(ne[3]=he=>d.value=null)},G(H(q)("connectivity.sheet.close")),1)]),w.value?(E(),B("div",Xy,[_("span",null,G(H(q)("connectivity.sheet.ai")),1),_("button",{type:"button",class:"gm-ai-x",onClick:ne[4]||(ne[4]=he=>w.value=!1),"aria-label":H(q)("connectivity.sheet.dismiss")},"×",8,Qy)])):ue("",!0),_("div",e1,[_("span",null,G(H(q)("connectivity.sheet.internetUsers")),1),_("b",null,G(d.value.internet_pct!=null?d.value.internet_pct+"%":H(q)("connectivity.sheet.unknown")),1)]),_("div",t1,[_("span",null,G(H(q)("connectivity.sheet.measured")),1),_("b",null,G(d.value.internet_year||"—"),1)]),_("div",o1,[_("span",null,G(H(q)("connectivity.sheet.mobilePer100")),1),_("b",null,G(d.value.mobile_per_100??"—"),1)]),_("div",n1,[_("span",null,G(H(q)("connectivity.sheet.peopleGroups")),1),_("b",null,G(Ye(d.value.people_groups)),1)]),_("div",a1,[_("span",null,G(H(q)("connectivity.sheet.topPlatform")),1),_("b",null,[Te(G(d.value.top_platform||H(q)("connectivity.sheet.unknown")),1),d.value.top_platform_pct?(E(),B(be,{key:0},[Te(" · "+G(d.value.top_platform_pct)+"%",1)],64)):ue("",!0)])]),d.value.carriers&&d.value.carriers.length?(E(),B("div",r1,[_("div",s1,G(H(q)("connectivity.sheet.carriers",{n:d.value.carrier_count})),1),_("ul",null,[(E(!0),B(be,null,Xe(d.value.carriers,(he,v)=>(E(),B("li",{key:v},G(he),1))),128))])])):ue("",!0),d.value.platforms&&d.value.platforms.length?(E(),B("div",i1,[_("div",l1,G(H(q)("connectivity.sheet.socialPlatforms")),1),_("ul",null,[(E(!0),B(be,null,Xe(d.value.platforms,(he,v)=>(E(),B("li",{key:v},G(he.name)+" · "+G(he.pct)+"%",1))),128))])])):ue("",!0),_("p",c1,G(H(q)("connectivity.sheet.note")),1)])):ue("",!0)],2))}}},Symbol.toStringTag,{value:"Module"}));function p1(e){const t=(e==null?void 0:e.parentElement)||e;if(!t||!t.ownerDocument)return{x:0,y:0};const o=t.ownerDocument.createElement("div");o.style.cssText="position:fixed;top:0;left:0;width:0;height:0;pointer-events:none;opacity:0",t.appendChild(o);const n=o.getBoundingClientRect();return o.remove(),{x:n.left,y:n.top}}function hd(e){const t=ie(null),o=ko({position:"fixed",inset:"0"}),n=()=>{var u,p;const r=t.value;if(!r)return;const s=p1(r),i=r.ownerDocument||(typeof document<"u"?document:null),l=((u=i==null?void 0:i.documentElement)==null?void 0:u.clientWidth)||0,c=((p=i==null?void 0:i.documentElement)==null?void 0:p.clientHeight)||0;o.value={position:"fixed",top:`${-s.y}px`,left:`${-s.x}px`,right:"auto",bottom:"auto",width:`${l}px`,height:`${c}px`,boxSizing:"border-box"}};Ue(e,r=>{r&&requestAnimationFrame(()=>{n(),requestAnimationFrame(n)})},{flush:"post"});const a=()=>{e.value&&n()};return typeof window<"u"&&window.addEventListener("resize",a),Rt(()=>{typeof window<"u"&&window.removeEventListener("resize",a)}),{scrimRef:t,scrimStyle:o}}const d1={class:"dt-head"},g1={class:"dt-title"},h1={class:"dt-count"},m1={key:0,class:"dt-grain"},f1={class:"dt-actions"},_1={key:0,class:"dt-err"},b1={class:"dt-wrap"},$1={class:"dt-hint"},y1={key:0,dir:"ltr"},v1=["aria-label"],w1={class:"dt-sheet-head"},k1={class:"dt-dl"},x1=["href"],C1={key:1},A1={key:2},P1={key:2,class:"dt-caveats"},S1={dir:"ltr"},L1={class:"dt-cav-k"},T1={__name:"DataTable",props:{table:{type:Object,required:!0},assetsBase:{type:String,default:"./assets"},isDark:{type:Boolean,default:!1},height:{type:String,default:"560px"},frozen:{type:Number,default:1},pageSize:{type:Number,default:50}},emits:["row-click"],setup(e,{emit:t}){const o=(I,j)=>vt(I)||j,n=e,a=t,r=ie(!1),s=ie(null),{scrimRef:i,scrimStyle:l}=hd(s),c=ie(null),u=ko(null),p=ie(null),d=ie(!1),w=U(()=>String(n.assetsBase||"./assets").replace(/\/+$/,"")),y=U(()=>{var I;return((I=n.table)==null?void 0:I.meta)||{}}),h=U(()=>{var I;return(((I=n.table)==null?void 0:I.rows)||[]).length}),g=U(()=>Object.entries(y.value).filter(([I,j])=>typeof j=="string"&&/caveat|meaning|note|boundary|measures|does_not/i.test(I)).map(([I,j])=>({key:I.replace(/_/g," "),text:j})));let b=null;function x(){return window.Tabulator?Promise.resolve(window.Tabulator):b||(b=new Promise((I,j)=>{const M=document.createElement("script");M.src=`${w.value}/vendor/tabulator/tabulator.min.js`,M.onload=()=>I(window.Tabulator),M.onerror=()=>j(new Error("Tabulator failed to load — is public/assets/vendor/tabulator/ present?")),document.head.appendChild(M)}),b)}async function $(I){if(!(!I||I.querySelector("style[data-tabulator]")))try{const j=await fetch(`${w.value}/vendor/tabulator/tabulator.min.css`);if(!j.ok)return;const M=document.createElement("style");M.setAttribute("data-tabulator",""),M.textContent=await j.text(),I.appendChild(M)}catch{}}function k(I){var ge,te;if(!c.value)return;r.value=typeof window<"u"&&window.innerWidth<700;const j=((ge=n.table)==null?void 0:ge.columns)||[],q=(r.value?j.slice(0,3):j).map((J,X)=>({title:J.title,field:J.field,headerFilter:J.type==="boolean"?"tickCross":"input",headerFilterPlaceholder:"filter…",sorter:J.type==="number"?"number":J.type==="boolean"?"boolean":"string",formatter:J.type==="boolean"?"tickCross":void 0,.../_url$/.test(J.field)?{formatter:"link",formatterParams:{target:"_blank",label:()=>"open"}}:{},frozen:!r.value&&X{s.value=X.getData(),a("row-click",X.getData())}),u.value.on("tableBuilt",()=>{d.value=!0})}const C=I=>{var j,M;return((M=(((j=n.table)==null?void 0:j.columns)||[]).find(q=>q.field===I))==null?void 0:M.title)||I.replace(/_/g," ")},S=I=>typeof I=="string"&&I.includes(", ")&&I.length>40?I.split(", "):null,L=I=>typeof I=="string"&&/^https?:\/\//.test(I),F=U(()=>s.value?Object.entries(s.value).filter(([,I])=>I!==""&&I!==null&&I!==void 0):[]);function N(I){var j;try{(j=u.value)==null||j.download(I,`${(y.value.title||"table").replace(/\W+/g,"-").toLowerCase()}.${I}`)}catch(M){p.value=String(M.message||M)}}return qt(async()=>{var I,j;try{await $((j=(I=c.value)==null?void 0:I.getRootNode)==null?void 0:j.call(I)),k(await x())}catch(M){p.value=String(M.message||M)}}),Rt(()=>{var I;try{(I=u.value)==null||I.destroy()}catch{}}),Ue(()=>n.table,()=>{var I,j;try{(j=u.value)==null||j.replaceData(((I=n.table)==null?void 0:I.rows)||[])}catch{}}),ht(".dt .tabulator{border:1px solid #d1d4cd;background:#fff;font-size:14px}.dt .tabulator .tabulator-header{background:#f3f3f1;border-bottom:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col{background:#f3f3f1;border-right:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover{background:#e9ebe6}.dt .tabulator .tabulator-col-title{color:#3b463d;font-weight:700}.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,.dt .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d;padding:3px 6px}.dt .tabulator .tabulator-row{background:#fff;color:#3b463d;border-bottom:1px solid #e6e8e3}.dt .tabulator .tabulator-row.tabulator-row-even{background:#faf9f7}.dt .tabulator .tabulator-row:hover{background:#e9ebe6}.dt .tabulator .tabulator-row .tabulator-cell{border-inline-end:1px solid #e6e8e3;color:#3b463d;unicode-bidi:plaintext}.dt:dir(rtl) .tabulator .tabulator-row .tabulator-cell{text-align:right}.dt .tabulator .tabulator-row .tabulator-cell a{color:#4a7a52;font-weight:600}.dt .tabulator .tabulator-footer{background:#f3f3f1;border-top:1px solid #d1d4cd;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator label{color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-paginator select{background:#fff;border:1px solid #d1d4cd;border-radius:5px;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page{border:1px solid #d1d4cd;background:#fff;color:#3b463d;border-radius:5px}.dt .tabulator .tabulator-footer .tabulator-page.active{background:#92b195;border-color:#92b195;color:#fff}.dt .tabulator .tabulator-footer .tabulator-page:not(disabled):hover{background:#e9ebe6;color:#3b463d}.dt .tabulator .tabulator-footer .tabulator-page:disabled{opacity:.45}.dt,.dt *{box-sizing:border-box}.dt{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.dt-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}.dt-title{font-size:15px;font-weight:700;margin:0}.dt-count{font-size:11.5px;opacity:.6;font-variant-numeric:tabular-nums}.dt-grain{font-size:11px;opacity:.55}.dt-actions{margin-inline-start:auto;display:flex;gap:6px}.dt-btn{font:600 11.5px inherit;padding:5px 11px;border-radius:6px;cursor:pointer;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-btn:hover{background:rgba(0,0,0,.05)}.dt-err{padding:10px 12px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.dt-caveats{margin-top:10px;padding:10px 12px;border-radius:8px;background:rgba(0,0,0,.04);font-size:11.5px;line-height:1.6;opacity:.85}.is-dark .dt-caveats{background:rgba(255,255,255,.06)}.dt-cav-k{font-weight:700;text-transform:capitalize}.dt-scrim{position:fixed;inset:0;z-index:1200;background:rgba(8,12,16,.55);display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.dt-scrim{align-items:center}}.dt-sheet{width:100%;max-width:560px;max-height:82vh;overflow-y:auto;background:#fff;color:#0f1419;border-radius:14px 14px 0 0;padding:16px 18px 26px;box-shadow:0 -6px 30px rgba(0,0,0,.3)}@media(min-width:700px){.dt-sheet{border-radius:14px}}.is-dark .dt-sheet{background:#132019;color:#e5e7eb}.dt-sheet-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.10);font-size:15px}.dt-close{margin-inline-start:auto;font:600 12px inherit;padding:7px 14px;border-radius:8px;cursor:pointer;min-height:36px;border:1px solid rgba(0,0,0,.16);background:transparent;color:inherit}.dt-dl{display:grid;grid-template-columns:minmax(96px,34%) 1fr;gap:7px 12px;margin:0;font-size:12.5px}.dt-dl dt{font-weight:700;opacity:.72;text-transform:capitalize}.dt-dl dd{margin:0;word-break:break-word}.dt-dl ul{margin:0;padding-inline-start:16px}.dt-dl a{color:#0b7a5b;font-weight:600}.dt-hint{font-size:11px;opacity:.6;margin:6px 0 0}.dt-wrap{width:100%;overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:8px}.is-dark .dt-wrap{border-color:rgba(255,255,255,.12)}","doxa-data-table"),(I,j)=>{var M,q;return E(),B("div",{class:ye(["dt",{"is-dark":e.isDark}])},[_("div",d1,[_("h3",g1,G(y.value.title||"Data"),1),_("span",h1,G(h.value.toLocaleString())+" rows",1),y.value.grain?(E(),B("span",m1,"· "+G(y.value.grain),1)):ue("",!0),_("span",f1,[_("button",{type:"button",class:"dt-btn",onClick:j[0]||(j[0]=ge=>N("csv"))},G(o("tables.csv","CSV")),1),_("button",{type:"button",class:"dt-btn",onClick:j[1]||(j[1]=ge=>N("json"))},G(o("tables.json","JSON")),1)])]),p.value?(E(),B("div",_1,G(p.value),1)):ue("",!0),_("div",b1,[_("div",{ref_key:"host",ref:c},null,512)]),_("p",$1,[Te(G(o("tables.tap_row_hint","Tap any row for its full detail")),1),r.value?(E(),B(be,{key:1},[Te(".")],64)):(E(),B("bdi",y1," — every field, including the lists the table flattens."))]),s.value?(E(),B("div",{key:1,ref_key:"scrimRef",ref:i,style:He(H(l)),class:"dt-scrim",onClick:j[3]||(j[3]=ot(ge=>s.value=null,["self"]))},[_("div",{class:"dt-sheet",role:"dialog","aria-label":o("aria.rowDetail","Row detail")},[_("div",w1,[_("strong",null,G(s.value[(q=(((M=e.table)==null?void 0:M.columns)||[])[0])==null?void 0:q.field]||o("aria.rowDetail","Row detail")),1),_("button",{type:"button",class:"dt-close",onClick:j[2]||(j[2]=ge=>s.value=null)},G(o("buttons.close","Close")),1)]),_("dl",k1,[(E(!0),B(be,null,Xe(F.value,([ge,te])=>(E(),B(be,{key:ge},[_("dt",null,G(C(ge)),1),_("dd",null,[L(te)?(E(),B("a",{key:0,href:te,target:"_blank",rel:"noopener"},G(te),9,x1)):S(te)?(E(),B("ul",C1,[(E(!0),B(be,null,Xe(S(te),(J,X)=>(E(),B("li",{key:X},G(J),1))),128))])):(E(),B("span",A1,G(te===!0?"yes":te===!1?"no":te),1))])],64))),128))])],8,v1)],4)):ue("",!0),g.value.length?(E(),B("div",P1,[(E(!0),B(be,null,Xe(g.value,ge=>(E(),B("div",{key:ge.key},[_("bdi",S1,[_("span",L1,G(ge.key)+":",1),Te(" "+G(ge.text),1)])]))),128))])):ue("",!0)],2)}}},N1={class:"ct-h"},O1={class:"ct-sub"},M1={class:"ct-tabs"},F1=["onClick"],E1={key:0,class:"ct-n"},I1={key:0,class:"ct-err"},R1={key:1,class:"ct-load"},D1=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"data-tables",setup(e){const t=Pe("profileConfig",ie(null)),o=U(()=>{var y;return((y=t.value)==null?void 0:y.isDark)===!0}),n=U(()=>Ds(t.value)),a=mn("connectivity"),r=y=>(Number(y)||0).toLocaleString(),s=[{id:"cities",file:"key-cities"},{id:"internet",file:"country-connectivity"},{id:"operators",file:"network-operators"},{id:"social",file:"social-platforms"},{id:"messaging",file:"messaging-channels"}],i=ie("cities"),l=U(()=>s.find(y=>y.id===i.value)||s[0]),c=ie({}),u=ie(!1),p=ie(null);async function d(y){if(!c.value[y]){u.value=!0,p.value=null;try{const h=await fetch(`${n.value}/tables/${y}.json`);if(!h.ok)throw new Error(String(h.status));c.value={...c.value,[y]:await h.json()}}catch{const g=s.find(b=>b.file===y);p.value=ar(vt("messages.couldNotLoadNamed"),{name:g?a("tables.tabs."+g.id):y})}finally{u.value=!1}}}Ue(l,y=>y&&d(y.file),{immediate:!0});const w=U(()=>{var y;return c.value[(y=l.value)==null?void 0:y.file]||null});return ht(".ct{position:absolute;inset:0;overflow-y:auto;padding:18px;background:#f6f7f9;color:#0f1419;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.ct.is-dark{background:#0a1410;color:#e5e7eb}.ct-h{margin:0 0 4px;font-size:18px;font-weight:700}.ct-sub{margin:0 0 14px;font-size:12.5px;opacity:.72;line-height:1.5}.ct-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ct-tab{font:600 12px inherit;padding:7px 14px;border-radius:999px;cursor:pointer;border:1px solid rgba(0,0,0,.14);background:transparent;color:inherit}.ct-tab.on{background:#10b981;border-color:#10b981;color:#04241a}.ct-load{padding:22px;text-align:center;font-size:12.5px;opacity:.6}.ct-err{padding:11px 13px;border-radius:8px;background:rgba(220,38,38,.10);color:#a12020;font-size:12.5px}.ct-n{font-size:10.5px;opacity:.6;margin-left:5px;font-variant-numeric:tabular-nums}","doxa-cities-tables"),(y,h)=>(E(),B("div",{class:ye(["ct",{"is-dark":o.value}])},[_("h2",N1,G(H(a)("connectivity.tables.title")),1),_("p",O1,G(H(a)("connectivity.tables.intro")),1),_("div",M1,[(E(),B(be,null,Xe(s,g=>_("button",{key:g.id,type:"button",class:ye(["ct-tab",{on:i.value===g.id}]),onClick:b=>i.value=g.id},[Te(G(H(a)("connectivity.tables.tabs."+g.id)),1),c.value[g.file]?(E(),B("span",E1,G(r((c.value[g.file].rows||[]).length)),1)):ue("",!0)],10,F1)),64))]),p.value?(E(),B("div",I1,G(p.value),1)):w.value?(E(),Ve(T1,{key:l.value.id,table:w.value,"assets-base":n.value,"is-dark":o.value,height:"600px"},null,8,["table","assets-base","is-dark"])):(E(),B("div",R1,G(H(a)("connectivity.tables.loading",{name:H(a)("connectivity.tables.tabs."+l.value.id)})),1))],2))}}},Symbol.toStringTag,{value:"Module"})),B1="pplrInstance";function z1(){return Pe(B1,null)}const G1="",j1=["data-theme"],H1={class:"stl-inner"},U1={class:"stl-tb-caret-slot"},W1=["title","aria-label","aria-expanded"],K1={class:"stl-tb-eyebrow"},V1=["title","aria-label"],q1=["title"],Y1={key:2,class:"stl-tb-title"},Z1={key:3,class:"stl-export"},J1=["aria-expanded","title","aria-label"],X1={class:"stl-export-label"},Q1={class:"stl-export-menu",role:"menu"},ev={class:"stl-export-item-label"},tv={class:"stl-export-item-label"},ov=["aria-expanded"],nv={class:"stl-export-item-label"},av=["aria-label"],rv={class:"stl-export-note"},sv={class:"stl-export-item-label"},iv={class:"stl-export-item-label"},lv={key:0,class:"stl-tabs-wrap"},cv={class:"stl-tabs"},uv=["onClick"],pv=["title","onClick"],dv={key:0,class:"stl-info-pop"},gv={class:"stl-col-hdr"},hv={class:"stl-hdr-name"},mv=["title"],fv={key:0,class:"stl-sort-arrow"},_v=["title"],bv={key:0,class:"stl-sort-arrow"},$v=["data-stl-node-id","onClick"],yv=["aria-expanded","aria-label","onClick"],vv={key:1,class:"stl-caret-sp"},wv={key:3,class:"stl-dot-sp"},kv={class:"stl-name"},xv={key:4,class:"stl-num"},Cv={key:5,class:"stl-num"},Av={class:"stl-x-slot"},Pv=["title","aria-label"],Sv={key:0,class:"stl-empty stl-loading"},Lv={key:1,class:"stl-empty"},Tv={key:2,class:"stl-empty"},Nv={key:3,class:"stl-overflow"},Ov={class:"stl-overflow-hint"},Mv=["data-theme","title","aria-label"],Fv={class:"stl-reopen-label"},Ev=mo({__name:"SemanticTreeLegend",props:{nodes:{type:Array,default:()=>[]},pinNote:{type:Boolean,default:null},tabs:{type:Array,default:null},defaultTab:{type:Number,default:0},columns:{type:Array,default:()=>["count","pop"]},title:{type:String,default:"Legend"},hideTabs:{type:Boolean,default:!1},columnLabel:{type:String,default:""},open:{type:Boolean,default:null},exportEnabled:{type:Boolean,default:!1},exportCards:{type:Boolean,default:!1},progress:{type:Object,default:null}},emits:["select","update:open","export"],setup(e,{emit:t}){const o=(O,K)=>vt(O)||K,n=O=>String(O).split(".").pop().replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^./,K=>K.toUpperCase()),{t:a,te:r,locale:s}=tp("",{fallback:O=>n(O)});function i(O){const K="tabs."+((O==null?void 0:O.i18nKey)||(O==null?void 0:O.id));return O&&r(K)?a(K):(O==null?void 0:O.label)??""}function l(O){const K="legend.tabInfo."+((O==null?void 0:O.i18nKey)||(O==null?void 0:O.id));return O&&r(K)?a(K):typeof(O==null?void 0:O.info)=="string"?O.info:""}const c=e,u=t,p=z1(),d=Pe("legendProgress",null),w=U(()=>c.progress??H(d)??null),y=U(()=>w.value?a("legend.progress.title"):c.title),h=U(()=>((p==null?void 0:p.theme.value)||"dark")==="dark"),g=Pe("dataStore",null),b=Pe("normalizedPeopleGroups",null),x=O=>!!(O&&yr(O)&&Si(O)),$=U(()=>{var K,me;if(c.pinNote!==null)return c.pinNote;if((K=b==null?void 0:b.value)!=null&&K.length)return b.value.slice(0,20).some(x);const O=(g==null?void 0:g.sources)||{};for(const we in O)if((((me=O[we])==null?void 0:me.features)||[]).slice(0,20).some(x))return!0;return!1});function k(O,K){var me;for(const we of O||[]){if((we==null?void 0:we.id)===K)return we;const Le=(me=we==null?void 0:we.children)!=null&&me.length?k(we.children,K):null;if(Le)return Le}return null}function C(O){const K=k(j.value,O);K&&z(K)}function S(O,K=0){return O!=null&&O.length?Math.max(...O.map(me=>S(me.children??[],K+1))):K}function L(O,K,me=0){return me===K?O.slice():O.flatMap(we=>L(we.children??[],K,me+1))}function F(O,K,me=[]){var we;for(const Le of O){if(Le.id===K)return me;if((we=Le.children)!=null&&we.length){const Qe=F(Le.children,K,[...me,Le]);if(Qe)return Qe}}return null}function N(O,K=new Set){var me;if(!((me=O==null?void 0:O.children)!=null&&me.length))return K;for(const we of O.children)K.add(we.id),N(we,K);return K}function I(O,K="root"){var we;if(!Array.isArray(O))return[];const me=[];for(const Le of O){if(!Le||typeof Le!="object"){try{console.warn("[SemanticTreeLegend] dropped null node under",K)}catch{}continue}me.push((we=Le.children)!=null&&we.length?{...Le,children:I(Le.children,Le.label||Le.id||K)}:Le)}return me}const j=U(()=>I(c.nodes)),M=U(()=>S(j.value)),q=U(()=>{const O=c.tabs??[],K=O.length||M.value+1;return Array.from({length:K},(me,we)=>O[we]??{id:`gen${we+1}`,label:`Generation ${we+1}`})}),ge=ie(Math.max(0,c.defaultTab|0)),te=ie(new Set),J=ie(null),X=ie(c.open!==null?c.open:!0),oe=ie(null),le=ie(!1),W=ie(!1),{scrimRef:pe,scrimStyle:fe}=hd(le),$e=ie(null),Ne=ie("desc"),Me=U({get:()=>{var O;return c.hideTabs?0:p&&!((O=p.activeTabTouched)!=null&&O.value)?Math.min(Math.max(0,c.defaultTab|0),Math.max(0,q.value.length-1)):p?p.activeTab.value:ge.value},set:O=>{c.hideTabs||(p?(p.activeTab.value=O,p.activeTabTouched&&(p.activeTabTouched.value=!0)):ge.value=O)}}),ve=U({get:()=>p?p.selection.value:J.value,set:O=>{p?p.selection.value=O:J.value=O}}),Ye=U(()=>{var O;return((O=ve.value)==null?void 0:O.id)||null}),ze=ie(null);Ue(()=>c.open,O=>{O!==null&&(X.value=O)}),Ue(()=>j.value,()=>{var Qe,Ce;const O=((Qe=ve.value)==null?void 0:Qe.id)||null;if(O){const mt=k(j.value,O);if(mt){ve.value=mt;return}}const K=p?(Ce=p.activeTabTouched)==null?void 0:Ce.value:!1,me=K?p==null?void 0:p.activeTab.value:void 0,we=Math.min(Math.max(0,c.defaultTab|0),Math.max(0,q.value.length-1)),Le=typeof me=="number"&&me>=0?me:we;p?(p.activeTab.value=Le,!K&&p.activeTabTouched&&(p.activeTabTouched.value=!1)):ge.value=Le,te.value=new Set,ve.value=null,u("select",null)},{deep:!1});let Q=null;p&&Ue(()=>p.selection.value,O=>{if((O==null?void 0:O.id)===Q)return;if(!O){Q=null;return}Q=O.id;const K=F(j.value,O.id)||[];typeof O.depth=="number"&&(Me.value=Math.min(O.depth,q.value.length-1));const me=new Set;K.forEach(we=>me.add(we.id)),te.value=me,u("select",O)});function ne(O,K){const me=(K.pop??0)-(O.pop??0);return me!==0?me:(K.count??0)-(O.count??0)}const he=U(()=>{if(!$e.value)return ne;const O=$e.value,K=Ne.value==="asc"?1:-1;return(me,we)=>((me[O]??0)-(we[O]??0))*K});function v(O){$e.value===O?Ne.value==="desc"?Ne.value="asc":($e.value=null,Ne.value="desc"):($e.value=O,Ne.value="desc")}const P=ie([]),A=ie(!1);let R=-1;function Z(O){if(P.value[O]){A.value=!1;return}A.value=!0,R=O,setTimeout(()=>{if(R!==O)return;const K=[...L(j.value,O)].sort(he.value),me=[...P.value];me[O]=K,P.value=me,A.value=!1},0)}Ue(Me,O=>Z(O),{immediate:!0}),Ue(()=>[j.value,$e.value,Ne.value],()=>{P.value=[],Z(Me.value)},{deep:!1});const Y=U(()=>P.value[Me.value]||[]),ae=U(()=>{var K;const O=(K=q.value[Me.value])==null?void 0:K.topLimit;return O?Y.value.slice(0,O):Y.value}),re=U(()=>{var K;const O=(K=q.value[Me.value])==null?void 0:K.topLimit;return O?Math.max(0,Y.value.length-O):0});function f(O,K,me,we,Le){var Qe;for(const Ce of K)Ce&&(O.push({node:Ce,relDepth:me,parent:we,ancestors:Le}),te.value.has(Ce.id)&&((Qe=Ce.children)!=null&&Qe.length)&&f(O,[...Ce.children].sort(he.value),me+1,Ce,[...Le,Ce]))}const m=U(()=>{const O=[];f(O,ae.value,0,null,[]);for(let K=0;KLe+1&&kt.ancestors[Le]}if(Le===me.relDepth-1){let mt=!1;for(let kt=K+1;ktYe.value!==null),V=U(()=>c.columns.includes("count")),se=U(()=>c.columns.includes("pop")),ee=U(()=>ve.value?N(ve.value):new Set),T=U(()=>{var Qe;const O=ve.value;if(!O)return null;const K=F(j.value,O.id);if(!K||!K.length)return null;const me=K[K.length-1],we=K.length-1,Le=((Qe=q.value[we])==null?void 0:Qe.label)||"Parent";return{node:me,tabName:Le,depth:we}});function z(O){Ye.value===O.id?(Q=null,ve.value=null,u("select",null)):(Q=O.id,ve.value=O,u("select",O))}function ce(O,K){K==null||K.stopPropagation();const me=new Set(te.value),we=me.has(O);if(we?me.delete(O):me.add(O),te.value=me,we&&ve.value){const Le=F(j.value,ve.value.id);Le&&Le.some(Qe=>Qe.id===O)&&(Q=null,ve.value=null,u("select",null))}}function _e(){const O=T.value;O!=null&&O.node&&(!c.hideTabs&&typeof O.depth=="number"&&(Me.value=O.depth),te.value=new Set,z(O.node))}function Ee(O){if(Me.value===O){oe.value=oe.value===O?null:O;return}Me.value=O,te.value=new Set,Q=null,ve.value=null,oe.value=null,u("select",null)}function pt(O){O==null||O.stopPropagation(),Q=null,ve.value=null,u("select",null)}function rt(O,K){K==null||K.stopPropagation(),oe.value=oe.value===O?null:O}function yo(O){O==null||O.stopPropagation(),le.value=!le.value}function Bo(O){le.value=!1,W.value=!1,u("export",O)}Ue(Ye,O=>{O||(le.value=!1,W.value=!1)}),Ue(le,O=>{O||(W.value=!1)});function wt(O){let K=O.parentElement;for(;K;){const me=getComputedStyle(K).overflowY;if((me==="auto"||me==="scroll")&&K.scrollHeight>K.clientHeight+1){const we=O.getBoundingClientRect(),Le=K.getBoundingClientRect();K.scrollTop+=we.top-Le.top-8}K=K.parentElement}}let Lt=0;Ue(Ye,async O=>{if(!O)return;const K=++Lt,me=ze.value;if(!me)return;await Vt();const we=(Le=0)=>{if(K!==Lt)return;const Qe=me.querySelector(`[data-stl-node-id="${CSS.escape(String(O))}"]`);Qe&&wt(Qe),Le<6&&setTimeout(()=>we(Le+1),70)};we(0)});function wn(){const O=s&&(s.value??s);return typeof O=="string"&&O?O:void 0}function vr(O){return O?O>=1e3?new Intl.NumberFormat(wn(),{notation:"compact",maximumFractionDigits:O>=1e6&&O<1e7?1:0}).format(O):O.toLocaleString(wn()):"—"}function bd(O){return O!=null?O.toLocaleString(wn()):"—"}function kw(O){var K;return{selected:Ye.value===O.node.id,descendant:D.value&&ee.value.has(O.node.id),child:O.relDepth>0,leaf:!((K=O.node.children)!=null&&K.length)}}return ht(`
.stl-inner {
--stl-pad-x: 10px;
--stl-gap: 6px;
diff --git a/public/dx-maps/cities-internet/connectivity-list/index.html b/public/dx-maps/cities-internet/connectivity-list/index.html
index a36b1ce60..a8d890d88 100644
--- a/public/dx-maps/cities-internet/connectivity-list/index.html
+++ b/public/dx-maps/cities-internet/connectivity-list/index.html
@@ -61,7 +61,7 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -145,8 +145,8 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -162,7 +162,7 @@
"scriptUrl": "./cities-internet/cities-internet.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
}
]
@@ -200,7 +200,7 @@
"bundle": "country-posters",
"scriptUrl": "./country-posters/country-posters.js",
"output": "dx-maps/country-posters/country-posters.js",
- "integrity": "sha384-VG1gavfzqVQZvxwvwXlvra/VMRwL9W98cvkyz19KbAITegNnYKltyZEIcLFgdB3J",
+ "integrity": "sha384-stTlWjMQbO1xhfGw3YiPImsp+aUkGy7aR4Q3RwvmMt0XYPxCjuwL5f0IoLi+dlM8",
"elements": [
"country-posters-map"
],
@@ -223,8 +223,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -240,7 +240,7 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -256,8 +256,8 @@
"scriptUrl": "./country-posters/country-posters.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
@@ -315,7 +315,7 @@
"bundle": "demo-map",
"scriptUrl": "./demo-map/demo-map.js",
"output": "dx-maps/demo-map/demo-map.js",
- "integrity": "sha384-7p1XJ+Sjb6BC0CdTaK+EhXWz/AH3q89LWDUp7m5ehurBiPqECbGqyhfSpx3MaVbD",
+ "integrity": "sha384-vK5YFIO3qPbhMvTc8iQTKxSh+bBmKkcuhQVBCizxoemt3SMtbEbQ8FMbhqwuA1/S",
"elements": [
"demo-map"
],
@@ -333,8 +333,8 @@
"scriptUrl": "./demo-map/demo-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -416,7 +416,7 @@
"bundle": "doxa-research-map",
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"output": "dx-maps/doxa-research-map/doxa-research-map.js",
- "integrity": "sha384-eO5R+bFRZx9shq117GcJzbpVd5kWDiCQ7gsuWKSbhgkl98STI6petAkpH0ywp4+m",
+ "integrity": "sha384-Jfs50eDx4cFamJP7Xtzj0a8ylNhS4L7CNslcpC7RmRI2/tUj+bk6e1+IXUaHK/JS",
"elements": [
"doxa-research-map"
],
@@ -435,8 +435,8 @@
"scriptUrl": "./doxa-research-map/doxa-research-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -462,7 +462,7 @@
"bundle": "doxa-simple-map",
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"output": "dx-maps/doxa-simple-map/doxa-simple-map.js",
- "integrity": "sha384-fV7TEcIYYGCWBXN+y41/nuS2n04VLLw9zyUbuDevSD6rsFs4FYFgk4evhbZj7/hX",
+ "integrity": "sha384-rqVYqgT6Exjxee7MngMq5/BhlpB6N1A9EGRus50MzsT5SwssrSR0UbwIECA/SB3L",
"elements": [
"doxa-map",
"doxa-simple-map"
@@ -482,8 +482,8 @@
"scriptUrl": "./doxa-simple-map/doxa-simple-map.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
},
"instances": [
{
@@ -782,7 +782,7 @@
"bundle": "gospel-resources",
"scriptUrl": "./gospel-resources/gospel-resources.js",
"output": "dx-maps/gospel-resources/gospel-resources.js",
- "integrity": "sha384-esoYKrQIdSPzc6P/xiObiUaw3B0fs7Kuz+O8JazN72YGJRkZC0ksJVlhLPtcNLxo",
+ "integrity": "sha384-U6FmpPxoT9YPxoeJLi2SaWMr9bRN0IkbOO13t3RQcb+ocSAo0DMYfuxrxg+vfz3D",
"elements": [
"gospel-resources-map"
],
@@ -805,7 +805,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -821,7 +821,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -837,8 +837,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
},
{
@@ -854,7 +854,7 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n"
+ "script": "\n\n\n"
}
},
{
@@ -870,8 +870,8 @@
"scriptUrl": "./gospel-resources/gospel-resources.js",
"embed": {
"iframe": "",
- "script": "\n\n\n\n\n\n",
- "scriptMapbox": "\n\n\n\n\n\n"
+ "script": "\n\n\n\n\n\n",
+ "scriptMapbox": "\n\n\n\n\n\n"
}
}
]
diff --git a/public/dx-maps/doxa-research-map/doxa-research-map.js b/public/dx-maps/doxa-research-map/doxa-research-map.js
index be79a4c6a..a96a511f7 100644
--- a/public/dx-maps/doxa-research-map/doxa-research-map.js
+++ b/public/dx-maps/doxa-research-map/doxa-research-map.js
@@ -185,7 +185,7 @@
${Ft(s("popup.country.uupgCount"))}: ${Ft(U)}
- `}function p(b){const u=t();if(!u)return;const v=b||"language-family-pins";if(!u.getLayer(v))return;const m=k=>{try{const E=k.features[0],P=E.properties,U=E.geometry.coordinates.slice();for(;Math.abs(k.lngLat.lng-U[0])>180;)U[0]+=k.lngLat.lng>U[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(E),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(gi(u)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(U).setHTML(c(P)).addTo(u)}catch(E){console.error(` [${o}] Pin click handler error:`,E)}};u.on("click",v,m),l.value.push({event:"click",layer:v,handler:m})}function f(){const b=t();if(!b)return;const u="regions-fill";if(!b.getLayer(u))return;const v=m=>{const k=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const E of k)if(b.getLayer(E)){const P=b.queryRenderedFeatures(m.point,{layers:[E]});if(P&&P.length>0)return}if(m.features&&m.features.length>0){const E=m.features[0].properties;new(gi(b)).Popup().setLngLat(m.lngLat).setHTML(d(E)).addTo(b)}};b.on("click",u,v),l.value.push({event:"click",layer:u,handler:v})}function x(){const b=t();if(!b)return;const u="clusters";if(!b.getLayer(u))return;const v=m=>{const k=b.queryRenderedFeatures(m.point,{layers:[u]});if(!k.length)return;const E=k[0].properties.cluster_id,P=k[0].source;b.getSource(P).getClusterExpansionZoom(E,(U,V)=>{U||b.easeTo({center:k[0].geometry.coordinates,zoom:V})})};b.on("click",u,v),l.value.push({event:"click",layer:u,handler:v})}function S(b){const u=t();if(!u||!u.getLayer(b))return;const v=()=>{u.getCanvas().style.cursor="pointer"},m=()=>{u.getCanvas().style.cursor=""};u.on("mouseenter",b,v),u.on("mouseleave",b,m),l.value.push({event:"mouseenter",layer:b,handler:v}),l.value.push({event:"mouseleave",layer:b,handler:m})}function y(){p(),S("language-family-pins"),p("language-family-pins-hitbox"),S("language-family-pins-hitbox"),x(),S("clusters")}function h(){f(),S("regions-fill")}function $(){const b=t();b&&(b.getLayer("language-family-pins")&&y(),b.getLayer("regions-fill")&&h(),b.getLayer("people-groups-pins")&&(p(),S("people-groups-pins")))}function g(){const b=t();if(b){for(const{event:u,layer:v,handler:m}of l.value)try{b.off(u,v,m)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:y,attachRegionEvents:h,attachPinClickHandler:p,attachRegionClickHandler:f,attachClusterClickHandler:x,attachCursorHandlers:S,detachAllEventHandlers:g,generatePinPopupContent:c,generateRegionPopupContent:d,registeredHandlers:l}}const dt={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=[">",["to-number",["get","peoplePraying"],0],0],Oc={0:.25,8:.4,14:.5},Xa={0:.1,8:.18,14:.22},Qa={0:1.2,8:1.6,14:2},Kf=["interpolate",["linear"],["zoom"],0,["case",Ic,Oc[0],Xa[0]],8,["case",Ic,Oc[8],Xa[8]],14,["case",Ic,Oc[14],Xa[14]]],gv=["interpolate",["linear"],["zoom"],0,Qa[0],8,Qa[8],14,Qa[14]],qf=["==",["to-number",["get","peoplePraying"],0],0],fv={prayer:[qf],prayerProgress:[qf],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function hv(e){const t=fv[e]||[];if(!t.length)return gv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,Xa[0],Qa[0]],8,["case",o,Xa[8],Qa[8]],14,["case",o,Xa[14],Qa[14]]]}const mv=[[/ sign language$/i,"Sign Language"]];function bv(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(dt[a])return dt[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(dt[r])return dt[r]}}if(dt[t])return dt[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&dt[n])return dt[n];for(const[a,r]of mv)if(a.test(t))return r;return null}function $v(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const X=t();return X?rt(X):null},s=Wf({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=ve({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=ve({});function c(X,Z="languageFamily"){const pe=r();if(!pe||!(X!=null&&X.length))return;const Pe=lv(Z),M=X.map(G=>{var $e,le,T,C,q,ue,Le,ce,W,oe,Ee,Fe,Ve,vt,$t,Kt,zt,Pt,Et;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||(($e=G._normalized)==null?void 0:$e.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((le=G._normalized)==null?void 0:le.languageFamily)||bv(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((T=G._normalized)==null?void 0:T.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((q=G._normalized)==null?void 0:q.cluster)||"",clusterLabel:G.clusterLabel||((ue=G._normalized)==null?void 0:ue.clusterLabel)||"",peopleGroup:G.peopleGroup||((Le=G._normalized)==null?void 0:Le.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((ce=G._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((W=G._normalized)==null?void 0:W.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((oe=G._normalized)==null?void 0:oe.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Ee=G._normalized)==null?void 0:Ee.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Fe=G._normalized)==null?void 0:Fe.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((Ve=G._normalized)==null?void 0:Ve.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((vt=G._normalized)==null?void 0:vt.bible)||"Not Available",jesusFilm:G.jesusFilm||(($t=G._normalized)==null?void 0:$t.jesusFilm)||"Not Available",radio:G.radio||((Kt=G._normalized)==null?void 0:Kt.radio)||"Not Available",gospel:G.gospel||((zt=G._normalized)==null?void 0:zt.gospel)||"Not Available",audio:G.audio||((Pt=G._normalized)==null?void 0:Pt.audio)||"Not Available",stories:G.stories||((Et=G._normalized)==null?void 0:Et.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),I=.04,D=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,Q=new Map;for(const G of M){const $e=D(G);Q.has($e)||Q.set($e,[]),Q.get($e).push(G)}for(const G of Q.values()){if(G.length<2)continue;const[$e,le]=G[0].geometry.coordinates,T=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),pe.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":Nc("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function d(X,Z="doxa-regions"){const pe=r();if(!pe)return;pe.getLayer("regions-fill")&&pe.removeLayer("regions-fill"),pe.getLayer("regions-border")&&pe.removeLayer("regions-border"),pe.getSource("regions")&&pe.removeSource("regions");const Pe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},M="#cccccc",I=X&&X.isoToRegion?X.isoToRegion:{},D=[],Q={};for(const[le,T]of Object.entries(I)){const C=Pe[String(T).toLowerCase()];C&&D.push(le,C),Q[T]||(Q[T]=[]),Q[T].push(le)}l.value=Q;const ie=D.length?["match",["get","iso_3166_1_alpha_3"],...D,M]:M,G=pe.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":pe.getLayer("language-family-pins")?"language-family-pins":void 0,$e=(()=>{var le,T,C;try{return!!((C=(T=(le=pe.getContainer)==null?void 0:le.call(pe))==null?void 0:T.classList)!=null&&C.contains("maplibregl-map"))}catch{return!1}})();$e?(pe.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${ac(null)}/boundaries/world-adm0-web.geojson`).then(le=>le.json()).then(le=>{for(const C of le.features||[])C.properties&&C.properties.iso3&&(C.properties.iso_3166_1_alpha_3=C.properties.iso3);const T=pe.getSource("regions");T&&T.setData(le)}).catch(le=>console.warn("[map-layers] region boundaries failed to load",le))):pe.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),pe.addLayer({id:"regions-fill",type:"fill",source:"regions",...$e?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":ie,"fill-opacity":Z==="none"?.1:.7,"fill-antialias":!0,...sn(pe,"fill"),"fill-opacity-transition":{duration:300}}},G),pe.addLayer({id:"regions-border",type:"line",source:"regions",...$e?{}:{"source-layer":"country_boundaries"},paint:{"line-color":ie,"line-width":1,"line-opacity":.9,...sn(pe,"line")}},G),i.value.regions=!0,s.attachRegionEvents()}function p(X,Z){const pe=r();if(!pe||!X||!(Z!=null&&Z.length))return;f();const Pe=Z.filter(ie=>{var $e;return(ie.languageFamily||(($e=ie._normalized)==null?void 0:$e.languageFamily)||"Unknown")===X});if(Pe.length<2)return;const M=n(X),I=[],D=15,Q=[...Pe].sort((ie,G)=>(ie.longitude||ie.lng)-(G.longitude||G.lng));for(let ie=0;ie=",["get","peoplePraying"],ln],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const F=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function K(X,Z){const pe=["interpolate",["linear"],["zoom"]];for(let Pe=0;Pe",["get","peoplePraying"],0],pe=N();if(!E.every(M=>X.getLayer(M))){for(const M of E)if(X.getLayer(M))try{X.removeLayer(M)}catch{}X.addLayer({id:v,type:"circle",source:"language-families",filter:Z,paint:{"circle-radius":K(F,1),"circle-color":pe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...sn(X)}},"language-family-pins");for(const M of k)X.addLayer({id:M,type:"circle",source:"language-families",filter:Z,paint:{"circle-radius":K(F,1),"circle-radius-transition":B,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":pe,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":B,...sn(X)}},"language-family-pins")}}function J(){const X=r();if(X)for(const Z of E)X.getLayer(Z)&&X.removeLayer(Z)}function j(X){const Z=r();if(!Z)return;const pe=[">",["get","peoplePraying"],0],Pe=X?["all",pe,X]:pe;for(const M of E)if(Z.getLayer(M))try{Z.setFilter(M,Pe)}catch{}}function re(){const X=r();if(X){if(z(),g&&(cancelAnimationFrame(g),g=null),b=!0,X.getLayer("language-family-pins"))try{X.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],ln],1,[">",["get","peoplePraying"],0],1,3])}catch{}Te(X),_e()}}function _e(){g&&(cancelAnimationFrame(g),g=null);const X=++u;let Z=performance.now(),pe=-1/0;function Pe(M){if(!b||X!==u)return;const I=r();if(!I||!E.some(Q=>I.getLayer(Q))){g=null;return}if(M-pe"u")return;const Z=typeof X.getContainer=="function"?X.getContainer():null;if(Z)try{A=new IntersectionObserver(pe=>{for(const Pe of pe)_=Pe.isIntersecting},{threshold:0}),A.observe(Z)}catch{A=null,_=!0}}function xe(){if(A){try{A.disconnect()}catch{}A=null}_=!0}function Se(){b=!1,g&&(cancelAnimationFrame(g),g=null),xe();try{J();const X=r();X&&X.getLayer("language-family-pins")&&X.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:d,addFamilyConnectionLines:p,removeFamilyConnectionLines:f,updateLayerSource:x,removeLayer:S,hasLayer:y,setPaintProperty:h,mapEvents:s,startPrayerGlow:re,stopPrayerGlow:Se,syncGlowFilter:j,cleanup:$}}function ao(e,t,o){if(!Array.isArray(e))return e;switch(e[0]){case"get":return t==null?void 0:t[e[1]];case"literal":return e[1];case"feature-state":return o==null?void 0:o[e[1]];case"has":return t!=null&&e[1]in t;case"!has":return t==null||!(e[1]in t);case"!":return!ao(e[1],t,o);case"coalesce":{for(let a=1;a2){const s=Number(ao(e[2],t,o));return Number.isFinite(s)?s:0}return NaN}case"to-string":{const a=ao(e[1],t,o);return a==null?"":String(a)}case"to-boolean":return!!ao(e[1],t,o);case"slice":{const a=ao(e[1],t,o),r=ao(e[2],t,o),s=e.length>3?ao(e[3],t,o):void 0;return typeof a!="string"?"":s!=null?a.slice(r,s):a.slice(r)}default:return e}}function er(e,t,o){if(e===!0)return!0;if(e===!1)return!1;if(!Array.isArray(e))return!!e;const n=e[0];if(n==="all"){for(let a=1;a"||n===">="||n==="<"||n==="<="){const a=typeof e[1]=="string"?t==null?void 0:t[e[1]]:ao(e[1],t,o),r=ao(e[2],t,o);switch(n){case"==":return a===r||a==null&&r==null;case"!=":return!(a===r||a==null&&r==null);case">":return a>r;case">=":return a>=r;case"<":return al!=null&&l!==!0),s=typeof(e==null?void 0:e.getFeatureState)=="function",i=l=>{if(!(!s||l==null))try{return e.getFeatureState({source:t,id:l})}catch{return}};for(const l of yi(e,t)){const c=l&&l.properties;if(!c)continue;const d=c[n],p=i(d);r.length&&!r.every(f=>er(f,c,p))||d!=null&&a.add(String(d))}return a}const yv=Object.freeze(Object.defineProperty({__proto__:null,matchesExpression:er,readSourceFeatures:yi,resolveExpr:ao,selectedPinIds:_v},Symbol.toStringTag,{value:"Module"})),Uo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function vv(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(Uo==null?void 0:Uo.center)||[20,10],defaultZoom:s=Uo==null?void 0:Uo.zoom}=e,i=()=>{try{return typeof window<"u"&&!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}};function l(w){const B=i(),_=(A={})=>{const N={};for(const F of["center","zoom","bearing","pitch","padding"])A[F]!==void 0&&(N[F]=A[F]);return w.jumpTo(N)};return{flyTo:A=>B?_(A):w.flyTo(A),easeTo:A=>B?_(A):w.easeTo(A),fitBounds:(A,N={})=>w.fitBounds(A,B?{...N,animate:!1,duration:0}:N)}}const c={speed:.5,essential:!0,curve:1.2};function d(w,B,_={x:150,y:0}){const A=t();if(!A)return w;try{const N=A.getCanvas(),F=N.width,K=N.height,z=A.project(w),J=window.devicePixelRatio||1,j=(_.x||0)*J,re=(_.y||0)*J,_e={x:z.x-j,y:z.y-re},Te=A.unproject(_e);return[Te.lng,Te.lat]}catch{return w}}function p(w,B=[]){const _=t();if(!_)return;let A=null,N=5;const F=B.filter(z=>z.languageFamily===w);if(F.length>0){let z=1/0,J=-1/0,j=1/0,re=-1/0;if(F.forEach(_e=>{_e.longitude&&_e.latitude&&(z=Math.min(z,_e.longitude),J=Math.max(J,_e.longitude),j=Math.min(j,_e.latitude),re=Math.max(re,_e.latitude))}),z!==1/0){A=[(z+J)/2,(j+re)/2];const _e=J-z,Te=re-j,xe=Math.max(_e,Te);xe>50?N=2:xe>20?N=3:xe>10?N=4:xe>5?N=5:N=6}}if(!A)return;const K=d(A);l(_).flyTo({center:K,zoom:N,...c})}function f(w){const B=t();if(!B)return;let _=null,A=4;const N=uv(w);if(N)_=N.center,A=N.zoom||4;else if(a!=null&&a.features){const K=a.features.find(z=>{var J,j;return((J=z.properties)==null?void 0:J.region)===w||((j=z.properties)==null?void 0:j.name)===w});K&&(_=x(K))}if(!_)return;const F=d(_);l(B).flyTo({center:F,zoom:A,...c})}function x(w){if(!w||!w.geometry)return null;const{type:B,coordinates:_}=w.geometry;let A=[];if(B==="Polygon"?A=_[0]||[]:B==="MultiPolygon"&&_.forEach(K=>{A=A.concat(K[0]||[])}),A.length===0)return null;let N=0,F=0;return A.forEach(K=>{N+=K[0],F+=K[1]}),[N/A.length,F/A.length]}function S(w,B={}){const _=t();if(!_)return;const A={center:w,...c,...B};l(_).flyTo(A)}function y(w,B,_={}){const A=t();if(!A||(w==null?void 0:w.longitude)==null||(w==null?void 0:w.latitude)==null)return;const N=B??Math.min(A.getZoom()+2,8);S([w.longitude,w.latitude],{..._,zoom:N})}function h(w,B={top:40,right:40,bottom:40,left:40},_={}){const A=t();if(!A||!w)return;const N=_.maxZoom??4,F=_.duration??900;l(A).fitBounds(w,{padding:B,maxZoom:N,duration:F,...c,..._})}function $(){const w=t();w&&l(w).flyTo({center:r,zoom:s,...c})}const g=80,b=800,u=5,v=5,m=110,k=1.2;function E(w){const B=w.filter(Number.isFinite).slice().sort((Pe,M)=>Pe-M),_=B.length;if(!_)return null;let A=-1,N=0;for(let Pe=0;Pe<_;Pe++){const I=(Pe+1<_?B[Pe+1]:B[0]+360)-B[Pe];I>A&&(A=I,N=Pe)}const F=(N+1)%_,K=new Array(_);for(let Pe=0;Pe<_;Pe++){let M=B[(F+Pe)%_];Pe>0&&M((Pe+180)%360+360)%360-180,Te=_e(j),xe=24,Se=360/xe,X=new Array(xe).fill(0);for(const Pe of B){let M=Math.floor(((Pe+180)%360+360)%360/Se);M>=xe&&(M=xe-1),X[M]++}let Z=0;for(let Pe=1;PeX[Z]&&(Z=Pe);return{center:_e(-180+(Z+.5)*Se),minLng:Te,maxLng:Te+(re-j),span:re-j}}function P(w){try{const B=w.getContainer&&w.getContainer().clientWidth||0,_=B>0?Math.log2(B/512):k,A=typeof w.getMinZoom=="function"?w.getMinZoom():_;return Math.max(A,_)}catch{return k}}function U(w,B,_,A){l(w).easeTo({center:[B,(_+A)/2],zoom:P(w),duration:b,essential:!0})}function V(w,B,_){if(_>m)return!0;try{const A=typeof w.cameraForBounds=="function"?w.cameraForBounds(B,{padding:g,maxZoom:u}):null;return A==null?!0:typeof A.zoom=="number"&&A.zoom<=P(w)+.05}catch{return!1}}function H(w,B={}){var X,Z;const _=t();if(!_||!w)return;if(B.regionPolygonSource&&_.getSource(B.regionPolygonSource)){const pe=yi(_,B.regionPolygonSource),Pe=w.id??w.label,M=pe.find(I=>{const D=(I==null?void 0:I.properties)||{};return D.region===Pe||D.name===Pe||D.id===Pe});if(M){const I=[];let D=1/0,Q=-1/0;const ie=$e=>{for(const le of $e)Array.isArray(le[0])?ie(le):Number.isFinite(le[0])&&Number.isFinite(le[1])&&(I.push(le[0]),le[1]Q&&(Q=le[1]))};(X=M.geometry)!=null&&X.coordinates&&ie(M.geometry.coordinates);const G=E(I);if(G&&Number.isFinite(D)){const $e=[[G.minLng,D],[G.maxLng,Q]];V(_,$e,G.span)?U(_,G.center,D,Q):l(_).fitBounds($e,{padding:g,maxZoom:u,duration:b,essential:!0});return}}}const A=B.sourceId??"language-families";if(!_.getSource(A))return;const N=B.matchExpr??w.filter;if(!N)return;const F=yi(_,A);if(!F.length)return;const K=[];let z=1/0,J=-1/0,j=0,re=0,_e=0;const Te=new Set;for(const pe of F){const Pe=pe==null?void 0:pe.properties;if(!er(N,Pe))continue;const M=Pe==null?void 0:Pe.uniqueId;if(M!=null){if(Te.has(M))continue;Te.add(M)}const I=(Z=pe.geometry)==null?void 0:Z.coordinates;if(!Array.isArray(I)||I.length<2)continue;const D=I[0],Q=I[1];!Number.isFinite(D)||!Number.isFinite(Q)||(j===0&&(re=D,_e=Q),K.push(D),QJ&&(J=Q),j++)}if(j===0)return;if(j===1){l(_).flyTo({center:[re,_e],zoom:v,duration:b,essential:!0});return}const xe=E(K)||{center:0,minLng:0,maxLng:0,span:0},Se=[[xe.minLng,z],[xe.maxLng,J]];if(V(_,Se,xe.span)){U(_,xe.center,z,J);return}try{l(_).fitBounds(Se,{padding:g,maxZoom:u,duration:b,essential:!0})}catch{}}return{getOffsetCenter:d,slowFlyToFamily:p,slowFlyToRegion:f,flyTo:S,flyToCoords:y,fitBounds:h,resetView:$,zoomToLegendRow:H,calculateRegionCenterFromPolygon:x}}const vi="#1a1a1a",Rn="selected-pin-highlight";function wv(e=vi){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=`
+ `}function p(b){const u=t();if(!u)return;const v=b||"language-family-pins";if(!u.getLayer(v))return;const m=k=>{try{const E=k.features[0],P=E.properties,U=E.geometry.coordinates.slice();for(;Math.abs(k.lngLat.lng-U[0])>180;)U[0]+=k.lngLat.lng>U[0]?360:-360;if(r&&r.legendMode!==void 0){r.selectPeopleGroup(E),r.isMobile&&r.legendState==="collapsed"&&r.setLegendState("open"),r.isMobile||window.dispatchEvent(new CustomEvent("dxm:openDesktopLegend",{detail:{mapId:o}}));return}new(gi(u)).Popup({maxWidth:"320px",className:"people-group-popup"}).setLngLat(U).setHTML(c(P)).addTo(u)}catch(E){console.error(` [${o}] Pin click handler error:`,E)}};u.on("click",v,m),l.value.push({event:"click",layer:v,handler:m})}function f(){const b=t();if(!b)return;const u="regions-fill";if(!b.getLayer(u))return;const v=m=>{const k=["language-family-pins","language-family-pins-hitbox","people-groups-pins"];for(const E of k)if(b.getLayer(E)){const P=b.queryRenderedFeatures(m.point,{layers:[E]});if(P&&P.length>0)return}if(m.features&&m.features.length>0){const E=m.features[0].properties;new(gi(b)).Popup().setLngLat(m.lngLat).setHTML(d(E)).addTo(b)}};b.on("click",u,v),l.value.push({event:"click",layer:u,handler:v})}function x(){const b=t();if(!b)return;const u="clusters";if(!b.getLayer(u))return;const v=m=>{const k=b.queryRenderedFeatures(m.point,{layers:[u]});if(!k.length)return;const E=k[0].properties.cluster_id,P=k[0].source;b.getSource(P).getClusterExpansionZoom(E,(U,V)=>{U||b.easeTo({center:k[0].geometry.coordinates,zoom:V})})};b.on("click",u,v),l.value.push({event:"click",layer:u,handler:v})}function S(b){const u=t();if(!u||!u.getLayer(b))return;const v=()=>{u.getCanvas().style.cursor="pointer"},m=()=>{u.getCanvas().style.cursor=""};u.on("mouseenter",b,v),u.on("mouseleave",b,m),l.value.push({event:"mouseenter",layer:b,handler:v}),l.value.push({event:"mouseleave",layer:b,handler:m})}function y(){p("language-family-pins-hitbox"),S("language-family-pins"),S("language-family-pins-hitbox"),x(),S("clusters")}function h(){f(),S("regions-fill")}function $(){const b=t();b&&(b.getLayer("language-family-pins")&&y(),b.getLayer("regions-fill")&&h(),b.getLayer("people-groups-pins")&&(p("people-groups-pins"),S("people-groups-pins")))}function g(){const b=t();if(b){for(const{event:u,layer:v,handler:m}of l.value)try{b.off(u,v,m)}catch{}l.value=[]}}return{attachAllEventHandlers:$,attachLanguageFamilyEvents:y,attachRegionEvents:h,attachPinClickHandler:p,attachRegionClickHandler:f,attachClusterClickHandler:x,attachCursorHandlers:S,detachAllEventHandlers:g,generatePinPopupContent:c,generateRegionPopupContent:d,registeredHandlers:l}}const dt={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=[">",["to-number",["get","peoplePraying"],0],0],Oc={0:.25,8:.4,14:.5},Xa={0:.1,8:.18,14:.22},Qa={0:1.2,8:1.6,14:2},Kf=["interpolate",["linear"],["zoom"],0,["case",Ic,Oc[0],Xa[0]],8,["case",Ic,Oc[8],Xa[8]],14,["case",Ic,Oc[14],Xa[14]]],gv=["interpolate",["linear"],["zoom"],0,Qa[0],8,Qa[8],14,Qa[14]],qf=["==",["to-number",["get","peoplePraying"],0],0],fv={prayer:[qf],prayerProgress:[qf],engagement:[["all",["!=",["get","engagementStatus"],!0],["!=",["get","engagementStatus"],1]]],adoption:[["all",["!=",["get","adoptionStatus"],!0],["!=",["get","adoptionStatus"],1]]]};function hv(e){const t=fv[e]||[];if(!t.length)return gv;const o=t.length===1?t[0]:["any",...t];return["interpolate",["linear"],["zoom"],0,["case",o,Xa[0],Qa[0]],8,["case",o,Xa[8],Qa[8]],14,["case",o,Xa[14],Qa[14]]]}const mv=[[/ sign language$/i,"Sign Language"]];function bv(e){if(!e||typeof e!="string")return null;const t=e.trim(),o=t.split(",").map(a=>a.trim()).filter(Boolean);if(o.length>=2){const a=[...o].reverse().join(" ");if(dt[a])return dt[a];if(o.length>=3){const r=[o[1],o[0]].join(" ");if(dt[r])return dt[r]}}if(dt[t])return dt[t];const n=t.replace(/\s*\(.*?\)\s*$/,"").trim();if(n!==t&&dt[n])return dt[n];for(const[a,r]of mv)if(a.test(t))return r;return null}function $v(e={}){const{getMap:t=()=>null,mapId:o="unknown",getLanguageFamilyColor:n=()=>"#999999",getNormalizedPeopleGroups:a=()=>[]}=e,r=()=>{const X=t();return X?rt(X):null},s=Wf({getMap:r,mapId:o,getLanguageFamilyColor:n,getNormalizedPeopleGroups:a}),i=ve({languageFamilyPins:!1,regions:!1,peopleGroups:!1,familyConnections:!1}),l=ve({});function c(X,Z="languageFamily"){const pe=r();if(!pe||!(X!=null&&X.length))return;const Pe=lv(Z),M=X.map(G=>{var $e,le,T,C,q,ue,Le,ce,W,oe,Ee,Fe,Ve,vt,$t,Kt,zt,Pt,Et;return{type:"Feature",properties:{uniqueId:G.id||G.uniqueId,slug:G.slug||(($e=G._normalized)==null?void 0:$e.slug)||"",rop3:G.rop3||G.peopleGroupId,peopleId3:G.peopleId3||"",name:G.name,language:G.language,languageFamily:G.languageFamily||((le=G._normalized)==null?void 0:le.languageFamily)||bv(G.language)||"Unknown",affinityBlock:G.affinityBlock||G.affbloc||G.Affbloc||((T=G._normalized)==null?void 0:T.affinityBlock)||"Unknown",affinityBlockLabel:G.affinityBlockLabel||((C=G._normalized)==null?void 0:C.affinityBlockLabel)||"",cluster:G.cluster||((q=G._normalized)==null?void 0:q.cluster)||"",clusterLabel:G.clusterLabel||((ue=G._normalized)==null?void 0:ue.clusterLabel)||"",peopleGroup:G.peopleGroup||((Le=G._normalized)==null?void 0:Le.peopleGroup)||"",peopleGroupLabel:G.peopleGroupLabel||((ce=G._normalized)==null?void 0:ce.peopleGroupLabel)||"",doxaRegion:G.doxaRegion||((W=G._normalized)==null?void 0:W.doxaRegion)||"Unknown",wagfBlock:G.wagfBlock||((oe=G._normalized)==null?void 0:oe.wagfBlock)||"",wagfBlockLabel:G.wagfBlockLabel||((Ee=G._normalized)==null?void 0:Ee.wagfBlockLabel)||"",wagfRegionLabel:G.wagfRegionLabel||((Fe=G._normalized)==null?void 0:Fe.wagfRegionLabel)||"",country:G.country,countryIso:G.countryIso,countryIsoLabel:G.countryIsoLabel,countryName:G.countryName,religion:G.religion,religionCode:G.religionCode,religionLabel:G.religionLabel,religionName:G.religionName,population:G.population,status:G.status,description:G.description||"",imageUrl:G.imageUrl||"",peoplePraying:Number(G.peoplePraying??((Ve=G._normalized)==null?void 0:Ve.peoplePraying)??0),engagementStatus:G.engagementStatus===!0||G.engagementStatus===1||!1,adoptionStatus:G.adoptionStatus===!0||G.adoptionStatus===1||!1,bible:G.bible||((vt=G._normalized)==null?void 0:vt.bible)||"Not Available",jesusFilm:G.jesusFilm||(($t=G._normalized)==null?void 0:$t.jesusFilm)||"Not Available",radio:G.radio||((Kt=G._normalized)==null?void 0:Kt.radio)||"Not Available",gospel:G.gospel||((zt=G._normalized)==null?void 0:zt.gospel)||"Not Available",audio:G.audio||((Pt=G._normalized)==null?void 0:Pt.audio)||"Not Available",stories:G.stories||((Et=G._normalized)==null?void 0:Et.stories)||"Not Available",lng:parseFloat(G.longitude||G.lng)||0},geometry:{type:"Point",coordinates:[parseFloat(G.longitude||G.lng),parseFloat(G.latitude||G.lat)]}}}).filter(G=>!isNaN(G.geometry.coordinates[0])&&!isNaN(G.geometry.coordinates[1])),I=.04,D=G=>`${G.geometry.coordinates[0]},${G.geometry.coordinates[1]}`,Q=new Map;for(const G of M){const $e=D(G);Q.has($e)||Q.set($e,[]),Q.get($e).push(G)}for(const G of Q.values()){if(G.length<2)continue;const[$e,le]=G[0].geometry.coordinates,T=G.length;for(let C=0;C",["to-number",["get","peoplePraying"],0],0],"#ffffff","#1f2937"],"circle-opacity":1,"circle-stroke-opacity":1,"circle-opacity-transition":{duration:250}}}),pe.addLayer({id:"language-family-pins-hitbox",type:"circle",source:"language-families",paint:{"circle-radius":Nc("touchTarget"),"circle-color":"rgba(0,0,0,0)","circle-stroke-width":0,"circle-opacity":0}}),i.value.languageFamilyPins=!0,s.attachLanguageFamilyEvents()}function d(X,Z="doxa-regions"){const pe=r();if(!pe)return;pe.getLayer("regions-fill")&&pe.removeLayer("regions-fill"),pe.getLayer("regions-border")&&pe.removeLayer("regions-border"),pe.getSource("regions")&&pe.removeSource("regions");const Pe={africa:"#ff2e2e",asia:"#1a8cff",europe:"#1ee05f","latin_america_&_caribbean":"#FFEB3B",middle_east:"#a83dff","north_america_&_non-spanish_caribbean":"#00e0bd",oceania:"#ff7f11"},M="#cccccc",I=X&&X.isoToRegion?X.isoToRegion:{},D=[],Q={};for(const[le,T]of Object.entries(I)){const C=Pe[String(T).toLowerCase()];C&&D.push(le,C),Q[T]||(Q[T]=[]),Q[T].push(le)}l.value=Q;const ie=D.length?["match",["get","iso_3166_1_alpha_3"],...D,M]:M,G=pe.getLayer("language-family-pins-shadow")?"language-family-pins-shadow":pe.getLayer("language-family-pins")?"language-family-pins":void 0,$e=(()=>{var le,T,C;try{return!!((C=(T=(le=pe.getContainer)==null?void 0:le.call(pe))==null?void 0:T.classList)!=null&&C.contains("maplibregl-map"))}catch{return!1}})();$e?(pe.addSource("regions",{type:"geojson",data:{type:"FeatureCollection",features:[]}}),fetch(`${ac(null)}/boundaries/world-adm0-web.geojson`).then(le=>le.json()).then(le=>{for(const C of le.features||[])C.properties&&C.properties.iso3&&(C.properties.iso_3166_1_alpha_3=C.properties.iso3);const T=pe.getSource("regions");T&&T.setData(le)}).catch(le=>console.warn("[map-layers] region boundaries failed to load",le))):pe.addSource("regions",{type:"vector",url:"mapbox://mapbox.country-boundaries-v1"}),pe.addLayer({id:"regions-fill",type:"fill",source:"regions",...$e?{}:{"source-layer":"country_boundaries"},paint:{"fill-color":ie,"fill-opacity":Z==="none"?.1:.7,"fill-antialias":!0,...sn(pe,"fill"),"fill-opacity-transition":{duration:300}}},G),pe.addLayer({id:"regions-border",type:"line",source:"regions",...$e?{}:{"source-layer":"country_boundaries"},paint:{"line-color":ie,"line-width":1,"line-opacity":.9,...sn(pe,"line")}},G),i.value.regions=!0,s.attachRegionEvents()}function p(X,Z){const pe=r();if(!pe||!X||!(Z!=null&&Z.length))return;f();const Pe=Z.filter(ie=>{var $e;return(ie.languageFamily||(($e=ie._normalized)==null?void 0:$e.languageFamily)||"Unknown")===X});if(Pe.length<2)return;const M=n(X),I=[],D=15,Q=[...Pe].sort((ie,G)=>(ie.longitude||ie.lng)-(G.longitude||G.lng));for(let ie=0;ie=",["get","peoplePraying"],ln],"#15803d",[">",["get","peoplePraying"],0],"#d97706","rgba(0,0,0,0)"]}const F=[0,5,2,6,4,7,5,9,6,12,7,14,8,18,10,25,12,32,14,40];function K(X,Z){const pe=["interpolate",["linear"],["zoom"]];for(let Pe=0;Pe",["get","peoplePraying"],0],pe=N();if(!E.every(M=>X.getLayer(M))){for(const M of E)if(X.getLayer(M))try{X.removeLayer(M)}catch{}X.addLayer({id:v,type:"circle",source:"language-families",filter:Z,paint:{"circle-radius":K(F,1),"circle-color":pe,"circle-blur":.3,"circle-opacity":.45,"circle-stroke-width":0,...sn(X)}},"language-family-pins");for(const M of k)X.addLayer({id:M,type:"circle",source:"language-families",filter:Z,paint:{"circle-radius":K(F,1),"circle-radius-transition":B,"circle-color":"rgba(0,0,0,0)","circle-blur":0,"circle-opacity":1,"circle-stroke-width":2.5,"circle-stroke-color":pe,"circle-stroke-opacity":0,"circle-stroke-opacity-transition":B,...sn(X)}},"language-family-pins")}}function J(){const X=r();if(X)for(const Z of E)X.getLayer(Z)&&X.removeLayer(Z)}function j(X){const Z=r();if(!Z)return;const pe=[">",["get","peoplePraying"],0],Pe=X?["all",pe,X]:pe;for(const M of E)if(Z.getLayer(M))try{Z.setFilter(M,Pe)}catch{}}function re(){const X=r();if(X){if(z(),g&&(cancelAnimationFrame(g),g=null),b=!0,X.getLayer("language-family-pins"))try{X.setLayoutProperty("language-family-pins","circle-sort-key",["case",[">=",["get","peoplePraying"],ln],1,[">",["get","peoplePraying"],0],1,3])}catch{}Te(X),_e()}}function _e(){g&&(cancelAnimationFrame(g),g=null);const X=++u;let Z=performance.now(),pe=-1/0;function Pe(M){if(!b||X!==u)return;const I=r();if(!I||!E.some(Q=>I.getLayer(Q))){g=null;return}if(M-pe"u")return;const Z=typeof X.getContainer=="function"?X.getContainer():null;if(Z)try{A=new IntersectionObserver(pe=>{for(const Pe of pe)_=Pe.isIntersecting},{threshold:0}),A.observe(Z)}catch{A=null,_=!0}}function xe(){if(A){try{A.disconnect()}catch{}A=null}_=!0}function Se(){b=!1,g&&(cancelAnimationFrame(g),g=null),xe();try{J();const X=r();X&&X.getLayer("language-family-pins")&&X.setLayoutProperty("language-family-pins","circle-sort-key",void 0)}catch{}}return{layersAdded:i,regionIsoMap:l,addLanguageFamilyLayer:c,addRegionsLayer:d,addFamilyConnectionLines:p,removeFamilyConnectionLines:f,updateLayerSource:x,removeLayer:S,hasLayer:y,setPaintProperty:h,mapEvents:s,startPrayerGlow:re,stopPrayerGlow:Se,syncGlowFilter:j,cleanup:$}}function ao(e,t,o){if(!Array.isArray(e))return e;switch(e[0]){case"get":return t==null?void 0:t[e[1]];case"literal":return e[1];case"feature-state":return o==null?void 0:o[e[1]];case"has":return t!=null&&e[1]in t;case"!has":return t==null||!(e[1]in t);case"!":return!ao(e[1],t,o);case"coalesce":{for(let a=1;a2){const s=Number(ao(e[2],t,o));return Number.isFinite(s)?s:0}return NaN}case"to-string":{const a=ao(e[1],t,o);return a==null?"":String(a)}case"to-boolean":return!!ao(e[1],t,o);case"slice":{const a=ao(e[1],t,o),r=ao(e[2],t,o),s=e.length>3?ao(e[3],t,o):void 0;return typeof a!="string"?"":s!=null?a.slice(r,s):a.slice(r)}default:return e}}function er(e,t,o){if(e===!0)return!0;if(e===!1)return!1;if(!Array.isArray(e))return!!e;const n=e[0];if(n==="all"){for(let a=1;a"||n===">="||n==="<"||n==="<="){const a=typeof e[1]=="string"?t==null?void 0:t[e[1]]:ao(e[1],t,o),r=ao(e[2],t,o);switch(n){case"==":return a===r||a==null&&r==null;case"!=":return!(a===r||a==null&&r==null);case">":return a>r;case">=":return a>=r;case"<":return al!=null&&l!==!0),s=typeof(e==null?void 0:e.getFeatureState)=="function",i=l=>{if(!(!s||l==null))try{return e.getFeatureState({source:t,id:l})}catch{return}};for(const l of yi(e,t)){const c=l&&l.properties;if(!c)continue;const d=c[n],p=i(d);r.length&&!r.every(f=>er(f,c,p))||d!=null&&a.add(String(d))}return a}const yv=Object.freeze(Object.defineProperty({__proto__:null,matchesExpression:er,readSourceFeatures:yi,resolveExpr:ao,selectedPinIds:_v},Symbol.toStringTag,{value:"Module"})),Uo={style:"mapbox://styles/mapbox/standard",center:[20,10],zoom:1.8,minZoom:.5,maxZoom:22,pitch:20,bearing:0,projection:"mercator",renderWorldCopies:!0};function vv(e={}){const{getMap:t=()=>null,mapId:o="unknown",mapStore:n=null,regionsGeoData:a=null,defaultCenter:r=(Uo==null?void 0:Uo.center)||[20,10],defaultZoom:s=Uo==null?void 0:Uo.zoom}=e,i=()=>{try{return typeof window<"u"&&!!window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}catch{return!1}};function l(w){const B=i(),_=(A={})=>{const N={};for(const F of["center","zoom","bearing","pitch","padding"])A[F]!==void 0&&(N[F]=A[F]);return w.jumpTo(N)};return{flyTo:A=>B?_(A):w.flyTo(A),easeTo:A=>B?_(A):w.easeTo(A),fitBounds:(A,N={})=>w.fitBounds(A,B?{...N,animate:!1,duration:0}:N)}}const c={speed:.5,essential:!0,curve:1.2};function d(w,B,_={x:150,y:0}){const A=t();if(!A)return w;try{const N=A.getCanvas(),F=N.width,K=N.height,z=A.project(w),J=window.devicePixelRatio||1,j=(_.x||0)*J,re=(_.y||0)*J,_e={x:z.x-j,y:z.y-re},Te=A.unproject(_e);return[Te.lng,Te.lat]}catch{return w}}function p(w,B=[]){const _=t();if(!_)return;let A=null,N=5;const F=B.filter(z=>z.languageFamily===w);if(F.length>0){let z=1/0,J=-1/0,j=1/0,re=-1/0;if(F.forEach(_e=>{_e.longitude&&_e.latitude&&(z=Math.min(z,_e.longitude),J=Math.max(J,_e.longitude),j=Math.min(j,_e.latitude),re=Math.max(re,_e.latitude))}),z!==1/0){A=[(z+J)/2,(j+re)/2];const _e=J-z,Te=re-j,xe=Math.max(_e,Te);xe>50?N=2:xe>20?N=3:xe>10?N=4:xe>5?N=5:N=6}}if(!A)return;const K=d(A);l(_).flyTo({center:K,zoom:N,...c})}function f(w){const B=t();if(!B)return;let _=null,A=4;const N=uv(w);if(N)_=N.center,A=N.zoom||4;else if(a!=null&&a.features){const K=a.features.find(z=>{var J,j;return((J=z.properties)==null?void 0:J.region)===w||((j=z.properties)==null?void 0:j.name)===w});K&&(_=x(K))}if(!_)return;const F=d(_);l(B).flyTo({center:F,zoom:A,...c})}function x(w){if(!w||!w.geometry)return null;const{type:B,coordinates:_}=w.geometry;let A=[];if(B==="Polygon"?A=_[0]||[]:B==="MultiPolygon"&&_.forEach(K=>{A=A.concat(K[0]||[])}),A.length===0)return null;let N=0,F=0;return A.forEach(K=>{N+=K[0],F+=K[1]}),[N/A.length,F/A.length]}function S(w,B={}){const _=t();if(!_)return;const A={center:w,...c,...B};l(_).flyTo(A)}function y(w,B,_={}){const A=t();if(!A||(w==null?void 0:w.longitude)==null||(w==null?void 0:w.latitude)==null)return;const N=B??Math.min(A.getZoom()+2,8);S([w.longitude,w.latitude],{..._,zoom:N})}function h(w,B={top:40,right:40,bottom:40,left:40},_={}){const A=t();if(!A||!w)return;const N=_.maxZoom??4,F=_.duration??900;l(A).fitBounds(w,{padding:B,maxZoom:N,duration:F,...c,..._})}function $(){const w=t();w&&l(w).flyTo({center:r,zoom:s,...c})}const g=80,b=800,u=5,v=5,m=110,k=1.2;function E(w){const B=w.filter(Number.isFinite).slice().sort((Pe,M)=>Pe-M),_=B.length;if(!_)return null;let A=-1,N=0;for(let Pe=0;Pe<_;Pe++){const I=(Pe+1<_?B[Pe+1]:B[0]+360)-B[Pe];I>A&&(A=I,N=Pe)}const F=(N+1)%_,K=new Array(_);for(let Pe=0;Pe<_;Pe++){let M=B[(F+Pe)%_];Pe>0&&M((Pe+180)%360+360)%360-180,Te=_e(j),xe=24,Se=360/xe,X=new Array(xe).fill(0);for(const Pe of B){let M=Math.floor(((Pe+180)%360+360)%360/Se);M>=xe&&(M=xe-1),X[M]++}let Z=0;for(let Pe=1;PeX[Z]&&(Z=Pe);return{center:_e(-180+(Z+.5)*Se),minLng:Te,maxLng:Te+(re-j),span:re-j}}function P(w){try{const B=w.getContainer&&w.getContainer().clientWidth||0,_=B>0?Math.log2(B/512):k,A=typeof w.getMinZoom=="function"?w.getMinZoom():_;return Math.max(A,_)}catch{return k}}function U(w,B,_,A){l(w).easeTo({center:[B,(_+A)/2],zoom:P(w),duration:b,essential:!0})}function V(w,B,_){if(_>m)return!0;try{const A=typeof w.cameraForBounds=="function"?w.cameraForBounds(B,{padding:g,maxZoom:u}):null;return A==null?!0:typeof A.zoom=="number"&&A.zoom<=P(w)+.05}catch{return!1}}function H(w,B={}){var X,Z;const _=t();if(!_||!w)return;if(B.regionPolygonSource&&_.getSource(B.regionPolygonSource)){const pe=yi(_,B.regionPolygonSource),Pe=w.id??w.label,M=pe.find(I=>{const D=(I==null?void 0:I.properties)||{};return D.region===Pe||D.name===Pe||D.id===Pe});if(M){const I=[];let D=1/0,Q=-1/0;const ie=$e=>{for(const le of $e)Array.isArray(le[0])?ie(le):Number.isFinite(le[0])&&Number.isFinite(le[1])&&(I.push(le[0]),le[1]Q&&(Q=le[1]))};(X=M.geometry)!=null&&X.coordinates&&ie(M.geometry.coordinates);const G=E(I);if(G&&Number.isFinite(D)){const $e=[[G.minLng,D],[G.maxLng,Q]];V(_,$e,G.span)?U(_,G.center,D,Q):l(_).fitBounds($e,{padding:g,maxZoom:u,duration:b,essential:!0});return}}}const A=B.sourceId??"language-families";if(!_.getSource(A))return;const N=B.matchExpr??w.filter;if(!N)return;const F=yi(_,A);if(!F.length)return;const K=[];let z=1/0,J=-1/0,j=0,re=0,_e=0;const Te=new Set;for(const pe of F){const Pe=pe==null?void 0:pe.properties;if(!er(N,Pe))continue;const M=Pe==null?void 0:Pe.uniqueId;if(M!=null){if(Te.has(M))continue;Te.add(M)}const I=(Z=pe.geometry)==null?void 0:Z.coordinates;if(!Array.isArray(I)||I.length<2)continue;const D=I[0],Q=I[1];!Number.isFinite(D)||!Number.isFinite(Q)||(j===0&&(re=D,_e=Q),K.push(D),QJ&&(J=Q),j++)}if(j===0)return;if(j===1){l(_).flyTo({center:[re,_e],zoom:v,duration:b,essential:!0});return}const xe=E(K)||{center:0,minLng:0,maxLng:0,span:0},Se=[[xe.minLng,z],[xe.maxLng,J]];if(V(_,Se,xe.span)){U(_,xe.center,z,J);return}try{l(_).fitBounds(Se,{padding:g,maxZoom:u,duration:b,essential:!0})}catch{}}return{getOffsetCenter:d,slowFlyToFamily:p,slowFlyToRegion:f,flyTo:S,flyToCoords:y,fitBounds:h,resetView:$,zoomToLegendRow:H,calculateRegionCenterFromPolygon:x}}const vi="#1a1a1a",Rn="selected-pin-highlight";function wv(e=vi){const t=document.createElement("div");t.className="map-go-pin-wrapper";const o=`pinGrad-${Math.random().toString(36).slice(2,8)}`;return t.innerHTML=`