UNPKG

@signalk/freeboard-sk

Version:

Openlayers chart plotter implementation for Signal K

1 lines 67.1 kB
(()=>{"use strict";var nb={179:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(7636);t.default=function(a){var u=r.areaConversion[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m"];if(u)return a*u;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=l(n(7029)),o=l(n(3100)),i=l(n(5705)),s=l(n(942)),a=n(7636);function l(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,p){var oe,Ee,h=(0,r.default)(f),g=(0,o.default)(f),m=(0,i.default)(h),y=(0,i.default)(g),v=p/a.earthRadius,M=m-v,S=m+v,P=(0,i.default)(a.MAXLAT),fe=(0,i.default)(a.MINLAT),ee=(0,i.default)(a.MAXLON),he=(0,i.default)(a.MINLON);if(M>fe&&S<P){var Hn=Math.asin(Math.sin(v)/Math.cos(m));(oe=y-Hn)<he&&(oe+=2*Math.PI),(Ee=y+Hn)>ee&&(Ee-=2*Math.PI)}else M=Math.max(M,fe),S=Math.min(S,P),oe=he,Ee=ee;return[{latitude:(0,s.default)(M),longitude:(0,s.default)(oe)},{latitude:(0,s.default)(S),longitude:(0,s.default)(Ee)}]}},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(l,u,c){return(0,r.default)(l,u,.01)<c}},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(c){return c&&c.__esModule?c:{default:c}}t.default=function c(d){return(0,r.default)(d)?!(parseFloat(d)>s.MAXLON||d<s.MINLON):!!(0,o.default)(d)&&c((0,i.default)(d))}},354:(e,t)=>{function i(c,d){(null==d||d>c.length)&&(d=c.length);for(var f=0,p=new Array(d);f<d;f++)p[f]=c[f];return p}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(h){var m=function n(c,d){return function a(c){if(Array.isArray(c))return c}(c)||function s(c,d){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(c)){var f=[],p=!0,h=!1,g=void 0;try{for(var y,m=c[Symbol.iterator]();!(p=(y=m.next()).done)&&(f.push(y.value),!d||f.length!==d);p=!0);}catch(v){h=!0,g=v}finally{try{!p&&null!=m.return&&m.return()}finally{if(h)throw g}}return f}}(c,d)||function o(c,d){if(c){if("string"==typeof c)return i(c,d);var f=Object.prototype.toString.call(c).slice(8,-1);if("Object"===f&&c.constructor&&(f=c.constructor.name),"Map"===f||"Set"===f)return Array.from(c);if("Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f))return i(c,d)}}(c,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.")}()}(h.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(c){return c&&c.__esModule?c:{default:c}}t.default=function(d,f){var p=(0,r.default)(f),h=(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)(h)-(0,i.default)(m))*Math.cos((0,i.default)(p)),Math.cos((0,i.default)(g))*Math.sin((0,i.default)(p))-Math.sin((0,i.default)(g))*Math.cos((0,i.default)(p))*Math.cos((0,i.default)(h)-(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 u=r.distanceConversion[arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m"];if(u)return a*u;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(c){return c&&c.__esModule?c:{default:c}}t.default=function(d,f){var p=(0,i.default)((0,o.default)(f))-(0,i.default)((0,o.default)(d)),h=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(p)>Math.PI&&(p=p>0?-1*(2*Math.PI-p):2*Math.PI+p),((0,s.default)(Math.atan2(p,h))+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(l,u){return(0,r.default)(l,u)[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 l=new RegExp(r.sexagesimalPattern).exec(a.toString().trim());if(typeof l>"u"||null===l)throw new Error("Given value is not in sexagesimal format");var u=Number(l[2])/60||0,c=Number(l[4])/3600||0,d=parseFloat(l[1])+u+c;return["S","W"].includes(l[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(c){return c&&c.__esModule?c:{default:c}}t.default=function(d){var f=0;if(d.length>2){for(var p,h,g,m=0;m<d.length;m++){m===d.length-2?(p=d.length-2,h=d.length-1,g=0):m===d.length-1?(p=d.length-1,h=0,g=1):(p=m,h=m+1,g=m+2);var y=(0,i.default)(d[p]),v=(0,o.default)(d[h]),M=(0,i.default)(d[g]);f+=((0,r.default)(M)-(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=l(n(7029)),o=l(n(3100)),i=l(n(5705)),s=l(n(942)),a=n(7636);function l(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,p,h){var g=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,m=(0,r.default)(f),y=(0,o.default)(f),v=p/g,M=(0,i.default)(h),S=(0,i.default)(m),P=(0,i.default)(y),fe=Math.asin(Math.sin(S)*Math.cos(v)+Math.cos(S)*Math.sin(v)*Math.cos(M)),ee=P+Math.atan2(Math.sin(M)*Math.sin(v)*Math.cos(S),Math.cos(v)-Math.sin(S)*Math.sin(fe)),he=(0,s.default)(ee);return(he<a.MINLON||he>a.MAXLON)&&(ee=(ee+3*Math.PI)%(2*Math.PI)-Math.PI,he=(0,s.default)(ee)),{latitude:(0,s.default)(fe),longitude:he}}},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(l,u){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default;return c="function"==typeof c?c:r.default,u.slice().sort(function(d,f){return c(l,d)-c(l,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 l.default}}),Object.defineProperty(t,"findNearest",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"getAreaOfPolygon",{enumerable:!0,get:function(){return c.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 p.default}}),Object.defineProperty(t,"getCenterOfBounds",{enumerable:!0,get:function(){return h.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 M.default}}),Object.defineProperty(t,"getGreatCircleBearing",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(t,"getLatitude",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(t,"getLongitude",{enumerable:!0,get:function(){return fe.default}}),Object.defineProperty(t,"getPathLength",{enumerable:!0,get:function(){return ee.default}}),Object.defineProperty(t,"getPreciseDistance",{enumerable:!0,get:function(){return he.default}}),Object.defineProperty(t,"getRhumbLineBearing",{enumerable:!0,get:function(){return oe.default}}),Object.defineProperty(t,"getRoughCompassDirection",{enumerable:!0,get:function(){return Ee.default}}),Object.defineProperty(t,"getSpeed",{enumerable:!0,get:function(){return Hn.default}}),Object.defineProperty(t,"isDecimal",{enumerable:!0,get:function(){return ja.default}}),Object.defineProperty(t,"isPointInLine",{enumerable:!0,get:function(){return Yr.default}}),Object.defineProperty(t,"isPointInPolygon",{enumerable:!0,get:function(){return Jr.default}}),Object.defineProperty(t,"isPointNearLine",{enumerable:!0,get:function(){return Xr.default}}),Object.defineProperty(t,"isPointWithinRadius",{enumerable:!0,get:function(){return an.default}}),Object.defineProperty(t,"isSexagesimal",{enumerable:!0,get:function(){return $n.default}}),Object.defineProperty(t,"isValidCoordinate",{enumerable:!0,get:function(){return Ha.default}}),Object.defineProperty(t,"isValidLatitude",{enumerable:!0,get:function(){return $a.default}}),Object.defineProperty(t,"isValidLongitude",{enumerable:!0,get:function(){return Si.default}}),Object.defineProperty(t,"orderByDistance",{enumerable:!0,get:function(){return ki.default}}),Object.defineProperty(t,"sexagesimalToDecimal",{enumerable:!0,get:function(){return xi.default}}),Object.defineProperty(t,"toDecimal",{enumerable:!0,get:function(){return Tt.default}}),Object.defineProperty(t,"toRad",{enumerable:!0,get:function(){return qd.default}}),Object.defineProperty(t,"toDeg",{enumerable:!0,get:function(){return Ri.default}}),Object.defineProperty(t,"wktToPolygon",{enumerable:!0,get:function(){return zd.default}});var o=H(n(2222)),i=H(n(179)),s=H(n(917)),a=H(n(1167)),l=H(n(8948)),u=H(n(1118)),c=H(n(1691)),d=H(n(9144)),f=H(n(190)),p=H(n(5524)),h=H(n(7088)),g=H(n(9952)),m=H(n(8744)),y=H(n(4695)),v=H(n(8674)),M=H(n(7504)),S=H(n(884)),P=H(n(7029)),fe=H(n(3100)),ee=H(n(5378)),he=H(n(2671)),oe=H(n(939)),Ee=H(n(2845)),Hn=H(n(8950)),ja=H(n(3026)),Yr=H(n(4194)),Jr=H(n(3536)),Xr=H(n(2787)),an=H(n(202)),$n=H(n(4902)),Ha=H(n(7637)),$a=H(n(6563)),Si=H(n(266)),ki=H(n(2447)),xi=H(n(1532)),Tt=H(n(5101)),qd=H(n(5705)),Ri=H(n(942)),zd=H(n(354)),Ba=n(7636);function H(x){return x&&x.__esModule?x:{default:x}}Object.keys(Ba).forEach(function(x){"default"===x||"__esModule"===x||Object.prototype.hasOwnProperty.call(r,x)||Object.defineProperty(t,x,{enumerable:!0,get:function(){return Ba[x]}})})},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(c){return c&&c.__esModule?c:{default:c}}t.default=function(d,f){var p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;p=typeof p<"u"&&!isNaN(p)?p:1;var P,fe,ee,he,oe,Ee,Ha,h=(0,r.default)(d),g=(0,o.default)(d),m=(0,r.default)(f),y=(0,o.default)(f),v=6356752.314245,M=1/298.257223563,S=(0,i.default)(y-g),Hn=Math.atan((1-M)*Math.tan((0,i.default)(parseFloat(h)))),ja=Math.atan((1-M)*Math.tan((0,i.default)(parseFloat(m)))),Yr=Math.sin(Hn),Jr=Math.cos(Hn),Xr=Math.sin(ja),an=Math.cos(ja),$n=S,$a=100;do{var Si=Math.sin($n),ki=Math.cos($n);if(0===(Ee=Math.sqrt(an*Si*(an*Si)+(Jr*Xr-Yr*an*ki)*(Jr*Xr-Yr*an*ki))))return 0;P=Yr*Xr+Jr*an*ki,fe=Math.atan2(Ee,P),oe=P-2*Yr*Xr/(he=1-(ee=Jr*an*Si/Ee)*ee),isNaN(oe)&&(oe=0);var xi=M/16*he*(4+M*(4-3*he));Ha=$n,$n=S+(1-xi)*M*ee*(fe+xi*Ee*(oe+xi*P*(2*oe*oe-1)))}while(Math.abs($n-Ha)>1e-12&&--$a>0);if(0===$a)return NaN;var Tt=he*(s.earthRadius*s.earthRadius-v*v)/(v*v),Ri=Tt/1024*(256+Tt*(Tt*(74-47*Tt)-128));return Math.round(v*(1+Tt/16384*(4096+Tt*(Tt*(320-175*Tt)-768)))*(fe-Ri*Ee*(oe+Ri/4*(P*(2*oe*oe-1)-Ri/6*oe*(4*Ee*Ee-3)*(4*oe*oe-3))))/p)*p}},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(l,u,c,d){return(0,r.default)(l,u,c)<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(u){return u&&u.__esModule?u:{default:u}}t.default=function(c,d){var f=(0,o.default)(c,r.longitudeKeys);if(!(typeof f>"u"||null===f)){var p=c[f];return!0===d?p:(0,i.default)(p)}}},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(l){return l&&l.__esModule?l:{default:l}}t.default=function(u,c){for(var d=!1,f=c.length,p=-1,h=f-1;++p<f;h=p)((0,o.default)(c[p])<=(0,o.default)(u)&&(0,o.default)(u)<(0,o.default)(c[h])||(0,o.default)(c[h])<=(0,o.default)(u)&&(0,o.default)(u)<(0,o.default)(c[p]))&&(0,r.default)(u)<((0,r.default)(c[h])-(0,r.default)(c[p]))*((0,o.default)(u)-(0,o.default)(c[p]))/((0,o.default)(c[h])-(0,o.default)(c[p]))+(0,r.default)(c[p])&&(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(l,u,c){return(0,r.default)(u,l)+(0,r.default)(l,c)===(0,r.default)(u,c)}},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 p=Object.keys(d);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(d);f&&(h=h.filter(function(g){return Object.getOwnPropertyDescriptor(d,g).enumerable})),p.push.apply(p,h)}return p}function l(d,f,p){return f in d?Object.defineProperty(d,f,{value:p,enumerable:!0,configurable:!0,writable:!0}):d[f]=p,d}t.default=function(f){var p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:r.longitudeKeys,latitude:r.latitudeKeys,altitude:r.altitudeKeys},h=(0,o.default)(f,p.longitude),g=(0,o.default)(f,p.latitude),m=(0,o.default)(f,p.altitude);return function a(d){for(var f=1;f<arguments.length;f++){var p=null!=arguments[f]?arguments[f]:{};f%2?s(Object(p),!0).forEach(function(h){l(d,h,p[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(p)):s(Object(p)).forEach(function(h){Object.defineProperty(d,h,Object.getOwnPropertyDescriptor(p,h))})}return d}({latitude:g,longitude:h},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=l(n(3026)),o=l(n(4902)),i=l(n(1532)),s=l(n(7637)),a=l(n(4695));function l(h){return h&&h.__esModule?h:{default:h}}function u(h,g){var m=Object.keys(h);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(h);g&&(y=y.filter(function(v){return Object.getOwnPropertyDescriptor(h,v).enumerable})),m.push.apply(m,y)}return m}function c(h){for(var g=1;g<arguments.length;g++){var m=null!=arguments[g]?arguments[g]:{};g%2?u(Object(m),!0).forEach(function(y){d(h,y,m[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(m)):u(Object(m)).forEach(function(y){Object.defineProperty(h,y,Object.getOwnPropertyDescriptor(m,y))})}return h}function d(h,g,m){return g in h?Object.defineProperty(h,g,{value:m,enumerable:!0,configurable:!0,writable:!0}):h[g]=m,h}t.default=function h(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)?h(y):y}):c(c(c({},g),m.latitude&&d({},m.latitude,h(g[m.latitude]))),m.longitude&&d({},m.longitude,h(g[m.longitude])))}return Array.isArray(g)?g.map(function(y){return(0,s.default)(y)?h(y):y}):g}},5378:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function o(l){return l&&l.__esModule?l:{default:l}}(n(8674));function i(l){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(c){return typeof c}:function(c){return c&&"function"==typeof Symbol&&c.constructor===Symbol&&c!==Symbol.prototype?"symbol":typeof c})(l)}t.default=function(u){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r.default;return u.reduce(function(d,f){return"object"===i(d)&&null!==d.last&&(d.distance+=c(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(c){return c&&c.__esModule?c:{default:c}}t.default=function(d){if(!1===Array.isArray(d)||0===d.length)return!1;var f=d.length,p=d.reduce(function(y,v){var M=(0,i.default)((0,r.default)(v)),S=(0,i.default)((0,o.default)(v));return{X:y.X+Math.cos(M)*Math.cos(S),Y:y.Y+Math.cos(M)*Math.sin(S),Z:y.Z+Math.sin(M)}},{X:0,Y:0,Z:0}),h=p.X/f,g=p.Y/f,m=p.Z/f;return{longitude:(0,s.default)(Math.atan2(g,h)),latitude:(0,s.default)(Math.atan2(m,Math.sqrt(h*h+g*g)))}}},5551:(e,t)=>{function n(u,c){return u*u+c*c}function r(u,c){return n(u.longitude-c.longitude,u.latitude-c.latitude)}function o(u,c,d){var f=c.longitude,p=c.latitude,h=d.longitude-f,g=d.latitude-p;if(0!==h||0!==g){var m=((u.longitude-f)*h+(u.latitude-p)*g)/n(h,g);m>1?(f=d.longitude,p=d.latitude):m>0&&(f+=h*m,p+=g*m)}return n(u.longitude-f,u.latitude-p)}function s(u,c,d,f,p){for(var g,h=f,m=c+1;m<d;m++){var y=o(u[m],u[c],u[d]);y>h&&(g=m,h=y)}h>f&&(g-c>1&&s(u,c,g,f,p),p.push(u[g]),d-g>1&&s(u,g,d,f,p))}function a(u,c){var d=u.length-1,f=[u[0]];return s(u,0,d,c,f),f.push(u[d]),f}t.__esModule=!0,t.SimplifyLL=function l(u,c,d){if(void 0===c&&(c=1),void 0===d&&(d=!1),u.length<=2)return u;var f=c*c;return a(u=d?u:function i(u,c){for(var f,d=u[0],p=[d],h=1,g=u.length;h<g;h++)r(f=u[h],d)>c&&(p.push(f),d=f);return d!==f&&p.push(f),p}(u,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(u,c){return u*u+c*c}function r(u,c){return n(u.x-c.x,u.y-c.y)}function o(u,c,d){var f=c.x,p=c.y,h=d.x-f,g=d.y-p;if(0!==h||0!==g){var m=((u.x-f)*h+(u.y-p)*g)/n(h,g);m>1?(f=d.x,p=d.y):m>0&&(f+=h*m,p+=g*m)}return n(u.x-f,u.y-p)}function s(u,c,d,f,p){for(var g,h=f,m=c+1;m<d;m++){var y=o(u[m],u[c],u[d]);y>h&&(g=m,h=y)}h>f&&(g-c>1&&s(u,c,g,f,p),p.push(u[g]),d-g>1&&s(u,g,d,f,p))}function a(u,c){var d=u.length-1,f=[u[0]];return s(u,0,d,c,f),f.push(u[d]),f}t.__esModule=!0,t.Simplify=function l(u,c,d){if(void 0===c&&(c=1),void 0===d&&(d=!1),u.length<=2)return u;var f=c*c;return a(u=d?u:function i(u,c){for(var f,d=u[0],p=[d],h=1,g=u.length;h<g;h++)r(f=u[h],d)>c&&(p.push(f),d=f);return d!==f&&p.push(f),p}(u,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(c){return c&&c.__esModule?c:{default:c}}t.default=function c(d){return(0,r.default)(d)?!(parseFloat(d)>s.MAXLAT||d<s.MINLAT):!!(0,o.default)(d)&&c((0,i.default)(d))}},6729:(e,t)=>{function n(u,c){return u*u+c*c}function r(u,c){return n(u[0]-c[0],u[1]-c[1])}function o(u,c,d){var f=c[0],p=c[1],h=d[0]-f,g=d[1]-p;if(0!==h||0!==g){var m=((u[0]-f)*h+(u[1]-p)*g)/n(h,g);m>1?(f=d[0],p=d[1]):m>0&&(f+=h*m,p+=g*m)}return n(u[0]-f,u[1]-p)}function s(u,c,d,f,p){for(var g,h=f,m=c+1;m<d;m++){var y=o(u[m],u[c],u[d]);y>h&&(g=m,h=y)}h>f&&(g-c>1&&s(u,c,g,f,p),p.push(u[g]),d-g>1&&s(u,g,d,f,p))}function a(u,c){var d=u.length-1,f=[u[0]];return s(u,0,d,c,f),f.push(u[d]),f}t.__esModule=!0,t.SimplifyAP=function l(u,c,d){if(void 0===c&&(c=1),void 0===d&&(d=!1),u.length<=2)return u;var f=c*c;return a(u=d?u:function i(u,c){for(var f,d=u[0],p=[d],h=1,g=u.length;h<g;h++)r(f=u[h],d)>c&&(p.push(f),d=f);return d!==f&&p.push(f),p}(u,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(u){return u&&u.__esModule?u:{default:u}}t.default=function(c,d){var f=(0,o.default)(c,r.latitudeKeys);if(!(typeof f>"u"||null===f)){var p=c[f];return!0===d?p:(0,i.default)(p)}}},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(l){var u=(0,r.default)(l),d=u.minLng+(u.maxLng-u.minLng)/2;return{latitude:parseFloat((u.minLat+(u.maxLat-u.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(l){return l&&l.__esModule?l:{default:l}}t.default=function(u,c,d){var f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,p=(0,r.default)(c,u,f),h=(0,r.default)(u,d,f),g=(0,r.default)(c,d,f),m=Math.acos((0,o.default)((p*p+g*g-h*h)/(2*p*g))),y=Math.acos((0,o.default)((h*h+g*g-p*p)/(2*h*g)));return m>Math.PI/2?p:y>Math.PI/2?h:Math.sin(m)*p}},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 p={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};t.areaConversion=p,p.sqm=p.m2,p.sqkm=p.km2,p.sqft=p.ft2,p.sqyd=p.yd2,p.sqin=p.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(u){return u&&u.__esModule?u:{default:u}}t.default=function(c){var d=(0,r.default)(c),f=d.latitude,p=d.longitude;if(Array.isArray(c)&&c.length>=2)return(0,i.default)(c[0])&&(0,o.default)(c[1]);if(typeof f>"u"||typeof p>"u")return!1;var h=c[p],g=c[f];return!(typeof g>"u"||typeof h>"u"||!1===(0,o.default)(g)||!1===(0,i.default)(h))}},8674:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(7029)),o=l(n(3100)),i=l(n(5705)),s=l(n(6522)),a=n(7636);function l(d){return d&&d.__esModule?d:{default:d}}t.default=function(f,p){var h=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;h=typeof h<"u"&&!isNaN(h)?h:1;var g=(0,r.default)(f),m=(0,o.default)(f),y=(0,r.default)(p),v=(0,o.default)(p),M=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(M/h)*h}},8744:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(i,s){return s.reduce(function(a,l){if(typeof i>"u"||null===i)throw new Error("'".concat(i,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(i,l)&&typeof l<"u"&&typeof a>"u"?(a=l,l):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 p=[],h=!0,g=!1,m=void 0;try{for(var v,y=d[Symbol.iterator]();!(h=(v=y.next()).done)&&(p.push(v.value),!f||p.length!==f);h=!0);}catch(M){g=!0,m=M}finally{try{!h&&null!=y.return&&y.return()}finally{if(g)throw m}}return p}}(d,f)||function o(d,f){if(d){if("string"==typeof d)return i(d,f);var p=Object.prototype.toString.call(d).slice(8,-1);if("Object"===p&&d.constructor&&(p=d.constructor.name),"Map"===p||"Set"===p)return Array.from(d);if("Arguments"===p||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(p))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 p=0,h=new Array(f);p<f;p++)h[p]=d[p];return h}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,t.default=function(f){var h=n(f.toString().split("."),2),m=h[1],y=Math.abs(Number(h[0])),v=60*+("0."+(m||0)),M=v.toString().split("."),S=Math.floor(v),P=function(f){var h=Math.pow(10,arguments.length>1&&void 0!==arguments[1]?arguments[1]:4);return Math.round(f*h)/h}(60*+("0."+(M[1]||0))).toString(),ee=n(P.split("."),2),he=ee[0],oe=ee[1],Ee=void 0===oe?"0":oe;return y+"\xb0 "+S.toString().padStart(2,"0")+"' "+he.padStart(2,"0")+"."+Ee.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(l,u){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default)(l,u)/(Number(u.time)-Number(l.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(l){return l&&l.__esModule?l:{default:l}}t.default=function(u){if(!1===Array.isArray(u)||0===u.length)throw new Error("No points were given.");return u.reduce(function(c,d){var f=(0,r.default)(d),p=(0,o.default)(d);return{maxLat:Math.max(f,c.maxLat),minLat:Math.min(f,c.minLat),maxLng:Math.max(p,c.maxLng),minLng:Math.min(p,c.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(l,u){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:r.default,d="function"==typeof c?c(l,u):(0,r.default)(l,u);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"}}}},Gd={};function Ua(e){var t=Gd[e];if(void 0!==t)return t.exports;var n=Gd[e]={exports:{}};return nb[e](n,n.exports,Ua),n.exports}function Wa(e){return"function"==typeof e}let qa=!1;const ot={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 qa&&console.log("RxJS: Back to a better error behavior. Thank you. <3");qa=e},get useDeprecatedSynchronousErrorHandling(){return qa}};function eo(e){setTimeout(()=>{throw e},0)}const Oi={closed:!0,next(e){},error(e){if(ot.useDeprecatedSynchronousErrorHandling)throw e;eo(e)},complete(){}},rb=Array.isArray||(e=>e&&"number"==typeof e.length),Pi=(()=>{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 we{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 we)n.remove(this);else if(null!==n)for(let s=0;s<n.length;++s)n[s].remove(this);if(Wa(o)){r&&(this._unsubscribe=void 0);try{o.call(this)}catch(s){t=s instanceof Pi?Zd(s.errors):[s]}}if(rb(i)){let s=-1,a=i.length;for(;++s<a;){const l=i[s];if(null!==(e=l)&&"object"==typeof e)try{l.unsubscribe()}catch(u){t=t||[],u instanceof Pi?t=t.concat(Zd(u.errors)):t.push(u)}}}var e;if(t)throw new Pi(t)}add(t){let n=t;if(!t)return we.EMPTY;switch(typeof t){case"function":n=new we(t);case"object":if(n===this||n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if(!(n instanceof we)){const i=n;n=new we,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 we){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 Zd(e){return e.reduce((t,n)=>t.concat(n instanceof Pi?n.errors:n),[])}we.EMPTY=((e=new we).closed=!0,e);const Ai="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class ht extends we{constructor(t,n,r){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Oi;break;case 1:if(!t){this.destination=Oi;break}if("object"==typeof t){t instanceof ht?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new Kd(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new Kd(this,t,n,r)}}[Ai](){return this}static create(t,n,r){const o=new ht(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 Kd extends ht{constructor(t,n,r,o){super(),this._parentSubscriber=t;let i,s=this;Wa(n)?i=n:n&&(i=n.next,r=n.error,o=n.complete,n!==Oi&&(s=Object.create(n),Wa(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;ot.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}=ot;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):eo(t),this.unsubscribe();else{if(this.unsubscribe(),r)throw t;eo(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const n=()=>this._complete.call(this._context);ot.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(),ot.useDeprecatedSynchronousErrorHandling)throw r;eo(r)}}__tryOrSetError(t,n,r){if(!ot.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{n.call(this._context,r)}catch(o){return ot.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=o,t.syncErrorThrown=!0,!0):(eo(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const ab="function"==typeof Symbol&&Symbol.observable||"@@observable";function lb(e){return e}let Yd=(()=>{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 sb(e,t,n){if(e){if(e instanceof ht)return e;if(e[Ai])return e[Ai]()}return e||t||n?new ht(e,t,n):new ht(Oi)}(n,r,o);if(s.add(i?i.call(s,this.source):this.source||ot.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),ot.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(n){try{return this._subscribe(n)}catch(r){ot.useDeprecatedSynchronousErrorHandling&&(n.syncErrorThrown=!0,n.syncErrorValue=r),function ib(e){for(;e;){const{closed:t,destination:n,isStopped:r}=e;if(t||r)return!1;e=n&&n instanceof ht?n:null}return!0}(n)?n.error(r):console.warn(r)}}forEach(n,r){return new(r=Jd(r))((o,i)=>{let s;s=this.subscribe(a=>{try{n(a)}catch(l){i(l),s&&s.unsubscribe()}},i,o)})}_subscribe(n){const{source:r}=this;return r&&r.subscribe(n)}[ab](){return this}pipe(...n){return 0===n.length?this:function Qd(e){return 0===e.length?lb:1===e.length?e[0]:function(n){return e.reduce((r,o)=>o(r),n)}}(n)(this)}toPromise(n){return new(n=Jd(n))((r,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>r(i))})}}return e.create=t=>new e(t),e})();function Jd(e){if(e||(e=ot.Promise||Promise),!e)throw new Error("no Promise impl found");return e}const Bn=(()=>{function e(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return e.prototype=Object.create(Error.prototype),e})();class ub extends we{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 cb extends ht{constructor(t){super(t),this.destination=t}}let ze=(()=>{class e extends Yd{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[Ai](){return new cb(this)}lift(n){const r=new Xd(this,this);return r.operator=n,r}next(n){if(this.closed)throw new Bn;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 Bn;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 Bn;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 Bn;return super._trySubscribe(n)}_subscribe(n){if(this.closed)throw new Bn;return this.hasError?(n.error(this.thrownError),we.EMPTY):this.isStopped?(n.complete(),we.EMPTY):(this.observers.push(n),new ub(this,n))}asObservable(){const n=new Yd;return n.source=this,n}}return e.create=(t,n)=>new Xd(t,n),e})();class Xd extends ze{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):we.EMPTY}}let ge=null;function V(e){const t=ge;return ge=e,t}const Wn={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function no(e){if((!io(e)||e.dirty)&&(e.dirty||1!==e.lastCleanEpoch)){if(!e.producerMustRecompute(e)&&!ro(e))return void Fi(e);e.producerRecomputeValue(e),Fi(e)}}function Fi(e){e.dirty=!1,e.lastCleanEpoch=1}function ro(e){ji(e);for(let t=0;t<e.producerNode.length;t++){const n=e.producerNode[t],r=e.producerLastReadVersion[t];if(r!==n.version||(no(n),r!==n.version))return!0}return!1}function Vi(e,t){if(function sf(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}(e),1===e.liveConsumerNode.length&&function af(e){return void 0!==e.producerNode}(e))for(let r=0;r<e.producerNode.length;r++)Vi(e.producerNode[r],e.producerIndexOfThis[r]);const n=e.liveConsumerNode.length-1;if(e.liveConsumerNode[t]=e.liveConsumerNode[n],e.liveConsumerIndexOfThis[t]=e.liveConsumerIndexOfThis[n],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,t<e.liveConsumerNode.length){const r=e.liveConsumerIndexOfThis[t],o=e.liveConsumerNode[t];ji(o),o.producerIndexOfThis[r]=t}}function io(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function ji(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}Error;class b extends Error{code;constructor(t,n){super(function Wt(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,n)),this.code=t}}function K(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}globalThis;class N{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(t,n){this._desc=t,this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=K({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}var B=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(B||{});const O={lFrame:fp(null),bindingsEnabled:!0,skipHydrationRootTNode:null};let Rl=!1;function j(){let e=function op(){return O.lFrame.currentTNode}();for(;null!==e&&64===e.type;)e=e.parent;return e}function ds(e){const t=Rl;return Rl=e,t}function fp(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}new N("").__NG_ELEMENT_ID__=e=>{const t=j();if(null===t)throw new b(204,!1);if(2&t.type)return t.value;if(e&B.Optional)return null;throw new b(204,!1)},Symbol;class tP{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 Aa{static updates(){return{context:null,updates:[]}}static subscribe(){return{context:null,subscribe:[]}}static unsubscribe(){return{context:null,unsubscribe:[]}}static request(){return{requestId:(new tP).toString()}}}let rP=(()=>{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 ze,this.onConnect=this._connect.asObservable(),this._close=new ze,this.onClose=this._close.asObservable(),this._error=new ze,this.onError=this._error.asObservable(),this._message=new ze,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=Aa.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=Aa.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=Aa.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=Aa.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=K({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class iP{constructor(t,n,r,o){this._method=[],this._message="",this._message=typeof t<"u"?t:"",this._state=typeof n<"u"?n:jD.alarm,r&&this._method.push(Fd.visual),o&&this._method.push(Fd.sound)}get value(){return{message:this._message,state:this._state,method:this._method}}}var jD=function(e){return e.normal="normal",e.alert="alert",e.warn="warn",e.alarm="alarm",e.emergency="emergency",e}(jD||{}),Fd=function(e){return e.visual="visual",e.sound="sound",e}(Fd||{});class aP{constructor(){this.obsList=[],this.stream=new rP,this._connect=new ze,this.onConnect=this._connect.asObservable(),this._close=new ze,this.onClose=this._close.asObservable(),this._error=new ze,this.onError=this._error.asObservable(),this._message=new ze,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 La{id;name;mmsi;position=[0,0];state;type={id:-1,name:""};virtual;properties={};lastUpdated=new Date;callsignVhf;callsignHf;orientation=0}class HD extends La{heading;headingTrue=null;headingMagnetic=null;cog;cogTrue=null;cogMagnetic=null;sog;registrations={};type={id:-1,name:""};wind={direction:null,mwd:null,twd:null,tws:null,speedTrue:null,sog:null,awa:null,aws:null};buddy=!1;distanceToSelf;mode="day";anchor={maxRadius:null,radius:null,position:null};resourceUpdates=[];autopilot={};track=[];courseApi={arrivalCircle:0,activeRoute:{},nextPoint:{},previousPoint:{}};performance={beatAngle:null,gybeAngle:null};racing;vectors={cog:[]}}class $D extends La{constructor(){super()}}class lP extends La{constructor(){super()}}class uP extends La{sog=0;track=[];constructor(){super()}}class cP extends $D{twd;tws;temperature;constructor(){super()}}class Vd{static celciusToKelvin(t=0){return t+273.15}static kelvinToCelcius(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),