@signalk/freeboard-sk 2.19.1 → 2.19.2
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 +25 -29
- package/plugin/alarms/alarms.js +2 -1
- package/plugin/index.js +2 -1
- package/plugin/lib/fetch.js +6 -5
- package/public/381.a1a010c6a447d5a9.js +1 -0
- package/public/3rdpartylicenses.txt +89 -63
- package/public/assets/help/index.html +1 -1
- package/public/index.html +3 -3
- package/public/main.7a0bece8599aa203.js +1 -0
- package/public/polyfills.6bdae4f01ab4e532.js +1 -0
- package/public/runtime.88a8f6e5bca88ee7.js +1 -0
- package/public/styles.2dfca2dcfc8d165a.css +1 -0
- package/public/755.4207d8d82b9aa7ac.js +0 -1
- package/public/main.baeb5cbd226626c9.js +0 -1
- package/public/polyfills.0823dc027f0a1d2e.js +0 -1
- package/public/runtime.e598c35c8d15b7e2.js +0 -1
- package/public/styles.73e91a24a0abdc6a.css +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@signalk/freeboard-sk",
|
|
3
|
-
"version": "2.19.
|
|
3
|
+
"version": "2.19.2",
|
|
4
4
|
"description": "Openlayers chart plotter implementation for Signal K",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"signalk-webapp",
|
|
@@ -45,49 +45,45 @@
|
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@angular-builders/custom-webpack": "^20.0.0",
|
|
48
|
-
"@angular-devkit/build-angular": "^20.
|
|
49
|
-
"@angular/animations": "^20.
|
|
50
|
-
"@angular/cdk": "^20.
|
|
51
|
-
"@angular/cli": "^20.
|
|
52
|
-
"@angular/common": "^20.
|
|
53
|
-
"@angular/compiler": "^20.
|
|
54
|
-
"@angular/compiler-cli": "^20.
|
|
55
|
-
"@angular/core": "^20.
|
|
56
|
-
"@angular/forms": "^20.
|
|
57
|
-
"@angular/language-service": "^20.
|
|
58
|
-
"@angular/material": "^20.
|
|
59
|
-
"@angular/platform-browser": "^20.
|
|
60
|
-
"@angular/platform-browser-dynamic": "^20.
|
|
48
|
+
"@angular-devkit/build-angular": "^20.3.9",
|
|
49
|
+
"@angular/animations": "^20.3.10",
|
|
50
|
+
"@angular/cdk": "^20.2.12",
|
|
51
|
+
"@angular/cli": "^20.3.9",
|
|
52
|
+
"@angular/common": "^20.3.10",
|
|
53
|
+
"@angular/compiler": "^20.3.10",
|
|
54
|
+
"@angular/compiler-cli": "^20.3.10",
|
|
55
|
+
"@angular/core": "^20.3.10",
|
|
56
|
+
"@angular/forms": "^20.3.10",
|
|
57
|
+
"@angular/language-service": "^20.3.10",
|
|
58
|
+
"@angular/material": "^20.2.12",
|
|
59
|
+
"@angular/platform-browser": "^20.3.10",
|
|
60
|
+
"@angular/platform-browser-dynamic": "^20.3.10",
|
|
61
61
|
"@kolkov/angular-editor": "^2.1.0",
|
|
62
62
|
"@types/arcgis-rest-api": "^10.4.5",
|
|
63
63
|
"@types/express": "^4.17.17",
|
|
64
64
|
"@types/geojson": "^7946.0.10",
|
|
65
|
-
"@types/jasmine": "~
|
|
66
|
-
"@types/
|
|
67
|
-
"@types/node": "^20.4.5",
|
|
65
|
+
"@types/jasmine": "~5.1.0",
|
|
66
|
+
"@types/node": "^24.10.1",
|
|
68
67
|
"@types/topojson-specification": "^1.0.2",
|
|
69
68
|
"@types/xml2js": "^0.4.14",
|
|
70
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
71
|
-
"@typescript-eslint/parser": "^8.
|
|
72
|
-
"codelyzer": "^6.0.0",
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^8.46.3",
|
|
70
|
+
"@typescript-eslint/parser": "^8.46.3",
|
|
73
71
|
"eslint": "^9.17.0",
|
|
74
72
|
"geolib": "^3.3.3",
|
|
75
|
-
"jasmine-core": "~
|
|
76
|
-
"
|
|
77
|
-
"karma": "^6.4.4",
|
|
73
|
+
"jasmine-core": "~5.5.0",
|
|
74
|
+
"karma": "~6.4.0",
|
|
78
75
|
"karma-chrome-launcher": "~3.1.0",
|
|
79
|
-
"karma-coverage
|
|
80
|
-
"karma-jasmine": "~
|
|
81
|
-
"karma-jasmine-html-reporter": "
|
|
76
|
+
"karma-coverage": "~2.2.0",
|
|
77
|
+
"karma-jasmine": "~5.1.0",
|
|
78
|
+
"karma-jasmine-html-reporter": "~2.1.0",
|
|
82
79
|
"ng-packagr": "^20.1.0",
|
|
83
80
|
"ngeohash": "^0.6.3",
|
|
84
81
|
"ol": "^10.2.1",
|
|
85
82
|
"ol-mapbox-style": "^12.3.5",
|
|
86
83
|
"pmtiles": "^2.7.0",
|
|
87
|
-
"prettier": "^
|
|
88
|
-
"prettier-plugin-organize-attributes": "^0.0
|
|
84
|
+
"prettier": "^3.6.2",
|
|
85
|
+
"prettier-plugin-organize-attributes": "^1.0.0",
|
|
89
86
|
"proj4": "2.6.2",
|
|
90
|
-
"protractor": "~7.0.0",
|
|
91
87
|
"rxjs": "~6.6.3",
|
|
92
88
|
"semver": "^7.6.0",
|
|
93
89
|
"signalk-client-angular": "^2.0.3",
|
package/plugin/alarms/alarms.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.shutdownAlarms = exports.initAlarms = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const server_api_1 = require("@signalk/server-api");
|
|
5
|
-
const uuid = require("uuid");
|
|
6
|
+
const uuid = tslib_1.__importStar(require("uuid"));
|
|
6
7
|
const geolib_1 = require("geolib");
|
|
7
8
|
const AREA_TRIGGERS = ['entry', 'exit'];
|
|
8
9
|
const AREA_GEOMETRIES = ['polygon', 'circle', 'region'];
|
package/plugin/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
3
4
|
const server_api_1 = require("@signalk/server-api");
|
|
4
5
|
const alarms_1 = require("./alarms/alarms");
|
|
5
|
-
const openapi = require("./openApi.json");
|
|
6
|
+
const openapi = tslib_1.__importStar(require("./openApi.json"));
|
|
6
7
|
const defaultPollInterval = 60;
|
|
7
8
|
const CONFIG_SCHEMA = {
|
|
8
9
|
properties: {}
|
package/plugin/lib/fetch.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.post = exports.fetch = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const https = tslib_1.__importStar(require("https"));
|
|
6
|
+
const url = tslib_1.__importStar(require("url"));
|
|
7
|
+
const http = tslib_1.__importStar(require("http"));
|
|
7
8
|
// HTTP GET
|
|
8
9
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
10
|
const fetch = (href) => {
|
|
@@ -39,10 +40,10 @@ exports.fetch = fetch;
|
|
|
39
40
|
const post = (href, data) => {
|
|
40
41
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
41
42
|
const opt = url.parse(href);
|
|
42
|
-
(opt.method = 'POST'),
|
|
43
|
+
((opt.method = 'POST'),
|
|
43
44
|
(opt.headers = {
|
|
44
45
|
'Content-Type': 'application/json'
|
|
45
|
-
});
|
|
46
|
+
}));
|
|
46
47
|
const req = href.indexOf('https') !== -1 ? https : http;
|
|
47
48
|
return new Promise((resolve, reject) => {
|
|
48
49
|
const postReq = req
|
|
@@ -0,0 +1 @@
|
|
|
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)})})();
|
|
@@ -1,28 +1,3 @@
|
|
|
1
|
-
@angular/animations
|
|
2
|
-
MIT
|
|
3
|
-
The MIT License
|
|
4
|
-
|
|
5
|
-
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
6
|
-
|
|
7
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
9
|
-
in the Software without restriction, including without limitation the rights
|
|
10
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
12
|
-
furnished to do so, subject to the following conditions:
|
|
13
|
-
|
|
14
|
-
The above copyright notice and this permission notice shall be included in
|
|
15
|
-
all copies or substantial portions of the Software.
|
|
16
|
-
|
|
17
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
-
THE SOFTWARE.
|
|
24
|
-
|
|
25
|
-
|
|
26
1
|
@angular/cdk
|
|
27
2
|
MIT
|
|
28
3
|
The MIT License
|
|
@@ -318,14 +293,36 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
318
293
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
319
294
|
|
|
320
295
|
|
|
321
|
-
|
|
322
|
-
|
|
296
|
+
base64-js
|
|
297
|
+
MIT
|
|
298
|
+
The MIT License (MIT)
|
|
299
|
+
|
|
300
|
+
Copyright (c) 2014 Jameson Little
|
|
323
301
|
|
|
324
|
-
|
|
302
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
303
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
304
|
+
in the Software without restriction, including without limitation the rights
|
|
305
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
306
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
307
|
+
furnished to do so, subject to the following conditions:
|
|
308
|
+
|
|
309
|
+
The above copyright notice and this permission notice shall be included in
|
|
310
|
+
all copies or substantial portions of the Software.
|
|
311
|
+
|
|
312
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
313
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
314
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
315
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
316
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
317
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
318
|
+
THE SOFTWARE.
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
buffer
|
|
325
322
|
MIT
|
|
326
|
-
The MIT License
|
|
323
|
+
The MIT License (MIT)
|
|
327
324
|
|
|
328
|
-
Copyright (c)
|
|
325
|
+
Copyright (c) Feross Aboukhadijeh, and other contributors.
|
|
329
326
|
|
|
330
327
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
331
328
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -399,6 +396,21 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
399
396
|
SOFTWARE.
|
|
400
397
|
|
|
401
398
|
|
|
399
|
+
ieee754
|
|
400
|
+
BSD-3-Clause
|
|
401
|
+
Copyright 2008 Fair Oaks Labs, Inc.
|
|
402
|
+
|
|
403
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
404
|
+
|
|
405
|
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
406
|
+
|
|
407
|
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
408
|
+
|
|
409
|
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
410
|
+
|
|
411
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
412
|
+
|
|
413
|
+
|
|
402
414
|
mapbox-to-css-font
|
|
403
415
|
BSD-2-Clause
|
|
404
416
|
Copyright 2016-present mapbox-to-css-font contributors
|
|
@@ -868,48 +880,62 @@ THE SOFTWARE.
|
|
|
868
880
|
|
|
869
881
|
|
|
870
882
|
sax
|
|
871
|
-
|
|
872
|
-
|
|
883
|
+
BlueOak-1.0.0
|
|
884
|
+
# Blue Oak Model License
|
|
873
885
|
|
|
874
|
-
|
|
886
|
+
Version 1.0.0
|
|
875
887
|
|
|
876
|
-
|
|
877
|
-
purpose with or without fee is hereby granted, provided that the above
|
|
878
|
-
copyright notice and this permission notice appear in all copies.
|
|
888
|
+
## Purpose
|
|
879
889
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
890
|
+
This license gives everyone as much permission to work with
|
|
891
|
+
this software as possible, while protecting contributors
|
|
892
|
+
from liability.
|
|
893
|
+
|
|
894
|
+
## Acceptance
|
|
895
|
+
|
|
896
|
+
In order to receive this license, you must agree to its
|
|
897
|
+
rules. The rules of this license are both obligations
|
|
898
|
+
under that agreement and conditions to your license.
|
|
899
|
+
You must not do anything with this software that triggers
|
|
900
|
+
a rule that you cannot or will not follow.
|
|
901
|
+
|
|
902
|
+
## Copyright
|
|
903
|
+
|
|
904
|
+
Each contributor licenses you to do everything with this
|
|
905
|
+
software that would otherwise infringe that contributor's
|
|
906
|
+
copyright in it.
|
|
907
|
+
|
|
908
|
+
## Notices
|
|
909
|
+
|
|
910
|
+
You must ensure that everyone who gets a copy of
|
|
911
|
+
any part of this software from you, with or without
|
|
912
|
+
changes, also gets the text of this license or a link to
|
|
913
|
+
<https://blueoakcouncil.org/license/1.0.0>.
|
|
914
|
+
|
|
915
|
+
## Excuse
|
|
916
|
+
|
|
917
|
+
If anyone notifies you in writing that you have not
|
|
918
|
+
complied with [Notices](#notices), you can keep your
|
|
919
|
+
license by taking all practical steps to comply within 30
|
|
920
|
+
days after the notice. If you do not do so, your license
|
|
921
|
+
ends immediately.
|
|
887
922
|
|
|
888
|
-
|
|
923
|
+
## Patent
|
|
889
924
|
|
|
890
|
-
|
|
891
|
-
|
|
925
|
+
Each contributor licenses you to do everything with this
|
|
926
|
+
software that would otherwise infringe any patent claims
|
|
927
|
+
they can license or become able to license.
|
|
892
928
|
|
|
893
|
-
|
|
929
|
+
## Reliability
|
|
894
930
|
|
|
895
|
-
|
|
896
|
-
a copy of this software and associated documentation files (the
|
|
897
|
-
"Software"), to deal in the Software without restriction, including
|
|
898
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
899
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
900
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
901
|
-
the following conditions:
|
|
931
|
+
No contributor can revoke this license.
|
|
902
932
|
|
|
903
|
-
|
|
904
|
-
included in all copies or substantial portions of the Software.
|
|
933
|
+
## No Liability
|
|
905
934
|
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
911
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
912
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
935
|
+
***As far as the law allows, this software comes as is,
|
|
936
|
+
without any warranty or condition, and no contributor
|
|
937
|
+
will be liable to anyone for any damages related to this
|
|
938
|
+
software or this license, under any kind of legal claim.***
|
|
913
939
|
|
|
914
940
|
|
|
915
941
|
semver
|