@mappedin/mappedin-js
Advanced tools
@@ -1,1 +0,1 @@ | ||
var g,tn=Object.create,le=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,nn=Object.getOwnPropertyNames,an=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty,on=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a=(e,t)=>le(e,"name",{value:t,configurable:!0}),sn=(e,t)=>()=>(e&&(t=e(e=0)),t),m=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ln=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of nn(t))!un.call(e,a)&&a!==r&&le(e,a,{get:()=>t[a],enumerable:!(n=rn(t,a))||n.enumerable});return e},dn=(e,t,r)=>(r=null!=e?tn(an(e)):{},ln(!t&&e&&e.__esModule?r:le(r,"default",{value:e,enumerable:!0}),e)),D=(e,t,r)=>(on(e,"symbol"!=typeof t?t+"":t,r),r),s=sn((()=>{g={env:{NODE_ENV:"production",npm_package_version:"5.49.0"}}})),T=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.areaConversion=e.timeConversion=e.distanceConversion=e.altitudeKeys=e.latitudeKeys=e.longitudeKeys=e.MAXLON=e.MINLON=e.MAXLAT=e.MINLAT=e.earthRadius=e.sexagesimalPattern=void 0;e.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;e.earthRadius=6378137;e.MINLAT=-90;e.MAXLAT=90;e.MINLON=-180;e.MAXLON=180;e.longitudeKeys=["lng","lon","longitude",0];e.latitudeKeys=["lat","latitude",1];e.altitudeKeys=["alt","altitude","elevation","elev",2];e.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};e.timeConversion={m:60,h:3600,d:86400};var t={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};e.areaConversion=t,t.sqm=t.m2,t.sqkm=t.km2,t.sqft=t.ft2,t.sqyd=t.yd2,t.sqin=t.in2})),re=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e,t){return t.reduce((function(t,r){if(typeof e>"u"||null===e)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,r)&&typeof r<"u"&&typeof t>"u"?(t=r,r):t}),void 0)}),"getCoordinateKey");e.default=t})),ne=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){var t=e.toString().trim();return!isNaN(parseFloat(t))&&parseFloat(t)===Number(t)}),"isDecimal");e.default=t})),ae=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){return t.sexagesimalPattern.test(e.toString().trim())}),"isSexagesimal");e.default=r})),ie=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=new RegExp(t.sexagesimalPattern).exec(e);if(typeof r>"u"||null===r)throw new Error("Given value is not in sexagesimal format");var n=Number(r[2])/60||0,a=Number(r[4])/3600||0,i=parseFloat(r[1])+n+a;return["S","W"].includes(r[7])?-i:i}),"sexagesimalToDecimal");e.default=r})),he=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=n(re());function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}a(n,"_interopRequireDefault"),a(i,"ownKeys"),a(u,"_objectSpread"),a(o,"_defineProperty");var l=a((function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:t.longitudeKeys,latitude:t.latitudeKeys,altitude:t.altitudeKeys},a=(0,r.default)(e,n.longitude),i=(0,r.default)(e,n.latitude),o=(0,r.default)(e,n.altitude);return u({latitude:i,longitude:a},o?{altitude:o}:{})}),"getCoordinateKeys");e.default=l})),ht=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(ne()),r=u(ae()),n=u(ie()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function e(a){return(0,t.default)(a)?!(parseFloat(a)>i.MAXLAT||a<i.MINLAT):!!(0,r.default)(a)&&e((0,n.default)(a))}),"isValidLatitude");e.default=o})),pt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(ne()),r=u(ae()),n=u(ie()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function e(a){return(0,t.default)(a)?!(parseFloat(a)>i.MAXLON||a<i.MINLON):!!(0,r.default)(a)&&e((0,n.default)(a))}),"isValidLongitude");e.default=o})),yt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(he()),r=i(ht()),n=i(pt());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e){var a=(0,t.default)(e),i=a.latitude,u=a.longitude;if(Array.isArray(e)&&e.length>=2)return(0,n.default)(e[0])&&(0,r.default)(e[1]);if(typeof i>"u"||typeof u>"u")return!1;var o=e[u],l=e[i];return!(typeof l>"u"||typeof o>"u"||!1===(0,r.default)(l)||!1===(0,n.default)(o))}),"isValidCoordinate");e.default=u})),Me=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(ne()),r=o(ae()),n=o(ie()),i=o(yt()),u=o(he());function o(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}a(o,"_interopRequireDefault"),a(l,"ownKeys"),a(d,"_objectSpread"),a(f,"_defineProperty");var c=a((function e(a){if((0,t.default)(a))return Number(a);if((0,r.default)(a))return(0,n.default)(a);if((0,i.default)(a)){var o=(0,u.default)(a);return Array.isArray(a)?a.map((function(t,r){return[0,1].includes(r)?e(t):t})):d(d(d({},a),o.latitude&&f({},o.latitude,e(a[o.latitude]))),o.longitude&&f({},o.longitude,e(a[o.longitude])))}return Array.isArray(a)?a.map((function(t){return(0,i.default)(t)?e(t):t})):a}),"toDecimal");e.default=c})),S=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=i(re()),n=i(Me());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e,a){var i=(0,r.default)(e,t.latitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}}),"getLatitude");e.default=u})),w=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=i(re()),n=i(Me());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e,a){var i=(0,r.default)(e,t.longitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}}),"getLongitude");e.default=u})),W=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return e*Math.PI/180}),"toRad");e.default=t})),Y=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return 180*e/Math.PI}),"toDeg");e.default=t})),nr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Y()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a,o){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,s=(0,t.default)(e),d=(0,r.default)(e),f=a/l,c=(0,n.default)(o),g=(0,n.default)(s),h=(0,n.default)(d),p=Math.asin(Math.sin(g)*Math.cos(f)+Math.cos(g)*Math.sin(f)*Math.cos(c)),y=h+Math.atan2(Math.sin(c)*Math.sin(f)*Math.cos(g),Math.cos(f)-Math.sin(g)*Math.sin(p)),v=(0,i.default)(y);return(v<u.MINLON||v>u.MAXLON)&&(y=(y+3*Math.PI)%(2*Math.PI)-Math.PI,v=(0,i.default)(y)),{latitude:(0,i.default)(p),longitude:v}}),"computeDestinationPoint");e.default=l})),ar=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.areaConversion[r];if(n)return e*n;throw new Error("Invalid unit used for area conversion.")}),"convertArea");e.default=r})),ir=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.distanceConversion[r];if(n)return e*n;throw new Error("Invalid unit used for distance conversion.")}),"convertDistance");e.default=r})),ur=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"kmh";switch(r){case"kmh":return e*t.timeConversion.h*t.distanceConversion.km;case"mph":return e*t.timeConversion.h*t.distanceConversion.mi;default:return e}}),"convertSpeed");e.default=r})),lr=m((e=>{"use strict";function t(e,t){return o(e)||u(e,t)||n(e,t)||r()}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 n(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}function o(e){if(Array.isArray(e))return e}s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,a(t,"_slicedToArray"),a(r,"_nonIterableRest"),a(n,"_unsupportedIterableToArray"),a(i,"_arrayLikeToArray"),a(u,"_iterableToArrayLimit"),a(o,"_arrayWithHoles");var l=a((function(e){var t=Math.pow(10,12);return Math.round(e*t)/t}),"imprecise"),d=a((function(e){var r=t(e.toString().split("."),2),n=r[0],a=r[1],i=Math.abs(Number(n)),u=l(60*+("0."+(a||0))),o=Math.floor(u),s=l(60*(u%o||0));return i+"° "+Number(o.toFixed(6)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+"' "+Number(s.toFixed(4)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+'"'}),"decimal2sexagesimal");e.default=d})),Ot=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return e>1?1:e<-1?-1:e}),"robustAcos");e.default=t})),$=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Ot()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;o=typeof o<"u"&&!isNaN(o)?o:1;var l=(0,t.default)(e),s=(0,r.default)(e),d=(0,t.default)(a),f=(0,r.default)(a),c=Math.acos((0,i.default)(Math.sin((0,n.default)(d))*Math.sin((0,n.default)(l))+Math.cos((0,n.default)(d))*Math.cos((0,n.default)(l))*Math.cos((0,n.default)(s)-(0,n.default)(f))))*u.earthRadius;return Math.round(c/o)*o}),"getDistance");e.default=l})),Lt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default;return n="function"==typeof n?n:t.default,r.slice().sort((function(t,r){return n(e,t)-n(e,r)}))}),"orderByDistance");e.default=n})),gr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(Lt());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){return(0,t.default)(e,r)[0]}),"findNearest");e.default=n})),mr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(W()),r=u(S()),n=u(w()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e){var a=0;if(e.length>2){for(var u,o,l,s=0;s<e.length;s++){s===e.length-2?(u=e.length-2,o=e.length-1,l=0):s===e.length-1?(u=e.length-1,o=0,l=1):(u=s,o=s+1,l=s+2);var d=(0,n.default)(e[u]),f=(0,r.default)(e[o]),c=(0,n.default)(e[l]);a+=((0,t.default)(c)-(0,t.default)(d))*Math.sin((0,t.default)(f))}a=a*i.earthRadius*i.earthRadius/2}return Math.abs(a)}),"getAreaOfPolygon");e.default=o})),qt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(S()),r=n(w());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e){if(!1===Array.isArray(e)||0===e.length)throw new Error("No points were given.");return e.reduce((function(e,n){var a=(0,t.default)(n),i=(0,r.default)(n);return{maxLat:Math.max(a,e.maxLat),minLat:Math.min(a,e.minLat),maxLng:Math.max(i,e.maxLng),minLng:Math.min(i,e.minLng)}}),{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})}),"getBounds");e.default=i})),_r=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Y()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a){var o,l,s=(0,t.default)(e),d=(0,r.default)(e),f=(0,n.default)(s),c=(0,n.default)(d),g=a/u.earthRadius,h=f-g,p=f+g,y=(0,n.default)(u.MAXLAT),v=(0,n.default)(u.MINLAT),m=(0,n.default)(u.MAXLON),b=(0,n.default)(u.MINLON);if(h>v&&p<y){var M=Math.asin(Math.sin(g)/Math.cos(f));(o=c-M)<b&&(o+=2*Math.PI),(l=c+M)>m&&(l-=2*Math.PI)}else h=Math.max(h,v),p=Math.min(p,y),o=b,l=m;return[{latitude:(0,i.default)(h),longitude:(0,i.default)(o)},{latitude:(0,i.default)(p),longitude:(0,i.default)(l)}]}),"getBoundsOfDistance");e.default=l})),Ir=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e){if(!1===Array.isArray(e)||0===e.length)return!1;var a=e.length,u=e.reduce((function(e,a){var i=(0,n.default)((0,t.default)(a)),u=(0,n.default)((0,r.default)(a));return{X:e.X+Math.cos(i)*Math.cos(u),Y:e.Y+Math.cos(i)*Math.sin(u),Z:e.Z+Math.sin(i)}}),{X:0,Y:0,Z:0}),o=u.X/a,l=u.Y/a,s=u.Z/a;return{longitude:(0,i.default)(Math.atan2(l,o)),latitude:(0,i.default)(Math.atan2(s,Math.sqrt(o*o+l*l)))}}),"getCenter");e.default=o})),br=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(qt());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e){var r=(0,t.default)(e),n=r.minLat+(r.maxLat-r.minLat)/2,a=r.minLng+(r.maxLng-r.minLng)/2;return{latitude:parseFloat(n.toFixed(6)),longitude:parseFloat(a.toFixed(6))}}),"getCenterOfBounds");e.default=n})),Et=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=(0,n.default)((0,r.default)(a))-(0,n.default)((0,r.default)(e)),o=Math.log(Math.tan((0,n.default)((0,t.default)(a))/2+Math.PI/4)/Math.tan((0,n.default)((0,t.default)(e))/2+Math.PI/4));return Math.abs(u)>Math.PI&&(u=u>0?-1*(2*Math.PI-u):2*Math.PI+u),((0,i.default)(Math.atan2(u,o))+360)%360}),"getRhumbLineBearing");e.default=o})),Dr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(Et());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default,a="function"==typeof n?n(e,r):(0,t.default)(e,r);if(isNaN(a))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(a/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"}}),"getCompassDirection");e.default=n})),At=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n($()),r=n(Ot());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e,n,a){var i=(0,t.default)(n,e),u=(0,t.default)(e,a),o=(0,t.default)(n,a),l=Math.acos((0,r.default)((i*i+o*o-u*u)/(2*i*o))),s=Math.acos((0,r.default)((u*u+o*o-i*i)/(2*u*o)));return l>Math.PI/2?i:s>Math.PI/2?u:Math.sin(l)*i}),"getDistanceFromLine");e.default=i})),Ar=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=(0,t.default)(a),o=(0,r.default)(a),l=(0,t.default)(e),s=(0,r.default)(e);return((0,i.default)(Math.atan2(Math.sin((0,n.default)(o)-(0,n.default)(s))*Math.cos((0,n.default)(u)),Math.cos((0,n.default)(l))*Math.sin((0,n.default)(u))-Math.sin((0,n.default)(l))*Math.cos((0,n.default)(u))*Math.cos((0,n.default)(o)-(0,n.default)(s))))+360)%360}),"getGreatCircleBearing");e.default=o})),xr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?a((function(e){return typeof e}),"_typeof"):a((function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}),"_typeof"))(e)}a(r,"_interopRequireDefault"),a(n,"_typeof");var i=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.default;return e.reduce((function(e,t){return"object"===n(e)&&null!==e.last&&(e.distance+=r(t,e.last)),e.last=t,e}),{last:null,distance:0}).distance}),"getPathLength");e.default=i})),Cr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;u=typeof u<"u"&&!isNaN(u)?u:1;var o,l,s,d,f,c,g,h=(0,t.default)(e),p=(0,r.default)(e),y=(0,t.default)(a),v=(0,r.default)(a),m=6356752.314245,b=1/298.257223563,M=(0,n.default)(v-p),_=Math.atan((1-b)*Math.tan((0,n.default)(parseFloat(h)))),O=Math.atan((1-b)*Math.tan((0,n.default)(parseFloat(y)))),P=Math.sin(_),j=Math.cos(_),I=Math.sin(O),D=Math.cos(O),x=M,S=100;do{var L=Math.sin(x),w=Math.cos(x);if(0===(c=Math.sqrt(D*L*(D*L)+(j*I-P*D*w)*(j*I-P*D*w))))return 0;o=P*I+j*D*w,l=Math.atan2(c,o),f=o-2*P*I/(d=1-(s=j*D*L/c)*s),isNaN(f)&&(f=0);var N=b/16*d*(4+b*(4-3*d));g=x,x=M+(1-N)*b*s*(l+N*c*(f+N*o*(2*f*f-1)))}while(Math.abs(x-g)>1e-12&&--S>0);if(0===S)return NaN;var E=d*(i.earthRadius*i.earthRadius-m*m)/(m*m),A=1+E/16384*(4096+E*(E*(320-175*E)-768)),R=E/1024*(256+E*(E*(74-47*E)-128)),T=R*c*(f+R/4*(o*(2*f*f-1)-R/6*f*(4*c*c-3)*(4*f*f-3))),B=m*A*(l-T);return Math.round(B/u)*u}),"getDistance");e.default=o})),Br=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return/^NNE|NE|NNW|N$/.test(e)?"N":/^ENE|E|ESE|SE$/.test(e)?"E":/^SSE|S|SSW|SW$/.test(e)?"S":/^WSW|W|WNW|NW$/.test(e)?"W":void 0}),"getRoughCompassDirection");e.default=t})),Vr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default,a=n(e,r),i=Number(r.time)-Number(e.time),u=a/i*1e3;return u}),"getSpeed");e.default=n})),Kr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n){return(0,t.default)(r,e)+(0,t.default)(e,n)===(0,t.default)(r,n)}),"isPointInLine");e.default=n})),Fr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(S()),r=n(w());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e,n){for(var a=!1,i=n.length,u=-1,o=i-1;++u<i;o=u)((0,r.default)(n[u])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[o])||(0,r.default)(n[o])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[u]))&&(0,t.default)(e)<((0,t.default)(n[o])-(0,t.default)(n[u]))*((0,r.default)(e)-(0,r.default)(n[u]))/((0,r.default)(n[o])-(0,r.default)(n[u]))+(0,t.default)(n[u])&&(a=!a);return a}),"isPointInPolygon");e.default=i})),Gr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(At());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n,a){return(0,t.default)(e,r,n)<a}),"isPointNearLine");e.default=n})),Xr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n){return(0,t.default)(e,r)<n}),"isPointWithinRadius");e.default=n})),$r=m((e=>{"use strict";function t(e,t){return o(e)||u(e,t)||n(e,t)||r()}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 n(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}function o(e){if(Array.isArray(e))return e}s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,a(t,"_slicedToArray"),a(r,"_nonIterableRest"),a(n,"_unsupportedIterableToArray"),a(i,"_arrayLikeToArray"),a(u,"_iterableToArrayLimit"),a(o,"_arrayWithHoles");var l=a((function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map((function(e){var r=t(e.split(" "),2),n=r[0],a=r[1];return{longitude:parseFloat(n),latitude:parseFloat(a)}}))}),"wktToPolygon");e.default=l})),jr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0});var t={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(e,"computeDestinationPoint",{enumerable:!0,get:a((function(){return r.default}),"get")}),Object.defineProperty(e,"convertArea",{enumerable:!0,get:a((function(){return n.default}),"get")}),Object.defineProperty(e,"convertDistance",{enumerable:!0,get:a((function(){return i.default}),"get")}),Object.defineProperty(e,"convertSpeed",{enumerable:!0,get:a((function(){return u.default}),"get")}),Object.defineProperty(e,"decimalToSexagesimal",{enumerable:!0,get:a((function(){return o.default}),"get")}),Object.defineProperty(e,"findNearest",{enumerable:!0,get:a((function(){return l.default}),"get")}),Object.defineProperty(e,"getAreaOfPolygon",{enumerable:!0,get:a((function(){return d.default}),"get")}),Object.defineProperty(e,"getBounds",{enumerable:!0,get:a((function(){return f.default}),"get")}),Object.defineProperty(e,"getBoundsOfDistance",{enumerable:!0,get:a((function(){return c.default}),"get")}),Object.defineProperty(e,"getCenter",{enumerable:!0,get:a((function(){return g.default}),"get")}),Object.defineProperty(e,"getCenterOfBounds",{enumerable:!0,get:a((function(){return h.default}),"get")}),Object.defineProperty(e,"getCompassDirection",{enumerable:!0,get:a((function(){return p.default}),"get")}),Object.defineProperty(e,"getCoordinateKey",{enumerable:!0,get:a((function(){return y.default}),"get")}),Object.defineProperty(e,"getCoordinateKeys",{enumerable:!0,get:a((function(){return v.default}),"get")}),Object.defineProperty(e,"getDistance",{enumerable:!0,get:a((function(){return m.default}),"get")}),Object.defineProperty(e,"getDistanceFromLine",{enumerable:!0,get:a((function(){return b.default}),"get")}),Object.defineProperty(e,"getGreatCircleBearing",{enumerable:!0,get:a((function(){return M.default}),"get")}),Object.defineProperty(e,"getLatitude",{enumerable:!0,get:a((function(){return _.default}),"get")}),Object.defineProperty(e,"getLongitude",{enumerable:!0,get:a((function(){return O.default}),"get")}),Object.defineProperty(e,"getPathLength",{enumerable:!0,get:a((function(){return P.default}),"get")}),Object.defineProperty(e,"getPreciseDistance",{enumerable:!0,get:a((function(){return j.default}),"get")}),Object.defineProperty(e,"getRhumbLineBearing",{enumerable:!0,get:a((function(){return I.default}),"get")}),Object.defineProperty(e,"getRoughCompassDirection",{enumerable:!0,get:a((function(){return D.default}),"get")}),Object.defineProperty(e,"getSpeed",{enumerable:!0,get:a((function(){return x.default}),"get")}),Object.defineProperty(e,"isDecimal",{enumerable:!0,get:a((function(){return L.default}),"get")}),Object.defineProperty(e,"isPointInLine",{enumerable:!0,get:a((function(){return N.default}),"get")}),Object.defineProperty(e,"isPointInPolygon",{enumerable:!0,get:a((function(){return E.default}),"get")}),Object.defineProperty(e,"isPointNearLine",{enumerable:!0,get:a((function(){return A.default}),"get")}),Object.defineProperty(e,"isPointWithinRadius",{enumerable:!0,get:a((function(){return R.default}),"get")}),Object.defineProperty(e,"isSexagesimal",{enumerable:!0,get:a((function(){return B.default}),"get")}),Object.defineProperty(e,"isValidCoordinate",{enumerable:!0,get:a((function(){return C.default}),"get")}),Object.defineProperty(e,"isValidLatitude",{enumerable:!0,get:a((function(){return q.default}),"get")}),Object.defineProperty(e,"isValidLongitude",{enumerable:!0,get:a((function(){return V.default}),"get")}),Object.defineProperty(e,"orderByDistance",{enumerable:!0,get:a((function(){return k.default}),"get")}),Object.defineProperty(e,"sexagesimalToDecimal",{enumerable:!0,get:a((function(){return F.default}),"get")}),Object.defineProperty(e,"toDecimal",{enumerable:!0,get:a((function(){return K.default}),"get")}),Object.defineProperty(e,"toRad",{enumerable:!0,get:a((function(){return X.default}),"get")}),Object.defineProperty(e,"toDeg",{enumerable:!0,get:a((function(){return G.default}),"get")}),Object.defineProperty(e,"wktToPolygon",{enumerable:!0,get:a((function(){return H.default}),"get")});var r=Z(nr()),n=Z(ar()),i=Z(ir()),u=Z(ur()),o=Z(lr()),l=Z(gr()),d=Z(mr()),f=Z(qt()),c=Z(_r()),g=Z(Ir()),h=Z(br()),p=Z(Dr()),y=Z(re()),v=Z(he()),m=Z($()),b=Z(At()),M=Z(Ar()),_=Z(S()),O=Z(w()),P=Z(xr()),j=Z(Cr()),I=Z(Et()),D=Z(Br()),x=Z(Vr()),L=Z(ne()),N=Z(Kr()),E=Z(Fr()),A=Z(Gr()),R=Z(Xr()),B=Z(ae()),C=Z(yt()),q=Z(ht()),V=Z(pt()),k=Z(Lt()),F=Z(ie()),K=Z(Me()),X=Z(W()),G=Z(Y()),H=Z($r()),U=T();function Z(e){return e&&e.__esModule?e:{default:e}}Object.keys(U).forEach((function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(e,r,{enumerable:!0,get:a((function(){return U[r]}),"get")})})),a(Z,"_interopRequireDefault")}));s(),s();var Jr=dn(jr());s();var Ct=class{constructor({origin:e,destination:t,vortex:r,elevationDelta:n=0,distance:a=0,angle:i=0,pathWeight:u=0}){let o,l;if(D(this,"origin"),D(this,"destination"),D(this,"vortex"),D(this,"distance"),D(this,"angle"),D(this,"weight"),this.origin=e,this.destination=t,this.vortex=r,this.distance=a,this.angle=i,r)this.distance=0,this.angle=0,o=void 0!==r.weight&&r.weight>0?r.weight:"elevator"===r.type?2e3:1e3,l=r.multiplier&&r.multiplier>=1?r.multiplier:1,this.weight=n*l+o;else{let e=u||t.weight;o=e&&e>=0?e:0,l=t.multiplier&&t.multiplier>=1?t.multiplier:1,this.weight=this.distance*l+o}if(isNaN(this.angle))throw new Error("nan angle")}};a(Ct,"Edge");var wt=Ct,k=wt;s();var Yr=(e=>(e[e.LOG=0]="LOG",e[e.WARN=1]="WARN",e[e.ERROR=2]="ERROR",e[e.SILENT=3]="SILENT",e))(Yr||{});function Xu(e){0<=e&&e<=3&&(kr.logState=e)}a(Xu,"setLoggerLevel");var kr={logState:"test"===g.env.NODE_ENV?3:0,log(...e){this.logState<=0&&console.log("[MappedInJS]",...e)},warn(...e){this.logState<=1&&console.warn("[MappedInJS]",...e)},error(...e){this.logState<=2&&console.error("[MappedInJS]",...e)},assert(...e){console.assert(...e)},time(e){console.time(e)},timeEnd(e){console.timeEnd(e)}},Zr=kr;function Uu(e){if(e.scale||e.x_scale)return 1/(e.scale||e.x_scale||1);try{if(!e.georeference)throw new Error("map ".concat(e.name||e.shortName||e.id," does not have a georeference field"));if(e.georeference.length<3)throw new Error("map ".concat(e.name||e.shortName||e.id," has less than 3 georeference points, we require at least 3 for proper map scaling"));let t=e.georeference[0],r=e.georeference[2],n=(0,Jr.getDistance)({latitude:t.target.x,longitude:t.target.y},{latitude:r.target.x,longitude:r.target.y}),a=t.control.x-r.control.x,i=t.control.y-r.control.y;return Math.sqrt(a*a+i*i)/n}catch(e){return Zr.error(e),1}}function lt(e,t){let r=e.x-t.x,n=e.y-t.y;return(Math.atan2(n,r)+2.5*Math.PI)%(2*Math.PI)}a(Uu,"getMapScale"),a(lt,"getAngle");var Kt=class{constructor({nodes:e,vortexes:t,maps:r,showVortexNames:n=!1}){D(this,"edges"),D(this,"nodesById"),D(this,"mapsById"),this.edges={},this.mapsById=r.map((e=>({...e,_scale:Uu(e)}))).reduce(((e,t)=>(e[t.id]=t,e)),{});let a=e.filter((e=>!!this.mapsById[e.map])).map((e=>({...e,paths:e.paths?e.paths.filter((({map:t})=>t===e.map)):[]})));this.nodesById=a.reduce(((e,t)=>(e[t.id]=t,e)),{});for(let e in this.nodesById)this.nodesById.hasOwnProperty(e)&&(this.nodesById[e].paths=this.nodesById[e].paths.filter((({node:e})=>!!this.nodesById[e])));let i=t.map((e=>({...e,name:n?e.name:e.type,nodes:e.nodes?e.nodes.filter((e=>!!this.nodesById[e])):[]})));a.forEach((e=>{this.edges[e.id]=e.paths.map((({node:t,weight:r})=>{let n=this.nodesById[t];return new k({angle:lt(e,n),destination:n,distance:this.getDistance(e,n),origin:e,pathWeight:r})}))})),i.forEach((e=>{if(null==e.nodes||0===e.nodes.length)return;let t=0;for(;t<e.nodes.length-1;){let r=this.nodesById[e.nodes[t]];if(t++,null==r)continue;let n=t;for(;n<e.nodes.length;){let t=this.nodesById[e.nodes[n]];if(n++,null==t)continue;let a=this.mapsById[r.map].elevation||0,i=this.mapsById[t.map].elevation||0,u=Math.abs(a-i);this.edges[r.id].push(new k({destination:t,elevationDelta:u,origin:r,vortex:e})),this.edges[t.id].push(new k({destination:r,elevationDelta:u,origin:t,vortex:e}))}}}))}aStar({originIds:e,destinationNodeIds:t,accessible:r,includedVortexIds:n,excludedVortexIds:a,excludedNodeIds:i}){let u=e.map((e=>this.nodesById[e])).filter((e=>e&&(!i||!i.has(e.id)))),o=t.map((e=>this.nodesById[e])).filter((e=>e&&(!i||!i.has(e.id))));if(0===u.length||0===o.length)return[];let l=[],s={},d={};for(u.forEach((e=>{let t=this.getShortestEuclideanDistance(e,o);l.push({origin:e,priority:t}),s[e.id]=null,d[e.id]=0})),l.sort(((e,t)=>e.priority-t.priority));l.length>0;){let e=l[0];if(o.includes(e.origin)){let t=[],r=s[e.origin.id];for(;null!=r;){t.push(r);let e=s[r.origin.id];r=null!=e?e:null}return t.reverse()}for(let t of this.edges[e.origin.id]){let u=t.vortex&&!1===t.vortex.accessible||!1===t.origin.accessible||!1===t.destination.accessible,f=t.vortex&&(n&&!n.has(t.vortex.id)||a&&a.has(t.vortex.id)),c=i&&i.has(t.destination.id);if(r&&u||f||c)continue;let g=d[e.origin.id]+t.weight;if(null==d[t.destination.id]||g<d[t.destination.id]){d[t.destination.id]=g;let e=g+this.getShortestEuclideanDistance(t.destination,o);l.push({origin:t.destination,priority:e}),s[t.destination.id]=t}}l.splice(0,1),l.sort(((e,t)=>e.priority-t.priority))}return[]}getDistance(e,t){let r,n=e.x-t.x,a=e.y-t.y,i=n*n+a*a;return r=null==this.mapsById[e.map]?1:this.mapsById[e.map]._scale,Math.sqrt(i)/r}getShortestEuclideanDistance(e,t){return t.reduce(((t,r)=>{let n=this.getDistance(e,r);return Math.min(t,n)}),Number.MAX_VALUE)}};a(Kt,"NavigationGraph");var Bt=Kt,Vt=Bt;s(),s();var Ft=(e=>(e.DEPARTURE="Departure",e.TAKEVORTEX="TakeVortex",e.EXITVORTEX="ExitVortex",e.TURN="Turn",e.ARRIVAL="Arrival",e))(Ft||{}),Gt=(e=>(e.STRAIGHT="Straight",e.RIGHT="Right",e.SLIGHTRIGHT="SlightRight",e.LEFT="Left",e.SLIGHTLEFT="SlightLeft",e))(Gt||{});function $u(e){switch(e){case"down":case"up":return"".concat(e," ");default:return""}}a($u,"vortexDirectionTest");var Xt=class{constructor({origin:e,action:t,distance:r,atLocation:n,instruction:a}){D(this,"node"),D(this,"instruction"),D(this,"action"),D(this,"atLocation"),D(this,"type"),D(this,"distance",0),this.node=e,this.action=t,this.distance=r||0,this.atLocation=n,this.instruction="",a?this.instruction=a:(null!=t&&"Departure"===t.type?this.instruction=null!=n?"Depart from ".concat(n.name):"Depart from current location":null!=t&&"Arrival"===t.type?this.instruction=null!=n?"Arrive at ".concat(n.name):"Arrive at destination":null!=t&&"TakeVortex"===t.type?this.instruction="Take ".concat(n&&n.name," ").concat($u(t.direction),"to ").concat(t.toMap.name):null!=t&&"ExitVortex"===t.type?this.instruction="Exit ".concat(n&&n.name," at ").concat(t.toMap.name):null!=t&&"bearing"in t&&"Right"===t.bearing?this.instruction="Turn right":null!=t&&"bearing"in t&&"SlightRight"===t.bearing?this.instruction="Turn slightly right":null!=t&&"bearing"in t&&"Straight"===t.bearing?this.instruction="Head straight":null!=t&&"bearing"in t&&"SlightLeft"===t.bearing?this.instruction="Turn slightly left":null!=t&&"bearing"in t&&"Left"===t.bearing&&(this.instruction="Turn left"),null!=t&&"Turn"===t.type&&n&&(this.instruction+=" at ".concat(n.name)))}};a(Xt,"Directive");var Wt=Xt,H=Wt;function Ut(e,t,r,n){if(!(e&&t&&r&&n))return null;let a=e.x,i=e.y,u=t.x,o=t.y,l=r.x,s=r.y,d=n.x,f=n.y;if(a===u&&i===o||l===d&&s===f)return null;let c=(f-s)*(u-a)-(d-l)*(o-i);if(0===c)return null;let g=((d-l)*(i-s)-(f-s)*(a-l))/c,h=((u-a)*(i-s)-(o-i)*(a-l))/c;return g<0||g>1||h<0||h>1?null:{x:a+g*(u-a),y:i+g*(o-i)}}function zr(e,t,r){if(e.x===t.x)return[{x:e.x+r,y:e.y},{x:t.x+r,y:t.y}];if(e.y===t.y)return[{x:e.x,y:e.y+r},{x:t.x,y:t.y+r}];let n=-1/((t.y-e.y)/(t.x-e.x)),a=r*Math.sqrt(1/(1+n*n)),i=n*a;return[{x:e.x+a,y:e.y+i},{x:t.x+a,y:t.y+i}]}function Qr(e,t,r=[],n=0){let a=!0;return r.forEach((r=>{if(n>0){let i=zr(e,t,-n),u=zr(e,t,n);if(Ut(i[0],i[1],r[0],r[1])||Ut(u[0],u[1],r[0],r[1]))return void(a=!1)}else if(Ut(e,t,r[0],r[1]))return void(a=!1)})),a}s(),a(Ut,"getLineIntersection"),a(zr,"getOffsetLine"),a(Qr,"hasLineOfSight");var en=(e=>(e.NO_VALID_PATH="No Valid Path Available",e))(en||{}),dt=.1*Math.PI;function ft(e,t){return((t-e+Math.PI)%(2*Math.PI)+2*Math.PI)%(2*Math.PI)-Math.PI}a(ft,"differenceBetweenAngles");var Ht=class{constructor({locations:e,nodes:t,vortexes:r,maps:n,polygons:a,showVortexNames:i}){D(this,"graph"),D(this,"locationsByNodeId"),D(this,"geometryEdgesByMapId",new Map),this.graph=new Vt({maps:n,nodes:t,showVortexNames:i,vortexes:r}),this.locationsByNodeId=e.reduce(((e,t)=>(t.nodes&&t.nodes.forEach((r=>{e[r.node]=t})),t.polygons&&t.polygons.forEach((r=>{r.entrances&&r.entrances.forEach((r=>{e[r]=t}))})),e)),{}),a&&a.forEach((e=>{if(this.geometryEdgesByMapId.has(e.map)||this.geometryEdgesByMapId.set(e.map,[]),!0===e.isLineStringSegment)for(let t of e.vertexes)for(let r=0;r<t.length;r++)t[r+1]&&this.geometryEdgesByMapId.get(e.map).push([t[r],t[r+1]]);else e.vertexes.forEach(((t,r)=>{e.vertexes[r+1]?this.geometryEdgesByMapId.get(e.map).push([t,e.vertexes[r+1]]):this.geometryEdgesByMapId.get(e.map).push([t,e.vertexes[0]])}))}))}getClosestLocationInRay(e,t=.5*Math.PI,r=10){let n=0,a=0,i=e;for(;Math.abs(n)<t&&a<r;){let e=this.graph.edges[i.destination.id],u=null,o=0;for(let t of e)if(t.distance>0)if(null!=u){let e=-ft(i.angle,t.angle);Math.abs(e)<Math.abs(o)&&(u=t,o=e)}else u=t,o=-ft(i.angle,t.angle);if(null==u)return null;{if(Math.abs(o)>=t||(n+=o,a+=u.distance,Math.abs(n)>=t||a>r))return null;let e=this.locationsByNodeId[u.destination.id];if(null!=e)return e;i=u}}return null}getDirections({originIds:e,destinationNodeIds:t,accessible:r,departFrom:n,arriveAt:a,includedVortexIds:i,excludedVortexIds:u,excludedNodeIds:o,simplify:l}){var s,d,f;let c=this.graph.aStar({originIds:e,destinationNodeIds:t,accessible:r,includedVortexIds:i,excludedVortexIds:u,excludedNodeIds:o});if(0===c.length)return{distance:0,instructions:[new H({distance:0,instruction:"No Valid Path Available"})],path:[]};let g=0,h=[],p=[];if(null!=l&&l.enabled){let e=null!=(s=null==l?void 0:l.bufferRadius)?s:1.8,t=[c[0]];for(let r=1;r<c.length;r++){if(c[r].origin.map!==c[r-1].origin.map){let n=null!=(d=this.geometryEdgesByMapId.get(c[r-1].origin.map))?d:[];p.push(...this.simplifySteps(t,n,e)),t=[c[r]]}t.push(c[r])}let r=c[c.length-1],n=null!=(f=this.geometryEdgesByMapId.get(r.origin.map))?f:[];p.push(...this.simplifySteps(t,n,e)),c=p}for(let e=0;e<c.length;e++)h.push(c[e].origin);h.push(c[c.length-1].destination);let y=[],v=null,m=null,b=0,M=0;for(let e=0;e<c.length;e++){let t=c[e],r=t.origin,i=t.destination;if(g+=t.distance,b+=(null==m?void 0:m.distance)||0,0===e&&y.push(new H({action:{type:"Departure"},atLocation:n,distance:0,origin:r})),null!=t.vortex){let e=this.graph.mapsById[r.map],n=this.graph.mapsById[i.map],a="none";if(null!=e.elevation&&null!=n.elevation){let t=e.elevation-n.elevation;t>0?a="down":t<0&&(a="up")}y.push(new H({action:{direction:a,fromMap:e,toMap:n,type:"TakeVortex"},atLocation:t.vortex,distance:b,origin:r})),M+=b,b=0}else if(null!=v&&null!=m)if(null!=m.vortex){let e=this.graph.mapsById[v.map],t=this.graph.mapsById[m.destination.map];y.push(new H({action:{fromMap:e,toMap:t,type:"ExitVortex"},atLocation:m.vortex,distance:b,origin:r})),M+=b,b=0}else{let e=this.graph.edges[r.id].filter((e=>e.destination!==v&&e.destination!==t.destination));if(e.length>0){let n=-ft(m.angle,t.angle),a=e.reduce(((e,r)=>{let n=-ft(t.angle,r.angle);return Math.min(e,Math.abs(n))}),Math.PI);if(Math.abs(n)>=dt||Math.abs(a)<=dt){let e;e=n<=-Math.PI/4?"Right":n<=-dt?"SlightRight":n<=dt?"Straight":n<=Math.PI/4?"SlightLeft":"Left";let t=this.locationsByNodeId[r.id];if(t||(t=this.getClosestLocationInRay(m,.5*Math.PI,10)),null!=t){let n=new H({action:{bearing:e,referencePosition:"At",type:"Turn"},atLocation:t,distance:b,origin:r});n.type=e,y.push(n)}else y.push(new H({action:{bearing:e,referencePosition:"At",type:"Turn"},distance:b,origin:r}));M+=b,b=0}}}e===c.length-1&&(y.push(new H({action:{type:"Arrival"},atLocation:a,distance:g-M<0?0:g-M,origin:t.destination})),M+=b,b=0),v=r,m=t}let _=[],O=null;for(let e=y.length-1;e>=0;e--){let t=y[e],{action:r}=t;r&&"TakeVortex"===r.type?(O=t.node,_.unshift(t)):r&&"Turn"===r.type&&null!=O?this.graph.getDistance(t.node,O)>5?_.unshift(t):_[0].distance+=t.distance:_.unshift(t)}return{distance:g,instructions:_,path:h}}simplifySteps(e,t,r){if(e.length<3)return e;let n=[e[0]],a=1;for(let i=a+2;i<e.length;i++)if(!Qr(e[a].origin,e[i].origin,t,r)){let t=i-1;n.push(new k({...e[a],destination:e[t].origin,distance:this.graph.getDistance(e[a].origin,e[t].origin),angle:lt(e[a].origin,e[t].origin)})),a=t}return n.push(new k({...e[a],destination:e[e.length-1].origin,distance:this.graph.getDistance(e[a].origin,e[e.length-1].origin),angle:lt(e[a].origin,e[e.length-1].origin)}),e[e.length-1]),n}};a(Ht,"Navigator");var $t=Ht,Hu=$t;export{Ft as ACTION_TYPE,Gt as BEARING_TYPE,en as E_MESSAGES,Yr as E_SDK_LOG_LEVEL,Vt as NavigationGraph,Hu as Navigator,Xu as setLoggerLevel}; | ||
var g,tn=Object.create,le=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,nn=Object.getOwnPropertyNames,an=Object.getPrototypeOf,un=Object.prototype.hasOwnProperty,on=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a=(e,t)=>le(e,"name",{value:t,configurable:!0}),sn=(e,t)=>()=>(e&&(t=e(e=0)),t),m=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ln=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let a of nn(t))!un.call(e,a)&&a!==r&&le(e,a,{get:()=>t[a],enumerable:!(n=rn(t,a))||n.enumerable});return e},dn=(e,t,r)=>(r=null!=e?tn(an(e)):{},ln(!t&&e&&e.__esModule?r:le(r,"default",{value:e,enumerable:!0}),e)),D=(e,t,r)=>(on(e,"symbol"!=typeof t?t+"":t,r),r),s=sn((()=>{g={env:{NODE_ENV:"production",npm_package_version:"5.49.1"}}})),T=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.areaConversion=e.timeConversion=e.distanceConversion=e.altitudeKeys=e.latitudeKeys=e.longitudeKeys=e.MAXLON=e.MINLON=e.MAXLAT=e.MINLAT=e.earthRadius=e.sexagesimalPattern=void 0;e.sexagesimalPattern=/^([0-9]{1,3})°\s*([0-9]{1,3}(?:\.(?:[0-9]{1,}))?)['′]\s*(([0-9]{1,3}(\.([0-9]{1,}))?)["″]\s*)?([NEOSW]?)$/;e.earthRadius=6378137;e.MINLAT=-90;e.MAXLAT=90;e.MINLON=-180;e.MAXLON=180;e.longitudeKeys=["lng","lon","longitude",0];e.latitudeKeys=["lat","latitude",1];e.altitudeKeys=["alt","altitude","elevation","elev",2];e.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};e.timeConversion={m:60,h:3600,d:86400};var t={m2:1,km2:1e-6,ha:1e-4,a:.01,ft2:10.763911,yd2:1.19599,in2:1550.0031};e.areaConversion=t,t.sqm=t.m2,t.sqkm=t.km2,t.sqft=t.ft2,t.sqyd=t.yd2,t.sqin=t.in2})),re=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e,t){return t.reduce((function(t,r){if(typeof e>"u"||null===e)throw new Error("'".concat(e,"' is no valid coordinate."));return Object.prototype.hasOwnProperty.call(e,r)&&typeof r<"u"&&typeof t>"u"?(t=r,r):t}),void 0)}),"getCoordinateKey");e.default=t})),ne=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){var t=e.toString().trim();return!isNaN(parseFloat(t))&&parseFloat(t)===Number(t)}),"isDecimal");e.default=t})),ae=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){return t.sexagesimalPattern.test(e.toString().trim())}),"isSexagesimal");e.default=r})),ie=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=new RegExp(t.sexagesimalPattern).exec(e);if(typeof r>"u"||null===r)throw new Error("Given value is not in sexagesimal format");var n=Number(r[2])/60||0,a=Number(r[4])/3600||0,i=parseFloat(r[1])+n+a;return["S","W"].includes(r[7])?-i:i}),"sexagesimalToDecimal");e.default=r})),he=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=n(re());function n(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}a(n,"_interopRequireDefault"),a(i,"ownKeys"),a(u,"_objectSpread"),a(o,"_defineProperty");var l=a((function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{longitude:t.longitudeKeys,latitude:t.latitudeKeys,altitude:t.altitudeKeys},a=(0,r.default)(e,n.longitude),i=(0,r.default)(e,n.latitude),o=(0,r.default)(e,n.altitude);return u({latitude:i,longitude:a},o?{altitude:o}:{})}),"getCoordinateKeys");e.default=l})),ht=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(ne()),r=u(ae()),n=u(ie()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function e(a){return(0,t.default)(a)?!(parseFloat(a)>i.MAXLAT||a<i.MINLAT):!!(0,r.default)(a)&&e((0,n.default)(a))}),"isValidLatitude");e.default=o})),pt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(ne()),r=u(ae()),n=u(ie()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function e(a){return(0,t.default)(a)?!(parseFloat(a)>i.MAXLON||a<i.MINLON):!!(0,r.default)(a)&&e((0,n.default)(a))}),"isValidLongitude");e.default=o})),yt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=i(he()),r=i(ht()),n=i(pt());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e){var a=(0,t.default)(e),i=a.latitude,u=a.longitude;if(Array.isArray(e)&&e.length>=2)return(0,n.default)(e[0])&&(0,r.default)(e[1]);if(typeof i>"u"||typeof u>"u")return!1;var o=e[u],l=e[i];return!(typeof l>"u"||typeof o>"u"||!1===(0,r.default)(l)||!1===(0,n.default)(o))}),"isValidCoordinate");e.default=u})),Me=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(ne()),r=o(ae()),n=o(ie()),i=o(yt()),u=o(he());function o(e){return e&&e.__esModule?e:{default:e}}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){f(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}a(o,"_interopRequireDefault"),a(l,"ownKeys"),a(d,"_objectSpread"),a(f,"_defineProperty");var c=a((function e(a){if((0,t.default)(a))return Number(a);if((0,r.default)(a))return(0,n.default)(a);if((0,i.default)(a)){var o=(0,u.default)(a);return Array.isArray(a)?a.map((function(t,r){return[0,1].includes(r)?e(t):t})):d(d(d({},a),o.latitude&&f({},o.latitude,e(a[o.latitude]))),o.longitude&&f({},o.longitude,e(a[o.longitude])))}return Array.isArray(a)?a.map((function(t){return(0,i.default)(t)?e(t):t})):a}),"toDecimal");e.default=c})),S=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=i(re()),n=i(Me());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e,a){var i=(0,r.default)(e,t.latitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}}),"getLatitude");e.default=u})),w=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=i(re()),n=i(Me());function i(e){return e&&e.__esModule?e:{default:e}}a(i,"_interopRequireDefault");var u=a((function(e,a){var i=(0,r.default)(e,t.longitudeKeys);if(!(typeof i>"u"||null===i)){var u=e[i];return!0===a?u:(0,n.default)(u)}}),"getLongitude");e.default=u})),W=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return e*Math.PI/180}),"toRad");e.default=t})),Y=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return 180*e/Math.PI}),"toDeg");e.default=t})),nr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Y()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a,o){var l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6371e3,s=(0,t.default)(e),d=(0,r.default)(e),f=a/l,c=(0,n.default)(o),g=(0,n.default)(s),h=(0,n.default)(d),p=Math.asin(Math.sin(g)*Math.cos(f)+Math.cos(g)*Math.sin(f)*Math.cos(c)),y=h+Math.atan2(Math.sin(c)*Math.sin(f)*Math.cos(g),Math.cos(f)-Math.sin(g)*Math.sin(p)),v=(0,i.default)(y);return(v<u.MINLON||v>u.MAXLON)&&(y=(y+3*Math.PI)%(2*Math.PI)-Math.PI,v=(0,i.default)(y)),{latitude:(0,i.default)(p),longitude:v}}),"computeDestinationPoint");e.default=l})),ar=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.areaConversion[r];if(n)return e*n;throw new Error("Invalid unit used for area conversion.")}),"convertArea");e.default=r})),ir=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"m",n=t.distanceConversion[r];if(n)return e*n;throw new Error("Invalid unit used for distance conversion.")}),"convertDistance");e.default=r})),ur=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=T(),r=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"kmh";switch(r){case"kmh":return e*t.timeConversion.h*t.distanceConversion.km;case"mph":return e*t.timeConversion.h*t.distanceConversion.mi;default:return e}}),"convertSpeed");e.default=r})),lr=m((e=>{"use strict";function t(e,t){return o(e)||u(e,t)||n(e,t)||r()}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 n(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}function o(e){if(Array.isArray(e))return e}s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,a(t,"_slicedToArray"),a(r,"_nonIterableRest"),a(n,"_unsupportedIterableToArray"),a(i,"_arrayLikeToArray"),a(u,"_iterableToArrayLimit"),a(o,"_arrayWithHoles");var l=a((function(e){var t=Math.pow(10,12);return Math.round(e*t)/t}),"imprecise"),d=a((function(e){var r=t(e.toString().split("."),2),n=r[0],a=r[1],i=Math.abs(Number(n)),u=l(60*+("0."+(a||0))),o=Math.floor(u),s=l(60*(u%o||0));return i+"° "+Number(o.toFixed(6)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+"' "+Number(s.toFixed(4)).toString().split(".").map((function(e,t){return 0===t?e.padStart(2,"0"):e})).join(".")+'"'}),"decimal2sexagesimal");e.default=d})),Ot=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return e>1?1:e<-1?-1:e}),"robustAcos");e.default=t})),$=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Ot()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;o=typeof o<"u"&&!isNaN(o)?o:1;var l=(0,t.default)(e),s=(0,r.default)(e),d=(0,t.default)(a),f=(0,r.default)(a),c=Math.acos((0,i.default)(Math.sin((0,n.default)(d))*Math.sin((0,n.default)(l))+Math.cos((0,n.default)(d))*Math.cos((0,n.default)(l))*Math.cos((0,n.default)(s)-(0,n.default)(f))))*u.earthRadius;return Math.round(c/o)*o}),"getDistance");e.default=l})),Lt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default;return n="function"==typeof n?n:t.default,r.slice().sort((function(t,r){return n(e,t)-n(e,r)}))}),"orderByDistance");e.default=n})),gr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(Lt());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){return(0,t.default)(e,r)[0]}),"findNearest");e.default=n})),mr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(W()),r=u(S()),n=u(w()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e){var a=0;if(e.length>2){for(var u,o,l,s=0;s<e.length;s++){s===e.length-2?(u=e.length-2,o=e.length-1,l=0):s===e.length-1?(u=e.length-1,o=0,l=1):(u=s,o=s+1,l=s+2);var d=(0,n.default)(e[u]),f=(0,r.default)(e[o]),c=(0,n.default)(e[l]);a+=((0,t.default)(c)-(0,t.default)(d))*Math.sin((0,t.default)(f))}a=a*i.earthRadius*i.earthRadius/2}return Math.abs(a)}),"getAreaOfPolygon");e.default=o})),qt=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(S()),r=n(w());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e){if(!1===Array.isArray(e)||0===e.length)throw new Error("No points were given.");return e.reduce((function(e,n){var a=(0,t.default)(n),i=(0,r.default)(n);return{maxLat:Math.max(a,e.maxLat),minLat:Math.min(a,e.minLat),maxLng:Math.max(i,e.maxLng),minLng:Math.min(i,e.minLng)}}),{maxLat:-1/0,minLat:1/0,maxLng:-1/0,minLng:1/0})}),"getBounds");e.default=i})),_r=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=o(S()),r=o(w()),n=o(W()),i=o(Y()),u=T();function o(e){return e&&e.__esModule?e:{default:e}}a(o,"_interopRequireDefault");var l=a((function(e,a){var o,l,s=(0,t.default)(e),d=(0,r.default)(e),f=(0,n.default)(s),c=(0,n.default)(d),g=a/u.earthRadius,h=f-g,p=f+g,y=(0,n.default)(u.MAXLAT),v=(0,n.default)(u.MINLAT),m=(0,n.default)(u.MAXLON),b=(0,n.default)(u.MINLON);if(h>v&&p<y){var M=Math.asin(Math.sin(g)/Math.cos(f));(o=c-M)<b&&(o+=2*Math.PI),(l=c+M)>m&&(l-=2*Math.PI)}else h=Math.max(h,v),p=Math.min(p,y),o=b,l=m;return[{latitude:(0,i.default)(h),longitude:(0,i.default)(o)},{latitude:(0,i.default)(p),longitude:(0,i.default)(l)}]}),"getBoundsOfDistance");e.default=l})),Ir=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e){if(!1===Array.isArray(e)||0===e.length)return!1;var a=e.length,u=e.reduce((function(e,a){var i=(0,n.default)((0,t.default)(a)),u=(0,n.default)((0,r.default)(a));return{X:e.X+Math.cos(i)*Math.cos(u),Y:e.Y+Math.cos(i)*Math.sin(u),Z:e.Z+Math.sin(i)}}),{X:0,Y:0,Z:0}),o=u.X/a,l=u.Y/a,s=u.Z/a;return{longitude:(0,i.default)(Math.atan2(l,o)),latitude:(0,i.default)(Math.atan2(s,Math.sqrt(o*o+l*l)))}}),"getCenter");e.default=o})),br=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(qt());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e){var r=(0,t.default)(e),n=r.minLat+(r.maxLat-r.minLat)/2,a=r.minLng+(r.maxLng-r.minLng)/2;return{latitude:parseFloat(n.toFixed(6)),longitude:parseFloat(a.toFixed(6))}}),"getCenterOfBounds");e.default=n})),Et=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=(0,n.default)((0,r.default)(a))-(0,n.default)((0,r.default)(e)),o=Math.log(Math.tan((0,n.default)((0,t.default)(a))/2+Math.PI/4)/Math.tan((0,n.default)((0,t.default)(e))/2+Math.PI/4));return Math.abs(u)>Math.PI&&(u=u>0?-1*(2*Math.PI-u):2*Math.PI+u),((0,i.default)(Math.atan2(u,o))+360)%360}),"getRhumbLineBearing");e.default=o})),Dr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(Et());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default,a="function"==typeof n?n(e,r):(0,t.default)(e,r);if(isNaN(a))throw new Error("Could not calculate bearing for given points. Check your bearing function");switch(Math.round(a/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"}}),"getCompassDirection");e.default=n})),At=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n($()),r=n(Ot());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e,n,a){var i=(0,t.default)(n,e),u=(0,t.default)(e,a),o=(0,t.default)(n,a),l=Math.acos((0,r.default)((i*i+o*o-u*u)/(2*i*o))),s=Math.acos((0,r.default)((u*u+o*o-i*i)/(2*u*o)));return l>Math.PI/2?i:s>Math.PI/2?u:Math.sin(l)*i}),"getDistanceFromLine");e.default=i})),Ar=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=u(Y());function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=(0,t.default)(a),o=(0,r.default)(a),l=(0,t.default)(e),s=(0,r.default)(e);return((0,i.default)(Math.atan2(Math.sin((0,n.default)(o)-(0,n.default)(s))*Math.cos((0,n.default)(u)),Math.cos((0,n.default)(l))*Math.sin((0,n.default)(u))-Math.sin((0,n.default)(l))*Math.cos((0,n.default)(u))*Math.cos((0,n.default)(o)-(0,n.default)(s))))+360)%360}),"getGreatCircleBearing");e.default=o})),xr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?a((function(e){return typeof e}),"_typeof"):a((function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e}),"_typeof"))(e)}a(r,"_interopRequireDefault"),a(n,"_typeof");var i=a((function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.default;return e.reduce((function(e,t){return"object"===n(e)&&null!==e.last&&(e.distance+=r(t,e.last)),e.last=t,e}),{last:null,distance:0}).distance}),"getPathLength");e.default=i})),Cr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=u(S()),r=u(w()),n=u(W()),i=T();function u(e){return e&&e.__esModule?e:{default:e}}a(u,"_interopRequireDefault");var o=a((function(e,a){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;u=typeof u<"u"&&!isNaN(u)?u:1;var o,l,s,d,f,c,g,h=(0,t.default)(e),p=(0,r.default)(e),y=(0,t.default)(a),v=(0,r.default)(a),m=6356752.314245,b=1/298.257223563,M=(0,n.default)(v-p),_=Math.atan((1-b)*Math.tan((0,n.default)(parseFloat(h)))),O=Math.atan((1-b)*Math.tan((0,n.default)(parseFloat(y)))),P=Math.sin(_),j=Math.cos(_),I=Math.sin(O),D=Math.cos(O),x=M,S=100;do{var L=Math.sin(x),w=Math.cos(x);if(0===(c=Math.sqrt(D*L*(D*L)+(j*I-P*D*w)*(j*I-P*D*w))))return 0;o=P*I+j*D*w,l=Math.atan2(c,o),f=o-2*P*I/(d=1-(s=j*D*L/c)*s),isNaN(f)&&(f=0);var N=b/16*d*(4+b*(4-3*d));g=x,x=M+(1-N)*b*s*(l+N*c*(f+N*o*(2*f*f-1)))}while(Math.abs(x-g)>1e-12&&--S>0);if(0===S)return NaN;var E=d*(i.earthRadius*i.earthRadius-m*m)/(m*m),A=1+E/16384*(4096+E*(E*(320-175*E)-768)),R=E/1024*(256+E*(E*(74-47*E)-128)),T=R*c*(f+R/4*(o*(2*f*f-1)-R/6*f*(4*c*c-3)*(4*f*f-3))),B=m*A*(l-T);return Math.round(B/u)*u}),"getDistance");e.default=o})),Br=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=a((function(e){return/^NNE|NE|NNW|N$/.test(e)?"N":/^ENE|E|ESE|SE$/.test(e)?"E":/^SSE|S|SSW|SW$/.test(e)?"S":/^WSW|W|WNW|NW$/.test(e)?"W":void 0}),"getRoughCompassDirection");e.default=t})),Vr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.default,a=n(e,r),i=Number(r.time)-Number(e.time),u=a/i*1e3;return u}),"getSpeed");e.default=n})),Kr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n){return(0,t.default)(r,e)+(0,t.default)(e,n)===(0,t.default)(r,n)}),"isPointInLine");e.default=n})),Fr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=n(S()),r=n(w());function n(e){return e&&e.__esModule?e:{default:e}}a(n,"_interopRequireDefault");var i=a((function(e,n){for(var a=!1,i=n.length,u=-1,o=i-1;++u<i;o=u)((0,r.default)(n[u])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[o])||(0,r.default)(n[o])<=(0,r.default)(e)&&(0,r.default)(e)<(0,r.default)(n[u]))&&(0,t.default)(e)<((0,t.default)(n[o])-(0,t.default)(n[u]))*((0,r.default)(e)-(0,r.default)(n[u]))/((0,r.default)(n[o])-(0,r.default)(n[u]))+(0,t.default)(n[u])&&(a=!a);return a}),"isPointInPolygon");e.default=i})),Gr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r(At());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n,a){return(0,t.default)(e,r,n)<a}),"isPointNearLine");e.default=n})),Xr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var t=r($());function r(e){return e&&e.__esModule?e:{default:e}}a(r,"_interopRequireDefault");var n=a((function(e,r,n){return(0,t.default)(e,r)<n}),"isPointWithinRadius");e.default=n})),$r=m((e=>{"use strict";function t(e,t){return o(e)||u(e,t)||n(e,t)||r()}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 n(e,t){if(e){if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function u(e,t){if(!(typeof Symbol>"u")&&Symbol.iterator in Object(e)){var r=[],n=!0,a=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{!n&&null!=o.return&&o.return()}finally{if(a)throw i}}return r}}function o(e){if(Array.isArray(e))return e}s(),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0,a(t,"_slicedToArray"),a(r,"_nonIterableRest"),a(n,"_unsupportedIterableToArray"),a(i,"_arrayLikeToArray"),a(u,"_iterableToArrayLimit"),a(o,"_arrayWithHoles");var l=a((function(e){if(!e.startsWith("POLYGON"))throw new Error("Invalid wkt.");return e.slice(e.indexOf("(")+2,e.indexOf(")")).split(", ").map((function(e){var r=t(e.split(" "),2),n=r[0],a=r[1];return{longitude:parseFloat(n),latitude:parseFloat(a)}}))}),"wktToPolygon");e.default=l})),jr=m((e=>{"use strict";s(),Object.defineProperty(e,"__esModule",{value:!0});var t={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(e,"computeDestinationPoint",{enumerable:!0,get:a((function(){return r.default}),"get")}),Object.defineProperty(e,"convertArea",{enumerable:!0,get:a((function(){return n.default}),"get")}),Object.defineProperty(e,"convertDistance",{enumerable:!0,get:a((function(){return i.default}),"get")}),Object.defineProperty(e,"convertSpeed",{enumerable:!0,get:a((function(){return u.default}),"get")}),Object.defineProperty(e,"decimalToSexagesimal",{enumerable:!0,get:a((function(){return o.default}),"get")}),Object.defineProperty(e,"findNearest",{enumerable:!0,get:a((function(){return l.default}),"get")}),Object.defineProperty(e,"getAreaOfPolygon",{enumerable:!0,get:a((function(){return d.default}),"get")}),Object.defineProperty(e,"getBounds",{enumerable:!0,get:a((function(){return f.default}),"get")}),Object.defineProperty(e,"getBoundsOfDistance",{enumerable:!0,get:a((function(){return c.default}),"get")}),Object.defineProperty(e,"getCenter",{enumerable:!0,get:a((function(){return g.default}),"get")}),Object.defineProperty(e,"getCenterOfBounds",{enumerable:!0,get:a((function(){return h.default}),"get")}),Object.defineProperty(e,"getCompassDirection",{enumerable:!0,get:a((function(){return p.default}),"get")}),Object.defineProperty(e,"getCoordinateKey",{enumerable:!0,get:a((function(){return y.default}),"get")}),Object.defineProperty(e,"getCoordinateKeys",{enumerable:!0,get:a((function(){return v.default}),"get")}),Object.defineProperty(e,"getDistance",{enumerable:!0,get:a((function(){return m.default}),"get")}),Object.defineProperty(e,"getDistanceFromLine",{enumerable:!0,get:a((function(){return b.default}),"get")}),Object.defineProperty(e,"getGreatCircleBearing",{enumerable:!0,get:a((function(){return M.default}),"get")}),Object.defineProperty(e,"getLatitude",{enumerable:!0,get:a((function(){return _.default}),"get")}),Object.defineProperty(e,"getLongitude",{enumerable:!0,get:a((function(){return O.default}),"get")}),Object.defineProperty(e,"getPathLength",{enumerable:!0,get:a((function(){return P.default}),"get")}),Object.defineProperty(e,"getPreciseDistance",{enumerable:!0,get:a((function(){return j.default}),"get")}),Object.defineProperty(e,"getRhumbLineBearing",{enumerable:!0,get:a((function(){return I.default}),"get")}),Object.defineProperty(e,"getRoughCompassDirection",{enumerable:!0,get:a((function(){return D.default}),"get")}),Object.defineProperty(e,"getSpeed",{enumerable:!0,get:a((function(){return x.default}),"get")}),Object.defineProperty(e,"isDecimal",{enumerable:!0,get:a((function(){return L.default}),"get")}),Object.defineProperty(e,"isPointInLine",{enumerable:!0,get:a((function(){return N.default}),"get")}),Object.defineProperty(e,"isPointInPolygon",{enumerable:!0,get:a((function(){return E.default}),"get")}),Object.defineProperty(e,"isPointNearLine",{enumerable:!0,get:a((function(){return A.default}),"get")}),Object.defineProperty(e,"isPointWithinRadius",{enumerable:!0,get:a((function(){return R.default}),"get")}),Object.defineProperty(e,"isSexagesimal",{enumerable:!0,get:a((function(){return B.default}),"get")}),Object.defineProperty(e,"isValidCoordinate",{enumerable:!0,get:a((function(){return C.default}),"get")}),Object.defineProperty(e,"isValidLatitude",{enumerable:!0,get:a((function(){return q.default}),"get")}),Object.defineProperty(e,"isValidLongitude",{enumerable:!0,get:a((function(){return V.default}),"get")}),Object.defineProperty(e,"orderByDistance",{enumerable:!0,get:a((function(){return k.default}),"get")}),Object.defineProperty(e,"sexagesimalToDecimal",{enumerable:!0,get:a((function(){return F.default}),"get")}),Object.defineProperty(e,"toDecimal",{enumerable:!0,get:a((function(){return K.default}),"get")}),Object.defineProperty(e,"toRad",{enumerable:!0,get:a((function(){return X.default}),"get")}),Object.defineProperty(e,"toDeg",{enumerable:!0,get:a((function(){return G.default}),"get")}),Object.defineProperty(e,"wktToPolygon",{enumerable:!0,get:a((function(){return H.default}),"get")});var r=Z(nr()),n=Z(ar()),i=Z(ir()),u=Z(ur()),o=Z(lr()),l=Z(gr()),d=Z(mr()),f=Z(qt()),c=Z(_r()),g=Z(Ir()),h=Z(br()),p=Z(Dr()),y=Z(re()),v=Z(he()),m=Z($()),b=Z(At()),M=Z(Ar()),_=Z(S()),O=Z(w()),P=Z(xr()),j=Z(Cr()),I=Z(Et()),D=Z(Br()),x=Z(Vr()),L=Z(ne()),N=Z(Kr()),E=Z(Fr()),A=Z(Gr()),R=Z(Xr()),B=Z(ae()),C=Z(yt()),q=Z(ht()),V=Z(pt()),k=Z(Lt()),F=Z(ie()),K=Z(Me()),X=Z(W()),G=Z(Y()),H=Z($r()),U=T();function Z(e){return e&&e.__esModule?e:{default:e}}Object.keys(U).forEach((function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(t,r)||Object.defineProperty(e,r,{enumerable:!0,get:a((function(){return U[r]}),"get")})})),a(Z,"_interopRequireDefault")}));s(),s();var Jr=dn(jr());s();var Ct=class{constructor({origin:e,destination:t,vortex:r,elevationDelta:n=0,distance:a=0,angle:i=0,pathWeight:u=0}){let o,l;if(D(this,"origin"),D(this,"destination"),D(this,"vortex"),D(this,"distance"),D(this,"angle"),D(this,"weight"),this.origin=e,this.destination=t,this.vortex=r,this.distance=a,this.angle=i,r)this.distance=0,this.angle=0,o=void 0!==r.weight&&r.weight>0?r.weight:"elevator"===r.type?2e3:1e3,l=r.multiplier&&r.multiplier>=1?r.multiplier:1,this.weight=n*l+o;else{let e=u||t.weight;o=e&&e>=0?e:0,l=t.multiplier&&t.multiplier>=1?t.multiplier:1,this.weight=this.distance*l+o}if(isNaN(this.angle))throw new Error("nan angle")}};a(Ct,"Edge");var wt=Ct,k=wt;s();var Yr=(e=>(e[e.LOG=0]="LOG",e[e.WARN=1]="WARN",e[e.ERROR=2]="ERROR",e[e.SILENT=3]="SILENT",e))(Yr||{});function Xu(e){0<=e&&e<=3&&(kr.logState=e)}a(Xu,"setLoggerLevel");var kr={logState:"test"===g.env.NODE_ENV?3:0,log(...e){this.logState<=0&&console.log("[MappedInJS]",...e)},warn(...e){this.logState<=1&&console.warn("[MappedInJS]",...e)},error(...e){this.logState<=2&&console.error("[MappedInJS]",...e)},assert(...e){console.assert(...e)},time(e){console.time(e)},timeEnd(e){console.timeEnd(e)}},Zr=kr;function Uu(e){if(e.scale||e.x_scale)return 1/(e.scale||e.x_scale||1);try{if(!e.georeference)throw new Error("map ".concat(e.name||e.shortName||e.id," does not have a georeference field"));if(e.georeference.length<3)throw new Error("map ".concat(e.name||e.shortName||e.id," has less than 3 georeference points, we require at least 3 for proper map scaling"));let t=e.georeference[0],r=e.georeference[2],n=(0,Jr.getDistance)({latitude:t.target.x,longitude:t.target.y},{latitude:r.target.x,longitude:r.target.y}),a=t.control.x-r.control.x,i=t.control.y-r.control.y;return Math.sqrt(a*a+i*i)/n}catch(e){return Zr.error(e),1}}function lt(e,t){let r=e.x-t.x,n=e.y-t.y;return(Math.atan2(n,r)+2.5*Math.PI)%(2*Math.PI)}a(Uu,"getMapScale"),a(lt,"getAngle");var Kt=class{constructor({nodes:e,vortexes:t,maps:r,showVortexNames:n=!1}){D(this,"edges"),D(this,"nodesById"),D(this,"mapsById"),this.edges={},this.mapsById=r.map((e=>({...e,_scale:Uu(e)}))).reduce(((e,t)=>(e[t.id]=t,e)),{});let a=e.filter((e=>!!this.mapsById[e.map])).map((e=>({...e,paths:e.paths?e.paths.filter((({map:t})=>t===e.map)):[]})));this.nodesById=a.reduce(((e,t)=>(e[t.id]=t,e)),{});for(let e in this.nodesById)this.nodesById.hasOwnProperty(e)&&(this.nodesById[e].paths=this.nodesById[e].paths.filter((({node:e})=>!!this.nodesById[e])));let i=t.map((e=>({...e,name:n?e.name:e.type,nodes:e.nodes?e.nodes.filter((e=>!!this.nodesById[e])):[]})));a.forEach((e=>{this.edges[e.id]=e.paths.map((({node:t,weight:r})=>{let n=this.nodesById[t];return new k({angle:lt(e,n),destination:n,distance:this.getDistance(e,n),origin:e,pathWeight:r})}))})),i.forEach((e=>{if(null==e.nodes||0===e.nodes.length)return;let t=0;for(;t<e.nodes.length-1;){let r=this.nodesById[e.nodes[t]];if(t++,null==r)continue;let n=t;for(;n<e.nodes.length;){let t=this.nodesById[e.nodes[n]];if(n++,null==t)continue;let a=this.mapsById[r.map].elevation||0,i=this.mapsById[t.map].elevation||0,u=Math.abs(a-i);this.edges[r.id].push(new k({destination:t,elevationDelta:u,origin:r,vortex:e})),this.edges[t.id].push(new k({destination:r,elevationDelta:u,origin:t,vortex:e}))}}}))}aStar({originIds:e,destinationNodeIds:t,accessible:r,includedVortexIds:n,excludedVortexIds:a,excludedNodeIds:i}){let u=e.map((e=>this.nodesById[e])).filter((e=>e&&(!i||!i.has(e.id)))),o=t.map((e=>this.nodesById[e])).filter((e=>e&&(!i||!i.has(e.id))));if(0===u.length||0===o.length)return[];let l=[],s={},d={};for(u.forEach((e=>{let t=this.getShortestEuclideanDistance(e,o);l.push({origin:e,priority:t}),s[e.id]=null,d[e.id]=0})),l.sort(((e,t)=>e.priority-t.priority));l.length>0;){let e=l[0];if(o.includes(e.origin)){let t=[],r=s[e.origin.id];for(;null!=r;){t.push(r);let e=s[r.origin.id];r=null!=e?e:null}return t.reverse()}for(let t of this.edges[e.origin.id]){let u=t.vortex&&!1===t.vortex.accessible||!1===t.origin.accessible||!1===t.destination.accessible,f=t.vortex&&(n&&!n.has(t.vortex.id)||a&&a.has(t.vortex.id)),c=i&&i.has(t.destination.id);if(r&&u||f||c)continue;let g=d[e.origin.id]+t.weight;if(null==d[t.destination.id]||g<d[t.destination.id]){d[t.destination.id]=g;let e=g+this.getShortestEuclideanDistance(t.destination,o);l.push({origin:t.destination,priority:e}),s[t.destination.id]=t}}l.splice(0,1),l.sort(((e,t)=>e.priority-t.priority))}return[]}getDistance(e,t){let r,n=e.x-t.x,a=e.y-t.y,i=n*n+a*a;return r=null==this.mapsById[e.map]?1:this.mapsById[e.map]._scale,Math.sqrt(i)/r}getShortestEuclideanDistance(e,t){return t.reduce(((t,r)=>{let n=this.getDistance(e,r);return Math.min(t,n)}),Number.MAX_VALUE)}};a(Kt,"NavigationGraph");var Bt=Kt,Vt=Bt;s(),s();var Ft=(e=>(e.DEPARTURE="Departure",e.TAKEVORTEX="TakeVortex",e.EXITVORTEX="ExitVortex",e.TURN="Turn",e.ARRIVAL="Arrival",e))(Ft||{}),Gt=(e=>(e.STRAIGHT="Straight",e.RIGHT="Right",e.SLIGHTRIGHT="SlightRight",e.LEFT="Left",e.SLIGHTLEFT="SlightLeft",e))(Gt||{});function $u(e){switch(e){case"down":case"up":return"".concat(e," ");default:return""}}a($u,"vortexDirectionTest");var Xt=class{constructor({origin:e,action:t,distance:r,atLocation:n,instruction:a}){D(this,"node"),D(this,"instruction"),D(this,"action"),D(this,"atLocation"),D(this,"type"),D(this,"distance",0),this.node=e,this.action=t,this.distance=r||0,this.atLocation=n,this.instruction="",a?this.instruction=a:(null!=t&&"Departure"===t.type?this.instruction=null!=n?"Depart from ".concat(n.name):"Depart from current location":null!=t&&"Arrival"===t.type?this.instruction=null!=n?"Arrive at ".concat(n.name):"Arrive at destination":null!=t&&"TakeVortex"===t.type?this.instruction="Take ".concat(n&&n.name," ").concat($u(t.direction),"to ").concat(t.toMap.name):null!=t&&"ExitVortex"===t.type?this.instruction="Exit ".concat(n&&n.name," at ").concat(t.toMap.name):null!=t&&"bearing"in t&&"Right"===t.bearing?this.instruction="Turn right":null!=t&&"bearing"in t&&"SlightRight"===t.bearing?this.instruction="Turn slightly right":null!=t&&"bearing"in t&&"Straight"===t.bearing?this.instruction="Head straight":null!=t&&"bearing"in t&&"SlightLeft"===t.bearing?this.instruction="Turn slightly left":null!=t&&"bearing"in t&&"Left"===t.bearing&&(this.instruction="Turn left"),null!=t&&"Turn"===t.type&&n&&(this.instruction+=" at ".concat(n.name)))}};a(Xt,"Directive");var Wt=Xt,H=Wt;function Ut(e,t,r,n){if(!(e&&t&&r&&n))return null;let a=e.x,i=e.y,u=t.x,o=t.y,l=r.x,s=r.y,d=n.x,f=n.y;if(a===u&&i===o||l===d&&s===f)return null;let c=(f-s)*(u-a)-(d-l)*(o-i);if(0===c)return null;let g=((d-l)*(i-s)-(f-s)*(a-l))/c,h=((u-a)*(i-s)-(o-i)*(a-l))/c;return g<0||g>1||h<0||h>1?null:{x:a+g*(u-a),y:i+g*(o-i)}}function zr(e,t,r){if(e.x===t.x)return[{x:e.x+r,y:e.y},{x:t.x+r,y:t.y}];if(e.y===t.y)return[{x:e.x,y:e.y+r},{x:t.x,y:t.y+r}];let n=-1/((t.y-e.y)/(t.x-e.x)),a=r*Math.sqrt(1/(1+n*n)),i=n*a;return[{x:e.x+a,y:e.y+i},{x:t.x+a,y:t.y+i}]}function Qr(e,t,r=[],n=0){let a=!0;return r.forEach((r=>{if(n>0){let i=zr(e,t,-n),u=zr(e,t,n);if(Ut(i[0],i[1],r[0],r[1])||Ut(u[0],u[1],r[0],r[1]))return void(a=!1)}else if(Ut(e,t,r[0],r[1]))return void(a=!1)})),a}s(),a(Ut,"getLineIntersection"),a(zr,"getOffsetLine"),a(Qr,"hasLineOfSight");var en=(e=>(e.NO_VALID_PATH="No Valid Path Available",e))(en||{}),dt=.1*Math.PI;function ft(e,t){return((t-e+Math.PI)%(2*Math.PI)+2*Math.PI)%(2*Math.PI)-Math.PI}a(ft,"differenceBetweenAngles");var Ht=class{constructor({locations:e,nodes:t,vortexes:r,maps:n,polygons:a,showVortexNames:i}){D(this,"graph"),D(this,"locationsByNodeId"),D(this,"geometryEdgesByMapId",new Map),this.graph=new Vt({maps:n,nodes:t,showVortexNames:i,vortexes:r}),this.locationsByNodeId=e.reduce(((e,t)=>(t.nodes&&t.nodes.forEach((r=>{e[r.node]=t})),t.polygons&&t.polygons.forEach((r=>{r.entrances&&r.entrances.forEach((r=>{e[r]=t}))})),e)),{}),a&&a.forEach((e=>{if(this.geometryEdgesByMapId.has(e.map)||this.geometryEdgesByMapId.set(e.map,[]),!0===e.isLineStringSegment)for(let t of e.vertexes)for(let r=0;r<t.length;r++)t[r+1]&&this.geometryEdgesByMapId.get(e.map).push([t[r],t[r+1]]);else e.vertexes.forEach(((t,r)=>{e.vertexes[r+1]?this.geometryEdgesByMapId.get(e.map).push([t,e.vertexes[r+1]]):this.geometryEdgesByMapId.get(e.map).push([t,e.vertexes[0]])}))}))}getClosestLocationInRay(e,t=.5*Math.PI,r=10){let n=0,a=0,i=e;for(;Math.abs(n)<t&&a<r;){let e=this.graph.edges[i.destination.id],u=null,o=0;for(let t of e)if(t.distance>0)if(null!=u){let e=-ft(i.angle,t.angle);Math.abs(e)<Math.abs(o)&&(u=t,o=e)}else u=t,o=-ft(i.angle,t.angle);if(null==u)return null;{if(Math.abs(o)>=t||(n+=o,a+=u.distance,Math.abs(n)>=t||a>r))return null;let e=this.locationsByNodeId[u.destination.id];if(null!=e)return e;i=u}}return null}getDirections({originIds:e,destinationNodeIds:t,accessible:r,departFrom:n,arriveAt:a,includedVortexIds:i,excludedVortexIds:u,excludedNodeIds:o,simplify:l}){var s,d,f;let c=this.graph.aStar({originIds:e,destinationNodeIds:t,accessible:r,includedVortexIds:i,excludedVortexIds:u,excludedNodeIds:o});if(0===c.length)return{distance:0,instructions:[new H({distance:0,instruction:"No Valid Path Available"})],path:[]};let g=0,h=[],p=[];if(null!=l&&l.enabled){let e=null!=(s=null==l?void 0:l.bufferRadius)?s:1.8,t=[c[0]];for(let r=1;r<c.length;r++){if(c[r].origin.map!==c[r-1].origin.map){let n=null!=(d=this.geometryEdgesByMapId.get(c[r-1].origin.map))?d:[];p.push(...this.simplifySteps(t,n,e)),t=[c[r]]}t.push(c[r])}let r=c[c.length-1],n=null!=(f=this.geometryEdgesByMapId.get(r.origin.map))?f:[];p.push(...this.simplifySteps(t,n,e)),c=p}for(let e=0;e<c.length;e++)h.push(c[e].origin);h.push(c[c.length-1].destination);let y=[],v=null,m=null,b=0,M=0;for(let e=0;e<c.length;e++){let t=c[e],r=t.origin,i=t.destination;if(g+=t.distance,b+=(null==m?void 0:m.distance)||0,0===e&&y.push(new H({action:{type:"Departure"},atLocation:n,distance:0,origin:r})),null!=t.vortex){let e=this.graph.mapsById[r.map],n=this.graph.mapsById[i.map],a="none";if(null!=e.elevation&&null!=n.elevation){let t=e.elevation-n.elevation;t>0?a="down":t<0&&(a="up")}y.push(new H({action:{direction:a,fromMap:e,toMap:n,type:"TakeVortex"},atLocation:t.vortex,distance:b,origin:r})),M+=b,b=0}else if(null!=v&&null!=m)if(null!=m.vortex){let e=this.graph.mapsById[v.map],t=this.graph.mapsById[m.destination.map];y.push(new H({action:{fromMap:e,toMap:t,type:"ExitVortex"},atLocation:m.vortex,distance:b,origin:r})),M+=b,b=0}else{let e=this.graph.edges[r.id].filter((e=>e.destination!==v&&e.destination!==t.destination));if(e.length>0){let n=-ft(m.angle,t.angle),a=e.reduce(((e,r)=>{let n=-ft(t.angle,r.angle);return Math.min(e,Math.abs(n))}),Math.PI);if(Math.abs(n)>=dt||Math.abs(a)<=dt){let e;e=n<=-Math.PI/4?"Right":n<=-dt?"SlightRight":n<=dt?"Straight":n<=Math.PI/4?"SlightLeft":"Left";let t=this.locationsByNodeId[r.id];if(t||(t=this.getClosestLocationInRay(m,.5*Math.PI,10)),null!=t){let n=new H({action:{bearing:e,referencePosition:"At",type:"Turn"},atLocation:t,distance:b,origin:r});n.type=e,y.push(n)}else y.push(new H({action:{bearing:e,referencePosition:"At",type:"Turn"},distance:b,origin:r}));M+=b,b=0}}}e===c.length-1&&(y.push(new H({action:{type:"Arrival"},atLocation:a,distance:g-M<0?0:g-M,origin:t.destination})),M+=b,b=0),v=r,m=t}let _=[],O=null;for(let e=y.length-1;e>=0;e--){let t=y[e],{action:r}=t;r&&"TakeVortex"===r.type?(O=t.node,_.unshift(t)):r&&"Turn"===r.type&&null!=O?this.graph.getDistance(t.node,O)>5?_.unshift(t):_[0].distance+=t.distance:_.unshift(t)}return{distance:g,instructions:_,path:h}}simplifySteps(e,t,r){if(e.length<3)return e;let n=[e[0]],a=1;for(let i=a+2;i<e.length;i++)if(!Qr(e[a].origin,e[i].origin,t,r)){let t=i-1;n.push(new k({...e[a],destination:e[t].origin,distance:this.graph.getDistance(e[a].origin,e[t].origin),angle:lt(e[a].origin,e[t].origin)})),a=t}return n.push(new k({...e[a],destination:e[e.length-1].origin,distance:this.graph.getDistance(e[a].origin,e[e.length-1].origin),angle:lt(e[a].origin,e[e.length-1].origin)}),e[e.length-1]),n}};a(Ht,"Navigator");var $t=Ht,Hu=$t;export{Ft as ACTION_TYPE,Gt as BEARING_TYPE,en as E_MESSAGES,Yr as E_SDK_LOG_LEVEL,Vt as NavigationGraph,Hu as Navigator,Xu as setLoggerLevel}; |
{ | ||
"name": "@mappedin/mappedin-js", | ||
"version": "5.49.0", | ||
"version": "5.49.1", | ||
"homepage": "https://developer.mappedin.com/", | ||
@@ -34,3 +34,3 @@ "main": "lib/esm/renderer/index.js", | ||
}, | ||
"gitHead": "fb0d3ec2a82394801154de1310ba6f5a78bcdccb", | ||
"gitHead": "91237bb37be9a02665efed42092775f6c653b455", | ||
"volta": { | ||
@@ -37,0 +37,0 @@ "extends": "../../package.json" |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
10817932
0.02%