@signalk/freeboard-sk 3.3.0 → 3.4.0-beta.1

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.
Files changed (46) hide show
  1. package/package.json +2 -2
  2. package/public/3rdpartylicenses.txt +37 -37
  3. package/public/assets/features/split-view-1.jpg +0 -0
  4. package/public/assets/features/split-view-2.jpg +0 -0
  5. package/public/assets/features/toolbar-overflow-1.jpg +0 -0
  6. package/public/assets/features/toolbar-overflow-2.jpg +0 -0
  7. package/public/assets/features-corpus.json +1 -1
  8. package/public/assets/help/index.html +32 -1
  9. package/public/{chunk-YSHHABBQ.js → chunk-5B3P22GG.js} +1 -1
  10. package/public/{chunk-PD55PKQG.js → chunk-5WUOKMEL.js} +5 -5
  11. package/public/{chunk-MYBGWSLC.js → chunk-CXU2QR7B.js} +1 -1
  12. package/public/chunk-D7NY4CGQ.js +1 -0
  13. package/public/{chunk-62WHV6CJ.js → chunk-DXAIA7TN.js} +4 -4
  14. package/public/chunk-FESHPCKG.js +106 -0
  15. package/public/{chunk-PAHYECKY.js → chunk-LZQNRNTA.js} +1 -1
  16. package/public/chunk-M3QKKNN7.js +1 -0
  17. package/public/{chunk-X6D4D6EN.js → chunk-M4D7Z434.js} +1 -1
  18. package/public/chunk-NL5F2VEH.js +4399 -0
  19. package/public/{chunk-45ZTFAA5.js → chunk-OMAUXPDZ.js} +1 -1
  20. package/public/{chunk-MX5HWKAH.js → chunk-RABBT5ST.js} +1 -1
  21. package/public/{chunk-Z5VKGWZC.js → chunk-SU5TGPFJ.js} +1 -1
  22. package/public/{chunk-ISXARX6U.js → chunk-U7APAW37.js} +1 -1
  23. package/public/{chunk-X2BSGTPL.js → chunk-W2UT4HJG.js} +1 -1
  24. package/public/chunk-XHD652B2.js +1 -0
  25. package/public/{chunk-RG7WQ7O2.js → chunk-XHH2BWBG.js} +1 -1
  26. package/public/chunk-XIEUBZE5.js +1 -0
  27. package/public/{chunk-T7ZWMXKZ.js → chunk-XRUZGBPD.js} +1 -1
  28. package/public/{chunk-YZN4NRWW.js → chunk-XSBLUIEK.js} +1 -1
  29. package/public/chunk-YP3ILUPZ.js +1 -0
  30. package/public/chunk-YXEZPMKV.js +1 -0
  31. package/public/chunk-ZJLAX3N2.js +1 -0
  32. package/public/index.html +2 -2
  33. package/public/main-C7W4SDMX.js +358 -0
  34. package/public/{styles-BRU77GKR.css → styles-ADI62PD5.css} +1 -1
  35. package/public/worker-KSHRWMJ6.js +3 -0
  36. package/public/chunk-2KQASZ2P.js +0 -1
  37. package/public/chunk-6E2BDKCH.js +0 -106
  38. package/public/chunk-B3ZGKAZU.js +0 -4170
  39. package/public/chunk-BXGNCKBA.js +0 -1
  40. package/public/chunk-EGNX7VBY.js +0 -1
  41. package/public/chunk-I33LU6L4.js +0 -1
  42. package/public/chunk-I75RV7GQ.js +0 -1
  43. package/public/chunk-NRPRHL2L.js +0 -1
  44. package/public/chunk-V2SBXN4Z.js +0 -1
  45. package/public/main-XWH2CEAU.js +0 -468
  46. package/public/worker-PCWM7FLK.js +0 -3
