winga-chart-plotter-signalk 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{t as n}from"./maplibre-gl-TciDBW6i.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var r={},i=Symbol(`uninitialized`),a=`http://www.w3.org/1999/xhtml`,o=`http://www.w3.org/2000/svg`,s=`http://www.w3.org/1998/Math/MathML`,c=Array.isArray,l=Array.prototype.indexOf,u=Array.prototype.includes,d=Array.from,f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,h=Object.prototype,g=Array.prototype,_=Object.getPrototypeOf,v=Object.isExtensible,y=()=>{};function b(e){for(var t=0;t<e.length;t++)e[t]()}function x(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function S(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var C=1024,w=2048,T=4096,E=8192,ee=16384,D=32768,te=1<<25,O=65536,k=1<<19,ne=1<<20,re=1<<25,ie=65536,ae=1<<21,oe=1<<22,se=1<<23,ce=Symbol(`$state`),le=Symbol(``),ue=Symbol(`attributes`),de=Symbol(`class`),fe=Symbol(`style`),pe=Symbol(`text`),me=Symbol(`form reset`),he=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ge=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function _e(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function ve(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ye(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function be(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function xe(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Se(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Ce(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function we(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Te(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Ee(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function De(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}function Oe(){console.warn(`https://svelte.dev/e/derived_inert`)}function ke(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ae(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function je(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var A=!1;function Me(e){A=e}var j;function Ne(e){if(e===null)throw ke(),r;return j=e}function Pe(){return Ne(yn(j))}function M(e){if(A){if(yn(j)!==null)throw ke(),r;j=e}}function Fe(e=1){if(A){for(var t=e,n=j;t--;)n=yn(n);j=n}}function Ie(e=!0){for(var t=0,n=j;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=yn(n);e&&n.remove(),n=i}}function Le(e){if(!e||e.nodeType!==8)throw ke(),r;return e.data}function Re(e){return e===this.v}function ze(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Be(e){return!ze(e,this.v)}var Ve=!1,He=!1,Ue=null;function We(e){Ue=e}function Ge(e,t=!1,n){Ue={p:Ue,i:!1,c:null,e:null,s:e,x:null,r:z,l:He&&!t?{s:null,u:null,$:[]}:null}}function Ke(e){var t=Ue,n=t.e;if(n!==null){t.e=null;for(var r of n)Fn(r)}return e!==void 0&&(t.x=e),t.i=!0,Ue=t.p,e??{}}function qe(){return!He||Ue!==null&&Ue.l===null}var Je=[];function Ye(){var e=Je;Je=[],b(e)}function Xe(e){if(Je.length===0&&!vt){var t=Je;queueMicrotask(()=>{t===Je&&Ye()})}Je.push(e)}function Ze(){for(;Je.length>0;)Ye()}function Qe(e){var t=z;if(t===null)return R.f|=se,e;if(!(t.f&32768)&&!(t.f&4))throw e;$e(e,t)}function $e(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var et=~(w|T|C);function tt(e,t){e.f=e.f&et|t}function nt(e){e.f&512||e.deps===null?tt(e,C):tt(e,T)}function rt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ie,rt(t.deps))}function it(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),rt(e.deps),tt(e,C)}function at(e,t,n){if(e==null)return t(void 0),n&&n(void 0),y;let r=Dr(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}var ot=[];function st(e,t=y){let n=null,r=new Set;function i(t){if(ze(e,t)&&(e=t,n)){let t=!ot.length;for(let t of r)t[1](),ot.push(t,e);if(t){for(let e=0;e<ot.length;e+=2)ot[e][0](ot[e+1]);ot.length=0}}}function a(t){i(t(e))}function o(o,s=y){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||y),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}function ct(e){let t;return at(e,e=>t=e)(),t}var lt=!1,ut=Symbol(`unmounted`);function dt(e,t,n){let r=n[t]??={store:null,source:nn(void 0),unsubscribe:y};if(r.store!==e&&!(ut in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=y;else{var i=!0;r.unsubscribe=at(e,e=>{i?r.source.v=e:F(r.source,e)}),i=!1}return e&&ut in n?ct(e):B(r.source)}function ft(){let e={};function t(){Nn(()=>{for(var t in e)e[t].unsubscribe();f(e,ut,{enumerable:!1,value:!0})})}return[e,t]}var pt=null,mt=null,N=null,ht=null,gt=null,_t=null,vt=!1,yt=!1,bt=null,xt=null,St=0,Ct=1,wt=class e{id=Ct++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)tt(r,w),t(r);for(r of n.m)tt(r,T),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,St++>1e3&&(this.#w(),Et()),!this.#g()){for(let e of this.#d)this.#f.delete(e),tt(e,w),this.schedule(e);for(let e of this.#f)tt(e,T),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=bt=[],r=[],i=xt=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw Nt(e),t}if(N=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(bt=null,xt=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)Mt(e,t);i.length>0&&N.#_();return}let o=this.#y();if(o){o.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),ht=this,Ot(r),Ot(n),ht=null,this.#c?.resolve();var s=N;if(this.linked&&this.#o===0&&this.#w(),Ve&&!this.linked&&(this.#S(),N=s),this.#l.length>0){s===null&&(s=this,this.#C());let e=s;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}s!==null&&s.#_()}#v(e,t,n){e.f^=C;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=C:i&4?t.push(r):Ve&&i&16777224?n.push(r):vr(r)&&(i&16&&this.#f.add(r),Cr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),tt(i,w),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#w(),N=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)it(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==i&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),gt?.set(e,t)),this.is_fork||(e.v=t)}activate(){N=this}deactivate(){N=null,gt=null}flush(){try{yt=!0,N=this,this.#_()}finally{St=0,_t=null,bt=null,xt=null,yt=!1,N=null,gt=null,$t.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#w()}register_created_effect(e){this.#u.push(e)}#S(){this.#w();for(let l=pt;l!==null;l=l.#n){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=l.async_deriveds.get(e);n&&t.promise.then(n.resolve)}if(l.#e){var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){if(e)for(let e of this.#m)l.unskip_effect(e,e=>{e.f&4194320?l.schedule(e):l.#x([e])});l.activate();var i=new Set,a=new Map;for(var o of t)kt(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e.v:!0);if(s.length>0)for(let e of this.#u)!(e.f&155648)&&At(e,s,a)&&(e.f&4194320?(tt(e,w),l.schedule(e)):l.#d.add(e));if(l.#l.length>0&&!l.#h){l.apply();for(var c of l.#l)l.#v(c,[],[]);l.#l=[]}l.deactivate()}}}}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,Xe(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=x()).promise}static ensure(){if(N===null){let t=N=new e;t.#C(),!yt&&!vt&&Xe(()=>{t.#e||t.flush()})}return N}apply(){if(!Ve||!this.is_fork&&this.#t===null&&this.#n===null){gt=null;return}gt=new Map;for(let[e,[t]]of this.current)gt.set(e,t);for(let t=pt;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)gt.has(e)||gt.set(e,n)}}schedule(e){if(_t=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(bt!==null&&t===z&&(Ve||(R===null||!(R.f&2))&&!lt))return;if(n&96){if(!(n&1024))return;t.f^=C}}this.#l.push(t)}#C(){mt===null?pt=mt=this:(mt.#n=this,this.#t=mt),mt=this}#w(){var e=this.#t,t=this.#n;e===null?pt=t:e.#n=t,t===null?mt=e:t.#t=e,this.linked=!1}};function Tt(e){var t=vt;vt=!0;try{var n;for(e&&(N!==null&&!N.is_fork&&N.flush(),n=e());;){if(Ze(),N===null)return n;N.flush()}}finally{vt=t}}function Et(){try{Ce()}catch(e){$e(e,_t)}}var Dt=null;function Ot(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&vr(r)&&(Dt=new Set,Cr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Jn(r),Dt?.size>0)){$t.clear();for(let e of Dt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Dt.has(n)&&(Dt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Cr(n)}}Dt.clear()}}Dt=null}}function kt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?kt(i,t,n,r):e&4194320&&!(e&2048)&&At(i,t,r)&&(tt(i,w),jt(i))}}function At(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(u.call(t,r))return!0;if(r.f&2&&At(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function jt(e){N.schedule(e)}function Mt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),tt(e,C);for(var n=e.first;n!==null;)Mt(n,t),n=n.next}}function Nt(e){tt(e,C);for(var t=e.first;t!==null;)Nt(t),t=t.next}function Pt(e){let t=0,n=tn(0),r;return()=>{Mn()&&(B(n),zn(()=>(t===0&&(r=Dr(()=>e(()=>sn(n)))),t+=1,()=>{Xe(()=>{--t,t===0&&(r?.(),r=void 0,sn(n))})})))}}var Ft=O|k;function It(e,t,n,r){new Lt(e,t,n,r)}var Lt=class{parent;is_pending=!1;transform_error;#e;#t=A?j:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Pt(()=>(this.#m=tn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=z;t.b=this,t.f|=128,n(e)},this.parent=z.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Vn(()=>{if(A){let e=this.#t;Pe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},Ft),A&&(this.#e=j)}#g(){try{this.#a=Hn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Hn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Hn(()=>e(this.#e)),Xe(()=>{var e=this.#c=document.createDocumentFragment(),t=_n();e.append(t),this.#a=this.#x(()=>Hn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Yn(this.#o,()=>{this.#o=null}),this.#b(N))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Hn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();$n(this.#a,e);let t=this.#n.pending;this.#o=Hn(()=>t(this.#e))}else this.#b(N)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){it(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=z,n=R,r=Ue;or(this.#i),ar(this.#i),We(this.#i.ctx);try{return wt.ensure(),e()}catch(e){return Qe(e),null}finally{or(t),ar(n),We(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Yn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Xe(()=>{this.#d=!1,this.#m&&rn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),B(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;N?.is_fork?(this.#a&&N.skip_effect(this.#a),this.#o&&N.skip_effect(this.#o),this.#s&&N.skip_effect(this.#s),N.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Kn(this.#a),null),this.#o&&=(Kn(this.#o),null),this.#s&&=(Kn(this.#s),null),A&&(Ne(this.#t),Fe(),Ne(Ie()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){je();return}r=!0,i&&De(),this.#s!==null&&Yn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){$e(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Hn(()=>{var t=z;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return $e(e,this.#i.parent),null}}))};Xe(()=>{var t;try{t=this.transform_error(e)}catch(e){$e(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>$e(e,this.#i&&this.#i.parent)):o(t)})}};function Rt(e,t,n,r){let i=qe()?Ht:Kt;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=z,s=zt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){$e(e,o)}Bt()}}var u=Vt();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>Wt(e))).then(e=>l([...t.map(i),...e])).catch(e=>$e(e,o)).finally(u)}c?c.then(()=>{s(),d(),Bt()}):d()}function zt(){var e=z,t=R,n=Ue,r=N;return function(i=!0){or(e),ar(t),We(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Bt(e=!0){or(null),ar(null),We(null),e&&N?.deactivate()}function Vt(){var e=z,t=e.b,n=N,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function Ht(e){var t=2|w;return z!==null&&(z.f|=k),{ctx:Ue,deps:null,effects:null,equals:Re,f:t,fn:e,reactions:null,rv:0,v:i,wv:0,parent:z,ac:null}}var Ut=Symbol(`obsolete`);function Wt(e,t,n){let r=z;r===null&&ve();var a=void 0,o=tn(i),s=!R,c=new Set;return Rn(()=>{var t=z,n=x();a=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==he&&n.reject(e)}).finally(Bt)}catch(e){n.reject(e),Bt()}var i=N;if(s){if(t.f&32768)var l=Vt();if(r.b.is_rendered())i.async_deriveds.get(t)?.reject(Ut);else for(let e of c.values())e.reject(Ut);c.add(n),i.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),c.delete(n),t!==Ut&&(i.activate(),t?(o.f|=se,rn(o,t)):(o.f&8388608&&(o.f^=se),rn(o,e)),i.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Nn(()=>{for(let e of c)e.reject(Ut)}),new Promise(e=>{function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}t(a)})}function Gt(e){let t=Ht(e);return Ve||cr(t),t}function Kt(e){let t=Ht(e);return t.equals=Be,t}function qt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Kn(t[n])}}function Jt(e){var t,n=z,r=e.parent;if(!nr&&r!==null&&e.v!==i&&r.f&24576)return Oe(),e.v;or(r);try{e.f&=~ie,qt(e),t=br(e)}finally{or(n)}return t}function Yt(e){var t=Jt(e);if(!e.equals(t)&&(e.wv=_r(),(!N?.is_fork||e.deps===null)&&(N===null?e.v=t:(N.capture(e,t,!0),ht?.capture(e,t,!0)),e.deps===null))){tt(e,C);return}nr||(gt===null?nt(e):(Mn()||N?.is_fork)&>.set(e,t))}function Xt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(he),t.fn!==null&&(t.teardown=y),t.ac=null,Sr(t,0),Wn(t))}function Zt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Cr(t)}var Qt=new Set,$t=new Map,en=!1;function tn(e,t){return{f:0,v:e,reactions:null,equals:Re,rv:0,wv:0}}function P(e,t){let n=tn(e,t);return cr(n),n}function nn(e,t=!1,n=!0){let r=tn(e);return t||(r.equals=Be),He&&n&&Ue!==null&&Ue.l!==null&&(Ue.l.s??=[]).push(r),r}function F(e,t,n=!1){return R!==null&&(!ir||R.f&131072)&&qe()&&R.f&4325394&&(sr===null||!u.call(sr,e))&&Ee(),rn(e,n?ln(t):t,xt)}function rn(e,t,n=null){if(!e.equals(t)){$t.set(e,nr?t:e.v);var r=wt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&Jt(t),gt===null&&nt(t)}e.wv=_r(),cn(e,w,n),qe()&&z!==null&&z.f&1024&&!(z.f&96)&&(dr===null?fr([e]):dr.push(e)),!r.is_fork&&Qt.size>0&&!en&&an()}return t}function an(){en=!1;for(let e of Qt){e.f&1024&&tt(e,T);let t;try{t=vr(e)}catch{t=!0}t&&Cr(e)}Qt.clear()}function on(e,t=1){var n=B(e),r=t===1?n++:n--;return F(e,n),r}function sn(e){F(e,e.v+1)}function cn(e,t,n){var r=e.reactions;if(r!==null)for(var i=qe(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===z)){var l=(c&w)===0;if(l&&tt(s,t),c&131072)Qt.add(s);else if(c&2){var u=s;gt?.delete(u),c&65536||(c&512&&(z===null||!(z.f&2097152))&&(s.f|=ie),cn(u,T,n))}else if(l){var d=s;c&16&&Dt!==null&&Dt.add(d),n===null?jt(d):n.push(d)}}}}function ln(e){if(typeof e!=`object`||!e||ce in e)return e;let t=_(e);if(t!==h&&t!==g)return e;var n=new Map,r=c(e),a=P(0),o=null,s=hr,l=e=>{if(hr===s)return e();var t=R,n=hr;ar(null),gr(s);var r=e();return ar(t),gr(n),r};return r&&n.set(`length`,P(e.length,o)),new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&we();var i=n.get(t);return i===void 0?l(()=>{var e=P(r.value,o);return n.set(t,e),e}):F(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=l(()=>P(i,o));n.set(t,e),sn(a)}}else F(r,i),sn(a);return!0},get(t,r,a){if(r===ce)return e;var s=n.get(r),c=r in t;if(s===void 0&&(!c||p(t,r)?.writable)&&(s=l(()=>P(ln(c?t[r]:i),o)),n.set(r,s)),s!==void 0){var u=B(s);return u===i?void 0:u}return Reflect.get(t,r,a)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var a=n.get(t);a&&(r.value=B(a))}else if(r===void 0){var o=n.get(t),s=o?.v;if(o!==void 0&&s!==i)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return r},has(e,t){if(t===ce)return!0;var r=n.get(t),a=r!==void 0&&r.v!==i||Reflect.has(e,t);return(r!==void 0||z!==null&&(!a||p(e,t)?.writable))&&(r===void 0&&(r=l(()=>P(a?ln(e[t]):i,o)),n.set(t,r)),B(r)===i)?!1:a},set(e,t,s,c){var u=n.get(t),d=t in e;if(r&&t===`length`)for(var f=s;f<u.v;f+=1){var m=n.get(f+``);m===void 0?f in e&&(m=l(()=>P(i,o)),n.set(f+``,m)):F(m,i)}if(u===void 0)(!d||p(e,t)?.writable)&&(u=l(()=>P(void 0,o)),F(u,ln(s)),n.set(t,u));else{d=u.v!==i;var h=l(()=>ln(s));F(u,h)}var g=Reflect.getOwnPropertyDescriptor(e,t);if(g?.set&&g.set.call(c,s),!d){if(r&&typeof t==`string`){var _=n.get(`length`),v=Number(t);Number.isInteger(v)&&v>=_.v&&F(_,v+1)}sn(a)}return!0},ownKeys(e){B(a);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==i});for(var[r,o]of n)o.v!==i&&!(r in e)&&t.push(r);return t},setPrototypeOf(){Te()}})}function un(e){try{if(typeof e==`object`&&e&&ce in e)return e[ce]}catch{}return e}function dn(e,t){return Object.is(un(e),un(t))}new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);var fn,pn,mn,hn;function gn(){if(fn===void 0){fn=window,pn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;mn=p(t,`firstChild`).get,hn=p(t,`nextSibling`).get,v(e)&&(e[de]=void 0,e[ue]=null,e[fe]=void 0,e.__e=void 0),v(n)&&(n[pe]=void 0)}}function _n(e=``){return document.createTextNode(e)}function vn(e){return mn.call(e)}function yn(e){return hn.call(e)}function I(e,t){if(!A)return vn(e);var n=vn(j);if(n===null)n=j.appendChild(_n());else if(t&&n.nodeType!==3){var r=_n();return n?.before(r),Ne(r),r}return t&&wn(n),Ne(n),n}function bn(e,t=!1){if(!A){var n=vn(e);return n instanceof Comment&&n.data===``?yn(n):n}if(t){if(j?.nodeType!==3){var r=_n();return j?.before(r),Ne(r),r}wn(j)}return j}function L(e,t=1,n=!1){let r=A?j:e;for(var i;t--;)i=r,r=yn(r);if(!A)return r;if(n){if(r?.nodeType!==3){var a=_n();return r===null?i?.after(a):r.before(a),Ne(a),a}wn(r)}return Ne(r),r}function xn(e){e.textContent=``}function Sn(){return!Ve||Dt!==null?!1:(z.f&D)!==0}function Cn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function wn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}var Tn=!1;function En(){Tn||(Tn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[me]?.()})},{capture:!0}))}function Dn(e){var t=R,n=z;ar(null),or(null);try{return e()}finally{ar(t),or(n)}}function On(e,t,n,r=n){e.addEventListener(t,()=>Dn(n));let i=e[me];i?e[me]=()=>{i(),r(!0)}:e[me]=()=>r(!0),En()}function kn(e){z===null&&(R===null&&Se(e),xe()),nr&&be(e)}function An(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function jn(e,t){var n=z;n!==null&&n.f&8192&&(e|=E);var r={ctx:Ue,deps:null,nodes:null,f:e|w|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};N?.register_created_effect(r);var i=r;if(e&4)bt===null?wt.ensure().schedule(r):bt.push(r);else if(t!==null){try{Cr(r)}catch(e){throw Kn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=O))}if(i!==null&&(i.parent=n,n!==null&&An(i,n),R!==null&&R.f&2&&!(e&64))){var a=R;(a.effects??=[]).push(i)}return r}function Mn(){return R!==null&&!ir}function Nn(e){let t=jn(8,null);return tt(t,C),t.teardown=e,t}function Pn(e){kn(`$effect`);var t=z.f;if(!R&&t&32&&!(t&32768)){var n=Ue;(n.e??=[]).push(e)}else return Fn(e)}function Fn(e){return jn(4|ne,e)}function In(e){wt.ensure();let t=jn(64|k,e);return(e={})=>new Promise(n=>{e.outro?Yn(t,()=>{Kn(t),n(void 0)}):(Kn(t),n(void 0))})}function Ln(e){return jn(4,e)}function Rn(e){return jn(oe|k,e)}function zn(e,t=0){return jn(8|t,e)}function Bn(e,t=[],n=[],r=[]){Rt(r,t,n,t=>{jn(8,()=>e(...t.map(B)))})}function Vn(e,t=0){return jn(16|t,e)}function Hn(e){return jn(32|k,e)}function Un(e){var t=e.teardown;if(t!==null){let e=nr,n=R;rr(!0),ar(null);try{t.call(null)}finally{rr(e),ar(n)}}}function Wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Dn(()=>{e.abort(he)});var r=n.next;n.f&64?n.parent=null:Kn(n,t),n=r}}function Gn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Kn(t),t=n}}function Kn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(qn(e.nodes.start,e.nodes.end),n=!0),tt(e,te),Wn(e,t&&!n),Sr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Un(e),e.f^=te,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&Jn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qn(e,t){for(;e!==null;){var n=e===t?null:yn(e);e.remove(),e=n}}function Jn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Yn(e,t,n=!0){var r=[];Xn(e,r,!0);var i=()=>{n&&Kn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Xn(e,t,n){if(!(e.f&8192)){e.f^=E;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Xn(i,t,o?n:!1)}i=a}}}function Zn(e){Qn(e,!0)}function Qn(e,t){if(e.f&8192){e.f^=E,e.f&1024||(tt(e,w),wt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Qn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function $n(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:yn(n);t.append(n),n=i}}var er=null,tr=!1,nr=!1;function rr(e){nr=e}var R=null,ir=!1;function ar(e){R=e}var z=null;function or(e){z=e}var sr=null;function cr(e){R!==null&&(!Ve||R.f&2)&&(sr===null?sr=[e]:sr.push(e))}var lr=null,ur=0,dr=null;function fr(e){dr=e}var pr=1,mr=0,hr=mr;function gr(e){hr=e}function _r(){return++pr}function vr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ie),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(vr(a)&&Yt(a),a.wv>e.wv)return!0}t&512&>===null&&tt(e,C)}return!1}function yr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!Ve&&sr!==null&&u.call(sr,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?yr(a,t,!1):t===a&&(n?tt(a,w):a.f&1024&&tt(a,T),jt(a))}}function br(e){var t=lr,n=ur,r=dr,i=R,a=sr,o=Ue,s=ir,c=hr,l=e.f;lr=null,ur=0,dr=null,R=l&96?null:e,sr=null,We(e.ctx),ir=!1,hr=++mr,e.ac!==null&&(Dn(()=>{e.ac.abort(he)}),e.ac=null);try{e.f|=ae;var u=e.fn,d=u();e.f|=D;var f=e.deps,p=N?.is_fork;if(lr!==null){var m;if(p||Sr(e,ur),f!==null&&ur>0)for(f.length=ur+lr.length,m=0;m<lr.length;m++)f[ur+m]=lr[m];else e.deps=f=lr;if(Mn()&&e.f&512)for(m=ur;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&ur<f.length&&(Sr(e,ur),f.length=ur);if(qe()&&dr!==null&&!ir&&f!==null&&!(e.f&6146))for(m=0;m<dr.length;m++)yr(dr[m],e);if(i!==null&&i!==e){if(mr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=mr;if(t!==null)for(let e of t)e.rv=mr;dr!==null&&(r===null?r=dr:r.push(...dr))}return e.f&8388608&&(e.f^=se),d}catch(e){return Qe(e)}finally{e.f^=ae,lr=t,ur=n,dr=r,R=i,sr=a,We(o),ir=s,hr=c}}function xr(e,t){let n=t.reactions;if(n!==null){var r=l.call(n,e);if(r!==-1){var a=n.length-1;a===0?n=t.reactions=null:(n[r]=n[a],n.pop())}}if(n===null&&t.f&2&&(lr===null||!u.call(lr,t))){var o=t;o.f&512&&(o.f^=512,o.f&=~ie),o.v!==i&&nt(o),Xt(o),Sr(o,0)}}function Sr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)xr(e,n[r])}function Cr(e){var t=e.f;if(!(t&16384)){tt(e,C);var n=z,r=tr;z=e,tr=!0;try{t&16777232?Gn(e):Wn(e),Un(e);var i=br(e);e.teardown=typeof i==`function`?i:null,e.wv=pr}finally{tr=r,z=n}}}async function wr(){if(Ve)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Tt()}function B(e){var t=(e.f&2)!=0;if(er?.add(e),R!==null&&!ir&&!(z!==null&&z.f&16384)&&(sr===null||!u.call(sr,e))){var n=R.deps;if(R.f&2097152)e.rv<mr&&(e.rv=mr,lr===null&&n!==null&&n[ur]===e?ur++:lr===null?lr=[e]:lr.push(e));else{R.deps??=[],u.call(R.deps,e)||R.deps.push(e);var r=e.reactions;r===null?e.reactions=[R]:u.call(r,R)||r.push(R)}}if(nr&&$t.has(e))return $t.get(e);if(t){var i=e;if(nr){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||Er(i))&&(a=Jt(i)),$t.set(i,a),a}var o=(i.f&512)==0&&!ir&&R!==null&&(tr||(R.f&512)!=0),s=(i.f&D)===0;vr(i)&&(o&&(i.f|=512),Yt(i)),o&&!s&&(Zt(i),Tr(i))}if(gt?.has(e))return gt.get(e);if(e.f&8388608)throw e.v;return e.v}function Tr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Zt(t),Tr(t))}function Er(e){if(e.v===i)return!0;if(e.deps===null)return!1;for(let t of e.deps)if($t.has(t)||t.f&2&&Er(t))return!0;return!1}function Dr(e){var t=ir;try{return ir=!0,e()}finally{ir=t}}var Or=Symbol(`events`),kr=new Set,Ar=new Set;function V(e,t,n){(t[Or]??={})[e]=n}function jr(e){for(var t=0;t<e.length;t++)kr.add(e[t]);for(var n of Ar)n(e)}var Mr=null;function Nr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;Mr=e;var o=0,s=Mr===e&&e[Or];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[Or]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){f(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=R,d=z;ar(null),or(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Or]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Or]=t,delete e.currentTarget,ar(u),or(d)}}}var Pr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Fr(e){return Pr?.createHTML(e)??e}function Ir(e){var t=Cn(`template`);return t.innerHTML=Fr(e.replaceAll(`<!>`,`<!---->`)),t.content}function Lr(e,t){var n=z;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function H(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(A)return Lr(j,null),j;i===void 0&&(i=Ir(a?e:`<!>`+e),n||(i=vn(i)));var t=r||pn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=vn(t),s=t.lastChild;Lr(o,s)}else Lr(t,t);return t}}function Rr(){if(A)return Lr(j,null),j;var e=document.createDocumentFragment(),t=document.createComment(``),n=_n();return e.append(t,n),Lr(t,n),e}function U(e,t){if(A){var n=z;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=j),Pe();return}e!==null&&e.before(t)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var zr=[`touchstart`,`touchmove`];function Br(e){return zr.includes(e)}function Vr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[pe]??=e.nodeValue)&&(e[pe]=n,e.nodeValue=`${n}`)}function Hr(e,t){return Wr(e,t)}var Ur=new Map;function Wr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){gn();var l=void 0,u=In(()=>{var s=n??t.appendChild(_n());It(s,{pending:()=>{}},t=>{Ge({});var n=Ue;if(o&&(n.c=o),a&&(i.$$events=a),A&&Lr(t,null),l=e(t,i)||{},A&&(z.nodes.end=j,j===null||j.nodeType!==8||j.data!==`]`))throw ke(),r;Ke()},c);var u=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Br(r);for(let e of[t,document]){var a=Ur.get(e);a===void 0&&(a=new Map,Ur.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Nr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(d(kr)),Ar.add(f),()=>{for(var e of u)for(let n of[t,document]){var r=Ur.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Nr),r.delete(e),r.size===0&&Ur.delete(n)):r.set(e,i)}Ar.delete(f),s!==n&&s.parentNode?.removeChild(s)}});return Gr.set(l,u),l}var Gr=new WeakMap,Kr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Zn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Kn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();$n(r,t),t.append(_n()),this.#n.set(e,{effect:r,fragment:t})}else Kn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Yn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Kn(n.effect),this.#n.delete(e))};ensure(e,t){var n=N,r=Sn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=_n();i.append(a),this.#n.set(e,{effect:Hn(()=>t(a)),fragment:i})}else this.#t.set(e,Hn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else A&&(this.anchor=j),this.#a(n)}};function qr(e){Ue===null&&_e(`onMount`),He&&Ue.l!==null?Yr(Ue).m.push(e):Pn(()=>{let t=Dr(e);if(typeof t==`function`)return t})}function Jr(e){Ue===null&&_e(`onDestroy`),qr(()=>()=>Dr(e))}function Yr(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}function Xr(e,t,n=!1){var r;A&&(r=j,Pe());var i=new Kr(e),a=n?O:0;function o(e,t){if(A){var n=Le(r);if(e!==parseInt(n.substring(1))){var a=Ie();Ne(a),i.anchor=a,Me(!1),i.ensure(e,t),Me(!0);return}}i.ensure(e,t)}Vn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Zr(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];Yn(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;Qr(e,d(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else --o},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var l=n,u=l.parentNode;xn(u),u.append(l),e.items.clear()}Qr(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Qr(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=re,$n(a,document.createDocumentFragment())):Kn(t[i],n)}}var $r;function ei(e,t,n,r,i,a=null){var o=e,s=new Map;if(t&4){var l=e;o=A?Ne(vn(l)):l.appendChild(_n())}A&&Pe();var u=null,f=Kt(()=>{var e=n();return c(e)?e:e==null?[]:d(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=u,ni(v,p,o,t,r),u!==null&&(p.length===0?u.f&33554432?(u.f^=re,ii(u,null,o)):Zn(u):Yn(u,()=>{u=null})))}function _(e){v.pending.delete(e)}var v={effect:Vn(()=>{p=B(f);var e=p.length;let c=!1;A&&Le(o)===`[!`!=(e===0)&&(o=Ie(),Ne(o),Me(!1),c=!0);for(var l=new Set,d=N,v=Sn(),y=0;y<e;y+=1){A&&j.nodeType===8&&j.data===`]`&&(o=j,c=!0,Me(!1));var b=p[y],x=r(b,y),S=h?null:s.get(x);S?(S.v&&rn(S.v,b),S.i&&rn(S.i,y),v&&d.unskip_effect(S.e)):(S=ri(s,h?o:$r??=_n(),b,x,y,i,t,n),h||(S.e.f|=re),s.set(x,S)),l.add(x)}if(e===0&&a&&!u&&(h?u=Hn(()=>a(o)):(u=Hn(()=>a($r??=_n())),u.f|=re)),e>l.size&&ye(``,``,``),A&&e>0&&Ne(Ie()),!h)if(m.set(d,l),v){for(let[e,t]of s)l.has(e)||d.skip_effect(t.e);d.oncommit(g),d.ondiscard(_)}else g(d);c&&Me(!0),B(f)}),flags:t,items:s,pending:m,outrogroups:null,fallback:u};h=!1,A&&(o=j)}function ti(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function ni(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,c=ti(e.effect.first),l,u=null,f,p=[],m=[],h,g,_,v;if(a)for(v=0;v<o;v+=1)h=t[v],g=i(h,v),_=s.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<o;v+=1){if(h=t[v],g=i(h,v),_=s.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(Zn(_),a&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=re,_===c)ii(_,null,n);else{var y=u?u.next:c;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),ai(e,u,_),ai(e,_,y),ii(_,y,n),u=_,p=[],m=[],c=ti(u.next);continue}if(_!==c){if(l!==void 0&&l.has(_)){if(p.length<m.length){var b=m[0],x;u=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)ii(p[x],b,n);for(x=0;x<m.length;x+=1)l.delete(m[x]);ai(e,S.prev,C.next),ai(e,u,S),ai(e,C,b),c=b,u=C,--v,p=[],m=[]}else l.delete(_),ii(_,c,n),ai(e,_.prev,_.next),ai(e,_,u===null?e.effect.first:u.next),ai(e,u,_),u=_;continue}for(p=[],m=[];c!==null&&c!==_;)(l??=new Set).add(c),m.push(c),c=ti(c.next);if(c===null)continue}_.f&33554432||p.push(_),u=_,c=ti(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Qr(e,d(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var w=[];if(l!==void 0)for(_ of l)_.f&8192||w.push(_);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&w.push(c),c=ti(c.next);var T=w.length;if(T>0){var E=r&4&&o===0?n:null;if(a){for(v=0;v<T;v+=1)w[v].nodes?.a?.measure();for(v=0;v<T;v+=1)w[v].nodes?.a?.fix()}Zr(e,w,E)}}a&&Xe(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function ri(e,t,n,r,i,a,o,s){var c=o&1?o&16?tn(n):nn(n,!1,!1):null,l=o&2?tn(i):null;return{v:c,i:l,e:Hn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function ii(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=yn(r);if(a.before(r),r===i)return;r=o}}function ai(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function oi(e,t,n=!1,i=!1,a=!1,c=!1){var l=e,u=``;if(n){var d=e;A&&(l=Ne(vn(d)))}Bn(()=>{var e=z;if(u===(u=t()??``)){A&&Pe();return}if(n&&!A){e.nodes=null,d.innerHTML=u,u!==``&&Lr(vn(d),d.lastChild);return}if(e.nodes!==null&&(qn(e.nodes.start,e.nodes.end),e.nodes=null),u!==``){if(A){for(var c=j.data,f=Pe(),p=f;f!==null&&(f.nodeType!==8||f.data!==``);)p=f,f=yn(f);if(f===null)throw ke(),r;Lr(j,p),l=Ne(f);return}var m=Cn(i?`svg`:a?`math`:`template`,i?o:a?s:void 0);m.innerHTML=u;var h=i||a?m:m.content;if(Lr(vn(h),h.lastChild),i||a)for(;vn(h);)l.before(vn(h));else l.before(h)}})}var si=[...`
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-QTnfLwEv.js";import{t as n}from"./maplibre-gl-TciDBW6i.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var r={},i=Symbol(`uninitialized`),a=`http://www.w3.org/1999/xhtml`,o=`http://www.w3.org/2000/svg`,s=`http://www.w3.org/1998/Math/MathML`,c=Array.isArray,l=Array.prototype.indexOf,u=Array.prototype.includes,d=Array.from,f=Object.defineProperty,p=Object.getOwnPropertyDescriptor,m=Object.getOwnPropertyDescriptors,h=Object.prototype,g=Array.prototype,_=Object.getPrototypeOf,v=Object.isExtensible,y=()=>{};function b(e){for(var t=0;t<e.length;t++)e[t]()}function x(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function S(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);let n=[];for(let r of e)if(n.push(r),n.length===t)break;return n}var C=1024,w=2048,T=4096,E=8192,ee=16384,te=32768,D=1<<25,O=65536,k=1<<19,ne=1<<20,re=1<<25,ie=65536,ae=1<<21,oe=1<<22,se=1<<23,ce=Symbol(`$state`),le=Symbol(``),ue=Symbol(`attributes`),de=Symbol(`class`),fe=Symbol(`style`),pe=Symbol(`text`),me=Symbol(`form reset`),he=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ge=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function _e(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function ve(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ye(e,t,n){throw Error(`https://svelte.dev/e/each_key_duplicate`)}function be(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function xe(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Se(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function Ce(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function we(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Te(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Ee(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function De(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}function Oe(){console.warn(`https://svelte.dev/e/derived_inert`)}function ke(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Ae(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function je(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var A=!1;function Me(e){A=e}var j;function Ne(e){if(e===null)throw ke(),r;return j=e}function Pe(){return Ne(yn(j))}function M(e){if(A){if(yn(j)!==null)throw ke(),r;j=e}}function Fe(e=1){if(A){for(var t=e,n=j;t--;)n=yn(n);j=n}}function Ie(e=!0){for(var t=0,n=j;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=yn(n);e&&n.remove(),n=i}}function Le(e){if(!e||e.nodeType!==8)throw ke(),r;return e.data}function Re(e){return e===this.v}function ze(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Be(e){return!ze(e,this.v)}var Ve=!1,He=!1,Ue=null;function We(e){Ue=e}function Ge(e,t=!1,n){Ue={p:Ue,i:!1,c:null,e:null,s:e,x:null,r:z,l:He&&!t?{s:null,u:null,$:[]}:null}}function Ke(e){var t=Ue,n=t.e;if(n!==null){t.e=null;for(var r of n)Fn(r)}return e!==void 0&&(t.x=e),t.i=!0,Ue=t.p,e??{}}function qe(){return!He||Ue!==null&&Ue.l===null}var Je=[];function Ye(){var e=Je;Je=[],b(e)}function Xe(e){if(Je.length===0&&!vt){var t=Je;queueMicrotask(()=>{t===Je&&Ye()})}Je.push(e)}function Ze(){for(;Je.length>0;)Ye()}function Qe(e){var t=z;if(t===null)return R.f|=se,e;if(!(t.f&32768)&&!(t.f&4))throw e;$e(e,t)}function $e(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var et=~(w|T|C);function tt(e,t){e.f=e.f&et|t}function nt(e){e.f&512||e.deps===null?tt(e,C):tt(e,T)}function rt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ie,rt(t.deps))}function it(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),rt(e.deps),tt(e,C)}function at(e,t,n){if(e==null)return t(void 0),n&&n(void 0),y;let r=Dr(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}var ot=[];function st(e,t=y){let n=null,r=new Set;function i(t){if(ze(e,t)&&(e=t,n)){let t=!ot.length;for(let t of r)t[1](),ot.push(t,e);if(t){for(let e=0;e<ot.length;e+=2)ot[e][0](ot[e+1]);ot.length=0}}}function a(t){i(t(e))}function o(o,s=y){let c=[o,s];return r.add(c),r.size===1&&(n=t(i,a)||y),o(e),()=>{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:a,subscribe:o}}function ct(e){let t;return at(e,e=>t=e)(),t}var lt=!1,ut=Symbol(`unmounted`);function dt(e,t,n){let r=n[t]??={store:null,source:nn(void 0),unsubscribe:y};if(r.store!==e&&!(ut in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=y;else{var i=!0;r.unsubscribe=at(e,e=>{i?r.source.v=e:F(r.source,e)}),i=!1}return e&&ut in n?ct(e):B(r.source)}function ft(){let e={};function t(){Nn(()=>{for(var t in e)e[t].unsubscribe();f(e,ut,{enumerable:!1,value:!0})})}return[e,t]}var pt=null,mt=null,N=null,ht=null,gt=null,_t=null,vt=!1,yt=!1,bt=null,xt=null,St=0,Ct=1,wt=class e{id=Ct++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)tt(r,w),t(r);for(r of n.m)tt(r,T),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,St++>1e3&&(this.#w(),Et()),!this.#g()){for(let e of this.#d)this.#f.delete(e),tt(e,w),this.schedule(e);for(let e of this.#f)tt(e,T),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=bt=[],r=[],i=xt=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw Nt(e),t}if(N=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(bt=null,xt=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)Mt(e,t);i.length>0&&N.#_();return}let o=this.#y();if(o){o.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),ht=this,Ot(r),Ot(n),ht=null,this.#c?.resolve();var s=N;if(this.linked&&this.#o===0&&this.#w(),Ve&&!this.linked&&(this.#S(),N=s),this.#l.length>0){s===null&&(s=this,this.#C());let e=s;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}s!==null&&s.#_()}#v(e,t,n){e.f^=C;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=C:i&4?t.push(r):Ve&&i&16777224?n.push(r):vr(r)&&(i&16&&this.#f.add(r),Cr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),tt(i,w),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#w(),N=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)it(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==i&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),gt?.set(e,t)),this.is_fork||(e.v=t)}activate(){N=this}deactivate(){N=null,gt=null}flush(){try{yt=!0,N=this,this.#_()}finally{St=0,_t=null,bt=null,xt=null,yt=!1,N=null,gt=null,$t.clear()}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#w()}register_created_effect(e){this.#u.push(e)}#S(){this.#w();for(let l=pt;l!==null;l=l.#n){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}if(e)for(let[e,t]of this.async_deriveds){let n=l.async_deriveds.get(e);n&&t.promise.then(n.resolve)}if(l.#e){var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){if(e)for(let e of this.#m)l.unskip_effect(e,e=>{e.f&4194320?l.schedule(e):l.#x([e])});l.activate();var i=new Set,a=new Map;for(var o of t)kt(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e.v:!0);if(s.length>0)for(let e of this.#u)!(e.f&155648)&&At(e,s,a)&&(e.f&4194320?(tt(e,w),l.schedule(e)):l.#d.add(e));if(l.#l.length>0&&!l.#h){l.apply();for(var c of l.#l)l.#v(c,[],[]);l.#l=[]}l.deactivate()}}}}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,Xe(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=x()).promise}static ensure(){if(N===null){let t=N=new e;t.#C(),!yt&&!vt&&Xe(()=>{t.#e||t.flush()})}return N}apply(){if(!Ve||!this.is_fork&&this.#t===null&&this.#n===null){gt=null;return}gt=new Map;for(let[e,[t]]of this.current)gt.set(e,t);for(let t=pt;t!==null;t=t.#n)if(!(t===this||t.is_fork)){var e=!1;if(t.id<this.id){for(let[n,[,r]]of t.current)if(!r&&this.current.has(n)){e=!0;break}}if(!e)for(let[e,n]of t.previous)gt.has(e)||gt.set(e,n)}}schedule(e){if(_t=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(bt!==null&&t===z&&(Ve||(R===null||!(R.f&2))&&!lt))return;if(n&96){if(!(n&1024))return;t.f^=C}}this.#l.push(t)}#C(){mt===null?pt=mt=this:(mt.#n=this,this.#t=mt),mt=this}#w(){var e=this.#t,t=this.#n;e===null?pt=t:e.#n=t,t===null?mt=e:t.#t=e,this.linked=!1}};function Tt(e){var t=vt;vt=!0;try{var n;for(e&&(N!==null&&!N.is_fork&&N.flush(),n=e());;){if(Ze(),N===null)return n;N.flush()}}finally{vt=t}}function Et(){try{Ce()}catch(e){$e(e,_t)}}var Dt=null;function Ot(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&vr(r)&&(Dt=new Set,Cr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Jn(r),Dt?.size>0)){$t.clear();for(let e of Dt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Dt.has(n)&&(Dt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Cr(n)}}Dt.clear()}}Dt=null}}function kt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?kt(i,t,n,r):e&4194320&&!(e&2048)&&At(i,t,r)&&(tt(i,w),jt(i))}}function At(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(u.call(t,r))return!0;if(r.f&2&&At(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function jt(e){N.schedule(e)}function Mt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),tt(e,C);for(var n=e.first;n!==null;)Mt(n,t),n=n.next}}function Nt(e){tt(e,C);for(var t=e.first;t!==null;)Nt(t),t=t.next}function Pt(e){let t=0,n=tn(0),r;return()=>{Mn()&&(B(n),zn(()=>(t===0&&(r=Dr(()=>e(()=>sn(n)))),t+=1,()=>{Xe(()=>{--t,t===0&&(r?.(),r=void 0,sn(n))})})))}}var Ft=O|k;function It(e,t,n,r){new Lt(e,t,n,r)}var Lt=class{parent;is_pending=!1;transform_error;#e;#t=A?j:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Pt(()=>(this.#m=tn(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=z;t.b=this,t.f|=128,n(e)},this.parent=z.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Vn(()=>{if(A){let e=this.#t;Pe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},Ft),A&&(this.#e=j)}#g(){try{this.#a=Hn(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=Hn(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=Hn(()=>e(this.#e)),Xe(()=>{var e=this.#c=document.createDocumentFragment(),t=_n();e.append(t),this.#a=this.#x(()=>Hn(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Yn(this.#o,()=>{this.#o=null}),this.#b(N))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=Hn(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();$n(this.#a,e);let t=this.#n.pending;this.#o=Hn(()=>t(this.#e))}else this.#b(N)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){it(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=z,n=R,r=Ue;or(this.#i),ar(this.#i),We(this.#i.ctx);try{return wt.ensure(),e()}catch(e){return Qe(e),null}finally{or(t),ar(n),We(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Yn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,Xe(()=>{this.#d=!1,this.#m&&rn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),B(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;N?.is_fork?(this.#a&&N.skip_effect(this.#a),this.#o&&N.skip_effect(this.#o),this.#s&&N.skip_effect(this.#s),N.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(Kn(this.#a),null),this.#o&&=(Kn(this.#o),null),this.#s&&=(Kn(this.#s),null),A&&(Ne(this.#t),Fe(),Ne(Ie()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){je();return}r=!0,i&&De(),this.#s!==null&&Yn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){$e(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return Hn(()=>{var t=z;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return $e(e,this.#i.parent),null}}))};Xe(()=>{var t;try{t=this.transform_error(e)}catch(e){$e(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>$e(e,this.#i&&this.#i.parent)):o(t)})}};function Rt(e,t,n,r){let i=qe()?Ht:Kt;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=z,s=zt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){$e(e,o)}Bt()}}var u=Vt();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>Wt(e))).then(e=>l([...t.map(i),...e])).catch(e=>$e(e,o)).finally(u)}c?c.then(()=>{s(),d(),Bt()}):d()}function zt(){var e=z,t=R,n=Ue,r=N;return function(i=!0){or(e),ar(t),We(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function Bt(e=!0){or(null),ar(null),We(null),e&&N?.deactivate()}function Vt(){var e=z,t=e.b,n=N,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}function Ht(e){var t=2|w;return z!==null&&(z.f|=k),{ctx:Ue,deps:null,effects:null,equals:Re,f:t,fn:e,reactions:null,rv:0,v:i,wv:0,parent:z,ac:null}}var Ut=Symbol(`obsolete`);function Wt(e,t,n){let r=z;r===null&&ve();var a=void 0,o=tn(i),s=!R,c=new Set;return Rn(()=>{var t=z,n=x();a=n.promise;try{Promise.resolve(e()).then(n.resolve,e=>{e!==he&&n.reject(e)}).finally(Bt)}catch(e){n.reject(e),Bt()}var i=N;if(s){if(t.f&32768)var l=Vt();if(r.b.is_rendered())i.async_deriveds.get(t)?.reject(Ut);else for(let e of c.values())e.reject(Ut);c.add(n),i.async_deriveds.set(t,n)}let u=(e,t=void 0)=>{l?.(),c.delete(n),t!==Ut&&(i.activate(),t?(o.f|=se,rn(o,t)):(o.f&8388608&&(o.f^=se),rn(o,e)),i.deactivate())};n.promise.then(u,e=>u(null,e||`unknown`))}),Nn(()=>{for(let e of c)e.reject(Ut)}),new Promise(e=>{function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}t(a)})}function Gt(e){let t=Ht(e);return Ve||cr(t),t}function Kt(e){let t=Ht(e);return t.equals=Be,t}function qt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Kn(t[n])}}function Jt(e){var t,n=z,r=e.parent;if(!nr&&r!==null&&e.v!==i&&r.f&24576)return Oe(),e.v;or(r);try{e.f&=~ie,qt(e),t=br(e)}finally{or(n)}return t}function Yt(e){var t=Jt(e);if(!e.equals(t)&&(e.wv=_r(),(!N?.is_fork||e.deps===null)&&(N===null?e.v=t:(N.capture(e,t,!0),ht?.capture(e,t,!0)),e.deps===null))){tt(e,C);return}nr||(gt===null?nt(e):(Mn()||N?.is_fork)&>.set(e,t))}function Xt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(he),t.fn!==null&&(t.teardown=y),t.ac=null,Sr(t,0),Wn(t))}function Zt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Cr(t)}var Qt=new Set,$t=new Map,en=!1;function tn(e,t){return{f:0,v:e,reactions:null,equals:Re,rv:0,wv:0}}function P(e,t){let n=tn(e,t);return cr(n),n}function nn(e,t=!1,n=!0){let r=tn(e);return t||(r.equals=Be),He&&n&&Ue!==null&&Ue.l!==null&&(Ue.l.s??=[]).push(r),r}function F(e,t,n=!1){return R!==null&&(!ir||R.f&131072)&&qe()&&R.f&4325394&&(sr===null||!u.call(sr,e))&&Ee(),rn(e,n?ln(t):t,xt)}function rn(e,t,n=null){if(!e.equals(t)){$t.set(e,nr?t:e.v);var r=wt.ensure();if(r.capture(e,t),e.f&2){let t=e;e.f&2048&&Jt(t),gt===null&&nt(t)}e.wv=_r(),cn(e,w,n),qe()&&z!==null&&z.f&1024&&!(z.f&96)&&(dr===null?fr([e]):dr.push(e)),!r.is_fork&&Qt.size>0&&!en&&an()}return t}function an(){en=!1;for(let e of Qt){e.f&1024&&tt(e,T);let t;try{t=vr(e)}catch{t=!0}t&&Cr(e)}Qt.clear()}function on(e,t=1){var n=B(e),r=t===1?n++:n--;return F(e,n),r}function sn(e){F(e,e.v+1)}function cn(e,t,n){var r=e.reactions;if(r!==null)for(var i=qe(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===z)){var l=(c&w)===0;if(l&&tt(s,t),c&131072)Qt.add(s);else if(c&2){var u=s;gt?.delete(u),c&65536||(c&512&&(z===null||!(z.f&2097152))&&(s.f|=ie),cn(u,T,n))}else if(l){var d=s;c&16&&Dt!==null&&Dt.add(d),n===null?jt(d):n.push(d)}}}}function ln(e){if(typeof e!=`object`||!e||ce in e)return e;let t=_(e);if(t!==h&&t!==g)return e;var n=new Map,r=c(e),a=P(0),o=null,s=hr,l=e=>{if(hr===s)return e();var t=R,n=hr;ar(null),gr(s);var r=e();return ar(t),gr(n),r};return r&&n.set(`length`,P(e.length,o)),new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&we();var i=n.get(t);return i===void 0?l(()=>{var e=P(r.value,o);return n.set(t,e),e}):F(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=l(()=>P(i,o));n.set(t,e),sn(a)}}else F(r,i),sn(a);return!0},get(t,r,a){if(r===ce)return e;var s=n.get(r),c=r in t;if(s===void 0&&(!c||p(t,r)?.writable)&&(s=l(()=>P(ln(c?t[r]:i),o)),n.set(r,s)),s!==void 0){var u=B(s);return u===i?void 0:u}return Reflect.get(t,r,a)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var a=n.get(t);a&&(r.value=B(a))}else if(r===void 0){var o=n.get(t),s=o?.v;if(o!==void 0&&s!==i)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return r},has(e,t){if(t===ce)return!0;var r=n.get(t),a=r!==void 0&&r.v!==i||Reflect.has(e,t);return(r!==void 0||z!==null&&(!a||p(e,t)?.writable))&&(r===void 0&&(r=l(()=>P(a?ln(e[t]):i,o)),n.set(t,r)),B(r)===i)?!1:a},set(e,t,s,c){var u=n.get(t),d=t in e;if(r&&t===`length`)for(var f=s;f<u.v;f+=1){var m=n.get(f+``);m===void 0?f in e&&(m=l(()=>P(i,o)),n.set(f+``,m)):F(m,i)}if(u===void 0)(!d||p(e,t)?.writable)&&(u=l(()=>P(void 0,o)),F(u,ln(s)),n.set(t,u));else{d=u.v!==i;var h=l(()=>ln(s));F(u,h)}var g=Reflect.getOwnPropertyDescriptor(e,t);if(g?.set&&g.set.call(c,s),!d){if(r&&typeof t==`string`){var _=n.get(`length`),v=Number(t);Number.isInteger(v)&&v>=_.v&&F(_,v+1)}sn(a)}return!0},ownKeys(e){B(a);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==i});for(var[r,o]of n)o.v!==i&&!(r in e)&&t.push(r);return t},setPrototypeOf(){Te()}})}function un(e){try{if(typeof e==`object`&&e&&ce in e)return e[ce]}catch{}return e}function dn(e,t){return Object.is(un(e),un(t))}new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);var fn,pn,mn,hn;function gn(){if(fn===void 0){fn=window,pn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;mn=p(t,`firstChild`).get,hn=p(t,`nextSibling`).get,v(e)&&(e[de]=void 0,e[ue]=null,e[fe]=void 0,e.__e=void 0),v(n)&&(n[pe]=void 0)}}function _n(e=``){return document.createTextNode(e)}function vn(e){return mn.call(e)}function yn(e){return hn.call(e)}function I(e,t){if(!A)return vn(e);var n=vn(j);if(n===null)n=j.appendChild(_n());else if(t&&n.nodeType!==3){var r=_n();return n?.before(r),Ne(r),r}return t&&wn(n),Ne(n),n}function bn(e,t=!1){if(!A){var n=vn(e);return n instanceof Comment&&n.data===``?yn(n):n}if(t){if(j?.nodeType!==3){var r=_n();return j?.before(r),Ne(r),r}wn(j)}return j}function L(e,t=1,n=!1){let r=A?j:e;for(var i;t--;)i=r,r=yn(r);if(!A)return r;if(n){if(r?.nodeType!==3){var a=_n();return r===null?i?.after(a):r.before(a),Ne(a),a}wn(r)}return Ne(r),r}function xn(e){e.textContent=``}function Sn(){return!Ve||Dt!==null?!1:(z.f&te)!==0}function Cn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function wn(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}var Tn=!1;function En(){Tn||(Tn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t[me]?.()})},{capture:!0}))}function Dn(e){var t=R,n=z;ar(null),or(null);try{return e()}finally{ar(t),or(n)}}function On(e,t,n,r=n){e.addEventListener(t,()=>Dn(n));let i=e[me];i?e[me]=()=>{i(),r(!0)}:e[me]=()=>r(!0),En()}function kn(e){z===null&&(R===null&&Se(e),xe()),nr&&be(e)}function An(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function jn(e,t){var n=z;n!==null&&n.f&8192&&(e|=E);var r={ctx:Ue,deps:null,nodes:null,f:e|w|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};N?.register_created_effect(r);var i=r;if(e&4)bt===null?wt.ensure().schedule(r):bt.push(r);else if(t!==null){try{Cr(r)}catch(e){throw Kn(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=O))}if(i!==null&&(i.parent=n,n!==null&&An(i,n),R!==null&&R.f&2&&!(e&64))){var a=R;(a.effects??=[]).push(i)}return r}function Mn(){return R!==null&&!ir}function Nn(e){let t=jn(8,null);return tt(t,C),t.teardown=e,t}function Pn(e){kn(`$effect`);var t=z.f;if(!R&&t&32&&!(t&32768)){var n=Ue;(n.e??=[]).push(e)}else return Fn(e)}function Fn(e){return jn(4|ne,e)}function In(e){wt.ensure();let t=jn(64|k,e);return(e={})=>new Promise(n=>{e.outro?Yn(t,()=>{Kn(t),n(void 0)}):(Kn(t),n(void 0))})}function Ln(e){return jn(4,e)}function Rn(e){return jn(oe|k,e)}function zn(e,t=0){return jn(8|t,e)}function Bn(e,t=[],n=[],r=[]){Rt(r,t,n,t=>{jn(8,()=>e(...t.map(B)))})}function Vn(e,t=0){return jn(16|t,e)}function Hn(e){return jn(32|k,e)}function Un(e){var t=e.teardown;if(t!==null){let e=nr,n=R;rr(!0),ar(null);try{t.call(null)}finally{rr(e),ar(n)}}}function Wn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Dn(()=>{e.abort(he)});var r=n.next;n.f&64?n.parent=null:Kn(n,t),n=r}}function Gn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Kn(t),t=n}}function Kn(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(qn(e.nodes.start,e.nodes.end),n=!0),tt(e,D),Wn(e,t&&!n),Sr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Un(e),e.f^=D,e.f|=ee;var i=e.parent;i!==null&&i.first!==null&&Jn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qn(e,t){for(;e!==null;){var n=e===t?null:yn(e);e.remove(),e=n}}function Jn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Yn(e,t,n=!0){var r=[];Xn(e,r,!0);var i=()=>{n&&Kn(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Xn(e,t,n){if(!(e.f&8192)){e.f^=E;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Xn(i,t,o?n:!1)}i=a}}}function Zn(e){Qn(e,!0)}function Qn(e,t){if(e.f&8192){e.f^=E,e.f&1024||(tt(e,w),wt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Qn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function $n(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:yn(n);t.append(n),n=i}}var er=null,tr=!1,nr=!1;function rr(e){nr=e}var R=null,ir=!1;function ar(e){R=e}var z=null;function or(e){z=e}var sr=null;function cr(e){R!==null&&(!Ve||R.f&2)&&(sr===null?sr=[e]:sr.push(e))}var lr=null,ur=0,dr=null;function fr(e){dr=e}var pr=1,mr=0,hr=mr;function gr(e){hr=e}function _r(){return++pr}function vr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~ie),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(vr(a)&&Yt(a),a.wv>e.wv)return!0}t&512&>===null&&tt(e,C)}return!1}function yr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!Ve&&sr!==null&&u.call(sr,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?yr(a,t,!1):t===a&&(n?tt(a,w):a.f&1024&&tt(a,T),jt(a))}}function br(e){var t=lr,n=ur,r=dr,i=R,a=sr,o=Ue,s=ir,c=hr,l=e.f;lr=null,ur=0,dr=null,R=l&96?null:e,sr=null,We(e.ctx),ir=!1,hr=++mr,e.ac!==null&&(Dn(()=>{e.ac.abort(he)}),e.ac=null);try{e.f|=ae;var u=e.fn,d=u();e.f|=te;var f=e.deps,p=N?.is_fork;if(lr!==null){var m;if(p||Sr(e,ur),f!==null&&ur>0)for(f.length=ur+lr.length,m=0;m<lr.length;m++)f[ur+m]=lr[m];else e.deps=f=lr;if(Mn()&&e.f&512)for(m=ur;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&ur<f.length&&(Sr(e,ur),f.length=ur);if(qe()&&dr!==null&&!ir&&f!==null&&!(e.f&6146))for(m=0;m<dr.length;m++)yr(dr[m],e);if(i!==null&&i!==e){if(mr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=mr;if(t!==null)for(let e of t)e.rv=mr;dr!==null&&(r===null?r=dr:r.push(...dr))}return e.f&8388608&&(e.f^=se),d}catch(e){return Qe(e)}finally{e.f^=ae,lr=t,ur=n,dr=r,R=i,sr=a,We(o),ir=s,hr=c}}function xr(e,t){let n=t.reactions;if(n!==null){var r=l.call(n,e);if(r!==-1){var a=n.length-1;a===0?n=t.reactions=null:(n[r]=n[a],n.pop())}}if(n===null&&t.f&2&&(lr===null||!u.call(lr,t))){var o=t;o.f&512&&(o.f^=512,o.f&=~ie),o.v!==i&&nt(o),Xt(o),Sr(o,0)}}function Sr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)xr(e,n[r])}function Cr(e){var t=e.f;if(!(t&16384)){tt(e,C);var n=z,r=tr;z=e,tr=!0;try{t&16777232?Gn(e):Wn(e),Un(e);var i=br(e);e.teardown=typeof i==`function`?i:null,e.wv=pr}finally{tr=r,z=n}}}async function wr(){if(Ve)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),Tt()}function B(e){var t=(e.f&2)!=0;if(er?.add(e),R!==null&&!ir&&!(z!==null&&z.f&16384)&&(sr===null||!u.call(sr,e))){var n=R.deps;if(R.f&2097152)e.rv<mr&&(e.rv=mr,lr===null&&n!==null&&n[ur]===e?ur++:lr===null?lr=[e]:lr.push(e));else{R.deps??=[],u.call(R.deps,e)||R.deps.push(e);var r=e.reactions;r===null?e.reactions=[R]:u.call(r,R)||r.push(R)}}if(nr&&$t.has(e))return $t.get(e);if(t){var i=e;if(nr){var a=i.v;return(!(i.f&1024)&&i.reactions!==null||Er(i))&&(a=Jt(i)),$t.set(i,a),a}var o=(i.f&512)==0&&!ir&&R!==null&&(tr||(R.f&512)!=0),s=(i.f&te)===0;vr(i)&&(o&&(i.f|=512),Yt(i)),o&&!s&&(Zt(i),Tr(i))}if(gt?.has(e))return gt.get(e);if(e.f&8388608)throw e.v;return e.v}function Tr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Zt(t),Tr(t))}function Er(e){if(e.v===i)return!0;if(e.deps===null)return!1;for(let t of e.deps)if($t.has(t)||t.f&2&&Er(t))return!0;return!1}function Dr(e){var t=ir;try{return ir=!0,e()}finally{ir=t}}var Or=Symbol(`events`),kr=new Set,Ar=new Set;function V(e,t,n){(t[Or]??={})[e]=n}function jr(e){for(var t=0;t<e.length;t++)kr.add(e[t]);for(var n of Ar)n(e)}var Mr=null;function Nr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;Mr=e;var o=0,s=Mr===e&&e[Or];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[Or]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){f(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=R,d=z;ar(null),or(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Or]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Or]=t,delete e.currentTarget,ar(u),or(d)}}}var Pr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Fr(e){return Pr?.createHTML(e)??e}function Ir(e){var t=Cn(`template`);return t.innerHTML=Fr(e.replaceAll(`<!>`,`<!---->`)),t.content}function Lr(e,t){var n=z;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function H(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(A)return Lr(j,null),j;i===void 0&&(i=Ir(a?e:`<!>`+e),n||(i=vn(i)));var t=r||pn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=vn(t),s=t.lastChild;Lr(o,s)}else Lr(t,t);return t}}function Rr(){if(A)return Lr(j,null),j;var e=document.createDocumentFragment(),t=document.createComment(``),n=_n();return e.append(t,n),Lr(t,n),e}function U(e,t){if(A){var n=z;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=j),Pe();return}e!==null&&e.before(t)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];var zr=[`touchstart`,`touchmove`];function Br(e){return zr.includes(e)}function Vr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[pe]??=e.nodeValue)&&(e[pe]=n,e.nodeValue=`${n}`)}function Hr(e,t){return Wr(e,t)}var Ur=new Map;function Wr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){gn();var l=void 0,u=In(()=>{var s=n??t.appendChild(_n());It(s,{pending:()=>{}},t=>{Ge({});var n=Ue;if(o&&(n.c=o),a&&(i.$$events=a),A&&Lr(t,null),l=e(t,i)||{},A&&(z.nodes.end=j,j===null||j.nodeType!==8||j.data!==`]`))throw ke(),r;Ke()},c);var u=new Set,f=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=Br(r);for(let e of[t,document]){var a=Ur.get(e);a===void 0&&(a=new Map,Ur.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Nr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(d(kr)),Ar.add(f),()=>{for(var e of u)for(let n of[t,document]){var r=Ur.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Nr),r.delete(e),r.size===0&&Ur.delete(n)):r.set(e,i)}Ar.delete(f),s!==n&&s.parentNode?.removeChild(s)}});return Gr.set(l,u),l}var Gr=new WeakMap,Kr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Zn(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Kn(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();$n(r,t),t.append(_n()),this.#n.set(e,{effect:r,fragment:t})}else Kn(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Yn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Kn(n.effect),this.#n.delete(e))};ensure(e,t){var n=N,r=Sn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=_n();i.append(a),this.#n.set(e,{effect:Hn(()=>t(a)),fragment:i})}else this.#t.set(e,Hn(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else A&&(this.anchor=j),this.#a(n)}};function qr(e){Ue===null&&_e(`onMount`),He&&Ue.l!==null?Yr(Ue).m.push(e):Pn(()=>{let t=Dr(e);if(typeof t==`function`)return t})}function Jr(e){Ue===null&&_e(`onDestroy`),qr(()=>()=>Dr(e))}function Yr(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}function Xr(e,t,n=!1){var r;A&&(r=j,Pe());var i=new Kr(e),a=n?O:0;function o(e,t){if(A){var n=Le(r);if(e!==parseInt(n.substring(1))){var a=Ie();Ne(a),i.anchor=a,Me(!1),i.ensure(e,t),Me(!0);return}}i.ensure(e,t)}Vn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Zr(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];Yn(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;Qr(e,d(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else --o},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var l=n,u=l.parentNode;xn(u),u.append(l),e.items.clear()}Qr(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Qr(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=re,$n(a,document.createDocumentFragment())):Kn(t[i],n)}}var $r;function ei(e,t,n,r,i,a=null){var o=e,s=new Map;if(t&4){var l=e;o=A?Ne(vn(l)):l.appendChild(_n())}A&&Pe();var u=null,f=Kt(()=>{var e=n();return c(e)?e:e==null?[]:d(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=u,ni(v,p,o,t,r),u!==null&&(p.length===0?u.f&33554432?(u.f^=re,ii(u,null,o)):Zn(u):Yn(u,()=>{u=null})))}function _(e){v.pending.delete(e)}var v={effect:Vn(()=>{p=B(f);var e=p.length;let c=!1;A&&Le(o)===`[!`!=(e===0)&&(o=Ie(),Ne(o),Me(!1),c=!0);for(var l=new Set,d=N,v=Sn(),y=0;y<e;y+=1){A&&j.nodeType===8&&j.data===`]`&&(o=j,c=!0,Me(!1));var b=p[y],x=r(b,y),S=h?null:s.get(x);S?(S.v&&rn(S.v,b),S.i&&rn(S.i,y),v&&d.unskip_effect(S.e)):(S=ri(s,h?o:$r??=_n(),b,x,y,i,t,n),h||(S.e.f|=re),s.set(x,S)),l.add(x)}if(e===0&&a&&!u&&(h?u=Hn(()=>a(o)):(u=Hn(()=>a($r??=_n())),u.f|=re)),e>l.size&&ye(``,``,``),A&&e>0&&Ne(Ie()),!h)if(m.set(d,l),v){for(let[e,t]of s)l.has(e)||d.skip_effect(t.e);d.oncommit(g),d.ondiscard(_)}else g(d);c&&Me(!0),B(f)}),flags:t,items:s,pending:m,outrogroups:null,fallback:u};h=!1,A&&(o=j)}function ti(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function ni(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,c=ti(e.effect.first),l,u=null,f,p=[],m=[],h,g,_,v;if(a)for(v=0;v<o;v+=1)h=t[v],g=i(h,v),_=s.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<o;v+=1){if(h=t[v],g=i(h,v),_=s.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(Zn(_),a&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=re,_===c)ii(_,null,n);else{var y=u?u.next:c;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),ai(e,u,_),ai(e,_,y),ii(_,y,n),u=_,p=[],m=[],c=ti(u.next);continue}if(_!==c){if(l!==void 0&&l.has(_)){if(p.length<m.length){var b=m[0],x;u=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)ii(p[x],b,n);for(x=0;x<m.length;x+=1)l.delete(m[x]);ai(e,S.prev,C.next),ai(e,u,S),ai(e,C,b),c=b,u=C,--v,p=[],m=[]}else l.delete(_),ii(_,c,n),ai(e,_.prev,_.next),ai(e,_,u===null?e.effect.first:u.next),ai(e,u,_),u=_;continue}for(p=[],m=[];c!==null&&c!==_;)(l??=new Set).add(c),m.push(c),c=ti(c.next);if(c===null)continue}_.f&33554432||p.push(_),u=_,c=ti(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(Qr(e,d(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var w=[];if(l!==void 0)for(_ of l)_.f&8192||w.push(_);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&w.push(c),c=ti(c.next);var T=w.length;if(T>0){var E=r&4&&o===0?n:null;if(a){for(v=0;v<T;v+=1)w[v].nodes?.a?.measure();for(v=0;v<T;v+=1)w[v].nodes?.a?.fix()}Zr(e,w,E)}}a&&Xe(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function ri(e,t,n,r,i,a,o,s){var c=o&1?o&16?tn(n):nn(n,!1,!1):null,l=o&2?tn(i):null;return{v:c,i:l,e:Hn(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function ii(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=yn(r);if(a.before(r),r===i)return;r=o}}function ai(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function oi(e,t,n=!1,i=!1,a=!1,c=!1){var l=e,u=``;if(n){var d=e;A&&(l=Ne(vn(d)))}Bn(()=>{var e=z;if(u===(u=t()??``)){A&&Pe();return}if(n&&!A){e.nodes=null,d.innerHTML=u,u!==``&&Lr(vn(d),d.lastChild);return}if(e.nodes!==null&&(qn(e.nodes.start,e.nodes.end),e.nodes=null),u!==``){if(A){for(var c=j.data,f=Pe(),p=f;f!==null&&(f.nodeType!==8||f.data!==``);)p=f,f=yn(f);if(f===null)throw ke(),r;Lr(j,p),l=Ne(f);return}var m=Cn(i?`svg`:a?`math`:`template`,i?o:a?s:void 0);m.innerHTML=u;var h=i||a?m:m.content;if(Lr(vn(h),h.lastChild),i||a)for(;vn(h);)l.before(vn(h));else l.before(h)}})}var si=[...`
|
|
2
2
|
\r\f\xA0\v`];function ci(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||si.includes(r[o-1]))&&(s===r.length||si.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function li(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function ui(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function di(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(ui)),i&&c.push(...Object.keys(i).map(ui));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=ui(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=li(r)),i&&(n+=li(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function fi(e,t,n,r,i,a){var o=e[de];if(A||o!==n||o===void 0){var s=ci(n,r,a);(!A||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[de]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function pi(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function mi(e,t,n,r){var i=e[fe];if(A||i!==t){var a=di(t,r);(!A||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e[fe]=t}else r&&(Array.isArray(r)?(pi(e,n?.[0],r[0]),pi(e,n?.[1],r[1],`important`)):pi(e,n,r));return r}function hi(e,t,n=!1){if(e.multiple){if(t==null)return;if(!c(t))return Ae();for(var r of e.options)r.selected=t.includes(vi(r));return}for(r of e.options)if(dn(vi(r),t)){r.selected=!0;return}(!n||t!==void 0)&&(e.selectedIndex=-1)}function gi(e){var t=new MutationObserver(()=>{hi(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),Nn(()=>{t.disconnect()})}function _i(e,t,n=t){var r=new WeakSet,i=!0;On(e,`change`,t=>{var i=t?`[selected]`:`:checked`,a;if(e.multiple)a=[].map.call(e.querySelectorAll(i),vi);else{var o=e.querySelector(i)??e.querySelector(`option:not([disabled])`);a=o&&vi(o)}n(a),e.__value=a,N!==null&&r.add(N)}),Ln(()=>{var a=t();if(e===document.activeElement){var o=Ve?ht:N;if(r.has(o))return}if(hi(e,a,i),i&&a===void 0){var s=e.querySelector(`:checked`);s!==null&&(a=vi(s),n(a))}e.__value=a,i=!1}),gi(e)}function vi(e){return`__value`in e?e.__value:e.value}var yi=Symbol(`is custom element`),bi=Symbol(`is html`),xi=ge?`link`:`LINK`,Si=ge?`progress`:`PROGRESS`;function Ci(e){if(A){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Ei(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Ei(e,`checked`,null),e.checked=r}}};e[me]=n,Xe(n),En()}}function wi(e,t){var n=Di(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Si)||(e.value=t??``)}function Ti(e,t){var n=Di(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function Ei(e,t,n,r){var i=Di(e);A&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===xi)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[le]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&ki(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Di(e){return e[ue]??={[yi]:e.nodeName.includes(`-`),[bi]:e.namespaceURI===a}}var Oi=new Map;function ki(e){var t=e.getAttribute(`is`)||e.nodeName,n=Oi.get(t);if(n)return n;Oi.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=m(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=_(i)}return n}function Ai(e,t,n=t){var r=new WeakSet;On(e,`input`,async i=>{var a=i?e.defaultValue:e.value;if(a=ji(e)?Mi(a):a,n(a),N!==null&&r.add(N),await wr(),a!==(a=t())){var o=e.selectionStart,s=e.selectionEnd,c=e.value.length;if(e.value=a??``,s!==null){var l=e.value.length;o===s&&s===c&&l>c?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=o,e.selectionEnd=Math.min(s,l))}}}),(A&&e.defaultValue!==e.value||Dr(t)==null&&e.value)&&(n(ji(e)?Mi(e.value):e.value),N!==null&&r.add(N)),zn(()=>{var n=t();if(e===document.activeElement){var i=Ve?ht:N;if(r.has(i))return}ji(e)&&n===Mi(e.value)||e.type===`date`&&!n&&!e.value||n!==e.value&&(e.value=n??``)})}function ji(e){var t=e.type;return t===`number`||t===`range`}function Mi(e){return e===``?null:+e}function Ni(e,t){return e===t||e?.[ce]===t}function Pi(e={},t,n,r){var i=Ue.r,a=z;return Ln(()=>{var o,s;return zn(()=>{o=s,s=r?.()||[],Dr(()=>{Ni(n(...s),e)||(t(e,...s),o&&Ni(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Ni(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function Fi(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ii(e){if(Array.isArray(e))return e}function Li(e){if(Array.isArray(e))return Fi(e)}function Ri(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function zi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Xi(r.key),r)}}function Bi(e,t,n){return t&&zi(e.prototype,t),n&&zi(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Vi(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(!n){if(Array.isArray(e)||(n=Qi(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function W(e,t,n){return(t=Xi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Hi(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Ui(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function Wi(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gi(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
@@ -556,8 +556,8 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
556
556
|
}`;function Ss(){var e=ko,t=Ao,n=K.cssPrefix,r=K.replacementClass,i=xs;if(n!==e||r!==t){var a=RegExp(`\\.${e}\\-`,`g`),o=RegExp(`\\--${e}\\-`,`g`),s=RegExp(`\\.${t}`,`g`);i=i.replace(a,`.${n}-`).replace(o,`--${n}-`).replace(s,`.${r}`)}return i}var Cs=!1;function ws(){K.autoAddCss&&!Cs&&(us(Ss()),Cs=!0)}var Ts={mixout:function(){return{dom:{css:Ss,insertCss:ws}}},hooks:function(){return{beforeDOMElementCreation:function(){ws()},beforeI2svg:function(){ws()}}}},Es=oa||{};Es[Do]||(Es[Do]={}),Es[Do].styles||(Es[Do].styles={}),Es[Do].hooks||(Es[Do].hooks={}),Es[Do].shims||(Es[Do].shims=[]);var Ds=Es[Do],Os=[],ks=function(){sa.removeEventListener(`DOMContentLoaded`,ks),As=1,Os.map(function(e){return e()})},As=!1;ua&&(As=(sa.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(sa.readyState),As||sa.addEventListener(`DOMContentLoaded`,ks));function js(e){ua&&(As?setTimeout(e,0):Os.push(e))}function Ms(e){var t=e.tag,n=e.attributes,r=n===void 0?{}:n,i=e.children,a=i===void 0?[]:i;return typeof e==`string`?hs(e):`<${t} ${gs(r)}>${a.map(Ms).join(``)}</${t}>`}function Ns(e,t,n){if(e&&e[t]&&e[t][n])return{prefix:t,iconName:n,icon:e[t][n]}}var Ps=function(e,t){return function(n,r,i,a){return e.call(t,n,r,i,a)}},Fs=function(e,t,n,r){var i=Object.keys(e),a=i.length,o=r===void 0?t:Ps(t,r),s,c,l;for(n===void 0?(s=1,l=e[i[0]]):(s=0,l=n);s<a;s++)c=i[s],l=o(l,e[c],c,e);return l};function Is(e){return Ji(e).length===1?e.codePointAt(0).toString(16):null}function Ls(e){return Object.keys(e).reduce(function(t,n){var r=e[n];return r.icon?t[r.iconName]=r.icon:t[n]=r,t},{})}function Rs(e,t){var n=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:{}).skipHooks,r=n===void 0?!1:n,i=Ls(t);typeof Ds.hooks.addPack==`function`&&!r?Ds.hooks.addPack(e,Ls(t)):Ds.styles[e]=G(G({},Ds.styles[e]||{}),i),e===`fas`&&Rs(`fa`,t)}var zs=Ds.styles,Bs=Ds.shims,Vs=Object.keys(qo),Hs=Vs.reduce(function(e,t){return e[t]=Object.keys(qo[t]),e},{}),Us=null,Ws={},Gs={},Ks={},qs={},Js={};function Ys(e){return~es.indexOf(e)}function Xs(e,t){var n=t.split(`-`),r=n[0],i=n.slice(1).join(`-`);return r===e&&i!==``&&!Ys(i)?i:null}var Zs=function(){var e=function(e){return Fs(zs,function(t,n,r){return t[r]=Fs(n,e,{}),t},{})};Ws=e(function(e,t,n){return t[3]&&(e[t[3]]=n),t[2]&&t[2].filter(function(e){return typeof e==`number`}).forEach(function(t){e[t.toString(16)]=n}),e}),Gs=e(function(e,t,n){return e[n]=n,t[2]&&t[2].filter(function(e){return typeof e==`string`}).forEach(function(t){e[t]=n}),e}),Js=e(function(e,t,n){var r=t[2];return e[n]=n,r.forEach(function(t){e[t]=n}),e});var t=`far`in zs||K.autoFetchSvg,n=Fs(Bs,function(e,n){var r=n[0],i=n[1],a=n[2];return i===`far`&&!t&&(i=`fas`),typeof r==`string`&&(e.names[r]={prefix:i,iconName:a}),typeof r==`number`&&(e.unicodes[r.toString(16)]={prefix:i,iconName:a}),e},{names:{},unicodes:{}});Ks=n.names,qs=n.unicodes,Us=oc(K.styleDefault,{family:K.familyDefault})};ss(function(e){Us=oc(e.styleDefault,{family:K.familyDefault})}),Zs();function Qs(e,t){return(Ws[e]||{})[t]}function $s(e,t){return(Gs[e]||{})[t]}function ec(e,t){return(Js[e]||{})[t]}function tc(e){return Ks[e]||{prefix:null,iconName:null}}function nc(e){var t=qs[e],n=Qs(`fas`,e);return t||(n?{prefix:`fas`,iconName:n}:null)||{prefix:null,iconName:null}}function rc(){return Us}var ic=function(){return{prefix:null,iconName:null,rest:[]}};function ac(e){var t=va,n=Vs.reduce(function(e,t){return e[t]=`${K.cssPrefix}-${t}`,e},{});return no.forEach(function(r){(e.includes(n[r])||e.some(function(e){return Hs[r].includes(e)}))&&(t=r)}),t}function oc(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).family,n=t===void 0?va:t,r=Uo[n][e];if(n===ya&&!e)return`fad`;var i=Go[n][e]||Go[n][r],a=e in Ds.styles?e:null;return i||a||null}function sc(e){var t=[],n=null;return e.forEach(function(e){var r=Xs(K.cssPrefix,e);r?n=r:e&&t.push(e)}),{iconName:n,rest:t}}function cc(e){return e.sort().filter(function(e,t,n){return n.indexOf(e)===t})}var lc=xo.concat(so);function uc(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).skipLookups,n=t===void 0?!1:t,r=null,i=cc(e.filter(function(e){return lc.includes(e)})),a=cc(e.filter(function(e){return!lc.includes(e)})),o=qi(i.filter(function(e){return r=e,!_a.includes(e)}),1)[0],s=o===void 0?null:o,c=ac(i),l=G(G({},sc(a)),{},{prefix:oc(s,{family:c})});return G(G(G({},l),mc({values:e,family:c,styles:zs,config:K,canonical:l,givenPrefix:r})),dc(n,r,l))}function dc(e,t,n){var r=n.prefix,i=n.iconName;if(e||!r||!i)return{prefix:r,iconName:i};var a=t===`fa`?tc(i):{},o=ec(r,i);return i=a.iconName||o||i,r=a.prefix||r,r===`far`&&!zs.far&&zs.fas&&!K.autoFetchSvg&&(r=`fas`),{prefix:r,iconName:i}}var fc=no.filter(function(e){return e!==va||e!==ya}),pc=Object.keys(bo).filter(function(e){return e!==va}).map(function(e){return Object.keys(bo[e])}).flat();function mc(e){var t=e.values,n=e.family,r=e.canonical,i=e.givenPrefix,a=i===void 0?``:i,o=e.styles,s=o===void 0?{}:o,c=e.config,l=c===void 0?{}:c,u=n===ya,d=t.includes(`fa-duotone`)||t.includes(`fad`),f=l.familyDefault===`duotone`,p=r.prefix===`fad`||r.prefix===`fa-duotone`;return!u&&(d||f||p)&&(r.prefix=`fad`),(t.includes(`fa-brands`)||t.includes(`fab`))&&(r.prefix=`fab`),!r.prefix&&fc.includes(n)&&(Object.keys(s).find(function(e){return pc.includes(e)})||l.autoFetchSvg)&&(r.prefix=ao.get(n).defaultShortPrefixId,r.iconName=ec(r.prefix,r.iconName)||r.iconName),(r.prefix===`fa`||a===`fa`)&&(r.prefix=rc()||`fas`),r}var hc=function(){function e(){Ri(this,e),this.definitions={}}return Bi(e,[{key:`add`,value:function(){var e=this,t=[...arguments].reduce(this._pullDefinitions,{});Object.keys(t).forEach(function(n){e.definitions[n]=G(G({},e.definitions[n]||{}),t[n]),Rs(n,t[n]);var r=qo[va][n];r&&Rs(r,t[n]),Zs()})}},{key:`reset`,value:function(){this.definitions={}}},{key:`_pullDefinitions`,value:function(e,t){var n=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(n).map(function(t){var r=n[t],i=r.prefix,a=r.iconName,o=r.icon,s=o[2];e[i]||(e[i]={}),s.length>0&&s.forEach(function(t){typeof t==`string`&&(e[i][t]=o)}),e[i][a]=o}),e}}])}(),gc=[],_c={},vc={},yc=Object.keys(vc);function bc(e,t){var n=t.mixoutsTo;return gc=e,_c={},Object.keys(vc).forEach(function(e){yc.indexOf(e)===-1&&delete vc[e]}),gc.forEach(function(e){var t=e.mixout?e.mixout():{};if(Object.keys(t).forEach(function(e){typeof t[e]==`function`&&(n[e]=t[e]),Zi(t[e])===`object`&&Object.keys(t[e]).forEach(function(r){n[e]||(n[e]={}),n[e][r]=t[e][r]})}),e.hooks){var r=e.hooks();Object.keys(r).forEach(function(e){_c[e]||(_c[e]=[]),_c[e].push(r[e])})}e.provides&&e.provides(vc)}),n}function xc(e,t){var n=[...arguments].slice(2);return(_c[e]||[]).forEach(function(e){t=e.apply(null,[t].concat(n))}),t}function Sc(e){var t=[...arguments].slice(1);(_c[e]||[]).forEach(function(e){e.apply(null,t)})}function Cc(){var e=arguments[0],t=Array.prototype.slice.call(arguments,1);return vc[e]?vc[e].apply(null,t):void 0}function wc(e){e.prefix===`fa`&&(e.prefix=`fas`);var t=e.iconName,n=e.prefix||rc();if(t)return t=ec(n,t)||t,Ns(Tc.definitions,n,t)||Ns(Ds.styles,n,t)}var Tc=new hc,Ec={noAuto:function(){K.autoReplaceSvg=!1,K.observeMutations=!1,Sc(`noAuto`)},config:K,dom:{i2svg:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return ua?(Sc(`beforeI2svg`,e),Cc(`pseudoElements2svg`,e),Cc(`i2svg`,e)):Promise.reject(Error(`Operation requires a DOM of some kind.`))},watch:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.autoReplaceSvgRoot;K.autoReplaceSvg===!1&&(K.autoReplaceSvg=!0),K.observeMutations=!0,js(function(){Dc({autoReplaceSvgRoot:t}),Sc(`watch`,e)})}},parse:{icon:function(e){if(e===null)return null;if(Zi(e)===`object`&&e.prefix&&e.iconName)return{prefix:e.prefix,iconName:ec(e.prefix,e.iconName)||e.iconName};if(Array.isArray(e)&&e.length===2){var t=e[1].indexOf(`fa-`)===0?e[1].slice(3):e[1],n=oc(e[0]);return{prefix:n,iconName:ec(n,t)||t}}if(typeof e==`string`&&(e.indexOf(`${K.cssPrefix}-`)>-1||e.match(Yo))){var r=uc(e.split(` `),{skipLookups:!0});return{prefix:r.prefix||rc(),iconName:ec(r.prefix,r.iconName)||r.iconName}}if(typeof e==`string`){var i=rc();return{prefix:i,iconName:ec(i,e)||e}}}},library:Tc,findIconDefinition:wc,toHtml:Ms},Dc=function(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).autoReplaceSvgRoot,t=e===void 0?sa:e;(Object.keys(Ds.styles).length>0||K.autoFetchSvg)&&ua&&K.autoReplaceSvg&&Ec.dom.i2svg({node:t})};function Oc(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map(function(e){return Ms(e)})}}),Object.defineProperty(e,"node",{get:function(){if(ua){var t=sa.createElement(`div`);return t.innerHTML=e.html,t.children}}}),e}function kc(e){var t=e.children,n=e.main,r=e.mask,i=e.attributes,a=e.styles,o=e.transform;if(vs(o)&&n.found&&!r.found){var s={x:n.width/n.height/2,y:.5};i.style=_s(G(G({},a),{},{"transform-origin":`${s.x+o.x/16}em ${s.y+o.y/16}em`}))}return[{tag:`svg`,attributes:i,children:t}]}function Ac(e){var t=e.prefix,n=e.iconName,r=e.children,i=e.attributes,a=e.symbol,o=a===!0?`${t}-${K.cssPrefix}-${n}`:a;return[{tag:`svg`,attributes:{style:`display: none;`},children:[{tag:`symbol`,attributes:G(G({},i),{},{id:o}),children:r}]}]}function jc(e){return[`aria-label`,`aria-labelledby`,`title`,`role`].some(function(t){return t in e})}function Mc(e){var t=e.icons,n=t.main,r=t.mask,i=e.prefix,a=e.iconName,o=e.transform,s=e.symbol,c=e.maskId,l=e.extra,u=e.watchable,d=u===void 0?!1:u,f=r.found?r:n,p=f.width,m=f.height,h=[K.replacementClass,a?`${K.cssPrefix}-${a}`:``].filter(function(e){return l.classes.indexOf(e)===-1}).filter(function(e){return e!==``||!!e}).concat(l.classes).join(` `),g={children:[],attributes:G(G({},l.attributes),{},{"data-prefix":i,"data-icon":a,class:h,role:l.attributes.role||`img`,viewBox:`0 0 ${p} ${m}`})};!jc(l.attributes)&&!l.attributes[`aria-hidden`]&&(g.attributes[`aria-hidden`]=`true`),d&&(g.attributes[jo]=``);var _=G(G({},g),{},{prefix:i,iconName:a,main:n,mask:r,maskId:c,transform:o,symbol:s,styles:G({},l.styles)}),v=r.found&&n.found?Cc(`generateAbstractMask`,_)||{children:[],attributes:{}}:Cc(`generateAbstractIcon`,_)||{children:[],attributes:{}},y=v.children,b=v.attributes;return _.children=y,_.attributes=b,s?Ac(_):kc(_)}function Nc(e){var t=e.content,n=e.width,r=e.height,i=e.transform,a=e.extra,o=e.watchable,s=o===void 0?!1:o,c=G(G({},a.attributes),{},{class:a.classes.join(` `)});s&&(c[jo]=``);var l=G({},a.styles);vs(i)&&(l.transform=bs({transform:i,startCentered:!0,width:n,height:r}),l[`-webkit-transform`]=l.transform);var u=_s(l);u.length>0&&(c.style=u);var d=[];return d.push({tag:`span`,attributes:c,children:[t]}),d}function Pc(e){var t=e.content,n=e.extra,r=G(G({},n.attributes),{},{class:n.classes.join(` `)}),i=_s(n.styles);i.length>0&&(r.style=i);var a=[];return a.push({tag:`span`,attributes:r,children:[t]}),a}var Fc=Ds.styles;function Ic(e){var t=e[0],n=e[1],r=qi(e.slice(4),1)[0],i=null;return i=Array.isArray(r)?{tag:`g`,attributes:{class:`${K.cssPrefix}-${$o.GROUP}`},children:[{tag:`path`,attributes:{class:`${K.cssPrefix}-${$o.SECONDARY}`,fill:`currentColor`,d:r[0]}},{tag:`path`,attributes:{class:`${K.cssPrefix}-${$o.PRIMARY}`,fill:`currentColor`,d:r[1]}}]}:{tag:`path`,attributes:{fill:`currentColor`,d:r}},{found:!0,width:t,height:n,icon:i}}var Lc={found:!1,width:512,height:512};function Rc(e,t){!Bo&&!K.showMissingIcons&&e&&console.error(`Icon with name "${e}" and prefix "${t}" is missing.`)}function zc(e,t){var n=t;return t===`fa`&&K.styleDefault!==null&&(t=rc()),new Promise(function(r,i){if(n===`fa`){var a=tc(e)||{};e=a.iconName||e,t=a.prefix||t}if(e&&t&&Fc[t]&&Fc[t][e]){var o=Fc[t][e];return r(Ic(o))}Rc(e,t),r(G(G({},Lc),{},{icon:K.showMissingIcons&&e&&Cc(`missingIconAbstract`)||{}}))})}var Bc=function(){},Vc=K.measurePerformance&&la&&la.mark&&la.measure?la:{mark:Bc,measure:Bc},Hc=`FA "7.2.0"`,Uc=function(e){return Vc.mark(`${Hc} ${e} begins`),function(){return Wc(e)}},Wc=function(e){Vc.mark(`${Hc} ${e} ends`),Vc.measure(`${Hc} ${e}`,`${Hc} ${e} begins`,`${Hc} ${e} ends`)},Gc={begin:Uc,end:Wc},Kc=function(){};function qc(e){return typeof(e.getAttribute?e.getAttribute(jo):null)==`string`}function Jc(e){var t=e.getAttribute?e.getAttribute(Po):null,n=e.getAttribute?e.getAttribute(Fo):null;return t&&n}function Yc(e){return e&&e.classList&&e.classList.contains&&e.classList.contains(K.replacementClass)}function Xc(){return K.autoReplaceSvg===!0?tl.replace:tl[K.autoReplaceSvg]||tl.replace}function Zc(e){return sa.createElementNS(`http://www.w3.org/2000/svg`,e)}function Qc(e){return sa.createElement(e)}function $c(e){var t=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).ceFn,n=t===void 0?e.tag===`svg`?Zc:Qc:t;if(typeof e==`string`)return sa.createTextNode(e);var r=n(e.tag);return Object.keys(e.attributes||[]).forEach(function(t){r.setAttribute(t,e.attributes[t])}),(e.children||[]).forEach(function(e){r.appendChild($c(e,{ceFn:n}))}),r}function el(e){var t=` ${e.outerHTML} `;return t=`${t}Font Awesome fontawesome.com `,t}var tl={replace:function(e){var t=e[0];if(t.parentNode)if(e[1].forEach(function(e){t.parentNode.insertBefore($c(e),t)}),t.getAttribute(jo)===null&&K.keepOriginalSource){var n=sa.createComment(el(t));t.parentNode.replaceChild(n,t)}else t.remove()},nest:function(e){var t=e[0],n=e[1];if(~ms(t).indexOf(K.replacementClass))return tl.replace(e);var r=RegExp(`${K.cssPrefix}-.*`);if(delete n[0].attributes.id,n[0].attributes.class){var i=n[0].attributes.class.split(` `).reduce(function(e,t){return t===K.replacementClass||t.match(r)?e.toSvg.push(t):e.toNode.push(t),e},{toNode:[],toSvg:[]});n[0].attributes.class=i.toSvg.join(` `),i.toNode.length===0?t.removeAttribute(`class`):t.setAttribute(`class`,i.toNode.join(` `))}var a=n.map(function(e){return Ms(e)}).join(`
|
|
557
557
|
`);t.setAttribute(jo,``),t.innerHTML=a}};function nl(e){e()}function rl(e,t){var n=typeof t==`function`?t:Kc;if(e.length===0)n();else{var r=nl;K.mutateApproach===Lo&&(r=oa.requestAnimationFrame||nl),r(function(){var t=Xc(),r=Gc.begin(`mutate`);e.map(t),r(),n()})}}var il=!1;function al(){il=!0}function ol(){il=!1}var sl=null;function cl(e){if(ca&&K.observeMutations){var t=e.treeCallback,n=t===void 0?Kc:t,r=e.nodeCallback,i=r===void 0?Kc:r,a=e.pseudoElementsCallback,o=a===void 0?Kc:a,s=e.observeMutationsRoot,c=s===void 0?sa:s;sl=new ca(function(e){if(!il){var t=rc();ps(e).forEach(function(e){if(e.type===`childList`&&e.addedNodes.length>0&&!qc(e.addedNodes[0])&&(K.searchPseudoElements&&o(e.target),n(e.target)),e.type===`attributes`&&e.target.parentNode&&K.searchPseudoElements&&o([e.target],!0),e.type===`attributes`&&qc(e.target)&&~Qo.indexOf(e.attributeName))if(e.attributeName===`class`&&Jc(e.target)){var r=uc(ms(e.target)),a=r.prefix,s=r.iconName;e.target.setAttribute(Po,a||t),s&&e.target.setAttribute(Fo,s)}else Yc(e.target)&&i(e.target)})}}),ua&&sl.observe(c,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}function ll(){sl&&sl.disconnect()}function ul(e){var t=e.getAttribute(`style`),n=[];return t&&(n=t.split(`;`).reduce(function(e,t){var n=t.split(`:`),r=n[0],i=n.slice(1);return r&&i.length>0&&(e[r]=i.join(`:`).trim()),e},{})),n}function dl(e){var t=e.getAttribute(`data-prefix`),n=e.getAttribute(`data-icon`),r=e.innerText===void 0?``:e.innerText.trim(),i=uc(ms(e));return i.prefix||=rc(),t&&n&&(i.prefix=t,i.iconName=n),i.iconName&&i.prefix?i:(i.prefix&&r.length>0&&(i.iconName=$s(i.prefix,e.innerText)||Qs(i.prefix,Is(e.innerText))),!i.iconName&&K.autoFetchSvg&&e.firstChild&&e.firstChild.nodeType===Node.TEXT_NODE&&(i.iconName=e.firstChild.data),i)}function fl(e){return ps(e.attributes).reduce(function(e,t){return e.name!==`class`&&e.name!==`style`&&(e[t.name]=t.value),e},{})}function pl(){return{iconName:null,prefix:null,transform:ls,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}}}function ml(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0},n=dl(e),r=n.iconName,i=n.prefix,a=n.rest,o=fl(e),s=xc(`parseNodeAttributes`,{},e);return G({iconName:r,prefix:i,transform:ls,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:a,styles:t.styleParser?ul(e):[],attributes:o}},s)}var hl=Ds.styles;function gl(e){var t=K.autoReplaceSvg===`nest`?ml(e,{styleParser:!1}):ml(e);return~t.extra.classes.indexOf(Xo)?Cc(`generateLayersText`,e,t):Cc(`generateSvgReplacementMutation`,e,t)}function _l(){return[].concat(Ji(so),Ji(xo))}function vl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!ua)return Promise.resolve();var n=sa.documentElement.classList,r=function(e){return n.add(`${Io}-${e}`)},i=function(e){return n.remove(`${Io}-${e}`)},a=K.autoFetchSvg?_l():_a.concat(Object.keys(hl));a.includes(`fa`)||a.push(`fa`);var o=[`.${Xo}:not([${jo}])`].concat(a.map(function(e){return`.${e}:not([${jo}])`})).join(`, `);if(o.length===0)return Promise.resolve();var s=[];try{s=ps(e.querySelectorAll(o))}catch{}if(s.length>0)r(`pending`),i(`complete`);else return Promise.resolve();var c=Gc.begin(`onTree`),l=s.reduce(function(e,t){try{var n=gl(t);n&&e.push(n)}catch(e){Bo||e.name===`MissingIcon`&&console.error(e)}return e},[]);return new Promise(function(e,n){Promise.all(l).then(function(n){rl(n,function(){r(`active`),r(`complete`),i(`pending`),typeof t==`function`&&t(),c(),e()})}).catch(function(e){c(),n(e)})})}function yl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;gl(e).then(function(e){e&&rl([e],t)})}function bl(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=(t||{}).icon?t:wc(t||{}),i=n.mask;return i&&=(i||{}).icon?i:wc(i||{}),e(r,G(G({},n),{},{mask:i}))}}var xl=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?ls:n,i=t.symbol,a=i===void 0?!1:i,o=t.mask,s=o===void 0?null:o,c=t.maskId,l=c===void 0?null:c,u=t.classes,d=u===void 0?[]:u,f=t.attributes,p=f===void 0?{}:f,m=t.styles,h=m===void 0?{}:m;if(e){var g=e.prefix,_=e.iconName,v=e.icon;return Oc(G({type:`icon`},e),function(){return Sc(`beforeDOMElementCreation`,{iconDefinition:e,params:t}),Mc({icons:{main:Ic(v),mask:s?Ic(s.icon):{found:!1,width:null,height:null,icon:{}}},prefix:g,iconName:_,transform:G(G({},ls),r),symbol:a,maskId:l,extra:{attributes:p,styles:h,classes:d}})})}},Sl={mixout:function(){return{icon:bl(xl)}},hooks:function(){return{mutationObserverCallbacks:function(e){return e.treeCallback=vl,e.nodeCallback=yl,e}}},provides:function(e){e.i2svg=function(e){var t=e.node,n=t===void 0?sa:t,r=e.callback;return vl(n,r===void 0?function(){}:r)},e.generateSvgReplacementMutation=function(e,t){var n=t.iconName,r=t.prefix,i=t.transform,a=t.symbol,o=t.mask,s=t.maskId,c=t.extra;return new Promise(function(t,l){Promise.all([zc(n,r),o.iconName?zc(o.iconName,o.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(function(o){var l=qi(o,2),u=l[0],d=l[1];t([e,Mc({icons:{main:u,mask:d},prefix:r,iconName:n,transform:i,symbol:a,maskId:s,extra:c,watchable:!0})])}).catch(l)})},e.generateAbstractIcon=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.transform,a=e.styles,o=_s(a);o.length>0&&(n.style=o);var s;return vs(i)&&(s=Cc(`generateAbstractTransformGrouping`,{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(s||r.icon),{children:t,attributes:n}}}},Cl={mixout:function(){return{layer:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.classes,r=n===void 0?[]:n;return Oc({type:`layer`},function(){Sc(`beforeDOMElementCreation`,{assembler:e,params:t});var n=[];return e(function(e){Array.isArray(e)?e.map(function(e){n=n.concat(e.abstract)}):n=n.concat(e.abstract)}),[{tag:`span`,attributes:{class:[`${K.cssPrefix}-layers`].concat(Ji(r)).join(` `)},children:n}]})}}}},wl={mixout:function(){return{counter:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.title,r=n===void 0?null:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return Oc({type:`counter`,content:e},function(){return Sc(`beforeDOMElementCreation`,{content:e,params:t}),Pc({content:e.toString(),title:r,extra:{attributes:s,styles:l,classes:[`${K.cssPrefix}-layers-counter`].concat(Ji(a))}})})}}}},Tl={mixout:function(){return{text:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.transform,r=n===void 0?ls:n,i=t.classes,a=i===void 0?[]:i,o=t.attributes,s=o===void 0?{}:o,c=t.styles,l=c===void 0?{}:c;return Oc({type:`text`,content:e},function(){return Sc(`beforeDOMElementCreation`,{content:e,params:t}),Nc({content:e,transform:G(G({},ls),r),extra:{attributes:s,styles:l,classes:[`${K.cssPrefix}-layers-text`].concat(Ji(a))}})})}}},provides:function(e){e.generateLayersText=function(e,t){var n=t.transform,r=t.extra,i=null,a=null;if(da){var o=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();i=s.width/o,a=s.height/o}return Promise.resolve([e,Nc({content:e.innerHTML,width:i,height:a,transform:n,extra:r,watchable:!0})])}}},El=RegExp(`"`,`ug`),Dl=[1105920,1112319],Ol=G(G(G(G({},{FontAwesome:{normal:`fas`,400:`fas`}}),io),Eo),fo),kl=Object.keys(Ol).reduce(function(e,t){return e[t.toLowerCase()]=Ol[t],e},{}),Al=Object.keys(kl).reduce(function(e,t){var n=kl[t];return e[t]=n[900]||Ji(Object.entries(n))[0][1],e},{});function jl(e){return Is(Ji(e.replace(El,``))[0]||``)}function Ml(e){var t=e.getPropertyValue(`font-feature-settings`).includes(`ss01`),n=e.getPropertyValue(`content`).replace(El,``),r=n.codePointAt(0),i=r>=Dl[0]&&r<=Dl[1],a=n.length===2?n[0]===n[1]:!1;return i||a||t}function Nl(e,t){var n=e.replace(/^['"]|['"]$/g,``).toLowerCase(),r=parseInt(t),i=isNaN(r)?`normal`:r;return(kl[n]||{})[i]||Al[n]}function Pl(e,t){var n=`${No}${t.replace(`:`,`-`)}`;return new Promise(function(r,i){if(e.getAttribute(n)!==null)return r();var a=ps(e.children).filter(function(e){return e.getAttribute(Mo)===t})[0],o=oa.getComputedStyle(e,t),s=o.getPropertyValue(`font-family`),c=s.match(Zo),l=o.getPropertyValue(`font-weight`),u=o.getPropertyValue(`content`);if(a&&!c)return e.removeChild(a),r();if(c&&u!==`none`&&u!==``){var d=o.getPropertyValue(`content`),f=Nl(s,l),p=jl(d),m=c[0].startsWith(`FontAwesome`),h=Ml(o),g=Qs(f,p),_=g;if(m){var v=nc(p);v.iconName&&v.prefix&&(g=v.iconName,f=v.prefix)}if(g&&!h&&(!a||a.getAttribute(Po)!==f||a.getAttribute(Fo)!==_)){e.setAttribute(n,_),a&&e.removeChild(a);var y=pl(),b=y.extra;b.attributes[Mo]=t,zc(g,f).then(function(i){var a=Mc(G(G({},y),{},{icons:{main:i,mask:ic()},prefix:f,iconName:_,extra:b,watchable:!0})),o=sa.createElementNS(`http://www.w3.org/2000/svg`,`svg`);t===`::before`?e.insertBefore(o,e.firstChild):e.appendChild(o),o.outerHTML=a.map(function(e){return Ms(e)}).join(`
|
|
558
558
|
`),e.removeAttribute(n),r()}).catch(i)}else r()}else r()})}function Fl(e){return Promise.all([Pl(e,`::before`),Pl(e,`::after`)])}function Il(e){return e.parentNode!==document.head&&!~Ro.indexOf(e.tagName.toUpperCase())&&!e.getAttribute(Mo)&&(!e.parentNode||e.parentNode.tagName!==`svg`)}var Ll=function(e){return!!e&&zo.some(function(t){return e.includes(t)})},Rl=function(e){if(!e)return[];var t=new Set,n=e.split(/,(?![^()]*\))/).map(function(e){return e.trim()});n=n.flatMap(function(e){return e.includes(`(`)?e:e.split(`,`).map(function(e){return e.trim()})});var r=Vi(n),i;try{for(r.s();!(i=r.n()).done;){var a=i.value;if(Ll(a)){var o=zo.reduce(function(e,t){return e.replace(t,``)},a);o!==``&&o!==`*`&&t.add(o)}}}catch(e){r.e(e)}finally{r.f()}return t};function zl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(ua){var n;if(t)n=e;else if(K.searchPseudoElementsFullScan)n=e.querySelectorAll(`*`);else{var r=new Set,i=Vi(document.styleSheets),a;try{for(i.s();!(a=i.n()).done;){var o=a.value;try{var s=Vi(o.cssRules),c;try{for(s.s();!(c=s.n()).done;){var l=c.value,u=Vi(Rl(l.selectorText)),d;try{for(u.s();!(d=u.n()).done;){var f=d.value;r.add(f)}}catch(e){u.e(e)}finally{u.f()}}}catch(e){s.e(e)}finally{s.f()}}catch(e){K.searchPseudoElementsWarnings&&console.warn(`Font Awesome: cannot parse stylesheet: ${o.href} (${e.message})
|
|
559
|
-
If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the <link>, enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`)}}}catch(e){i.e(e)}finally{i.f()}if(!r.size)return;var p=Array.from(r).join(`, `);try{n=e.querySelectorAll(p)}catch{}}return new Promise(function(e,t){var r=ps(n).filter(Il).map(Fl),i=Gc.begin(`searchPseudoElements`);al(),Promise.all(r).then(function(){i(),ol(),e()}).catch(function(){i(),ol(),t()})})}}var Bl={hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=zl,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=t===void 0?sa:t;K.searchPseudoElements&&zl(n)}}},Vl=!1,Hl={mixout:function(){return{dom:{unwatch:function(){al(),Vl=!0}}}},hooks:function(){return{bootstrap:function(){cl(xc(`mutationObserverCallbacks`,{}))},noAuto:function(){ll()},watch:function(e){var t=e.observeMutationsRoot;Vl?ol():cl(xc(`mutationObserverCallbacks`,{observeMutationsRoot:t}))}}}},Ul=function(e){return e.toLowerCase().split(` `).reduce(function(e,t){var n=t.toLowerCase().split(`-`),r=n[0],i=n.slice(1).join(`-`);if(r&&i===`h`)return e.flipX=!0,e;if(r&&i===`v`)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case`grow`:e.size+=i;break;case`shrink`:e.size-=i;break;case`left`:e.x-=i;break;case`right`:e.x+=i;break;case`up`:e.y-=i;break;case`down`:e.y+=i;break;case`rotate`:e.rotate+=i;break}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},Wl={mixout:function(){return{parse:{transform:function(e){return Ul(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-transform`);return n&&(e.transform=Ul(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,i=e.iconWidth,a={outer:{transform:`translate(${r/2} 256)`},inner:{transform:`${`translate(${n.x*32}, ${n.y*32}) `} ${`scale(${n.size/16*(n.flipX?-1:1)}, ${n.size/16*(n.flipY?-1:1)}) `} ${`rotate(${n.rotate} 0 0)`}`},path:{transform:`translate(${i/2*-1} -256)`}};return{tag:`g`,attributes:G({},a.outer),children:[{tag:`g`,attributes:G({},a.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:G(G({},t.icon.attributes),a.path)}]}]}}}},Gl={x:0,y:0,width:`100%`,height:`100%`};function Kl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill=`black`),e}function ql(e){return e.tag===`g`?e.children:[e]}bc([Ts,Sl,Cl,wl,Tl,Bl,Hl,Wl,{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-mask`),r=n?uc(n.split(` `).map(function(e){return e.trim()})):ic();return r.prefix||=rc(),e.mask=r,e.maskId=t.getAttribute(`data-fa-mask-id`),e}}},provides:function(e){e.generateAbstractMask=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.mask,a=e.maskId,o=e.transform,s=r.width,c=r.icon,l=i.width,u=i.icon,d=ys({transform:o,containerWidth:l,iconWidth:s}),f={tag:`rect`,attributes:G(G({},Gl),{},{fill:`white`})},p=c.children?{children:c.children.map(Kl)}:{},m={tag:`g`,attributes:G({},d.inner),children:[Kl(G({tag:c.tag,attributes:G(G({},c.attributes),d.path)},p))]},h={tag:`g`,attributes:G({},d.outer),children:[m]},g=`mask-${a||fs()}`,_=`clip-${a||fs()}`,v={tag:`mask`,attributes:G(G({},Gl),{},{id:g,maskUnits:`userSpaceOnUse`,maskContentUnits:`userSpaceOnUse`}),children:[f,h]},y={tag:`defs`,children:[{tag:`clipPath`,attributes:{id:_},children:ql(u)},v]};return t.push(y,{tag:`rect`,attributes:G({fill:`currentColor`,"clip-path":`url(#${_})`,mask:`url(#${g})`},Gl)}),{children:t,attributes:n}}}},{provides:function(e){var t=!1;oa.matchMedia&&(t=oa.matchMedia(`(prefers-reduced-motion: reduce)`).matches),e.missingIconAbstract=function(){var e=[],n={fill:`currentColor`},r={attributeType:`XML`,repeatCount:`indefinite`,dur:`2s`};e.push({tag:`path`,attributes:G(G({},n),{},{d:`M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z`})});var i=G(G({},r),{},{attributeName:`opacity`}),a={tag:`circle`,attributes:G(G({},n),{},{cx:`256`,cy:`364`,r:`28`}),children:[]};return t||a.children.push({tag:`animate`,attributes:G(G({},r),{},{attributeName:`r`,values:`28;14;28;28;14;28;`})},{tag:`animate`,attributes:G(G({},i),{},{values:`1;0;1;1;0;1;`})}),e.push(a),e.push({tag:`path`,attributes:G(G({},n),{},{opacity:`1`,d:`M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z`}),children:t?[]:[{tag:`animate`,attributes:G(G({},i),{},{values:`1;0;0;0;0;1;`})}]}),t||e.push({tag:`path`,attributes:G(G({},n),{},{opacity:`0`,d:`M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z`}),children:[{tag:`animate`,attributes:G(G({},i),{},{values:`0;0;1;1;0;0;`})}]}),{tag:`g`,attributes:{class:`missing`},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-symbol`);return e.symbol=n===null?!1:n===``?!0:n,e}}}}],{mixoutsTo:Ec}),Ec.noAuto,Ec.config,Ec.library,Ec.dom,Ec.parse,Ec.findIconDefinition,Ec.toHtml;var Jl=Ec.icon;Ec.layer,Ec.text,Ec.counter;function Yl(e,t){Ge(t,!0);let n=Gt(()=>Jl(t.icon).html[0]);var r=Rr();oi(bn(r),()=>B(n)),U(e,r),Ke()}var Xl={prefix:`fas`,iconName:`expand`,icon:[448,512,[],`f065`,`M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z`]},Zl={prefix:`fas`,iconName:`map`,icon:[512,512,[128506,62072],`f279`,`M512 48c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4L349.5 77.5 170.1 17.6c-8.1-2.7-16.8-2.1-24.4 1.7l-128 64C6.8 88.8 0 99.9 0 112L0 464c0 11.1 5.7 21.4 15.2 27.2s21.2 6.4 31.1 1.4l116.1-58.1 179.4 59.8c8.1 2.7 16.8 2.1 24.4-1.7l128-64c10.8-5.4 17.7-16.5 17.7-28.6l0-352zM192 376.9l0-284.5 128 42.7 0 284.5-128-42.7z`]},Ql={prefix:`fas`,iconName:`gear`,icon:[512,512,[9881,`cog`],`f013`,`M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z`]},$l={prefix:`fas`,iconName:`ruler`,icon:[576,512,[128207],`f545`,`M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z`]},eu={prefix:`fas`,iconName:`globe`,icon:[512,512,[127760],`f0ac`,`M351.9 280l-190.9 0c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zM160.9 232l190.9 0C349 167.5 334.7 108.1 314.4 64.6 303 40.2 290.7 22.8 279.3 12.2 268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4zm-48 0C116.4 146.4 138.5 66.9 170.8 14.7 78.7 47.3 10.9 131.2 1.5 232l111.4 0zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3L1.5 280zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3l-111.4 0zm111.4-48C501.9 131.2 434.1 47.3 342 14.7 374.3 66.9 396.4 146.4 399.9 232l111.4 0z`]},tu={prefix:`fas`,iconName:`compress`,icon:[448,512,[],`f066`,`M160 64c0-17.7-14.3-32-32-32S96 46.3 96 64l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z`]},nu={prefix:`fas`,iconName:`location-crosshairs`,icon:[576,512,[`location`],`f601`,`M288-16c17.7 0 32 14.3 32 32l0 18.3c98.1 14 175.7 91.6 189.7 189.7l18.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.3 0c-14 98.1-91.6 175.7-189.7 189.7l0 18.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.3C157.9 463.7 80.3 386.1 66.3 288L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.3 0C80.3 125.9 157.9 48.3 256 34.3L256 16c0-17.7 14.3-32 32-32zM128 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm160-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z`]},ru={prefix:`fas`,iconName:`layer-group`,icon:[512,512,[],`f5fd`,`M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z`]},iu=t(n()),au=st({position:null,cog:null,sog:null,heading:null}),ou=`signalk-chart-settings`,su={...lu(),appearance:{vesselColor:`#2563eb`,vesselSize:24,heading:{color:`#ffffff`,width:2,style:`solid`,lengthUnit:`nm`,lengthValue:.2},cog:{color:`#f59e0b`,width:2,style:`dashed`,lengthUnit:`min`,lengthValue:3},gc:{color:`#22c55e`,width:2,style:`dashed`,lengthUnit:`min`,lengthValue:3},ais:{vesselColor:`#f59e0b`,vesselSize:16,cog:{color:`#f59e0b`,width:1.5,style:`dashed`,lengthMinutes:3}},ruler:{color:`#ffdc32`,width:2}}},cu=`/signalk/v1/stream?subscribe=self`;function lu(){let e=window.location,t=parseInt(e.port||(e.protocol===`https:`?`443`:`80`));return{signalkProtocol:e.protocol===`https:`?`wss`:`ws`,signalkHost:e.hostname,signalkPort:t}}function uu(){try{let e=localStorage.getItem(ou);if(e){let t=JSON.parse(e);if(typeof t==`object`&&t){let e=t;return{...su,...e,appearance:{...su.appearance,...e.appearance??{},heading:{...su.appearance.heading,...e.appearance?.heading??{}},cog:{...su.appearance.cog,...e.appearance?.cog??{}},gc:{...su.appearance.gc,...e.appearance?.gc??{}},ais:{...su.appearance.ais,...e.appearance?.ais??{},cog:{...su.appearance.ais.cog,...e.appearance?.ais?.cog??{}}},ruler:{...su.appearance.ruler,...e.appearance?.ruler??{}}}}}}}catch{}return structuredClone(su)}function du(){let e=ln(uu());return{get protocol(){return e.signalkProtocol},get host(){return e.signalkHost},get port(){return e.signalkPort},get appearance(){return e.appearance},get signalkUrl(){return`${e.signalkProtocol}://${e.signalkHost}:${String(e.signalkPort)}${cu}`},get signalkHttpUrl(){return`${e.signalkProtocol===`wss`?`https`:`http`}://${e.signalkHost}:${String(e.signalkPort)}`},apply(t){e.signalkProtocol=t.signalkProtocol,e.signalkHost=t.signalkHost,e.signalkPort=t.signalkPort,e.appearance=t.appearance,localStorage.setItem(ou,JSON.stringify(e))}}}var q=du();function fu(){let e=P(!1);return{get following(){return B(e)},set following(t){F(e,t,!0)}}}var pu=fu(),mu=[`north`,`cog`,`heading`,`course`],hu={north:`N`,cog:`COG`,heading:`HDG`,course:`BRG`,manual:`MAN`};function gu(){let e=P(`north`),t=P(`north`);function n(e,t,n){return e===`heading`?t:e===`course`?n:!0}return{get mode(){return B(e)},get resumeMode(){return B(t)},get label(){return hu[B(e)]},setManual(){B(e)!==`manual`&&(F(t,B(e),!0),F(e,`manual`))},toggle(r,i){if(B(e)===`manual`){F(e,B(t),!0);return}let a=B(e),o=mu.indexOf(a);for(let t=1;t<=mu.length;t++){let a=mu[(o+t)%mu.length];if(n(a,r,i)){F(e,a,!0);return}}}}}var _u=gu(),vu=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],yu=[`difference`,`intersection`,`symmetricDifference`,`union`],bu=!1,xu=class e extends Set{#e=new Map;#t=P(0);#n=P(0);#r=hr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}bu||this.#a()}#i(e){return hr===this.#r?P(e):tn(e)}#a(){bu=!0;var t=e.prototype,n=Set.prototype;for(let e of vu)t[e]=function(...t){return B(this.#t),n[e].apply(this,t)};for(let r of yu)t[r]=function(...t){return B(this.#t),new e(n[r].apply(this,t))}}has(e){var t=super.has(e),n=this.#e,r=n.get(e);if(r===void 0){if(!t)return B(this.#t),!1;r=this.#i(!0),n.set(e,r)}return B(r),t}add(e){return super.has(e)||(super.add(e),F(this.#n,super.size),sn(this.#t)),this}delete(e){var t=super.delete(e),n=this.#e,r=n.get(e);return r!==void 0&&(n.delete(e),F(r,!1)),t&&(F(this.#n,super.size),sn(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())F(t,!1);e.clear(),F(this.#n,0),sn(this.#t)}}keys(){return this.values()}values(){return B(this.#t),super.values()}entries(){return B(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return B(this.#n)}},Su=class extends Map{#e=new Map;#t=P(0);#n=P(0);#r=hr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return hr===this.#r?P(e):tn(e)}has(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else return B(this.#t),!1;return B(n),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else{B(this.#t);return}return B(n),super.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),F(this.#n,super.size),sn(o);else if(i!==t){sn(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&sn(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),F(n,-1)),r&&(F(this.#n,super.size),sn(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;F(this.#n,0);for(var t of e.values())F(t,-1);sn(this.#t),e.clear()}}#a(){B(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var t of super.keys())if(!e.has(t)){var n=this.#i(0);e.set(t,n)}}for([,n]of this.#e)B(n)}keys(){return B(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return B(this.#n),super.size}};function Cu(e,t){if(!e.url)return null;let n=e.url.startsWith(`/`)?`${t}${e.url}`:e.url;if(e.type===`WMS`){let t=e.layers?.join(`,`)??``,r=wu(e.format),i=e.wmsVersion??`1.3.0`,a=i.startsWith(`1.1`)?`SRS`:`CRS`;return`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMS&VERSION=${i}&REQUEST=GetMap&${a}=EPSG:3857&BBOX={bbox-epsg-3857}&WIDTH=256&HEIGHT=256&LAYERS=${encodeURIComponent(t)}&STYLES=&FORMAT=${encodeURIComponent(r)}&TRANSPARENT=TRUE`}if(e.type===`WMTS`){if(!n.includes(`{z}`)){let t=e.layers?.[0]??``,r=wu(e.format);return`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&LAYER=${encodeURIComponent(t)}&TILEMATRIXSET=EPSG:3857&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=${encodeURIComponent(r)}`}return n}return n}function wu(e){switch(e.toLowerCase()){case`png`:return`image/png`;case`jpg`:case`jpeg`:return`image/jpeg`;case`pbf`:return`application/vnd.mapbox-vector-tile`;case`webp`:return`image/webp`;default:return`image/${e}`}}async function Tu(e){let t=await fetch(`${e}/signalk/v2/api/resources/charts`);if(!t.ok)throw Error(`Charts API error: ${String(t.status)} ${t.statusText}`);return t.json()}async function Eu(e){let t=await fetch(`${e}/signalk/v1/api/vessels`);if(!t.ok)return new Map;let n=await t.json(),r=new Map;for(let[e,t]of Object.entries(n)){let n=t.design,i={};t.name&&(i.name=t.name),n?.aisShipType?.value?.name&&(i.shipType=n.aisShipType.value.name),n?.length?.value?.overall!==void 0&&(i.lengthM=n.length.value.overall),typeof n?.beam?.value==`number`&&(i.beamM=n.beam.value);let a=n?.draft?.value?.current??n?.draft?.value?.maximum;a!==void 0&&(i.draftM=a),r.set(e,i)}return r}async function Du(e,t){let n=e.replace(/\/+$/,``),r=[`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities`,`${n}/WMTSCapabilities.xml`,`${n}/1.0.0/WMTSCapabilities.xml`],i=[];for(let n of r)try{let r=await fetch(n,{signal:AbortSignal.timeout(3e4)});if(!r.ok){i.push(`${n} → ${r.status}`);continue}let a=await r.text(),o=new DOMParser().parseFromString(a,`text/xml`);if(!o.querySelector(`Capabilities, WMT_MS_Capabilities`)){i.push(`${n} → not a WMTS capabilities document`);continue}return Ou(o,e,t)}catch(e){i.push(`${n} → ${String(e)}`)}throw Error(`WMTS GetCapabilities failed:\n${i.join(`
|
|
560
|
-
`)}`)}function Ou(e,t,n){let r=Au(e);if(r.size===0)throw Error(`No EPSG:3857 / WebMercatorQuad tile matrix sets`);let i=Array.from(e.querySelectorAll(`Contents > Layer`));if(i.length===0)throw Error(`No layers in capabilities document`);let a=i.map(e=>({id:Nu(e,`Identifier`)??``,title:Nu(e,`Title`)??Nu(e,`Identifier`)??``})),o=ju(i,r,n);return ku(t,t.includes(`?`)?`&`:`?`,o,r,a)}function ku(e,t,n,r,i){let a=Nu(n,`Identifier`)??``,o=Nu(n,`Format`)??`image/png`,s=Mu(n,r),c=n.querySelector(`ResourceURL[resourceType="tile"]`);return c?{tileUrlTemplate:(c.getAttribute(`template`)??``).replace(/\{TileMatrixSet\}/g,s).replace(/\{TileMatrix\}/g,`{z}`).replace(/\{TileRow\}/g,`{y}`).replace(/\{TileCol\}/g,`{x}`),layerName:a,tileMatrixSet:s,format:o,availableLayers:i}:{tileUrlTemplate:`${e}${t}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&LAYER=${encodeURIComponent(a)}&TILEMATRIXSET=${encodeURIComponent(s)}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=${encodeURIComponent(o)}`,layerName:a,tileMatrixSet:s,format:o,availableLayers:i}}function Au(e){let t=new Set;for(let n of e.querySelectorAll(`Contents > TileMatrixSet`)){let e=Nu(n,`Identifier`)??``,r=Nu(n,`SupportedCRS`)??``;(e===`WebMercatorQuad`||e===`GoogleMapsCompatible`||r.includes(`3857`)||r.includes(`900913`))&&t.add(e)}return t}function ju(e,t,n){if(n){let t=e.find(e=>Nu(e,`Identifier`)===n);if(t)return t}for(let n of e)for(let e of n.querySelectorAll(`TileMatrixSetLink > TileMatrixSet`))if(t.has(e.textContent??``))return n;return e[0]}function Mu(e,t){for(let n of e.querySelectorAll(`TileMatrixSetLink > TileMatrixSet`)){let e=n.textContent??``;if(t.has(e))return e}return t.values().next().value??`WebMercatorQuad`}function Nu(e,t){return e.querySelector(t)?.textContent??null}function Pu(e,t){return Du(e,t)}function Fu(e,t){return Du(e,t)}var Iu=`chart-wmts-overrides`,Lu=`chart-wmts-layer-sel`,Ru=`chart-selected`;function zu(e){try{let t=localStorage.getItem(e);if(t)return new Map(JSON.parse(t))}catch{}return new Map}function Bu(){try{let e=localStorage.getItem(Ru);if(e)return new Set(JSON.parse(e))}catch{}return new Set}function Vu(e,t){localStorage.setItem(e,JSON.stringify([...t]))}function Hu(){let e=P(ln({})),t=new xu,n=Bu(),r=P(!1),i=P(null),a=``,o=new Su,s=new xu,c=zu(Iu),l=new Su,u=new Su,d=new xu,f=zu(Lu);return{get available(){return B(e)},get selected(){return t},get loading(){return B(r)},get error(){return B(i)},get wmtsFailed(){return s},visibleLayers(e){return d.has(e)?l.get(e)??[]:u.get(e)??l.get(e)??[]},hasFilter(e){return(u.get(e)?.length??0)>0},isShowingAll(e){return d.has(e)},toggleShowAll(e){d.has(e)?d.delete(e):d.add(e)},needsManualUrl(t){let n=B(e)[t];return!!n&&n.type===`WMTS`&&s.has(t)&&!c.has(t)},getOverride(e){return c.get(e)??``},getLayerSel(e){return f.get(e)??``},setOverride(e,t){t.trim()?c.set(e,t.trim()):c.delete(e),Vu(Iu,c),s.delete(e),s.add(e)},async selectLayer(t,n){let r=B(e)[t];if(!r||r.type!==`WMTS`)return;let i=r.url&&r.url.startsWith(`/`)?`${a}${r.url}`:r.url??``;try{let e=await Fu(i,n);o.set(t,e.tileUrlTemplate),l.set(t,e.availableLayers),f.set(t,e.layerName),Vu(Lu,f)}catch(e){console.warn(`[charts] WMTS layer switch failed for ${t}:`,e)}},tileUrl(e){return e.type===`WMTS`?c.get(e.identifier)??o.get(e.identifier)??``:Cu(e,a)??``},async load(d){a=d,F(r,!0),F(i,null);try{F(e,await Tu(d),!0);for(let r of n)r in B(e)&&t.add(r);n.clear();let r=Object.values(B(e)).filter(e=>e.type===`WMTS`&&!c.has(e.identifier)).map(async e=>{let t=e.url&&e.url.startsWith(`/`)?`${d}${e.url}`:e.url??``;if(!t){s.add(e.identifier);return}let n=f.get(e.identifier)??e.layers?.[0];try{let r=await Pu(t,n);if(o.set(e.identifier,r.tileUrlTemplate),l.set(e.identifier,r.availableLayers),e.layers&&e.layers.length>0){let t=new Map(r.availableLayers.map(e=>[e.id,e])),n=e.layers.map(e=>t.get(e)).filter(Boolean);n.length>0&&u.set(e.identifier,n)}f.has(e.identifier)||f.set(e.identifier,r.layerName)}catch{s.add(e.identifier)}});await Promise.allSettled(r)}catch(e){F(i,String(e),!0)}finally{F(r,!1)}},toggle(e){t.has(e)?t.delete(e):t.add(e),localStorage.setItem(Ru,JSON.stringify([...t]))}}}var Uu=Hu(),Wu=[{id:`osm`,name:`OpenStreetMap`},{id:`seamarks`,name:`OpenSeaMap`}],Gu=`base-layers-enabled`;function Ku(){try{let e=localStorage.getItem(Gu);if(e)return JSON.parse(e)}catch{}return Wu.map(e=>e.id)}function qu(){let e=new xu(Ku());return{get enabled(){return e},toggle(t){e.has(t)?e.delete(t):e.add(t),localStorage.setItem(Gu,JSON.stringify([...e]))}}}var Ju=qu();function Yu(){let e=P(null),t=P(ln([])),n=new Map,r=P(0);return{get hotData(){return B(e)},get ids(){return B(t)},get coldMap(){return n},get coldVersion(){return B(r)},get count(){return B(t).length},updateBinary(r,i,a){F(e,new Float64Array(r),!0),F(t,i,!0);for(let e of a){let t=n.get(e.id);n.set(e.id,{...t,id:e.id,name:e.name??t?.name,mmsi:e.mmsi??t?.mmsi})}},setInfoCache(e){for(let[t,r]of e){let e=n.get(t)??{id:t};n.set(t,{...e,shipType:r.shipType??e.shipType,lengthM:r.lengthM??e.lengthM,beamM:r.beamM??e.beamM,draftM:r.draftM??e.draftM})}on(r)},getTarget(r){if(!B(e)||r<0||r>=B(t).length)return null;let i=r*7,a=B(t)[r],o=n.get(a),s=B(e)[i+0],c=B(e)[i+1],l=B(e)[i+2],u=B(e)[i+3],d=B(e)[i+4],f=B(e)[i+5],p=B(e)[i+6];return{id:a,mmsi:o?.mmsi,name:o?.name,position:{longitude:s,latitude:c},cog:isNaN(l)?void 0:l,sog:isNaN(u)?void 0:u,heading:isNaN(d)?void 0:d,rot:isNaN(f)?void 0:f,lastPositionUpdateMs:Date.now()-p*1e3,shipType:o?.shipType,lengthM:o?.lengthM,beamM:o?.beamM,draftM:o?.draftM}}}}var Xu=Yu();function Zu(e,t){if(!e)throw Error(t||`loader assertion failed.`)}var Qu={self:typeof self<`u`&&self,window:typeof window<`u`&&window,global:typeof global<`u`&&global,document:typeof document<`u`&&document};Qu.self||Qu.window||Qu.global,Qu.window||Qu.self||Qu.global,Qu.global||Qu.self||Qu.window,Qu.document;var $u=!!(typeof process!=`object`||String(process)!==`[object process]`||process.browser),ed=typeof process<`u`&&process.version&&/v([0-9]*)/.exec(process.version);ed&&parseFloat(ed[1]);var td=globalThis;globalThis.document;var nd=globalThis.process||{};globalThis.console;var rd=globalThis.navigator||{};function id(e){if(typeof window<`u`&&window.process?.type===`renderer`||typeof process<`u`&&process.versions?.electron)return!0;let t=typeof navigator<`u`&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf(`Electron`)>=0)}function ad(){return!(typeof process==`object`&&String(process)===`[object process]`&&!process?.browser)||id()}function od(e){return!e&&!ad()?`Node`:id(e)?`Electron`:(e||rd.userAgent||``).indexOf(`Edge`)>-1?`Edge`:globalThis.chrome?`Chrome`:globalThis.safari?`Safari`:globalThis.mozInnerScreenX?`Firefox`:`Unknown`}var sd=`4.1.1`;function cd(e,t){if(!e)throw Error(t||`Assertion failed`)}function ld(e){if(!e)return 0;let t;switch(typeof e){case`number`:t=e;break;case`object`:t=e.logLevel||e.priority||0;break;default:return 0}return cd(Number.isFinite(t)&&t>=0),t}function ud(e){let{logLevel:t,message:n}=e;e.logLevel=ld(t);let r=e.args?Array.from(e.args):[];for(;r.length&&r.shift()!==n;);switch(typeof t){case`string`:case`function`:n!==void 0&&r.unshift(n),e.message=t;break;case`object`:Object.assign(e,t);break;default:}typeof e.message==`function`&&(e.message=e.message());let i=typeof e.message;return cd(i===`string`||i===`object`),Object.assign(e,{args:r},e.opts)}var dd=()=>{},fd=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...t){return this._log(`warn`,0,e,t,{once:!0})}error(e,...t){return this._log(`error`,0,e,t)}log(e,t,...n){return this._log(`log`,e,t,n)}info(e,t,...n){return this._log(`info`,e,t,n)}once(e,t,...n){return this._log(`once`,e,t,n,{once:!0})}_log(e,t,n,r,i={}){let a=ud({logLevel:t,message:n,args:this._buildArgs(t,n,r),opts:i});return this._createLogFunction(e,a,i)}_buildArgs(e,t,n){return[e,t,...n]}_createLogFunction(e,t,n){if(!this._shouldLog(t.logLevel))return dd;let r=this._getOnceTag(n.tag??t.tag??t.message);if((n.once||t.once)&&r!==void 0){if(this._onceCache.has(r))return dd;this._onceCache.add(r)}return this._emit(e,t)}_shouldLog(e){return this.getLevel()>=ld(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e==`string`?e:String(e)}catch{return}}};function pd(e){try{let t=window[e],n=`__storage_test__`;return t.setItem(n,n),t.removeItem(n),t}catch{return null}}var md=class{constructor(e,t,n=`sessionStorage`){this.storage=pd(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}}_loadConfiguration(){let e={};if(this.storage){let t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function hd(e){let t;return t=e<10?`${e.toFixed(2)}ms`:e<100?`${e.toFixed(1)}ms`:e<1e3?`${e.toFixed(0)}ms`:`${(e/1e3).toFixed(2)}s`,t}function gd(e,t=8){let n=Math.max(t-e.length,0);return`${` `.repeat(n)}${e}`}var _d;(function(e){e[e.BLACK=30]=`BLACK`,e[e.RED=31]=`RED`,e[e.GREEN=32]=`GREEN`,e[e.YELLOW=33]=`YELLOW`,e[e.BLUE=34]=`BLUE`,e[e.MAGENTA=35]=`MAGENTA`,e[e.CYAN=36]=`CYAN`,e[e.WHITE=37]=`WHITE`,e[e.BRIGHT_BLACK=90]=`BRIGHT_BLACK`,e[e.BRIGHT_RED=91]=`BRIGHT_RED`,e[e.BRIGHT_GREEN=92]=`BRIGHT_GREEN`,e[e.BRIGHT_YELLOW=93]=`BRIGHT_YELLOW`,e[e.BRIGHT_BLUE=94]=`BRIGHT_BLUE`,e[e.BRIGHT_MAGENTA=95]=`BRIGHT_MAGENTA`,e[e.BRIGHT_CYAN=96]=`BRIGHT_CYAN`,e[e.BRIGHT_WHITE=97]=`BRIGHT_WHITE`})(_d||={});var vd=10;function yd(e){return typeof e==`string`?(e=e.toUpperCase(),_d[e]||_d.WHITE):e}function bd(e,t,n){return!ad&&typeof e==`string`&&(t&&(e=`\u001b[${yd(t)}m${e}\u001b[39m`),n&&(e=`\u001b[${yd(n)+vd}m${e}\u001b[49m`)),e}function xd(e,t=[`constructor`]){let n=Object.getOwnPropertyNames(Object.getPrototypeOf(e)),r=e;for(let i of n){let n=r[i];typeof n==`function`&&(t.find(e=>i===e)||(r[i]=n.bind(e)))}}function Sd(){let e;if(ad()&&td.performance)e=td?.performance?.now?.();else if(`hrtime`in nd){let t=nd?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Cd={debug:ad()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},wd={enabled:!0,level:0},Td=class extends fd{constructor({id:e}={id:``}){super({level:0}),this.VERSION=sd,this._startTs=Sd(),this._deltaTs=Sd(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new md(`__probe-${this.id}__`,{[this.id]:wd}),this.timeStamp(`${this.id} started`),xd(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((Sd()-this._startTs).toPrecision(10))}getDelta(){return Number((Sd()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,t){this._updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw Error(t||`Assertion failed`)}warn(e,...t){return this._log(`warn`,0,e,t,{method:Cd.warn,once:!0})}error(e,...t){return this._log(`error`,0,e,t,{method:Cd.error})}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed \
|
|
559
|
+
If it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin="anonymous" to the <link>, enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.`)}}}catch(e){i.e(e)}finally{i.f()}if(!r.size)return;var p=Array.from(r).join(`, `);try{n=e.querySelectorAll(p)}catch{}}return new Promise(function(e,t){var r=ps(n).filter(Il).map(Fl),i=Gc.begin(`searchPseudoElements`);al(),Promise.all(r).then(function(){i(),ol(),e()}).catch(function(){i(),ol(),t()})})}}var Bl={hooks:function(){return{mutationObserverCallbacks:function(e){return e.pseudoElementsCallback=zl,e}}},provides:function(e){e.pseudoElements2svg=function(e){var t=e.node,n=t===void 0?sa:t;K.searchPseudoElements&&zl(n)}}},Vl=!1,Hl={mixout:function(){return{dom:{unwatch:function(){al(),Vl=!0}}}},hooks:function(){return{bootstrap:function(){cl(xc(`mutationObserverCallbacks`,{}))},noAuto:function(){ll()},watch:function(e){var t=e.observeMutationsRoot;Vl?ol():cl(xc(`mutationObserverCallbacks`,{observeMutationsRoot:t}))}}}},Ul=function(e){return e.toLowerCase().split(` `).reduce(function(e,t){var n=t.toLowerCase().split(`-`),r=n[0],i=n.slice(1).join(`-`);if(r&&i===`h`)return e.flipX=!0,e;if(r&&i===`v`)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case`grow`:e.size+=i;break;case`shrink`:e.size-=i;break;case`left`:e.x-=i;break;case`right`:e.x+=i;break;case`up`:e.y-=i;break;case`down`:e.y+=i;break;case`rotate`:e.rotate+=i;break}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0})},Wl={mixout:function(){return{parse:{transform:function(e){return Ul(e)}}}},hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-transform`);return n&&(e.transform=Ul(n)),e}}},provides:function(e){e.generateAbstractTransformGrouping=function(e){var t=e.main,n=e.transform,r=e.containerWidth,i=e.iconWidth,a={outer:{transform:`translate(${r/2} 256)`},inner:{transform:`${`translate(${n.x*32}, ${n.y*32}) `} ${`scale(${n.size/16*(n.flipX?-1:1)}, ${n.size/16*(n.flipY?-1:1)}) `} ${`rotate(${n.rotate} 0 0)`}`},path:{transform:`translate(${i/2*-1} -256)`}};return{tag:`g`,attributes:G({},a.outer),children:[{tag:`g`,attributes:G({},a.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:G(G({},t.icon.attributes),a.path)}]}]}}}},Gl={x:0,y:0,width:`100%`,height:`100%`};function Kl(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill=`black`),e}function ql(e){return e.tag===`g`?e.children:[e]}bc([Ts,Sl,Cl,wl,Tl,Bl,Hl,Wl,{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-mask`),r=n?uc(n.split(` `).map(function(e){return e.trim()})):ic();return r.prefix||=rc(),e.mask=r,e.maskId=t.getAttribute(`data-fa-mask-id`),e}}},provides:function(e){e.generateAbstractMask=function(e){var t=e.children,n=e.attributes,r=e.main,i=e.mask,a=e.maskId,o=e.transform,s=r.width,c=r.icon,l=i.width,u=i.icon,d=ys({transform:o,containerWidth:l,iconWidth:s}),f={tag:`rect`,attributes:G(G({},Gl),{},{fill:`white`})},p=c.children?{children:c.children.map(Kl)}:{},m={tag:`g`,attributes:G({},d.inner),children:[Kl(G({tag:c.tag,attributes:G(G({},c.attributes),d.path)},p))]},h={tag:`g`,attributes:G({},d.outer),children:[m]},g=`mask-${a||fs()}`,_=`clip-${a||fs()}`,v={tag:`mask`,attributes:G(G({},Gl),{},{id:g,maskUnits:`userSpaceOnUse`,maskContentUnits:`userSpaceOnUse`}),children:[f,h]},y={tag:`defs`,children:[{tag:`clipPath`,attributes:{id:_},children:ql(u)},v]};return t.push(y,{tag:`rect`,attributes:G({fill:`currentColor`,"clip-path":`url(#${_})`,mask:`url(#${g})`},Gl)}),{children:t,attributes:n}}}},{provides:function(e){var t=!1;oa.matchMedia&&(t=oa.matchMedia(`(prefers-reduced-motion: reduce)`).matches),e.missingIconAbstract=function(){var e=[],n={fill:`currentColor`},r={attributeType:`XML`,repeatCount:`indefinite`,dur:`2s`};e.push({tag:`path`,attributes:G(G({},n),{},{d:`M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z`})});var i=G(G({},r),{},{attributeName:`opacity`}),a={tag:`circle`,attributes:G(G({},n),{},{cx:`256`,cy:`364`,r:`28`}),children:[]};return t||a.children.push({tag:`animate`,attributes:G(G({},r),{},{attributeName:`r`,values:`28;14;28;28;14;28;`})},{tag:`animate`,attributes:G(G({},i),{},{values:`1;0;1;1;0;1;`})}),e.push(a),e.push({tag:`path`,attributes:G(G({},n),{},{opacity:`1`,d:`M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z`}),children:t?[]:[{tag:`animate`,attributes:G(G({},i),{},{values:`1;0;0;0;0;1;`})}]}),t||e.push({tag:`path`,attributes:G(G({},n),{},{opacity:`0`,d:`M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z`}),children:[{tag:`animate`,attributes:G(G({},i),{},{values:`0;0;1;1;0;0;`})}]}),{tag:`g`,attributes:{class:`missing`},children:e}}}},{hooks:function(){return{parseNodeAttributes:function(e,t){var n=t.getAttribute(`data-fa-symbol`);return e.symbol=n===null?!1:n===``?!0:n,e}}}}],{mixoutsTo:Ec}),Ec.noAuto,Ec.config,Ec.library,Ec.dom,Ec.parse,Ec.findIconDefinition,Ec.toHtml;var Jl=Ec.icon;Ec.layer,Ec.text,Ec.counter;function Yl(e,t){Ge(t,!0);let n=Gt(()=>Jl(t.icon).html[0]);var r=Rr();oi(bn(r),()=>B(n)),U(e,r),Ke()}var Xl={prefix:`fas`,iconName:`expand`,icon:[448,512,[],`f065`,`M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z`]},Zl={prefix:`fas`,iconName:`map`,icon:[512,512,[128506,62072],`f279`,`M512 48c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4L349.5 77.5 170.1 17.6c-8.1-2.7-16.8-2.1-24.4 1.7l-128 64C6.8 88.8 0 99.9 0 112L0 464c0 11.1 5.7 21.4 15.2 27.2s21.2 6.4 31.1 1.4l116.1-58.1 179.4 59.8c8.1 2.7 16.8 2.1 24.4-1.7l128-64c10.8-5.4 17.7-16.5 17.7-28.6l0-352zM192 376.9l0-284.5 128 42.7 0 284.5-128-42.7z`]},Ql={prefix:`fas`,iconName:`gear`,icon:[512,512,[9881,`cog`],`f013`,`M195.1 9.5C198.1-5.3 211.2-16 226.4-16l59.8 0c15.2 0 28.3 10.7 31.3 25.5L332 79.5c14.1 6 27.3 13.7 39.3 22.8l67.8-22.5c14.4-4.8 30.2 1.2 37.8 14.4l29.9 51.8c7.6 13.2 4.9 29.8-6.5 39.9L447 233.3c.9 7.4 1.3 15 1.3 22.7s-.5 15.3-1.3 22.7l53.4 47.5c11.4 10.1 14 26.8 6.5 39.9l-29.9 51.8c-7.6 13.1-23.4 19.2-37.8 14.4l-67.8-22.5c-12.1 9.1-25.3 16.7-39.3 22.8l-14.4 69.9c-3.1 14.9-16.2 25.5-31.3 25.5l-59.8 0c-15.2 0-28.3-10.7-31.3-25.5l-14.4-69.9c-14.1-6-27.2-13.7-39.3-22.8L73.5 432.3c-14.4 4.8-30.2-1.2-37.8-14.4L5.8 366.1c-7.6-13.2-4.9-29.8 6.5-39.9l53.4-47.5c-.9-7.4-1.3-15-1.3-22.7s.5-15.3 1.3-22.7L12.3 185.8c-11.4-10.1-14-26.8-6.5-39.9L35.7 94.1c7.6-13.2 23.4-19.2 37.8-14.4l67.8 22.5c12.1-9.1 25.3-16.7 39.3-22.8L195.1 9.5zM256.3 336a80 80 0 1 0 -.6-160 80 80 0 1 0 .6 160z`]},$l={prefix:`fas`,iconName:`ruler`,icon:[576,512,[128207],`f545`,`M209.1 516.2c-18.7 18.7-49.1 18.7-67.9 0L28.1 403.1c-18.7-18.7-18.7-49.1 0-67.9l17-17 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 33.9-33.9 50.9 50.9c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-50.9-50.9 33.9-33.9 73.5 73.5c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-73.5-73.5 17-17c18.7-18.7 49.1-18.7 67.9 0L548.5 108.9c18.7 18.7 18.7 49.1 0 67.9L209.1 516.2z`]},eu={prefix:`fas`,iconName:`globe`,icon:[512,512,[127760],`f0ac`,`M351.9 280l-190.9 0c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zM160.9 232l190.9 0C349 167.5 334.7 108.1 314.4 64.6 303 40.2 290.7 22.8 279.3 12.2 268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4zm-48 0C116.4 146.4 138.5 66.9 170.8 14.7 78.7 47.3 10.9 131.2 1.5 232l111.4 0zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3L1.5 280zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3l-111.4 0zm111.4-48C501.9 131.2 434.1 47.3 342 14.7 374.3 66.9 396.4 146.4 399.9 232l111.4 0z`]},tu={prefix:`fas`,iconName:`compress`,icon:[448,512,[],`f066`,`M160 64c0-17.7-14.3-32-32-32S96 46.3 96 64l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z`]},nu={prefix:`fas`,iconName:`location-crosshairs`,icon:[576,512,[`location`],`f601`,`M288-16c17.7 0 32 14.3 32 32l0 18.3c98.1 14 175.7 91.6 189.7 189.7l18.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-18.3 0c-14 98.1-91.6 175.7-189.7 189.7l0 18.3c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-18.3C157.9 463.7 80.3 386.1 66.3 288L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l18.3 0C80.3 125.9 157.9 48.3 256 34.3L256 16c0-17.7 14.3-32 32-32zM128 256a160 160 0 1 0 320 0 160 160 0 1 0 -320 0zm160-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z`]},ru={prefix:`fas`,iconName:`layer-group`,icon:[512,512,[],`f5fd`,`M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z`]},iu=t(n()),au=st({position:null,cog:null,sog:null,heading:null}),ou=`signalk-chart-settings`,su={...lu(),appearance:{vesselColor:`#2563eb`,vesselSize:24,heading:{color:`#ffffff`,width:2,style:`solid`,lengthUnit:`nm`,lengthValue:.2},cog:{color:`#f59e0b`,width:2,style:`dashed`,lengthUnit:`min`,lengthValue:3},gc:{color:`#22c55e`,width:2,style:`dashed`,lengthUnit:`min`,lengthValue:3},ais:{vesselColor:`#f59e0b`,vesselSize:16,cog:{color:`#f59e0b`,width:1.5,style:`dashed`,lengthMinutes:3}},ruler:{color:`#ffdc32`,width:2}}},cu=`/signalk/v1/stream?subscribe=self`;function lu(){let e=window.location,t=parseInt(e.port||(e.protocol===`https:`?`443`:`80`));return{signalkProtocol:e.protocol===`https:`?`wss`:`ws`,signalkHost:e.hostname,signalkPort:t}}function uu(){try{let e=localStorage.getItem(ou);if(e){let t=JSON.parse(e);if(typeof t==`object`&&t){let e=t;return{...su,...e,appearance:{...su.appearance,...e.appearance??{},heading:{...su.appearance.heading,...e.appearance?.heading??{}},cog:{...su.appearance.cog,...e.appearance?.cog??{}},gc:{...su.appearance.gc,...e.appearance?.gc??{}},ais:{...su.appearance.ais,...e.appearance?.ais??{},cog:{...su.appearance.ais.cog,...e.appearance?.ais?.cog??{}}},ruler:{...su.appearance.ruler,...e.appearance?.ruler??{}}}}}}}catch{}return structuredClone(su)}function du(){let e=ln(uu());return{get protocol(){return e.signalkProtocol},get host(){return e.signalkHost},get port(){return e.signalkPort},get appearance(){return e.appearance},get signalkUrl(){return`${e.signalkProtocol}://${e.signalkHost}:${String(e.signalkPort)}${cu}`},get signalkHttpUrl(){return`${e.signalkProtocol===`wss`?`https`:`http`}://${e.signalkHost}:${String(e.signalkPort)}`},apply(t){e.signalkProtocol=t.signalkProtocol,e.signalkHost=t.signalkHost,e.signalkPort=t.signalkPort,e.appearance=t.appearance,localStorage.setItem(ou,JSON.stringify(e))}}}var q=du();function fu(){let e=P(!1);return{get following(){return B(e)},set following(t){F(e,t,!0)}}}var pu=fu(),mu=[`north`,`cog`,`heading`,`course`],hu={north:`N`,cog:`COG`,heading:`HDG`,course:`BRG`,manual:`MAN`};function gu(){let e=P(`north`),t=P(`north`);function n(e,t,n){return e===`heading`?t:e===`course`?n:!0}return{get mode(){return B(e)},get resumeMode(){return B(t)},get label(){return hu[B(e)]},setManual(){B(e)!==`manual`&&(F(t,B(e),!0),F(e,`manual`))},toggle(r,i){if(B(e)===`manual`){F(e,B(t),!0);return}let a=B(e),o=mu.indexOf(a);for(let t=1;t<=mu.length;t++){let a=mu[(o+t)%mu.length];if(n(a,r,i)){F(e,a,!0);return}}}}}var _u=gu(),vu=[`forEach`,`isDisjointFrom`,`isSubsetOf`,`isSupersetOf`],yu=[`difference`,`intersection`,`symmetricDifference`,`union`],bu=!1,xu=class e extends Set{#e=new Map;#t=P(0);#n=P(0);#r=hr||-1;constructor(e){if(super(),e){for(var t of e)super.add(t);this.#n.v=super.size}bu||this.#a()}#i(e){return hr===this.#r?P(e):tn(e)}#a(){bu=!0;var t=e.prototype,n=Set.prototype;for(let e of vu)t[e]=function(...t){return B(this.#t),n[e].apply(this,t)};for(let r of yu)t[r]=function(...t){return B(this.#t),new e(n[r].apply(this,t))}}has(e){var t=super.has(e),n=this.#e,r=n.get(e);if(r===void 0){if(!t)return B(this.#t),!1;r=this.#i(!0),n.set(e,r)}return B(r),t}add(e){return super.has(e)||(super.add(e),F(this.#n,super.size),sn(this.#t)),this}delete(e){var t=super.delete(e),n=this.#e,r=n.get(e);return r!==void 0&&(n.delete(e),F(r,!1)),t&&(F(this.#n,super.size),sn(this.#t)),t}clear(){if(super.size!==0){super.clear();var e=this.#e;for(var t of e.values())F(t,!1);e.clear(),F(this.#n,0),sn(this.#t)}}keys(){return this.values()}values(){return B(this.#t),super.values()}entries(){return B(this.#t),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return B(this.#n)}},Su=class extends Map{#e=new Map;#t=P(0);#n=P(0);#r=hr||-1;constructor(e){if(super(),e){for(var[t,n]of e)super.set(t,n);this.#n.v=super.size}}#i(e){return hr===this.#r?P(e):tn(e)}has(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else return B(this.#t),!1;return B(n),!0}forEach(e,t){this.#a(),super.forEach(e,t)}get(e){var t=this.#e,n=t.get(e);if(n===void 0)if(super.has(e))n=this.#i(0),t.set(e,n);else{B(this.#t);return}return B(n),super.get(e)}set(e,t){var n=this.#e,r=n.get(e),i=super.get(e),a=super.set(e,t),o=this.#t;if(r===void 0)r=this.#i(0),n.set(e,r),F(this.#n,super.size),sn(o);else if(i!==t){sn(r);var s=o.reactions===null?null:new Set(o.reactions);(s===null||!r.reactions?.every(e=>s.has(e)))&&sn(o)}return a}delete(e){var t=this.#e,n=t.get(e),r=super.delete(e);return n!==void 0&&(t.delete(e),F(n,-1)),r&&(F(this.#n,super.size),sn(this.#t)),r}clear(){if(super.size!==0){super.clear();var e=this.#e;F(this.#n,0);for(var t of e.values())F(t,-1);sn(this.#t),e.clear()}}#a(){B(this.#t);var e=this.#e;if(this.#n.v!==e.size){for(var t of super.keys())if(!e.has(t)){var n=this.#i(0);e.set(t,n)}}for([,n]of this.#e)B(n)}keys(){return B(this.#t),super.keys()}values(){return this.#a(),super.values()}entries(){return this.#a(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return B(this.#n),super.size}};function Cu(e,t){if(!e.url)return null;let n=e.url.startsWith(`/`)?`${t}${e.url}`:e.url;if(e.type===`WMS`){let t=e.layers?.join(`,`)??``,r=wu(e.format),i=e.wmsVersion??`1.3.0`,a=i.startsWith(`1.1`)?`SRS`:`CRS`;return`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMS&VERSION=${i}&REQUEST=GetMap&${a}=EPSG:3857&BBOX={bbox-epsg-3857}&WIDTH=256&HEIGHT=256&LAYERS=${encodeURIComponent(t)}&STYLES=&FORMAT=${encodeURIComponent(r)}&TRANSPARENT=TRUE`}if(e.type===`WMTS`){if(!n.includes(`{z}`)){let t=e.layers?.[0]??``,r=wu(e.format);return`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&LAYER=${encodeURIComponent(t)}&TILEMATRIXSET=EPSG:3857&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=${encodeURIComponent(r)}`}return n}return n}function wu(e){switch(e.toLowerCase()){case`png`:return`image/png`;case`jpg`:case`jpeg`:return`image/jpeg`;case`pbf`:return`application/vnd.mapbox-vector-tile`;case`webp`:return`image/webp`;default:return`image/${e}`}}async function Tu(e){let t=await fetch(`${e}/signalk/v2/api/resources/charts`);if(!t.ok)throw Error(`Charts API error: ${String(t.status)} ${t.statusText}`);return t.json()}async function Eu(e){let t=await fetch(`${e}/signalk/v1/api/vessels`);if(!t.ok)return new Map;let n=await t.json(),r=new Map;for(let[e,t]of Object.entries(n)){let n=t.design,i={};t.name&&(i.name=t.name),t.port&&(i.port=t.port),t.flag&&(i.flag=t.flag),t.communication?.callsignVhf&&(i.callsign=t.communication.callsignVhf),t.communication?.callsignHf&&(i.callsignHf=t.communication.callsignHf),t.communication?.skipperName&&(i.skipperName=t.communication.skipperName),t.navigation?.state?.value&&(i.navState=t.navigation.state.value),n?.aisShipType?.value?.name&&(i.shipType=n.aisShipType.value.name),n?.length?.value?.overall!==void 0&&(i.lengthM=n.length.value.overall),typeof n?.beam?.value==`number`&&(i.beamM=n.beam.value);let a=n?.draft?.value?.current??n?.draft?.value?.maximum;a!==void 0&&(i.draftM=a),typeof n?.airHeight?.value==`number`&&(i.airHeightM=n.airHeight.value),r.set(e,i)}return r}async function Du(e,t){let n=e.replace(/\/+$/,``),r=[`${n}${n.includes(`?`)?`&`:`?`}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities`,`${n}/WMTSCapabilities.xml`,`${n}/1.0.0/WMTSCapabilities.xml`],i=[];for(let n of r)try{let r=await fetch(n,{signal:AbortSignal.timeout(3e4)});if(!r.ok){i.push(`${n} → ${r.status}`);continue}let a=await r.text(),o=new DOMParser().parseFromString(a,`text/xml`);if(!o.querySelector(`Capabilities, WMT_MS_Capabilities`)){i.push(`${n} → not a WMTS capabilities document`);continue}return Ou(o,e,t)}catch(e){i.push(`${n} → ${String(e)}`)}throw Error(`WMTS GetCapabilities failed:\n${i.join(`
|
|
560
|
+
`)}`)}function Ou(e,t,n){let r=Au(e);if(r.size===0)throw Error(`No EPSG:3857 / WebMercatorQuad tile matrix sets`);let i=Array.from(e.querySelectorAll(`Contents > Layer`));if(i.length===0)throw Error(`No layers in capabilities document`);let a=i.map(e=>({id:Nu(e,`Identifier`)??``,title:Nu(e,`Title`)??Nu(e,`Identifier`)??``})),o=ju(i,r,n);return ku(t,t.includes(`?`)?`&`:`?`,o,r,a)}function ku(e,t,n,r,i){let a=Nu(n,`Identifier`)??``,o=Nu(n,`Format`)??`image/png`,s=Mu(n,r),c=n.querySelector(`ResourceURL[resourceType="tile"]`);return c?{tileUrlTemplate:(c.getAttribute(`template`)??``).replace(/\{TileMatrixSet\}/g,s).replace(/\{TileMatrix\}/g,`{z}`).replace(/\{TileRow\}/g,`{y}`).replace(/\{TileCol\}/g,`{x}`),layerName:a,tileMatrixSet:s,format:o,availableLayers:i}:{tileUrlTemplate:`${e}${t}SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&LAYER=${encodeURIComponent(a)}&TILEMATRIXSET=${encodeURIComponent(s)}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=${encodeURIComponent(o)}`,layerName:a,tileMatrixSet:s,format:o,availableLayers:i}}function Au(e){let t=new Set;for(let n of e.querySelectorAll(`Contents > TileMatrixSet`)){let e=Nu(n,`Identifier`)??``,r=Nu(n,`SupportedCRS`)??``;(e===`WebMercatorQuad`||e===`GoogleMapsCompatible`||r.includes(`3857`)||r.includes(`900913`))&&t.add(e)}return t}function ju(e,t,n){if(n){let t=e.find(e=>Nu(e,`Identifier`)===n);if(t)return t}for(let n of e)for(let e of n.querySelectorAll(`TileMatrixSetLink > TileMatrixSet`))if(t.has(e.textContent??``))return n;return e[0]}function Mu(e,t){for(let n of e.querySelectorAll(`TileMatrixSetLink > TileMatrixSet`)){let e=n.textContent??``;if(t.has(e))return e}return t.values().next().value??`WebMercatorQuad`}function Nu(e,t){return e.querySelector(t)?.textContent??null}function Pu(e,t){return Du(e,t)}function Fu(e,t){return Du(e,t)}var Iu=`chart-wmts-overrides`,Lu=`chart-wmts-layer-sel`,Ru=`chart-selected`;function zu(e){try{let t=localStorage.getItem(e);if(t)return new Map(JSON.parse(t))}catch{}return new Map}function Bu(){try{let e=localStorage.getItem(Ru);if(e)return new Set(JSON.parse(e))}catch{}return new Set}function Vu(e,t){localStorage.setItem(e,JSON.stringify([...t]))}function Hu(){let e=P(ln({})),t=new xu,n=Bu(),r=P(!1),i=P(null),a=``,o=new Su,s=new xu,c=zu(Iu),l=new Su,u=new Su,d=new xu,f=zu(Lu);return{get available(){return B(e)},get selected(){return t},get loading(){return B(r)},get error(){return B(i)},get wmtsFailed(){return s},visibleLayers(e){return d.has(e)?l.get(e)??[]:u.get(e)??l.get(e)??[]},hasFilter(e){return(u.get(e)?.length??0)>0},isShowingAll(e){return d.has(e)},toggleShowAll(e){d.has(e)?d.delete(e):d.add(e)},needsManualUrl(t){let n=B(e)[t];return!!n&&n.type===`WMTS`&&s.has(t)&&!c.has(t)},getOverride(e){return c.get(e)??``},getLayerSel(e){return f.get(e)??``},setOverride(e,t){t.trim()?c.set(e,t.trim()):c.delete(e),Vu(Iu,c),s.delete(e),s.add(e)},async selectLayer(t,n){let r=B(e)[t];if(!r||r.type!==`WMTS`)return;let i=r.url&&r.url.startsWith(`/`)?`${a}${r.url}`:r.url??``;try{let e=await Fu(i,n);o.set(t,e.tileUrlTemplate),l.set(t,e.availableLayers),f.set(t,e.layerName),Vu(Lu,f)}catch(e){console.warn(`[charts] WMTS layer switch failed for ${t}:`,e)}},tileUrl(e){return e.type===`WMTS`?c.get(e.identifier)??o.get(e.identifier)??``:Cu(e,a)??``},async load(d){a=d,F(r,!0),F(i,null);try{F(e,await Tu(d),!0);for(let r of n)r in B(e)&&t.add(r);n.clear();let r=Object.values(B(e)).filter(e=>e.type===`WMTS`&&!c.has(e.identifier)).map(async e=>{let t=e.url&&e.url.startsWith(`/`)?`${d}${e.url}`:e.url??``;if(!t){s.add(e.identifier);return}let n=f.get(e.identifier)??e.layers?.[0];try{let r=await Pu(t,n);if(o.set(e.identifier,r.tileUrlTemplate),l.set(e.identifier,r.availableLayers),e.layers&&e.layers.length>0){let t=new Map(r.availableLayers.map(e=>[e.id,e])),n=e.layers.map(e=>t.get(e)).filter(Boolean);n.length>0&&u.set(e.identifier,n)}f.has(e.identifier)||f.set(e.identifier,r.layerName)}catch{s.add(e.identifier)}});await Promise.allSettled(r)}catch(e){F(i,String(e),!0)}finally{F(r,!1)}},toggle(e){t.has(e)?t.delete(e):t.add(e),localStorage.setItem(Ru,JSON.stringify([...t]))}}}var Uu=Hu(),Wu=[{id:`osm`,name:`OpenStreetMap`},{id:`seamarks`,name:`OpenSeaMap`}],Gu=`base-layers-enabled`;function Ku(){try{let e=localStorage.getItem(Gu);if(e)return JSON.parse(e)}catch{}return Wu.map(e=>e.id)}function qu(){let e=new xu(Ku());return{get enabled(){return e},toggle(t){e.has(t)?e.delete(t):e.add(t),localStorage.setItem(Gu,JSON.stringify([...e]))}}}var Ju=qu();function Yu(){let e=P(null),t=P(ln([])),n=new Map,r=P(0);return{get hotData(){return B(e)},get ids(){return B(t)},get coldMap(){return n},get coldVersion(){return B(r)},get count(){return B(t).length},updateBinary(r,i,a){F(e,new Float64Array(r),!0),F(t,i,!0);for(let e of a){let t=n.get(e.id);n.set(e.id,{...t,id:e.id,name:e.name??t?.name,mmsi:e.mmsi??t?.mmsi})}},setInfoCache(e){for(let[t,r]of e){let e=n.get(t)??{id:t};n.set(t,{...e,name:r.name??e.name,callsign:r.callsign??e.callsign,callsignHf:r.callsignHf??e.callsignHf,skipperName:r.skipperName??e.skipperName,port:r.port??e.port,flag:r.flag??e.flag,shipType:r.shipType??e.shipType,navState:r.navState??e.navState,lengthM:r.lengthM??e.lengthM,beamM:r.beamM??e.beamM,draftM:r.draftM??e.draftM,airHeightM:r.airHeightM??e.airHeightM})}on(r)},getTarget(r){if(!B(e)||r<0||r>=B(t).length)return null;let i=r*7,a=B(t)[r],o=n.get(a),s=B(e)[i+0],c=B(e)[i+1],l=B(e)[i+2],u=B(e)[i+3],d=B(e)[i+4],f=B(e)[i+5],p=B(e)[i+6];return{id:a,mmsi:o?.mmsi,name:o?.name,position:{longitude:s,latitude:c},cog:isNaN(l)?void 0:l,sog:isNaN(u)?void 0:u,heading:isNaN(d)?void 0:d,rot:isNaN(f)?void 0:f,lastPositionUpdateMs:Date.now()-p*1e3,shipType:o?.shipType,navState:o?.navState,callsign:o?.callsign,callsignHf:o?.callsignHf,skipperName:o?.skipperName,port:o?.port,flag:o?.flag,lengthM:o?.lengthM,beamM:o?.beamM,draftM:o?.draftM,airHeightM:o?.airHeightM}}}}var Xu=Yu();function Zu(e,t){if(!e)throw Error(t||`loader assertion failed.`)}var Qu={self:typeof self<`u`&&self,window:typeof window<`u`&&window,global:typeof global<`u`&&global,document:typeof document<`u`&&document};Qu.self||Qu.window||Qu.global,Qu.window||Qu.self||Qu.global,Qu.global||Qu.self||Qu.window,Qu.document;var $u=!!(typeof process!=`object`||String(process)!==`[object process]`||process.browser),ed=typeof process<`u`&&process.version&&/v([0-9]*)/.exec(process.version);ed&&parseFloat(ed[1]);var td=globalThis;globalThis.document;var nd=globalThis.process||{};globalThis.console;var rd=globalThis.navigator||{};function id(e){if(typeof window<`u`&&window.process?.type===`renderer`||typeof process<`u`&&process.versions?.electron)return!0;let t=typeof navigator<`u`&&navigator.userAgent,n=e||t;return!!(n&&n.indexOf(`Electron`)>=0)}function ad(){return!(typeof process==`object`&&String(process)===`[object process]`&&!process?.browser)||id()}function od(e){return!e&&!ad()?`Node`:id(e)?`Electron`:(e||rd.userAgent||``).indexOf(`Edge`)>-1?`Edge`:globalThis.chrome?`Chrome`:globalThis.safari?`Safari`:globalThis.mozInnerScreenX?`Firefox`:`Unknown`}var sd=`4.1.1`;function cd(e,t){if(!e)throw Error(t||`Assertion failed`)}function ld(e){if(!e)return 0;let t;switch(typeof e){case`number`:t=e;break;case`object`:t=e.logLevel||e.priority||0;break;default:return 0}return cd(Number.isFinite(t)&&t>=0),t}function ud(e){let{logLevel:t,message:n}=e;e.logLevel=ld(t);let r=e.args?Array.from(e.args):[];for(;r.length&&r.shift()!==n;);switch(typeof t){case`string`:case`function`:n!==void 0&&r.unshift(n),e.message=t;break;case`object`:Object.assign(e,t);break;default:}typeof e.message==`function`&&(e.message=e.message());let i=typeof e.message;return cd(i===`string`||i===`object`),Object.assign(e,{args:r},e.opts)}var dd=()=>{},fd=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...t){return this._log(`warn`,0,e,t,{once:!0})}error(e,...t){return this._log(`error`,0,e,t)}log(e,t,...n){return this._log(`log`,e,t,n)}info(e,t,...n){return this._log(`info`,e,t,n)}once(e,t,...n){return this._log(`once`,e,t,n,{once:!0})}_log(e,t,n,r,i={}){let a=ud({logLevel:t,message:n,args:this._buildArgs(t,n,r),opts:i});return this._createLogFunction(e,a,i)}_buildArgs(e,t,n){return[e,t,...n]}_createLogFunction(e,t,n){if(!this._shouldLog(t.logLevel))return dd;let r=this._getOnceTag(n.tag??t.tag??t.message);if((n.once||t.once)&&r!==void 0){if(this._onceCache.has(r))return dd;this._onceCache.add(r)}return this._emit(e,t)}_shouldLog(e){return this.getLevel()>=ld(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e==`string`?e:String(e)}catch{return}}};function pd(e){try{let t=window[e],n=`__storage_test__`;return t.setItem(n,n),t.removeItem(n),t}catch{return null}}var md=class{constructor(e,t,n=`sessionStorage`){this.storage=pd(n),this.id=e,this.config=t,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let e=JSON.stringify(this.config);this.storage.setItem(this.id,e)}}_loadConfiguration(){let e={};if(this.storage){let t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}};function hd(e){let t;return t=e<10?`${e.toFixed(2)}ms`:e<100?`${e.toFixed(1)}ms`:e<1e3?`${e.toFixed(0)}ms`:`${(e/1e3).toFixed(2)}s`,t}function gd(e,t=8){let n=Math.max(t-e.length,0);return`${` `.repeat(n)}${e}`}var _d;(function(e){e[e.BLACK=30]=`BLACK`,e[e.RED=31]=`RED`,e[e.GREEN=32]=`GREEN`,e[e.YELLOW=33]=`YELLOW`,e[e.BLUE=34]=`BLUE`,e[e.MAGENTA=35]=`MAGENTA`,e[e.CYAN=36]=`CYAN`,e[e.WHITE=37]=`WHITE`,e[e.BRIGHT_BLACK=90]=`BRIGHT_BLACK`,e[e.BRIGHT_RED=91]=`BRIGHT_RED`,e[e.BRIGHT_GREEN=92]=`BRIGHT_GREEN`,e[e.BRIGHT_YELLOW=93]=`BRIGHT_YELLOW`,e[e.BRIGHT_BLUE=94]=`BRIGHT_BLUE`,e[e.BRIGHT_MAGENTA=95]=`BRIGHT_MAGENTA`,e[e.BRIGHT_CYAN=96]=`BRIGHT_CYAN`,e[e.BRIGHT_WHITE=97]=`BRIGHT_WHITE`})(_d||={});var vd=10;function yd(e){return typeof e==`string`?(e=e.toUpperCase(),_d[e]||_d.WHITE):e}function bd(e,t,n){return!ad&&typeof e==`string`&&(t&&(e=`\u001b[${yd(t)}m${e}\u001b[39m`),n&&(e=`\u001b[${yd(n)+vd}m${e}\u001b[49m`)),e}function xd(e,t=[`constructor`]){let n=Object.getOwnPropertyNames(Object.getPrototypeOf(e)),r=e;for(let i of n){let n=r[i];typeof n==`function`&&(t.find(e=>i===e)||(r[i]=n.bind(e)))}}function Sd(){let e;if(ad()&&td.performance)e=td?.performance?.now?.();else if(`hrtime`in nd){let t=nd?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var Cd={debug:ad()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},wd={enabled:!0,level:0},Td=class extends fd{constructor({id:e}={id:``}){super({level:0}),this.VERSION=sd,this._startTs=Sd(),this._deltaTs=Sd(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new md(`__probe-${this.id}__`,{[this.id]:wd}),this.timeStamp(`${this.id} started`),xd(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((Sd()-this._startTs).toPrecision(10))}getDelta(){return Number((Sd()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,t){this._updateConfiguration({[e]:t})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,t){if(!e)throw Error(t||`Assertion failed`)}warn(e,...t){return this._log(`warn`,0,e,t,{method:Cd.warn,once:!0})}error(e,...t){return this._log(`error`,0,e,t,{method:Cd.error})}deprecated(e,t){return this.warn(`\`${e}\` is deprecated and will be removed \
|
|
561
561
|
in a later version. Use \`${t}\` instead`)}removed(e,t){return this.error(`\`${e}\` has been removed. Use \`${t}\` instead`)}probe(e,t,...n){return this._log(`log`,e,t,n,{method:Cd.log,time:!0,once:!0})}log(e,t,...n){return this._log(`log`,e,t,n,{method:Cd.debug})}info(e,t,...n){return this._log(`info`,e,t,n,{method:console.info})}once(e,t,...n){return this._log(`once`,e,t,n,{method:Cd.debug||Cd.info,once:!0})}table(e,t,n){return t?this._log(`table`,e,t,n&&[n]||[],{method:console.table||dd,tag:Dd(t)}):dd}time(e,t){return this._log(`time`,e,t,[],{method:console.time?console.time:console.info})}timeEnd(e,t){return this._log(`time`,e,t,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,t){return this._log(`time`,e,t,[],{method:console.timeStamp||dd})}group(e,t,n={collapsed:!1}){let r=(n.collapsed?console.groupCollapsed:console.group)||console.info;return this._log(`group`,e,t,[],{method:r})}groupCollapsed(e,t,n={}){return this.group(e,t,Object.assign({},n,{collapsed:!0}))}groupEnd(e){return this._log(`groupEnd`,e,``,[],{method:console.groupEnd||dd})}withGroup(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,t){let n=t.method;cd(n),t.total=this.getTotal(),t.delta=this.getDelta(),this._deltaTs=Sd();let r=Ed(this.id,t.message,t);return n.bind(console,r,...t.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(wd),this._storage.config[this.id]}_updateConfiguration(e){let t=this._storage.config[this.id]||{...wd};this._storage.setConfiguration({[this.id]:{...t,...e}})}};Td.VERSION=sd;function Ed(e,t,n){if(typeof t==`string`){let r=n.time?gd(hd(n.total)):``;t=n.time?`${e}: ${r} ${t}`:`${e}: ${t}`,t=bd(t,n.color,n.background)}return t}function Dd(e){for(let t in e)for(let n in e[t])return n||`untitled`;return`empty`}var Od=`v4.4.2`;function kd(){let e=new Td({id:`loaders.gl`});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=Od,globalThis.probe||={},globalThis.probe.loaders=e,e}var Ad=kd(),jd=e=>typeof e==`boolean`,Md=e=>typeof e==`function`,Nd=e=>typeof e==`object`&&!!e,Pd=e=>Nd(e)&&e.constructor==={}.constructor,Fd=e=>typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer,Id=e=>Nd(e)&&typeof e.byteLength==`number`&&typeof e.slice==`function`,Ld=e=>!!e&&Md(e[Symbol.iterator]),Rd=e=>!!e&&Md(e[Symbol.asyncIterator]),zd=e=>typeof Response<`u`&&e instanceof Response||Nd(e)&&Md(e.arrayBuffer)&&Md(e.text)&&Md(e.json),Bd=e=>typeof Blob<`u`&&e instanceof Blob,Vd=e=>typeof ReadableStream<`u`&&e instanceof ReadableStream||Nd(e)&&Md(e.tee)&&Md(e.cancel)&&Md(e.getReader),Hd=e=>Nd(e)&&Md(e.read)&&Md(e.pipe)&&jd(e.readable),Ud=e=>Vd(e)||Hd(e);function Wd(e,t){return Gd(e||{},t)}function Gd(e,t,n=0){if(n>3)return t;let r={...e};for(let[e,i]of Object.entries(t))i&&typeof i==`object`&&!Array.isArray(i)?r[e]=Gd(r[e]||{},t[e],n+1):r[e]=t[e];return r}var Kd=`latest`;function qd(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version=`4.4.2`),globalThis._loadersgl_.version}var Jd=qd();function Yd(e,t){if(!e)throw Error(t||`loaders.gl assertion failed.`)}var Xd={self:typeof self<`u`&&self,window:typeof window<`u`&&window,global:typeof global<`u`&&global,document:typeof document<`u`&&document};Xd.self||Xd.window||Xd.global,Xd.window||Xd.self||Xd.global,Xd.global||Xd.self||Xd.window,Xd.document;var Zd=typeof process!=`object`||String(process)!==`[object process]`||process.browser,Qd=typeof window<`u`&&window.orientation!==void 0,$d=typeof process<`u`&&process.version&&/v([0-9]*)/.exec(process.version);$d&&parseFloat($d[1]);var ef=class{name;workerThread;isRunning=!0;result;_resolve=()=>{};_reject=()=>{};constructor(e,t){this.name=e,this.workerThread=t,this.result=new Promise((e,t)=>{this._resolve=e,this._reject=t})}postMessage(e,t){this.workerThread.postMessage({source:`loaders.gl`,type:e,payload:t})}done(e){Yd(this.isRunning),this.isRunning=!1,this._resolve(e)}error(e){Yd(this.isRunning),this.isRunning=!1,this._reject(e)}},tf=class{terminate(){}},nf=new Map;function rf(e){Yd(e.source&&!e.url||!e.source&&e.url);let t=nf.get(e.source||e.url);return t||(e.url&&(t=af(e.url),nf.set(e.url,t)),e.source&&(t=of(e.source),nf.set(e.source,t))),Yd(t),t}function af(e){return e.startsWith(`http`)?of(sf(e)):e}function of(e){let t=new Blob([e],{type:`application/javascript`});return URL.createObjectURL(t)}function sf(e){return`\
|
|
562
562
|
try {
|
|
563
563
|
importScripts('${e}');
|
|
@@ -651,7 +651,7 @@ in ${s_(n)} ${t};
|
|
|
651
651
|
out vec4 ${r};
|
|
652
652
|
void main() {
|
|
653
653
|
${r} = ${c_(t,n)};
|
|
654
|
-
}`}function s_(e){switch(e){case 1:return`float`;case 2:return`vec2`;case 3:return`vec3`;case 4:return`vec4`;default:throw Error(`invalid channels: ${e}`)}}function c_(e,t){switch(t){case 1:return`vec4(${e}, 0.0, 0.0, 1.0)`;case 2:return`vec4(${e}, 0.0, 1.0)`;case 3:return`vec4(${e}, 1.0)`;case 4:return e;default:throw Error(`invalid channels: ${t}`)}}1/Math.PI*180,1/180*Math.PI,globalThis.mathgl=globalThis.mathgl||{config:{EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1}};var l_=globalThis.mathgl.config;function u_(e,{precision:t=l_.precision}={}){return e=h_(e),`${parseFloat(e.toPrecision(t))}`}function d_(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function f_(e,t,n){return __(e,e=>Math.max(t,Math.min(n,e)))}function p_(e,t,n){return d_(e)?e.map((e,r)=>p_(e,t[r],n)):n*t+(1-n)*e}function m_(e,t,n){let r=l_.EPSILON;n&&(l_.EPSILON=n);try{if(e===t)return!0;if(d_(e)&&d_(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!m_(e[n],t[n]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e==`number`&&typeof t==`number`?Math.abs(e-t)<=l_.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{l_.EPSILON=r}}function h_(e){return Math.round(e/l_.EPSILON)*l_.EPSILON}function g_(e){return e.clone?e.clone():Array(e.length)}function __(e,t,n){if(d_(e)){let r=e;n||=g_(r);for(let i=0;i<n.length&&i<r.length;++i){let r=typeof e==`number`?e:e[i];n[i]=t(r,i,n)}return n}return t(e)}var v_=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(e,t=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+t];return this.check()}toArray(e=[],t=0){for(let n=0;n<this.ELEMENTS;++n)e[t+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:d_(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(l_)}formatString(e){let t=``;for(let n=0;n<this.ELEMENTS;++n)t+=(n>0?`, `:``)+u_(this[n],e);return`${e.printTypes?this.constructor.name:``}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(!m_(this[t],e[t]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,t,n){if(n===void 0)return this.lerp(this,e,t);for(let r=0;r<this.ELEMENTS;++r){let i=e[r],a=typeof t==`number`?t:t[r];this[r]=i+n*(a-i)}return this.check()}min(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}max(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}clamp(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),t[n]);return this.check()}add(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]+=t[e];return this.check()}subtract(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]-=t[e];return this.check()}scale(e){if(typeof e==`number`)for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;else for(let t=0;t<this.ELEMENTS&&t<e.length;++t)this[t]*=e[t];return this.check()}multiplyByScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}check(){if(l_.debug&&!this.validate())throw Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let e=this.length===this.ELEMENTS;for(let t=0;t<this.ELEMENTS;++t)e&&=Number.isFinite(this[t]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}addScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),t);return this.check()}get elements(){return this}};function y_(e,t){if(e.length!==t)return!1;for(let t=0;t<e.length;++t)if(!Number.isFinite(e[t]))return!1;return!0}function b_(e){if(!Number.isFinite(e))throw Error(`Invalid number ${JSON.stringify(e)}`);return e}function x_(e,t,n=``){if(l_.debug&&!y_(e,t))throw Error(`math.gl: ${n} some fields set to invalid numbers'`);return e}function S_(e,t){if(!e)throw Error(`math.gl assertion ${t}`)}var C_=class extends v_{get x(){return this[0]}set x(e){this[0]=b_(e)}get y(){return this[1]}set y(e){this[1]=b_(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let t=0;for(let n=0;n<this.ELEMENTS;++n){let r=this[n]-e[n];t+=r*r}return b_(t)}dot(e){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*e[n];return b_(t)}normalize(){let e=this.magnitude();if(e!==0)for(let t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}multiply(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]*=t[e];return this.check()}divide(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]/=t[e];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return S_(e>=0&&e<this.ELEMENTS,`index is out of range`),b_(this[e])}setComponent(e,t){return S_(e>=0&&e<this.ELEMENTS,`index is out of range`),this[e]=t,this.check()}addVectors(e,t){return this.copy(e).add(t)}subVectors(e,t){return this.copy(e).subtract(t)}multiplyVectors(e,t){return this.copy(e).multiply(t)}addScaledVector(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},w_=typeof Float32Array<`u`?Float32Array:Array;Math.PI/180;function T_(){let e=new w_(2);return w_!=Float32Array&&(e[0]=0,e[1]=0),e}function E_(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e}function D_(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e}function O_(e,t){return e[0]=-t[0],e[1]=-t[1],e}function k_(e,t,n,r){let i=t[0],a=t[1];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e}function A_(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e}var j_=D_;(function(){let e=T_();return function(t,n,r,i,a,o){let s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})();function M_(e,t,n){let r=t[0],i=t[1],a=n[3]*r+n[7]*i||1;return e[0]=(n[0]*r+n[4]*i)/a,e[1]=(n[1]*r+n[5]*i)/a,e}function N_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a||1;return e[0]=(n[0]*r+n[4]*i+n[8]*a)/o,e[1]=(n[1]*r+n[5]*i+n[9]*a)/o,e[2]=(n[2]*r+n[6]*i+n[10]*a)/o,e}function P_(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i,e[1]=n[1]*r+n[3]*i,e[2]=t[2],e}function F_(){let e=new w_(3);return w_!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function I_(e){let t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function L_(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function R_(e,t){let n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function z_(e){let t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r}function B_(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function V_(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function H_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}function U_(e,t,n,r){let i=t[0],a=t[1],o=t[2];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e[2]=o+r*(n[2]-o),e}function W_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e}function G_(e,t,n){let r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function K_(e,t,n){let r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s,p=i*f-a*d,m=a*u-r*f,h=r*d-i*u,g=o*2;return u*=g,d*=g,f*=g,p*=2,m*=2,h*=2,e[0]=s+u+p,e[1]=c+d+m,e[2]=l+f+h,e}function q_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function J_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Y_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function X_(e,t){let n=e[0],r=e[1],i=e[2],a=t[0],o=t[1],s=t[2],c=Math.sqrt((n*n+r*r+i*i)*(a*a+o*o+s*s)),l=c&&V_(e,t)/c;return Math.acos(Math.min(Math.max(l,-1),1))}var Z_=L_,Q_=R_,$_=I_,ev=z_;(function(){let e=F_();return function(t,n,r,i,a,o){let s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})();var tv=[0,0,0],nv,rv=class e extends C_{static get ZERO(){return nv||(nv=new e(0,0,0),Object.freeze(nv)),nv}constructor(e=0,t=0,n=0){super(-0,-0,-0),arguments.length===1&&d_(e)?this.copy(e):(l_.debug&&(b_(e),b_(t),b_(n)),this[0]=e,this[1]=t,this[2]=n)}set(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return l_.debug&&(b_(e.x),b_(e.y),b_(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=b_(e)}angle(e){return X_(this,e)}cross(e){return H_(this,this,e),this.check()}rotateX({radians:e,origin:t=tv}){return q_(this,this,t,e),this.check()}rotateY({radians:e,origin:t=tv}){return J_(this,this,t,e),this.check()}rotateZ({radians:e,origin:t=tv}){return Y_(this,this,t,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return W_(this,this,e),this.check()}transformAsVector(e){return N_(this,this,e),this.check()}transformByMatrix3(e){return G_(this,this,e),this.check()}transformByMatrix2(e){return P_(this,this,e),this.check()}transformByQuaternion(e){return K_(this,this,e),this.check()}},iv=class extends v_{toString(){let e=`[`;if(l_.printRowMajor){e+=`row-major:`;for(let t=0;t<this.RANK;++t)for(let n=0;n<this.RANK;++n)e+=` ${this[n*this.RANK+t]}`}else{e+=`column-major:`;for(let t=0;t<this.ELEMENTS;++t)e+=` ${this[t]}`}return e+=`]`,e}getElementIndex(e,t){return t*this.RANK+e}getElement(e,t){return this[t*this.RANK+e]}setElement(e,t,n){return this[t*this.RANK+e]=b_(n),this}getColumn(e,t=Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let e=0;e<this.RANK;++e)t[e]=this[n+e];return t}setColumn(e,t){let n=e*this.RANK;for(let e=0;e<this.RANK;++e)this[n+e]=t[e];return this}};function av(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ov(e,t){if(e===t){let n=t[1],r=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function sv(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,ee=d*g-f*h,D=d*_-p*h,te=f*_-p*g,O=v*te-y*D+b*ee+x*E-S*T+C*w;return O?(O=1/O,e[0]=(s*te-c*D+l*ee)*O,e[1]=(i*D-r*te-a*ee)*O,e[2]=(h*C-g*S+_*x)*O,e[3]=(f*S-d*C-p*x)*O,e[4]=(c*E-o*te-l*T)*O,e[5]=(n*te-i*E+a*T)*O,e[6]=(g*b-m*C-_*y)*O,e[7]=(u*C-f*b+p*y)*O,e[8]=(o*D-s*E+l*w)*O,e[9]=(r*E-n*D-a*w)*O,e[10]=(m*S-h*b+_*v)*O,e[11]=(d*b-u*S-p*v)*O,e[12]=(s*T-o*ee-c*w)*O,e[13]=(n*ee-r*T+i*w)*O,e[14]=(h*y-m*x-g*v)*O,e[15]=(u*x-d*y+f*v)*O,e):null}function cv(e){let t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=t*o-n*a,v=t*s-r*a,y=n*s-r*o,b=l*m-u*p,x=l*h-d*p,S=u*h-d*m,C=t*S-n*x+r*b,w=a*S-o*x+s*b,T=l*y-u*v+d*_,E=p*y-m*v+h*_;return c*C-i*w+g*T-f*E}function lv(e,t,n){let r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function uv(e,t,n){let r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function dv(e,t,n){let r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function fv(e,t,n,r){let i=r[0],a=r[1],o=r[2],s=Math.sqrt(i*i+a*a+o*o),c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,ee,D,te,O,k;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(n),c=Math.cos(n),u=1-c,d=t[0],f=t[1],p=t[2],m=t[3],h=t[4],g=t[5],_=t[6],v=t[7],y=t[8],b=t[9],x=t[10],S=t[11],C=i*i*u+c,w=a*i*u+o*l,T=o*i*u-a*l,E=i*a*u-o*l,ee=a*a*u+c,D=o*a*u+i*l,te=i*o*u+a*l,O=a*o*u-i*l,k=o*o*u+c,e[0]=d*C+h*w+y*T,e[1]=f*C+g*w+b*T,e[2]=p*C+_*w+x*T,e[3]=m*C+v*w+S*T,e[4]=d*E+h*ee+y*D,e[5]=f*E+g*ee+b*D,e[6]=p*E+_*ee+x*D,e[7]=m*E+v*ee+S*D,e[8]=d*te+h*O+y*k,e[9]=f*te+g*O+b*k,e[10]=p*te+_*O+x*k,e[11]=m*te+v*O+S*k,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function pv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function mv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function hv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function gv(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[1]=u+_,e[2]=f-g,e[3]=0,e[4]=u-_,e[5]=1-l-m,e[6]=p+h,e[7]=0,e[8]=f+g,e[9]=p-h,e[10]=1-l-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function _v(e,t,n,r,i,a,o){let s=1/(n-t),c=1/(i-r),l=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*c,e[6]=0,e[7]=0,e[8]=(n+t)*s,e[9]=(i+r)*c,e[10]=(o+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*l,e[15]=0,e}function vv(e,t,n,r,i){let a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let t=1/(r-i);e[10]=(i+r)*t,e[14]=2*i*r*t}else e[10]=-1,e[14]=-2*r;return e}var yv=vv;function bv(e,t,n,r,i,a,o){let s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}var xv=bv;function Sv(e,t,n,r){let i,a,o,s,c,l,u,d,f,p,m=t[0],h=t[1],g=t[2],_=r[0],v=r[1],y=r[2],b=n[0],x=n[1],S=n[2];return Math.abs(m-b)<1e-6&&Math.abs(h-x)<1e-6&&Math.abs(g-S)<1e-6?av(e):(d=m-b,f=h-x,p=g-S,i=1/Math.sqrt(d*d+f*f+p*p),d*=i,f*=i,p*=i,a=v*p-y*f,o=y*d-_*p,s=_*f-v*d,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),c=f*s-p*o,l=p*a-d*s,u=d*o-f*a,i=Math.sqrt(c*c+l*l+u*u),i?(i=1/i,c*=i,l*=i,u*=i):(c=0,l=0,u=0),e[0]=a,e[1]=c,e[2]=d,e[3]=0,e[4]=o,e[5]=l,e[6]=f,e[7]=0,e[8]=s,e[9]=u,e[10]=p,e[11]=0,e[12]=-(a*m+o*h+s*g),e[13]=-(c*m+l*h+u*g),e[14]=-(d*m+f*h+p*g),e[15]=1,e)}function Cv(){let e=new w_(4);return w_!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function wv(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function Tv(e,t,n){let r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}(function(){let e=Cv();return function(t,n,r,i,a,o){let s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})();var Ev;(function(e){e[e.COL0ROW0=0]=`COL0ROW0`,e[e.COL0ROW1=1]=`COL0ROW1`,e[e.COL0ROW2=2]=`COL0ROW2`,e[e.COL0ROW3=3]=`COL0ROW3`,e[e.COL1ROW0=4]=`COL1ROW0`,e[e.COL1ROW1=5]=`COL1ROW1`,e[e.COL1ROW2=6]=`COL1ROW2`,e[e.COL1ROW3=7]=`COL1ROW3`,e[e.COL2ROW0=8]=`COL2ROW0`,e[e.COL2ROW1=9]=`COL2ROW1`,e[e.COL2ROW2=10]=`COL2ROW2`,e[e.COL2ROW3=11]=`COL2ROW3`,e[e.COL3ROW0=12]=`COL3ROW0`,e[e.COL3ROW1=13]=`COL3ROW1`,e[e.COL3ROW2=14]=`COL3ROW2`,e[e.COL3ROW3=15]=`COL3ROW3`})(Ev||={});var Dv=45*Math.PI/180,Ov=1,kv=.1,Av=500,jv=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Mv=class extends iv{static get IDENTITY(){return Iv()}static get ZERO(){return Fv()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Ev}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){return this[0]=e,this[1]=t,this[2]=n,this[3]=r,this[4]=i,this[5]=a,this[6]=o,this[7]=s,this[8]=c,this[9]=l,this[10]=u,this[11]=d,this[12]=f,this[13]=p,this[14]=m,this[15]=h,this.check()}setRowMajor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){return this[0]=e,this[1]=i,this[2]=c,this[3]=f,this[4]=t,this[5]=a,this[6]=l,this[7]=p,this[8]=n,this[9]=o,this[10]=u,this[11]=m,this[12]=r,this[13]=s,this[14]=d,this[15]=h,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(jv)}fromObject(e){return this.check()}fromQuaternion(e){return gv(this,e),this.check()}frustum(e){let{left:t,right:n,bottom:r,top:i,near:a=kv,far:o=Av}=e;return o===1/0?Rv(this,t,n,r,i,a):_v(this,t,n,r,i,a,o),this.check()}lookAt(e){let{eye:t,center:n=[0,0,0],up:r=[0,1,0]}=e;return Sv(this,t,n,r),this.check()}ortho(e){let{left:t,right:n,bottom:r,top:i,near:a=kv,far:o=Av}=e;return xv(this,t,n,r,i,a,o),this.check()}orthographic(e){let{fovy:t=Dv,aspect:n=Ov,focalDistance:r=1,near:i=kv,far:a=Av}=e;Lv(t);let o=t/2,s=r*Math.tan(o),c=s*n;return this.ortho({left:-c,right:c,bottom:-s,top:s,near:i,far:a})}perspective(e){let{fovy:t=45*Math.PI/180,aspect:n=1,near:r=.1,far:i=500}=e;return Lv(t),yv(this,t,n,r,i),this.check()}determinant(){return cv(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,t){e||=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t||=[-0,-0,-0];let n=this.getScale(t),r=1/n[0],i=1/n[1],a=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*a,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*i,e[6]=this[6]*a,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*i,e[10]=this[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,t){e||=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t||=[-0,-0,-0];let n=this.getScale(t),r=1/n[0],i=1/n[1],a=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*a,e[3]=this[4]*r,e[4]=this[5]*i,e[5]=this[6]*a,e[6]=this[8]*r,e[7]=this[9]*i,e[8]=this[10]*a,e}transpose(){return ov(this,this),this.check()}invert(){return sv(this,this),this.check()}multiplyLeft(e){return lv(this,e,this),this.check()}multiplyRight(e){return lv(this,this,e),this.check()}rotateX(e){return pv(this,this,e),this.check()}rotateY(e){return mv(this,this,e),this.check()}rotateZ(e){return hv(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,t){return fv(this,this,e,t),this.check()}scale(e){return dv(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return uv(this,this,e),this.check()}transform(e,t){return e.length===4?(t=Tv(t||[-0,-0,-0,-0],e,this),x_(t,4),t):this.transformAsPoint(e,t)}transformAsPoint(e,t){let{length:n}=e,r;switch(n){case 2:r=A_(t||[-0,-0],e,this);break;case 3:r=W_(t||[-0,-0,-0],e,this);break;default:throw Error(`Illegal vector`)}return x_(r,e.length),r}transformAsVector(e,t){let n;switch(e.length){case 2:n=M_(t||[-0,-0],e,this);break;case 3:n=N_(t||[-0,-0,-0],e,this);break;default:throw Error(`Illegal vector`)}return x_(n,e.length),n}transformPoint(e,t){return this.transformAsPoint(e,t)}transformVector(e,t){return this.transformAsPoint(e,t)}transformDirection(e,t){return this.transformAsVector(e,t)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,t,n){return this.identity().translate([e,t,n])}},Nv,Pv;function Fv(){return Nv||(Nv=new Mv([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Nv)),Nv}function Iv(){return Pv||(Pv=new Mv,Object.freeze(Pv)),Pv}function Lv(e){if(e>Math.PI*2)throw Error(`expected radians`)}function Rv(e,t,n,r,i,a){let o=2*a/(n-t),s=2*a/(i-r),c=(n+t)/(n-t),l=(i+r)/(i-r),u=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=c,e[9]=l,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function zv(e,t=[],n=0){let r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function Bv(e){return e-Math.fround(e)}function Vv(e){let t=new Float32Array(32);for(let n=0;n<4;++n)for(let r=0;r<4;++r){let i=n*4+r;zv(e[r*4+n],t,i*2)}return t}function Hv(e,t=!0){return e??t}function Uv(e=[0,0,0],t=!0){return t?e.map(e=>e/255):[...e]}function Wv(e,t=!0){let n=Uv(e.slice(0,3),t),r=Number.isFinite(e[3]),i=r?e[3]:1;return[n[0],n[1],n[2],t&&r?i/255:i]}var Gv={name:`fp32`,vs:`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND
|
|
654
|
+
}`}function s_(e){switch(e){case 1:return`float`;case 2:return`vec2`;case 3:return`vec3`;case 4:return`vec4`;default:throw Error(`invalid channels: ${e}`)}}function c_(e,t){switch(t){case 1:return`vec4(${e}, 0.0, 0.0, 1.0)`;case 2:return`vec4(${e}, 0.0, 1.0)`;case 3:return`vec4(${e}, 1.0)`;case 4:return e;default:throw Error(`invalid channels: ${t}`)}}1/Math.PI*180,1/180*Math.PI,globalThis.mathgl=globalThis.mathgl||{config:{EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1}};var l_=globalThis.mathgl.config;function u_(e,{precision:t=l_.precision}={}){return e=h_(e),`${parseFloat(e.toPrecision(t))}`}function d_(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function f_(e,t,n){return __(e,e=>Math.max(t,Math.min(n,e)))}function p_(e,t,n){return d_(e)?e.map((e,r)=>p_(e,t[r],n)):n*t+(1-n)*e}function m_(e,t,n){let r=l_.EPSILON;n&&(l_.EPSILON=n);try{if(e===t)return!0;if(d_(e)&&d_(t)){if(e.length!==t.length)return!1;for(let n=0;n<e.length;++n)if(!m_(e[n],t[n]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e==`number`&&typeof t==`number`?Math.abs(e-t)<=l_.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{l_.EPSILON=r}}function h_(e){return Math.round(e/l_.EPSILON)*l_.EPSILON}function g_(e){return e.clone?e.clone():Array(e.length)}function __(e,t,n){if(d_(e)){let r=e;n||=g_(r);for(let i=0;i<n.length&&i<r.length;++i){let r=typeof e==`number`?e:e[i];n[i]=t(r,i,n)}return n}return t(e)}var v_=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(e,t=0){for(let n=0;n<this.ELEMENTS;++n)this[n]=e[n+t];return this.check()}toArray(e=[],t=0){for(let n=0;n<this.ELEMENTS;++n)e[t+n]=this[n];return e}toObject(e){return e}from(e){return Array.isArray(e)?this.copy(e):this.fromObject(e)}to(e){return e===this?this:d_(e)?this.toArray(e):this.toObject(e)}toTarget(e){return e?this.to(e):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(l_)}formatString(e){let t=``;for(let n=0;n<this.ELEMENTS;++n)t+=(n>0?`, `:``)+u_(this[n],e);return`${e.printTypes?this.constructor.name:``}[${t}]`}equals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(!m_(this[t],e[t]))return!1;return!0}exactEquals(e){if(!e||this.length!==e.length)return!1;for(let t=0;t<this.ELEMENTS;++t)if(this[t]!==e[t])return!1;return!0}negate(){for(let e=0;e<this.ELEMENTS;++e)this[e]=-this[e];return this.check()}lerp(e,t,n){if(n===void 0)return this.lerp(this,e,t);for(let r=0;r<this.ELEMENTS;++r){let i=e[r],a=typeof t==`number`?t:t[r];this[r]=i+n*(a-i)}return this.check()}min(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.min(e[t],this[t]);return this.check()}max(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=Math.max(e[t],this[t]);return this.check()}clamp(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e[n]),t[n]);return this.check()}add(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]+=t[e];return this.check()}subtract(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]-=t[e];return this.check()}scale(e){if(typeof e==`number`)for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;else for(let t=0;t<this.ELEMENTS&&t<e.length;++t)this[t]*=e[t];return this.check()}multiplyByScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}check(){if(l_.debug&&!this.validate())throw Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let e=this.length===this.ELEMENTS;for(let t=0;t<this.ELEMENTS;++t)e&&=Number.isFinite(this[t]);return e}sub(e){return this.subtract(e)}setScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]=e;return this.check()}addScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]+=e;return this.check()}subScalar(e){return this.addScalar(-e)}multiplyScalar(e){for(let t=0;t<this.ELEMENTS;++t)this[t]*=e;return this.check()}divideScalar(e){return this.multiplyByScalar(1/e)}clampScalar(e,t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(Math.max(this[n],e),t);return this.check()}get elements(){return this}};function y_(e,t){if(e.length!==t)return!1;for(let t=0;t<e.length;++t)if(!Number.isFinite(e[t]))return!1;return!0}function b_(e){if(!Number.isFinite(e))throw Error(`Invalid number ${JSON.stringify(e)}`);return e}function x_(e,t,n=``){if(l_.debug&&!y_(e,t))throw Error(`math.gl: ${n} some fields set to invalid numbers'`);return e}function S_(e,t){if(!e)throw Error(`math.gl assertion ${t}`)}var C_=class extends v_{get x(){return this[0]}set x(e){this[0]=b_(e)}get y(){return this[1]}set y(e){this[1]=b_(e)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let e=0;for(let t=0;t<this.ELEMENTS;++t)e+=this[t]*this[t];return e}magnitudeSquared(){return this.lengthSquared()}distance(e){return Math.sqrt(this.distanceSquared(e))}distanceSquared(e){let t=0;for(let n=0;n<this.ELEMENTS;++n){let r=this[n]-e[n];t+=r*r}return b_(t)}dot(e){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*e[n];return b_(t)}normalize(){let e=this.magnitude();if(e!==0)for(let t=0;t<this.ELEMENTS;++t)this[t]/=e;return this.check()}multiply(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]*=t[e];return this.check()}divide(...e){for(let t of e)for(let e=0;e<this.ELEMENTS;++e)this[e]/=t[e];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(e){return this.distance(e)}distanceToSquared(e){return this.distanceSquared(e)}getComponent(e){return S_(e>=0&&e<this.ELEMENTS,`index is out of range`),b_(this[e])}setComponent(e,t){return S_(e>=0&&e<this.ELEMENTS,`index is out of range`),this[e]=t,this.check()}addVectors(e,t){return this.copy(e).add(t)}subVectors(e,t){return this.copy(e).subtract(t)}multiplyVectors(e,t){return this.copy(e).multiply(t)}addScaledVector(e,t){return this.add(new this.constructor(e).multiplyScalar(t))}},w_=typeof Float32Array<`u`?Float32Array:Array;Math.PI/180;function T_(){let e=new w_(2);return w_!=Float32Array&&(e[0]=0,e[1]=0),e}function E_(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e}function D_(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e}function O_(e,t){return e[0]=-t[0],e[1]=-t[1],e}function k_(e,t,n,r){let i=t[0],a=t[1];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e}function A_(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[4]*i+n[12],e[1]=n[1]*r+n[5]*i+n[13],e}var j_=D_;(function(){let e=T_();return function(t,n,r,i,a,o){let s,c;for(n||=2,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],a(e,e,o),t[s]=e[0],t[s+1]=e[1];return t}})();function M_(e,t,n){let r=t[0],i=t[1],a=n[3]*r+n[7]*i||1;return e[0]=(n[0]*r+n[4]*i)/a,e[1]=(n[1]*r+n[5]*i)/a,e}function N_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a||1;return e[0]=(n[0]*r+n[4]*i+n[8]*a)/o,e[1]=(n[1]*r+n[5]*i+n[9]*a)/o,e[2]=(n[2]*r+n[6]*i+n[10]*a)/o,e}function P_(e,t,n){let r=t[0],i=t[1];return e[0]=n[0]*r+n[2]*i,e[1]=n[1]*r+n[3]*i,e[2]=t[2],e}function F_(){let e=new w_(3);return w_!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function I_(e){let t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function L_(e,t,n){return e[0]=t[0]-n[0],e[1]=t[1]-n[1],e[2]=t[2]-n[2],e}function R_(e,t){let n=t[0]-e[0],r=t[1]-e[1],i=t[2]-e[2];return Math.sqrt(n*n+r*r+i*i)}function z_(e){let t=e[0],n=e[1],r=e[2];return t*t+n*n+r*r}function B_(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e}function V_(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function H_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[0],s=n[1],c=n[2];return e[0]=i*c-a*s,e[1]=a*o-r*c,e[2]=r*s-i*o,e}function U_(e,t,n,r){let i=t[0],a=t[1],o=t[2];return e[0]=i+r*(n[0]-i),e[1]=a+r*(n[1]-a),e[2]=o+r*(n[2]-o),e}function W_(e,t,n){let r=t[0],i=t[1],a=t[2],o=n[3]*r+n[7]*i+n[11]*a+n[15];return o||=1,e[0]=(n[0]*r+n[4]*i+n[8]*a+n[12])/o,e[1]=(n[1]*r+n[5]*i+n[9]*a+n[13])/o,e[2]=(n[2]*r+n[6]*i+n[10]*a+n[14])/o,e}function G_(e,t,n){let r=t[0],i=t[1],a=t[2];return e[0]=r*n[0]+i*n[3]+a*n[6],e[1]=r*n[1]+i*n[4]+a*n[7],e[2]=r*n[2]+i*n[5]+a*n[8],e}function K_(e,t,n){let r=n[0],i=n[1],a=n[2],o=n[3],s=t[0],c=t[1],l=t[2],u=i*l-a*c,d=a*s-r*l,f=r*c-i*s,p=i*f-a*d,m=a*u-r*f,h=r*d-i*u,g=o*2;return u*=g,d*=g,f*=g,p*=2,m*=2,h*=2,e[0]=s+u+p,e[1]=c+d+m,e[2]=l+f+h,e}function q_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0],a[1]=i[1]*Math.cos(r)-i[2]*Math.sin(r),a[2]=i[1]*Math.sin(r)+i[2]*Math.cos(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function J_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[2]*Math.sin(r)+i[0]*Math.cos(r),a[1]=i[1],a[2]=i[2]*Math.cos(r)-i[0]*Math.sin(r),e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function Y_(e,t,n,r){let i=[],a=[];return i[0]=t[0]-n[0],i[1]=t[1]-n[1],i[2]=t[2]-n[2],a[0]=i[0]*Math.cos(r)-i[1]*Math.sin(r),a[1]=i[0]*Math.sin(r)+i[1]*Math.cos(r),a[2]=i[2],e[0]=a[0]+n[0],e[1]=a[1]+n[1],e[2]=a[2]+n[2],e}function X_(e,t){let n=e[0],r=e[1],i=e[2],a=t[0],o=t[1],s=t[2],c=Math.sqrt((n*n+r*r+i*i)*(a*a+o*o+s*s)),l=c&&V_(e,t)/c;return Math.acos(Math.min(Math.max(l,-1),1))}var Z_=L_,Q_=R_,$_=I_,ev=z_;(function(){let e=F_();return function(t,n,r,i,a,o){let s,c;for(n||=3,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2];return t}})();var tv=[0,0,0],nv,rv=class e extends C_{static get ZERO(){return nv||(nv=new e(0,0,0),Object.freeze(nv)),nv}constructor(e=0,t=0,n=0){super(-0,-0,-0),arguments.length===1&&d_(e)?this.copy(e):(l_.debug&&(b_(e),b_(t),b_(n)),this[0]=e,this[1]=t,this[2]=n)}set(e,t,n){return this[0]=e,this[1]=t,this[2]=n,this.check()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this.check()}fromObject(e){return l_.debug&&(b_(e.x),b_(e.y),b_(e.z)),this[0]=e.x,this[1]=e.y,this[2]=e.z,this.check()}toObject(e){return e.x=this[0],e.y=this[1],e.z=this[2],e}get ELEMENTS(){return 3}get z(){return this[2]}set z(e){this[2]=b_(e)}angle(e){return X_(this,e)}cross(e){return H_(this,this,e),this.check()}rotateX({radians:e,origin:t=tv}){return q_(this,this,t,e),this.check()}rotateY({radians:e,origin:t=tv}){return J_(this,this,t,e),this.check()}rotateZ({radians:e,origin:t=tv}){return Y_(this,this,t,e),this.check()}transform(e){return this.transformAsPoint(e)}transformAsPoint(e){return W_(this,this,e),this.check()}transformAsVector(e){return N_(this,this,e),this.check()}transformByMatrix3(e){return G_(this,this,e),this.check()}transformByMatrix2(e){return P_(this,this,e),this.check()}transformByQuaternion(e){return K_(this,this,e),this.check()}},iv=class extends v_{toString(){let e=`[`;if(l_.printRowMajor){e+=`row-major:`;for(let t=0;t<this.RANK;++t)for(let n=0;n<this.RANK;++n)e+=` ${this[n*this.RANK+t]}`}else{e+=`column-major:`;for(let t=0;t<this.ELEMENTS;++t)e+=` ${this[t]}`}return e+=`]`,e}getElementIndex(e,t){return t*this.RANK+e}getElement(e,t){return this[t*this.RANK+e]}setElement(e,t,n){return this[t*this.RANK+e]=b_(n),this}getColumn(e,t=Array(this.RANK).fill(-0)){let n=e*this.RANK;for(let e=0;e<this.RANK;++e)t[e]=this[n+e];return t}setColumn(e,t){let n=e*this.RANK;for(let e=0;e<this.RANK;++e)this[n+e]=t[e];return this}};function av(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function ov(e,t){if(e===t){let n=t[1],r=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function sv(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=n*s-r*o,y=n*c-i*o,b=n*l-a*o,x=r*c-i*s,S=r*l-a*s,C=i*l-a*c,w=u*h-d*m,T=u*g-f*m,E=u*_-p*m,ee=d*g-f*h,te=d*_-p*h,D=f*_-p*g,O=v*D-y*te+b*ee+x*E-S*T+C*w;return O?(O=1/O,e[0]=(s*D-c*te+l*ee)*O,e[1]=(i*te-r*D-a*ee)*O,e[2]=(h*C-g*S+_*x)*O,e[3]=(f*S-d*C-p*x)*O,e[4]=(c*E-o*D-l*T)*O,e[5]=(n*D-i*E+a*T)*O,e[6]=(g*b-m*C-_*y)*O,e[7]=(u*C-f*b+p*y)*O,e[8]=(o*te-s*E+l*w)*O,e[9]=(r*E-n*te-a*w)*O,e[10]=(m*S-h*b+_*v)*O,e[11]=(d*b-u*S-p*v)*O,e[12]=(s*T-o*ee-c*w)*O,e[13]=(n*ee-r*T+i*w)*O,e[14]=(h*y-m*x-g*v)*O,e[15]=(u*x-d*y+f*v)*O,e):null}function cv(e){let t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],o=e[5],s=e[6],c=e[7],l=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],h=e[14],g=e[15],_=t*o-n*a,v=t*s-r*a,y=n*s-r*o,b=l*m-u*p,x=l*h-d*p,S=u*h-d*m,C=t*S-n*x+r*b,w=a*S-o*x+s*b,T=l*y-u*v+d*_,E=p*y-m*v+h*_;return c*C-i*w+g*T-f*E}function lv(e,t,n){let r=t[0],i=t[1],a=t[2],o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],m=t[11],h=t[12],g=t[13],_=t[14],v=t[15],y=n[0],b=n[1],x=n[2],S=n[3];return e[0]=y*r+b*s+x*d+S*h,e[1]=y*i+b*c+x*f+S*g,e[2]=y*a+b*l+x*p+S*_,e[3]=y*o+b*u+x*m+S*v,y=n[4],b=n[5],x=n[6],S=n[7],e[4]=y*r+b*s+x*d+S*h,e[5]=y*i+b*c+x*f+S*g,e[6]=y*a+b*l+x*p+S*_,e[7]=y*o+b*u+x*m+S*v,y=n[8],b=n[9],x=n[10],S=n[11],e[8]=y*r+b*s+x*d+S*h,e[9]=y*i+b*c+x*f+S*g,e[10]=y*a+b*l+x*p+S*_,e[11]=y*o+b*u+x*m+S*v,y=n[12],b=n[13],x=n[14],S=n[15],e[12]=y*r+b*s+x*d+S*h,e[13]=y*i+b*c+x*f+S*g,e[14]=y*a+b*l+x*p+S*_,e[15]=y*o+b*u+x*m+S*v,e}function uv(e,t,n){let r=n[0],i=n[1],a=n[2],o,s,c,l,u,d,f,p,m,h,g,_;return t===e?(e[12]=t[0]*r+t[4]*i+t[8]*a+t[12],e[13]=t[1]*r+t[5]*i+t[9]*a+t[13],e[14]=t[2]*r+t[6]*i+t[10]*a+t[14],e[15]=t[3]*r+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],e[0]=o,e[1]=s,e[2]=c,e[3]=l,e[4]=u,e[5]=d,e[6]=f,e[7]=p,e[8]=m,e[9]=h,e[10]=g,e[11]=_,e[12]=o*r+u*i+m*a+t[12],e[13]=s*r+d*i+h*a+t[13],e[14]=c*r+f*i+g*a+t[14],e[15]=l*r+p*i+_*a+t[15]),e}function dv(e,t,n){let r=n[0],i=n[1],a=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function fv(e,t,n,r){let i=r[0],a=r[1],o=r[2],s=Math.sqrt(i*i+a*a+o*o),c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,ee,te,D,O,k;return s<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(n),c=Math.cos(n),u=1-c,d=t[0],f=t[1],p=t[2],m=t[3],h=t[4],g=t[5],_=t[6],v=t[7],y=t[8],b=t[9],x=t[10],S=t[11],C=i*i*u+c,w=a*i*u+o*l,T=o*i*u-a*l,E=i*a*u-o*l,ee=a*a*u+c,te=o*a*u+i*l,D=i*o*u+a*l,O=a*o*u-i*l,k=o*o*u+c,e[0]=d*C+h*w+y*T,e[1]=f*C+g*w+b*T,e[2]=p*C+_*w+x*T,e[3]=m*C+v*w+S*T,e[4]=d*E+h*ee+y*te,e[5]=f*E+g*ee+b*te,e[6]=p*E+_*ee+x*te,e[7]=m*E+v*ee+S*te,e[8]=d*D+h*O+y*k,e[9]=f*D+g*O+b*k,e[10]=p*D+_*O+x*k,e[11]=m*D+v*O+S*k,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function pv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+l*r,e[5]=o*i+u*r,e[6]=s*i+d*r,e[7]=c*i+f*r,e[8]=l*i-a*r,e[9]=u*i-o*r,e[10]=d*i-s*r,e[11]=f*i-c*r,e}function mv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[8],u=t[9],d=t[10],f=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-l*r,e[1]=o*i-u*r,e[2]=s*i-d*r,e[3]=c*i-f*r,e[8]=a*r+l*i,e[9]=o*r+u*i,e[10]=s*r+d*i,e[11]=c*r+f*i,e}function hv(e,t,n){let r=Math.sin(n),i=Math.cos(n),a=t[0],o=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+l*r,e[1]=o*i+u*r,e[2]=s*i+d*r,e[3]=c*i+f*r,e[4]=l*i-a*r,e[5]=u*i-o*r,e[6]=d*i-s*r,e[7]=f*i-c*r,e}function gv(e,t){let n=t[0],r=t[1],i=t[2],a=t[3],o=n+n,s=r+r,c=i+i,l=n*o,u=r*o,d=r*s,f=i*o,p=i*s,m=i*c,h=a*o,g=a*s,_=a*c;return e[0]=1-d-m,e[1]=u+_,e[2]=f-g,e[3]=0,e[4]=u-_,e[5]=1-l-m,e[6]=p+h,e[7]=0,e[8]=f+g,e[9]=p-h,e[10]=1-l-d,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function _v(e,t,n,r,i,a,o){let s=1/(n-t),c=1/(i-r),l=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*c,e[6]=0,e[7]=0,e[8]=(n+t)*s,e[9]=(i+r)*c,e[10]=(o+a)*l,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*l,e[15]=0,e}function vv(e,t,n,r,i){let a=1/Math.tan(t/2);if(e[0]=a/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,i!=null&&i!==1/0){let t=1/(r-i);e[10]=(i+r)*t,e[14]=2*i*r*t}else e[10]=-1,e[14]=-2*r;return e}var yv=vv;function bv(e,t,n,r,i,a,o){let s=1/(t-n),c=1/(r-i),l=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*c,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*l,e[11]=0,e[12]=(t+n)*s,e[13]=(i+r)*c,e[14]=(o+a)*l,e[15]=1,e}var xv=bv;function Sv(e,t,n,r){let i,a,o,s,c,l,u,d,f,p,m=t[0],h=t[1],g=t[2],_=r[0],v=r[1],y=r[2],b=n[0],x=n[1],S=n[2];return Math.abs(m-b)<1e-6&&Math.abs(h-x)<1e-6&&Math.abs(g-S)<1e-6?av(e):(d=m-b,f=h-x,p=g-S,i=1/Math.sqrt(d*d+f*f+p*p),d*=i,f*=i,p*=i,a=v*p-y*f,o=y*d-_*p,s=_*f-v*d,i=Math.sqrt(a*a+o*o+s*s),i?(i=1/i,a*=i,o*=i,s*=i):(a=0,o=0,s=0),c=f*s-p*o,l=p*a-d*s,u=d*o-f*a,i=Math.sqrt(c*c+l*l+u*u),i?(i=1/i,c*=i,l*=i,u*=i):(c=0,l=0,u=0),e[0]=a,e[1]=c,e[2]=d,e[3]=0,e[4]=o,e[5]=l,e[6]=f,e[7]=0,e[8]=s,e[9]=u,e[10]=p,e[11]=0,e[12]=-(a*m+o*h+s*g),e[13]=-(c*m+l*h+u*g),e[14]=-(d*m+f*h+p*g),e[15]=1,e)}function Cv(){let e=new w_(4);return w_!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function wv(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function Tv(e,t,n){let r=t[0],i=t[1],a=t[2],o=t[3];return e[0]=n[0]*r+n[4]*i+n[8]*a+n[12]*o,e[1]=n[1]*r+n[5]*i+n[9]*a+n[13]*o,e[2]=n[2]*r+n[6]*i+n[10]*a+n[14]*o,e[3]=n[3]*r+n[7]*i+n[11]*a+n[15]*o,e}(function(){let e=Cv();return function(t,n,r,i,a,o){let s,c;for(n||=4,r||=0,c=i?Math.min(i*n+r,t.length):t.length,s=r;s<c;s+=n)e[0]=t[s],e[1]=t[s+1],e[2]=t[s+2],e[3]=t[s+3],a(e,e,o),t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=e[3];return t}})();var Ev;(function(e){e[e.COL0ROW0=0]=`COL0ROW0`,e[e.COL0ROW1=1]=`COL0ROW1`,e[e.COL0ROW2=2]=`COL0ROW2`,e[e.COL0ROW3=3]=`COL0ROW3`,e[e.COL1ROW0=4]=`COL1ROW0`,e[e.COL1ROW1=5]=`COL1ROW1`,e[e.COL1ROW2=6]=`COL1ROW2`,e[e.COL1ROW3=7]=`COL1ROW3`,e[e.COL2ROW0=8]=`COL2ROW0`,e[e.COL2ROW1=9]=`COL2ROW1`,e[e.COL2ROW2=10]=`COL2ROW2`,e[e.COL2ROW3=11]=`COL2ROW3`,e[e.COL3ROW0=12]=`COL3ROW0`,e[e.COL3ROW1=13]=`COL3ROW1`,e[e.COL3ROW2=14]=`COL3ROW2`,e[e.COL3ROW3=15]=`COL3ROW3`})(Ev||={});var Dv=45*Math.PI/180,Ov=1,kv=.1,Av=500,jv=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),Mv=class extends iv{static get IDENTITY(){return Iv()}static get ZERO(){return Fv()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Ev}constructor(e){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(e)?this.copy(e):this.identity()}copy(e){return this[0]=e[0],this[1]=e[1],this[2]=e[2],this[3]=e[3],this[4]=e[4],this[5]=e[5],this[6]=e[6],this[7]=e[7],this[8]=e[8],this[9]=e[9],this[10]=e[10],this[11]=e[11],this[12]=e[12],this[13]=e[13],this[14]=e[14],this[15]=e[15],this.check()}set(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){return this[0]=e,this[1]=t,this[2]=n,this[3]=r,this[4]=i,this[5]=a,this[6]=o,this[7]=s,this[8]=c,this[9]=l,this[10]=u,this[11]=d,this[12]=f,this[13]=p,this[14]=m,this[15]=h,this.check()}setRowMajor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h){return this[0]=e,this[1]=i,this[2]=c,this[3]=f,this[4]=t,this[5]=a,this[6]=l,this[7]=p,this[8]=n,this[9]=o,this[10]=u,this[11]=m,this[12]=r,this[13]=s,this[14]=d,this[15]=h,this.check()}toRowMajor(e){return e[0]=this[0],e[1]=this[4],e[2]=this[8],e[3]=this[12],e[4]=this[1],e[5]=this[5],e[6]=this[9],e[7]=this[13],e[8]=this[2],e[9]=this[6],e[10]=this[10],e[11]=this[14],e[12]=this[3],e[13]=this[7],e[14]=this[11],e[15]=this[15],e}identity(){return this.copy(jv)}fromObject(e){return this.check()}fromQuaternion(e){return gv(this,e),this.check()}frustum(e){let{left:t,right:n,bottom:r,top:i,near:a=kv,far:o=Av}=e;return o===1/0?Rv(this,t,n,r,i,a):_v(this,t,n,r,i,a,o),this.check()}lookAt(e){let{eye:t,center:n=[0,0,0],up:r=[0,1,0]}=e;return Sv(this,t,n,r),this.check()}ortho(e){let{left:t,right:n,bottom:r,top:i,near:a=kv,far:o=Av}=e;return xv(this,t,n,r,i,a,o),this.check()}orthographic(e){let{fovy:t=Dv,aspect:n=Ov,focalDistance:r=1,near:i=kv,far:a=Av}=e;Lv(t);let o=t/2,s=r*Math.tan(o),c=s*n;return this.ortho({left:-c,right:c,bottom:-s,top:s,near:i,far:a})}perspective(e){let{fovy:t=45*Math.PI/180,aspect:n=1,near:r=.1,far:i=500}=e;return Lv(t),yv(this,t,n,r,i),this.check()}determinant(){return cv(this)}getScale(e=[-0,-0,-0]){return e[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),e[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),e[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),e}getTranslation(e=[-0,-0,-0]){return e[0]=this[12],e[1]=this[13],e[2]=this[14],e}getRotation(e,t){e||=[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],t||=[-0,-0,-0];let n=this.getScale(t),r=1/n[0],i=1/n[1],a=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*a,e[3]=0,e[4]=this[4]*r,e[5]=this[5]*i,e[6]=this[6]*a,e[7]=0,e[8]=this[8]*r,e[9]=this[9]*i,e[10]=this[10]*a,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}getRotationMatrix3(e,t){e||=[-0,-0,-0,-0,-0,-0,-0,-0,-0],t||=[-0,-0,-0];let n=this.getScale(t),r=1/n[0],i=1/n[1],a=1/n[2];return e[0]=this[0]*r,e[1]=this[1]*i,e[2]=this[2]*a,e[3]=this[4]*r,e[4]=this[5]*i,e[5]=this[6]*a,e[6]=this[8]*r,e[7]=this[9]*i,e[8]=this[10]*a,e}transpose(){return ov(this,this),this.check()}invert(){return sv(this,this),this.check()}multiplyLeft(e){return lv(this,e,this),this.check()}multiplyRight(e){return lv(this,this,e),this.check()}rotateX(e){return pv(this,this,e),this.check()}rotateY(e){return mv(this,this,e),this.check()}rotateZ(e){return hv(this,this,e),this.check()}rotateXYZ(e){return this.rotateX(e[0]).rotateY(e[1]).rotateZ(e[2])}rotateAxis(e,t){return fv(this,this,e,t),this.check()}scale(e){return dv(this,this,Array.isArray(e)?e:[e,e,e]),this.check()}translate(e){return uv(this,this,e),this.check()}transform(e,t){return e.length===4?(t=Tv(t||[-0,-0,-0,-0],e,this),x_(t,4),t):this.transformAsPoint(e,t)}transformAsPoint(e,t){let{length:n}=e,r;switch(n){case 2:r=A_(t||[-0,-0],e,this);break;case 3:r=W_(t||[-0,-0,-0],e,this);break;default:throw Error(`Illegal vector`)}return x_(r,e.length),r}transformAsVector(e,t){let n;switch(e.length){case 2:n=M_(t||[-0,-0],e,this);break;case 3:n=N_(t||[-0,-0,-0],e,this);break;default:throw Error(`Illegal vector`)}return x_(n,e.length),n}transformPoint(e,t){return this.transformAsPoint(e,t)}transformVector(e,t){return this.transformAsPoint(e,t)}transformDirection(e,t){return this.transformAsVector(e,t)}makeRotationX(e){return this.identity().rotateX(e)}makeTranslation(e,t,n){return this.identity().translate([e,t,n])}},Nv,Pv;function Fv(){return Nv||(Nv=new Mv([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Nv)),Nv}function Iv(){return Pv||(Pv=new Mv,Object.freeze(Pv)),Pv}function Lv(e){if(e>Math.PI*2)throw Error(`expected radians`)}function Rv(e,t,n,r,i,a){let o=2*a/(n-t),s=2*a/(i-r),c=(n+t)/(n-t),l=(i+r)/(i-r),u=-2*a;return e[0]=o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=s,e[6]=0,e[7]=0,e[8]=c,e[9]=l,e[10]=-1,e[11]=-1,e[12]=0,e[13]=0,e[14]=u,e[15]=0,e}function zv(e,t=[],n=0){let r=Math.fround(e),i=e-r;return t[n]=r,t[n+1]=i,t}function Bv(e){return e-Math.fround(e)}function Vv(e){let t=new Float32Array(32);for(let n=0;n<4;++n)for(let r=0;r<4;++r){let i=n*4+r;zv(e[r*4+n],t,i*2)}return t}function Hv(e,t=!0){return e??t}function Uv(e=[0,0,0],t=!0){return t?e.map(e=>e/255):[...e]}function Wv(e,t=!0){let n=Uv(e.slice(0,3),t),r=Number.isFinite(e[3]),i=r?e[3]:1;return[n[0],n[1],n[2],t&&r?i/255:i]}var Gv={name:`fp32`,vs:`#ifdef LUMA_FP32_TAN_PRECISION_WORKAROUND
|
|
655
655
|
|
|
656
656
|
// All these functions are for substituting tan() function from Intel GPU only
|
|
657
657
|
const float TWO_PI = 6.2831854820251465;
|
|
@@ -3212,7 +3212,7 @@ fragColor = vFillColor;
|
|
|
3212
3212
|
}
|
|
3213
3213
|
DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
3214
3214
|
}
|
|
3215
|
-
`,KI={billboard:!0,sizeScale:1,sizeUnits:`pixels`,sizeMinPixels:0,sizeMaxPixels:2**53-1,fontSize:1,borderRadius:{type:`object`,value:0},padding:{type:`array`,value:[0,0,0,0]},getPosition:{type:`accessor`,value:e=>e.position},getSize:{type:`accessor`,value:1},getAngle:{type:`accessor`,value:0},getPixelOffset:{type:`accessor`,value:[0,0]},getBoundingRect:{type:`accessor`,value:[0,0,0,0]},getClipRect:{type:`accessor`,value:[0,0,-1,-1]},getFillColor:{type:`accessor`,value:[0,0,0,255]},getLineColor:{type:`accessor`,value:[0,0,0,255]},getLineWidth:{type:`accessor`,value:1}},qI=class extends yP{getShaders(){return super.getShaders({vs:WI,fs:GI,modules:[sw,$w,UI,aI]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:`float64`,fp64:this.use64bitPositions(),transition:!0,accessor:`getPosition`},instanceSizes:{size:1,transition:!0,accessor:`getSize`,defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:`getAngle`},instanceRects:{size:4,accessor:`getBoundingRect`},instanceClipRect:{size:4,accessor:`getClipRect`,defaultValue:[0,0,-1,-1]},instancePixelOffsets:{size:2,transition:!0,accessor:`getPixelOffset`},instanceFillColors:{size:4,transition:!0,type:`unorm8`,accessor:`getFillColor`,defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,type:`unorm8`,accessor:`getLineColor`,defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:`getLineWidth`,defaultValue:1}})}updateState(e){super.updateState(e);let{changeFlags:t}=e;t.extensionsChanged&&(this.state.model?.destroy(),this.state.model=this._getModel(),this.getAttributeManager().invalidateAll())}draw({uniforms:e}){let{billboard:t,sizeScale:n,sizeUnits:r,sizeMinPixels:i,sizeMaxPixels:a,getLineWidth:o,fontSize:s}=this.props,{padding:c,borderRadius:l}=this.props;c.length<4&&(c=[c[0],c[1],c[0],c[1]]),Array.isArray(l)||(l=[l,l,l,l]);let u=this.state.model,d={billboard:t,stroked:!!o,borderRadius:l,padding:c,sizeUnits:zC[r],sizeScale:n,sizeMinPixels:i,sizeMaxPixels:a},f={fontSize:s,viewport:this.context.viewport};u.shaderInputs.setProps({textBackground:d,text:f}),u.draw(this.context.renderPass)}_getModel(){let e=[0,0,1,0,0,1,1,1];return new oD(this.context.device,{...this.getShaders(),id:this.props.id,bufferLayout:this.getAttributeManager().getBufferLayouts(),geometry:new lD({topology:`triangle-strip`,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(e)}}}),isInstanced:!0})}};qI.defaultProps=KI,qI.layerName=`TextBackgroundLayer`;var JI={start:1,middle:0,end:-1},YI={top:1,center:0,bottom:-1},XI=[0,0,0,255],ZI={billboard:!0,sizeScale:1,sizeUnits:`pixels`,sizeMinPixels:0,sizeMaxPixels:2**53-1,background:!1,getBackgroundColor:{type:`accessor`,value:[255,255,255,255]},getBorderColor:{type:`accessor`,value:XI},getBorderWidth:{type:`accessor`,value:0},backgroundBorderRadius:{type:`object`,value:0},backgroundPadding:{type:`array`,value:[0,0,0,0]},characterSet:{type:`object`,value:kI.characterSet},fontFamily:kI.fontFamily,fontWeight:kI.fontWeight,lineHeight:1,outlineWidth:{type:`number`,value:0,min:0},outlineColor:{type:`color`,value:XI},fontSettings:{type:`object`,value:{},compare:1},wordBreak:`break-word`,maxWidth:{type:`number`,value:-1},contentCutoffPixels:{type:`array`,value:[0,0]},contentAlignHorizontal:`none`,contentAlignVertical:`none`,getText:{type:`accessor`,value:e=>e.text},getPosition:{type:`accessor`,value:e=>e.position},getColor:{type:`accessor`,value:XI},getSize:{type:`accessor`,value:32},getAngle:{type:`accessor`,value:0},getTextAnchor:{type:`accessor`,value:`middle`},getAlignmentBaseline:{type:`accessor`,value:`center`},getPixelOffset:{type:`accessor`,value:[0,0]},getContentBox:{type:`accessor`,value:[0,0,-1,-1]},backgroundColor:{deprecatedFor:[`background`,`getBackgroundColor`]}},QI=class extends TP{constructor(){super(...arguments),this.getBoundingRect=(e,t)=>{let{size:[n,r]}=this.transformParagraph(e,t),{getTextAnchor:i,getAlignmentBaseline:a}=this.props,o=JI[typeof i==`function`?i(e,t):i],s=YI[typeof a==`function`?a(e,t):a];return[(o-1)*n/2,(s-1)*r/2,n,r]},this.getIconOffsets=(e,t)=>{let{getTextAnchor:n,getAlignmentBaseline:r}=this.props,{x:i,y:a,rowWidth:o,size:[,s]}=this.transformParagraph(e,t),c=JI[typeof n==`function`?n(e,t):n],l=YI[typeof r==`function`?r(e,t):r],u=i.length,d=Array(u*2),f=0;for(let e=0;e<u;e++)d[f++]=(c-1)*o[e]/2+i[e],d[f++]=(l-1)*s/2+a[e];return d}}initializeState(){this.state={styleVersion:0,fontAtlasManager:new BI},this.props.maxWidth>0&&J.once(1,`v8.9 breaking change: TextLayer maxWidth is now relative to text size`)()}updateState(e){let{props:t,oldProps:n,changeFlags:r}=e;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:e}){return e.object=e.index>=0?this.props.data[e.index]:null,e}_updateFontAtlas(){let{fontSettings:e,fontFamily:t,fontWeight:n,_getFontRenderer:r}=this.props,{fontAtlasManager:i,characterSet:a}=this.state,o={...e,characterSet:a,fontFamily:t,fontWeight:n,_getFontRenderer:r};if(!i.mapping)return i.setProps(o),!0;for(let e in o)if(o[e]!==i.props[e])return i.setProps(o),!0;return!1}_updateText(){let{data:e,characterSet:t}=this.props,n=e.attributes?.getText,{getText:r}=this.props,i=e.startIndices,a,o=t===`auto`&&new Set;if(n&&i){let{texts:t,characterCount:s}=EI({...ArrayBuffer.isView(n)?{value:n}:n,length:e.length,startIndices:i,characterSet:o});a=s,r=(e,{index:n})=>t[n]}else{let{iterable:t,objectInfo:n}=OM(e);i=[0],a=0;for(let e of t){n.index++;let t=Array.from(r(e,n)||``);o&&t.forEach(o.add,o),a+=t.length,i.push(a)}}this.setState({getText:r,startIndices:i,numInstances:a,characterSet:o||t})}transformParagraph(e,t){let{fontAtlasManager:n}=this.state,r=n.mapping,{baselineOffset:i}=n.atlas,{fontSize:a}=n.props,o=this.state.getText,{wordBreak:s,lineHeight:c,maxWidth:l}=this.props;return TI(o(e,t)||``,i,c*a,s,l*a,r)}renderLayers(){let{startIndices:e,numInstances:t,getText:n,fontAtlasManager:{atlas:r,mapping:i},styleVersion:a}=this.state,{data:o,_dataDiff:s,getPosition:c,getColor:l,getSize:u,getAngle:d,getPixelOffset:f,getBackgroundColor:p,getBorderColor:m,getBorderWidth:h,getContentBox:g,backgroundBorderRadius:_,backgroundPadding:v,background:y,billboard:b,fontSettings:x,outlineWidth:S,outlineColor:C,sizeScale:w,sizeUnits:T,sizeMinPixels:E,sizeMaxPixels:ee,contentCutoffPixels:
|
|
3215
|
+
`,KI={billboard:!0,sizeScale:1,sizeUnits:`pixels`,sizeMinPixels:0,sizeMaxPixels:2**53-1,fontSize:1,borderRadius:{type:`object`,value:0},padding:{type:`array`,value:[0,0,0,0]},getPosition:{type:`accessor`,value:e=>e.position},getSize:{type:`accessor`,value:1},getAngle:{type:`accessor`,value:0},getPixelOffset:{type:`accessor`,value:[0,0]},getBoundingRect:{type:`accessor`,value:[0,0,0,0]},getClipRect:{type:`accessor`,value:[0,0,-1,-1]},getFillColor:{type:`accessor`,value:[0,0,0,255]},getLineColor:{type:`accessor`,value:[0,0,0,255]},getLineWidth:{type:`accessor`,value:1}},qI=class extends yP{getShaders(){return super.getShaders({vs:WI,fs:GI,modules:[sw,$w,UI,aI]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:`float64`,fp64:this.use64bitPositions(),transition:!0,accessor:`getPosition`},instanceSizes:{size:1,transition:!0,accessor:`getSize`,defaultValue:1},instanceAngles:{size:1,transition:!0,accessor:`getAngle`},instanceRects:{size:4,accessor:`getBoundingRect`},instanceClipRect:{size:4,accessor:`getClipRect`,defaultValue:[0,0,-1,-1]},instancePixelOffsets:{size:2,transition:!0,accessor:`getPixelOffset`},instanceFillColors:{size:4,transition:!0,type:`unorm8`,accessor:`getFillColor`,defaultValue:[0,0,0,255]},instanceLineColors:{size:4,transition:!0,type:`unorm8`,accessor:`getLineColor`,defaultValue:[0,0,0,255]},instanceLineWidths:{size:1,transition:!0,accessor:`getLineWidth`,defaultValue:1}})}updateState(e){super.updateState(e);let{changeFlags:t}=e;t.extensionsChanged&&(this.state.model?.destroy(),this.state.model=this._getModel(),this.getAttributeManager().invalidateAll())}draw({uniforms:e}){let{billboard:t,sizeScale:n,sizeUnits:r,sizeMinPixels:i,sizeMaxPixels:a,getLineWidth:o,fontSize:s}=this.props,{padding:c,borderRadius:l}=this.props;c.length<4&&(c=[c[0],c[1],c[0],c[1]]),Array.isArray(l)||(l=[l,l,l,l]);let u=this.state.model,d={billboard:t,stroked:!!o,borderRadius:l,padding:c,sizeUnits:zC[r],sizeScale:n,sizeMinPixels:i,sizeMaxPixels:a},f={fontSize:s,viewport:this.context.viewport};u.shaderInputs.setProps({textBackground:d,text:f}),u.draw(this.context.renderPass)}_getModel(){let e=[0,0,1,0,0,1,1,1];return new oD(this.context.device,{...this.getShaders(),id:this.props.id,bufferLayout:this.getAttributeManager().getBufferLayouts(),geometry:new lD({topology:`triangle-strip`,vertexCount:4,attributes:{positions:{size:2,value:new Float32Array(e)}}}),isInstanced:!0})}};qI.defaultProps=KI,qI.layerName=`TextBackgroundLayer`;var JI={start:1,middle:0,end:-1},YI={top:1,center:0,bottom:-1},XI=[0,0,0,255],ZI={billboard:!0,sizeScale:1,sizeUnits:`pixels`,sizeMinPixels:0,sizeMaxPixels:2**53-1,background:!1,getBackgroundColor:{type:`accessor`,value:[255,255,255,255]},getBorderColor:{type:`accessor`,value:XI},getBorderWidth:{type:`accessor`,value:0},backgroundBorderRadius:{type:`object`,value:0},backgroundPadding:{type:`array`,value:[0,0,0,0]},characterSet:{type:`object`,value:kI.characterSet},fontFamily:kI.fontFamily,fontWeight:kI.fontWeight,lineHeight:1,outlineWidth:{type:`number`,value:0,min:0},outlineColor:{type:`color`,value:XI},fontSettings:{type:`object`,value:{},compare:1},wordBreak:`break-word`,maxWidth:{type:`number`,value:-1},contentCutoffPixels:{type:`array`,value:[0,0]},contentAlignHorizontal:`none`,contentAlignVertical:`none`,getText:{type:`accessor`,value:e=>e.text},getPosition:{type:`accessor`,value:e=>e.position},getColor:{type:`accessor`,value:XI},getSize:{type:`accessor`,value:32},getAngle:{type:`accessor`,value:0},getTextAnchor:{type:`accessor`,value:`middle`},getAlignmentBaseline:{type:`accessor`,value:`center`},getPixelOffset:{type:`accessor`,value:[0,0]},getContentBox:{type:`accessor`,value:[0,0,-1,-1]},backgroundColor:{deprecatedFor:[`background`,`getBackgroundColor`]}},QI=class extends TP{constructor(){super(...arguments),this.getBoundingRect=(e,t)=>{let{size:[n,r]}=this.transformParagraph(e,t),{getTextAnchor:i,getAlignmentBaseline:a}=this.props,o=JI[typeof i==`function`?i(e,t):i],s=YI[typeof a==`function`?a(e,t):a];return[(o-1)*n/2,(s-1)*r/2,n,r]},this.getIconOffsets=(e,t)=>{let{getTextAnchor:n,getAlignmentBaseline:r}=this.props,{x:i,y:a,rowWidth:o,size:[,s]}=this.transformParagraph(e,t),c=JI[typeof n==`function`?n(e,t):n],l=YI[typeof r==`function`?r(e,t):r],u=i.length,d=Array(u*2),f=0;for(let e=0;e<u;e++)d[f++]=(c-1)*o[e]/2+i[e],d[f++]=(l-1)*s/2+a[e];return d}}initializeState(){this.state={styleVersion:0,fontAtlasManager:new BI},this.props.maxWidth>0&&J.once(1,`v8.9 breaking change: TextLayer maxWidth is now relative to text size`)()}updateState(e){let{props:t,oldProps:n,changeFlags:r}=e;(r.dataChanged||r.updateTriggersChanged&&(r.updateTriggersChanged.all||r.updateTriggersChanged.getText))&&this._updateText(),(this._updateFontAtlas()||t.lineHeight!==n.lineHeight||t.wordBreak!==n.wordBreak||t.maxWidth!==n.maxWidth)&&this.setState({styleVersion:this.state.styleVersion+1})}getPickingInfo({info:e}){return e.object=e.index>=0?this.props.data[e.index]:null,e}_updateFontAtlas(){let{fontSettings:e,fontFamily:t,fontWeight:n,_getFontRenderer:r}=this.props,{fontAtlasManager:i,characterSet:a}=this.state,o={...e,characterSet:a,fontFamily:t,fontWeight:n,_getFontRenderer:r};if(!i.mapping)return i.setProps(o),!0;for(let e in o)if(o[e]!==i.props[e])return i.setProps(o),!0;return!1}_updateText(){let{data:e,characterSet:t}=this.props,n=e.attributes?.getText,{getText:r}=this.props,i=e.startIndices,a,o=t===`auto`&&new Set;if(n&&i){let{texts:t,characterCount:s}=EI({...ArrayBuffer.isView(n)?{value:n}:n,length:e.length,startIndices:i,characterSet:o});a=s,r=(e,{index:n})=>t[n]}else{let{iterable:t,objectInfo:n}=OM(e);i=[0],a=0;for(let e of t){n.index++;let t=Array.from(r(e,n)||``);o&&t.forEach(o.add,o),a+=t.length,i.push(a)}}this.setState({getText:r,startIndices:i,numInstances:a,characterSet:o||t})}transformParagraph(e,t){let{fontAtlasManager:n}=this.state,r=n.mapping,{baselineOffset:i}=n.atlas,{fontSize:a}=n.props,o=this.state.getText,{wordBreak:s,lineHeight:c,maxWidth:l}=this.props;return TI(o(e,t)||``,i,c*a,s,l*a,r)}renderLayers(){let{startIndices:e,numInstances:t,getText:n,fontAtlasManager:{atlas:r,mapping:i},styleVersion:a}=this.state,{data:o,_dataDiff:s,getPosition:c,getColor:l,getSize:u,getAngle:d,getPixelOffset:f,getBackgroundColor:p,getBorderColor:m,getBorderWidth:h,getContentBox:g,backgroundBorderRadius:_,backgroundPadding:v,background:y,billboard:b,fontSettings:x,outlineWidth:S,outlineColor:C,sizeScale:w,sizeUnits:T,sizeMinPixels:E,sizeMaxPixels:ee,contentCutoffPixels:te,contentAlignHorizontal:D,contentAlignVertical:O,transitions:k,updateTriggers:ne}=this.props,re=this.getSubLayerClass(`characters`,uI),ie=this.getSubLayerClass(`background`,qI),{fontSize:ae}=this.state.fontAtlasManager.props;return[y&&new ie({getFillColor:p,getLineColor:m,getLineWidth:h,borderRadius:_,padding:v,getPosition:c,getSize:u,getAngle:d,getPixelOffset:f,getClipRect:g,billboard:b,sizeScale:w,sizeUnits:T,sizeMinPixels:E,sizeMaxPixels:ee,fontSize:ae,transitions:k&&{getPosition:k.getPosition,getAngle:k.getAngle,getSize:k.getSize,getFillColor:k.getBackgroundColor,getLineColor:k.getBorderColor,getLineWidth:k.getBorderWidth,getPixelOffset:k.getPixelOffset}},this.getSubLayerProps({id:`background`,updateTriggers:{getPosition:ne.getPosition,getAngle:ne.getAngle,getSize:ne.getSize,getFillColor:ne.getBackgroundColor,getLineColor:ne.getBorderColor,getLineWidth:ne.getBorderWidth,getPixelOffset:ne.getPixelOffset,getBoundingRect:{getText:ne.getText,getTextAnchor:ne.getTextAnchor,getAlignmentBaseline:ne.getAlignmentBaseline,styleVersion:a}}}),{data:o.attributes&&o.attributes.background?{length:o.length,attributes:o.attributes.background}:o,_dataDiff:s,autoHighlight:!1,getBoundingRect:this.getBoundingRect}),new re({sdf:x.sdf,smoothing:Number.isFinite(x.smoothing)?x.smoothing:kI.smoothing,outlineWidth:S/(x.radius||kI.radius),outlineColor:C,iconAtlas:r,iconMapping:i,getPosition:c,getColor:l,getSize:u,getAngle:d,getPixelOffset:f,getContentBox:g,billboard:b,sizeScale:w,sizeUnits:T,sizeMinPixels:E,sizeMaxPixels:ee,fontSize:ae,contentCutoffPixels:te,contentAlignHorizontal:D,contentAlignVertical:O,transitions:k&&{getPosition:k.getPosition,getAngle:k.getAngle,getColor:k.getColor,getSize:k.getSize,getPixelOffset:k.getPixelOffset,getContentBox:k.getContentBox}},this.getSubLayerProps({id:`characters`,updateTriggers:{all:ne.getText,getPosition:ne.getPosition,getAngle:ne.getAngle,getColor:ne.getColor,getSize:ne.getSize,getPixelOffset:ne.getPixelOffset,getContentBox:ne.getContentBox,getIconOffsets:{getTextAnchor:ne.getTextAnchor,getAlignmentBaseline:ne.getAlignmentBaseline,styleVersion:a}}}),{data:o,_dataDiff:s,startIndices:e,numInstances:t,getIconOffsets:this.getIconOffsets,getIcon:n})]}static set fontAtlasCacheLimit(e){zI(e)}};QI.defaultProps=ZI,QI.layerName=`TextLayer`;var $I={inject:{"vs:#decl":`
|
|
3216
3216
|
in vec2 instanceDashArrays;
|
|
3217
3217
|
#ifdef HIGH_PRECISION_DASH
|
|
3218
3218
|
in float instanceDashOffsets;
|
|
@@ -3714,17 +3714,23 @@ void main(void) {
|
|
|
3714
3714
|
fragColor = vColor;
|
|
3715
3715
|
DECKGL_FILTER_COLOR(fragColor, geometry);
|
|
3716
3716
|
}
|
|
3717
|
-
`,TL=[0,1,0,1,.333,0,1,-.75,0,0,1,0,1,-.75,0,0,-.5,0,0,1,0,0,-.5,0,-1,-.75,0,0,1,0,-1,-.75,0,-1,.333,0],EL=new Float32Array([...TL,...TL]),DL=24,OL=new Float32Array([1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0]),kL={getPosition:{type:`accessor`,value:[0,0]},getSog:{type:`accessor`,value:0},getCog:{type:`accessor`,value:0},getHeading:{type:`accessor`,value:0},getRot:{type:`accessor`,value:0},getAgeAtUpload:{type:`accessor`,value:0},getLength:{type:`accessor`,value:0},getColor:{type:`accessor`,value:[255,255,255,255]},uploadTimestamp:0,selfAnimate:!1,settingsIconSize:1,opacity:1},AL=class extends yP{static layerName=`AisIconLayer`;static defaultProps=kL;getShaders(){return super.getShaders({vs:CL,fs:wL,modules:[sw,$w,SL]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:`float64`,fp64:this.use64bitPositions(),transition:!0,accessor:`getPosition`,defaultValue:[0,0,0]},instanceSog:{size:1,accessor:`getSog`,defaultValue:0},instanceCog:{size:1,accessor:`getCog`,defaultValue:0},instanceHeading:{size:1,accessor:`getHeading`,defaultValue:0},instanceRot:{size:1,accessor:`getRot`,defaultValue:0},instanceAgeAtUpload:{size:1,accessor:`getAgeAtUpload`,defaultValue:0},instanceLength:{size:1,accessor:`getLength`,defaultValue:0},instanceColor:{size:4,type:`unorm8`,accessor:`getColor`,defaultValue:[255,255,255,255]}})}updateState(e){super.updateState(e),e.changeFlags.extensionsChanged&&(this.state.model?.destroy(),this.state.model=this._getModel(),this.getAttributeManager().invalidateAll()),e.changeFlags.propsChanged&&this.setNeedsRedraw()}draw({uniforms:e}){let{uploadTimestamp:t,selfAnimate:n,settingsIconSize:r,opacity:i}=this.props,a=n?Math.max(0,(Date.now()-(t??0))/1e3):0,o=this.context.viewport.zoom,s=this.state.model;s.shaderInputs.setProps({aisIcon:{timeSinceUpload:a,zoom:o,settingsIconSize:r??1,opacity:i??1}}),s.draw(this.context.renderPass),n&&this.setNeedsRedraw()}_getModel(){return new oD(this.context.device,{...this.getShaders(),id:this.props.id,bufferLayout:this.getAttributeManager().getBufferLayouts(),geometry:new lD({topology:`triangle-list`,attributes:{positions:{size:3,value:EL},aIsOutline:{size:1,value:OL}},vertexCount:DL}),isInstanced:!0})}};function jL(e,t,n,r,i,a,o){let s=(o-a)/1e3;if(s===0||r<.01)return[e,t];let c,l;if(Math.abs(i)>1e-4){let e=n+i*s,t=r/i;c=t*(Math.cos(n)-Math.cos(e)),l=t*(Math.sin(e)-Math.sin(n))}else c=r*s*Math.sin(n),l=r*s*Math.cos(n);let u=111320*Math.cos(t*Math.PI/180);return[e+c/u,t+l/111320]}function ML(e,t,n){let r=t/2,i=t/2,a=t/32;e.beginPath(),e.moveTo(r,i-12*a),e.lineTo(r+8*a,i-4*a),e.lineTo(r+8*a,i+9*a),e.lineTo(r,i+6*a),e.lineTo(r-8*a,i+9*a),e.lineTo(r-8*a,i-4*a),e.closePath(),e.fillStyle=n,e.fill(),e.strokeStyle=`#ffffff`,e.lineWidth=1.5*a,e.lineJoin=`round`,e.stroke()}function NL(e,t){let n=document.createElement(`canvas`);n.width=e,n.height=e;let r=n.getContext(`2d`);if(!r)throw Error(`Could not get 2D canvas context`);return ML(r,e,t),n}function PL(e,t){return NL(e,t).getContext(`2d`).getImageData(0,0,e,e)}var FL=H(`<div style="width: 100%; height: 100%;"></div> <div class="projection-picker svelte-c20cna"><button> </button> <button class="proj-btn svelte-c20cna"><!></button> <button class="proj-btn svelte-c20cna"><!></button></div>`,1);function IL(e,t){Ge(t,!0);let n=()=>dt(au,`$vesselState`,r),[r,i]=ft(),a,o,s=P(!!document.fullscreenElement),c=()=>{};function l(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.documentElement.requestFullscreen().catch(()=>{})}function u(){if(pu.following){pu.following=!1;return}pu.following=!0}let d=P(!1),f=P(10),p=P(0),m=P(`mercator`),h=null,g=!1,_=null,v=null,y=0,b=null,x=null;function S(e){if(e!==`globe`&&B(m)===`globe`){let e=o?.style?.projection?._verticalPerspectiveProjection;e&&(h=e._errorCorrectionUsable)}if(F(m,e,!0),o?.setProjection({type:e}),e===`globe`&&h!==null){let e=o?.style?.projection?._verticalPerspectiveProjection;e&&(e._errorCorrectionUsable=h,e._errorCorrectionPreviousValue=h,e._errorMeasurementLastValue=-h),g=!0,requestAnimationFrame(()=>{if(!g)return;g=!1;let e=o?.style?.projection?._verticalPerspectiveProjection;e?._errorMeasurement&&h!==null&&(e._errorMeasurement._measuredError=-h,e._errorMeasurementLastValue=-h,e._errorMeasurementLastChangeTime=performance.now()-1e4)})}else g=!1}let C=`vessel`,w=`vessel-cog`,T=`vessel-hdg`,E=`vessel-gc`,ee=`ais-targets`,D={type:`FeatureCollection`,features:[]},te=new Map;function O(e,t){let n=Math.max(1,t);switch(e){case`dashed`:return[5,3];case`dotted`:return[n,3];case`dash-dot`:return[5,3,1,3];default:return null}}function k(e,t,n,r){let i=r/6371e3,a=t*Math.PI/180,o=a+i*Math.cos(n),s=Math.log(Math.tan(o/2+Math.PI/4)/Math.tan(a/2+Math.PI/4)),c=Math.abs(s)>1e-10?(o-a)/s:Math.cos(a);return[(e*Math.PI/180+i*Math.sin(n)/c)*180/Math.PI,o*180/Math.PI]}function ne(e,t,n,r){let i=t*Math.PI/180,a=Math.cos(n);if(Math.abs(a)>1e-10){let e=((a>0?85*Math.PI/180:-(85*Math.PI)/180)-i)/a*6371e3;e>0&&e<r&&(r=e)}let o=[],s=e*Math.PI/180;for(let i=0;i<=256;i++){let[a,c]=k(e,t,n,i/256*r),l=a*Math.PI/180-s,u=s+l-Math.round(l/(2*Math.PI))*2*Math.PI;s=u,o.push([u*180/Math.PI,c])}return o}function re(e,t,n,r){let i=t*Math.PI/180,a=e*Math.PI/180,o=[],s=a;for(let e=0;e<=256;e++){let t=e/256*r/6371e3,c=Math.asin(Math.sin(i)*Math.cos(t)+Math.cos(i)*Math.sin(t)*Math.cos(n)),l=a+Math.atan2(Math.sin(n)*Math.sin(t)*Math.cos(i),Math.cos(t)-Math.sin(i)*Math.sin(c))-s,u=s+l-Math.round(l/(2*Math.PI))*2*Math.PI;s=u,o.push([u*180/Math.PI,c*180/Math.PI])}return o}function ie(e,t=255){let n=e.replace(`#`,``),r=parseInt(n.slice(0,2),16),i=parseInt(n.slice(2,4),16),a=parseInt(n.slice(4,6),16);return[isNaN(r)?0:r,isNaN(i)?0:i,isNaN(a)?0:a,t]}function ae(e,t){let n=Math.max(1,t);switch(e){case`dashed`:return[6*n,3*n];case`dotted`:return[n,2*n];case`dash-dot`:return[6*n,2*n];default:return[0,0]}}function oe(){if(!o)return;let e=a.clientWidth,t=a.clientHeight,n=e/2,r=t*.75,i=e/8,s=o.unproject([n-i,r]),c=o.unproject([n+i,r]);fL.add(s.lng,s.lat,c.lng,c.lat)}let se=null,ce=!1;function le(e){e!==ce&&(ce=e,a.style.cursor=e?`grab`:``,e?o?.dragPan.disable():se||o?.dragPan.enable())}function ue(e){if(!he||!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=he.pickObject({x:n,y:r,radius:12,layerIds:[`ruler-delete`]});if(i?.object){let t=i.object;fL.remove(t.rulerId),e.stopPropagation();return}let s=he.pickObject({x:n,y:r,radius:10,layerIds:[`ruler-handles`]});if(!s?.object)return;let c=s.object;se={rulerId:c.rulerId,endpoint:c.endpoint},o.dragPan.disable(),a.style.cursor=`grabbing`,a.setPointerCapture(e.pointerId),e.stopPropagation()}function de(e){if(!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;if(!se){he&&le(!!he.pickObject({x:n,y:r,radius:10,layerIds:[`ruler-handles`]})?.object);return}let i=o.unproject([n,r]);fL.moveEndpoint(se.rulerId,se.endpoint,i.lng,i.lat),e.stopPropagation()}function fe(e){if(!se||!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=o.unproject([n,r]),s,c=i.lng,l=i.lat;for(let e of me){let t=o.project([e.position.longitude,e.position.latitude]);if(Math.hypot(t.x-n,t.y-r)<pe){s=e.id,c=e.position.longitude,l=e.position.latitude;break}}fL.snapEndpoint(se.rulerId,se.endpoint,s,c,l),se=null,a.style.cursor=ce?`grab`:``,ce||o.dragPan.enable(),a.releasePointerCapture(e.pointerId)}let pe=24,me=[],he=null,ge=null,_e=[],ve=0,ye=[],be=[];function xe(){he?.setProps({layers:[...ye,...be]})}let Se=0;qr(()=>{o=new iu.default.Map({container:a,style:{version:8,projection:{type:`mercator`},sources:{"osm-tiles":{type:`raster`,tiles:[`https://tile.openstreetmap.org/{z}/{x}/{y}.png`],tileSize:256,attribution:`© OpenStreetMap contributors`},openseamap:{type:`raster`,tiles:[`https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png`],tileSize:256}},layers:[{id:`osm`,type:`raster`,source:`osm-tiles`},{id:`seamarks`,type:`raster`,source:`openseamap`}]},center:[10.75,59.91],zoom:10}),o.addControl(new iu.default.NavigationControl,`top-right`),o.addControl(new iu.default.ScaleControl,`bottom-left`),he=new eF({layers:[],interleaved:!1,parameters:{depthCompare:`always`,cullMode:`none`}}),o.addControl(he),xe();function e(){if(he!==null){let e=Date.now(),t=ct(au).position;{let n=e,r=[];if(ge&&_e.length>0){let e=ge,t=_e,i=t.length;for(let a=0;a<i;a++){let i=e[a*7+0],o=e[a*7+1];r.push({id:t[a],position:{longitude:i,latitude:o}});let s=e[a*7+2],c=e[a*7+3];if(!isNaN(s)&&!isNaN(c)&&c>.1){let l=e[a*7+5],u=ve-e[a*7+6]*1e3,[d,f]=jL(i,o,s,c,isNaN(l)?0:l,u,n);r.push({id:t[a]+`:ghost`,position:{longitude:d,latitude:f}})}}}t&&r.push({id:`own-vessel`,position:{longitude:t.longitude,latitude:t.latitude}}),me=r,fL.syncSnapped(me)}let n=fL.rulers;if(n.length>0){let e=q.appearance.ruler.color,t=q.appearance.ruler.width;function r(e,t){let n=parseInt(e.replace(`#`,``),16);return[n>>16&255,n>>8&255,n&255,Math.round(t*255)]}let i=r(e,.87),a=r(e,.9),s=n.flatMap(e=>{if(o){let t=o.project([e.a.lon,e.a.lat]),n=o.project([e.b.lon,e.b.lat]);if(Math.hypot(n.x-t.x,n.y-t.y)<100)return[]}let t=sL(e.a.lon,e.a.lat,e.b.lon,e.b.lat),n=t[Math.floor(t.length/2)];return[{ruler:e,lon:n[0],lat:n[1]}]}),c=n.flatMap(e=>[{rulerId:e.id,endpoint:`a`,lon:e.a.lon,lat:e.a.lat,snapId:e.a.snapId},{rulerId:e.id,endpoint:`b`,lon:e.b.lon,lat:e.b.lat,snapId:e.b.snapId}]),l=n.flatMap(e=>{if(o){let t=o.project([e.a.lon,e.a.lat]),n=o.project([e.b.lon,e.b.lat]);if(Math.hypot(n.x-t.x,n.y-t.y)<100)return[]}return[{rulerId:e.id,endpoint:`b`,lon:e.b.lon,lat:e.b.lat}]});be=[new tI({id:`ruler-line`,data:n.map(e=>({ruler:e})),getPath:e=>sL(e.ruler.a.lon,e.ruler.a.lat,e.ruler.b.lon,e.ruler.b.lat),getColor:()=>i,getWidth:t,widthUnits:`pixels`,widthMinPixels:1,pickable:!1,updateTriggers:{getPath:[n]}}),new AF({id:`ruler-handles`,data:c,getPosition:e=>[e.lon,e.lat,0],getRadius:7,radiusUnits:`pixels`,getFillColor:e=>e.snapId?[255,100,50,230]:a,getLineColor:[255,255,255,180],lineWidthUnits:`pixels`,getLineWidth:1.5,stroked:!0,pickable:!0,updateTriggers:{getPosition:[n],getFillColor:[n,e]}}),new QI({id:`ruler-labels`,data:s,getText:e=>`${cL(e.ruler)} · ${lL(e.ruler)}`,getPosition:e=>[e.lon,e.lat,0],getSize:13,getColor:[255,240,180,230],getBackgroundColor:[0,0,0,160],background:!0,backgroundPadding:[4,2,4,2],getTextAnchor:`middle`,getAlignmentBaseline:`center`,fontFamily:`monospace`,characterSet:[...`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 °·.,'-/T`],pickable:!1,updateTriggers:{getText:[n],getPosition:[n]}}),new QI({id:`ruler-delete`,data:l,getText:()=>`✕`,getPosition:e=>[e.lon,e.lat,0],getPixelOffset:[14,-14],getSize:11,getColor:[255,100,100,220],getBackgroundColor:[30,10,10,180],background:!0,backgroundPadding:[3,1,3,1],getTextAnchor:`middle`,getAlignmentBaseline:`center`,characterSet:[`✕`],pickable:!0,updateTriggers:{getPosition:[n]}})],xe()}else be.length>0&&(be=[],xe())}Se=requestAnimationFrame(e)}Se=requestAnimationFrame(e),a.addEventListener(`pointerdown`,ue,{capture:!0}),a.addEventListener(`pointermove`,de,{capture:!0}),a.addEventListener(`pointerup`,fe,{capture:!0}),a.addEventListener(`pointercancel`,fe,{capture:!0}),c=()=>{F(s,!!document.fullscreenElement)},document.addEventListener(`fullscreenchange`,c),o.on(`zoom`,()=>{F(f,o?.getZoom()??B(f),!0)}),o.on(`rotate`,()=>{F(p,o?.getBearing()??B(p),!0)}),o.on(`dragstart`,()=>{se||(pu.following=!1)}),o.on(`rotatestart`,e=>{e.originalEvent&&_u.setManual()}),o.on(`click`,e=>{if(!he)return;let{x:t,y:n}=e.point,r=he.pickObject({x:t,y:n,radius:5,layerIds:[`ais-confirmed-icon`,`ais-hull-ghost`,`ais-hull-confirmed`,`ais-ghost-icon`]});if(r===null)return;let i=r.object;if(i==null)return;let a=Xu.getTarget(i);!a?.position||!r.coordinate||we({...r,object:a})}),o.on(`style.load`,()=>{let e=o;if(!e)return;let t=q.appearance;e.addImage(`vessel-icon`,{width:64,height:64,data:PL(64,t.vesselColor).data}),e.addSource(C,{type:`geojson`,data:D}),e.addSource(w,{type:`geojson`,data:D}),e.addSource(T,{type:`geojson`,data:D}),e.addSource(E,{type:`geojson`,data:D}),e.addSource(ee,{type:`geojson`,data:D}),e.addLayer({id:`vessel-gc-line`,type:`line`,source:E,paint:{"line-color":t.gc.color,"line-width":t.gc.width,...O(t.gc.style,t.gc.width)!==null&&{"line-dasharray":O(t.gc.style,t.gc.width)}}}),e.addLayer({id:`ais-label`,type:`symbol`,source:ee,layout:{"text-field":[`get`,`label`],"text-size":10,"text-anchor":`top`,"text-offset":[0,.8],"text-optional":!0},paint:{"text-color":q.appearance.ais.vesselColor,"text-halo-color":`#000`,"text-halo-width":1}}),e.addLayer({id:`vessel-cog-line`,type:`line`,source:w,paint:{"line-color":t.cog.color,"line-width":t.cog.width,...O(t.cog.style,t.cog.width)!==null&&{"line-dasharray":O(t.cog.style,t.cog.width)}}}),e.addLayer({id:`vessel-hdg-line`,type:`line`,source:T,paint:{"line-color":t.heading.color,"line-width":t.heading.width}}),e.addLayer({id:`vessel-icon`,type:`symbol`,source:C,layout:{"icon-image":`vessel-icon`,"icon-size":t.vesselSize/64,"icon-rotate":[`get`,`bearing_deg`],"icon-rotation-alignment":`map`,"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),F(f,o.getZoom(),!0),F(p,o.getBearing(),!0),F(d,!0)}),o.on(`webglcontextlost`,()=>{console.warn(`[map] WebGL context lost`),F(d,!1),te.clear()}),o.on(`webglcontextrestored`,()=>{console.info(`[map] WebGL context restored`)}),o.on(`error`,e=>{console.error(`[map] error`,e.error??e)})}),Jr(()=>{cancelAnimationFrame(Se),he?.finalize(),document.removeEventListener(`fullscreenchange`,c),a.removeEventListener(`pointerdown`,ue,{capture:!0}),a.removeEventListener(`pointermove`,de,{capture:!0}),a.removeEventListener(`pointerup`,fe,{capture:!0}),a.removeEventListener(`pointercancel`,fe,{capture:!0}),o?.remove()});function Ce(e){let t=(e,t,n=``)=>`<tr><td>${e}</td><td><b>${t===null?`<span style="opacity:0.4">—</span>`:`${String(t)}${n}`}</b></td></tr>`,n=e.rot===void 0?null:e.rot*180/Math.PI*60,r=n===null?null:`${n>0?`▶ `:n<0?`◀ `:``}${Math.abs(n).toFixed(1)}°/min`,i=e.mmsi?`<div class="ais-links">
|
|
3717
|
+
`,TL=[0,1,0,1,.333,0,1,-.75,0,0,1,0,1,-.75,0,0,-.5,0,0,1,0,0,-.5,0,-1,-.75,0,0,1,0,-1,-.75,0,-1,.333,0],EL=new Float32Array([...TL,...TL]),DL=24,OL=new Float32Array([1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0]),kL={getPosition:{type:`accessor`,value:[0,0]},getSog:{type:`accessor`,value:0},getCog:{type:`accessor`,value:0},getHeading:{type:`accessor`,value:0},getRot:{type:`accessor`,value:0},getAgeAtUpload:{type:`accessor`,value:0},getLength:{type:`accessor`,value:0},getColor:{type:`accessor`,value:[255,255,255,255]},uploadTimestamp:0,selfAnimate:!1,settingsIconSize:1,opacity:1},AL=class extends yP{static layerName=`AisIconLayer`;static defaultProps=kL;getShaders(){return super.getShaders({vs:CL,fs:wL,modules:[sw,$w,SL]})}initializeState(){this.getAttributeManager().addInstanced({instancePositions:{size:3,type:`float64`,fp64:this.use64bitPositions(),transition:!0,accessor:`getPosition`,defaultValue:[0,0,0]},instanceSog:{size:1,accessor:`getSog`,defaultValue:0},instanceCog:{size:1,accessor:`getCog`,defaultValue:0},instanceHeading:{size:1,accessor:`getHeading`,defaultValue:0},instanceRot:{size:1,accessor:`getRot`,defaultValue:0},instanceAgeAtUpload:{size:1,accessor:`getAgeAtUpload`,defaultValue:0},instanceLength:{size:1,accessor:`getLength`,defaultValue:0},instanceColor:{size:4,type:`unorm8`,accessor:`getColor`,defaultValue:[255,255,255,255]}})}updateState(e){super.updateState(e),e.changeFlags.extensionsChanged&&(this.state.model?.destroy(),this.state.model=this._getModel(),this.getAttributeManager().invalidateAll()),e.changeFlags.propsChanged&&this.setNeedsRedraw()}draw({uniforms:e}){let{uploadTimestamp:t,selfAnimate:n,settingsIconSize:r,opacity:i}=this.props,a=n?Math.max(0,(Date.now()-(t??0))/1e3):0,o=this.context.viewport.zoom,s=this.state.model;s.shaderInputs.setProps({aisIcon:{timeSinceUpload:a,zoom:o,settingsIconSize:r??1,opacity:i??1}}),s.draw(this.context.renderPass),n&&this.setNeedsRedraw()}_getModel(){return new oD(this.context.device,{...this.getShaders(),id:this.props.id,bufferLayout:this.getAttributeManager().getBufferLayouts(),geometry:new lD({topology:`triangle-list`,attributes:{positions:{size:3,value:EL},aIsOutline:{size:1,value:OL}},vertexCount:DL}),isInstanced:!0})}};function jL(e,t,n,r,i,a,o){let s=(o-a)/1e3;if(s===0||r<.01)return[e,t];let c,l;if(Math.abs(i)>1e-4){let e=n+i*s,t=r/i;c=t*(Math.cos(n)-Math.cos(e)),l=t*(Math.sin(e)-Math.sin(n))}else c=r*s*Math.sin(n),l=r*s*Math.cos(n);let u=111320*Math.cos(t*Math.PI/180);return[e+c/u,t+l/111320]}function ML(e,t,n){let r=t/2,i=t/2,a=t/32;e.beginPath(),e.moveTo(r,i-12*a),e.lineTo(r+8*a,i-4*a),e.lineTo(r+8*a,i+9*a),e.lineTo(r,i+6*a),e.lineTo(r-8*a,i+9*a),e.lineTo(r-8*a,i-4*a),e.closePath(),e.fillStyle=n,e.fill(),e.strokeStyle=`#ffffff`,e.lineWidth=1.5*a,e.lineJoin=`round`,e.stroke()}function NL(e,t){let n=document.createElement(`canvas`);n.width=e,n.height=e;let r=n.getContext(`2d`);if(!r)throw Error(`Could not get 2D canvas context`);return ML(r,e,t),n}function PL(e,t){return NL(e,t).getContext(`2d`).getImageData(0,0,e,e)}var FL=H(`<div style="width: 100%; height: 100%;"></div> <div class="projection-picker svelte-c20cna"><button> </button> <button class="proj-btn svelte-c20cna"><!></button> <button class="proj-btn svelte-c20cna"><!></button></div>`,1);function IL(e,t){Ge(t,!0);let n=()=>dt(au,`$vesselState`,r),[r,i]=ft(),a,o,s=P(!!document.fullscreenElement),c=()=>{};function l(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.documentElement.requestFullscreen().catch(()=>{})}function u(){if(pu.following){pu.following=!1;return}pu.following=!0}let d=P(!1),f=P(10),p=P(0),m=P(`mercator`),h=null,g=!1,_=!1,v=null,y=null,b=0,x=null,S=null;function C(e){if(e!==`globe`&&B(m)===`globe`){let e=o?.style?.projection?._verticalPerspectiveProjection;e&&(h=e._errorCorrectionUsable)}if(F(m,e,!0),o?.setProjection({type:e}),e===`globe`&&h!==null){let e=o?.style?.projection?._verticalPerspectiveProjection;e&&(e._errorCorrectionUsable=h,e._errorCorrectionPreviousValue=h,e._errorMeasurementLastValue=-h),g=!0,requestAnimationFrame(()=>{if(!g)return;g=!1;let e=o?.style?.projection?._verticalPerspectiveProjection;e?._errorMeasurement&&h!==null&&(e._errorMeasurement._measuredError=-h,e._errorMeasurementLastValue=-h,e._errorMeasurementLastChangeTime=performance.now()-1e4)})}else g=!1}let w=`vessel`,T=`vessel-cog`,E=`vessel-hdg`,ee=`vessel-gc`,te=`ais-targets`,D={type:`FeatureCollection`,features:[]},O=new Map;function k(e,t){let n=Math.max(1,t);switch(e){case`dashed`:return[5,3];case`dotted`:return[n,3];case`dash-dot`:return[5,3,1,3];default:return null}}function ne(e,t,n,r){let i=r/6371e3,a=t*Math.PI/180,o=a+i*Math.cos(n),s=Math.log(Math.tan(o/2+Math.PI/4)/Math.tan(a/2+Math.PI/4)),c=Math.abs(s)>1e-10?(o-a)/s:Math.cos(a);return[(e*Math.PI/180+i*Math.sin(n)/c)*180/Math.PI,o*180/Math.PI]}function re(e,t,n,r){let i=t*Math.PI/180,a=Math.cos(n);if(Math.abs(a)>1e-10){let e=((a>0?85*Math.PI/180:-(85*Math.PI)/180)-i)/a*6371e3;e>0&&e<r&&(r=e)}let o=[],s=e*Math.PI/180;for(let i=0;i<=256;i++){let[a,c]=ne(e,t,n,i/256*r),l=a*Math.PI/180-s,u=s+l-Math.round(l/(2*Math.PI))*2*Math.PI;s=u,o.push([u*180/Math.PI,c])}return o}function ie(e,t,n,r){let i=t*Math.PI/180,a=e*Math.PI/180,o=[],s=a;for(let e=0;e<=256;e++){let t=e/256*r/6371e3,c=Math.asin(Math.sin(i)*Math.cos(t)+Math.cos(i)*Math.sin(t)*Math.cos(n)),l=a+Math.atan2(Math.sin(n)*Math.sin(t)*Math.cos(i),Math.cos(t)-Math.sin(i)*Math.sin(c))-s,u=s+l-Math.round(l/(2*Math.PI))*2*Math.PI;s=u,o.push([u*180/Math.PI,c*180/Math.PI])}return o}function ae(e,t=255){let n=e.replace(`#`,``),r=parseInt(n.slice(0,2),16),i=parseInt(n.slice(2,4),16),a=parseInt(n.slice(4,6),16);return[isNaN(r)?0:r,isNaN(i)?0:i,isNaN(a)?0:a,t]}function oe(e,t){let n=Math.max(1,t);switch(e){case`dashed`:return[6*n,3*n];case`dotted`:return[n,2*n];case`dash-dot`:return[6*n,2*n];default:return[0,0]}}function se(){if(!o)return;let e=a.clientWidth,t=a.clientHeight,n=e/2,r=t*.75,i=e/8,s=o.unproject([n-i,r]),c=o.unproject([n+i,r]);fL.add(s.lng,s.lat,c.lng,c.lat)}let ce=null,le=!1;function ue(e){e!==le&&(le=e,a.style.cursor=e?`grab`:``,e?o?.dragPan.disable():ce||o?.dragPan.enable())}function de(e){if(!ge||!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=ge.pickObject({x:n,y:r,radius:12,layerIds:[`ruler-delete`]});if(i?.object){let t=i.object;fL.remove(t.rulerId),e.stopPropagation();return}let s=ge.pickObject({x:n,y:r,radius:10,layerIds:[`ruler-handles`]});if(!s?.object)return;let c=s.object;ce={rulerId:c.rulerId,endpoint:c.endpoint},o.dragPan.disable(),a.style.cursor=`grabbing`,a.setPointerCapture(e.pointerId),e.stopPropagation()}function fe(e){if(!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;if(!ce){ge&&ue(!!ge.pickObject({x:n,y:r,radius:10,layerIds:[`ruler-handles`]})?.object);return}let i=o.unproject([n,r]);fL.moveEndpoint(ce.rulerId,ce.endpoint,i.lng,i.lat),e.stopPropagation()}function pe(e){if(!ce||!o)return;let t=a.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,i=o.unproject([n,r]),s,c=i.lng,l=i.lat;for(let e of he){let t=o.project([e.position.longitude,e.position.latitude]);if(Math.hypot(t.x-n,t.y-r)<me){s=e.id,c=e.position.longitude,l=e.position.latitude;break}}fL.snapEndpoint(ce.rulerId,ce.endpoint,s,c,l),ce=null,a.style.cursor=le?`grab`:``,le||o.dragPan.enable(),a.releasePointerCapture(e.pointerId)}let me=24,he=[],ge=null,_e=null,ve=[],ye=0,be=[],xe=[];function Se(){ge?.setProps({layers:[...be,...xe]})}let Ce=0;qr(()=>{o=new iu.default.Map({container:a,style:{version:8,projection:{type:`mercator`},sources:{"osm-tiles":{type:`raster`,tiles:[`https://tile.openstreetmap.org/{z}/{x}/{y}.png`],tileSize:256,attribution:`© OpenStreetMap contributors`},openseamap:{type:`raster`,tiles:[`https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png`],tileSize:256}},layers:[{id:`osm`,type:`raster`,source:`osm-tiles`},{id:`seamarks`,type:`raster`,source:`openseamap`}]},center:[10.75,59.91],zoom:10}),o.addControl(new iu.default.NavigationControl({showCompass:!1}),`top-right`),o.addControl(new iu.default.ScaleControl,`bottom-left`),ge=new eF({layers:[],interleaved:!1,parameters:{depthCompare:`always`,cullMode:`none`}}),o.addControl(ge),Se();function e(){if(ge!==null){let e=Date.now(),t=ct(au).position;{let n=e,r=[];if(_e&&ve.length>0){let e=_e,t=ve,i=t.length;for(let a=0;a<i;a++){let i=e[a*7+0],o=e[a*7+1];r.push({id:t[a],position:{longitude:i,latitude:o}});let s=e[a*7+2],c=e[a*7+3];if(!isNaN(s)&&!isNaN(c)&&c>.1){let l=e[a*7+5],u=ye-e[a*7+6]*1e3,[d,f]=jL(i,o,s,c,isNaN(l)?0:l,u,n);r.push({id:t[a]+`:ghost`,position:{longitude:d,latitude:f}})}}}t&&r.push({id:`own-vessel`,position:{longitude:t.longitude,latitude:t.latitude}}),he=r,fL.syncSnapped(he)}let n=fL.rulers;if(n.length>0){let e=q.appearance.ruler.color,t=q.appearance.ruler.width;function r(e,t){let n=parseInt(e.replace(`#`,``),16);return[n>>16&255,n>>8&255,n&255,Math.round(t*255)]}let i=r(e,.87),a=r(e,.9),s=n.flatMap(e=>{if(o){let t=o.project([e.a.lon,e.a.lat]),n=o.project([e.b.lon,e.b.lat]);if(Math.hypot(n.x-t.x,n.y-t.y)<100)return[]}let t=sL(e.a.lon,e.a.lat,e.b.lon,e.b.lat),n=t[Math.floor(t.length/2)];return[{ruler:e,lon:n[0],lat:n[1]}]}),c=n.flatMap(e=>[{rulerId:e.id,endpoint:`a`,lon:e.a.lon,lat:e.a.lat,snapId:e.a.snapId},{rulerId:e.id,endpoint:`b`,lon:e.b.lon,lat:e.b.lat,snapId:e.b.snapId}]),l=n.flatMap(e=>{if(o){let t=o.project([e.a.lon,e.a.lat]),n=o.project([e.b.lon,e.b.lat]);if(Math.hypot(n.x-t.x,n.y-t.y)<100)return[]}return[{rulerId:e.id,endpoint:`b`,lon:e.b.lon,lat:e.b.lat}]});xe=[new tI({id:`ruler-line`,data:n.map(e=>({ruler:e})),getPath:e=>sL(e.ruler.a.lon,e.ruler.a.lat,e.ruler.b.lon,e.ruler.b.lat),getColor:()=>i,getWidth:t,widthUnits:`pixels`,widthMinPixels:1,pickable:!1,updateTriggers:{getPath:[n]}}),new AF({id:`ruler-handles`,data:c,getPosition:e=>[e.lon,e.lat,0],getRadius:7,radiusUnits:`pixels`,getFillColor:e=>e.snapId?[255,100,50,230]:a,getLineColor:[255,255,255,180],lineWidthUnits:`pixels`,getLineWidth:1.5,stroked:!0,pickable:!0,updateTriggers:{getPosition:[n],getFillColor:[n,e]}}),new QI({id:`ruler-labels`,data:s,getText:e=>`${cL(e.ruler)} · ${lL(e.ruler)}`,getPosition:e=>[e.lon,e.lat,0],getSize:13,getColor:[255,240,180,230],getBackgroundColor:[0,0,0,160],background:!0,backgroundPadding:[4,2,4,2],getTextAnchor:`middle`,getAlignmentBaseline:`center`,fontFamily:`monospace`,characterSet:[...`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 °·.,'-/T`],pickable:!1,updateTriggers:{getText:[n],getPosition:[n]}}),new QI({id:`ruler-delete`,data:l,getText:()=>`✕`,getPosition:e=>[e.lon,e.lat,0],getPixelOffset:[14,-14],getSize:11,getColor:[255,100,100,220],getBackgroundColor:[30,10,10,180],background:!0,backgroundPadding:[3,1,3,1],getTextAnchor:`middle`,getAlignmentBaseline:`center`,characterSet:[`✕`],pickable:!0,updateTriggers:{getPosition:[n]}})],Se()}else xe.length>0&&(xe=[],Se())}Ce=requestAnimationFrame(e)}Ce=requestAnimationFrame(e),a.addEventListener(`pointerdown`,de,{capture:!0}),a.addEventListener(`pointermove`,fe,{capture:!0}),a.addEventListener(`pointerup`,pe,{capture:!0}),a.addEventListener(`pointercancel`,pe,{capture:!0}),c=()=>{F(s,!!document.fullscreenElement)},document.addEventListener(`fullscreenchange`,c),o.on(`zoom`,()=>{F(f,o?.getZoom()??B(f),!0)}),o.on(`rotate`,()=>{F(p,o?.getBearing()??B(p),!0)}),o.on(`movestart`,e=>{e.originalEvent&&(_=!0)}),o.on(`moveend`,()=>{_=!1}),o.on(`dragstart`,()=>{ce||(pu.following=!1)}),o.on(`rotatestart`,e=>{e.originalEvent&&_u.setManual()}),o.on(`click`,e=>{if(!ge)return;let{x:t,y:n}=e.point,r=ge.pickObject({x:t,y:n,radius:5,layerIds:[`ais-confirmed-icon`,`ais-hull-ghost`,`ais-hull-confirmed`,`ais-ghost-icon`]});if(r===null)return;let i=r.object;if(i==null)return;let a=Xu.getTarget(i);!a?.position||!r.coordinate||De({...r,object:a})}),o.on(`style.load`,()=>{let e=o;if(!e)return;let t=q.appearance;e.addImage(`vessel-icon`,{width:64,height:64,data:PL(64,t.vesselColor).data}),e.addSource(w,{type:`geojson`,data:D}),e.addSource(T,{type:`geojson`,data:D}),e.addSource(E,{type:`geojson`,data:D}),e.addSource(ee,{type:`geojson`,data:D}),e.addSource(te,{type:`geojson`,data:D}),e.addLayer({id:`vessel-gc-line`,type:`line`,source:ee,paint:{"line-color":t.gc.color,"line-width":t.gc.width,...k(t.gc.style,t.gc.width)!==null&&{"line-dasharray":k(t.gc.style,t.gc.width)}}}),e.addLayer({id:`ais-label`,type:`symbol`,source:te,layout:{"text-field":[`get`,`label`],"text-size":10,"text-anchor":`top`,"text-offset":[0,.8],"text-optional":!0},paint:{"text-color":q.appearance.ais.vesselColor,"text-halo-color":`#000`,"text-halo-width":1}}),e.addLayer({id:`vessel-cog-line`,type:`line`,source:T,paint:{"line-color":t.cog.color,"line-width":t.cog.width,...k(t.cog.style,t.cog.width)!==null&&{"line-dasharray":k(t.cog.style,t.cog.width)}}}),e.addLayer({id:`vessel-hdg-line`,type:`line`,source:E,paint:{"line-color":t.heading.color,"line-width":t.heading.width}}),e.addLayer({id:`vessel-icon`,type:`symbol`,source:w,layout:{"icon-image":`vessel-icon`,"icon-size":t.vesselSize/64,"icon-rotate":[`get`,`bearing_deg`],"icon-rotation-alignment":`map`,"icon-allow-overlap":!0,"icon-ignore-placement":!0}}),F(f,o.getZoom(),!0),F(p,o.getBearing(),!0),F(d,!0)}),o.on(`webglcontextlost`,()=>{console.warn(`[map] WebGL context lost`),F(d,!1),O.clear()}),o.on(`webglcontextrestored`,()=>{console.info(`[map] WebGL context restored`)}),o.on(`error`,e=>{console.error(`[map] error`,e.error??e)})}),Jr(()=>{cancelAnimationFrame(Ce),ge?.finalize(),document.removeEventListener(`fullscreenchange`,c),a.removeEventListener(`pointerdown`,de,{capture:!0}),a.removeEventListener(`pointermove`,fe,{capture:!0}),a.removeEventListener(`pointerup`,pe,{capture:!0}),a.removeEventListener(`pointercancel`,pe,{capture:!0}),o?.remove()});function we(e){let t=(e,t,n=``)=>`<tr><td>${e}</td><td><b>${t===null?`<span style="opacity:0.4">—</span>`:`${String(t)}${n}`}</b></td></tr>`,n=e.rot===void 0?null:e.rot*180/Math.PI*60,r=n===null?null:`${n>0?`▶ `:n<0?`◀ `:``}${Math.abs(n).toFixed(1)}°/min`,i=e.mmsi?`<div class="ais-links">
|
|
3718
3718
|
<a href="https://www.vesselfinder.com/vessels/details/${e.mmsi}" target="_blank" rel="noopener">VesselFinder</a>
|
|
3719
3719
|
<a href="https://www.myshiptracking.com/?mmsi=${e.mmsi}" target="_blank" rel="noopener">MyShipTracking</a>
|
|
3720
|
-
</div>`:``,a=e.position?.longitude,o=e.position?.latitude,s=e.lastPositionUpdateMs,c=new Date(s).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),l=
|
|
3720
|
+
</div>`:``,a=e.position?.longitude,o=e.position?.latitude,s=e.lastPositionUpdateMs,c=new Date(s).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),l=Ee(s);return`
|
|
3721
3721
|
<div class="ais-popup">
|
|
3722
3722
|
<div class="ais-popup-title">${e.name??e.mmsi??`Unknown vessel`}</div>
|
|
3723
3723
|
<table>
|
|
3724
3724
|
${t(`MMSI`,e.mmsi??null)}
|
|
3725
|
+
${t(`Callsign VHF`,e.callsign??null)}
|
|
3726
|
+
${t(`Callsign HF`,e.callsignHf??null)}
|
|
3727
|
+
${t(`Skipper`,e.skipperName??null)}
|
|
3725
3728
|
${t(`Type`,e.shipType??null)}
|
|
3729
|
+
${t(`Status`,e.navState??null)}
|
|
3730
|
+
${t(`Flag`,e.flag??null)}
|
|
3731
|
+
${t(`Port`,e.port??null)}
|
|
3726
3732
|
${t(`Position`,a!==void 0&&o!==void 0?`${o.toFixed(5)}°N, ${a.toFixed(5)}°E`:null)}
|
|
3727
|
-
${t(`Updated`,`${c} <span style="opacity:0.6;font-size:0.85em">(${
|
|
3733
|
+
${t(`Updated`,`${c} <span id="ais-age" data-posms="${s}" style="opacity:0.6;font-size:0.85em">(${l})</span>`)}
|
|
3728
3734
|
<tr><td colspan="2" class="ais-section">Navigation</td></tr>
|
|
3729
3735
|
${t(`SOG`,e.sog===void 0?null:(e.sog*1.94384).toFixed(1),` kn`)}
|
|
3730
3736
|
${t(`COG`,e.cog===void 0?null:(e.cog*180/Math.PI).toFixed(1),`°`)}
|
|
@@ -3734,9 +3740,10 @@ void main(void) {
|
|
|
3734
3740
|
${t(`Length`,e.lengthM??null,` m`)}
|
|
3735
3741
|
${t(`Beam`,e.beamM??null,` m`)}
|
|
3736
3742
|
${t(`Draft`,e.draftM??null,` m`)}
|
|
3743
|
+
${t(`Air height`,e.airHeightM??null,` m`)}
|
|
3737
3744
|
</table>
|
|
3738
3745
|
${i}
|
|
3739
|
-
</div>`}function we(e){let t=e.object;return!t?.position||!e.coordinate?!1:(new iu.default.Popup({closeButton:!0,maxWidth:`280px`}).setLngLat(e.coordinate).setHTML(Ce(t)).addTo(o),!0)}Pn(()=>{if(!o||!B(d))return;let e=o,t=Uu.selected,n=Uu.available;for(let r of Object.keys(n))if(!t.has(r)){let t=`chart-layer-${r}`,n=`chart-${r}`;e.getLayer(t)&&e.removeLayer(t),e.getSource(n)&&e.removeSource(n),te.delete(r)}for(let[r,i]of Object.entries(n)){if(!t.has(r))continue;let n=Uu.tileUrl(i);if(!n)continue;let a=`chart-${r}`,o=`chart-layer-${r}`;if(te.get(r)!==n&&(e.getLayer(o)&&e.removeLayer(o),e.getSource(a)&&e.removeSource(a),te.set(r,n)),e.getSource(a)||(i.format===`pbf`?e.addSource(a,{type:`vector`,tiles:[n]}):e.addSource(a,{type:`raster`,tiles:[n],tileSize:256,minzoom:i.minzoom??0,maxzoom:i.maxzoom??22})),!e.getLayer(o))if(i.format===`pbf`){let t=i.layers?.[0]??r;e.addLayer({id:o,type:`fill`,source:a,"source-layer":t},`vessel-gc-line`)}else e.addLayer({id:o,type:`raster`,source:a},`vessel-gc-line`)}}),Pn(()=>{if(!o||!B(d))return;let e=Ju.enabled;for(let t of Wu)o.setLayoutProperty(t.id,`visibility`,e.has(t.id)?`visible`:`none`)}),Pn(()=>{if(!o||!B(d))return;let e=PL(64,q.appearance.vesselColor);o.updateImage(`vessel-icon`,{width:64,height:64,data:e.data})}),Pn(()=>{!o||!B(d)||o.setPaintProperty(`ais-label`,`text-color`,q.appearance.ais.vesselColor)}),Pn(()=>{if(!o||!B(d))return;let e=o.getSource(ee);if(!(e instanceof iu.default.GeoJSONSource))return;let t=Xu.hotData,n=Xu.ids,r=Xu.coldMap;Xu.coldVersion;let i=[];if(t&&n.length>0)for(let e=0;e<n.length;e++)i.push({type:`Feature`,geometry:{type:`Point`,coordinates:[t[e*7+0],t[e*7+1]]},properties:{label:r.get(n[e])?.name??``}});let a=()=>{y=Date.now(),e.setData({type:`FeatureCollection`,features:i}),window.__mapDiag&&window.__mapDiag.aisLabels++};x=a;let s=1e3-(Date.now()-y);s<=0?(b!==null&&(clearTimeout(b),b=null),a(),x=null):b===null&&(b=setTimeout(()=>{b=null,x?.(),x=null},s))}),Pn(()=>{let e=Xu.hotData,t=Xu.ids,n=Xu.coldMap;Xu.coldVersion;let r=q.appearance.ais,i=r.vesselSize/64,a=Date.now(),o=r.cog.color,s=r.cog.width,c=r.cog.style,l=r.cog.lengthMinutes;if(!e||t.length===0){ye=[],xe(),ge=null,_e=[],ve=0;return}let u=t.length,d=[],f=[],p=[],m=[];for(let r=0;r<u;r++){d.push(r);let i=e[r*7+2],a=e[r*7+3];!isNaN(i)&&!isNaN(a)&&a>.1&&(f.push(r),m.push(r));let o=e[r*7+4],s=n.get(t[r]);!isNaN(o)&&(s?.lengthM??0)>0&&(s?.beamM??0)>0&&p.push(r)}ge=e,_e=t,ve=a;let h=ie(r.vesselColor,220),g=ie(r.vesselColor,130),_=t=>[e[t*7+0],e[t*7+1],0],v=t=>{let n=e[t*7+3];return isNaN(n)?0:n},y=t=>{let n=e[t*7+2];return isNaN(n)?0:n},b=t=>{let n=e[t*7+4];if(!isNaN(n))return n;let r=e[t*7+2];return isNaN(r)?0:r},x=t=>{let n=e[t*7+4];return isNaN(n)?0:n},S=t=>{let n=e[t*7+5];return isNaN(n)?0:n},C=t=>e[t*7+6],w=(e,r)=>n.get(t[e])?.lengthM??r,T=(e,r)=>n.get(t[e])?.beamM??r,E=f.length>0?new AL({id:`ais-ghost-icon`,data:f,getPosition:_,getSog:v,getCog:y,getHeading:b,getRot:S,getAgeAtUpload:C,getLength:e=>w(e,0),getColor:g,uploadTimestamp:a,selfAnimate:!0,settingsIconSize:i,pickable:!0}):null,ee=d.length>0?new AL({id:`ais-confirmed-icon`,data:d,getPosition:_,getSog:()=>0,getCog:()=>0,getHeading:b,getRot:()=>0,getAgeAtUpload:()=>0,getLength:e=>w(e,0),getColor:h,uploadTimestamp:a,selfAnimate:!1,settingsIconSize:i,pickable:!0}):null,D=p.length>0?new bL({id:`ais-hull-ghost`,data:p,getPosition:_,getSog:v,getCog:y,getHeading:x,getRot:S,getAgeAtUpload:C,getLength:e=>w(e,50),getBeam:e=>T(e,10),getColor:h,uploadTimestamp:a,selfAnimate:!0,settingsIconSize:i,opacity:.75,pickable:!0}):null,te=p.length>0?new bL({id:`ais-hull-confirmed`,data:p,getPosition:_,getSog:()=>0,getCog:()=>0,getHeading:x,getRot:()=>0,getAgeAtUpload:()=>0,getLength:e=>w(e,50),getBeam:e=>T(e,10),getColor:h,uploadTimestamp:a,selfAnimate:!1,settingsIconSize:i,opacity:1,pickable:!0}):null;ye=[...te?[te]:[],...D?[D]:[],new tI({id:`ais-cog`,data:m,getPath:t=>{let n=e[t*7+0],r=e[t*7+1],i=e[t*7+2],a=e[t*7+3],o=e[t*7+5],s=l*60,c=isNaN(o)?0:o;if(Math.abs(c)<1e-4){let[e,t]=jL(n,r,i,isNaN(a)?0:a,0,0,s*1e3);return[[n,r],[e,t]]}return Array.from({length:25},(e,t)=>{let[o,l]=jL(n,r,i,isNaN(a)?0:a,c,0,s*t/24*1e3);return[o,l]})},getColor:()=>ie(o,200),getWidth:s,getDashArray:ae(c,s),widthUnits:`pixels`,widthMinPixels:1,pickable:!1,extensions:[new iL({dash:!0})],updateTriggers:{getPath:[l],getColor:[o],getWidth:[s],getDashArray:[c,s]}}),...E?[E]:[],...ee?[ee]:[]],xe()}),Pn(()=>{let e=q.appearance,t=n(),r=B(f);if(!o||!B(d)||(o.setPaintProperty(`vessel-gc-line`,`line-color`,e.gc.color),o.setPaintProperty(`vessel-gc-line`,`line-width`,e.gc.width),o.setPaintProperty(`vessel-gc-line`,`line-dasharray`,O(e.gc.style,e.gc.width)??void 0),o.setPaintProperty(`vessel-cog-line`,`line-color`,e.cog.color),o.setPaintProperty(`vessel-cog-line`,`line-width`,e.cog.width),o.setPaintProperty(`vessel-cog-line`,`line-dasharray`,O(e.cog.style,e.cog.width)??void 0),o.setPaintProperty(`vessel-hdg-line`,`line-color`,e.heading.color),o.setPaintProperty(`vessel-hdg-line`,`line-width`,e.heading.width),o.setPaintProperty(`vessel-hdg-line`,`line-dasharray`,O(e.heading.style,e.heading.width)??void 0),o.setLayoutProperty(`vessel-icon`,`icon-size`,e.vesselSize/64),!t.position))return;let{longitude:i,latitude:a}=t.position;function s(e,t){if(e.lengthUnit===`nm`)return e.lengthValue*1852;if(e.lengthUnit===`min`)return t===null?0:e.lengthValue*60*t;let n=Math.cos(a*Math.PI/180)*40075016.686/(512*2**r);return e.lengthValue*n}let c=t.heading??t.cog??null,l=c===null?0:c*180/Math.PI,u={type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`Point`,coordinates:[i,a]},properties:{bearing_deg:l}}]},p=t.cog===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:ne(i,a,t.cog,s(e.cog,t.sog))},properties:{}}]},h=t.cog===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:re(i,a,t.cog,s(e.gc,t.sog))},properties:{}}]},g=t.heading===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:(B(m)===`globe`?re:ne)(i,a,t.heading,s(e.heading,t.sog))},properties:{}}]},y=o;v=()=>{let e=y.getSource(C),t=y.getSource(w),n=y.getSource(E),r=y.getSource(T);e instanceof iu.default.GeoJSONSource&&t instanceof iu.default.GeoJSONSource&&n instanceof iu.default.GeoJSONSource&&r instanceof iu.default.GeoJSONSource&&(e.setData(u),t.setData(p),n.setData(h),r.setData(g),window.__mapDiag&&window.__mapDiag.ownVessel++)},_===null&&(_=requestAnimationFrame(()=>{_=null,v?.(),v=null}))}),Pn(()=>{if(!o)return;let e=n(),t=e.position,r=_u.mode,i;if(r===`north`?i=0:r===`cog`&&e.cog!==null?i=e.cog*180/Math.PI:r===`heading`&&e.heading!==null&&(i=e.heading*180/Math.PI),t&&pu.following){let e=o.getCenter(),n=Math.hypot(e.lng-t.longitude,e.lat-t.latitude),r=i===void 0?{}:{bearing:i};n>1?o.flyTo({center:[t.longitude,t.latitude],speed:1.5,...r}):o.easeTo({center:[t.longitude,t.latitude],duration:1e3,...r})}else i!==void 0&&o.easeTo({bearing:i,duration:300})});var Te={flyToVessel:u,addRuler:oe},Ee=FL(),De=bn(Ee);Pi(De,e=>a=e,()=>a);var Oe=L(De,2),ke=I(Oe);let Ae;var je=I(ke,!0);M(ke);var A=L(ke,2),Me=I(A);{let e=Gt(()=>B(m)===`mercator`?eu:Zl);Yl(Me,{get icon(){return B(e)}})}M(A);var j=L(A,2),Ne=I(j);{let e=Gt(()=>B(s)?tu:Xl);Yl(Ne,{get icon(){return B(e)}})}M(j),M(Oe),Bn(()=>{Ae=fi(ke,1,`proj-btn svelte-c20cna`,null,Ae,{"proj-btn--manual":_u.mode===`manual`}),Ei(ke,`title`,`Rotation mode: ${_u.label??``}`),Vr(je,_u.label),Ei(A,`title`,`Switch to ${B(m)===`mercator`?`Globe`:`Mercator`}`),Ei(j,`title`,B(s)?`Exit fullscreen`:`Enter fullscreen`)}),V(`click`,ke,()=>_u.toggle(n().heading!==null,!1)),V(`click`,A,()=>{S(B(m)===`mercator`?`globe`:`mercator`)}),V(`click`,j,l),U(e,Ee);var Pe=Ke(Te);return i(),Pe}jr([`click`]);var LL=H(`<p class="section-title svelte-1u3w06f">Signal K server</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Protocol</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>ws://</option><option>wss://</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Host</label> <div class="field svelte-1u3w06f"><input type="text" placeholder="192.168.1.1" style="flex:1; font-family: monospace;" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Port</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="65535" class="svelte-1u3w06f"/></div></div> <p class="hint svelte-1u3w06f"> </p>`,1),RL=H(`<p class="section-title svelte-1u3w06f">Rhumb Line predictor</p>`),zL=H(`<p class="section-title svelte-1u3w06f">Great Circle predictor</p>`),BL=H(`<p class="section-title svelte-1u3w06f">AIS targets</p>`),VL=H(`<div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Style</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>Solid</option><option>Dashed</option><option>Dotted</option><option>Dash-dot</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Length</label> <div class="field svelte-1u3w06f"><input type="number" min="0" step="0.1" style="width:72px" class="svelte-1u3w06f"/> <select class="svelte-1u3w06f"><option>nm</option><option>min at SOG</option><option>px</option></select></div></div> <!>`,1),HL=H(`<p class="section-title svelte-1u3w06f">Vessel</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Size</label> <div class="field svelte-1u3w06f"><input type="number" min="8" max="64" step="2" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <p class="section-title svelte-1u3w06f">Heading line</p> <!> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Size</label> <div class="field svelte-1u3w06f"><input type="number" min="8" max="48" step="2" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <p class="section-title svelte-1u3w06f">AIS COG line</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Style</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>Solid</option><option>Dashed</option><option>Dotted</option><option>Dash-dot</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Length</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="60" step="1" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">min</span></div></div> <p class="section-title svelte-1u3w06f">Ruler</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div>`,1),UL=H(`<button class="btn btn-cancel svelte-1u3w06f">Cancel</button> <button class="btn btn-save svelte-1u3w06f">Save & reconnect</button>`,1),WL=H(`<button class="btn btn-cancel svelte-1u3w06f">Cancel</button> <button class="btn btn-save svelte-1u3w06f">Close</button>`,1),GL=H(`<div class="backdrop svelte-1u3w06f"></div> <div class="modal svelte-1u3w06f"><h2 class="svelte-1u3w06f">Settings</h2> <div class="tabs svelte-1u3w06f"><button>Connection</button> <button>Appearance</button></div> <!> <!> <div class="actions svelte-1u3w06f"><!></div></div>`,1),KL=H(`<button title="Settings" class="gear-btn svelte-1u3w06f"><!></button> <!>`,1);function qL(e,t){Ge(t,!0);let n=P(!1),r=P(`connection`),i=P(ln({protocol:q.protocol,host:q.host,port:q.port})),a=``;function o(){F(i,{protocol:q.protocol,host:q.host,port:q.port},!0),a=JSON.stringify(q.appearance),F(r,`connection`),F(n,!0)}function s(){q.apply({signalkProtocol:B(i).protocol,signalkHost:B(i).host,signalkPort:B(i).port,appearance:q.appearance}),F(n,!1)}function c(){q.apply({signalkProtocol:q.protocol,signalkHost:q.host,signalkPort:q.port,appearance:JSON.parse(a)}),F(n,!1)}function l(){F(n,!1)}function u(){q.apply({signalkProtocol:q.protocol,signalkHost:q.host,signalkPort:q.port,appearance:q.appearance})}var d=KL(),f=bn(d);Yl(I(f),{get icon(){return Ql}}),M(f);var p=L(f,2),m=e=>{var t=GL(),n=bn(t),a=L(n,2),o=L(I(a),2),d=I(o);let f;var p=L(d,2);let m;M(o);var h=L(o,2),g=e=>{var t=LL(),n=L(bn(t),2),r=L(I(n),2),a=I(r),o=I(a);o.value=o.__value=`ws`;var s=L(o);s.value=s.__value=`wss`,M(a),M(r),M(n);var c=L(n,2),l=L(I(c),2),u=I(l);Ci(u),M(l),M(c);var d=L(c,2),f=L(I(d),2),p=I(f);Ci(p),M(f),M(d);var m=L(d,2),h=I(m);M(m),Bn(()=>Vr(h,`→ ${B(i).protocol??``}://${B(i).host??``}:${B(i).port??``}/signalk/v1/stream?subscribe=self`)),_i(a,()=>B(i).protocol,e=>B(i).protocol=e),Ai(u,()=>B(i).host,e=>B(i).host=e),Ai(p,()=>B(i).port,e=>B(i).port=e),U(e,t)};Xr(h,e=>{B(r)===`connection`&&e(g)});var _=L(h,2),v=e=>{var t=HL(),n=L(bn(t),2),r=L(I(n),2),i=I(r);Ci(i),M(r),M(n);var a=L(n,2),o=L(I(a),2),s=I(o);Ci(s),Fe(2),M(o),M(a);var c=L(a,4);ei(c,16,()=>[{key:`heading`},{key:`cog`},{key:`gc`}],({key:e})=>e,(e,t)=>{let n=()=>t.key,r=Gt(()=>n()===`heading`?q.appearance.heading:n()===`cog`?q.appearance.cog:q.appearance.gc);var i=VL(),a=bn(i),o=L(I(a),2),s=I(o);Ci(s),M(o),M(a);var c=L(a,2),l=L(I(c),2),d=I(l);Ci(d),Fe(2),M(l),M(c);var f=L(c,2),p=L(I(f),2),m=I(p),h=I(m);h.value=h.__value=`solid`;var g=L(h);g.value=g.__value=`dashed`;var _=L(g);_.value=_.__value=`dotted`;var v=L(_);v.value=v.__value=`dash-dot`,M(m),M(p),M(f);var y=L(f,2),b=L(I(y),2),x=I(b);Ci(x);var S=L(x,2),C=I(S);C.value=C.__value=`nm`;var w=L(C);w.value=w.__value=`min`;var T=L(w);T.value=T.__value=`px`,M(S),M(b),M(y);var E=L(y,2),ee=e=>{U(e,RL())},D=e=>{U(e,zL())},te=e=>{U(e,BL())};Xr(E,e=>{n()===`heading`?e(ee):n()===`cog`?e(D,1):n()===`gc`&&e(te,2)}),V(`input`,s,u),Ai(s,()=>B(r).color,e=>B(r).color=e),V(`input`,d,u),Ai(d,()=>B(r).width,e=>B(r).width=e),V(`change`,m,u),_i(m,()=>B(r).style,e=>B(r).style=e),V(`input`,x,u),Ai(x,()=>B(r).lengthValue,e=>B(r).lengthValue=e),V(`change`,S,u),_i(S,()=>B(r).lengthUnit,e=>B(r).lengthUnit=e),U(e,i)});var l=L(c,2),d=L(I(l),2),f=I(d);Ci(f),M(d),M(l);var p=L(l,2),m=L(I(p),2),h=I(m);Ci(h),Fe(2),M(m),M(p);var g=L(p,4),_=L(I(g),2),v=I(_);Ci(v),M(_),M(g);var y=L(g,2),b=L(I(y),2),x=I(b);Ci(x),Fe(2),M(b),M(y);var S=L(y,2),C=L(I(S),2),w=I(C),T=I(w);T.value=T.__value=`solid`;var E=L(T);E.value=E.__value=`dashed`;var ee=L(E);ee.value=ee.__value=`dotted`;var D=L(ee);D.value=D.__value=`dash-dot`,M(w),M(C),M(S);var te=L(S,2),O=L(I(te),2),k=I(O);Ci(k),Fe(2),M(O),M(te);var ne=L(te,4),re=L(I(ne),2),ie=I(re);Ci(ie),M(re),M(ne);var ae=L(ne,2),oe=L(I(ae),2),se=I(oe);Ci(se),Fe(2),M(oe),M(ae),V(`input`,i,u),Ai(i,()=>q.appearance.vesselColor,e=>q.appearance.vesselColor=e),V(`input`,s,u),Ai(s,()=>q.appearance.vesselSize,e=>q.appearance.vesselSize=e),V(`input`,f,u),Ai(f,()=>q.appearance.ais.vesselColor,e=>q.appearance.ais.vesselColor=e),V(`input`,h,u),Ai(h,()=>q.appearance.ais.vesselSize,e=>q.appearance.ais.vesselSize=e),V(`input`,v,u),Ai(v,()=>q.appearance.ais.cog.color,e=>q.appearance.ais.cog.color=e),V(`input`,x,u),Ai(x,()=>q.appearance.ais.cog.width,e=>q.appearance.ais.cog.width=e),V(`change`,w,u),_i(w,()=>q.appearance.ais.cog.style,e=>q.appearance.ais.cog.style=e),V(`input`,k,u),Ai(k,()=>q.appearance.ais.cog.lengthMinutes,e=>q.appearance.ais.cog.lengthMinutes=e),V(`input`,ie,u),Ai(ie,()=>q.appearance.ruler.color,e=>q.appearance.ruler.color=e),V(`input`,se,u),Ai(se,()=>q.appearance.ruler.width,e=>q.appearance.ruler.width=e),U(e,t)};Xr(_,e=>{B(r)===`appearance`&&e(v)});var y=L(_,2),b=I(y),x=e=>{var t=UL(),n=bn(t),r=L(n,2);V(`click`,n,c),V(`click`,r,s),U(e,t)},S=e=>{var t=WL(),n=bn(t),r=L(n,2);V(`click`,n,c),V(`click`,r,l),U(e,t)};Xr(b,e=>{B(r)===`connection`?e(x):e(S,-1)}),M(y),M(a),Bn(()=>{f=fi(d,1,`tab svelte-1u3w06f`,null,f,{active:B(r)===`connection`}),m=fi(p,1,`tab svelte-1u3w06f`,null,m,{active:B(r)===`appearance`})}),V(`click`,n,l),V(`click`,d,()=>F(r,`connection`)),V(`click`,p,()=>F(r,`appearance`)),U(e,t)};Xr(p,e=>{B(n)&&e(m)}),V(`click`,f,o),U(e,d),Ke()}jr([`click`,`input`,`change`]);var JL=H(`<li class="chart-row svelte-1mbfew2"><input type="checkbox" class="svelte-1mbfew2"/> <label class="chart-name svelte-1mbfew2"> </label></li>`),YL=H(`<li class="chart-row hint-row svelte-1mbfew2">Loading charts…</li>`),XL=H(`<li class="chart-row hint-row error svelte-1mbfew2"> </li>`),ZL=H(`<span class="badge svelte-1mbfew2">WMS</span>`),QL=H(`<span class="badge svelte-1mbfew2">WMTS</span>`),$L=H(`<span class="chart-desc svelte-1mbfew2"> </span>`),eR=H(`<span class="wmts-warning svelte-1mbfew2">⚠ Cannot auto-discover tile URL (CORS). Enter template manually:</span> <div class="wmts-manual svelte-1mbfew2"><input type="text" class="wmts-input svelte-1mbfew2"/> <button class="wmts-apply svelte-1mbfew2">Apply</button></div>`,1),tR=H(`<span class="wmts-ok svelte-1mbfew2">✓ Custom URL active</span> <button class="wmts-clear svelte-1mbfew2">Clear</button>`,1),nR=H(`<option> </option>`),rR=H(`<label class="wmts-showall-label svelte-1mbfew2" title="Show all layers from capabilities"><input type="checkbox" class="svelte-1mbfew2"/> All</label>`),iR=H(`<div class="wmts-layer-row svelte-1mbfew2"><label class="wmts-layer-label svelte-1mbfew2">Layer</label> <select class="wmts-layer-select svelte-1mbfew2"></select> <!></div>`),aR=H(`<span class="wmts-ok svelte-1mbfew2"> </span>`),oR=H(`<li class="chart-row svelte-1mbfew2"><input type="checkbox" class="svelte-1mbfew2"/> <div class="chart-info svelte-1mbfew2"><label class="chart-name svelte-1mbfew2"> <!> <!></label> <!> <span class="chart-meta svelte-1mbfew2"> </span> <!></div></li>`),sR=H(`<div class="backdrop svelte-1mbfew2"></div> <div class="panel svelte-1mbfew2"><div class="panel-header svelte-1mbfew2"><span class="panel-title svelte-1mbfew2">Layers</span> <button class="close-btn svelte-1mbfew2" title="Close">✕</button></div> <ul class="chart-list svelte-1mbfew2"><!> <!></ul></div>`,1),cR=H(`<button title="Charts"><!></button> <!>`,1);function lR(e,t){Ge(t,!0);let n=P(!1),r=ln({});function i(){F(n,!B(n))}function a(){F(n,!1)}function o(e){Uu.setOverride(e,r[e]??``)}var s=cR(),c=bn(s);let l;Yl(I(c),{get icon(){return ru}}),M(c);var u=L(c,2),d=e=>{var t=sR(),n=bn(t),i=L(n,2),s=I(i),c=L(I(s),2);M(s);var l=L(s,2),u=I(l);ei(u,17,()=>Wu,e=>e.id,(e,t)=>{var n=JL(),r=I(n);Ci(r);var i=L(r,2),a=I(i,!0);M(i),M(n),Bn(e=>{Ei(r,`id`,`base-${B(t).id??``}`),Ti(r,e),Ei(i,`for`,`base-${B(t).id??``}`),Vr(a,B(t).name)},[()=>Ju.enabled.has(B(t).id)]),V(`change`,r,()=>{Ju.toggle(B(t).id)}),U(e,n)});var d=L(u,2),f=e=>{U(e,YL())},p=e=>{var t=XL(),n=I(t);M(t),Bn(()=>Vr(n,`⚠ ${Uu.error??``}`)),U(e,t)},m=e=>{var t=Rr();ei(bn(t),17,()=>Object.entries(Uu.available),([e,t])=>e,(e,t)=>{var n=Gt(()=>S(B(t),2));let i=()=>B(n)[0],a=()=>B(n)[1];var s=oR(),c=I(s);Ci(c);var l=L(c,2),u=I(l),d=I(u),f=L(d),p=e=>{U(e,ZL())};Xr(f,e=>{a().type===`WMS`&&e(p)});var m=L(f,2),h=e=>{U(e,QL())};Xr(m,e=>{a().type===`WMTS`&&e(h)}),M(u);var g=L(u,2),_=e=>{var t=$L(),n=I(t,!0);M(t),Bn(()=>Vr(n,a().description)),U(e,t)};Xr(g,e=>{a().description&&e(_)});var v=L(g,2),y=I(v);M(v);var b=L(v,2),x=e=>{var t=eR(),n=L(bn(t),2),a=I(n);Ci(a),Ei(a,`placeholder`,`https://…/{z}/{x}/{y}.png`);var s=L(a,2);M(n),Bn(e=>wi(a,e),[()=>r[i()]??Uu.getOverride(i())]),V(`input`,a,e=>{r[i()]=e.target.value}),V(`keydown`,a,e=>{e.key===`Enter`&&o(i())}),V(`click`,s,()=>o(i())),U(e,t)},C=Gt(()=>Uu.needsManualUrl(i())),w=e=>{var t=tR();V(`click`,L(bn(t),2),()=>{Uu.setOverride(i(),``),r[i()]=``}),U(e,t)},T=Gt(()=>a().type===`WMTS`&&Uu.getOverride(i())),E=e=>{var t=Rr(),n=bn(t),r=e=>{var t=iR(),n=I(t),r=L(n,2);ei(r,21,()=>Uu.visibleLayers(i()),e=>e.id,(e,t)=>{var n=nR(),r=I(n,!0);M(n);var i={};Bn(()=>{Vr(r,B(t).title),i!==(i=B(t).id)&&(n.value=(n.__value=B(t).id)??``)}),U(e,n)}),M(r);var a;gi(r);var o=L(r,2),s=e=>{var t=rR(),n=I(t);Ci(n),Fe(),M(t),Bn(e=>Ti(n,e),[()=>Uu.isShowingAll(i())]),V(`change`,n,()=>Uu.toggleShowAll(i())),U(e,t)},c=Gt(()=>Uu.hasFilter(i()));Xr(o,e=>{B(c)&&e(s)}),M(t),Bn(e=>{Ei(n,`for`,`wmts-layer-${i()??``}`),Ei(r,`id`,`wmts-layer-${i()??``}`),a!==(a=e)&&(r.value=(r.__value=e)??``,hi(r,e))},[()=>Uu.getLayerSel(i())]),V(`change`,r,e=>{Uu.selectLayer(i(),e.target.value)}),U(e,t)},a=Gt(()=>Uu.visibleLayers(i()).length>1),o=e=>{var t=aR(),n=I(t);M(t),Bn(e=>Vr(n,`Layer: ${e??``}`),[()=>Uu.visibleLayers(i())[0]?.title]),U(e,t)},s=Gt(()=>Uu.visibleLayers(i()).length===1);Xr(n,e=>{B(a)?e(r):B(s)&&e(o,1)}),U(e,t)};Xr(b,e=>{B(C)?e(x):B(T)?e(w,1):a().type===`WMTS`&&e(E,2)}),M(l),M(s),Bn((e,t,n,r)=>{Ei(c,`id`,`cp-chart-${i()??``}`),Ti(c,e),c.disabled=t,Ei(u,`for`,`cp-chart-${i()??``}`),Vr(d,`${a().name??``} `),Vr(y,`${n??``}${r??``}`)},[()=>Uu.selected.has(i()),()=>Uu.needsManualUrl(i()),()=>a().format.toUpperCase(),()=>a().scale?` · 1:${a().scale.toLocaleString()}`:``]),V(`change`,c,()=>{Uu.toggle(i())}),U(e,s)}),U(e,t)};Xr(d,e=>{Uu.loading?e(f):Uu.error?e(p,1):e(m,-1)}),M(l),M(i),V(`click`,n,a),V(`keydown`,n,a),V(`click`,c,a),U(e,t)};Xr(u,e=>{B(n)&&e(d)}),Bn(()=>l=fi(c,1,`charts-btn svelte-1mbfew2`,null,l,{active:B(n)})),V(`click`,c,i),U(e,s),Ke()}jr([`click`,`keydown`,`change`,`input`]);var uR=H(`<span style="color: #f87171"> </span>`),dR=H(`<div style="position: relative; width: 100%; height: 100%;"><!> <!> <!> <div style="
|
|
3746
|
+
</div>`}let Te=null;function Ee(e){let t=Math.round((Date.now()-e)/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ${t%60}s ago`:`${Math.floor(t/3600)}h ${Math.floor(t%3600/60)}m ago`}function De(e){let t=e.object;if(!t?.position||!e.coordinate)return!1;Te!==null&&(clearInterval(Te),Te=null);let n=new iu.default.Popup({closeButton:!0,maxWidth:`280px`}).setLngLat(e.coordinate).setHTML(we(t)).addTo(o);return Te=setInterval(()=>{let e=document.getElementById(`ais-age`);if(!e){clearInterval(Te),Te=null;return}e.textContent=`(${Ee(Number(e.dataset.posms))})`},1e3),n.on(`close`,()=>{Te!==null&&(clearInterval(Te),Te=null)}),!0}Pn(()=>{if(!o||!B(d))return;let e=o,t=Uu.selected,n=Uu.available;for(let r of Object.keys(n))if(!t.has(r)){let t=`chart-layer-${r}`,n=`chart-${r}`;e.getLayer(t)&&e.removeLayer(t),e.getSource(n)&&e.removeSource(n),O.delete(r)}for(let[r,i]of Object.entries(n)){if(!t.has(r))continue;let n=Uu.tileUrl(i);if(!n)continue;let a=`chart-${r}`,o=`chart-layer-${r}`;if(O.get(r)!==n&&(e.getLayer(o)&&e.removeLayer(o),e.getSource(a)&&e.removeSource(a),O.set(r,n)),e.getSource(a)||(i.format===`pbf`?e.addSource(a,{type:`vector`,tiles:[n]}):e.addSource(a,{type:`raster`,tiles:[n],tileSize:256,minzoom:i.minzoom??0,maxzoom:i.maxzoom??22})),!e.getLayer(o))if(i.format===`pbf`){let t=i.layers?.[0]??r;e.addLayer({id:o,type:`fill`,source:a,"source-layer":t},`vessel-gc-line`)}else e.addLayer({id:o,type:`raster`,source:a},`vessel-gc-line`)}}),Pn(()=>{if(!o||!B(d))return;let e=Ju.enabled;for(let t of Wu)o.setLayoutProperty(t.id,`visibility`,e.has(t.id)?`visible`:`none`)}),Pn(()=>{if(!o||!B(d))return;let e=PL(64,q.appearance.vesselColor);o.updateImage(`vessel-icon`,{width:64,height:64,data:e.data})}),Pn(()=>{!o||!B(d)||o.setPaintProperty(`ais-label`,`text-color`,q.appearance.ais.vesselColor)}),Pn(()=>{if(!o||!B(d))return;let e=o.getSource(te);if(!(e instanceof iu.default.GeoJSONSource))return;let t=Xu.hotData,n=Xu.ids,r=Xu.coldMap;Xu.coldVersion;let i=[];if(t&&n.length>0)for(let e=0;e<n.length;e++)i.push({type:`Feature`,geometry:{type:`Point`,coordinates:[t[e*7+0],t[e*7+1]]},properties:{label:r.get(n[e])?.name??``}});let a=()=>{b=Date.now(),e.setData({type:`FeatureCollection`,features:i}),window.__mapDiag&&window.__mapDiag.aisLabels++};S=a;let s=1e3-(Date.now()-b);s<=0?(x!==null&&(clearTimeout(x),x=null),a(),S=null):x===null&&(x=setTimeout(()=>{x=null,S?.(),S=null},s))}),Pn(()=>{let e=Xu.hotData,t=Xu.ids,n=Xu.coldMap;Xu.coldVersion;let r=q.appearance.ais,i=r.vesselSize/64,a=Date.now(),o=r.cog.color,s=r.cog.width,c=r.cog.style,l=r.cog.lengthMinutes;if(!e||t.length===0){be=[],Se(),_e=null,ve=[],ye=0;return}let u=t.length,d=[],f=[],p=[],m=[];for(let r=0;r<u;r++){d.push(r);let i=e[r*7+2],a=e[r*7+3];!isNaN(i)&&!isNaN(a)&&a>.1&&(f.push(r),m.push(r));let o=e[r*7+4],s=n.get(t[r]);!isNaN(o)&&(s?.lengthM??0)>0&&(s?.beamM??0)>0&&p.push(r)}_e=e,ve=t,ye=a;let h=ae(r.vesselColor,220),g=ae(r.vesselColor,130),_=t=>[e[t*7+0],e[t*7+1],0],v=t=>{let n=e[t*7+3];return isNaN(n)?0:n},y=t=>{let n=e[t*7+2];return isNaN(n)?0:n},b=t=>{let n=e[t*7+4];if(!isNaN(n))return n;let r=e[t*7+2];return isNaN(r)?0:r},x=t=>{let n=e[t*7+4];return isNaN(n)?0:n},S=t=>{let n=e[t*7+5];return isNaN(n)?0:n},C=t=>e[t*7+6],w=(e,r)=>n.get(t[e])?.lengthM??r,T=(e,r)=>n.get(t[e])?.beamM??r,E=f.length>0?new AL({id:`ais-ghost-icon`,data:f,getPosition:_,getSog:v,getCog:y,getHeading:b,getRot:S,getAgeAtUpload:C,getLength:e=>w(e,0),getColor:g,uploadTimestamp:a,selfAnimate:!0,settingsIconSize:i,pickable:!0}):null,ee=d.length>0?new AL({id:`ais-confirmed-icon`,data:d,getPosition:_,getSog:()=>0,getCog:()=>0,getHeading:b,getRot:()=>0,getAgeAtUpload:()=>0,getLength:e=>w(e,0),getColor:h,uploadTimestamp:a,selfAnimate:!1,settingsIconSize:i,pickable:!0}):null,te=p.length>0?new bL({id:`ais-hull-ghost`,data:p,getPosition:_,getSog:v,getCog:y,getHeading:x,getRot:S,getAgeAtUpload:C,getLength:e=>w(e,50),getBeam:e=>T(e,10),getColor:h,uploadTimestamp:a,selfAnimate:!0,settingsIconSize:i,opacity:.75,pickable:!0}):null,D=p.length>0?new bL({id:`ais-hull-confirmed`,data:p,getPosition:_,getSog:()=>0,getCog:()=>0,getHeading:x,getRot:()=>0,getAgeAtUpload:()=>0,getLength:e=>w(e,50),getBeam:e=>T(e,10),getColor:h,uploadTimestamp:a,selfAnimate:!1,settingsIconSize:i,opacity:1,pickable:!0}):null;be=[...D?[D]:[],...te?[te]:[],new tI({id:`ais-cog`,data:m,getPath:t=>{let n=e[t*7+0],r=e[t*7+1],i=e[t*7+2],a=e[t*7+3],o=e[t*7+5],s=l*60,c=isNaN(o)?0:o;if(Math.abs(c)<1e-4){let[e,t]=jL(n,r,i,isNaN(a)?0:a,0,0,s*1e3);return[[n,r],[e,t]]}return Array.from({length:25},(e,t)=>{let[o,l]=jL(n,r,i,isNaN(a)?0:a,c,0,s*t/24*1e3);return[o,l]})},getColor:()=>ae(o,200),getWidth:s,getDashArray:oe(c,s),widthUnits:`pixels`,widthMinPixels:1,pickable:!1,extensions:[new iL({dash:!0})],updateTriggers:{getPath:[l],getColor:[o],getWidth:[s],getDashArray:[c,s]}}),...E?[E]:[],...ee?[ee]:[]],Se()}),Pn(()=>{let e=q.appearance,t=n(),r=B(f);if(!o||!B(d)||(o.setPaintProperty(`vessel-gc-line`,`line-color`,e.gc.color),o.setPaintProperty(`vessel-gc-line`,`line-width`,e.gc.width),o.setPaintProperty(`vessel-gc-line`,`line-dasharray`,k(e.gc.style,e.gc.width)??void 0),o.setPaintProperty(`vessel-cog-line`,`line-color`,e.cog.color),o.setPaintProperty(`vessel-cog-line`,`line-width`,e.cog.width),o.setPaintProperty(`vessel-cog-line`,`line-dasharray`,k(e.cog.style,e.cog.width)??void 0),o.setPaintProperty(`vessel-hdg-line`,`line-color`,e.heading.color),o.setPaintProperty(`vessel-hdg-line`,`line-width`,e.heading.width),o.setPaintProperty(`vessel-hdg-line`,`line-dasharray`,k(e.heading.style,e.heading.width)??void 0),o.setLayoutProperty(`vessel-icon`,`icon-size`,e.vesselSize/64),!t.position))return;let{longitude:i,latitude:a}=t.position;function s(e,t){if(e.lengthUnit===`nm`)return e.lengthValue*1852;if(e.lengthUnit===`min`)return t===null?0:e.lengthValue*60*t;let n=Math.cos(a*Math.PI/180)*40075016.686/(512*2**r);return e.lengthValue*n}let c=t.heading??t.cog??null,l=c===null?0:c*180/Math.PI,u={type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`Point`,coordinates:[i,a]},properties:{bearing_deg:l}}]},p=t.cog===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:re(i,a,t.cog,s(e.cog,t.sog))},properties:{}}]},h=t.cog===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:ie(i,a,t.cog,s(e.gc,t.sog))},properties:{}}]},g=t.heading===null?D:{type:`FeatureCollection`,features:[{type:`Feature`,geometry:{type:`LineString`,coordinates:(B(m)===`globe`?ie:re)(i,a,t.heading,s(e.heading,t.sog))},properties:{}}]},_=o;y=()=>{let e=_.getSource(w),t=_.getSource(T),n=_.getSource(ee),r=_.getSource(E);e instanceof iu.default.GeoJSONSource&&t instanceof iu.default.GeoJSONSource&&n instanceof iu.default.GeoJSONSource&&r instanceof iu.default.GeoJSONSource&&(e.setData(u),t.setData(p),n.setData(h),r.setData(g),window.__mapDiag&&window.__mapDiag.ownVessel++)},v===null&&(v=requestAnimationFrame(()=>{v=null,y?.(),y=null}))}),Pn(()=>{if(!o)return;let e=n(),t=e.position,r=_u.mode,i;if(r===`north`?i=0:r===`cog`&&e.cog!==null?i=e.cog*180/Math.PI:r===`heading`&&e.heading!==null&&(i=e.heading*180/Math.PI),t&&pu.following){let e=o.getCenter(),n=Math.hypot(e.lng-t.longitude,e.lat-t.latitude),r=i===void 0?{}:{bearing:i};n>1?o.flyTo({center:[t.longitude,t.latitude],speed:1.5,...r}):o.easeTo({center:[t.longitude,t.latitude],duration:1e3,...r})}else i!==void 0&&!_&&o.easeTo({bearing:i,duration:300})});var Oe={flyToVessel:u,addRuler:se},ke=FL(),Ae=bn(ke);Pi(Ae,e=>a=e,()=>a);var je=L(Ae,2),A=I(je);let Me;var j=I(A,!0);M(A);var Ne=L(A,2),Pe=I(Ne);{let e=Gt(()=>B(m)===`mercator`?eu:Zl);Yl(Pe,{get icon(){return B(e)}})}M(Ne);var Fe=L(Ne,2),Ie=I(Fe);{let e=Gt(()=>B(s)?tu:Xl);Yl(Ie,{get icon(){return B(e)}})}M(Fe),M(je),Bn(()=>{Me=fi(A,1,`proj-btn svelte-c20cna`,null,Me,{"proj-btn--manual":_u.mode===`manual`}),Ei(A,`title`,`Rotation mode: ${_u.label??``}`),Vr(j,_u.label),Ei(Ne,`title`,`Switch to ${B(m)===`mercator`?`Globe`:`Mercator`}`),Ei(Fe,`title`,B(s)?`Exit fullscreen`:`Enter fullscreen`)}),V(`click`,A,()=>_u.toggle(n().heading!==null,!1)),V(`click`,Ne,()=>{C(B(m)===`mercator`?`globe`:`mercator`)}),V(`click`,Fe,l),U(e,ke);var Le=Ke(Oe);return i(),Le}jr([`click`]);var LL=H(`<p class="section-title svelte-1u3w06f">Signal K server</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Protocol</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>ws://</option><option>wss://</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Host</label> <div class="field svelte-1u3w06f"><input type="text" placeholder="192.168.1.1" style="flex:1; font-family: monospace;" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Port</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="65535" class="svelte-1u3w06f"/></div></div> <p class="hint svelte-1u3w06f"> </p>`,1),RL=H(`<p class="section-title svelte-1u3w06f">Rhumb Line predictor</p>`),zL=H(`<p class="section-title svelte-1u3w06f">Great Circle predictor</p>`),BL=H(`<p class="section-title svelte-1u3w06f">AIS targets</p>`),VL=H(`<div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Style</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>Solid</option><option>Dashed</option><option>Dotted</option><option>Dash-dot</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Length</label> <div class="field svelte-1u3w06f"><input type="number" min="0" step="0.1" style="width:72px" class="svelte-1u3w06f"/> <select class="svelte-1u3w06f"><option>nm</option><option>min at SOG</option><option>px</option></select></div></div> <!>`,1),HL=H(`<p class="section-title svelte-1u3w06f">Vessel</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Size</label> <div class="field svelte-1u3w06f"><input type="number" min="8" max="64" step="2" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <p class="section-title svelte-1u3w06f">Heading line</p> <!> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Size</label> <div class="field svelte-1u3w06f"><input type="number" min="8" max="48" step="2" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <p class="section-title svelte-1u3w06f">AIS COG line</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Style</label> <div class="field svelte-1u3w06f"><select class="svelte-1u3w06f"><option>Solid</option><option>Dashed</option><option>Dotted</option><option>Dash-dot</option></select></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Length</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="60" step="1" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">min</span></div></div> <p class="section-title svelte-1u3w06f">Ruler</p> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Color</label> <div class="field svelte-1u3w06f"><input type="color" class="svelte-1u3w06f"/></div></div> <div class="row svelte-1u3w06f"><label class="svelte-1u3w06f">Width</label> <div class="field svelte-1u3w06f"><input type="number" min="1" max="8" step="0.5" class="svelte-1u3w06f"/> <span class="unit svelte-1u3w06f">px</span></div></div>`,1),UL=H(`<button class="btn btn-cancel svelte-1u3w06f">Cancel</button> <button class="btn btn-save svelte-1u3w06f">Save & reconnect</button>`,1),WL=H(`<button class="btn btn-cancel svelte-1u3w06f">Cancel</button> <button class="btn btn-save svelte-1u3w06f">Close</button>`,1),GL=H(`<div class="backdrop svelte-1u3w06f"></div> <div class="modal svelte-1u3w06f"><h2 class="svelte-1u3w06f">Settings</h2> <div class="tabs svelte-1u3w06f"><button>Connection</button> <button>Appearance</button></div> <!> <!> <div class="actions svelte-1u3w06f"><!></div></div>`,1),KL=H(`<button title="Settings" class="gear-btn svelte-1u3w06f"><!></button> <!>`,1);function qL(e,t){Ge(t,!0);let n=P(!1),r=P(`connection`),i=P(ln({protocol:q.protocol,host:q.host,port:q.port})),a=``;function o(){F(i,{protocol:q.protocol,host:q.host,port:q.port},!0),a=JSON.stringify(q.appearance),F(r,`connection`),F(n,!0)}function s(){q.apply({signalkProtocol:B(i).protocol,signalkHost:B(i).host,signalkPort:B(i).port,appearance:q.appearance}),F(n,!1)}function c(){q.apply({signalkProtocol:q.protocol,signalkHost:q.host,signalkPort:q.port,appearance:JSON.parse(a)}),F(n,!1)}function l(){F(n,!1)}function u(){q.apply({signalkProtocol:q.protocol,signalkHost:q.host,signalkPort:q.port,appearance:q.appearance})}var d=KL(),f=bn(d);Yl(I(f),{get icon(){return Ql}}),M(f);var p=L(f,2),m=e=>{var t=GL(),n=bn(t),a=L(n,2),o=L(I(a),2),d=I(o);let f;var p=L(d,2);let m;M(o);var h=L(o,2),g=e=>{var t=LL(),n=L(bn(t),2),r=L(I(n),2),a=I(r),o=I(a);o.value=o.__value=`ws`;var s=L(o);s.value=s.__value=`wss`,M(a),M(r),M(n);var c=L(n,2),l=L(I(c),2),u=I(l);Ci(u),M(l),M(c);var d=L(c,2),f=L(I(d),2),p=I(f);Ci(p),M(f),M(d);var m=L(d,2),h=I(m);M(m),Bn(()=>Vr(h,`→ ${B(i).protocol??``}://${B(i).host??``}:${B(i).port??``}/signalk/v1/stream?subscribe=self`)),_i(a,()=>B(i).protocol,e=>B(i).protocol=e),Ai(u,()=>B(i).host,e=>B(i).host=e),Ai(p,()=>B(i).port,e=>B(i).port=e),U(e,t)};Xr(h,e=>{B(r)===`connection`&&e(g)});var _=L(h,2),v=e=>{var t=HL(),n=L(bn(t),2),r=L(I(n),2),i=I(r);Ci(i),M(r),M(n);var a=L(n,2),o=L(I(a),2),s=I(o);Ci(s),Fe(2),M(o),M(a);var c=L(a,4);ei(c,16,()=>[{key:`heading`},{key:`cog`},{key:`gc`}],({key:e})=>e,(e,t)=>{let n=()=>t.key,r=Gt(()=>n()===`heading`?q.appearance.heading:n()===`cog`?q.appearance.cog:q.appearance.gc);var i=VL(),a=bn(i),o=L(I(a),2),s=I(o);Ci(s),M(o),M(a);var c=L(a,2),l=L(I(c),2),d=I(l);Ci(d),Fe(2),M(l),M(c);var f=L(c,2),p=L(I(f),2),m=I(p),h=I(m);h.value=h.__value=`solid`;var g=L(h);g.value=g.__value=`dashed`;var _=L(g);_.value=_.__value=`dotted`;var v=L(_);v.value=v.__value=`dash-dot`,M(m),M(p),M(f);var y=L(f,2),b=L(I(y),2),x=I(b);Ci(x);var S=L(x,2),C=I(S);C.value=C.__value=`nm`;var w=L(C);w.value=w.__value=`min`;var T=L(w);T.value=T.__value=`px`,M(S),M(b),M(y);var E=L(y,2),ee=e=>{U(e,RL())},te=e=>{U(e,zL())},D=e=>{U(e,BL())};Xr(E,e=>{n()===`heading`?e(ee):n()===`cog`?e(te,1):n()===`gc`&&e(D,2)}),V(`input`,s,u),Ai(s,()=>B(r).color,e=>B(r).color=e),V(`input`,d,u),Ai(d,()=>B(r).width,e=>B(r).width=e),V(`change`,m,u),_i(m,()=>B(r).style,e=>B(r).style=e),V(`input`,x,u),Ai(x,()=>B(r).lengthValue,e=>B(r).lengthValue=e),V(`change`,S,u),_i(S,()=>B(r).lengthUnit,e=>B(r).lengthUnit=e),U(e,i)});var l=L(c,2),d=L(I(l),2),f=I(d);Ci(f),M(d),M(l);var p=L(l,2),m=L(I(p),2),h=I(m);Ci(h),Fe(2),M(m),M(p);var g=L(p,4),_=L(I(g),2),v=I(_);Ci(v),M(_),M(g);var y=L(g,2),b=L(I(y),2),x=I(b);Ci(x),Fe(2),M(b),M(y);var S=L(y,2),C=L(I(S),2),w=I(C),T=I(w);T.value=T.__value=`solid`;var E=L(T);E.value=E.__value=`dashed`;var ee=L(E);ee.value=ee.__value=`dotted`;var te=L(ee);te.value=te.__value=`dash-dot`,M(w),M(C),M(S);var D=L(S,2),O=L(I(D),2),k=I(O);Ci(k),Fe(2),M(O),M(D);var ne=L(D,4),re=L(I(ne),2),ie=I(re);Ci(ie),M(re),M(ne);var ae=L(ne,2),oe=L(I(ae),2),se=I(oe);Ci(se),Fe(2),M(oe),M(ae),V(`input`,i,u),Ai(i,()=>q.appearance.vesselColor,e=>q.appearance.vesselColor=e),V(`input`,s,u),Ai(s,()=>q.appearance.vesselSize,e=>q.appearance.vesselSize=e),V(`input`,f,u),Ai(f,()=>q.appearance.ais.vesselColor,e=>q.appearance.ais.vesselColor=e),V(`input`,h,u),Ai(h,()=>q.appearance.ais.vesselSize,e=>q.appearance.ais.vesselSize=e),V(`input`,v,u),Ai(v,()=>q.appearance.ais.cog.color,e=>q.appearance.ais.cog.color=e),V(`input`,x,u),Ai(x,()=>q.appearance.ais.cog.width,e=>q.appearance.ais.cog.width=e),V(`change`,w,u),_i(w,()=>q.appearance.ais.cog.style,e=>q.appearance.ais.cog.style=e),V(`input`,k,u),Ai(k,()=>q.appearance.ais.cog.lengthMinutes,e=>q.appearance.ais.cog.lengthMinutes=e),V(`input`,ie,u),Ai(ie,()=>q.appearance.ruler.color,e=>q.appearance.ruler.color=e),V(`input`,se,u),Ai(se,()=>q.appearance.ruler.width,e=>q.appearance.ruler.width=e),U(e,t)};Xr(_,e=>{B(r)===`appearance`&&e(v)});var y=L(_,2),b=I(y),x=e=>{var t=UL(),n=bn(t),r=L(n,2);V(`click`,n,c),V(`click`,r,s),U(e,t)},S=e=>{var t=WL(),n=bn(t),r=L(n,2);V(`click`,n,c),V(`click`,r,l),U(e,t)};Xr(b,e=>{B(r)===`connection`?e(x):e(S,-1)}),M(y),M(a),Bn(()=>{f=fi(d,1,`tab svelte-1u3w06f`,null,f,{active:B(r)===`connection`}),m=fi(p,1,`tab svelte-1u3w06f`,null,m,{active:B(r)===`appearance`})}),V(`click`,n,l),V(`click`,d,()=>F(r,`connection`)),V(`click`,p,()=>F(r,`appearance`)),U(e,t)};Xr(p,e=>{B(n)&&e(m)}),V(`click`,f,o),U(e,d),Ke()}jr([`click`,`input`,`change`]);var JL=H(`<li class="chart-row svelte-1mbfew2"><input type="checkbox" class="svelte-1mbfew2"/> <label class="chart-name svelte-1mbfew2"> </label></li>`),YL=H(`<li class="chart-row hint-row svelte-1mbfew2">Loading charts…</li>`),XL=H(`<li class="chart-row hint-row error svelte-1mbfew2"> </li>`),ZL=H(`<span class="badge svelte-1mbfew2">WMS</span>`),QL=H(`<span class="badge svelte-1mbfew2">WMTS</span>`),$L=H(`<span class="chart-desc svelte-1mbfew2"> </span>`),eR=H(`<span class="wmts-warning svelte-1mbfew2">⚠ Cannot auto-discover tile URL (CORS). Enter template manually:</span> <div class="wmts-manual svelte-1mbfew2"><input type="text" class="wmts-input svelte-1mbfew2"/> <button class="wmts-apply svelte-1mbfew2">Apply</button></div>`,1),tR=H(`<span class="wmts-ok svelte-1mbfew2">✓ Custom URL active</span> <button class="wmts-clear svelte-1mbfew2">Clear</button>`,1),nR=H(`<option> </option>`),rR=H(`<label class="wmts-showall-label svelte-1mbfew2" title="Show all layers from capabilities"><input type="checkbox" class="svelte-1mbfew2"/> All</label>`),iR=H(`<div class="wmts-layer-row svelte-1mbfew2"><label class="wmts-layer-label svelte-1mbfew2">Layer</label> <select class="wmts-layer-select svelte-1mbfew2"></select> <!></div>`),aR=H(`<span class="wmts-ok svelte-1mbfew2"> </span>`),oR=H(`<li class="chart-row svelte-1mbfew2"><input type="checkbox" class="svelte-1mbfew2"/> <div class="chart-info svelte-1mbfew2"><label class="chart-name svelte-1mbfew2"> <!> <!></label> <!> <span class="chart-meta svelte-1mbfew2"> </span> <!></div></li>`),sR=H(`<div class="backdrop svelte-1mbfew2"></div> <div class="panel svelte-1mbfew2"><div class="panel-header svelte-1mbfew2"><span class="panel-title svelte-1mbfew2">Layers</span> <button class="close-btn svelte-1mbfew2" title="Close">✕</button></div> <ul class="chart-list svelte-1mbfew2"><!> <!></ul></div>`,1),cR=H(`<button title="Charts"><!></button> <!>`,1);function lR(e,t){Ge(t,!0);let n=P(!1),r=ln({});function i(){F(n,!B(n))}function a(){F(n,!1)}function o(e){Uu.setOverride(e,r[e]??``)}var s=cR(),c=bn(s);let l;Yl(I(c),{get icon(){return ru}}),M(c);var u=L(c,2),d=e=>{var t=sR(),n=bn(t),i=L(n,2),s=I(i),c=L(I(s),2);M(s);var l=L(s,2),u=I(l);ei(u,17,()=>Wu,e=>e.id,(e,t)=>{var n=JL(),r=I(n);Ci(r);var i=L(r,2),a=I(i,!0);M(i),M(n),Bn(e=>{Ei(r,`id`,`base-${B(t).id??``}`),Ti(r,e),Ei(i,`for`,`base-${B(t).id??``}`),Vr(a,B(t).name)},[()=>Ju.enabled.has(B(t).id)]),V(`change`,r,()=>{Ju.toggle(B(t).id)}),U(e,n)});var d=L(u,2),f=e=>{U(e,YL())},p=e=>{var t=XL(),n=I(t);M(t),Bn(()=>Vr(n,`⚠ ${Uu.error??``}`)),U(e,t)},m=e=>{var t=Rr();ei(bn(t),17,()=>Object.entries(Uu.available),([e,t])=>e,(e,t)=>{var n=Gt(()=>S(B(t),2));let i=()=>B(n)[0],a=()=>B(n)[1];var s=oR(),c=I(s);Ci(c);var l=L(c,2),u=I(l),d=I(u),f=L(d),p=e=>{U(e,ZL())};Xr(f,e=>{a().type===`WMS`&&e(p)});var m=L(f,2),h=e=>{U(e,QL())};Xr(m,e=>{a().type===`WMTS`&&e(h)}),M(u);var g=L(u,2),_=e=>{var t=$L(),n=I(t,!0);M(t),Bn(()=>Vr(n,a().description)),U(e,t)};Xr(g,e=>{a().description&&e(_)});var v=L(g,2),y=I(v);M(v);var b=L(v,2),x=e=>{var t=eR(),n=L(bn(t),2),a=I(n);Ci(a),Ei(a,`placeholder`,`https://…/{z}/{x}/{y}.png`);var s=L(a,2);M(n),Bn(e=>wi(a,e),[()=>r[i()]??Uu.getOverride(i())]),V(`input`,a,e=>{r[i()]=e.target.value}),V(`keydown`,a,e=>{e.key===`Enter`&&o(i())}),V(`click`,s,()=>o(i())),U(e,t)},C=Gt(()=>Uu.needsManualUrl(i())),w=e=>{var t=tR();V(`click`,L(bn(t),2),()=>{Uu.setOverride(i(),``),r[i()]=``}),U(e,t)},T=Gt(()=>a().type===`WMTS`&&Uu.getOverride(i())),E=e=>{var t=Rr(),n=bn(t),r=e=>{var t=iR(),n=I(t),r=L(n,2);ei(r,21,()=>Uu.visibleLayers(i()),e=>e.id,(e,t)=>{var n=nR(),r=I(n,!0);M(n);var i={};Bn(()=>{Vr(r,B(t).title),i!==(i=B(t).id)&&(n.value=(n.__value=B(t).id)??``)}),U(e,n)}),M(r);var a;gi(r);var o=L(r,2),s=e=>{var t=rR(),n=I(t);Ci(n),Fe(),M(t),Bn(e=>Ti(n,e),[()=>Uu.isShowingAll(i())]),V(`change`,n,()=>Uu.toggleShowAll(i())),U(e,t)},c=Gt(()=>Uu.hasFilter(i()));Xr(o,e=>{B(c)&&e(s)}),M(t),Bn(e=>{Ei(n,`for`,`wmts-layer-${i()??``}`),Ei(r,`id`,`wmts-layer-${i()??``}`),a!==(a=e)&&(r.value=(r.__value=e)??``,hi(r,e))},[()=>Uu.getLayerSel(i())]),V(`change`,r,e=>{Uu.selectLayer(i(),e.target.value)}),U(e,t)},a=Gt(()=>Uu.visibleLayers(i()).length>1),o=e=>{var t=aR(),n=I(t);M(t),Bn(e=>Vr(n,`Layer: ${e??``}`),[()=>Uu.visibleLayers(i())[0]?.title]),U(e,t)},s=Gt(()=>Uu.visibleLayers(i()).length===1);Xr(n,e=>{B(a)?e(r):B(s)&&e(o,1)}),U(e,t)};Xr(b,e=>{B(C)?e(x):B(T)?e(w,1):a().type===`WMTS`&&e(E,2)}),M(l),M(s),Bn((e,t,n,r)=>{Ei(c,`id`,`cp-chart-${i()??``}`),Ti(c,e),c.disabled=t,Ei(u,`for`,`cp-chart-${i()??``}`),Vr(d,`${a().name??``} `),Vr(y,`${n??``}${r??``}`)},[()=>Uu.selected.has(i()),()=>Uu.needsManualUrl(i()),()=>a().format.toUpperCase(),()=>a().scale?` · 1:${a().scale.toLocaleString()}`:``]),V(`change`,c,()=>{Uu.toggle(i())}),U(e,s)}),U(e,t)};Xr(d,e=>{Uu.loading?e(f):Uu.error?e(p,1):e(m,-1)}),M(l),M(i),V(`click`,n,a),V(`keydown`,n,a),V(`click`,c,a),U(e,t)};Xr(u,e=>{B(n)&&e(d)}),Bn(()=>l=fi(c,1,`charts-btn svelte-1mbfew2`,null,l,{active:B(n)})),V(`click`,c,i),U(e,s),Ke()}jr([`click`,`keydown`,`change`,`input`]);var uR=H(`<span style="color: #f87171"> </span>`),dR=H(`<div style="position: relative; width: 100%; height: 100%;"><!> <!> <!> <div style="
|
|
3740
3747
|
position: absolute; top: 10px; left: 10px; z-index: 10;
|
|
3741
3748
|
background: rgba(0,0,0,0.7); color: white;
|
|
3742
3749
|
padding: 6px 12px; border-radius: 6px; font: 12px monospace;
|
package/public/index.html
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
11
11
|
html, body, #app { width: 100%; height: 100%; overflow: hidden; }
|
|
12
12
|
</style>
|
|
13
|
-
<script type="module" crossorigin src="./assets/index-
|
|
13
|
+
<script type="module" crossorigin src="./assets/index-CzmdtA0l.js"></script>
|
|
14
14
|
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-QTnfLwEv.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="./assets/maplibre-gl-TciDBW6i.js">
|
|
16
16
|
<link rel="stylesheet" crossorigin href="./assets/maplibre-gl-B2k4QVOw.css">
|
package/public/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,
|
|
1
|
+
if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()}).then(()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(n,l)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let o={};const t=e=>i(e,r),u={module:{uri:r},exports:o,require:t};s[r]=Promise.all(n.map(e=>u[e]||t(e))).then(e=>(l(...e),o))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"index.html",revision:"1e893c6022becc87d3d68a62bf49f685"},{url:"icon-512.png",revision:"0657088dc11293c0b742467b3d9aa0e6"},{url:"icon-192.png",revision:"63ee319f3a9e92cea460048feeeacc26"},{url:"favicon.png",revision:"8a0854348265db4022235b1c95e57bbd"},{url:"assets/signalk_chart_core_bg-leOhlBKH.wasm",revision:null},{url:"assets/signalk.worker-dgQh6yBR.js",revision:null},{url:"assets/rolldown-runtime-QTnfLwEv.js",revision:null},{url:"assets/maplibre-gl-TciDBW6i.js",revision:null},{url:"assets/maplibre-gl-B2k4QVOw.css",revision:null},{url:"assets/index-DzKMgFRV.css",revision:null},{url:"assets/index-CzmdtA0l.js",revision:null}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/tiles\//,/^\/signalk\//,/^\/v1\//]}))});
|