75 lines
457 KiB
JavaScript
75 lines
457 KiB
JavaScript
(function(){"use strict";const fb="modulepreload",hb=function(e){return"/"+e},$b={},Vl=function(t,o,n){let a=Promise.resolve();function s(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&s(i.reason);return t().catch(s)})};/**
|
||
* @vue/shared v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function ss(e){const t=Object.create(null);for(const o of e.split(","))t[o]=1;return o=>o in t}const de={},so=[],ct=()=>{},ma=()=>!1,en=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tn=e=>e.startsWith("onUpdate:"),Pe=Object.assign,as=(e,t)=>{const o=e.indexOf(t);o>-1&&e.splice(o,1)},jl=Object.prototype.hasOwnProperty,le=(e,t)=>jl.call(e,t),K=Array.isArray,Mt=e=>Ao(e)==="[object Map]",on=e=>Ao(e)==="[object Set]",_a=e=>Ao(e)==="[object Date]",ee=e=>typeof e=="function",$e=e=>typeof e=="string",Ze=e=>typeof e=="symbol",ce=e=>e!==null&&typeof e=="object",ba=e=>(ce(e)||ee(e))&&ee(e.then)&&ee(e.catch),ya=Object.prototype.toString,Ao=e=>ya.call(e),zl=e=>Ao(e).slice(8,-1),nn=e=>Ao(e)==="[object Object]",sn=e=>$e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xo=ss(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),an=e=>{const t=Object.create(null);return o=>t[o]||(t[o]=e(o))},Wl=/-\w/g,Ce=an(e=>e.replace(Wl,t=>t.slice(1).toUpperCase())),Hl=/\B([A-Z])/g,Je=an(e=>e.replace(Hl,"-$1").toLowerCase()),rn=an(e=>e.charAt(0).toUpperCase()+e.slice(1)),rs=an(e=>e?`on${rn(e)}`:""),ut=(e,t)=>!Object.is(e,t),ln=(e,...t)=>{for(let o=0;o<e.length;o++)e[o](...t)},va=(e,t,o,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:o})},is=e=>{const t=parseFloat(e);return isNaN(t)?e:t},wa=e=>{const t=$e(e)?Number(e):NaN;return isNaN(t)?e:t};let La;const cn=()=>La||(La=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ls(e){if(K(e)){const t={};for(let o=0;o<e.length;o++){const n=e[o],a=$e(n)?Yl(n):ls(n);if(a)for(const s in a)t[s]=a[s]}return t}else if($e(e)||ce(e))return e}const ql=/;(?![^(]*\))/g,Xl=/:([^]+)/,Kl=/\/\*[^]*?\*\//g;function Yl(e){const t={};return e.replace(Kl,"").split(ql).forEach(o=>{if(o){const n=o.split(Xl);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ao(e){let t="";if($e(e))t=e;else if(K(e))for(let o=0;o<e.length;o++){const n=ao(e[o]);n&&(t+=n+" ")}else if(ce(e))for(const o in e)e[o]&&(t+=o+" ");return t.trim()}const Zl=ss("itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly");function Pa(e){return!!e||e===""}function Jl(e,t){if(e.length!==t.length)return!1;let o=!0;for(let n=0;o&&n<e.length;n++)o=un(e[n],t[n]);return o}function Sa(e,t){if(e.size!==t.size)return!1;const o=Array.from(t),n=new Uint8Array(o.length);for(const a of e){let s=-1;for(let r=0;r<o.length;r++)if(!n[r]&&un(a,o[r])){s=r;break}if(s<0)return!1;n[s]=1}return!0}function un(e,t){if(e===t)return!0;let o=_a(e),n=_a(t);if(o||n)return o&&n?e.getTime()===t.getTime():!1;if(o=Ze(e),n=Ze(t),o||n)return e===t;if(o=K(e),n=K(t),o||n)return o&&n?Jl(e,t):!1;if(o=ce(e),n=ce(t),o||n){if(!o||!n)return!1;if(o=Mt(e),n=Mt(t),o||n||(o=on(e),n=on(t),o||n))return o&&n?Sa(e,t):!1;const a=Object.keys(e).length,s=Object.keys(t).length;if(a!==s)return!1;for(const r in e){const i=e.hasOwnProperty(r),l=t.hasOwnProperty(r);if(i&&!l||!i&&l||!un(e[r],t[r]))return!1}}return String(e)===String(t)}const Aa=e=>!!(e&&e.__v_isRef===!0),ye=e=>$e(e)?e:e==null?"":K(e)||ce(e)&&(e.toString===ya||!ee(e.toString))?Aa(e)?ye(e.value):JSON.stringify(e,xa,2):String(e),xa=(e,t)=>Aa(t)?xa(e,t.value):Mt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((o,[n,a],s)=>(o[cs(n,s)+" =>"]=a,o),{})}:on(t)?{[`Set(${t.size})`]:[...t.values()].map(o=>cs(o))}:Ze(t)?cs(t):ce(t)&&!K(t)&&!nn(t)?String(t):t,cs=(e,t="")=>{var o;return Ze(e)?`Symbol(${(o=e.description)!=null?o:t})`:e};/**
|
||
* @vue/reactivity v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let Ee;class Ea{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&Ee&&(Ee.active?(this.parent=Ee,this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,o;if(this.scopes){const n=this.scopes.slice();for(t=0,o=n.length;t<o;t++)n[t].pause()}for(t=0,o=this.effects.length;t<o;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,o;if(this.scopes){const a=this.scopes.slice();for(t=0,o=a.length;t<o;t++)a[t].resume()}const n=this.effects.slice();for(t=0,o=n.length;t<o;t++)n[t].resume()}}run(t){if(this._active){const o=Ee;try{return Ee=this,t()}finally{Ee=o}}}on(){++this._on===1&&(this.prevScope=Ee,Ee=this)}off(){if(this._on>0&&--this._on===0){if(Ee===this)Ee=this.prevScope;else{let t=Ee;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let o,n;for(o=0,n=this.effects.length;o<n;o++)this.effects[o].stop();for(this.effects.length=0,o=0,n=this.cleanups.length;o<n;o++)this.cleanups[o]();if(this.cleanups.length=0,this.scopes){const a=this.scopes.slice();for(o=0,n=a.length;o<n;o++)a[o].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const a=this.parent.scopes.pop();a&&a!==this&&(this.parent.scopes[this.index]=a,a.index=this.index)}this.parent=void 0}}}function us(e){return new Ea(e)}function ka(){return Ee}function Ql(e,t=!1){Ee&&Ee.cleanups.push(e)}let ge;const ps=new WeakSet;class Ca{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Ee&&(Ee.active?Ee.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ps.has(this)&&(ps.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ta(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Fa(this),Oa(this);const t=ge,o=tt;ge=this,tt=!0;try{return this.fn()}finally{Na(this),ge=t,tt=o,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)hs(t);this.deps=this.depsTail=void 0,Fa(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ps.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){fs(this)&&this.run()}get dirty(){return fs(this)}}let Ra=0,Eo,ko;function Ta(e,t=!1){if(e.flags|=8,t){e.next=ko,ko=e;return}e.next=Eo,Eo=e}function ds(){Ra++}function gs(){if(--Ra>0)return;if(ko){let t=ko;for(ko=void 0;t;){const o=t.next;t.next=void 0,t.flags&=-9,t=o}}let e;for(;Eo;){let t=Eo;for(Eo=void 0;t;){const o=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=o}}if(e)throw e}function Oa(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Na(e){let t,o=e.depsTail,n=o;for(;n;){const a=n.prevDep;n.version===-1?(n===o&&(o=a),hs(n),ec(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=o}function fs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ia(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ia(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Co)||(e.globalVersion=Co,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fs(e))))return;e.flags|=2;const t=e.dep,o=ge,n=tt;ge=e,tt=!0;try{Oa(e);const a=e.fn(e._value);(t.version===0||ut(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ge=o,tt=n,Na(e),e.flags&=-3}}function hs(e,t=!1){const{dep:o,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),o.subs===e&&(o.subs=n,!n&&o.computed)){o.computed.flags&=-5;for(let s=o.computed.deps;s;s=s.nextDep)hs(s,!0)}!t&&!--o.sc&&o.map&&o.map.delete(o.key)}function ec(e){const{prevDep:t,nextDep:o}=e;t&&(t.nextDep=o,e.prevDep=void 0),o&&(o.prevDep=t,e.nextDep=void 0)}let tt=!0;const Ma=[];function pt(){Ma.push(tt),tt=!1}function dt(){const e=Ma.pop();tt=e===void 0?!0:e}function Fa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const o=ge;ge=void 0;try{t()}finally{ge=o}}}let Co=0;class tc{constructor(t,o){this.sub=t,this.dep=o,this.version=o.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class $s{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ge||!tt||ge===this.computed)return;let o=this.activeLink;if(o===void 0||o.sub!==ge)o=this.activeLink=new tc(ge,this),ge.deps?(o.prevDep=ge.depsTail,ge.depsTail.nextDep=o,ge.depsTail=o):ge.deps=ge.depsTail=o,Da(o);else if(o.version===-1&&(o.version=this.version,o.nextDep)){const n=o.nextDep;n.prevDep=o.prevDep,o.prevDep&&(o.prevDep.nextDep=n),o.prevDep=ge.depsTail,o.nextDep=void 0,ge.depsTail.nextDep=o,ge.depsTail=o,ge.deps===o&&(ge.deps=n)}return o}trigger(t){this.version++,Co++,this.notify(t)}notify(t){ds();try{for(let o=this.subs;o;o=o.prevSub)o.sub.notify()&&o.sub.dep.notify()}finally{gs()}}}function Da(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Da(n)}const o=e.dep.subs;o!==e&&(e.prevSub=o,o&&(o.nextSub=e)),e.dep.subs=e}}const pn=new WeakMap,Xt=Symbol(""),ms=Symbol(""),Ro=Symbol("");function Me(e,t,o){if(tt&&ge){let n=pn.get(e);n||pn.set(e,n=new Map);let a=n.get(o);a||(n.set(o,a=new $s),a.map=n,a.key=o),a.track()}}function vt(e,t,o,n,a,s){const r=pn.get(e);if(!r){Co++;return}const i=l=>{l&&l.trigger()};if(ds(),t==="clear")r.forEach(i);else{const l=K(e),c=l&&sn(o);if(l&&o==="length"){const u=Number(n);r.forEach((g,f)=>{(f==="length"||f===Ro||!Ze(f)&&f>=u)&&i(g)})}else switch((o!==void 0||r.has(void 0))&&i(r.get(o)),c&&i(r.get(Ro)),t){case"add":l?c&&i(r.get("length")):(i(r.get(Xt)),Mt(e)&&i(r.get(ms)));break;case"delete":l||(i(r.get(Xt)),Mt(e)&&i(r.get(ms)));break;case"set":Mt(e)&&i(r.get(Xt));break}}gs()}function oc(e,t){const o=pn.get(e);return o&&o.get(t)}function ro(e){const t=re(e);return t===e?t:(Me(t,"iterate",Ro),We(e)?t:t.map(ot))}function dn(e){return Me(e=re(e),"iterate",Ro),e}function gt(e,t){return Pt(e)?io(Lt(e)?ot(t):t):ot(t)}const nc={__proto__:null,[Symbol.iterator](){return _s(this,Symbol.iterator,e=>gt(this,e))},concat(...e){return ro(this).concat(...e.map(t=>K(t)?ro(t):t))},entries(){return _s(this,"entries",e=>(e[1]=gt(this,e[1]),e))},every(e,t){return wt(this,"every",e,t,void 0,arguments)},filter(e,t){return wt(this,"filter",e,t,o=>o.map(n=>gt(this,n)),arguments)},find(e,t){return wt(this,"find",e,t,o=>gt(this,o),arguments)},findIndex(e,t){return wt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return wt(this,"findLast",e,t,o=>gt(this,o),arguments)},findLastIndex(e,t){return wt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return wt(this,"forEach",e,t,void 0,arguments)},includes(...e){return bs(this,"includes",e)},indexOf(...e){return bs(this,"indexOf",e)},join(e){return ro(this).join(e)},lastIndexOf(...e){return bs(this,"lastIndexOf",e)},map(e,t){return wt(this,"map",e,t,void 0,arguments)},pop(){return To(this,"pop")},push(...e){return To(this,"push",e)},reduce(e,...t){return Ga(this,"reduce",e,t)},reduceRight(e,...t){return Ga(this,"reduceRight",e,t)},shift(){return To(this,"shift")},some(e,t){return wt(this,"some",e,t,void 0,arguments)},splice(...e){return To(this,"splice",e)},toReversed(){return ro(this).toReversed()},toSorted(e){return ro(this).toSorted(e)},toSpliced(...e){return ro(this).toSpliced(...e)},unshift(...e){return To(this,"unshift",e)},values(){return _s(this,"values",e=>gt(this,e))}};function _s(e,t,o){const n=dn(e),a=n[t]();return n!==e&&!We(e)&&(a._next=a.next,a.next=()=>{const s=a._next();return s.done||(s.value=o(s.value)),s}),a}const sc=Array.prototype;function wt(e,t,o,n,a,s){const r=dn(e),i=r!==e&&!We(e),l=r[t];if(l!==sc[t]){const g=l.apply(e,s);return i?ot(g):g}let c=o;r!==e&&(i?c=function(g,f){return o.call(this,gt(e,g),f,e)}:o.length>2&&(c=function(g,f){return o.call(this,g,f,e)}));const u=l.call(r,c,n);return i&&a?a(u):u}function Ga(e,t,o,n){const a=dn(e),s=a!==e&&!We(e);let r=o,i=!1;a!==e&&(s?(i=n.length===0,r=function(c,u,g){return i&&(i=!1,c=gt(e,c)),o.call(this,c,gt(e,u),g,e)}):o.length>3&&(r=function(c,u,g){return o.call(this,c,u,g,e)}));const l=a[t](r,...n);return i?gt(e,l):l}function bs(e,t,o){const n=re(e);Me(n,"iterate",Ro);const a=n[t](...o);return(a===-1||a===!1)&&_n(o[0])?(o[0]=re(o[0]),n[t](...o)):a}function To(e,t,o=[]){pt(),ds();const n=re(e)[t].apply(e,o);return gs(),dt(),n}const ac=ss("__proto__,__v_isRef,__isVue"),Ua=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ze));function rc(e){Ze(e)||(e=String(e));const t=re(this);return Me(t,"has",e),t.hasOwnProperty(e)}class Ba{constructor(t=!1,o=!1){this._isReadonly=t,this._isShallow=o}get(t,o,n){if(o==="__v_skip")return t.__v_skip;const a=this._isReadonly,s=this._isShallow;if(o==="__v_isReactive")return!a;if(o==="__v_isReadonly")return a;if(o==="__v_isShallow")return s;if(o==="__v_raw")return n===(a?s?qa:Ha:s?Wa:za).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=K(t);if(!a){let l;if(r&&(l=nc[o]))return l;if(o==="hasOwnProperty")return rc}const i=Reflect.get(t,o,ve(t)?t:n);if((Ze(o)?Ua.has(o):ac(o))||(a||Me(t,"get",o),s))return i;if(ve(i)){const l=r&&sn(o)?i:i.value;return a&&ce(l)?vs(l):l}return ce(i)?a?vs(i):$n(i):i}}class Va extends Ba{constructor(t=!1){super(!1,t)}set(t,o,n,a){let s=t[o];const r=K(t)&&sn(o);if(!this._isShallow){const c=Pt(s);if(!We(n)&&!Pt(n)&&(s=re(s),n=re(n)),!r&&ve(s)&&!ve(n))return c||(s.value=n),!0}const i=r?Number(o)<t.length:le(t,o),l=Reflect.set(t,o,n,ve(t)?t:a);return t===re(a)&&l&&(i?ut(n,s)&&vt(t,"set",o,n):vt(t,"add",o,n)),l}deleteProperty(t,o){const n=le(t,o);t[o];const a=Reflect.deleteProperty(t,o);return a&&n&&vt(t,"delete",o,void 0),a}has(t,o){const n=Reflect.has(t,o);return(!Ze(o)||!Ua.has(o))&&Me(t,"has",o),n}ownKeys(t){return Me(t,"iterate",K(t)?"length":Xt),Reflect.ownKeys(t)}}class ja extends Ba{constructor(t=!1){super(!0,t)}set(t,o){return!0}deleteProperty(t,o){return!0}}const ic=new Va,lc=new ja,cc=new Va(!0),uc=new ja(!0),ys=e=>e,gn=e=>Reflect.getPrototypeOf(e);function pc(e,t,o){return function(...n){const a=this.__v_raw,s=re(a),r=Mt(s),i=e==="entries"||e===Symbol.iterator&&r,l=e==="keys"&&r,c=a[e](...n),u=o?ys:t?io:ot;return!t&&Me(s,"iterate",l?ms:Xt),Pe(Object.create(c),{next(){const{value:g,done:f}=c.next();return f?{value:g,done:f}:{value:i?[u(g[0]),u(g[1])]:u(g),done:f}}})}}function fn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function dc(e,t){const o={get(a){const s=this.__v_raw,r=re(s),i=re(a);e||(ut(a,i)&&Me(r,"get",a),Me(r,"get",i));const{has:l}=gn(r),c=t?ys:e?io:ot;if(l.call(r,a))return c(s.get(a));if(l.call(r,i))return c(s.get(i));s!==r&&s.get(a)},get size(){const a=this.__v_raw;return!e&&Me(re(a),"iterate",Xt),a.size},has(a){const s=this.__v_raw,r=re(s),i=re(a);return e||(ut(a,i)&&Me(r,"has",a),Me(r,"has",i)),a===i?s.has(a):s.has(a)||s.has(i)},forEach(a,s){const r=this,i=r.__v_raw,l=re(i),c=t?ys:e?io:ot;return!e&&Me(l,"iterate",Xt),i.forEach((u,g)=>a.call(s,c(u),c(g),r))}};return Pe(o,e?{add:fn("add"),set:fn("set"),delete:fn("delete"),clear:fn("clear")}:{add(a){const s=re(this),r=gn(s),i=re(a),l=!t&&!We(a)&&!Pt(a)?i:a;return r.has.call(s,l)||ut(a,l)&&r.has.call(s,a)||ut(i,l)&&r.has.call(s,i)||(s.add(l),vt(s,"add",l,l)),this},set(a,s){!t&&!We(s)&&!Pt(s)&&(s=re(s));const r=re(this),{has:i,get:l}=gn(r);let c=i.call(r,a);c||(a=re(a),c=i.call(r,a));const u=l.call(r,a);return r.set(a,s),c?ut(s,u)&&vt(r,"set",a,s):vt(r,"add",a,s),this},delete(a){const s=re(this),{has:r,get:i}=gn(s);let l=r.call(s,a);l||(a=re(a),l=r.call(s,a)),i&&i.call(s,a);const c=s.delete(a);return l&&vt(s,"delete",a,void 0),c},clear(){const a=re(this),s=a.size!==0,r=a.clear();return s&&vt(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{o[a]=pc(a,e,t)}),o}function hn(e,t){const o=dc(e,t);return(n,a,s)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(le(o,a)&&a in n?o:n,a,s)}const gc={get:hn(!1,!1)},fc={get:hn(!1,!0)},hc={get:hn(!0,!1)},$c={get:hn(!0,!0)},za=new WeakMap,Wa=new WeakMap,Ha=new WeakMap,qa=new WeakMap;function mc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function $n(e){return Pt(e)?e:mn(e,!1,ic,gc,za)}function _c(e){return mn(e,!1,cc,fc,Wa)}function vs(e){return mn(e,!0,lc,hc,Ha)}function _b(e){return mn(e,!0,uc,$c,qa)}function mn(e,t,o,n,a){if(!ce(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const s=a.get(e);if(s)return s;const r=mc(zl(e));if(r===0)return e;const i=new Proxy(e,r===2?n:o);return a.set(e,i),i}function Lt(e){return Pt(e)?Lt(e.__v_raw):!!(e&&e.__v_isReactive)}function Pt(e){return!!(e&&e.__v_isReadonly)}function We(e){return!!(e&&e.__v_isShallow)}function _n(e){return e?!!e.__v_raw:!1}function re(e){const t=e&&e.__v_raw;return t?re(t):e}function Oo(e){return!le(e,"__v_skip")&&Object.isExtensible(e)&&va(e,"__v_skip",!0),e}const ot=e=>ce(e)?$n(e):e,io=e=>ce(e)?vs(e):e;function ve(e){return e?e.__v_isRef===!0:!1}function He(e){return Ka(e,!1)}function Xa(e){return Ka(e,!0)}function Ka(e,t){return ve(e)?e:new bc(e,t)}class bc{constructor(t,o){this.dep=new $s,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=o?t:re(t),this._value=o?t:ot(t),this.__v_isShallow=o}get value(){return this.dep.track(),this._value}set value(t){const o=this._rawValue,n=this.__v_isShallow||We(t)||Pt(t);t=n?t:re(t),ut(t,o)&&(this._rawValue=t,this._value=n?t:ot(t),this.dep.trigger())}}function bn(e){return ve(e)?e.value:e}const yc={get:(e,t,o)=>t==="__v_raw"?e:bn(Reflect.get(e,t,o)),set:(e,t,o,n)=>{const a=e[t];return ve(a)&&!ve(o)?(a.value=o,!0):Reflect.set(e,t,o,n)}};function Ya(e){return Lt(e)?e:new Proxy(e,yc)}function vc(e){const t=K(e)?new Array(e.length):{};for(const o in e)t[o]=Lc(e,o);return t}class wc{constructor(t,o,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Ze(o)?o:String(o),this._raw=re(t);let a=!0,s=t;if(!K(t)||Ze(this._key)||!sn(this._key))do a=!_n(s)||We(s);while(a&&(s=s.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=bn(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ve(this._raw[this._key])){const o=this._object[this._key];if(ve(o)){o.value=t;return}}this._object[this._key]=t}get dep(){return oc(this._raw,this._key)}}function Lc(e,t,o){return new wc(e,t,o)}class Pc{constructor(t,o,n){this.fn=t,this.setter=o,this._value=void 0,this.dep=new $s(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Co-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!o,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ge!==this)return Ta(this,!0),!0}get value(){const t=this.dep.track();return Ia(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Sc(e,t,o=!1){let n,a;return ee(e)?n=e:(n=e.get,a=e.set),new Pc(n,a,o)}const yn={},vn=new WeakMap;let Kt;function Ac(e,t=!1,o=Kt){if(o){let n=vn.get(o);n||vn.set(o,n=[]),n.push(e)}}function xc(e,t,o=de){const{immediate:n,deep:a,once:s,scheduler:r,augmentJob:i,call:l}=o,c=b=>a?b:We(b)||a===!1||a===0?St(b,1):St(b);let u,g,f,y,E=!1,L=!1;if(ve(e)?(g=()=>e.value,E=We(e)):Lt(e)?(g=()=>c(e),E=!0):K(e)?(L=!0,E=e.some(b=>Lt(b)||We(b)),g=()=>e.map(b=>{if(ve(b))return b.value;if(Lt(b))return c(b);if(ee(b))return l?l(b,2):b()})):ee(e)?t?g=l?()=>l(e,2):e:g=()=>{if(f){pt();try{f()}finally{dt()}}const b=Kt;Kt=u;try{return l?l(e,3,[y]):e(y)}finally{Kt=b}}:g=ct,t&&a){const b=g,S=a===!0?1/0:a;g=()=>St(b(),S)}const N=ka(),O=()=>{u.stop(),N&&N.active&&as(N.effects,u)};if(s&&t){const b=t;t=(...S)=>{const _=b(...S);return O(),_}}let F=L?new Array(e.length).fill(yn):yn;const v=b=>{if(!(!(u.flags&1)||!u.dirty&&!b))if(t){const S=u.run();if(b||a||E||(L?S.some((_,T)=>ut(_,F[T])):ut(S,F))){f&&f();const _=Kt;Kt=u;try{const T=[S,F===yn?void 0:L&&F[0]===yn?[]:F,y];F=S,l?l(t,3,T):t(...T)}finally{Kt=_}}}else u.run()};return i&&i(v),u=new Ca(g),u.scheduler=r?()=>r(v,!1):v,y=b=>Ac(b,!1,u),f=u.onStop=()=>{const b=vn.get(u);if(b){if(l)l(b,4);else for(const S of b)S();vn.delete(u)}},t?n?v(!0):F=u.run():r?r(v.bind(null,!0),!0):u.run(),O.pause=u.pause.bind(u),O.resume=u.resume.bind(u),O.stop=O,O}function St(e,t=1/0,o){if(t<=0||!ce(e)||e.__v_skip||(o=o||new Map,(o.get(e)||0)>=t))return e;if(o.set(e,t),t--,ve(e))St(e.value,t,o);else if(K(e))for(let n=0;n<e.length;n++)St(e[n],t,o);else if(on(e)||Mt(e))e.forEach(n=>{St(n,t,o)});else if(nn(e)){for(const n in e)St(e[n],t,o);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&St(e[n],t,o)}return e}/**
|
||
* @vue/runtime-core v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/const No=[];let ws=!1;function bb(e,...t){if(ws)return;ws=!0,pt();const o=No.length?No[No.length-1].component:null,n=o&&o.appContext.config.warnHandler,a=Ec();if(n)lo(n,o,11,[e+t.map(s=>{var r,i;return(i=(r=s.toString)==null?void 0:r.call(s))!=null?i:JSON.stringify(s)}).join(""),o&&o.proxy,a.map(({vnode:s})=>`at <${Zr(o,s.type)}>`).join(`
|
||
`),a]);else{const s=[`[Vue warn]: ${e}`,...t];a.length&&s.push(`
|
||
`,...kc(a)),console.warn(...s)}dt(),ws=!1}function Ec(){let e=No[No.length-1];if(!e)return[];const t=[];for(;e;){const o=t[0];o&&o.vnode===e?o.recurseCount++:t.push({vnode:e,recurseCount:0});const n=e.component&&e.component.parent;e=n&&n.vnode}return t}function kc(e){const t=[];return e.forEach((o,n)=>{t.push(...n===0?[]:[`
|
||
`],...Cc(o))}),t}function Cc({vnode:e,recurseCount:t}){const o=t>0?`... (${t} recursive calls)`:"",n=e.component?e.component.parent==null:!1,a=` at <${Zr(e.component,e.type,n)}`,s=">"+o;return e.props?[a,...Rc(e.props),s]:[a+s]}function Rc(e){const t=[],o=Object.keys(e);return o.slice(0,3).forEach(n=>{t.push(...Za(n,e[n]))}),o.length>3&&t.push(" ..."),t}function Za(e,t,o){return $e(t)?(t=JSON.stringify(t),o?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?o?t:[`${e}=${t}`]:ve(t)?(t=Za(e,re(t.value),!0),o?t:[`${e}=Ref<`,t,">"]):ee(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=re(t),o?t:[`${e}=`,t])}function lo(e,t,o,n){try{return n?e(...n):e()}catch(a){Io(a,t,o)}}function nt(e,t,o,n){if(ee(e)){const a=lo(e,t,o,n);return a&&ba(a)&&a.catch(s=>{Io(s,t,o)}),a}if(K(e)){const a=[];for(let s=0;s<e.length;s++)a.push(nt(e[s],t,o,n));return a}}function Io(e,t,o,n=!0){const a=t?t.vnode:null,{errorHandler:s,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||de;if(t){let i=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${o}`;for(;i;){const u=i.ec;if(u){for(let g=0;g<u.length;g++)if(u[g](e,l,c)===!1)return}i=i.parent}if(s){pt(),lo(s,null,10,[e,l,c]),dt();return}}Tc(e,o,a,n,r)}function Tc(e,t,o,n=!0,a=!1){if(a)throw e;console.error(e)}const De=[];let ft=-1;const co=[];let Ft=null,uo=0;const Ja=Promise.resolve();let wn=null;function Ln(e){const t=wn||Ja;return e?t.then(this?e.bind(this):e):t}function Oc(e){let t=ft+1,o=De.length;for(;t<o;){const n=t+o>>>1,a=De[n],s=Mo(a);s<e||s===e&&a.flags&2?t=n+1:o=n}return t}function Ls(e){if(!(e.flags&1)){const t=Mo(e),o=De[De.length-1];!o||!(e.flags&2)&&t>=Mo(o)?De.push(e):De.splice(Oc(t),0,e),e.flags|=1,Qa()}}function Qa(){wn||(wn=Ja.then(or))}function Nc(e){if(!K(e))Ft&&e.id===-1?Ft.splice(uo+1,0,e):e.flags&1||(co.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)co.push(e[t]);Qa()}function er(e,t,o=ft+1){for(;o<De.length;o++){const n=De[o];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;De.splice(o,1),o--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function tr(e){if(co.length){const t=[...new Set(co)].sort((o,n)=>Mo(o)-Mo(n));if(co.length=0,Ft){for(let o=0;o<t.length;o++)Ft.push(t[o]);return}for(Ft=t,uo=0;uo<Ft.length;uo++){const o=Ft[uo];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}Ft=null,uo=0}}const Mo=e=>e.id==null?e.flags&2?-1:1/0:e.id;function or(e){try{for(ft=0;ft<De.length;ft++){const t=De[ft];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),lo(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;ft<De.length;ft++){const t=De[ft];t&&(t.flags&=-2)}ft=-1,De.length=0,tr(),wn=null,(De.length||co.length)&&or()}}let qe=null,nr=null;function Pn(e){const t=qe;return qe=e,nr=e&&e.type.__scopeId||null,t}function Ic(e,t=qe,o){if(!t||e._n)return e;const n=(...a)=>{n._d&&In(-1);const s=Pn(t),r=Qt.length;let i;try{i=e(...a)}finally{for(let l=Qt.length;l>r;l--)jr();Pn(s),n._d&&In(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function sr(e,t){if(qe===null)return e;const o=Un(qe),n=e.dirs||(e.dirs=[]);for(let a=0;a<t.length;a++){let[s,r,i,l=de]=t[a];s&&(ee(s)&&(s={mounted:s,updated:s}),s.deep&&St(r),n.push({dir:s,instance:o,value:r,oldValue:void 0,arg:i,modifiers:l}))}return e}function Yt(e,t,o,n){const a=e.dirs,s=t&&t.dirs;for(let r=0;r<a.length;r++){const i=a[r];s&&(i.oldValue=s[r].value);let l=i.dir[n];l&&(pt(),nt(l,o,8,[e.el,i,e,t]),dt())}}function ht(e,t){if(Oe){let o=Oe.provides;const n=Oe.parent&&Oe.parent.provides;n===o&&(o=Oe.provides=Object.create(n)),o[e]=t}}function st(e,t,o=!1){const n=kt();if(n||Zt){let a=Zt?Zt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(a&&e in a)return a[e];if(arguments.length>1)return o&&ee(t)?t.call(n&&n.proxy):t}}function Mc(){return!!(kt()||Zt)}const Fc=Symbol.for("v-scx"),Dc=()=>st(Fc);function Gc(e,t){return Ps(e,null,t)}function Dt(e,t,o){return Ps(e,t,o)}function Ps(e,t,o=de){const{immediate:n,deep:a,flush:s,once:r}=o,i=Pe({},o),l=t&&n||!t&&s!=="post";let c;if(go){if(s==="sync"){const y=Dc();c=y.__watcherHandles||(y.__watcherHandles=[])}else if(!l){const y=()=>{};return y.stop=ct,y.resume=ct,y.pause=ct,y}}const u=Oe;i.call=(y,E,L)=>nt(y,u,E,L);let g=!1;s==="post"?i.scheduler=y=>{je(y,u&&u.suspense)}:s!=="sync"&&(g=!0,i.scheduler=(y,E)=>{E?y():Ls(y)}),i.augmentJob=y=>{t&&(y.flags|=4),g&&(y.flags|=2,u&&(y.id=u.uid,y.i=u))};const f=xc(e,t,i);return go&&(c?c.push(f):l&&f()),f}function Uc(e,t,o){const n=this.proxy,a=$e(e)?e.includes(".")?ar(n,e):()=>n[e]:e.bind(n,n);let s;ee(t)?s=t:(s=t.handler,o=t);const r=qo(this),i=Ps(a,s.bind(n),o);return r(),i}function ar(e,t){const o=t.split(".");return()=>{let n=e;for(let a=0;a<o.length&&n;a++)n=n[o[a]];return n}}const Bc=Symbol("_vte"),Sn=e=>e.__isTeleport,Ss=Symbol("_leaveCb");function Vc(e){let t=e[0];if(e.length>1){for(const o of e)if(o.type!==xt){t=o;break}}return t}function rr(e){if(!En(e))return Sn(e.type)&&e.children?Vc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:o}=e;if(o){if(t&16)return o[0];if(t&32&&ee(o.default))return o.default()}}function As(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const o=e.component.subTree;As(Sn(o.type)&&rr(o)||o,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Fo(e,t){return ee(e)?Pe({name:e.name},t,{setup:e}):e}function xs(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ir(e,t){let o;return!!((o=Object.getOwnPropertyDescriptor(e,t))&&!o.configurable)}const An=new WeakMap;function Do(e,t,o,n,a=!1){if(K(e)){e.forEach((L,N)=>Do(L,t&&(K(t)?t[N]:t),o,n,a));return}if(Go(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Do(e,t,o,n.component.subTree);return}const s=n.shapeFlag&4?Un(n.component):n.el,r=a?null:s,{i,r:l}=e,c=t&&t.r,u=i.refs===de?i.refs={}:i.refs,g=i.setupState,f=re(g),y=g===de?ma:L=>ir(u,L)?!1:le(f,L),E=(L,N)=>!(N&&ir(u,N));if(c!=null&&c!==l){if(lr(t),$e(c))u[c]=null,y(c)&&(g[c]=null);else if(ve(c)){const L=t;E(c,L.k)&&(c.value=null),L.k&&(u[L.k]=null)}}if(ee(l))lo(l,i,12,[r,u]);else{const L=$e(l),N=ve(l);if(L||N){const O=()=>{if(e.f){const F=L?y(l)?g[l]:u[l]:E()||!e.k?l.value:u[e.k];if(a)K(F)&&as(F,s);else if(K(F))F.includes(s)||F.push(s);else if(L)u[l]=[s],y(l)&&(g[l]=u[l]);else{const v=[s];E(l,e.k)&&(l.value=v),e.k&&(u[e.k]=v)}}else L?(u[l]=r,y(l)&&(g[l]=r)):N&&(E(l,e.k)&&(l.value=r),e.k&&(u[e.k]=r))};if(r){const F=()=>{O(),An.delete(e)};F.id=-1,An.set(e,F),je(F,o)}else lr(e),O()}}}function lr(e){const t=An.get(e);t&&(t.flags|=8,An.delete(e))}const cr=e=>e.nodeType===8;cn().requestIdleCallback,cn().cancelIdleCallback;function jc(e,t){if(cr(e)&&e.data==="["){let o=1,n=e.nextSibling;for(;n;){if(n.nodeType===1){if(t(n)===!1)break}else if(cr(n))if(n.data==="]"){if(--o===0)break}else n.data==="["&&o++;n=n.nextSibling}}else t(e)}const Go=e=>!!e.type.__asyncLoader;function zc(e){ee(e)&&(e={loader:e});const{loader:t,loadingComponent:o,errorComponent:n,delay:a=200,hydrate:s,timeout:r,suspensible:i=!0,onError:l}=e;let c=null,u,g=0;const f=()=>(g++,c=null,y()),y=()=>{let E;return c||(E=c=t().catch(L=>{if(L=L instanceof Error?L:new Error(String(L)),l)return new Promise((N,O)=>{l(L,()=>N(f()),()=>O(L),g+1)});throw L}).then(L=>E!==c&&c?c:(L&&(L.__esModule||L[Symbol.toStringTag]==="Module")&&(L=L.default),u=L,L)))};return Fo({name:"AsyncComponentWrapper",__asyncLoader:y,__asyncHydrate(E,L,N){const O=E.isConnected;let F=!1;(L.bu||(L.bu=[])).push(()=>F=!0);const v=()=>{F||!E.parentNode||O&&!E.isConnected||N()},b=s?()=>{const S=s(v,_=>jc(E,_));S&&(L.bum||(L.bum=[])).push(S)}:v;u?b():y().then(()=>!L.isUnmounted&&b())},get __asyncResolved(){return u},setup(){const E=Oe;if(xs(E),u)return()=>xn(u,E);const L=S=>{c=null,Io(S,E,13,!n)};if(i&&E.suspense||go)return y().then(S=>()=>xn(S,E)).catch(S=>(L(S),()=>n?Se(n,{error:S}):null));const N=He(!1),O=He(),F=He(!!a);let v,b;return Rn(()=>{v!=null&&clearTimeout(v),b!=null&&clearTimeout(b)}),a&&(b=setTimeout(()=>{E.isUnmounted||(F.value=!1)},a)),r!=null&&(v=setTimeout(()=>{if(!E.isUnmounted&&!N.value&&!O.value){const S=new Error(`Async component timed out after ${r}ms.`);L(S),O.value=S}},r)),y().then(()=>{E.isUnmounted||(N.value=!0,E.parent&&En(E.parent.vnode)&&E.parent.update())}).catch(S=>{if(E.isUnmounted){c=null;return}L(S),O.value=S}),()=>{if(N.value&&u)return xn(u,E);if(O.value&&n)return Se(n,{error:O.value});if(o&&!F.value)return xn(o,E)}}})}function xn(e,t){const{ref:o,props:n,children:a,ce:s}=t.vnode,r=Se(e,n,a);return r.ref=o,r.ce=s,delete t.vnode.ce,r}const En=e=>e.type.__isKeepAlive;function Wc(e,t){ur(e,"a",t)}function Hc(e,t){ur(e,"da",t)}function ur(e,t,o=Oe){const n=e.__wdc||(e.__wdc=()=>{let a=o;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(kn(t,n,o),o){let a=o.parent;for(;a&&a.parent;)En(a.parent.vnode)&&qc(n,t,o,a),a=a.parent}}function qc(e,t,o,n){const a=kn(t,e,n,!0);Rn(()=>{as(n[t],a)},o)}function kn(e,t,o=Oe,n=!1){if(o){const a=o[e]||(o[e]=[]),s=t.__weh||(t.__weh=(...r)=>{pt();const i=qo(o),l=nt(t,o,e,r);return i(),dt(),l});return n?a.unshift(s):a.push(s),s}}const At=e=>(t,o=Oe)=>{(!go||e==="sp")&&kn(e,(...n)=>t(...n),o)},pr=At("bm"),Cn=At("m"),Xc=At("bu"),Kc=At("u"),Es=At("bum"),Rn=At("um"),Yc=At("sp"),Zc=At("rtg"),Jc=At("rtc");function Qc(e,t=Oe){kn("ec",e,t)}const dr="components";function Tn(e,t){return hr(dr,e,!0,t)||e}const gr=Symbol.for("v-ndc");function fr(e){return $e(e)?hr(dr,e,!1)||e:e||gr}function hr(e,t,o=!0,n=!1){const a=qe||Oe;if(a){const s=a.type;{const i=Yr(s,!1);if(i&&(i===t||i===Ce(t)||i===rn(Ce(t))))return s}const r=$r(a[e]||s[e],t)||$r(a.appContext[e],t);return!r&&n?s:r}}function $r(e,t){return e&&(e[t]||e[Ce(t)]||e[rn(Ce(t))])}function mr(e,t,o,n){let a;const s=o,r=K(e);if(r||$e(e)){const i=r&&Lt(e);let l=!1,c=!1;i&&(l=!We(e),c=Pt(e),e=dn(e)),a=new Array(e.length);for(let u=0,g=e.length;u<g;u++)a[u]=t(l?c?io(ot(e[u])):ot(e[u]):e[u],u,void 0,s)}else if(typeof e=="number"){a=new Array(e);for(let i=0;i<e;i++)a[i]=t(i+1,i,void 0,s)}else if(ce(e))if(e[Symbol.iterator])a=Array.from(e,(i,l)=>t(i,l,void 0,s));else{const i=Object.keys(e);a=new Array(i.length);for(let l=0,c=i.length;l<c;l++){const u=i[l];a[l]=t(e[u],u,l,s)}}else a=[];return a}const ks=e=>e?qr(e)?Un(e):ks(e.parent):null,Uo=Pe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ks(e.parent),$root:e=>ks(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>vr(e),$forceUpdate:e=>e.f||(e.f=()=>{Ls(e.update)}),$nextTick:e=>e.n||(e.n=Ln.bind(e.proxy)),$watch:e=>Uc.bind(e)}),Cs=(e,t)=>e!==de&&!e.__isScriptSetup&&le(e,t),eu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:o,setupState:n,data:a,props:s,accessCache:r,type:i,appContext:l}=e;if(t[0]!=="$"){const f=r[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return a[t];case 4:return o[t];case 3:return s[t]}else{if(Cs(n,t))return r[t]=1,n[t];if(a!==de&&le(a,t))return r[t]=2,a[t];if(le(s,t))return r[t]=3,s[t];if(o!==de&&le(o,t))return r[t]=4,o[t];Rs&&(r[t]=0)}}const c=Uo[t];let u,g;if(c)return t==="$attrs"&&Me(e.attrs,"get",""),c(e);if((u=i.__cssModules)&&(u=u[t]))return u;if(o!==de&&le(o,t))return r[t]=4,o[t];if(g=l.config.globalProperties,le(g,t))return g[t]},set({_:e},t,o){const{data:n,setupState:a,ctx:s}=e;return Cs(a,t)?(a[t]=o,!0):n!==de&&le(n,t)?(n[t]=o,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=o,!0)},has({_:{data:e,setupState:t,accessCache:o,ctx:n,appContext:a,props:s,type:r}},i){let l;return!!(o[i]||e!==de&&i[0]!=="$"&&le(e,i)||Cs(t,i)||le(s,i)||le(n,i)||le(Uo,i)||le(a.config.globalProperties,i)||(l=r.__cssModules)&&l[i])},defineProperty(e,t,o){return o.get!=null?e._.accessCache[t]=0:le(o,"value")&&this.set(e,t,o.value,null),Reflect.defineProperty(e,t,o)}};function _r(e){return K(e)?e.reduce((t,o)=>(t[o]=null,t),{}):e}let Rs=!0;function tu(e){const t=vr(e),o=e.proxy,n=e.ctx;Rs=!1,t.beforeCreate&&br(t.beforeCreate,e,"bc");const{data:a,computed:s,methods:r,watch:i,provide:l,inject:c,created:u,beforeMount:g,mounted:f,beforeUpdate:y,updated:E,activated:L,deactivated:N,beforeDestroy:O,beforeUnmount:F,destroyed:v,unmounted:b,render:S,renderTracked:_,renderTriggered:T,errorCaptured:x,serverPrefetch:A,expose:z,inheritAttrs:X,components:W,directives:ne,filters:J}=t;if(c&&ou(c,n,null),r)for(const H in r){const Z=r[H];ee(Z)&&(n[H]=Z.bind(o))}if(a){const H=a.call(o,o);ce(H)&&(e.data=$n(H))}if(Rs=!0,s)for(const H in s){const Z=s[H],be=ee(Z)?Z.bind(o,o):ee(Z.get)?Z.get.bind(o,o):ct,Fe=!ee(Z)&&ee(Z.set)?Z.set.bind(o):ct,Le=me({get:be,set:Fe});Object.defineProperty(n,H,{enumerable:!0,configurable:!0,get:()=>Le.value,set:xe=>Le.value=xe})}if(i)for(const H in i)yr(i[H],n,o,H);if(l){const H=ee(l)?l.call(o):l;Reflect.ownKeys(H).forEach(Z=>{ht(Z,H[Z])})}u&&br(u,e,"c");function Q(H,Z){K(Z)?Z.forEach(be=>H(be.bind(o))):Z&&H(Z.bind(o))}if(Q(pr,g),Q(Cn,f),Q(Xc,y),Q(Kc,E),Q(Wc,L),Q(Hc,N),Q(Qc,x),Q(Jc,_),Q(Zc,T),Q(Es,F),Q(Rn,b),Q(Yc,A),K(z))if(z.length){const H=e.exposed||(e.exposed={});z.forEach(Z=>{Object.defineProperty(H,Z,{get:()=>o[Z],set:be=>o[Z]=be,enumerable:!0})})}else e.exposed||(e.exposed={});S&&e.render===ct&&(e.render=S),X!=null&&(e.inheritAttrs=X),W&&(e.components=W),ne&&(e.directives=ne),A&&xs(e)}function ou(e,t,o=ct){K(e)&&(e=Ts(e));for(const n in e){const a=e[n];let s;ce(a)?"default"in a?s=st(a.from||n,a.default,!0):s=st(a.from||n):s=st(a),ve(s)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>s.value,set:r=>s.value=r}):t[n]=s}}function br(e,t,o){nt(K(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,o)}function yr(e,t,o,n){let a=n.includes(".")?ar(o,n):()=>o[n];if($e(e)){const s=t[e];ee(s)&&Dt(a,s)}else if(ee(e))Dt(a,e.bind(o));else if(ce(e))if(K(e))e.forEach(s=>yr(s,t,o,n));else{const s=ee(e.handler)?e.handler.bind(o):t[e.handler];ee(s)&&Dt(a,s,e)}}function vr(e){const t=e.type,{mixins:o,extends:n}=t,{mixins:a,optionsCache:s,config:{optionMergeStrategies:r}}=e.appContext,i=s.get(t);let l;return i?l=i:!a.length&&!o&&!n?l=t:(l={},a.length&&a.forEach(c=>On(l,c,r,!0)),On(l,t,r)),ce(t)&&s.set(t,l),l}function On(e,t,o,n=!1){const{mixins:a,extends:s}=t;s&&On(e,s,o,!0),a&&a.forEach(r=>On(e,r,o,!0));for(const r in t)if(!(n&&r==="expose")){const i=nu[r]||o&&o[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const nu={data:wr,props:Lr,emits:Lr,methods:Bo,computed:Bo,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Bo,directives:Bo,watch:au,provide:wr,inject:su};function wr(e,t){return t?e?function(){return Pe(ee(e)?e.call(this,this):e,ee(t)?t.call(this,this):t)}:t:e}function su(e,t){return Bo(Ts(e),Ts(t))}function Ts(e){if(K(e)){const t={};for(let o=0;o<e.length;o++)t[e[o]]=e[o];return t}return e}function Ge(e,t){return e?[...new Set([].concat(e,t))]:t}function Bo(e,t){return e?Pe(Object.create(null),e,t):t}function Lr(e,t){return e?K(e)&&K(t)?[...new Set([...e,...t])]:Pe(Object.create(null),_r(e),_r(t??{})):t}function au(e,t){if(!e)return t;if(!t)return e;const o=Pe(Object.create(null),e);for(const n in t)o[n]=Ge(e[n],t[n]);return o}function Pr(){return{app:null,config:{isNativeTag:ma,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let ru=0;function iu(e,t){return function(n,a=null){ee(n)||(n=Pe({},n)),a!=null&&!ce(a)&&(a=null);const s=Pr(),r=new WeakSet,i=[];let l=!1;const c=s.app={_uid:ru++,_component:n,_props:a,_container:null,_context:s,_instance:null,version:Gu,get config(){return s.config},set config(u){},use(u,...g){return r.has(u)||(u&&ee(u.install)?(r.add(u),u.install(c,...g)):ee(u)&&(r.add(u),u(c,...g))),c},mixin(u){return s.mixins.includes(u)||s.mixins.push(u),c},component(u,g){return g?(s.components[u]=g,c):s.components[u]},directive(u,g){return g?(s.directives[u]=g,c):s.directives[u]},mount(u,g,f){if(!l){const y=c._ceVNode||Se(n,a);return y.appContext=s,f===!0?f="svg":f===!1&&(f=void 0),e(y,u,f),l=!0,c._container=u,u.__vue_app__=c,Un(y.component)}},onUnmount(u){i.push(u)},unmount(){l&&(nt(i,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,g){return s.provides[u]=g,c},runWithContext(u){const g=Zt;Zt=c;try{return u()}finally{Zt=g}}};return c}}let Zt=null;const lu=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ce(t)}Modifiers`]||e[`${Je(t)}Modifiers`];function cu(e,t,...o){if(e.isUnmounted)return;const n=e.vnode.props||de;let a=o;const s=t.startsWith("update:"),r=s&&lu(n,t.slice(7));r&&(r.trim&&(a=o.map(u=>$e(u)?u.trim():u)),r.number&&(a=a.map(is)));let i,l=n[i=rs(t)]||n[i=rs(Ce(t))];!l&&s&&(l=n[i=rs(Je(t))]),l&&nt(l,e,6,a);const c=n[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,nt(c,e,6,a)}}const uu=new WeakMap;function Sr(e,t,o=!1){const n=o?uu:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const s=e.emits;let r={},i=!1;if(!ee(e)){const l=c=>{const u=Sr(c,t,!0);u&&(i=!0,Pe(r,u))};!o&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!s&&!i?(ce(e)&&n.set(e,null),null):(K(s)?s.forEach(l=>r[l]=null):Pe(r,s),ce(e)&&n.set(e,r),r)}function Nn(e,t){return!e||!en(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,Je(t))||le(e,t))}function yb(){}function Ar(e){const{type:t,vnode:o,proxy:n,withProxy:a,propsOptions:[s],slots:r,attrs:i,emit:l,render:c,renderCache:u,props:g,data:f,setupState:y,ctx:E,inheritAttrs:L}=e,N=Pn(e);let O,F;try{if(o.shapeFlag&4){const b=a||n,S=b;O=$t(c.call(S,b,u,g,y,f,E)),F=i}else{const b=t;O=$t(b.length>1?b(g,{attrs:i,slots:r,emit:l}):b(g,null)),F=t.props?i:pu(i)}}catch(b){Qt.length=0,Io(b,e,1),O=Se(xt)}let v=O;if(F&&L!==!1){const b=Object.keys(F),{shapeFlag:S}=v;b.length&&S&7&&(s&&b.some(tn)&&(F=du(F,s)),v=po(v,F,!1,!0))}if(o.dirs&&(v=po(v,null,!1,!0),v.dirs=v.dirs?v.dirs.concat(o.dirs):o.dirs),o.transition){const b=Sn(v.type)&&rr(v)||v;As(b,o.transition)}return O=v,Pn(N),O}const pu=e=>{let t;for(const o in e)(o==="class"||o==="style"||en(o))&&((t||(t={}))[o]=e[o]);return t},du=(e,t)=>{const o={};for(const n in e)(!tn(n)||!(n.slice(9)in t))&&(o[n]=e[n]);return o};function gu(e,t,o){const{props:n,children:a,component:s}=e,{props:r,children:i,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(o&&l>=0){if(l&1024)return!0;if(l&16)return n?xr(n,r,c):!!r;if(l&8){const u=t.dynamicProps;for(let g=0;g<u.length;g++){const f=u[g];if(Er(r,n,f)&&!Nn(c,f))return!0}}}else return(a||i)&&(!i||!i.$stable)?!0:n===r?!1:n?r?xr(n,r,c):!0:!!r;return!1}function xr(e,t,o){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let a=0;a<n.length;a++){const s=n[a];if(Er(t,e,s)&&!Nn(o,s))return!0}return!1}function Er(e,t,o){const n=e[o],a=t[o];return o==="style"&&ce(n)&&ce(a)?!un(n,a):n!==a}function fu({vnode:e,parent:t,suspense:o},n){for(;t;){const a=t.subTree;if(a.suspense&&a.suspense.activeBranch===e&&(a.suspense.vnode.el=a.el=n,e=a),a===e)(e=t.vnode).el=n,t=t.parent;else break}o&&o.activeBranch===e&&(o.vnode.el=n)}const kr={},Cr=()=>Object.create(kr),Rr=e=>Object.getPrototypeOf(e)===kr;function hu(e,t,o,n=!1){const a={},s=Cr();e.propsDefaults=Object.create(null),Tr(e,t,a,s);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);o?e.props=n?a:_c(a):e.type.props?e.props=a:e.props=s,e.attrs=s}function $u(e,t,o,n){const{props:a,attrs:s,vnode:{patchFlag:r}}=e,i=re(a),[l]=e.propsOptions;let c=!1;if((n||r>0)&&!(r&16)){if(r&8){const u=e.vnode.dynamicProps;for(let g=0;g<u.length;g++){let f=u[g];if(Nn(e.emitsOptions,f))continue;const y=t[f];if(l)if(le(s,f))y!==s[f]&&(s[f]=y,c=!0);else{const E=Ce(f);a[E]=Os(l,i,E,y,e,!1)}else y!==s[f]&&(s[f]=y,c=!0)}}}else{Tr(e,t,a,s)&&(c=!0);let u;for(const g in i)(!t||!le(t,g)&&((u=Je(g))===g||!le(t,u)))&&(l?o&&(o[g]!==void 0||o[u]!==void 0)&&(a[g]=Os(l,i,g,void 0,e,!0)):delete a[g]);if(s!==i)for(const g in s)(!t||!le(t,g))&&(delete s[g],c=!0)}c&&vt(e.attrs,"set","")}function Tr(e,t,o,n){const[a,s]=e.propsOptions;let r=!1,i;if(t)for(let l in t){if(xo(l))continue;const c=t[l];let u;a&&le(a,u=Ce(l))?!s||!s.includes(u)?o[u]=c:(i||(i={}))[u]=c:Nn(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,r=!0)}if(s){const l=re(o),c=i||de;for(let u=0;u<s.length;u++){const g=s[u];o[g]=Os(a,l,g,c[g],e,!le(c,g))}}return r}function Os(e,t,o,n,a,s){const r=e[o];if(r!=null){const i=le(r,"default");if(i&&n===void 0){const l=r.default;if(r.type!==Function&&!r.skipFactory&&ee(l)){const{propsDefaults:c}=a;if(o in c)n=c[o];else{const u=qo(a);n=c[o]=l.call(null,t),u()}}else n=l;a.ce&&a.ce._setProp(o,n)}r[0]&&(s&&!i?n=!1:r[1]&&(n===""||n===Je(o))&&(n=!0))}return n}const mu=new WeakMap;function Or(e,t,o=!1){const n=o?mu:t.propsCache,a=n.get(e);if(a)return a;const s=e.props,r={},i=[];let l=!1;if(!ee(e)){const u=g=>{l=!0;const[f,y]=Or(g,t,!0);Pe(r,f),y&&i.push(...y)};!o&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!s&&!l)return ce(e)&&n.set(e,so),so;if(K(s))for(let u=0;u<s.length;u++){const g=Ce(s[u]);Nr(g)&&(r[g]=de)}else if(s)for(const u in s){const g=Ce(u);if(Nr(g)){const f=s[u],y=r[g]=K(f)||ee(f)?{type:f}:Pe({},f),E=y.type;let L=!1,N=!0;if(K(E))for(let O=0;O<E.length;++O){const F=E[O],v=ee(F)&&F.name;if(v==="Boolean"){L=!0;break}else v==="String"&&(N=!1)}else L=ee(E)&&E.name==="Boolean";y[0]=L,y[1]=N,(L||le(y,"default"))&&i.push(g)}}const c=[r,i];return ce(e)&&n.set(e,c),c}function Nr(e){return e[0]!=="$"&&!xo(e)}const Ns=e=>e==="_"||e==="_ctx"||e==="$stable",Is=e=>K(e)?e.map($t):[$t(e)],_u=(e,t,o)=>{if(t._n)return t;const n=Ic((...a)=>Is(t(...a)),o);return n._c=!1,n},Ir=(e,t,o)=>{const n=e._ctx;for(const a in e){if(Ns(a))continue;const s=e[a];if(ee(s))t[a]=_u(a,s,n);else if(s!=null){const r=Is(s);t[a]=()=>r}}},Mr=(e,t)=>{const o=Is(t);e.slots.default=()=>o},Fr=(e,t,o)=>{for(const n in t)(o||!Ns(n))&&(e[n]=t[n])},bu=(e,t,o)=>{const n=e.slots=Cr();if(e.vnode.shapeFlag&32){const a=t._;a?(Fr(n,t,o),o&&va(n,"_",a,!0)):Ir(t,n)}else t&&Mr(e,t)},yu=(e,t,o)=>{const{vnode:n,slots:a}=e;let s=!0,r=de;if(n.shapeFlag&32){const i=t._;i?o&&i===1?s=!1:Fr(a,t,o):(s=!t.$stable,Ir(t,a)),r=t}else t&&(Mr(e,t),r={default:1});if(s)for(const i in a)!Ns(i)&&r[i]==null&&delete a[i]},je=Su;function vu(e){return wu(e)}function wu(e,t){const o=cn();o.__VUE__=!0;const{insert:n,remove:a,patchProp:s,createElement:r,createText:i,createComment:l,setText:c,setElementText:u,parentNode:g,nextSibling:f,setScopeId:y=ct,insertStaticContent:E}=e,L=(h,m,$,k=null,M=null,I=null,B=void 0,U=null,p=!!m.dynamicChildren)=>{if(h===m)return;h&&!Wo(h,m)&&(k=Nt(h),xe(h,M,I,!0),h=null),m.patchFlag===-2&&(p=!1,m.dynamicChildren=null);const{type:d,ref:P,shapeFlag:C}=m;switch(d){case Vo:N(h,m,$,k);break;case xt:O(h,m,$,k);break;case Fs:h==null&&F(m,$,k,B);break;case Xe:W(h,m,$,k,M,I,B,U,p);break;default:C&1?S(h,m,$,k,M,I,B,U,p):C&6?ne(h,m,$,k,M,I,B,U,p):(C&64||C&128)&&d.process(h,m,$,k,M,I,B,U,p,et)}P!=null&&M?Do(P,h&&h.ref,I,m||h,!m):P==null&&h&&h.ref!=null&&Do(h.ref,null,I,h,!0)},N=(h,m,$,k)=>{if(h==null)n(m.el=i(m.children),$,k);else{const M=m.el=h.el;m.children!==h.children&&c(M,m.children)}},O=(h,m,$,k)=>{h==null?n(m.el=l(m.children||""),$,k):m.el=h.el},F=(h,m,$,k)=>{[h.el,h.anchor]=E(h.children,m,$,k,h.el,h.anchor)},v=({el:h,anchor:m},$,k)=>{let M;for(;h&&h!==m;)M=f(h),n(h,$,k),h=M;n(m,$,k)},b=({el:h,anchor:m})=>{let $;for(;h&&h!==m;)$=f(h),a(h),h=$;a(m)},S=(h,m,$,k,M,I,B,U,p)=>{if(m.type==="svg"?B="svg":m.type==="math"&&(B="mathml"),h==null)_(m,$,k,M,I,B,U,p);else{const d=h.el&&h.el._isVueCE?h.el:null;try{d&&d._beginPatch(),A(h,m,M,I,B,U,p)}finally{d&&d._endPatch()}}},_=(h,m,$,k,M,I,B,U)=>{let p,d;const{props:P,shapeFlag:C,transition:V,dirs:D}=h;if(p=h.el=r(h.type,I,P&&P.is,P),C&8?u(p,h.children):C&16&&x(h.children,p,null,k,M,Ms(h,I),B,U),D&&Yt(h,null,k,"created"),T(p,h,h.scopeId,B,k),P){for(const R in P)R!=="value"&&!xo(R)&&s(p,R,null,P[R],I,k);"value"in P&&s(p,"value",null,P.value,I),(d=P.onVnodeBeforeMount)&&mt(d,k,h)}D&&Yt(h,null,k,"beforeMount");const w=Lu(M,V);w&&V.beforeEnter(p),n(p,m,$),((d=P&&P.onVnodeMounted)||w||D)&&je(()=>{try{d&&mt(d,k,h),w&&V.enter(p),D&&Yt(h,null,k,"mounted")}finally{}},M)},T=(h,m,$,k,M)=>{if($&&y(h,$),k)for(let I=0;I<k.length;I++)y(h,k[I]);if(M){let I=M.subTree;if(m===I||Vr(I.type)&&(I.ssContent===m||I.ssFallback===m)){const B=M.vnode;T(h,B,B.scopeId,B.slotScopeIds,M.parent)}}},x=(h,m,$,k,M,I,B,U,p=0)=>{for(let d=p;d<h.length;d++){const P=h[d]=U?Et(h[d]):$t(h[d]);L(null,P,m,$,k,M,I,B,U)}},A=(h,m,$,k,M,I,B)=>{const U=m.el=h.el;let{patchFlag:p,dynamicChildren:d,dirs:P}=m;p|=h.patchFlag&16;const C=h.props||de,V=m.props||de;let D;if($&&Jt($,!1),(D=V.onVnodeBeforeUpdate)&&mt(D,$,m,h),P&&Yt(m,h,$,"beforeUpdate"),$&&Jt($,!0),d&&(!h.dynamicChildren||h.dynamicChildren.length!==d.length)&&(p=0,B=!1,d=null),(C.innerHTML&&V.innerHTML==null||C.textContent&&V.textContent==null)&&u(U,""),d?z(h.dynamicChildren,d,U,$,k,Ms(m,M),I):B||Z(h,m,U,null,$,k,Ms(m,M),I,!1),p>0){if(p&16)X(U,C,V,$,M);else if(p&2&&C.class!==V.class&&s(U,"class",null,V.class,M),p&4&&s(U,"style",C.style,V.style,M),p&8){const w=m.dynamicProps;for(let R=0;R<w.length;R++){const q=w[R],oe=C[q],he=V[q];(he!==oe||q==="value")&&s(U,q,oe,he,M,$)}}p&1&&h.children!==m.children&&u(U,m.children)}else!B&&d==null&&X(U,C,V,$,M);((D=V.onVnodeUpdated)||P)&&je(()=>{D&&mt(D,$,m,h),P&&Yt(m,h,$,"updated")},k)},z=(h,m,$,k,M,I,B)=>{for(let U=0;U<m.length;U++){const p=h[U],d=m[U],P=p.el&&(p.type===Xe||!Wo(p,d)||p.shapeFlag&198)?g(p.el):$;L(p,d,P,null,k,M,I,B,!0)}},X=(h,m,$,k,M)=>{if(m!==$){if(m!==de)for(const I in m)!xo(I)&&!(I in $)&&s(h,I,m[I],null,M,k);for(const I in $){if(xo(I))continue;const B=$[I],U=m[I];B!==U&&I!=="value"&&s(h,I,U,B,M,k)}"value"in $&&s(h,"value",m.value,$.value,M)}},W=(h,m,$,k,M,I,B,U,p)=>{const d=m.el=h?h.el:i(""),P=m.anchor=h?h.anchor:i("");let{patchFlag:C,dynamicChildren:V,slotScopeIds:D}=m;D&&(U=U?U.concat(D):D),h==null?(n(d,$,k),n(P,$,k),x(m.children||[],$,P,M,I,B,U,p)):C>0&&C&64&&V&&h.dynamicChildren&&h.dynamicChildren.length===V.length?(z(h.dynamicChildren,V,$,M,I,B,U),(m.key!=null||M&&m===M.subTree)&&Dr(h,m,!0)):Z(h,m,$,P,M,I,B,U,p)},ne=(h,m,$,k,M,I,B,U,p)=>{m.slotScopeIds=U,h==null?m.shapeFlag&512?M.ctx.activate(m,$,k,B,p):J(m,$,k,M,I,B,p):ae(h,m,p)},J=(h,m,$,k,M,I,B)=>{const U=h.component=Ru(h,k,M);if(En(h)&&(U.ctx.renderer=et),Tu(U,!1,B),U.asyncDep){if(M&&M.registerDep(U,Q,B),!h.el){const p=U.subTree=Se(xt);O(null,p,m,$),h.placeholder=p.el}}else Q(U,h,m,$,M,I,B)},ae=(h,m,$)=>{const k=m.component=h.component;if(gu(h,m,$))if(k.asyncDep&&!k.asyncResolved){H(k,m,$);return}else k.next=m,k.update();else m.el=h.el,k.vnode=m},Q=(h,m,$,k,M,I,B)=>{const U=()=>{if(h.isMounted){let{next:C,bu:V,u:D,parent:w,vnode:R}=h;{const Ie=Gr(h);if(Ie){C&&(C.el=R.el,H(h,C,B)),Ie.asyncDep.then(()=>{je(()=>{h.isUnmounted||d()},M)});return}}let q=C,oe;Jt(h,!1),C?(C.el=R.el,H(h,C,B)):C=R,V&&ln(V),(oe=C.props&&C.props.onVnodeBeforeUpdate)&&mt(oe,w,C,R),Jt(h,!0);const he=Ar(h),Ve=h.subTree;h.subTree=he,L(Ve,he,g(Ve.el),Nt(Ve),h,M,I),C.el=he.el,q===null&&fu(h,he.el),D&&je(D,M),(oe=C.props&&C.props.onVnodeUpdated)&&je(()=>mt(oe,w,C,R),M)}else{let C;const{el:V,props:D}=m,{bm:w,m:R,parent:q,root:oe,type:he}=h,Ve=Go(m);Jt(h,!1),w&&ln(w),!Ve&&(C=D&&D.onVnodeBeforeMount)&&mt(C,q,m),Jt(h,!0);{oe.ce&&oe.ce._hasShadowRoot()&&oe.ce._injectChildStyle(he,h.parent?h.parent.type:void 0);const Ie=h.subTree=Ar(h);L(null,Ie,$,k,h,M,I),m.el=Ie.el}if(R&&je(R,M),!Ve&&(C=D&&D.onVnodeMounted)){const Ie=m;je(()=>mt(C,q,Ie),M)}(m.shapeFlag&256||q&&Go(q.vnode)&&q.vnode.shapeFlag&256)&&h.a&&je(h.a,M),h.isMounted=!0,m=$=k=null}};h.scope.on();const p=h.effect=new Ca(U);h.scope.off();const d=h.update=p.run.bind(p),P=h.job=p.runIfDirty.bind(p);P.i=h,P.id=h.uid,p.scheduler=()=>Ls(P),Jt(h,!0),d()},H=(h,m,$)=>{m.component=h;const k=h.vnode.props;h.vnode=m,h.next=null,$u(h,m.props,k,$),yu(h,m.children,$),pt(),er(h),dt()},Z=(h,m,$,k,M,I,B,U,p=!1)=>{const d=h&&h.children,P=h?h.shapeFlag:0,C=m.children,{patchFlag:V,shapeFlag:D}=m;if(V>0){if(V&128){Fe(d,C,$,k,M,I,B,U,p);return}else if(V&256){be(d,C,$,k,M,I,B,U,p);return}}D&8?(P&16&<(d,M,I),C!==d&&u($,C)):P&16?D&16?Fe(d,C,$,k,M,I,B,U,p):lt(d,M,I,!0):(P&8&&u($,""),D&16&&x(C,$,k,M,I,B,U,p))},be=(h,m,$,k,M,I,B,U,p)=>{h=h||so,m=m||so;const d=h.length,P=m.length,C=Math.min(d,P);let V;for(V=0;V<C;V++){const D=m[V]=p?Et(m[V]):$t(m[V]);L(h[V],D,$,null,M,I,B,U,p)}d>P?lt(h,M,I,!0,!1,C):x(m,$,k,M,I,B,U,p,C)},Fe=(h,m,$,k,M,I,B,U,p)=>{let d=0;const P=m.length;let C=h.length-1,V=P-1;for(;d<=C&&d<=V;){const D=h[d],w=m[d]=p?Et(m[d]):$t(m[d]);if(Wo(D,w))L(D,w,$,null,M,I,B,U,p);else break;d++}for(;d<=C&&d<=V;){const D=h[C],w=m[V]=p?Et(m[V]):$t(m[V]);if(Wo(D,w))L(D,w,$,null,M,I,B,U,p);else break;C--,V--}if(d>C){if(d<=V){const D=V+1,w=D<P?m[D].el:k;for(;d<=V;)L(null,m[d]=p?Et(m[d]):$t(m[d]),$,w,M,I,B,U,p),d++}}else if(d>V)for(;d<=C;)xe(h[d],M,I,!0),d++;else{const D=d,w=d,R=new Map;for(d=w;d<=V;d++){const Ye=m[d]=p?Et(m[d]):$t(m[d]);Ye.key!=null&&R.set(Ye.key,d)}let q,oe=0;const he=V-w+1;let Ve=!1,Ie=0;const no=new Array(he);for(d=0;d<he;d++)no[d]=0;for(d=D;d<=C;d++){const Ye=h[d];if(oe>=he){xe(Ye,M,I,!0);continue}let yt;if(Ye.key!=null)yt=R.get(Ye.key);else for(q=w;q<=V;q++)if(no[q-w]===0&&Wo(Ye,m[q])){yt=q;break}yt===void 0?xe(Ye,M,I,!0):(no[yt-w]=d+1,yt>=Ie?Ie=yt:Ve=!0,L(Ye,m[yt],$,null,M,I,B,U,p),oe++)}const $a=Ve?Pu(no):so;for(q=$a.length-1,d=he-1;d>=0;d--){const Ye=w+d,yt=m[Ye],Ul=m[Ye+1],Bl=Ye+1<P?Ul.el||Br(Ul):k;no[d]===0?L(null,yt,$,Bl,M,I,B,U,p):Ve&&(q<0||d!==$a[q]?Le(yt,$,Bl,2):q--)}}},Le=(h,m,$,k,M=null)=>{const{el:I,type:B,transition:U,children:p,shapeFlag:d}=h;if(d&6){Le(h.component.subTree,m,$,k);return}if(d&128){h.suspense.move(m,$,k);return}if(d&64){B.move(h,m,$,et);return}if(B===Xe){n(I,m,$);for(let C=0;C<p.length;C++)Le(p[C],m,$,k);n(h.anchor,m,$);return}if(B===Fs){v(h,m,$);return}if(k!==2&&d&1&&U)if(k===0)U.persisted&&!I[Ss]?n(I,m,$):(U.beforeEnter(I),n(I,m,$),je(()=>U.enter(I),M));else{const{leave:C,delayLeave:V,afterLeave:D}=U,w=()=>{h.ctx.isUnmounted?a(I):n(I,m,$)},R=()=>{const q=I._isLeaving||!!I[Ss];I._isLeaving&&I[Ss](!0),U.persisted&&!q?w():C(I,()=>{w(),D&&D()})};V?V(I,w,R):R()}else n(I,m,$)},xe=(h,m,$,k=!1,M=!1)=>{const{type:I,props:B,ref:U,children:p,dynamicChildren:d,shapeFlag:P,patchFlag:C,dirs:V,cacheIndex:D,memo:w}=h;if(C===-2&&(M=!1),U!=null&&(pt(),Do(U,null,$,h,!0),dt()),D!=null&&(m.renderCache[D]=void 0),P&256){m.ctx.deactivate(h);return}const R=P&1&&V,q=!Go(h);let oe;if(q&&(oe=B&&B.onVnodeBeforeUnmount)&&mt(oe,m,h),P&6)oo(h.component,$,k);else{if(P&128){h.suspense.unmount($,k);return}R&&Yt(h,null,m,"beforeUnmount"),P&64?h.type.remove(h,m,$,et,k):d&&!d.hasOnce&&(I!==Xe||C>0&&C&64)?lt(d,m,$,!1,!0):(I===Xe&&C&384||!M&&P&16)&<(p,m,$),k&&Wt(h)}const he=w!=null&&D==null;(q&&(oe=B&&B.onVnodeUnmounted)||R||he)&&je(()=>{oe&&mt(oe,m,h),R&&Yt(h,null,m,"unmounted"),he&&(h.el=null)},$)},Wt=h=>{const{type:m,el:$,anchor:k,transition:M}=h;if(m===Xe){Ht($,k);return}if(m===Fs){b(h);return}const I=()=>{a($),M&&!M.persisted&&M.afterLeave&&M.afterLeave()};if(h.shapeFlag&1&&M&&!M.persisted){const{leave:B,delayLeave:U}=M,p=()=>B($,I);U?U(h.el,I,p):p()}else I()},Ht=(h,m)=>{let $;for(;h!==m;)$=f(h),a(h),h=$;a(m)},oo=(h,m,$)=>{const{bum:k,scope:M,job:I,subTree:B,um:U,m:p,a:d}=h;Ur(p),Ur(d),k&&ln(k),M.stop(),I&&(I.flags|=8,xe(B,h,m,$)),U&&je(U,m),je(()=>{h.isUnmounted=!0},m)},lt=(h,m,$,k=!1,M=!1,I=0)=>{for(let B=I;B<h.length;B++)xe(h[B],m,$,k,M)},Nt=h=>{if(h.shapeFlag&6)return Nt(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const m=f(h.anchor||h.el),$=m&&m[Bc];return $?f($):m};let It=!1;const qt=(h,m,$)=>{let k;h==null?m._vnode&&(xe(m._vnode,null,null,!0),k=m._vnode.component):L(m._vnode||null,h,m,null,null,null,$),m._vnode=h,It||(It=!0,er(k),tr(),It=!1)},et={p:L,um:xe,m:Le,r:Wt,mt:J,mc:x,pc:Z,pbc:z,n:Nt,o:e};return{render:qt,hydrate:void 0,createApp:iu(qt)}}function Ms({type:e,props:t},o){return o==="svg"&&e==="foreignObject"||o==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:o}function Jt({effect:e,job:t},o){o?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Lu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Dr(e,t,o=!1){const n=e.children,a=t.children;if(K(n)&&K(a))for(let s=0;s<n.length;s++){const r=n[s];let i=a[s];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=a[s]=Et(a[s]),i.el=r.el),!o&&i.patchFlag!==-2&&Dr(r,i)),i.type===Vo&&(i.patchFlag===-1&&(i=a[s]=Et(i)),i.el=r.el),i.type===xt&&!i.el&&(i.el=r.el)}}function Pu(e){const t=e.slice(),o=[0];let n,a,s,r,i;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(a=o[o.length-1],e[a]<c){t[n]=a,o.push(n);continue}for(s=0,r=o.length-1;s<r;)i=s+r>>1,e[o[i]]<c?s=i+1:r=i;c<e[o[s]]&&(s>0&&(t[n]=o[s-1]),o[s]=n)}}for(s=o.length,r=o[s-1];s-- >0;)o[s]=r,r=t[r];return o}function Gr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Gr(t)}function Ur(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Br(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Br(t.subTree):null}const Vr=e=>e.__isSuspense;function Su(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Nc(e)}const Xe=Symbol.for("v-fgt"),Vo=Symbol.for("v-txt"),xt=Symbol.for("v-cmt"),Fs=Symbol.for("v-stc"),Qt=[];let Ke=null;function ue(e=!1){Qt.push(Ke=e?null:[])}function jr(){Qt.pop(),Ke=Qt[Qt.length-1]||null}let jo=1;function In(e,t=!1){jo+=e,e<0&&Ke&&t&&(Ke.hasOnce=!0)}function zr(e){return e.dynamicChildren=jo>0?Ke||so:null,jr(),jo>0&&Ke&&Ke.push(e),e}function we(e,t,o,n,a,s){return zr(G(e,t,o,n,a,s,!0))}function zo(e,t,o,n,a){return zr(Se(e,t,o,n,a,!0))}function Mn(e){return e?e.__v_isVNode===!0:!1}function Wo(e,t){return e.type===t.type&&e.key===t.key}const Wr=({key:e})=>e??null,Fn=({ref:e,ref_key:t,ref_for:o})=>(typeof e=="number"&&(e=""+e),e!=null?$e(e)||ve(e)||ee(e)?{i:qe,r:e,k:t,f:!!o}:e:null);function G(e,t=null,o=null,n=0,a=null,s=e===Xe?0:1,r=!1,i=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wr(t),ref:t&&Fn(t),scopeId:nr,slotScopeIds:null,children:o,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:qe};return i?(Dn(l,o),s&128&&e.normalize(l)):o&&(l.shapeFlag|=$e(o)?8:16),jo>0&&!r&&Ke&&(l.patchFlag>0||s&6)&&l.patchFlag!==32&&Ke.push(l),l}const Se=Au;function Au(e,t=null,o=null,n=0,a=null,s=!1){if((!e||e===gr)&&(e=xt),Mn(e)){const i=po(e,t,!0);return o&&Dn(i,o),jo>0&&!s&&Ke&&(i.shapeFlag&6?Ke[Ke.indexOf(e)]=i:Ke.push(i)),i.patchFlag=-2,i}if(Du(e)&&(e=e.__vccOpts),t){t=xu(t);let{class:i,style:l}=t;i&&!$e(i)&&(t.class=ao(i)),ce(l)&&(_n(l)&&!K(l)&&(l=Pe({},l)),t.style=ls(l))}const r=$e(e)?1:Vr(e)?128:Sn(e)?64:ce(e)?4:ee(e)?2:0;return G(e,t,o,n,a,r,s,!0)}function xu(e){return e?_n(e)||Rr(e)?Pe({},e):e:null}function po(e,t,o=!1,n=!1){const{props:a,ref:s,patchFlag:r,children:i,transition:l}=e,c=t?Eu(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Wr(c),ref:t&&t.ref?o&&s?K(s)?s.concat(Fn(t)):[s,Fn(t)]:Fn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xe?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&po(e.ssContent),ssFallback:e.ssFallback&&po(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&As(u,l.clone(u)),u}function Te(e=" ",t=0){return Se(Vo,null,e,t)}function Ue(e="",t=!1){return t?(ue(),zo(xt,null,e)):Se(xt,null,e)}function $t(e){return e==null||typeof e=="boolean"?Se(xt):K(e)?Se(Xe,null,e.slice()):Mn(e)?Et(e):Se(Vo,null,String(e))}function Et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:po(e)}function Dn(e,t){let o=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(K(t))o=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),Dn(e,a()),a._c&&(a._d=!0));return}else{o=32;const a=t._;!a&&!Rr(t)?t._ctx=qe:a===3&&qe&&(qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(ee(t)){if(n&65){Dn(e,{default:t});return}t={default:t,_ctx:qe},o=32}else t=String(t),n&64?(o=16,t=[Te(t)]):o=8;e.children=t,e.shapeFlag|=o}function Eu(...e){const t={};for(let o=0;o<e.length;o++){const n=e[o];for(const a in n)if(a==="class")t.class!==n.class&&(t.class=ao([t.class,n.class]));else if(a==="style")t.style=ls([t.style,n.style]);else if(en(a)){const s=t[a],r=n[a];r&&s!==r&&!(K(s)&&s.includes(r))?t[a]=s?[].concat(s,r):r:r==null&&s==null&&!tn(a)&&(t[a]=r)}else a!==""&&(t[a]=n[a])}return t}function mt(e,t,o,n=null){nt(e,t,7,[o,n])}const ku=Pr();let Cu=0;function Ru(e,t,o){const n=e.type,a=(t?t.appContext:e.appContext)||ku,s={uid:Cu++,vnode:e,type:n,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ea(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Or(n,a),emitsOptions:Sr(n,a),emit:null,emitted:null,propsDefaults:de,inheritAttrs:n.inheritAttrs,ctx:de,data:de,props:de,attrs:de,slots:de,refs:de,setupState:de,setupContext:null,suspense:o,suspenseId:o?o.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return s.ctx={_:s},s.root=t?t.root:s,s.emit=cu.bind(null,s),e.ce&&e.ce(s),s}let Oe=null;const kt=()=>Oe||qe;let Gn,Ho;{const e=cn(),t=(o,n)=>{let a;return(a=e[o])||(a=e[o]=[]),a.push(n),s=>{a.length>1?a.forEach(r=>r(s)):a[0](s)}};Gn=t("__VUE_INSTANCE_SETTERS__",o=>Oe=o),Ho=t("__VUE_SSR_SETTERS__",o=>go=o)}const qo=e=>{const t=Oe;return Gn(e),e.scope.on(),()=>{e.scope.off(),Gn(t)}},Hr=()=>{Oe&&Oe.scope.off(),Gn(null)};function qr(e){return e.vnode.shapeFlag&4}let go=!1;function Tu(e,t=!1,o=!1){t&&Ho(t);const{props:n,children:a}=e.vnode,s=qr(e);hu(e,n,s,t),bu(e,a,o||t);const r=s?Ou(e,t):void 0;return t&&Ho(!1),r}function Ou(e,t){const o=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,eu);const{setup:n}=o;if(n){pt();const a=e.setupContext=n.length>1?Iu(e):null,s=qo(e),r=lo(n,e,0,[e.props,a]),i=ba(r);if(dt(),s(),(i||e.sp)&&!Go(e)&&xs(e),i){if(r.then(Hr,Hr),t)return r.then(l=>{Ho(!0);try{Xr(e,l,t)}finally{Ho(!1)}}).catch(l=>{Io(l,e,0)});e.asyncDep=r}else Xr(e,r)}else Kr(e)}function Xr(e,t,o){ee(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ce(t)&&(e.setupState=Ya(t)),Kr(e)}function Kr(e,t,o){const n=e.type;e.render||(e.render=n.render||ct);{const a=qo(e);pt();try{tu(e)}finally{dt(),a()}}}const Nu={get(e,t){return Me(e,"get",""),e[t]}};function Iu(e){const t=o=>{e.exposed=o||{}};return{attrs:new Proxy(e.attrs,Nu),slots:e.slots,emit:e.emit,expose:t}}function Un(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ya(Oo(e.exposed)),{get(t,o){if(o in t)return t[o];if(o in Uo)return Uo[o](e)},has(t,o){return o in t||o in Uo}})):e.proxy}const Mu=/(?:^|[-_])\w/g,Fu=e=>e.replace(Mu,t=>t.toUpperCase()).replace(/[-_]/g,"");function Yr(e,t=!0){return ee(e)?e.displayName||e.name:e.name||t&&e.__name}function Zr(e,t,o=!1){let n=Yr(t);if(!n&&t.__file){const a=t.__file.match(/([^/\\]+)\.\w+$/);a&&(n=a[1])}if(!n&&e){const a=s=>{for(const r in s)if(s[r]===t)return r};n=a(e.components)||e.parent&&a(e.parent.type.components)||a(e.appContext.components)}return n?Fu(n):o?"App":"Anonymous"}function Du(e){return ee(e)&&"__vccOpts"in e}const me=(e,t)=>Sc(e,t,go);function Jr(e,t,o){try{In(-1);const n=arguments.length;return n===2?ce(t)&&!K(t)?Mn(t)?Se(e,null,[t]):Se(e,t):Se(e,null,t):(n>3?o=Array.prototype.slice.call(arguments,2):n===3&&Mn(o)&&(o=[o]),Se(e,t,o))}finally{In(1)}}const Gu="3.5.42";/**
|
||
* @vue/runtime-dom v3.5.42
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let Ds;const Qr=typeof window<"u"&&window.trustedTypes;if(Qr)try{Ds=Qr.createPolicy("vue",{createHTML:e=>e})}catch{}const ei=Ds?e=>Ds.createHTML(e):e=>e,Uu="http://www.w3.org/2000/svg",Bu="http://www.w3.org/1998/Math/MathML",Ct=typeof document<"u"?document:null,ti=Ct&&Ct.createElement("template"),Vu={insert:(e,t,o)=>{t.insertBefore(e,o||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,o,n)=>{const a=t==="svg"?Ct.createElementNS(Uu,e):t==="mathml"?Ct.createElementNS(Bu,e):o?Ct.createElement(e,{is:o}):Ct.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>Ct.createTextNode(e),createComment:e=>Ct.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ct.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,o,n,a,s){const r=o?o.previousSibling:t.lastChild;if(a&&(a===s||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),o),!(a===s||!(a=a.nextSibling)););else{ti.innerHTML=ei(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const i=ti.content;if(n==="svg"||n==="mathml"){const l=i.firstChild;for(;l.firstChild;)i.appendChild(l.firstChild);i.removeChild(l)}t.insertBefore(i,o)}return[r?r.nextSibling:t.firstChild,o?o.previousSibling:t.lastChild]}},ju=Symbol("_vtc");function zu(e,t,o){const n=e[ju];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):o?e.setAttribute("class",t):e.className=t}const oi=Symbol("_vod"),Wu=Symbol("_vsh"),Hu=Symbol(""),qu=/(?:^|;)\s*display\s*:/;function Xu(e,t,o){const n=e.style,a=$e(o);let s=!1;if(o&&!a){if(t)if($e(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();o[i]==null&&Xo(n,i,"")}else for(const r in t)o[r]==null&&Xo(n,r,"");for(const r in o){r==="display"&&(s=!0);const i=o[r];i!=null?Yu(e,r,!$e(t)&&t?t[r]:void 0,i)||Xo(n,r,i):Xo(n,r,"")}}else if(a){if(t!==o){const r=n[Hu];r&&(o+=";"+r),n.cssText=o,s=qu.test(o)}}else t&&e.removeAttribute("style");oi in e&&(e[oi]=s?n.display:"",e[Wu]&&(n.display="none"))}const Bn=/\s*!important$/;function Xo(e,t,o){if(K(o))o.forEach(n=>Xo(e,t,n));else if(o==null&&(o=""),t.startsWith("--"))Bn.test(o)?e.setProperty(t,o.replace(Bn,""),"important"):e.setProperty(t,o);else{const n=Ku(e,t);Bn.test(o)?e.setProperty(Je(n),o.replace(Bn,""),"important"):e[n]=o}}const ni=["Webkit","Moz","ms"],Gs={};function Ku(e,t){const o=Gs[t];if(o)return o;let n=Ce(t);if(n!=="filter"&&n in e)return Gs[t]=n;n=rn(n);for(let a=0;a<ni.length;a++){const s=ni[a]+n;if(s in e)return Gs[t]=s}return t}function Yu(e,t,o,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&$e(n)&&o===n}const si="http://www.w3.org/1999/xlink";function ai(e,t,o,n,a,s=Zl(t)){n&&t.startsWith("xlink:")?o==null?e.removeAttributeNS(si,t.slice(6,t.length)):e.setAttributeNS(si,t,o):o==null||s&&!Pa(o)?e.removeAttribute(t):e.setAttribute(t,s?"":Ze(o)?String(o):o)}function ri(e,t,o,n,a){if(t==="innerHTML"||t==="textContent"){o!=null&&(e[t]=t==="innerHTML"?ei(o):o);return}const s=e.tagName;if(t==="value"&&s!=="PROGRESS"&&!s.includes("-")){const i=s==="OPTION"?e.getAttribute("value")||"":e.value,l=o==null?e.type==="checkbox"?"on":"":String(o);(i!==l||!("_value"in e))&&(e.value=l),o==null&&e.removeAttribute(t),e._value=o;return}let r=!1;if(o===""||o==null){const i=typeof e[t];i==="boolean"?o=Pa(o):o==null&&i==="string"?(o="",r=!0):i==="number"&&(o=0,r=!0)}try{e[t]=o}catch{}r&&e.removeAttribute(a||t)}function fo(e,t,o,n){e.addEventListener(t,o,n)}function Zu(e,t,o,n){e.removeEventListener(t,o,n)}const ii=Symbol("_vei");function Ju(e,t,o,n,a=null){const s=e[ii]||(e[ii]={}),r=s[t];if(n&&r)r.value=n;else{const[i,l]=tp(t);if(n){const c=s[t]=sp(n,a);fo(e,i,c,l)}else r&&(Zu(e,i,r,l),s[t]=void 0)}}const Qu=/(Once|Passive|Capture)$/,ep=/^on:?(?:Once|Passive|Capture)$/;function tp(e){let t,o;for(;(o=e.match(Qu))&&!ep.test(e);)t||(t={}),e=e.slice(0,e.length-o[1].length),t[o[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Je(e.slice(2)),t]}let Us=0;const op=Promise.resolve(),np=()=>Us||(op.then(()=>Us=0),Us=Date.now());function sp(e,t){const o=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=o.attached)return;const a=o.value;if(K(a)){const s=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{s.call(n),n._stopped=!0};const r=a.slice(),i=[n];for(let l=0;l<r.length&&!n._stopped;l++){const c=r[l];c&&nt(c,t,5,i)}}else nt(a,t,5,[n])};return o.value=e,o.attached=np(),o}const li=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ap=(e,t,o,n,a,s)=>{const r=a==="svg";t==="class"?zu(e,n,r):t==="style"?Xu(e,o,n):en(t)?tn(t)||Ju(e,t,o,n,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):rp(e,t,n,r))?(ri(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ai(e,t,n,r,s,t!=="value")):e._isVueCE&&(ip(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!$e(n)))?ri(e,Ce(t),n,s,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),ai(e,t,n,r))};function rp(e,t,o,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&li(t)&&ee(o));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return li(t)&&$e(o)?!1:t in e}function ip(e,t){const o=e._def.props;if(!o)return!1;const n=Ce(t);return Array.isArray(o)?o.some(a=>Ce(a)===n):Object.keys(o).some(a=>Ce(a)===n)}const ci={};function lp(e,t,o){let n=Fo(e,t);nn(n)&&(n=Pe({},n,t));class a extends Bs{constructor(r){super(n,r,o)}}return a.def=n,a}const cp=typeof HTMLElement<"u"?HTMLElement:class{};class Bs extends cp{constructor(t,o={},n=$i){super(),this._def=t,this._props=o,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==$i?this._root=this.shadowRoot:t.shadowRoot!==!1?(this.attachShadow(Pe({},t.shadowRootOptions,{mode:"open"})),this._root=this.shadowRoot):this._root=this}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t=t&&(t.assignedSlot||t.parentNode||t.host);)if(t instanceof Bs){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(t=this._parent){t&&(this._instance.parent=t._instance,this._inheritParentContext(t))}_inheritParentContext(t=this._parent){t&&this._app&&Object.setPrototypeOf(this._app._context.provides,t._instance.provides)}disconnectedCallback(){this._connected=!1,Ln(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&(this._teleportTargets.clear(),this._teleportTargets=void 0))})}_processMutations(t){for(const o of t)this._setAttr(o.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let n=0;n<this.attributes.length;n++)this._setAttr(this.attributes[n].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});const t=(n,a=!1)=>{this._resolved=!0,this._pendingResolve=void 0;const{props:s,styles:r}=n;let i;if(s&&!K(s))for(const l in s){const c=s[l];(c===Number||c&&c.type===Number)&&(l in this._props&&(this._props[l]=wa(this._props[l])),(i||(i=Object.create(null)))[Ce(l)]=!0)}this._numberProps=i,this._resolveProps(n),this.shadowRoot&&this._applyStyles(r),this._mount(n)},o=this._def.__asyncLoader;if(o)return this._pendingResolve=o().then(n=>{n.configureApp=this._def.configureApp,t(this._def=n,!0)}),this._pendingResolve;t(this._def)}_mount(t){this._app=this._createApp(t),this._inheritParentContext(),t.configureApp&&t.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);const o=this._instance&&this._instance.exposed;if(o)for(const n in o)le(this,n)||Object.defineProperty(this,n,{get:()=>bn(o[n])})}_resolveProps(t){const{props:o}=t,n=K(o)?o:Object.keys(o||{});for(const a of Object.keys(this))a[0]!=="_"&&n.includes(a)&&this._setProp(a,this[a]);for(const a of n.map(Ce))Object.defineProperty(this,a,{get(){return this._getProp(a)},set(s){this._setProp(a,s,!0,!this._patching)}})}_setAttr(t){if(t.startsWith("data-v-"))return;const o=this.hasAttribute(t);let n=o?this.getAttribute(t):ci;const a=Ce(t);o&&this._numberProps&&this._numberProps[a]&&(n=wa(n)),this._setProp(a,n,!1,!0)}_getProp(t){return this._props[t]}_setProp(t,o,n=!0,a=!1){if(o!==this._props[t]&&(this._dirty=!0,o===ci?delete this._props[t]:(this._props[t]=o,t==="key"&&this._app&&(this._app._ceVNode.key=o)),a&&this._instance&&this._update(),n)){const s=this._ob;s&&(this._processMutations(s.takeRecords()),s.disconnect()),o===!0?this.setAttribute(Je(t),""):typeof o=="string"||typeof o=="number"?this.setAttribute(Je(t),o+""):o||this.removeAttribute(Je(t)),s&&s.observe(this,{attributes:!0})}}_update(){const t=this._createVNode();this._app&&(t.appContext=this._app._context),fp(t,this._root)}_createVNode(){const t={};this.shadowRoot||(t.onVnodeMounted=t.onVnodeUpdated=this._renderSlots.bind(this));const o=Se(this._def,Pe(t,this._props));return this._instance||(o.ce=n=>{this._instance=n,n.ce=this,n.isCE=!0;const a=(s,r)=>{this.dispatchEvent(new CustomEvent(s,nn(r[0])?Pe({detail:r},r[0]):{detail:r}))};n.emit=(s,...r)=>{a(s,r),Je(s)!==s&&a(Je(s),r)},this._setParent()}),o}_applyStyles(t,o,n){if(!t)return;if(o){if(o===this._def||this._styleChildren.has(o))return;this._styleChildren.add(o)}const a=this._nonce,s=this.shadowRoot,r=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(s);let i=null;for(let l=t.length-1;l>=0;l--){const c=document.createElement("style");a&&c.setAttribute("nonce",a),c.textContent=t[l],s.insertBefore(c,i||r),i=c,l===0&&(n||this._styleAnchors.set(this._def,c),o&&this._styleAnchors.set(o,c))}}_getStyleAnchor(t){if(!t)return null;const o=this._styleAnchors.get(t);return o&&o.parentNode===this.shadowRoot?o:(o&&this._styleAnchors.delete(t),null)}_getRootStyleInsertionAnchor(t){for(let o=0;o<t.childNodes.length;o++){const n=t.childNodes[o];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){const t=this._slots={};let o;for(;o=this.firstChild;){const n=o.nodeType===1&&o.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(o),this.removeChild(o)}}_renderSlots(){const t=this._getSlots(),o=this._instance.type.__scopeId;for(let n=0;n<t.length;n++){const a=t[n],s=a.getAttribute("name")||"default",r=this._slots[s],i=a.parentNode;if(r)for(const l of r){if(o&&l.nodeType===1){const c=o+"-s",u=document.createTreeWalker(l,1);l.setAttribute(c,"");let g;for(;g=u.nextNode();)g.setAttribute(c,"")}i.insertBefore(l,a)}else for(;a.firstChild;)i.insertBefore(a.firstChild,a);i.removeChild(a)}}_getSlots(){const t=[this];this._teleportTargets&&t.push(...this._teleportTargets);const o=new Set;for(const n of t){const a=n.querySelectorAll("slot");for(let s=0;s<a.length;s++)o.add(a[s])}return Array.from(o)}_injectChildStyle(t,o){this._applyStyles(t.styles,t,o)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(t){}}const ui=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?o=>ln(t,o):t};function up(e){e.target.composing=!0}function pi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Vn=Symbol("_assign"),jn=Symbol("_initialValue");function Vs(e,t,o){return t&&(e=e.trim()),o&&(e=is(e)),e}const di={created(e,{modifiers:{lazy:t,trim:o,number:n}},a){e.parentNode&&(e.type==="text"?e[jn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[jn]=e.defaultValue.replace(/\r\n?/g,`
|
||
`))),e[Vn]=ui(a);const s=n||a.props&&a.props.type==="number";fo(e,t?"change":"input",r=>{r.target.composing||e[Vn](Vs(e.value,o,s))}),(o||s)&&fo(e,"change",()=>{e.value=Vs(e.value,o,s)}),t||(fo(e,"compositionstart",up),fo(e,"compositionend",pi),fo(e,"change",pi))},mounted(e,{value:t,modifiers:{trim:o,number:n}}){const a=t??"",s=e[jn];delete e[jn],s!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==s?e[Vn](Vs(e.value,o,n)):e.value=a},beforeUpdate(e,{value:t,oldValue:o,modifiers:{lazy:n,trim:a,number:s}},r){if(e[Vn]=ui(r),e.composing)return;const i=(s||e.type==="number")&&!/^0\d/.test(e.value)?is(e.value):e.value,l=t??"";if(i===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===o||a&&e.value.trim()===l)||(e.value=l)}},pp=["ctrl","shift","alt","meta"],dp={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>pp.some(o=>e[`${o}Key`]&&!t.includes(o))},gi=(e,t)=>{if(!e)return e;const o=e._withMods||(e._withMods={}),n=t.join(".");return o[n]||(o[n]=(a,...s)=>{for(let r=0;r<t.length;r++){const i=dp[t[r]];if(i&&i(a,t))return}return e(a,...s)})},gp=Pe({patchProp:ap},Vu);let fi;function hi(){return fi||(fi=vu(gp))}const fp=(...e)=>{hi().render(...e)},$i=(...e)=>{const t=hi().createApp(...e),{mount:o}=t;return t.mount=n=>{const a=$p(n);if(!a)return;const s=t._component;!ee(s)&&!s.render&&!s.template&&(s.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=o(a,!1,hp(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t};function hp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $p(e){return $e(e)?document.querySelector(e):e}/*!
|
||
* pinia v2.3.1
|
||
* (c) 2025 Eduardo San Martin Morote
|
||
* @license MIT
|
||
*/let mi;const zn=e=>mi=e,_i=Symbol();function js(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ko;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ko||(Ko={}));function mp(){const e=us(!0),t=e.run(()=>He({}));let o=[],n=[];const a=Oo({install(s){zn(a),a._a=s,s.provide(_i,a),s.config.globalProperties.$pinia=a,n.forEach(r=>o.push(r)),n=[]},use(s){return this._a?o.push(s):n.push(s),this},_p:o,_a:null,_e:e,_s:new Map,state:t});return a}const bi=()=>{};function yi(e,t,o,n=bi){e.push(t);const a=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),n())};return!o&&ka()&&Ql(a),a}function ho(e,...t){e.slice().forEach(o=>{o(...t)})}const _p=e=>e(),vi=Symbol(),zs=Symbol();function Ws(e,t){e instanceof Map&&t instanceof Map?t.forEach((o,n)=>e.set(n,o)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const o in t){if(!t.hasOwnProperty(o))continue;const n=t[o],a=e[o];js(a)&&js(n)&&e.hasOwnProperty(o)&&!ve(n)&&!Lt(n)?e[o]=Ws(a,n):e[o]=n}return e}const bp=Symbol();function yp(e){return!js(e)||!e.hasOwnProperty(bp)}const{assign:Gt}=Object;function vp(e){return!!(ve(e)&&e.effect)}function wp(e,t,o,n){const{state:a,actions:s,getters:r}=t,i=o.state.value[e];let l;function c(){i||(o.state.value[e]=a?a():{});const u=vc(o.state.value[e]);return Gt(u,s,Object.keys(r||{}).reduce((g,f)=>(g[f]=Oo(me(()=>{zn(o);const y=o._s.get(e);return r[f].call(y,y)})),g),{}))}return l=wi(e,c,t,o,n,!0),l}function wi(e,t,o={},n,a,s){let r;const i=Gt({actions:{}},o),l={deep:!0};let c,u,g=[],f=[],y;const E=n.state.value[e];!s&&!E&&(n.state.value[e]={});let L;function N(x){let A;c=u=!1,typeof x=="function"?(x(n.state.value[e]),A={type:Ko.patchFunction,storeId:e,events:y}):(Ws(n.state.value[e],x),A={type:Ko.patchObject,payload:x,storeId:e,events:y});const z=L=Symbol();Ln().then(()=>{L===z&&(c=!0)}),u=!0,ho(g,A,n.state.value[e])}const O=s?function(){const{state:A}=o,z=A?A():{};this.$patch(X=>{Gt(X,z)})}:bi;function F(){r.stop(),g=[],f=[],n._s.delete(e)}const v=(x,A="")=>{if(vi in x)return x[zs]=A,x;const z=function(){zn(n);const X=Array.from(arguments),W=[],ne=[];function J(H){W.push(H)}function ae(H){ne.push(H)}ho(f,{args:X,name:z[zs],store:S,after:J,onError:ae});let Q;try{Q=x.apply(this&&this.$id===e?this:S,X)}catch(H){throw ho(ne,H),H}return Q instanceof Promise?Q.then(H=>(ho(W,H),H)).catch(H=>(ho(ne,H),Promise.reject(H))):(ho(W,Q),Q)};return z[vi]=!0,z[zs]=A,z},b={_p:n,$id:e,$onAction:yi.bind(null,f),$patch:N,$reset:O,$subscribe(x,A={}){const z=yi(g,x,A.detached,()=>X()),X=r.run(()=>Dt(()=>n.state.value[e],W=>{(A.flush==="sync"?u:c)&&x({storeId:e,type:Ko.direct,events:y},W)},Gt({},l,A)));return z},$dispose:F},S=$n(b);n._s.set(e,S);const T=(n._a&&n._a.runWithContext||_p)(()=>n._e.run(()=>(r=us()).run(()=>t({action:v}))));for(const x in T){const A=T[x];if(ve(A)&&!vp(A)||Lt(A))s||(E&&yp(A)&&(ve(A)?A.value=E[x]:Ws(A,E[x])),n.state.value[e][x]=A);else if(typeof A=="function"){const z=v(A,x);T[x]=z,i.actions[x]=A}}return Gt(S,T),Gt(re(S),T),Object.defineProperty(S,"$state",{get:()=>n.state.value[e],set:x=>{N(A=>{Gt(A,x)})}}),n._p.forEach(x=>{Gt(S,r.run(()=>x({store:S,app:n._a,pinia:n,options:i})))}),E&&s&&o.hydrate&&o.hydrate(S.$state,E),c=!0,u=!0,S}/*! #__NO_SIDE_EFFECTS__ */function Wn(e,t,o){let n,a;const s=typeof t=="function";typeof e=="string"?(n=e,a=s?o:t):(a=e,n=e.id);function r(i,l){const c=Mc();return i=i||(c?st(_i,null):null),i&&zn(i),i=mi,i._s.has(n)||(s?wi(n,t,a,i):wp(n,a,i)),i._s.get(n)}return r.$id=n,r}const Hs="__doxaMapToken",qs="doxa:map-token",Li="__doxaMapTokenBridge",$o=()=>{if(typeof window>"u")return"";const e=window[Hs];return typeof e=="string"?e:""};function Pi(e){if(typeof window>"u")return"";const t=typeof e=="string"?e.trim():"";if(!t||t===$o())return $o();window[Hs]=t;try{window.dispatchEvent(new CustomEvent(qs,{detail:t}))}catch{}return t}function Lp(){if(typeof window>"u"||window[Li])return;const e=typeof window.MAP_TOKEN=="string"?window.MAP_TOKEN:"";e&&!$o()&&(window[Hs]=e);try{Object.defineProperty(window,"MAP_TOKEN",{configurable:!0,get(){return $o()},set(t){Pi(t)}}),window[Li]=!0}catch{}}function Pp(){Lp();const e=He($o());if(typeof window<"u"){const t=()=>{e.value=$o()};window.addEventListener(qs,t);try{Es(()=>window.removeEventListener(qs,t))}catch{}}return e}function Sp(e){return zc({loader:e,onError(t,o,n,a){a<=3?setTimeout(o,a*500):n()}})}const Ap={title:"كل مجموعات الشعوب",locations:"{n} موقعًا (مجموعة × بلد)",doxa:"مجموعات شعوب DOXA",frontier:"حدودية — لم يبدأ شيء",unreached:"غير مُبشَّرة — العمل يبدأ",reached:"مُبشَّرة — الكنيسة موجودة",hint:"انقر على صف لعرضها كلها · انقر مرة أخرى لعرض الكل",loading:"جارٍ تحميل كل مجموعات الشعوب…",loadError:"تعذّر تحميل الخريطة.",pray:"صلِّ لأجلهم ←",population:"السكان {n}"},xp={backToLegend:"العودة إلى المفتاح",closeDetailView:"إغلاق عرض التفاصيل",collapseLegend:"طيّ وسيلة الإيضاح",expandLegend:"توسيع وسيلة الإيضاح",toggleLegend:"إظهار وسيلة الإيضاح أو إخفاؤها"},Ep={prayForThem:"صلِّ من أجلهم",adoptThem:"تبنَّهم",moreInfo:"مزيد من المعلومات",zoomIn:"تكبير",zoomOut:"تصغير",switchToLightMode:"التبديل إلى الوضع الفاتح",switchToDarkMode:"التبديل إلى الوضع الداكن",resetView:"إعادة تعيين العرض",toggleFullscreen:"تبديل ملء الشاشة",aboutThisMap:"حول هذه الخريطة",closeMenu:"إغلاق القائمة",reloadMap:"إعادة تحميل الخريطة",showClusters:"إظهار المجموعات",clusterSettings:"إعدادات المجموعات",startAutoFly:"بدء الطيران التلقائي",stopFlight:"إيقاف الطيران",speedLabel:"السرعة:",speedOption:{slow:"بطيء",normal:"عادي",fast:"سريع"},shareEmbed:"مشاركة وتضمين",posterMap:"خريطة الملصق",prayerList:"قائمة الصلاة",cardDeck:"مجموعة البطاقات",printOptions:"خيارات الطباعة",showOnMap:"أظهر على الخريطة",close:"إغلاق",showOnMapAria:"أظهر {label} على الخريطة",cardStockAria:"حجم بطاقة الصلاة",previewPrintPoster:"معاينة وطباعة ملصق {label}",share:"مشاركة",shareSteps:["ضع هذه الخريطة على موقعك","أعدّ قائمة بمواقع الويب في مدينتك","علّمهم أن يضعوها أيضًا","علّمهم أن يعلّموا غيرهم وضعها","لنكثر الخرائط في كل مكان ليسوع!"],clearSelection:"إلغاء التحديد",noOptions:"لا توجد نتائج",renderingLocal:"يتم إنشاء صورة بجودة الطباعة في متصفحك — لا يتم تحميل أي شيء.",postersPerRow:"الملصقات في كل صف"},kp={title:"الوصول إلى الإنترنت حيث تعيش الشعوب غير المنخرطة",bands:{yes:"متصل 60%+",partial:"جزئي 25–59%",no:"منخفض، أقل من 25%",unknown:"غير مُقاس"},peopleGroup:"شعب",caveat:"أرقام وطنية (البنك الدولي). بيانات الاتصال لكل مدينة غير متاحة للعامة — لا تستنتج حال مدينة من بيانات بلدها.",sheet:{close:"إغلاق",ai:"عُثر على هذه البيانات عبر بحث معمّق بالذكاء الاصطناعي — وقد تتضمن معلومات خاطئة.",dismiss:"إغلاق التنبيه",internetUsers:"مستخدمو الإنترنت",measured:"سنة القياس",mobilePer100:"اشتراكات الجوال لكل 100",peopleGroups:"الشعوب",topPlatform:"المنصة الأولى",unknown:"غير معروف",carriers:"شركات الاتصالات ومزودو الإنترنت ({n})",socialPlatforms:"منصات التواصل الاجتماعي",note:"أرقام وطنية وليست قياسات للمدن. أسماء شركات الاتصالات هي أسماء أصحاب سجلات ASN — وتشمل البنوك والجامعات إلى جانب مزودي الإنترنت، لذا فإن تصنيفها كشركات اتصالات تقدير مبني على الاسم وليس تصنيفًا مُتحقَّقًا منه."}},Cp={research_controls:"أدوات البحث",clustering:"التجميع",filters:"عوامل التصفية",pin_dim:"خفوت النقاط",export_poster:"تصدير ملصق…",reload_data:"إعادة تحميل البيانات",off:"إيقاف",native:"أصلي",mst:"الشجرة الممتدة",network:"شبكة",off_desc:"إظهار كل نقطة على حدة",native_desc:"تجميع دوائر Mapbox (الأسرع)",mst_desc:"شبكات تقارب بالشجرة الممتدة الصغرى",network_desc:"خطوط ربط بأقرب جار",search_languages:"ابحث عن اللغات…",search_religions:"ابحث عن الأديان…",reset_all:"إعادة تعيين الكل",no_languages:"لم تُحمَّل أي لغات بعد",no_religions:"لم تُحمَّل أي أديان بعد",unadopted:"غير متبنّى",min:"الأدنى",max:"الأعلى",adopted:"متبنَّاة",adoption:"التبني",engaged:"مُخْدُومَة",engagement:"المشاركة",unengaged:"يحتاج إلى انخراط",language:"اللغة",religion:"الدين",population:"السكان",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",close:"إغلاق",clear:"مسح",map_controls:"أدوات التحكم بالخريطة"},Rp={bloc:"كتلة التقارب",gospel_access:"الوصول إلى الإنجيل",people:"الشعوب",people_name:"الشعب (الاسم)",praying:"يصلّون",religion_family:"عائلة الأديان",search_language:"ابحث عن لغة",search_people:"ابحث عن شعب",search_place:"ابحث عن مكان",search_religion:"ابحث عن دين",upgs_in_scope:"الشعوب ضمن النطاق",countries_touched:"الدول المشمولة",unreached:"غير موصولين",sum_population:"مجموع السكان",sum_praying:"مجموع المصلّين",charts:"الرسوم البيانية",table:"الجدول",cluster:"المجموعة",country:"الدولة",engagement:"المشاركة",language:"اللغة",language_family:"عائلة اللغة",people_group:"الشعب",population:"السكان",prayer:"الصلاة",region:"المنطقة",religion:"الدين",status:"الحالة",adopted:"متبنَّاة",filters:"عوامل التصفية",gospel_resources:"موارد الإنجيل",map:"الخريطة",search_placeholder:"ابحث عن الشعوب والأماكن واللغات والأديان…",any:"الكل",active_count:"{n} نشط",prayer_status:"حالة الصلاة",map_controls:"أدوات التحكم بالخريطة",close:"إغلاق",clear:"مسح",dashboard_title:"لوحة البحث الشاملة",align_dashboard:"محاذاة اللوحة",align_dashboard_tip:"إعادة تخطيط اللوحة إلى المحاذاة الافتراضية",selected:"المحدد",world:"العالم",vertical_legend:"مفتاح عمودي",groups_in_scope:"مجموعة ضمن النطاق",filter_by:"تصفية حسب",remove_filter:"إزالة التصفية",groups:"مجموعة",expand:"توسيع",collapse:"طيّ",place:"المكان"},Tp={labels:{country:"الدولة:",population:"السكان:",language:"اللغة:",religion:"الديانة:",languageFamily:"العائلة اللغوية:",peopleCommitted:"ملتزمون بالصلاة:"},messages:{noDescription:"لا يوجد وصف متاح."}},Op={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"الملاحظات التوضيحية أدناه باللغة الإنجليزية."},mode:{gap:"الفجوة",coverage:"الموارد المتوفرة"},search:{placeholder:"ابحث عن شعب أو لغة أو رمز ISO",clear:"مسح البحث",none:"لا شيء يطابق هذا الاسم أو اللغة أو الرمز.",placeholderShort:"شعب أو لغة أو رمز ISO"},legend:{title:"شعوب غير مبلَّغة ولا يوجد لها أي مورد إنجيلي",band60:"60%+ بلا أي مورد",band30:"30–59%",bandSome:"بعض الشعوب",bandAll:"كل الشعوب لديها شيء",tier2:"الكتاب المقدس والفيلم",tier1:"وُجد بعض الموارد",tier0:"لا شيء",hnr:"يمكنهم السماع، ولا يوجد نص",showAll:"عرض كل الشعوب",titleCoverage:"شعوب غير مبلَّغة ويوجد لها بعض الموارد الإنجيلية",cov80:"80%+ لديهم شيء",cov50:"50–79%",cov1:"1–49%",cov0:"لا شيء لأي منهم",tallyEach:"كل",tallyIs:"هو شعب واحد —",tallyOf:"منها،",tallyLink:"لديها رابط",doxa0:"لدى الجميع شيء",doxa1:"1–4 بلا شيء",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 لديهم موارد",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"شعوب دوكسا على هذه الخريطة",notPlaced:"ضمن القائمة، بلا موقع بعد",outOfScope:"لا توجد شعوب دوكسا — غير ملوَّنة"},tabs:{groups:"أكبر الشعوب",countries:"حسب البلد",regions:"حسب المنطقة",noprayer:"لا أحد يصلّي",hnr:"يسمعون، بلا نص"},stat:{language:"اللغة",population:"عدد السكان",countries:"البلدان",peopleGroups:"الشعوب",noResource:"لا يوجد أي مورد",peopleAffected:"الأشخاص المتأثرون",haveScripture:"لديهم الكتاب المقدس",haveFilm:"لديهم الفيلم",haveAudio:"لديهم كتاب مقدس مسموع",signLanguages:"لغات الإشارة",growingUnreached:"متزايدون وغير مبلَّغين",deathsDay:"الوفيات المقدَّرة يوميًا"},sheet:{ownLanguage:"بلغتهم الأم",close:"إغلاق",loading:"جارٍ تحميل الموارد…",pray:"صلِّ من أجل",everyResource:"كل الموارد بـ",alsoSpeak:"يتحدثون أيضًا"},res:{scripture:"الكتاب المقدس",film:"الفيلم",audio:"صوتي",bibleVideo:"فيديو كتابي",bibleStories:"Open Bible Stories",gospelAudio:"صوتيات الإنجيل",gospelPresentation:"عرض للإنجيل",scriptureEarth:"Scripture Earth",training:"تدريب على التلمذة",jesusFilm:"فيلم يسوع"},state:{noneFound:"لا شيء",noneAtFcbh:"لا شيء في FCBH",noneAtGrn:"لا شيء في GRN",notInZume:"ليست ضمن لغات Zume الـ54",linkChecked:"تم التحقق من الرابط",unchecked:"لم يُتحقق منه",linkDead:"رابط معطّل",wrongLanguage:"لغة غير صحيحة",varietyNotStated:"(اللهجة غير محددة)",inLanguage:"بـ"},guide:{dotVsCountry:"كل نقطة هي شعب واحد من شعوب دوكسا ولغته؛ أما لون البلد فهو عدد تلك الشعوب.",noneFoundShort:"«لا شيء» تعني غير موجود في المصادر التي بحثنا فيها — وليست دليلًا على عدم وجوده.",tapCountry:"اضغط على بلد لترى الموارد الفعلية، شعبًا شعبًا."},tables:{title:"موارد الإنجيل — البيانات",showing:"عرض",of:"من",for:"لـ",filteredTo:"مصفّى حسب",showAll:"عرض كل الموارد",t_doxa:"دوكسا — الوصول إلى الإنجيل",t_links:"كل مورد ورابطه",t_nothing:"حيث لا يوجد شيء",t_countrygap:"الفجوة حسب البلد",t_translation:"يسمعون ولا نص لديهم",t_translationcountry:"أين نترجم",t_gaps:"الفجوات والفرص",t_bridges:"جسور المدن",t_deaf:"فجوة الصم",t_resources:"الموارد حسب الشعب",t_languages:"اللغات حسب البلد",t_growth:"الوصول مقابل نمو السكان"},pages:{listTitle:"موارد الإنجيل حسب اللغة",chartsTitle:"موارد الإنجيل — حسب اللغة",loadingTables:"جارٍ تحميل جداول الموارد…"}},Np={search:"ابحث عن الشعوب…",hide_filters:"إخفاء عوامل التصفية",show_filters:"إظهار عوامل التصفية",total:"الإجمالي",showing:"المعروض",load_more:"عرض المزيد",full_profile:"الملف الكامل",wagf_region:"المنطقة",wagf_block:"كتلة التقارب",rop1:"الشعب",religion:"الدين",exact_filter:"تطابق تام",clear_all:"مسح الكل",loading:"جارٍ التحميل…",no_results:"لا توجد شعوب مطابقة لهذا التصفية.",type_to_search:"اكتب للبحث...",load_failed:"تعذّر تحميل بيانات الشعوب. هذه مشكلة اتصال، وليست مشكلة في التصفية."},Ip={title:{adoption:"تقدم التبني",affinityBlocs:"كتل القرابة",doxaRegions:"مناطق Doxa",engagement:"تقدم الانخراط",gospelResources:"موارد الإنجيل",languageFamilies:"العائلات اللغوية",prayer:"تقدم الصلاة",upg100List:"قائمة UPG 100 الخاصة بي"},header:{collapsed:"وسيلة الإيضاح",peopleGroupFallback:"مجموعة الشعب",default:"مفتاح الخريطة"},prayer:{needsPrayer:"يحتاج إلى صلاة",hasPrayer:"لديه صلاة",fullPrayerCoverage:"تغطية صلاة كاملة"},progress:{title:"التقدم",covered:"{covered} من {total} مجموعة شعبية مغطاة بالصلاة · {pct}%",short:"{covered} من {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"يحتاج إلى انخراط",hasEngagement:"لديه انخراط"},adoption:{needsAdoption:"يحتاج إلى تبني",hasAdoption:"لديه تبني"},columns:{upgs:"UUPGs",population:"السكان",name:"الاسم"},footer:{total:"الإجمالي"},sortByUpgs:"ترتيب حسب UUPG",sortByPop:"ترتيب حسب السكان",colLabel:{religion:"ديانات UUPG",prayer:"حالة الصلاة",engagement:"حالة المشاركة",adoption:"حالة التبني",status:"الحالة"},titleBar:{legend:"مفتاح الخريطة",peopleGroups:"الشعوب",wagfRegions:"مناطق WAGF",languages:"اللغات"},tabInfo:{upg100Region:"المنطقة — ترتّب قوائم UPG-100 حسب منطقة العالم (أفريقيا، الهند، الشرق الأوسط، الصمّ، …). الأعداد هي مجموع UUPG والسكان لكل قائمة تحتها.",upg100Zone:"قوائم UPG-100 — كل واحدة هي قائمة صلاة للشعوب غير الموصول إليها في منطقة ما، وهي ما ترسمه الخريطة وتلوّنه. تُطبع كل قائمة ككُتيّب خاص بها.",upg100Group:"مجموعة شعبية — المجموعات غير الموصول إليها داخل القائمة، الأكثر حاجة للصلاة أولاً. كل نقطة على الخريطة هي واحدة منها."},a11y:{expandRow:"توسيع {label}",collapseRow:"طي {label}",clearSelection:"إلغاء التحديد"}},Mp={menuComingSoon:"القائمة قادمة قريباً",pinHint:{tapDot:"اضغط على نقطة ملوّنة — لا يزال هناك من يحتاج إلى الصلاة"},upg100WallHeading:"قائمتي UPG 100 — قوائم الصلاة والملصقات",upg100WallTag:"تعبئة للصلاة",upg100WallIntro:"وزّع مهمة الصلاة في مجموعات من خمسين ومئة — كما أطعم يسوع الخمسة آلاف (لوقا ٩:١٤). كل ملصق هو قائمة من 100 يمكنك أن تصلي بها وتطبعها وتعلّقها على الحائط — مصلّيًا لأجلهم <strong>باسم شعبهم</strong>."},Fp={clusterByRegion:"حسب منطقة Doxa",clusterByLanguageFamily:"حسب العائلة اللغوية",clusterByGospelResource:"حسب مورد الإنجيل"},Dp={country:{wagfRegion:"منطقة WAGF",wagfBlock:"كتلة WAGF",country:"الدولة",uupgCount:"عدد UUPG"}},Gp={header:"دورة الصلاة الحالية",lap:"الدورة",upgs:"UUPGs",separator:" من "},Up={"%count% people groups in %countries% countries":"%count% مجموعة شعبية في %countries% دولة","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"تضم %region% %count% مجموعة بشرية في %countries% دولة. يشير لون كل نقطة إلى عدد الأشخاص الذين يصلّون من أجل تلك المجموعة البشرية.","1+ People Praying":"شخص واحد أو أكثر يصلّي","100+ People Praying":"أكثر من 100 شخص يصلّون",Adopted:"متبنَّاة","Adoption Progress":"تقدُّم التبنّي","All Regions":"جميع المناطق","Alternate Names":"الأسماء البديلة","Choose a region":"اختر منطقة","Clear All":"مسح الكل",Countries:"الدول","Countries in this region":"الدول في هذه المنطقة",Country:"الدولة",Engaged:"مُخْدُومَة","Engagement Progress":"تقدُّم الانخراط","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"كل مجموعة بشرية غير مبشرة تتبناها كنيسة ملتزمة بالصلاة والعطاء والإرسال","Exact Search":"بحث دقيق","Find unreached people groups by region and country.":"ابحث عن المجموعات البشرية غير المُبلَّغة حسب المنطقة والدولة.","Full Profile":"الملف الكامل",Goal:"الهدف","Hide Filters":"إخفاء المرشحات","Hide country posters":"إخفاء ملصقات الدولة",Intercessors:"المتشفعين","Load More":"تحميل المزيد","Loading results...":"النتائج قيد التحميل...",Map:"الخريطة","Mobilize 100+ people praying daily for each DOXA people group":"حشد أكثر من 100 شخص للصلاة يوميًا من أجل كل مجموعة بشرية من مجموعات دوكسا","No One Praying":"لا أحد يصلّي","No options found":"لم يتم العثور على أي خيارات","No poster has been generated for this country yet.":"لم يُنشأ أي ملصق لهذه الدولة بعد.","No unengaged people groups by 2033":"الهدف هو القضاء على جميع الشعوب الغير مخدومة روحيا بحلول عام 2033","Not Adopted":"لم يتم انتماؤه",Other:"أخرى","Page Not Found":"الصفحة غير موجودة","People Group":"مجموعة بشرية","People Groups":"مجموعات شعبية","People committed to praying":"الأشخاص الذين التزموا بالصلاة","Pick a region above, or click any dot to open that people group's country.":"اختر منطقة أعلاه، أو انقر على أي نقطة لفتح دولة تلك المجموعة البشرية.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"اختر منطقة أو دولة من تبويب قائمة المناطق لتضييق نطاق لوحة المعلومات هذه.",Population:"عدد السكان","Prayer Coverage":"تغطية الصلاة","Prayer coverage progress":"تقدم تغطية الصلاة","Region Dashboards":"لوحات معلومات المناطق","Region dashboard":"لوحة معلومات المنطقة",Regions:"المناطق","Regions List":"قائمة المناطق",Religion:"الدين","Search names, country/continent, religions...":"ابحث عن الأسماء، الدولة/القارة، الأديان...","See %region% dashboard":"عرض لوحة معلومات %region%","See All":"عرض جميع العناصر",Select:"اختر","Select View":"اختر العرض","Show Filters":"إظهار عوامل التصفية","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"توجد %count% مجموعات بشرية في %country%. تحقق من الخريطة لمعرفة المجموعات البشرية الواقعة على حدود هذه الدولة أيضًا.",Total:"المجموع","Type to search...":"اكتب ما تريد البحث عنه...","Unengaged people groups":"المجموعات الشعبية غير المَخْدُومَة","View country posters":"عرض ملصقات الدولة",Views:"العروض","WAGF Block":"كتلة WAGF","WAGF Region":"منطقة WAGF","people groups adopted":"مجموعات شعبية متبنَّاة","people groups engaged":"مجموعات شعبية مُخْدُومَة","Outside this region":"خارج هذه المنطقة",Pray:"صلّي","Loading region dashboards…":"جارٍ تحميل لوحات المناطق…","No regions found.":"لم يتم العثور على مناطق.","Region data could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل بيانات المناطق. هذه مشكلة في الاتصال، وليست تصفية.","People groups could not be loaded. This is a connection problem, not a filter.":"تعذّر تحميل الشعوب. هذه مشكلة في الاتصال، وليست تصفية.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"تعذّر تشغيل الخريطة. هذه مشكلة في رمز الخريطة أو في الاتصال، وليست تصفية — والأرقام أعلاه غير متأثرة."},Bp={placeholder:"شعب، مكان، لغة، ديانة",labels:{people:"الشعب:",place:"المكان:",language:"اللغة:",religion:"الديانة:"},kinds:{people:"الشعب + الدولة",peopleGroup:"الشعب",bloc:"كتلة التقارب",cluster:"مجموعة شعوب",country:"الدولة",region:"المنطقة",family:"عائلة اللغة",languageKind:"اللغة",dialect:"اللهجة",religionKind:"الدين"},sections:{within:"ضمن {selection}",allData:"كل بيانات DOXA"}},Vp={title:"استوديو الإضافات",navLabel:"الإضافات حسب القدرة",countLabel:"{bundles} حزمة · {elements} إضافة مدرجة هنا",changeLanguage:"تغيير اللغة",copyEmbed:"نسخ رمز التضمين",copy:"نسخ",copied:"تم النسخ",scriptEmbed:"تضمين عبر سكربت",loading:"جارٍ تحميل {name}…",couldNotLoad:"تعذّر تحميل {name}.",chooseElement:"اختر إضافة من القائمة.",filterPlaceholder:"تصفية الإضافات",collapseAll:"طي الكل",noMatch:"لا توجد إضافة تطابق «{query}».",openSection:"فتح {cap}، {label}",part:"جزء",noStandalone:"بلا صفحة مستقلة",cap5:"هيكل التطبيق",cap4:"مركّب",cap3:"متعدد العروض",cap2:"إعداد مسبق",cap1:"مفرد",toggleList:"إظهار القائمة أو إخفاؤها",openViews:"فتح قائمة العروض",expandList:"توسيع القائمة",collapseList:"طي القائمة",collapse:"طي",partOf:"جزء من {name}، غير منشور بمفرده"},jp={prayer:"الصلاة",adoption:"التبني",engagement:"المشاركة","affinity-blocks":"الشعوب",regions:"المناطق",countries:"الدول","language-families":"اللغات",religion:"الأديان",family:"عائلة اللغة",language:"اللغة",dialect:"اللهجة/التنوع",bloc:"كتلة التقارب",cluster:"المجموعة",group:"الشعب",pgic:"الشعب في الدولة",region:"منطقة WAGF",block:"كتلة WAGF",country:"الدولة",upg100Region:"المنطقة",upg100Zone:"قوائم UPG-100",upg100Group:"مجموعة شعبية",selectView:"اختر العرض",views:"العروض",prayerResources:"موارد الصلاة",map:"الخريطة"},zp={kicker:"DOXA · الرؤية",title:"كل شعب. كل مكان.",tagline:"من كل مجموعات الشعوب في العالم إلى التي تصلي لأجلها DOXA، محسوبةً من البيانات.",funnelLabel:"من كل مجموعات الشعوب إلى مجموعات شعوب DOXA",allLabel:"مجموعات الشعوب",allNote:"كل مجموعة شعب، في كل بلد تعيش فيه",unreachedLabel:"غير المُبشَّرة",unreachedNote:"أقل من 2% إنجيليون",frontierLabel:"الحدودية",frontierNote:"أقل من 0.1% إنجيليون",doxaLabel:"مجموعات شعوب DOXA",doxaNote:"{frontier} منها حدودية",people:"{n} نسمة",sources:"مجموعات الشعوب: {imb}، بيانات {date}. قائمة DOXA: pray.doxa.life، {date2}.",howCounted:"كيف تُحسب هذه الأرقام",ruleAll:"كل صف في بيانات IMB لمجموعات الشعوب: مجموعة شعب واحدة في بلد واحد.",ruleUnreached:"أولوية الضياع لدى IMB من 0 إلى 2: أقل من 2% إنجيليون.",ruleFrontier:"أولوية الضياع لدى IMB رقم 0: أقل من 0.1% إنجيليون. جزء من غير المُبشَّرة.",ruleDoxa:"كل مجموعة في قائمة صلاة DOXA، مطابَقة مع بيانات IMB حسب الشعب والبلد. ليست كلها حدودية."},Wp={title:"Alle Volksgruppen",locations:"{n} Standorte (Gruppe × Land)",doxa:"DOXA-Volksgruppen",frontier:"Frontier — noch nichts begonnen",unreached:"Unerreicht — Arbeit beginnt",reached:"Erreicht — Gemeinde ist da",hint:"Zeile anklicken, um alle zu sehen · erneut klicken für alle",loading:"Alle Volksgruppen werden geladen…",loadError:"Die Karte konnte nicht geladen werden.",pray:"Für sie beten →",population:"Einw. {n}"},Hp={backToLegend:"Zurück zur Legende",closeDetailView:"Detailansicht schließen",collapseLegend:"Legende einklappen",expandLegend:"Legende ausklappen",toggleLegend:"Legende ein- oder ausblenden"},qp={prayForThem:"Für sie beten",adoptThem:"Sie adoptieren",moreInfo:"Mehr Infos",zoomIn:"Vergrößern",zoomOut:"Verkleinern",switchToLightMode:"Zum hellen Modus wechseln",switchToDarkMode:"Zum dunklen Modus wechseln",resetView:"Ansicht zurücksetzen",toggleFullscreen:"Vollbild umschalten",aboutThisMap:"Über diese Karte",closeMenu:"Menü schließen",reloadMap:"Karte neu laden",showClusters:"Cluster anzeigen",clusterSettings:"Cluster-Einstellungen",startAutoFly:"Auto-Flug starten",stopFlight:"Flug stoppen",speedLabel:"Geschwindigkeit:",speedOption:{slow:"Langsam",normal:"Normal",fast:"Schnell"},shareEmbed:"Teilen und einbetten",posterMap:"Posterkarte",prayerList:"Gebetsliste",cardDeck:"Kartenset",printOptions:"Druckoptionen",showOnMap:"Auf der Karte zeigen",close:"Schließen",showOnMapAria:"{label} auf der Karte zeigen",cardStockAria:"Größe der Gebetskarte",previewPrintPoster:"Vorschau und Druck des Posters {label}",share:"Teilen",shareSteps:["Binde diese Karte auf deiner Website ein","Erstelle eine Liste der Websites in deiner Stadt","Zeige ihnen, wie sie sie ebenfalls einbinden","Zeige ihnen, wie sie es anderen beibringen","Lasst uns Karten überall vermehren – für Jesus!"],clearSelection:"Auswahl aufheben",noOptions:"Keine Optionen gefunden",renderingLocal:"Ein druckfähiges Bild wird in deinem Browser erzeugt — es wird nichts hochgeladen.",postersPerRow:"Poster pro Zeile"},Xp={title:"Internetzugang dort, wo Volksgruppen ohne Engagement leben",bands:{yes:"verbunden 60%+",partial:"teilweise 25–59%",no:"gering, unter 25%",unknown:"nicht gemessen"},peopleGroup:"Volksgruppe",caveat:"LANDESWEITE Zahlen (Weltbank). Konnektivität je Stadt ist nicht öffentlich verfügbar — schließen Sie nicht vom Land auf eine Stadt.",sheet:{close:"Schließen",ai:"Diese Daten wurden durch KI-gestützte Recherche gefunden — sie können falsche Angaben enthalten.",dismiss:"Ausblenden",internetUsers:"Internetnutzer",measured:"Gemessen",mobilePer100:"Mobilfunk pro 100",peopleGroups:"Volksgruppen",topPlatform:"Wichtigste Plattform",unknown:"unbekannt",carriers:"Netzbetreiber & ISPs ({n})",socialPlatforms:"Soziale Plattformen",note:"Landesweite Zahlen, keine Messungen je Stadt. Betreibernamen sind ASN-Registerinhaber — darunter neben ISPs auch Banken und Universitäten; die Einstufung als Netzbetreiber ist daher eine Namensheuristik, keine geprüfte Klassifizierung."}},Kp={research_controls:"Forschungssteuerung",clustering:"Clustering",filters:"Filter",pin_dim:"Pin-Transparenz",export_poster:"Poster exportieren…",reload_data:"Daten neu laden",off:"Aus",native:"Nativ",mst:"MST",network:"Netzwerk",off_desc:"Jeden Pin einzeln anzeigen",native_desc:"Mapbox-Kreiscluster (am schnellsten)",mst_desc:"Affinitätsnetze über minimalen Spannbaum",network_desc:"Verbindungslinien zum nächsten Nachbarn",search_languages:"Sprachen suchen…",search_religions:"Religionen suchen…",reset_all:"Alles zurücksetzen",no_languages:"Noch keine Sprachen geladen",no_religions:"Noch keine Religionen geladen",unadopted:"Nicht adoptiert",min:"min",max:"max",adopted:"Adoptiert",adoption:"Adoption",engaged:"Engagiert",engagement:"Engagement",unengaged:"Braucht Engagement",language:"Sprache",religion:"Religion",population:"Bevölkerung",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",close:"Schließen",clear:"Zurücksetzen",map_controls:"Kartensteuerung"},Yp={bloc:"Affinitätsblock",gospel_access:"Zugang zum Evangelium",people:"Völker",people_name:"Volk (Name)",praying:"Betend",religion_family:"Religionsfamilie",search_language:"Sprache suchen",search_people:"Volk suchen",search_place:"Ort suchen",search_religion:"Religion suchen",upgs_in_scope:"UPGs im Bereich",countries_touched:"berührte Länder",unreached:"unerreicht",sum_population:"Σ Bevölkerung",sum_praying:"Σ Betende",charts:"Diagramme",table:"Tabelle",cluster:"Cluster",country:"Land",engagement:"Engagement",language:"Sprache",language_family:"Sprachfamilie",people_group:"Volk",population:"Bevölkerung",prayer:"Gebet",region:"Region",religion:"Religion",status:"Status",adopted:"Adoptiert",filters:"Filter",gospel_resources:"Evangeliumsressourcen",map:"Karte",search_placeholder:"Volksgruppen, Orte, Sprachen, Religionen suchen…",any:"Alle",active_count:"{n} aktiv",prayer_status:"Gebetsstatus",map_controls:"Kartensteuerung",close:"Schließen",clear:"Zurücksetzen",dashboard_title:"Big-Picture-Forschungsdashboard",align_dashboard:"Layout ausrichten",align_dashboard_tip:"Das Dashboard-Layout auf die Standardausrichtung zurücksetzen",selected:"Ausgewählt",world:"Welt",vertical_legend:"Vertikale Legende",groups_in_scope:"Volksgruppen im Bereich",filter_by:"Filtern nach",remove_filter:"Filter entfernen",groups:"Volksgruppen",expand:"Aufklappen",collapse:"Zuklappen",place:"Ort"},Zp={labels:{country:"Land:",population:"Bevölkerung:",language:"Sprache:",religion:"Religion:",languageFamily:"Sprachfamilie:",peopleCommitted:"Zum Gebet verpflichtet:"},messages:{noDescription:"Keine Beschreibung verfügbar."}},Jp={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Die erläuternden Hinweise unten sind auf Englisch."},mode:{gap:"Lücke",coverage:"Gefundene Ressourcen"},search:{placeholder:"Volksgruppe, Sprache oder ISO-Code suchen",clear:"Suche löschen",none:"Nichts passt zu diesem Namen, dieser Sprache oder diesem Code.",placeholderShort:"Gruppe, Sprache oder ISO-Code"},legend:{title:"Unerreichte Volksgruppen ohne gefundene Evangeliums-Ressource",band60:"60 %+ ohne jede Ressource",band30:"30–59 %",bandSome:"einige Gruppen",bandAll:"alle Gruppen haben etwas",tier2:"Bibeltext und Film",tier1:"etwas gefunden",tier0:"nichts gefunden",hnr:"können hören, kein Text",showAll:"Alle Gruppen anzeigen",titleCoverage:"Unerreichte Volksgruppen mit einer gefundenen Evangeliums-Ressource",cov80:"80 %+ haben etwas",cov50:"50–79 %",cov1:"1–49 %",cov0:"für keinen etwas gefunden",tallyEach:"Jeder",tallyIs:"ist EINE Volksgruppe —",tallyOf:"davon,",tallyLink:"mit einem Link",doxa0:"alle haben etwas",doxa1:"1–4 ohne",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 erreicht",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa-Volksgruppen auf dieser Karte",notPlaced:"auf der Liste, noch nicht verortet",outOfScope:"keine Doxa-Volksgruppen — nicht eingefärbt"},tabs:{groups:"Größte Gruppen",countries:"Nach Land",regions:"Nach Region",noprayer:"Niemand betet",hnr:"Hören ja, Text nein"},stat:{language:"Sprache",population:"Bevölkerung",countries:"Länder",peopleGroups:"Volksgruppen",noResource:"Keine Ressource gefunden",peopleAffected:"Betroffene Menschen",haveScripture:"Haben Bibeltext",haveFilm:"Haben Film",haveAudio:"Haben Hörbibel",signLanguages:"Gebärdensprachen",growingUnreached:"Wachsend & unerreicht",deathsDay:"Geschätzte Todesfälle/Tag"},sheet:{ownLanguage:"In ihrer eigenen Sprache",close:"Schließen",loading:"Ressourcen werden geladen…",pray:"Betet für",everyResource:"Alle Ressourcen auf",alsoSpeak:"Sprechen ebenfalls"},res:{scripture:"Bibeltext",film:"Film",audio:"Audio",bibleVideo:"Bibelvideo",bibleStories:"Open Bible Stories",gospelAudio:"Evangeliums-Audio",gospelPresentation:"Evangeliums-Darstellung",scriptureEarth:"Scripture Earth",training:"Jüngerschaftstraining",jesusFilm:"JESUS Film"},state:{noneFound:"nichts gefunden",noneAtFcbh:"nichts bei FCBH",noneAtGrn:"nichts bei GRN",notInZume:"nicht in Zumes 54",linkChecked:"Link geprüft",unchecked:"ungeprüft",linkDead:"Link tot",wrongLanguage:"falsche Sprache",varietyNotStated:"(Varietät nicht angegeben)",inLanguage:"auf"},guide:{dotVsCountry:"Ein Punkt ist EINE Volksgruppe von Doxa mit ihrer eigenen Sprache; ein Land ist die ANZAHL dieser Gruppen.",noneFoundShort:"„Nichts gefunden“ heißt: nicht in den geprüften Quellen — nie ein Beweis, dass es nichts gibt.",tapCountry:"Tippen Sie auf ein Land, um die Ressourcen Gruppe für Gruppe zu sehen."},tables:{title:"Evangeliums-Ressourcen — Daten",showing:"Zeige",of:"von",for:"für",filteredTo:"Gefiltert nach",showAll:"Alle Ressourcen zeigen",t_doxa:"Doxa — Zugang zum Evangelium",t_links:"Jede Ressource + Link",t_nothing:"Wo nichts gefunden wurde",t_countrygap:"Die Lücke nach Land",t_translation:"Hören ja, Text nein",t_translationcountry:"Wo übersetzen",t_gaps:"Lücken & Chancen",t_bridges:"Stadt-Brücken",t_deaf:"Die Gehörlosen-Lücke",t_resources:"Ressourcen nach Volksgruppe",t_languages:"Sprachen nach Land",t_growth:"Zugang vs. Bevölkerungswachstum"},pages:{listTitle:"Evangeliums-Ressourcen nach Sprache",chartsTitle:"Evangeliums-Ressourcen — nach Sprache",loadingTables:"Ressourcentabellen werden geladen…"}},Qp={search:"Volksgruppen suchen…",hide_filters:"Filter ausblenden",show_filters:"Filter anzeigen",total:"Gesamt",showing:"Angezeigt",load_more:"Mehr laden",full_profile:"Vollständiges Profil",wagf_region:"Region",wagf_block:"Affinitätsblock",rop1:"Volk",religion:"Religion",exact_filter:"Exakt",clear_all:"Alle löschen",loading:"Wird geladen…",no_results:"Keine Volksgruppen entsprechen diesem Filter.",type_to_search:"Zum Suchen tippen...",load_failed:"Die Daten konnten nicht geladen werden. Das ist ein Verbindungsproblem, nicht Ihr Filter."},ed={title:{adoption:"Adoptionsfortschritt",affinityBlocs:"Affinitätsblöcke",doxaRegions:"Doxa-Regionen",engagement:"Engagement-Fortschritt",gospelResources:"Evangeliumsressourcen",languageFamilies:"Sprachfamilien",prayer:"Gebetsfortschritt",upg100List:"Meine UPG-100-Liste"},header:{collapsed:"Legende",peopleGroupFallback:"Volksgruppe",default:"Legende"},prayer:{needsPrayer:"Braucht Gebet",hasPrayer:"Hat Gebet",fullPrayerCoverage:"Vollständige Gebetsabdeckung"},progress:{title:"Fortschritt",covered:"{covered} von {total} Volksgruppen im Gebet abgedeckt · {pct}%",short:"{covered} von {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Braucht Engagement",hasEngagement:"Hat Engagement"},adoption:{needsAdoption:"Braucht Adoption",hasAdoption:"Hat Adoption"},columns:{upgs:"UUPGs",population:"Bevölkerung",name:"Name"},footer:{total:"Gesamt"},sortByUpgs:"Nach UUPGs sortieren",sortByPop:"Nach Bevölkerung sortieren",colLabel:{religion:"UUPG-Religionen",prayer:"Gebetsstatus",engagement:"Engagement-Status",adoption:"Adoptionsstatus",status:"Status"},titleBar:{legend:"Legende",peopleGroups:"Völker",wagfRegions:"WAGF-Regionen",languages:"Sprachen"},tabInfo:{upg100Region:"Region — sortiert die UPG-100-Listen nach Weltgegend (Afrika, Indien, Naher Osten, Gehörlose, …). Die Zahlen sind die UUPGs und die Bevölkerung aller darunterliegenden Listen zusammen.",upg100Zone:"UPG-100-Listen — jede ist eine Gebetsliste der unerreichten Volksgruppen eines Gebiets und das, was die Karte zeichnet und einfärbt. Jede Liste wird als eigenes Heft gedruckt.",upg100Group:"Volksgruppe — die einzelnen unerreichten Gruppen innerhalb einer Liste, größter Gebetsbedarf zuerst. Jeder Kartenpunkt ist eine davon."},a11y:{expandRow:"{label} ausklappen",collapseRow:"{label} einklappen",clearSelection:"Auswahl aufheben"}},td={menuComingSoon:"Menü folgt in Kürze",pinHint:{tapDot:"Tippe auf einen farbigen Punkt — jemand braucht noch Gebet"},upg100WallHeading:"Meine UPG-100-Liste — Gebetslisten und Poster",upg100WallTag:"Gebetsmobilisierung",upg100WallIntro:"Teilen Sie die Gebetsaufgabe in Gruppen zu fünfzig und hundert auf — so wie Jesus die 5.000 speiste (Lukas 9,14). Jedes Poster ist eine 100er-Liste, die Sie beten, drucken und an die Wand hängen können — und für sie <strong>mit dem Namen ihrer Volksgruppe</strong> beten."},od={clusterByRegion:"Nach Doxa-Region",clusterByLanguageFamily:"Nach Sprachfamilie",clusterByGospelResource:"Nach Evangeliumsressource"},nd={country:{wagfRegion:"WAGF-Region",wagfBlock:"WAGF-Block",country:"Land",uupgCount:"Anzahl UUPG"}},sd={header:"AKTUELLE GEBETSRUNDE",lap:"Runde",upgs:"UUPGs",separator:" von "},ad={"%count% people groups in %countries% countries":"%count% Volksgruppen in %countries% Ländern","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% hat %count% Volksgruppen in %countries% Ländern. Die Farbe jedes Punktes zeigt, wie viele Menschen für diese Volksgruppe beten.","1+ People Praying":"1+ Menschen beten","100+ People Praying":"100+ Menschen beten",Adopted:"Adoptiert","Adoption Progress":"Adoptionsfortschritt","All Regions":"Alle Regionen","Alternate Names":"Alternative Namen","Choose a region":"Region auswählen","Clear All":"Alle löschen",Countries:"Länder","Countries in this region":"Länder in dieser Region",Country:"Land",Engaged:"Engagiert","Engagement Progress":"Fortschritt der Arbeit vor Ort","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Jede einzelne der völlig unerreichten Volksgruppen soll von einer Ortsgemeinde adoptiert werden, durch Beten, Geben und Senden","Exact Search":"Exakte Suche","Find unreached people groups by region and country.":"Finde unerreichte Volksgruppen nach Region und Land.","Full Profile":"Vollständiges Profil",Goal:"Ziel","Hide Filters":"Filter ausblenden","Hide country posters":"Länderposter ausblenden",Intercessors:"Fürbitter","Load More":"Mehr laden","Loading results...":"Ergebnisse werden geladen...",Map:"Karte","Mobilize 100+ people praying daily for each DOXA people group":"Mobilisiere 100+ Menschen, die täglich für jede DOXA-Volksgruppe beten","No One Praying":"Niemand betet","No options found":"Keine Standorte gefunden","No poster has been generated for this country yet.":"Für dieses Land wurde noch kein Poster erstellt.","No unengaged people groups by 2033":"Dass es bis 2033 keine völlig unerreichte Volksgruppe mehr gibt","Not Adopted":"noch nicht adoptiert",Other:"Andere","Page Not Found":"Seite nicht gefunden","People Group":"Personengruppe","People Groups":"Volksgruppen","People committed to praying":"Menschen, die sich dem Beten verpflichtet haben","Pick a region above, or click any dot to open that people group's country.":"Wählen Sie oben eine Region aus oder klicken Sie auf einen Punkt, um das Land dieser Volksgruppe zu öffnen.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Wählen Sie im Tab „Regionenliste“ eine Region oder ein Land aus, um dieses Dashboard einzugrenzen.",Population:"Bevölkerung","Prayer Coverage":"Gebetsabdeckung","Prayer coverage progress":"Fortschritt der Gebetsabdeckung","Region Dashboards":"Regionen-Dashboards","Region dashboard":"Regions-Dashboard",Regions:"Regionen","Regions List":"Regionenliste",Religion:"Primäre Religion","Search names, country/continent, religions...":"Suche nach Namen, Land/Kontinent, Religionen...","See %region% dashboard":"Dashboard anzeigen: %region%","See All":"Alle anzeigen",Select:"Auswählen","Select View":"Ansicht auswählen","Show Filters":"Filter anzeigen","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% gibt es %count% Volksgruppen. Sieh auch auf der Karte nach den Volksgruppen an der Grenze dieses Landes.",Total:"Gesamt","Type to search...":"Geben Sie etwas ein, um danach zu suchen","Unengaged people groups":"Unberührte Volksgruppen","View country posters":"Länderposter ansehen",Views:"Ansichten","WAGF Block":"WAGF-Block","WAGF Region":"WAGF-Region","people groups adopted":"adoptierte Volksgruppen","people groups engaged":"engagierte Volksgruppen","Outside this region":"Außerhalb dieser Region",Pray:"Ich bete","Loading region dashboards…":"Regions-Dashboards werden geladen…","No regions found.":"Keine Regionen gefunden.","Region data could not be loaded. This is a connection problem, not a filter.":"Regionsdaten konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","People groups could not be loaded. This is a connection problem, not a filter.":"Volksgruppen konnten nicht geladen werden. Das ist ein Verbindungsproblem, kein Filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Die Karte konnte nicht starten. Das ist ein Karten-Token- oder Verbindungsproblem, kein Filter — die Zahlen oben sind davon nicht betroffen."},rd={placeholder:"Volk, Ort, Sprache, Religion",labels:{people:"Volk:",place:"Ort:",language:"Sprache:",religion:"Religion:"},sections:{within:"Innerhalb {selection}",allData:"Alle DOXA-Daten"},kinds:{people:"Volk + Land",peopleGroup:"Volk",bloc:"Affinitätsblock",cluster:"Völkercluster",country:"Land",region:"Region",family:"Sprachfamilie",languageKind:"Sprache",dialect:"Dialekt",religionKind:"Religion"}},id={title:"Plugin-Studio",navLabel:"Plugins nach Fähigkeit",countLabel:"{bundles} Bundles · {elements} Plugins hier aufgeführt",changeLanguage:"Sprache ändern",copyEmbed:"Einbettung kopieren",copy:"Kopieren",copied:"Kopiert",scriptEmbed:"Skript-Einbettung",loading:"{name} wird geladen…",couldNotLoad:"{name} konnte nicht geladen werden.",chooseElement:"Wählen Sie ein Plugin aus der Liste.",filterPlaceholder:"Plugins filtern",collapseAll:"Alle einklappen",noMatch:"Kein Plugin entspricht „{query}“.",openSection:"{cap} öffnen, {label}",part:"Teil",noStandalone:"keine eigene Seite",cap5:"App-Shell",cap4:"Komposit",cap3:"Mehrfachansicht",cap2:"Voreinstellung",cap1:"Einzeln",toggleList:"Liste ein-/ausblenden",openViews:"Ansichtsliste öffnen",expandList:"Liste ausklappen",collapseList:"Liste einklappen",collapse:"Einklappen",partOf:"Teil von {name}, nicht eigenständig veröffentlicht"},ld={prayer:"Gebet",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Volksgruppen",regions:"Regionen",countries:"Länder","language-families":"Sprachen",religion:"Religionen",family:"Sprachfamilie",language:"Sprache",dialect:"Dialekt/Varietät",bloc:"Affinitätsblock",cluster:"Cluster",group:"Volksgruppe",pgic:"Volksgruppe im Land",region:"WAGF-Region",block:"WAGF-Block",country:"Land",upg100Region:"Region",upg100Zone:"UPG-100-Listen",upg100Group:"Volksgruppe",selectView:"Ansicht wählen",views:"Ansichten",prayerResources:"Gebetsressourcen",map:"Karte"},cd={kicker:"DOXA · Vision",title:"Jedes Volk. Jeder Ort.",tagline:"Von allen Volksgruppen der Welt bis zu denen, für die DOXA betet, aus den Daten gezählt.",funnelLabel:"Von allen Volksgruppen zu den DOXA-Volksgruppen",allLabel:"Volksgruppen",allNote:"jede Volksgruppe in jedem Land, in dem sie lebt",unreachedLabel:"Unerreicht",unreachedNote:"unter 2 % Evangelikale",frontierLabel:"Frontier",frontierNote:"unter 0,1 % Evangelikale",doxaLabel:"DOXA-Volksgruppen",doxaNote:"{frontier} davon sind Frontier",people:"{n} Menschen",sources:"Volksgruppen: {imb}, Datenstand {date}. DOXA-Liste: pray.doxa.life, {date2}.",howCounted:"So wird gezählt",ruleAll:"Jede Zeile der IMB-Volksgruppendaten: eine Volksgruppe in einem Land.",ruleUnreached:"IMB-Lostness-Priorität 0 bis 2: weniger als 2 % Evangelikale.",ruleFrontier:"IMB-Lostness-Priorität 0: weniger als 0,1 % Evangelikale. Eine Teilmenge der Unerreichten.",ruleDoxa:"Jede Gruppe auf der DOXA-Gebetsliste, den IMB-Daten nach Volk und Land zugeordnet. Nicht alle sind Frontier."},ud={title:"All People Groups",locations:"{n} group–country locations",doxa:"DOXA people groups",frontier:"Frontier — nothing started",unreached:"Unreached — work beginning",reached:"Reached — church is there",hint:"Click a row to see all of them · click again for everything",loading:"Loading every people group…",loadError:"The map could not be loaded.",pray:"Pray for them →",population:"pop {n}"},pd={backToLegend:"Back to Legend",closeDetailView:"Close detail view",collapseLegend:"Collapse legend",expandLegend:"Expand legend",toggleLegend:"Show or hide the legend"},dd={prayForThem:"Pray for them",adoptThem:"Adopt",moreInfo:"More info",zoomIn:"Zoom in",zoomOut:"Zoom out",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",resetView:"Reset view",toggleFullscreen:"Toggle fullscreen",aboutThisMap:"About this map",closeMenu:"Close menu",reloadMap:"Reload Map",showClusters:"Show Clusters",clusterSettings:"Cluster Settings",startAutoFly:"Start Auto Fly",stopFlight:"Stop Flight",speedLabel:"Speed:",speedOption:{slow:"Slow",normal:"Normal",fast:"Fast"},shareEmbed:"Share & embed",shareSteps:["Embed this map on your site","Create a list of the websites in your city","Train them to embed it too","Train them to train others to embed it too","Multiply maps everywhere for Jesus!"],share:"Share",posterMap:"Poster Map",prayerList:"Prayer List",cardDeck:"Card Deck",printOptions:"Print Options",showOnMap:"Show on map",close:"Close",showOnMapAria:"Show {label} on the map",cardStockAria:"Prayer card size",previewPrintPoster:"Preview & print the {label} poster",clearSelection:"Clear selection",noOptions:"No options found",renderingLocal:"Rendering a print-quality image in your browser — nothing is uploaded.",postersPerRow:"Posters per row"},gd={title:"Internet access where unengaged people groups live",bands:{yes:"connected 60%+",partial:"partial 25–59%",no:"low, under 25%",unknown:"not measured"},peopleGroup:"people group",caveat:"NATIONAL figures (World Bank). Per-city connectivity is not publicly available — do not read a city off a country.",sheet:{close:"Close",ai:"Data was found by AI deep research — it is subject to false information.",dismiss:"Dismiss",internetUsers:"Internet users",measured:"Measured",mobilePer100:"Mobile per 100",peopleGroups:"People groups",topPlatform:"Top platform",unknown:"unknown",carriers:"Carriers & ISPs ({n})",socialPlatforms:"Social platforms",note:"National figures, not city measurements. Carrier names are ASN registry holders — that set includes banks and universities as well as ISPs, so the carrier flag is a name heuristic, not a verified classification."}},fd={research_controls:"Research controls",clustering:"Clustering",filters:"Filters",pin_dim:"Pin dim",export_poster:"Export poster…",reload_data:"Reload data",off:"Off",native:"Native",mst:"MST",network:"Network",off_desc:"Show every pin individually",native_desc:"Mapbox circle clusters (fastest)",mst_desc:"Minimum-spanning-tree affinity webs",network_desc:"Nearest-neighbor connection lines",search_languages:"Search languages…",search_religions:"Search religions…",reset_all:"Reset all",no_languages:"No languages loaded yet",no_religions:"No religions loaded yet",unadopted:"Unadopted",min:"min",max:"max",adopted:"Adopted",adoption:"Adoption",engaged:"Engaged",engagement:"Engagement",unengaged:"Unengaged",language:"Language",religion:"Religion",population:"Population",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",close:"Close",clear:"Clear",map_controls:"Research map controls"},hd={bloc:"Bloc",gospel_access:"Gospel Access",people:"People",people_name:"People (name)",praying:"Praying",religion_family:"Religion Family",search_language:"Search language",search_people:"Search people",search_place:"Search place",search_religion:"Search religion",upgs_in_scope:"UPGs in scope",countries_touched:"countries touched",unreached:"unreached",sum_population:"Σ population",sum_praying:"Σ praying",charts:"Charts",table:"Table",cluster:"Cluster",country:"Country",engagement:"Engagement",language:"Language",language_family:"Language Family",people_group:"People Group",population:"Population",prayer:"Prayer",region:"Region",religion:"Religion",status:"Status",adopted:"Adopted",filters:"Filters",gospel_resources:"Gospel Resources",map:"Map",search_placeholder:"Search people groups, place, language, religion…",any:"Any",active_count:"{n} active",prayer_status:"Prayer Status",map_controls:"Research map controls",close:"Close",clear:"Clear",dashboard_title:"Big Picture Research Dashboard",align_dashboard:"Align Dashboard",align_dashboard_tip:"Reset the dashboard layout to its default alignment",selected:"Selected",world:"World",vertical_legend:"Vertical Legend",groups_in_scope:"groups in scope",filter_by:"Filter by",remove_filter:"Remove filter",groups:"groups",expand:"Expand",collapse:"Collapse",place:"Place"},$d={labels:{country:"Country:",population:"Population:",language:"Language:",religion:"Religion:",languageFamily:"Language Family:",peopleCommitted:"Committed to pray:"},messages:{noDescription:"No description available."}},md={_note:'SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file: it carries doctrinal and statistical precision — which pools were searched, what "nothing found" does and does not claim, why Open Bible Stories is not Scripture — and a mistranslated caveat there would read as authoritative. `prose.english` is the one translated line that says so. When a human-reviewed translation of the prose exists, it gets its own area file and that line comes out.',prose:{english:"Explanatory notes below are in English."},mode:{gap:"Gap",coverage:"Resources found"},search:{placeholder:"Find a people group, language or ISO code",clear:"Clear search",none:"Nothing matches that name, language or code.",placeholderShort:"Group, language or ISO code"},legend:{title:"Unengaged groups with no gospel resource found",band60:"60%+ with nothing found",band30:"30–59%",bandSome:"some groups",bandAll:"all groups have some",tier2:"Scripture and film",tier1:"some resource found",tier0:"nothing found",hnr:"can hear it, no text found",showAll:"Show all groups",titleCoverage:"Unengaged groups with some gospel resource found",cov80:"80%+ have something found",cov50:"50–79%",cov1:"1–49%",cov0:"nothing found for any",tallyEach:"Each",tallyIs:"is ONE people group —",tallyOf:"of them,",tallyLink:"with a link",doxa0:"all have something",doxa1:"1–4 with nothing",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 reached",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Doxa people groups on this map",notPlaced:"on the roster, not yet placed",outOfScope:"no Doxa people groups — not coloured"},tabs:{groups:"Largest groups",countries:"By country",regions:"By region",noprayer:"Nobody praying",hnr:"Can hear, no text"},stat:{language:"Language",population:"Population",countries:"Countries",peopleGroups:"People groups",noResource:"No resource found",peopleAffected:"People affected",haveScripture:"Have scripture",haveFilm:"Have film",haveAudio:"Have audio Scripture",signLanguages:"Sign languages",growingUnreached:"Growing & unreached",deathsDay:"Est. deaths/day"},sheet:{ownLanguage:"In their own language",close:"Close",loading:"Loading resources…",pray:"Pray for",everyResource:"Every resource in",alsoSpeak:"Also speak"},res:{scripture:"Scripture",film:"Film",audio:"Audio",bibleVideo:"Bible video",bibleStories:"Open Bible Stories",gospelAudio:"Gospel audio",gospelPresentation:"Gospel presentation",scriptureEarth:"Scripture Earth",training:"Discipleship training",jesusFilm:"JESUS Film"},state:{noneFound:"none found",noneAtFcbh:"none found at FCBH",noneAtGrn:"none found at GRN",notInZume:"not in Zume's 54",linkChecked:"link checked",unchecked:"unchecked",linkDead:"link dead",wrongLanguage:"wrong language",varietyNotStated:"(variety not stated)",inLanguage:"in"},guide:{dotVsCountry:"A dot is ONE of Doxa's people groups and its own language; a country is a COUNT of those groups.",noneFoundShort:"“None found” means not present in the pools this build checked — never proof that nothing exists.",tapCountry:"Tap a country to see the actual resources, group by group."},tables:{title:"Gospel Resources — Data",showing:"Showing",of:"of",for:"for",filteredTo:"Filtered to",showAll:"Show all resources",t_doxa:"Doxa — Gospel Access",t_links:"Every Resource + Link",t_nothing:"Where Nothing Was Found",t_countrygap:"The Gap by Country",t_translation:"Can Hear It, No Text",t_translationcountry:"Where to Translate",t_gaps:"Gaps & Opportunities",t_bridges:"City Bridges",t_deaf:"The Deaf Gap",t_resources:"Resources by People Group",t_languages:"Languages by Country",t_growth:"Access vs Population Growth"},pages:{listTitle:"Gospel Resources by Language",chartsTitle:"Gospel Resources — by Language",loadingTables:"Loading resource tables…"}},_d={search:"Search people groups…",hide_filters:"Hide Filters",show_filters:"Show Filters",total:"Total",showing:"Showing",load_more:"Load more",full_profile:"Full profile",wagf_region:"Region",wagf_block:"Affinity Block",rop1:"People Group",religion:"Religion",exact_filter:"Exact",clear_all:"Clear All",loading:"Loading…",no_results:"No people groups match this filter.",type_to_search:"Type to search...",load_failed:"People-group data could not be loaded. This is a connection problem, not your filter."},bd={title:{adoption:"Adoption Progress",affinityBlocs:"Affinity Blocks",doxaRegions:"Doxa Regions",engagement:"Engagement Progress",gospelResources:"Gospel Resources",languageFamilies:"Language Families",prayer:"Prayer Progress",upg100List:"My UPG 100 List"},header:{default:"Legend",collapsed:"Legend",peopleGroupFallback:"People Group"},prayer:{needsPrayer:"Needs Prayer",hasPrayer:"Has Prayer",fullPrayerCoverage:"Full Prayer Coverage"},progress:{title:"Progress",covered:"{covered} of {total} people groups covered in prayer · {pct}%",short:"{covered} of {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Unengaged",hasEngagement:"Engaged"},adoption:{needsAdoption:"Needs Adoption",hasAdoption:"Has Adoption"},columns:{upgs:"UUPGs",population:"Population",name:"Name"},footer:{total:"Total"},sortByUpgs:"Sort by UUPGs",sortByPop:"Sort by Population",colLabel:{religion:"UUPG Religions",prayer:"Prayer Status",engagement:"Engagement Status",adoption:"Adoption Status",status:"Status"},titleBar:{legend:"Legend",peopleGroups:"People Groups",wagfRegions:"WAGF Regions",languages:"Languages"},tabInfo:{upg100Region:"Region — sort the UPG-100 lists by world area (Africa, India, Middle East, Deaf, …). Counts are the UUPGs and population summed across every list beneath it.",upg100Zone:"UPG-100 Lists — each one is a prayer list of the unreached people groups in an area, and is what the map paints and colours. Every list prints as its own packet.",upg100Group:"People Group — the individual unreached groups inside a list, largest prayer need first. Each map dot is one of these."},a11y:{expandRow:"Expand {label}",collapseRow:"Collapse {label}",clearSelection:"Clear selection"}},yd={menuComingSoon:"Menu coming soon",pinHint:{tapDot:"Tap a coloured dot — someone still needs prayer"},upg100WallHeading:"My UPG 100 List — Prayer Lists & Posters",upg100WallTag:"Prayer Mobilization",upg100WallIntro:"Hand away the prayer task in clusters of fifties and hundreds — the way Jesus fed the 5,000 (Luke 9:14). Each poster is a 100-list you can pray, print, and put on a wall — praying for them <strong>by their people group name</strong>."},vd={clusterByRegion:"By Doxa Region",clusterByLanguageFamily:"By Language Family",clusterByGospelResource:"By Gospel Resource"},wd={country:{wagfRegion:"WAGF Region",wagfBlock:"WAGF Bloc",country:"Country",uupgCount:"UUPG Count"}},Ld={header:"CURRENT PRAYER LAP",lap:"Lap",upgs:"UUPGs",separator:" of "},Pd={"%count% people groups in %countries% countries":"%count% people groups in %countries% countries","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.","1+ People Praying":"1+ People Praying","100+ People Praying":"100+ People Praying",Adopted:"Adopted","Adoption Progress":"Adoption Progress","All Regions":"All Regions","Alternate Names":"Alternate Names","Choose a region":"Choose a region","Clear All":"Clear All",Countries:"Countries","Countries in this region":"Countries in this region",Country:"Country",Engaged:"Engaged","Engagement Progress":"Engagement Progress","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Every unengaged people group adopted by a church committed to prayer, giving, and sending","Exact Search":"Exact Search","Find unreached people groups by region and country.":"Find unreached people groups by region and country.","Full Profile":"Full Profile",Goal:"Goal","Hide Filters":"Hide Filters","Hide country posters":"Hide country posters",Intercessors:"Intercessors","Load More":"Load More","Loading results...":"Loading results...",Map:"Map","Mobilize 100+ people praying daily for each DOXA people group":"Mobilize 100+ people praying daily for each DOXA people group","No One Praying":"No One Praying","No options found":"No options found","No poster has been generated for this country yet.":"No poster has been generated for this country yet.","No unengaged people groups by 2033":"No unengaged people groups by 2033","Not Adopted":"Not Adopted",Other:"Other","Page Not Found":"Page Not Found","People Group":"People Group","People Groups":"People Groups","People committed to praying":"People committed to praying","Pick a region above, or click any dot to open that people group's country.":"Pick a region above, or click any dot to open that people group's country.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Pick a region or a country on the Regions List tab to narrow this dashboard.",Population:"Population","Prayer Coverage":"Prayer Coverage","Prayer coverage progress":"Prayer coverage progress","Region Dashboards":"Region Dashboards","Region dashboard":"Region dashboard",Regions:"Regions","Regions List":"Regions List",Religion:"Religion","Search names, country/continent, religions...":"Search names, country/continent, religions...","See %region% dashboard":"See %region% dashboard","See All":"See All",Select:"Select","Select View":"Select View","Show Filters":"Show Filters","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.",Total:"Total","Type to search...":"Type to search...","Unengaged people groups":"Unengaged people groups","View country posters":"View country posters",Views:"Views","WAGF Block":"WAGF Block","WAGF Region":"WAGF Region","people groups adopted":"people groups adopted","people groups engaged":"people groups engaged","Outside this region":"Outside this region",Pray:"Pray","Loading region dashboards…":"Loading region dashboards…","No regions found.":"No regions found.","Region data could not be loaded. This is a connection problem, not a filter.":"Region data could not be loaded. This is a connection problem, not a filter.","People groups could not be loaded. This is a connection problem, not a filter.":"People groups could not be loaded. This is a connection problem, not a filter.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected."},Sd={placeholder:"People, place, language, religion",labels:{people:"People:",place:"Place:",language:"Language:",religion:"Religion:"},kinds:{people:"People Group + Country",peopleGroup:"People Group",bloc:"Affinity Block",cluster:"People Cluster",country:"Country",region:"Region",family:"Language Family",languageKind:"Language",dialect:"Dialect",religionKind:"Religion"},sections:{within:"Within {selection}",allData:"All DOXA Data"}},Ad={title:"Plugin Studio",navLabel:"Plugins by capability",countLabel:"{bundles} bundles · {elements} plugins listed here",changeLanguage:"Change language",copyEmbed:"Copy embed",copy:"Copy",copied:"Copied",scriptEmbed:"Script embed",loading:"Loading {name}…",couldNotLoad:"Could not load {name}.",chooseElement:"Choose a plugin from the list.",filterPlaceholder:"Filter plugins",collapseAll:"Collapse all",noMatch:"No plugin matches “{query}”.",openSection:"Open {cap}, {label}",part:"part",noStandalone:"no standalone page",cap5:"App shell",cap4:"Composite",cap3:"Multi-view",cap2:"Preset",cap1:"Single",toggleList:"Toggle list",openViews:"Open the list of views",expandList:"Expand list",collapseList:"Collapse list",collapse:"Collapse",partOf:"part of {name}, not published on its own"},xd={prayer:"Prayer",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"People Groups (Affinity)",regions:"Regions",countries:"Countries","language-families":"Languages",religion:"Religions",family:"Lang Family",language:"Language",dialect:"Dialect/Variety",bloc:"Affinity Block",cluster:"Cluster",group:"People Group",pgic:"PG in Country",region:"WAGF Region",block:"WAGF Bloc",country:"Country",upg100Region:"Region",upg100Zone:"UPG-100 Lists",upg100Group:"People Group",selectView:"Select View",views:"Views",prayerResources:"Prayer Resources",map:"Map"},Ed={kicker:"DOXA · Vision",title:"Every people. Every place.",tagline:"From every people group on earth to the ones DOXA prays for, counted from the data.",funnelLabel:"From all people groups to DOXA people groups",allLabel:"People groups",allNote:"each people group, in each country it lives in",unreachedLabel:"Unreached",unreachedNote:"under 2% evangelical",frontierLabel:"Frontier",frontierNote:"under 0.1% evangelical",doxaLabel:"DOXA people groups",doxaNote:"{frontier} of them are frontier",people:"{n} people",sources:"People groups: {imb}, data of {date}. DOXA list: pray.doxa.life, {date2}.",howCounted:"How these are counted",ruleAll:"Every row of the IMB people-group data: one people group in one country.",ruleUnreached:"IMB lostness priority 0 to 2: less than 2% evangelical.",ruleFrontier:"IMB lostness priority 0: less than 0.1% evangelical. A subset of the unreached.",ruleDoxa:"Every group on the DOXA prayer list, matched to the IMB data by people and country. Not all are frontier."},kd={title:"Todos los grupos étnicos",locations:"{n} ubicaciones (grupo × país)",doxa:"Grupos étnicos de DOXA",frontier:"Frontera — nada iniciado",unreached:"No alcanzados — el trabajo comienza",reached:"Alcanzados — la iglesia está ahí",hint:"Haga clic en una fila para verlos todos · de nuevo para ver todo",loading:"Cargando todos los grupos étnicos…",loadError:"No se pudo cargar el mapa.",pray:"Ore por ellos →",population:"pobl. {n}"},Cd={backToLegend:"Volver a la leyenda",closeDetailView:"Cerrar vista de detalle",collapseLegend:"Contraer la leyenda",expandLegend:"Expandir la leyenda",toggleLegend:"Mostrar u ocultar la leyenda"},Rd={prayForThem:"Ora por ellos",adoptThem:"Adóptalos",moreInfo:"Más información",zoomIn:"Acercar",zoomOut:"Alejar",switchToLightMode:"Cambiar a modo claro",switchToDarkMode:"Cambiar a modo oscuro",resetView:"Restablecer vista",toggleFullscreen:"Alternar pantalla completa",aboutThisMap:"Acerca de este mapa",closeMenu:"Cerrar menú",reloadMap:"Recargar mapa",showClusters:"Mostrar clústeres",clusterSettings:"Ajustes de clústeres",startAutoFly:"Iniciar vuelo automático",stopFlight:"Detener vuelo",speedLabel:"Velocidad:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Compartir e incrustar",posterMap:"Mapa del cartel",prayerList:"Lista de oración",cardDeck:"Baraja de tarjetas",printOptions:"Opciones de impresión",showOnMap:"Ver en el mapa",close:"Cerrar",showOnMapAria:"Ver {label} en el mapa",cardStockAria:"Tamaño de la tarjeta de oración",previewPrintPoster:"Previsualizar e imprimir el cartel de {label}",share:"Compartir",shareSteps:["Inserta este mapa en tu sitio","Haz una lista de los sitios web de tu ciudad","Enséñales a insertarlo también","Enséñales a enseñar a otros a insertarlo","¡Multiplica los mapas por todas partes para Jesús!"],clearSelection:"Borrar la selección",noOptions:"No se encontraron opciones",renderingLocal:"Se está generando una imagen con calidad de impresión en tu navegador: no se sube nada.",postersPerRow:"Pósteres por fila"},Td={title:"Acceso a internet donde viven pueblos sin implicación",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"bajo, menos del 25%",unknown:"sin medir"},peopleGroup:"pueblo",caveat:"Cifras NACIONALES (Banco Mundial). La conectividad por ciudad no está disponible públicamente: no deduzca una ciudad a partir de su país.",sheet:{close:"Cerrar",ai:"Estos datos se obtuvieron mediante investigación con IA y pueden contener información falsa.",dismiss:"Descartar",internetUsers:"Usuarios de internet",measured:"Medido",mobilePer100:"Móviles por cada 100",peopleGroups:"Pueblos",topPlatform:"Plataforma principal",unknown:"desconocido",carriers:"Operadores y proveedores de internet ({n})",socialPlatforms:"Redes sociales",note:"Cifras nacionales, no mediciones por ciudad. Los nombres de operadores son titulares de registros ASN (incluyen bancos y universidades además de proveedores), así que la marca de operador es una heurística por nombre, no una clasificación verificada."}},Od={research_controls:"Controles de investigación",clustering:"Agrupación",filters:"Filtros",pin_dim:"Atenuar puntos",export_poster:"Exportar póster…",reload_data:"Recargar datos",off:"Desactivado",native:"Nativo",mst:"MST",network:"Red",off_desc:"Mostrar cada punto por separado",native_desc:"Grupos circulares de Mapbox (lo más rápido)",mst_desc:"Redes de afinidad por árbol de expansión mínima",network_desc:"Líneas de conexión al vecino más cercano",search_languages:"Buscar idiomas…",search_religions:"Buscar religiones…",reset_all:"Restablecer todo",no_languages:"Aún no se han cargado idiomas",no_religions:"Aún no se han cargado religiones",unadopted:"No adoptado",min:"mín",max:"máx",adopted:"Adoptado",adoption:"Adopción",engaged:"Comprometido",engagement:"Compromiso",unengaged:"Necesita implicación",language:"Idioma",religion:"Religión",population:"Población",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",close:"Cerrar",clear:"Borrar",map_controls:"Controles del mapa"},Nd={bloc:"Bloque de afinidad",gospel_access:"Acceso al evangelio",people:"Pueblos",people_name:"Pueblo (nombre)",praying:"Orando",religion_family:"Familia religiosa",search_language:"Buscar idioma",search_people:"Buscar pueblo",search_place:"Buscar lugar",search_religion:"Buscar religión",upgs_in_scope:"UPG en el ámbito",countries_touched:"países alcanzados",unreached:"no alcanzados",sum_population:"Σ población",sum_praying:"Σ orando",charts:"Gráficos",table:"Tabla",cluster:"Clúster",country:"País",engagement:"Compromiso",language:"Idioma",language_family:"Familia lingüística",people_group:"Pueblo",population:"Población",prayer:"Oración",region:"Región",religion:"Religión",status:"Estado",adopted:"Adoptado",filters:"Filtros",gospel_resources:"Recursos del Evangelio",map:"Mapa",search_placeholder:"Buscar pueblos, lugares, idiomas, religiones…",any:"Cualquiera",active_count:"{n} activos",prayer_status:"Estado de oración",map_controls:"Controles del mapa",close:"Cerrar",clear:"Borrar",dashboard_title:"Panel de investigación general",align_dashboard:"Alinear panel",align_dashboard_tip:"Restablecer la disposición del panel a su alineación predeterminada",selected:"Seleccionado",world:"Mundo",vertical_legend:"Leyenda vertical",groups_in_scope:"pueblos en el ámbito",filter_by:"Filtrar por",remove_filter:"Quitar filtro",groups:"pueblos",expand:"Expandir",collapse:"Contraer",place:"Lugar"},Id={labels:{country:"País:",population:"Población:",language:"Idioma:",religion:"Religión:",languageFamily:"Familia lingüística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"No hay descripción disponible."}},Md={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Las notas explicativas siguientes están en inglés."},mode:{gap:"Brecha",coverage:"Recursos encontrados"},search:{placeholder:"Busca un pueblo, idioma o código ISO",clear:"Borrar búsqueda",none:"Nada coincide con ese nombre, idioma o código.",placeholderShort:"Pueblo, idioma o código ISO"},legend:{title:"Pueblos no alcanzados sin ningún recurso del evangelio",band60:"60 %+ sin nada encontrado",band30:"30–59 %",bandSome:"algunos pueblos",bandAll:"todos los pueblos tienen algo",tier2:"Escrituras y película",tier1:"se encontró algún recurso",tier0:"no se encontró nada",hnr:"pueden oírlo, sin texto",showAll:"Mostrar todos los pueblos",titleCoverage:"Pueblos no alcanzados con algún recurso del evangelio",cov80:"80 %+ tienen algo",cov50:"50–79 %",cov1:"1–49 %",cov0:"nada para ninguno",tallyEach:"Cada",tallyIs:"es UN pueblo —",tallyOf:"de ellos,",tallyLink:"con un enlace",doxa0:"todos tienen algo",doxa1:"1–4 sin nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcanzados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Pueblos de Doxa en este mapa",notPlaced:"en la lista, aún sin ubicar",outOfScope:"sin pueblos de Doxa — sin color"},tabs:{groups:"Pueblos más grandes",countries:"Por país",regions:"Por región",noprayer:"Nadie ora",hnr:"Oyen, sin texto"},stat:{language:"Idioma",population:"Población",countries:"Países",peopleGroups:"Pueblos",noResource:"Ningún recurso encontrado",peopleAffected:"Personas afectadas",haveScripture:"Tienen Escrituras",haveFilm:"Tienen película",haveAudio:"Tienen Escrituras en audio",signLanguages:"Lenguas de señas",growingUnreached:"En crecimiento y no alcanzados",deathsDay:"Muertes estimadas/día"},sheet:{ownLanguage:"En su propio idioma",close:"Cerrar",loading:"Cargando recursos…",pray:"Ora por",everyResource:"Todos los recursos en",alsoSpeak:"También hablan"},res:{scripture:"Escrituras",film:"Película",audio:"Audio",bibleVideo:"Video bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del evangelio",gospelPresentation:"Presentación del evangelio",scriptureEarth:"Scripture Earth",training:"Formación de discipulado",jesusFilm:"Película JESÚS"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada en FCBH",noneAtGrn:"nada en GRN",notInZume:"no está entre los 54 de Zume",linkChecked:"enlace verificado",unchecked:"sin verificar",linkDead:"enlace roto",wrongLanguage:"idioma incorrecto",varietyNotStated:"(variedad no indicada)",inLanguage:"en"},guide:{dotVsCountry:"Cada punto es UN pueblo de Doxa y su propio idioma; un país es el NÚMERO de esos pueblos.",noneFoundShort:"«Nada encontrado» significa ausente de las fuentes consultadas, nunca prueba de que no exista.",tapCountry:"Toca un país para ver los recursos, pueblo por pueblo."},tables:{title:"Recursos del evangelio — Datos",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos los recursos",t_doxa:"Doxa — Acceso al evangelio",t_links:"Cada recurso + enlace",t_nothing:"Donde no se encontró nada",t_countrygap:"La brecha por país",t_translation:"Pueden oírlo, sin texto",t_translationcountry:"Dónde traducir",t_gaps:"Brechas y oportunidades",t_bridges:"Puentes urbanos",t_deaf:"La brecha sorda",t_resources:"Recursos por pueblo",t_languages:"Idiomas por país",t_growth:"Acceso vs crecimiento"},pages:{listTitle:"Recursos del evangelio por idioma",chartsTitle:"Recursos del evangelio — por idioma",loadingTables:"Cargando tablas de recursos…"}},Fd={search:"Buscar pueblos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Cargar más",full_profile:"Perfil completo",wagf_region:"Región",wagf_block:"Bloque de afinidad",rop1:"Pueblo",religion:"Religión",exact_filter:"Exacto",clear_all:"Borrar todo",loading:"Cargando…",no_results:"Ningún pueblo coincide con este filtro.",type_to_search:"Escribe para buscar...",load_failed:"No se pudieron cargar los datos de pueblos. Es un problema de conexión, no de tu filtro."},Dd={title:{adoption:"Progreso de adopción",affinityBlocs:"Bloques de afinidad",doxaRegions:"Regiones Doxa",engagement:"Progreso de implicación",gospelResources:"Recursos del Evangelio",languageFamilies:"Familias lingüísticas",prayer:"Progreso de oración",upg100List:"Mi lista UPG 100"},header:{collapsed:"Leyenda",peopleGroupFallback:"Grupo de personas",default:"Leyenda"},prayer:{needsPrayer:"Necesita oración",hasPrayer:"Tiene oración",fullPrayerCoverage:"Cobertura de oración completa"},progress:{title:"Progreso",covered:"{covered} de {total} grupos de personas cubiertos en oración · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesita implicación",hasEngagement:"Tiene implicación"},adoption:{needsAdoption:"Necesita adopción",hasAdoption:"Tiene adopción"},columns:{upgs:"UUPGs",population:"Población",name:"Nombre"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por población",colLabel:{religion:"Religiones UUPG",prayer:"Estado de oración",engagement:"Estado de compromiso",adoption:"Estado de adopción",status:"Estado"},titleBar:{legend:"Leyenda",peopleGroups:"Pueblos",wagfRegions:"Regiones WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Región — ordena las listas UPG-100 por área mundial (África, India, Oriente Medio, Sordos, …). Los totales son los UUPG y la población sumados de todas las listas que contiene.",upg100Zone:"Listas UPG-100 — cada una es una lista de oración de los grupos étnicos no alcanzados de un área, y es lo que el mapa pinta y colorea. Cada lista se imprime como su propio paquete.",upg100Group:"Grupo étnico — los grupos no alcanzados dentro de una lista, primero los de mayor necesidad de oración. Cada punto del mapa es uno de ellos."},a11y:{expandRow:"Expandir {label}",collapseRow:"Contraer {label}",clearSelection:"Borrar la selección"}},Gd={menuComingSoon:"Menú próximamente",pinHint:{tapDot:"Toca un punto de color: alguien todavía necesita oración"},upg100WallHeading:"Mi lista UPG 100 — Listas de oración y carteles",upg100WallTag:"Movilización de oración",upg100WallIntro:"Reparte la tarea de la oración en grupos de cincuenta y de cien, como Jesús alimentó a los 5.000 (Lucas 9:14). Cada cartel es una lista de 100 que puedes orar, imprimir y poner en la pared — orando por ellos <strong>por el nombre de su pueblo</strong>."},Ud={clusterByRegion:"Por región Doxa",clusterByLanguageFamily:"Por familia lingüística",clusterByGospelResource:"Por recurso del Evangelio"},Bd={country:{wagfRegion:"Región WAGF",wagfBlock:"Bloque WAGF",country:"País",uupgCount:"Número de UUPG"}},Vd={header:"VUELTA DE ORACIÓN ACTUAL",lap:"Vuelta",upgs:"UUPGs",separator:" de "},jd={"%count% people groups in %countries% countries":"%count% grupos étnicos en %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tiene %count% grupos étnicos en %countries% países. El color de cada punto indica cuántas personas oran por ese grupo étnico.","1+ People Praying":"1+ personas orando","100+ People Praying":"100+ personas orando",Adopted:"Adoptado","Adoption Progress":"Progreso de la adopción","All Regions":"Todas las regiones","Alternate Names":"Nombres alternativos","Choose a region":"Elige una región","Clear All":"Borrar todo",Countries:"Países","Countries in this region":"Países de esta región",Country:"País",Engaged:"Comprometido","Engagement Progress":"Progreso del compromiso","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico no evangelizado adoptado por una iglesia comprometida con la oración, la ofrenda y el envío.","Exact Search":"Búsqueda exacta","Find unreached people groups by region and country.":"Encuentra grupos étnicos no alcanzados por región y país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar los carteles del país",Intercessors:"Intercesores","Load More":"Cargar más","Loading results...":"Cargando resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Movilizar a más de 100 personas que oren diariamente por cada grupo étnico DOXA.","No One Praying":"Nadie orando","No options found":"No se han encontrado opciones","No poster has been generated for this country yet.":"Todavía no se ha generado ningún cartel para este país.","No unengaged people groups by 2033":"No habrá grupos étnicos sin evangelizar para 2033","Not Adopted":"No adoptado",Other:"Otros","Page Not Found":"Página no encontrada","People Group":"Grupo Étnico","People Groups":"Grupos Étnicos","People committed to praying":"Personas comprometidas con la oración","Pick a region above, or click any dot to open that people group's country.":"Elige una región arriba, o haz clic en cualquier punto para abrir el país de ese pueblo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Elige una región o un país en la pestaña Lista de regiones para acotar este panel.",Population:"Población","Prayer Coverage":"Cobertura de oración","Prayer coverage progress":"Progreso de la cobertura de oración","Region Dashboards":"Paneles de regiones","Region dashboard":"Panel de la región",Regions:"Regiones","Regions List":"Lista de regiones",Religion:"Religión","Search names, country/continent, religions...":"Buscar nombres, país/continente, religiones...","See %region% dashboard":"Ver el panel de %region%","See All":"Ver todo",Select:"Seleccionar","Select View":"Seleccionar vista","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Hay %count% grupos étnicos en %country%. Consulta también el mapa para ver los grupos étnicos en la frontera de este país.",Total:"Total","Type to search...":"Escribe para buscar...","Unengaged people groups":"Grupos étnicos no comprometidos","View country posters":"Ver los carteles del país",Views:"Vistas","WAGF Block":"Bloque WAGF","WAGF Region":"Región de la WAGF","people groups adopted":"grupos étnicos adoptados","people groups engaged":"grupos étnicos comprometidos","Outside this region":"Fuera de esta región",Pray:"Oración","Loading region dashboards…":"Cargando los paneles de regiones…","No regions found.":"No se encontraron regiones.","Region data could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los datos de las regiones. Es un problema de conexión, no un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"No se pudieron cargar los pueblos. Es un problema de conexión, no un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"El mapa no pudo iniciarse. Es un problema del token del mapa o de conexión, no un filtro: las cifras de arriba no se ven afectadas."},zd={placeholder:"Pueblo, lugar, idioma, religión",labels:{people:"Pueblo:",place:"Lugar:",language:"Idioma:",religion:"Religión:"},kinds:{people:"Pueblo + país",peopleGroup:"Pueblo",bloc:"Bloque de afinidad",cluster:"Clúster de pueblos",country:"País",region:"Región",family:"Familia lingüística",languageKind:"Idioma",dialect:"Dialecto",religionKind:"Religión"},sections:{within:"Dentro de {selection}",allData:"Todos los datos DOXA"}},Wd={title:"Estudio de plugins",navLabel:"Plugins por capacidad",countLabel:"{bundles} paquetes · {elements} plugins listados aquí",changeLanguage:"Cambiar idioma",copyEmbed:"Copiar código de inserción",copy:"Copiar",copied:"Copiado",scriptEmbed:"Inserción por script",loading:"Cargando {name}…",couldNotLoad:"No se pudo cargar {name}.",chooseElement:"Elija un plugin de la lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Contraer todo",noMatch:"Ningún plugin coincide con «{query}».",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sin página propia",cap5:"Contenedor de aplicación",cap4:"Compuesto",cap3:"Multivista",cap2:"Preajuste",cap1:"Individual",toggleList:"Mostrar u ocultar la lista",openViews:"Abrir la lista de vistas",expandList:"Expandir la lista",collapseList:"Contraer la lista",collapse:"Contraer",partOf:"parte de {name}, no publicada por separado"},Hd={prayer:"Oración",adoption:"Adopción",engagement:"Compromiso","affinity-blocks":"Pueblos",regions:"Regiones",countries:"Países","language-families":"Idiomas",religion:"Religiones",family:"Familia lingüística",language:"Idioma",dialect:"Dialecto/Variedad",bloc:"Bloque de afinidad",cluster:"Clúster",group:"Pueblo",pgic:"Pueblo en país",region:"Región WAGF",block:"Bloque WAGF",country:"País",upg100Region:"Región",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico",selectView:"Seleccionar vista",views:"Vistas",prayerResources:"Recursos de oración",map:"Mapa"},qd={kicker:"DOXA · Visión",title:"Cada pueblo. Cada lugar.",tagline:"De todos los grupos étnicos del mundo a aquellos por los que DOXA ora, contados a partir de los datos.",funnelLabel:"De todos los grupos étnicos a los grupos étnicos de DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, en cada país donde vive",unreachedLabel:"No alcanzados",unreachedNote:"menos del 2 % evangélicos",frontierLabel:"Frontera",frontierNote:"menos del 0,1 % evangélicos",doxaLabel:"Grupos étnicos de DOXA",doxaNote:"{frontier} de ellos son de frontera",people:"{n} personas",sources:"Grupos étnicos: {imb}, datos de {date}. Lista de DOXA: pray.doxa.life, {date2}.",howCounted:"Cómo se cuentan",ruleAll:"Cada fila de los datos de grupos étnicos del IMB: un grupo étnico en un país.",ruleUnreached:"Prioridad de perdición del IMB de 0 a 2: menos del 2 % evangélicos.",ruleFrontier:"Prioridad de perdición del IMB 0: menos del 0,1 % evangélicos. Un subconjunto de los no alcanzados.",ruleDoxa:"Cada grupo de la lista de oración de DOXA, vinculado a los datos del IMB por pueblo y país. No todos son de frontera."},Xd={title:"Tous les groupes ethniques",locations:"{n} emplacements (groupe × pays)",doxa:"Groupes ethniques DOXA",frontier:"Frontière — rien n’a commencé",unreached:"Non atteints — le travail commence",reached:"Atteints — l’Église est là",hint:"Cliquez sur une ligne pour les voir tous · recliquez pour tout voir",loading:"Chargement de tous les groupes ethniques…",loadError:"La carte n’a pas pu être chargée.",pray:"Priez pour eux →",population:"pop. {n}"},Kd={backToLegend:"Retour à la légende",closeDetailView:"Fermer la vue détaillée",collapseLegend:"Réduire la légende",expandLegend:"Développer la légende",toggleLegend:"Afficher ou masquer la légende"},Yd={prayForThem:"Priez pour eux",adoptThem:"Adoptez-les",moreInfo:"Plus d'infos",zoomIn:"Zoom avant",zoomOut:"Zoom arrière",switchToLightMode:"Passer au mode clair",switchToDarkMode:"Passer au mode sombre",resetView:"Réinitialiser la vue",toggleFullscreen:"Basculer en plein écran",aboutThisMap:"À propos de cette carte",closeMenu:"Fermer le menu",reloadMap:"Recharger la carte",showClusters:"Afficher les clusters",clusterSettings:"Paramètres des clusters",startAutoFly:"Démarrer le vol auto",stopFlight:"Arrêter le vol",speedLabel:"Vitesse :",speedOption:{slow:"Lente",normal:"Normale",fast:"Rapide"},shareEmbed:"Partager et intégrer",posterMap:"Carte de l'affiche",prayerList:"Liste de prière",cardDeck:"Jeu de cartes",printOptions:"Options d'impression",showOnMap:"Voir sur la carte",close:"Fermer",showOnMapAria:"Voir {label} sur la carte",cardStockAria:"Taille de la carte de prière",previewPrintPoster:"Aperçu et impression de l’affiche {label}",share:"Partager",shareSteps:["Intégrez cette carte à votre site","Dressez la liste des sites web de votre ville","Apprenez-leur à l’intégrer aussi","Apprenez-leur à former d’autres personnes à l’intégrer","Multiplions les cartes partout pour Jésus !"],clearSelection:"Effacer la sélection",noOptions:"Aucune option trouvée",renderingLocal:"Une image de qualité impression est générée dans votre navigateur — rien n’est envoyé.",postersPerRow:"Affiches par ligne"},Zd={title:"Accès à Internet là où vivent les peuples sans engagement",bands:{yes:"connecté 60 %+",partial:"partiel 25–59 %",no:"faible, moins de 25 %",unknown:"non mesuré"},peopleGroup:"peuple",caveat:"Chiffres NATIONAUX (Banque mondiale). La connectivité par ville n'est pas publique — ne déduisez pas une ville à partir de son pays.",sheet:{close:"Fermer",ai:"Ces données proviennent d'une recherche approfondie par IA — elles peuvent contenir des informations erronées.",dismiss:"Ignorer",internetUsers:"Internautes",measured:"Mesuré",mobilePer100:"Mobiles pour 100",peopleGroups:"Peuples",topPlatform:"Plateforme principale",unknown:"inconnu",carriers:"Opérateurs et FAI ({n})",socialPlatforms:"Réseaux sociaux",note:"Chiffres nationaux, pas des mesures par ville. Les noms d'opérateurs sont les titulaires de registres ASN (on y trouve aussi des banques et des universités à côté des FAI), donc l'étiquette « opérateur » est une heuristique fondée sur le nom, non une classification vérifiée."}},Jd={research_controls:"Commandes de recherche",clustering:"Regroupement",filters:"Filtres",pin_dim:"Atténuation des points",export_poster:"Exporter l’affiche…",reload_data:"Recharger les données",off:"Désactivé",native:"Natif",mst:"MST",network:"Réseau",off_desc:"Afficher chaque point séparément",native_desc:"Groupes circulaires Mapbox (le plus rapide)",mst_desc:"Réseaux d’affinité par arbre couvrant minimal",network_desc:"Lignes vers le plus proche voisin",search_languages:"Rechercher des langues…",search_religions:"Rechercher des religions…",reset_all:"Tout réinitialiser",no_languages:"Aucune langue chargée pour l’instant",no_religions:"Aucune religion chargée pour l’instant",unadopted:"Non adopté",min:"min",max:"max",adopted:"Adopté",adoption:"Adoption",engaged:"Engagé",engagement:"Engagement",unengaged:"Besoin d'engagement",language:"Langue",religion:"Religion",population:"Population",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",close:"Fermer",clear:"Effacer",map_controls:"Commandes de la carte"},Qd={bloc:"Bloc d’affinité",gospel_access:"Accès à l’Évangile",people:"Peuples",people_name:"Peuple (nom)",praying:"En prière",religion_family:"Famille religieuse",search_language:"Rechercher une langue",search_people:"Rechercher un peuple",search_place:"Rechercher un lieu",search_religion:"Rechercher une religion",upgs_in_scope:"UPG dans le périmètre",countries_touched:"pays touchés",unreached:"non atteints",sum_population:"Σ population",sum_praying:"Σ en prière",charts:"Graphiques",table:"Tableau",cluster:"Grappe",country:"Pays",engagement:"Engagement",language:"Langue",language_family:"Famille linguistique",people_group:"Peuple",population:"Population",prayer:"Prière",region:"Région",religion:"Religion",status:"Statut",adopted:"Adopté",filters:"Filtres",gospel_resources:"Ressources de l'Évangile",map:"Carte",search_placeholder:"Rechercher peuples, lieux, langues, religions…",any:"Tous",active_count:"{n} actifs",prayer_status:"État de prière",map_controls:"Commandes de la carte",close:"Fermer",clear:"Effacer",dashboard_title:"Tableau de bord de recherche global",align_dashboard:"Aligner le tableau",align_dashboard_tip:"Rétablir la disposition par défaut du tableau de bord",selected:"Sélectionné",world:"Monde",vertical_legend:"Légende verticale",groups_in_scope:"peuples dans le périmètre",filter_by:"Filtrer par",remove_filter:"Retirer le filtre",groups:"peuples",expand:"Développer",collapse:"Replier",place:"Lieu"},eg={labels:{country:"Pays :",population:"Population :",language:"Langue :",religion:"Religion :",languageFamily:"Famille de langues :",peopleCommitted:"Engagés à prier :"},messages:{noDescription:"Aucune description disponible."}},tg={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Les notes explicatives ci-dessous sont en anglais."},mode:{gap:"Écart",coverage:"Ressources trouvées"},search:{placeholder:"Chercher un peuple, une langue ou un code ISO",clear:"Effacer la recherche",none:"Rien ne correspond à ce nom, cette langue ou ce code.",placeholderShort:"Peuple, langue ou code ISO"},legend:{title:"Peuples non atteints sans aucune ressource de l'Évangile",band60:"60 %+ sans rien trouvé",band30:"30–59 %",bandSome:"quelques peuples",bandAll:"tous les peuples ont quelque chose",tier2:"Écritures et film",tier1:"une ressource trouvée",tier0:"rien trouvé",hnr:"peuvent l'entendre, aucun texte",showAll:"Afficher tous les peuples",titleCoverage:"Peuples non atteints avec une ressource de l'Évangile",cov80:"80 %+ ont quelque chose",cov50:"50–79 %",cov1:"1–49 %",cov0:"rien pour aucun",tallyEach:"Chaque",tallyIs:"est UN peuple —",tallyOf:"d'entre eux,",tallyLink:"avec un lien",doxa0:"tous ont quelque chose",doxa1:"1–4 sans rien",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atteints",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Peuples Doxa sur cette carte",notPlaced:"sur la liste, pas encore localisés",outOfScope:"aucun peuple Doxa — non coloré"},tabs:{groups:"Peuples les plus nombreux",countries:"Par pays",regions:"Par région",noprayer:"Personne ne prie",hnr:"Entendent, sans texte"},stat:{language:"Langue",population:"Population",countries:"Pays",peopleGroups:"Peuples",noResource:"Aucune ressource trouvée",peopleAffected:"Personnes concernées",haveScripture:"Ont les Écritures",haveFilm:"Ont le film",haveAudio:"Ont les Écritures en audio",signLanguages:"Langues des signes",growingUnreached:"En croissance et non atteints",deathsDay:"Décès estimés/jour"},sheet:{ownLanguage:"Dans leur propre langue",close:"Fermer",loading:"Chargement des ressources…",pray:"Priez pour",everyResource:"Toutes les ressources en",alsoSpeak:"Parlent aussi"},res:{scripture:"Écritures",film:"Film",audio:"Audio",bibleVideo:"Vidéo biblique",bibleStories:"Open Bible Stories",gospelAudio:"Audio de l'Évangile",gospelPresentation:"Présentation de l'Évangile",scriptureEarth:"Scripture Earth",training:"Formation au discipulat",jesusFilm:"Film JÉSUS"},state:{noneFound:"rien trouvé",noneAtFcbh:"rien chez FCBH",noneAtGrn:"rien chez GRN",notInZume:"pas dans les 54 de Zume",linkChecked:"lien vérifié",unchecked:"non vérifié",linkDead:"lien mort",wrongLanguage:"mauvaise langue",varietyNotStated:"(variété non précisée)",inLanguage:"en"},guide:{dotVsCountry:"Un point est UN peuple de Doxa et sa propre langue ; un pays est le NOMBRE de ces peuples.",noneFoundShort:"« Rien trouvé » signifie absent des sources consultées, jamais la preuve que rien n'existe.",tapCountry:"Touchez un pays pour voir les ressources, peuple par peuple."},tables:{title:"Ressources de l'Évangile — Données",showing:"Affichage de",of:"sur",for:"pour",filteredTo:"Filtré sur",showAll:"Afficher toutes les ressources",t_doxa:"Doxa — Accès à l'Évangile",t_links:"Chaque ressource + lien",t_nothing:"Où rien n'a été trouvé",t_countrygap:"L'écart par pays",t_translation:"Entendent, sans texte",t_translationcountry:"Où traduire",t_gaps:"Écarts et opportunités",t_bridges:"Ponts urbains",t_deaf:"L'écart sourd",t_resources:"Ressources par peuple",t_languages:"Langues par pays",t_growth:"Accès vs croissance"},pages:{listTitle:"Ressources de l'Évangile par langue",chartsTitle:"Ressources de l'Évangile — par langue",loadingTables:"Chargement des tableaux…"}},og={search:"Rechercher des peuples…",hide_filters:"Masquer les filtres",show_filters:"Afficher les filtres",total:"Total",showing:"Affichage",load_more:"Charger plus",full_profile:"Profil complet",wagf_region:"Région",wagf_block:"Bloc d'affinité",rop1:"Peuple",religion:"Religion",exact_filter:"Exact",clear_all:"Tout effacer",loading:"Chargement…",no_results:"Aucun peuple ne correspond à ce filtre.",type_to_search:"Tapez pour rechercher...",load_failed:"Les données n’ont pas pu être chargées. C’est un problème de connexion, pas votre filtre."},ng={title:{adoption:"Progression de l'adoption",affinityBlocs:"Blocs d'affinité",doxaRegions:"Régions Doxa",engagement:"Progression de l'engagement",gospelResources:"Ressources de l'Évangile",languageFamilies:"Familles de langues",prayer:"Progression de la prière",upg100List:"Ma liste UPG 100"},header:{collapsed:"Légende",peopleGroupFallback:"Groupe de personnes",default:"Légende"},prayer:{needsPrayer:"Besoin de prière",hasPrayer:"Prière en cours",fullPrayerCoverage:"Couverture de prière complète"},progress:{title:"Progression",covered:"{covered} sur {total} groupes de personnes couverts par la prière · {pct}%",short:"{covered} sur {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Besoin d'engagement",hasEngagement:"Engagement en cours"},adoption:{needsAdoption:"Besoin d'adoption",hasAdoption:"Adoption en cours"},columns:{upgs:"UUPGs",population:"Population",name:"Nom"},footer:{total:"Total"},sortByUpgs:"Trier par UUPG",sortByPop:"Trier par population",colLabel:{religion:"Religions UUPG",prayer:"Statut de prière",engagement:"Statut d'engagement",adoption:"Statut d'adoption",status:"Statut"},titleBar:{legend:"Légende",peopleGroups:"Peuples",wagfRegions:"Régions WAGF",languages:"Langues"},tabInfo:{upg100Region:"Région — trie les listes UPG-100 par zone du monde (Afrique, Inde, Moyen-Orient, Sourds, …). Les totaux sont les UUPG et la population additionnés sur toutes les listes qu’elle contient.",upg100Zone:"Listes UPG-100 — chacune est une liste de prière des groupes de peuples non atteints d’une zone, et c’est ce que la carte dessine et colore. Chaque liste s’imprime comme son propre livret.",upg100Group:"Groupe de peuples — les groupes non atteints au sein d’une liste, les plus grands besoins de prière en premier. Chaque point de la carte en est un."},a11y:{expandRow:"Développer {label}",collapseRow:"Réduire {label}",clearSelection:"Effacer la sélection"}},sg={menuComingSoon:"Menu bientôt disponible",pinHint:{tapDot:"Touchez un point coloré — quelqu’un a encore besoin de prière"},upg100WallHeading:"Ma liste UPG 100 — Listes de prière et affiches",upg100WallTag:"Mobilisation pour la prière",upg100WallIntro:"Répartissez la tâche de la prière par groupes de cinquante et de cent — comme Jésus a nourri les 5 000 (Luc 9:14). Chaque affiche est une liste de 100 que vous pouvez prier, imprimer et afficher au mur — en priant pour eux <strong>par le nom de leur peuple</strong>."},ag={clusterByRegion:"Par région Doxa",clusterByLanguageFamily:"Par famille de langues",clusterByGospelResource:"Par ressource de l'Évangile"},rg={country:{wagfRegion:"Région WAGF",wagfBlock:"Bloc WAGF",country:"Pays",uupgCount:"Nombre d'UUPG"}},ig={header:"TOUR DE PRIÈRE ACTUEL",lap:"Tour",upgs:"UUPGs",separator:" sur "},lg={"%count% people groups in %countries% countries":"%count% peuples dans %countries% pays","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% compte %count% peuples répartis dans %countries% pays. La couleur de chaque point indique combien de personnes prient pour ce peuple.","1+ People Praying":"1+ personnes en prière","100+ People Praying":"100+ personnes en prière",Adopted:"Adopté","Adoption Progress":"Progrès de l'adoption","All Regions":"Toutes les régions","Alternate Names":"Autres noms","Choose a region":"Choisissez une région","Clear All":"Tout effacer",Countries:"Pays","Countries in this region":"Pays de cette région",Country:"Pays",Engaged:"Engagé","Engagement Progress":"Progrès de l'engagement","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Chaque peuple non engagé adopté par une église locale engagée dans la prière, le don et l'envoi","Exact Search":"Recherche exacte","Find unreached people groups by region and country.":"Trouvez des peuples non atteints par région et par pays.","Full Profile":"Profil complet",Goal:"Objectif","Hide Filters":"Masquer les filtres","Hide country posters":"Masquer les affiches du pays",Intercessors:"Intercesseurs","Load More":"Afficher plus","Loading results...":"Chargement des résultats...",Map:"Carte","Mobilize 100+ people praying daily for each DOXA people group":"Mobiliser plus de 100 personnes priant chaque jour pour chaque peuple DOXA","No One Praying":"Personne ne prie","No options found":"Aucun lieu trouvé","No poster has been generated for this country yet.":"Aucune affiche n'a encore été générée pour ce pays.","No unengaged people groups by 2033":"Plus aucun peuple non engagé d'ici 2033","Not Adopted":"Non adopté",Other:"Autre","Page Not Found":"Page introuvable","People Group":"Peuple","People Groups":"Peuples","People committed to praying":"Personnes engagées dans la prière","Pick a region above, or click any dot to open that people group's country.":"Choisissez une région ci-dessus, ou cliquez sur un point pour ouvrir le pays de ce peuple.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Choisissez une région ou un pays dans l’onglet Liste des régions pour affiner ce tableau de bord.",Population:"Population","Prayer Coverage":"Couverture de prière","Prayer coverage progress":"Progression de la couverture de prière","Region Dashboards":"Tableaux de bord des régions","Region dashboard":"Tableau de bord de la région",Regions:"Régions","Regions List":"Liste des régions",Religion:"Religion","Search names, country/continent, religions...":"Rechercher des noms, pays/continent, religions...","See %region% dashboard":"Voir le tableau de bord : %region%","See All":"Tout afficher",Select:"Sélectionner","Select View":"Sélectionner la vue","Show Filters":"Afficher les filtres","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Il y a %count% peuples en %country%. Consultez la carte pour découvrir également les peuples situés à la frontière de ce pays.",Total:"Total","Type to search...":"Entrer votre recherche","Unengaged people groups":"Peuples non engagés","View country posters":"Voir les affiches du pays",Views:"Vues","WAGF Block":"Bloc WAGF","WAGF Region":"Région WAGF","people groups adopted":"peuples adoptés","people groups engaged":"peuples engagés","Outside this region":"Hors de cette région",Pray:"Prier","Loading region dashboards…":"Chargement des tableaux de bord des régions…","No regions found.":"Aucune région trouvée.","Region data could not be loaded. This is a connection problem, not a filter.":"Les données des régions n'ont pas pu être chargées. Il s'agit d'un problème de connexion, pas d'un filtre.","People groups could not be loaded. This is a connection problem, not a filter.":"Les peuples n'ont pas pu être chargés. Il s'agit d'un problème de connexion, pas d'un filtre.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La carte n'a pas pu démarrer. Il s'agit d'un problème de jeton de carte ou de connexion, pas d'un filtre — les chiffres ci-dessus ne sont pas affectés."},cg={placeholder:"Peuple, lieu, langue, religion",labels:{people:"Peuple :",place:"Lieu :",language:"Langue :",religion:"Religion :"},kinds:{people:"Peuple + pays",peopleGroup:"Peuple",bloc:"Bloc d'affinité",cluster:"Grappe de peuples",country:"Pays",region:"Région",family:"Famille linguistique",languageKind:"Langue",dialect:"Dialecte",religionKind:"Religion"},sections:{within:"Dans {selection}",allData:"Toutes les données DOXA"}},ug={title:"Studio de plugins",navLabel:"Plugins par capacité",countLabel:"{bundles} paquets · {elements} plugins listés ici",changeLanguage:"Changer de langue",copyEmbed:"Copier le code d’intégration",copy:"Copier",copied:"Copié",scriptEmbed:"Intégration par script",loading:"Chargement de {name}…",couldNotLoad:"Impossible de charger {name}.",chooseElement:"Choisissez un plugin dans la liste.",filterPlaceholder:"Filtrer les plugins",collapseAll:"Tout replier",noMatch:"Aucun plugin ne correspond à « {query} ».",openSection:"Ouvrir {cap}, {label}",part:"partie",noStandalone:"pas de page autonome",cap5:"Coquille d’application",cap4:"Composite",cap3:"Multivue",cap2:"Préréglage",cap1:"Simple",toggleList:"Afficher ou masquer la liste",openViews:"Ouvrir la liste des vues",expandList:"Déplier la liste",collapseList:"Replier la liste",collapse:"Replier",partOf:"partie de {name}, non publiée seule"},pg={prayer:"Prière",adoption:"Adoption",engagement:"Engagement","affinity-blocks":"Peuples",regions:"Régions",countries:"Pays","language-families":"Langues",religion:"Religions",family:"Famille linguistique",language:"Langue",dialect:"Dialecte/Variété",bloc:"Bloc d'affinité",cluster:"Grappe",group:"Peuple",pgic:"Peuple dans le pays",region:"Région WAGF",block:"Bloc WAGF",country:"Pays",upg100Region:"Région",upg100Zone:"Listes UPG-100",upg100Group:"Groupe de peuples",selectView:"Choisir la vue",views:"Vues",prayerResources:"Ressources de prière",map:"Carte"},dg={kicker:"DOXA · Vision",title:"Chaque peuple. Chaque lieu.",tagline:"De tous les groupes ethniques du monde à ceux pour qui DOXA prie, comptés à partir des données.",funnelLabel:"De tous les groupes ethniques aux groupes ethniques DOXA",allLabel:"Groupes ethniques",allNote:"chaque groupe ethnique, dans chaque pays où il vit",unreachedLabel:"Non atteints",unreachedNote:"moins de 2 % d’évangéliques",frontierLabel:"Frontière",frontierNote:"moins de 0,1 % d’évangéliques",doxaLabel:"Groupes ethniques DOXA",doxaNote:"dont {frontier} de frontière",people:"{n} personnes",sources:"Groupes ethniques : {imb}, données du {date}. Liste DOXA : pray.doxa.life, {date2}.",howCounted:"Comment ces chiffres sont comptés",ruleAll:"Chaque ligne des données IMB : un groupe ethnique dans un pays.",ruleUnreached:"Priorité de perdition IMB 0 à 2 : moins de 2 % d’évangéliques.",ruleFrontier:"Priorité de perdition IMB 0 : moins de 0,1 % d’évangéliques. Un sous-ensemble des non-atteints.",ruleDoxa:"Chaque groupe de la liste de prière DOXA, rapproché des données IMB par peuple et pays. Tous ne sont pas de frontière."},gg={title:"सभी जनसमूह",locations:"{n} स्थान (समूह × देश)",doxa:"DOXA जनसमूह",frontier:"सीमांत — कुछ शुरू नहीं हुआ",unreached:"अप्रचारित — काम शुरू हो रहा है",reached:"प्रचारित — कलीसिया मौजूद है",hint:"सभी देखने के लिए पंक्ति पर क्लिक करें · सब कुछ देखने के लिए फिर क्लिक करें",loading:"सभी जनसमूह लोड हो रहे हैं…",loadError:"मानचित्र लोड नहीं हो सका।",pray:"उनके लिए प्रार्थना करें →",population:"जनसंख्या {n}"},fg={backToLegend:"लेजेंड पर वापस जाएं",closeDetailView:"विवरण दृश्य बंद करें",collapseLegend:"लेजेंड संक्षिप्त करें",expandLegend:"लेजेंड विस्तृत करें",toggleLegend:"लेजेंड दिखाएँ या छिपाएँ"},hg={prayForThem:"उनके लिए प्रार्थना करें",adoptThem:"उन्हें गोद लें",moreInfo:"अधिक जानकारी",zoomIn:"ज़ूम इन",zoomOut:"ज़ूम आउट",switchToLightMode:"लाइट मोड पर जाएं",switchToDarkMode:"डार्क मोड पर जाएं",resetView:"दृश्य रीसेट करें",toggleFullscreen:"फ़ुलस्क्रीन टॉगल करें",aboutThisMap:"इस मानचित्र के बारे में",closeMenu:"मेनू बंद करें",reloadMap:"मानचित्र पुनः लोड करें",showClusters:"क्लस्टर दिखाएं",clusterSettings:"क्लस्टर सेटिंग्स",startAutoFly:"ऑटो फ्लाई शुरू करें",stopFlight:"उड़ान रोकें",speedLabel:"गति:",speedOption:{slow:"धीमी",normal:"सामान्य",fast:"तेज़"},shareEmbed:"साझा करें और एम्बेड करें",posterMap:"पोस्टर मानचित्र",prayerList:"प्रार्थना सूची",cardDeck:"कार्ड सेट",printOptions:"छपाई विकल्प",showOnMap:"मानचित्र पर देखें",close:"बंद करें",showOnMapAria:"{label} को मानचित्र पर देखें",cardStockAria:"प्रार्थना कार्ड का आकार",previewPrintPoster:"{label} पोस्टर देखें और प्रिंट करें",share:"साझा करें",shareSteps:["इस मानचित्र को अपनी वेबसाइट पर लगाएँ","अपने शहर की वेबसाइटों की सूची बनाएँ","उन्हें भी इसे लगाना सिखाएँ","उन्हें सिखाएँ कि वे औरों को लगाना सिखाएँ","यीशु के लिए हर जगह मानचित्र बढ़ाएँ!"],clearSelection:"चयन हटाएँ",noOptions:"कोई विकल्प नहीं मिला",renderingLocal:"आपके ब्राउज़र में प्रिंट-गुणवत्ता वाली छवि बन रही है — कुछ भी अपलोड नहीं किया जाता।",postersPerRow:"प्रति पंक्ति पोस्टर"},$g={title:"इंटरनेट पहुँच जहाँ बिना सहभागिता वाले जनसमूह रहते हैं",bands:{yes:"जुड़ा हुआ 60%+",partial:"आंशिक 25–59%",no:"कम, 25% से नीचे",unknown:"मापा नहीं गया"},peopleGroup:"जनसमूह",caveat:"राष्ट्रीय आँकड़े (विश्व बैंक)। शहर-स्तर की कनेक्टिविटी सार्वजनिक रूप से उपलब्ध नहीं है — देश के आँकड़ों से किसी शहर का अनुमान न लगाएँ।",sheet:{close:"बंद करें",ai:"यह डेटा एआई गहन शोध से मिला है — इसमें गलत जानकारी हो सकती है।",dismiss:"हटाएँ",internetUsers:"इंटरनेट उपयोगकर्ता",measured:"मापा गया",mobilePer100:"प्रति 100 मोबाइल",peopleGroups:"जनसमूह",topPlatform:"शीर्ष प्लेटफ़ॉर्म",unknown:"अज्ञात",carriers:"कैरियर और आईएसपी ({n})",socialPlatforms:"सोशल प्लेटफ़ॉर्म",note:"ये राष्ट्रीय आँकड़े हैं, शहरों के माप नहीं। कैरियर के नाम ASN रजिस्ट्री धारकों के हैं — उनमें आईएसपी के साथ बैंक और विश्वविद्यालय भी शामिल हैं, इसलिए कैरियर का चिह्न नाम पर आधारित अनुमान है, सत्यापित वर्गीकरण नहीं।"}},mg={research_controls:"शोध नियंत्रण",clustering:"क्लस्टरिंग",filters:"फ़िल्टर",pin_dim:"पिन धुंधलापन",export_poster:"पोस्टर निर्यात करें…",reload_data:"डेटा फिर से लोड करें",off:"बंद",native:"नेटिव",mst:"MST",network:"नेटवर्क",off_desc:"हर पिन अलग-अलग दिखाएँ",native_desc:"Mapbox वृत्त क्लस्टर (सबसे तेज़)",mst_desc:"न्यूनतम स्पैनिंग ट्री आधारित जाल",network_desc:"निकटतम पड़ोसी को जोड़ने वाली रेखाएँ",search_languages:"भाषाएँ खोजें…",search_religions:"धर्म खोजें…",reset_all:"सब रीसेट करें",no_languages:"अभी कोई भाषा लोड नहीं हुई",no_religions:"अभी कोई धर्म लोड नहीं हुआ",unadopted:"अ-गोद लिया",min:"न्यून",max:"अधि",adopted:"गोद लिया गया",adoption:"गोद लेना",engaged:"संपर्कित",engagement:"सहभागिता",unengaged:"सहभागिता चाहिए",language:"भाषा",religion:"धर्म",population:"जनसंख्या",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",close:"बंद करें",clear:"साफ़ करें",map_controls:"मानचित्र नियंत्रण"},_g={bloc:"समानता समूह",gospel_access:"सुसमाचार पहुँच",people:"जनसमूह",people_name:"जनसमूह (नाम)",praying:"प्रार्थना कर रहे",religion_family:"धर्म परिवार",search_language:"भाषा खोजें",search_people:"जनसमूह खोजें",search_place:"स्थान खोजें",search_religion:"धर्म खोजें",upgs_in_scope:"दायरे में UPG",countries_touched:"छुए गए देश",unreached:"अनपहुँचे",sum_population:"Σ जनसंख्या",sum_praying:"Σ प्रार्थना",charts:"चार्ट",table:"तालिका",cluster:"क्लस्टर",country:"देश",engagement:"सहभागिता",language:"भाषा",language_family:"भाषा परिवार",people_group:"जनसमूह",population:"जनसंख्या",prayer:"प्रार्थना",region:"क्षेत्र",religion:"धर्म",status:"स्थिति",adopted:"गोद लिया गया",filters:"फ़िल्टर",gospel_resources:"सुसमाचार संसाधन",map:"नक्शा",search_placeholder:"जनसमूह, स्थान, भाषा, धर्म खोजें…",any:"कोई भी",active_count:"{n} सक्रिय",prayer_status:"प्रार्थना स्थिति",map_controls:"मानचित्र नियंत्रण",close:"बंद करें",clear:"साफ़ करें",dashboard_title:"बिग पिक्चर शोध डैशबोर्ड",align_dashboard:"डैशबोर्ड संरेखित करें",align_dashboard_tip:"डैशबोर्ड लेआउट को डिफ़ॉल्ट संरेखण पर लौटाएँ",selected:"चयनित",world:"विश्व",vertical_legend:"लंबवत लेजेंड",groups_in_scope:"दायरे में जनसमूह",filter_by:"इससे फ़िल्टर करें",remove_filter:"फ़िल्टर हटाएँ",groups:"जनसमूह",expand:"विस्तार करें",collapse:"संक्षिप्त करें",place:"स्थान"},bg={labels:{country:"देश:",population:"जनसंख्या:",language:"भाषा:",religion:"धर्म:",languageFamily:"भाषा परिवार:",peopleCommitted:"प्रार्थना के लिए प्रतिबद्ध:"},messages:{noDescription:"कोई विवरण उपलब्ध नहीं है।"}},yg={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"नीचे दी गई व्याख्यात्मक टिप्पणियाँ अंग्रेज़ी में हैं।"},mode:{gap:"कमी",coverage:"उपलब्ध संसाधन"},search:{placeholder:"जनसमूह, भाषा या ISO कोड खोजें",clear:"खोज साफ़ करें",none:"इस नाम, भाषा या कोड से कुछ भी मेल नहीं खाता।",placeholderShort:"जनसमूह, भाषा या ISO कोड"},legend:{title:"ऐसे जनसमूह जिन तक सुसमाचार नहीं पहुँचा और कोई संसाधन नहीं मिला",band60:"60%+ के पास कुछ नहीं",band30:"30–59%",bandSome:"कुछ जनसमूह",bandAll:"सभी जनसमूहों के पास कुछ है",tier2:"पवित्र शास्त्र और फ़िल्म",tier1:"कुछ संसाधन मिला",tier0:"कुछ नहीं मिला",hnr:"सुन सकते हैं, पाठ नहीं",showAll:"सभी जनसमूह दिखाएँ",titleCoverage:"ऐसे अनपहुँचे जनसमूह जिनके लिए कुछ सुसमाचार संसाधन मिला",cov80:"80%+ के पास कुछ है",cov50:"50–79%",cov1:"1–49%",cov0:"किसी के लिए कुछ नहीं",tallyEach:"हर",tallyIs:"एक जनसमूह है —",tallyOf:"में से,",tallyLink:"के पास लिंक है",doxa0:"सभी के पास कुछ है",doxa1:"1–4 के पास कुछ नहीं",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 तक पहुँच",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"इस मानचित्र पर दोक्सा जनसमूह",notPlaced:"सूची में, अभी स्थान नहीं",outOfScope:"कोई दोक्सा जनसमूह नहीं — रंग नहीं"},tabs:{groups:"सबसे बड़े जनसमूह",countries:"देश के अनुसार",regions:"क्षेत्र के अनुसार",noprayer:"कोई प्रार्थना नहीं कर रहा",hnr:"सुन सकते हैं, पाठ नहीं"},stat:{language:"भाषा",population:"जनसंख्या",countries:"देश",peopleGroups:"जनसमूह",noResource:"कोई संसाधन नहीं मिला",peopleAffected:"प्रभावित लोग",haveScripture:"पवित्र शास्त्र उपलब्ध",haveFilm:"फ़िल्म उपलब्ध",haveAudio:"ऑडियो शास्त्र उपलब्ध",signLanguages:"सांकेतिक भाषाएँ",growingUnreached:"बढ़ते और अनपहुँचे",deathsDay:"अनुमानित मृत्यु/दिन"},sheet:{ownLanguage:"उनकी अपनी भाषा में",close:"बंद करें",loading:"संसाधन लोड हो रहे हैं…",pray:"के लिए प्रार्थना करें",everyResource:"में सभी संसाधन",alsoSpeak:"यह भी बोलते हैं"},res:{scripture:"पवित्र शास्त्र",film:"फ़िल्म",audio:"ऑडियो",bibleVideo:"बाइबल वीडियो",bibleStories:"Open Bible Stories",gospelAudio:"सुसमाचार ऑडियो",gospelPresentation:"सुसमाचार प्रस्तुति",scriptureEarth:"Scripture Earth",training:"शिष्यत्व प्रशिक्षण",jesusFilm:"यीशु फ़िल्म"},state:{noneFound:"कुछ नहीं मिला",noneAtFcbh:"FCBH में कुछ नहीं",noneAtGrn:"GRN में कुछ नहीं",notInZume:"Zume की 54 भाषाओं में नहीं",linkChecked:"लिंक जाँचा गया",unchecked:"अनजाँचा",linkDead:"लिंक निष्क्रिय",wrongLanguage:"ग़लत भाषा",varietyNotStated:"(उपभाषा नहीं बताई गई)",inLanguage:"में"},guide:{dotVsCountry:"हर बिंदु दोक्सा का एक जनसमूह और उसकी अपनी भाषा है; देश का रंग उन जनसमूहों की संख्या है।",noneFoundShort:"“कुछ नहीं मिला” का अर्थ है जाँचे गए स्रोतों में नहीं — यह प्रमाण नहीं कि कुछ है ही नहीं।",tapCountry:"संसाधन देखने के लिए किसी देश पर टैप करें, जनसमूह दर जनसमूह।"},tables:{title:"सुसमाचार संसाधन — डेटा",showing:"दिखा रहे हैं",of:"में से",for:"के लिए",filteredTo:"फ़िल्टर:",showAll:"सभी संसाधन दिखाएँ",t_doxa:"दोक्सा — सुसमाचार पहुँच",t_links:"हर संसाधन + लिंक",t_nothing:"जहाँ कुछ नहीं मिला",t_countrygap:"देश अनुसार कमी",t_translation:"सुन सकते हैं, पाठ नहीं",t_translationcountry:"अनुवाद कहाँ करें",t_gaps:"कमियाँ और अवसर",t_bridges:"नगर सेतु",t_deaf:"बधिर कमी",t_resources:"जनसमूह अनुसार संसाधन",t_languages:"देश अनुसार भाषाएँ",t_growth:"पहुँच बनाम जनसंख्या वृद्धि"},pages:{listTitle:"भाषा अनुसार सुसमाचार संसाधन",chartsTitle:"सुसमाचार संसाधन — भाषा अनुसार",loadingTables:"संसाधन तालिकाएँ लोड हो रही हैं…"}},vg={search:"जनसमूह खोजें…",hide_filters:"फ़िल्टर छिपाएँ",show_filters:"फ़िल्टर दिखाएँ",total:"कुल",showing:"दिखा रहे हैं",load_more:"और देखें",full_profile:"पूरी प्रोफ़ाइल",wagf_region:"क्षेत्र",wagf_block:"समानता समूह",rop1:"जनसमूह",religion:"धर्म",exact_filter:"सटीक",clear_all:"सब हटाएँ",loading:"लोड हो रहा है…",no_results:"इस फ़िल्टर से कोई जनसमूह मेल नहीं खाता।",type_to_search:"खोजने के लिए लिखें...",load_failed:"जनसमूह डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, आपके फ़िल्टर की नहीं।"},wg={title:{adoption:"गोद लेने की प्रगति",affinityBlocs:"समानता समूह",doxaRegions:"Doxa क्षेत्र",engagement:"सहभागिता प्रगति",gospelResources:"सुसमाचार संसाधन",languageFamilies:"भाषा परिवार",prayer:"प्रार्थना प्रगति",upg100List:"मेरी UPG 100 सूची"},header:{collapsed:"किंवदंती",peopleGroupFallback:"जनजाति समूह",default:"सूचकांक"},prayer:{needsPrayer:"प्रार्थना चाहिए",hasPrayer:"प्रार्थना है",fullPrayerCoverage:"पूर्ण प्रार्थना कवरेज"},progress:{title:"प्रगति",covered:"{total} में से {covered} जनजाति समूह प्रार्थना में कवर · {pct}%",short:"{total} में से {covered} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"सहभागिता चाहिए",hasEngagement:"सहभागिता है"},adoption:{needsAdoption:"गोद लेना चाहिए",hasAdoption:"गोद लिया गया"},columns:{upgs:"UUPGs",population:"जनसंख्या",name:"नाम"},footer:{total:"कुल"},sortByUpgs:"UUPG के अनुसार क्रमबद्ध करें",sortByPop:"जनसंख्या के अनुसार क्रमबद्ध करें",colLabel:{religion:"UUPG धर्म",prayer:"प्रार्थना स्थिति",engagement:"सहभागिता स्थिति",adoption:"गोद लेने की स्थिति",status:"स्थिति"},titleBar:{legend:"सूचकांक",peopleGroups:"जनसमूह",wagfRegions:"WAGF क्षेत्र",languages:"भाषाएँ"},tabInfo:{upg100Region:"क्षेत्र — UPG-100 सूचियों को विश्व क्षेत्र के अनुसार क्रमित करता है (अफ़्रीका, भारत, मध्य पूर्व, बधिर, …)। संख्याएँ उसके नीचे की हर सूची के UUPG और जनसंख्या का योग हैं।",upg100Zone:"UPG-100 सूचियाँ — हर एक किसी क्षेत्र के अनपहुँचे जनसमूहों की प्रार्थना सूची है, और यही मानचित्र बनाता और रंगता है। हर सूची अपने अलग पैकेट के रूप में छपती है।",upg100Group:"जनसमूह — किसी सूची के भीतर के अलग-अलग अनपहुँचे समूह, सबसे बड़ी प्रार्थना आवश्यकता पहले। मानचित्र का हर बिंदु इनमें से एक है।"},a11y:{expandRow:"{label} का विस्तार करें",collapseRow:"{label} को छोटा करें",clearSelection:"चयन हटाएँ"}},Lg={menuComingSoon:"मेनू शीघ्र आ रहा है",pinHint:{tapDot:"किसी रंगीन बिंदु पर टैप करें — किसी को अभी भी प्रार्थना की आवश्यकता है"},upg100WallHeading:"मेरी UPG 100 सूची — प्रार्थना सूचियाँ और पोस्टर",upg100WallTag:"प्रार्थना लामबंदी",upg100WallIntro:"प्रार्थना के काम को पचास-पचास और सौ-सौ के समूहों में बाँटें — जैसे यीशु ने 5,000 लोगों को खिलाया (लूका 9:14)। हर पोस्टर 100 की एक सूची है जिसके लिए आप प्रार्थना कर सकते हैं, छाप सकते हैं और दीवार पर लगा सकते हैं — उनके लिए <strong>उनके जनसमूह के नाम से</strong> प्रार्थना करते हुए।"},Pg={clusterByRegion:"Doxa क्षेत्र के अनुसार",clusterByLanguageFamily:"भाषा परिवार के अनुसार",clusterByGospelResource:"सुसमाचार संसाधन के अनुसार"},Sg={country:{wagfRegion:"WAGF क्षेत्र",wagfBlock:"WAGF ब्लॉक",country:"देश",uupgCount:"UUPG संख्या"}},Ag={header:"वर्तमान प्रार्थना चक्र",lap:"चक्र",upgs:"UUPGs",separator:" में से "},xg={"%count% people groups in %countries% countries":"%countries% देशों में %count% जनसमूह","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% में %countries% देशों में %count% लोगों के समूह हैं। प्रत्येक बिंदु का रंग दर्शाता है कि उस लोगों के समूह के लिए कितने लोग प्रार्थना कर रहे हैं।","1+ People Praying":"1+ लोग प्रार्थना कर रहे हैं","100+ People Praying":"100+ लोग प्रार्थना कर रहे हैं",Adopted:"गोद लिया गया","Adoption Progress":"गोद लेने की प्रगति","All Regions":"सभी क्षेत्र","Alternate Names":"वैकल्पिक नाम","Choose a region":"क्षेत्र चुनें","Clear All":"सभी साफ़ करें",Countries:"देश","Countries in this region":"इस क्षेत्र के देश",Country:"देश",Engaged:"संपर्कित","Engagement Progress":"संलग्नता की प्रगति","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"प्रत्येक असंलग्न जनसमूह जिसे प्रार्थना, दान और भेजने के लिए प्रतिबद्ध एक चर्च ने अपनाया है।","Exact Search":"सटीक खोज","Find unreached people groups by region and country.":"क्षेत्र और देश के अनुसार अगम्य लोगों के समूह खोजें।","Full Profile":"पूरी प्रोफ़ाइल",Goal:"लक्ष्य","Hide Filters":"फ़िल्टर छिपाएँ","Hide country posters":"देश के पोस्टर छिपाएँ",Intercessors:"मध्यस्थ","Load More":"और लोड करें","Loading results...":"परिणाम लोड हो रहे हैं..।",Map:"नक्शा","Mobilize 100+ people praying daily for each DOXA people group":"प्रत्येक DOXA जनसमूह के लिए प्रतिदिन प्रार्थना करने हेतु 100+ लोगों को सक्रिय करें।","No One Praying":"कोई प्रार्थना नहीं कर रहा","No options found":"कोई विकल्प नहीं मिला","No poster has been generated for this country yet.":"इस देश के लिए अभी तक कोई पोस्टर नहीं बना है।","No unengaged people groups by 2033":"2033 तक कोई भी संलग्न न किया गया जनसमूह नहीं रहेगा।","Not Adopted":"दत्तक नहीं लिया गया",Other:"अन्य","Page Not Found":"पृष्ठ नहीं मिला","People Group":"लोगों का समूह","People Groups":"जनसमूह","People committed to praying":"प्रार्थना के लिए प्रतिबद्ध लोग","Pick a region above, or click any dot to open that people group's country.":"ऊपर कोई क्षेत्र चुनें, या उस लोगों के समूह का देश खोलने के लिए किसी बिंदु पर क्लिक करें।","Pick a region or a country on the Regions List tab to narrow this dashboard.":"इस डैशबोर्ड को सीमित करने के लिए क्षेत्रों की सूची टैब में कोई क्षेत्र या देश चुनें।",Population:"जनसंख्या","Prayer Coverage":"प्रार्थना कवरेज","Prayer coverage progress":"प्रार्थना कवरेज की प्रगति","Region Dashboards":"क्षेत्र डैशबोर्ड","Region dashboard":"क्षेत्र डैशबोर्ड",Regions:"क्षेत्र","Regions List":"क्षेत्रों की सूची",Religion:"धर्म","Search names, country/continent, religions...":"नाम, देश/महाद्वीप, धर्म खोजें…","See %region% dashboard":"%region% डैशबोर्ड देखें","See All":"सभी देखें",Select:"चयन/छंटनी","Select View":"दृश्य चुनें","Show Filters":"फ़िल्टर दिखाएँ","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% में %count% लोगों के समूह हैं। इस देश की सीमा पर स्थित लोगों के समूहों के लिए मानचित्र भी देखें।",Total:"संपूर्ण","Type to search...":"खोजने के लिए टाइप करें..।","Unengaged people groups":"अनसंपर्कित जनसमूह","View country posters":"देश के पोस्टर देखें",Views:"दृश्य","WAGF Block":"WAGF ब्लॉक","WAGF Region":"डब्ल्यूएजीएफ क्षेत्र","people groups adopted":"जनसमूह गोद लिए गए","people groups engaged":"संपर्कित जनसमूह","Outside this region":"इस क्षेत्र के बाहर",Pray:"प्रार्थना करें","Loading region dashboards…":"क्षेत्र डैशबोर्ड लोड हो रहे हैं…","No regions found.":"कोई क्षेत्र नहीं मिला।","Region data could not be loaded. This is a connection problem, not a filter.":"क्षेत्र डेटा लोड नहीं हो सका। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","People groups could not be loaded. This is a connection problem, not a filter.":"लोकसमूह लोड नहीं हो सके। यह कनेक्शन की समस्या है, फ़िल्टर की नहीं।","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"नक्शा शुरू नहीं हो सका। यह नक्शा-टोकन या कनेक्शन की समस्या है, फ़िल्टर की नहीं — ऊपर के आंकड़े प्रभावित नहीं हैं।"},Eg={placeholder:"लोग, स्थान, भाषा, धर्म",labels:{people:"लोग:",place:"स्थान:",language:"भाषा:",religion:"धर्म:"},sections:{within:"{selection} के भीतर",allData:"सभी DOXA डेटा"},kinds:{people:"जनसमूह + देश",peopleGroup:"जनसमूह",bloc:"समानता समूह",cluster:"जनसमूह क्लस्टर",country:"देश",region:"क्षेत्र",family:"भाषा परिवार",languageKind:"भाषा",dialect:"बोली",religionKind:"धर्म"}},kg={title:"प्लगइन स्टूडियो",navLabel:"क्षमता के अनुसार प्लगइन",countLabel:"{bundles} बंडल · यहाँ {elements} प्लगइन सूचीबद्ध",changeLanguage:"भाषा बदलें",copyEmbed:"एम्बेड कोड कॉपी करें",copy:"कॉपी करें",copied:"कॉपी हो गया",scriptEmbed:"स्क्रिप्ट एम्बेड",loading:"{name} लोड हो रहा है…",couldNotLoad:"{name} लोड नहीं हो सका।",chooseElement:"सूची से कोई प्लगइन चुनें।",filterPlaceholder:"प्लगइन फ़िल्टर करें",collapseAll:"सभी संक्षिप्त करें",noMatch:"“{query}” से कोई प्लगइन मेल नहीं खाता।",openSection:"{cap} खोलें, {label}",part:"भाग",noStandalone:"कोई अलग पेज नहीं",cap5:"ऐप शेल",cap4:"संयुक्त",cap3:"बहु-दृश्य",cap2:"प्रीसेट",cap1:"एकल",toggleList:"सूची दिखाएँ या छिपाएँ",openViews:"दृश्यों की सूची खोलें",expandList:"सूची फैलाएँ",collapseList:"सूची संक्षिप्त करें",collapse:"संक्षिप्त करें",partOf:"{name} का भाग, अलग से प्रकाशित नहीं"},Cg={prayer:"प्रार्थना",adoption:"गोद लेना",engagement:"सहभागिता","affinity-blocks":"जनसमूह",regions:"क्षेत्र",countries:"देश","language-families":"भाषाएँ",religion:"धर्म",family:"भाषा परिवार",language:"भाषा",dialect:"बोली/रूप",bloc:"समानता समूह",cluster:"क्लस्टर",group:"जनसमूह",pgic:"देश में जनसमूह",region:"WAGF क्षेत्र",block:"WAGF ब्लॉक",country:"देश",upg100Region:"क्षेत्र",upg100Zone:"UPG-100 सूचियाँ",upg100Group:"जनसमूह",selectView:"दृश्य चुनें",views:"दृश्य",prayerResources:"प्रार्थना संसाधन",map:"मानचित्र"},Rg={kicker:"DOXA · दर्शन",title:"हर जनसमूह। हर स्थान।",tagline:"दुनिया के हर जनसमूह से उन तक जिनके लिए DOXA प्रार्थना करता है, आँकड़ों से गिने गए।",funnelLabel:"सभी जनसमूहों से DOXA जनसमूहों तक",allLabel:"जनसमूह",allNote:"हर जनसमूह, हर उस देश में जहाँ वह रहता है",unreachedLabel:"अप्रचारित",unreachedNote:"2% से कम इवेंजेलिकल",frontierLabel:"सीमांत",frontierNote:"0.1% से कम इवेंजेलिकल",doxaLabel:"DOXA जनसमूह",doxaNote:"इनमें से {frontier} सीमांत हैं",people:"{n} लोग",sources:"जनसमूह: {imb}, {date} के आँकड़े। DOXA सूची: pray.doxa.life, {date2}।",howCounted:"ये कैसे गिने गए",ruleAll:"IMB जनसमूह आँकड़ों की हर पंक्ति: एक देश में एक जनसमूह।",ruleUnreached:"IMB लॉस्टनेस प्राथमिकता 0 से 2: 2% से कम इवेंजेलिकल।",ruleFrontier:"IMB लॉस्टनेस प्राथमिकता 0: 0.1% से कम इवेंजेलिकल। अप्रचारितों का एक भाग।",ruleDoxa:"DOXA प्रार्थना सूची का हर समूह, जनसमूह और देश के आधार पर IMB आँकड़ों से मिलाया गया। सभी सीमांत नहीं हैं।"},Tg={title:"Tutti i gruppi etnici",locations:"{n} località (gruppo × paese)",doxa:"Gruppi etnici DOXA",frontier:"Frontiera — non è iniziato nulla",unreached:"Non raggiunti — il lavoro inizia",reached:"Raggiunti — la chiesa c’è",hint:"Fai clic su una riga per vederli tutti · di nuovo per vedere tutto",loading:"Caricamento di tutti i gruppi etnici…",loadError:"Impossibile caricare la mappa.",pray:"Prega per loro →",population:"pop. {n}"},Og={backToLegend:"Torna alla legenda",closeDetailView:"Chiudi vista dettaglio",collapseLegend:"Comprimi la legenda",expandLegend:"Espandi la legenda",toggleLegend:"Mostra o nascondi la legenda"},Ng={prayForThem:"Prega per loro",adoptThem:"Adottali",moreInfo:"Più informazioni",zoomIn:"Ingrandisci",zoomOut:"Riduci",switchToLightMode:"Passa alla modalità chiara",switchToDarkMode:"Passa alla modalità scura",resetView:"Reimposta vista",toggleFullscreen:"Attiva/disattiva schermo intero",aboutThisMap:"Informazioni su questa mappa",closeMenu:"Chiudi menu",reloadMap:"Ricarica mappa",showClusters:"Mostra cluster",clusterSettings:"Impostazioni cluster",startAutoFly:"Avvia volo automatico",stopFlight:"Ferma volo",speedLabel:"Velocità:",speedOption:{slow:"Lenta",normal:"Normale",fast:"Veloce"},shareEmbed:"Condividi e incorpora",posterMap:"Mappa del poster",prayerList:"Lista di preghiera",cardDeck:"Mazzo di carte",printOptions:"Opzioni di stampa",showOnMap:"Mostra sulla mappa",close:"Chiudi",showOnMapAria:"Mostra {label} sulla mappa",cardStockAria:"Formato della scheda di preghiera",previewPrintPoster:"Anteprima e stampa del poster {label}",share:"Condividi",shareSteps:["Incorpora questa mappa nel tuo sito","Fai un elenco dei siti web della tua città","Insegna loro a incorporarla a loro volta","Insegna loro a formare altri a incorporarla","Moltiplichiamo le mappe ovunque per Gesù!"],clearSelection:"Cancella la selezione",noOptions:"Nessuna opzione trovata",renderingLocal:"Un’immagine con qualità di stampa viene generata nel tuo browser: nulla viene caricato.",postersPerRow:"Poster per riga"},Ig={title:"Accesso a internet dove vivono i popoli senza impegno",bands:{yes:"connesso 60%+",partial:"parziale 25–59%",no:"basso, sotto il 25%",unknown:"non misurato"},peopleGroup:"popolo",caveat:"Dati NAZIONALI (Banca Mondiale). La connettività per città non è disponibile pubblicamente: non dedurre una città dal suo paese.",sheet:{close:"Chiudi",ai:"Questi dati provengono da una ricerca approfondita con IA e possono contenere informazioni errate.",dismiss:"Ignora",internetUsers:"Utenti internet",measured:"Misurato",mobilePer100:"Cellulari ogni 100",peopleGroups:"Popoli",topPlatform:"Piattaforma principale",unknown:"sconosciuto",carriers:"Operatori e ISP ({n})",socialPlatforms:"Piattaforme social",note:"Dati nazionali, non misure per città. I nomi degli operatori sono titolari di registri ASN (includono banche e università oltre agli ISP), quindi l'etichetta di operatore è un'euristica basata sul nome, non una classificazione verificata."}},Mg={research_controls:"Controlli di ricerca",clustering:"Raggruppamento",filters:"Filtri",pin_dim:"Opacità dei punti",export_poster:"Esporta poster…",reload_data:"Ricarica i dati",off:"Disattivato",native:"Nativo",mst:"MST",network:"Rete",off_desc:"Mostra ogni punto singolarmente",native_desc:"Cluster circolari Mapbox (il più veloce)",mst_desc:"Reti di affinità ad albero ricoprente minimo",network_desc:"Linee verso il vicino più prossimo",search_languages:"Cerca lingue…",search_religions:"Cerca religioni…",reset_all:"Reimposta tutto",no_languages:"Nessuna lingua ancora caricata",no_religions:"Nessuna religione ancora caricata",unadopted:"Non adottato",min:"min",max:"max",adopted:"Adottato",adoption:"Adozione",engaged:"Coinvolto",engagement:"Impegno",unengaged:"Necessita impegno",language:"Lingua",religion:"Religione",population:"Popolazione",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",close:"Chiudi",clear:"Cancella",map_controls:"Controlli della mappa"},Fg={bloc:"Blocco di affinità",gospel_access:"Accesso al vangelo",people:"Popoli",people_name:"Popolo (nome)",praying:"In preghiera",religion_family:"Famiglia religiosa",search_language:"Cerca lingua",search_people:"Cerca popolo",search_place:"Cerca luogo",search_religion:"Cerca religione",upgs_in_scope:"UPG nell’ambito",countries_touched:"paesi toccati",unreached:"non raggiunti",sum_population:"Σ popolazione",sum_praying:"Σ in preghiera",charts:"Grafici",table:"Tabella",cluster:"Cluster",country:"Paese",engagement:"Impegno",language:"Lingua",language_family:"Famiglia linguistica",people_group:"Popolo",population:"Popolazione",prayer:"Preghiera",region:"Regione",religion:"Religione",status:"Stato",adopted:"Adottato",filters:"Filtri",gospel_resources:"Risorse del Vangelo",map:"Mappa",search_placeholder:"Cerca popoli, luoghi, lingue, religioni…",any:"Tutti",active_count:"{n} attivi",prayer_status:"Stato di preghiera",map_controls:"Controlli della mappa",close:"Chiudi",clear:"Cancella",dashboard_title:"Cruscotto di ricerca generale",align_dashboard:"Allinea cruscotto",align_dashboard_tip:"Ripristina la disposizione predefinita del cruscotto",selected:"Selezionato",world:"Mondo",vertical_legend:"Legenda verticale",groups_in_scope:"popoli nell’ambito",filter_by:"Filtra per",remove_filter:"Rimuovi filtro",groups:"popoli",expand:"Espandi",collapse:"Comprimi",place:"Luogo"},Dg={labels:{country:"Paese:",population:"Popolazione:",language:"Lingua:",religion:"Religione:",languageFamily:"Famiglia linguistica:",peopleCommitted:"Impegnati a pregare:"},messages:{noDescription:"Nessuna descrizione disponibile."}},Gg={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Le note esplicative qui sotto sono in inglese."},mode:{gap:"Divario",coverage:"Risorse trovate"},search:{placeholder:"Cerca un popolo, una lingua o un codice ISO",clear:"Cancella ricerca",none:"Nessuna corrispondenza per quel nome, lingua o codice.",placeholderShort:"Popolo, lingua o codice ISO"},legend:{title:"Popoli non raggiunti senza alcuna risorsa del vangelo",band60:"60%+ senza nulla",band30:"30–59%",bandSome:"alcuni popoli",bandAll:"tutti i popoli hanno qualcosa",tier2:"Scritture e film",tier1:"qualche risorsa trovata",tier0:"nulla trovato",hnr:"possono ascoltarlo, nessun testo",showAll:"Mostra tutti i popoli",titleCoverage:"Popoli non raggiunti con qualche risorsa del vangelo",cov80:"80%+ hanno qualcosa",cov50:"50–79%",cov1:"1–49%",cov0:"nulla per nessuno",tallyEach:"Ogni",tallyIs:"è UN popolo —",tallyOf:"di questi,",tallyLink:"con un link",doxa0:"tutti hanno qualcosa",doxa1:"1–4 senza nulla",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 raggiunti",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoli Doxa su questa mappa",notPlaced:"in elenco, non ancora collocati",outOfScope:"nessun popolo Doxa — non colorato"},tabs:{groups:"Popoli più numerosi",countries:"Per paese",regions:"Per regione",noprayer:"Nessuno prega",hnr:"Ascoltano, senza testo"},stat:{language:"Lingua",population:"Popolazione",countries:"Paesi",peopleGroups:"Popoli",noResource:"Nessuna risorsa trovata",peopleAffected:"Persone coinvolte",haveScripture:"Hanno le Scritture",haveFilm:"Hanno il film",haveAudio:"Hanno le Scritture in audio",signLanguages:"Lingue dei segni",growingUnreached:"In crescita e non raggiunti",deathsDay:"Decessi stimati/giorno"},sheet:{ownLanguage:"Nella loro lingua",close:"Chiudi",loading:"Caricamento risorse…",pray:"Prega per",everyResource:"Tutte le risorse in",alsoSpeak:"Parlano anche"},res:{scripture:"Scritture",film:"Film",audio:"Audio",bibleVideo:"Video biblico",bibleStories:"Open Bible Stories",gospelAudio:"Audio del Vangelo",gospelPresentation:"Presentazione del Vangelo",scriptureEarth:"Scripture Earth",training:"Formazione al discepolato",jesusFilm:"Film GESÙ"},state:{noneFound:"nulla trovato",noneAtFcbh:"nulla presso FCBH",noneAtGrn:"nulla presso GRN",notInZume:"non tra le 54 di Zume",linkChecked:"link verificato",unchecked:"non verificato",linkDead:"link non attivo",wrongLanguage:"lingua errata",varietyNotStated:"(varietà non indicata)",inLanguage:"in"},guide:{dotVsCountry:"Ogni punto è UN popolo di Doxa con la sua lingua; un paese è il NUMERO di quei popoli.",noneFoundShort:"«Nulla trovato» significa assente dalle fonti controllate, mai la prova che non esista.",tapCountry:"Tocca un paese per vedere le risorse, popolo per popolo."},tables:{title:"Risorse del Vangelo — Dati",showing:"Mostrando",of:"di",for:"per",filteredTo:"Filtrato per",showAll:"Mostra tutte le risorse",t_doxa:"Doxa — Accesso al Vangelo",t_links:"Ogni risorsa + link",t_nothing:"Dove non si è trovato nulla",t_countrygap:"Il divario per paese",t_translation:"Ascoltano, senza testo",t_translationcountry:"Dove tradurre",t_gaps:"Divari e opportunità",t_bridges:"Ponti urbani",t_deaf:"Il divario sordo",t_resources:"Risorse per popolo",t_languages:"Lingue per paese",t_growth:"Accesso vs crescita"},pages:{listTitle:"Risorse del Vangelo per lingua",chartsTitle:"Risorse del Vangelo — per lingua",loadingTables:"Caricamento delle tabelle…"}},Ug={search:"Cerca popoli…",hide_filters:"Nascondi filtri",show_filters:"Mostra filtri",total:"Totale",showing:"Mostrati",load_more:"Carica altro",full_profile:"Profilo completo",wagf_region:"Regione",wagf_block:"Blocco di affinità",rop1:"Popolo",religion:"Religione",exact_filter:"Esatto",clear_all:"Cancella tutto",loading:"Caricamento…",no_results:"Nessun popolo corrisponde a questo filtro.",type_to_search:"Digita per cercare...",load_failed:"Impossibile caricare i dati dei popoli. È un problema di connessione, non del filtro."},Bg={title:{adoption:"Avanzamento dell'adozione",affinityBlocs:"Blocchi di affinità",doxaRegions:"Regioni Doxa",engagement:"Avanzamento dell'impegno",gospelResources:"Risorse del Vangelo",languageFamilies:"Famiglie linguistiche",prayer:"Avanzamento della preghiera",upg100List:"La mia lista UPG 100"},header:{collapsed:"Legenda",peopleGroupFallback:"Gruppo di persone",default:"Legenda"},prayer:{needsPrayer:"Necessita preghiera",hasPrayer:"Ha preghiera",fullPrayerCoverage:"Copertura di preghiera completa"},progress:{title:"Avanzamento",covered:"{covered} di {total} gruppi di persone coperti dalla preghiera · {pct}%",short:"{covered} di {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necessita impegno",hasEngagement:"Ha impegno"},adoption:{needsAdoption:"Necessita adozione",hasAdoption:"Ha adozione"},columns:{upgs:"UUPGs",population:"Popolazione",name:"Nome"},footer:{total:"Totale"},sortByUpgs:"Ordina per UUPG",sortByPop:"Ordina per popolazione",colLabel:{religion:"Religioni UUPG",prayer:"Stato della preghiera",engagement:"Stato dell'impegno",adoption:"Stato dell'adozione",status:"Stato"},titleBar:{legend:"Legenda",peopleGroups:"Popoli",wagfRegions:"Regioni WAGF",languages:"Lingue"},tabInfo:{upg100Region:"Regione — ordina le liste UPG-100 per area del mondo (Africa, India, Medio Oriente, Sordi, …). I totali sono gli UUPG e la popolazione sommati di ogni lista sottostante.",upg100Zone:"Liste UPG-100 — ognuna è una lista di preghiera dei gruppi etnici non raggiunti di un’area, ed è ciò che la mappa disegna e colora. Ogni lista si stampa come il proprio fascicolo.",upg100Group:"Gruppo etnico — i singoli gruppi non raggiunti dentro una lista, prima quelli con maggiore bisogno di preghiera. Ogni punto della mappa è uno di questi."},a11y:{expandRow:"Espandi {label}",collapseRow:"Comprimi {label}",clearSelection:"Cancella la selezione"}},Vg={menuComingSoon:"Menu in arrivo",pinHint:{tapDot:"Tocca un punto colorato — qualcuno ha ancora bisogno di preghiera"},upg100WallHeading:"La mia lista UPG 100 — Liste di preghiera e poster",upg100WallTag:"Mobilitazione alla preghiera",upg100WallIntro:"Distribuisci il compito della preghiera in gruppi di cinquanta e di cento — come Gesù sfamò i 5.000 (Luca 9:14). Ogni poster è una lista di 100 che puoi pregare, stampare e appendere al muro — pregando per loro <strong>con il nome del loro popolo</strong>."},jg={clusterByRegion:"Per regione Doxa",clusterByLanguageFamily:"Per famiglia linguistica",clusterByGospelResource:"Per risorsa del Vangelo"},zg={country:{wagfRegion:"Regione WAGF",wagfBlock:"Blocco WAGF",country:"Paese",uupgCount:"Numero di UUPG"}},Wg={header:"GIRO DI PREGHIERA ATTUALE",lap:"Giro",upgs:"UUPGs",separator:" di "},Hg={"%count% people groups in %countries% countries":"%count% popoli in %countries% paesi","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% conta %count% popoli in %countries% paesi. Il colore di ogni punto indica quante persone pregano per quel popolo.","1+ People Praying":"1+ persone in preghiera","100+ People Praying":"100+ persone in preghiera",Adopted:"Adottato","Adoption Progress":"Avanzamento dell'adozione","All Regions":"Tutte le regioni","Alternate Names":"Nomi alternativi","Choose a region":"Scegli una regione","Clear All":"Cancella tutto",Countries:"Paesi","Countries in this region":"Paesi di questa regione",Country:"Paese",Engaged:"Coinvolto","Engagement Progress":"Avanzamento dell'impegno","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Ogni popolo non ancora raggiunto adottato da una chiesa impegnata nella preghiera, nel dare e nell'inviare","Exact Search":"Ricerca esatta","Find unreached people groups by region and country.":"Trova i popoli non raggiunti per regione e paese.","Full Profile":"Profilo completo",Goal:"Obiettivo","Hide Filters":"Nascondi i filtri","Hide country posters":"Nascondi i poster del paese",Intercessors:"Intercessori","Load More":"Carica altri","Loading results...":"Caricamento dei risultati…",Map:"Mappa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilitare oltre 100 persone che pregano ogni giorno per ciascun popolo DOXA","No One Praying":"Nessuno prega","No options found":"Nessuna opzione trovata","No poster has been generated for this country yet.":"Per questo paese non è ancora stato generato alcun poster.","No unengaged people groups by 2033":"Nessun popolo senza impegno entro il 2033","Not Adopted":"Non adottato",Other:"Altro","Page Not Found":"Pagina non trovata","People Group":"Popolo","People Groups":"Popoli","People committed to praying":"Persone impegnate a pregare","Pick a region above, or click any dot to open that people group's country.":"Scegli una regione qui sopra, oppure clicca su un punto per aprire il paese di quel gruppo etnico.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Scegli una regione o un paese nella scheda Elenco delle regioni per restringere questo cruscotto.",Population:"Popolazione","Prayer Coverage":"Copertura della preghiera","Prayer coverage progress":"Avanzamento della copertura di preghiera","Region Dashboards":"Cruscotti delle regioni","Region dashboard":"Cruscotto della regione",Regions:"Regioni","Regions List":"Elenco delle regioni",Religion:"Religione","Search names, country/continent, religions...":"Cerca nomi, paese/continente, religioni…","See %region% dashboard":"Vedi il cruscotto di %region%","See All":"Vedi tutto",Select:"Seleziona","Select View":"Seleziona vista","Show Filters":"Mostra i filtri","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"In %country% ci sono %count% popoli. Controlla sulla mappa anche i popoli ai confini di questo paese.",Total:"Totale","Type to search...":"Digita per cercare…","Unengaged people groups":"Popoli senza impegno","View country posters":"Vedi i poster del paese",Views:"Viste","WAGF Block":"Blocco WAGF","WAGF Region":"Regione WAGF","people groups adopted":"popoli adottati","people groups engaged":"popoli coinvolti","Outside this region":"Fuori da questa regione",Pray:"Prega","Loading region dashboards…":"Caricamento delle dashboard delle regioni…","No regions found.":"Nessuna regione trovata.","Region data could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i dati delle regioni. È un problema di connessione, non un filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Non è stato possibile caricare i gruppi di popolazione. È un problema di connessione, non un filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"La mappa non è potuta avviare. È un problema di token della mappa o di connessione, non un filtro: i dati sopra non sono interessati."},qg={placeholder:"Popolo, luogo, lingua, religione",labels:{people:"Popolo:",place:"Luogo:",language:"Lingua:",religion:"Religione:"},sections:{within:"In {selection}",allData:"Tutti i dati DOXA"},kinds:{people:"Popolo + paese",peopleGroup:"Popolo",bloc:"Blocco di affinità",cluster:"Cluster di popoli",country:"Paese",region:"Regione",family:"Famiglia linguistica",languageKind:"Lingua",dialect:"Dialetto",religionKind:"Religione"}},Xg={title:"Studio dei plugin",navLabel:"Plugin per capacità",countLabel:"{bundles} pacchetti · {elements} plugin elencati qui",changeLanguage:"Cambia lingua",copyEmbed:"Copia codice di incorporamento",copy:"Copia",copied:"Copiato",scriptEmbed:"Incorporamento tramite script",loading:"Caricamento di {name}…",couldNotLoad:"Impossibile caricare {name}.",chooseElement:"Scegli un plugin dall’elenco.",filterPlaceholder:"Filtra i plugin",collapseAll:"Comprimi tutto",noMatch:"Nessun plugin corrisponde a «{query}».",openSection:"Apri {cap}, {label}",part:"parte",noStandalone:"nessuna pagina propria",cap5:"Shell dell’app",cap4:"Composito",cap3:"Multivista",cap2:"Preimpostato",cap1:"Singolo",toggleList:"Mostra o nascondi l’elenco",openViews:"Apri l’elenco delle viste",expandList:"Espandi l’elenco",collapseList:"Comprimi l’elenco",collapse:"Comprimi",partOf:"parte di {name}, non pubblicata da sola"},Kg={prayer:"Preghiera",adoption:"Adozione",engagement:"Impegno","affinity-blocks":"Popoli",regions:"Regioni",countries:"Paesi","language-families":"Lingue",religion:"Religioni",family:"Famiglia ling.",language:"Lingua",dialect:"Dialetto/Variante",bloc:"Blocco di affinità",cluster:"Cluster",group:"Popolo",pgic:"Popolo nel paese",region:"Regione WAGF",block:"Blocco WAGF",country:"Paese",upg100Region:"Regione",upg100Zone:"Liste UPG-100",upg100Group:"Gruppo etnico",selectView:"Seleziona vista",views:"Viste",prayerResources:"Risorse di preghiera",map:"Mappa"},Yg={kicker:"DOXA · Visione",title:"Ogni popolo. Ogni luogo.",tagline:"Da tutti i gruppi etnici del mondo a quelli per cui DOXA prega, contati dai dati.",funnelLabel:"Da tutti i gruppi etnici ai gruppi etnici DOXA",allLabel:"Gruppi etnici",allNote:"ogni gruppo etnico, in ogni paese in cui vive",unreachedLabel:"Non raggiunti",unreachedNote:"meno del 2% evangelici",frontierLabel:"Frontiera",frontierNote:"meno dello 0,1% evangelici",doxaLabel:"Gruppi etnici DOXA",doxaNote:"{frontier} di questi sono di frontiera",people:"{n} persone",sources:"Gruppi etnici: {imb}, dati del {date}. Elenco DOXA: pray.doxa.life, {date2}.",howCounted:"Come vengono contati",ruleAll:"Ogni riga dei dati IMB sui gruppi etnici: un gruppo etnico in un paese.",ruleUnreached:"Priorità di perdizione IMB da 0 a 2: meno del 2% evangelici.",ruleFrontier:"Priorità di perdizione IMB 0: meno dello 0,1% evangelici. Un sottoinsieme dei non raggiunti.",ruleDoxa:"Ogni gruppo dell’elenco di preghiera DOXA, abbinato ai dati IMB per popolo e paese. Non tutti sono di frontiera."},Zg={title:"Todos os grupos étnicos",locations:"{n} locais (grupo × país)",doxa:"Grupos étnicos da DOXA",frontier:"Fronteira — nada iniciado",unreached:"Não alcançados — o trabalho começa",reached:"Alcançados — a igreja está lá",hint:"Clique em uma linha para ver todos · clique de novo para ver tudo",loading:"Carregando todos os grupos étnicos…",loadError:"Não foi possível carregar o mapa.",pray:"Ore por eles →",population:"pop. {n}"},Jg={backToLegend:"Voltar à legenda",closeDetailView:"Fechar vista de detalhe",collapseLegend:"Recolher a legenda",expandLegend:"Expandir a legenda",toggleLegend:"Mostrar ou ocultar a legenda"},Qg={prayForThem:"Ore por eles",adoptThem:"Adote-os",moreInfo:"Mais informações",zoomIn:"Ampliar",zoomOut:"Reduzir",switchToLightMode:"Mudar para modo claro",switchToDarkMode:"Mudar para modo escuro",resetView:"Repor vista",toggleFullscreen:"Alternar ecrã inteiro",aboutThisMap:"Sobre este mapa",closeMenu:"Fechar menu",reloadMap:"Recarregar mapa",showClusters:"Mostrar clusters",clusterSettings:"Definições de clusters",startAutoFly:"Iniciar voo automático",stopFlight:"Parar voo",speedLabel:"Velocidade:",speedOption:{slow:"Lenta",normal:"Normal",fast:"Rápida"},shareEmbed:"Partilhar e incorporar",posterMap:"Mapa do cartaz",prayerList:"Lista de oração",cardDeck:"Baralho de cartões",printOptions:"Opções de impressão",showOnMap:"Ver no mapa",close:"Fechar",showOnMapAria:"Ver {label} no mapa",cardStockAria:"Tamanho do cartão de oração",previewPrintPoster:"Pré-visualizar e imprimir o cartaz de {label}",share:"Partilhar",shareSteps:["Incorpore este mapa no seu site","Faça uma lista dos sites da sua cidade","Ensine-os a incorporá-lo também","Ensine-os a ensinar outros a incorporá-lo","Multipliquemos mapas por toda a parte para Jesus!"],clearSelection:"Limpar a seleção",noOptions:"Nenhuma opção encontrada",renderingLocal:"Uma imagem com qualidade de impressão está a ser gerada no seu navegador — nada é enviado.",postersPerRow:"Cartazes por linha"},ef={title:"Acesso à internet onde vivem os povos sem envolvimento",bands:{yes:"conectado 60%+",partial:"parcial 25–59%",no:"baixo, abaixo de 25%",unknown:"não medido"},peopleGroup:"povo",caveat:"Números NACIONAIS (Banco Mundial). A conectividade por cidade não está disponível publicamente — não deduza uma cidade a partir do país.",sheet:{close:"Fechar",ai:"Estes dados foram encontrados por pesquisa aprofundada com IA — podem conter informações falsas.",dismiss:"Dispensar",internetUsers:"Usuários de internet",measured:"Medido",mobilePer100:"Celulares por 100",peopleGroups:"Povos",topPlatform:"Plataforma principal",unknown:"desconhecido",carriers:"Operadoras e provedores ({n})",socialPlatforms:"Redes sociais",note:"Números nacionais, não medições por cidade. Os nomes das operadoras são titulares de registros ASN (incluem bancos e universidades além de provedores), então a marcação de operadora é uma heurística pelo nome, não uma classificação verificada."}},tf={research_controls:"Controlos de pesquisa",clustering:"Agrupamento",filters:"Filtros",pin_dim:"Esbater pontos",export_poster:"Exportar cartaz…",reload_data:"Recarregar dados",off:"Desligado",native:"Nativo",mst:"MST",network:"Rede",off_desc:"Mostrar cada ponto individualmente",native_desc:"Grupos circulares Mapbox (mais rápido)",mst_desc:"Redes de afinidade por árvore geradora mínima",network_desc:"Linhas para o vizinho mais próximo",search_languages:"Pesquisar idiomas…",search_religions:"Pesquisar religiões…",reset_all:"Repor tudo",no_languages:"Ainda não há idiomas carregados",no_religions:"Ainda não há religiões carregadas",unadopted:"Não adotado",min:"mín",max:"máx",adopted:"Adotado",adoption:"Adoção",engaged:"Engajado",engagement:"Engajamento",unengaged:"Precisa de envolvimento",language:"Idioma",religion:"Religião",population:"População",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",close:"Fechar",clear:"Limpar",map_controls:"Controlos do mapa"},of={bloc:"Bloco de afinidade",gospel_access:"Acesso ao evangelho",people:"Povos",people_name:"Povo (nome)",praying:"A orar",religion_family:"Família religiosa",search_language:"Pesquisar idioma",search_people:"Pesquisar povo",search_place:"Pesquisar lugar",search_religion:"Pesquisar religião",upgs_in_scope:"UPG no âmbito",countries_touched:"países alcançados",unreached:"não alcançados",sum_population:"Σ população",sum_praying:"Σ a orar",charts:"Gráficos",table:"Tabela",cluster:"Agrupamento",country:"País",engagement:"Engajamento",language:"Idioma",language_family:"Família linguística",people_group:"Povo",population:"População",prayer:"Oração",region:"Região",religion:"Religião",status:"Status",adopted:"Adotado",filters:"Filtros",gospel_resources:"Recursos do Evangelho",map:"Mapa",search_placeholder:"Pesquisar povos, lugares, idiomas, religiões…",any:"Qualquer",active_count:"{n} ativos",prayer_status:"Estado de oração",map_controls:"Controlos do mapa",close:"Fechar",clear:"Limpar",dashboard_title:"Painel de pesquisa geral",align_dashboard:"Alinhar painel",align_dashboard_tip:"Repor a disposição do painel para o alinhamento predefinido",selected:"Selecionado",world:"Mundo",vertical_legend:"Legenda vertical",groups_in_scope:"povos no âmbito",filter_by:"Filtrar por",remove_filter:"Remover filtro",groups:"povos",expand:"Expandir",collapse:"Recolher",place:"Lugar"},nf={labels:{country:"País:",population:"População:",language:"Língua:",religion:"Religião:",languageFamily:"Família linguística:",peopleCommitted:"Comprometidos a orar:"},messages:{noDescription:"Sem descrição disponível."}},sf={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"As notas explicativas abaixo estão em inglês."},mode:{gap:"Lacuna",coverage:"Recursos encontrados"},search:{placeholder:"Procure um povo, idioma ou código ISO",clear:"Limpar busca",none:"Nada corresponde a esse nome, idioma ou código.",placeholderShort:"Povo, idioma ou código ISO"},legend:{title:"Povos não alcançados sem nenhum recurso do evangelho",band60:"60%+ sem nada encontrado",band30:"30–59%",bandSome:"alguns povos",bandAll:"todos os povos têm algo",tier2:"Escrituras e filme",tier1:"algum recurso encontrado",tier0:"nada encontrado",hnr:"podem ouvir, sem texto",showAll:"Mostrar todos os povos",titleCoverage:"Povos não alcançados com algum recurso do evangelho",cov80:"80%+ têm algo",cov50:"50–79%",cov1:"1–49%",cov0:"nada para ninguém",tallyEach:"Cada",tallyIs:"é UM povo —",tallyOf:"deles,",tallyLink:"com um link",doxa0:"todos têm algo",doxa1:"1–4 sem nada",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 alcançados",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Povos Doxa neste mapa",notPlaced:"na lista, ainda sem localização",outOfScope:"sem povos Doxa — sem cor"},tabs:{groups:"Maiores povos",countries:"Por país",regions:"Por região",noprayer:"Ninguém orando",hnr:"Ouvem, sem texto"},stat:{language:"Idioma",population:"População",countries:"Países",peopleGroups:"Povos",noResource:"Nenhum recurso encontrado",peopleAffected:"Pessoas afetadas",haveScripture:"Têm Escrituras",haveFilm:"Têm filme",haveAudio:"Têm Escrituras em áudio",signLanguages:"Línguas de sinais",growingUnreached:"Em crescimento e não alcançados",deathsDay:"Mortes estimadas/dia"},sheet:{ownLanguage:"No próprio idioma",close:"Fechar",loading:"Carregando recursos…",pray:"Ore por",everyResource:"Todos os recursos em",alsoSpeak:"Também falam"},res:{scripture:"Escrituras",film:"Filme",audio:"Áudio",bibleVideo:"Vídeo bíblico",bibleStories:"Open Bible Stories",gospelAudio:"Áudio do evangelho",gospelPresentation:"Apresentação do evangelho",scriptureEarth:"Scripture Earth",training:"Treinamento de discipulado",jesusFilm:"Filme JESUS"},state:{noneFound:"nada encontrado",noneAtFcbh:"nada na FCBH",noneAtGrn:"nada na GRN",notInZume:"não está entre as 54 da Zume",linkChecked:"link verificado",unchecked:"não verificado",linkDead:"link inativo",wrongLanguage:"idioma incorreto",varietyNotStated:"(variedade não indicada)",inLanguage:"em"},guide:{dotVsCountry:"Cada ponto é UM povo da Doxa e o seu próprio idioma; um país é o NÚMERO desses povos.",noneFoundShort:"«Nada encontrado» significa ausente das fontes verificadas, nunca prova de que não exista.",tapCountry:"Toque num país para ver os recursos, povo a povo."},tables:{title:"Recursos do evangelho — Dados",showing:"Mostrando",of:"de",for:"para",filteredTo:"Filtrado por",showAll:"Mostrar todos os recursos",t_doxa:"Doxa — Acesso ao evangelho",t_links:"Cada recurso + link",t_nothing:"Onde nada foi encontrado",t_countrygap:"A lacuna por país",t_translation:"Ouvem, sem texto",t_translationcountry:"Onde traduzir",t_gaps:"Lacunas e oportunidades",t_bridges:"Pontes urbanas",t_deaf:"A lacuna surda",t_resources:"Recursos por povo",t_languages:"Idiomas por país",t_growth:"Acesso vs crescimento"},pages:{listTitle:"Recursos do evangelho por idioma",chartsTitle:"Recursos do evangelho — por idioma",loadingTables:"Carregando tabelas de recursos…"}},af={search:"Pesquisar povos…",hide_filters:"Ocultar filtros",show_filters:"Mostrar filtros",total:"Total",showing:"Mostrando",load_more:"Carregar mais",full_profile:"Perfil completo",wagf_region:"Região",wagf_block:"Bloco de afinidade",rop1:"Povo",religion:"Religião",exact_filter:"Exato",clear_all:"Limpar tudo",loading:"A carregar…",no_results:"Nenhum povo corresponde a este filtro.",type_to_search:"Escreva para pesquisar...",load_failed:"Não foi possível carregar os dados dos povos. É um problema de ligação, não do seu filtro."},rf={title:{adoption:"Progresso da adoção",affinityBlocs:"Blocos de afinidade",doxaRegions:"Regiões Doxa",engagement:"Progresso do envolvimento",gospelResources:"Recursos do Evangelho",languageFamilies:"Famílias linguísticas",prayer:"Progresso da oração",upg100List:"A minha lista UPG 100"},header:{collapsed:"Legenda",peopleGroupFallback:"Grupo de pessoas",default:"Legenda"},prayer:{needsPrayer:"Precisa de oração",hasPrayer:"Tem oração",fullPrayerCoverage:"Cobertura de oração completa"},progress:{title:"Progresso",covered:"{covered} de {total} grupos de pessoas cobertos em oração · {pct}%",short:"{covered} de {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Precisa de envolvimento",hasEngagement:"Tem envolvimento"},adoption:{needsAdoption:"Precisa de adoção",hasAdoption:"Tem adoção"},columns:{upgs:"UUPGs",population:"População",name:"Nome"},footer:{total:"Total"},sortByUpgs:"Ordenar por UUPG",sortByPop:"Ordenar por população",colLabel:{religion:"Religiões UUPG",prayer:"Status de oração",engagement:"Status de engajamento",adoption:"Status de adoção",status:"Status"},titleBar:{legend:"Legenda",peopleGroups:"Povos",wagfRegions:"Regiões WAGF",languages:"Idiomas"},tabInfo:{upg100Region:"Região — ordena as listas UPG-100 por área do mundo (África, Índia, Oriente Médio, Surdos, …). Os totais são os UUPG e a população somados de todas as listas abaixo dela.",upg100Zone:"Listas UPG-100 — cada uma é uma lista de oração dos grupos étnicos não alcançados de uma área, e é o que o mapa pinta e colore. Cada lista é impressa como seu próprio pacote.",upg100Group:"Grupo étnico — os grupos não alcançados dentro de uma lista, primeiro os de maior necessidade de oração. Cada ponto do mapa é um deles."},a11y:{expandRow:"Expandir {label}",collapseRow:"Recolher {label}",clearSelection:"Limpar a seleção"}},lf={menuComingSoon:"Menu em breve",pinHint:{tapDot:"Toque num ponto colorido — alguém ainda precisa de oração"},upg100WallHeading:"A minha lista UPG 100 — Listas de oração e cartazes",upg100WallTag:"Mobilização de oração",upg100WallIntro:"Reparta a tarefa da oração em grupos de cinquenta e de cem — como Jesus alimentou os 5.000 (Lucas 9:14). Cada cartaz é uma lista de 100 que pode orar, imprimir e pôr na parede — orando por eles <strong>pelo nome do seu povo</strong>."},cf={clusterByRegion:"Por região Doxa",clusterByLanguageFamily:"Por família linguística",clusterByGospelResource:"Por recurso do Evangelho"},uf={country:{wagfRegion:"Região WAGF",wagfBlock:"Bloco WAGF",country:"País",uupgCount:"Número de UUPG"}},pf={header:"VOLTA DE ORAÇÃO ATUAL",lap:"Volta",upgs:"UUPGs",separator:" de "},df={"%count% people groups in %countries% countries":"%count% grupos étnicos em %countries% países","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% tem %count% grupos étnicos em %countries% países. A cor de cada ponto indica quantas pessoas oram por esse grupo étnico.","1+ People Praying":"1+ pessoas orando","100+ People Praying":"100+ pessoas orando",Adopted:"Adotado","Adoption Progress":"Progresso da adoção","All Regions":"Todas as regiões","Alternate Names":"Nomes alternativos","Choose a region":"Escolha uma região","Clear All":"Limpar tudo",Countries:"Países","Countries in this region":"Países desta região",Country:"País",Engaged:"Engajado","Engagement Progress":"Progresso do engajamento","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Cada grupo étnico não engajado adotado por uma igreja comprometida com a oração, contribuição e o envio","Exact Search":"Pesquisa exata","Find unreached people groups by region and country.":"Encontre grupos étnicos não alcançados por região e país.","Full Profile":"Perfil completo",Goal:"Meta","Hide Filters":"Ocultar filtros","Hide country posters":"Ocultar os cartazes do país",Intercessors:"Intercessores","Load More":"Carregar mais","Loading results...":"A carregar resultados...",Map:"Mapa","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizar mais de 100 pessoas para orar diariamente por cada grupo étnico DOXA","No One Praying":"Ninguém orando","No options found":"Não foram encontradas opções","No poster has been generated for this country yet.":"Ainda não foi gerado nenhum cartaz para este país.","No unengaged people groups by 2033":"Nenhum grupo étnico não engajado até 2033","Not Adopted":"Não adotado",Other:"Outros","Page Not Found":"Página não encontrada","People Group":"Grupo étnico","People Groups":"Grupos étnicos","People committed to praying":"Pessoas comprometidas com a oração","Pick a region above, or click any dot to open that people group's country.":"Escolha uma região acima, ou clique em qualquer ponto para abrir o país desse povo.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Escolha uma região ou um país na aba Lista de regiões para restringir este painel.",Population:"População","Prayer Coverage":"Cobertura de oração","Prayer coverage progress":"Progresso da cobertura de oração","Region Dashboards":"Painéis das regiões","Region dashboard":"Painel da região",Regions:"Regiões","Regions List":"Lista de regiões",Religion:"Religião","Search names, country/continent, religions...":"Busque nomes, país/continente, religiões...","See %region% dashboard":"Ver o painel: %region%","See All":"Ver tudo",Select:"Selecionar","Select View":"Selecionar visualização","Show Filters":"Mostrar filtros","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Existem %count% grupos étnicos em %country%. Verifique no mapa também os grupos étnicos na fronteira deste país.",Total:"Total","Type to search...":"Digite para pesquisar...","Unengaged people groups":"Grupos étnicos não engajados","View country posters":"Ver os cartazes do país",Views:"Visualizações","WAGF Block":"Bloco WAGF","WAGF Region":"Região da WAGF","people groups adopted":"grupos étnicos adotados","people groups engaged":"grupos étnicos engajados","Outside this region":"Fora desta região",Pray:"Ore","Loading region dashboards…":"Carregando os painéis das regiões…","No regions found.":"Nenhuma região encontrada.","Region data could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os dados das regiões. É um problema de conexão, não um filtro.","People groups could not be loaded. This is a connection problem, not a filter.":"Não foi possível carregar os povos. É um problema de conexão, não um filtro.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"O mapa não pôde iniciar. É um problema do token do mapa ou de conexão, não um filtro — os números acima não são afetados."},gf={placeholder:"Povo, local, língua, religião",labels:{people:"Povo:",place:"Local:",language:"Língua:",religion:"Religião:"},kinds:{people:"Povo + país",peopleGroup:"Povo",bloc:"Bloco de afinidade",cluster:"Agrupamento de povos",country:"País",region:"Região",family:"Família linguística",languageKind:"Idioma",dialect:"Dialeto",religionKind:"Religião"},sections:{within:"Dentro de {selection}",allData:"Todos os dados DOXA"}},ff={title:"Estúdio de plugins",navLabel:"Plugins por capacidade",countLabel:"{bundles} pacotes · {elements} plugins listados aqui",changeLanguage:"Mudar idioma",copyEmbed:"Copiar código de incorporação",copy:"Copiar",copied:"Copiado",scriptEmbed:"Incorporação por script",loading:"Carregando {name}…",couldNotLoad:"Não foi possível carregar {name}.",chooseElement:"Escolha um plugin na lista.",filterPlaceholder:"Filtrar plugins",collapseAll:"Recolher tudo",noMatch:"Nenhum plugin corresponde a “{query}”.",openSection:"Abrir {cap}, {label}",part:"parte",noStandalone:"sem página própria",cap5:"Shell do aplicativo",cap4:"Composto",cap3:"Multivisualização",cap2:"Predefinição",cap1:"Único",toggleList:"Mostrar ou ocultar a lista",openViews:"Abrir a lista de visualizações",expandList:"Expandir a lista",collapseList:"Recolher a lista",collapse:"Recolher",partOf:"parte de {name}, não publicada separadamente"},hf={prayer:"Oração",adoption:"Adoção",engagement:"Engajamento","affinity-blocks":"Povos",regions:"Regiões",countries:"Países","language-families":"Idiomas",religion:"Religiões",family:"Família linguística",language:"Idioma",dialect:"Dialeto/Variedade",bloc:"Bloco de afinidade",cluster:"Agrupamento",group:"Povo",pgic:"Povo no país",region:"Região WAGF",block:"Bloco WAGF",country:"País",upg100Region:"Região",upg100Zone:"Listas UPG-100",upg100Group:"Grupo étnico",selectView:"Selecionar vista",views:"Vistas",prayerResources:"Recursos de oração",map:"Mapa"},$f={kicker:"DOXA · Visão",title:"Cada povo. Cada lugar.",tagline:"De todos os grupos étnicos do mundo àqueles pelos quais a DOXA ora, contados a partir dos dados.",funnelLabel:"De todos os grupos étnicos aos grupos étnicos da DOXA",allLabel:"Grupos étnicos",allNote:"cada grupo étnico, em cada país onde vive",unreachedLabel:"Não alcançados",unreachedNote:"menos de 2% evangélicos",frontierLabel:"Fronteira",frontierNote:"menos de 0,1% evangélicos",doxaLabel:"Grupos étnicos da DOXA",doxaNote:"{frontier} deles são de fronteira",people:"{n} pessoas",sources:"Grupos étnicos: {imb}, dados de {date}. Lista da DOXA: pray.doxa.life, {date2}.",howCounted:"Como são contados",ruleAll:"Cada linha dos dados de grupos étnicos do IMB: um grupo étnico em um país.",ruleUnreached:"Prioridade de perdição do IMB de 0 a 2: menos de 2% evangélicos.",ruleFrontier:"Prioridade de perdição do IMB 0: menos de 0,1% evangélicos. Um subconjunto dos não alcançados.",ruleDoxa:"Cada grupo da lista de oração da DOXA, associado aos dados do IMB por povo e país. Nem todos são de fronteira."},mf={title:"Toate grupurile etnice",locations:"{n} locații (grup × țară)",doxa:"Grupuri etnice DOXA",frontier:"Frontieră — nimic început",unreached:"Neatinse — lucrarea începe",reached:"Atinse — biserica este acolo",hint:"Faceți clic pe un rând pentru a le vedea pe toate · din nou pentru tot",loading:"Se încarcă toate grupurile etnice…",loadError:"Harta nu a putut fi încărcată.",pray:"Rugați-vă pentru ei →",population:"pop. {n}"},_f={backToLegend:"Înapoi la legendă",closeDetailView:"Închide vizualizarea detaliată",collapseLegend:"Restrânge legenda",expandLegend:"Extinde legenda",toggleLegend:"Afișează sau ascunde legenda"},bf={prayForThem:"Roagă-te pentru ei",adoptThem:"Adoptă-i",moreInfo:"Mai multe informații",zoomIn:"Mărește",zoomOut:"Micșorează",switchToLightMode:"Comută la modul luminos",switchToDarkMode:"Comută la modul întunecat",resetView:"Resetează vizualizarea",toggleFullscreen:"Comută ecran complet",aboutThisMap:"Despre această hartă",closeMenu:"Închide meniul",reloadMap:"Reîncarcă harta",showClusters:"Arată clusterele",clusterSettings:"Setări clustere",startAutoFly:"Pornește zborul automat",stopFlight:"Oprește zborul",speedLabel:"Viteză:",speedOption:{slow:"Lent",normal:"Normal",fast:"Rapid"},shareEmbed:"Partajează și încorporează",posterMap:"Harta afișului",prayerList:"Listă de rugăciune",cardDeck:"Pachet de cartonașe",printOptions:"Opțiuni de tipărire",showOnMap:"Arată pe hartă",close:"Închide",showOnMapAria:"Arată {label} pe hartă",cardStockAria:"Dimensiunea cardului de rugăciune",previewPrintPoster:"Previzualizează și tipărește posterul {label}",share:"Distribuie",shareSteps:["Încorporează această hartă pe site-ul tău","Fă o listă cu site-urile din orașul tău","Învață-i să o încorporeze și ei","Învață-i să îi formeze pe alții să o încorporeze","Să multiplicăm hărți pretutindeni pentru Isus!"],clearSelection:"Șterge selecția",noOptions:"Nicio opțiune găsită",renderingLocal:"O imagine de calitate pentru tipar este generată în browserul tău — nimic nu este încărcat.",postersPerRow:"Postere pe rând"},yf={title:"Acces la internet unde trăiesc popoarele fără implicare",bands:{yes:"conectat 60%+",partial:"parțial 25–59%",no:"scăzut, sub 25%",unknown:"nemăsurat"},peopleGroup:"popor",caveat:"Cifre NAȚIONALE (Banca Mondială). Conectivitatea pe oraș nu este disponibilă public — nu deduceți un oraș din datele țării.",sheet:{close:"Închide",ai:"Aceste date au fost găsite prin cercetare aprofundată cu IA — pot conține informații false.",dismiss:"Închide notificarea",internetUsers:"Utilizatori de internet",measured:"Măsurat",mobilePer100:"Mobile la 100",peopleGroups:"Popoare",topPlatform:"Platforma principală",unknown:"necunoscut",carriers:"Operatori și ISP-uri ({n})",socialPlatforms:"Platforme sociale",note:"Cifre naționale, nu măsurători pe oraș. Numele operatorilor sunt titulari de înregistrări ASN (printre ei se află și bănci și universități, nu doar ISP-uri), deci eticheta de operator este o euristică după nume, nu o clasificare verificată."}},vf={research_controls:"Comenzi de cercetare",clustering:"Grupare",filters:"Filtre",pin_dim:"Estompare puncte",export_poster:"Exportă posterul…",reload_data:"Reîncarcă datele",off:"Oprit",native:"Nativ",mst:"MST",network:"Rețea",off_desc:"Arată fiecare punct separat",native_desc:"Grupuri circulare Mapbox (cel mai rapid)",mst_desc:"Rețele de afinitate prin arbore minim de acoperire",network_desc:"Linii către cel mai apropiat vecin",search_languages:"Caută limbi…",search_religions:"Caută religii…",reset_all:"Resetează tot",no_languages:"Nicio limbă încărcată încă",no_religions:"Nicio religie încărcată încă",unadopted:"Neadoptat",min:"min",max:"max",adopted:"Adoptat",adoption:"Adopție",engaged:"Implicat",engagement:"Implicare",unengaged:"Necesită implicare",language:"Limbă",religion:"Religie",population:"Populație",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",close:"Închide",clear:"Șterge",map_controls:"Comenzile hărții"},wf={bloc:"Bloc de afinitate",gospel_access:"Acces la Evanghelie",people:"Popoare",people_name:"Popor (nume)",praying:"Se roagă",religion_family:"Familie religioasă",search_language:"Caută limbă",search_people:"Caută popor",search_place:"Caută loc",search_religion:"Caută religie",upgs_in_scope:"UPG în domeniu",countries_touched:"țări atinse",unreached:"neatinși",sum_population:"Σ populație",sum_praying:"Σ se roagă",charts:"Grafice",table:"Tabel",cluster:"Grup",country:"Țară",engagement:"Implicare",language:"Limbă",language_family:"Familie de limbi",people_group:"Popor",population:"Populație",prayer:"Rugăciune",region:"Regiune",religion:"Religie",status:"Stare",adopted:"Adoptat",filters:"Filtre",gospel_resources:"Resurse ale Evangheliei",map:"Hartă",search_placeholder:"Caută popoare, locuri, limbi, religii…",any:"Oricare",active_count:"{n} active",prayer_status:"Stare de rugăciune",map_controls:"Comenzile hărții",close:"Închide",clear:"Șterge",dashboard_title:"Tablou de bord de cercetare general",align_dashboard:"Aliniază tabloul",align_dashboard_tip:"Readu aranjarea tabloului la alinierea implicită",selected:"Selectat",world:"Lume",vertical_legend:"Legendă verticală",groups_in_scope:"popoare în domeniu",filter_by:"Filtrează după",remove_filter:"Elimină filtrul",groups:"popoare",expand:"Extinde",collapse:"Restrânge",place:"Loc"},Lf={labels:{country:"Țară:",population:"Populație:",language:"Limbă:",religion:"Religie:",languageFamily:"Familie de limbi:",peopleCommitted:"Angajați să se roage:"},messages:{noDescription:"Nicio descriere disponibilă."}},Pf={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Notele explicative de mai jos sunt în limba engleză."},mode:{gap:"Golul",coverage:"Resurse găsite"},search:{placeholder:"Caută un popor, o limbă sau un cod ISO",clear:"Șterge căutarea",none:"Nimic nu se potrivește cu acel nume, limbă sau cod.",placeholderShort:"Popor, limbă sau cod ISO"},legend:{title:"Popoare neatinse, fără nicio resursă a Evangheliei",band60:"60%+ fără nimic găsit",band30:"30–59%",bandSome:"unele popoare",bandAll:"toate popoarele au ceva",tier2:"Scripturi și film",tier1:"s-a găsit o resursă",tier0:"nimic găsit",hnr:"pot auzi, fără text",showAll:"Arată toate popoarele",titleCoverage:"Popoare neatinse cu o resursă a Evangheliei",cov80:"80%+ au ceva",cov50:"50–79%",cov1:"1–49%",cov0:"nimic pentru niciunul",tallyEach:"Fiecare",tallyIs:"este UN popor —",tallyOf:"dintre ele,",tallyLink:"cu un link",doxa0:"toate au ceva",doxa1:"1–4 fără nimic",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 atinse",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Popoare Doxa pe această hartă",notPlaced:"pe listă, încă nelocalizate",outOfScope:"niciun popor Doxa — necolorat"},tabs:{groups:"Cele mai mari popoare",countries:"După țară",regions:"După regiune",noprayer:"Nimeni nu se roagă",hnr:"Aud, fără text"},stat:{language:"Limba",population:"Populație",countries:"Țări",peopleGroups:"Popoare",noResource:"Nicio resursă găsită",peopleAffected:"Persoane afectate",haveScripture:"Au Scripturile",haveFilm:"Au filmul",haveAudio:"Au Scripturi audio",signLanguages:"Limbaje semne",growingUnreached:"În creștere și neatinse",deathsDay:"Decese estimate/zi"},sheet:{ownLanguage:"În limba lor",close:"Închide",loading:"Se încarcă resursele…",pray:"Roagă-te pentru",everyResource:"Toate resursele în",alsoSpeak:"Vorbesc și"},res:{scripture:"Scripturi",film:"Film",audio:"Audio",bibleVideo:"Video biblic",bibleStories:"Open Bible Stories",gospelAudio:"Audio cu Evanghelia",gospelPresentation:"Prezentarea Evangheliei",scriptureEarth:"Scripture Earth",training:"Instruire în ucenicie",jesusFilm:"Filmul ISUS"},state:{noneFound:"nimic găsit",noneAtFcbh:"nimic la FCBH",noneAtGrn:"nimic la GRN",notInZume:"nu este între cele 54 Zume",linkChecked:"link verificat",unchecked:"neverificat",linkDead:"link mort",wrongLanguage:"limbă greșită",varietyNotStated:"(varietate nespecificată)",inLanguage:"în"},guide:{dotVsCountry:"Fiecare punct este UN popor Doxa și limba lui; o țară este NUMĂRUL acelor popoare.",noneFoundShort:"„Nimic găsit” înseamnă absent din sursele verificate, niciodată dovada că nu există.",tapCountry:"Atinge o țară pentru a vedea resursele, popor cu popor."},tables:{title:"Resurse ale Evangheliei — Date",showing:"Se afișează",of:"din",for:"pentru",filteredTo:"Filtrat după",showAll:"Arată toate resursele",t_doxa:"Doxa — Acces la Evanghelie",t_links:"Fiecare resursă + link",t_nothing:"Unde nu s-a găsit nimic",t_countrygap:"Golul pe țări",t_translation:"Aud, fără text",t_translationcountry:"Unde să traducem",t_gaps:"Goluri și oportunități",t_bridges:"Punți urbane",t_deaf:"Golul surd",t_resources:"Resurse pe popoare",t_languages:"Limbi pe țări",t_growth:"Acces vs creștere"},pages:{listTitle:"Resurse ale Evangheliei pe limbi",chartsTitle:"Resurse ale Evangheliei — pe limbi",loadingTables:"Se încarcă tabelele…"}},Sf={search:"Caută popoare…",hide_filters:"Ascunde filtrele",show_filters:"Arată filtrele",total:"Total",showing:"Se afișează",load_more:"Încarcă mai mult",full_profile:"Profil complet",wagf_region:"Regiune",wagf_block:"Bloc de afinitate",rop1:"Popor",religion:"Religie",exact_filter:"Exact",clear_all:"Șterge tot",loading:"Se încarcă…",no_results:"Niciun popor nu corespunde acestui filtru.",type_to_search:"Scrie pentru a căuta...",load_failed:"Datele despre popoare nu au putut fi încărcate. Este o problemă de conexiune, nu a filtrului."},Af={title:{adoption:"Progresul adopției",affinityBlocs:"Blocuri de afinitate",doxaRegions:"Regiuni Doxa",engagement:"Progresul implicării",gospelResources:"Resurse ale Evangheliei",languageFamilies:"Familii de limbi",prayer:"Progresul rugăciunii",upg100List:"Lista mea UPG 100"},header:{collapsed:"Legendă",peopleGroupFallback:"Grup de popoare",default:"Legendă"},prayer:{needsPrayer:"Necesită rugăciune",hasPrayer:"Are rugăciune",fullPrayerCoverage:"Acoperire completă de rugăciune"},progress:{title:"Progres",covered:"{covered} din {total} grupuri de popoare acoperite în rugăciune · {pct}%",short:"{covered} din {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Necesită implicare",hasEngagement:"Are implicare"},adoption:{needsAdoption:"Necesită adopție",hasAdoption:"Are adopție"},columns:{upgs:"UUPGs",population:"Populație",name:"Nume"},footer:{total:"Total"},sortByUpgs:"Sortează după UUPG",sortByPop:"Sortează după populație",colLabel:{religion:"Religii UUPG",prayer:"Starea rugăciunii",engagement:"Starea implicării",adoption:"Starea adopției",status:"Stare"},titleBar:{legend:"Legendă",peopleGroups:"Popoare",wagfRegions:"Regiuni WAGF",languages:"Limbi"},tabInfo:{upg100Region:"Regiune — sortează listele UPG-100 după zona lumii (Africa, India, Orientul Mijlociu, Surzi, …). Totalurile sunt UUPG-urile și populația însumate din fiecare listă de dedesubt.",upg100Zone:"Liste UPG-100 — fiecare este o listă de rugăciune a grupurilor etnice neatinse dintr-o zonă și este ceea ce harta desenează și colorează. Fiecare listă se tipărește ca propriul pachet.",upg100Group:"Grup etnic — grupurile neatinse dintr-o listă, mai întâi cele cu cea mai mare nevoie de rugăciune. Fiecare punct de pe hartă este unul dintre ele."},a11y:{expandRow:"Extinde {label}",collapseRow:"Restrânge {label}",clearSelection:"Șterge selecția"}},xf={menuComingSoon:"Meniu în curând",pinHint:{tapDot:"Atinge un punct colorat — cineva are încă nevoie de rugăciune"},upg100WallHeading:"Lista mea UPG 100 — Liste de rugăciune și afișe",upg100WallTag:"Mobilizare pentru rugăciune",upg100WallIntro:"Împarte sarcina rugăciunii în grupuri de câte cincizeci și o sută — așa cum Isus a hrănit cei 5.000 (Luca 9:14). Fiecare afiș este o listă de 100 pe care o poți ruga, tipări și pune pe perete — rugându-te pentru ei <strong>pe numele poporului lor</strong>."},Ef={clusterByRegion:"După regiune Doxa",clusterByLanguageFamily:"După familia de limbi",clusterByGospelResource:"După resursa Evangheliei"},kf={country:{wagfRegion:"Regiunea WAGF",wagfBlock:"Blocul WAGF",country:"Țară",uupgCount:"Număr de UUPG"}},Cf={header:"TURUL DE RUGĂCIUNE CURENT",lap:"Tur",upgs:"UUPGs",separator:" din "},Rf={"%count% people groups in %countries% countries":"%count% popoare în %countries% țări","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% are %count% popoare în %countries% țări. Culoarea fiecărui punct arată câți oameni se roagă pentru acel popor.","1+ People Praying":"1+ persoane se roagă","100+ People Praying":"100+ persoane se roagă",Adopted:"Adoptat","Adoption Progress":"Progresul adopției","All Regions":"Toate regiunile","Alternate Names":"Denumiri alternative","Choose a region":"Alege o regiune","Clear All":"Șterge tot",Countries:"Țări","Countries in this region":"Țările din această regiune",Country:"Țară",Engaged:"Implicat","Engagement Progress":"Progresul implicării","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Fiecare popor neimplicat adoptat de o biserică dedicată rugăciunii, dăruirii și trimiterii","Exact Search":"Căutare exactă","Find unreached people groups by region and country.":"Găsește popoarele neatinse după regiune și țară.","Full Profile":"Profil complet",Goal:"Obiectiv","Hide Filters":"Ascunde filtrele","Hide country posters":"Ascunde posterele țării",Intercessors:"Mijlocitori","Load More":"Încarcă mai multe","Loading results...":"Se încarcă rezultatele…",Map:"Hartă","Mobilize 100+ people praying daily for each DOXA people group":"Mobilizarea a peste 100 de persoane care se roagă zilnic pentru fiecare popor DOXA","No One Praying":"Nimeni nu se roagă","No options found":"Nu s-a găsit nicio opțiune","No poster has been generated for this country yet.":"Pentru această țară nu a fost generat încă niciun poster.","No unengaged people groups by 2033":"Niciun popor neimplicat până în 2033","Not Adopted":"Neadoptat",Other:"Altele","Page Not Found":"Pagina nu a fost găsită","People Group":"Popor","People Groups":"Popoare","People committed to praying":"Persoane dedicate rugăciunii","Pick a region above, or click any dot to open that people group's country.":"Alege o regiune mai sus sau dă clic pe orice punct pentru a deschide țara acelui grup etnic.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Alege o regiune sau o țară din fila Lista regiunilor pentru a restrânge acest panou.",Population:"Populație","Prayer Coverage":"Acoperirea prin rugăciune","Prayer coverage progress":"Progresul acoperirii prin rugăciune","Region Dashboards":"Panouri ale regiunilor","Region dashboard":"Panoul regiunii",Regions:"Regiuni","Regions List":"Lista regiunilor",Religion:"Religie","Search names, country/continent, religions...":"Caută nume, țară/continent, religii…","See %region% dashboard":"Vezi panoul %region%","See All":"Vezi tot",Select:"Selectează","Select View":"Selectează vizualizarea","Show Filters":"Arată filtrele","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"În %country% există %count% popoare. Verifică pe hartă și popoarele de la granițele acestei țări.",Total:"Total","Type to search...":"Scrie pentru a căuta…","Unengaged people groups":"Popoare neimplicate","View country posters":"Vezi posterele țării",Views:"Vizualizări","WAGF Block":"Bloc WAGF","WAGF Region":"Regiune WAGF","people groups adopted":"popoare adoptate","people groups engaged":"popoare implicate","Outside this region":"În afara acestei regiuni",Pray:"Roagă-te","Loading region dashboards…":"Se încarcă panourile regiunilor…","No regions found.":"Nu au fost găsite regiuni.","Region data could not be loaded. This is a connection problem, not a filter.":"Datele regiunilor nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","People groups could not be loaded. This is a connection problem, not a filter.":"Grupurile de popoare nu au putut fi încărcate. Este o problemă de conexiune, nu un filtru.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Harta nu a putut porni. Este o problemă de token al hărții sau de conexiune, nu un filtru — cifrele de mai sus nu sunt afectate."},Tf={placeholder:"Popor, loc, limbă, religie",labels:{people:"Popor:",place:"Loc:",language:"Limbă:",religion:"Religie:"},sections:{within:"În {selection}",allData:"Toate datele DOXA"},kinds:{people:"Popor + țară",peopleGroup:"Popor",bloc:"Bloc de afinitate",cluster:"Grup de popoare",country:"Țară",region:"Regiune",family:"Familie de limbi",languageKind:"Limbă",dialect:"Dialect",religionKind:"Religie"}},Of={title:"Studio de pluginuri",navLabel:"Pluginuri după capacitate",countLabel:"{bundles} pachete · {elements} pluginuri listate aici",changeLanguage:"Schimbă limba",copyEmbed:"Copiază codul de încorporare",copy:"Copiază",copied:"Copiat",scriptEmbed:"Încorporare prin script",loading:"Se încarcă {name}…",couldNotLoad:"{name} nu a putut fi încărcat.",chooseElement:"Alegeți un plugin din listă.",filterPlaceholder:"Filtrează pluginurile",collapseAll:"Restrânge tot",noMatch:"Niciun plugin nu corespunde cu „{query}”.",openSection:"Deschide {cap}, {label}",part:"parte",noStandalone:"fără pagină proprie",cap5:"Cadru de aplicație",cap4:"Compus",cap3:"Vizualizări multiple",cap2:"Presetat",cap1:"Simplu",toggleList:"Afișează sau ascunde lista",openViews:"Deschide lista de vizualizări",expandList:"Extinde lista",collapseList:"Restrânge lista",collapse:"Restrânge",partOf:"parte din {name}, nepublicată separat"},Nf={prayer:"Rugăciune",adoption:"Adopție",engagement:"Implicare","affinity-blocks":"Popoare",regions:"Regiuni",countries:"Țări","language-families":"Limbi",religion:"Religii",family:"Familie de limbi",language:"Limbă",dialect:"Dialect/Variantă",bloc:"Bloc de afinitate",cluster:"Grup",group:"Popor",pgic:"Popor în țară",region:"Regiune WAGF",block:"Bloc WAGF",country:"Țară",upg100Region:"Regiune",upg100Zone:"Liste UPG-100",upg100Group:"Grup etnic",selectView:"Alege vizualizarea",views:"Vizualizări",prayerResources:"Resurse de rugăciune",map:"Hartă"},If={kicker:"DOXA · Viziune",title:"Fiecare popor. Fiecare loc.",tagline:"De la toate grupurile etnice ale lumii la cele pentru care se roagă DOXA, numărate din date.",funnelLabel:"De la toate grupurile etnice la grupurile etnice DOXA",allLabel:"Grupuri etnice",allNote:"fiecare grup etnic, în fiecare țară în care trăiește",unreachedLabel:"Neatinse",unreachedNote:"sub 2% evanghelici",frontierLabel:"Frontieră",frontierNote:"sub 0,1% evanghelici",doxaLabel:"Grupuri etnice DOXA",doxaNote:"{frontier} dintre ele sunt de frontieră",people:"{n} oameni",sources:"Grupuri etnice: {imb}, date din {date}. Lista DOXA: pray.doxa.life, {date2}.",howCounted:"Cum sunt numărate",ruleAll:"Fiecare rând din datele IMB despre grupuri etnice: un grup etnic într-o țară.",ruleUnreached:"Prioritatea de pierzare IMB 0–2: sub 2% evanghelici.",ruleFrontier:"Prioritatea de pierzare IMB 0: sub 0,1% evanghelici. O submulțime a celor neatinse.",ruleDoxa:"Fiecare grup de pe lista de rugăciune DOXA, potrivit cu datele IMB după popor și țară. Nu toate sunt de frontieră."},Mf={title:"Все народы",locations:"{n} мест (народ × страна)",doxa:"Народы DOXA",frontier:"Рубежные — ничего не начато",unreached:"Недостигнутые — работа начинается",reached:"Достигнутые — церковь есть",hint:"Нажмите на строку, чтобы увидеть все · ещё раз — чтобы показать всё",loading:"Загрузка всех народов…",loadError:"Не удалось загрузить карту.",pray:"Молиться за них →",population:"нас. {n}"},Ff={backToLegend:"Назад к легенде",closeDetailView:"Закрыть подробный вид",collapseLegend:"Свернуть легенду",expandLegend:"Развернуть легенду",toggleLegend:"Показать или скрыть легенду"},Df={prayForThem:"Молитесь о них",adoptThem:"Усыновите их",moreInfo:"Подробнее",zoomIn:"Приблизить",zoomOut:"Отдалить",switchToLightMode:"Переключить на светлый режим",switchToDarkMode:"Переключить на тёмный режим",resetView:"Сбросить вид",toggleFullscreen:"Полноэкранный режим",aboutThisMap:"Об этой карте",closeMenu:"Закрыть меню",reloadMap:"Перезагрузить карту",showClusters:"Показать кластеры",clusterSettings:"Настройки кластеров",startAutoFly:"Начать авто-полёт",stopFlight:"Остановить полёт",speedLabel:"Скорость:",speedOption:{slow:"Медленно",normal:"Нормально",fast:"Быстро"},shareEmbed:"Поделиться и встроить",posterMap:"Карта плаката",prayerList:"Молитвенный список",cardDeck:"Набор карточек",printOptions:"Параметры печати",showOnMap:"Показать на карте",close:"Закрыть",showOnMapAria:"Показать {label} на карте",cardStockAria:"Размер молитвенной карточки",previewPrintPoster:"Просмотр и печать плаката {label}",share:"Поделиться",shareSteps:["Разместите эту карту на своём сайте","Составьте список сайтов вашего города","Научите их тоже размещать её","Научите их учить других размещать её","Умножим карты повсюду для Иисуса!"],clearSelection:"Снять выделение",noOptions:"Ничего не найдено",renderingLocal:"Изображение типографского качества создаётся в вашем браузере — ничего не загружается на сервер.",postersPerRow:"Плакатов в ряду"},Gf={title:"Доступ к интернету там, где живут народы без вовлечённости",bands:{yes:"подключено 60%+",partial:"частично 25–59%",no:"низкий, менее 25%",unknown:"не измерено"},peopleGroup:"народ",caveat:"НАЦИОНАЛЬНЫЕ данные (Всемирный банк). Данных о подключении по городам в открытом доступе нет — не судите о городе по стране.",sheet:{close:"Закрыть",ai:"Эти данные найдены с помощью углублённого поиска ИИ и могут содержать ошибки.",dismiss:"Скрыть",internetUsers:"Пользователи интернета",measured:"Год измерения",mobilePer100:"Мобильных на 100",peopleGroups:"Народы",topPlatform:"Главная платформа",unknown:"неизвестно",carriers:"Операторы и провайдеры ({n})",socialPlatforms:"Социальные платформы",note:"Национальные данные, а не измерения по городам. Названия операторов — это владельцы записей в реестре ASN; среди них есть банки и университеты, а не только провайдеры, поэтому пометка «оператор» — эвристика по названию, а не проверенная классификация."}},Uf={research_controls:"Инструменты исследования",clustering:"Кластеризация",filters:"Фильтры",pin_dim:"Прозрачность точек",export_poster:"Экспорт постера…",reload_data:"Обновить данные",off:"Выкл.",native:"Встроенная",mst:"MST",network:"Сеть",off_desc:"Показывать каждую точку отдельно",native_desc:"Круговые кластеры Mapbox (быстрее всего)",mst_desc:"Сети родства по минимальному остовному дереву",network_desc:"Линии до ближайшего соседа",search_languages:"Поиск языков…",search_religions:"Поиск религий…",reset_all:"Сбросить всё",no_languages:"Языки ещё не загружены",no_religions:"Религии ещё не загружены",unadopted:"Не усыновлён",min:"мин",max:"макс",adopted:"Ответственность взята",adoption:"Усыновление",engaged:"Вовлечён",engagement:"Вовлечённость",unengaged:"Нуждается в вовлечённости",language:"Язык",religion:"Религия",population:"Население",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",close:"Закрыть",clear:"Очистить",map_controls:"Элементы управления картой"},Bf={bloc:"Блок родства",gospel_access:"Доступ к Евангелию",people:"Народы",people_name:"Народ (название)",praying:"Молятся",religion_family:"Семья религий",search_language:"Поиск языка",search_people:"Поиск народа",search_place:"Поиск места",search_religion:"Поиск религии",upgs_in_scope:"UPG в выборке",countries_touched:"затронутых стран",unreached:"неохваченные",sum_population:"Σ население",sum_praying:"Σ молящихся",charts:"Графики",table:"Таблица",cluster:"Кластер",country:"Страна",engagement:"Вовлечённость",language:"Язык",language_family:"Языковая семья",people_group:"Народ",population:"Население",prayer:"Молитва",region:"Регион",religion:"Религия",status:"Статус",adopted:"Ответственность взята",filters:"Фильтры",gospel_resources:"Евангельские ресурсы",map:"Карта",search_placeholder:"Поиск народов, мест, языков, религий…",any:"Любой",active_count:"{n} активно",prayer_status:"Статус молитвы",map_controls:"Элементы управления картой",close:"Закрыть",clear:"Очистить",dashboard_title:"Обзорная исследовательская панель",align_dashboard:"Выровнять панель",align_dashboard_tip:"Вернуть расположение панели к виду по умолчанию",selected:"Выбрано",world:"Мир",vertical_legend:"Вертикальная легенда",groups_in_scope:"народов в выборке",filter_by:"Фильтровать по",remove_filter:"Убрать фильтр",groups:"народов",expand:"Развернуть",collapse:"Свернуть",place:"Место"},Vf={labels:{country:"Страна:",population:"Население:",language:"Язык:",religion:"Религия:",languageFamily:"Языковая семья:",peopleCommitted:"Обязались молиться:"},messages:{noDescription:"Описание недоступно."}},jf={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"Пояснительные примечания ниже — на английском языке."},mode:{gap:"Пробел",coverage:"Найденные ресурсы"},search:{placeholder:"Найдите народ, язык или код ISO",clear:"Очистить поиск",none:"Ничего не найдено по этому названию, языку или коду.",placeholderShort:"Народ, язык или код ISO"},legend:{title:"Недостигнутые народы, для которых не найдено ни одного ресурса",band60:"60%+ без единого ресурса",band30:"30–59%",bandSome:"часть народов",bandAll:"у всех народов что-то есть",tier2:"Писание и фильм",tier1:"что-то найдено",tier0:"ничего не найдено",hnr:"могут услышать, текста нет",showAll:"Показать все народы",titleCoverage:"Недостигнутые народы, для которых найдены ресурсы",cov80:"у 80%+ что-то есть",cov50:"50–79%",cov1:"1–49%",cov0:"ни для кого ничего",tallyEach:"Каждая",tallyIs:"— это ОДИН народ,",tallyOf:"из них",tallyLink:"со ссылкой",doxa0:"у всех что-то есть",doxa1:"1–4 без ресурсов",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 достигнуты",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"Народы Doxa на этой карте",notPlaced:"в списке, пока без координат",outOfScope:"нет народов Doxa — не окрашено"},tabs:{groups:"Крупнейшие народы",countries:"По странам",regions:"По регионам",noprayer:"Никто не молится",hnr:"Слышат, но не читают"},stat:{language:"Язык",population:"Численность",countries:"Страны",peopleGroups:"Народы",noResource:"Ресурсов не найдено",peopleAffected:"Затронутые люди",haveScripture:"Есть Писание",haveFilm:"Есть фильм",haveAudio:"Есть аудио-Писание",signLanguages:"Жестовые языки",growingUnreached:"Растущие и недостигнутые",deathsDay:"Оценка смертей в день"},sheet:{ownLanguage:"На их родном языке",close:"Закрыть",loading:"Загрузка ресурсов…",pray:"Молитесь о",everyResource:"Все ресурсы на",alsoSpeak:"Также говорят на"},res:{scripture:"Писание",film:"Фильм",audio:"Аудио",bibleVideo:"Библейское видео",bibleStories:"Open Bible Stories",gospelAudio:"Аудио с Евангелием",gospelPresentation:"Изложение Евангелия",scriptureEarth:"Scripture Earth",training:"Обучение ученичеству",jesusFilm:"Фильм «Иисус»"},state:{noneFound:"ничего не найдено",noneAtFcbh:"нет в FCBH",noneAtGrn:"нет в GRN",notInZume:"нет среди 54 языков Zume",linkChecked:"ссылка проверена",unchecked:"не проверено",linkDead:"ссылка не работает",wrongLanguage:"не тот язык",varietyNotStated:"(вариант не указан)",inLanguage:"на"},guide:{dotVsCountry:"Точка — это ОДИН народ Doxa и его родной язык; цвет страны — это ЧИСЛО таких народов.",noneFoundShort:"«Ничего не найдено» значит: нет в проверенных источниках — но не доказательство отсутствия.",tapCountry:"Нажмите на страну, чтобы увидеть ресурсы по каждому народу."},tables:{title:"Ресурсы Евангелия — данные",showing:"Показано",of:"из",for:"для",filteredTo:"Фильтр:",showAll:"Показать все ресурсы",t_doxa:"Doxa — доступ к Евангелию",t_links:"Каждый ресурс и ссылка",t_nothing:"Где ничего не найдено",t_countrygap:"Пробел по странам",t_translation:"Слышат, но не читают",t_translationcountry:"Где переводить",t_gaps:"Пробелы и возможности",t_bridges:"Городские мосты",t_deaf:"Пробел у глухих",t_resources:"Ресурсы по народам",t_languages:"Языки по странам",t_growth:"Доступ и рост населения"},pages:{listTitle:"Ресурсы Евангелия по языкам",chartsTitle:"Ресурсы Евангелия — по языкам",loadingTables:"Загрузка таблиц ресурсов…"}},zf={search:"Поиск народов…",hide_filters:"Скрыть фильтры",show_filters:"Показать фильтры",total:"Всего",showing:"Показано",load_more:"Показать ещё",full_profile:"Полный профиль",wagf_region:"Регион",wagf_block:"Блок родства",rop1:"Народ",religion:"Религия",exact_filter:"Точное совпадение",clear_all:"Очистить всё",loading:"Загрузка…",no_results:"Нет народов, соответствующих этому фильтру.",type_to_search:"Введите для поиска...",load_failed:"Не удалось загрузить данные о народах. Это проблема соединения, а не фильтра."},Wf={title:{adoption:"Прогресс усыновления",affinityBlocs:"Блоки родства",doxaRegions:"Регионы Doxa",engagement:"Прогресс вовлечённости",gospelResources:"Евангельские ресурсы",languageFamilies:"Языковые семьи",prayer:"Прогресс молитвы",upg100List:"Мой список UPG 100"},header:{collapsed:"Условные обозначения",peopleGroupFallback:"Народная группа",default:"Легенда"},prayer:{needsPrayer:"Нуждается в молитве",hasPrayer:"Есть молитва",fullPrayerCoverage:"Полное молитвенное покрытие"},progress:{title:"Прогресс",covered:"{covered} из {total} народных групп охвачены молитвой · {pct}%",short:"{covered} из {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"Нуждается в вовлечённости",hasEngagement:"Есть вовлечённость"},adoption:{needsAdoption:"Нуждается в усыновлении",hasAdoption:"Есть усыновление"},columns:{upgs:"UUPGs",population:"Население",name:"Название"},footer:{total:"Всего"},sortByUpgs:"Сортировать по UUPG",sortByPop:"Сортировать по населению",colLabel:{religion:"Религии UUPG",prayer:"Статус молитвы",engagement:"Статус вовлечённости",adoption:"Статус усыновления",status:"Статус"},titleBar:{legend:"Легенда",peopleGroups:"Народы",wagfRegions:"Регионы WAGF",languages:"Языки"},tabInfo:{upg100Region:"Регион — сортирует списки UPG-100 по частям света (Африка, Индия, Ближний Восток, Глухие, …). Числа — это UUPG и население, просуммированные по всем спискам внутри.",upg100Zone:"Списки UPG-100 — каждый представляет собой молитвенный список непросвещённых народов области и именно он отображается и раскрашивается на карте. Каждый список печатается отдельным буклетом.",upg100Group:"Народ — отдельные непросвещённые народы внутри списка, сначала с наибольшей нуждой в молитве. Каждая точка на карте — один из них."},a11y:{expandRow:"Развернуть {label}",collapseRow:"Свернуть {label}",clearSelection:"Снять выделение"}},Hf={menuComingSoon:"Меню скоро появится",pinHint:{tapDot:"Нажмите на цветную точку — кому-то всё ещё нужна молитва"},upg100WallHeading:"Мой список UPG 100 — молитвенные списки и плакаты",upg100WallTag:"Молитвенная мобилизация",upg100WallIntro:"Разделите молитвенный труд на группы по пятьдесят и по сто — так Иисус накормил 5000 (Луки 9:14). Каждый плакат — это список из 100, о котором можно молиться, распечатать и повесить на стену, молясь о них <strong>по имени их народа</strong>."},qf={clusterByRegion:"По региону Doxa",clusterByLanguageFamily:"По языковой семье",clusterByGospelResource:"По евангельскому ресурсу"},Xf={country:{wagfRegion:"Регион WAGF",wagfBlock:"Блок WAGF",country:"Страна",uupgCount:"Число UUPG"}},Kf={header:"ТЕКУЩИЙ КРУГ МОЛИТВЫ",lap:"Круг",upgs:"UUPGs",separator:" из "},Yf={"%count% people groups in %countries% countries":"%count% народов в %countries% странах","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"В регионе %region% — %count% групп людей в %countries% странах. Цвет каждой точки показывает, сколько человек молится за эту группу людей.","1+ People Praying":"1+ человек молится","100+ People Praying":"100+ человек молятся",Adopted:"Ответственность взята","Adoption Progress":"Прогресс принятия ответственности","All Regions":"Все регионы","Alternate Names":"Альтернативные названия","Choose a region":"Выберите регион","Clear All":"Очистить всё",Countries:"Страны","Countries in this region":"Страны этого региона",Country:"Страна",Engaged:"Вовлечён","Engagement Progress":"Прогресс вовлечения","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"Каждая незадействованная народность принята церковью, приверженной молитве, пожертвованиям и посылке миссионеров","Exact Search":"Точный поиск","Find unreached people groups by region and country.":"Найдите недостигнутые группы людей по регионам и странам.","Full Profile":"Полный профиль",Goal:"Цель","Hide Filters":"Скрыть фильтры","Hide country posters":"Скрыть плакаты страны",Intercessors:"Ходатаи","Load More":"Загрузить ещё","Loading results...":"Загрузка результатов...",Map:"Карта","Mobilize 100+ people praying daily for each DOXA people group":"Мобилизуйте 100+ человек для ежедневной молитвы за каждую народность DOXA","No One Praying":"Никто не молится","No options found":"Вариантов не найдено","No poster has been generated for this country yet.":"Для этой страны плакат ещё не создан.","No unengaged people groups by 2033":"К 2033 году не останется незадействованных народов","Not Adopted":"Не принято",Other:"Другое","Page Not Found":"Страница не найдена","People Group":"Группа людей","People Groups":"Народы","People committed to praying":"Люди, посвятившие себя молитве","Pick a region above, or click any dot to open that people group's country.":"Выберите регион выше или нажмите на любую точку, чтобы открыть страну этой группы народа.","Pick a region or a country on the Regions List tab to narrow this dashboard.":"Выберите регион или страну на вкладке «Список регионов», чтобы сузить эту панель.",Population:"Население","Prayer Coverage":"Молитвенный охват","Prayer coverage progress":"Прогресс молитвенного покрытия","Region Dashboards":"Панели регионов","Region dashboard":"Панель региона",Regions:"Регионы","Regions List":"Список регионов",Religion:"Религия","Search names, country/continent, religions...":"Поиск по названиям, странам/континентам, религиям...","See %region% dashboard":"Открыть панель: %region%","See All":"Смотреть все",Select:"Выбрать","Select View":"Выберите вид","Show Filters":"Показать фильтры","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"Страна %country% насчитывает %count% групп людей. Проверьте также на карте группы людей, расположенные вдоль границ этой страны.",Total:"Итого","Type to search...":"Введите текст для поиска...","Unengaged people groups":"Невовлечённые народы","View country posters":"Показать плакаты страны",Views:"Виды","WAGF Block":"Блок WAGF","WAGF Region":"Регион WAGF","people groups adopted":"народов, за которые взята ответственность","people groups engaged":"вовлечённые народы","Outside this region":"За пределами этого региона",Pray:"Молиться","Loading region dashboards…":"Загрузка панелей по регионам…","No regions found.":"Регионы не найдены.","Region data could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить данные по регионам. Это проблема соединения, а не фильтра.","People groups could not be loaded. This is a connection problem, not a filter.":"Не удалось загрузить народы. Это проблема соединения, а не фильтра.","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"Карта не запустилась. Это проблема токена карты или соединения, а не фильтра — цифры выше не затронуты."},Zf={placeholder:"Народ, место, язык, религия",labels:{people:"Народ:",place:"Место:",language:"Язык:",religion:"Религия:"},kinds:{people:"Народ + страна",peopleGroup:"Народ",bloc:"Блок родства",cluster:"Кластер народов",country:"Страна",region:"Регион",family:"Языковая семья",languageKind:"Язык",dialect:"Диалект",religionKind:"Религия"},sections:{within:"В пределах {selection}",allData:"Все данные DOXA"}},Jf={title:"Студия плагинов",navLabel:"Плагины по возможностям",countLabel:"Здесь: пакетов {bundles} · плагинов {elements}",changeLanguage:"Сменить язык",copyEmbed:"Скопировать код встраивания",copy:"Копировать",copied:"Скопировано",scriptEmbed:"Встраивание через скрипт",loading:"Загрузка {name}…",couldNotLoad:"Не удалось загрузить {name}.",chooseElement:"Выберите плагин из списка.",filterPlaceholder:"Фильтр плагинов",collapseAll:"Свернуть всё",noMatch:"Нет плагинов, соответствующих «{query}».",openSection:"Открыть {cap}, {label}",part:"часть",noStandalone:"нет отдельной страницы",cap5:"Оболочка приложения",cap4:"Составной",cap3:"Несколько видов",cap2:"Предустановка",cap1:"Одиночный",toggleList:"Показать или скрыть список",openViews:"Открыть список представлений",expandList:"Развернуть список",collapseList:"Свернуть список",collapse:"Свернуть",partOf:"часть {name}, не публикуется отдельно"},Qf={prayer:"Молитва",adoption:"Усыновление",engagement:"Вовлечённость","affinity-blocks":"Народы",regions:"Регионы",countries:"Страны","language-families":"Языки",religion:"Религии",family:"Языковая семья",language:"Язык",dialect:"Диалект/вариант",bloc:"Блок родства",cluster:"Кластер",group:"Народ",pgic:"Народ в стране",region:"Регион WAGF",block:"Блок WAGF",country:"Страна",upg100Region:"Регион",upg100Zone:"Списки UPG-100",upg100Group:"Народ",selectView:"Выбрать вид",views:"Виды",prayerResources:"Молитвенные ресурсы",map:"Карта"},eh={kicker:"DOXA · Видение",title:"Каждый народ. Каждое место.",tagline:"От всех народов мира до тех, за кого молится DOXA, — по данным.",funnelLabel:"От всех народов до народов DOXA",allLabel:"Народы",allNote:"каждый народ в каждой стране, где он живёт",unreachedLabel:"Недостигнутые",unreachedNote:"менее 2% евангельских христиан",frontierLabel:"Рубежные",frontierNote:"менее 0,1% евангельских христиан",doxaLabel:"Народы DOXA",doxaNote:"из них рубежных: {frontier}",people:"{n} человек",sources:"Народы: {imb}, данные на {date}. Список DOXA: pray.doxa.life, {date2}.",howCounted:"Как это посчитано",ruleAll:"Каждая строка данных IMB о народах: один народ в одной стране.",ruleUnreached:"Приоритет IMB 0–2: менее 2% евангельских христиан.",ruleFrontier:"Приоритет IMB 0: менее 0,1% евангельских христиан. Часть недостигнутых.",ruleDoxa:"Каждая группа из молитвенного списка DOXA, сопоставленная с данными IMB по народу и стране. Не все из них рубежные."},th={title:"所有族群",locations:"{n} 个族群–国家位置",doxa:"DOXA 族群",frontier:"前沿族群 — 尚未开始",unreached:"未得之民 — 事工起步",reached:"已得之民 — 教会已在",hint:"点击一行查看全部 · 再次点击显示所有",loading:"正在加载所有族群…",loadError:"无法加载地图。",pray:"为他们祷告 →",population:"人口 {n}"},oh={backToLegend:"返回图例",closeDetailView:"关闭详情视图",collapseLegend:"收起图例",expandLegend:"展开图例",toggleLegend:"显示或隐藏图例"},nh={prayForThem:"为他们祷告",adoptThem:"认领他们",moreInfo:"更多信息",zoomIn:"放大",zoomOut:"缩小",switchToLightMode:"切换至浅色模式",switchToDarkMode:"切换至深色模式",resetView:"重置视图",toggleFullscreen:"切换全屏",aboutThisMap:"关于此地图",closeMenu:"关闭菜单",reloadMap:"重新加载地图",showClusters:"显示聚类",clusterSettings:"聚类设置",startAutoFly:"开始自动飞行",stopFlight:"停止飞行",speedLabel:"速度:",speedOption:{slow:"慢",normal:"正常",fast:"快"},shareEmbed:"分享与嵌入",posterMap:"海报地图",prayerList:"禱告名單",cardDeck:"禱告卡組",printOptions:"列印選項",showOnMap:"在地圖上顯示",close:"關閉",showOnMapAria:"在地圖上顯示 {label}",cardStockAria:"祷告卡片尺寸",previewPrintPoster:"预览并打印 {label} 海报",share:"分享",shareSteps:["把這張地圖嵌入你的網站","列出你城市裡的網站","教他們也嵌入這張地圖","教他們去教別人嵌入","為耶穌讓地圖遍地繁增!"],clearSelection:"清除选择",noOptions:"未找到选项",renderingLocal:"正在您的浏览器中生成可打印质量的图片——不会上传任何内容。",postersPerRow:"每行海报数"},sh={title:"未参与族群所在地的互联网接入",bands:{yes:"已联网 60%+",partial:"部分 25–59%",no:"低,低于 25%",unknown:"未测量"},peopleGroup:"族群",caveat:"全国数据(世界银行)。各城市的联网数据未公开——请勿用国家数据推断某个城市。",sheet:{close:"关闭",ai:"这些数据来自人工智能深度检索,可能包含错误信息。",dismiss:"忽略",internetUsers:"互联网用户",measured:"测量年份",mobilePer100:"每百人移动电话",peopleGroups:"族群",topPlatform:"主要平台",unknown:"未知",carriers:"运营商和互联网服务商({n})",socialPlatforms:"社交平台",note:"这是全国数据,不是城市测量值。运营商名称来自 ASN 注册持有者——其中除互联网服务商外还包括银行和大学,因此“运营商”标记是基于名称的推断,并非经过核实的分类。"}},ah={research_controls:"研究控件",clustering:"聚类",filters:"筛选",pin_dim:"圆点淡化",export_poster:"导出海报…",reload_data:"重新加载数据",off:"关闭",native:"原生",mst:"MST",network:"网络",off_desc:"逐个显示每个圆点",native_desc:"Mapbox 圆形聚类(最快)",mst_desc:"最小生成树亲缘网络",network_desc:"最近邻连接线",search_languages:"搜索语言…",search_religions:"搜索宗教…",reset_all:"全部重置",no_languages:"尚未加载语言",no_religions:"尚未加载宗教",unadopted:"未认领",min:"最小",max:"最大",adopted:"已认领",adoption:"认领",engaged:"已参与",engagement:"参与",unengaged:"需要参与",language:"语言",religion:"宗教",population:"人口",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",close:"关闭",clear:"清除",map_controls:"地图控件"},rh={bloc:"亲缘板块",gospel_access:"福音可及性",people:"民族",people_name:"民族(名称)",praying:"正在代祷",religion_family:"宗教族系",search_language:"搜索语言",search_people:"搜索民族",search_place:"搜索地点",search_religion:"搜索宗教",upgs_in_scope:"范围内的 UPG",countries_touched:"涉及国家",unreached:"未得之民",sum_population:"Σ 人口",sum_praying:"Σ 代祷",charts:"图表",table:"表格",cluster:"民族群",country:"國家",engagement:"参与",language:"语言",language_family:"语系",people_group:"民族",population:"人口",prayer:"祷告",region:"区域",religion:"宗教",status:"状态",adopted:"已认领",filters:"筛选",gospel_resources:"福音资源",map:"地图",search_placeholder:"搜索民族、地点、语言、宗教…",any:"全部",active_count:"{n} 项启用",prayer_status:"代祷状态",map_controls:"地图控件",close:"关闭",clear:"清除",dashboard_title:"全局研究仪表板",align_dashboard:"对齐仪表板",align_dashboard_tip:"将仪表板布局恢复为默认对齐",selected:"已选择",world:"世界",vertical_legend:"垂直图例",groups_in_scope:"个民族在范围内",filter_by:"筛选",remove_filter:"移除筛选",groups:"个民族",expand:"展开",collapse:"收起",place:"地点"},ih={labels:{country:"国家:",population:"人口:",language:"语言:",religion:"宗教:",languageFamily:"语系:",peopleCommitted:"承诺祷告人数:"},messages:{noDescription:"暂无描述。"}},lh={_note:"SHORT UI LABELS ONLY for the gospel-resources bundle. The explanatory prose on those surfaces stays in English on purpose and is NOT in this file; prose.english is the one translated line that says so.",prose:{english:"以下说明性文字为英文。"},mode:{gap:"缺口",coverage:"已找到的资源"},search:{placeholder:"搜索族群、语言或 ISO 代码",clear:"清除搜索",none:"没有符合该名称、语言或代码的结果。",placeholderShort:"族群、语言或 ISO 代码"},legend:{title:"尚未接触且未找到任何福音资源的族群",band60:"60% 以上一无所有",band30:"30–59%",bandSome:"部分族群",bandAll:"所有族群都有一些",tier2:"圣经与影片",tier1:"找到部分资源",tier0:"一无所获",hnr:"能听,但没有文字",showAll:"显示所有族群",titleCoverage:"尚未接触但已找到部分福音资源的族群",cov80:"80% 以上有资源",cov50:"50–79%",cov1:"1–49%",cov0:"无人拥有",tallyEach:"每个",tallyIs:"代表一个族群 —",tallyOf:"个族群中,",tallyLink:"个有链接",doxa0:"全部都有资源",doxa1:"1–4 个一无所有",doxa5:"5–14",doxa15:"15–39",doxa40:"40+",cvd1:"1–4 个已触及",cvd5:"5–14",cvd15:"15–39",cvd40:"40+",onMap:"本地图上的 Doxa 族群",notPlaced:"在名单上,尚未定位",outOfScope:"没有 Doxa 族群 — 不着色"},tabs:{groups:"最大的族群",countries:"按国家",regions:"按地区",noprayer:"无人代祷",hnr:"能听,无文字"},stat:{language:"语言",population:"人口",countries:"国家",peopleGroups:"族群",noResource:"未找到资源",peopleAffected:"受影响人数",haveScripture:"有圣经",haveFilm:"有影片",haveAudio:"有有声圣经",signLanguages:"手语",growingUnreached:"增长中且未接触",deathsDay:"每日估计死亡人数"},sheet:{ownLanguage:"以他们自己的语言",close:"关闭",loading:"正在加载资源…",pray:"为其代祷:",everyResource:"所有资源 —",alsoSpeak:"同样使用"},res:{scripture:"圣经",film:"影片",audio:"音频",bibleVideo:"圣经视频",bibleStories:"Open Bible Stories",gospelAudio:"福音音频",gospelPresentation:"福音简介",scriptureEarth:"Scripture Earth",training:"门徒训练",jesusFilm:"《耶稣传》"},state:{noneFound:"一无所获",noneAtFcbh:"FCBH 没有",noneAtGrn:"GRN 没有",notInZume:"不在 Zume 的 54 种语言内",linkChecked:"链接已核实",unchecked:"未核实",linkDead:"链接失效",wrongLanguage:"语言不符",varietyNotStated:"(未注明变体)",inLanguage:"—"},guide:{dotVsCountry:"每个圆点代表 Doxa 的一个族群及其语言;国家的颜色代表这类族群的数量。",noneFoundShort:"“一无所获”指未见于本次查询的资源库,并不证明其不存在。",tapCountry:"点按国家,逐个族群查看实际资源。"},tables:{title:"福音资源 — 数据",showing:"显示",of:"/共",for:"—",filteredTo:"筛选:",showAll:"显示全部资源",t_doxa:"Doxa — 福音可及性",t_links:"每项资源与链接",t_nothing:"一无所获之处",t_countrygap:"各国缺口",t_translation:"能听,无文字",t_translationcountry:"何处需要翻译",t_gaps:"缺口与机会",t_bridges:"城市桥梁",t_deaf:"聋人缺口",t_resources:"按族群列出资源",t_languages:"各国语言",t_growth:"可及性与人口增长"},pages:{listTitle:"按语言列出的福音资源",chartsTitle:"福音资源 — 按语言",loadingTables:"正在加载资源表…"}},ch={search:"搜索民族…",hide_filters:"隐藏筛选",show_filters:"显示筛选",total:"总计",showing:"显示",load_more:"加载更多",full_profile:"完整档案",wagf_region:"区域",wagf_block:"亲缘板块",rop1:"民族",religion:"宗教",exact_filter:"精确",clear_all:"全部清除",loading:"加载中…",no_results:"没有符合此筛选条件的民族。",type_to_search:"输入以搜索...",load_failed:"无法加载民族数据。这是连接问题,而不是筛选问题。"},uh={title:{adoption:"认领进度",affinityBlocs:"亲缘板块",doxaRegions:"Doxa 区域",engagement:"参与进度",gospelResources:"福音资源",languageFamilies:"语系",prayer:"祷告进度",upg100List:"我的 UPG 100 名单"},header:{collapsed:"图例",peopleGroupFallback:"民族群体",default:"圖例"},prayer:{needsPrayer:"需要祷告",hasPrayer:"已有祷告",fullPrayerCoverage:"全面祷告覆盖"},progress:{title:"进度",covered:"{total} 个民族群体中已有 {covered} 个被祷告覆盖 · {pct}%",short:"{covered} / {total} · {pct}%",segment:"{label} · {count} · {pct}%"},engagement:{needsEngagement:"需要参与",hasEngagement:"已有参与"},adoption:{needsAdoption:"需要认领",hasAdoption:"已有认领"},columns:{upgs:"UUPGs",population:"人口",name:"名称"},footer:{total:"总计"},sortByUpgs:"按 UUPG 排序",sortByPop:"按人口排序",colLabel:{religion:"UUPG 宗教",prayer:"祷告状态",engagement:"参与状态",adoption:"认领状态",status:"状态"},titleBar:{legend:"图例",peopleGroups:"民族",wagfRegions:"WAGF 区域",languages:"语言"},tabInfo:{upg100Region:"区域 — 按世界区域排列 UPG-100 名单(非洲、印度、中东、聋人……)。数字是其下每份名单的 UUPG 与人口总和。",upg100Zone:"UPG-100 名单 — 每一份都是某地区未得之民的祷告名单,也是地图所绘制和上色的内容。每份名单印成独立的祷告册。",upg100Group:"族群 — 名单内各个未得之民群体,祷告需要最大的排在前面。地图上每个点就是其中之一。"},a11y:{expandRow:"展开{label}",collapseRow:"折叠{label}",clearSelection:"清除选择"}},ph={menuComingSoon:"菜单即将推出",pinHint:{tapDot:"点按一个彩色圆点——仍有人需要祷告"},upg100WallHeading:"我的 UPG 100 名單 — 禱告名單與海報",upg100WallTag:"禱告動員",upg100WallIntro:"將禱告的工作分成五十人、一百人一組 — 就像耶穌餵飽五千人那樣(路加福音 9:14)。每一張海報都是一份 100 人名單,你可以為他們禱告、列印出來、貼在牆上 — <strong>按著他們族群的名字</strong>為他們禱告。"},dh={clusterByRegion:"按 Doxa 区域",clusterByLanguageFamily:"按语系",clusterByGospelResource:"按福音资源"},gh={country:{wagfRegion:"WAGF 地區",wagfBlock:"WAGF 區塊",country:"國家",uupgCount:"UUPG 數量"}},fh={header:"当前祷告轮次",lap:"第",upgs:"UUPGs",separator:" / "},hh={"%count% people groups in %countries% countries":"%countries% 个国家中的 %count% 个民族","%region% has %count% people groups across %countries% countries. Each pin is coloured by how many people are praying for that people group.":"%region% 在 %countries% 个国家中有 %count% 个民族。每个标记的颜色表示有多少人在为该民族祷告。","1+ People Praying":"1 人以上祷告","100+ People Praying":"100 人以上祷告",Adopted:"已认领","Adoption Progress":"认领进度","All Regions":"所有区域","Alternate Names":"其他名称","Choose a region":"选择区域","Clear All":"全部清除",Countries:"国家","Countries in this region":"本区域的国家",Country:"国家",Engaged:"已参与","Engagement Progress":"参与进度","Every unengaged people group adopted by a church committed to prayer, giving, and sending":"每一个尚无人参与的民族,都由一间委身于祷告、奉献与差派的教会认领","Exact Search":"精确搜索","Find unreached people groups by region and country.":"按区域和国家查找未得之民。","Full Profile":"完整档案",Goal:"目标","Hide Filters":"隐藏筛选","Hide country posters":"隐藏国家海报",Intercessors:"代祷者","Load More":"加载更多","Loading results...":"正在加载结果…",Map:"地图","Mobilize 100+ people praying daily for each DOXA people group":"为每个 DOXA 民族动员 100 人以上每日祷告","No One Praying":"无人祷告","No options found":"未找到选项","No poster has been generated for this country yet.":"尚未为该国家生成海报。","No unengaged people groups by 2033":"到 2033 年不再有无人参与的民族","Not Adopted":"未认领",Other:"其他","Page Not Found":"未找到页面","People Group":"民族","People Groups":"民族","People committed to praying":"委身祷告的人数","Pick a region above, or click any dot to open that people group's country.":"在上方选择一个区域,或点击任意圆点以打开该民族所在的国家。","Pick a region or a country on the Regions List tab to narrow this dashboard.":"在“区域列表”标签中选择一个区域或国家,以缩小此仪表板的范围。",Population:"人口","Prayer Coverage":"祷告覆盖","Prayer coverage progress":"祷告覆盖进度","Region Dashboards":"区域仪表板","Region dashboard":"区域仪表板",Regions:"区域","Regions List":"区域列表",Religion:"宗教","Search names, country/continent, religions...":"搜索名称、国家/大洲、宗教…","See %region% dashboard":"查看 %region% 仪表板","See All":"查看全部",Select:"选择","Select View":"选择视图","Show Filters":"显示筛选","There are %count% people groups in %country%. Check the map for the people groups on the border of this country as well.":"%country% 有 %count% 个民族。也请在地图上查看该国边境地区的民族。",Total:"总计","Type to search...":"输入以搜索…","Unengaged people groups":"无人参与的民族","View country posters":"查看国家海报",Views:"视图","WAGF Block":"WAGF 板块","WAGF Region":"WAGF 区域","people groups adopted":"已认领的民族","people groups engaged":"已参与的民族","Outside this region":"在此区域之外",Pray:"祷告","Loading region dashboards…":"正在加载区域面板…","No regions found.":"未找到区域。","Region data could not be loaded. This is a connection problem, not a filter.":"无法加载区域数据。这是连接问题,不是筛选问题。","People groups could not be loaded. This is a connection problem, not a filter.":"无法加载民族群体。这是连接问题,不是筛选问题。","The map could not start. This is a map-token or connection problem, not a filter — the figures above are unaffected.":"地图无法启动。这是地图令牌或连接问题,不是筛选问题——上方的数字不受影响。"},$h={placeholder:"民族、地点、语言、宗教",labels:{people:"民族:",place:"地点:",language:"语言:",religion:"宗教:"},sections:{within:"在 {selection} 之內",allData:"所有 DOXA 資料"},kinds:{people:"民族 + 国家",peopleGroup:"民族",bloc:"亲缘板块",cluster:"民族群",country:"国家",region:"区域",family:"语系",languageKind:"语言",dialect:"方言",religionKind:"宗教"}},mh={title:"插件工作室",navLabel:"按能力分类的插件",countLabel:"此处列出 {bundles} 个包 · {elements} 个插件",changeLanguage:"切换语言",copyEmbed:"复制嵌入代码",copy:"复制",copied:"已复制",scriptEmbed:"脚本嵌入",loading:"正在加载 {name}…",couldNotLoad:"无法加载 {name}。",chooseElement:"请从列表中选择一个插件。",filterPlaceholder:"筛选插件",collapseAll:"全部折叠",noMatch:"没有与“{query}”匹配的插件。",openSection:"打开 {cap},{label}",part:"部分",noStandalone:"无独立页面",cap5:"应用外壳",cap4:"组合",cap3:"多视图",cap2:"预设",cap1:"单一",toggleList:"显示或隐藏列表",openViews:"打开视图列表",expandList:"展开列表",collapseList:"折叠列表",collapse:"折叠",partOf:"{name} 的一部分,不单独发布"},_h={prayer:"祷告",adoption:"认领",engagement:"参与","affinity-blocks":"民族",regions:"区域",countries:"国家","language-families":"语言",religion:"宗教",family:"语系",language:"语言",dialect:"方言/变体",bloc:"亲缘板块",cluster:"民族群",group:"民族",pgic:"国内民族",region:"WAGF 区域",block:"WAGF 板块",country:"国家",upg100Region:"区域",upg100Zone:"UPG-100 名单",upg100Group:"族群",selectView:"選擇檢視",views:"檢視",prayerResources:"禱告資源",map:"地圖"},bh={kicker:"DOXA · 异象",title:"每一个民族,每一个地方。",tagline:"从世界上所有族群到 DOXA 为之祷告的族群,全部依据数据计算。",funnelLabel:"从所有族群到 DOXA 族群",allLabel:"族群",allNote:"每个族群在其居住的每个国家各计一次",unreachedLabel:"未得之民",unreachedNote:"福音派信徒少于 2%",frontierLabel:"前沿族群",frontierNote:"福音派信徒少于 0.1%",doxaLabel:"DOXA 族群",doxaNote:"其中 {frontier} 个为前沿族群",people:"{n} 人",sources:"族群:{imb},数据日期 {date}。DOXA 名单:pray.doxa.life,{date2}。",howCounted:"这些数字如何计算",ruleAll:"IMB 族群数据的每一行:一个国家中的一个族群。",ruleUnreached:"IMB 迷失优先级 0 至 2:福音派信徒少于 2%。",ruleFrontier:"IMB 迷失优先级 0:福音派信徒少于 0.1%。属于未得之民的一部分。",ruleDoxa:"DOXA 祷告名单上的每个族群,按民族和国家与 IMB 数据匹配。并非全部都是前沿族群。"};/*!
|
||
* shared v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function yh(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Hn=typeof window<"u",Ut=(e,t=!1)=>t?Symbol.for(e):Symbol(e),vh=(e,t,o)=>wh({l:e,k:t,s:o}),wh=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=e=>typeof e=="number"&&isFinite(e),Lh=e=>ki(e)==="[object Date]",Bt=e=>ki(e)==="[object RegExp]",qn=e=>te(e)&&Object.keys(e).length===0,Ne=Object.assign,Ph=Object.create,pe=(e=null)=>Ph(e);let Si;const Rt=()=>Si||(Si=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:pe());function Ai(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function xi(e){return e.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Sh(e){return e=e.replace(/(\w+)\s*=\s*"([^"]*)"/g,(n,a,s)=>`${a}="${xi(s)}"`),e=e.replace(/(\w+)\s*=\s*'([^']*)'/g,(n,a,s)=>`${a}='${xi(s)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(e)&&(e=e.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(n=>{e=e.replace(n,"$1javascript:")}),e}const Ah=Object.prototype.hasOwnProperty;function at(e,t){return Ah.call(e,t)}const _e=Array.isArray,fe=e=>typeof e=="function",j=e=>typeof e=="string",se=e=>typeof e=="boolean",ie=e=>e!==null&&typeof e=="object",xh=e=>ie(e)&&fe(e.then)&&fe(e.catch),Ei=Object.prototype.toString,ki=e=>Ei.call(e),te=e=>{if(!ie(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},Eh=e=>e==null?"":_e(e)||te(e)&&e.toString===Ei?JSON.stringify(e,null,2):String(e);function kh(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}function Xn(e){let t=e;return()=>++t}const Kn=e=>!ie(e)||_e(e);function Yn(e,t){if(Kn(e)||Kn(t))throw new Error("Invalid value");const o=[{src:e,des:t}];for(;o.length;){const{src:n,des:a}=o.pop();Object.keys(n).forEach(s=>{s!=="__proto__"&&(ie(n[s])&&!ie(a[s])&&(a[s]=Array.isArray(n[s])?[]:pe()),Kn(a[s])||Kn(n[s])?a[s]=n[s]:o.push({src:n[s],des:a[s]}))})}}/*!
|
||
* message-compiler v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function Ch(e,t,o){return{line:e,column:t,offset:o}}function Zn(e,t,o){return{start:e,end:t}}const Rh=/\{([0-9a-zA-Z]+)\}/g;function Ci(e,...t){return t.length===1&&Th(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Rh,(o,n)=>t.hasOwnProperty(n)?t[n]:"")}const Ri=Object.assign,Ti=e=>typeof e=="string",Th=e=>e!==null&&typeof e=="object";function Oi(e,t=""){return e.reduce((o,n,a)=>a===0?o+n:o+t+n,"")}const Xs={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Oh={[Xs.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Nh(e,t,...o){const n=Ci(Oh[e],...o||[]),a={message:String(n),code:e};return t&&(a.location=t),a}const Y={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Ih={[Y.EXPECTED_TOKEN]:"Expected token: '{0}'",[Y.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Y.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Y.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Y.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Y.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Y.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Y.EMPTY_PLACEHOLDER]:"Empty placeholder",[Y.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Y.INVALID_LINKED_FORMAT]:"Invalid linked format",[Y.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Y.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Y.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Y.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Y.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Y.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function mo(e,t,o={}){const{domain:n,messages:a,args:s}=o,r=Ci((a||Ih)[e]||"",...s||[]),i=new SyntaxError(String(r));return i.code=e,t&&(i.location=t),i.domain=n,i}function Mh(e){throw e}const Tt=" ",Fh="\r",Be=`
|
||
`,Dh="\u2028",Gh="\u2029";function Uh(e){const t=e;let o=0,n=1,a=1,s=0;const r=T=>t[T]===Fh&&t[T+1]===Be,i=T=>t[T]===Be,l=T=>t[T]===Gh,c=T=>t[T]===Dh,u=T=>r(T)||i(T)||l(T)||c(T),g=()=>o,f=()=>n,y=()=>a,E=()=>s,L=T=>r(T)||l(T)||c(T)?Be:t[T],N=()=>L(o),O=()=>L(o+s);function F(){return s=0,u(o)&&(n++,a=0),r(o)&&o++,o++,a++,t[o]}function v(){return r(o+s)&&s++,s++,t[o+s]}function b(){o=0,n=1,a=1,s=0}function S(T=0){s=T}function _(){const T=o+s;for(;T!==o;)F();s=0}return{index:g,line:f,column:y,peekOffset:E,charAt:L,currentChar:N,currentPeek:O,next:F,peek:v,reset:b,resetPeek:S,skipToPeek:_}}const Vt=void 0,Bh=".",Ni="'",Vh="tokenizer";function jh(e,t={}){const o=t.location!==!1,n=Uh(e),a=()=>n.index(),s=()=>Ch(n.line(),n.column(),n.index()),r=s(),i=a(),l={currentType:14,offset:i,startLoc:r,endLoc:r,lastType:14,lastOffset:i,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},c=()=>l,{onError:u}=t;function g(p,d,P,...C){const V=c();if(d.column+=P,d.offset+=P,u){const D=o?Zn(V.startLoc,d):null,w=mo(p,D,{domain:Vh,args:C});u(w)}}function f(p,d,P){p.endLoc=s(),p.currentType=d;const C={type:d};return o&&(C.loc=Zn(p.startLoc,p.endLoc)),P!=null&&(C.value=P),C}const y=p=>f(p,14);function E(p,d){return p.currentChar()===d?(p.next(),d):(g(Y.EXPECTED_TOKEN,s(),0,d),"")}function L(p){let d="";for(;p.currentPeek()===Tt||p.currentPeek()===Be;)d+=p.currentPeek(),p.peek();return d}function N(p){const d=L(p);return p.skipToPeek(),d}function O(p){if(p===Vt)return!1;const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d===95}function F(p){if(p===Vt)return!1;const d=p.charCodeAt(0);return d>=48&&d<=57}function v(p,d){const{currentType:P}=d;if(P!==2)return!1;L(p);const C=O(p.currentPeek());return p.resetPeek(),C}function b(p,d){const{currentType:P}=d;if(P!==2)return!1;L(p);const C=p.currentPeek()==="-"?p.peek():p.currentPeek(),V=F(C);return p.resetPeek(),V}function S(p,d){const{currentType:P}=d;if(P!==2)return!1;L(p);const C=p.currentPeek()===Ni;return p.resetPeek(),C}function _(p,d){const{currentType:P}=d;if(P!==8)return!1;L(p);const C=p.currentPeek()===".";return p.resetPeek(),C}function T(p,d){const{currentType:P}=d;if(P!==9)return!1;L(p);const C=O(p.currentPeek());return p.resetPeek(),C}function x(p,d){const{currentType:P}=d;if(!(P===8||P===12))return!1;L(p);const C=p.currentPeek()===":";return p.resetPeek(),C}function A(p,d){const{currentType:P}=d;if(P!==10)return!1;const C=()=>{const D=p.currentPeek();return D==="{"?O(p.peek()):D==="@"||D==="%"||D==="|"||D===":"||D==="."||D===Tt||!D?!1:D===Be?(p.peek(),C()):W(p,!1)},V=C();return p.resetPeek(),V}function z(p){L(p);const d=p.currentPeek()==="|";return p.resetPeek(),d}function X(p){const d=L(p),P=p.currentPeek()==="%"&&p.peek()==="{";return p.resetPeek(),{isModulo:P,hasSpace:d.length>0}}function W(p,d=!0){const P=(V=!1,D="",w=!1)=>{const R=p.currentPeek();return R==="{"?D==="%"?!1:V:R==="@"||!R?D==="%"?!0:V:R==="%"?(p.peek(),P(V,"%",!0)):R==="|"?D==="%"||w?!0:!(D===Tt||D===Be):R===Tt?(p.peek(),P(!0,Tt,w)):R===Be?(p.peek(),P(!0,Be,w)):!0},C=P();return d&&p.resetPeek(),C}function ne(p,d){const P=p.currentChar();return P===Vt?Vt:d(P)?(p.next(),P):null}function J(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36}function ae(p){return ne(p,J)}function Q(p){const d=p.charCodeAt(0);return d>=97&&d<=122||d>=65&&d<=90||d>=48&&d<=57||d===95||d===36||d===45}function H(p){return ne(p,Q)}function Z(p){const d=p.charCodeAt(0);return d>=48&&d<=57}function be(p){return ne(p,Z)}function Fe(p){const d=p.charCodeAt(0);return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}function Le(p){return ne(p,Fe)}function xe(p){let d="",P="";for(;d=be(p);)P+=d;return P}function Wt(p){N(p);const d=p.currentChar();return d!=="%"&&g(Y.EXPECTED_TOKEN,s(),0,d),p.next(),"%"}function Ht(p){let d="";for(;;){const P=p.currentChar();if(P==="{"||P==="}"||P==="@"||P==="|"||!P)break;if(P==="%")if(W(p))d+=P,p.next();else break;else if(P===Tt||P===Be)if(W(p))d+=P,p.next();else{if(z(p))break;d+=P,p.next()}else d+=P,p.next()}return d}function oo(p){N(p);let d="",P="";for(;d=H(p);)P+=d;return p.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),P}function lt(p){N(p);let d="";return p.currentChar()==="-"?(p.next(),d+=`-${xe(p)}`):d+=xe(p),p.currentChar()===Vt&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),d}function Nt(p){return p!==Ni&&p!==Be}function It(p){N(p),E(p,"'");let d="",P="";for(;d=ne(p,Nt);)d==="\\"?P+=qt(p):P+=d;const C=p.currentChar();return C===Be||C===Vt?(g(Y.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),C===Be&&(p.next(),E(p,"'")),P):(E(p,"'"),P)}function qt(p){const d=p.currentChar();switch(d){case"\\":case"'":return p.next(),`\\${d}`;case"u":return et(p,d,4);case"U":return et(p,d,6);default:return g(Y.UNKNOWN_ESCAPE_SEQUENCE,s(),0,d),""}}function et(p,d,P){E(p,d);let C="";for(let V=0;V<P;V++){const D=Le(p);if(!D){g(Y.INVALID_UNICODE_ESCAPE_SEQUENCE,s(),0,`\\${d}${C}${p.currentChar()}`);break}C+=D}return`\\${d}${C}`}function So(p){return p!=="{"&&p!=="}"&&p!==Tt&&p!==Be}function h(p){N(p);let d="",P="";for(;d=ne(p,So);)P+=d;return P}function m(p){let d="",P="";for(;d=ae(p);)P+=d;return P}function $(p){const d=P=>{const C=p.currentChar();return C==="{"||C==="%"||C==="@"||C==="|"||C==="("||C===")"||!C||C===Tt?P:(P+=C,p.next(),d(P))};return d("")}function k(p){N(p);const d=E(p,"|");return N(p),d}function M(p,d){let P=null;switch(p.currentChar()){case"{":return d.braceNest>=1&&g(Y.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),p.next(),P=f(d,2,"{"),N(p),d.braceNest++,P;case"}":return d.braceNest>0&&d.currentType===2&&g(Y.EMPTY_PLACEHOLDER,s(),0),p.next(),P=f(d,3,"}"),d.braceNest--,d.braceNest>0&&N(p),d.inLinked&&d.braceNest===0&&(d.inLinked=!1),P;case"@":return d.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),P=I(p,d)||y(d),d.braceNest=0,P;default:{let V=!0,D=!0,w=!0;if(z(p))return d.braceNest>0&&g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),P=f(d,1,k(p)),d.braceNest=0,d.inLinked=!1,P;if(d.braceNest>0&&(d.currentType===5||d.currentType===6||d.currentType===7))return g(Y.UNTERMINATED_CLOSING_BRACE,s(),0),d.braceNest=0,B(p,d);if(V=v(p,d))return P=f(d,5,oo(p)),N(p),P;if(D=b(p,d))return P=f(d,6,lt(p)),N(p),P;if(w=S(p,d))return P=f(d,7,It(p)),N(p),P;if(!V&&!D&&!w)return P=f(d,13,h(p)),g(Y.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,P.value),N(p),P;break}}return P}function I(p,d){const{currentType:P}=d;let C=null;const V=p.currentChar();switch((P===8||P===9||P===12||P===10)&&(V===Be||V===Tt)&&g(Y.INVALID_LINKED_FORMAT,s(),0),V){case"@":return p.next(),C=f(d,8,"@"),d.inLinked=!0,C;case".":return N(p),p.next(),f(d,9,".");case":":return N(p),p.next(),f(d,10,":");default:return z(p)?(C=f(d,1,k(p)),d.braceNest=0,d.inLinked=!1,C):_(p,d)||x(p,d)?(N(p),I(p,d)):T(p,d)?(N(p),f(d,12,m(p))):A(p,d)?(N(p),V==="{"?M(p,d)||C:f(d,11,$(p))):(P===8&&g(Y.INVALID_LINKED_FORMAT,s(),0),d.braceNest=0,d.inLinked=!1,B(p,d))}}function B(p,d){let P={type:14};if(d.braceNest>0)return M(p,d)||y(d);if(d.inLinked)return I(p,d)||y(d);switch(p.currentChar()){case"{":return M(p,d)||y(d);case"}":return g(Y.UNBALANCED_CLOSING_BRACE,s(),0),p.next(),f(d,3,"}");case"@":return I(p,d)||y(d);default:{if(z(p))return P=f(d,1,k(p)),d.braceNest=0,d.inLinked=!1,P;const{isModulo:V,hasSpace:D}=X(p);if(V)return D?f(d,0,Ht(p)):f(d,4,Wt(p));if(W(p))return f(d,0,Ht(p));break}}return P}function U(){const{currentType:p,offset:d,startLoc:P,endLoc:C}=l;return l.lastType=p,l.lastOffset=d,l.lastStartLoc=P,l.lastEndLoc=C,l.offset=a(),l.startLoc=s(),n.currentChar()===Vt?f(l,14):B(n,l)}return{nextToken:U,currentOffset:a,currentPosition:s,context:c}}const zh="parser",Wh=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function Hh(e,t,o){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const n=parseInt(t||o,16);return n<=55295||n>=57344?String.fromCodePoint(n):"<22>"}}}function qh(e={}){const t=e.location!==!1,{onError:o,onWarn:n}=e;function a(v,b,S,_,...T){const x=v.currentPosition();if(x.offset+=_,x.column+=_,o){const A=t?Zn(S,x):null,z=mo(b,A,{domain:zh,args:T});o(z)}}function s(v,b,S,_,...T){const x=v.currentPosition();if(x.offset+=_,x.column+=_,n){const A=t?Zn(S,x):null;n(Nh(b,A,T))}}function r(v,b,S){const _={type:v};return t&&(_.start=b,_.end=b,_.loc={start:S,end:S}),_}function i(v,b,S,_){t&&(v.end=b,v.loc&&(v.loc.end=S))}function l(v,b){const S=v.context(),_=r(3,S.offset,S.startLoc);return _.value=b,i(_,v.currentOffset(),v.currentPosition()),_}function c(v,b){const S=v.context(),{lastOffset:_,lastStartLoc:T}=S,x=r(5,_,T);return x.index=parseInt(b,10),v.nextToken(),i(x,v.currentOffset(),v.currentPosition()),x}function u(v,b,S){const _=v.context(),{lastOffset:T,lastStartLoc:x}=_,A=r(4,T,x);return A.key=b,S===!0&&(A.modulo=!0),v.nextToken(),i(A,v.currentOffset(),v.currentPosition()),A}function g(v,b){const S=v.context(),{lastOffset:_,lastStartLoc:T}=S,x=r(9,_,T);return x.value=b.replace(Wh,Hh),v.nextToken(),i(x,v.currentOffset(),v.currentPosition()),x}function f(v){const b=v.nextToken(),S=v.context(),{lastOffset:_,lastStartLoc:T}=S,x=r(8,_,T);return b.type!==12?(a(v,Y.UNEXPECTED_EMPTY_LINKED_MODIFIER,S.lastStartLoc,0),x.value="",i(x,_,T),{nextConsumeToken:b,node:x}):(b.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,rt(b)),x.value=b.value||"",i(x,v.currentOffset(),v.currentPosition()),{node:x})}function y(v,b){const S=v.context(),_=r(7,S.offset,S.startLoc);return _.value=b,i(_,v.currentOffset(),v.currentPosition()),_}function E(v){const b=v.context(),S=r(6,b.offset,b.startLoc);let _=v.nextToken();if(_.type===9){const T=f(v);S.modifier=T.node,_=T.nextConsumeToken||v.nextToken()}switch(_.type!==10&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(_)),_=v.nextToken(),_.type===2&&(_=v.nextToken()),_.type){case 11:_.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(_)),S.key=y(v,_.value||"");break;case 5:_.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(_)),S.key=u(v,_.value||"");break;case 6:_.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(_)),S.key=c(v,_.value||"");break;case 7:_.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(_)),S.key=g(v,_.value||"");break;default:{a(v,Y.UNEXPECTED_EMPTY_LINKED_KEY,b.lastStartLoc,0);const T=v.context(),x=r(7,T.offset,T.startLoc);return x.value="",i(x,T.offset,T.startLoc),S.key=x,i(S,T.offset,T.startLoc),{nextConsumeToken:_,node:S}}}return i(S,v.currentOffset(),v.currentPosition()),{node:S}}function L(v){const b=v.context(),S=b.currentType===1?v.currentOffset():b.offset,_=b.currentType===1?b.endLoc:b.startLoc,T=r(2,S,_);T.items=[];let x=null,A=null;do{const W=x||v.nextToken();switch(x=null,W.type){case 0:W.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(W)),T.items.push(l(v,W.value||""));break;case 6:W.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(W)),T.items.push(c(v,W.value||""));break;case 4:A=!0;break;case 5:W.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(W)),T.items.push(u(v,W.value||"",!!A)),A&&(s(v,Xs.USE_MODULO_SYNTAX,b.lastStartLoc,0,rt(W)),A=null);break;case 7:W.value==null&&a(v,Y.UNEXPECTED_LEXICAL_ANALYSIS,b.lastStartLoc,0,rt(W)),T.items.push(g(v,W.value||""));break;case 8:{const ne=E(v);T.items.push(ne.node),x=ne.nextConsumeToken||null;break}}}while(b.currentType!==14&&b.currentType!==1);const z=b.currentType===1?b.lastOffset:v.currentOffset(),X=b.currentType===1?b.lastEndLoc:v.currentPosition();return i(T,z,X),T}function N(v,b,S,_){const T=v.context();let x=_.items.length===0;const A=r(1,b,S);A.cases=[],A.cases.push(_);do{const z=L(v);x||(x=z.items.length===0),A.cases.push(z)}while(T.currentType!==14);return x&&a(v,Y.MUST_HAVE_MESSAGES_IN_PLURAL,S,0),i(A,v.currentOffset(),v.currentPosition()),A}function O(v){const b=v.context(),{offset:S,startLoc:_}=b,T=L(v);return b.currentType===14?T:N(v,S,_,T)}function F(v){const b=jh(v,Ri({},e)),S=b.context(),_=r(0,S.offset,S.startLoc);return t&&_.loc&&(_.loc.source=v),_.body=O(b),e.onCacheKey&&(_.cacheKey=e.onCacheKey(v)),S.currentType!==14&&a(b,Y.UNEXPECTED_LEXICAL_ANALYSIS,S.lastStartLoc,0,v[S.offset]||""),i(_,b.currentOffset(),b.currentPosition()),_}return{parse:F}}function rt(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function Xh(e,t={}){const o={ast:e,helpers:new Set};return{context:()=>o,helper:s=>(o.helpers.add(s),s)}}function Ii(e,t){for(let o=0;o<e.length;o++)Ks(e[o],t)}function Ks(e,t){switch(e.type){case 1:Ii(e.cases,t),t.helper("plural");break;case 2:Ii(e.items,t);break;case 6:{Ks(e.key,t),t.helper("linked"),t.helper("type");break}case 5:t.helper("interpolate"),t.helper("list");break;case 4:t.helper("interpolate"),t.helper("named");break}}function Kh(e,t={}){const o=Xh(e);o.helper("normalize"),e.body&&Ks(e.body,o);const n=o.context();e.helpers=Array.from(n.helpers)}function Yh(e){const t=e.body;return t.type===2?Mi(t):t.cases.forEach(o=>Mi(o)),e}function Mi(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let o=0;o<e.items.length;o++){const n=e.items[o];if(!(n.type===3||n.type===9)||n.value==null)break;t.push(n.value)}if(t.length===e.items.length){e.static=Oi(t);for(let o=0;o<e.items.length;o++){const n=e.items[o];(n.type===3||n.type===9)&&delete n.value}}}}const Zh="minifier";function _o(e){switch(e.t=e.type,e.type){case 0:{const t=e;_o(t.body),t.b=t.body,delete t.body;break}case 1:{const t=e,o=t.cases;for(let n=0;n<o.length;n++)_o(o[n]);t.c=o,delete t.cases;break}case 2:{const t=e,o=t.items;for(let n=0;n<o.length;n++)_o(o[n]);t.i=o,delete t.items,t.static&&(t.s=t.static,delete t.static);break}case 3:case 9:case 8:case 7:{const t=e;t.value&&(t.v=t.value,delete t.value);break}case 6:{const t=e;_o(t.key),t.k=t.key,delete t.key,t.modifier&&(_o(t.modifier),t.m=t.modifier,delete t.modifier);break}case 5:{const t=e;t.i=t.index,delete t.index;break}case 4:{const t=e;t.k=t.key,delete t.key;break}default:throw mo(Y.UNHANDLED_MINIFIER_NODE_TYPE,null,{domain:Zh,args:[e.type]})}delete e.type}const Jh="parser";function Qh(e,t){const{filename:o,breakLineCode:n,needIndent:a}=t,s=t.location!==!1,r={filename:o,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:n,needIndent:a,indentLevel:0};s&&e.loc&&(r.source=e.loc.source);const i=()=>r;function l(L,N){r.code+=L}function c(L,N=!0){const O=N?n:"";l(a?O+" ".repeat(L):O)}function u(L=!0){const N=++r.indentLevel;L&&c(N)}function g(L=!0){const N=--r.indentLevel;L&&c(N)}function f(){c(r.indentLevel)}return{context:i,push:l,indent:u,deindent:g,newline:f,helper:L=>`_${L}`,needIndent:()=>r.needIndent}}function e$(e,t){const{helper:o}=e;e.push(`${o("linked")}(`),bo(e,t.key),t.modifier?(e.push(", "),bo(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function t$(e,t){const{helper:o,needIndent:n}=e;e.push(`${o("normalize")}([`),e.indent(n());const a=t.items.length;for(let s=0;s<a&&(bo(e,t.items[s]),s!==a-1);s++)e.push(", ");e.deindent(n()),e.push("])")}function o$(e,t){const{helper:o,needIndent:n}=e;if(t.cases.length>1){e.push(`${o("plural")}([`),e.indent(n());const a=t.cases.length;for(let s=0;s<a&&(bo(e,t.cases[s]),s!==a-1);s++)e.push(", ");e.deindent(n()),e.push("])")}}function n$(e,t){t.body?bo(e,t.body):e.push("null")}function bo(e,t){const{helper:o}=e;switch(t.type){case 0:n$(e,t);break;case 1:o$(e,t);break;case 2:t$(e,t);break;case 6:e$(e,t);break;case 8:e.push(JSON.stringify(t.value),t);break;case 7:e.push(JSON.stringify(t.value),t);break;case 5:e.push(`${o("interpolate")}(${o("list")}(${t.index}))`,t);break;case 4:e.push(`${o("interpolate")}(${o("named")}(${JSON.stringify(t.key)}))`,t);break;case 9:e.push(JSON.stringify(t.value),t);break;case 3:e.push(JSON.stringify(t.value),t);break;default:throw mo(Y.UNHANDLED_CODEGEN_NODE_TYPE,null,{domain:Jh,args:[t.type]})}}const s$=(e,t={})=>{const o=Ti(t.mode)?t.mode:"normal",n=Ti(t.filename)?t.filename:"message.intl";t.sourceMap;const a=t.breakLineCode!=null?t.breakLineCode:o==="arrow"?";":`
|
||
`,s=t.needIndent?t.needIndent:o!=="arrow",r=e.helpers||[],i=Qh(e,{filename:n,breakLineCode:a,needIndent:s});i.push(o==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),i.indent(s),r.length>0&&(i.push(`const { ${Oi(r.map(u=>`${u}: _${u}`),", ")} } = ctx`),i.newline()),i.push("return "),bo(i,e),i.deindent(s),i.push("}"),delete e.helpers;const{code:l,map:c}=i.context();return{ast:e,code:l,map:c?c.toJSON():void 0}};function a$(e,t={}){const o=Ri({},t),n=!!o.jit,a=!!o.minify,s=o.optimize==null?!0:o.optimize,i=qh(o).parse(e);return n?(s&&Yh(i),a&&_o(i),{ast:i,code:""}):(Kh(i,o),s$(i,o))}/*!
|
||
* core-base v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/function r$(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function _t(e){return ie(e)&&Ys(e)===0&&(at(e,"b")||at(e,"body"))}const Fi=["b","body"];function i$(e){return jt(e,Fi)}const Di=["c","cases"];function l$(e){return jt(e,Di,[])}const Gi=["s","static"];function c$(e){return jt(e,Gi)}const Ui=["i","items"];function u$(e){return jt(e,Ui,[])}const Bi=["t","type"];function Ys(e){return jt(e,Bi)}const Vi=["v","value"];function Jn(e,t){const o=jt(e,Vi);if(o!=null)return o;throw Yo(t)}const ji=["m","modifier"];function p$(e){return jt(e,ji)}const zi=["k","key"];function d$(e){const t=jt(e,zi);if(t)return t;throw Yo(6)}function jt(e,t,o){for(let n=0;n<t.length;n++){const a=t[n];if(at(e,a)&&e[a]!=null)return e[a]}return o}const Wi=[...Fi,...Di,...Gi,...Ui,...zi,...ji,...Vi,...Bi];function Yo(e){return new Error(`unhandled node type: ${e}`)}const zt=[];zt[0]={w:[0],i:[3,0],"[":[4],o:[7]},zt[1]={w:[1],".":[2],"[":[4],o:[7]},zt[2]={w:[2],i:[3,0],0:[3,0]},zt[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]},zt[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]},zt[5]={"'":[4,0],o:8,l:[5,0]},zt[6]={'"':[4,0],o:8,l:[6,0]};const g$=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function f$(e){return g$.test(e)}function h$(e){const t=e.charCodeAt(0),o=e.charCodeAt(e.length-1);return t===o&&(t===34||t===39)?e.slice(1,-1):e}function $$(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function m$(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:f$(t)?h$(t):"*"+t}function _$(e){const t=[];let o=-1,n=0,a=0,s,r,i,l,c,u,g;const f=[];f[0]=()=>{r===void 0?r=i:r+=i},f[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},f[2]=()=>{f[0](),a++},f[3]=()=>{if(a>0)a--,n=4,f[0]();else{if(a=0,r===void 0||(r=m$(r),r===!1))return!1;f[1]()}};function y(){const E=e[o+1];if(n===5&&E==="'"||n===6&&E==='"')return o++,i="\\"+E,f[0](),!0}for(;n!==null;)if(o++,s=e[o],!(s==="\\"&&y())){if(l=$$(s),g=zt[n],c=g[l]||g.l||8,c===8||(n=c[0],c[1]!==void 0&&(u=f[c[1]],u&&(i=s,u()===!1))))return;if(n===7)return t}}const Hi=new Map;function b$(e,t){return ie(e)?e[t]:null}function y$(e,t){if(!ie(e))return null;let o=Hi.get(t);if(o||(o=_$(t),o&&Hi.set(t,o)),!o)return null;const n=o.length;let a=e,s=0;for(;s<n;){const r=o[s];if(Wi.includes(r)&&_t(a))return null;const i=a[r];if(i===void 0||fe(a))return null;a=i,s++}return a}const v$=e=>e,w$=e=>"",L$="text",P$=e=>e.length===0?"":kh(e),S$=Eh;function qi(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function A$(e){const t=Ae(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ae(e.named.count)||Ae(e.named.n))?Ae(e.named.count)?e.named.count:Ae(e.named.n)?e.named.n:t:t}function x$(e,t){t.count||(t.count=e),t.n||(t.n=e)}function E$(e={}){const t=e.locale,o=A$(e),n=ie(e.pluralRules)&&j(t)&&fe(e.pluralRules[t])?e.pluralRules[t]:qi,a=ie(e.pluralRules)&&j(t)&&fe(e.pluralRules[t])?qi:void 0,s=O=>O[n(o,O.length,a)],r=e.list||[],i=O=>r[O],l=e.named||pe();Ae(e.pluralIndex)&&x$(o,l);const c=O=>l[O];function u(O){const F=fe(e.messages)?e.messages(O):ie(e.messages)?e.messages[O]:!1;return F||(e.parent?e.parent.message(O):w$)}const g=O=>e.modifiers?e.modifiers[O]:v$,f=te(e.processor)&&fe(e.processor.normalize)?e.processor.normalize:P$,y=te(e.processor)&&fe(e.processor.interpolate)?e.processor.interpolate:S$,E=te(e.processor)&&j(e.processor.type)?e.processor.type:L$,N={list:i,named:c,plural:s,linked:(O,...F)=>{const[v,b]=F;let S="text",_="";F.length===1?ie(v)?(_=v.modifier||_,S=v.type||S):j(v)&&(_=v||_):F.length===2&&(j(v)&&(_=v||_),j(b)&&(S=b||S));const T=u(O)(N),x=S==="vnode"&&_e(T)&&_?T[0]:T;return _?g(_)(x,S):x},message:u,type:E,interpolate:y,normalize:f,values:Ne(pe(),r,l)};return N}let Zo=null;function k$(e){Zo=e}function C$(e,t,o){Zo&&Zo.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:o})}const R$=T$("function:translate");function T$(e){return t=>Zo&&Zo.emit(e,t)}const O$=Xs.__EXTEND_POINT__,eo=Xn(O$),N$={FALLBACK_TO_TRANSLATE:eo(),CANNOT_FORMAT_NUMBER:eo(),FALLBACK_TO_NUMBER_FORMAT:eo(),CANNOT_FORMAT_DATE:eo(),FALLBACK_TO_DATE_FORMAT:eo(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:eo(),__EXTEND_POINT__:eo()},Xi=Y.__EXTEND_POINT__,to=Xn(Xi),it={INVALID_ARGUMENT:Xi,INVALID_DATE_ARGUMENT:to(),INVALID_ISO_DATE_ARGUMENT:to(),NOT_SUPPORT_NON_STRING_MESSAGE:to(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:to(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:to(),NOT_SUPPORT_LOCALE_TYPE:to(),__EXTEND_POINT__:to()};function bt(e){return mo(e,null,void 0)}function Zs(e,t){return t.locale!=null?Ki(t.locale):Ki(e.locale)}let Js;function Ki(e){if(j(e))return e;if(fe(e)){if(e.resolvedOnce&&Js!=null)return Js;if(e.constructor.name==="Function"){const t=e();if(xh(t))throw bt(it.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Js=t}else throw bt(it.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw bt(it.NOT_SUPPORT_LOCALE_TYPE)}function I$(e,t,o){return[...new Set([o,..._e(t)?t:ie(t)?Object.keys(t):j(t)?[t]:[o]])]}function Yi(e,t,o){const n=j(o)?o:yo,a=e;a.__localeChainCache||(a.__localeChainCache=new Map);let s=a.__localeChainCache.get(n);if(!s){s=[];let r=[o];for(;_e(r);)r=Zi(s,r,t);const i=_e(t)||!te(t)?t:t.default?t.default:null;r=j(i)?[i]:i,_e(r)&&Zi(s,r,!1),a.__localeChainCache.set(n,s)}return s}function Zi(e,t,o){let n=!0;for(let a=0;a<t.length&&se(n);a++){const s=t[a];j(s)&&(n=M$(e,t[a],o))}return n}function M$(e,t,o){let n;const a=t.split("-");do{const s=a.join("-");n=F$(e,s,o),a.splice(-1,1)}while(a.length&&n===!0);return n}function F$(e,t,o){let n=!1;if(!e.includes(t)&&(n=!0,t)){n=t[t.length-1]!=="!";const a=t.replace(/!/g,"");e.push(a),(_e(o)||te(o))&&o[a]&&(n=o[a])}return n}const D$="9.14.5",Qn=-1,yo="en-US",Ji="",Qi=e=>`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function G$(){return{upper:(e,t)=>t==="text"&&j(e)?e.toUpperCase():t==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&j(e)?e.toLowerCase():t==="vnode"&&ie(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&j(e)?Qi(e):t==="vnode"&&ie(e)&&"__v_isVNode"in e?Qi(e.children):e}}let el;function tl(e){el=e}let ol;function U$(e){ol=e}let nl;function B$(e){nl=e}let sl=null;const V$=e=>{sl=e},j$=()=>sl;let al=null;const rl=e=>{al=e},z$=()=>al;let il=0;function W$(e={}){const t=fe(e.onWarn)?e.onWarn:yh,o=j(e.version)?e.version:D$,n=j(e.locale)||fe(e.locale)?e.locale:yo,a=fe(n)?yo:n,s=_e(e.fallbackLocale)||te(e.fallbackLocale)||j(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:a,r=te(e.messages)?e.messages:Qs(a),i=te(e.datetimeFormats)?e.datetimeFormats:Qs(a),l=te(e.numberFormats)?e.numberFormats:Qs(a),c=Ne(pe(),e.modifiers,G$()),u=e.pluralRules||pe(),g=fe(e.missing)?e.missing:null,f=se(e.missingWarn)||Bt(e.missingWarn)?e.missingWarn:!0,y=se(e.fallbackWarn)||Bt(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,L=!!e.unresolving,N=fe(e.postTranslation)?e.postTranslation:null,O=te(e.processor)?e.processor:null,F=se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter,b=fe(e.messageCompiler)?e.messageCompiler:el,S=fe(e.messageResolver)?e.messageResolver:ol||b$,_=fe(e.localeFallbacker)?e.localeFallbacker:nl||I$,T=ie(e.fallbackContext)?e.fallbackContext:void 0,x=e,A=ie(x.__datetimeFormatters)?x.__datetimeFormatters:new Map,z=ie(x.__numberFormatters)?x.__numberFormatters:new Map,X=ie(x.__meta)?x.__meta:{};il++;const W={version:o,cid:il,locale:n,fallbackLocale:s,messages:r,modifiers:c,pluralRules:u,missing:g,missingWarn:f,fallbackWarn:y,fallbackFormat:E,unresolving:L,postTranslation:N,processor:O,warnHtmlMessage:F,escapeParameter:v,messageCompiler:b,messageResolver:S,localeFallbacker:_,fallbackContext:T,onWarn:t,__meta:X};return W.datetimeFormats=i,W.numberFormats=l,W.__datetimeFormatters=A,W.__numberFormatters=z,__INTLIFY_PROD_DEVTOOLS__&&C$(W,o,X),W}const Qs=e=>({[e]:pe()});function ea(e,t,o,n,a){const{missing:s,onWarn:r}=e;if(s!==null){const i=s(e,o,t,a);return j(i)?i:t}else return t}function Jo(e,t,o){const n=e;n.__localeChainCache=new Map,e.localeFallbacker(e,o,t)}function H$(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function q$(e,t){const o=t.indexOf(e);if(o===-1)return!1;for(let n=o+1;n<t.length;n++)if(H$(e,t[n]))return!0;return!1}function ta(e){return o=>X$(o,e)}function X$(e,t){const o=i$(t);if(o==null)throw Yo(0);if(Ys(o)===1){const s=l$(o);return e.plural(s.reduce((r,i)=>[...r,ll(e,i)],[]))}else return ll(e,o)}function ll(e,t){const o=c$(t);if(o!=null)return e.type==="text"?o:e.normalize([o]);{const n=u$(t).reduce((a,s)=>[...a,oa(e,s)],[]);return e.normalize(n)}}function oa(e,t){const o=Ys(t);switch(o){case 3:return Jn(t,o);case 9:return Jn(t,o);case 4:{const n=t;if(at(n,"k")&&n.k)return e.interpolate(e.named(n.k));if(at(n,"key")&&n.key)return e.interpolate(e.named(n.key));throw Yo(o)}case 5:{const n=t;if(at(n,"i")&&Ae(n.i))return e.interpolate(e.list(n.i));if(at(n,"index")&&Ae(n.index))return e.interpolate(e.list(n.index));throw Yo(o)}case 6:{const n=t,a=p$(n),s=d$(n);return e.linked(oa(e,s),a?oa(e,a):void 0,e.type)}case 7:return Jn(t,o);case 8:return Jn(t,o);default:throw new Error(`unhandled node on format message part: ${o}`)}}const cl=e=>e;let vo=pe();function ul(e,t={}){let o=!1;const n=t.onError||Mh;return t.onError=a=>{o=!0,n(a)},{...a$(e,t),detectError:o}}const K$=(e,t)=>{if(!j(e))throw bt(it.NOT_SUPPORT_NON_STRING_MESSAGE);{se(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cl)(e),a=vo[n];if(a)return a;const{code:s,detectError:r}=ul(e,t),i=new Function(`return ${s}`)();return r?i:vo[n]=i}};function Y$(e,t){if(__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&j(e)){se(t.warnHtmlMessage)&&t.warnHtmlMessage;const n=(t.onCacheKey||cl)(e),a=vo[n];if(a)return a;const{ast:s,detectError:r}=ul(e,{...t,location:!1,jit:!0}),i=ta(s);return r?i:vo[n]=i}else{const o=e.cacheKey;if(o){const n=vo[o];return n||(vo[o]=ta(e))}else return ta(e)}}const pl=()=>"",Qe=e=>fe(e);function dl(e,...t){const{fallbackFormat:o,postTranslation:n,unresolving:a,messageCompiler:s,fallbackLocale:r,messages:i}=e,[l,c]=na(...t),u=se(c.missingWarn)?c.missingWarn:e.missingWarn,g=se(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,f=se(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,E=j(c.default)||se(c.default)?se(c.default)?s?l:()=>l:c.default:o?s?l:()=>l:"",L=o||E!=="",N=Zs(e,c);f&&Z$(c);let[O,F,v]=y?[l,N,i[N]||pe()]:gl(e,l,N,r,g,u),b=O,S=l;if(!y&&!(j(b)||_t(b)||Qe(b))&&L&&(b=E,S=b),!y&&(!(j(b)||_t(b)||Qe(b))||!j(F)))return a?Qn:l;let _=!1;const T=()=>{_=!0},x=Qe(b)?b:fl(e,l,F,b,S,T);if(_)return b;const A=em(e,F,v,c),z=E$(A),X=J$(e,x,z);let W=n?n(X,l):X;if(f&&j(W)&&(W=Sh(W)),__INTLIFY_PROD_DEVTOOLS__){const ne={timestamp:Date.now(),key:j(l)?l:Qe(b)?b.key:"",locale:F||(Qe(b)?b.locale:""),format:j(b)?b:Qe(b)?b.source:"",message:W};ne.meta=Ne({},e.__meta,j$()||{}),R$(ne)}return W}function Z$(e){_e(e.list)?e.list=e.list.map(t=>j(t)?Ai(t):t):ie(e.named)&&Object.keys(e.named).forEach(t=>{j(e.named[t])&&(e.named[t]=Ai(e.named[t]))})}function gl(e,t,o,n,a,s){const{messages:r,onWarn:i,messageResolver:l,localeFallbacker:c}=e,u=c(e,n,o);let g=pe(),f,y=null;const E="translate";for(let L=0;L<u.length&&(f=u[L],g=r[f]||pe(),(y=l(g,t))===null&&(y=g[t]),!(j(y)||_t(y)||Qe(y)));L++)if(!q$(f,u)){const N=ea(e,t,f,s,E);N!==t&&(y=N)}return[y,f,g]}function fl(e,t,o,n,a,s){const{messageCompiler:r,warnHtmlMessage:i}=e;if(Qe(n)){const c=n;return c.locale=c.locale||o,c.key=c.key||t,c}if(r==null){const c=()=>n;return c.locale=o,c.key=t,c}const l=r(n,Q$(e,o,a,n,i,s));return l.locale=o,l.key=t,l.source=n,l}function J$(e,t,o){return t(o)}function na(...e){const[t,o,n]=e,a=pe();if(!j(t)&&!Ae(t)&&!Qe(t)&&!_t(t))throw bt(it.INVALID_ARGUMENT);const s=Ae(t)?String(t):(Qe(t),t);return Ae(o)?a.plural=o:j(o)?a.default=o:te(o)&&!qn(o)?a.named=o:_e(o)&&(a.list=o),Ae(n)?a.plural=n:j(n)?a.default=n:te(n)&&Ne(a,n),[s,a]}function Q$(e,t,o,n,a,s){return{locale:t,key:o,warnHtmlMessage:a,onError:r=>{throw s&&s(r),r},onCacheKey:r=>vh(t,o,r)}}function em(e,t,o,n){const{modifiers:a,pluralRules:s,messageResolver:r,fallbackLocale:i,fallbackWarn:l,missingWarn:c,fallbackContext:u}=e,f={locale:t,modifiers:a,pluralRules:s,messages:y=>{let E=r(o,y);if(E==null&&u){const[,,L]=gl(u,y,t,i,l,c);E=r(L,y)}if(j(E)||_t(E)){let L=!1;const O=fl(e,y,t,E,y,()=>{L=!0});return L?pl:O}else return Qe(E)?E:pl}};return e.processor&&(f.processor=e.processor),n.list&&(f.list=n.list),n.named&&(f.named=n.named),Ae(n.plural)&&(f.pluralIndex=n.plural),f}function hl(e,...t){const{datetimeFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__datetimeFormatters:i}=e,[l,c,u,g]=sa(...t),f=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,E=Zs(e,u),L=r(e,a,E);if(!j(l)||l==="")return new Intl.DateTimeFormat(E,g).format(c);let N={},O,F=null;const v="datetime format";for(let _=0;_<L.length&&(O=L[_],N=o[O]||{},F=N[l],!te(F));_++)ea(e,l,O,f,v);if(!te(F)||!j(O))return n?Qn:l;let b=`${O}__${l}`;qn(g)||(b=`${b}__${JSON.stringify(g)}`);let S=i.get(b);return S||(S=new Intl.DateTimeFormat(O,Ne({},F,g)),i.set(b,S)),y?S.formatToParts(c):S.format(c)}const $l=["localeMatcher","weekday","era","year","month","day","hour","minute","second","timeZoneName","formatMatcher","hour12","timeZone","dateStyle","timeStyle","calendar","dayPeriod","numberingSystem","hourCycle","fractionalSecondDigits"];function sa(...e){const[t,o,n,a]=e,s=pe();let r=pe(),i;if(j(t)){const l=t.match(/(\d{4}-\d{2}-\d{2})(T|\s)?(.*)/);if(!l)throw bt(it.INVALID_ISO_DATE_ARGUMENT);const c=l[3]?l[3].trim().startsWith("T")?`${l[1].trim()}${l[3].trim()}`:`${l[1].trim()}T${l[3].trim()}`:l[1].trim();i=new Date(c);try{i.toISOString()}catch{throw bt(it.INVALID_ISO_DATE_ARGUMENT)}}else if(Lh(t)){if(isNaN(t.getTime()))throw bt(it.INVALID_DATE_ARGUMENT);i=t}else if(Ae(t))i=t;else throw bt(it.INVALID_ARGUMENT);return j(o)?s.key=o:te(o)&&Object.keys(o).forEach(l=>{$l.includes(l)?r[l]=o[l]:s[l]=o[l]}),j(n)?s.locale=n:te(n)&&(r=n),te(a)&&(r=a),[s.key||"",i,s,r]}function ml(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__datetimeFormatters.has(s)&&n.__datetimeFormatters.delete(s)}}function _l(e,...t){const{numberFormats:o,unresolving:n,fallbackLocale:a,onWarn:s,localeFallbacker:r}=e,{__numberFormatters:i}=e,[l,c,u,g]=aa(...t),f=se(u.missingWarn)?u.missingWarn:e.missingWarn;se(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const y=!!u.part,E=Zs(e,u),L=r(e,a,E);if(!j(l)||l==="")return new Intl.NumberFormat(E,g).format(c);let N={},O,F=null;const v="number format";for(let _=0;_<L.length&&(O=L[_],N=o[O]||{},F=N[l],!te(F));_++)ea(e,l,O,f,v);if(!te(F)||!j(O))return n?Qn:l;let b=`${O}__${l}`;qn(g)||(b=`${b}__${JSON.stringify(g)}`);let S=i.get(b);return S||(S=new Intl.NumberFormat(O,Ne({},F,g)),i.set(b,S)),y?S.formatToParts(c):S.format(c)}const bl=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function aa(...e){const[t,o,n,a]=e,s=pe();let r=pe();if(!Ae(t))throw bt(it.INVALID_ARGUMENT);const i=t;return j(o)?s.key=o:te(o)&&Object.keys(o).forEach(l=>{bl.includes(l)?r[l]=o[l]:s[l]=o[l]}),j(n)?s.locale=n:te(n)&&(r=n),te(a)&&(r=a),[s.key||"",i,s,r]}function yl(e,t,o){const n=e;for(const a in o){const s=`${t}__${a}`;n.__numberFormatters.has(s)&&n.__numberFormatters.delete(s)}}r$();/*!
|
||
* vue-i18n v9.14.5
|
||
* (c) 2025 kazuya kawaguchi
|
||
* Released under the MIT License.
|
||
*/const tm="9.14.5";function om(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(Rt().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(Rt().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Rt().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Rt().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Rt().__INTLIFY_PROD_DEVTOOLS__=!1)}const nm=N$.__EXTEND_POINT__,Ot=Xn(nm);Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot(),Ot();const vl=it.__EXTEND_POINT__,ze=Xn(vl),ke={UNEXPECTED_RETURN_TYPE:vl,INVALID_ARGUMENT:ze(),MUST_BE_CALL_SETUP_TOP:ze(),NOT_INSTALLED:ze(),NOT_AVAILABLE_IN_LEGACY_MODE:ze(),REQUIRED_VALUE:ze(),INVALID_VALUE:ze(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:ze(),NOT_INSTALLED_WITH_PROVIDE:ze(),UNEXPECTED_ERROR:ze(),NOT_COMPATIBLE_LEGACY_VUE_I18N:ze(),BRIDGE_SUPPORT_VUE_2_ONLY:ze(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:ze(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:ze(),__EXTEND_POINT__:ze()};function Re(e,...t){return mo(e,null,void 0)}const ra=Ut("__translateVNode"),ia=Ut("__datetimeParts"),la=Ut("__numberParts"),wl=Ut("__setPluralRules"),Ll=Ut("__injectWithOption"),ca=Ut("__dispose");function Qo(e){if(!ie(e)||_t(e))return e;for(const t in e)if(at(e,t))if(!t.includes("."))ie(e[t])&&Qo(e[t]);else{const o=t.split("."),n=o.length-1;let a=e,s=!1;for(let r=0;r<n;r++){if(o[r]==="__proto__")throw new Error(`unsafe key: ${o[r]}`);if(o[r]in a||(a[o[r]]=pe()),!ie(a[o[r]])){s=!0;break}a=a[o[r]]}if(s||(_t(a)?Wi.includes(o[n])||delete e[t]:(a[o[n]]=e[t],delete e[t])),!_t(a)){const r=a[o[n]];ie(r)&&Qo(r)}}return e}function es(e,t){const{messages:o,__i18n:n,messageResolver:a,flatJson:s}=t,r=te(o)?o:_e(n)?pe():{[e]:pe()};if(_e(n)&&n.forEach(i=>{if("locale"in i&&"resource"in i){const{locale:l,resource:c}=i;l?(r[l]=r[l]||pe(),Yn(c,r[l])):Yn(c,r)}else j(i)&&Yn(JSON.parse(i),r)}),a==null&&s)for(const i in r)at(r,i)&&Qo(r[i]);return r}function Pl(e){return e.type}function Sl(e,t,o){let n=ie(t.messages)?t.messages:pe();"__i18nGlobal"in o&&(n=es(e.locale.value,{messages:n,__i18n:o.__i18nGlobal}));const a=Object.keys(n);a.length&&a.forEach(s=>{e.mergeLocaleMessage(s,n[s])});{if(ie(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(r=>{e.mergeDateTimeFormat(r,t.datetimeFormats[r])})}if(ie(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(r=>{e.mergeNumberFormat(r,t.numberFormats[r])})}}}function Al(e){return Se(Vo,null,e,0)}const xl="__INTLIFY_META__",El=()=>[],sm=()=>!1;let kl=0;function Cl(e){return(t,o,n,a)=>e(o,n,kt()||void 0,a)}const am=()=>{const e=kt();let t=null;return e&&(t=Pl(e)[xl])?{[xl]:t}:null};function ua(e={},t){const{__root:o,__injectWithOption:n}=e,a=o===void 0,s=e.flatJson,r=Hn?He:Xa,i=!!e.translateExistCompatible;let l=se(e.inheritLocale)?e.inheritLocale:!0;const c=r(o&&l?o.locale.value:j(e.locale)?e.locale:yo),u=r(o&&l?o.fallbackLocale.value:j(e.fallbackLocale)||_e(e.fallbackLocale)||te(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:c.value),g=r(es(c.value,e)),f=r(te(e.datetimeFormats)?e.datetimeFormats:{[c.value]:{}}),y=r(te(e.numberFormats)?e.numberFormats:{[c.value]:{}});let E=o?o.missingWarn:se(e.missingWarn)||Bt(e.missingWarn)?e.missingWarn:!0,L=o?o.fallbackWarn:se(e.fallbackWarn)||Bt(e.fallbackWarn)?e.fallbackWarn:!0,N=o?o.fallbackRoot:se(e.fallbackRoot)?e.fallbackRoot:!0,O=!!e.fallbackFormat,F=fe(e.missing)?e.missing:null,v=fe(e.missing)?Cl(e.missing):null,b=fe(e.postTranslation)?e.postTranslation:null,S=o?o.warnHtmlMessage:se(e.warnHtmlMessage)?e.warnHtmlMessage:!0,_=!!e.escapeParameter;const T=o?o.modifiers:te(e.modifiers)?e.modifiers:{};let x=e.pluralRules||o&&o.pluralRules,A;A=(()=>{a&&rl(null);const w={version:tm,locale:c.value,fallbackLocale:u.value,messages:g.value,modifiers:T,pluralRules:x,missing:v===null?void 0:v,missingWarn:E,fallbackWarn:L,fallbackFormat:O,unresolving:!0,postTranslation:b===null?void 0:b,warnHtmlMessage:S,escapeParameter:_,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};w.datetimeFormats=f.value,w.numberFormats=y.value,w.__datetimeFormatters=te(A)?A.__datetimeFormatters:void 0,w.__numberFormatters=te(A)?A.__numberFormatters:void 0;const R=W$(w);return a&&rl(R),R})(),Jo(A,c.value,u.value);function X(){return[c.value,u.value,g.value,f.value,y.value]}const W=me({get:()=>c.value,set:w=>{c.value=w,A.locale=c.value}}),ne=me({get:()=>u.value,set:w=>{u.value=w,A.fallbackLocale=u.value,Jo(A,c.value,w)}}),J=me(()=>g.value),ae=me(()=>f.value),Q=me(()=>y.value);function H(){return fe(b)?b:null}function Z(w){b=w,A.postTranslation=w}function be(){return F}function Fe(w){w!==null&&(v=Cl(w)),F=w,A.missing=v}const Le=(w,R,q,oe,he,Ve)=>{X();let Ie;try{__INTLIFY_PROD_DEVTOOLS__,a||(A.fallbackContext=o?z$():void 0),Ie=w(A)}finally{__INTLIFY_PROD_DEVTOOLS__,a||(A.fallbackContext=void 0)}if(q!=="translate exists"&&Ae(Ie)&&Ie===Qn||q==="translate exists"&&!Ie){const[no,$a]=R();return o&&N?oe(o):he(no)}else{if(Ve(Ie))return Ie;throw Re(ke.UNEXPECTED_RETURN_TYPE)}};function xe(...w){return Le(R=>Reflect.apply(dl,null,[R,...w]),()=>na(...w),"translate",R=>Reflect.apply(R.t,R,[...w]),R=>R,R=>j(R))}function Wt(...w){const[R,q,oe]=w;if(oe&&!ie(oe))throw Re(ke.INVALID_ARGUMENT);return xe(R,q,Ne({resolvedMessage:!0},oe||{}))}function Ht(...w){return Le(R=>Reflect.apply(hl,null,[R,...w]),()=>sa(...w),"datetime format",R=>Reflect.apply(R.d,R,[...w]),()=>Ji,R=>j(R))}function oo(...w){return Le(R=>Reflect.apply(_l,null,[R,...w]),()=>aa(...w),"number format",R=>Reflect.apply(R.n,R,[...w]),()=>Ji,R=>j(R))}function lt(w){return w.map(R=>j(R)||Ae(R)||se(R)?Al(String(R)):R)}const It={normalize:lt,interpolate:w=>w,type:"vnode"};function qt(...w){return Le(R=>{let q;const oe=R;try{oe.processor=It,q=Reflect.apply(dl,null,[oe,...w])}finally{oe.processor=null}return q},()=>na(...w),"translate",R=>R[ra](...w),R=>[Al(R)],R=>_e(R))}function et(...w){return Le(R=>Reflect.apply(_l,null,[R,...w]),()=>aa(...w),"number format",R=>R[la](...w),El,R=>j(R)||_e(R))}function So(...w){return Le(R=>Reflect.apply(hl,null,[R,...w]),()=>sa(...w),"datetime format",R=>R[ia](...w),El,R=>j(R)||_e(R))}function h(w){x=w,A.pluralRules=x}function m(w,R){return Le(()=>{if(!w)return!1;const q=j(R)?R:c.value,oe=M(q),he=A.messageResolver(oe,w);return i?he!=null:_t(he)||Qe(he)||j(he)},()=>[w],"translate exists",q=>Reflect.apply(q.te,q,[w,R]),sm,q=>se(q))}function $(w){let R=null;const q=Yi(A,u.value,c.value);for(let oe=0;oe<q.length;oe++){const he=g.value[q[oe]]||{},Ve=A.messageResolver(he,w);if(Ve!=null){R=Ve;break}}return R}function k(w){const R=$(w);return R??(o?o.tm(w)||{}:{})}function M(w){return g.value[w]||{}}function I(w,R){if(s){const q={[w]:R};for(const oe in q)at(q,oe)&&Qo(q[oe]);R=q[w]}g.value[w]=R,A.messages=g.value}function B(w,R){g.value[w]=g.value[w]||{};const q={[w]:R};if(s)for(const oe in q)at(q,oe)&&Qo(q[oe]);R=q[w],Yn(R,g.value[w]),A.messages=g.value}function U(w){return f.value[w]||{}}function p(w,R){f.value[w]=R,A.datetimeFormats=f.value,ml(A,w,R)}function d(w,R){f.value[w]=Ne(f.value[w]||{},R),A.datetimeFormats=f.value,ml(A,w,R)}function P(w){return y.value[w]||{}}function C(w,R){y.value[w]=R,A.numberFormats=y.value,yl(A,w,R)}function V(w,R){y.value[w]=Ne(y.value[w]||{},R),A.numberFormats=y.value,yl(A,w,R)}kl++,o&&Hn&&(Dt(o.locale,w=>{l&&(c.value=w,A.locale=w,Jo(A,c.value,u.value))}),Dt(o.fallbackLocale,w=>{l&&(u.value=w,A.fallbackLocale=w,Jo(A,c.value,u.value))}));const D={id:kl,locale:W,fallbackLocale:ne,get inheritLocale(){return l},set inheritLocale(w){l=w,w&&o&&(c.value=o.locale.value,u.value=o.fallbackLocale.value,Jo(A,c.value,u.value))},get availableLocales(){return Object.keys(g.value).sort()},messages:J,get modifiers(){return T},get pluralRules(){return x||{}},get isGlobal(){return a},get missingWarn(){return E},set missingWarn(w){E=w,A.missingWarn=E},get fallbackWarn(){return L},set fallbackWarn(w){L=w,A.fallbackWarn=L},get fallbackRoot(){return N},set fallbackRoot(w){N=w},get fallbackFormat(){return O},set fallbackFormat(w){O=w,A.fallbackFormat=O},get warnHtmlMessage(){return S},set warnHtmlMessage(w){S=w,A.warnHtmlMessage=w},get escapeParameter(){return _},set escapeParameter(w){_=w,A.escapeParameter=w},t:xe,getLocaleMessage:M,setLocaleMessage:I,mergeLocaleMessage:B,getPostTranslationHandler:H,setPostTranslationHandler:Z,getMissingHandler:be,setMissingHandler:Fe,[wl]:h};return D.datetimeFormats=ae,D.numberFormats=Q,D.rt=Wt,D.te=m,D.tm=k,D.d=Ht,D.n=oo,D.getDateTimeFormat=U,D.setDateTimeFormat=p,D.mergeDateTimeFormat=d,D.getNumberFormat=P,D.setNumberFormat=C,D.mergeNumberFormat=V,D[Ll]=n,D[ra]=qt,D[ia]=So,D[la]=et,D}function rm(e){const t=j(e.locale)?e.locale:yo,o=j(e.fallbackLocale)||_e(e.fallbackLocale)||te(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:t,n=fe(e.missing)?e.missing:void 0,a=se(e.silentTranslationWarn)||Bt(e.silentTranslationWarn)?!e.silentTranslationWarn:!0,s=se(e.silentFallbackWarn)||Bt(e.silentFallbackWarn)?!e.silentFallbackWarn:!0,r=se(e.fallbackRoot)?e.fallbackRoot:!0,i=!!e.formatFallbackMessages,l=te(e.modifiers)?e.modifiers:{},c=e.pluralizationRules,u=fe(e.postTranslation)?e.postTranslation:void 0,g=j(e.warnHtmlInMessage)?e.warnHtmlInMessage!=="off":!0,f=!!e.escapeParameterHtml,y=se(e.sync)?e.sync:!0;let E=e.messages;if(te(e.sharedMessages)){const _=e.sharedMessages;E=Object.keys(_).reduce((x,A)=>{const z=x[A]||(x[A]={});return Ne(z,_[A]),x},E||{})}const{__i18n:L,__root:N,__injectWithOption:O}=e,F=e.datetimeFormats,v=e.numberFormats,b=e.flatJson,S=e.translateExistCompatible;return{locale:t,fallbackLocale:o,messages:E,flatJson:b,datetimeFormats:F,numberFormats:v,missing:n,missingWarn:a,fallbackWarn:s,fallbackRoot:r,fallbackFormat:i,modifiers:l,pluralRules:c,postTranslation:u,warnHtmlMessage:g,escapeParameter:f,messageResolver:e.messageResolver,inheritLocale:y,translateExistCompatible:S,__i18n:L,__root:N,__injectWithOption:O}}function pa(e={},t){{const o=ua(rm(e)),{__extender:n}=e,a={id:o.id,get locale(){return o.locale.value},set locale(s){o.locale.value=s},get fallbackLocale(){return o.fallbackLocale.value},set fallbackLocale(s){o.fallbackLocale.value=s},get messages(){return o.messages.value},get datetimeFormats(){return o.datetimeFormats.value},get numberFormats(){return o.numberFormats.value},get availableLocales(){return o.availableLocales},get formatter(){return{interpolate(){return[]}}},set formatter(s){},get missing(){return o.getMissingHandler()},set missing(s){o.setMissingHandler(s)},get silentTranslationWarn(){return se(o.missingWarn)?!o.missingWarn:o.missingWarn},set silentTranslationWarn(s){o.missingWarn=se(s)?!s:s},get silentFallbackWarn(){return se(o.fallbackWarn)?!o.fallbackWarn:o.fallbackWarn},set silentFallbackWarn(s){o.fallbackWarn=se(s)?!s:s},get modifiers(){return o.modifiers},get formatFallbackMessages(){return o.fallbackFormat},set formatFallbackMessages(s){o.fallbackFormat=s},get postTranslation(){return o.getPostTranslationHandler()},set postTranslation(s){o.setPostTranslationHandler(s)},get sync(){return o.inheritLocale},set sync(s){o.inheritLocale=s},get warnHtmlInMessage(){return o.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(s){o.warnHtmlMessage=s!=="off"},get escapeParameterHtml(){return o.escapeParameter},set escapeParameterHtml(s){o.escapeParameter=s},get preserveDirectiveContent(){return!0},set preserveDirectiveContent(s){},get pluralizationRules(){return o.pluralRules||{}},__composer:o,t(...s){const[r,i,l]=s,c={};let u=null,g=null;if(!j(r))throw Re(ke.INVALID_ARGUMENT);const f=r;return j(i)?c.locale=i:_e(i)?u=i:te(i)&&(g=i),_e(l)?u=l:te(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},rt(...s){return Reflect.apply(o.rt,o,[...s])},tc(...s){const[r,i,l]=s,c={plural:1};let u=null,g=null;if(!j(r))throw Re(ke.INVALID_ARGUMENT);const f=r;return j(i)?c.locale=i:Ae(i)?c.plural=i:_e(i)?u=i:te(i)&&(g=i),j(l)?c.locale=l:_e(l)?u=l:te(l)&&(g=l),Reflect.apply(o.t,o,[f,u||g||{},c])},te(s,r){return o.te(s,r)},tm(s){return o.tm(s)},getLocaleMessage(s){return o.getLocaleMessage(s)},setLocaleMessage(s,r){o.setLocaleMessage(s,r)},mergeLocaleMessage(s,r){o.mergeLocaleMessage(s,r)},d(...s){return Reflect.apply(o.d,o,[...s])},getDateTimeFormat(s){return o.getDateTimeFormat(s)},setDateTimeFormat(s,r){o.setDateTimeFormat(s,r)},mergeDateTimeFormat(s,r){o.mergeDateTimeFormat(s,r)},n(...s){return Reflect.apply(o.n,o,[...s])},getNumberFormat(s){return o.getNumberFormat(s)},setNumberFormat(s,r){o.setNumberFormat(s,r)},mergeNumberFormat(s,r){o.mergeNumberFormat(s,r)},getChoiceIndex(s,r){return-1}};return a.__extender=n,a}}const da={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function im({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((n,a)=>[...n,...a.type===Xe?a.children:[a]],[]):t.reduce((o,n)=>{const a=e[n];return a&&(o[n]=a()),o},pe())}function Rl(e){return Xe}const Tl=Fo({name:"i18n-t",props:Ne({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>Ae(e)||!isNaN(e)}},da),setup(e,t){const{slots:o,attrs:n}=t,a=e.i18n||ts({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(o).filter(g=>g!=="_"),r=pe();e.locale&&(r.locale=e.locale),e.plural!==void 0&&(r.plural=j(e.plural)?+e.plural:e.plural);const i=im(t,s),l=a[ra](e.keypath,i,r),c=Ne(pe(),n),u=j(e.tag)||ie(e.tag)?e.tag:Rl();return Jr(u,c,l)}}});function lm(e){return _e(e)&&!j(e[0])}function Ol(e,t,o,n){const{slots:a,attrs:s}=t;return()=>{const r={part:!0};let i=pe();e.locale&&(r.locale=e.locale),j(e.format)?r.key=e.format:ie(e.format)&&(j(e.format.key)&&(r.key=e.format.key),i=Object.keys(e.format).reduce((f,y)=>o.includes(y)?Ne(pe(),f,{[y]:e.format[y]}):f,pe()));const l=n(e.value,r,i);let c=[r.key];_e(l)?c=l.map((f,y)=>{const E=a[f.type],L=E?E({[f.type]:f.value,index:y,parts:l}):[f.value];return lm(L)&&(L[0].key=`${f.type}-${y}`),L}):j(l)&&(c=[l]);const u=Ne(pe(),s),g=j(e.tag)||ie(e.tag)?e.tag:Rl();return Jr(g,u,c)}}const Nl=Fo({name:"i18n-n",props:Ne({value:{type:Number,required:!0},format:{type:[String,Object]}},da),setup(e,t){const o=e.i18n||ts({useScope:e.scope,__useComponent:!0});return Ol(e,t,bl,(...n)=>o[la](...n))}}),Il=Fo({name:"i18n-d",props:Ne({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},da),setup(e,t){const o=e.i18n||ts({useScope:e.scope,__useComponent:!0});return Ol(e,t,$l,(...n)=>o[ia](...n))}});function cm(e,t){const o=e;if(e.mode==="composition")return o.__getInstance(t)||e.global;{const n=o.__getInstance(t);return n!=null?n.__composer:e.global.__composer}}function um(e){const t=r=>{const{instance:i,modifiers:l,value:c}=r;if(!i||!i.$)throw Re(ke.UNEXPECTED_ERROR);const u=cm(e,i.$),g=Ml(c);return[Reflect.apply(u.t,u,[...Fl(g)]),u]};return{created:(r,i)=>{const[l,c]=t(i);Hn&&e.global===c&&(r.__i18nWatcher=Dt(c.locale,()=>{i.instance&&i.instance.$forceUpdate()})),r.__composer=c,r.textContent=l},unmounted:r=>{Hn&&r.__i18nWatcher&&(r.__i18nWatcher(),r.__i18nWatcher=void 0,delete r.__i18nWatcher),r.__composer&&(r.__composer=void 0,delete r.__composer)},beforeUpdate:(r,{value:i})=>{if(r.__composer){const l=r.__composer,c=Ml(i);r.textContent=Reflect.apply(l.t,l,[...Fl(c)])}},getSSRProps:r=>{const[i]=t(r);return{textContent:i}}}}function Ml(e){if(j(e))return{path:e};if(te(e)){if(!("path"in e))throw Re(ke.REQUIRED_VALUE,"path");return e}else throw Re(ke.INVALID_VALUE)}function Fl(e){const{path:t,locale:o,args:n,choice:a,plural:s}=e,r={},i=n||{};return j(o)&&(r.locale=o),Ae(a)&&(r.plural=a),Ae(s)&&(r.plural=s),[t,i,r]}function pm(e,t,...o){const n=te(o[0])?o[0]:{},a=!!n.useI18nComponentName;(se(n.globalInstall)?n.globalInstall:!0)&&([a?"i18n":Tl.name,"I18nT"].forEach(r=>e.component(r,Tl)),[Nl.name,"I18nN"].forEach(r=>e.component(r,Nl)),[Il.name,"I18nD"].forEach(r=>e.component(r,Il))),e.directive("t",um(t))}function dm(e,t,o){return{beforeCreate(){const n=kt();if(!n)throw Re(ke.UNEXPECTED_ERROR);const a=this.$options;if(a.i18n){const s=a.i18n;if(a.__i18n&&(s.__i18n=a.__i18n),s.__root=t,this===this.$root)this.$i18n=Dl(e,s);else{s.__injectWithOption=!0,s.__extender=o.__vueI18nExtend,this.$i18n=pa(s);const r=this.$i18n;r.__extender&&(r.__disposer=r.__extender(this.$i18n))}}else if(a.__i18n)if(this===this.$root)this.$i18n=Dl(e,a);else{this.$i18n=pa({__i18n:a.__i18n,__injectWithOption:!0,__extender:o.__vueI18nExtend,__root:t});const s=this.$i18n;s.__extender&&(s.__disposer=s.__extender(this.$i18n))}else this.$i18n=e;a.__i18nGlobal&&Sl(t,a,a),this.$t=(...s)=>this.$i18n.t(...s),this.$rt=(...s)=>this.$i18n.rt(...s),this.$tc=(...s)=>this.$i18n.tc(...s),this.$te=(s,r)=>this.$i18n.te(s,r),this.$d=(...s)=>this.$i18n.d(...s),this.$n=(...s)=>this.$i18n.n(...s),this.$tm=s=>this.$i18n.tm(s),o.__setInstance(n,this.$i18n)},mounted(){},unmounted(){const n=kt();if(!n)throw Re(ke.UNEXPECTED_ERROR);const a=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,a.__disposer&&(a.__disposer(),delete a.__disposer,delete a.__extender),o.__deleteInstance(n),delete this.$i18n}}}function Dl(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[wl](t.pluralizationRules||e.pluralizationRules);const o=es(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(o).forEach(n=>e.mergeLocaleMessage(n,o[n])),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach(n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n])),t.numberFormats&&Object.keys(t.numberFormats).forEach(n=>e.mergeNumberFormat(n,t.numberFormats[n])),e}const gm=Ut("global-vue-i18n");function fm(e={},t){const o=__VUE_I18N_LEGACY_API__&&se(e.legacy)?e.legacy:__VUE_I18N_LEGACY_API__,n=se(e.globalInjection)?e.globalInjection:!0,a=__VUE_I18N_LEGACY_API__&&o?!!e.allowComposition:!0,s=new Map,[r,i]=hm(e,o),l=Ut("");function c(f){return s.get(f)||null}function u(f,y){s.set(f,y)}function g(f){s.delete(f)}{const f={get mode(){return __VUE_I18N_LEGACY_API__&&o?"legacy":"composition"},get allowComposition(){return a},async install(y,...E){if(y.__VUE_I18N_SYMBOL__=l,y.provide(y.__VUE_I18N_SYMBOL__,f),te(E[0])){const O=E[0];f.__composerExtend=O.__composerExtend,f.__vueI18nExtend=O.__vueI18nExtend}let L=null;!o&&n&&(L=Pm(y,f.global)),__VUE_I18N_FULL_INSTALL__&&pm(y,f,...E),__VUE_I18N_LEGACY_API__&&o&&y.mixin(dm(i,i.__composer,f));const N=y.unmount;y.unmount=()=>{L&&L(),f.dispose(),N()}},get global(){return i},dispose(){r.stop()},__instances:s,__getInstance:c,__setInstance:u,__deleteInstance:g};return f}}function ts(e={}){const t=kt();if(t==null)throw Re(ke.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Re(ke.NOT_INSTALLED);const o=$m(t),n=_m(o),a=Pl(t),s=mm(e,a);if(__VUE_I18N_LEGACY_API__&&o.mode==="legacy"&&!e.__useComponent){if(!o.allowComposition)throw Re(ke.NOT_AVAILABLE_IN_LEGACY_MODE);return wm(t,s,n,e)}if(s==="global")return Sl(n,e,a),n;if(s==="parent"){let l=bm(o,t,e.__useComponent);return l==null&&(l=n),l}const r=o;let i=r.__getInstance(t);if(i==null){const l=Ne({},e);"__i18n"in a&&(l.__i18n=a.__i18n),n&&(l.__root=n),i=ua(l),r.__composerExtend&&(i[ca]=r.__composerExtend(i)),vm(r,t,i),r.__setInstance(t,i)}return i}function hm(e,t,o){const n=us();{const a=__VUE_I18N_LEGACY_API__&&t?n.run(()=>pa(e)):n.run(()=>ua(e));if(a==null)throw Re(ke.UNEXPECTED_ERROR);return[n,a]}}function $m(e){{const t=st(e.isCE?gm:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Re(e.isCE?ke.NOT_INSTALLED_WITH_PROVIDE:ke.UNEXPECTED_ERROR);return t}}function mm(e,t){return qn(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function _m(e){return e.mode==="composition"?e.global:e.global.__composer}function bm(e,t,o=!1){let n=null;const a=t.root;let s=ym(t,o);for(;s!=null;){const r=e;if(e.mode==="composition")n=r.__getInstance(s);else if(__VUE_I18N_LEGACY_API__){const i=r.__getInstance(s);i!=null&&(n=i.__composer,o&&n&&!n[Ll]&&(n=null))}if(n!=null||a===s)break;s=s.parent}return n}function ym(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function vm(e,t,o){Cn(()=>{},t),Rn(()=>{const n=o;e.__deleteInstance(t);const a=n[ca];a&&(a(),delete n[ca])},t)}function wm(e,t,o,n={}){const a=t==="local",s=Xa(null);if(a&&e.proxy&&!(e.proxy.$options.i18n||e.proxy.$options.__i18n))throw Re(ke.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);const r=se(n.inheritLocale)?n.inheritLocale:!j(n.locale),i=He(!a||r?o.locale.value:j(n.locale)?n.locale:yo),l=He(!a||r?o.fallbackLocale.value:j(n.fallbackLocale)||_e(n.fallbackLocale)||te(n.fallbackLocale)||n.fallbackLocale===!1?n.fallbackLocale:i.value),c=He(es(i.value,n)),u=He(te(n.datetimeFormats)?n.datetimeFormats:{[i.value]:{}}),g=He(te(n.numberFormats)?n.numberFormats:{[i.value]:{}}),f=a?o.missingWarn:se(n.missingWarn)||Bt(n.missingWarn)?n.missingWarn:!0,y=a?o.fallbackWarn:se(n.fallbackWarn)||Bt(n.fallbackWarn)?n.fallbackWarn:!0,E=a?o.fallbackRoot:se(n.fallbackRoot)?n.fallbackRoot:!0,L=!!n.fallbackFormat,N=fe(n.missing)?n.missing:null,O=fe(n.postTranslation)?n.postTranslation:null,F=a?o.warnHtmlMessage:se(n.warnHtmlMessage)?n.warnHtmlMessage:!0,v=!!n.escapeParameter,b=a?o.modifiers:te(n.modifiers)?n.modifiers:{},S=n.pluralRules||a&&o.pluralRules;function _(){return[i.value,l.value,c.value,u.value,g.value]}const T=me({get:()=>s.value?s.value.locale.value:i.value,set:$=>{s.value&&(s.value.locale.value=$),i.value=$}}),x=me({get:()=>s.value?s.value.fallbackLocale.value:l.value,set:$=>{s.value&&(s.value.fallbackLocale.value=$),l.value=$}}),A=me(()=>s.value?s.value.messages.value:c.value),z=me(()=>u.value),X=me(()=>g.value);function W(){return s.value?s.value.getPostTranslationHandler():O}function ne($){s.value&&s.value.setPostTranslationHandler($)}function J(){return s.value?s.value.getMissingHandler():N}function ae($){s.value&&s.value.setMissingHandler($)}function Q($){return _(),$()}function H(...$){return s.value?Q(()=>Reflect.apply(s.value.t,null,[...$])):Q(()=>"")}function Z(...$){return s.value?Reflect.apply(s.value.rt,null,[...$]):""}function be(...$){return s.value?Q(()=>Reflect.apply(s.value.d,null,[...$])):Q(()=>"")}function Fe(...$){return s.value?Q(()=>Reflect.apply(s.value.n,null,[...$])):Q(()=>"")}function Le($){return s.value?s.value.tm($):{}}function xe($,k){return s.value?s.value.te($,k):!1}function Wt($){return s.value?s.value.getLocaleMessage($):{}}function Ht($,k){s.value&&(s.value.setLocaleMessage($,k),c.value[$]=k)}function oo($,k){s.value&&s.value.mergeLocaleMessage($,k)}function lt($){return s.value?s.value.getDateTimeFormat($):{}}function Nt($,k){s.value&&(s.value.setDateTimeFormat($,k),u.value[$]=k)}function It($,k){s.value&&s.value.mergeDateTimeFormat($,k)}function qt($){return s.value?s.value.getNumberFormat($):{}}function et($,k){s.value&&(s.value.setNumberFormat($,k),g.value[$]=k)}function So($,k){s.value&&s.value.mergeNumberFormat($,k)}const h={get id(){return s.value?s.value.id:-1},locale:T,fallbackLocale:x,messages:A,datetimeFormats:z,numberFormats:X,get inheritLocale(){return s.value?s.value.inheritLocale:r},set inheritLocale($){s.value&&(s.value.inheritLocale=$)},get availableLocales(){return s.value?s.value.availableLocales:Object.keys(c.value)},get modifiers(){return s.value?s.value.modifiers:b},get pluralRules(){return s.value?s.value.pluralRules:S},get isGlobal(){return s.value?s.value.isGlobal:!1},get missingWarn(){return s.value?s.value.missingWarn:f},set missingWarn($){s.value&&(s.value.missingWarn=$)},get fallbackWarn(){return s.value?s.value.fallbackWarn:y},set fallbackWarn($){s.value&&(s.value.missingWarn=$)},get fallbackRoot(){return s.value?s.value.fallbackRoot:E},set fallbackRoot($){s.value&&(s.value.fallbackRoot=$)},get fallbackFormat(){return s.value?s.value.fallbackFormat:L},set fallbackFormat($){s.value&&(s.value.fallbackFormat=$)},get warnHtmlMessage(){return s.value?s.value.warnHtmlMessage:F},set warnHtmlMessage($){s.value&&(s.value.warnHtmlMessage=$)},get escapeParameter(){return s.value?s.value.escapeParameter:v},set escapeParameter($){s.value&&(s.value.escapeParameter=$)},t:H,getPostTranslationHandler:W,setPostTranslationHandler:ne,getMissingHandler:J,setMissingHandler:ae,rt:Z,d:be,n:Fe,tm:Le,te:xe,getLocaleMessage:Wt,setLocaleMessage:Ht,mergeLocaleMessage:oo,getDateTimeFormat:lt,setDateTimeFormat:Nt,mergeDateTimeFormat:It,getNumberFormat:qt,setNumberFormat:et,mergeNumberFormat:So};function m($){$.locale.value=i.value,$.fallbackLocale.value=l.value,Object.keys(c.value).forEach(k=>{$.mergeLocaleMessage(k,c.value[k])}),Object.keys(u.value).forEach(k=>{$.mergeDateTimeFormat(k,u.value[k])}),Object.keys(g.value).forEach(k=>{$.mergeNumberFormat(k,g.value[k])}),$.escapeParameter=v,$.fallbackFormat=L,$.fallbackRoot=E,$.fallbackWarn=y,$.missingWarn=f,$.warnHtmlMessage=F}return pr(()=>{if(e.proxy==null||e.proxy.$i18n==null)throw Re(ke.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);const $=s.value=e.proxy.$i18n.__composer;t==="global"?(i.value=$.locale.value,l.value=$.fallbackLocale.value,c.value=$.messages.value,u.value=$.datetimeFormats.value,g.value=$.numberFormats.value):a&&m($)}),h}const Lm=["locale","fallbackLocale","availableLocales"],Gl=["t","rt","d","n","tm","te"];function Pm(e,t){const o=Object.create(null);return Lm.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s)throw Re(ke.UNEXPECTED_ERROR);const r=ve(s.value)?{get(){return s.value.value},set(i){s.value.value=i}}:{get(){return s.get&&s.get()}};Object.defineProperty(o,a,r)}),e.config.globalProperties.$i18n=o,Gl.forEach(a=>{const s=Object.getOwnPropertyDescriptor(t,a);if(!s||!s.value)throw Re(ke.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${a}`,s)}),()=>{delete e.config.globalProperties.$i18n,Gl.forEach(a=>{delete e.config.globalProperties[`$${a}`]})}}if(om(),__INTLIFY_JIT_COMPILATION__?tl(Y$):tl(K$),U$(y$),B$(Yi),__INTLIFY_PROD_DEVTOOLS__){const e=Rt();e.__INTLIFY__=!0,k$(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const Sm=Object.assign({"./locales/ar/allPeopleGroups.json":Ap,"./locales/ar/aria.json":xp,"./locales/ar/buttons.json":Ep,"./locales/ar/connectivity.json":kp,"./locales/ar/controls.json":Cp,"./locales/ar/dashboard.json":Rp,"./locales/ar/detail.json":Tp,"./locales/ar/gospel.json":Op,"./locales/ar/grid.json":Np,"./locales/ar/legend.json":Ip,"./locales/ar/messages.json":Mp,"./locales/ar/options.json":Fp,"./locales/ar/popup.json":Dp,"./locales/ar/prayerLaps.json":Gp,"./locales/ar/regions.json":Up,"./locales/ar/search.json":Bp,"./locales/ar/studio.json":Vp,"./locales/ar/tabs.json":jp,"./locales/ar/vision.json":zp,"./locales/de/allPeopleGroups.json":Wp,"./locales/de/aria.json":Hp,"./locales/de/buttons.json":qp,"./locales/de/connectivity.json":Xp,"./locales/de/controls.json":Kp,"./locales/de/dashboard.json":Yp,"./locales/de/detail.json":Zp,"./locales/de/gospel.json":Jp,"./locales/de/grid.json":Qp,"./locales/de/legend.json":ed,"./locales/de/messages.json":td,"./locales/de/options.json":od,"./locales/de/popup.json":nd,"./locales/de/prayerLaps.json":sd,"./locales/de/regions.json":ad,"./locales/de/search.json":rd,"./locales/de/studio.json":id,"./locales/de/tabs.json":ld,"./locales/de/vision.json":cd,"./locales/en/allPeopleGroups.json":ud,"./locales/en/aria.json":pd,"./locales/en/buttons.json":dd,"./locales/en/connectivity.json":gd,"./locales/en/controls.json":fd,"./locales/en/dashboard.json":hd,"./locales/en/detail.json":$d,"./locales/en/gospel.json":md,"./locales/en/grid.json":_d,"./locales/en/legend.json":bd,"./locales/en/messages.json":yd,"./locales/en/options.json":vd,"./locales/en/popup.json":wd,"./locales/en/prayerLaps.json":Ld,"./locales/en/regions.json":Pd,"./locales/en/search.json":Sd,"./locales/en/studio.json":Ad,"./locales/en/tabs.json":xd,"./locales/en/vision.json":Ed,"./locales/es/allPeopleGroups.json":kd,"./locales/es/aria.json":Cd,"./locales/es/buttons.json":Rd,"./locales/es/connectivity.json":Td,"./locales/es/controls.json":Od,"./locales/es/dashboard.json":Nd,"./locales/es/detail.json":Id,"./locales/es/gospel.json":Md,"./locales/es/grid.json":Fd,"./locales/es/legend.json":Dd,"./locales/es/messages.json":Gd,"./locales/es/options.json":Ud,"./locales/es/popup.json":Bd,"./locales/es/prayerLaps.json":Vd,"./locales/es/regions.json":jd,"./locales/es/search.json":zd,"./locales/es/studio.json":Wd,"./locales/es/tabs.json":Hd,"./locales/es/vision.json":qd,"./locales/fr/allPeopleGroups.json":Xd,"./locales/fr/aria.json":Kd,"./locales/fr/buttons.json":Yd,"./locales/fr/connectivity.json":Zd,"./locales/fr/controls.json":Jd,"./locales/fr/dashboard.json":Qd,"./locales/fr/detail.json":eg,"./locales/fr/gospel.json":tg,"./locales/fr/grid.json":og,"./locales/fr/legend.json":ng,"./locales/fr/messages.json":sg,"./locales/fr/options.json":ag,"./locales/fr/popup.json":rg,"./locales/fr/prayerLaps.json":ig,"./locales/fr/regions.json":lg,"./locales/fr/search.json":cg,"./locales/fr/studio.json":ug,"./locales/fr/tabs.json":pg,"./locales/fr/vision.json":dg,"./locales/hi/allPeopleGroups.json":gg,"./locales/hi/aria.json":fg,"./locales/hi/buttons.json":hg,"./locales/hi/connectivity.json":$g,"./locales/hi/controls.json":mg,"./locales/hi/dashboard.json":_g,"./locales/hi/detail.json":bg,"./locales/hi/gospel.json":yg,"./locales/hi/grid.json":vg,"./locales/hi/legend.json":wg,"./locales/hi/messages.json":Lg,"./locales/hi/options.json":Pg,"./locales/hi/popup.json":Sg,"./locales/hi/prayerLaps.json":Ag,"./locales/hi/regions.json":xg,"./locales/hi/search.json":Eg,"./locales/hi/studio.json":kg,"./locales/hi/tabs.json":Cg,"./locales/hi/vision.json":Rg,"./locales/it/allPeopleGroups.json":Tg,"./locales/it/aria.json":Og,"./locales/it/buttons.json":Ng,"./locales/it/connectivity.json":Ig,"./locales/it/controls.json":Mg,"./locales/it/dashboard.json":Fg,"./locales/it/detail.json":Dg,"./locales/it/gospel.json":Gg,"./locales/it/grid.json":Ug,"./locales/it/legend.json":Bg,"./locales/it/messages.json":Vg,"./locales/it/options.json":jg,"./locales/it/popup.json":zg,"./locales/it/prayerLaps.json":Wg,"./locales/it/regions.json":Hg,"./locales/it/search.json":qg,"./locales/it/studio.json":Xg,"./locales/it/tabs.json":Kg,"./locales/it/vision.json":Yg,"./locales/pt/allPeopleGroups.json":Zg,"./locales/pt/aria.json":Jg,"./locales/pt/buttons.json":Qg,"./locales/pt/connectivity.json":ef,"./locales/pt/controls.json":tf,"./locales/pt/dashboard.json":of,"./locales/pt/detail.json":nf,"./locales/pt/gospel.json":sf,"./locales/pt/grid.json":af,"./locales/pt/legend.json":rf,"./locales/pt/messages.json":lf,"./locales/pt/options.json":cf,"./locales/pt/popup.json":uf,"./locales/pt/prayerLaps.json":pf,"./locales/pt/regions.json":df,"./locales/pt/search.json":gf,"./locales/pt/studio.json":ff,"./locales/pt/tabs.json":hf,"./locales/pt/vision.json":$f,"./locales/ro/allPeopleGroups.json":mf,"./locales/ro/aria.json":_f,"./locales/ro/buttons.json":bf,"./locales/ro/connectivity.json":yf,"./locales/ro/controls.json":vf,"./locales/ro/dashboard.json":wf,"./locales/ro/detail.json":Lf,"./locales/ro/gospel.json":Pf,"./locales/ro/grid.json":Sf,"./locales/ro/legend.json":Af,"./locales/ro/messages.json":xf,"./locales/ro/options.json":Ef,"./locales/ro/popup.json":kf,"./locales/ro/prayerLaps.json":Cf,"./locales/ro/regions.json":Rf,"./locales/ro/search.json":Tf,"./locales/ro/studio.json":Of,"./locales/ro/tabs.json":Nf,"./locales/ro/vision.json":If,"./locales/ru/allPeopleGroups.json":Mf,"./locales/ru/aria.json":Ff,"./locales/ru/buttons.json":Df,"./locales/ru/connectivity.json":Gf,"./locales/ru/controls.json":Uf,"./locales/ru/dashboard.json":Bf,"./locales/ru/detail.json":Vf,"./locales/ru/gospel.json":jf,"./locales/ru/grid.json":zf,"./locales/ru/legend.json":Wf,"./locales/ru/messages.json":Hf,"./locales/ru/options.json":qf,"./locales/ru/popup.json":Xf,"./locales/ru/prayerLaps.json":Kf,"./locales/ru/regions.json":Yf,"./locales/ru/search.json":Zf,"./locales/ru/studio.json":Jf,"./locales/ru/tabs.json":Qf,"./locales/ru/vision.json":eh,"./locales/zh/allPeopleGroups.json":th,"./locales/zh/aria.json":oh,"./locales/zh/buttons.json":nh,"./locales/zh/connectivity.json":sh,"./locales/zh/controls.json":ah,"./locales/zh/dashboard.json":rh,"./locales/zh/detail.json":ih,"./locales/zh/gospel.json":lh,"./locales/zh/grid.json":ch,"./locales/zh/legend.json":uh,"./locales/zh/messages.json":ph,"./locales/zh/options.json":dh,"./locales/zh/popup.json":gh,"./locales/zh/prayerLaps.json":fh,"./locales/zh/regions.json":hh,"./locales/zh/search.json":$h,"./locales/zh/studio.json":mh,"./locales/zh/tabs.json":_h,"./locales/zh/vision.json":bh}),wo={};for(const[e,t]of Object.entries(Sm)){const o=e.match(/\.\/locales\/([^/]+)\/([^/]+)\.json$/);if(!o)continue;const[,n,a]=o;wo[n]??(wo[n]={}),wo[n][a]=t}wo.en;const ga=["ar","de","en","es","fr","hi","it","pt","ro","ru","zh"],Am=new Set(["ar"]);function xm(){var n;const e=(()=>{try{const a=new URLSearchParams(window.location.search);return(a.get("lang")||a.get("locale")||"").split("-")[0].toLowerCase()}catch{return""}})();if(ga.includes(e))return e;const o=(((n=document==null?void 0:document.documentElement)==null?void 0:n.lang)||"").split("-")[0].toLowerCase();return ga.includes(o)?o:"en"}function Em(){const e=xm();try{Am.has(e)&&(document!=null&&document.documentElement)&&(document.documentElement.dir="rtl")}catch{}return fm({legacy:!1,globalInjection:!0,locale:e,fallbackLocale:"en",messages:wo,missingWarn:!1,fallbackWarn:!1})}function km(e,t){const o=t;Cn(()=>{var i;const n=kt();if(!n)return;const a=(i=n.proxy)==null?void 0:i.$el;if(!a)return;const s=a.getRootNode();if(!(s instanceof ShadowRoot)||s.querySelector(`style[data-shadow-styles="${o}"]`))return;const r=document.createElement("style");r.setAttribute("data-shadow-styles",o),r.textContent=e,s.appendChild(r)})}const Cm={class:"pin-hint-pill"},Rm={__name:"PinHint",setup(e){const t={"messages.pinHint.tapDot":"Tap a dot to see who still needs prayer"};let o=x=>t[x]||x,n=()=>!1;try{const x=ts();o=x.t,n=x.te}catch{}const a=st("uiStore",null),s=st("profileConfig",null),r=me(()=>(a==null?void 0:a.theme)==="dark"),i=me(()=>{var z;const x=(z=s==null?void 0:s.value)==null?void 0:z.pinHintLabel;if(x)return x;const A="Tap a coloured dot — someone still needs prayer";try{return n("messages.pinHint.tapDot")?o("messages.pinHint.tapDot"):A}catch{return A}}),l=He(!1),c=He(null);let u=null,g=null,f=null,y=null,E=null,L=null,N=[],O=null,F=null;function v(){l.value=!1}function b(x,A){var X;let z=x==null?void 0:x.parentElement;for(let W=0;z&&W<12;W++,z=z.parentElement){if(z===A||(X=z.classList)!=null&&X.contains("profile-loader"))return null;let ne="";try{ne=getComputedStyle(z).position}catch{}if(ne&&ne!=="static"){const J=z.getBoundingClientRect();if(J.height>=120&&J.width>=160)return z}}return null}function S(x){var z;const A=(z=y==null?void 0:y.querySelector)==null?void 0:z.call(y,".legend-mobile-sheet");if(!A)return 1/0;if(E&&L!==A){try{E.disconnect()}catch{}E=null}if(!E&&typeof ResizeObserver<"u")try{E=new ResizeObserver(()=>_()),E.observe(A),L=A}catch{E=null}try{const X=A.getBoundingClientRect();return!(X.height>16)||!(X.width>16)||x.right<=X.left||X.right<=x.left?1/0:X.top}catch{return 1/0}}function _(){const x=c.value;if(x)try{x.style.removeProperty("--pin-hint-lift");const A=x.getBoundingClientRect();if(!A.height)return;const z=Math.min(window.innerHeight,S(A)),X=Math.round(A.bottom-z);X>0&&x.style.setProperty("--pin-hint-lift",X+8+"px")}catch{}}function T(x){const A=c.value;if(!A||!(x!=null&&x.querySelector))return;let z=0;try{const W=x.querySelector(".mapboxgl-ctrl-bottom-right .mapboxgl-ctrl-attrib, .mapboxgl-ctrl-bottom-right .doxa-attribution, .doxa-attribution");if(W){const ne=W.getBoundingClientRect(),J=A.parentElement,ae=J?J.getBoundingClientRect():null;if(z=ae?Math.max(ne.height||0,ae.bottom-ne.top):ne.height||0,F!==W&&typeof ResizeObserver<"u"){if(f)try{f.disconnect()}catch{}F=W,f=new ResizeObserver(()=>T(x)),f.observe(W)}}}catch{}const X=Math.min(Math.max(Math.ceil(z)||20,20),72);A.style.setProperty("--pin-hint-attrib-clear",X+"px"),_()}return Cn(()=>{var X,W,ne;const x=kt(),A=(ne=(W=(X=x==null?void 0:x.proxy)==null?void 0:X.$el)==null?void 0:W.getRootNode)==null?void 0:ne.call(W);if(!A||typeof A.querySelector!="function")return;y=A;let z=0;u=setInterval(()=>{z++;const J=A.querySelector("canvas");J?(clearInterval(u),u=null,l.value=!0,Ln(()=>{const ae=b(J,A),Q=c.value;if(ae&&Q&&Q.parentElement!==ae)try{ae.appendChild(Q),g=ae}catch{}T(A),_(),N.push(setTimeout(_,1200),setTimeout(_,3e3),setTimeout(_,6e3));try{const H=c.value&&c.value.offsetParent||null;if(H&&typeof ResizeObserver<"u"){if(O)try{O.disconnect()}catch{}O=new ResizeObserver(()=>_()),O.observe(H)}}catch{}})):z>40&&(clearInterval(u),u=null)},300)}),Es(()=>{var x;if(u&&clearInterval(u),f){try{f.disconnect()}catch{}f=null}if(F=null,O){try{O.disconnect()}catch{}O=null}if(E){try{E.disconnect()}catch{}E=null}L=null;for(const A of N)clearTimeout(A);if(N=[],y=null,g&&((x=c.value)==null?void 0:x.parentElement)===g)try{g.removeChild(c.value)}catch{}g=null}),km(`
|
||
.pin-hint { position: absolute; left: 50%;
|
||
bottom: calc(var(--pin-hint-attrib-clear, 20px) + 12px + var(--pin-hint-lift, 0px)); transform: translateX(-50%);
|
||
z-index: 2147482000; pointer-events: none;
|
||
max-width: calc(100% - 24px); box-sizing: border-box;
|
||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||
animation: pinhint-in .5s ease both; }
|
||
.pin-hint-pill { pointer-events: auto; display: inline-flex; align-items: center; gap: 9px;
|
||
padding: 9px 14px 9px 11px; border-radius: 999px;
|
||
background: rgba(23, 29, 38, .92); color: #fff; font-size: 13.5px; font-weight: 600;
|
||
letter-spacing: .01em; box-shadow: 0 4px 18px rgba(0,0,0,.30);
|
||
animation: pinhint-bob 2.6s ease-in-out 1s infinite; }
|
||
.pin-hint-dot { position: relative; width: 12px; height: 12px; flex: none; }
|
||
.pin-hint-dot::before { content: ''; position: absolute; inset: 0; border-radius: 50%;
|
||
background: #e05252; box-shadow: 0 0 0 2px rgba(224,82,82,.35); }
|
||
.pin-hint-dot::after { content: ''; position: absolute; inset: -5px; border-radius: 50%;
|
||
border: 2px solid rgba(224,82,82,.55); animation: pinhint-pulse 1.8s ease-out infinite; }
|
||
.pin-hint-x { pointer-events: auto; border: none; background: none; color: #aeb7c2;
|
||
font-size: 16px; line-height: 1; cursor: pointer; padding: 0 0 0 2px; }
|
||
.pin-hint-x:hover { color: #fff; }
|
||
@media (pointer:coarse) { .pin-hint-x { min-width: 24px; min-height: 24px;
|
||
display: inline-flex; align-items: center; justify-content: center; padding: 0; } }
|
||
.pin-hint.dark .pin-hint-pill { background: rgba(240, 243, 247, .95); color: #1b212b; }
|
||
.pin-hint.dark .pin-hint-x { color: #5a6470; }
|
||
.pin-hint.dark .pin-hint-x:hover { color: #1b212b; }
|
||
@keyframes pinhint-pulse { 0% { transform: scale(.6); opacity: .9 } 70% { transform: scale(1.5); opacity: 0 } 100% { opacity: 0 } }
|
||
@keyframes pinhint-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-5px) } }
|
||
@keyframes pinhint-in { from { opacity: 0; transform: translateX(-50%) translateY(10px) } to { opacity: 1; transform: translateX(-50%) translateY(0) } }
|
||
@media (prefers-reduced-motion: reduce) {
|
||
.pin-hint, .pin-hint-pill, .pin-hint-dot::after { animation: none !important; }
|
||
}
|
||
`,"pin-hint"),(x,A)=>l.value?(ue(),we("div",{key:0,ref_key:"hintEl",ref:c,class:ao(["pin-hint",{dark:r.value}]),role:"status"},[G("span",Cm,[A[0]||(A[0]=G("span",{class:"pin-hint-dot","aria-hidden":"true"},null,-1)),Te(" "+ye(i.value)+" ",1),G("button",{class:"pin-hint-x",type:"button","aria-label":"Dismiss hint",onClick:v},"×")])],2)):Ue("",!0)}};let Tm=0;const Om=Wn("ui",{state:()=>({_storeInstanceId:++Tm,theme:"light",colorScheme:"default",reducedMotion:!1,highContrast:!1,activeTab:"doxa-regions",sidebarCollapsed:!1,mobileMenuOpen:!1,legendState:"collapsed",_customLegendHeight:null,searchMode:!1,hamburgerMenuOpen:!1,legendMode:"prayer",prayerFilter:null,engagementFilter:null,adoptionFilter:null,religionFilter:null,selectedPeopleGroup:null,breakpoint:"desktop",windowSize:{width:window.innerWidth,height:window.innerHeight},toasts:[],nextToastId:1,toastDuration:5e3,openModals:[],modalData:new Map,isGlobalLoading:!1,globalLoadingMessage:"Loading...",loadingStates:new Map,interactionHistory:[],maxHistoryLength:20,keyboardShortcutsEnabled:!0,screenReaderAnnouncement:"",focusTrapActive:!1,debugMode:!1,showPerformanceOverlay:!1}),getters:{isDarkTheme:e=>!1,isMobile:e=>e.breakpoint==="mobile",isTablet:e=>e.breakpoint==="tablet",isDesktop:e=>e.breakpoint==="desktop"||e.breakpoint==="wide",legendHeight:e=>e._customLegendHeight?e._customLegendHeight:e.legendState==="collapsed"?"48px":e.legendState==="open"?"30%":e.legendState==="fullyOpen"?"calc(100% - 80px)":"48px",caretRotation:e=>e.legendState==="collapsed"?0:90,showPullTab:e=>e.legendState==="open"||e.legendState==="fullyOpen",getToastsByType:e=>t=>e.toasts.filter(o=>o.type===t),hasOpenModal:e=>e.openModals.length>0,topModal:e=>e.openModals.length===0?null:e.openModals[e.openModals.length-1],isModalOpen:e=>t=>e.openModals.includes(t),isAnyLoading:e=>e.isGlobalLoading||e.loadingStates.size>0,isLoading:e=>t=>e.loadingStates.get(t)||!1},actions:{setTheme(e){if(!["light","dark","auto"].includes(e))return;e="light",this.theme=e;const o=this.isDarkTheme;document.documentElement.setAttribute("data-theme",o?"dark":"light");try{localStorage.setItem("theme",e)}catch{}},toggleTheme(){const e=this.theme==="light"?"dark":"light";this.setTheme(e)},setColorScheme(e){this.colorScheme=e,document.documentElement.setAttribute("data-color-scheme",e)},toggleReducedMotion(){this.reducedMotion=!this.reducedMotion,document.documentElement.setAttribute("data-reduced-motion",this.reducedMotion)},toggleHighContrast(){this.highContrast=!this.highContrast,document.documentElement.setAttribute("data-high-contrast",this.highContrast)},setActiveTab(e){this.activeTab=e,this.addToHistory({type:"tab-change",tabId:e,timestamp:Date.now()})},toggleSidebar(){this.sidebarCollapsed=!this.sidebarCollapsed},openMobileMenu(){this.mobileMenuOpen=!0},closeMobileMenu(){this.mobileMenuOpen=!1},setLegendMode(e){["prayer","detail"].includes(e)&&(this.legendMode=e)},setPrayerFilter(e){[null,"noPrayer","hasPrayer","fullPrayer"].includes(e)&&(this.prayerFilter=e)},setEngagementFilter(e){[null,"notEngaged","hasEngagement"].includes(e)&&(this.engagementFilter=e)},setAdoptionFilter(e){[null,"notAdopted","hasAdoption"].includes(e)&&(this.adoptionFilter=e)},setReligionFilter(e){[null,"C","M","H","B","E","J","S","N","O","U"].includes(e)&&(this.religionFilter=e)},selectPeopleGroup(e){this.selectedPeopleGroup=e,e?(this._legendStateBeforeDetail=this.legendState,this.legendState="open",this._customLegendHeight=null,this.setLegendMode("detail")):(this.legendState=this._legendStateBeforeDetail||"open",this._customLegendHeight=null,this.setLegendMode("prayer"))},setLegendState(e){["collapsed","open","fullyOpen"].includes(e)&&(this.legendState=e)},toggleSearchMode(){this.searchMode=!this.searchMode},setSearchMode(e){this.searchMode=e},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},updateBreakpoint(e){let t;e<768?t="mobile":e<1024?t="tablet":e<1920?t="desktop":t="wide",t!==this.breakpoint&&(this.breakpoint=t)},updateWindowSize(e,t){this.windowSize.width=e,this.windowSize.height=t,this.updateBreakpoint(e)},showToast(e){const{message:t,type:o="info",duration:n=this.toastDuration,action:a=null,persistent:s=!1}=e,r={id:this.nextToastId++,message:t,type:o,duration:n,action:a,persistent:s,createdAt:Date.now()};return this.toasts.push(r),!s&&n>0&&setTimeout(()=>{this.removeToast(r.id)},n),r.id},showSuccess(e,t={}){return this.showToast({message:e,type:"success",...t})},showError(e,t={}){return this.showToast({message:e,type:"error",duration:7e3,...t})},showWarning(e,t={}){return this.showToast({message:e,type:"warning",...t})},showInfo(e,t={}){return this.showToast({message:e,type:"info",...t})},removeToast(e){const t=this.toasts.findIndex(o=>o.id===e);t!==-1&&this.toasts.splice(t,1)},clearAllToasts(){this.toasts=[]},openModal(e,t={}){this.openModals.includes(e)||(this.openModals.push(e),this.modalData.set(e,t),this.focusTrapActive=!0)},closeModal(e=null){if(e){const t=this.openModals.indexOf(e);t!==-1&&(this.openModals.splice(t,1),this.modalData.delete(e))}else{const t=this.openModals.pop();t&&this.modalData.delete(t)}this.openModals.length===0&&(this.focusTrapActive=!1)},closeAllModals(){this.openModals=[],this.modalData.clear(),this.focusTrapActive=!1},getModalData(e){return this.modalData.get(e)},showGlobalLoading(e="Loading..."){this.isGlobalLoading=!0,this.globalLoadingMessage=e},hideGlobalLoading(){this.isGlobalLoading=!1},setLoading(e,t=!0){t?this.loadingStates.set(e,!0):this.loadingStates.delete(e)},addToHistory(e){this.interactionHistory.push(e),this.interactionHistory.length>this.maxHistoryLength&&this.interactionHistory.shift()},clearHistory(){this.interactionHistory=[]},announce(e,t="polite"){this.screenReaderAnnouncement=e,setTimeout(()=>{this.screenReaderAnnouncement===e&&(this.screenReaderAnnouncement="")},1e3)},toggleKeyboardShortcuts(){this.keyboardShortcutsEnabled=!this.keyboardShortcutsEnabled},toggleDebugMode(){this.debugMode=!this.debugMode},togglePerformanceOverlay(){this.showPerformanceOverlay=!this.showPerformanceOverlay},toggleLegend(){this.legendState==="fullyOpen"?this.legendState="open":this.legendState==="open"?this.legendState="collapsed":this.legendState="open",this._customLegendHeight=null},openLegend(){this.legendState="open",this._customLegendHeight=null},fullyOpenLegend(){this.legendState="fullyOpen",this._customLegendHeight=null},collapseLegend(){this.legendState="collapsed",this._customLegendHeight=null},setLegendHeight(e){this._customLegendHeight=e},handleLegendItemClick(){this.legendState==="fullyOpen"&&(this.legendState="open")},enableSearchMode(){this.searchMode=!0},disableSearchMode(){this.searchMode=!1},toggleHamburgerMenu(){this.hamburgerMenuOpen=!this.hamburgerMenuOpen},openHamburgerMenu(){this.hamburgerMenuOpen=!0},closeHamburgerMenu(){this.hamburgerMenuOpen=!1},init(){let e=null;try{e=localStorage.getItem("theme")}catch{}e&&this.setTheme(e),new ResizeObserver(o=>{for(const n of o)this.updateWindowSize(n.contentRect.width,n.contentRect.height)}).observe(document.documentElement),window.matchMedia&&(window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",o=>{this.theme==="auto"&&document.documentElement.setAttribute("data-theme",o.matches?"dark":"light")}),window.matchMedia("(prefers-reduced-motion: reduce)").addEventListener("change",o=>{this.reducedMotion=o.matches,document.documentElement.setAttribute("data-reduced-motion",o.matches)}))}}}),Nm=Wn("map",{state:()=>({maps:{},activeMapId:null,selectedRegion:null,selectedFamily:null,selectedAffinityBlock:null,selectedLanguage:null,selectedDialect:null,activeLegendTab:"family",selectedResource:null,selectedPeopleGroup:null,selectedPinIds:[],globalFilters:{},searchQuery:"",autoFly:{isActive:!1,speed:1,interval:5e3,currentIndex:0,items:[],timerId:null},guidedTour:{isActive:!1,currentStep:0,steps:[]},showClusters:!1,clusterMode:"region",clusterFilterProperty:null,clusterFilterValue:null,flySpeed:"normal",fullscreenMapId:null,preferences:{theme:"light",defaultMapStyle:"streets",enableAnimations:!0,autoSavePreferences:!0}}),getters:{getMapById:e=>t=>e.maps[t],activeMap:e=>e.activeMapId?e.maps[e.activeMapId]:null,hasMap:e=>t=>t in e.maps,allMapIds:e=>Object.keys(e.maps),hasSelection:e=>!!(e.selectedRegion||e.selectedFamily||e.selectedAffinityBlock||e.selectedPeopleGroup),isAutoFlying:e=>e.autoFly.isActive,isGuidedTourActive:e=>e.guidedTour.isActive,isMapFullscreen:e=>t=>e.fullscreenMapId===t},actions:{registerMap(e,t,o={}){let n=1.5;o.zoom!==void 0?n=o.zoom:t&&typeof t.getZoom=="function"&&(n=t.getZoom());let a=[0,0];if(o.center)a=o.center;else if(t&&typeof t.getCenter=="function"){const s=t.getCenter();s&&(a=[s.lng,s.lat])}this.maps[e]={instance:t,config:o,isReady:!1,zoom:n,center:a,registeredAt:Date.now()},this.activeMapId||(this.activeMapId=e)},setMapReady(e){const t=this.maps[e];t&&(t.isReady=!0)},updateMapState(e,t){const o=this.maps[e];o&&Object.assign(o,t)},unregisterMap(e){if(delete this.maps[e],this.activeMapId===e){const t=this.allMapIds;this.activeMapId=t.length>0?t[0]:null}},setActiveMap(e){e in this.maps&&(this.activeMapId=e)},selectRegion(e){this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedRegion=e},selectFamily(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedFamily=e},setActiveLegendTab(e){this.activeLegendTab=e},selectLanguage(e){this.selectedRegion=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedFamily=null,this.selectedDialect=null,this.selectedLanguage=e},selectDialect(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedDialect=e},selectAffinityBlock(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedPeopleGroup=null,this.selectedAffinityBlock=e},selectPeopleGroup(e){this.selectedPeopleGroup=e},selectResource(e){this.selectedRegion=null,this.selectedFamily=null,this.selectedAffinityBlock=null,this.selectedPeopleGroup=null,this.selectedResource===e?this.selectedResource=null:this.selectedResource=e},clearSelections(){this.selectedRegion=null,this.selectedFamily=null,this.selectedLanguage=null,this.selectedDialect=null,this.selectedAffinityBlock=null,this.selectedResource=null,this.selectedPeopleGroup=null,this.selectedPinIds=[],this.showClusters=!1,this.clusterMode="region"},setSelectedPinIds(e){this.selectedPinIds=e||[]},setFilter(e,t){this.globalFilters[e]=t},removeFilter(e){delete this.globalFilters[e]},clearFilters(){this.globalFilters={},this.searchQuery=""},setSearchQuery(e){this.searchQuery=e},startAutoFly(e,t=1){this.stopAutoFly(),this.autoFly.isActive=!0,this.autoFly.speed=t,this.autoFly.items=e,this.autoFly.currentIndex=0},stopAutoFly(){this.autoFly.timerId&&(clearInterval(this.autoFly.timerId),this.autoFly.timerId=null),this.autoFly.isActive=!1,this.autoFly.currentIndex=0},setAutoFlySpeed(e){this.autoFly.speed=Math.max(.5,Math.min(2,e))},nextAutoFlyItem(){if(!this.autoFly.isActive||this.autoFly.items.length===0)return;this.autoFly.currentIndex=(this.autoFly.currentIndex+1)%this.autoFly.items.length;const e=this.autoFly.items[this.autoFly.currentIndex];e.type==="region"?this.selectRegion(e):e.type==="family"&&this.selectFamily(e)},toggleClusters(e){typeof e=="boolean"?this.showClusters=e:this.showClusters=!this.showClusters},setClusterMode(e){["region","language-family","affinity-block","mst","resource"].includes(e)&&(this.clusterMode=e)},setClusterFilter(e,t){this.clusterFilterProperty=e||null,this.clusterFilterValue=t||null},clearClusterFilter(){this.clusterFilterProperty=null,this.clusterFilterValue=null},setFlySpeed(e){["slow","normal","fast"].includes(e)&&(this.flySpeed=e)},setSelectedFamily(e){this.selectFamily(e)},clearSelectedFamily(){this.selectFamily(null)},setSelectedRegion(e){this.selectRegion(e)},clearSelectedRegion(){this.selectRegion(null)},clearSelectedResource(){this.selectResource(null)},clearSelectedLanguage(){this.selectLanguage(null)},clearSelectedDialect(){this.selectDialect(null)},toggleFullscreen(e){this.fullscreenMapId===e?this.fullscreenMapId=null:this.fullscreenMapId=e},loadPreferences(){try{const e=localStorage.getItem("mapUserPreferences");if(e){const t=JSON.parse(e);this.preferences={...this.preferences,...t}}}catch(e){console.error("[mapStore] Failed to load preferences:",e)}},savePreferences(){try{localStorage.setItem("mapUserPreferences",JSON.stringify(this.preferences))}catch(e){console.error("[mapStore] Failed to save preferences:",e)}},setPreference(e,t){this.preferences[e]=t,this.preferences.autoSavePreferences&&this.savePreferences()}}}),Im=Wn("data",{state:()=>({sources:{},loadingStates:{}}),actions:{async load(e,t){if(!this.sources[e]){this.loadingStates[e]={isLoading:!0,error:null};try{const o=await t();this.sources[e]=Oo({features:o,timestamp:Date.now()}),this.loadingStates[e]={isLoading:!1,error:null}}catch(o){console.error(`[dataStore] Failed to load source "${e}":`,o),this.loadingStates[e]={isLoading:!1,error:o}}}},clearSource(e){delete this.sources[e],delete this.loadingStates[e]},cacheSourceData(e,t){this.sources[e]=Oo({features:t.normalizedData||[],timestamp:t.timestamp||Date.now()})},hasSourceData(e){return!!this.sources[e]},getSourceData(e){return this.sources[e]?{normalizedData:this.sources[e].features}:null}},getters:{getData:e=>t=>{var o;return((o=e.sources[t])==null?void 0:o.features)??null},isLoading:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.isLoading)??!1},getError:e=>t=>{var o;return((o=e.loadingStates[t])==null?void 0:o.error)??null}}}),Mm={activeSource:"pray-tools"},Fm=".profile-loader[data-v-ba19fc13]{border-radius:var(--map-radius-corners, var(--map-radius, 0px));width:100%;height:100%;min-height:var(--profile-min-h, 100dvh);position:relative}.profile-error[data-v-ba19fc13]{padding:1rem;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;font-family:monospace;font-size:13px}",Lo=(e,t)=>{const o=e.__vccOpts||e;for(const[n,a]of t)o[n]=a;return o},Dm={class:"profile-loader"},Gm={key:0,class:"profile-error"},Um={key:1,class:"profile-error"},Bm=Lo({__name:"ProfileLoader",props:{profileConfig:{type:String,default:""}},setup(e){var S;const o=e,n=st("profileConfig",null),a=me(()=>{var T;if(!o.profileConfig)return null;let _;try{_=JSON.parse(o.profileConfig)}catch{return console.error("[ProfileLoader] Invalid profile-config JSON:",o.profileConfig),null}if(_&&_.assetsBase===void 0){const x=(T=n==null?void 0:n.value)==null?void 0:T.assetsBase;typeof x=="string"&&x&&(_.assetsBase=x)}return _}),s=me(()=>{var _;return((_=a.value)==null?void 0:_.profile)||null}),r=Pp(),i=me(()=>{var T;const _=(T=a.value)==null?void 0:T.tk;return typeof _=="string"&&_?_:r.value||""});Dt(()=>{var _;return(_=a.value)==null?void 0:_.tk},_=>{typeof _=="string"&&_&&Pi(_)},{immediate:!0});const l=me(()=>{var _;return((_=a.value)==null?void 0:_.dataSource)||Mm.activeSource}),c=me(()=>{var _;return((_=a.value)==null?void 0:_.colorSet)||"default"}),u=me(()=>!1),g=me(()=>{var _;return((_=a.value)==null?void 0:_.pinHint)!==!1}),f=me(()=>{var T,x;const _=(((T=a.value)==null?void 0:T.locale)||((x=a.value)==null?void 0:x.lang)||"").split("-")[0].toLowerCase();return ga.includes(_)?_:""}),y=st("appI18n",null);Gc(()=>{f.value&&y&&(y.global.locale.value=f.value)});const E=me(()=>{var _,T;return f.value||((T=(_=y==null?void 0:y.global)==null?void 0:_.locale)==null?void 0:T.value)||"en"}),L=me(()=>{var _;return((_=a.value)==null?void 0:_.instanceId)||"doxa-map-"+Math.random().toString(36).slice(2,9)}),N=st("profileModules",null);if(!N)throw new Error('[ProfileLoader] No profileModules provided. Bundle entry must `app.provide("profileModules", import.meta.glob("./*.vue"))`');const O=me(()=>{if(!s.value)return null;const _=`./${s.value}.vue`;return N[_]?Sp(N[_]):(console.error(`[ProfileLoader] Profile not found: "${s.value}". Available:`,Object.keys(N)),null)});ht("mapboxToken",i),ht("dataSource",l),ht("colorSet",c),ht("profileConfig",a),ht("instanceId",L),ht("lang",E);const F=Om(),v=Nm(),b=Im();try{const _=typeof localStorage<"u"?localStorage.getItem("theme"):null;_&&((S=F.setTheme)==null||S.call(F,_))}catch{}return ht("uiStore",F),ht("mapStore",v),ht("dataStore",b),(_,T)=>(ue(),we("div",Dm,[a.value?O.value?(ue(),zo(fr(O.value),{key:2})):(ue(),we("div",Um,[G("p",null,[T[1]||(T[1]=Te("⚠️ Profile ",-1)),G("strong",null,'"'+ye(s.value)+'"',1),T[2]||(T[2]=Te(" not found.",-1))])])):(ue(),we("div",Gm,[...T[0]||(T[0]=[G("p",null,[Te("⚠️ "),G("strong",null,"doxa-map"),Te(": missing or invalid "),G("code",null,"profile-config"),Te(" prop.")],-1),G("p",null,[Te("Example: "),G("code",null,`profile-config='{"profile":"example-map","tk":"pk.eyJ..."}'`)],-1)])])),O.value&&u.value?(ue(),zo(fr(bn(null)),{key:3})):Ue("",!0),O.value&&g.value?(ue(),zo(Rm,{key:4})):Ue("",!0)]))}},[["styles",[Fm]],["__scopeId","data-v-ba19fc13"]]),Po=e=>"wall-pg:"+e,Vm=e=>Wn("peopleGroups",{state:()=>({peopleGroups:[],loading:!1,error:null,prayers:{},comments:{},dataSource:"PRAY_API",availableSources:[{id:"PRAY_API",name:"Prayer.Tools API (Live)",url:"https://pray.doxa.life/api/people-groups/list",description:"Live prayer data with images"}]}),getters:{totalGroups:t=>t.peopleGroups.length,getPrayerCount:t=>o=>t.prayers[o]||0,getComments:t=>o=>t.comments[o]||[],currentSource:t=>t.availableSources.find(o=>o.id===t.dataSource)},actions:{async fetchPeopleGroups(){this.loading=!0,this.error=null,console.log(`🔄 Fetching people groups from ${this.dataSource}...`);try{this.dataSource==="PRAY_API"?await this.fetchFromPrayAPI():this.dataSource==="DOXA_API"?await this.fetchFromAPI():this.dataSource==="CSV"&&await this.fetchFromCSV(),console.log(`✅ Successfully loaded ${this.peopleGroups.length} people groups from ${this.dataSource}!`),console.log("First 3 groups:",this.peopleGroups.slice(0,3))}catch(t){console.error(`❌ Error fetching people groups from ${this.dataSource}:`,t),this.error=t.message,this.peopleGroups=[]}finally{this.loading=!1}},async fetchFromPrayAPI(){const o=this.availableSources.find(f=>f.id==="PRAY_API").url;console.log("🙏 Prayer.Tools API URL:",o);const n=await fetch(o);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);if((n.headers.get("content-type")||"").includes("text/html"))throw new Error("Server returned HTML instead of JSON — the API endpoint may be blocked or unavailable");const s=await n.json(),r=s.posts&&Array.isArray(s.posts)?s.posts:Array.isArray(s)?s:[];if(r.length===0){console.error("Unexpected API response format:",s),this.peopleGroups=[];return}const i="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";this.peopleGroups=r.map(f=>{var _,T,x,A,z,X,W;const y=((_=f.wagf_region)==null?void 0:_.label)||f.wagf_region||"",E=((T=f.wagf_block)==null?void 0:T.label)||f.wagf_block||"",L=((x=f.country_code)==null?void 0:x.label)||f.country_code||"",N=((A=f.country_code)==null?void 0:A.value)||f.country_code||"",O=((z=f.religion)==null?void 0:z.label)||f.religion||"",F=((X=f.religion)==null?void 0:X.value)||"",v=((W=f.rop1)==null?void 0:W.label)||"",b=f.has_photo===!0||f.has_photo==="true"||f.has_photo===1,S=f.image_url||i;return{ID:f.slug||`pray-${Math.random().toString(36).slice(2)}`,post_title:f.name||"Unknown",name:f.name||"Unknown",slug:f.slug||"",status:"",country:L,countryCode:N,region:y,wagfBlock:E,population:f.population||"",religion:O,religionCode:F,affinityBlock:v,latitude:f.latitude||null,longitude:f.longitude||null,description:f.location_description||"",peoplePraying:Number(f.people_praying||0),peopleCommitted:Number(f.people_committed||0),adoptedByChurches:Number(f.adopted_by_churches||0),imageUrl:S,hasPhoto:b,photoCredit:f.picture_credit||null,imageStatus:b?"pending":"placeholder",...f}});const l=this.peopleGroups.filter(f=>f.peoplePraying>0).length,c=this.peopleGroups.filter(f=>f.peopleCommitted>0).length,u=this.peopleGroups.filter(f=>f.adoptedByChurches>0).length,g=this.peopleGroups.filter(f=>f.hasPhoto).length;console.log("📊 Prayer.Tools API stats:"),console.log(` Total groups: ${this.peopleGroups.length}`),console.log(` 🙏 With prayer: ${l}`),console.log(` 👥 With committed workers: ${c}`),console.log(` ⛪ Adopted by churches: ${u}`),console.log(` 📸 With photos: ${g}`),this.testImagesInBackground()},async fetchFromAPI(){const o=this.availableSources.find(u=>u.id==="DOXA_API").url;console.log("API URL:",o);const n=await fetch(o);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);if((n.headers.get("content-type")||"").includes("text/html"))throw new Error("Server returned HTML instead of JSON — the API endpoint may be blocked or unavailable");const s=await n.json(),r="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg",i=s.posts&&Array.isArray(s.posts)?s.posts:Array.isArray(s)?s:[];if(i.length===0){console.error("Unexpected API response format:",s),this.peopleGroups=[];return}this.peopleGroups=i.map(u=>{const g=u.imb_has_photo==="1"||u.imb_has_photo===1||u.imb_has_photo===!0,f=u.imb_picture_url||null,y=g&&f?f:r;return{ID:u.dt_id||u.ID||`api-${Math.random().toString(36).slice(2)}`,post_title:u.imb_display_name||u.post_title||"Unknown",name:u.imb_display_name||u.post_title||"Unknown",slug:u.slug||"",status:u.status||"",country:u.imb_isoalpha3||"",region:u.doxa_wagf_region||"",wagfBlock:u.doxa_wagf_block||"",population:u.imb_population||"",religion:u.imb_reg_of_religion||"",religionCode:u.imb_reg_of_religion_3||"",latitude:u.imb_lat||null,longitude:u.imb_lng||null,description:u.imb_people_description||"",imageUrl:y,hasPhoto:g,photoCredit:u.imb_picture_credit_html||"",imageStatus:g&&f?"pending":"placeholder",...u}});const l=this.peopleGroups.filter(u=>u.hasPhoto&&u.imb_picture_url).length,c=this.peopleGroups.length-l;console.log(`📸 Image stats: ${l} with photos, ${c} using placeholder`),this.testImagesInBackground()},async fetchFromCSV(){const o=this.availableSources.find(g=>g.id==="CSV").url;console.log("CSV URL:",o);const n=await fetch(o);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const a=await n.text(),s=this.parseCSV(a),r=s.map(g=>({ID:g.PEID||g.PeopleID3||`csv-${Math.random()}`,post_title:g.Name||g.PplNm,name:g.Name||g.PplNm,status:g.Status||"Active",country:g.Ctry,region:g.Regn,population:g.Pop,language:g.Lang,religion:g.Rlgn,peopleID3:g.PeopleID3&&g.PeopleID3.trim()!==""?g.PeopleID3.trim():null,imageUrl:g.PeopleID3&&g.PeopleID3.trim()!==""?this.generateImageUrl(g.PeopleID3.trim()):null,imageStatus:"pending",...g})),i={};r.forEach(g=>{g.peopleID3&&(i[g.peopleID3]||(i[g.peopleID3]={total:0}),i[g.peopleID3].total++)}),this.peopleGroups=r.sort((g,f)=>{const y=g.peopleID3?1:0,E=f.peopleID3?1:0;if(y!==E)return E-y;if(y&&E){const L=i[g.peopleID3],N=i[f.peopleID3];return L.total!==N.total?N.total-L.total:g.peopleID3.localeCompare(f.peopleID3)}return 0});const l=this.peopleGroups.filter(g=>g.peopleID3).length,c=this.peopleGroups.length-l,u=Object.keys(i).length;console.log(`✅ Parsed ${s.length} total rows`),console.log(` ${l} have PeopleID3, ${c} without`),console.log(` ${u} unique PeopleID3 clusters`),console.log("Top 5 largest clusters:",Object.entries(i).sort((g,f)=>f[1].total-g[1].total).slice(0,5).map(([g,f])=>`PeopleID3 ${g}: ${f.total} groups`)),this.testImagesInBackground()},async testImagesInBackground(){console.log("🔍 Starting background image verification...");const t=this.peopleGroups.filter(y=>y.imageUrl&&y.imageStatus==="pending"),o=new Map;t.forEach(y=>{o.has(y.imageUrl)?o.get(y.imageUrl).groupIds.push(y.ID):o.set(y.imageUrl,{url:y.imageUrl,groupIds:[y.ID],status:"pending"})});const n=o.size;let a=0,s=0,r=0,i=0;console.log(` Testing ${n} unique images...`);const l=3,c=1e3,u=3,g=Array.from(o.entries()),f="https://www.peoplegroups.org/images/pgphotosearch/NoImageAvailable_search.jpg";for(let y=0;y<g.length;y+=l){const L=g.slice(y,y+l).map(([O,F])=>this.testImageWithRetry(F.url,null,u).then(v=>({imageUrl:O,groupIds:F.groupIds,...v})));(await Promise.all(L)).forEach(O=>{const{groupIds:F,status:v,attempts:b}=O;this.peopleGroups.forEach(S=>{F.includes(S.ID)&&(S.imageStatus=v,S.imageAttempts=b,(v==="failed"||v==="error")&&(S.imageUrl=f,S.imageStatus="placeholder"))}),a++,v==="loaded"?s++:v==="failed"?(r++,console.warn(` ❌ 404: ${O.imageUrl} (tried ${b} times)`)):v==="error"&&(i++,console.error(` ⚠️ Error: ${O.imageUrl} (tried ${b} times)`))}),y/l%10===0&&console.log(` Progress: ${a}/${n} tested (${s} ✅, ${r} ❌, ${i} ⚠️)`),y+l<g.length&&await new Promise(O=>setTimeout(O,c))}console.log("🎉 Image testing complete!"),console.log(` ✅ ${s} images loaded successfully`),console.log(` ❌ ${r} images not found (404) after retries`),console.log(` ⚠️ ${i} network/timeout errors after retries`),console.log(" Note: Errors may be due to rate limiting or slow network")},async testImageWithRetry(t,o,n=3){let a=null;for(let i=1;i<=n;i++){const l=await this.testImageLoadDetailed(t);if(l.status==="loaded")return{...l,attempts:i,urlFormat:"primary"};if(a=l,i<n){const c=500*i;await new Promise(u=>setTimeout(u,c))}}const s=`https://joshuaproject.net/assets/media/profiles/photos/p${o}.jpg`;console.log(` 🔄 Trying fallback URL for PeopleID3 ${o}...`);const r=await this.testImageLoadDetailed(s);return r.status==="loaded"?(this.peopleGroups.forEach(i=>{i.peopleID3===o&&(i.imageUrl=s)}),{...r,attempts:n+1,urlFormat:"fallback"}):{...a,attempts:n+1,urlFormat:"none"}},testImageLoadDetailed(t){return new Promise(o=>{const n=new Image,a=setTimeout(()=>{n.src="",o({status:"error",statusCode:"timeout",url:t})},1e4);n.onload=()=>{clearTimeout(a),o({status:"loaded",statusCode:200,url:t})},n.onerror=()=>{clearTimeout(a),o({status:"failed",statusCode:404,url:t})},n.src=t})},parseCSV(t){const o=[];let n="",a=!1;for(let i=0;i<t.length;i++){const l=t[i];l==='"'?(a=!a,n+=l):l===`
|
||
`&&!a?(n.trim()&&o.push(n),n=""):n+=l}if(n.trim()&&o.push(n),o.length===0)return[];const s=this.parseCSVLine(o[0]);console.log("CSV Headers found:",s.length,"columns"),console.log("Key columns - PEID:",s.indexOf("PEID"),"Name:",s.indexOf("Name"),"PeopleID3:",s.indexOf("PeopleID3"));const r=[];for(let i=1;i<o.length;i++){const l=o[i].trim();if(!l)continue;const c=this.parseCSVLine(l),u={};s.forEach((g,f)=>{c[f]!==void 0&&(u[g]=c[f])}),r.push(u)}return r},parseCSVLine(t){const o=[];let n="",a=!1;for(let s=0;s<t.length;s++){const r=t[s];r==='"'?a=!a:r===","&&!a?(o.push(n.trim()),n=""):n+=r}return o.push(n.trim()),o},generateImageUrl(t){return!t||t.trim()===""?null:`https://media.joshuaproject.net/public/assets/media/profiles/photos/p${t}.jpg`},setDataSource(t){this.dataSource!==t&&(this.dataSource=t,localStorage.setItem(Po("dataSource"),t),this.fetchPeopleGroups())},addPrayer(t){this.prayers[t]||(this.prayers[t]=0),this.prayers[t]++,localStorage.setItem(Po("prayers"),JSON.stringify(this.prayers))},addComment(t,o){this.comments[t]||(this.comments[t]=[]),this.comments[t].push({id:Date.now(),text:o,timestamp:new Date().toISOString()}),localStorage.setItem(Po("comments"),JSON.stringify(this.comments))},loadFromLocalStorage(){try{const t=localStorage.getItem(Po("prayers")),o=localStorage.getItem(Po("comments")),n=localStorage.getItem(Po("dataSource"));t&&(this.prayers=JSON.parse(t)),o&&(this.comments=JSON.parse(o)),n&&["PRAY_API"].includes(n)&&(this.dataSource=n)}catch(t){console.error("Error loading from localStorage:",t)}}}})(e),jm=Object.assign({"./wall-of-people-groups.vue":()=>Vl(()=>Promise.resolve().then(()=>gb),void 0)}),zm=lp(Bm,{configureApp(e){const t=mp();e.use(t);const o=Em();e.use(o),e.provide("appI18n",o),e.provide("profileModules",jm);const n=Vm(t);n.loadFromLocalStorage(),e.config.globalProperties.$store=n}});typeof customElements<"u"&&!customElements.get("wall-of-people-groups")&&customElements.define("wall-of-people-groups",zm);const Wm={name:"PeopleGroupsWall",data(){return{svg:null,zoom:null,cardWidth:50,cardHeight:70,cardSpacing:8,cardVerticalSpacing:3,canvasWidth:0,canvasHeight:0,isLandscape:!0}},computed:{loading(){var e;return((e=this.$store)==null?void 0:e.loading)||!1},totalGroups(){var e;return((e=this.$store)==null?void 0:e.totalGroups)||0},peopleGroups(){var e;return((e=this.$store)==null?void 0:e.peopleGroups)||[]}},mounted(){this.initializeCanvas(),this.fetchData()},methods:{async fetchData(){console.log("📊 Wall component fetching data..."),this.$store?(await this.$store.fetchPeopleGroups(),console.log("🎨 Data fetched, rendering cards..."),this.renderCards()):console.error("❌ Store not available!")},initializeCanvas(){this.isLandscape?(this.canvasWidth=4e3,this.canvasHeight=3e3):(this.canvasWidth=3e3,this.canvasHeight=4e3);const e=d3.select(this.$refs.canvas);this.svg=e.append("svg").attr("width","100%").attr("height","100%").attr("viewBox",`0 0 ${this.canvasWidth} ${this.canvasHeight}`).attr("preserveAspectRatio","xMidYMid meet"),this.zoom=d3.zoom().scaleExtent([.1,20]).filter(function(t){const o=t.target;return o.tagName==="text"||o.tagName==="tspan"?!1:!t.ctrlKey&&!t.button}).on("zoom",t=>{this.svg.select(".cards-container").attr("transform",t.transform)}),this.svg.call(this.zoom),this.svg.append("rect").attr("width",this.canvasWidth).attr("height",this.canvasHeight).attr("fill","#fafafa"),this.svg.append("g").attr("class","cards-container")},renderCards(){var ne;if(console.log("🎨 Rendering cards..."),console.log("People groups available:",((ne=this.peopleGroups)==null?void 0:ne.length)||0),!this.peopleGroups||this.peopleGroups.length===0){console.warn("⚠️ No people groups to render");return}const e=this.svg.select(".cards-container"),t=this.peopleGroups.length;this.cardWidth/this.cardHeight;const o=this.canvasWidth/this.canvasHeight,n=Math.ceil(Math.sqrt(t*o)),a=Math.ceil(t/n);console.log(`📐 Grid Layout: ${n} columns × ${a} rows = ${n*a} slots for ${t} groups`),console.log(`📏 Canvas: ${this.canvasWidth}×${this.canvasHeight} (aspect: ${o.toFixed(2)})`);const s=this.canvasWidth-this.cardSpacing*(n+1),r=this.canvasHeight-this.cardSpacing*(a+1),i=s/n,l=r/a;this.cardWidth=Math.min(i,l*.7),this.cardHeight=this.cardWidth/.7,console.log(`🎴 Card size: ${this.cardWidth.toFixed(1)}×${this.cardHeight.toFixed(1)}`),console.log("📦 Sample group data:",this.peopleGroups[0]);const c=this.cardWidth+this.cardSpacing,u=this.cardHeight+this.cardVerticalSpacing,g=e.selectAll(".card-group").data(this.peopleGroups).enter().append("g").attr("class","card-group").attr("transform",(J,ae)=>{const Q=ae%n,H=Math.floor(ae/n),Z=Q*c+this.cardSpacing,be=H*u+this.cardVerticalSpacing;return`translate(${Z}, ${be})`});g.append("rect").attr("width",this.cardWidth).attr("height",this.cardHeight).attr("fill","white").attr("stroke","#dbdbdb").attr("stroke-width",.5).attr("rx",0).style("cursor","pointer").style("pointer-events","none");const f=Math.max(3.5,this.cardWidth*.07),y=Math.max(3,this.cardWidth*.055),E=Math.max(8,this.cardWidth*.12),L=Math.max(3.5,this.cardWidth*.065),N=this.cardWidth,O=this.cardHeight;g.each(function(J){const ae=d3.select(this),Q=J.peopleID3||J.PeopleID3,H=J.name||J.post_title||"Unknown Group";let Z;if(Q&&Q.trim()!==""?Z=ae.append("a").attr("href",`https://joshuaproject.net/people_groups/${Q}`).attr("target","_blank").attr("rel","noopener noreferrer").style("cursor","pointer").append("text").attr("x",N/2).attr("y",O*.06).attr("text-anchor","middle").attr("font-size",f).attr("font-weight","bold").attr("fill","#0095f6").attr("text-decoration","underline").style("user-select","text").style("pointer-events","all"):Z=ae.append("text").attr("x",N/2).attr("y",O*.06).attr("text-anchor","middle").attr("font-size",f).attr("font-weight","bold").attr("fill","#262626").style("user-select","text").style("pointer-events","all"),Z.text(H),Z.node().getComputedTextLength()>N*.95){Z.text("");const be=H.split(" "),Fe=Math.ceil(be.length/2),Le=be.slice(0,Fe).join(" "),xe=be.slice(Fe).join(" ");Z.append("tspan").attr("x",N/2).attr("dy",0).text(Le),Z.append("tspan").attr("x",N/2).attr("dy",f*1.1).text(xe)}}),g.append("text").attr("x",N/2).attr("y",this.cardHeight*.14).attr("text-anchor","middle").attr("font-size",y).attr("fill","#8e8e8e").style("user-select","text").style("pointer-events","all").text(J=>J.status||"");const F=this.cardHeight*.18,v=this.cardHeight*.5,b=this.cardWidth;g.append("rect").attr("x",0).attr("y",F).attr("width",b).attr("height",v).attr("fill","#fafafa").attr("stroke","#efefef").attr("stroke-width",.5).attr("rx",0),g.each(function(J){const ae=d3.select(this);J.imageUrl?ae.append("image").attr("x",0).attr("y",F).attr("width",b).attr("height",v).attr("href",J.imageUrl).attr("preserveAspectRatio","xMidYMid slice").style("pointer-events","none").on("error",function(){console.log("Image failed to load:",J.imageUrl)}):ae.append("text").attr("x",N/2).attr("y",F+v/2).attr("text-anchor","middle").attr("font-size",E*1.5).attr("fill","#c7c7c7").text("📷").style("pointer-events","none")});const S=this.cardHeight*.72,_=E*.7,T=_*1.6,x=_*3+T*2,A=(N-x)/2;g.append("foreignObject").attr("x",A).attr("y",S).attr("width",_).attr("height",_).style("cursor","pointer").style("overflow","visible").on("click",(J,ae)=>{J.stopPropagation(),this.openPrayerDialog(ae)}).append("xhtml:div").attr("xmlns","http://www.w3.org/1999/xhtml").style("width","100%").style("height","100%").style("display","flex").style("align-items","center").style("justify-content","center").html(function(J){var Fe,Le;const ae=Number(J.peoplePraying||0),Q=((Le=(Fe=self.$store)==null?void 0:Fe.prayers)==null?void 0:Le[J.ID])||0,H=ae+Q,Z=H>0?"fas fa-heart":"far fa-heart",be=H>0?"#ed4956":"#262626";return'<i class="'+Z+'" style="font-size: '+_+"px; color: "+be+';"></i>'}),g.append("foreignObject").attr("x",A+T).attr("y",S).attr("width",_).attr("height",_).style("cursor","pointer").style("overflow","visible").on("click",(J,ae)=>{J.stopPropagation(),this.openComments(ae)}).append("xhtml:div").attr("xmlns","http://www.w3.org/1999/xhtml").style("width","100%").style("height","100%").style("display","flex").style("align-items","center").style("justify-content","center").html('<i class="far fa-comment" style="font-size: '+_+'px; color: #262626;"></i>'),g.append("foreignObject").attr("x",A+T*2).attr("y",S).attr("width",_).attr("height",_).style("cursor","pointer").style("overflow","visible").on("click",(J,ae)=>{J.stopPropagation(),alert("Sharing functionality coming later!")}).append("xhtml:div").attr("xmlns","http://www.w3.org/1999/xhtml").style("width","100%").style("height","100%").style("display","flex").style("align-items","center").style("justify-content","center").html('<i class="far fa-paper-plane" style="font-size: '+_+'px; color: #262626;"></i>'),g.append("text").attr("x",A).attr("y",S+_+L+2).attr("text-anchor","start").attr("font-size",L).attr("fill","#262626").attr("font-weight","600").attr("class","prayer-text").style("user-select","text").style("pointer-events","all").text(J=>{var Z,be;const ae=Number(J.peoplePraying||0),Q=((be=(Z=this.$store)==null?void 0:Z.prayers)==null?void 0:be[J.ID])||0,H=ae+Q;return H===0?"0 prayed":`${H} ${H===1?"person":"people"} prayed`}),g.append("text").attr("x",A).attr("y",S+_+L*2+4).attr("text-anchor","start").attr("font-size",L).attr("fill","#8e8e8e").attr("cursor","pointer").attr("class","view-comments-text").style("user-select","none").style("pointer-events","all").text("View prayers").on("click",(J,ae)=>{J.stopPropagation(),this.openComments(ae)}),console.log(`✅ Rendered ${t} cards in ${n}×${a} grid`)},handlePrayer(e){this.openPrayerDialog(e)},openPrayerDialog(e){this.$emit("open-prayer",e)},openComments(e){this.$emit("open-comments",e)},truncateText(e,t){return e?e.length>t?e.substring(0,t)+"...":e:""},resetZoom(){this.svg.transition().duration(750).call(this.zoom.transform,d3.zoomIdentity)},toggleOrientation(){this.isLandscape=!this.isLandscape,d3.select(this.$refs.canvas).selectAll("*").remove(),this.initializeCanvas(),this.peopleGroups&&this.peopleGroups.length>0&&this.renderCards(),console.log(`📐 Switched to ${this.isLandscape?"LANDSCAPE (4ft×3ft)":"PORTRAIT (3ft×4ft)"}`)},printWall(){alert("Print functionality coming later!")}}},Hm={class:"wall-container"},qm={class:"wall-header"},Xm={class:"wall-controls"},Km={class:"btn-label"},Ym={class:"current-mode"},Zm={class:"group-count"},Jm={ref:"canvas",class:"wall-canvas"},Qm={key:0,class:"loading-overlay"};function e_(e,t,o,n,a,s){return ue(),we("div",Hm,[G("div",qm,[t[2]||(t[2]=G("h1",null,"Wall of People Groups",-1)),G("div",Xm,[G("button",{onClick:t[0]||(t[0]=(...r)=>s.toggleOrientation&&s.toggleOrientation(...r)),class:"control-btn orientation-btn"},[G("span",Km,ye(a.isLandscape?"📱 Switch to Portrait":"🖼️ Switch to Landscape"),1),G("span",Ym,"Current: "+ye(a.isLandscape?"Landscape (4ft×3ft)":"Portrait (3ft×4ft)"),1)]),G("button",{onClick:t[1]||(t[1]=(...r)=>s.resetZoom&&s.resetZoom(...r)),class:"control-btn"},"Reset Zoom"),G("span",Zm,ye(s.totalGroups)+" Groups Loaded",1)])]),G("div",Jm,null,512),s.loading?(ue(),we("div",Qm,[...t[3]||(t[3]=[G("div",{class:"spinner"},null,-1),G("p",null,"Loading people groups...",-1)])])):Ue("",!0)])}const t_=Lo(Wm,[["render",e_]]),fa="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Crect width='100%25' height='100%25' fill='%23f3f3f1'/%3E%3Ctext x='50%25' y='50%25' fill='%236d766e' font-family='sans-serif' font-size='22' text-anchor='middle' dominant-baseline='middle'%3ENo image available%3C/text%3E%3C/svg%3E",o_={name:"CommentsDialog",props:{group:{type:Object,default:null},visible:{type:Boolean,default:!1}},data(){return{newComment:"",justPrayed:!1,imageError:!1}},computed:{prayerCount(){var e;return!this.group||!this.$store?0:((e=this.$store.prayers)==null?void 0:e[this.group.ID])||0},comments(){var e;return!this.group||!this.$store?[]:((e=this.$store.comments)==null?void 0:e[this.group.ID])||[]}},methods:{closeDialog(){this.$emit("close"),this.newComment="",this.justPrayed=!1},addPrayer(){this.group&&this.$store&&(this.$store.addPrayer(this.group.ID),this.justPrayed=!0,setTimeout(()=>{this.justPrayed=!1},2e3))},submitComment(){this.newComment.trim()&&this.group&&this.$store&&(this.$store.addComment(this.group.ID,this.newComment.trim()),this.newComment="")},formatDate(e){const t=new Date(e),n=new Date-t,a=Math.floor(n/6e4),s=Math.floor(n/36e5),r=Math.floor(n/864e5);return a<1?"Just now":a<60?`${a}m ago`:s<24?`${s}h ago`:r<7?`${r}d ago`:t.toLocaleDateString()},getImageUrl(){var e;return this.imageError?fa:((e=this.group)==null?void 0:e.imageUrl)||fa},handleImageError(e){this.imageError=!0,e.target.src=fa}},watch:{visible(e){e&&(this.justPrayed=!1)}}},n_={class:"dialog-header"},s_={class:"group-image-container"},a_=["src","alt"],r_={class:"group-name-dialog"},i_={class:"dialog-content"},l_={class:"group-info"},c_={class:"info-row"},u_={class:"info-row"},p_={key:0,class:"info-row"},d_={class:"info-row prayer-stat"},g_={class:"prayer-action"},f_={class:"comments-section"},h_={class:"comments-list"},$_={key:0,class:"no-comments"},m_={class:"comment-header"},__={class:"comment-date"},b_={class:"comment-text"},y_={class:"add-comment"},v_={class:"comment-actions"},w_={class:"char-count"},L_=["disabled"];function P_(e,t,o,n,a,s){var r,i,l,c,u,g;return o.visible?(ue(),we("div",{key:0,class:"dialog-overlay",onClick:t[6]||(t[6]=(...f)=>s.closeDialog&&s.closeDialog(...f))},[G("div",{class:"dialog-container",onClick:t[5]||(t[5]=gi(()=>{},["stop"]))},[G("div",n_,[t[7]||(t[7]=G("h2",null,"People Group Chats",-1)),G("button",{class:"close-btn",onClick:t[0]||(t[0]=(...f)=>s.closeDialog&&s.closeDialog(...f))},"✕")]),G("div",s_,[G("img",{src:s.getImageUrl(),alt:((r=o.group)==null?void 0:r.name)||"People Group",class:"group-image",onError:t[1]||(t[1]=(...f)=>s.handleImageError&&s.handleImageError(...f))},null,40,a_)]),G("div",r_,ye(((i=o.group)==null?void 0:i.name)||"Unknown Group"),1),G("div",i_,[G("div",l_,[G("div",c_,[t[8]||(t[8]=G("strong",null,"Status:",-1)),Te(" "+ye(((l=o.group)==null?void 0:l.status)||"Unknown"),1)]),G("div",u_,[t[9]||(t[9]=G("strong",null,"ID:",-1)),Te(" "+ye(((c=o.group)==null?void 0:c.ID)||"N/A"),1)]),(u=o.group)!=null&&u.lat&&((g=o.group)!=null&&g.lng)?(ue(),we("div",p_,[t[10]||(t[10]=G("strong",null,"Location:",-1)),Te(" "+ye(o.group.lat)+", "+ye(o.group.lng),1)])):Ue("",!0),G("div",d_,[t[11]||(t[11]=G("span",{class:"heart-icon"},"❤️",-1)),G("strong",null,ye(s.prayerCount),1),Te(" "+ye(s.prayerCount===1?"person has":"people have")+" prayed ",1)])]),G("div",g_,[G("button",{class:ao(["prayer-btn",{active:a.justPrayed}]),onClick:t[2]||(t[2]=(...f)=>s.addPrayer&&s.addPrayer(...f))},ye(a.justPrayed?"✓ You prayed!":"🙏 Pray for this group"),3)]),G("div",f_,[t[13]||(t[13]=G("h3",null,"Prayers & Comments",-1)),G("div",h_,[s.comments.length===0?(ue(),we("div",$_," No prayers or comments yet. Be the first! ")):Ue("",!0),(ue(!0),we(Xe,null,mr(s.comments,f=>(ue(),we("div",{key:f.id,class:"comment-item"},[G("div",m_,[t[12]||(t[12]=G("span",{class:"comment-icon"},"💭",-1)),G("span",__,ye(s.formatDate(f.timestamp)),1)]),G("div",b_,ye(f.text),1)]))),128))]),G("div",y_,[sr(G("textarea",{"onUpdate:modelValue":t[3]||(t[3]=f=>a.newComment=f),placeholder:"Share your prayer or thoughts...",rows:"3",maxlength:"500"},null,512),[[di,a.newComment]]),G("div",v_,[G("span",w_,ye(a.newComment.length)+"/500",1),G("button",{onClick:t[4]||(t[4]=(...f)=>s.submitComment&&s.submitComment(...f)),disabled:!a.newComment.trim(),class:"submit-btn"}," Post Comment ",8,L_)])])])])])])):Ue("",!0)}const S_=Lo(o_,[["render",P_]]),ha="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Crect width='100%25' height='100%25' fill='%23f3f3f1'/%3E%3Ctext x='50%25' y='50%25' fill='%236d766e' font-family='sans-serif' font-size='22' text-anchor='middle' dominant-baseline='middle'%3ENo image available%3C/text%3E%3C/svg%3E",A_={name:"PrayerDialog",props:{isOpen:{type:Boolean,default:!1},group:{type:Object,default:null}},data(){return{hasPrayed:!1,prayerText:"",imageError:!1}},watch:{isOpen(e){var t,o,n;if(e){const a=((n=(t=this.$store)==null?void 0:t.prayers)==null?void 0:n[(o=this.group)==null?void 0:o.ID])||0;this.hasPrayed=a>0,this.prayerText="",this.imageError=!1}}},methods:{closeDialog(){this.$emit("close")},confirmPrayer(){var e;(e=this.group)!=null&&e.ID&&(this.$store.addPrayer(this.group.ID),this.hasPrayed=!0,this.$emit("prayer-confirmed",this.group.ID))},sendPrayer(){var e;if(this.prayerText.trim()&&((e=this.group)!=null&&e.ID)){const o=`🙏 ${this.generatePseudonym()} prayed: ${this.prayerText.trim()}`;this.$store.addComment(this.group.ID,o),this.prayerText="",setTimeout(()=>{this.closeDialog()},500)}},generatePseudonym(){const e=["Faithful","Devoted","Humble","Earnest","Hopeful","Grateful","Compassionate"],t=["Servant","Believer","Intercessor","Warrior","Witness","Disciple","Friend"],o=e[Math.floor(Math.random()*e.length)],n=t[Math.floor(Math.random()*t.length)],a=Math.floor(Math.random()*999)+1;return`${o} ${n} ${a}`},getImageUrl(){var e;return this.imageError?ha:((e=this.group)==null?void 0:e.imageUrl)||ha},handleImageError(e){this.imageError=!0,e.target.src=ha}}},x_={class:"dialog-container prayer-dialog"},E_={class:"dialog-header"},k_={class:"group-image-container"},C_=["src","alt"],R_={class:"group-name-dialog"},T_={class:"dialog-content"},O_={class:"group-info"},N_={class:"info-row"},I_={key:0,class:"prayer-prompt"},M_={key:1,class:"prayer-confirmed"},F_={class:"prayer-input-section"},D_=["disabled"];function G_(e,t,o,n,a,s){var r,i,l;return o.isOpen?(ue(),we("div",{key:0,class:"dialog-overlay",onClick:t[5]||(t[5]=gi((...c)=>s.closeDialog&&s.closeDialog(...c),["self"]))},[G("div",x_,[G("div",E_,[t[6]||(t[6]=G("h2",null,"Prayer Tools",-1)),G("button",{onClick:t[0]||(t[0]=(...c)=>s.closeDialog&&s.closeDialog(...c)),class:"close-btn"},"×")]),G("div",k_,[G("img",{src:s.getImageUrl(),alt:((r=o.group)==null?void 0:r.name)||"People Group",onError:t[1]||(t[1]=(...c)=>s.handleImageError&&s.handleImageError(...c))},null,40,C_)]),G("div",R_,ye(((i=o.group)==null?void 0:i.name)||"Unknown"),1),G("div",T_,[G("div",O_,[G("div",N_,[t[7]||(t[7]=G("strong",null,"Status:",-1)),Te(" "+ye(((l=o.group)==null?void 0:l.status)||"unengaged"),1)])]),a.hasPrayed?(ue(),we("div",M_,[t[11]||(t[11]=G("div",{class:"confirmed-message"},[G("i",{class:"fas fa-heart",style:{color:"#ed4956"}}),G("span",null,"Thank you for praying!")],-1)),G("div",F_,[t[10]||(t[10]=G("h4",null,"Share your prayer (optional)",-1)),sr(G("textarea",{"onUpdate:modelValue":t[3]||(t[3]=c=>a.prayerText=c),placeholder:"Type your prayer here...",rows:"4"},null,512),[[di,a.prayerText]]),G("button",{onClick:t[4]||(t[4]=(...c)=>s.sendPrayer&&s.sendPrayer(...c)),disabled:!a.prayerText.trim(),class:"send-prayer-btn"}," Send Prayer ",8,D_)])])):(ue(),we("div",I_,[t[9]||(t[9]=G("h3",null,"Are you praying right now for this people group?",-1)),G("button",{onClick:t[2]||(t[2]=(...c)=>s.confirmPrayer&&s.confirmPrayer(...c)),class:"prayer-confirm-btn"},[...t[8]||(t[8]=[G("i",{class:"far fa-heart"},null,-1),Te(" Yes, I'm Praying ",-1)])])]))])])])):Ue("",!0)}const U_=Lo(A_,[["render",G_]]),B_={name:"SourceSelector",computed:{dataSource(){var e;return((e=this.$store)==null?void 0:e.dataSource)||"API"},availableSources(){var e;return((e=this.$store)==null?void 0:e.availableSources)||[]},currentSource(){var e;return((e=this.$store)==null?void 0:e.currentSource)||null}},methods:{selectSource(e){console.log("🔄 Switching to source:",e),this.$store&&this.$store.setDataSource(e)},getSourceIcon(e){switch(e){case"PRAY_API":return"🙏";case"DOXA_API":return"🌐";case"API":return"🌐";case"CSV":return"📄";default:return"📊"}}}},V_={key:0},j_={class:"source-selector"},z_={class:"source-header"},W_={class:"current-source-label"},H_={class:"source-buttons"},q_=["onClick"],X_={class:"source-icon"},K_={class:"source-name"},Y_={key:0,class:"active-indicator"},Z_={class:"source-info"},J_={key:0},Q_={key:1,class:"csv-info"},eb={key:2,class:"api-info"},tb={key:3,class:"api-info"};function ob(e,t,o,n,a,s){var r;return e.sources.length>1?(ue(),we("div",V_,[G("div",j_,[G("div",z_,[t[0]||(t[0]=G("h3",null,"📊 Data Source",-1)),G("span",W_,"Current: "+ye((r=s.currentSource)==null?void 0:r.name),1)]),G("div",H_,[(ue(!0),we(Xe,null,mr(s.availableSources,i=>(ue(),we("button",{key:i.id,onClick:l=>s.selectSource(i.id),class:ao(["source-btn",{active:s.dataSource===i.id}])},[G("span",X_,ye(s.getSourceIcon(i.id)),1),G("span",K_,ye(i.name),1),s.dataSource===i.id?(ue(),we("span",Y_,"✓")):Ue("",!0)],10,q_))),128))]),G("div",Z_,[s.currentSource?(ue(),we("p",J_,[t[1]||(t[1]=G("strong",null,"Source URL:",-1)),t[2]||(t[2]=G("br",null,null,-1)),G("code",null,ye(s.currentSource.url),1)])):Ue("",!0),s.dataSource==="CSV"?(ue(),we("p",Q_,[...t[3]||(t[3]=[G("i",{class:"fas fa-info-circle"},null,-1),Te(" CSV includes ~1,439 groups with images from Joshua Project ",-1)])])):Ue("",!0),s.dataSource==="DOXA_API"?(ue(),we("p",eb,[...t[4]||(t[4]=[G("i",{class:"fas fa-info-circle"},null,-1),Te(" WordPress API — descriptions & photos, no prayer data ",-1)])])):Ue("",!0),s.dataSource==="PRAY_API"?(ue(),we("p",tb,[...t[5]||(t[5]=[G("i",{class:"fas fa-info-circle"},null,-1),Te(" Live prayer data — people praying, committed workers, adoption, images ",-1)])])):Ue("",!0)])])])):Ue("",!0)}const nb=Lo(B_,[["render",ob]]),sb="*{margin:0;padding:0;box-sizing:border-box}:root,:host{--primary-color: #2c3e50;--secondary-color: #3498db;--background: #fafafa;--text-color: #333333;--border-color: #e0e0e0;--heart-color: #ed4956;--instagram-blue: #0095f6}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--background);overflow-x:hidden}#app{width:100%;min-height:100vh}.app-container{width:100%;height:100vh;display:flex;flex-direction:column;background-color:var(--background)}.wall-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.wall-header{background:#fff;border-bottom:1px solid var(--border-color);padding:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px #0000000d}.wall-header h1{font-size:28px;font-weight:600;color:var(--text-color);margin:0}.wall-controls{display:flex;align-items:center;gap:15px}.control-btn{padding:10px 20px;background:var(--instagram-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.control-btn:hover{background:#0081d6;transform:translateY(-1px)}.orientation-btn{display:flex;flex-direction:column;align-items:center;gap:4px}.orientation-btn .btn-label{font-size:14px}.orientation-btn .current-mode{font-size:10px;opacity:.8;font-weight:400}.group-count{font-size:14px;color:#666;font-weight:500}.wall-canvas{flex:1;width:100%;height:100%;background:var(--background);overflow:hidden}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffff2;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:9999}.spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--instagram-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000a6;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog-container{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.dialog-header{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#fff}.group-image-container{width:100%;background-color:#fafafa;overflow:hidden}.group-image-container img{width:100%;height:auto;display:block;object-fit:cover;max-height:400px}.group-name-dialog{font-weight:600;font-size:18px;padding:16px 20px;border-bottom:1px solid #efefef;color:#262626;background:#fff}.dialog-header h2{margin:0;font-size:20px;font-weight:600;color:var(--text-color)}.close-btn{background:none;border:none;font-size:24px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#f5f5f5;color:#333}.dialog-content{padding:20px;max-height:calc(90vh - 80px);overflow-y:auto}.group-info{background:#f9f9f9;padding:15px;border-radius:8px;margin-bottom:20px}.info-row{margin-bottom:8px;font-size:14px}.info-row:last-child{margin-bottom:0}.prayer-stat{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e0e0e0;font-size:15px}.heart-icon{font-size:20px}.prayer-action{margin-bottom:25px}.prayer-btn{width:100%;padding:14px;background:var(--instagram-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.prayer-btn:hover{background:#0081d6}.prayer-btn.active{background:#10b981}.comments-section{margin-top:20px}.comments-section h3{font-size:18px;margin-bottom:15px;font-weight:600}.comments-list{max-height:300px;overflow-y:auto;margin-bottom:20px;padding:10px;background:#f9f9f9;border-radius:8px}.no-comments{text-align:center;padding:40px 20px;color:#999;font-size:14px}.comment-item{background:#fff;padding:12px;border-radius:8px;margin-bottom:10px;border:1px solid #e0e0e0}.comment-item:last-child{margin-bottom:0}.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.comment-icon{font-size:16px}.comment-date{font-size:12px;color:#999}.comment-text{font-size:14px;color:#333;line-height:1.5}.add-comment textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;min-height:80px}.add-comment textarea:focus{outline:none;border-color:var(--instagram-blue)}.comment-actions{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.char-count{font-size:12px;color:#999}.submit-btn{padding:10px 24px;background:var(--instagram-blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled){background:#0081d6}.submit-btn:disabled{background:#ccc;cursor:not-allowed}.prayer-dialog .dialog-content{padding:20px}.prayer-prompt{text-align:center;padding:30px 20px}.prayer-prompt h3{font-size:20px;margin-bottom:25px;color:var(--text-color);font-weight:600}.prayer-confirm-btn{padding:14px 28px;background:var(--heart-color);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:10px}.prayer-confirm-btn:hover{background:#c13584;transform:translateY(-2px);box-shadow:0 4px 12px #ed49564d}.prayer-confirmed{padding:20px}.confirmed-message{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;background:#f0fdf4;border-radius:8px;margin-bottom:25px;font-size:16px;font-weight:600;color:#16a34a}.confirmed-message i{font-size:24px}.prayer-input-section h4{font-size:16px;margin-bottom:12px;color:var(--text-color)}.prayer-input-section textarea{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px}.prayer-input-section textarea:focus{outline:none;border-color:var(--instagram-blue);box-shadow:0 0 0 3px #0095f61a}.send-prayer-btn{width:100%;padding:12px;background:var(--instagram-blue);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.send-prayer-btn:hover:not(:disabled){background:#0081d6}.send-prayer-btn:disabled{background:#b8b8b8;cursor:not-allowed;opacity:.6}.text-center{text-align:center}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}@media print{@page{size:36in 48in;margin:0}body{margin:0;padding:0}.wall-header,.dialog-overlay{display:none!important}}::-webkit-scrollbar{width:8px;height:8px}.source-selector{background:#fff;border-bottom:1px solid var(--border-color);padding:15px 20px;box-shadow:0 1px 3px #0000000d;display:flex;align-items:center;justify-content:space-between;gap:20px}.source-header{display:flex;align-items:center;gap:15px}.source-header h3{font-size:16px;font-weight:600;color:var(--text-color);margin:0}.current-source-label{font-size:12px;color:#666;background:#f5f5f5;padding:4px 12px;border-radius:20px;font-weight:500}.source-buttons{display:flex;gap:10px}.source-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;position:relative}.source-btn:hover{background:#f0f0f0;border-color:var(--instagram-blue);transform:translateY(-1px)}.source-btn.active{background:#e7f3ff;border-color:var(--instagram-blue);border-width:2px;box-shadow:0 0 0 2px #0095f61a}.source-icon{font-size:18px}.source-name{color:var(--text-color)}.active-indicator{font-size:16px;color:var(--instagram-blue);font-weight:700}.source-info{display:none}@media (max-width: 768px){.source-selector{flex-direction:column;align-items:flex-start}.source-buttons{width:100%;flex-direction:column}.source-btn{width:100%}}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.group-name-link{color:#0095f6;text-decoration:underline;cursor:pointer;transition:color .2s}.group-name-link:hover{color:#0081d6;text-decoration:underline}.group-name-link:visited{color:#0095f6}.group-name-no-link{color:#262626;cursor:default}svg a{cursor:pointer}svg a text{transition:fill .2s}svg a:hover text{fill:#0081d6!important}.nav-links{padding:8px 16px;text-align:right}.dev-panel-link{color:#0095f6;text-decoration:none;font-size:14px;padding:6px 12px;border:1px solid #0095f6;border-radius:6px;transition:all .2s}.dev-panel-link:hover{background:#0095f6;color:#fff}.dev-panel{max-width:1200px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#1a1a1a}.dev-panel-header{margin-bottom:24px}.dev-panel-header h1{font-size:28px;margin:0 0 8px}.dev-panel-header .subtitle{color:#666;margin:0 0 12px}.dev-panel-header .back-link{color:#0095f6;text-decoration:none;font-size:14px}.dev-panel-header .back-link:hover{text-decoration:underline}.stats-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:8px;margin-bottom:24px;flex-wrap:wrap}.stat-badge{font-size:13px;font-weight:600;padding:4px 10px;border-radius:20px}.stat-badge.tested{background:#e3f2fd;color:#1565c0}.stat-badge.ok{background:#e8f5e9;color:#2e7d32}.stat-badge.fail{background:#fce4ec;color:#c62828}.endpoint-group{margin-bottom:32px}.group-title{display:flex;align-items:center;gap:8px;font-size:20px;margin:0 0 6px}.group-icon{font-size:24px}.group-badge{font-size:12px;font-weight:500;background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:12px}.group-desc{color:#666;font-size:14px;margin:0 0 16px}.endpoint-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;margin-bottom:12px;transition:border-color .2s}.endpoint-card.status-ok{border-left:4px solid #4caf50}.endpoint-card.status-fail{border-left:4px solid #f44336}.endpoint-meta{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.method-badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.method-badge.get{background:#e8f5e9;color:#2e7d32}.method-badge.post{background:#fff3e0;color:#e65100}.endpoint-url{font-size:13px;background:#f5f5f5;padding:4px 8px;border-radius:4px;cursor:pointer;word-break:break-all;flex:1}.endpoint-url:hover{background:#e3f2fd}.btn-copy{background:none;border:none;cursor:pointer;color:#999;font-size:14px;padding:4px}.btn-copy:hover{color:#333}.endpoint-desc{font-size:14px;color:#444;margin:4px 0 8px}.endpoint-fields{margin-bottom:8px;font-size:13px}.field-chip{display:inline-block;background:#f0f0f0;color:#555;padding:2px 6px;border-radius:4px;font-size:11px;font-family:monospace;margin:2px 4px 2px 0}.endpoint-actions{display:flex;gap:8px;margin-top:8px}.btn-sm{font-size:13px;padding:6px 14px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .15s}.btn-sm:disabled{opacity:.6;cursor:not-allowed}.btn-test{background:#0095f6;color:#fff}.btn-test:hover:not(:disabled){background:#0081d6}.btn-primary{background:#0095f6;color:#fff}.btn-primary:hover:not(:disabled){background:#0081d6}.btn-toggle{background:#f0f0f0;color:#333}.btn-toggle:hover{background:#e0e0e0}.test-result{margin-top:12px;border-radius:6px;overflow:hidden}.result-summary{display:flex;align-items:center;gap:12px;padding:8px 12px;font-size:13px;flex-wrap:wrap}.result-ok .result-summary{background:#e8f5e9}.result-fail .result-summary{background:#fce4ec}.status-code{font-weight:600}.result-time{color:#666}.record-count{background:#e3f2fd;color:#1565c0;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600}.content-type{color:#999;font-size:12px;font-family:monospace}.result-body{padding:12px;background:#fafafa;border-top:1px solid #eee}.sample-fields h4,.sample-images h4,.loaded-images h4,.failed-images h4{font-size:14px;margin:0 0 8px}.field-grid{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.field-item{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:4px 0;border-bottom:1px solid #f0f0f0}.field-item code{font-weight:600;min-width:180px;color:#1565c0}.field-type{color:#999;font-size:11px;min-width:50px}.field-sample{color:#666;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:400px}.image-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.image-thumb{width:120px;text-align:center}.image-thumb img{width:120px;height:80px;object-fit:cover;border-radius:6px;border:1px solid #e0e0e0}.image-thumb.failed .img-placeholder{width:120px;height:80px;display:flex;align-items:center;justify-content:center;background:#fce4ec;border-radius:6px;color:#c62828;font-size:24px}.img-label{display:block;font-size:11px;color:#666;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.img-url{display:block;font-size:9px;color:#999;word-break:break-all}.raw-json{margin-top:12px}.raw-json summary{cursor:pointer;font-size:13px;color:#666;padding:4px 0}.raw-json pre{background:#1e1e1e;color:#d4d4d4;padding:12px;border-radius:6px;font-size:12px;overflow-x:auto;max-height:300px;white-space:pre-wrap;word-break:break-word}.image-tester{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.image-tester-controls{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.image-test-progress{font-size:13px;color:#666;font-weight:500}",ab=":host{display:block;position:relative;min-height:600px}.app-container{position:relative;width:100%;height:100%}.wall-error{padding:24px;color:#3b463d;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}",rb="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js",os="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";let ns=null;function ib(){return typeof window>"u"||window.d3?Promise.resolve():(ns||(ns=new Promise((e,t)=>{const o=document.createElement("script");o.src=rb,o.onload=()=>e(),o.onerror=()=>{ns=null,t(new Error("d3 failed to load"))},document.head.appendChild(o)})),ns)}function lb(e){if(!(typeof document>"u")){if(!document.head.querySelector(`link[href="${os}"]`)){const t=document.createElement("link");t.rel="stylesheet",t.href=os,document.head.appendChild(t)}if(e&&e!==document&&!e.querySelector(`link[href="${os}"]`)){const t=document.createElement("link");t.rel="stylesheet",t.href=os,e.prepend(t)}}}const cb={name:"WallOfPeopleGroups",components:{PeopleGroupsWall:t_,CommentsDialog:S_,PrayerDialog:U_,SourceSelector:nb},data(){return{ready:!1,error:null,commentsDialogVisible:!1,prayerDialogVisible:!1,selectedGroup:null}},mounted(){var e,t;lb((t=(e=this.$el)==null?void 0:e.getRootNode)==null?void 0:t.call(e)),ib().then(()=>{this.ready=!0},o=>{this.error=o.message})},methods:{openCommentsDialog(e){this.selectedGroup=e,this.commentsDialogVisible=!0},closeCommentsDialog(){this.commentsDialogVisible=!1,setTimeout(()=>{this.selectedGroup=null},300)},openPrayerDialog(e){this.selectedGroup=e,this.prayerDialogVisible=!0},closePrayerDialog(){this.prayerDialogVisible=!1,setTimeout(()=>{this.commentsDialogVisible||(this.selectedGroup=null)},300)},handlePrayerConfirmed(){}}},ub={class:"app-container"},pb={key:1,class:"wall-error"};function db(e,t,o,n,a,s){const r=Tn("source-selector"),i=Tn("people-groups-wall"),l=Tn("comments-dialog"),c=Tn("prayer-dialog");return ue(),we("div",ub,[Se(r),a.ready?(ue(),zo(i,{key:0,onOpenComments:s.openCommentsDialog,onOpenPrayer:s.openPrayerDialog},null,8,["onOpenComments","onOpenPrayer"])):a.error?(ue(),we("div",pb,"The wall could not load its drawing library: "+ye(a.error),1)):Ue("",!0),Se(l,{visible:a.commentsDialogVisible,group:a.selectedGroup,onClose:s.closeCommentsDialog},null,8,["visible","group","onClose"]),Se(c,{"is-open":a.prayerDialogVisible,group:a.selectedGroup,onClose:s.closePrayerDialog,onPrayerConfirmed:s.handlePrayerConfirmed},null,8,["is-open","group","onClose","onPrayerConfirmed"])])}const gb=Object.freeze(Object.defineProperty({__proto__:null,default:Lo(cb,[["render",db],["styles",[sb,ab]]])},Symbol.toStringTag,{value:"Module"}))})();
|