@@ -1,3 +0,0 @@
1
- var Do=Object.create;var bn=Object.defineProperty;var Io=Object.getOwnPropertyDescriptor;var Co=Object.getOwnPropertyNames;var Eo=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var c=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}};var No=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Co(t))!qo.call(e,i)&&i!==r&&bn(e,i,{get:()=>t[i],enumerable:!(n=Io(t,i))||n.enumerable});return e};var xn=(e,t,r)=>(r=e!=null?Do(Eo(e)):{},No(t||!e||!e.__esModule?bn(r,"default",{value:e,enumerable:!0}):r,e));var _=c(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.timeConversion=g.sexagesimalPattern=g.longitudeKeys=g.latitudeKeys=g.earthRadius=g.distanceConversion=g.areaConversion=g.altitudeKeys=g.RAD_TO_DEG=g.MINLON=g.MINLAT=g.MAXLON=g.MAXLAT=g.DEG_TO_RAD=void 0;var vc=g.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/,_c=g.earthRadius=6378137,Mc=g.MINLAT=-90,Sc=g.MAXLAT=90,Pc=g.MINLON=-180,Tc=g.MAXLON=180,Ac=g.DEG_TO_RAD=Math.PI/180,kc=g.RAD_TO_DEG=180/Math.PI,Oc=g.longitudeKeys=["lng","lon","longitude",0],Rc=g.latitudeKeys=["lat","latitude",1],wc=g.altitudeKeys=["alt","altitude","elevation","elev",2],Lc=g.distanceConversion={m:1,km:.001,cm:100,mm:1e3,mi:1/1609.344,sm:1/1852.216,ft:100/30.48,in:100/2.54,yd:1/.9144},Dc=g.timeConversion={m:60,h:3600,d:86400},N=g.areaConversion={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};N.sqm=N.m2;N.sqkm=N.km2;N.sqft=N.ft2;N.sqyd=N.yd2;N.sqin=N.in2});var ve=c(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.default=void 0;var Go=(e,t)=>{if(e==null)throw new Error(`'${e}' is no valid coordinate.`);return t.reduce((r,n)=>Object.prototype.hasOwnProperty.call(e,n)&&n!==void 0&&r===void 0?(r=n,n):r,void 0)},Cc=Ge.default=Go});var _e=c(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var zo=e=>{let t=e.toString().trim();return isNaN(parseFloat(t))?!1:parseFloat(t)===Number(t)},qc=ze.default=zo});var Me=c(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var Xo=_(),Zo=e=>Xo.sexagesimalPattern.test(e.toString().trim()),jc=Xe.default=Zo});var Se=c(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var Yo=_(),Jo=e=>{let t=new RegExp(Yo.sexagesimalPattern).exec(e.toString().trim());if(t===null)throw new Error("Given value is not in sexagesimal format");let r=Number(t[2])/60||0,n=Number(t[4])/3600||0,i=parseFloat(t[1])+r+n;return["S","W"].includes(t[7])?-i:i},Uc=Ze.default=Jo});var Je=c(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.default=void 0;var xr=_(),yr=Qo(ve());function Qo(e){return e&&e.__esModule?e:{default:e}}var es=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:xr.longitudeKeys,latitude:xr.latitudeKeys,altitude:xr.altitudeKeys},r=(0,yr.default)(e,t.longitude),n=(0,yr.default)(e,t.latitude),i=(0,yr.default)(e,t.altitude);return{latitude:n,longitude:r,...i?{altitude:i}:{}}},Vc=Ye.default=es});var _r=c(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.default=void 0;var ts=vr(_e()),rs=vr(Me()),ns=vr(Se()),Ln=_();function vr(e){return e&&e.__esModule?e:{default:e}}var Dn=e=>{if((0,ts.default)(e)){let t=parseFloat(e);return!(t>Ln.MAXLAT||t<Ln.MINLAT)}return(0,rs.default)(e)?Dn((0,ns.default)(e)):!1},Bc=Qe.default=Dn});var Sr=c(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var is=Mr(_e()),os=Mr(Me()),ss=Mr(Se()),In=_();function Mr(e){return e&&e.__esModule?e:{default:e}}var Cn=e=>{if((0,is.default)(e)){let t=parseFloat(e);return!(t>In.MAXLON||t<In.MINLON)}return(0,os.default)(e)?Cn((0,ss.default)(e)):!1},Wc=et.default=Cn});var Tr=c(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;var as=Pr(Je()),En=Pr(_r()),qn=Pr(Sr());function Pr(e){return e&&e.__esModule?e:{default:e}}var us=e=>{let{latitude:t,longitude:r}=(0,as.default)(e);if(Array.isArray(e)&&e.length>=2)return(0,qn.default)(e[0])&&(0,En.default)(e[1]);if(t===void 0||r===void 0)return!1;let n=e[r],i=e[t];return i===void 0||n===void 0?!1:(0,En.default)(i)&&(0,qn.default)(n)},zc=tt.default=us});var nt=c(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var ls=Te(_e()),cs=Te(Me()),fs=Te(Se()),Nn=Te(Tr()),ds=Te(Je());function Te(e){return e&&e.__esModule?e:{default:e}}var Pe=e=>{if((0,ls.default)(e))return Number(e);if((0,cs.default)(e))return(0,fs.default)(e);if((0,Nn.default)(e)){let t=(0,ds.default)(e);return Array.isArray(e)?e.map((r,n)=>[0,1].includes(n)?Pe(r):r):{...e,...t.latitude&&{[t.latitude]:Pe(e[t.latitude])},...t.longitude&&{[t.longitude]:Pe(e[t.longitude])}}}return Array.isArray(e)?e.map(t=>(0,Nn.default)(t)?Pe(t):t):e},Zc=rt.default=Pe});var w=c(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.default=void 0;var ms=_(),ps=jn(ve()),gs=jn(nt());function jn(e){return e&&e.__esModule?e:{default:e}}var hs=(e,t)=>{let r=(0,ps.default)(e,ms.latitudeKeys);if(r==null)return;let n=e[r];return t===!0?n:(0,gs.default)(n)},Jc=it.default=hs});var L=c(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.default=void 0;var bs=_(),xs=Kn(ve()),ys=Kn(nt());function Kn(e){return e&&e.__esModule?e:{default:e}}var vs=(e,t)=>{let r=(0,xs.default)(e,bs.longitudeKeys);if(r==null)return;let n=e[r];return t===!0?n:(0,ys.default)(n)},ef=ot.default=vs});var j=c(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var _s=_(),Ms=e=>e*_s.DEG_TO_RAD,rf=st.default=Ms});var X=c(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var Ss=_(),Ps=e=>e*Ss.RAD_TO_DEG,of=at.default=Ps});var Fn=c(lt=>{"use strict";Object.defineProperty(lt,"__esModule",{value:!0});lt.default=void 0;var Ts=ut(w()),As=ut(L()),Ar=ut(j()),kr=ut(X()),Un=_();function ut(e){return e&&e.__esModule?e:{default:e}}var ks=function(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,i=(0,Ts.default)(e),o=(0,As.default)(e),s=t/n,a=(0,Ar.default)(r),u=(0,Ar.default)(i),p=(0,Ar.default)(o),m=Math.asin(Math.sin(u)*Math.cos(s)+Math.cos(u)*Math.sin(s)*Math.cos(a)),h=p+Math.atan2(Math.sin(a)*Math.sin(s)*Math.cos(u),Math.cos(s)-Math.sin(u)*Math.sin(m)),b=(0,kr.default)(h);return(b<Un.MINLON||b>Un.MAXLON)&&(h=(h+3*Math.PI)%(2*Math.PI)-Math.PI,b=(0,kr.default)(h)),{latitude:(0,kr.default)(m),longitude:b}},af=lt.default=ks});var Vn=c(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var Os=_(),Rs=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=Os.areaConversion[t];if(r)return e*r;throw new Error("Invalid unit used for area conversion.")},lf=ct.default=Rs});var Hn=c(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.default=void 0;var ws=_(),Ls=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",r=ws.distanceConversion[t];if(r)return e*r;throw new Error("Invalid unit used for distance conversion.")},ff=ft.default=Ls});var Bn=c(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.default=void 0;var dt=_(),Ds=function(e){switch(arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh"){case"kmh":return e*dt.timeConversion.h*dt.distanceConversion.km;case"mph":return e*dt.timeConversion.h*dt.distanceConversion.mi;default:return e}},mf=mt.default=Ds});var $n=c(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Is=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,r=Math.pow(10,t);return Math.round(e*r)/r},Cs=e=>{let[t,r]=e.toString().split("."),n=Math.abs(Number(t)),i=+("0."+(r||0))*60,o=i.toString().split("."),s=Math.floor(i),a=Is(+("0."+(o[1]||0))*60).toString(),[u,p="0"]=a.split(".");return n+"\xB0 "+s.toString().padStart(2,"0")+"' "+u.padStart(2,"0")+"."+p.padEnd(1,"0")+'"'},gf=pt.default=Cs});var Or=c(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.default=void 0;var Es=e=>e>1?1:e<-1?-1:e,bf=gt.default=Es});var B=c(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var Wn=ht(w()),Gn=ht(L()),Rr=ht(j()),qs=ht(Or()),Ns=_();function ht(e){return e&&e.__esModule?e:{default:e}}var js=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let n=(0,Rr.default)((0,Wn.default)(e)),i=(0,Rr.default)((0,Wn.default)(t)),o=(0,Rr.default)((0,Gn.default)(e)-(0,Gn.default)(t)),s=Math.acos((0,qs.default)(Math.sin(i)*Math.sin(n)+Math.cos(i)*Math.cos(n)*Math.cos(o)))*Ns.earthRadius;return Math.round(s/r)*r},yf=bt.default=js});var wr=c(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var zn=Ks(B());function Ks(e){return e&&e.__esModule?e:{default:e}}var Us=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:zn.default;return r=typeof r=="function"?r:zn.default,t.slice().sort((n,i)=>r(e,n)-r(e,i))},_f=xt.default=Us});var Xn=c(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.default=void 0;var Fs=Vs(wr());function Vs(e){return e&&e.__esModule?e:{default:e}}var Hs=(e,t)=>(0,Fs.default)(e,t)[0],Sf=yt.default=Hs});var Jn=c(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var Lr=Dr(j()),Bs=Dr(w()),Zn=Dr(L()),Yn=_();function Dr(e){return e&&e.__esModule?e:{default:e}}var $s=e=>{let t=0;if(e.length>2){let r,n,i;for(let o=0;o<e.length;o++){o===e.length-2?(r=e.length-2,n=e.length-1,i=0):o===e.length-1?(r=e.length-1,n=0,i=1):(r=o,n=o+1,i=o+2);let s=(0,Zn.default)(e[r]),a=(0,Bs.default)(e[n]),u=(0,Zn.default)(e[i]);t+=((0,Lr.default)(u)-(0,Lr.default)(s))*Math.sin((0,Lr.default)(a))}t=t*Yn.earthRadius*Yn.earthRadius/2}return Math.abs(t)},Tf=vt.default=$s});var Ir=c(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.default=void 0;var Ws=Qn(w()),Gs=Qn(L());function Qn(e){return e&&e.__esModule?e:{default:e}}var zs=e=>{if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce((t,r)=>{let n=(0,Ws.default)(r),i=(0,Gs.default)(r);return{maxLat:Math.max(n,t.maxLat),minLat:Math.min(n,t.minLat),maxLng:Math.max(i,t.maxLng),minLng:Math.min(i,t.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},kf=_t.default=zs});var ei=c(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.default=void 0;var Xs=St(w()),Zs=St(L()),se=St(j()),Mt=St(X()),Ae=_();function St(e){return e&&e.__esModule?e:{default:e}}var Ys=(e,t)=>{let r=(0,Xs.default)(e),n=(0,Zs.default)(e),i=(0,se.default)(r),o=(0,se.default)(n),s=t/Ae.earthRadius,a=i-s,u=i+s,p=(0,se.default)(Ae.MAXLAT),m=(0,se.default)(Ae.MINLAT),h=(0,se.default)(Ae.MAXLON),b=(0,se.default)(Ae.MINLON),S,v;if(a>m&&u<p){let O=Math.asin(Math.sin(s)/Math.cos(i));S=o-O,S<b&&(S+=Math.PI*2),v=o+O,v>h&&(v-=Math.PI*2)}else a=Math.max(a,m),u=Math.min(u,p),S=b,v=h;return[{latitude:(0,Mt.default)(a),longitude:(0,Mt.default)(S)},{latitude:(0,Mt.default)(u),longitude:(0,Mt.default)(v)}]},Rf=Pt.default=Ys});var ni=c(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var Js=Tt(w()),Qs=Tt(L()),ti=Tt(j()),ri=Tt(X());function Tt(e){return e&&e.__esModule?e:{default:e}}var ea=e=>{if(Array.isArray(e)===!1||e.length===0)return!1;let t=e.length,r=e.reduce((s,a)=>{let u=(0,ti.default)((0,Js.default)(a)),p=(0,ti.default)((0,Qs.default)(a));return{X:s.X+Math.cos(u)*Math.cos(p),Y:s.Y+Math.cos(u)*Math.sin(p),Z:s.Z+Math.sin(u)}},{X:0,Y:0,Z:0}),n=r.X/t,i=r.Y/t,o=r.Z/t;return{longitude:(0,ri.default)(Math.atan2(i,n)),latitude:(0,ri.default)(Math.atan2(o,Math.sqrt(n*n+i*i)))}},Lf=At.default=ea});var ii=c(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;var ta=ra(Ir());function ra(e){return e&&e.__esModule?e:{default:e}}var na=e=>{let t=(0,ta.default)(e),r=t.minLat+(t.maxLat-t.minLat)/2,n=t.minLng+(t.maxLng-t.minLng)/2;return{latitude:parseFloat(r.toFixed(6)),longitude:parseFloat(n.toFixed(6))}},If=kt.default=na});var Cr=c(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var oi=Rt(w()),si=Rt(L()),Ot=Rt(j()),ia=Rt(X());function Rt(e){return e&&e.__esModule?e:{default:e}}var oa=(e,t)=>{let r=(0,Ot.default)((0,si.default)(t))-(0,Ot.default)((0,si.default)(e)),n=Math.log(Math.tan((0,Ot.default)((0,oi.default)(t))/2+Math.PI/4)/Math.tan((0,Ot.default)((0,oi.default)(e))/2+Math.PI/4));return Math.abs(r)>Math.PI&&(r>0?r=(Math.PI*2-r)*-1:r=Math.PI*2+r),((0,ia.default)(Math.atan2(r,n))+360)%360},Ef=wt.default=oa});var ui=c(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var ai=sa(Cr());function sa(e){return e&&e.__esModule?e:{default:e}}var aa=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ai.default,n=typeof r=="function"?r(e,t):(0,ai.default)(e,t);if(isNaN(n))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(n/22.5)){case 1:return"NNE";case 2:return"NE";case 3:return"ENE";case 4:return"E";case 5:return"ESE";case 6:return"SE";case 7:return"SSE";case 8:return"S";case 9:return"SSW";case 10:return"SW";case 11:return"WSW";case 12:return"W";case 13:return"WNW";case 14:return"NW";case 15:return"NNW";default:return"N"}},Nf=Lt.default=aa});var qr=c(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var Er=ci(B()),li=ci(Or());function ci(e){return e&&e.__esModule?e:{default:e}}var ua=function(e,t,r){let n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,i=(0,Er.default)(t,e,n),o=(0,Er.default)(e,r,n),s=(0,Er.default)(t,r,n),a=Math.acos((0,li.default)((i*i+s*s-o*o)/(2*i*s))),u=Math.acos((0,li.default)((o*o+s*s-i*i)/(2*o*s)));return i===0||o===0?0:s===0||a>Math.PI/2?i:u>Math.PI/2?o:Math.sin(a)*i},Kf=Dt.default=ua});var mi=c(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.default=void 0;var fi=It(w()),di=It(L()),F=It(j()),la=It(X());function It(e){return e&&e.__esModule?e:{default:e}}var ca=(e,t)=>{let r=(0,fi.default)(t),n=(0,di.default)(t),i=(0,fi.default)(e),o=(0,di.default)(e);return((0,la.default)(Math.atan2(Math.sin((0,F.default)(n)-(0,F.default)(o))*Math.cos((0,F.default)(r)),Math.cos((0,F.default)(i))*Math.sin((0,F.default)(r))-Math.sin((0,F.default)(i))*Math.cos((0,F.default)(r))*Math.cos((0,F.default)(n)-(0,F.default)(o))))+360)%360},Ff=Ct.default=ca});var pi=c(Et=>{"use strict";Object.defineProperty(Et,"__esModule",{value:!0});Et.default=void 0;var fa=da(B());function da(e){return e&&e.__esModule?e:{default:e}}var ma=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:fa.default;return e.reduce((r,n)=>(typeof r=="object"&&r.last!==null&&(r.distance+=t(n,r.last)),r.last=n,r),{last:null,distance:0}).distance},Hf=Et.default=ma});var xi=c(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.default=void 0;var gi=jr(w()),hi=jr(L()),Nr=jr(j()),bi=_();function jr(e){return e&&e.__esModule?e:{default:e}}var pa=function(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;r=isNaN(r)?1:r;let n=(0,gi.default)(e),i=(0,hi.default)(e),o=(0,gi.default)(t),s=(0,hi.default)(t),a=6356752314245e-6,u=1/298.257223563,p=(0,Nr.default)(s-i),m,h,b,S,v,O,mn=Math.atan((1-u)*Math.tan((0,Nr.default)(parseFloat(n)))),pn=Math.atan((1-u)*Math.tan((0,Nr.default)(parseFloat(o)))),Ce=Math.sin(mn),Ee=Math.cos(mn),qe=Math.sin(pn),ee=Math.cos(pn),pe=p,gn,hn=100;do{let sr=Math.sin(pe),ar=Math.cos(pe);if(O=Math.sqrt(ee*sr*(ee*sr)+(Ee*qe-Ce*ee*ar)*(Ee*qe-Ce*ee*ar)),O===0)return 0;m=Ce*qe+Ee*ee*ar,h=Math.atan2(O,m),b=Ee*ee*sr/O,S=1-b*b,v=m-2*Ce*qe/S,isNaN(v)&&(v=0);let ur=u/16*S*(4+u*(4-3*S));gn=pe,pe=p+(1-ur)*u*b*(h+ur*O*(v+ur*m*(-1+2*v*v)))}while(Math.abs(pe-gn)>1e-12&&--hn>0);if(hn===0)return NaN;let H=S*(bi.earthRadius*bi.earthRadius-a*a)/(a*a),Ro=1+H/16384*(4096+H*(-768+H*(320-175*H))),or=H/1024*(256+H*(-128+H*(74-47*H))),wo=or*O*(v+or/4*(m*(-1+2*v*v)-or/6*v*(-3+4*O*O)*(-3+4*v*v))),Lo=a*Ro*(h-wo);return Math.round(Lo/r)*r},$f=qt.default=pa});var yi=c(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.default=void 0;var ga=e=>{if(/^(NNE|NE|NNW|N)$/.test(e))return"N";if(/^(ENE|E|ESE|SE)$/.test(e))return"E";if(/^(SSE|S|SSW|SW)$/.test(e))return"S";if(/^(WSW|W|WNW|NW)$/.test(e))return"W"},Gf=Nt.default=ga});var vi=c(jt=>{"use strict";Object.defineProperty(jt,"__esModule",{value:!0});jt.default=void 0;var ha=ba(B());function ba(e){return e&&e.__esModule?e:{default:e}}var xa=function(e,t){let n=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:ha.default)(e,t),i=Number(t.time)-Number(e.time);return n/i*1e3},Xf=jt.default=xa});var _i=c(Kt=>{"use strict";Object.defineProperty(Kt,"__esModule",{value:!0});Kt.default=void 0;var Kr=ya(B());function ya(e){return e&&e.__esModule?e:{default:e}}var va=(e,t,r)=>(0,Kr.default)(t,e)+(0,Kr.default)(e,r)===(0,Kr.default)(t,r),Yf=Kt.default=va});var Si=c(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.default=void 0;var Ut=Mi(w()),D=Mi(L());function Mi(e){return e&&e.__esModule?e:{default:e}}var _a=(e,t)=>{let r=!1,n=t.length;for(let i=-1,o=n-1;++i<n;o=i)((0,D.default)(t[i])<=(0,D.default)(e)&&(0,D.default)(e)<(0,D.default)(t[o])||(0,D.default)(t[o])<=(0,D.default)(e)&&(0,D.default)(e)<(0,D.default)(t[i]))&&(0,Ut.default)(e)<((0,Ut.default)(t[o])-(0,Ut.default)(t[i]))*((0,D.default)(e)-(0,D.default)(t[i]))/((0,D.default)(t[o])-(0,D.default)(t[i]))+(0,Ut.default)(t[i])&&(r=!r);return r},Qf=Ft.default=_a});var Pi=c(Vt=>{"use strict";Object.defineProperty(Vt,"__esModule",{value:!0});Vt.default=void 0;var Ma=Sa(qr());function Sa(e){return e&&e.__esModule?e:{default:e}}var Pa=(e,t,r,n)=>(0,Ma.default)(e,t,r)<n,td=Vt.default=Pa});var Ti=c(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.default=void 0;var Ta=Aa(B());function Aa(e){return e&&e.__esModule?e:{default:e}}var ka=(e,t,r)=>(0,Ta.default)(e,t,.01)<r,nd=Ht.default=ka});var Ai=c(Bt=>{"use strict";Object.defineProperty(Bt,"__esModule",{value:!0});Bt.default=void 0;var Oa=e=>{if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map(n=>{let[i,o]=n.split(" ");return{longitude:parseFloat(i),latitude:parseFloat(o)}})},od=Bt.default=Oa});var ki=c(f=>{"use strict";Object.defineProperty(f,"__esModule",{value:!0});var Ra={computeDestinationPoint:!0,convertArea:!0,convertDistance:!0,convertSpeed:!0,decimalToSexagesimal:!0,findNearest:!0,getAreaOfPolygon:!0,getBounds:!0,getBoundsOfDistance:!0,getCenter:!0,getCenterOfBounds:!0,getCompassDirection:!0,getCoordinateKey:!0,getCoordinateKeys:!0,getDistance:!0,getDistanceFromLine:!0,getGreatCircleBearing:!0,getLatitude:!0,getLongitude:!0,getPathLength:!0,getPreciseDistance:!0,getRhumbLineBearing:!0,getRoughCompassDirection:!0,getSpeed:!0,isDecimal:!0,isPointInLine:!0,isPointInPolygon:!0,isPointNearLine:!0,isPointWithinRadius:!0,isSexagesimal:!0,isValidCoordinate:!0,isValidLatitude:!0,isValidLongitude:!0,orderByDistance:!0,sexagesimalToDecimal:!0,toDecimal:!0,toRad:!0,toDeg:!0,wktToPolygon:!0};Object.defineProperty(f,"computeDestinationPoint",{enumerable:!0,get:function(){return wa.default}});Object.defineProperty(f,"convertArea",{enumerable:!0,get:function(){return La.default}});Object.defineProperty(f,"convertDistance",{enumerable:!0,get:function(){return Da.default}});Object.defineProperty(f,"convertSpeed",{enumerable:!0,get:function(){return Ia.default}});Object.defineProperty(f,"decimalToSexagesimal",{enumerable:!0,get:function(){return Ca.default}});Object.defineProperty(f,"findNearest",{enumerable:!0,get:function(){return Ea.default}});Object.defineProperty(f,"getAreaOfPolygon",{enumerable:!0,get:function(){return qa.default}});Object.defineProperty(f,"getBounds",{enumerable:!0,get:function(){return Na.default}});Object.defineProperty(f,"getBoundsOfDistance",{enumerable:!0,get:function(){return ja.default}});Object.defineProperty(f,"getCenter",{enumerable:!0,get:function(){return Ka.default}});Object.defineProperty(f,"getCenterOfBounds",{enumerable:!0,get:function(){return Ua.default}});Object.defineProperty(f,"getCompassDirection",{enumerable:!0,get:function(){return Fa.default}});Object.defineProperty(f,"getCoordinateKey",{enumerable:!0,get:function(){return Va.default}});Object.defineProperty(f,"getCoordinateKeys",{enumerable:!0,get:function(){return Ha.default}});Object.defineProperty(f,"getDistance",{enumerable:!0,get:function(){return Ba.default}});Object.defineProperty(f,"getDistanceFromLine",{enumerable:!0,get:function(){return $a.default}});Object.defineProperty(f,"getGreatCircleBearing",{enumerable:!0,get:function(){return Wa.default}});Object.defineProperty(f,"getLatitude",{enumerable:!0,get:function(){return Ga.default}});Object.defineProperty(f,"getLongitude",{enumerable:!0,get:function(){return za.default}});Object.defineProperty(f,"getPathLength",{enumerable:!0,get:function(){return Xa.default}});Object.defineProperty(f,"getPreciseDistance",{enumerable:!0,get:function(){return Za.default}});Object.defineProperty(f,"getRhumbLineBearing",{enumerable:!0,get:function(){return Ya.default}});Object.defineProperty(f,"getRoughCompassDirection",{enumerable:!0,get:function(){return Ja.default}});Object.defineProperty(f,"getSpeed",{enumerable:!0,get:function(){return Qa.default}});Object.defineProperty(f,"isDecimal",{enumerable:!0,get:function(){return eu.default}});Object.defineProperty(f,"isPointInLine",{enumerable:!0,get:function(){return tu.default}});Object.defineProperty(f,"isPointInPolygon",{enumerable:!0,get:function(){return ru.default}});Object.defineProperty(f,"isPointNearLine",{enumerable:!0,get:function(){return nu.default}});Object.defineProperty(f,"isPointWithinRadius",{enumerable:!0,get:function(){return iu.default}});Object.defineProperty(f,"isSexagesimal",{enumerable:!0,get:function(){return ou.default}});Object.defineProperty(f,"isValidCoordinate",{enumerable:!0,get:function(){return su.default}});Object.defineProperty(f,"isValidLatitude",{enumerable:!0,get:function(){return au.default}});Object.defineProperty(f,"isValidLongitude",{enumerable:!0,get:function(){return uu.default}});Object.defineProperty(f,"orderByDistance",{enumerable:!0,get:function(){return lu.default}});Object.defineProperty(f,"sexagesimalToDecimal",{enumerable:!0,get:function(){return cu.default}});Object.defineProperty(f,"toDecimal",{enumerable:!0,get:function(){return fu.default}});Object.defineProperty(f,"toDeg",{enumerable:!0,get:function(){return mu.default}});Object.defineProperty(f,"toRad",{enumerable:!0,get:function(){return du.default}});Object.defineProperty(f,"wktToPolygon",{enumerable:!0,get:function(){return pu.default}});var wa=d(Fn()),La=d(Vn()),Da=d(Hn()),Ia=d(Bn()),Ca=d($n()),Ea=d(Xn()),qa=d(Jn()),Na=d(Ir()),ja=d(ei()),Ka=d(ni()),Ua=d(ii()),Fa=d(ui()),Va=d(ve()),Ha=d(Je()),Ba=d(B()),$a=d(qr()),Wa=d(mi()),Ga=d(w()),za=d(L()),Xa=d(pi()),Za=d(xi()),Ya=d(Cr()),Ja=d(yi()),Qa=d(vi()),eu=d(_e()),tu=d(_i()),ru=d(Si()),nu=d(Pi()),iu=d(Ti()),ou=d(Me()),su=d(Tr()),au=d(_r()),uu=d(Sr()),lu=d(wr()),cu=d(Se()),fu=d(nt()),du=d(j()),mu=d(X()),pu=d(Ai()),Ur=_();Object.keys(Ur).forEach(function(e){e==="default"||e==="__esModule"||Object.prototype.hasOwnProperty.call(Ra,e)||e in f&&f[e]===Ur[e]||Object.defineProperty(f,e,{enumerable:!0,get:function(){return Ur[e]}})});function d(e){return e&&e.__esModule?e:{default:e}}});var Oi=c(Br=>{"use strict";Br.__esModule=!0;function Vr(e,t){return e*e+t*t}function gu(e,t){return Vr(e[0]-t[0],e[1]-t[1])}function hu(e,t,r){var n=t[0],i=t[1],o=r[0]-n,s=r[1]-i;if(o!==0||s!==0){var a=((e[0]-n)*o+(e[1]-i)*s)/Vr(o,s);a>1?(n=r[0],i=r[1]):a>0&&(n+=o*a,i+=s*a)}return Vr(e[0]-n,e[1]-i)}function bu(e,t){for(var r=e[0],n,i=[r],o=1,s=e.length;o<s;o++)n=e[o],gu(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function Hr(e,t,r,n,i){for(var o=n,s,a=t+1;a<r;a++){var u=hu(e[a],e[t],e[r]);u>o&&(s=a,o=u)}o>n&&(s-t>1&&Hr(e,t,s,n,i),i.push(e[s]),r-s>1&&Hr(e,s,r,n,i))}function xu(e,t){var r=e.length-1,n=[e[0]];return Hr(e,0,r,t,n),n.push(e[r]),n}function yu(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:bu(e,n),e=xu(e,n),e}Br.SimplifyAP=yu});var Ri=c(Gr=>{"use strict";Gr.__esModule=!0;function $r(e,t){return e*e+t*t}function vu(e,t){return $r(e.longitude-t.longitude,e.latitude-t.latitude)}function _u(e,t,r){var n=t.longitude,i=t.latitude,o=r.longitude-n,s=r.latitude-i;if(o!==0||s!==0){var a=((e.longitude-n)*o+(e.latitude-i)*s)/$r(o,s);a>1?(n=r.longitude,i=r.latitude):a>0&&(n+=o*a,i+=s*a)}return $r(e.longitude-n,e.latitude-i)}function Mu(e,t){for(var r=e[0],n,i=[r],o=1,s=e.length;o<s;o++)n=e[o],vu(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function Wr(e,t,r,n,i){for(var o=n,s,a=t+1;a<r;a++){var u=_u(e[a],e[t],e[r]);u>o&&(s=a,o=u)}o>n&&(s-t>1&&Wr(e,t,s,n,i),i.push(e[s]),r-s>1&&Wr(e,s,r,n,i))}function Su(e,t){var r=e.length-1,n=[e[0]];return Wr(e,0,r,t,n),n.push(e[r]),n}function Pu(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:Mu(e,n),e=Su(e,n),e}Gr.SimplifyLL=Pu});var wi=c(Zr=>{"use strict";Zr.__esModule=!0;function zr(e,t){return e*e+t*t}function Tu(e,t){return zr(e.x-t.x,e.y-t.y)}function Au(e,t,r){var n=t.x,i=t.y,o=r.x-n,s=r.y-i;if(o!==0||s!==0){var a=((e.x-n)*o+(e.y-i)*s)/zr(o,s);a>1?(n=r.x,i=r.y):a>0&&(n+=o*a,i+=s*a)}return zr(e.x-n,e.y-i)}function ku(e,t){for(var r=e[0],n,i=[r],o=1,s=e.length;o<s;o++)n=e[o],Tu(n,r)>t&&(i.push(n),r=n);return r!==n&&i.push(n),i}function Xr(e,t,r,n,i){for(var o=n,s,a=t+1;a<r;a++){var u=Au(e[a],e[t],e[r]);u>o&&(s=a,o=u)}o>n&&(s-t>1&&Xr(e,t,s,n,i),i.push(e[s]),r-s>1&&Xr(e,s,r,n,i))}function Ou(e,t){var r=e.length-1,n=[e[0]];return Xr(e,0,r,t,n),n.push(e[r]),n}function Ru(e,t,r){if(t===void 0&&(t=1),r===void 0&&(r=!1),e.length<=2)return e;var n=t*t;return e=r?e:ku(e,n),e=Ou(e,n),e}Zr.Simplify=Ru});var Li=c(ke=>{"use strict";ke.__esModule=!0;var wu=Oi();ke.SimplifyAP=wu.SimplifyAP;var Lu=Ri();ke.SimplifyLL=Lu.SimplifyLL;var Du=wi();ke.Simplify=Du.Simplify});function R(e){return typeof e=="function"}function Ne(e){let r=e(n=>{Error.call(n),n.stack=new Error().stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var je=Ne(e=>function(r){e(this),this.message=r?`${r.length} errors occurred during unsubscription:
2
- ${r.map((n,i)=>`${i+1}) ${n.toString()}`).join(`
3
- `)}`:"",this.name="UnsubscriptionError",this.errors=r});function ge(e,t){if(e){let r=e.indexOf(t);0<=r&&e.splice(r,1)}}var E=class e{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;let{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(let o of r)o.remove(this);else r.remove(this);let{initialTeardown:n}=this;if(R(n))try{n()}catch(o){t=o instanceof je?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{yn(o)}catch(s){t=t??[],s instanceof je?t=[...t,...s.errors]:t.push(s)}}if(t)throw new je(t)}}add(t){var r;if(t&&t!==this)if(this.closed)yn(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}}_hasParent(t){let{_parentage:r}=this;return r===t||Array.isArray(r)&&r.includes(t)}_addParent(t){let{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t}_removeParent(t){let{_parentage:r}=this;r===t?this._parentage=null:Array.isArray(r)&&ge(r,t)}remove(t){let{_finalizers:r}=this;r&&ge(r,t),t instanceof e&&t._removeParent(this)}};E.EMPTY=(()=>{let e=new E;return e.closed=!0,e})();var lr=E.EMPTY;function Ke(e){return e instanceof E||e&&"closed"in e&&R(e.remove)&&R(e.add)&&R(e.unsubscribe)}function yn(e){R(e)?e():e.unsubscribe()}var I={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var te={setTimeout(e,t,...r){let{delegate:n}=te;return n?.setTimeout?n.setTimeout(e,t,...r):setTimeout(e,t,...r)},clearTimeout(e){let{delegate:t}=te;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function vn(e){te.setTimeout(()=>{let{onUnhandledError:t}=I;if(t)t(e);else throw e})}function cr(){}var _n=fr("C",void 0,void 0);function Mn(e){return fr("E",void 0,e)}function Sn(e){return fr("N",e,void 0)}function fr(e,t,r){return{kind:e,value:t,error:r}}var W=null;function re(e){if(I.useDeprecatedSynchronousErrorHandling){let t=!W;if(t&&(W={errorThrown:!1,error:null}),e(),t){let{errorThrown:r,error:n}=W;if(W=null,r)throw n}}else e()}function Pn(e){I.useDeprecatedSynchronousErrorHandling&&W&&(W.errorThrown=!0,W.error=e)}var he=class extends E{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ke(t)&&t.add(this)):this.destination=Uo}static create(t,r,n){return new ne(t,r,n)}next(t){this.isStopped?mr(Sn(t),this):this._next(t)}error(t){this.isStopped?mr(Mn(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?mr(_n,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},jo=Function.prototype.bind;function dr(e,t){return jo.call(e,t)}var pr=class{constructor(t){this.partialObserver=t}next(t){let{partialObserver:r}=this;if(r.next)try{r.next(t)}catch(n){Ue(n)}}error(t){let{partialObserver:r}=this;if(r.error)try{r.error(t)}catch(n){Ue(n)}else Ue(t)}complete(){let{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(r){Ue(r)}}},ne=class extends he{constructor(t,r,n){super();let i;if(R(t)||!t)i={next:t??void 0,error:r??void 0,complete:n??void 0};else{let o;this&&I.useDeprecatedNextContext?(o=Object.create(t),o.unsubscribe=()=>this.unsubscribe(),i={next:t.next&&dr(t.next,o),error:t.error&&dr(t.error,o),complete:t.complete&&dr(t.complete,o)}):i=t}this.destination=new pr(i)}};function Ue(e){I.useDeprecatedSynchronousErrorHandling?Pn(e):vn(e)}function Ko(e){throw e}function mr(e,t){let{onStoppedNotification:r}=I;r&&te.setTimeout(()=>r(e,t))}var Uo={closed:!0,next:cr,error:Ko,complete:cr};var Tn=typeof Symbol=="function"&&Symbol.observable||"@@observable";function An(e){return e}function kn(e){return e.length===0?An:e.length===1?e[0]:function(r){return e.reduce((n,i)=>i(n),r)}}var G=class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,n){let i=Vo(t)?t:new ne(t,r,n);return re(()=>{let{operator:o,source:s}=this;i.add(o?o.call(i,s):s?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=On(r),new r((n,i)=>{let o=new ne({next:s=>{try{t(s)}catch(a){i(a),o.unsubscribe()}},error:i,complete:n});this.subscribe(o)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[Tn](){return this}pipe(...t){return kn(t)(this)}toPromise(t){return t=On(t),new t((r,n)=>{let i;this.subscribe(o=>i=o,o=>n(o),()=>r(i))})}};G.create=e=>new G(e);function On(e){var t;return(t=e??I.Promise)!==null&&t!==void 0?t:Promise}function Fo(e){return e&&R(e.next)&&R(e.error)&&R(e.complete)}function Vo(e){return e&&e instanceof he||Fo(e)&&Ke(e)}var Rn=Ne(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var q=class extends G{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new Fe(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Rn}next(t){re(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){re(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){re(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:n,observers:i}=this;return r||n?lr:(this.currentObservers=null,i.push(t),new E(()=>{this.currentObservers=null,ge(i,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:n,isStopped:i}=this;r?t.error(n):i&&t.complete()}asObservable(){let t=new G;return t.source=this,t}};q.create=(e,t)=>new Fe(e,t);var Fe=class extends q{constructor(t,r){super(),this.destination=t,this.source=r}next(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.next)===null||n===void 0||n.call(r,t)}error(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.error)===null||n===void 0||n.call(r,t)}complete(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)}_subscribe(t){var r,n;return(n=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&n!==void 0?n:lr}};var P=[];for(let e=0;e<256;++e)P.push((e+256).toString(16).slice(1));function wn(e,t=0){return(P[e[t+0]]+P[e[t+1]]+P[e[t+2]]+P[e[t+3]]+"-"+P[e[t+4]]+P[e[t+5]]+"-"+P[e[t+6]]+P[e[t+7]]+"-"+P[e[t+8]]+P[e[t+9]]+"-"+P[e[t+10]]+P[e[t+11]]+P[e[t+12]]+P[e[t+13]]+P[e[t+14]]+P[e[t+15]]).toLowerCase()}var Ho=new Uint8Array(16);function gr(){return crypto.getRandomValues(Ho)}function Bo(e,t,r){return!t&&!e&&crypto.randomUUID?crypto.randomUUID():$o(e,t,r)}function $o(e,t,r){e=e||{};let n=e.random??e.rng?.()??gr();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return wn(n)}var hr=Bo;var Ve=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(t){this._source?this._source.label=t:this._source={label:t}}set authToken(t){this._token=t}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(t){this._wsTimeout=t<3e3?3e3:t>6e4?6e4:t}get isOpen(){return!!(this.ws&&this.ws.readyState!==1&&this.ws.readyState!==3)}get filter(){return this._filter}set filter(t){t&&t.indexOf("self")!==-1?this._filter=this.selfId?this.selfId:"":this._filter=t}get playbackMode(){return this._playbackMode}constructor(){this._connect=new q,this.onConnect=this._connect.asObservable(),this._close=new q,this.onClose=this._close.asObservable(),this._error=new q,this.onError=this._error.asObservable(),this._message=new q,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(t,r,n){if(t=t||this.endpoint,!t)return;let i=t.indexOf("?")===-1?"?":"&";r&&(t+=`${i}subscribe=${r}`),(this._token||n)&&(t+=`${r?"&":"?"}token=${this._token||n}`),this.close(),this.ws=new WebSocket(t),setTimeout(()=>{this.ws&&this.ws.readyState!==1&&this.ws.readyState!==3&&(console.warn(`Connection watchdog expired (${this._wsTimeout/1e3} sec): ${this.ws.readyState}... aborting connection...`),this.close())},this._wsTimeout),this.ws.onopen=o=>{this._connect.next(o)},this.ws.onclose=o=>{this._close.next(o)},this.ws.onerror=o=>{this._error.next(o)},this.ws.onmessage=o=>{this.parseOnMessage(o)}}parseOnMessage(t){let r;if(typeof t.data=="string")try{r=JSON.parse(t.data)}catch{return}this.isHello(r)?(this.selfId=r.self,this._playbackMode=typeof r.startTime<"u",this._message.next(r)):this.isResponse(r)?(typeof r.login<"u"&&typeof r.login.token<"u"&&(this._token=r.login.token),this._message.next(r)):this._filter&&this.isDelta(r)?r.context===this._filter&&this._message.next(r):this._message.next(r)}sendRequest(t){if(typeof t!="object")return"";let r=ie.request();return typeof t.login>"u"&&this._token&&(r.token=this._token),Object.keys(t).forEach(i=>{r[i]=t[i]}),this.send(r),r.requestId}put(t,r,n){let i={context:t==="self"?"vessels.self":t,put:{path:r,value:n}};return this.sendRequest(i)}login(t,r){let n={login:{username:t,password:r}};return this.sendRequest(n)}send(t){this.ws&&this.ws.send(typeof t=="object"?JSON.stringify(t):t)}sendUpdate(t="self",r,n){let i=ie.updates();this._token&&(i.token=this._token),i.context=t==="self"?"vessels.self":t,this._token&&(i.token=this._token);let o=[];typeof r=="string"&&o.push({path:r,value:n}),typeof r=="object"&&Array.isArray(r)&&(o=r);let s={timestamp:new Date().toISOString(),values:o};this._source&&(s.source=this._source),i.updates.push(s),this.send(i)}subscribe(t="*",r="*",n){let i=ie.subscribe();if(this._token&&(i.token=this._token),i.context=t==="self"?"vessels.self":t,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.subscribe=r),typeof r=="string"){let o={path:r};n&&typeof n=="object"&&(n.period&&(o.period=n.period),n.minPeriod&&(o.minPeriod=n.minPeriod),n.format&&(n.format==="delta"||n.format==="full")&&(o.format=n.format),n.policy&&(n.policy==="instant"||n.policy==="ideal"||n.policy==="fixed")&&(o.policy=n.policy)),i.subscribe.push(o)}this.send(i)}unsubscribe(t="*",r="*"){let n=ie.unsubscribe();this._token&&(n.token=this._token),n.context=t==="self"?"vessels.self":t,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.unsubscribe=r),typeof r=="string"&&n.unsubscribe.push({path:r}),this.send(n)}raiseAlarm(t="*",r,n){let i;typeof r=="string"?i=r.indexOf("notifications.")===-1?`notifications.${r}`:r:i=r,this.put(t,i,n.value)}clearAlarm(t="*",r){let n=r.indexOf("notifications.")===-1?`notifications.${r}`:r;this.put(t,n,null)}isSelf(t){return t.context===this.selfId}isDelta(t){return typeof t.context<"u"}isHello(t){return typeof t.version<"u"&&typeof t.self<"u"}isResponse(t){return typeof t.requestId<"u"}},ie=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:hr()}}},He=class{_state;_method=[];_message="";constructor(t,r,n,i){this._message=typeof t<"u"?t:"",this._state=typeof r<"u"?r:"alarm",n&&this._method.push("visual"),i&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var oe=class{id;name;mmsi;position=[0,0];positionReceived=!1;positionTimestamp="";positionUpdatedAt=0;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},be=class extends oe{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;closestApproach={distance:null,timeTo:null};cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;headingTrueUpdatedAt=0;headingMagneticUpdatedAt=0;magneticVariation=null;performance={beatAngle:null,gybeAngle:null};radars={};registrations={};resourceUpdates=[];sog;track=[];vectors={cog:[]};wind={direction:null,mwd:null,twd:null,tws:null,speedTrue:null,sog:null,awa:null,aws:null};design={airHeight:null,beam:null,draft:{current:null,maximum:null},length:null};destination={name:null,eta:null};flag;port},Be=class extends oe{constructor(){super()}},$e=class extends oe{sog=0;track=[];constructor(){super()}},xe=class extends oe{constructor(){super()}},We=class extends xe{twd;tws;temperature;constructor(){super()}};var br={K:{C:e=>e-273.15,F:e=>(e-273.15)*9/5+32},rad:{degree:e=>e*180/Math.PI},deg:{radian:e=>e*.0174532925199433},ratio:{percent:e=>e*100},"m/s":{kn:e=>e*1.94384,"km/h":e=>e*3.6,mph:e=>e*2.2369362920544025,Bf:e=>e/.836^.6666666666666666,fps:e=>e*3.280839895013124},"rad/s":{"deg/s":e=>e*57.2958,rpm:e=>e*9.549296585513723},Hz:{rpm:e=>e*60},m:{fathom:e=>e*.5467468562055768,league:e=>e*.0002071251035625518,kilometer:e=>e*.001,mile:e=>e*.000621371192237334,"naut-mile":e=>e*.0005399568034557236,foot:e=>e*3.280839895013124,yard:e=>e*1.0936132983377078},s:{hour:e=>e*.0002777777777777778,minute:e=>e*.016666666666666666,day:e=>e*11574074074074073e-21,year:e=>e*3168876461541279e-23},foot:{m:e=>e/3.280839895013124}},ye={degree:{symbol:"\xBA",name:"Degrees"},radian:{symbol:"rad",name:"Radians"},percent:{symbol:"%",name:"Percent"},kilometer:{symbol:"km",name:"Kilometer"},"naut-mile":{symbol:"nmi",name:"Nautical Mile"},foot:{symbol:"ft",name:"Feet"},yard:{symbol:"yd",name:"Yard"},fathom:{symbol:"fm",name:"Fathom"},hour:{symbol:"hr",name:"Hour"},minute:{symbol:"min",name:"Minute"},F:{symbol:"\xBAF",name:"Fahrenheit"},C:{symbol:"\xBAC",name:"Celcius"}},z=class{static transform(t,r,n){if(!Number.isFinite(t))return null;if(r===n)return t;try{return br[r][n](t)}catch{throw new Error("Transformation not found!")}}static setSymbol(t,r){t in ye&&(ye[t].symbol=r??ye[t].symbol)}static getSymbol(t){return t in ye?ye[t].symbol:t}static degreesToRadians(t){return br.deg.radian(t)}static radiansToDegrees(t=0){return br.rad.degree(t)}static nauticalMilesToKm(t=0){return t*1.852}static angleToDirection(t,r){let n=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let i=r+t;return i>n?i-n:i<0?n+i:i}static directionToAngle(t,r){let n=Math.PI*2;if(r||(r=0),t||(t=0),!Number.isFinite(r)||!Number.isFinite(t))return null;let i=r-t,o;if(i>0)o=i>Math.PI?n-i:0-i;else if(i<0){let s=Math.abs(i);o=s>Math.PI?s-n:s}else o=i;return o}};var k=xn(ki()),C=class e{static R=6371e3;static rhumbDestination(t,r,n){let i=e.R,o=n/i,s=t[1]*Math.PI/180,a=t[0]*Math.PI/180,u=r,p=o*Math.cos(u),m=s+p,h=o,b=89*Math.PI/180;m>b&&s<b?(h=o*(b-s)/p,m=b):m<-b&&s>-b&&(h=o*(-b-s)/p,m=-b);let S=Math.log(Math.tan(Math.PI/4+m/2)/Math.tan(Math.PI/4+s/2)),v=Math.abs(S)>1e-12?(m-s)/S:Math.cos(s),O=h*Math.sin(u)/v;return[(a+O)*180/Math.PI,m*180/Math.PI]}static destCoordinate(t,r,n){let i=(0,k.computeDestinationPoint)(t,n,z.radiansToDegrees(r));return[i.longitude,i.latitude]}static distanceTo(t,r){return(0,k.getDistance)(t,r)}static routeLength(t){return(0,k.getPathLength)(t)}static routeLegs(t,r){if(t.length<2)return[];let n=[];r?n.push({bearing:(0,k.getGreatCircleBearing)(r,t[0]),distance:e.distanceTo(r,t[0])}):n.push({bearing:0,distance:0});for(let i=1;i<t.length;++i){let o={bearing:(0,k.getGreatCircleBearing)(t[i-1],t[i]),distance:e.distanceTo(t[i-1],t[i])};n.push(o)}return n}static closestForwardPoint(t,r,n){if(t.length<2||!r)return-1;let i={index:-1,distance:-1};for(let o=0;o<t.length;++o){let s=(0,k.getGreatCircleBearing)(r,t[o]),a=Fr.difference(n,s);if(a>-90&&a<90){let u=e.distanceTo(r,t[o]);(i.distance===-1||u<i.distance)&&(i.distance=u,i.index=o)}}return i.index}static centreOfPolygon(t){let r=(0,k.getCenter)(t);return[r.longitude,r.latitude]}static inDLCrossingZone(t,r=170){return Math.abs(t[0])>=r}static inBounds(t,r){return(0,k.isPointInPolygon)(t,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(t,r){let i=111111*Math.cos(z.degreesToRadians(t[1])),o=[0,0,0,0];return o[1]=t[1]+(0-Math.abs(r))/111111,o[3]=t[1]+Math.abs(r)/111111,o[0]=t[0]+(0-Math.abs(r))/i,o[2]=t[0]+Math.abs(r)/i,o}static normaliseCoords(t){if(!Array.isArray(t))return[0,0];if(typeof t[0]=="number"){if(t[0]>180)for(;t[0]>180;)t[0]=t[0]-360;else if(t[0]<-180)for(;t[0]<-180;)t[0]=360+t[0];return t}else if(Array.isArray(t[0]))return t.forEach(r=>this.normaliseCoords(r)),t}},Fr=class e{static difference(t,r){let n=360-r,i=t+n,o=e.normalise(i);return o<180?0-o:360-o}static add(t,r){return e.normalise(t+r)}static normalise(t){return t<0?t+360:t>=360?t-360:t}};var $t=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},Z=class{action;playback=!1;result=null;timestamp;self=null;watchDogAlarm;constructor(){this.action="update"}},Wt=class extends Z{constructor(){super(),this.action="resource"}},Gt=class extends Z{constructor(){super(),this.action="radar"}},ae=class extends Z{timed;constructor(){super(),this.action="trail"}};var po=xn(Li());var Yr=2*Math.PI;function ue(e,t){return!Number.isFinite(e)||!Number.isFinite(t)?null:((e+t)%Yr+Yr)%Yr}var Ii="auto",Di=1e4,Iu=.2572,Ci=new Set(["navigation.headingTrue","navigation.headingMagnetic","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.speedOverGround","navigation.magneticVariation"]);function Ei(e){let t=Date.now();if(e.headingTrue!==null&&t-e.headingTrueUpdatedAt<=Di){e.orientation=e.headingTrue;return}if(e.headingMagnetic!==null&&t-e.headingMagneticUpdatedAt<=Di){e.orientation=ue(e.headingMagnetic,e.magneticVariation)??e.headingMagnetic;return}let r=e.cogTrue??ue(e.cogMagnetic,e.magneticVariation)??e.cogMagnetic;typeof r=="number"&&(e.sog??0)>=Iu&&(e.orientation=r)}var Cu=new Set(["navigation.headingMagnetic","navigation.courseOverGroundMagnetic"]);function Jr(e,t,r){return Cu.has(e)?ue(t,r)??t:t}function qi(e,t){let r=t==="navigation.headingMagnetic"?e.headingMagnetic:t==="navigation.courseOverGroundMagnetic"?e.cogMagnetic:null;return Number.isFinite(r)?Jr(t,r,e.magneticVariation):null}var Zt={api:"none",serverHasTracksApi:!1,v1SelfTrack:!1,v1AisTracks:!1},Eu="PT2H",qu=120,Nu=10,ju=1e3,Yt=12;function Ui(e){let t=e.replace(/\/v1\/api\/?$/,"");return{features:`${t}/v2/features`,providers:`${t}/v2/api/tracks/_providers`,v1SelfTrack:`${e}/self/track?timespan=1h`,v1Tracks:`${e}/tracks`}}function en(e){return`${e.replace(/\/v1\/api\/?$/,"")}/v2/api/tracks`}var Ni=async(e,t)=>{try{return(await e(t)).ok}catch{return!1}},ji=async(e,t)=>{try{let r=await e(t);return r.ok?await r.json():void 0}catch{return}};function Ku(e){if(!e||typeof e!="object")return;let t=Object.entries(e);if(t.length!==0)return(t.find(([,r])=>r?.isDefault)??t[0])[0]}async function Fi(e,t){let r=await ji(e,t.features),n=Array.isArray(r?.apis)&&r.apis.includes("tracks");if(n){let s=Ku(await ji(e,t.providers));if(s)return{api:"v2",serverHasTracksApi:n,provider:s,v1SelfTrack:!1,v1AisTracks:!1}}let[i,o]=await Promise.all([Ni(e,t.v1SelfTrack),Ni(e,t.v1Tracks)]);return{api:i||o?"v1":"none",serverHasTracksApi:n,v1SelfTrack:i,v1AisTracks:o}}function zt(e){if(typeof e!="string")return;let t=e.trim();if(/^P/i.test(t))return t.toUpperCase();let r=/^(\d+)\s*([smh])$/i.exec(t);return r?`PT${Number(r[1])}${r[2].toUpperCase()}`:void 0}function Vi(e){return{lastHour:e.lastHour,next23:e.next23==="5s"?"1m":e.next23,beyond24:e.beyond24==="10s"?"5m":e.beyond24}}var Y=36e5,Oe=0,Hi=96;function Bi(e,t,r,n,i){let o=u=>new Date(u).toISOString(),s=n===void 0?{simplify:!0}:{epsilon:n},a=[];return e===Oe||e>24?(a.push({...e===Oe?{}:{from:o(r-e*Y)},to:o(r-24*Y),resolution:zt(t.beyond24),...s,...e===Oe&&i?{bbox:i}:{}}),a.push({from:o(r-24*Y),to:o(r-Y),resolution:zt(t.next23),...s})):e>1&&a.push({from:o(r-e*Y),to:o(r-Y),resolution:zt(t.next23),...s}),a.push({from:o(r-Y),resolution:zt(t.lastHour)}),a}function Xt(e){return Object.entries(e).filter(([,t])=>t!==void 0&&t!=="").map(([t,r])=>`${t}=${encodeURIComponent(String(r))}`).join("&")}function $i(e,t,r){return`${e}?${Xt({context:"self",from:t.from,to:t.to,resolution:t.resolution,epsilon:t.epsilon,simplify:t.simplify?"true":void 0,bbox:t.bbox?.join(","),times:"true",provider:r})}`}var Wi=e=>{let t=e?.features;return Array.isArray(t)?t:[]},Qr=e=>e.geometry?.type==="MultiLineString"&&Array.isArray(e.geometry.coordinates)?e.geometry.coordinates:void 0;function Gi(e){let t=Wi(e).filter(n=>n.properties?.isSelf&&Qr(n));if(t.length===0)return;let r=t[0].properties?.providerId;return t.filter(n=>n.properties?.providerId===r).flatMap(n=>Qr(n))}function zi(e,t){let r=new Map,n=new Map;return Wi(e).forEach(i=>{let o=i.properties?.context,s=Qr(i);if(!o||i.properties?.isSelf||!s)return;let a=i.properties?.providerId;(!r.has(o)||a===t&&n.get(o)!==t)&&(r.set(o,s),n.set(o,a))}),r}function Ki(e){let t=((e+180)%360+360)%360-180;return t===-180&&e>0?180:t}function tn(e,t){if(!Array.isArray(e)||e.length!==4)return null;let[r,n,i,o]=e;if(![r,n,i,o].every(Number.isFinite)||i<r)return null;if(Array.isArray(t)&&t.length===4){let[a,u,p,m]=t,h=Math.round(((r+i)/2-(a+p)/2)/360)*360;if(r=Math.max(r,a+h),i=Math.min(i,p+h),n=Math.max(n,u),o=Math.min(o,m),r>=i||n>=o)return null}let s=a=>Math.round(a*1e6)/1e6;return n=s(Math.max(-90,n)),o=s(Math.min(90,o)),i-r>=360?[-180,n,180,o]:[s(Ki(r)),n,s(Ki(i)),o]}function Xi(e){if(e.showAll){if(!e.view||!(e.view.zoom>=Nu))return null;let n=tn(e.view.extent,e.radiusBox);return n?Xt({bbox:n.join(","),duration:Eu,maxPoints:qu,times:"true",provider:e.provider}):null}let t=e.picks.filter(n=>e.targets.has(n));if(t.length===0)return null;let r=Number.isFinite(e.pickHours)&&e.pickHours>0?e.pickHours:Yt;return Xt({contexts:t.join(","),duration:`PT${r}H`,maxPoints:ju,times:"true",provider:e.provider})}var Zi=.5,Yi=.5;function rn(e,t){let[r,n,i,o]=e,s=(i-r)*t,a=(o-n)*t;return[r-s,n-a,i+s,o+a]}function Ji(e,t){if(!e||Math.floor(e.zoom)!==Math.floor(t.zoom))return!0;let[r,n,i,o]=t.extent,[s,a,u,p]=e.extent;return r<s||n<a||i>u||o>p}function nn(){let e=0;return{begin:()=>++e,invalidate:()=>{e++},isCurrent:t=>t===e}}var on=6378137,eo=2*Math.PI*on/256;function Qi(e){let t=Math.max(-85,Math.min(85,e));return on*Math.log(Math.tan(Math.PI/4+t*Math.PI/360))}function to(e,t){let r=(Qi(e)+Qi(t))/2/on;return(2*Math.atan(Math.exp(r))-Math.PI/2)*180/Math.PI}var sn=6e4,an=60*sn,ro=24*an;function io(e,t){if(!Number.isFinite(e)||!Array.isArray(t)||t.length!==4)return null;let r=to(t[1],t[3]);if(!Number.isFinite(r))return null;let n=Math.floor(e)+1,i=eo/Math.pow(2,n)*Math.cos(r*Math.PI/180),o=Number(i.toPrecision(3));return o>0?o:null}var oo=e=>{let t=e?.features;return Array.isArray(t)?t:[]},Uu=(e,t)=>{if(e.length===0)return[];let r=e.some(n=>n.properties?.providerId===t)?t:e[0].properties?.providerId;return e.filter(n=>n.properties?.providerId===r)};function un(e,t,r){let n=[],i=[],o=!0,s,a;if(Uu(oo(t),r).forEach(u=>{typeof u.properties?.resolution=="string"&&(s=u.properties.resolution),typeof u.properties?.epsilon=="number"&&(a=Math.max(a??0,u.properties.epsilon));let p=u.geometry?.type==="MultiLineString"&&Array.isArray(u.geometry.coordinates)?u.geometry.coordinates:[],m=u.properties?.coordTimes;p.forEach((h,b)=>{if(!Array.isArray(h)||h.length===0)return;n.push(h);let S=Array.isArray(m)?m[b]:void 0;Array.isArray(S)&&S.length===h.length?i.push(S):o=!1})}),n.length!==0)return{context:e,lines:n,...o&&{times:i},...s!==void 0&&{resolution:s},...a!==void 0&&{epsilon:a}}}function so(e,t){let r=new Map;oo(e).forEach(i=>{let o=i.properties?.context;o&&r.set(o,[...r.get(o)??[],i])});let n=new Map;return r.forEach((i,o)=>{let s=un(o,{features:i},t);s?.times&&n.set(o,{lines:s.lines,times:s.times})}),n}var Sd=[5*sn,15*sn,an,6*an,ro,7*ro];var no=e=>e?Date.parse(e):NaN;var Fu=10*6e4;function ao(e,t){let r=[...e.lines],n=[...e.times];return t.lines.forEach((i,o)=>{let s=n[n.length-1],a=s?no(t.times[o][0])-no(s[s.length-1]):NaN;o===0&&a>=0&&a<=Fu?(r[r.length-1]=r[r.length-1].concat(i),n[n.length-1]=s.concat(t.times[o])):(r.push(i),n.push(t.times[o]))}),{lines:r,times:n}}var Vu=["environment.wind.speedTrue","environment.wind.speedOverGround","environment.wind.angleTrueGround","environment.wind.angleTrueWater","environment.wind.directionTrue","environment.wind.directionMagnetic","navigation.courseOverGroundTrue","navigation.courseOverGroundMagnetic","navigation.headingTrue","navigation.headingMagnetic"],y={active:!1,maxMsgIntervals:18,intervalCount:0,msgCount:0,alarm:!1},l,M,Qt,Le=[],er=[],ln=!1,Q,fe=Zt,go=Promise.resolve(Zt),U=null,ho=null,bo=[],tr=!1,cn=Yt,uo,Hu=1e3,de=new Set,Ie=nn(),$=nn(),Bu=5e3,x={signalk:{},aisState:[]},xo=[0,0,0,0],yo=60,Re=0,A,ce={},J=500,T=!1,vo,K={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},fn={selfLines:{cog:{length:10}},aisCogLine:10},me={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},V,_o,le="freeboard-sk";function $u(){l={self:new be,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},l.self.positionReceived=!1,de.clear(),Ie.invalidate(),Mo()}function Mo(){A={updated:{},stale:{},expired:{}}}function Jt({action:e,msg:t}){switch(e){case"onConnect":postMessage({action:"open",playback:T,result:t.target.readyState}),Gu(),y.msgCount=0,y.intervalCount=0,y.alarm=!1,y.active=!0;break;case"onClose":So(!1),lo();break;case"onError":postMessage({action:"error",playback:T,result:"Connection error!"}),lo();break;case"onMessage":y.msgCount++,nl(t);break}}function lo(){y.msgCount=0,y.intervalCount=0,y.active=!0,y.alarm=!0,nr(!0)}addEventListener("message",({data:e})=>{Wu(e)});function Wu(e){if(e.cmd)switch(e.cmd){case"open":co(e.options),tl(e.options);break;case"close":So(!0);break;case"subscribe":M.subscribe(e.options.context,e.options.path);break;case"settings":co(e.options);break;case"alarm":rl(e.options);break;case"vessel":if(e.options){let t;e.options.context==="self"?t=l.self:t=l.aisTargets.get(e.options.context),t&&e.options.name&&(t.name=e.options.name)}break;case"auth":e.options&&typeof e.options.token<"u"&&(Qt=e.options.token);break;case"trail":e.options&&(me.trailDuration=e.options.trailDuration??24,e.options.trailResolution&&(me.trailResolution.lastHour=e.options.trailResolution.lastHour??"5s",me.trailResolution.next23=e.options.trailResolution.next23??"5s",me.trailResolution.beyond24=e.options.trailResolution.beyond24??"10s")),zu();break;case"view":e.options?.extent&&(U={extent:e.options.extent,zoom:e.options.zoom},tr&&Ji(ho,U)&&rr());break;case"trackSelection":bo=Array.isArray(e.options?.ids)?e.options.ids:[],rr();break}}function co(e={}){if(e.interval&&typeof e.interval=="number"&&(J=e.interval,Oo(),ko(),yo=1/(J/1e3)*60),T=!!e.playback,e.config){typeof e.config.units.preferredPaths<"u"&&(ce=e.config.units.preferredPaths),e.config.vessels.aisMaxAge&&typeof e.config.vessels.aisMaxAge=="number"&&(K.maxAge=e.config.vessels.aisMaxAge),e.config.vessels.aisStaleAge&&typeof e.config.vessels.aisStaleAge=="number"&&(K.staleAge=e.config.vessels.aisStaleAge),typeof e.config.signalk.maxRadius=="number"&&(x.signalk=e.config.signalk),typeof e.config.selections.aisState<"u"&&Array.isArray(e.config.selections.aisState)&&(x.aisState=e.config.selections.aisState),fn=e.config.vessels,e.config.vessels.aisShowTrack!==tr&&(tr=e.config.vessels.aisShowTrack,rr());let t=e.config.vessels.aisTrackLength??Yt;t!==cn&&(cn=t,rr())}}function So(e=!1){Oo(),Le.forEach(t=>t.unsubscribe()),M&&e&&M.close(),M=null,postMessage({action:"close",result:e,playback:T})}function De(e){return fetch(e).then(t=>t.json())}function Po(e){return fetch(e,Qt?{headers:{Authorization:`Bearer ${Qt}`}}:void 0)}function To(e){return Po(e).then(t=>{if(!t.ok)throw new Error(`${t.status}`);return t.json()})}function Gu(){Q&&(go=Fi(Po,Ui(Q)).catch(()=>Zt).then(e=>(fe=e,postMessage({action:"trackSource",playback:T,result:e}),dn(),e)))}function zu(){let e=$.begin();go.then(t=>{if(t.api==="v2")Xu(en(Q),me,t.provider,e);else if(t.api==="v1"&&t.v1SelfTrack)el(me,e);else if($.isCurrent(e)){let r=new ae;r.playback=T,r.result=null,postMessage(r)}})}function Xu(e,t,r,n=$.begin()){let i=(U&&io(U.zoom,U.extent))??void 0,o=(U&&tn(rn(U.extent,Yi)))??void 0,s=Bi(t.trailDuration,t.trailResolution,Date.now(),i,o),a=new ae;a.playback=T,Promise.all(s.map(u=>To($i(e,u,r)))).then(u=>{$.isCurrent(n)&&(a.result=Ao(u.map(p=>Gi(p)??null),s.map(p=>p.epsilon!==void 0||p.simplify===!0)),a.timed=Zu(u,r),postMessage(a))}).catch(()=>{$.isCurrent(n)&&(a.result=null,postMessage(a))})}function Zu(e,t){let r={lines:[],times:[]};for(let n of e){let i=un("self",n,t);if(i&&!i.times)return;i&&(r=ao(r,{lines:i.lines,times:i.times}))}return r.lines.length?r:void 0}function rr(){Ie.invalidate(),clearTimeout(uo),uo=setTimeout(()=>{fe.api==="v2"&&dn()},Hu)}function dn(){T||!l||(fe.api==="v2"?Yu(fe.provider):fe.api==="v1"&&fe.v1AisTracks&&Qu())}function Yu(e){let t=U&&{extent:rn(U.extent,Zi),zoom:U.zoom};ho=t;let r=Xi({view:t,showAll:tr,picks:bo,targets:l.aisTargets,radiusBox:x.signalk.maxRadius&&l.self.positionReceived?C.calcMapifiedExtent(l.self.position,x.signalk.maxRadius):void 0,pickHours:cn,provider:e});if(!r){Ie.invalidate();return}let n=Ie.begin();To(`${en(Q)}?${r}`).then(i=>{Ie.isCurrent(n)&&!T&&(Ju(l.aisTargets,zi(i,e)),postMessage({action:"aisTracksTimed",playback:T,result:so(i,e)}))}).catch(()=>{})}function Ju(e,t){let r=[...de];de.clear(),t.forEach((n,i)=>{let o=e.get(i),s=n.filter(a=>Array.isArray(a)&&a.length>0);o?.positionReceived&&o.position&&s.length>0&&(o.track=s,de.add(i),ir(o))}),r.filter(n=>!de.has(n)).forEach(n=>{let i=e.get(n),o=i?.track?.[i.track.length-1];o&&(i.track=[o.slice(0-K.maxTrack)])})}function Qu(){let e=x&&x.signalk&&x.signalk.maxRadius?`?radius=${x.signalk.maxRadius}`:"?radius=10000";De(Q+"/tracks"+e).then(t=>{Object.entries(t).forEach(r=>{if(l.aisTargets.has(r[0])){let n=l.aisTargets.get(r[0]);n.track=r[1].coordinates,ir(n)}})}).catch(()=>{})}function el(e,t=$.begin()){let r=Q+"/self/track?",n=Vi(e.trailResolution),i=e.trailDuration===Oe?Hi:e.trailDuration,o=[];i>24&&(o.push(De(`${r}timespan=${i-24}h&resolution=${n.beyond24}&timespanOffset=24`)),o.push(De(`${r}timespan=23h&resolution=${n.next23}&timespanOffset=1`))),i>1&&i<25&&o.push(De(`${r}timespan=${i-1}h&resolution=${n.next23}&timespanOffset=1`)),o.push(De(`${r}timespan=1h&resolution=${n.lastHour}`));let s=new ae;s.playback=T,Promise.all(o).then(a=>{$.isCurrent(t)&&(s.result=Ao(a.map(u=>u?.type==="MultiLineString"&&Array.isArray(u.coordinates)?u.coordinates:null)),postMessage(s))}).catch(()=>{$.isCurrent(t)&&(s.result=null,postMessage(s))})}function Ao(e,t=[]){let o=e.length-1,s=[];return e.forEach((a,u)=>{a&&(u!==o?a.forEach(p=>{let m=t[u]?p:(0,po.SimplifyAP)(p,5e-4,!0);for(;m.length>60;){let h=m.slice(0,60);s.push(h),m=m.slice(59),m[0]=[m[0][0]+5e-9,m[0][1]+5e-9]}m.length!==0&&s.push(m)}):s=s.concat(a))}),s}function tl(e){if(M)return;if(!e.url){postMessage({action:"error",result:"Valid options not provided!"});return}let t=e.url.split("/");if(t.pop(),t.push("api"),t[0]=t[0]==="wss:"?"https:":"http:",Q=t.join("/"),$u(),M=new Ve,Le.push(M.onConnect.subscribe(r=>Jt({action:"onConnect",msg:r}))),Le.push(M.onClose.subscribe(r=>Jt({action:"onClose",msg:r}))),Le.push(M.onError.subscribe(r=>Jt({action:"onError",msg:r}))),Le.push(M.onMessage.subscribe(r=>Jt({action:"onMessage",msg:r}))),M.authToken=Qt,e.playback){let r=e.playbackOptions.startTime?`?startTime=${e.playbackOptions.startTime}`:null,n=e.playbackOptions.playbackRate?`playbackRate=${e.playbackOptions.playbackRate}`:null;n=n?r?"&"+n:"?"+n:null;let i=`${e.url}${r||""}${n||""}`;M.open(i,e.playbackOptions.subscribe,e.token)}else M.open(e.url,e.subscribe,e.token)}function rl(e){let t=e.type.indexOf("notifications.")===-1?`notifications.${e.type}`:e.type;e.raise?M.raiseAlarm("self",t,new He(e.message,e.state,!0,!0)):M.clearAlarm("self",t)}function nl(e){M.isHello(e)?(postMessage({action:"hello",result:e,self:e.self,playback:T}),J&&ko()):M.isDelta(e)?(ln=!0,e.updates.forEach(t=>{!("values"in t)||!t.values||(V=t.$source,_o=t.timestamp,t.values.forEach(r=>{if(vo=t.timestamp,!!e.context)switch(e.context.split(".")[0]){case"shore":case"atons":x?.signalk.atons&&ul(e.context,r),we(e.context,l.atons,x?.signalk.atons);break;case"sar":x?.signalk.sar&&ll(e.context,r),we(e.context,l.sar,x?.signalk.sar);break;case"aircraft":x?.signalk.aircraft&&fl(e.context,r),we(e.context,l.aircraft,x?.signalk.aircraft);break;case"meteo":x?.signalk.meteo&&(cl(e.context,r),mo(r)),we(e.context,l.meteo,x?.signalk.meteo);break;case"vessels":if(M.isSelf(e))l.self.id||(l.self.id=e.context),fo(l.self,r,!0),mo(r);else{if(x?.signalk.vessels){let n=il(e.context);fo(n,r)}we(e.context,l.aisTargets,x?.signalk.vessels,x?.aisState)}break}}))}),nr()):M.isResponse(e)&&postMessage({action:"response",result:e})}function we(e,t,r=!0,n=[]){if(r){let i=t.get(e);i&&n.includes(i?.state)&&(A.expired[e]=!0,i=null),i&&x.signalk.maxRadius?i.positionReceived&&C.inBounds(i.position,xo)?A.updated[e]=!0:(t.delete(e),A.expired[e]=!0):A.updated[e]=!0}else t.size!==0&&(t.forEach((i,o)=>{A.expired[o]=!0}),t.clear())}function nr(e=!1){if(!J||e){let t=new Z;t.watchDogAlarm=y.alarm,t.playback=T,l.aisStatus.updated=Object.keys(A.updated),l.aisStatus.stale=Object.keys(A.stale),l.aisStatus.expired=Object.keys(A.expired),t.result=l,t.timestamp=T?vo:l.self.lastUpdated.toISOString(),postMessage(t),Mo(),l.self.resourceUpdates=[],al(),Re===0&&l.self.positionReceived&&x?.signalk.maxRadius&&(xo=C.calcMapifiedExtent(l.self.position,x.signalk.maxRadius),Re++),Re=Re>=yo?0:Re+1}}function ko(){J&&typeof J=="number"&&er.push(setInterval(()=>{y.active&&!y.msgCount?(y.intervalCount=y.intervalCount+1,y.intervalCount>=y.maxMsgIntervals&&(y.intervalCount=0,y.alarm=!0,nr(!0))):(y.intervalCount=0,y.msgCount=0,y.alarm=!1),ln&&(nr(!0),ln=!1)},J)),er.push(setInterval(()=>dn(),6e4))}function Oo(){er.forEach(e=>clearInterval(e)),er=[]}function il(e){if(!l.aisTargets.has(e)){let t=new be;t.id=e,t.position=null,l.aisTargets.set(e,t)}return l.aisTargets.get(e)}function fo(e,t,r=!1){let n=t.value;if(r){if(e.lastUpdated=new Date,t.path.startsWith("resources."))e.resourceUpdates.push(t),sl(t);else if(t.path.startsWith("radars"))ol(t);else if(t.path.startsWith("navigation.racing"))e.properties[t.path]=n;else if(t.path==="performance.beatAngle")e.performance.beatAngle=n;else if(t.path==="performance.gybeAngle")e.performance.gybeAngle=n;else if(t.path.startsWith("navigation.course."))if(t.path.startsWith("navigation.course.calcValues.")){let a=t.path.split(".").slice(3).join(".");e.courseCalcs[a]=n}else t.path.includes("activeRoute")?e.courseApi.activeRoute=n:t.path.includes("nextPoint")?e.courseApi.nextPoint=n:t.path.includes("previousPoint")?e.courseApi.previousPoint=n:t.path.includes("arrivalCircle")&&(e.courseApi.arrivalCircle=n);else if(t.path.startsWith("radars.")){let a=t.path.split("."),u=a.slice(2).join(".");e.radars[a[1]]||(e.radars[a[1]]={}),e.radars[a[1]][u]=n}let s=t.path.indexOf("course")!==-1?t.path.split(".").slice(0,2).join("."):t.path;Vu.indexOf(s)!==-1&&(l.paths[s]=null)}else t.path==="navigation.distanceToSelf"&&(e.distanceToSelf=n),t.path==="navigation.closestApproach"&&(e.closestApproach=n);if(t.path==="")typeof n.name<"u"&&(e.name=n.name),typeof n.mmsi<"u"&&(e.mmsi=n.mmsi,e.lastUpdated=new Date),typeof n.registrations<"u"&&(e.registrations=n.registrations),typeof n.buddy<"u"&&(e.buddy=n.buddy),typeof n.communication<"u"&&(e.callsignVhf=n.communication.callsignVhf??"",e.callsignHf=n.communication.callsignHf??"");else if(t.path==="communication.callsignVhf")e.callsignVhf=n;else if(t.path==="communication.callsignHf")e.callsignHf=n;else if(t.path==="design.aisShipType")e.type=n;else if(t.path==="navigation.position"&&n){if(typeof n.latitude>"u"||typeof n.longitude>"u")return;e.position=C.normaliseCoords([n.longitude,n.latitude]),e.positionReceived=!0,e.positionTimestamp=_o??"",e.positionUpdatedAt=Date.now(),e.lastUpdated=new Date,r||ir(e)}else t.path==="navigation.state"?e.state=n:t.path==="navigation.speedOverGround"?e.sog=n:t.path==="environment.mode"?e.environment.mode=n:t.path==="environment.sun"?e.environment.sun=n:t.path==="environment.wind.angleApparent"?e.wind.awa=n:t.path==="environment.wind.speedApparent"?e.wind.aws=n:t.path==="environment.wind.speedTrue"?e.wind.speedTrue=n:t.path==="environment.wind.speedOverGround"?e.wind.sog=n:t.path==="environment.wind.directionTrue"?e.wind.twd=n:t.path==="environment.wind.directionMagnetic"?e.wind.mwd=n:t.path==="navigation.anchor.position"?e.anchor.position=n:t.path==="navigation.anchor.maxRadius"?e.anchor.maxRadius=n:t.path==="navigation.anchor.currentRadius"?e.anchor.radius=n:t.path==="steering.autopilot.state"&&V===le?e.autopilot.state=n:t.path==="steering.autopilot.mode"&&V===le?e.autopilot.mode=n:t.path==="steering.autopilot.target"&&V===le?e.autopilot.target=n:t.path==="steering.autopilot.engaged"&&V===le?e.autopilot.enabled=n:t.path==="steering.autopilot.defaultPilot"?(e.autopilot.default=n,le=n):t.path==="steering.autopilot.availableActions"&&V===le?e.autopilot.availableActions=n??[]:t.path==="navigation.courseOverGroundTrue"?e.cogTrue=n:t.path==="navigation.courseOverGroundMagnetic"?e.cogMagnetic=n:t.path==="navigation.headingTrue"?(e.headingTrue=n,e.headingTrueUpdatedAt=Date.now()):t.path==="navigation.headingMagnetic"?(e.headingMagnetic=n,e.headingMagneticUpdatedAt=Date.now()):t.path==="navigation.magneticVariation"&&(e.magneticVariation=n);let i=ce.heading;typeof i>"u"||i===Ii?Ci.has(t.path)&&Ei(e):t.path===i?e.orientation=Jr(t.path,n,e.magneticVariation):t.path==="navigation.magneticVariation"&&(e.orientation=qi(e,i)??e.orientation),typeof ce.tws<"u"&&t.path===ce.tws&&(e.wind.tws=n),typeof ce.twd<"u"&&t.path===ce.twd&&(e.wind.direction=t.path==="environment.wind.angleTrueGround"||t.path==="environment.wind.angleTrueWater"?z.angleToDirection(n,e.orientation??0):n);let o=e.cogTrue??ue(e.cogMagnetic,e.magneticVariation)??e.cogMagnetic??void 0;if(typeof o<"u"&&e.position){let s=r?fn.selfLines.cog.length:fn.aisCogLine,a=(e.sog??0)*(s*60);e.vectors.cog=[e.position,C.rhumbDestination(e.position,o,a)]}}function ol(e){let t=new Gt;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function sl(e){let t=new Wt;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}function mo(e){if(e.path.includes("notifications.")){let t=new $t;t.playback=T,t.result={path:e.path,value:e.value,sourceRef:V},postMessage(t)}}function al(){let e=new Date().valueOf();l.aisTargets.forEach((t,r)=>{t.lastUpdated.valueOf()<e-K.maxAge?(A.expired[r]=!0,l.aisTargets.delete(r)):t.lastUpdated.valueOf()<e-K.staleAge&&(A.stale[r]=!0)}),l.aircraft.forEach((t,r)=>{t.lastUpdated.valueOf()<e-K.maxAge?(A.expired[r]=!0,l.aircraft.delete(r)):t.lastUpdated.valueOf()<e-K.staleAge&&(A.stale[r]=!0)}),l.sar.forEach((t,r)=>{t.lastUpdated.valueOf()<e-K.maxAge?(A.expired[r]=!0,l.sar.delete(r)):t.lastUpdated.valueOf()<e-K.staleAge&&(A.stale[r]=!0)})}function ul(e,t){let r=!1;if(e.indexOf("shore.basestations")!==-1&&(r=!0),!l.atons.has(e)){let i=new xe;i.id=e,i.position=null,i.type.id=null,r&&(i.type.id=-2,i.type.name="Basestation"),l.atons.set(e,i)}let n=l.atons.get(e);return t.path===""?(typeof t.value.name<"u"&&(n.name=t.value.name),typeof t.value.mmsi<"u"&&(n.mmsi=t.value.mmsi),typeof t.value.atonType<"u"&&(n.type=t.value.atonType)):t.path==="atonType"?n.type=t.value:t.path==="virtual"?n.virtual=t.value:t.path==="navigation.position"?(n.position=[t.value.longitude,t.value.latitude],n.positionReceived=!0):n.properties[t.path]=t.value,e}function ll(e,t){if(!l.sar.has(e)){let n=new Be;n.id=e,n.position=null,n.type.id=-1,n.type.name="SaR Beacon",l.sar.set(e,n)}let r=l.sar.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value&&(r.position=C.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function cl(e,t){if(!l.meteo.has(e)){let n=new We;n.id=e,n.position=null,n.type.id=-1,n.type.name="Weather Station",l.meteo.set(e,n)}let r=l.meteo.get(e);if(t.path===""){if(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"){let n=e.split(":").slice(-2);r.mmsi=n.length===2?`${n[0]}:${n[1]}`:t.value.mmsi}typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")}else t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="environment.outside.temperature"?r.temperature=t.value:t.path==="environment.wind.directionTrue"?r.twd=t.value:t.path==="environment.wind.averageSpeed"?r.tws=t.value:t.path==="navigation.position"&&t.value&&(r.position=C.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0)}function fl(e,t){if(!l.aircraft.has(e)){let n=new $e;n.id=e,n.position=null,l.aircraft.set(e,n)}let r=l.aircraft.get(e);t.path===""?(typeof t.value.name<"u"&&(r.name=t.value.name),typeof t.value.mmsi<"u"&&(r.mmsi=t.value.mmsi),typeof t.value.communication<"u"&&(r.callsignVhf=t.value.communication.callsignVhf??"",r.callsignHf=t.value.communication.callsignHf??"")):t.path==="communication.callsignVhf"?r.callsignVhf=t.value:t.path==="communication.callsignHf"?r.callsignHf=t.value:t.path==="navigation.position"&&t.value?(r.position=C.normaliseCoords([t.value.longitude,t.value.latitude]),r.positionReceived=!0,ir(r)):t.path==="navigation.courseOverGroundTrue"?r.orientation=t.value:t.path==="navigation.speedOverGround"&&(r.sog=t.value)}function ir(e){if(e.track&&e.track.length===0)e.track.push([e.position]);else{let t=e.track[e.track.length-1].length,r=e.track[e.track.length-1][t-1];r[0]!==e.position[0]&&r[1]!==e.position[1]&&e.track[e.track.length-1].push(e.position)}e.track[e.track.length-1]=e.track[e.track.length-1].slice(0-(de.has(e.id)?Bu:K.maxTrack))}export{De as apiGet,Ju as applyServerAisTracks,Ao as assembleTrail,el as getVesselTrail,Xu as getVesselTrailV2,Jt as handleStreamEvent,$u as initVessels,fo as processVessel,Zu as timedTrail,Po as trackFetch};