dgeoutils 2.4.41 → 2.4.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/package.json +1 -4
  2. package/dist/cjs/DCircle.d.ts +0 -18
  3. package/dist/cjs/DCircle.js +0 -102
  4. package/dist/cjs/DLine.d.ts +0 -39
  5. package/dist/cjs/DLine.js +0 -343
  6. package/dist/cjs/DNumbers.d.ts +0 -8
  7. package/dist/cjs/DNumbers.js +0 -30
  8. package/dist/cjs/DPlane.d.ts +0 -25
  9. package/dist/cjs/DPlane.js +0 -132
  10. package/dist/cjs/DPoint.d.ts +0 -138
  11. package/dist/cjs/DPoint.js +0 -803
  12. package/dist/cjs/DPolygon.d.ts +0 -137
  13. package/dist/cjs/DPolygon.js +0 -1745
  14. package/dist/cjs/DPolygonLoop.d.ts +0 -60
  15. package/dist/cjs/DPolygonLoop.js +0 -439
  16. package/dist/cjs/FastSearch.d.ts +0 -6
  17. package/dist/cjs/FastSearch.js +0 -53
  18. package/dist/cjs/InterpolationMatrix.d.ts +0 -24
  19. package/dist/cjs/InterpolationMatrix.js +0 -173
  20. package/dist/cjs/TraceMatrix.d.ts +0 -22
  21. package/dist/cjs/TraceMatrix.js +0 -285
  22. package/dist/cjs/index.d.ts +0 -11
  23. package/dist/cjs/index.js +0 -37
  24. package/dist/cjs/utils.d.ts +0 -49
  25. package/dist/cjs/utils.js +0 -280
  26. package/dist/es2015/DCircle.js +0 -87
  27. package/dist/es2015/DLine.js +0 -290
  28. package/dist/es2015/DNumbers.js +0 -22
  29. package/dist/es2015/DPlane.js +0 -105
  30. package/dist/es2015/DPoint.js +0 -676
  31. package/dist/es2015/DPolygon.js +0 -1193
  32. package/dist/es2015/DPolygonLoop.js +0 -430
  33. package/dist/es2015/FastSearch.js +0 -25
  34. package/dist/es2015/InterpolationMatrix.js +0 -128
  35. package/dist/es2015/TraceMatrix.js +0 -229
  36. package/dist/es2015/index.js +0 -11
  37. package/dist/es2015/utils.js +0 -207
  38. package/dist/esm/DCircle.js +0 -99
  39. package/dist/esm/DLine.js +0 -340
  40. package/dist/esm/DNumbers.js +0 -27
  41. package/dist/esm/DPlane.js +0 -129
  42. package/dist/esm/DPoint.js +0 -800
  43. package/dist/esm/DPolygon.js +0 -1742
  44. package/dist/esm/DPolygonLoop.js +0 -436
  45. package/dist/esm/FastSearch.js +0 -50
  46. package/dist/esm/InterpolationMatrix.js +0 -170
  47. package/dist/esm/TraceMatrix.js +0 -282
  48. package/dist/esm/index.js +0 -11
  49. package/dist/esm/utils.js +0 -265
  50. package/dist/umd/dgeoutils.js +0 -4347
  51. package/dist/umd/dgeoutils.min.js +0 -1
  52. package/dist/umd/dgeoutils.min.js.map +0 -1
