@signalk/freeboard-sk 2.19.2 → 2.19.4-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.
- package/package.json +19 -18
- package/public/3rdpartylicenses.txt +1020 -658
- package/public/assets/help/index.html +49 -4
- package/public/chunk-2LV2AYBP.js +1 -0
- package/public/chunk-BHPQZ4GL.js +1 -0
- package/public/chunk-DZKDVIIP.js +1 -0
- package/public/chunk-ENHEBBEX.js +1 -0
- package/public/chunk-FDERIQAA.js +1 -0
- package/public/chunk-FGDSLMXF.js +1 -0
- package/public/chunk-HN6ZZ2AO.js +1 -0
- package/public/chunk-LKMAWW2N.js +1 -0
- package/public/chunk-LOAXDGMI.js +1 -0
- package/public/chunk-SFOSXYXG.js +1 -0
- package/public/chunk-X2I2P6MS.js +1 -0
- package/public/index.html +2 -2
- package/public/main-EVFRM3BW.js +460 -0
- package/public/polyfills-5CFQRCPP.js +2 -0
- package/public/prerendered-routes.json +3 -0
- package/public/{styles.2dfca2dcfc8d165a.css → styles-KMQVA5HK.css} +1 -1
- package/public/worker-5EQZHLKN.js +6 -0
- package/public/381.a1a010c6a447d5a9.js +0 -1
- package/public/main.7a0bece8599aa203.js +0 -1
- package/public/polyfills.6bdae4f01ab4e532.js +0 -1
- package/public/runtime.88a8f6e5bca88ee7.js +0 -1
- /package/public/{KFOlCnqEu92Fr1MmEU9fABc4EsA.4ed2722dc50bc9dc.woff2 → media/KFOlCnqEu92Fr1MmEU9fABc4EsA-J3JHELOF.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fBBc4.f7f4d344a6938a9a.woff2 → media/KFOlCnqEu92Fr1MmEU9fBBc4-672NGRFG.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fBxc4EsA.a6e016f93f36e92c.woff2 → media/KFOlCnqEu92Fr1MmEU9fBxc4EsA-U3QBN6J7.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fCBc4EsA.afc199cd9de666f6.woff2 → media/KFOlCnqEu92Fr1MmEU9fCBc4EsA-V7AZTTM5.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fCRc4EsA.e38c774218b8295c.woff2 → media/KFOlCnqEu92Fr1MmEU9fCRc4EsA-4OGHOQQY.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fChc4EsA.ed52d196083dff5e.woff2 → media/KFOlCnqEu92Fr1MmEU9fChc4EsA-5VJNDFQI.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmEU9fCxc4EsA.b251befed1593089.woff2 → media/KFOlCnqEu92Fr1MmEU9fCxc4EsA-WJI357WR.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fABc4EsA.6e7b80cb3c54a5a9.woff2 → media/KFOlCnqEu92Fr1MmSU5fABc4EsA-NZ5YBSZ4.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fBBc4.ecceb14f9471d216.woff2 → media/KFOlCnqEu92Fr1MmSU5fBBc4-5THLCT4U.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fBxc4EsA.ba465382be530d33.woff2 → media/KFOlCnqEu92Fr1MmSU5fBxc4EsA-XJDFHAV6.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fCBc4EsA.8c37da00c6fb46c4.woff2 → media/KFOlCnqEu92Fr1MmSU5fCBc4EsA-RQ35UAGG.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fCRc4EsA.f2f54b8b7a823284.woff2 → media/KFOlCnqEu92Fr1MmSU5fCRc4EsA-6L2UXC32.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fChc4EsA.a730413f77f72eae.woff2 → media/KFOlCnqEu92Fr1MmSU5fChc4EsA-U4YECP3X.woff2} +0 -0
- /package/public/{KFOlCnqEu92Fr1MmSU5fCxc4EsA.ac169d216bae896e.woff2 → media/KFOlCnqEu92Fr1MmSU5fCxc4EsA-VQLJ2ILL.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu4WxKOzY.529e09285a7fcc0d.woff2 → media/KFOmCnqEu92Fr1Mu4WxKOzY-KKPASKC2.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu4mxK.0419828387b351b1.woff2 → media/KFOmCnqEu92Fr1Mu4mxK-AQMYFA4H.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu5mxKOzY.abf434b8c66f4df0.woff2 → media/KFOmCnqEu92Fr1Mu5mxKOzY-VP2DJOGG.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu72xKOzY.0c6f5e92c6531760.woff2 → media/KFOmCnqEu92Fr1Mu72xKOzY-BRXV5EWG.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu7GxKOzY.5f64cc8e9b6f8715.woff2 → media/KFOmCnqEu92Fr1Mu7GxKOzY-L5SMZDU3.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu7WxKOzY.ab43a3496393558b.woff2 → media/KFOmCnqEu92Fr1Mu7WxKOzY-VNB2GSLD.woff2} +0 -0
- /package/public/{KFOmCnqEu92Fr1Mu7mxKOzY.cf1f88a4aaec4666.woff2 → media/KFOmCnqEu92Fr1Mu7mxKOzY-Z4PYRJFK.woff2} +0 -0
- /package/public/{MaterialIcons-Regular.50eee05cfd948355.ttf → media/MaterialIcons-Regular-KDXOAXH5.ttf} +0 -0
- /package/public/{MaterialIconsOutlined-Regular.7915aa5237ad5792.otf → media/MaterialIconsOutlined-Regular-PEK2UURX.otf} +0 -0
- /package/public/{MaterialIconsRound-Regular.2cb4468fa98774ea.otf → media/MaterialIconsRound-Regular-FS2END5J.otf} +0 -0
- /package/public/{MaterialIconsSharp-Regular.adae8f35ad117caf.otf → media/MaterialIconsSharp-Regular-VWXI6NNN.otf} +0 -0
- /package/public/{MaterialIconsTwoTone-Regular.a0e3f62a6937d37d.otf → media/MaterialIconsTwoTone-Regular-UDR7MKTJ.otf} +0 -0
- /package/public/{autopilot.309cb84fb71128ee.png → media/autopilot-GCOLQT5X.png} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
var hn=Object.create;var Cr=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,_n=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var xn=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of yn(e))!_n.call(t,n)&&n!==r&&Cr(t,n,{get:()=>e[n],enumerable:!(i=bn(e,n))||i.enumerable});return t};var Nr=(t,e,r)=>(r=t!=null?hn(vn(t)):{},xn(e||!t||!t.__esModule?Cr(r,"default",{value:t,enumerable:!0}):r,t));var P=l(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.areaConversion=m.timeConversion=m.distanceConversion=m.altitudeKeys=m.latitudeKeys=m.longitudeKeys=m.MAXLON=m.MINLON=m.MAXLAT=m.MINLAT=m.earthRadius=m.sexagesimalPattern=void 0;var qn=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;m.sexagesimalPattern=qn;var An=6378137;m.earthRadius=An;var Ln=-90;m.MINLAT=Ln;var Rn=90;m.MAXLAT=Rn;var kn=-180;m.MINLON=kn;var En=180;m.MAXLON=En;var Tn=["lng","lon","longitude",0];m.longitudeKeys=Tn;var Cn=["lat","latitude",1];m.latitudeKeys=Cn;var Nn=["alt","altitude","elevation","elev",2];m.altitudeKeys=Nn;var In={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};m.distanceConversion=In;var Vn={m:60,h:3600,d:86400};m.timeConversion=Vn;var T={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};m.areaConversion=T;T.sqm=T.m2;T.sqkm=T.km2;T.sqft=T.ft2;T.sqyd=T.yd2;T.sqin=T.in2});var ce=l(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.default=void 0;var jn=function(e,r){return r.reduce(function(i,n){if(typeof e>"u"||e===null)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,n)&&typeof n<"u"&&typeof i>"u"?(i=n,n):i},void 0)},Un=jn;Te.default=Un});var de=l(Ce=>{"use strict";Object.defineProperty(Ce,"__esModule",{value:!0});Ce.default=void 0;var Kn=function(e){var r=e.toString().trim();return isNaN(parseFloat(r))?!1:parseFloat(r)===Number(r)},$n=Kn;Ce.default=$n});var pe=l(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.default=void 0;var Fn=P(),Bn=function(e){return Fn.sexagesimalPattern.test(e.toString().trim())},Hn=Bn;Ne.default=Hn});var ge=l(Ie=>{"use strict";Object.defineProperty(Ie,"__esModule",{value:!0});Ie.default=void 0;var Wn=P(),Gn=function(e){var r=new RegExp(Wn.sexagesimalPattern).exec(e.toString().trim());if(typeof r>"u"||r===null)throw new Error("Given value is not in sexagesimal format");var i=Number(r[2])/60||0,n=Number(r[4])/3600||0,a=parseFloat(r[1])+i+n;return["S","W"].includes(r[7])?-a:a},Xn=Gn;Ie.default=Xn});var je=l(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.default=void 0;var Xt=P(),Yt=Yn(ce());function Yn(t){return t&&t.__esModule?t:{default:t}}function Gr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function Zn(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Gr(Object(r),!0).forEach(function(i){zn(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Gr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function zn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var Jn=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{longitude:Xt.longitudeKeys,latitude:Xt.latitudeKeys,altitude:Xt.altitudeKeys},i=(0,Yt.default)(e,r.longitude),n=(0,Yt.default)(e,r.latitude),a=(0,Yt.default)(e,r.altitude);return Zn({latitude:n,longitude:i},a?{altitude:a}:{})},Qn=Jn;Ve.default=Qn});var zt=l(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.default=void 0;var ea=Zt(de()),ta=Zt(pe()),ra=Zt(ge()),Xr=P();function Zt(t){return t&&t.__esModule?t:{default:t}}var ia=function t(e){return(0,ea.default)(e)?!(parseFloat(e)>Xr.MAXLAT||e<Xr.MINLAT):(0,ta.default)(e)?t((0,ra.default)(e)):!1},na=ia;Ue.default=na});var Qt=l(Ke=>{"use strict";Object.defineProperty(Ke,"__esModule",{value:!0});Ke.default=void 0;var aa=Jt(de()),sa=Jt(pe()),ua=Jt(ge()),Yr=P();function Jt(t){return t&&t.__esModule?t:{default:t}}var oa=function t(e){return(0,aa.default)(e)?!(parseFloat(e)>Yr.MAXLON||e<Yr.MINLON):(0,sa.default)(e)?t((0,ua.default)(e)):!1},la=oa;Ke.default=la});var tr=l($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.default=void 0;var fa=er(je()),Zr=er(zt()),zr=er(Qt());function er(t){return t&&t.__esModule?t:{default:t}}var ca=function(e){var r=(0,fa.default)(e),i=r.latitude,n=r.longitude;if(Array.isArray(e)&&e.length>=2)return(0,zr.default)(e[0])&&(0,Zr.default)(e[1]);if(typeof i>"u"||typeof n>"u")return!1;var a=e[n],s=e[i];return!(typeof s>"u"||typeof a>"u"||(0,Zr.default)(s)===!1||(0,zr.default)(a)===!1)},da=ca;$e.default=da});var Be=l(Fe=>{"use strict";Object.defineProperty(Fe,"__esModule",{value:!0});Fe.default=void 0;var pa=me(de()),ga=me(pe()),ma=me(ge()),Jr=me(tr()),ha=me(je());function me(t){return t&&t.__esModule?t:{default:t}}function Qr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),r.push.apply(r,i)}return r}function rr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Qr(Object(r),!0).forEach(function(i){ir(t,i,r[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Qr(Object(r)).forEach(function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(r,i))})}return t}function ir(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var ba=function t(e){if((0,pa.default)(e))return Number(e);if((0,ga.default)(e))return(0,ma.default)(e);if((0,Jr.default)(e)){var r=(0,ha.default)(e);return Array.isArray(e)?e.map(function(i,n){return[0,1].includes(n)?t(i):i}):rr(rr(rr({},e),r.latitude&&ir({},r.latitude,t(e[r.latitude]))),r.longitude&&ir({},r.longitude,t(e[r.longitude])))}return Array.isArray(e)?e.map(function(i){return(0,Jr.default)(i)?t(i):i}):e},ya=ba;Fe.default=ya});var A=l(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.default=void 0;var va=P(),_a=ei(ce()),xa=ei(Be());function ei(t){return t&&t.__esModule?t:{default:t}}var Pa=function(e,r){var i=(0,_a.default)(e,va.latitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,xa.default)(n)}},Ma=Pa;He.default=Ma});var L=l(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.default=void 0;var Sa=P(),Oa=ti(ce()),wa=ti(Be());function ti(t){return t&&t.__esModule?t:{default:t}}var Da=function(e,r){var i=(0,Oa.default)(e,Sa.longitudeKeys);if(!(typeof i>"u"||i===null)){var n=e[i];return r===!0?n:(0,wa.default)(n)}},qa=Da;We.default=qa});var N=l(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.default=void 0;var Aa=function(e){return e*Math.PI/180},La=Aa;Ge.default=La});var X=l(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.default=void 0;var Ra=function(e){return e*180/Math.PI},ka=Ra;Xe.default=ka});var ii=l(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.default=void 0;var Ea=Ye(A()),Ta=Ye(L()),nr=Ye(N()),ar=Ye(X()),ri=P();function Ye(t){return t&&t.__esModule?t:{default:t}}var Ca=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:6371e3,a=(0,Ea.default)(e),s=(0,Ta.default)(e),u=r/n,o=(0,nr.default)(i),p=(0,nr.default)(a),M=(0,nr.default)(s),h=Math.asin(Math.sin(p)*Math.cos(u)+Math.cos(p)*Math.sin(u)*Math.cos(o)),g=M+Math.atan2(Math.sin(o)*Math.sin(u)*Math.cos(p),Math.cos(u)-Math.sin(p)*Math.sin(h)),_=(0,ar.default)(g);return(_<ri.MINLON||_>ri.MAXLON)&&(g=(g+3*Math.PI)%(2*Math.PI)-Math.PI,_=(0,ar.default)(g)),{latitude:(0,ar.default)(h),longitude:_}},Na=Ca;Ze.default=Na});var ni=l(ze=>{"use strict";Object.defineProperty(ze,"__esModule",{value:!0});ze.default=void 0;var Ia=P(),Va=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=Ia.areaConversion[r];if(i)return e*i;throw new Error("Invalid unit used for area conversion.")},ja=Va;ze.default=ja});var ai=l(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.default=void 0;var Ua=P(),Ka=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"m",i=Ua.distanceConversion[r];if(i)return e*i;throw new Error("Invalid unit used for distance conversion.")},$a=Ka;Je.default=$a});var si=l(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.default=void 0;var Qe=P(),Fa=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"kmh";switch(r){case"kmh":return e*Qe.timeConversion.h*Qe.distanceConversion.km;case"mph":return e*Qe.timeConversion.h*Qe.distanceConversion.mi;default:return e}},Ba=Fa;et.default=Ba});var li=l(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.default=void 0;function ui(t,e){return Xa(t)||Ga(t,e)||Wa(t,e)||Ha()}function Ha(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wa(t,e){if(t){if(typeof t=="string")return oi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return oi(t,e)}}function oi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function Ga(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function Xa(t){if(Array.isArray(t))return t}var Ya=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:4,i=Math.pow(10,r);return Math.round(e*i)/i},Za=function(e){var r=e.toString().split("."),i=ui(r,2),n=i[0],a=i[1],s=Math.abs(Number(n)),u=+("0."+(a||0))*60,o=u.toString().split("."),p=Math.floor(u),M=Ya(+("0."+(o[1]||0))*60).toString(),h=M.split("."),g=ui(h,2),_=g[0],O=g[1],b=O===void 0?"0":O;return s+"\xB0 "+p.toString().padStart(2,"0")+"' "+_.padStart(2,"0")+"."+b.padEnd(1,"0")+'"'},za=Za;tt.default=za});var sr=l(rt=>{"use strict";Object.defineProperty(rt,"__esModule",{value:!0});rt.default=void 0;var Ja=function(e){return e>1?1:e<-1?-1:e},Qa=Ja;rt.default=Qa});var $=l(nt=>{"use strict";Object.defineProperty(nt,"__esModule",{value:!0});nt.default=void 0;var fi=it(A()),ci=it(L()),re=it(N()),es=it(sr()),ts=P();function it(t){return t&&t.__esModule?t:{default:t}}var rs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,fi.default)(e),a=(0,ci.default)(e),s=(0,fi.default)(r),u=(0,ci.default)(r),o=Math.acos((0,es.default)(Math.sin((0,re.default)(s))*Math.sin((0,re.default)(n))+Math.cos((0,re.default)(s))*Math.cos((0,re.default)(n))*Math.cos((0,re.default)(a)-(0,re.default)(u))))*ts.earthRadius;return Math.round(o/i)*i},is=rs;nt.default=is});var ur=l(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.default=void 0;var di=ns($());function ns(t){return t&&t.__esModule?t:{default:t}}var as=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:di.default;return i=typeof i=="function"?i:di.default,r.slice().sort(function(n,a){return i(e,n)-i(e,a)})},ss=as;at.default=ss});var pi=l(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.default=void 0;var us=os(ur());function os(t){return t&&t.__esModule?t:{default:t}}var ls=function(e,r){return(0,us.default)(e,r)[0]},fs=ls;st.default=fs});var hi=l(ut=>{"use strict";Object.defineProperty(ut,"__esModule",{value:!0});ut.default=void 0;var or=lr(N()),cs=lr(A()),gi=lr(L()),mi=P();function lr(t){return t&&t.__esModule?t:{default:t}}var ds=function(e){var r=0;if(e.length>2){for(var i,n,a,s=0;s<e.length;s++){s===e.length-2?(i=e.length-2,n=e.length-1,a=0):s===e.length-1?(i=e.length-1,n=0,a=1):(i=s,n=s+1,a=s+2);var u=(0,gi.default)(e[i]),o=(0,cs.default)(e[n]),p=(0,gi.default)(e[a]);r+=((0,or.default)(p)-(0,or.default)(u))*Math.sin((0,or.default)(o))}r=r*mi.earthRadius*mi.earthRadius/2}return Math.abs(r)},ps=ds;ut.default=ps});var fr=l(ot=>{"use strict";Object.defineProperty(ot,"__esModule",{value:!0});ot.default=void 0;var gs=bi(A()),ms=bi(L());function bi(t){return t&&t.__esModule?t:{default:t}}var hs=function(e){if(Array.isArray(e)===!1||e.length===0)throw new Error("No points were given.");return e.reduce(function(r,i){var n=(0,gs.default)(i),a=(0,ms.default)(i);return{maxLat:Math.max(n,r.maxLat),minLat:Math.min(n,r.minLat),maxLng:Math.max(a,r.maxLng),minLng:Math.min(a,r.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})},bs=hs;ot.default=bs});var yi=l(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.default=void 0;var ys=ft(A()),vs=ft(L()),ie=ft(N()),lt=ft(X()),he=P();function ft(t){return t&&t.__esModule?t:{default:t}}var _s=function(e,r){var i=(0,ys.default)(e),n=(0,vs.default)(e),a=(0,ie.default)(i),s=(0,ie.default)(n),u=r/he.earthRadius,o=a-u,p=a+u,M=(0,ie.default)(he.MAXLAT),h=(0,ie.default)(he.MINLAT),g=(0,ie.default)(he.MAXLON),_=(0,ie.default)(he.MINLON),O,b;if(o>h&&p<M){var k=Math.asin(Math.sin(u)/Math.cos(a));O=s-k,O<_&&(O+=Math.PI*2),b=s+k,b>g&&(b-=Math.PI*2)}else o=Math.max(o,h),p=Math.min(p,M),O=_,b=g;return[{latitude:(0,lt.default)(o),longitude:(0,lt.default)(O)},{latitude:(0,lt.default)(p),longitude:(0,lt.default)(b)}]},xs=_s;ct.default=xs});var xi=l(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.default=void 0;var Ps=dt(A()),Ms=dt(L()),vi=dt(N()),_i=dt(X());function dt(t){return t&&t.__esModule?t:{default:t}}var Ss=function(e){if(Array.isArray(e)===!1||e.length===0)return!1;var r=e.length,i=e.reduce(function(u,o){var p=(0,vi.default)((0,Ps.default)(o)),M=(0,vi.default)((0,Ms.default)(o));return{X:u.X+Math.cos(p)*Math.cos(M),Y:u.Y+Math.cos(p)*Math.sin(M),Z:u.Z+Math.sin(p)}},{X:0,Y:0,Z:0}),n=i.X/r,a=i.Y/r,s=i.Z/r;return{longitude:(0,_i.default)(Math.atan2(a,n)),latitude:(0,_i.default)(Math.atan2(s,Math.sqrt(n*n+a*a)))}},Os=Ss;pt.default=Os});var Pi=l(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.default=void 0;var ws=Ds(fr());function Ds(t){return t&&t.__esModule?t:{default:t}}var qs=function(e){var r=(0,ws.default)(e),i=r.minLat+(r.maxLat-r.minLat)/2,n=r.minLng+(r.maxLng-r.minLng)/2;return{latitude:parseFloat(i.toFixed(6)),longitude:parseFloat(n.toFixed(6))}},As=qs;gt.default=As});var cr=l(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.default=void 0;var Mi=ht(A()),Si=ht(L()),mt=ht(N()),Ls=ht(X());function ht(t){return t&&t.__esModule?t:{default:t}}var Rs=function(e,r){var i=(0,mt.default)((0,Si.default)(r))-(0,mt.default)((0,Si.default)(e)),n=Math.log(Math.tan((0,mt.default)((0,Mi.default)(r))/2+Math.PI/4)/Math.tan((0,mt.default)((0,Mi.default)(e))/2+Math.PI/4));return Math.abs(i)>Math.PI&&(i>0?i=(Math.PI*2-i)*-1:i=Math.PI*2+i),((0,Ls.default)(Math.atan2(i,n))+360)%360},ks=Rs;bt.default=ks});var wi=l(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.default=void 0;var Oi=Es(cr());function Es(t){return t&&t.__esModule?t:{default:t}}var Ts=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Oi.default,n=typeof i=="function"?i(e,r):(0,Oi.default)(e,r);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"}},Cs=Ts;yt.default=Cs});var pr=l(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.default=void 0;var dr=qi($()),Di=qi(sr());function qi(t){return t&&t.__esModule?t:{default:t}}var Ns=function(e,r,i){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,a=(0,dr.default)(r,e,n),s=(0,dr.default)(e,i,n),u=(0,dr.default)(r,i,n),o=Math.acos((0,Di.default)((a*a+u*u-s*s)/(2*a*u))),p=Math.acos((0,Di.default)((s*s+u*u-a*a)/(2*s*u)));return o>Math.PI/2?a:p>Math.PI/2?s:Math.sin(o)*a},Is=Ns;vt.default=Is});var Ri=l(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.default=void 0;var Ai=_t(A()),Li=_t(L()),j=_t(N()),Vs=_t(X());function _t(t){return t&&t.__esModule?t:{default:t}}var js=function(e,r){var i=(0,Ai.default)(r),n=(0,Li.default)(r),a=(0,Ai.default)(e),s=(0,Li.default)(e),u=((0,Vs.default)(Math.atan2(Math.sin((0,j.default)(n)-(0,j.default)(s))*Math.cos((0,j.default)(i)),Math.cos((0,j.default)(a))*Math.sin((0,j.default)(i))-Math.sin((0,j.default)(a))*Math.cos((0,j.default)(i))*Math.cos((0,j.default)(n)-(0,j.default)(s))))+360)%360;return u},Us=js;xt.default=Us});var ki=l(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.default=void 0;var Ks=$s($());function $s(t){return t&&t.__esModule?t:{default:t}}function Pt(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Pt=function(r){return typeof r}:Pt=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Pt(t)}var Fs=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ks.default;return e.reduce(function(i,n){return Pt(i)==="object"&&i.last!==null&&(i.distance+=r(n,i.last)),i.last=n,i},{last:null,distance:0}).distance},Bs=Fs;Mt.default=Bs});var Ni=l(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.default=void 0;var Ei=mr(A()),Ti=mr(L()),gr=mr(N()),Ci=P();function mr(t){return t&&t.__esModule?t:{default:t}}var Hs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;i=typeof i<"u"&&!isNaN(i)?i:1;var n=(0,Ei.default)(e),a=(0,Ti.default)(e),s=(0,Ei.default)(r),u=(0,Ti.default)(r),o=6356752314245e-6,p=1/298.257223563,M=(0,gr.default)(u-a),h,g,_,O,b,k,Rr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(n)))),kr=Math.atan((1-p)*Math.tan((0,gr.default)(parseFloat(s)))),Me=Math.sin(Rr),Se=Math.cos(Rr),Oe=Math.sin(kr),z=Math.cos(kr),se=M,Er,Tr=100;do{var Vt=Math.sin(se),jt=Math.cos(se);if(k=Math.sqrt(z*Vt*(z*Vt)+(Se*Oe-Me*z*jt)*(Se*Oe-Me*z*jt)),k===0)return 0;h=Me*Oe+Se*z*jt,g=Math.atan2(k,h),_=Se*z*Vt/k,O=1-_*_,b=h-2*Me*Oe/O,isNaN(b)&&(b=0);var Ut=p/16*O*(4+p*(4-3*O));Er=se,se=M+(1-Ut)*p*_*(g+Ut*k*(b+Ut*h*(-1+2*b*b)))}while(Math.abs(se-Er)>1e-12&&--Tr>0);if(Tr===0)return NaN;var K=O*(Ci.earthRadius*Ci.earthRadius-o*o)/(o*o),pn=1+K/16384*(4096+K*(-768+K*(320-175*K))),Kt=K/1024*(256+K*(-128+K*(74-47*K))),gn=Kt*k*(b+Kt/4*(h*(-1+2*b*b)-Kt/6*b*(-3+4*k*k)*(-3+4*b*b))),mn=o*pn*(g-gn);return Math.round(mn/i)*i},Ws=Hs;St.default=Ws});var Ii=l(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.default=void 0;var Gs=function(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"},Xs=Gs;Ot.default=Xs});var Vi=l(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.default=void 0;var Ys=Zs($());function Zs(t){return t&&t.__esModule?t:{default:t}}var zs=function(e,r){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ys.default,n=i(e,r),a=Number(r.time)-Number(e.time),s=n/a*1e3;return s},Js=zs;wt.default=Js});var ji=l(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.default=void 0;var hr=Qs($());function Qs(t){return t&&t.__esModule?t:{default:t}}var eu=function(e,r,i){return(0,hr.default)(r,e)+(0,hr.default)(e,i)===(0,hr.default)(r,i)},tu=eu;Dt.default=tu});var Ki=l(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.default=void 0;var qt=Ui(A()),R=Ui(L());function Ui(t){return t&&t.__esModule?t:{default:t}}var ru=function(e,r){for(var i=!1,n=r.length,a=-1,s=n-1;++a<n;s=a)((0,R.default)(r[a])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[s])||(0,R.default)(r[s])<=(0,R.default)(e)&&(0,R.default)(e)<(0,R.default)(r[a]))&&(0,qt.default)(e)<((0,qt.default)(r[s])-(0,qt.default)(r[a]))*((0,R.default)(e)-(0,R.default)(r[a]))/((0,R.default)(r[s])-(0,R.default)(r[a]))+(0,qt.default)(r[a])&&(i=!i);return i},iu=ru;At.default=iu});var $i=l(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.default=void 0;var nu=au(pr());function au(t){return t&&t.__esModule?t:{default:t}}var su=function(e,r,i,n){return(0,nu.default)(e,r,i)<n},uu=su;Lt.default=uu});var Fi=l(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.default=void 0;var ou=lu($());function lu(t){return t&&t.__esModule?t:{default:t}}var fu=function(e,r,i){var n=.01;return(0,ou.default)(e,r,n)<i},cu=fu;Rt.default=cu});var Hi=l(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.default=void 0;function du(t,e){return hu(t)||mu(t,e)||gu(t,e)||pu()}function pu(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
3
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gu(t,e){if(t){if(typeof t=="string")return Bi(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Bi(t,e)}}function Bi(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,i=new Array(e);r<e;r++)i[r]=t[r];return i}function mu(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var r=[],i=!0,n=!1,a=void 0;try{for(var s=t[Symbol.iterator](),u;!(i=(u=s.next()).done)&&(r.push(u.value),!(e&&r.length===e));i=!0);}catch(o){n=!0,a=o}finally{try{!i&&s.return!=null&&s.return()}finally{if(n)throw a}}return r}}function hu(t){if(Array.isArray(t))return t}var bu=function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");var r=e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", "),i=r.map(function(n){var a=n.split(" "),s=du(a,2),u=s[0],o=s[1];return{longitude:parseFloat(u),latitude:parseFloat(o)}});return i},yu=bu;kt.default=yu});var Gi=l(c=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var vu={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(c,"computeDestinationPoint",{enumerable:!0,get:function(){return _u.default}});Object.defineProperty(c,"convertArea",{enumerable:!0,get:function(){return xu.default}});Object.defineProperty(c,"convertDistance",{enumerable:!0,get:function(){return Pu.default}});Object.defineProperty(c,"convertSpeed",{enumerable:!0,get:function(){return Mu.default}});Object.defineProperty(c,"decimalToSexagesimal",{enumerable:!0,get:function(){return Su.default}});Object.defineProperty(c,"findNearest",{enumerable:!0,get:function(){return Ou.default}});Object.defineProperty(c,"getAreaOfPolygon",{enumerable:!0,get:function(){return wu.default}});Object.defineProperty(c,"getBounds",{enumerable:!0,get:function(){return Du.default}});Object.defineProperty(c,"getBoundsOfDistance",{enumerable:!0,get:function(){return qu.default}});Object.defineProperty(c,"getCenter",{enumerable:!0,get:function(){return Au.default}});Object.defineProperty(c,"getCenterOfBounds",{enumerable:!0,get:function(){return Lu.default}});Object.defineProperty(c,"getCompassDirection",{enumerable:!0,get:function(){return Ru.default}});Object.defineProperty(c,"getCoordinateKey",{enumerable:!0,get:function(){return ku.default}});Object.defineProperty(c,"getCoordinateKeys",{enumerable:!0,get:function(){return Eu.default}});Object.defineProperty(c,"getDistance",{enumerable:!0,get:function(){return Tu.default}});Object.defineProperty(c,"getDistanceFromLine",{enumerable:!0,get:function(){return Cu.default}});Object.defineProperty(c,"getGreatCircleBearing",{enumerable:!0,get:function(){return Nu.default}});Object.defineProperty(c,"getLatitude",{enumerable:!0,get:function(){return Iu.default}});Object.defineProperty(c,"getLongitude",{enumerable:!0,get:function(){return Vu.default}});Object.defineProperty(c,"getPathLength",{enumerable:!0,get:function(){return ju.default}});Object.defineProperty(c,"getPreciseDistance",{enumerable:!0,get:function(){return Uu.default}});Object.defineProperty(c,"getRhumbLineBearing",{enumerable:!0,get:function(){return Ku.default}});Object.defineProperty(c,"getRoughCompassDirection",{enumerable:!0,get:function(){return $u.default}});Object.defineProperty(c,"getSpeed",{enumerable:!0,get:function(){return Fu.default}});Object.defineProperty(c,"isDecimal",{enumerable:!0,get:function(){return Bu.default}});Object.defineProperty(c,"isPointInLine",{enumerable:!0,get:function(){return Hu.default}});Object.defineProperty(c,"isPointInPolygon",{enumerable:!0,get:function(){return Wu.default}});Object.defineProperty(c,"isPointNearLine",{enumerable:!0,get:function(){return Gu.default}});Object.defineProperty(c,"isPointWithinRadius",{enumerable:!0,get:function(){return Xu.default}});Object.defineProperty(c,"isSexagesimal",{enumerable:!0,get:function(){return Yu.default}});Object.defineProperty(c,"isValidCoordinate",{enumerable:!0,get:function(){return Zu.default}});Object.defineProperty(c,"isValidLatitude",{enumerable:!0,get:function(){return zu.default}});Object.defineProperty(c,"isValidLongitude",{enumerable:!0,get:function(){return Ju.default}});Object.defineProperty(c,"orderByDistance",{enumerable:!0,get:function(){return Qu.default}});Object.defineProperty(c,"sexagesimalToDecimal",{enumerable:!0,get:function(){return eo.default}});Object.defineProperty(c,"toDecimal",{enumerable:!0,get:function(){return to.default}});Object.defineProperty(c,"toRad",{enumerable:!0,get:function(){return ro.default}});Object.defineProperty(c,"toDeg",{enumerable:!0,get:function(){return io.default}});Object.defineProperty(c,"wktToPolygon",{enumerable:!0,get:function(){return no.default}});var _u=d(ii()),xu=d(ni()),Pu=d(ai()),Mu=d(si()),Su=d(li()),Ou=d(pi()),wu=d(hi()),Du=d(fr()),qu=d(yi()),Au=d(xi()),Lu=d(Pi()),Ru=d(wi()),ku=d(ce()),Eu=d(je()),Tu=d($()),Cu=d(pr()),Nu=d(Ri()),Iu=d(A()),Vu=d(L()),ju=d(ki()),Uu=d(Ni()),Ku=d(cr()),$u=d(Ii()),Fu=d(Vi()),Bu=d(de()),Hu=d(ji()),Wu=d(Ki()),Gu=d($i()),Xu=d(Fi()),Yu=d(pe()),Zu=d(tr()),zu=d(zt()),Ju=d(Qt()),Qu=d(ur()),eo=d(ge()),to=d(Be()),ro=d(N()),io=d(X()),no=d(Hi()),Wi=P();Object.keys(Wi).forEach(function(t){t==="default"||t==="__esModule"||Object.prototype.hasOwnProperty.call(vu,t)||Object.defineProperty(c,t,{enumerable:!0,get:function(){return Wi[t]}})});function d(t){return t&&t.__esModule?t:{default:t}}});var Xi=l(vr=>{"use strict";vr.__esModule=!0;function br(t,e){return t*t+e*e}function ao(t,e){return br(t[0]-e[0],t[1]-e[1])}function so(t,e,r){var i=e[0],n=e[1],a=r[0]-i,s=r[1]-n;if(a!==0||s!==0){var u=((t[0]-i)*a+(t[1]-n)*s)/br(a,s);u>1?(i=r[0],n=r[1]):u>0&&(i+=a*u,n+=s*u)}return br(t[0]-i,t[1]-n)}function uo(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],ao(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function yr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=so(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&yr(t,e,s,i,n),n.push(t[s]),r-s>1&&yr(t,s,r,i,n))}function oo(t,e){var r=t.length-1,i=[t[0]];return yr(t,0,r,e,i),i.push(t[r]),i}function lo(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:uo(t,i),t=oo(t,i),t}vr.SimplifyAP=lo});var Yi=l(Pr=>{"use strict";Pr.__esModule=!0;function _r(t,e){return t*t+e*e}function fo(t,e){return _r(t.longitude-e.longitude,t.latitude-e.latitude)}function co(t,e,r){var i=e.longitude,n=e.latitude,a=r.longitude-i,s=r.latitude-n;if(a!==0||s!==0){var u=((t.longitude-i)*a+(t.latitude-n)*s)/_r(a,s);u>1?(i=r.longitude,n=r.latitude):u>0&&(i+=a*u,n+=s*u)}return _r(t.longitude-i,t.latitude-n)}function po(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],fo(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function xr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=co(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&xr(t,e,s,i,n),n.push(t[s]),r-s>1&&xr(t,s,r,i,n))}function go(t,e){var r=t.length-1,i=[t[0]];return xr(t,0,r,e,i),i.push(t[r]),i}function mo(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:po(t,i),t=go(t,i),t}Pr.SimplifyLL=mo});var Zi=l(Or=>{"use strict";Or.__esModule=!0;function Mr(t,e){return t*t+e*e}function ho(t,e){return Mr(t.x-e.x,t.y-e.y)}function bo(t,e,r){var i=e.x,n=e.y,a=r.x-i,s=r.y-n;if(a!==0||s!==0){var u=((t.x-i)*a+(t.y-n)*s)/Mr(a,s);u>1?(i=r.x,n=r.y):u>0&&(i+=a*u,n+=s*u)}return Mr(t.x-i,t.y-n)}function yo(t,e){for(var r=t[0],i,n=[r],a=1,s=t.length;a<s;a++)i=t[a],ho(i,r)>e&&(n.push(i),r=i);return r!==i&&n.push(i),n}function Sr(t,e,r,i,n){for(var a=i,s,u=e+1;u<r;u++){var o=bo(t[u],t[e],t[r]);o>a&&(s=u,a=o)}a>i&&(s-e>1&&Sr(t,e,s,i,n),n.push(t[s]),r-s>1&&Sr(t,s,r,i,n))}function vo(t,e){var r=t.length-1,i=[t[0]];return Sr(t,0,r,e,i),i.push(t[r]),i}function _o(t,e,r){if(e===void 0&&(e=1),r===void 0&&(r=!1),t.length<=2)return t;var i=e*e;return t=r?t:yo(t,i),t=vo(t,i),t}Or.Simplify=_o});var zi=l(be=>{"use strict";be.__esModule=!0;var xo=Xi();be.SimplifyAP=xo.SimplifyAP;var Po=Yi();be.SimplifyLL=Po.SimplifyLL;var Mo=Zi();be.Simplify=Mo.Simplify});function ue(t){return typeof t=="function"}var $t=!1,w={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){let e=new Error;console.warn(`DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at:
|
|
4
|
+
`+e.stack)}else $t&&console.log("RxJS: Back to a better error behavior. Thank you. <3");$t=t},get useDeprecatedSynchronousErrorHandling(){return $t}};function B(t){setTimeout(()=>{throw t},0)}var J={closed:!0,next(t){},error(t){if(w.useDeprecatedSynchronousErrorHandling)throw t;B(t)},complete(){}};var Ir=Array.isArray||(t=>t&&typeof t.length=="number");function Vr(t){return t!==null&&typeof t=="object"}var Pn=(()=>{function t(e){return Error.call(this),this.message=e?`${e.length} errors occurred during unsubscription:
|
|
5
|
+
${e.map((r,i)=>`${i+1}) ${r.toString()}`).join(`
|
|
6
|
+
`)}`:"",this.name="UnsubscriptionError",this.errors=e,this}return t.prototype=Object.create(Error.prototype),t})(),oe=Pn;var q=class t{constructor(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}unsubscribe(){let e;if(this.closed)return;let{_parentOrParents:r,_ctorUnsubscribe:i,_unsubscribe:n,_subscriptions:a}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,r instanceof t)r.remove(this);else if(r!==null)for(let s=0;s<r.length;++s)r[s].remove(this);if(ue(n)){i&&(this._unsubscribe=void 0);try{n.call(this)}catch(s){e=s instanceof oe?jr(s.errors):[s]}}if(Ir(a)){let s=-1,u=a.length;for(;++s<u;){let o=a[s];if(Vr(o))try{o.unsubscribe()}catch(p){e=e||[],p instanceof oe?e=e.concat(jr(p.errors)):e.push(p)}}}if(e)throw new oe(e)}add(e){let r=e;if(!e)return t.EMPTY;switch(typeof e){case"function":r=new t(e);case"object":if(r===this||r.closed||typeof r.unsubscribe!="function")return r;if(this.closed)return r.unsubscribe(),r;if(!(r instanceof t)){let a=r;r=new t,r._subscriptions=[a]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}let{_parentOrParents:i}=r;if(i===null)r._parentOrParents=this;else if(i instanceof t){if(i===this)return r;r._parentOrParents=[i,this]}else if(i.indexOf(this)===-1)i.push(this);else return r;let n=this._subscriptions;return n===null?this._subscriptions=[r]:n.push(r),r}remove(e){let r=this._subscriptions;if(r){let i=r.indexOf(e);i!==-1&&r.splice(i,1)}}};q.EMPTY=(function(t){return t.closed=!0,t})(new q);function jr(t){return t.reduce((e,r)=>e.concat(r instanceof oe?r.errors:r),[])}var H=typeof Symbol=="function"?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();var E=class t extends q{constructor(e,r,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=J;break;case 1:if(!e){this.destination=J;break}if(typeof e=="object"){e instanceof t?(this.syncErrorThrowable=e.syncErrorThrowable,this.destination=e,e.add(this)):(this.syncErrorThrowable=!0,this.destination=new we(this,e));break}default:this.syncErrorThrowable=!0,this.destination=new we(this,e,r,i);break}}[H](){return this}static create(e,r,i){let n=new t(e,r,i);return n.syncErrorThrowable=!1,n}next(e){this.isStopped||this._next(e)}error(e){this.isStopped||(this.isStopped=!0,this._error(e))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(e){this.destination.next(e)}_error(e){this.destination.error(e),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){let{_parentOrParents:e}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=e,this}},we=class extends E{constructor(e,r,i,n){super(),this._parentSubscriber=e;let a,s=this;ue(r)?a=r:r&&(a=r.next,i=r.error,n=r.complete,r!==J&&(s=Object.create(r),ue(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=a,this._error=i,this._complete=n}next(e){if(!this.isStopped&&this._next){let{_parentSubscriber:r}=this;!w.useDeprecatedSynchronousErrorHandling||!r.syncErrorThrowable?this.__tryOrUnsub(this._next,e):this.__tryOrSetError(r,this._next,e)&&this.unsubscribe()}}error(e){if(!this.isStopped){let{_parentSubscriber:r}=this,{useDeprecatedSynchronousErrorHandling:i}=w;if(this._error)!i||!r.syncErrorThrowable?(this.__tryOrUnsub(this._error,e),this.unsubscribe()):(this.__tryOrSetError(r,this._error,e),this.unsubscribe());else if(r.syncErrorThrowable)i?(r.syncErrorValue=e,r.syncErrorThrown=!0):B(e),this.unsubscribe();else{if(this.unsubscribe(),i)throw e;B(e)}}}complete(){if(!this.isStopped){let{_parentSubscriber:e}=this;if(this._complete){let r=()=>this._complete.call(this._context);!w.useDeprecatedSynchronousErrorHandling||!e.syncErrorThrowable?(this.__tryOrUnsub(r),this.unsubscribe()):(this.__tryOrSetError(e,r),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(e,r){try{e.call(this._context,r)}catch(i){if(this.unsubscribe(),w.useDeprecatedSynchronousErrorHandling)throw i;B(i)}}__tryOrSetError(e,r,i){if(!w.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{r.call(this._context,i)}catch(n){return w.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=n,e.syncErrorThrown=!0,!0):(B(n),!0)}return!1}_unsubscribe(){let{_parentSubscriber:e}=this;this._context=null,this._parentSubscriber=null,e.unsubscribe()}};function Ur(t){for(;t;){let{closed:e,destination:r,isStopped:i}=t;if(e||i)return!1;r&&r instanceof E?t=r:t=null}return!0}function Kr(t,e,r){if(t){if(t instanceof E)return t;if(t[H])return t[H]()}return!t&&!e&&!r?new E(J):new E(t,e,r)}var $r=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Fr(t){return t}function Br(t){return t.length===0?Fr:t.length===1?t[0]:function(r){return t.reduce((i,n)=>n(i),r)}}var W=class t{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){let r=new t;return r.source=this,r.operator=e,r}subscribe(e,r,i){let{operator:n}=this,a=Kr(e,r,i);if(n?a.add(n.call(a,this.source)):a.add(this.source||w.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),w.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(r){w.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=r),Ur(e)?e.error(r):console.warn(r)}}forEach(e,r){return r=Hr(r),new r((i,n)=>{let a;a=this.subscribe(s=>{try{e(s)}catch(u){n(u),a&&a.unsubscribe()}},n,i)})}_subscribe(e){let{source:r}=this;return r&&r.subscribe(e)}[$r](){return this}pipe(...e){return e.length===0?this:Br(e)(this)}toPromise(e){return e=Hr(e),new e((r,i)=>{let n;this.subscribe(a=>n=a,a=>i(a),()=>r(n))})}};W.create=t=>new W(t);function Hr(t){if(t||(t=w.Promise||Promise),!t)throw new Error("no Promise impl found");return t}var Mn=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})(),Q=Mn;var De=class extends q{constructor(e,r){super(),this.subject=e,this.subscriber=r,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;let e=this.subject,r=e.observers;if(this.subject=null,!r||r.length===0||e.isStopped||e.closed)return;let i=r.indexOf(this.subscriber);i!==-1&&r.splice(i,1)}};var Ft=class extends E{constructor(e){super(e),this.destination=e}},C=class extends W{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[H](){return new Ft(this)}lift(e){let r=new qe(this,this);return r.operator=e,r}next(e){if(this.closed)throw new Q;if(!this.isStopped){let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].next(e)}}error(e){if(this.closed)throw new Q;this.hasError=!0,this.thrownError=e,this.isStopped=!0;let{observers:r}=this,i=r.length,n=r.slice();for(let a=0;a<i;a++)n[a].error(e);this.observers.length=0}complete(){if(this.closed)throw new Q;this.isStopped=!0;let{observers:e}=this,r=e.length,i=e.slice();for(let n=0;n<r;n++)i[n].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(e){if(this.closed)throw new Q;return super._trySubscribe(e)}_subscribe(e){if(this.closed)throw new Q;return this.hasError?(e.error(this.thrownError),q.EMPTY):this.isStopped?(e.complete(),q.EMPTY):(this.observers.push(e),new De(this,e))}asObservable(){let e=new W;return e.source=this,e}};C.create=(t,e)=>new qe(t,e);var qe=class extends C{constructor(e,r){super(),this.destination=e,this.source=r}next(e){let{destination:r}=this;r&&r.next&&r.next(e)}error(e){let{destination:r}=this;r&&r.error&&this.destination.error(e)}complete(){let{destination:e}=this;e&&e.complete&&this.destination.complete()}_subscribe(e){let{source:r}=this;return r?this.source.subscribe(e):q.EMPTY}};var x=[];for(let t=0;t<256;++t)x.push((t+256).toString(16).slice(1));function Wr(t,e=0){return(x[t[e+0]]+x[t[e+1]]+x[t[e+2]]+x[t[e+3]]+"-"+x[t[e+4]]+x[t[e+5]]+"-"+x[t[e+6]]+x[t[e+7]]+"-"+x[t[e+8]]+x[t[e+9]]+"-"+x[t[e+10]]+x[t[e+11]]+x[t[e+12]]+x[t[e+13]]+x[t[e+14]]+x[t[e+15]]).toLowerCase()}var Bt,Sn=new Uint8Array(16);function Ht(){if(!Bt){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Bt=crypto.getRandomValues.bind(crypto)}return Bt(Sn)}var On=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Wt={randomUUID:On};function wn(t,e,r){if(Wt.randomUUID&&!e&&!t)return Wt.randomUUID();t=t||{};let i=t.random??t.rng?.()??Ht();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,e){if(r=r||0,r<0||r+16>e.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let n=0;n<16;++n)e[r+n]=i[n];return e}return Wr(i)}var Gt=wn;var Ae=class{_connect;_close;_error;_message;ws;_filter="";_wsTimeout=2e4;_token="";_playbackMode=!1;onConnect;onClose;onError;onMessage;version=1;endpoint="";selfId="";_source=null;set source(e){this._source||(this._source={}),this._source.label=e}set authToken(e){this._token=e}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(e){this._wsTimeout=e<3e3?3e3:e>6e4?6e4:e}get isOpen(){return!!(this.ws&&this.ws.readyState!=1&&this.ws.readyState!=3)}get filter(){return this._filter}set filter(e){e&&e.indexOf("self")!=-1?this._filter=this.selfId?this.selfId:"":this._filter=e}get playbackMode(){return this._playbackMode}constructor(){this._connect=new C,this.onConnect=this._connect.asObservable(),this._close=new C,this.onClose=this._close.asObservable(),this._error=new C,this.onError=this._error.asObservable(),this._message=new C,this.onMessage=this._message.asObservable()}close(){this.ws&&(this.ws.close(),this.ws=null)}open(e,r,i){if(e=e||this.endpoint,!e)return;let n=e.indexOf("?")==-1?"?":"&";r&&(e+=`${n}subscribe=${r}`),(this._token||i)&&(e+=`${r?"&":"?"}token=${this._token||i}`),this.close(),this.ws=new WebSocket(e),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=a=>{this._connect.next(a)},this.ws.onclose=a=>{this._close.next(a)},this.ws.onerror=a=>{this._error.next(a)},this.ws.onmessage=a=>{this.parseOnMessage(a)}}parseOnMessage(e){let r;if(typeof e.data=="string")try{r=JSON.parse(e.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(e){if(typeof e!="object")return"";let r=ee.request();return typeof e.login>"u"&&this._token&&(r.token=this._token),Object.keys(e).forEach(n=>{r[n]=e[n]}),this.send(r),r.requestId}put(e,r,i){let n={context:e=="self"?"vessels.self":e,put:{path:r,value:i}};return this.sendRequest(n)}login(e,r){let i={login:{username:e,password:r}};return this.sendRequest(i)}send(e){this.ws&&(typeof e=="object"&&(e=JSON.stringify(e)),this.ws.send(e))}sendUpdate(e="self",r,i){let n=ee.updates();this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token);let a=[];typeof r=="string"&&a.push({path:r,value:i}),typeof r=="object"&&Array.isArray(r)&&(a=r);let s={timestamp:new Date().toISOString(),values:a};this._source&&(s.source=this._source),n.updates.push(s),this.send(n)}subscribe(e="*",r="*",i){let n=ee.subscribe();if(this._token&&(n.token=this._token),n.context=e=="self"?"vessels.self":e,this._token&&(n.token=this._token),typeof r=="object"&&Array.isArray(r)&&(n.subscribe=r),typeof r=="string"){let a={};a.path=r,i&&typeof i=="object"&&(i.period&&(a.period=i.period),i.minPeriod&&(a.minPeriod=i.period),i.format&&(i.format=="delta"||i.format=="full")&&(a.format=i.format),i.policy&&(i.policy=="instant"||i.policy=="ideal"||i.policy=="fixed")&&(a.policy=i.policy)),n.subscribe.push(a)}this.send(n)}unsubscribe(e="*",r="*"){let i=ee.unsubscribe();this._token&&(i.token=this._token),i.context=e=="self"?"vessels.self":e,this._token&&(i.token=this._token),typeof r=="object"&&Array.isArray(r)&&(i.unsubscribe=r),typeof r=="string"&&i.unsubscribe.push({path:r}),this.send(i)}raiseAlarm(e="*",r,i){let n;typeof r=="string"?n=r.indexOf("notifications.")==-1?`notifications.${r}`:r:n=r,this.put(e,n,i.value)}clearAlarm(e="*",r){let i=r.indexOf("notifications.")==-1?`notifications.${r}`:r;this.put(e,i,null)}isSelf(e){return e.context==this.selfId}isDelta(e){return typeof e.context<"u"}isHello(e){return typeof e.version<"u"&&typeof e.self<"u"}isResponse(e){return typeof e.requestId<"u"}},ee=class{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:Gt()}}},Le=class{_state;_method=[];_message="";constructor(e,r,i,n){this._message=typeof e<"u"?e:"",this._state=typeof r<"u"?r:"alarm",i&&this._method.push("visual"),n&&this._method.push("sound")}get value(){return{message:this._message,state:this._state,method:this._method}}};var te=class{id;name;mmsi;position=[0,0];positionReceived=!1;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual},le=class extends te{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;performance={beatAngle:null,gybeAngle:null};racing;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},Re=class extends te{constructor(){super()}},ke=class extends te{sog=0;track=[];constructor(){super()}},fe=class extends te{constructor(){super()}},Ee=class extends fe{twd;tws;temperature;constructor(){super()}};var G=class{static celsiusToKelvin(e=0){return e+273.15}static kelvinToCelsius(e=0){return e-273.15}static kelvinToFarenheit(e=0){return e*(9/5)-459.67}static degreesToRadians(e=0){return e*Math.PI/180}static radiansToDegrees(e=0){return e*180/Math.PI}static angleToDirection(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r+e;return n>i?n-i:n<0?i+n:n}static directionToAngle(e,r){let i=Math.PI*2;if(r||(r=0),e||(e=0),isNaN(r)||isNaN(e))return null;let n=r-e,a;if(n>0)a=n>Math.PI?i-n:0-n;else if(n<0){let s=Math.abs(n);a=s>Math.PI?s-i:s}else a=n;return a}static knotsToKm(e){return e*1.852}static nauticalMilesToKm(e){return e*1.852}static knotsToMSec(e){return e*.51444325460445}static kmToKnots(e){return e*.539957}static kmToNauticalMiles(e){return e*.539957}static kmToMiles(e){return e*.621371}static metersToFeet(e){return e*3.28084}static msecToKnots(e){return e*1.94384}static msecToKmh(e){return e*3.6}static msecToMph(e){return e*2.23694}static nauticalMilesToMiles(e){return e*1.15078}static milesToKm(e){return e*1.60934}static milesToNauticalMiles(e){return e*.868976}static rpmToHertz(e){return e/60}};var D=Nr(Gi()),I=class t{static destCoordinate(e,r,i){let n=(0,D.computeDestinationPoint)(e,i,G.radiansToDegrees(r));return[n.longitude,n.latitude]}static distanceTo(e,r){return(0,D.getDistance)(e,r)}static routeLength(e){return(0,D.getPathLength)(e)}static routeLegs(e,r){if(e.length<2)return[];let i=[];r?i.push({bearing:(0,D.getGreatCircleBearing)(r,e[0]),distance:t.distanceTo(r,e[0])}):i.push({bearing:0,distance:0});for(let n=1;n<e.length;++n){let a={bearing:(0,D.getGreatCircleBearing)(e[n-1],e[n]),distance:t.distanceTo(e[n-1],e[n])};i.push(a)}return i}static centreOfPolygon(e){let r=(0,D.getCenter)(e);return[r.longitude,r.latitude]}static inDLCrossingZone(e,r=170){return Math.abs(e[0])>=r}static inBounds(e,r){return(0,D.isPointInPolygon)(e,[[r[0],r[1]],[r[0],r[3]],[r[2],r[3]],[r[2],r[1]],[r[0],r[1]]])}static calcMapifiedExtent(e,r){let n=111111*Math.cos(G.degreesToRadians(e[1])),a=[0,0,0,0];return a[1]=e[1]+(0-Math.abs(r))/111111,a[3]=e[1]+Math.abs(r)/111111,a[0]=e[0]+(0-Math.abs(r))/n,a[2]=e[0]+Math.abs(r)/n,a}static normaliseCoords(e){if(!Array.isArray(e))return[0,0];if(typeof e[0]=="number"){if(e[0]>180)for(;e[0]>180;)e[0]=e[0]-360;else if(e[0]<-180)for(;e[0]<-180;)e[0]=360+e[0];return e}else if(Array.isArray(e[0]))return e.forEach(r=>r=this.normaliseCoords(r)),e}};var Et=class{action="notification";playback=!1;result=null;self=null;timestamp=new Date().toISOString();sourceRef},ne=class{action;playback=!1;result=null;timestamp;self=null;constructor(){this.action="update"}},Tt=class extends ne{constructor(){super(),this.action="resource"}},Ct=class extends ne{constructor(){super(),this.action="trail"}};var tn=Nr(zi());var So=["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"],f,v,rn,xe=[],It=[],wr=!1,Ar,Dr=!1,y={signalk:{},aisState:[]},nn=[0,0,0,0],an=60,ye=0,S,Y={},Z=500,V=!1,sn,U={maxAge:54e4,staleAge:36e4,lastTick:new Date().valueOf(),maxTrack:20},qr={cogLine:10,aisCogLine:10},ve={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}},F,ae="freeboard-sk";function Oo(){f={self:new le,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},f.self.positionReceived=!1,un()}function un(){S={updated:{},stale:{},expired:{}}}function Nt({action:t,msg:e}){switch(t){case"onConnect":postMessage({action:"open",playback:V,result:e.target.readyState});break;case"onClose":on(!1);break;case"onError":postMessage({action:"error",playback:V,result:"Connection error!"});break;case"onMessage":Lo(e);break}}addEventListener("message",({data:t})=>{wo(t)});function wo(t){if(t.cmd)switch(t.cmd){case"open":Ji(t.options),qo(t.options);break;case"close":on(!0);break;case"subscribe":v.subscribe(t.options.context,t.options.path);break;case"settings":Ji(t.options);break;case"alarm":Ao(t.options);break;case"vessel":if(t.options){let e;t.options.context==="self"?e=f.self:e=f.aisTargets.get(t.options.context),e&&t.options.name&&(e.name=t.options.name)}break;case"auth":t.options&&typeof t.options.token<"u"&&(rn=t.options.token);break;case"trail":t.options&&(ve.trailDuration=t.options.trailDuration??24,t.options.trailResolution&&(ve.trailResolution.lastHour=t.options.trailResolution.lastHour??"5s",ve.trailResolution.next23=t.options.trailResolution.next23??"1m",ve.trailResolution.beyond24=t.options.trailResolution.beyond24??"5m")),Do(ve);break}}function Ji(t={config:{}}){t.interval&&typeof t.interval=="number"&&(Z=t.interval,dn(),cn(),an=1/(Z/1e3)*60),V=!!t.playback,t.config&&(typeof t.config.units.preferredPaths<"u"&&(Y=t.config.units.preferredPaths),t.config.vessels.aisMaxAge&&typeof t.config.vessels.aisMaxAge=="number"&&(U.maxAge=t.config.vessels.aisMaxAge),t.config.vessels.aisStaleAge&&typeof t.config.vessels.aisStaleAge=="number"&&(U.staleAge=t.config.vessels.aisStaleAge),typeof t.config.signalk.maxRadius=="number"&&(y.signalk=t.config.signalk),typeof t.config.selections.aisState<"u"&&Array.isArray(t.config.selections.aisState)&&(y.aisState=t.config.selections.aisState),qr=t.config.vessels)}function on(t=!1){dn(),xe.forEach(e=>e.unsubscribe()),v&&t&&v.close(),v=null,postMessage({action:"close",result:t,playback:V})}function Pe(t){return new Promise((e,r)=>{fetch(`${t}`).then(i=>{i.json().then(n=>e(n)).catch(n=>r(n))}).catch(i=>{r(i)})})}function ln(){let t=y&&y.signalk&&y.signalk.maxRadius?`?radius=${y.signalk.maxRadius}`:"?radius=10000";Pe(Ar+"/tracks"+t).then(e=>{Dr=!0,Object.entries(e).forEach(r=>{if(f.aisTargets.has(r[0])){let i=f.aisTargets.get(r[0]);i.track=r[1].coordinates,Lr(i)}})}).catch(()=>{Dr=!1})}function Do(t){let e=Ar+"/self/track?",r=[],i=5e-4,n=!0;t.trailDuration>24&&(r.push(Pe(`${e}timespan=${t.trailDuration-24}h&resolution=${t.trailResolution.beyond24}×panOffset=24`)),r.push(Pe(`${e}timespan=23h&resolution=${t.trailResolution.next23}×panOffset=1`))),t.trailDuration>1&&t.trailDuration<25&&r.push(Pe(`${e}timespan=${t.trailDuration-1}h&resolution=${t.trailResolution.next23}×panOffset=1`)),r.push(Pe(`${e}timespan=1h&resolution=${t.trailResolution.lastHour}`));let a=[],s=new Ct;s.playback=V,Promise.all(r).then(u=>{let o=0,p=r.length-1,M=60;u.forEach(h=>{if(h.type&&h.type==="MultiLineString"&&h.coordinates&&Array.isArray(h.coordinates))if(o!==p){let g=[];for(h.coordinates.forEach(_=>{g=g.concat(_)}),g=(0,tn.SimplifyAP)(g,i,n);g.length>M;){let _=g.slice(0,M);a.push(_),g=g.slice(M-1),g[0]=[g[0][0]+5e-9,g[0][1]+5e-9]}g.length!==0&&a.push(g)}else a=a.concat(h.coordinates);o++}),s.result=a,postMessage(s)}).catch(()=>{s.result=null,postMessage(s)})}function qo(t){if(v)return;if(!t.url){postMessage({action:"error",result:"Valid options not provided!"});return}let e=t.url.split("/");if(e.pop(),e.push("api"),e[0]=e[0]==="wss:"?"https:":"http:",Ar=e.join("/"),Oo(),v=new Ae,xe.push(v.onConnect.subscribe(r=>Nt({action:"onConnect",msg:r}))),xe.push(v.onClose.subscribe(r=>Nt({action:"onClose",msg:r}))),xe.push(v.onError.subscribe(r=>Nt({action:"onError",msg:r}))),xe.push(v.onMessage.subscribe(r=>Nt({action:"onMessage",msg:r}))),v.authToken=rn,t.playback){let r=t.playbackOptions.startTime?`?startTime=${t.playbackOptions.startTime}`:null,i=t.playbackOptions.playbackRate?`playbackRate=${t.playbackOptions.playbackRate}`:null;i=i?r?"&"+i:"?"+i:null;let n=`${t.url}${r||""}${i||""}`;v.open(n,t.playbackOptions.subscribe,t.token)}else v.open(t.url,t.subscribe,t.token),ln()}function Ao(t){let e=t.type.indexOf("notifications.")===-1?`notifications.${t.type}`:t.type;t.raise?v.raiseAlarm("self",e,new Le(t.message,t.state,!0,!0)):v.clearAlarm("self",e)}function Lo(t){v.isHello(t)?(postMessage({action:"hello",result:t,self:t.self,playback:V}),Z&&cn()):v.isDelta(t)?(wr=!0,t.updates.forEach(e=>{e.values&&(F=e.$source,e.values.forEach(r=>{if(sn=e.timestamp,!!t.context)switch(t.context.split(".")[0]){case"shore":case"atons":y?.signalk.atons&&To(t.context,r),_e(t.context,f.atons,y?.signalk.atons);break;case"sar":y?.signalk.sar&&Co(t.context,r),_e(t.context,f.sar,y?.signalk.sar);break;case"aircraft":y?.signalk.aircraft&&Io(t.context,r),_e(t.context,f.aircraft,y?.signalk.aircraft);break;case"meteo":y?.signalk.meteo&&(No(t.context,r),en(r)),_e(t.context,f.meteo,y?.signalk.meteo);break;case"vessels":if(v.isSelf(t))f.self.id||(f.self.id=t.context),Qi(f.self,r,!0),en(r);else{if(y?.signalk.vessels){let i=Ro(t.context);Qi(i,r)}_e(t.context,f.aisTargets,y?.signalk.vessels,y?.aisState)}break}}))}),fn()):v.isResponse(t)&&postMessage({action:"response",result:t})}function _e(t,e,r=!0,i=[]){if(r){let n=e.get(t);n&&i.includes(n?.state)&&(S.expired[t]=!0,n=null),n&&y.signalk.maxRadius?n.positionReceived&&I.inBounds(n.position,nn)?S.updated[t]=!0:(e.delete(t),S.expired[t]=!0):S.updated[t]=!0}else e.size!==0&&(e.forEach((n,a)=>{S.expired[a]=!0}),e.clear())}function fn(t=!1){if(!Z||t){let e=new ne;e.playback=V,f.aisStatus.updated=Object.keys(S.updated),f.aisStatus.stale=Object.keys(S.stale),f.aisStatus.expired=Object.keys(S.expired),e.result=f,e.timestamp=V?sn:f.self.lastUpdated.toISOString(),postMessage(e),un(),f.self.resourceUpdates=[],ye===0&&(Eo(),f.self.positionReceived&&y?.signalk.maxRadius&&(nn=I.calcMapifiedExtent(f.self.position,y.signalk.maxRadius),ye++)),ye=ye>=an?0:ye+1}}function cn(){Z&&typeof Z=="number"&&It.push(setInterval(()=>{wr&&(fn(!0),wr=!1)},Z)),It.push(setInterval(()=>{Dr&&ln()},6e4))}function dn(){It.forEach(t=>clearInterval(t)),It=[]}function Ro(t){if(!f.aisTargets.has(t)){let e=new le;e.id=t,e.position=null,f.aisTargets.set(t,e)}return f.aisTargets.get(t)}function Qi(t,e,r=!1){if(r){if(t.lastUpdated=new Date,e.path.startsWith("resources."))t.resourceUpdates.push(e),ko(e);else if(e.path.startsWith("navigation.racing"))t.properties[e.path]=e.value;else if(e.path==="performance.beatAngle")t.performance.beatAngle=e.value;else if(e.path==="performance.gybeAngle")t.performance.gybeAngle=e.value;else if(e.path.startsWith("navigation.course."))if(e.path.startsWith("navigation.course.calcValues.")){let a=e.path.split(".").slice(3).join(".");t.courseCalcs[a]=e.value}else e.path.includes("activeRoute")?t.courseApi.activeRoute=e.value:e.path.includes("nextPoint")?t.courseApi.nextPoint=e.value:e.path.includes("previousPoint")?t.courseApi.previousPoint=e.value:e.path.includes("arrivalCircle")&&(t.courseApi.arrivalCircle=e.value);let n=e.path.indexOf("course")!==-1?e.path.split(".").slice(0,2).join("."):e.path;So.indexOf(n)!==-1&&(f.paths[n]=null)}else e.path==="navigation.distanceToSelf"&&(t.distanceToSelf=e.value);if(e.path==="")typeof e.value.name<"u"&&(t.name=e.value.name),typeof e.value.mmsi<"u"&&(t.mmsi=e.value.mmsi,t.lastUpdated=new Date),typeof e.value.registrations<"u"&&(t.registrations=e.value.registrations),typeof e.value.buddy<"u"&&(t.buddy=e.value.buddy),typeof e.value.communication<"u"&&(t.callsignVhf=e.value.communication.callsignVhf??"",t.callsignHf=e.value.communication.callsignHf??"");else if(e.path==="communication.callsignVhf")t.callsignVhf=e.value;else if(e.path==="communication.callsignHf")t.callsignHf=e.value;else if(e.path==="design.aisShipType")t.type=e.value;else if(e.path==="navigation.position"&&e.value){if(typeof e.value.latitude>"u"||typeof e.value.longitude>"u")return;t.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),t.positionReceived=!0,r||Lr(t)}else e.path==="navigation.state"?t.state=e.value:e.path==="navigation.speedOverGround"?t.sog=e.value:e.path==="environment.mode"?t.environment.mode=e.value:e.path==="environment.sun"?t.environment.sun=e.value:e.path==="environment.wind.angleApparent"?t.wind.awa=e.value:e.path==="environment.wind.speedApparent"?t.wind.aws=e.value:e.path==="environment.wind.speedTrue"?t.wind.speedTrue=e.value:e.path==="environment.wind.speedOverGround"?t.wind.sog=e.value:e.path==="environment.wind.directionTrue"?t.wind.twd=e.value:e.path==="environment.wind.directionMagnetic"?t.wind.mwd=e.value:e.path==="navigation.anchor.position"?t.anchor.position=e.value:e.path==="navigation.anchor.maxRadius"?t.anchor.maxRadius=e.value:e.path==="navigation.anchor.currentRadius"?t.anchor.radius=e.value:e.path==="steering.autopilot.state"&&F===ae?t.autopilot.state=e.value:e.path==="steering.autopilot.mode"&&F===ae?t.autopilot.mode=e.value:e.path==="steering.autopilot.target"&&F===ae?t.autopilot.target=e.value:e.path==="steering.autopilot.engaged"&&F===ae?t.autopilot.enabled=e.value:e.path==="steering.autopilot.defaultPilot"?(t.autopilot.default=e.value,ae=e.value):e.path==="steering.autopilot.availableActions"&&F===ae?t.autopilot.availableActions=e.value??[]:e.path==="navigation.courseOverGroundTrue"?t.cogTrue=e.value:e.path==="navigation.courseOverGroundMagnetic"?t.cogMagnetic=e.value:e.path==="navigation.headingTrue"?t.headingTrue=e.value:e.path==="navigation.headingMagnetic"&&(t.headingMagnetic=e.value);typeof Y.heading<"u"&&e.path===Y.heading&&(t.orientation=e.value),typeof Y.tws<"u"&&e.path===Y.tws&&(t.wind.tws=e.value),typeof Y.twd<"u"&&e.path===Y.twd&&(t.wind.direction=e.path==="environment.wind.angleTrueGround"||e.path==="environment.wind.angleTrueWater"?G.angleToDirection(e.value,t.orientation??0):e.value);let i=t.cogTrue??t.cogMagnetic??void 0;if(typeof i<"u"&&t.position){let n=r?qr.cogLine:qr.aisCogLine,a=(t.sog??0)*(n*60);t.vectors.cog=[t.position,I.destCoordinate(t.position,i,a)]}}function ko(t){let e=new Tt;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}function en(t){if(t.path.includes("notifications.")){let e=new Et;e.playback=V,e.result={path:t.path,value:t.value,sourceRef:F},postMessage(e)}}function Eo(){let t=new Date().valueOf();f.aisTargets.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.aisTargets.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)}),f.aircraft.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.aircraft.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)}),f.sar.forEach((e,r)=>{e.lastUpdated.valueOf()<t-U.maxAge?(S.expired[r]=!0,f.sar.delete(r)):e.lastUpdated.valueOf()<t-U.staleAge&&(S.stale[r]=!0)})}function To(t,e){let r=!1;if(t.indexOf("shore.basestations")!==-1&&(r=!0),!f.atons.has(t)){let n=new fe;n.id=t,n.position=null,r&&(n.type.id=-1,n.type.name="Basestation"),f.atons.set(t,n)}let i=f.atons.get(t);return e.path===""?(typeof e.value.name<"u"&&(i.name=e.value.name),typeof e.value.mmsi<"u"&&(i.mmsi=e.value.mmsi),typeof e.value.atonType<"u"&&(i.type=e.value.atonType)):e.path==="atonType"?i.type=e.value:e.path==="virtual"?i.virtual=e.value:e.path==="navigation.position"?(i.position=[e.value.longitude,e.value.latitude],i.positionReceived=!0):i.properties[e.path]=e.value,t}function Co(t,e){if(!f.sar.has(t)){let i=new Re;i.id=t,i.position=null,i.type.id=-1,i.type.name="SaR Beacon",f.sar.set(t,i)}let r=f.sar.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function No(t,e){if(!f.meteo.has(t)){let i=new Ee;i.id=t,i.position=null,i.type.id=-1,i.type.name="Weather Station",f.meteo.set(t,i)}let r=f.meteo.get(t);if(e.path===""){if(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"){let i=t.split(":").slice(-2);r.mmsi=i.length===2?`${i[0]}:${i[1]}`:e.value.mmsi}typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")}else e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="environment.outside.temperature"?r.temperature=e.value:e.path==="environment.wind.directionTrue"?r.twd=e.value:e.path==="environment.wind.averageSpeed"?r.tws=e.value:e.path==="navigation.position"&&e.value&&(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0)}function Io(t,e){if(!f.aircraft.has(t)){let i=new ke;i.id=t,i.position=null,f.aircraft.set(t,i)}let r=f.aircraft.get(t);e.path===""?(typeof e.value.name<"u"&&(r.name=e.value.name),typeof e.value.mmsi<"u"&&(r.mmsi=e.value.mmsi),typeof e.value.communication<"u"&&(r.callsignVhf=e.value.communication.callsignVhf??"",r.callsignHf=e.value.communication.callsignHf??"")):e.path==="communication.callsignVhf"?r.callsignVhf=e.value:e.path==="communication.callsignHf"?r.callsignHf=e.value:e.path==="navigation.position"&&e.value?(r.position=I.normaliseCoords([e.value.longitude,e.value.latitude]),r.positionReceived=!0,Lr(r)):e.path==="navigation.courseOverGroundTrue"?r.orientation=e.value:e.path==="navigation.speedOverGround"&&(r.sog=e.value)}function Lr(t){if(t.track&&t.track.length===0)t.track.push([t.position]);else{let e=t.track[t.track.length-1].length,r=t.track[t.track.length-1][e-1];r[0]!==t.position[0]&&r[1]!==t.position[1]&&t.track[t.track.length-1].push(t.position)}t.track[t.track.length-1]=t.track[t.track.length-1].slice(0-U.maxTrack)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var Yv={179:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){var l=r.areaConversion[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m"];if(l)return a*l;throw new Error("Invalid unit used for area conversion.")}},190:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(7029)),o=c(n(3100)),i=c(n(5705)),s=c(n(942)),a=n(7636);function c(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,h){var V,J,p=(0,r.default)(f),g=(0,o.default)(f),m=(0,i.default)(p),y=(0,i.default)(g),v=h/a.earthRadius,_=m-v,I=m+v,b=(0,i.default)(a.MAXLAT),k=(0,i.default)(a.MINLAT),L=(0,i.default)(a.MAXLON),H=(0,i.default)(a.MINLON);if(_>k&&I<b){var qt=Math.asin(Math.sin(v)/Math.cos(m));(V=y-qt)<H&&(V+=2*Math.PI),(J=y+qt)>L&&(J-=2*Math.PI)}else _=Math.max(_,k),I=Math.min(I,b),V=H,J=L;return[{latitude:(0,s.default)(_),longitude:(0,s.default)(V)},{latitude:(0,s.default)(I),longitude:(0,s.default)(J)}]}},202:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(8674));t.default=function(c,l,u){return(0,r.default)(c,l,.01)<u}},266:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(3026)),o=a(n(4902)),i=a(n(1532)),s=n(7636);function a(u){return u&&u.__esModule?u:{default:u}}t.default=function u(d){return(0,r.default)(d)?!(parseFloat(d)>s.MAXLON||d<s.MINLON):!!(0,o.default)(d)&&u((0,i.default)(d))}},354:(e,t)=>{function i(u,d){(null==d||d>u.length)&&(d=u.length);for(var f=0,h=new Array(d);f<d;f++)h[f]=u[f];return h}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(d){if(!d.startsWith("POLYGON"))throw new Error("Invalid wkt.");return d.slice(d.indexOf("(")+2,d.indexOf(")")).split(", ").map(function(p){var m=function n(u,d){return function a(u){if(Array.isArray(u))return u}(u)||function s(u,d){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(u)){var f=[],h=!0,p=!1,g=void 0;try{for(var y,m=u[Symbol.iterator]();!(h=(y=m.next()).done)&&(f.push(y.value),!d||f.length!==d);h=!0);}catch(v){p=!0,g=v}finally{try{!h&&null!=m.return&&m.return()}finally{if(p)throw g}}return f}}(u,d)||function o(u,d){if(u){if("string"==typeof u)return i(u,d);var f=Object.prototype.toString.call(u).slice(8,-1);if("Object"===f&&u.constructor&&(f=u.constructor.name),"Map"===f||"Set"===f)return Array.from(u);if("Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f))return i(u,d)}}(u,d)||function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(p.split(" "),2),v=m[1];return{longitude:parseFloat(m[0]),latitude:parseFloat(v)}})}},884:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7029)),o=a(n(3100)),i=a(n(5705)),s=a(n(942));function a(u){return u&&u.__esModule?u:{default:u}}t.default=function(d,f){var h=(0,r.default)(f),p=(0,o.default)(f),g=(0,r.default)(d),m=(0,o.default)(d);return((0,s.default)(Math.atan2(Math.sin((0,i.default)(p)-(0,i.default)(m))*Math.cos((0,i.default)(h)),Math.cos((0,i.default)(g))*Math.sin((0,i.default)(h))-Math.sin((0,i.default)(g))*Math.cos((0,i.default)(h))*Math.cos((0,i.default)(p)-(0,i.default)(m))))+360)%360}},917:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){var l=r.distanceConversion[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m"];if(l)return a*l;throw new Error("Invalid unit used for distance conversion.")}},939:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7029)),o=a(n(3100)),i=a(n(5705)),s=a(n(942));function a(u){return u&&u.__esModule?u:{default:u}}t.default=function(d,f){var h=(0,i.default)((0,o.default)(f))-(0,i.default)((0,o.default)(d)),p=Math.log(Math.tan((0,i.default)((0,r.default)(f))/2+Math.PI/4)/Math.tan((0,i.default)((0,r.default)(d))/2+Math.PI/4));return Math.abs(h)>Math.PI&&(h=h>0?-1*(2*Math.PI-h):2*Math.PI+h),((0,s.default)(Math.atan2(h,p))+360)%360}},942:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i){return 180*i/Math.PI}},1118:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(2447));t.default=function(c,l){return(0,r.default)(c,l)[0]}},1167:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){switch(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"kmh"){case"kmh":return a*r.timeConversion.h*r.distanceConversion.km;case"mph":return a*r.timeConversion.h*r.distanceConversion.mi;default:return a}}},1532:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){var c=new RegExp(r.sexagesimalPattern).exec(a.toString().trim());if(typeof c>"u"||null===c)throw new Error("Given value is not in sexagesimal format");var l=Number(c[2])/60||0,u=Number(c[4])/3600||0,d=parseFloat(c[1])+l+u;return["S","W"].includes(c[7])?-d:d}},1691:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(5705)),o=a(n(7029)),i=a(n(3100)),s=n(7636);function a(u){return u&&u.__esModule?u:{default:u}}t.default=function(d){var f=0;if(d.length>2){for(var h,p,g,m=0;m<d.length;m++){m===d.length-2?(h=d.length-2,p=d.length-1,g=0):m===d.length-1?(h=d.length-1,p=0,g=1):(h=m,p=m+1,g=m+2);var y=(0,i.default)(d[h]),v=(0,o.default)(d[p]),_=(0,i.default)(d[g]);f+=((0,r.default)(_)-(0,r.default)(y))*Math.sin((0,r.default)(v))}f=f*s.earthRadius*s.earthRadius/2}return Math.abs(f)}},2222:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(7029)),o=c(n(3100)),i=c(n(5705)),s=c(n(942)),a=n(7636);function c(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,h,p){var g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,m=(0,r.default)(f),y=(0,o.default)(f),v=h/g,_=(0,i.default)(p),I=(0,i.default)(m),b=(0,i.default)(y),k=Math.asin(Math.sin(I)*Math.cos(v)+Math.cos(I)*Math.sin(v)*Math.cos(_)),L=b+Math.atan2(Math.sin(_)*Math.sin(v)*Math.cos(I),Math.cos(v)-Math.sin(I)*Math.sin(k)),H=(0,s.default)(L);return(H<a.MINLON||H>a.MAXLON)&&(L=(L+3*Math.PI)%(2*Math.PI)-Math.PI,H=(0,s.default)(L)),{latitude:(0,s.default)(k),longitude:H}}},2447:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(8674));t.default=function(c,l){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default;return u="function"==typeof u?u:r.default,l.slice().sort(function(d,f){return u(c,d)-u(c,f)})}},2541:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r={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(t,"computeDestinationPoint",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"convertArea",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"convertDistance",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"convertSpeed",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"decimalToSexagesimal",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"findNearest",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(t,"getAreaOfPolygon",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"getBounds",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(t,"getBoundsOfDistance",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(t,"getCenter",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(t,"getCenterOfBounds",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(t,"getCompassDirection",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(t,"getCoordinateKey",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(t,"getCoordinateKeys",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(t,"getDistance",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(t,"getDistanceFromLine",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(t,"getGreatCircleBearing",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(t,"getLatitude",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(t,"getLongitude",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(t,"getPathLength",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(t,"getPreciseDistance",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(t,"getRhumbLineBearing",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(t,"getRoughCompassDirection",{enumerable:!0,get:function(){return J.default}}),Object.defineProperty(t,"getSpeed",{enumerable:!0,get:function(){return qt.default}}),Object.defineProperty(t,"isDecimal",{enumerable:!0,get:function(){return ks.default}}),Object.defineProperty(t,"isPointInLine",{enumerable:!0,get:function(){return Zn.default}}),Object.defineProperty(t,"isPointInPolygon",{enumerable:!0,get:function(){return Xn.default}}),Object.defineProperty(t,"isPointNearLine",{enumerable:!0,get:function(){return er.default}}),Object.defineProperty(t,"isPointWithinRadius",{enumerable:!0,get:function(){return ht.default}}),Object.defineProperty(t,"isSexagesimal",{enumerable:!0,get:function(){return zt.default}}),Object.defineProperty(t,"isValidCoordinate",{enumerable:!0,get:function(){return Os.default}}),Object.defineProperty(t,"isValidLatitude",{enumerable:!0,get:function(){return xs.default}}),Object.defineProperty(t,"isValidLongitude",{enumerable:!0,get:function(){return Do.default}}),Object.defineProperty(t,"orderByDistance",{enumerable:!0,get:function(){return To.default}}),Object.defineProperty(t,"sexagesimalToDecimal",{enumerable:!0,get:function(){return bo.default}}),Object.defineProperty(t,"toDecimal",{enumerable:!0,get:function(){return $e.default}}),Object.defineProperty(t,"toRad",{enumerable:!0,get:function(){return bu.default}}),Object.defineProperty(t,"toDeg",{enumerable:!0,get:function(){return wo.default}}),Object.defineProperty(t,"wktToPolygon",{enumerable:!0,get:function(){return wu.default}});var o=A(n(2222)),i=A(n(179)),s=A(n(917)),a=A(n(1167)),c=A(n(8948)),l=A(n(1118)),u=A(n(1691)),d=A(n(9144)),f=A(n(190)),h=A(n(5524)),p=A(n(7088)),g=A(n(9952)),m=A(n(8744)),y=A(n(4695)),v=A(n(8674)),_=A(n(7504)),I=A(n(884)),b=A(n(7029)),k=A(n(3100)),L=A(n(5378)),H=A(n(2671)),V=A(n(939)),J=A(n(2845)),qt=A(n(8950)),ks=A(n(3026)),Zn=A(n(4194)),Xn=A(n(3536)),er=A(n(2787)),ht=A(n(202)),zt=A(n(4902)),Os=A(n(7637)),xs=A(n(6563)),Do=A(n(266)),To=A(n(2447)),bo=A(n(1532)),$e=A(n(5101)),bu=A(n(5705)),wo=A(n(942)),wu=A(n(354)),Ps=n(7636);function A(w){return w&&w.__esModule?w:{default:w}}Object.keys(Ps).forEach(function(w){"default"===w||"__esModule"===w||Object.prototype.hasOwnProperty.call(r,w)||Object.defineProperty(t,w,{enumerable:!0,get:function(){return Ps[w]}})})},2671:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7029)),o=a(n(3100)),i=a(n(5705)),s=n(7636);function a(u){return u&&u.__esModule?u:{default:u}}t.default=function(d,f){var h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;h=typeof h<"u"&&!isNaN(h)?h:1;var b,k,L,H,V,J,Os,p=(0,r.default)(d),g=(0,o.default)(d),m=(0,r.default)(f),y=(0,o.default)(f),v=6356752.314245,_=1/298.257223563,I=(0,i.default)(y-g),qt=Math.atan((1-_)*Math.tan((0,i.default)(parseFloat(p)))),ks=Math.atan((1-_)*Math.tan((0,i.default)(parseFloat(m)))),Zn=Math.sin(qt),Xn=Math.cos(qt),er=Math.sin(ks),ht=Math.cos(ks),zt=I,xs=100;do{var Do=Math.sin(zt),To=Math.cos(zt);if(0===(J=Math.sqrt(ht*Do*(ht*Do)+(Xn*er-Zn*ht*To)*(Xn*er-Zn*ht*To))))return 0;b=Zn*er+Xn*ht*To,k=Math.atan2(J,b),V=b-2*Zn*er/(H=1-(L=Xn*ht*Do/J)*L),isNaN(V)&&(V=0);var bo=_/16*H*(4+_*(4-3*H));Os=zt,zt=I+(1-bo)*_*L*(k+bo*J*(V+bo*b*(2*V*V-1)))}while(Math.abs(zt-Os)>1e-12&&--xs>0);if(0===xs)return NaN;var $e=H*(s.earthRadius*s.earthRadius-v*v)/(v*v),wo=$e/1024*(256+$e*($e*(74-47*$e)-128));return Math.round(v*(1+$e/16384*(4096+$e*($e*(320-175*$e)-768)))*(k-wo*J*(V+wo/4*(b*(2*V*V-1)-wo/6*V*(4*J*J-3)*(4*V*V-3))))/h)*h}},2787:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(7504));t.default=function(c,l,u,d){return(0,r.default)(c,l,u)<d}},2845:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i){return/^(NNE|NE|NNW|N)$/.test(i)?"N":/^(ENE|E|ESE|SE)$/.test(i)?"E":/^(SSE|S|SSW|SW)$/.test(i)?"S":/^(WSW|W|WNW|NW)$/.test(i)?"W":void 0}},3026:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i){var s=i.toString().trim();return!isNaN(parseFloat(s))&&parseFloat(s)===Number(s)}},3100:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636),o=s(n(8744)),i=s(n(5101));function s(l){return l&&l.__esModule?l:{default:l}}t.default=function(u,d){var f=(0,o.default)(u,r.longitudeKeys);if(!(typeof f>"u"||null===f)){var h=u[f];return!0===d?h:(0,i.default)(h)}}},3536:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7029)),o=i(n(3100));function i(c){return c&&c.__esModule?c:{default:c}}t.default=function(l,u){for(var d=!1,f=u.length,h=-1,p=f-1;++h<f;p=h)((0,o.default)(u[h])<=(0,o.default)(l)&&(0,o.default)(l)<(0,o.default)(u[p])||(0,o.default)(u[p])<=(0,o.default)(l)&&(0,o.default)(l)<(0,o.default)(u[h]))&&(0,r.default)(l)<((0,r.default)(u[p])-(0,r.default)(u[h]))*((0,o.default)(l)-(0,o.default)(u[h]))/((0,o.default)(u[p])-(0,o.default)(u[h]))+(0,r.default)(u[h])&&(d=!d);return d}},4194:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(8674));t.default=function(c,l,u){return(0,r.default)(l,c)+(0,r.default)(c,u)===(0,r.default)(l,u)}},4695:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636),o=function i(d){return d&&d.__esModule?d:{default:d}}(n(8744));function s(d,f){var h=Object.keys(d);if(Object.getOwnPropertySymbols){var p=Object.getOwnPropertySymbols(d);f&&(p=p.filter(function(g){return Object.getOwnPropertyDescriptor(d,g).enumerable})),h.push.apply(h,p)}return h}function c(d,f,h){return f in d?Object.defineProperty(d,f,{value:h,enumerable:!0,configurable:!0,writable:!0}):d[f]=h,d}t.default=function(f){var h=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:r.longitudeKeys,latitude:r.latitudeKeys,altitude:r.altitudeKeys},p=(0,o.default)(f,h.longitude),g=(0,o.default)(f,h.latitude),m=(0,o.default)(f,h.altitude);return function a(d){for(var f=1;f<arguments.length;f++){var h=null!=arguments[f]?arguments[f]:{};f%2?s(Object(h),!0).forEach(function(p){c(d,p,h[p])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(h)):s(Object(h)).forEach(function(p){Object.defineProperty(d,p,Object.getOwnPropertyDescriptor(h,p))})}return d}({latitude:g,longitude:p},m?{altitude:m}:{})}},4902:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){return r.sexagesimalPattern.test(a.toString().trim())}},5101:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(3026)),o=c(n(4902)),i=c(n(1532)),s=c(n(7637)),a=c(n(4695));function c(p){return p&&p.__esModule?p:{default:p}}function l(p,g){var m=Object.keys(p);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(p);g&&(y=y.filter(function(v){return Object.getOwnPropertyDescriptor(p,v).enumerable})),m.push.apply(m,y)}return m}function u(p){for(var g=1;g<arguments.length;g++){var m=null!=arguments[g]?arguments[g]:{};g%2?l(Object(m),!0).forEach(function(y){d(p,y,m[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(m)):l(Object(m)).forEach(function(y){Object.defineProperty(p,y,Object.getOwnPropertyDescriptor(m,y))})}return p}function d(p,g,m){return g in p?Object.defineProperty(p,g,{value:m,enumerable:!0,configurable:!0,writable:!0}):p[g]=m,p}t.default=function p(g){if((0,r.default)(g))return Number(g);if((0,o.default)(g))return(0,i.default)(g);if((0,s.default)(g)){var m=(0,a.default)(g);return Array.isArray(g)?g.map(function(y,v){return[0,1].includes(v)?p(y):y}):u(u(u({},g),m.latitude&&d({},m.latitude,p(g[m.latitude]))),m.longitude&&d({},m.longitude,p(g[m.longitude])))}return Array.isArray(g)?g.map(function(y){return(0,s.default)(y)?p(y):y}):g}},5378:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(c){return c&&c.__esModule?c:{default:c}}(n(8674));function i(c){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(u){return typeof u}:function(u){return u&&"function"==typeof Symbol&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u})(c)}t.default=function(l){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.default;return l.reduce(function(d,f){return"object"===i(d)&&null!==d.last&&(d.distance+=u(f,d.last)),d.last=f,d},{last:null,distance:0}).distance}},5524:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7029)),o=a(n(3100)),i=a(n(5705)),s=a(n(942));function a(u){return u&&u.__esModule?u:{default:u}}t.default=function(d){if(!1===Array.isArray(d)||0===d.length)return!1;var f=d.length,h=d.reduce(function(y,v){var _=(0,i.default)((0,r.default)(v)),I=(0,i.default)((0,o.default)(v));return{X:y.X+Math.cos(_)*Math.cos(I),Y:y.Y+Math.cos(_)*Math.sin(I),Z:y.Z+Math.sin(_)}},{X:0,Y:0,Z:0}),p=h.X/f,g=h.Y/f,m=h.Z/f;return{longitude:(0,s.default)(Math.atan2(g,p)),latitude:(0,s.default)(Math.atan2(m,Math.sqrt(p*p+g*g)))}}},5551:(e,t)=>{function n(l,u){return l*l+u*u}function r(l,u){return n(l.longitude-u.longitude,l.latitude-u.latitude)}function o(l,u,d){var f=u.longitude,h=u.latitude,p=d.longitude-f,g=d.latitude-h;if(0!==p||0!==g){var m=((l.longitude-f)*p+(l.latitude-h)*g)/n(p,g);m>1?(f=d.longitude,h=d.latitude):m>0&&(f+=p*m,h+=g*m)}return n(l.longitude-f,l.latitude-h)}function s(l,u,d,f,h){for(var g,p=f,m=u+1;m<d;m++){var y=o(l[m],l[u],l[d]);y>p&&(g=m,p=y)}p>f&&(g-u>1&&s(l,u,g,f,h),h.push(l[g]),d-g>1&&s(l,g,d,f,h))}function a(l,u){var d=l.length-1,f=[l[0]];return s(l,0,d,u,f),f.push(l[d]),f}t.__esModule=!0,t.SimplifyLL=function c(l,u,d){if(void 0===u&&(u=1),void 0===d&&(d=!1),l.length<=2)return l;var f=u*u;return a(l=d?l:function i(l,u){for(var f,d=l[0],h=[d],p=1,g=l.length;p<g;p++)r(f=l[p],d)>u&&(h.push(f),d=f);return d!==f&&h.push(f),h}(l,f),f)}},5705:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i){return i*Math.PI/180}},6380:(e,t,n)=>{var o=n(6729);t.p$=o.SimplifyAP,n(5551),n(6413)},6413:(e,t)=>{function n(l,u){return l*l+u*u}function r(l,u){return n(l.x-u.x,l.y-u.y)}function o(l,u,d){var f=u.x,h=u.y,p=d.x-f,g=d.y-h;if(0!==p||0!==g){var m=((l.x-f)*p+(l.y-h)*g)/n(p,g);m>1?(f=d.x,h=d.y):m>0&&(f+=p*m,h+=g*m)}return n(l.x-f,l.y-h)}function s(l,u,d,f,h){for(var g,p=f,m=u+1;m<d;m++){var y=o(l[m],l[u],l[d]);y>p&&(g=m,p=y)}p>f&&(g-u>1&&s(l,u,g,f,h),h.push(l[g]),d-g>1&&s(l,g,d,f,h))}function a(l,u){var d=l.length-1,f=[l[0]];return s(l,0,d,u,f),f.push(l[d]),f}t.__esModule=!0,t.Simplify=function c(l,u,d){if(void 0===u&&(u=1),void 0===d&&(d=!1),l.length<=2)return l;var f=u*u;return a(l=d?l:function i(l,u){for(var f,d=l[0],h=[d],p=1,g=l.length;p<g;p++)r(f=l[p],d)>u&&(h.push(f),d=f);return d!==f&&h.push(f),h}(l,f),f)}},6522:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i){return i>1?1:i<-1?-1:i}},6563:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(3026)),o=a(n(4902)),i=a(n(1532)),s=n(7636);function a(u){return u&&u.__esModule?u:{default:u}}t.default=function u(d){return(0,r.default)(d)?!(parseFloat(d)>s.MAXLAT||d<s.MINLAT):!!(0,o.default)(d)&&u((0,i.default)(d))}},6729:(e,t)=>{function n(l,u){return l*l+u*u}function r(l,u){return n(l[0]-u[0],l[1]-u[1])}function o(l,u,d){var f=u[0],h=u[1],p=d[0]-f,g=d[1]-h;if(0!==p||0!==g){var m=((l[0]-f)*p+(l[1]-h)*g)/n(p,g);m>1?(f=d[0],h=d[1]):m>0&&(f+=p*m,h+=g*m)}return n(l[0]-f,l[1]-h)}function s(l,u,d,f,h){for(var g,p=f,m=u+1;m<d;m++){var y=o(l[m],l[u],l[d]);y>p&&(g=m,p=y)}p>f&&(g-u>1&&s(l,u,g,f,h),h.push(l[g]),d-g>1&&s(l,g,d,f,h))}function a(l,u){var d=l.length-1,f=[l[0]];return s(l,0,d,u,f),f.push(l[d]),f}t.__esModule=!0,t.SimplifyAP=function c(l,u,d){if(void 0===u&&(u=1),void 0===d&&(d=!1),l.length<=2)return l;var f=u*u;return a(l=d?l:function i(l,u){for(var f,d=l[0],h=[d],p=1,g=l.length;p<g;p++)r(f=l[p],d)>u&&(h.push(f),d=f);return d!==f&&h.push(f),h}(l,f),f)}},7029:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636),o=s(n(8744)),i=s(n(5101));function s(l){return l&&l.__esModule?l:{default:l}}t.default=function(u,d){var f=(0,o.default)(u,r.latitudeKeys);if(!(typeof f>"u"||null===f)){var h=u[f];return!0===d?h:(0,i.default)(h)}}},7088:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(9144));t.default=function(c){var l=(0,r.default)(c),d=l.minLng+(l.maxLng-l.minLng)/2;return{latitude:parseFloat((l.minLat+(l.maxLat-l.minLat)/2).toFixed(6)),longitude:parseFloat(d.toFixed(6))}}},7504:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(8674)),o=i(n(6522));function i(c){return c&&c.__esModule?c:{default:c}}t.default=function(l,u,d){var f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,h=(0,r.default)(u,l,f),p=(0,r.default)(l,d,f),g=(0,r.default)(u,d,f),m=Math.acos((0,o.default)((h*h+g*g-p*p)/(2*h*g))),y=Math.acos((0,o.default)((p*p+g*g-h*h)/(2*p*g)));return m>Math.PI/2?h:y>Math.PI/2?p:Math.sin(m)*h}},7636:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.areaConversion=t.timeConversion=t.distanceConversion=t.altitudeKeys=t.latitudeKeys=t.longitudeKeys=t.MAXLON=t.MINLON=t.MAXLAT=t.MINLAT=t.earthRadius=t.sexagesimalPattern=void 0,t.sexagesimalPattern=/^([0-9]{1,3})\xb0\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['\u2032]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["\u2033]\s*)?([NEOSW]?)$/,t.earthRadius=6378137,t.MINLAT=-90,t.MAXLAT=90,t.MINLON=-180,t.MAXLON=180,t.longitudeKeys=["lng","lon","longitude",0],t.latitudeKeys=["lat","latitude",1],t.altitudeKeys=["alt","altitude","elevation","elev",2],t.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},t.timeConversion={m:60,h:3600,d:86400};var h={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};t.areaConversion=h,h.sqm=h.m2,h.sqkm=h.km2,h.sqft=h.ft2,h.sqyd=h.yd2,h.sqin=h.in2},7637:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n(4695)),o=s(n(6563)),i=s(n(266));function s(l){return l&&l.__esModule?l:{default:l}}t.default=function(u){var d=(0,r.default)(u),f=d.latitude,h=d.longitude;if(Array.isArray(u)&&u.length>=2)return(0,i.default)(u[0])&&(0,o.default)(u[1]);if(typeof f>"u"||typeof h>"u")return!1;var p=u[h],g=u[f];return!(typeof g>"u"||typeof p>"u"||!1===(0,o.default)(g)||!1===(0,i.default)(p))}},8674:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(7029)),o=c(n(3100)),i=c(n(5705)),s=c(n(6522)),a=n(7636);function c(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,h){var p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;p=typeof p<"u"&&!isNaN(p)?p:1;var g=(0,r.default)(f),m=(0,o.default)(f),y=(0,r.default)(h),v=(0,o.default)(h),_=Math.acos((0,s.default)(Math.sin((0,i.default)(y))*Math.sin((0,i.default)(g))+Math.cos((0,i.default)(y))*Math.cos((0,i.default)(g))*Math.cos((0,i.default)(m)-(0,i.default)(v))))*a.earthRadius;return Math.round(_/p)*p}},8744:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i,s){return s.reduce(function(a,c){if(typeof i>"u"||null===i)throw new Error("'".concat(i,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(i,c)&&typeof c<"u"&&typeof a>"u"?(a=c,c):a},void 0)}},8948:(e,t)=>{function n(d,f){return function a(d){if(Array.isArray(d))return d}(d)||function s(d,f){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(d)){var h=[],p=!0,g=!1,m=void 0;try{for(var v,y=d[Symbol.iterator]();!(p=(v=y.next()).done)&&(h.push(v.value),!f||h.length!==f);p=!0);}catch(_){g=!0,m=_}finally{try{!p&&null!=y.return&&y.return()}finally{if(g)throw m}}return h}}(d,f)||function o(d,f){if(d){if("string"==typeof d)return i(d,f);var h=Object.prototype.toString.call(d).slice(8,-1);if("Object"===h&&d.constructor&&(h=d.constructor.name),"Map"===h||"Set"===h)return Array.from(d);if("Arguments"===h||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(h))return i(d,f)}}(d,f)||function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(d,f){(null==f||f>d.length)&&(f=d.length);for(var h=0,p=new Array(f);h<f;h++)p[h]=d[h];return p}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(f){var p=n(f.toString().split("."),2),m=p[1],y=Math.abs(Number(p[0])),v=60*+("0."+(m||0)),_=v.toString().split("."),I=Math.floor(v),b=function(f){var p=Math.pow(10,arguments.length>1&&void 0!==arguments[1]?arguments[1]:4);return Math.round(f*p)/p}(60*+("0."+(_[1]||0))).toString(),L=n(b.split("."),2),H=L[0],V=L[1],J=void 0===V?"0":V;return y+"\xb0 "+I.toString().padStart(2,"0")+"' "+H.padStart(2,"0")+"."+J.padEnd(1,"0")+'"'}},8950:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(8674));t.default=function(c,l){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default)(c,l)/(Number(l.time)-Number(c.time))*1e3}},9144:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7029)),o=i(n(3100));function i(c){return c&&c.__esModule?c:{default:c}}t.default=function(l){if(!1===Array.isArray(l)||0===l.length)throw new Error("No points were given.");return l.reduce(function(u,d){var f=(0,r.default)(d),h=(0,o.default)(d);return{maxLat:Math.max(f,u.maxLat),minLat:Math.min(f,u.minLat),maxLng:Math.max(h,u.maxLng),minLng:Math.min(h,u.minLng)}},{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})}},9952:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(a){return a&&a.__esModule?a:{default:a}}(n(939));t.default=function(c,l){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,d="function"==typeof u?u(c,l):(0,r.default)(c,l);if(isNaN(d))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(d/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"}}}},Cu={};function Ls(e){var t=Cu[e];if(void 0!==t)return t.exports;var n=Cu[e]={exports:{}};return Yv[e](n,n.exports,Ls),n.exports}function Fs(e){return"function"==typeof e}let Vs=!1;const Se={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){if(e){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else Vs&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Vs=e},get useDeprecatedSynchronousErrorHandling(){return Vs}};function Yt(e){setTimeout(()=>{throw e},0)}const Co={closed:!0,next(e){},error(e){if(Se.useDeprecatedSynchronousErrorHandling)throw e;Yt(e)},complete(){}},Kv=Array.isArray||(e=>e&&"number"==typeof e.length);function Mu(e){return null!==e&&"object"==typeof e}const Mo=(()=>{function e(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return e.prototype=Object.create(Error.prototype),e})();class G{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:n,_ctorUnsubscribe:r,_unsubscribe:o,_subscriptions:i}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof G)n.remove(this);else if(null!==n)for(let s=0;s<n.length;++s)n[s].remove(this);if(Fs(o)){r&&(this._unsubscribe=void 0);try{o.call(this)}catch(s){t=s instanceof Mo?Nu(s.errors):[s]}}if(Kv(i)){let s=-1,a=i.length;for(;++s<a;){const c=i[s];if(Mu(c))try{c.unsubscribe()}catch(l){t=t||[],l instanceof Mo?t=t.concat(Nu(l.errors)):t.push(l)}}}if(t)throw new Mo(t)}add(t){let n=t;if(!t)return G.EMPTY;switch(typeof t){case"function":n=new G(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof G)){const i=n;n=new G,n._subscriptions=[i]}break;default:throw new Error("unrecognized teardown "+t+" added to Subscription.")}let{_parentOrParents:r}=n;if(null===r)n._parentOrParents=this;else if(r instanceof G){if(r===this)return n;n._parentOrParents=[r,this]}else{if(-1!==r.indexOf(this))return n;r.push(this)}const o=this._subscriptions;return null===o?this._subscriptions=[n]:o.push(n),n}remove(t){const n=this._subscriptions;if(n){const r=n.indexOf(t);-1!==r&&n.splice(r,1)}}}var e;function Nu(e){return e.reduce((t,n)=>t.concat(n instanceof Mo?n.errors:n),[])}G.EMPTY=((e=new G).closed=!0,e);const No="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class ae extends G{constructor(t,n,r){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Co;break;case 1:if(!t){this.destination=Co;break}if("object"==typeof t){t instanceof ae?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new Su(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new Su(this,t,n,r)}}[No](){return this}static create(t,n,r){const o=new ae(t,n,r);return o.syncErrorThrowable=!1,o}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class Su extends ae{constructor(t,n,r,o){super(),this._parentSubscriber=t;let i,s=this;Fs(n)?i=n:n&&(i=n.next,r=n.error,o=n.complete,n!==Co&&(s=Object.create(n),Fs(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=i,this._error=r,this._complete=o}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:n}=this;Se.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable?this.__tryOrSetError(n,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:n}=this,{useDeprecatedSynchronousErrorHandling:r}=Se;if(this._error)r&&n.syncErrorThrowable?(this.__tryOrSetError(n,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(n.syncErrorThrowable)r?(n.syncErrorValue=t,n.syncErrorThrown=!0):Yt(t),this.unsubscribe();else{if(this.unsubscribe(),r)throw t;Yt(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const n=()=>this._complete.call(this._context);Se.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,n){try{t.call(this._context,n)}catch(r){if(this.unsubscribe(),Se.useDeprecatedSynchronousErrorHandling)throw r;Yt(r)}}__tryOrSetError(t,n,r){if(!Se.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{n.call(this._context,r)}catch(o){return Se.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=o,t.syncErrorThrown=!0,!0):(Yt(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const tr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Zv(e){return e}let ye=(()=>{class e{constructor(n){this._isScalar=!1,n&&(this._subscribe=n)}lift(n){const r=new e;return r.source=this,r.operator=n,r}subscribe(n,r,o){const{operator:i}=this,s=function Qv(e,t,n){if(e){if(e instanceof ae)return e;if(e[No])return e[No]()}return e||t||n?new ae(e,t,n):new ae(Co)}(n,r,o);if(s.add(i?i.call(s,this.source):this.source||Se.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),Se.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(n){try{return this._subscribe(n)}catch(r){Se.useDeprecatedSynchronousErrorHandling&&(n.syncErrorThrown=!0,n.syncErrorValue=r),function Jv(e){for(;e;){const{closed:t,destination:n,isStopped:r}=e;if(t||r)return!1;e=n&&n instanceof ae?n:null}return!0}(n)?n.error(r):console.warn(r)}}forEach(n,r){return new(r=Au(r))((o,i)=>{let s;s=this.subscribe(a=>{try{n(a)}catch(c){i(c),s&&s.unsubscribe()}},i,o)})}_subscribe(n){const{source:r}=this;return r&&r.subscribe(n)}[tr](){return this}pipe(...n){return 0===n.length?this:function Ru(e){return 0===e.length?Zv:1===e.length?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}(n)(this)}toPromise(n){return new(n=Au(n))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function Au(e){if(e||(e=Se.Promise||Promise),!e)throw new Error("no Promise impl found");return e}const Kt=(()=>{function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e})();class Xv extends G{constructor(t,n){super(),this.subject=t,this.subscriber=n,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,n=t.observers;if(this.subject=null,!n||0===n.length||t.isStopped||t.closed)return;const r=n.indexOf(this.subscriber);-1!==r&&n.splice(r,1)}}class e_ extends ae{constructor(t){super(t),this.destination=t}}let ve=(()=>{class e extends ye{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[No](){return new e_(this)}lift(n){const r=new ku(this,this);return r.operator=n,r}next(n){if(this.closed)throw new Kt;if(!this.isStopped){const{observers:r}=this,o=r.length,i=r.slice();for(let s=0;s<o;s++)i[s].next(n)}}error(n){if(this.closed)throw new Kt;this.hasError=!0,this.thrownError=n,this.isStopped=!0;const{observers:r}=this,o=r.length,i=r.slice();for(let s=0;s<o;s++)i[s].error(n);this.observers.length=0}complete(){if(this.closed)throw new Kt;this.isStopped=!0;const{observers:n}=this,r=n.length,o=n.slice();for(let i=0;i<r;i++)o[i].complete();this.observers.length=0}unsubscribe(){this.isStopped=!0,this.closed=!0,this.observers=null}_trySubscribe(n){if(this.closed)throw new Kt;return super._trySubscribe(n)}_subscribe(n){if(this.closed)throw new Kt;return this.hasError?(n.error(this.thrownError),G.EMPTY):this.isStopped?(n.complete(),G.EMPTY):(this.observers.push(n),new Xv(this,n))}asObservable(){const n=new ye;return n.source=this,n}}return e.create=(t,n)=>new ku(t,n),e})();class ku extends ve{constructor(t,n){super(),this.destination=t,this.source=n}next(t){const{destination:n}=this;n&&n.next&&n.next(t)}error(t){const{destination:n}=this;n&&n.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:n}=this;return n?this.source.subscribe(t):G.EMPTY}}Error;function U(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}Error,globalThis,Symbol,typeof document<"u"&&document,function cA(){"function"==typeof Symbol&&Symbol.iterator&&Symbol}();class lk{constructor(){this.limitUI04=this.maxFromBits(4),this.limitUI06=this.maxFromBits(6),this.limitUI08=this.maxFromBits(8),this.limitUI12=this.maxFromBits(12),this.limitUI14=this.maxFromBits(14),this.limitUI16=this.maxFromBits(16),this.limitUI32=this.maxFromBits(32),this.limitUI40=this.maxFromBits(40),this.limitUI48=this.maxFromBits(48),this.create()}toString(){return this.hex}toURN(){return"urn:uuid:"+this.hex}toSignalK(){return`urn:mrn:signalk:uuid:${this.hex}`}toBytes(){let t=this.hex.split("-"),n=[],r=0;for(let o=0;o<t.length;o++)for(let i=0;i<t[o].length;i+=2)n[r++]=parseInt(t[o].substr(i,2),16);return n}maxFromBits(t){return Math.pow(2,t)}getRandomInt(t,n){return Math.floor(Math.random()*(n-t+1))+t}randomUI04(){return this.getRandomInt(0,this.limitUI04-1)}randomUI06(){return this.getRandomInt(0,this.limitUI06-1)}randomUI08(){return this.getRandomInt(0,this.limitUI08-1)}randomUI12(){return this.getRandomInt(0,this.limitUI12-1)}randomUI14(){return this.getRandomInt(0,this.limitUI14-1)}randomUI16(){return this.getRandomInt(0,this.limitUI16-1)}randomUI32(){return this.getRandomInt(0,this.limitUI32-1)}randomUI40(){return(0|Math.random()*(1<<30))+(0|1024*Math.random())*(1<<30)}randomUI48(){return(0|Math.random()*(1<<30))+(0|Math.random()*(1<<18))*(1<<30)}create(){this.fromParts(this.randomUI32(),this.randomUI16(),16384|this.randomUI12(),128|this.randomUI06(),this.randomUI08(),this.randomUI48())}paddedString(t,n,r=null){r=r||"0";let o=n-(t=String(t)).length;for(;o>0;o>>>=1,r+=r)1&o&&(t=r+t);return t}fromParts(t,n,r,o,i,s){return this.version=r>>12&15,this.hex=this.paddedString(t.toString(16),8)+"-"+this.paddedString(n.toString(16),4)+"-"+this.paddedString(r.toString(16),4)+"-"+this.paddedString(o.toString(16),2)+this.paddedString(i.toString(16),2)+"-"+this.paddedString(s.toString(16),12),this}}class Ns{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:(new lk).toString()}}}let dk=(()=>{class e{constructor(){this._filter="",this._wsTimeout=2e4,this._token="",this._playbackMode=!1,this.version=1,this.endpoint="",this.selfId="",this._source=null,this._connect=new ve,this.onConnect=this._connect.asObservable(),this._close=new ve,this.onClose=this._close.asObservable(),this._error=new ve,this.onError=this._error.asObservable(),this._message=new ve,this.onMessage=this._message.asObservable()}set source(n){this._source||(this._source={}),this._source.label=n}set authToken(n){this._token=n}get connectionTimeout(){return this._wsTimeout}set connectionTimeout(n){this._wsTimeout=n<3e3?3e3:n>6e4?6e4:n}get isOpen(){return!(!this.ws||1==this.ws.readyState||3==this.ws.readyState)}get filter(){return this._filter}set filter(n){this._filter=n&&-1!=n.indexOf("self")?this.selfId?this.selfId:"":n}get playbackMode(){return this._playbackMode}close(){this.ws&&(this.ws.close(),this.ws=null)}open(n,r,o){if(!(n=n||this.endpoint))return;let i=-1==n.indexOf("?")?"?":"&";r&&(n+=`${i}subscribe=${r}`),(this._token||o)&&(n+=`${r?"&":"?"}token=${this._token||o}`),this.close(),this.ws=new WebSocket(n),setTimeout(()=>{this.ws&&1!=this.ws.readyState&&3!=this.ws.readyState&&(console.warn(`Connection watchdog expired (${this._wsTimeout/1e3} sec): ${this.ws.readyState}... aborting connection...`),this.close())},this._wsTimeout),this.ws.onopen=s=>{this._connect.next(s)},this.ws.onclose=s=>{this._close.next(s)},this.ws.onerror=s=>{this._error.next(s)},this.ws.onmessage=s=>{this.parseOnMessage(s)}}parseOnMessage(n){let r;if("string"==typeof n.data)try{r=JSON.parse(n.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(n){if("object"!=typeof n)return"";let r=Ns.request();return typeof n.login>"u"&&this._token&&(r.token=this._token),Object.keys(n).forEach(i=>{r[i]=n[i]}),this.send(r),r.requestId}put(n,r,o){return this.sendRequest({context:"self"==n?"vessels.self":n,put:{path:r,value:o}})}login(n,r){return this.sendRequest({login:{username:n,password:r}})}send(n){this.ws&&("object"==typeof n&&(n=JSON.stringify(n)),this.ws.send(n))}sendUpdate(n="self",r,o){let i=Ns.updates();this._token&&(i.token=this._token),i.context="self"==n?"vessels.self":n,this._token&&(i.token=this._token);let s=[];"string"==typeof r&&s.push({path:r,value:o}),"object"==typeof r&&Array.isArray(r)&&(s=r);let a={timestamp:(new Date).toISOString(),values:s};this._source&&(a.source=this._source),i.updates.push(a),this.send(i)}subscribe(n="*",r="*",o){let i=Ns.subscribe();if(this._token&&(i.token=this._token),i.context="self"==n?"vessels.self":n,this._token&&(i.token=this._token),"object"==typeof r&&Array.isArray(r)&&(i.subscribe=r),"string"==typeof r){let s={};s.path=r,o&&"object"==typeof o&&(o.period&&(s.period=o.period),o.minPeriod&&(s.minPeriod=o.period),o.format&&("delta"==o.format||"full"==o.format)&&(s.format=o.format),o.policy&&("instant"==o.policy||"ideal"==o.policy||"fixed"==o.policy)&&(s.policy=o.policy)),i.subscribe.push(s)}this.send(i)}unsubscribe(n="*",r="*"){let o=Ns.unsubscribe();this._token&&(o.token=this._token),o.context="self"==n?"vessels.self":n,this._token&&(o.token=this._token),"object"==typeof r&&Array.isArray(r)&&(o.unsubscribe=r),"string"==typeof r&&o.unsubscribe.push({path:r}),this.send(o)}raiseAlarm(n="*",r,o){let i;i="string"==typeof r&&-1==r.indexOf("notifications.")?`notifications.${r}`:r,this.put(n,i,o.value)}clearAlarm(n="*",r){let o=-1==r.indexOf("notifications.")?`notifications.${r}`:r;this.put(n,o,null)}isSelf(n){return n.context==this.selfId}isDelta(n){return typeof n.context<"u"}isHello(n){return typeof n.version<"u"&&typeof n.self<"u"}isResponse(n){return typeof n.requestId<"u"}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=U({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class hk{constructor(t,n,r,o){this._method=[],this._message="",this._message=typeof t<"u"?t:"",this._state=typeof n<"u"?n:kv.alarm,r&&this._method.push(gu.visual),o&&this._method.push(gu.sound)}get value(){return{message:this._message,state:this._state,method:this._method}}}var kv=function(e){return e.normal="normal",e.alert="alert",e.warn="warn",e.alarm="alarm",e.emergency="emergency",e}(kv||{}),gu=function(e){return e.visual="visual",e.sound="sound",e}(gu||{});class gk{constructor(){this.obsList=[],this.stream=new dk,this._connect=new ve,this.onConnect=this._connect.asObservable(),this._close=new ve,this.onClose=this._close.asObservable(),this._error=new ve,this.onError=this._error.asObservable(),this._message=new ve,this.onMessage=this._message.asObservable()}get endpoint(){return this.stream.endpoint}set endpoint(t){this.stream.endpoint=t}get selfId(){return this.stream.selfId}set selfId(t){this.stream.selfId=t}get _source(){return this.stream._source}set _source(t){this.stream._source=t}set source(t){this.stream.source=t}set authToken(t){this.stream.authToken=t}get connectionTimeout(){return this.stream.connectionTimeout}set connectionTimeout(t){this.stream.connectionTimeout=t}get isOpen(){return this.stream.isOpen}get filter(){return this.stream.filter}set filter(t){this.stream.filter=t}get playbackMode(){return this.stream.playbackMode}open(t,n="none",r){this.obsList.push(this.stream.onConnect.subscribe(o=>this._connect.next(o))),this.obsList.push(this.stream.onClose.subscribe(o=>this._close.next(o))),this.obsList.push(this.stream.onError.subscribe(o=>this._error.next(o))),this.obsList.push(this.stream.onMessage.subscribe(o=>this._message.next(o))),this.stream.open(t,n,r)}close(){this.stream.close(),this.obsList.forEach(t=>t.unsubscribe()),this.obsList=[]}sendRequest(t){return this.stream.sendRequest(t)}put(t,n,r){return this.stream.put(t,n,r)}login(t,n){return this.stream.login(t,n)}send(t){this.stream.send(t)}sendUpdate(t="self",n,r){this.stream.sendUpdate(t,n,r)}subscribe(t="*",n="*",r){this.stream.subscribe(t,n,r)}unsubscribe(t="*",n="*"){this.stream.unsubscribe(t,n)}raiseAlarm(t="*",n,r){this.stream.raiseAlarm(t,n,r)}clearAlarm(t="*",n){this.stream.clearAlarm(t,n)}isSelf(t){return this.stream.isSelf(t)}isDelta(t){return this.stream.isDelta(t)}isHello(t){return this.stream.isHello(t)}isResponse(t){return this.stream.isResponse(t)}}class Ss{id;name;mmsi;position=[0,0];positionReceived=!1;state;type={id:-1,name:""};properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0;virtual}class Ov extends Ss{anchor={maxRadius:null,radius:null,position:null};autopilot={state:null,mode:null,target:null,enabled:!1,default:null,availableActions:[]};buddy=!1;cog;cogTrue=null;cogMagnetic=null;courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};courseCalcs={};distanceToSelf;environment={mode:null,sun:null};heading;headingTrue=null;headingMagnetic=null;performance={beatAngle:null,gybeAngle:null};racing;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}class mk extends Ss{constructor(){super()}}class yk extends Ss{sog=0;track=[];constructor(){super()}}class xv extends Ss{constructor(){super()}}class vk extends xv{twd;tws;temperature;constructor(){super()}}class mu{static celsiusToKelvin(t=0){return t+273.15}static kelvinToCelsius(t=0){return t-273.15}static kelvinToFarenheit(t=0){return 1.8*t-459.67}static degreesToRadians(t=0){return t*Math.PI/180}static radiansToDegrees(t=0){return 180*t/Math.PI}static angleToDirection(t,n){const r=2*Math.PI;if(n||(n=0),t||(t=0),isNaN(n)||isNaN(t))return null;const o=n+t;return o>r?o-r:o<0?r+o:o}static directionToAngle(t,n){const r=2*Math.PI;if(n||(n=0),t||(t=0),isNaN(n)||isNaN(t))return null;const o=n-t;let i;if(o>0)i=o>Math.PI?r-o:0-o;else if(o<0){const s=Math.abs(o);i=s>Math.PI?s-r:s}else i=o;return i}static knotsToKm(t){return 1.852*t}static nauticalMilesToKm(t){return 1.852*t}static knotsToMSec(t){return.51444325460445*t}static kmToKnots(t){return.539957*t}static kmToNauticalMiles(t){return.539957*t}static kmToMiles(t){return.621371*t}static metersToFeet(t){return 3.28084*t}static msecToKnots(t){return 1.94384*t}static msecToKmh(t){return 3.6*t}static msecToMph(t){return 2.23694*t}static nauticalMilesToMiles(t){return 1.15078*t}static milesToKm(t){return 1.60934*t}static milesToNauticalMiles(t){return.868976*t}static rpmToHertz(t){return t/60}}var Ut=Ls(2541);class He{static destCoordinate(t,n,r){const o=(0,Ut.computeDestinationPoint)(t,r,mu.radiansToDegrees(n));return[o.longitude,o.latitude]}static distanceTo(t,n){return(0,Ut.getDistance)(t,n)}static routeLength(t){return(0,Ut.getPathLength)(t)}static routeLegs(t,n){if(t.length<2)return[];const r=[];r.push(n?{bearing:(0,Ut.getGreatCircleBearing)(n,t[0]),distance:He.distanceTo(n,t[0])}:{bearing:0,distance:0});for(let o=1;o<t.length;++o){const i={bearing:(0,Ut.getGreatCircleBearing)(t[o-1],t[o]),distance:He.distanceTo(t[o-1],t[o])};r.push(i)}return r}static centreOfPolygon(t){const n=(0,Ut.getCenter)(t);return[n.longitude,n.latitude]}static inDLCrossingZone(t,n=170){return Math.abs(t[0])>=n}static inBounds(t,n){return(0,Ut.isPointInPolygon)(t,[[n[0],n[1]],[n[0],n[3]],[n[2],n[3]],[n[2],n[1]],[n[0],n[1]]])}static calcMapifiedExtent(t,n){const o=111111*Math.cos(mu.degreesToRadians(t[1])),i=[0,0,0,0];return i[1]=t[1]+(0-Math.abs(n))/111111,i[3]=t[1]+Math.abs(n)/111111,i[0]=t[0]+(0-Math.abs(n))/o,i[2]=t[0]+Math.abs(n)/o,i}static normaliseCoords(t){if(!Array.isArray(t))return[0,0];if("number"==typeof t[0]){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}return Array.isArray(t[0])?(t.forEach(n=>this.normaliseCoords(n)),t):void 0}}class Ik{action="notification";playback=!1;result=null;self=null;timestamp=(new Date).toISOString();sourceRef}class vu{action;playback=!1;result=null;timestamp;self=null;constructor(){this.action="update"}}class Dk extends vu{constructor(){super(),this.action="resource"}}class Tk extends vu{constructor(){super(),this.action="trail"}}var bk=Ls(6380);const wk=["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"];let N,X,Pv;const yo=[];let Eu,Rs=[],_u=!1,Iu=!1;const Q={signalk:{},aisState:[]};let le,Vv,Lv=[0,0,0,0],Fv=60,vo=0,Wt={},Gt=500,Be=!1;const Je={maxAge:54e4,staleAge:36e4,lastTick:(new Date).valueOf(),maxTrack:20};let Du={cogLine:10,aisCogLine:10};const _o={trailDuration:24,trailResolution:{lastHour:"5s",next23:"10s",beyond24:"1m"}};let ft,Qn="freeboard-sk";function jv(){le={updated:{},stale:{},expired:{}}}function As({action:e,msg:t}){switch(e){case"onConnect":postMessage({action:"open",playback:Be,result:t.target.readyState});break;case"onClose":Bv(!1);break;case"onError":postMessage({action:"error",playback:Be,result:"Connection error!"});break;case"onMessage":!function Ak(e){X.isHello(e)?(postMessage({action:"hello",result:e,self:e.self,playback:Be}),Gt&&Wv()):X.isDelta(e)?(_u=!0,e.updates.forEach(t=>{t.values&&(ft=t.$source,t.values.forEach(n=>{if(Vv=t.timestamp,e.context)switch(e.context.split(".")[0]){case"shore":case"atons":Q?.signalk.atons&&function Pk(e,t){let n=!1;if(-1!==e.indexOf("shore.basestations")&&(n=!0),!N.atons.has(e)){const o=new xv;o.id=e,o.position=null,n&&(o.type.id=-1,o.type.name="Basestation"),N.atons.set(e,o)}const r=N.atons.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.atonType<"u"&&(r.type=t.value.atonType)):"atonType"===t.path?r.type=t.value:"virtual"===t.path?r.virtual=t.value:"navigation.position"===t.path?(r.position=[t.value.longitude,t.value.latitude],r.positionReceived=!0):r.properties[t.path]=t.value}(e.context,n),Io(e.context,N.atons,Q?.signalk.atons);break;case"sar":Q?.signalk.sar&&function Lk(e,t){if(!N.sar.has(e)){const r=new mk;r.id=e,r.position=null,r.type.id=-1,r.type.name="SaR Beacon",N.sar.set(e,r)}const n=N.sar.get(e);""===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.communication<"u"&&(n.callsignVhf=t.value.communication.callsignVhf??"",n.callsignHf=t.value.communication.callsignHf??"")):"communication.callsignVhf"===t.path?n.callsignVhf=t.value:"communication.callsignHf"===t.path?n.callsignHf=t.value:"navigation.position"===t.path&&t.value&&(n.position=He.normaliseCoords([t.value.longitude,t.value.latitude]),n.positionReceived=!0)}(e.context,n),Io(e.context,N.sar,Q?.signalk.sar);break;case"aircraft":Q?.signalk.aircraft&&function Vk(e,t){if(!N.aircraft.has(e)){const r=new yk;r.id=e,r.position=null,N.aircraft.set(e,r)}const n=N.aircraft.get(e);""===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.communication<"u"&&(n.callsignVhf=t.value.communication.callsignVhf??"",n.callsignHf=t.value.communication.callsignHf??"")):"communication.callsignVhf"===t.path?n.callsignVhf=t.value:"communication.callsignHf"===t.path?n.callsignHf=t.value:"navigation.position"===t.path&&t.value?(n.position=He.normaliseCoords([t.value.longitude,t.value.latitude]),n.positionReceived=!0,Tu(n)):"navigation.courseOverGroundTrue"===t.path?n.orientation=t.value:"navigation.speedOverGround"===t.path&&(n.sog=t.value)}(e.context,n),Io(e.context,N.aircraft,Q?.signalk.aircraft);break;case"meteo":Q?.signalk.meteo&&(function Fk(e,t){if(!N.meteo.has(e)){const r=new vk;r.id=e,r.position=null,r.type.id=-1,r.type.name="Weather Station",N.meteo.set(e,r)}const n=N.meteo.get(e);if(""===t.path){if(typeof t.value.name<"u"&&(n.name=t.value.name),typeof t.value.mmsi<"u"){const r=e.split(":").slice(-2);n.mmsi=2===r.length?`${r[0]}:${r[1]}`:t.value.mmsi}typeof t.value.communication<"u"&&(n.callsignVhf=t.value.communication.callsignVhf??"",n.callsignHf=t.value.communication.callsignHf??"")}else"communication.callsignVhf"===t.path?n.callsignVhf=t.value:"communication.callsignHf"===t.path?n.callsignHf=t.value:"environment.outside.temperature"===t.path?n.temperature=t.value:"environment.wind.directionTrue"===t.path?n.twd=t.value:"environment.wind.averageSpeed"===t.path?n.tws=t.value:"navigation.position"===t.path&&t.value&&(n.position=He.normaliseCoords([t.value.longitude,t.value.latitude]),n.positionReceived=!0)}(e.context,n),zv(n)),Io(e.context,N.meteo,Q?.signalk.meteo);break;case"vessels":if(X.isSelf(e))N.self.id||(N.self.id=e.context),qv(N.self,n,!0),zv(n);else{if(Q?.signalk.vessels){const r=function kk(e){if(!N.aisTargets.has(e)){const t=new Ov;t.id=e,t.position=null,N.aisTargets.set(e,t)}return N.aisTargets.get(e)}(e.context);qv(r,n)}Io(e.context,N.aisTargets,Q?.signalk.vessels,Q?.aisState)}}}))}),Uv()):X.isResponse(e)&&postMessage({action:"response",result:e})}(t)}}function Hv(e={config:{}}){e.interval&&"number"==typeof e.interval&&(Gt=e.interval,Gv(),Wv(),Fv=1/(Gt/1e3)*60),Be=!!e.playback,e.config&&(typeof e.config.units.preferredPaths<"u"&&(Wt=e.config.units.preferredPaths),e.config.vessels.aisMaxAge&&"number"==typeof e.config.vessels.aisMaxAge&&(Je.maxAge=e.config.vessels.aisMaxAge),e.config.vessels.aisStaleAge&&"number"==typeof e.config.vessels.aisStaleAge&&(Je.staleAge=e.config.vessels.aisStaleAge),"number"==typeof e.config.signalk.maxRadius&&(Q.signalk=e.config.signalk),typeof e.config.selections.aisState<"u"&&Array.isArray(e.config.selections.aisState)&&(Q.aisState=e.config.selections.aisState),Du=e.config.vessels)}function Bv(e=!1){Gv(),yo.forEach(t=>t.unsubscribe()),X&&e&&X.close(),X=null,postMessage({action:"close",result:e,playback:Be})}function Eo(e){return new Promise((t,n)=>{fetch(`${e}`).then(r=>{r.json().then(o=>t(o)).catch(o=>n(o))}).catch(r=>{n(r)})})}function $v(){Eo(Eu+"/tracks"+(Q&&Q.signalk&&Q.signalk.maxRadius?`?radius=${Q.signalk.maxRadius}`:"?radius=10000")).then(t=>{Iu=!0,Object.entries(t).forEach(n=>{if(N.aisTargets.has(n[0])){const r=N.aisTargets.get(n[0]);r.track=n[1].coordinates,Tu(r)}})}).catch(()=>{Iu=!1})}function Io(e,t,n=!0,r=[]){if(n){let o=t.get(e);o&&r.includes(o?.state)&&(le.expired[e]=!0,o=null),o&&Q.signalk.maxRadius?o.positionReceived&&He.inBounds(o.position,Lv)?le.updated[e]=!0:(t.delete(e),le.expired[e]=!0):le.updated[e]=!0}else 0!==t.size&&(t.forEach((o,i)=>{le.expired[i]=!0}),t.clear())}function Uv(e=!1){if(!Gt||e){const t=new vu;t.playback=Be,N.aisStatus.updated=Object.keys(le.updated),N.aisStatus.stale=Object.keys(le.stale),N.aisStatus.expired=Object.keys(le.expired),t.result=N,t.timestamp=Be?Vv:N.self.lastUpdated.toISOString(),postMessage(t),jv(),N.self.resourceUpdates=[],0===vo&&(function xk(){const e=(new Date).valueOf();N.aisTargets.forEach((t,n)=>{t.lastUpdated.valueOf()<e-Je.maxAge?(le.expired[n]=!0,N.aisTargets.delete(n)):t.lastUpdated.valueOf()<e-Je.staleAge&&(le.stale[n]=!0)}),N.aircraft.forEach((t,n)=>{t.lastUpdated.valueOf()<e-Je.maxAge?(le.expired[n]=!0,N.aircraft.delete(n)):t.lastUpdated.valueOf()<e-Je.staleAge&&(le.stale[n]=!0)}),N.sar.forEach((t,n)=>{t.lastUpdated.valueOf()<e-Je.maxAge?(le.expired[n]=!0,N.sar.delete(n)):t.lastUpdated.valueOf()<e-Je.staleAge&&(le.stale[n]=!0)})}(),N.self.positionReceived&&Q?.signalk.maxRadius&&(Lv=He.calcMapifiedExtent(N.self.position,Q.signalk.maxRadius),vo++)),vo=vo>=Fv?0:vo+1}}function Wv(){Gt&&"number"==typeof Gt&&Rs.push(setInterval(()=>{_u&&(Uv(!0),_u=!1)},Gt)),Rs.push(setInterval(()=>{Iu&&$v()},6e4))}function Gv(){Rs.forEach(e=>clearInterval(e)),Rs=[]}function qv(e,t,n=!1){if(n){if(e.lastUpdated=new Date,t.path.startsWith("resources."))e.resourceUpdates.push(t),function Ok(e){const t=new Dk;t.playback=Be,t.result={path:e.path,value:e.value,sourceRef:ft},postMessage(t)}(t);else if(t.path.startsWith("navigation.racing"))e.properties[t.path]=t.value;else if("performance.beatAngle"===t.path)e.performance.beatAngle=t.value;else if("performance.gybeAngle"===t.path)e.performance.gybeAngle=t.value;else if(t.path.startsWith("navigation.course."))if(t.path.startsWith("navigation.course.calcValues.")){const i=t.path.split(".").slice(3).join(".");e.courseCalcs[i]=t.value}else t.path.includes("activeRoute")?e.courseApi.activeRoute=t.value:t.path.includes("nextPoint")?e.courseApi.nextPoint=t.value:t.path.includes("previousPoint")?e.courseApi.previousPoint=t.value:t.path.includes("arrivalCircle")&&(e.courseApi.arrivalCircle=t.value);const o=-1!==t.path.indexOf("course")?t.path.split(".").slice(0,2).join("."):t.path;-1!==wk.indexOf(o)&&(N.paths[o]=null)}else"navigation.distanceToSelf"===t.path&&(e.distanceToSelf=t.value);if(""===t.path)typeof t.value.name<"u"&&(e.name=t.value.name),typeof t.value.mmsi<"u"&&(e.mmsi=t.value.mmsi,e.lastUpdated=new Date),typeof t.value.registrations<"u"&&(e.registrations=t.value.registrations),typeof t.value.buddy<"u"&&(e.buddy=t.value.buddy),typeof t.value.communication<"u"&&(e.callsignVhf=t.value.communication.callsignVhf??"",e.callsignHf=t.value.communication.callsignHf??"");else if("communication.callsignVhf"===t.path)e.callsignVhf=t.value;else if("communication.callsignHf"===t.path)e.callsignHf=t.value;else if("design.aisShipType"===t.path)e.type=t.value;else if("navigation.position"===t.path&&t.value){if(typeof t.value.latitude>"u"||typeof t.value.longitude>"u")return;e.position=He.normaliseCoords([t.value.longitude,t.value.latitude]),e.positionReceived=!0,n||Tu(e)}else"navigation.state"===t.path?e.state=t.value:"navigation.speedOverGround"===t.path?e.sog=t.value:"environment.mode"===t.path?e.environment.mode=t.value:"environment.sun"===t.path?e.environment.sun=t.value:"environment.wind.angleApparent"===t.path?e.wind.awa=t.value:"environment.wind.speedApparent"===t.path?e.wind.aws=t.value:"environment.wind.speedTrue"===t.path?e.wind.speedTrue=t.value:"environment.wind.speedOverGround"===t.path?e.wind.sog=t.value:"environment.wind.directionTrue"===t.path?e.wind.twd=t.value:"environment.wind.directionMagnetic"===t.path?e.wind.mwd=t.value:"navigation.anchor.position"===t.path?e.anchor.position=t.value:"navigation.anchor.maxRadius"===t.path?e.anchor.maxRadius=t.value:"navigation.anchor.currentRadius"===t.path?e.anchor.radius=t.value:"steering.autopilot.state"===t.path&&ft===Qn?e.autopilot.state=t.value:"steering.autopilot.mode"===t.path&&ft===Qn?e.autopilot.mode=t.value:"steering.autopilot.target"===t.path&&ft===Qn?e.autopilot.target=t.value:"steering.autopilot.engaged"===t.path&&ft===Qn?e.autopilot.enabled=t.value:"steering.autopilot.defaultPilot"===t.path?(e.autopilot.default=t.value,Qn=t.value):"steering.autopilot.availableActions"===t.path&&ft===Qn?e.autopilot.availableActions=t.value??[]:"navigation.courseOverGroundTrue"===t.path?e.cogTrue=t.value:"navigation.courseOverGroundMagnetic"===t.path?e.cogMagnetic=t.value:"navigation.headingTrue"===t.path?e.headingTrue=t.value:"navigation.headingMagnetic"===t.path&&(e.headingMagnetic=t.value);typeof Wt.heading<"u"&&t.path===Wt.heading&&(e.orientation=t.value),typeof Wt.tws<"u"&&t.path===Wt.tws&&(e.wind.tws=t.value),typeof Wt.twd<"u"&&t.path===Wt.twd&&(e.wind.direction="environment.wind.angleTrueGround"===t.path||"environment.wind.angleTrueWater"===t.path?mu.angleToDirection(t.value,e.orientation??0):t.value);const r=e.cogTrue??e.cogMagnetic??void 0;typeof r<"u"&&e.position&&(e.vectors.cog=[e.position,He.destCoordinate(e.position,r,(e.sog??0)*(60*(n?Du.cogLine:Du.aisCogLine)))])}function zv(e){if(e.path.includes("notifications.")){const t=new Ik;t.playback=Be,t.result={path:e.path,value:e.value,sourceRef:ft},postMessage(t)}}function Tu(e){if(e.track&&0===e.track.length)e.track.push([e.position]);else{const n=e.track[e.track.length-1][e.track[e.track.length-1].length-1];n[0]!==e.position[0]&&n[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-Je.maxTrack)}addEventListener("message",({data:e})=>{!function Mk(e){if(e.cmd)switch(e.cmd){case"open":Hv(e.options),function Sk(e){if(X)return;if(!e.url)return void postMessage({action:"error",result:"Valid options not provided!"});const t=e.url.split("/");if(t.pop(),t.push("api"),t[0]="wss:"===t[0]?"https:":"http:",Eu=t.join("/"),function Ck(){N={self:new Ov,aisTargets:new Map,aisStatus:{updated:[],stale:[],expired:[]},paths:{},atons:new Map,aircraft:new Map,sar:new Map,meteo:new Map},N.self.positionReceived=!1,jv()}(),X=new gk,yo.push(X.onConnect.subscribe(n=>As({action:"onConnect",msg:n}))),yo.push(X.onClose.subscribe(n=>As({action:"onClose",msg:n}))),yo.push(X.onError.subscribe(n=>As({action:"onError",msg:n}))),yo.push(X.onMessage.subscribe(n=>As({action:"onMessage",msg:n}))),X.authToken=Pv,e.playback){const n=e.playbackOptions.startTime?`?startTime=${e.playbackOptions.startTime}`:null;let r=e.playbackOptions.playbackRate?`playbackRate=${e.playbackOptions.playbackRate}`:null;r=r?n?"&"+r:"?"+r:null,X.open(`${e.url}${n||""}${r||""}`,e.playbackOptions.subscribe,e.token)}else X.open(e.url,e.subscribe,e.token),$v()}(e.options);break;case"close":Bv(!0);break;case"subscribe":X.subscribe(e.options.context,e.options.path);break;case"settings":Hv(e.options);break;case"alarm":!function Rk(e){const t=-1===e.type.indexOf("notifications.")?`notifications.${e.type}`:e.type;e.raise?X.raiseAlarm("self",t,new hk(e.message,e.state,!0,!0)):X.clearAlarm("self",t)}(e.options);break;case"vessel":if(e.options){let t;t="self"===e.options.context?N.self:N.aisTargets.get(e.options.context),t&&e.options.name&&(t.name=e.options.name)}break;case"auth":e.options&&typeof e.options.token<"u"&&(Pv=e.options.token);break;case"trail":e.options&&(_o.trailDuration=e.options.trailDuration??24,e.options.trailResolution&&(_o.trailResolution.lastHour=e.options.trailResolution.lastHour??"5s",_o.trailResolution.next23=e.options.trailResolution.next23??"1m",_o.trailResolution.beyond24=e.options.trailResolution.beyond24??"5m")),function Nk(e){const t=Eu+"/self/track?",n=[];e.trailDuration>24&&(n.push(Eo(`${t}timespan=${e.trailDuration-24}h&resolution=${e.trailResolution.beyond24}×panOffset=24`)),n.push(Eo(`${t}timespan=23h&resolution=${e.trailResolution.next23}×panOffset=1`))),e.trailDuration>1&&e.trailDuration<25&&n.push(Eo(`${t}timespan=${e.trailDuration-1}h&resolution=${e.trailResolution.next23}×panOffset=1`)),n.push(Eo(`${t}timespan=1h&resolution=${e.trailResolution.lastHour}`));let i=[];const s=new Tk;s.playback=Be,Promise.all(n).then(a=>{let c=0;const l=n.length-1;a.forEach(d=>{if(d.type&&"MultiLineString"===d.type&&d.coordinates&&Array.isArray(d.coordinates))if(c!==l){let f=[];for(d.coordinates.forEach(h=>{f=f.concat(h)}),f=(0,bk.p$)(f,5e-4,true);f.length>60;){const h=f.slice(0,60);i.push(h),f=f.slice(59),f[0]=[f[0][0]+5e-9,f[0][1]+5e-9]}0!==f.length&&i.push(f)}else i=i.concat(d.coordinates);c++}),s.result=i,postMessage(s)}).catch(()=>{s.result=null,postMessage(s)})}(_o)}}(e)})})();
|