@@ -1 +0,0 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jsts")):"function"==typeof define&&define.amd?define(["exports","jsts"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).DGeoUtils={},t.jsts)}(this,function(y,D){"use strict";function x(t){return function(){return t}}function s(b){return{checkArgument:function(t){return P.DEBUG?{shouldBeDegree:function(t){return t.likeWorldGeodeticSystem||M('"'.concat(v,'" -> "').concat(g,'" should be degree!')),m},shouldBeMeters:function(t){return t.likePseudoMercator||M('"'.concat(y,'" -> "').concat(d,'" should be meters!')),f},shouldBeInt:function(t){return t.clone().round().equal(t)||M('"'.concat(l,'" -> "').concat(p,'" should be Int!')),h},shouldBeUInt:function(t){return t.clone().round().equal(t)&&t.gtOrEqual(O.zero())||M('"'.concat(u,'" -> "').concat(c,'" should be UInt!')),a},shouldBeRadians:function(t){return t.likeRadians||M('"'.concat(i,'" -> "').concat(s,'" should be radians!')),o},shouldExist:(e=o=a=h=f=m=this,r=i=u=l=y=v=b,n=s=c=p=d=g=t,function(t){return w(t)||M('"'.concat(r,'" -> "').concat(n,'" should exist!')),e})}:{shouldBeDegree:x(this),shouldBeMeters:x(this),shouldBeInt:x(this),shouldBeUInt:x(this),shouldBeRadians:x(this),shouldExist:x(this)};var e,r,n,o,i,s,a,u,c,h,l,p,f,y,d,m,v,g}}}function G(t,r){var e=t.h,n=t.w;return"function"==typeof r?p(e).map(function(t,e){return p(n,function(t){return r(t,e)})}):p(e).map(function(){return p(n,r)})}function u(t){for(var e=t.length,r=G(new O(e+1,e)),n=0;n<e;n++)for(var o=0;o<e+1;o++)t[n][o]=0===t[n][o]?u.MIN:t[n][o],r[n][o]=t[n][o];for(var i=0;i<e;i++){for(n=0;n<e+1;n++)r[i][n]/=t[i][i];for(n=i+1;n<e;n++)for(var s=r[n][i]/r[i][i],o=0;o<e+1;o++)r[n][o]-=r[i][o]*s;for(n=0;n<e;n++)for(o=0;o<e+1;o++)t[n][o]=r[n][o]}for(i=e-1;-1<i;i--){for(n=e;-1<n;n--)r[i][n]/=t[i][i];for(n=i-1;-1<n;n--)for(s=r[n][i]/r[i][i],o=e;-1<o;o--)r[n][o]-=r[i][o]*s}for(var a=p(e),n=0;n<e;n++)a[n]=r[n][e];return a}function R(t,e,r){var n=0,o=0,i=!1,e=(o=t instanceof O?(n=t.x,t.y):n=t,"boolean"==typeof e?i=e:"number"==typeof e&&(o=e),(i="boolean"==typeof r?r:i)?new OffscreenCanvas(n,o):(null!=(t=R.document)?t:document).createElement("canvas"));return i||(e.width=n,e.height=o),[e,e.getContext("2d")]}function L(t,e){for(var r,n,o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e?L.apply(void 0,l([(r=t,n=e,[].concat.apply([],l([],h(r.map(function(e){return n.map(function(t){return[].concat(e,t)})})),!1)))],h(o),!1)):t}function E(t){if(1===t.length)return t[0];for(var e=[],r=E(t.slice(1)),n=0;n<r.length;n++)for(var o=0;o<t[0].length;o++)e.push(l([t[0][o]],h(r[n]),!1));return e}function a(t,e){return Math.floor(t/e)}function V(t){var e=Math.floor(t),t=t%1*60,r=Math.floor(t),t=(t%1*60).toFixed(2);return"".concat(e,"° ").concat(r,"' ").concat(t,'"')}var c,h=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},l=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},Y=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},P={DEBUG:!1,parseFormat:"xyz"},M=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];P.DEBUG&&console.warn.apply(console,l([],h(t),!1))},w=function(t){return null!=t},p=function(t,r){return"function"==typeof r?new Array(t).fill(!1).map(function(t,e){return r(e)}):new Array(t).fill(null!=r?r:0)},f=(u.MIN=1e-10,e.like=function(t,e,r){return void 0===r&&(r=.001),Math.abs(t-e)<r},e.likeZero=function(t){return e.like(t,0)},e.like2PI=function(t){return e.like(e.rad2Deg(t),g)},e.likePI=function(t){return e.like(e.rad2Deg(t),i)},e.rad2Deg=function(t){return t*$},e.deg2Rad=function(t){return t*b},e);function e(){}(r=c=c||{})[r.getTileFromCoords=0]="getTileFromCoords",r[r.getCoordsFromTile=1]="getCoordsFromTile",r[r.height=2]="height",r[r.setX=3]="setX",r[r.setY=4]="setY",r[r.setZ=5]="setZ",r[r.rotate=6]="rotate",r[r.rotate3dX=7]="rotate3dX",r[r.rotate3dY=8]="rotate3dY",r[r.rotate3dZ=9]="rotate3dZ",r[r.move=10]="move",r[r.round=11]="round",r[r.ceil=12]="ceil",r[r.floor=13]="floor",r[r.toFixed=14]="toFixed",r[r.abs=15]="abs",r[r.scale=16]="scale",r[r.divide=17]="divide",r[r.degreeToRadians=18]="degreeToRadians",r[r.radiansToDegrees=19]="radiansToDegrees",r[r.radiansToMeters=20]="radiansToMeters",r[r.metersToRadians=21]="metersToRadians",r[r.hipPoint=22]="hipPoint",r[r.xPoint=23]="xPoint",r[r.yPoint=24]="yPoint",r[r.wPoint=25]="wPoint",r[r.hPoint=26]="hPoint",r[r.setIfLessThan=27]="setIfLessThan",r[r.minus=28]="minus",r[r.degreeToMeters=29]="degreeToMeters",r[r.metersToDegree=30]="metersToDegree",r[r.flipVertically=31]="flipVertically",r[r.setProperties=32]="setProperties",r[r.div=33]="div",r[r.mod=34]="mod";function q(r,t){var e=t.functionName,n=t.pointArg,o=t.numberPointArg,i=t.numberArg,s=t.setterArg,a=t.setterArgByObject,u=r;switch(e){case c.getTileFromCoords:u=function(t,e){return r(t,e).getTileFromCoords(i)};break;case c.getCoordsFromTile:u=function(t,e){return r(t,e).getCoordsFromTile(i)};break;case c.height:u=function(t,e){return r(t,e).height(i)};break;case c.setX:u=function(t,e){return"number"==typeof s?r(t,e).setX(s):r(t,e).setX(function(t){return s(t,e)})};break;case c.setY:u=function(t,e){return"number"==typeof s?r(t,e).setY(s):r(t,e).setY(function(t){return s(t,e)})};break;case c.setZ:u=function(t,e){return"number"==typeof s?r(t,e).setZ(s):r(t,e).setZ(function(t){return s(t,e)})};break;case c.rotate:u=function(t,e){return r(t,e).rotate(i)};break;case c.rotate3dX:u=function(t,e){return r(t,e).rotate3dX(i)};break;case c.rotate3dY:u=function(t,e){return r(t,e).rotate3dY(i)};break;case c.rotate3dZ:u=function(t,e){return r(t,e).rotate3dZ(i)};break;case c.move:u=function(t,e){return r(t,e).move(o,i)};break;case c.round:u=function(t,e){return r(t,e).round()};break;case c.ceil:u=function(t,e){return r(t,e).ceil()};break;case c.floor:u=function(t,e){return r(t,e).floor()};break;case c.toFixed:u=function(t,e){return r(t,e).toFixed(i)};break;case c.abs:u=function(t,e){return r(t,e).abs()};break;case c.scale:u=function(t,e){return r(t,e).scale(o,i)};break;case c.divide:u=function(t,e){return r(t,e).divide(o,i)};break;case c.div:u=function(t,e){return r(t,e).div(o,i)};break;case c.mod:u=function(t,e){return r(t,e).mod(o,i)};break;case c.degreeToRadians:u=function(t,e){return r(t,e).degreeToRadians()};break;case c.radiansToDegrees:u=function(t,e){return r(t,e).radiansToDegrees()};break;case c.radiansToMeters:u=function(t,e){return r(t,e).radiansToMeters()};break;case c.metersToRadians:u=function(t,e){return r(t,e).metersToRadians()};break;case c.hipPoint:u=function(t,e){return r(t,e).hipPoint};break;case c.xPoint:u=function(t,e){return r(t,e).xPoint};break;case c.yPoint:u=function(t,e){return r(t,e).yPoint};break;case c.wPoint:u=function(t,e){return r(t,e).wPoint};break;case c.hPoint:u=function(t,e){return r(t,e).hPoint};break;case c.setIfLessThan:u=function(t,e){return r(t,e).setIfLessThan(n)};break;case c.minus:u=function(t,e){return r(t,e).minus()};break;case c.degreeToMeters:u=function(t,e){return r(t,e).degreeToMeters()};break;case c.metersToDegree:u=function(t,e){return r(t,e).metersToDegree()};break;case c.flipVertically:u=function(t,e){return r(t,e).flipVertically(o)};break;case c.setProperties:u=function(t,e){return"object"==typeof a?r(t,e).setProperties(a):r(t,e).setProperties(function(t){return a(t,e)})}}return u}t.prototype.getLoopFunction=function(){return this.pool.reduce(q,function(t){return t})},t.prototype.run=function(){return this.parent.map(this.getLoopFunction())},t.prototype.getTileFromCoords=function(t){return this.pool.push({functionName:c.getTileFromCoords,numberArg:t}),this},t.prototype.getCoordsFromTile=function(t){return this.pool.push({functionName:c.getCoordsFromTile,numberArg:t}),this},t.prototype.height=function(t){return this.pool.push({functionName:c.height,numberArg:t}),this},t.prototype.setX=function(t){return this.pool.push({functionName:c.setX,setterArg:t}),this},t.prototype.setProperties=function(t){return this.pool.push({functionName:c.setProperties,setterArgByObject:t}),this},t.prototype.setY=function(t){return this.pool.push({functionName:c.setY,setterArg:t}),this},t.prototype.setZ=function(t){return this.pool.push({functionName:c.setZ,setterArg:t}),this},t.prototype.rotate=function(t){return this.pool.push({functionName:c.rotate,numberArg:t}),this},t.prototype.rotate3dX=function(t){return this.pool.push({functionName:c.rotate3dX,numberArg:t}),this},t.prototype.rotate3dY=function(t){return this.pool.push({functionName:c.rotate3dY,numberArg:t}),this},t.prototype.rotate3dZ=function(t){return this.pool.push({functionName:c.rotate3dZ,numberArg:t}),this},t.prototype.move=function(t,e){return this.pool.push({functionName:c.move,numberPointArg:t,numberArg:e=void 0===e?t:e}),this},t.prototype.round=function(){return this.pool.push({functionName:c.round}),this},t.prototype.ceil=function(){return this.pool.push({functionName:c.ceil}),this},t.prototype.floor=function(){return this.pool.push({functionName:c.floor}),this},t.prototype.toFixed=function(t){return this.pool.push({functionName:c.toFixed,numberArg:t=void 0===t?2:t}),this},t.prototype.abs=function(){return this.pool.push({functionName:c.abs}),this},t.prototype.scale=function(t,e){return this.pool.push({functionName:c.scale,numberPointArg:t,numberArg:e=void 0===e?t:e}),this},t.prototype.divide=function(t,e){return this.pool.push({functionName:c.divide,numberPointArg:t,numberArg:e}),this},t.prototype.div=function(t,e){return this.pool.push({functionName:c.div,numberPointArg:t,numberArg:e}),this},t.prototype.mod=function(t,e){return this.pool.push({functionName:c.mod,numberPointArg:t,numberArg:e}),this},t.prototype.degreeToRadians=function(){return this.pool.push({functionName:c.degreeToRadians}),this},t.prototype.radiansToDegrees=function(){return this.pool.push({functionName:c.radiansToDegrees}),this},t.prototype.radiansToMeters=function(){return this.pool.push({functionName:c.radiansToMeters}),this},t.prototype.metersToRadians=function(){return this.pool.push({functionName:c.metersToRadians}),this},t.prototype.getHipPoint=function(){return this.pool.push({functionName:c.hipPoint}),this},t.prototype.getXPoint=function(){return this.pool.push({functionName:c.xPoint}),this},t.prototype.getYPoint=function(){return this.pool.push({functionName:c.yPoint}),this},t.prototype.getWPoint=function(){return this.pool.push({functionName:c.wPoint}),this},t.prototype.getHPoint=function(){return this.pool.push({functionName:c.hPoint}),this},t.prototype.setIfLessThan=function(t){return this.pool.push({functionName:c.setIfLessThan,pointArg:t}),this},t.prototype.minus=function(){return this.pool.push({functionName:c.minus}),this},t.prototype.degreeToMeters=function(){return this.pool.push({functionName:c.degreeToMeters}),this},t.prototype.metersToDegree=function(){return this.pool.push({functionName:c.metersToDegree}),this},t.prototype.flipVertically=function(t){return this.pool.push({functionName:c.flipVertically,numberPointArg:t}),this};var X=t;function t(t){this.parent=t,this.pool=[]}var o=function(){return(o=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},_=function(n,o){var i,s,a,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},t={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(t[Symbol.iterator]=function(){return this}),t;function e(r){return function(t){var e=[r,t];if(i)throw new TypeError("Generator is already executing.");for(;u;)try{if(i=1,s&&(a=2&e[0]?s.return:e[0]?s.throw||((a=s.return)&&a.call(s),0):s.next)&&!(a=a.call(s,e[1])).done)return a;switch(s=0,(e=a?[2&e[0],a.value]:e)[0]){case 0:case 1:a=e;break;case 4:return u.label++,{value:e[1],done:!1};case 5:u.label++,s=e[1],e=[0];continue;case 7:e=u.ops.pop(),u.trys.pop();continue;default:if(!(a=0<(a=u.trys).length&&a[a.length-1])&&(6===e[0]||2===e[0])){u=0;continue}if(3===e[0]&&(!a||e[1]>a[0]&&e[1]<a[3]))u.label=e[1];else if(6===e[0]&&u.label<a[1])u.label=a[1],a=e;else{if(!(a&&u.label<a[2])){a[2]&&u.ops.pop(),u.trys.pop();continue}u.label=a[2],u.ops.push(e)}}e=o.call(n,u)}catch(t){e=[6,t],s=0}finally{i=a=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},I=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},S=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},T=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},r=D.operation.buffer.BufferParameters,W=r.CAP_ROUND,n=r.CAP_FLAT,r=r.CAP_SQUARE,d=(N.arrayOfTrianglesToVertices=function(t,e){return t.map(function(t){return(w(e)?t.loop().height(e).run():t).toArrayOfCoords()}).flat(2)},N.minAreaRectangleSize=function(t){var t=t.clone().open(),e=t.first,r=t.second,t=t.last;return new O(e.distance(r),e.distance(t))},N.toDash=function(t){var e,r,n=new N,o=[n],i=!0;try{for(var s=I(t.points),a=s.next();!a.done;a=s.next()){var u=a.value;i&&n.push(u.clone()),u.properties.pieceBorder&&(i=!i)&&(n=new N,o.push(n),n.push(u.clone()))}}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}return o},N.minAreaRectangleDirection=function(t){var t=t.clone().open(),e=t.first,r=t.second,t=t.last;return e&&r&&t?(e.distance(r)>e.distance(t)?e.findLine(r):e.findLine(t)).getFi():0},N.parseFromWKT=function(t){var e,r,n,t=t.trim().toUpperCase(),o=new N;return 0===t.indexOf("POLYGON")&&(n=/POLYGON \(\((?<data>(?:(?!\)\)$).)*?)\)\)$/imu.exec(t),e=(r=S(n.groups.data.split("), (").map(function(t){return new N(t.split(", ").map(function(t){return O.parse(t.split(" ").map(Number))}))})))[0],(r=r.slice(1))&&r.length&&(e.holes=r),o=e),0===t.indexOf("LINESTRING")&&(o=new N((n=/LINESTRING \((?<data>(?:(?!\)$).)*?)\)$/imu.exec(t)).groups.data.split(", ").map(function(t){return O.parse(t.split(" ").map(Number))}))),o=0===t.indexOf("POINT")?new N([O.parseFromWKT(t)]):o},N.createSquareBySize=function(t){return new N([O.zero(),t.clone().setX(0),t.clone(),t.clone().setY(0)]).close()},N.prototype.loop=function(){return new X(this)},Object.defineProperty(N.prototype,"points",{get:function(){return this.pPoints},set:function(t){this.pPoints=t},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxX",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.x)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minX",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.x)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxY",{get:function(){return this.reduce(function(t,e){return Math.max(t,e.y)},-1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minY",{get:function(){return this.reduce(function(t,e){return Math.min(t,e.y)},1/0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"innerCenter",{get:function(){var o=this.center;return this.toTriangles().map(function(t){n=(e=t).at(0),r=e.at(1),e=e.at(2);var e,r,n=new O((n.x+r.x+e.x)/3,(n.y+r.y+e.y)/3);return n.properties.score=Math.min(n.distance(t.at(0)),n.distance(t.at(1)),n.distance(t.at(2)))+n.distance(o),n}).sort(function(t,e){return t.properties.score-e.properties.score})[0]},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"center",{get:function(){return this.leftTop.move(this.size.divide(2))},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"h",{get:function(){return this.maxY-this.minY},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"w",{get:function(){return this.maxX-this.minX},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"dY",{get:function(){return this.h},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"dX",{get:function(){return this.w},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"extend",{get:function(){var t=this.minX,e=this.minY,r=this.maxX,n=this.maxY;return new N([new O(t,e),new O(r,e),new O(r,n),new O(t,n),new O(t,e)])},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"size",{get:function(){var t=this.w,e=this.h;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"leftTop",{get:function(){var t=this.minX,e=this.minY;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minPoint",{get:function(){return this.leftTop},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"rightBottom",{get:function(){var t=this.maxX,e=this.maxY;return new O(t,e)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"maxPoint",{get:function(){return this.rightBottom},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"length",{get:function(){return this.pPoints.length},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"fullLength",{get:function(){return this.clone().open().perimeter},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"perimeter",{get:function(){var e,t,r=0;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=i[1];r+=s.distance(a)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"area",{get:function(){var e,t,r=0;try{for(var n=I(this.deintersection.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=s.x,u=s.y,c=i[1],h=c.x;r+=a*c.y-u*h}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return Math.abs(r/2)-this.holes.reduce(function(t,e){return t+e.area},0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"filledDeintersection",{get:function(){for(var o=this.clone().deintersection.removeDuplicates().clockWise.open(),t=function(t){for(var e={},r=t=void 0===t?0:t;r<o.length;r++){var n=o.at(r).toString();if("number"==typeof e[n])return[e[n],r];e[n]=r}},e=t(),r=[];e;)var n=new N(o.clone().removePart(e[0],e[1]-e[0])),e=n.isClockwise?t(e[0]+1):(r.push(n.close()),o.removePart(e[0],e[1]-e[0]),t());return o.holes=r,o.close()},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"deintersection",{get:function(){for(var e,t,o=this.clone().close(),r={},i=0;i<o.length-1;i++)for(var n=o.at(i).toString(),s=(r[n]=r[n]||[],r[n].push(i),i+2);s<o.length-1;s++)!function(t){var e=o.at(i).findLine(o.at(i+1)),r=o.at(t).findLine(o.at(t+1)),n=e.intersection(r);n&&!T(T([],S(e.points),!1),S(r.points),!1).some(function(t){return t.like(n)})&&(e=o.removePart(i,t-i).reverse(),o.insertAfter.apply(o,T([i],S(e),!1)),o.insertAfter(t,n),o.insertAfter(i,n))}(s);try{for(var a=I(Object.keys(r)),u=a.next();!u.done;u=a.next()){var c=r[u.value];if(1<c.length)for(var h=function(t){var r=o.clone(),e=c[t]-c[t-1];1<e&&(e=new N(r.removePart(c[t-1],e))).reduce(function(t,e){return t&&function(t,e){var r,n;if(t.points.some(function(t){return t.equal(e)}))return!0;try{for(var o=I(t.loopPointsGenerator(!0)()),i=o.next();!i.done;i=o.next()){var s=S(i.value,3)[2];if(s.x(e).equal(e)&&s.inRange(e))return!0}}catch(t){P={error:t}}finally{try{i&&!i.done&&(x=o.return)&&x.call(o)}finally{if(P)throw P.error}}var a=0;try{for(var u=I(t.loopPointsGenerator()()),c=u.next();!c.done;c=u.next()){var h=S(c.value,2),l=h[0],p=l.x,f=l.y,y=h[1],d=y.x,m=y.y,v=new k(p-e.x,f-e.y,0),g=new k(d-e.x,m-e.y,0),b=v.findFi(g);0<v.vectorProduct(g).c?a+=b:a-=b}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}var x=Math.PI/1e4,P=!1,t=Math.abs(a);if(t<x)P=!1;else{if(!(Math.abs(2*Math.PI-t)<x))throw new Error("contains2 faild");P=!0}return P}(r,e)},!0)&&r.isClockwise===e.isClockwise&&(r.insertAfter.apply(r,T([c[t-1]-1],S(e.reverse().points),!1)),o=r)},s=c.length-1;0<s;s--)h(s)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}return o},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"valid",{get:function(){return 3<this.length},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"first",{get:function(){return this.at(0)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"second",{get:function(){return this.at(1)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"last",{get:function(){return this.at(this.length-1)},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"minAreaRectangle",{get:function(){var e,t,r,n,o=this.convex,i=new N,s=1/0;try{for(var a=I(o.loopPointsGenerator(!0)()),u=a.next();!u.done;u=a.next()){var c,h,l,p,f=S(u.value,3)[2],y=0,d=null,m=null,v=0,g=null;try{r=void 0;for(var b=I(o.loopPointsGenerator()()),x=b.next();!x.done;x=b.next()){var P=S(x.value,4),M=P[0],w=P[3],T=f.findPoint(f.findPerpendicular(M)),k=T.distance(M);v<=k&&(v=k,g=M);for(var O=w;O<o.length-1;O++){var z=f.findPoint(f.findPerpendicular(o.at(O))),A=T.distance(z);y<=A&&(y=A,d=T,m=z)}}}catch(t){r={error:t}}finally{try{x&&!x.done&&(n=b.return)&&n.call(b)}finally{if(r)throw r.error}}d&&m&&g&&(h=(c=d.findLine(m)).findPerpendicular(d),(p=new N([d,m,(l=c.findPerpendicular(m)).findPoint(l.findPerpendicular(g)),h.findPoint(h.findPerpendicular(g))]).close()).area<s)&&(s=(i=p).area)}}catch(t){e={error:t}}finally{try{u&&!u.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}return i},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"convex",{get:function(){var t=this.clone().open(),e=t.isClockwise;e||t.reverse();do{var r=t.last,n=t.first,o=t.second}while(((u=n.findInnerAngle(r,o))>Math.PI||f.likeZero(f.rad2Deg(u))||f.likePI(u)||f.like2PI(u))&&(t.removePart(-1,1),t.length));t.close();var i=0;do{for(var s=(t=t.deintersection).length,a=1;a<t.length-1;a++){var u,r=t.at(a-1),n=t.at(a),o=t.at(a+1);((u=n.findInnerAngle(r,o))>Math.PI||f.likeZero(f.rad2Deg(u))||f.likePI(u)||f.like2PI(u))&&t.removePart(--a,1)}}while(i++,t.length!==s&&i<100);return e||t.reverse(),t},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"isClockwise",{get:function(){var e,t,r=0;try{for(var n=I(this.clone().close().loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=s.x,u=s.y,c=i[1];r+=(c.x-a)*(c.y+u)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r<0},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"clockWise",{get:function(){return this.isClockwise?this.clone():this.clone().reverse()},enumerable:!1,configurable:!0}),Object.defineProperty(N.prototype,"noHoles",{get:function(){var t=this.clone();return t.holes=[],t},enumerable:!1,configurable:!0}),N.prototype.reduce=function(t,e){return this.pPoints.reduce(t,e)},N.prototype.intersection=function(t,e){void 0===e&&(e=!1);var r,n,o=[];try{for(var i=I(this.loopPointsGenerator(!0)()),s=i.next();!s.done;s=i.next()){var a=S(s.value,3)[2].intersection(t,0,e);a&&o.push(a)}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o},N.prototype.setCenter=function(t){return this.loop().move(t.clone().move(this.center.minus())).run()},N.prototype.toWKT=function(t,e){return void 0===e&&(e=!1),(t=void 0===t?N.WKT_POLYGON:t)===N.WKT_POLYGON?(t="",this.holes&&this.holes.length&&(t=", ".concat(this.holes.map(function(t){return t.toString()}).join(", "))),"POLYGON ((".concat(this.deintersection.mapArray(function(t){return"".concat(t.x," ").concat(t.y).concat(e?" ".concat(t.z):"")}).join(", "),")").concat(t,")")):"LINESTRING (".concat(this.mapArray(function(t){return"".concat(t.x," ").concat(t.y).concat(e?" ".concat(t.z):"")}).join(", "),")")},N.prototype.filter=function(t){return this.pPoints=this.pPoints.filter(t),this},N.prototype.map=function(e){return this.pPoints=this.mapArray(e),this.holes=this.holes.map(function(t){return t.map(e)}),this},N.prototype.mapArray=function(t){return this.pPoints.map(t)},N.prototype.sort=function(t){return this.points.sort(t),this},N.prototype.at=function(t){var e=this.length;return this.points[(t%e+e)%e]},N.prototype.pop=function(){return this.pPoints.pop()},N.prototype.push=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return(t=this.pPoints).push.apply(t,T([],S(e),!1))},N.prototype.shift=function(){return this.pPoints.shift()},N.prototype.unshift=function(){for(var t,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return(t=this.pPoints).unshift.apply(t,T([],S(e),!1))},N.prototype.reverse=function(){return this.pPoints=this.pPoints.reverse(),this.holes=this.holes.map(function(t){return t.reverse()}),this},N.prototype.getValue=function(){return this.pPoints.map(function(t){return t.getValue()})+this.holes.reduce(function(t,e){return t+e.getValue()},"")},N.prototype.toString=function(){return"(".concat(this.mapArray(function(t){return t.toString()}).join(", "),")")},N.prototype.close=function(){var t=this.first;return t&&!this.closed&&this.push(t.clone()),this},N.prototype.open=function(){var t=this.first;return 2<this.length&&t&&this.closed&&this.pop(),this},N.prototype.add=function(t){var e=new N(T(T([],S(this.points),!1),S(t.points),!1)).close();return e.holes=T(T([],S(this.holes),!1),S(t.holes),!1).map(function(t){return t.clone()}),e},N.prototype.has=function(e){return this.pPoints.some(function(t){return t.equal(e)})},N.prototype.clone=function(){var t=new N(this.points.map(function(t){return t.clone()}));return t.holes=this.holes.map(function(t){return t.clone()}),t.properties=o({},this.properties),t},N.prototype.equal=function(r){return r instanceof N&&this.length===r.length&&this.holes.length===r.holes.length&&this.same(r)&&this.holes.reduce(function(t,e){return t&&r.holes.some(function(t){return t.same(e)})},!0)},N.prototype.same=function(t){for(var e=t.clone().close(),r=this.clone().close().toString(),n=0;n<e.length;n++){if(r===e.toString()||r===e.clone().reverse().toString())return!0;e.nextStart()}return!1},N.prototype.findIndex=function(e){return e instanceof O?this.points.findIndex(function(t){return t.equal(e)}):this.points.findIndex(e)},N.prototype.approximation=function(t){return void 0===t&&(t=.1*Math.sqrt(this.perimeter)),new N(this.clone().douglasPeucker(this.pPoints,t))},N.prototype.insertAfter=function(t){for(var e,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];(e=this.pPoints).splice.apply(e,T([t+1,0],S(r),!1))},N.prototype.removePart=function(t,e){return this.pPoints.splice(t+1,e)},N.prototype.hasSimpleIntersection=function(t){var e=this.extend,r=t.extend,t=e.points,n=r.points,t=t.some(function(t){return r.simpleInclude(t)}),n=n.some(function(t){return e.simpleInclude(t)});return t||n},N.prototype.simpleInclude=function(t){return this.simpleIncludeX(t)&&this.simpleIncludeY(t)},N.prototype.drawPolygonOnCanvas=function(t,e,r,n,o,i){return void 0===o&&(o=1),void 0===i&&(i=this.length-1),1<this.length&&(t=t.getContext("2d"),e&&(t.fillStyle=e),r&&(t.strokeStyle=r),o&&(t.lineWidth=o),(e||r)&&t.beginPath(),this.goByPath(t,i%this.length),n&&(t.shadowColor=n,t.shadowBlur=0,t.shadowOffsetX=1,t.shadowOffsetY=1),e&&(t.closePath(),t.fill()),r)&&t.stroke(),this},N.prototype.clearPolygonOnCanvas=function(t){var t=t.getContext("2d"),e=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",this.goByPath(t),t.fill(),t.globalCompositeOperation=e},N.prototype.contain=function(t,e){var r;if(void 0===e&&(e=!1),!this.simpleInclude(t))return!1;if(this.onBorder(t))return e;var e=this.deintersection,n=0;try{for(var o=I(e.loopPointsGenerator()()),i=o.next();!i.done;i=o.next()){var s=S(i.value,2),a=s[0],u=a.x,c=a.y,h=s[1],l=h.x,p=h.y,f=new k(u-t.x,c-t.y,0),y=new k(l-t.x,p-t.y,0),d=f.findFi(y);0<f.vectorProduct(y).c?n+=d:n-=d}}catch(t){r={error:t}}finally{try{i&&!i.done&&(m=o.return)&&m.call(o)}finally{if(r)throw r.error}}var e=Math.PI/1e4,m=Math.abs(n);if(m<e)return!1;if(Math.abs(2*Math.PI-m)<e)return!0;throw new Error("contains2 faild")},N.prototype.onBorder=function(e){var r,t;if(this.simpleInclude(e)){var n=this.deintersection;if(this.points.some(function(t){return t.equal(e)}))return!0;try{for(var o=I(n.loopPointsGenerator(!0)()),i=o.next();!i.done;i=o.next()){var s=S(i.value,3)[2];if(s.x(e).equal(e)&&s.inRange(e))return!0}}catch(t){r={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(r)throw r.error}}}return!1},N.prototype.nextStart=function(){return this.open(),this.push(this.shift()),this.close(),this},N.prototype.removeDuplicates=function(){for(var t=0;t<this.length-1;t++){var e=this.at(t),r=this.at(t+1);e.equal(r)&&(this.removePart(t,1),t--)}return this},N.toGeoJSONFeatureCollection=function(t,e){return void 0===e&&(e=P.parseFormat),{type:"FeatureCollection",features:t.map(function(t){return t.toGeoJSONFeature(e)})}},N.parse=function(t,n){if(void 0===n&&(n=P.parseFormat),t.type)switch(t.type){case"FeatureCollection":return t.features.reduce(function(t,e){e=N.parse(e,n);return Array.isArray(e)?t.push.apply(t,T([],S(e),!1)):t.push(e),t},[]);case"Feature":var e=N.parse(t.geometry,n),r=o(o({},t.properties),t.id?{id:t.id}:{});return Array.isArray(e)?e.forEach(function(t){t.properties=o({},r)}):e.properties=o({},r),e;case"LineString":case"MultiPoint":return new N(t.coordinates.map(function(t){return O.parse(t,n)}));case"Polygon":return t.coordinates.reduce(function(t,e,r){return 0===r?t.points=e.map(function(t){return O.parse(t,n)}):t.holes.push(new N(e.map(function(t){return O.parse(t,n)}))),t},new N);case"MultiLineString":return t.coordinates.reduce(function(t,e){return t.push(new N(e.map(function(t){return O.parse(t,n)}))),t},[]);case"MultiPolygon":return t.coordinates.reduce(function(t,e){return t.push(N.parse({type:"Polygon",coordinates:e},n)),t},[]);case"GeometryCollection":return t.geometries.reduce(function(t,e){return t.push(N.parse(e,n)),t},[])}return new N(t.map(function(t){return O.parse(t,n)}))},N.prototype.toArrayOfCoords=function(e){return void 0===e&&(e=P.parseFormat),this.mapArray(function(t){return t.toCoords(e)})},N.prototype.toGeoJSONFeature=function(t){return void 0===t&&(t=P.parseFormat),{type:"Feature",properties:o({},this.properties),geometry:this.toGeoJSON(t)}},N.prototype.toGeoJSON=function(e){return void 0===e&&(e=P.parseFormat),this.closed?{type:"Polygon",coordinates:T([this.toArrayOfCoords(e)],S(this.holes.map(function(t){return t.toArrayOfCoords(e)})),!1)}:{type:"LineString",coordinates:this.toArrayOfCoords(e)}},N.prototype.divideToPieces=function(t,s){var e,r;void 0===s&&(s=!1);var a=this.fullLength/t,u=a,c=this;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,4);!function(t,e,r){var n,o,i=t.distance(e);i===u?(e.properties.pieceBorder=!0,u=a):0<i-u?(o=new tt(t,u),(o=(n=t.findLine(e)).intersectionWithCircle(o).filter(function(t){return n.inRange(t,.001)})[0]).properties.pieceBorder=!0,c.insertAfter(r,o),s&&(r=t.z,o.z=r-(r-e.z)*(t.distance(o)/i)),u=a):u-=i}(i[0],i[1],i[3])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this},N.prototype.prepareToFastSearch=function(){var e,t;this.searchStore={};try{for(var r=I(this.points),n=r.next();!n.done;n=r.next()){var o=n.value,i=o.x,s=o.y,a=o.z;this.searchStore[i]||(this.searchStore[i]={}),this.searchStore[i][s]||(this.searchStore[i][s]={}),this.searchStore[i][s][a||"undefined"]=!0}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},N.prototype.fastHas=function(t){var e=t.x,r=t.y,t=t.z;return this.searchStore[e]&&this.searchStore[e][r]&&this.searchStore[e][r][t||"undefined"]||!1},Object.defineProperty(N.prototype,"growingPiecesGenerator",{get:function(){var a=this;return function(){var e,r,n,o,i,s;return _(this,function(t){switch(t.label){case 0:e=new N,t.label=1;case 1:t.trys.push([1,6,7,8]),r=I(a.pPoints),n=r.next(),t.label=2;case 2:return n.done?[3,5]:(o=n.value,e.push(o),o.properties.pieceBorder?[4,e.clone()]:[3,4]);case 3:t.sent(),t.label=4;case 4:return n=r.next(),[3,2];case 5:return[3,8];case 6:return o=t.sent(),i={error:o},[3,8];case 7:try{n&&!n.done&&(s=r.return)&&s.call(r)}finally{if(i)throw i.error}return[7];case 8:return[2,e.clone()]}})}},enumerable:!1,configurable:!0}),N.prototype.simpleUnion=function(t){try{var e=this.simpleLogicFunction(t,!0,!0);return null===e?null:e instanceof N?e:null}catch(t){return null}},N.prototype.simpleIntersection=function(t){return this.simpleLogicFunction(t,!1,!1)},N.prototype.simpleDifference=function(t){return this.simpleLogicFunction(t,!0,!1)},N.prototype.smartUnion=function(t){var e,r,n=this.clone().simpleUnion(t);if(n){var i=T(T(T([],S(this.holes),!1),S(t.holes),!1),S(n.holes),!1).map(function(t){return t.clone()}),o=function(r){var e,t;try{e=void 0;for(var n=I(i),o=n.next();!o.done;o=n.next())!function(e){if(r.equal(e))return;var t=r.simpleUnion(e);t&&(i=i.filter(function(t){return!t.equal(r)&&!t.equal(e)})).push(t)}(o.value)}catch(t){e={error:t}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}};try{for(var s=I(i),a=s.next();!a.done;a=s.next())o(a.value)}catch(t){e={error:t}}finally{try{a&&!a.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}n.holes=i}return n},N.prototype.toTriangles=function(){var t=this.clone().removeDuplicates().open();if(t.length<3)return[];if(3===t.length)return[t];for(var i=function(t,e,r){var n=e.findLine(r),o=n.center,e=t.holes.reduce(function(t,e){return t&&Boolean(e.clone().close().intersection(n,!0).length)},Boolean(t.clone().close().intersection(n,!0).length)),r=t.holes.reduce(function(t,e){return t&&!e.contain(o)},t.contain(o));return!e&&r},e=this.clone().removeDuplicates().clockWise.open();e.holes.length;)for(var r=e.holes.shift().clone().clockWise.reverse().close(),n=0;n<e.length;n++){if(i(e,e.first,r.first)){e.insertAfter.apply(e,T(T([0],S(r.points),!1),[e.first],!1));break}e.push(e.shift())}for(var o=[];3<e.length;){var s=function(t){for(var e=0;e<t.length;e++){var r=t.at(0),n=t.at(1),o=t.at(2);if(i(t,r,o))return t.removePart(0,1),new N([r.clone(),n.clone(),o.clone()]);t.push(t.shift())}}(e);s&&o.push(s)}return o.push(e),o},N.prototype.getTrianglesPointIndexes=function(){var i=function(t,e,r){var n=e.findLine(r),o=n.center,e=t.holes.reduce(function(t,e){return t&&Boolean(e.clone().close().intersection(n,!0).length)},Boolean(t.clone().close().intersection(n,!0).length)),r=t.holes.reduce(function(t,e){return t&&!e.contain(o)},t.contain(o));return!e&&r},t=this.clone(),e=0;for(t.points.forEach(function(t){t.properties.index=e++}),t.holes.forEach(function(t){t.pPoints.forEach(function(t){t.properties.index=e++})}),t=t.clockWise.open();t.holes.length;)for(var r=t.holes.shift().clone().clockWise.reverse().close(),n=0;n<t.length;n++){if(i(t,t.first,r.first)){t.insertAfter.apply(t,T(T([0],S(r.points),!1),[t.first],!1));break}t.push(t.shift())}for(var o=[];3<t.length;){var s=function(t){for(var e=0;e<t.length;e++){var r=t.at(0),n=t.at(1),o=t.at(2);if(i(t,r,o))return t.removePart(0,1),[r.properties.index,n.properties.index,o.properties.index];t.push(t.shift())}}(t);s&&o.push.apply(o,T([],S(s),!1))}return o.push.apply(o,T([],S(t.points.map(function(t){return t.properties.index})),!1)),o},Object.defineProperty(N.prototype,"closed",{get:function(){return this.first.equal(this.last)},enumerable:!1,configurable:!0}),N.prototype.buffer=function(t,e,r){void 0===e&&(e=64),void 0===r&&(r=N.CAP_ROUND);var n=new D.io.WKTReader,o=this.noHoles,i=this.closed;return new N(n.read(o.toWKT(i?N.WKT_POLYGON:N.WKT_LINESTRING)).buffer(t,e,r).getCoordinates().map(function(t){var e=t.x,t=t.y;return new O(e,t)}))},N.prototype.sideBuffers=function(t,e){var r=this.first,n=this.last,t=this.buffer(t,e=void 0===e?64:e,N.CAP_FLAT).open(),e=S(r.sortByDistance(t).points.map(function(t){return t.properties.index}),2),r=e[0],e=e[1],n=S(n.sortByDistance(t).points.map(function(t){return t.properties.index}),2),o=n[0],n=n[1],i=Math.min(Math.max(r,e),Math.max(o,n)),r=Math.max(Math.min(r,e),Math.min(o,n)),e=new N(t.removePart(i-1,r-i+1));return t.unshift(t.pop()),[e.reverse(),t]},N.prototype.setProperties=function(t){return this.properties="object"==typeof t?t:t(this),this},N.prototype.bezier=function(t){void 0===t&&(t=.1);for(var e=new N,r=0;r<1;r+=t)e.push(this.clone().getBezierPoint(r));return e},N.prototype.setGrowingHeight=function(e,t){var r=this.fullLength,n=this.first,o=t-e,i=0;return this.loop().setZ(function(t){return i+=n.distance(t),n=t,e+i/r*o}).run(),this},N.prototype.loopPointsGenerator=function(o){void 0===o&&(o=!1);var i=this;return function(){var e,r,n;return _(this,function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return e<i.length-1?(r=i.at(e),n=i.at(e+1),[4,[r,n,o?r.findLine(n):void 0,e]]):[3,4];case 2:t.sent(),t.label=3;case 3:return e++,[3,1];case 4:return[2]}})}},N.prototype.getBezierPoint=function(t){var e,r;if(1===this.length)return this.first;try{for(var n=I(this.loopPointsGenerator()()),o=n.next();!o.done;o=n.next()){var i=S(o.value,2),s=i[0],a=i[1];s.move(a.clone().move(s.clone().minus()).scale(t))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return this.pop(),this.getBezierPoint(t)},N.prototype.simpleIncludeX=function(t){t=t.x;return this.minX<=t&&this.maxX>=t},N.prototype.simpleIncludeY=function(t){t=t.y;return this.minY<=t&&this.maxY>=t},N.prototype.douglasPeucker=function(t,e){for(var r,n=0,o=0,i=t.length-1,s=t[0].findLine(t[i]),a=1;a<i;a++){var u=s.perpendicularDistance(t[a]);n<u&&(o=a,n=u)}return e<=n?(r=this.douglasPeucker(t.slice(0,o+1),e),e=this.douglasPeucker(t.slice(o),e),r.pop(),T(T([],S(r),!1),S(e),!1)):[t[0],t[i]]},N.prototype.goByPath=function(t,e){void 0===e&&(e=this.length-1);var r=this.first;t.moveTo(r.x,r.y);for(var n=1;n<=e%this.length;n++){var o=this.at(n),i=o.x,o=o.y;t.lineTo(i,o)}},N.prototype.getJSTSGeometry=function(t,e,r){var r=r===e,n=new D.io.WKTReader,o=n.read(this.noHoles.toWKT()),n=n.read(t.noHoles.toWKT());return r?e?o.union(n):o.intersection(n):o.difference(n)},N.prototype.simpleLogicFunction=function(t,e,r){var n,o,i,s,a,u,c,h,t=this.getJSTSGeometry(t,e,r);if(t){var l=t.getCoordinates();if(l.length){var p=l.reduce(function(t,e,r){var n=e.x,e=e.y,o=t.length-1,n=new O(n,e),e=t[o].first;return n.equal(e)?l[r+1]&&(e=new O(l[r+1].x,l[r+1].y),1<t[o].length)&&t.push(new N([e])):t[o].push(n),t},[new N([new O(l[0].x,l[0].y)])]);if(r&&e&&1<p.length)try{for(var f=I(p),y=f.next();!y.done;y=f.next()){var d=y.value;try{i=void 0;for(var m=I(p),v=m.next();!v.done;v=m.next())if("break"===function(e){var t,r;return d.has(e.first)&&!d.equal(e)?(r=d.findIndex(e.first),(t=d.points).splice.apply(t,T([r,0],S(e.points),!1)),p=p.filter(function(t){return!t.equal(e)}),"continue"):p.length<2?"break":void 0}(v.value))break}catch(t){i={error:t}}finally{try{v&&!v.done&&(s=m.return)&&s.call(m)}finally{if(i)throw i.error}}if(p.length<2)break}}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}p=p.filter(function(t){return 2<t.length}).map(function(t){return t.close()});try{for(var g=I(p),b=g.next();!b.done;b=g.next()){d=b.value;try{c=void 0;for(var x=I(p),P=x.next();!P.done;P=x.next())if("break"===function(e){if(p.length<2)return"break";d.equal(e)||d.contain(e.first,!0)&&(d.holes.push(e),p=p.filter(function(t){return!t.equal(e)}))}(P.value))break}catch(t){c={error:t}}finally{try{P&&!P.done&&(h=x.return)&&h.call(x)}finally{if(c)throw c.error}}if(p.length<2)break}}catch(t){a={error:t}}finally{try{b&&!b.done&&(u=g.return)&&u.call(g)}finally{if(a)throw a.error}}return 0===p.length?null:1===p.length?p[0].close():p.map(function(t){return t.close()})}}return null},N.CAP_ROUND=W,N.CAP_FLAT=n,N.CAP_SQUARE=r,N.WKT_LINESTRING="LINESTRING",N.WKT_POLYGON="POLYGON",N);function N(t){this.pPoints=t=void 0===t?[]:t,this.properties={},this.holes=[],this.searchStore={}}m.prototype.clone=function(){return new m(this.a,this.b,this.c,this.begin.clone(),this.end.clone())},m.prototype.findPerpendicular=function(t){return s("findPerpendicular").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end).checkArgument("p").shouldBeMeters(t),new m(-this.b,this.a,this.b*t.x-this.a*t.y)},m.prototype.perpendicularDistance=function(t){return s("perpendicularDistance").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end).checkArgument("p").shouldBeMeters(t),this.findPerpendicular(t).findPoint(this).distance(t)},m.prototype.intersection=function(t,e,r){void 0===e&&(e=0),void 0===r&&(r=!1);var n=this.findPoint(t);return n?r?this.insideRange(n,e)&&t.insideRange(n,e)?n:null:this.inRange(n,e)&&t.inRange(n,e)?n:null:null},m.prototype.intersectionWithCircle=function(t){var e=t.center,t=t.r,r=this.findPerpendicular(e),r=this.findPoint(r),n=r.distance(e);if(this.begin.equal(e)&&(n=0),(n=this.end.equal(e)?0:n)<t){var o,i=this.a,s=this.b,a=this.c;if(this.isParallel){var u=e.distance(r),u=Math.sqrt(t*t-u*u);if(this.isParallelY)return r.x=this.begin.x,[r.clone().move(0,-u),r.clone().move(0,u)];if(this.isParallelX)return r.y=this.begin.y,[r.clone().move(u,0),r.clone().move(-u,0)]}return this.begin.like(e)?(o=this.begin.clone(),[this.movePoint(o,t),this.movePoint(o,-t)]):this.end.like(e)?(o=this.end.clone(),[this.movePoint(o,t),this.movePoint(o,-t)]):(u=i*i+s*s,e=Math.sqrt((t*t-a*a/u)/u),[r.clone().move(s*e,-i*e),r.clone().move(-s*e,i*e)])}return n===t?r:null},m.prototype.inRange=function(t,e){var r=this.minX,n=this.minY,o=this.maxX,i=this.maxY,s=t.x,t=t.y;return r-(e=void 0===e?0:e)<=s&&s<=o+e&&(n-e<=t&&t<=i+e)},m.prototype.insideRange=function(t,e){var r=this.begin,n=this.end;return this.inRange(t,e=void 0===e?0:e)&&!r.like(t,1e-5)&&!n.like(t,1e-5)},Object.defineProperty(m.prototype,"center",{get:function(){return this.begin.clone().setIfLessThan(this.end).move(this.end.clone().move(this.begin.clone().minus()).abs().minus().divide(2))},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"minX",{get:function(){return Math.min(this.begin.x,this.end.x)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"minY",{get:function(){return Math.min(this.begin.y,this.end.y)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"maxX",{get:function(){return Math.max(this.begin.x,this.end.x)},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"maxY",{get:function(){return Math.max(this.begin.y,this.end.y)},enumerable:!1,configurable:!0}),m.prototype.toString=function(){return"(".concat(this.a,", ").concat(this.b,", ").concat(this.c,")")},m.prototype.getValue=function(){return[this.a,this.b,this.c]},m.prototype.x=function(t){return this.isParallelY?new O(-this.c/this.a,t.y):this.isParallelX?new O(t.x,-this.c/this.b):new O(-this.b/this.a*t.y-this.c/this.a,t.y)},m.prototype.y=function(t){return this.isParallelY?new O(-this.c/this.a,t.y):this.isParallelX?new O(t.x,-this.c/this.b):new O(t.x,-this.a/this.b*t.x-this.c/this.b)},m.prototype.findPoint=function(t){var e,r;return this.isParallelY&&t.isParallelY||this.isParallelX&&t.isParallelX?null:this.isParallelX&&t.isParallelY?new O(-t.c/t.a,-this.c/this.b):this.isParallelY&&t.isParallelX?new O(-this.c/this.a,-t.c/t.b):this.isParallelY?(r=-this.c/this.a,t.y(new O(r))):this.isParallelX?(e=-this.c/this.b,t.x(new O(0,e))):t.isParallelY?(r=-t.c/t.a,this.y(new O(r))):t.isParallelX?(e=-t.c/t.b,this.x(new O(0,e))):(r=this.y(new O((t.c/t.b-this.c/this.b)/(this.a/this.b-t.a/t.b))),isFinite(r.x)||isFinite(r.y)?r:null)},Object.defineProperty(m.prototype,"isParallel",{get:function(){return this.isParallelX||this.isParallelY},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"isParallelY",{get:function(){return Math.abs(this.b)<.001},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"isParallelX",{get:function(){return Math.abs(this.a)<.001},enumerable:!1,configurable:!0}),Object.defineProperty(m.prototype,"points",{get:function(){return[this.begin,this.end]},enumerable:!1,configurable:!0}),m.prototype.getFi=function(){s("getFi").checkArgument("this.begin").shouldBeMeters(this.begin).checkArgument("this.end").shouldBeMeters(this.end);var t=this.end.clone().move(this.begin.clone().minus()),e=t.x,t=t.y,t=Math.atan2(t,e)-Math.PI;return 0<t&&(t=Math.PI-t),(Math.PI-t)%(2*Math.PI)},m.prototype.toWKT=function(){var t=this.begin,e=t.x,t=t.y,r=this.end,n=r.x,r=r.y;return"LINESTRING (".concat(e," ").concat(t,", ").concat(n," ").concat(r,")")},m.prototype.movePoint=function(t,e){var r=Array.isArray(t),t=r?t:[t],n=r?e:[e],e=this.findFi(new m(1,0,0)),o=this.x(new O(1,1)).distance(this.x(new O(2,2)))/2,i=new O(Math.sin(e),Math.cos(e)),e=i.clone().scale(o),o=t[0].clone().move(e.clone().minus()),e=t[0].clone().move(e),s=[],s=f.like(this.y(o).y,o.y)||f.like(this.y(e).y,e.y)?t.map(function(t,e){return t.clone().move(i.clone().scale(n[e]))}):t.map(function(t,e){return t.clone().move(i.clone().scale(n[e]).setX(function(t){return-t.x}))});return r?s:s[0]},m.prototype.findFi=function(t,e){var r=t.a,t=t.b,n=(void 0===e&&(e=1.0001),this.a),o=this.b,n=(n*r+o*t)/(Math.sqrt(n*n+o*o)*Math.sqrt(r*r+t*t));return 1<n&&n<e?n=1:n<-1&&-e<n&&(n=-1),Math.acos(n)},m.prototype.vectorProduct=function(t){var e=t.a,r=t.b,t=t.c,n=this.a,o=this.b,i=this.c;return new m(o*t-i*r,i*e-n*t,n*r-o*e)},m.prototype.bresenhamsLine=function(){for(var t=this.begin,e=t.x,r=t.y,t=this.end,n=t.x,o=t.y,i=Math.abs(n-e),s=e<n?1:-1,a=-Math.abs(o-r),u=r<o?1:-1,c=i+a,h=new d;h.push(new O(e,r)),e!==n||r!==o;){var l=2*c;if(a<=l){if(e===n)break;c+=a,e+=s}if(l<=i){if(r===o)break;c+=i,r+=u}}return h};var k=m;function m(t,e,r,n,o){void 0===n&&(n=O.zero()),void 0===o&&(o=O.zero()),this.a=t,this.b=e,this.c=r,this.begin=n,this.end=o}var v=function(){return(v=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},K=function(t,e){var r={};for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(t);n<o.length;n++)e.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n])&&(r[o[n]]=t[o[n]]);return r},U=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},Z=new d,H=new d,J=new d,W=20037508.34,Q=W/180,i=180,g=360,b=Math.PI/i,$=i/Math.PI,O=(z.zero=function(){return new z},z.parse=function(t,e){void 0===e&&(e=P.parseFormat);var r,o,n=t.lat,i=t.lon,s=t.lng,i=void 0===s?i:s,s=t.alt;return n&&i?new z(i,n,null!=s?s:0):(i=t.x,n=t.y,s=t.z,r=K(t,["x","y","z"]),w(i)&&w(n)?new z(i,n,s).setProperties(r):("Point"===(o=t).type&&(o=t.coordinates),"Feature"===t.type?((i=z.parse(t.geometry,e)).properties=v({},t.properties),i):e.replace(/[^x-z]/gimu,"").split("").reduce(function(t,e,r){var n;switch(e){case"x":t.x=null!=(n=o[r])?n:0;break;case"y":t.y=null!=(n=o[r])?n:0;break;case"z":t.z=o[r]}return t},new z)))},z.parseFromWKT=function(t){t=t.trim().toUpperCase(),t=/POINT \((?<data>(?:(?!\)).)*?)\)$/imu.exec(t),t=U(t.groups.data.split(" ").map(Number),3);return new z(t[0],t[1],t[2])},z.random=function(){return new z(Math.random(),Math.random())},z.getTileFromQuadKey=function(t){for(var e=new z(0,0,t.length),r=e.z;0<r;r--){var n=1<<r-1;switch(t[e.z-r]){case"0":break;case"1":e.x|=n;break;case"2":e.y|=n;break;case"3":e.x|=n,e.y|=n;break;default:throw new Error("Invalid QuadKey digit sequence.")}}return e},z.prototype.toDegreesMinutesSeconds=function(){return{x:V(this.x),y:V(this.y)}},z.prototype.getTileFromCoords=function(t){return void 0===t&&(t=this.z),s("getTileFromCoords").checkArgument("this").shouldBeDegree(this),new z(Math.floor((this.x+i)/g*Math.pow(2,t)),Math.floor((1-Math.log(Math.tan(this.y*b)+1/Math.cos(this.y*b))/Math.PI)/2*Math.pow(2,t)),t)},z.prototype.getQuadKeyFromTile=function(t){for(var e=[],r=t=void 0===t?this.z:t;0<r;r--){var n=0,o=1<<r-1;0!=(this.x&o)&&n++,0!=(this.y&o)&&(n++,n++),e.push(n)}return e.join("")},z.prototype.getCoordsFromTile=function(t){void 0===t&&(t=this.z),s("getCoordsFromTile").checkArgument("this").shouldBeUInt(this);var e=Math.PI-2*Math.PI*this.y/Math.pow(2,t);return new z(this.x/Math.pow(2,t)*g-i,i/Math.PI*Math.atan((Math.exp(e)-Math.exp(-e))/2),t)},z.prototype.toCoords=function(t){var e=this;return(t=void 0===t?P.parseFormat:t).replace(/[^x-z]/gimu,"").split("").map(function(t){return{x:e.x,y:e.y,z:e.z}[t]}).filter(function(t){return void 0!==t})},z.prototype.toGeoJSON=function(t){return{type:"Point",coordinates:this.toCoords(t=void 0===t?P.parseFormat:t)}},z.prototype.toGeoJSONFeature=function(t){return void 0===t&&(t=P.parseFormat),{type:"Feature",properties:v({},this.properties),geometry:this.toGeoJSON(t)}},z.prototype.findLine=function(t){var e,r,n;return s("findLine").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t),this.equal(t)?this.findLine(t.clone().move(0,1)):(e=this.y-t.y,r=t.x-this.x,n=this.x*t.y-t.x*this.y,0==e?new k(0,1,n/r,this,t):0==r?new k(1,0,n/e,this,t):new k(e,r,n,this,t))},z.prototype.findInnerAngle=function(t,e){s("findInnerAngle").checkArgument("this").shouldBeMeters(this).checkArgument("p1").shouldBeMeters(t).checkArgument("p3").shouldBeMeters(e);t=this.findLine(t).getFi(),e=this.findLine(e).getFi();return t<=e?e-t:e+2*Math.PI-t},z.prototype.toString=function(){return"".concat(this.x," ").concat(this.y)},z.prototype.getValue=function(){return[this.x,this.y]},z.prototype.height=function(t){return this.z=t,this},z.prototype.toWKT=function(){var t=this.x,e=this.y;return"POINT (".concat(t," ").concat(e,")")},z.prototype.distance=function(t){s("distance").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t);var e=t.x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},z.prototype.distance3d=function(t){s("distance3d").checkArgument("this").shouldBeMeters(this).checkArgument("p").shouldBeMeters(t).checkArgument("this.z").shouldExist(this.z).checkArgument("p.z").shouldExist(t.z);var e=t.x-this.x,r=t.y-this.y,t=t.z-this.z;return Math.sqrt(e*e+r*r+t*t)},z.prototype.setX=function(t){return this.x="number"==typeof t?t:t(this),this},z.prototype.setZ=function(t){return this.z="number"==typeof t?t:t(this),this},z.prototype.setY=function(t){return this.y="number"==typeof t?t:t(this),this},z.prototype.setProperties=function(t){return this.properties="object"==typeof t?t:t(this),this},z.prototype.clone=function(){var t=new z(this.x,this.y,this.z);return t.properties=v({},this.properties),t},z.prototype.gt=function(t){return this.x>t.x&&this.y>t.y},z.prototype.lt=function(t){return this.x<t.x&&this.y<t.y},z.prototype.gtOrEqual=function(t){return this.gt(t)||this.equal(t)},z.prototype.ltOrEqual=function(t){return this.lt(t)||this.equal(t)},z.prototype.rotate=function(t){var e=this.x*Math.cos(t)-this.y*Math.sin(t),t=this.x*Math.sin(t)+this.y*Math.cos(t);return this.x=e,this.y=t,this},z.prototype.rotate3dX=function(t){var e=this.y,r=this.z;return this.y=e*Math.cos(t)+r*Math.sin(t),this.z=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.rotate3dY=function(t){var e=this.x,r=this.z;return this.x=e*Math.cos(t)+r*Math.sin(t),this.z=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.rotate3dZ=function(t){var e=this.x,r=this.y;return this.x=e*Math.cos(t)-r*Math.sin(t),this.y=-e*Math.sin(t)+r*Math.cos(t),this},z.prototype.move=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x+t.x,o=this.y+t.y,w(this.z)&&w(t.z)&&(i=this.z+t.z)):(n=this.x+t,o=this.y+e,w(this.z)&&w(r)&&(i=this.z+r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.degreeToMeters=function(){s("degreeToMeters").checkArgument("this").shouldBeDegree(this);var t=((this.x+i)%g-i)*Q,e=Math.log(Math.tan((this.y+90)%i*(Math.PI/g)))/b*Q;return this.x=t,this.y=e,this},z.prototype.metersToDegree=function(){s("metersToDegree").checkArgument("this").shouldBeMeters(this);var t=8983152842445679e-21*this.x,e=Math.atan(Math.pow(Math.E,this.y/Q*b))*(g/Math.PI)-90;return this.x=t,this.y=e,this},z.prototype.degreeToRadians=function(){return s("degreeToRadians").checkArgument("this").shouldBeDegree(this),this.scale(b)},z.prototype.radiansToDegrees=function(){return s("radiansToDegrees").checkArgument("this").shouldBeRadians(this),this.scale($)},z.prototype.radiansToMeters=function(){return s("radiansToMeters").checkArgument("this").shouldBeRadians(this),this.radiansToDegrees().degreeToMeters()},z.prototype.metersToRadians=function(){return s("metersToRadians").checkArgument("this").shouldBeMeters(this),this.metersToDegree().degreeToRadians()},z.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},z.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},z.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},z.prototype.toFixed=function(t){return void 0===t&&(t=2),this.x=parseFloat(this.x.toFixed(t)),this.y=parseFloat(this.y.toFixed(t)),this},z.prototype.abs=function(){return this.x=Math.abs(this.x),this.y=Math.abs(this.y),this},z.prototype.scale=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x*t.x,o=this.y*t.y,w(this.z)&&w(t.z)&&(i=this.z*t.z)):(n=this.x*t,o=this.y*e,w(this.z)&&w(r)&&(i=this.z*r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.divide=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x/t.x,o=this.y/t.y,w(this.z)&&w(t.z)&&(i=this.z/t.z)):(n=this.x/t,o=this.y/e,w(this.z)&&w(r)&&(i=this.z/r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.mod=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=this.x%t.x,o=this.y%t.y,w(this.z)&&w(t.z)&&(i=this.z%t.z)):(n=this.x%t,o=this.y%e,w(this.z)&&w(r)&&(i=this.z%r)),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.div=function(t,e,r){void 0===e&&(e=t);var n=0,o=0,i=void 0;return t instanceof z?(n=a(this.x,t.x),o=a(this.y,t.y),w(this.z)&&w(t.z)&&(i=a(this.z,t.z))):(n=a(this.x,t),o=a(this.y,e),w(this.z)&&w(r)&&(i=a(this.z,r))),this.x=n,this.y=o,w(i)&&(this.z=i),this},z.prototype.equal=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},z.prototype.like=function(t,e){var r,n,o;return void 0===e&&(e=.001),!!this.equal(t)||(r=Math.abs(this.x-t.x)<e,n=Math.abs(this.y-t.y)<e,o=Math.abs((null!=(o=null!=(o=this.z)?o:t.z)?o:0)-(null!=(t=null!=(o=t.z)?o:this.z)?t:0))<e,r&&n&&o)},z.prototype.flipVertically=function(t){var e=t;return t instanceof z&&(e=t.y),this.y=e-this.y,this},Object.defineProperty(z.prototype,"likeRadians",{get:function(){return 0===Z.length&&Z.push(new z(-Math.PI,-Math.PI/2),new z(Math.PI,Math.PI/2)),Z.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"likeWorldGeodeticSystem",{get:function(){return 0===J.length&&J.push(new z(-180,-90),new z(180,90)),!this.likeRadians&&J.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"likePseudoMercator",{get:function(){return 0===H.length&&H.push(new z(-20026376.39,-20048966.1),new z(20026376.39,20048966.1)),!this.likeRadians&&!this.likeWorldGeodeticSystem&&H.simpleInclude(this)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"w",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"h",{get:function(){return this.y},set:function(t){this.y=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"area",{get:function(){return s("area").checkArgument("this").shouldBeMeters(this),this.w*this.h},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hip",{get:function(){return s("hip").checkArgument("this").shouldBeMeters(this),Math.sqrt(this.w*this.w+this.h*this.h)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"min",{get:function(){return Math.min(this.x,this.y)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"max",{get:function(){return Math.max(this.x,this.y)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hipPoint",{get:function(){var t=this.hip;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"xPoint",{get:function(){var t=this.x;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"yPoint",{get:function(){var t=this.y;return new z(t,t)},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"wPoint",{get:function(){return this.xPoint},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"hPoint",{get:function(){return this.yPoint},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lat",{get:function(){return this.y},set:function(t){this.y=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lng",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"lon",{get:function(){return this.x},set:function(t){this.x=t},enumerable:!1,configurable:!0}),Object.defineProperty(z.prototype,"alt",{get:function(){return this.z},set:function(t){this.z=t},enumerable:!1,configurable:!0}),z.prototype.simple=function(t,e,r){var n;return void 0===e&&(e="y"),void 0===r&&(r="z"),v(((n={})[t=void 0===t?"x":t]=this.x,n[e]=this.y,n),w(this.z)?((t={})[r]=this.z,t):{})},z.prototype.setIfLessThan=function(t){return this.x=Math.max(this.x,t.x),this.y=Math.max(this.y,t.y),this},z.prototype.setIfMoreThan=function(t){return this.x=Math.min(this.x,t.x),this.y=Math.min(this.y,t.y),this},z.prototype.minus=function(){return this.scale(-1)},z.prototype.orthodromicPath=function(t,e){void 0===e&&(e=360),s("orthodromicPath").checkArgument("this").shouldBeDegree(this).checkArgument("point").shouldBeDegree(t);var r=this.clone().degreeToRadians(),n=t.clone().degreeToRadians(),o=Math.sin(n.x-r.x),i=(n.x-r.x)/(e-1);return new d(p(e).map(function(t,e){e=r.x+i*e;return new z(e,Math.atan(Math.tan(r.y)*Math.sin(n.x-e)/o+Math.tan(n.y)*Math.sin(e-r.x)/o)).radiansToDegrees()}))},z.prototype.sortByDistance=function(t){var r=this;return t.clone().map(function(t,e){return t.properties.distance=t.distance(r),t.properties.index=e,t}).sort(function(t,e){return t.properties.distance-e.properties.distance})},z.prototype.calculateAltitudeByDistanceBetweenPoints=function(t,e){var r,n,o,i;return t.alt===e.alt?this.alt=t.alt:(r=Math.min(null!=(r=t.alt)?r:0,null!=(r=e.alt)?r:0),n=Math.max(null!=(n=t.alt)?n:0,null!=(n=e.alt)?n:0)-r,i=(o=this.distance(t))+(e=this.distance(e)),(null!=(t=t.alt)?t:0)===r?this.alt=r+o/i*n:this.alt=r+e/i*n),this},z);function z(t,e,r){void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e,this.z=r,this.properties={}}A.prototype.toString=function(){return"(".concat(this.center.toString(),", ").concat(this.r,")")},A.prototype.getValue=function(){return{center:this.center,r:this.r}},A.prototype.clone=function(){return new A(this.center,this.r)},A.prototype.findPoints=function(t){var e,r,n,o,i,s,a,u;return this.equal(t)?1/0:(u=(a=this.center).x,a=a.y,n=this.r,r=(s=t.center).x,e=(s=s.y)-a,t=(u=u+(i=(t=((n=n*n)-(o=t.r)*o+(o=this.center.distance(t.center))*o)/(2*o))/o)*(r=r-u))+(n=Math.sqrt(n-t*t)/o)*e,i=(o=a+i*(s-a))-n*r,s=u-n*e,a=o+n*r,u=[],isNaN(t)||isNaN(i)||u.push(new O(t,i)),isNaN(s)||isNaN(a)||t===s&&i===a||u.push(new O(s,a)),u)},A.prototype.equal=function(t){var e=t.center,t=t.r;return this.center.equal(e)&&this.r===t},A.prototype.findPolygonInside=function(t,e,r){void 0===t&&(t=64),void 0===e&&(e=0),void 0===r&&(r=2*Math.PI);for(var n=2*Math.PI/t,o=[],i=e;i<r-n;)o.push(new O(this.r).scale(Math.cos(i),Math.sin(i)).move(this.center)),i+=n;t=this.r*Math.cos(r)+this.center.x,e=this.r*Math.sin(r)+this.center.y;return o.push(new O(t,e)),new d(o)},A.prototype.findPolygonInsideOnSphere=function(t,e,r){void 0===t&&(t=64),void 0===e&&(e=0),void 0===r&&(r=2*Math.PI),s("findPolygonInsideOnSphere").checkArgument("center").shouldBeDegree(this.center);for(var n=2*Math.PI/t,o=[],i=e;i<r-n;)o.push(this.sphereOffset(i)),i+=n;return o.push(this.sphereOffset(r)),new d(o)},A.prototype.sphereOffset=function(t,e){void 0===e&&(e=6378137);var r=this.center.clone().degreeToRadians(),n=r.x,r=r.y,e=this.r/e,o=Math.asin(Math.sin(r)*Math.cos(e)+Math.cos(r)*Math.sin(e)*Math.cos(t)),n=n+Math.atan2(Math.sin(t)*Math.sin(e)*Math.cos(r),Math.cos(e)-Math.sin(r)*Math.sin(o));return new O(n,o).radiansToDegrees()};var tt=A;function A(t,e){void 0===t&&(t=O.zero()),void 0===e&&(e=0),this.center=t,this.r=e}var et=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},rt=(nt.prototype.add=function(t){var e,r;try{for(var n=et(t),o=n.next();!o.done;o=n.next()){var i=o.value,s=i.x,a=i.y,u=i.z;this.searchStore[s]||(this.searchStore[s]={}),this.searchStore[s][a]||(this.searchStore[s][a]={}),this.searchStore[s][a][u||"undefined"]=!0}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},nt.prototype.find=function(t){var e=t.x,r=t.y,t=t.z;return!!this.searchStore[e]&&!!this.searchStore[e][r]&&this.searchStore[e][r][t||"undefined"]},nt);function nt(){this.searchStore={}}function j(t,e,r){return void 0===r&&(r=y.TraceMatrixValues.f),void 0===t[e.y]||void 0===t[e.y][e.x]?r:t[e.y][e.x]}function ot(t,e,r){void 0!==t[e.y]&&void 0!==t[e.y][e.x]&&(t[e.y][e.x]=r,t[e.y][e.x])}var it=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},st=function(t,e,r){if(r||2===arguments.length)for(var n,o=0,i=e.length;o<i;o++)!n&&o in e||((n=n||Array.prototype.slice.call(e,0,o))[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))},at=function(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return{value:(t=t&&n>=t.length?void 0:t)&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},r=(y.TraceMatrixValues=void 0,(n=y.TraceMatrixValues||(y.TraceMatrixValues={}))[n.f=0]="f",n[n.t=1]="t",C.prototype.fullMatrixTrace=function(){var r=this,t=this.findAllGroupsInMatrix(this.m),n=t.map(function(t){return r.traceGroup(r.m,t)}),o=t.map(this.createHoleMatrix),i=o.map(function(t){return t&&r.findAllGroupsInMatrix(t)}),s=i.map(function(t,e){return t&&t.map(function(t){return r.traceGroup(o[e],t)}).filter(function(t){return 3<t.length})});return t.map(function(t,e){var r=n[e];return i[e]&&i[e].length&&(r.holes=s[e]),r.loop().divide(4).round().run()})},C.prototype.reverseMatrix=function(e){return C.createMatrix(this.size,function(t){return j(e,t)===y.TraceMatrixValues.f?y.TraceMatrixValues.t:y.TraceMatrixValues.f})},C.prototype.findMarked=function(t,e){for(var r=this.size,n=!1,o=0;o<r.w;o++)for(var i=0;i<r.h;i++)if(!n&&e)o=e.x,i=e.y,n=!0;else if(j(t,new O(o,i))===y.TraceMatrixValues.t)return new O(o,i);return null},C.prototype.totalCountInMatrix=function(t){for(var e=0,r=this.size,n=0;n<r.w;n++)for(var o=0;o<r.h;o++)j(t,new O(n,o))&&e++;return e},C.createMatrix=function(e,n){return void 0===n&&(n=function(){return y.TraceMatrixValues.f}),p(e.h).map(function(t,r){return p(e.w).map(function(t,e){return n(new O(e,r))})})},C);function C(t,n){var f=this,e=(this.approximation=!0,this.findGroupByIndex=function(t,e){var r=new d;if(e&&j(t,e)===y.TraceMatrixValues.t){r.push(e);var n=0,o=C.createMatrix(f.size,function(){return y.TraceMatrixValues.f});for(ot(o,e,y.TraceMatrixValues.t);n<r.length;){for(var i=r.at(n),s=-1;s<2;s++)for(var a=-1;a<2;a++){var u=new O(i.x+s,i.y+a);j(o,u,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&j(t,u,y.TraceMatrixValues.f)===y.TraceMatrixValues.t&&(r.push(u),ot(o,u,y.TraceMatrixValues.t))}n++}}return r},this.findAllGroupsInMatrix=function(t){var e=f.findMarked(t);if(!e)return[];var e=f.findGroupByIndex(t,e),r=[e],n=e.length,o=st([],it(e.points),!1),i=new rt;for(i.add(o);n<f.totalCountInMatrix(t);){for(var s=f.findMarked(t);s&&i.find(s);)s=f.findMarked(t,s);var a=f.findGroupByIndex(t,s);n+=a.length,o=st(st([],it(o),!1),it(a.points),!1),i.add(a.points),r.push(a)}return r.filter(function(t){return 2<t.length})},this.traceGroup=function(t,e){function r(t){return(t+o.length+1)%o.length}var n,o=[new O(-1,-1),new O(-1,0),new O(-1,1),new O(0,1),new O(1,1),new O(1,0),new O(1,-1),new O(0,-1)];if(e.length<2)return n=e.at(0).clone(),new d([n,n,n]);for(var i=new d,s=0,a=1/0,u=e.at(0);!u.equal(e.at(0))||i.length<2;){for(;;){var c=j(t,u.clone().move(o[s])),h=j(t,u.clone().move(o[r(s)]));if(c===y.TraceMatrixValues.t&&h===y.TraceMatrixValues.f)break;s=(s+o.length-1)%o.length}a!==s&&(i.push(u),a=s),u=u.clone().move(o[s]),s=r(r(s))}return(f.approximation?i.approximation():i.clone()).close()},this.createHoleMatrix=function(e){for(var r,t,n=[new O(-1,0),new O(0,1),new O(1,0),new O(0,-1)],o=(e.prepareToFastSearch(),C.createMatrix(f.size,function(t){return e.fastHas(t)?y.TraceMatrixValues.t:y.TraceMatrixValues.f})),i=new d,s=0;s<f.size.w;s++)i.push(new O(s,-1)),i.push(new O(s,f.size.h));for(s=0;s<f.size.h;s++)i.push(new O(-1,s)),i.push(new O(f.size.w,s));for(;i.length;){var a=i.pop();try{r=void 0;for(var u=at(n),c=u.next();!c.done;c=u.next()){var h=c.value,l=a.clone().move(h);j(o,l,y.TraceMatrixValues.t)===y.TraceMatrixValues.f&&(ot(o,l,y.TraceMatrixValues.t),i.push(l))}}catch(t){r={error:t}}finally{try{c&&!c.done&&(t=u.return)&&t.call(u)}finally{if(r)throw r.error}}}var p=f.reverseMatrix(o);return f.totalCountInMatrix(p)?p:null},this.size=t.clone().scale(4),C.createMatrix(this.size,function(t){var e=t.clone().mod(4),r=e.x,e=e.y;return[1,2].includes(r)&&[1,2].includes(e)?n(t.clone().div(4)):y.TraceMatrixValues.f}));this.m=C.createMatrix(this.size);for(var r=1;r<this.size.y-1;r++)for(var o=1;o<this.size.x-1;o++)e[r][o]===y.TraceMatrixValues.t&&(this.m[r-1][o-1]=y.TraceMatrixValues.t,this.m[r-1][o]=y.TraceMatrixValues.t,this.m[r-1][o+1]=y.TraceMatrixValues.t,this.m[r][o-1]=y.TraceMatrixValues.t,this.m[r][o]=y.TraceMatrixValues.t,this.m[r][o+1]=y.TraceMatrixValues.t,this.m[r+1][o-1]=y.TraceMatrixValues.t,this.m[r+1][o]=y.TraceMatrixValues.t,this.m[r+1][o+1]=y.TraceMatrixValues.t)}var ut=function(){return(ut=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},ct=function(t,e){var r={};for(o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(r[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,o=Object.getOwnPropertySymbols(t);n<o.length;n++)e.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n])&&(r[o[n]]=t[o[n]]);return r},ht=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},W=(B.prototype.setKnownPoints=function(t){var e=this;return this.points=t instanceof d?t.points:t,this.minPoint.setProperties(this.points.reduce(function(n,o){return e.keys.reduce(function(t,e){var r;return t[e]=Math.min(null!=(r=n[e])?r:1/0,o.properties[e]),t},n)},{})),this.maxPoint.setProperties(this.points.reduce(function(n,o){return e.keys.reduce(function(t,e){var r;return t[e]=Math.max(null!=(r=n[e])?r:-1/0,o.properties[e]),t},n)},{})),this},B.prototype.positionToCellCoords=function(t){return t.clone().move(this.minPoint.clone().minus()).divide(this.stepSize).floor()},B.prototype.calculate=function(){return this.setKnownValues(),this.interpolateValues(),this},B.prototype.getCellValue=function(t,e){var r=t.x,t=t.y,n=this.cells[r][t];return e?Array.isArray(e)?e.reduce(function(t,e){return t[e]=n.properties[e],t},{}):n.properties[e]:ut({},n.properties)},Object.defineProperty(B.prototype,"getCellData",{get:function(){return this.allCells.reduce(function(t,e){var e=e.properties,r=e.x,n=e.y,e=ct(e,["x","y"]);return t[r]=t[r]||{},t[r][n]=ut({},e),t},{})},enumerable:!1,configurable:!0}),Object.defineProperty(B.prototype,"allCellsClone",{get:function(){return this.allCells.map(function(t){return t.clone()})},enumerable:!1,configurable:!0}),B.prototype.interpolateValues=function(){var i=this,t=this.points.map(function(t){return i.positionToCellCoords(t)});this.allCells.forEach(function(r){var e=new O(r.properties.x,r.properties.y),o=t.map(function(t){return Math.pow(e.distance(t),i.p)});i.keys.forEach(function(n){var t,e;w(r.properties[n])||(t=(e=ht(o.reduce(function(t,e,r){return w(i.points[r].properties[n])&&(t[0]+=i.points[r].properties[n]/e,t[1]+=1/e),t},[0,0]),2))[0],e=e[1],r.properties[n]=t/e)})})},B.prototype.setKnownValues=function(){var o=this;this.points.forEach(function(e){var t=o.positionToCellCoords(e),r=t.x,n=t.y;o.keys.forEach(function(t){o.cells[r][n].properties[t]=e.properties[t]})})},B.prototype.generateCells=function(){for(var t=this.minPoint.x,e=0;t<this.maxPoint.x;t+=this.stepSize,e++){this.cells[e]=this.cells[e]||{};for(var r=this.minPoint.y,n=0;r<this.maxPoint.y;r+=this.stepSize,n++){var o=this.sizePoly.clone().loop().move(t,r).run().setProperties({x:e,y:n});this.cells[e][n]=o,this.allCells.push(o)}}},B);function B(t,e,r,n){void 0===n&&(n=2),this.stepSize=e,this.p=n,this.points=[],this.cells={},this.allCells=[],this.minPoint=t.minPoint,this.maxPoint=t.maxPoint,this.sizePoly=d.createSquareBySize(new O(this.stepSize)),this.size=this.maxPoint.clone().move(this.minPoint.clone().minus()).divide(this.stepSize).ceil(),this.keys=Array.isArray(r)?r:[r],this.generateCells()}var lt=function(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||0<e--)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s},n=(F.find=function(t,e,r){var n;return t.x===e.x&&e.x===r.x?new F(1,0,0,-t.x,t,e,r):t.y===e.y&&e.y===r.y?new F(0,1,0,-t.y,t,e,r):t.z===e.z&&e.z===r.z?new F(0,0,1,-t.z,t,e,r):new F((n=lt(u([[t.x,t.y,t.z,-1],[e.x,e.y,e.z,-1],[r.x,r.y,r.z,-1]]),3))[0],n[1],n[2],1,t,e,r)},F.prototype.x=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.y,s=t.z,t.x=-(r*i+n*s+o)/e,t):t.map(function(t){return a.x(t)})},F.prototype.y=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.x,s=t.z,t.y=-(e*i+n*s+o)/r,t):t.map(function(t){return a.y(t)})},F.prototype.z=function(t){var e,r,n,o,i,s,a=this;return t instanceof O?(e=this.a,r=this.b,n=this.c,o=this.d,i=t.x,s=t.y,t.z=-(e*i+r*s+o)/n,t):t.map(function(t){return a.z(t)})},F.prototype.clone=function(){var t=this;return new F(t.a,t.b,t.c,t.d,t.p1,t.p2,t.p3)},F.prototype.distance=function(t){var e,r,n,o,i,s,a;return t instanceof O?(n=t.x,o=t.y,i=t.z,a=this.a,e=this.b,r=this.c,s=this.d,Math.abs(a*n+e*o+r*i+s)/Math.sqrt(a*a+e*e+r*r)):(n=t.a,o=t.b,i=t.c,s=t.d,a=this.d,Math.abs(s-a)/Math.sqrt(n*n+o*o+i*i))},F.prototype.equal=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,s=this.c,a=this.d;return f.like(e,o)&&f.like(r,i)&&f.like(n,s)&&f.like(t,a)},F.prototype.same=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,e=e/o,o=n/this.c,t=t/this.d;return f.like(e,r/i)&&f.like(e,o)&&f.like(e,n)&&f.like(e,t)},F.prototype.parallel=function(t){var e=t.a,r=t.b,n=t.c,t=t.d,o=this.a,i=this.b,e=e/o,o=n/this.c,t=t/this.d;return f.like(e,r/i)&&f.like(e,o)&&f.like(e,n)&&!f.like(e,t)},F);function F(t,e,r,n,o,i,s){void 0===o&&(o=O.zero()),void 0===i&&(i=O.zero()),void 0===s&&(s=O.zero()),this.a=t,this.b=e,this.c=r,this.d=n,this.p1=o,this.p2=i,this.p3=s}y.DCircle=tt,y.DEGREE_TO_PI=$,y.DGeo=P,y.DLine=k,y.DNumbers=f,y.DOUBLE_PI_IN_DEGREE=g,y.DPlane=n,y.DPoint=O,y.DPolygon=d,y.DPolygonLoop=X,y.EARTH_RADIUS_IN_METERS=6378137,y.FastSearch=rt,y.HALF_PI_IN_DEGREE=90,y.InterpolationMatrix=W,y.MIN_POINTS_IN_VALID_POLYGON=3,y.PI_IN_DEGREE=i,y.PI_TO_DEGREE=b,y.TraceMatrix=r,y.cartesianProduct=L,y.createArray=p,y.createCanvas=R,y.createMatrix=G,y.gaussianElimination=u,y.getCombinations=E,y.isDefAndNotNull=w,y.parseDegreesMinutesSeconds=function(t){var e,r,n,o,i,s,a,u,c,t=t.matchAll(/(?<value>-?\d+(?<tail>\.\d{1,})?)(?<type>°|'|")/gimu),h=0,l=0,p=0;try{for(var f=Y(t),y=f.next();!y.done;y=f.next()){var d=y.value;switch(null==(n=null==d?void 0:d.groups)?void 0:n.type){case"°":h=Number(null!=(i=null==(o=null==d?void 0:d.groups)?void 0:o.value)?i:"0");break;case"'":l=Number(null!=(a=null==(s=null==d?void 0:d.groups)?void 0:s.value)?a:"0");break;case'"':p=Number(null!=(c=null==(u=null==d?void 0:d.groups)?void 0:u.value)?c:"0")}}}catch(t){e={error:t}}finally{try{y&&!y.done&&(r=f.return)&&r.call(f)}finally{if(e)throw e.error}}t=h<0?-1:1;return h+t*l/60+t*p/3600},Object.defineProperty(y,"__esModule",{value:!0})});
@@ -1 +0,0 @@
1
- {"version":3,"sources":["dgeoutils.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","DGeoUtils","jsts","this","hook","scope","checkFunction","funcName","checkArgument","argName","DGeo","DEBUG","shouldBeDegree","p","likeWorldGeodeticSystem","warn","concat","shouldBeMeters","likePseudoMercator","shouldBeInt","clone","round","equal","shouldBeUInt","gtOrEqual","DPoint","zero","shouldBeRadians","likeRadians","shouldExist","isDefAndNotNull","createMatrix","_a","fillSymbol","h","w","createArray","map","_","y","x","gaussianElimination","matrix","n","length","matrixClone","i","j","MIN","k","K","answer","createCanvas","a","b","c","offscreen","canvas","OffscreenCanvas","document","createElement","width","height","getContext","cartesianProduct","_i","arguments","apply","__spreadArray$2","__read$5","d","getCombinations","arr","ans","otherCases","slice","push","div","Math","floor","toDegreesMinutesSeconds","v","degrees","t","minutes","seconds","toFixed","LoopFunctions","o","m","Symbol","iterator","r","e","call","ar","next","done","value","error","to","from","pack","l","Array","prototype","__values$3","s","TypeError","parseFormat","args","console","undefined","fill","DNumbers","like","abs","likeZero","like2PI","rad2Deg","DOUBLE_PI_IN_DEGREE","likePI","PI_IN_DEGREE","DEGREE_TO_PI","deg2Rad","PI_TO_DEGREE","decodePoolRecord","functionName","pointArg","numberPointArg","numberArg","setterArg","setterArgByObject","res","getTileFromCoords","index","getCoordsFromTile","setX","setY","setZ","rotate","rotate3dX","rotate3dY","rotate3dZ","move","ceil","scale","divide","mod","degreeToRadians","radiansToDegrees","radiansToMeters","metersToRadians","hipPoint","xPoint","yPoint","wPoint","hPoint","setIfLessThan","minus","degreeToMeters","metersToDegree","flipVertically","setProperties","DPolygonLoop","getLoopFunction","pool","reduce","run","parent","zoom","z","getHipPoint","getXPoint","getYPoint","getWPoint","getHPoint","size","__assign$2","Object","assign","hasOwnProperty","__generator","thisArg","body","f","label","sent","trys","ops","g","verb","throw","return","step","op","pop","__values$2","__read$4","__spreadArray$1","operation","buffer","BufferParameters","CAP_ROUND","CAP_FLAT","CAP_SQUARE","DPolygon","arrayOfTrianglesToVertices","triangles","loop","toArrayOfCoords","flat","minAreaRectangleSize","poly","open","first","second","last","distance","toDash","e_3","result","trigger","_b","points","_c","point","properties","pieceBorder","e_3_1","minAreaRectangleDirection","findLine","getFi","parseFromWKT","wkt","path","holes","reg","data","trim","toUpperCase","indexOf","exec","groups","split","pares","parse","Number","createSquareBySize","close","defineProperty","get","pPoints","set","enumerable","configurable","max","Infinity","min","center","toTriangles","p0","triangle","at","p1","p2","score","sort","leftTop","maxY","minY","maxX","minX","rightBottom","perimeter","e_4","loopPointsGenerator","_d","e_4_1","e_5","sum","deintersection","_e","_f","e_5_1","hole","area","removeDuplicates","clockWise","findSameCorners","startIndex","store","key","toString","indexes","removePart","isClockwise","e_6","_loop_1","firstLine","secondLine","intersectionPoint","intersection","some","part","reverse","insertAfter","keys","record","_loop_2","origin_1","e_2","polygonLine","inRange","e_1_1","e_1","totalFi","_g","_h","_j","_k","line1","DLine","line2","fiDif","findFi","vectorProduct","e_2_1","eps","PI","absTotalFi","Error","e_6_1","e_7","e_8","convex","resultPolygon","resultArea","widthLine","perpendicular1","perpendicular2","tempPolygon","maxWidth","maxWidthPoint1","maxWidthPoint2","maxHeight","maxHeightPoint","findPoint","findPerpendicular","e_8_1","e_7_1","p3","findInnerAngle","iteration","e_9","e_9_1","includeOnly","e_10","intersect","e_10_1","setCenter","newCenter","toWKT","type","withZ","WKT_POLYGON","join","mapArray","filter","shift","unshift","getValue","closed","add","has","q","same","pHoles","pClone","thisAsString","nextStart","findIndex","approximation","sqrt","douglasPeucker","splice","count","hasSimpleIntersection","extend1","extend","extend2","extend1points","extend2points","in1","simpleInclude","in2","simpleIncludeX","simpleIncludeY","drawPolygonOnCanvas","fillColor","strokeColor","shadowColor","lineWidth","steps","ctx","fillStyle","strokeStyle","beginPath","goByPath","shadowBlur","shadowOffsetX","shadowOffsetY","closePath","stroke","clearPolygonOnCanvas","old","globalCompositeOperation","contain","isBorderInside","e_11","onBorder","e_11_1","e_12","e_12_1","toGeoJSONFeatureCollection","polygons","format","features","polygon","toGeoJSONFeature","ak","isArray","geometry","props_1","id","forEach","coordinates","line","geometries","toCoords","toGeoJSON","divideToPieces","piecesCount","withAltitude","e_13","pieceLength","fullLength","currentPieceLength","this_1","_loop_3","line_1","circle","DCircle","intersectionWithCircle","p1z","e_13_1","prepareToFastSearch","e_14","searchStore","e_14_1","fastHas","e_15_1","e_15","simpleUnion","simpleLogicFunction","ex","simpleIntersection","simpleDifference","smartUnion","e_16","allHoles","_loop_4","e_17","allHoles_2","allHoles_2_1","_loop_5","e_17_1","allHoles_1","allHoles_1_1","e_16_1","innerAndNotIntersect","intersections","Boolean","getTrianglesPointIndexes","quadrantSegments","reader","io","WKTReader","noHoles","read","WKT_LINESTRING","getCoordinates","sideBuffers","sortByDistance","start0","start1","end0","end1","fromPoint","toPoint","linePart","bezier","getBezierPoint","setGrowingHeight","prevPoint","currentDistance","withLine","that","e_18","e_18_1","recResult1","dMax","end","perpendicularDistance","recResult2","start","moveTo","lineTo","getJSTSGeometry","unionThis","unionThat","unionOrIntersection","union","difference","e_19","e_20","e_21","e_22","coordinates_1","lastIndex","nextPoint","result_1","result_1_1","result_2","result_2_1","e_20_1","e_19_1","result_3","result_3_1","result_4","result_4_1","e_22_1","e_21_1","begin","insideRange","per","isParallel","ct","isParallelY","isParallelX","movePoint","mult","isFinite","atan2","x1","y1","x2","y2","fi","td","sinCos","sin","cos","dt","p1T","p2T","delta","val","acos","bresenhamsLine","x0","y0","dx","sx","dy","sy","e2","__assign$1","__rest$1","getOwnPropertySymbols","propertyIsEnumerable","__read$3","radiansPolygon","pseudoMercatorPolygon","worldGeodeticPolygon","EARTH_IN_METERS","METERS_IN_ONE_DEGREE","lat","lon","lng","alt","replace","random","getTileFromQuadKey","quadKey","mask","pow","log","tan","getQuadKeyFromTile","digit","atan","exp","_this","a1","a2","distance3d","dz","gt","lt","ltOrEqual","xV","yV","zV","DEGREES_IN_EARTH","E","parseFloat","likeX","likeY","likeZ","hip","simple","xKey","yKey","zKey","setIfMoreThan","orthodromicPath","pointsCount","calculateAltitudeByDistanceBetweenPoints","minAlt","dAlt","distance1","totalDistance","distance2","findPoints","hd","y31","x32","y32","r0","x31","ad","r02","r1","isNaN","findPolygonInside","pointCount","startAngle","stopAngle","angle","findPolygonInsideOnSphere","sphereOffset","bearing","earthRadius","lon1","lat1","dByR","asin","__values$1","FastSearch","points_1","points_1_1","find","getByPosition","defaultValue","TraceMatrixValues","setByPosition","__read$2","__spreadArray","__values","TraceMatrix","fullMatrixTrace","findAllGroupsInMatrix","paths","traceGroup","holeMatrixs","createHoleMatrix","holesGroups","holesPaths","hg","reverseMatrix","findMarked","init","ini","totalCountInMatrix","v2","findGroupByIndex","marked","firstMark","group","groupSum","allGroups","fs","mark","nextGroup","left","traceDirections","direction","prevDirection","nextValue","nextNeighbourValue","fullTraceDirections","tmpMatrix","startCoords","fullTraceDirections_1","fullTraceDirections_1_1","tmpPoint","includes","__assign","__rest","__read$1","InterpolationMatrix","setKnownPoints","minPoint","aa","maxPoint","positionToCellCoords","stepSize","calculate","setKnownValues","interpolateValues","getCellValue","cell","cells","allCells","props","distances","valueSum","oneSum","generateCells","sizePoly","bboxLike","__read","DPlane","b_1","c_1","a_1","d_1","u","parallel","EARTH_RADIUS_IN_METERS","HALF_PI_IN_DEGREE","MIN_POINTS_IN_VALID_POLYGON","parseDegreesMinutesSeconds","parts","matchAll","parts_1","parts_1_1"],"mappings":"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"}