three-globe
Version:
Globe data visualization as a ThreeJS reusable 3D object
2 lines • 447 kB
JavaScript
// Version 2.27.4 three-globe - https://github.com/vasturiano/three-globe
!function(A,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("three")):"function"==typeof define&&define.amd?define(["three"],t):(A="undefined"!=typeof globalThis?globalThis:A||self).ThreeGlobe=t(A.THREE)}(this,(function(A){"use strict";function t(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function e(A){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?t(Object(n),!0).forEach((function(t){o(A,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(n)):t(Object(n)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(n,t))}))}return A}function n(A,t){if(!(A instanceof t))throw new TypeError("Cannot call a class as a function")}function r(A,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(A,v(n.key),n)}}function i(A,t,e){return t&&r(A.prototype,t),e&&r(A,e),Object.defineProperty(A,"prototype",{writable:!1}),A}function o(A,t,e){return(t=v(t))in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}function a(A,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(t&&t.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),t&&u(A,t)}function l(A){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},l(A)}function u(A,t){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,t){return A.__proto__=t,A},u(A,t)}function s(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}function f(A,t,e){return f=s()?Reflect.construct.bind():function(A,t,e){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(A,n));return e&&u(r,e.prototype),r},f.apply(null,arguments)}function c(A,t){if(null==A)return{};var e,n,r=function(A,t){if(null==A)return{};var e,n,r={},i=Object.keys(A);for(n=0;n<i.length;n++)e=i[n],t.indexOf(e)>=0||(r[e]=A[e]);return r}(A,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);for(n=0;n<i.length;n++)e=i[n],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(A,e)&&(r[e]=A[e])}return r}function h(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function d(A){var t=s();return function(){var e,n=l(A);if(t){var r=l(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return function(A,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return h(A)}(this,e)}}function m(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){var e=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null!=e){var n,r,i,o,a=[],l=!0,u=!1;try{if(i=(e=e.call(A)).next,0===t){if(Object(e)!==e)return;l=!1}else for(;!(l=(n=i.call(e)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(A){u=!0,r=A}finally{try{if(!l&&null!=e.return&&(o=e.return(),Object(o)!==o))return}finally{if(u)throw r}}return a}}(A,t)||g(A,t)||function(){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 p(A){return function(A){if(Array.isArray(A))return b(A)}(A)||function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)}(A)||g(A)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(A,t){if(A){if("string"==typeof A)return b(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);return"Object"===e&&A.constructor&&(e=A.constructor.name),"Map"===e||"Set"===e?Array.from(A):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?b(A,t):void 0}}function b(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}function v(A){var t=function(A,t){if("object"!=typeof A||null===A)return A;var e=A[Symbol.toPrimitive];if(void 0!==e){var n=e.call(A,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(A)}(A,"string");return"symbol"==typeof t?t:String(t)}var y="object"==typeof global&&global&&global.Object===Object&&global,q="object"==typeof self&&self&&self.Object===Object&&self,_=y||q||Function("return this")(),x=_.Symbol,w=Object.prototype,M=w.hasOwnProperty,E=w.toString,B=x?x.toStringTag:void 0;var k=Object.prototype.toString;var S="[object Null]",D="[object Undefined]",C=x?x.toStringTag:void 0;function T(A){return null==A?void 0===A?D:S:C&&C in Object(A)?function(A){var t=M.call(A,B),e=A[B];try{A[B]=void 0;var n=!0}catch(A){}var r=E.call(A);return n&&(t?A[B]=e:delete A[B]),r}(A):function(A){return k.call(A)}(A)}var O="[object Symbol]";var P=/\s/;var I=/^\s+/;function j(A){return A?A.slice(0,function(A){for(var t=A.length;t--&&P.test(A.charAt(t)););return t}(A)+1).replace(I,""):A}function Q(A){var t=typeof A;return null!=A&&("object"==t||"function"==t)}var R=NaN,L=/^[-+]0x[0-9a-f]+$/i,G=/^0b[01]+$/i,F=/^0o[0-7]+$/i,U=parseInt;function z(A){if("number"==typeof A)return A;if(function(A){return"symbol"==typeof A||function(A){return null!=A&&"object"==typeof A}(A)&&T(A)==O}(A))return R;if(Q(A)){var t="function"==typeof A.valueOf?A.valueOf():A;A=Q(t)?t+"":t}if("string"!=typeof A)return 0===A?A:+A;A=j(A);var e=G.test(A);return e||F.test(A)?U(A.slice(2),e?2:8):L.test(A)?R:+A}var N=function(){return _.Date.now()},H="Expected a function",V=Math.max,Y=Math.min;function Z(A,t,e){var n,r,i,o,a,l,u=0,s=!1,f=!1,c=!0;if("function"!=typeof A)throw new TypeError(H);function h(t){var e=n,i=r;return n=r=void 0,u=t,o=A.apply(i,e)}function d(A){var e=A-l;return void 0===l||e>=t||e<0||f&&A-u>=i}function m(){var A=N();if(d(A))return p(A);a=setTimeout(m,function(A){var e=t-(A-l);return f?Y(e,i-(A-u)):e}(A))}function p(A){return a=void 0,c&&n?h(A):(n=r=void 0,o)}function g(){var A=N(),e=d(A);if(n=arguments,r=this,l=A,e){if(void 0===a)return function(A){return u=A,a=setTimeout(m,t),s?h(A):o}(l);if(f)return clearTimeout(a),a=setTimeout(m,t),h(l)}return void 0===a&&(a=setTimeout(m,t)),o}return t=z(t)||0,Q(e)&&(s=!!e.leading,i=(f="maxWait"in e)?V(z(e.maxWait)||0,t):i,c="trailing"in e?!!e.trailing:c),g.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=r=a=void 0},g.flush=function(){return void 0===a?o:p(N())},g}function W(A,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(A,(r=n.key,i=void 0,"symbol"==typeof(i=function(A,t){if("object"!=typeof A||null===A)return A;var e=A[Symbol.toPrimitive];if(void 0!==e){var n=e.call(A,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(A)}(r,"string"))?i:String(i)),n)}var r,i}function X(A,t,e){return t&&W(A.prototype,t),e&&W(A,e),Object.defineProperty(A,"prototype",{writable:!1}),A}function J(A,t){return function(A){if(Array.isArray(A))return A}(A)||function(A,t){var e=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null!=e){var n,r,i,o,a=[],l=!0,u=!1;try{if(i=(e=e.call(A)).next,0===t){if(Object(e)!==e)return;l=!1}else for(;!(l=(n=i.call(e)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(A){u=!0,r=A}finally{try{if(!l&&null!=e.return&&(o=e.return(),Object(o)!==o))return}finally{if(u)throw r}}return a}}(A,t)||function(A,t){if(!A)return;if("string"==typeof A)return K(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);"Object"===e&&A.constructor&&(e=A.constructor.name);if("Map"===e||"Set"===e)return Array.from(A);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return K(A,t)}(A,t)||function(){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 K(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}var $=X((function A(t,e){var n=e.default,r=void 0===n?null:n,i=e.triggerUpdate,o=void 0===i||i,a=e.onChange,l=void 0===a?function(A,t){}:a;!function(A,t){if(!(A instanceof t))throw new TypeError("Cannot call a class as a function")}(this,A),this.name=t,this.defaultVal=r,this.triggerUpdate=o,this.onChange=l}));function AA(A){var t=A.stateInit,e=void 0===t?function(){return{}}:t,n=A.props,r=void 0===n?{}:n,i=A.methods,o=void 0===i?{}:i,a=A.aliases,l=void 0===a?{}:a,u=A.init,s=void 0===u?function(){}:u,f=A.update,c=void 0===f?function(){}:f,h=Object.keys(r).map((function(A){return new $(A,r[A])}));return function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},e instanceof Function?e(A):e,{initialised:!1}),n={};function r(t){return i(t,A),a(),r}var i=function(A,e){s.call(r,A,t,e),t.initialised=!0},a=Z((function(){t.initialised&&(c.call(r,t,n),n={})}),1);return h.forEach((function(A){r[A.name]=function(A){var e=A.name,i=A.triggerUpdate,o=void 0!==i&&i,l=A.onChange,u=void 0===l?function(A,t){}:l,s=A.defaultVal,f=void 0===s?null:s;return function(A){var i=t[e];if(!arguments.length)return i;var l=void 0===A?f:A;return t[e]=l,u.call(r,l,t,i),!n.hasOwnProperty(e)&&(n[e]=i),o&&a(),r}}(A)})),Object.keys(o).forEach((function(A){r[A]=function(){for(var e,n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return(e=o[A]).call.apply(e,[r,t].concat(i))}})),Object.entries(l).forEach((function(A){var t=J(A,2),e=t[0],n=t[1];return r[e]=r[n]})),r.resetProps=function(){return h.forEach((function(A){r[A.name](A.defaultVal)})),r},r.resetProps(),t._rerender=a,r}}var tA,eA=Object.freeze({Linear:Object.freeze({None:function(A){return A},In:function(A){return this.None(A)},Out:function(A){return this.None(A)},InOut:function(A){return this.None(A)}}),Quadratic:Object.freeze({In:function(A){return A*A},Out:function(A){return A*(2-A)},InOut:function(A){return(A*=2)<1?.5*A*A:-.5*(--A*(A-2)-1)}}),Cubic:Object.freeze({In:function(A){return A*A*A},Out:function(A){return--A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A:.5*((A-=2)*A*A+2)}}),Quartic:Object.freeze({In:function(A){return A*A*A*A},Out:function(A){return 1- --A*A*A*A},InOut:function(A){return(A*=2)<1?.5*A*A*A*A:-.5*((A-=2)*A*A*A-2)}}),Quintic:Object.freeze({In:function(A){return A*A*A*A*A},Out:function(A){return--A*A*A*A*A+1},InOut:function(A){return(A*=2)<1?.5*A*A*A*A*A:.5*((A-=2)*A*A*A*A+2)}}),Sinusoidal:Object.freeze({In:function(A){return 1-Math.sin((1-A)*Math.PI/2)},Out:function(A){return Math.sin(A*Math.PI/2)},InOut:function(A){return.5*(1-Math.sin(Math.PI*(.5-A)))}}),Exponential:Object.freeze({In:function(A){return 0===A?0:Math.pow(1024,A-1)},Out:function(A){return 1===A?1:1-Math.pow(2,-10*A)},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?.5*Math.pow(1024,A-1):.5*(2-Math.pow(2,-10*(A-1)))}}),Circular:Object.freeze({In:function(A){return 1-Math.sqrt(1-A*A)},Out:function(A){return Math.sqrt(1- --A*A)},InOut:function(A){return(A*=2)<1?-.5*(Math.sqrt(1-A*A)-1):.5*(Math.sqrt(1-(A-=2)*A)+1)}}),Elastic:Object.freeze({In:function(A){return 0===A?0:1===A?1:-Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)},Out:function(A){return 0===A?0:1===A?1:Math.pow(2,-10*A)*Math.sin(5*(A-.1)*Math.PI)+1},InOut:function(A){return 0===A?0:1===A?1:(A*=2)<1?-.5*Math.pow(2,10*(A-1))*Math.sin(5*(A-1.1)*Math.PI):.5*Math.pow(2,-10*(A-1))*Math.sin(5*(A-1.1)*Math.PI)+1}}),Back:Object.freeze({In:function(A){var t=1.70158;return 1===A?1:A*A*((t+1)*A-t)},Out:function(A){var t=1.70158;return 0===A?0:--A*A*((t+1)*A+t)+1},InOut:function(A){var t=2.5949095;return(A*=2)<1?A*A*((t+1)*A-t)*.5:.5*((A-=2)*A*((t+1)*A+t)+2)}}),Bounce:Object.freeze({In:function(A){return 1-eA.Bounce.Out(1-A)},Out:function(A){return A<1/2.75?7.5625*A*A:A<2/2.75?7.5625*(A-=1.5/2.75)*A+.75:A<2.5/2.75?7.5625*(A-=2.25/2.75)*A+.9375:7.5625*(A-=2.625/2.75)*A+.984375},InOut:function(A){return A<.5?.5*eA.Bounce.In(2*A):.5*eA.Bounce.Out(2*A-1)+.5}}),generatePow:function(A){return void 0===A&&(A=4),A=(A=A<Number.EPSILON?Number.EPSILON:A)>1e4?1e4:A,{In:function(t){return Math.pow(t,A)},Out:function(t){return 1-Math.pow(1-t,A)},InOut:function(t){return t<.5?Math.pow(2*t,A)/2:(1-Math.pow(2-2*t,A))/2+.5}}}}),nA=function(){return performance.now()},rA=function(){function A(){this._tweens={},this._tweensAddedDuringUpdate={}}return A.prototype.getAll=function(){var A=this;return Object.keys(this._tweens).map((function(t){return A._tweens[t]}))},A.prototype.removeAll=function(){this._tweens={}},A.prototype.add=function(A){this._tweens[A.getId()]=A,this._tweensAddedDuringUpdate[A.getId()]=A},A.prototype.remove=function(A){delete this._tweens[A.getId()],delete this._tweensAddedDuringUpdate[A.getId()]},A.prototype.update=function(A,t){void 0===A&&(A=nA()),void 0===t&&(t=!1);var e=Object.keys(this._tweens);if(0===e.length)return!1;for(;e.length>0;){this._tweensAddedDuringUpdate={};for(var n=0;n<e.length;n++){var r=this._tweens[e[n]],i=!t;r&&!1===r.update(A,i)&&!t&&delete this._tweens[e[n]]}e=Object.keys(this._tweensAddedDuringUpdate)}return!0},A}(),iA={Linear:function(A,t){var e=A.length-1,n=e*t,r=Math.floor(n),i=iA.Utils.Linear;return t<0?i(A[0],A[1],n):t>1?i(A[e],A[e-1],e-n):i(A[r],A[r+1>e?e:r+1],n-r)},Bezier:function(A,t){for(var e=0,n=A.length-1,r=Math.pow,i=iA.Utils.Bernstein,o=0;o<=n;o++)e+=r(1-t,n-o)*r(t,o)*A[o]*i(n,o);return e},CatmullRom:function(A,t){var e=A.length-1,n=e*t,r=Math.floor(n),i=iA.Utils.CatmullRom;return A[0]===A[e]?(t<0&&(r=Math.floor(n=e*(1+t))),i(A[(r-1+e)%e],A[r],A[(r+1)%e],A[(r+2)%e],n-r)):t<0?A[0]-(i(A[0],A[0],A[1],A[1],-n)-A[0]):t>1?A[e]-(i(A[e],A[e],A[e-1],A[e-1],n-e)-A[e]):i(A[r?r-1:0],A[r],A[e<r+1?e:r+1],A[e<r+2?e:r+2],n-r)},Utils:{Linear:function(A,t,e){return(t-A)*e+A},Bernstein:function(A,t){var e=iA.Utils.Factorial;return e(A)/e(t)/e(A-t)},Factorial:(tA=[1],function(A){var t=1;if(tA[A])return tA[A];for(var e=A;e>1;e--)t*=e;return tA[A]=t,t}),CatmullRom:function(A,t,e,n,r){var i=.5*(e-A),o=.5*(n-t),a=r*r;return(2*t-2*e+i+o)*(r*a)+(-3*t+3*e-2*i-o)*a+i*r+t}}},oA=function(){function A(){}return A.nextId=function(){return A._nextId++},A._nextId=0,A}(),aA=new rA,lA=function(){function A(A,t){void 0===t&&(t=aA),this._object=A,this._group=t,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=eA.Linear.None,this._interpolationFunction=iA.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=oA.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1}return A.prototype.getId=function(){return this._id},A.prototype.isPlaying=function(){return this._isPlaying},A.prototype.isPaused=function(){return this._isPaused},A.prototype.to=function(A,t){if(void 0===t&&(t=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=A,this._propertiesAreSetUp=!1,this._duration=t,this},A.prototype.duration=function(A){return void 0===A&&(A=1e3),this._duration=A,this},A.prototype.dynamic=function(A){return void 0===A&&(A=!1),this._isDynamic=A,this},A.prototype.start=function(A,t){if(void 0===A&&(A=nA()),void 0===t&&(t=!1),this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var e in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e];if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=A,this._startTime+=this._delayTime,!this._propertiesAreSetUp||t){if(this._propertiesAreSetUp=!0,!this._isDynamic){var n={};for(var r in this._valuesEnd)n[r]=this._valuesEnd[r];this._valuesEnd=n}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,t)}return this},A.prototype.startFromCurrentValues=function(A){return this.start(A,!0)},A.prototype._setupProperties=function(A,t,e,n,r){for(var i in e){var o=A[i],a=Array.isArray(o),l=a?"array":typeof o,u=!a&&Array.isArray(e[i]);if("undefined"!==l&&"function"!==l){if(u){if(0===(p=e[i]).length)continue;for(var s=[o],f=0,c=p.length;f<c;f+=1){var h=this._handleRelativeValue(o,p[f]);if(isNaN(h)){u=!1,console.warn("Found invalid interpolation list. Skipping.");break}s.push(h)}u&&(e[i]=s)}if("object"!==l&&!a||!o||u)(void 0===t[i]||r)&&(t[i]=o),a||(t[i]*=1),n[i]=u?e[i].slice().reverse():t[i]||0;else{t[i]=a?[]:{};var d=o;for(var m in d)t[i][m]=d[m];n[i]=a?[]:{};var p=e[i];if(!this._isDynamic){var g={};for(var m in p)g[m]=p[m];e[i]=p=g}this._setupProperties(d,t[i],p,n[i],r)}}}},A.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},A.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},A.prototype.pause=function(A){return void 0===A&&(A=nA()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=A,this._group&&this._group.remove(this)),this},A.prototype.resume=function(A){return void 0===A&&(A=nA()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=A-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},A.prototype.stopChainedTweens=function(){for(var A=0,t=this._chainedTweens.length;A<t;A++)this._chainedTweens[A].stop();return this},A.prototype.group=function(A){return void 0===A&&(A=aA),this._group=A,this},A.prototype.delay=function(A){return void 0===A&&(A=0),this._delayTime=A,this},A.prototype.repeat=function(A){return void 0===A&&(A=0),this._initialRepeat=A,this._repeat=A,this},A.prototype.repeatDelay=function(A){return this._repeatDelayTime=A,this},A.prototype.yoyo=function(A){return void 0===A&&(A=!1),this._yoyo=A,this},A.prototype.easing=function(A){return void 0===A&&(A=eA.Linear.None),this._easingFunction=A,this},A.prototype.interpolation=function(A){return void 0===A&&(A=iA.Linear),this._interpolationFunction=A,this},A.prototype.chain=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];return this._chainedTweens=A,this},A.prototype.onStart=function(A){return this._onStartCallback=A,this},A.prototype.onEveryStart=function(A){return this._onEveryStartCallback=A,this},A.prototype.onUpdate=function(A){return this._onUpdateCallback=A,this},A.prototype.onRepeat=function(A){return this._onRepeatCallback=A,this},A.prototype.onComplete=function(A){return this._onCompleteCallback=A,this},A.prototype.onStop=function(A){return this._onStopCallback=A,this},A.prototype.update=function(A,t){if(void 0===A&&(A=nA()),void 0===t&&(t=!0),this._isPaused)return!0;var e,n,r=this._startTime+this._duration;if(!this._goToEnd&&!this._isPlaying){if(A>r)return!1;t&&this.start(A,!0)}if(this._goToEnd=!1,A<this._startTime)return!0;!1===this._onStartCallbackFired&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),!1===this._onEveryStartCallbackFired&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0),n=(A-this._startTime)/this._duration,n=0===this._duration||n>1?1:n;var i=this._easingFunction(n);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,i),this._onUpdateCallback&&this._onUpdateCallback(this._object,n),1===n){if(this._repeat>0){for(e in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[e]||(this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(this._valuesEnd[e])),this._yoyo&&this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=A+this._repeatDelayTime:this._startTime=A+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var o=0,a=this._chainedTweens.length;o<a;o++)this._chainedTweens[o].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},A.prototype._updateProperties=function(A,t,e,n){for(var r in e)if(void 0!==t[r]){var i=t[r]||0,o=e[r],a=Array.isArray(A[r]),l=Array.isArray(o);!a&&l?A[r]=this._interpolationFunction(o,n):"object"==typeof o&&o?this._updateProperties(A[r],i,o,n):"number"==typeof(o=this._handleRelativeValue(i,o))&&(A[r]=i+(o-i)*n)}},A.prototype._handleRelativeValue=function(A,t){return"string"!=typeof t?t:"+"===t.charAt(0)||"-"===t.charAt(0)?A+parseFloat(t):parseFloat(t)},A.prototype._swapEndStartRepeatValues=function(A){var t=this._valuesStartRepeat[A],e=this._valuesEnd[A];this._valuesStartRepeat[A]="string"==typeof e?this._valuesStartRepeat[A]+parseFloat(e):this._valuesEnd[A],this._valuesEnd[A]=t},A}(),uA=aA;uA.getAll.bind(uA),uA.removeAll.bind(uA),uA.add.bind(uA),uA.remove.bind(uA);var sA=uA.update.bind(uA),fA=function A(t){t instanceof Array?t.forEach(A):(t.map&&t.map.dispose(),t.dispose())},cA=function A(t){t.geometry&&t.geometry.dispose(),t.material&&fA(t.material),t.texture&&t.texture.dispose(),t.children&&t.children.forEach(A)},hA=function(A){if(A&&A.children)for(;A.children.length;){var t=A.children[0];A.remove(t),cA(t)}};function dA(A,t){var e=new t;return{linkProp:function(t){return{default:e[t](),onChange:function(e,n){n[A][t](e)},triggerUpdate:!1}},linkMethod:function(t){return function(e){for(var n=e[A],r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];var a=n[t].apply(n,i);return a===n?this:a}}}}var mA=100;function pA(){return mA}function gA(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=(90-A)*Math.PI/180,r=(90-t)*Math.PI/180,i=mA*(1+e);return{x:i*Math.sin(n)*Math.cos(r),y:i*Math.cos(n),z:i*Math.sin(n)*Math.sin(r)}}function bA(A){var t=A.x,e=A.y,n=A.z,r=Math.sqrt(t*t+e*e+n*n),i=Math.acos(e/r),o=Math.atan2(n,t);return{lat:90-180*i/Math.PI,lng:90-180*o/Math.PI-(o<-Math.PI/2?360:0),altitude:r/mA-1}}function vA(A){return A*Math.PI/180}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function yA(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}var qA={exports:{}};function _A(A,t,e){e=e||2;var n,r,i,o,a,l,u,s=t&&t.length,f=s?t[0]*e:A.length,c=xA(A,0,f,e,!0),h=[];if(!c||c.next===c.prev)return h;if(s&&(c=function(A,t,e,n){var r,i,o,a=[];for(r=0,i=t.length;r<i;r++)(o=xA(A,t[r]*n,r<i-1?t[r+1]*n:A.length,n,!1))===o.next&&(o.steiner=!0),a.push(PA(o));for(a.sort(DA),r=0;r<a.length;r++)e=CA(a[r],e);return e}(A,t,c,e)),A.length>80*e){n=i=A[0],r=o=A[1];for(var d=e;d<f;d+=e)(a=A[d])<n&&(n=a),(l=A[d+1])<r&&(r=l),a>i&&(i=a),l>o&&(o=l);u=0!==(u=Math.max(i-n,o-r))?32767/u:0}return MA(c,h,e,n,r,u,0),h}function xA(A,t,e,n,r){var i,o;if(r===YA(A,t,e,n)>0)for(i=t;i<e;i+=n)o=NA(i,A[i],A[i+1],o);else for(i=e-n;i>=t;i-=n)o=NA(i,A[i],A[i+1],o);return o&&RA(o,o.next)&&(HA(o),o=o.next),o}function wA(A,t){if(!A)return A;t||(t=A);var e,n=A;do{if(e=!1,n.steiner||!RA(n,n.next)&&0!==QA(n.prev,n,n.next))n=n.next;else{if(HA(n),(n=t=n.prev)===n.next)break;e=!0}}while(e||n!==t);return t}function MA(A,t,e,n,r,i,o){if(A){!o&&i&&function(A,t,e,n){var r=A;do{0===r.z&&(r.z=OA(r.x,r.y,t,e,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==A);r.prevZ.nextZ=null,r.prevZ=null,function(A){var t,e,n,r,i,o,a,l,u=1;do{for(e=A,A=null,i=null,o=0;e;){for(o++,n=e,a=0,t=0;t<u&&(a++,n=n.nextZ);t++);for(l=u;a>0||l>0&&n;)0!==a&&(0===l||!n||e.z<=n.z)?(r=e,e=e.nextZ,a--):(r=n,n=n.nextZ,l--),i?i.nextZ=r:A=r,r.prevZ=i,i=r;e=n}i.nextZ=null,u*=2}while(o>1)}(r)}(A,n,r,i);for(var a,l,u=A;A.prev!==A.next;)if(a=A.prev,l=A.next,i?BA(A,n,r,i):EA(A))t.push(a.i/e|0),t.push(A.i/e|0),t.push(l.i/e|0),HA(A),A=l.next,u=l.next;else if((A=l)===u){o?1===o?MA(A=kA(wA(A),t,e),t,e,n,r,i,2):2===o&&SA(A,t,e,n,r,i):MA(wA(A),t,e,n,r,i,1);break}}}function EA(A){var t=A.prev,e=A,n=A.next;if(QA(t,e,n)>=0)return!1;for(var r=t.x,i=e.x,o=n.x,a=t.y,l=e.y,u=n.y,s=r<i?r<o?r:o:i<o?i:o,f=a<l?a<u?a:u:l<u?l:u,c=r>i?r>o?r:o:i>o?i:o,h=a>l?a>u?a:u:l>u?l:u,d=n.next;d!==t;){if(d.x>=s&&d.x<=c&&d.y>=f&&d.y<=h&&IA(r,a,i,l,o,u,d.x,d.y)&&QA(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function BA(A,t,e,n){var r=A.prev,i=A,o=A.next;if(QA(r,i,o)>=0)return!1;for(var a=r.x,l=i.x,u=o.x,s=r.y,f=i.y,c=o.y,h=a<l?a<u?a:u:l<u?l:u,d=s<f?s<c?s:c:f<c?f:c,m=a>l?a>u?a:u:l>u?l:u,p=s>f?s>c?s:c:f>c?f:c,g=OA(h,d,t,e,n),b=OA(m,p,t,e,n),v=A.prevZ,y=A.nextZ;v&&v.z>=g&&y&&y.z<=b;){if(v.x>=h&&v.x<=m&&v.y>=d&&v.y<=p&&v!==r&&v!==o&&IA(a,s,l,f,u,c,v.x,v.y)&&QA(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y.x>=h&&y.x<=m&&y.y>=d&&y.y<=p&&y!==r&&y!==o&&IA(a,s,l,f,u,c,y.x,y.y)&&QA(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=g;){if(v.x>=h&&v.x<=m&&v.y>=d&&v.y<=p&&v!==r&&v!==o&&IA(a,s,l,f,u,c,v.x,v.y)&&QA(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=b;){if(y.x>=h&&y.x<=m&&y.y>=d&&y.y<=p&&y!==r&&y!==o&&IA(a,s,l,f,u,c,y.x,y.y)&&QA(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function kA(A,t,e){var n=A;do{var r=n.prev,i=n.next.next;!RA(r,i)&&LA(r,n,n.next,i)&&UA(r,i)&&UA(i,r)&&(t.push(r.i/e|0),t.push(n.i/e|0),t.push(i.i/e|0),HA(n),HA(n.next),n=A=i),n=n.next}while(n!==A);return wA(n)}function SA(A,t,e,n,r,i){var o=A;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&jA(o,a)){var l=zA(o,a);return o=wA(o,o.next),l=wA(l,l.next),MA(o,t,e,n,r,i,0),void MA(l,t,e,n,r,i,0)}a=a.next}o=o.next}while(o!==A)}function DA(A,t){return A.x-t.x}function CA(A,t){var e=function(A,t){var e,n=t,r=A.x,i=A.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var a=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(a<=r&&a>o&&(o=a,e=n.x<n.next.x?n:n.next,a===r))return e}n=n.next}while(n!==t);if(!e)return null;var l,u=e,s=e.x,f=e.y,c=1/0;n=e;do{r>=n.x&&n.x>=s&&r!==n.x&&IA(i<f?r:o,i,s,f,i<f?o:r,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(r-n.x),UA(n,A)&&(l<c||l===c&&(n.x>e.x||n.x===e.x&&TA(e,n)))&&(e=n,c=l)),n=n.next}while(n!==u);return e}(A,t);if(!e)return t;var n=zA(e,A);return wA(n,n.next),wA(e,e.next)}function TA(A,t){return QA(A.prev,A,t.prev)<0&&QA(t.next,A,A.next)<0}function OA(A,t,e,n,r){return(A=1431655765&((A=858993459&((A=252645135&((A=16711935&((A=(A-e)*r|0)|A<<8))|A<<4))|A<<2))|A<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-n)*r|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function PA(A){var t=A,e=A;do{(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next}while(t!==A);return e}function IA(A,t,e,n,r,i,o,a){return(r-o)*(t-a)>=(A-o)*(i-a)&&(A-o)*(n-a)>=(e-o)*(t-a)&&(e-o)*(i-a)>=(r-o)*(n-a)}function jA(A,t){return A.next.i!==t.i&&A.prev.i!==t.i&&!function(A,t){var e=A;do{if(e.i!==A.i&&e.next.i!==A.i&&e.i!==t.i&&e.next.i!==t.i&&LA(e,e.next,A,t))return!0;e=e.next}while(e!==A);return!1}(A,t)&&(UA(A,t)&&UA(t,A)&&function(A,t){var e=A,n=!1,r=(A.x+t.x)/2,i=(A.y+t.y)/2;do{e.y>i!=e.next.y>i&&e.next.y!==e.y&&r<(e.next.x-e.x)*(i-e.y)/(e.next.y-e.y)+e.x&&(n=!n),e=e.next}while(e!==A);return n}(A,t)&&(QA(A.prev,A,t.prev)||QA(A,t.prev,t))||RA(A,t)&&QA(A.prev,A,A.next)>0&&QA(t.prev,t,t.next)>0)}function QA(A,t,e){return(t.y-A.y)*(e.x-t.x)-(t.x-A.x)*(e.y-t.y)}function RA(A,t){return A.x===t.x&&A.y===t.y}function LA(A,t,e,n){var r=FA(QA(A,t,e)),i=FA(QA(A,t,n)),o=FA(QA(e,n,A)),a=FA(QA(e,n,t));return r!==i&&o!==a||(!(0!==r||!GA(A,e,t))||(!(0!==i||!GA(A,n,t))||(!(0!==o||!GA(e,A,n))||!(0!==a||!GA(e,t,n)))))}function GA(A,t,e){return t.x<=Math.max(A.x,e.x)&&t.x>=Math.min(A.x,e.x)&&t.y<=Math.max(A.y,e.y)&&t.y>=Math.min(A.y,e.y)}function FA(A){return A>0?1:A<0?-1:0}function UA(A,t){return QA(A.prev,A,A.next)<0?QA(A,t,A.next)>=0&&QA(A,A.prev,t)>=0:QA(A,t,A.prev)<0||QA(A,A.next,t)<0}function zA(A,t){var e=new VA(A.i,A.x,A.y),n=new VA(t.i,t.x,t.y),r=A.next,i=t.prev;return A.next=t,t.prev=A,e.next=r,r.prev=e,n.next=e,e.prev=n,i.next=n,n.prev=i,n}function NA(A,t,e,n){var r=new VA(A,t,e);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function HA(A){A.next.prev=A.prev,A.prev.next=A.next,A.prevZ&&(A.prevZ.nextZ=A.nextZ),A.nextZ&&(A.nextZ.prevZ=A.prevZ)}function VA(A,t,e){this.i=A,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function YA(A,t,e,n){for(var r=0,i=t,o=e-n;i<e;i+=n)r+=(A[o]-A[i])*(A[i+1]+A[o+1]),o=i;return r}qA.exports=_A,qA.exports.default=_A,_A.deviation=function(A,t,e,n){var r=t&&t.length,i=r?t[0]*e:A.length,o=Math.abs(YA(A,0,i,e));if(r)for(var a=0,l=t.length;a<l;a++){var u=t[a]*e,s=a<l-1?t[a+1]*e:A.length;o-=Math.abs(YA(A,u,s,e))}var f=0;for(a=0;a<n.length;a+=3){var c=n[a]*e,h=n[a+1]*e,d=n[a+2]*e;f+=Math.abs((A[c]-A[d])*(A[h+1]-A[c+1])-(A[c]-A[h])*(A[d+1]-A[c+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},_A.flatten=function(A){for(var t=A[0][0].length,e={vertices:[],holes:[],dimensions:t},n=0,r=0;r<A.length;r++){for(var i=0;i<A[r].length;i++)for(var o=0;o<t;o++)e.vertices.push(A[r][i][o]);r>0&&(n+=A[r-1].length,e.holes.push(n))}return e};var ZA=yA(qA.exports);function WA(A,t){return null==A||null==t?NaN:A<t?-1:A>t?1:A>=t?0:NaN}function XA(A,t){return null==A||null==t?NaN:t<A?-1:t>A?1:t>=A?0:NaN}function JA(A){let t,e,n;function r(A,n,r=0,i=A.length){if(r<i){if(0!==t(n,n))return i;do{const t=r+i>>>1;e(A[t],n)<0?r=t+1:i=t}while(r<i)}return r}return 2!==A.length?(t=WA,e=(t,e)=>WA(A(t),e),n=(t,e)=>A(t)-e):(t=A===WA||A===XA?A:KA,e=A,n=A),{left:r,center:function(A,t,e=0,i=A.length){const o=r(A,t,e,i-1);return o>e&&n(A[o-1],t)>-n(A[o],t)?o-1:o},right:function(A,n,r=0,i=A.length){if(r<i){if(0!==t(n,n))return i;do{const t=r+i>>>1;e(A[t],n)<=0?r=t+1:i=t}while(r<i)}return r}}}function KA(){return 0}const $A=JA(WA).right;JA((function(A){return null===A?NaN:+A})).center;var At=$A;function tt(A,t){let e,n;if(void 0===t)for(const t of A)null!=t&&(void 0===e?t>=t&&(e=n=t):(e>t&&(e=t),n<t&&(n=t)));else{let r=-1;for(let i of A)null!=(i=t(i,++r,A))&&(void 0===e?i>=i&&(e=n=i):(e>i&&(e=i),n<i&&(n=i)))}return[e,n]}class et{constructor(){this._partials=new Float64Array(32),this._n=0}add(A){const t=this._partials;let e=0;for(let n=0;n<this._n&&n<32;n++){const r=t[n],i=A+r,o=Math.abs(A)<Math.abs(r)?A-(i-r):r-(i-A);o&&(t[e++]=o),A=i}return t[e]=A,this._n=e+1,this}valueOf(){const A=this._partials;let t,e,n,r=this._n,i=0;if(r>0){for(i=A[--r];r>0&&(t=i,e=A[--r],i=t+e,n=e-(i-t),!n););r>0&&(n<0&&A[r-1]<0||n>0&&A[r-1]>0)&&(e=2*n,t=i+e,e==t-i&&(i=t))}return i}}const nt=Math.sqrt(50),rt=Math.sqrt(10),it=Math.sqrt(2);function ot(A,t,e){const n=(t-A)/Math.max(0,e),r=Math.floor(Math.log10(n)),i=n/Math.pow(10,r),o=i>=nt?10:i>=rt?5:i>=it?2:1;let a,l,u;return r<0?(u=Math.pow(10,-r)/o,a=Math.round(A*u),l=Math.round(t*u),a/u<A&&++a,l/u>t&&--l,u=-u):(u=Math.pow(10,r)*o,a=Math.round(A/u),l=Math.round(t/u),a*u<A&&++a,l*u>t&&--l),l<a&&.5<=e&&e<2?ot(A,t,2*e):[a,l,u]}function at(A,t,e){return ot(A=+A,t=+t,e=+e)[2]}function lt(A){return Array.from(function*(A){for(const t of A)yield*t}(A))}function ut(A,t,e){A=+A,t=+t,e=(r=arguments.length)<2?(t=A,A=0,1):r<3?1:+e;for(var n=-1,r=0|Math.max(0,Math.ceil((t-A)/e)),i=new Array(r);++n<r;)i[n]=A+n*e;return i}var st=1e-6,ft=1e-12,ct=Math.PI,ht=ct/2,dt=ct/4,mt=2*ct,pt=180/ct,gt=ct/180,bt=Math.abs,vt=Math.atan,yt=Math.atan2,qt=Math.cos,_t=Math.ceil,xt=Math.hypot,wt=Math.sin,Mt=Math.sign||function(A){return A>0?1:A<0?-1:0},Et=Math.sqrt;function Bt(A){return A>1?ht:A<-1?-ht:Math.asin(A)}function kt(A){return(A=wt(A/2))*A}function St(){}function Dt(A,t){A&&Tt.hasOwnProperty(A.type)&&Tt[A.type](A,t)}var Ct={Feature:function(A,t){Dt(A.geometry,t)},FeatureCollection:function(A,t){for(var e=A.features,n=-1,r=e.length;++n<r;)Dt(e[n].geometry,t)}},Tt={Sphere:function(A,t){t.sphere()},Point:function(A,t){A=A.coordinates,t.point(A[0],A[1],A[2])},MultiPoint:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)A=e[n],t.point(A[0],A[1],A[2])},LineString:function(A,t){Ot(A.coordinates,t,0)},MultiLineString:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)Ot(e[n],t,0)},Polygon:function(A,t){Pt(A.coordinates,t)},MultiPolygon:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)Pt(e[n],t)},GeometryCollection:function(A,t){for(var e=A.geometries,n=-1,r=e.length;++n<r;)Dt(e[n],t)}};function Ot(A,t,e){var n,r=-1,i=A.length-e;for(t.lineStart();++r<i;)n=A[r],t.point(n[0],n[1],n[2]);t.lineEnd()}function Pt(A,t){var e=-1,n=A.length;for(t.polygonStart();++e<n;)Ot(A[e],t,1);t.polygonEnd()}function It(A,t){A&&Ct.hasOwnProperty(A.type)?Ct[A.type](A,t):Dt(A,t)}var jt,Qt,Rt,Lt,Gt,Ft,Ut,zt,Nt,Ht,Vt,Yt,Zt,Wt,Xt,Jt,Kt=new et,$t=new et,Ae={point:St,lineStart:St,lineEnd:St,polygonStart:function(){Kt=new et,Ae.lineStart=te,Ae.lineEnd=ee},polygonEnd:function(){var A=+Kt;$t.add(A<0?mt+A:A),this.lineStart=this.lineEnd=this.point=St},sphere:function(){$t.add(mt)}};function te(){Ae.point=ne}function ee(){re(jt,Qt)}function ne(A,t){Ae.point=re,jt=A,Qt=t,Rt=A*=gt,Lt=qt(t=(t*=gt)/2+dt),Gt=wt(t)}function re(A,t){var e=(A*=gt)-Rt,n=e>=0?1:-1,r=n*e,i=qt(t=(t*=gt)/2+dt),o=wt(t),a=Gt*o,l=Lt*i+a*qt(r),u=a*n*wt(r);Kt.add(yt(u,l)),Rt=A,Lt=i,Gt=o}function ie(A){return[yt(A[1],A[0]),Bt(A[2])]}function oe(A){var t=A[0],e=A[1],n=qt(e);return[n*qt(t),n*wt(t),wt(e)]}function ae(A,t){return A[0]*t[0]+A[1]*t[1]+A[2]*t[2]}function le(A,t){return[A[1]*t[2]-A[2]*t[1],A[2]*t[0]-A[0]*t[2],A[0]*t[1]-A[1]*t[0]]}function ue(A,t){A[0]+=t[0],A[1]+=t[1],A[2]+=t[2]}function se(A,t){return[A[0]*t,A[1]*t,A[2]*t]}function fe(A){var t=Et(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);A[0]/=t,A[1]/=t,A[2]/=t}var ce,he,de,me,pe,ge,be,ve,ye,qe,_e,xe,we,Me,Ee,Be,ke={point:Se,lineStart:Ce,lineEnd:Te,polygonStart:function(){ke.point=Oe,ke.lineStart=Pe,ke.lineEnd=Ie,Wt=new et,Ae.polygonStart()},polygonEnd:function(){Ae.polygonEnd(),ke.point=Se,ke.lineStart=Ce,ke.lineEnd=Te,Kt<0?(Ft=-(zt=180),Ut=-(Nt=90)):Wt>st?Nt=90:Wt<-st&&(Ut=-90),Jt[0]=Ft,Jt[1]=zt},sphere:function(){Ft=-(zt=180),Ut=-(Nt=90)}};function Se(A,t){Xt.push(Jt=[Ft=A,zt=A]),t<Ut&&(Ut=t),t>Nt&&(Nt=t)}function De(A,t){var e=oe([A*gt,t*gt]);if(Zt){var n=le(Zt,e),r=le([n[1],-n[0],0],n);fe(r),r=ie(r);var i,o=A-Ht,a=o>0?1:-1,l=r[0]*pt*a,u=bt(o)>180;u^(a*Ht<l&&l<a*A)?(i=r[1]*pt)>Nt&&(Nt=i):u^(a*Ht<(l=(l+360)%360-180)&&l<a*A)?(i=-r[1]*pt)<Ut&&(Ut=i):(t<Ut&&(Ut=t),t>Nt&&(Nt=t)),u?A<Ht?je(Ft,A)>je(Ft,zt)&&(zt=A):je(A,zt)>je(Ft,zt)&&(Ft=A):zt>=Ft?(A<Ft&&(Ft=A),A>zt&&(zt=A)):A>Ht?je(Ft,A)>je(Ft,zt)&&(zt=A):je(A,zt)>je(Ft,zt)&&(Ft=A)}else Xt.push(Jt=[Ft=A,zt=A]);t<Ut&&(Ut=t),t>Nt&&(Nt=t),Zt=e,Ht=A}function Ce(){ke.point=De}function Te(){Jt[0]=Ft,Jt[1]=zt,ke.point=Se,Zt=null}function Oe(A,t){if(Zt){var e=A-Ht;Wt.add(bt(e)>180?e+(e>0?360:-360):e)}else Vt=A,Yt=t;Ae.point(A,t),De(A,t)}function Pe(){Ae.lineStart()}function Ie(){Oe(Vt,Yt),Ae.lineEnd(),bt(Wt)>st&&(Ft=-(zt=180)),Jt[0]=Ft,Jt[1]=zt,Zt=null}function je(A,t){return(t-=A)<0?t+360:t}function Qe(A,t){return A[0]-t[0]}function Re(A,t){return A[0]<=A[1]?A[0]<=t&&t<=A[1]:t<A[0]||A[1]<t}function Le(A){var t,e,n,r,i,o,a;if(Nt=zt=-(Ft=Ut=1/0),Xt=[],It(A,ke),e=Xt.length){for(Xt.sort(Qe),t=1,i=[n=Xt[0]];t<e;++t)Re(n,(r=Xt[t])[0])||Re(n,r[1])?(je(n[0],r[1])>je(n[0],n[1])&&(n[1]=r[1]),je(r[0],n[1])>je(n[0],n[1])&&(n[0]=r[0])):i.push(n=r);for(o=-1/0,t=0,n=i[e=i.length-1];t<=e;n=r,++t)r=i[t],(a=je(n[1],r[0]))>o&&(o=a,Ft=r[0],zt=n[1])}return Xt=Jt=null,Ft===1/0||Ut===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ft,Ut],[zt,Nt]]}var Ge={sphere:St,point:Fe,lineStart:ze,lineEnd:Ve,polygonStart:function(){Ge.lineStart=Ye,Ge.lineEnd=Ze},polygonEnd:function(){Ge.lineStart=ze,Ge.lineEnd=Ve}};function Fe(A,t){A*=gt;var e=qt(t*=gt);Ue(e*qt(A),e*wt(A),wt(t))}function Ue(A,t,e){++ce,de+=(A-de)/ce,me+=(t-me)/ce,pe+=(e-pe)/ce}function ze(){Ge.point=Ne}function Ne(A,t){A*=gt;var e=qt(t*=gt);Me=e*qt(A),Ee=e*wt(A),Be=wt(t),Ge.point=He,Ue(Me,Ee,Be)}function He(A,t){A*=gt;var e=qt(t*=gt),n=e*qt(A),r=e*wt(A),i=wt(t),o=yt(Et((o=Ee*i-Be*r)*o+(o=Be*n-Me*i)*o+(o=Me*r-Ee*n)*o),Me*n+Ee*r+Be*i);he+=o,ge+=o*(Me+(Me=n)),be+=o*(Ee+(Ee=r)),ve+=o*(Be+(Be=i)),Ue(Me,Ee,Be)}function Ve(){Ge.point=Fe}function Ye(){Ge.point=We}function Ze(){Xe(xe,we),Ge.point=Fe}function We(A,t){xe=A,we=t,A*=gt,t*=gt,Ge.point=Xe;var e=qt(t);Me=e*qt(A),Ee=e*wt(A),Be=wt(t),Ue(Me,Ee,Be)}function Xe(A,t){A*=gt;var e=qt(t*=gt),n=e*qt(A),r=e*wt(A),i=wt(t),o=Ee*i-Be*r,a=Be*n-Me*i,l=Me*r-Ee*n,u=xt(o,a,l),s=Bt(u),f=u&&-s/u;ye.add(f*o),qe.add(f*a),_e.add(f*l),he+=s,ge+=s*(Me+(Me=n)),be+=s*(Ee+(Ee=r)),ve+=s*(Be+(Be=i)),Ue(Me,Ee,Be)}function Je(A){ce=he=de=me=pe=ge=be=ve=0,ye=new et,qe=new et,_e=new et,It(A,Ge);var t=+ye,e=+qe,n=+_e,r=xt(t,e,n);return r<ft&&(t=ge,e=be,n=ve,he<st&&(t=de,e=me,n=pe),(r=xt(t,e,n))<ft)?[NaN,NaN]:[yt(e,t)*pt,Bt(n/r)*pt]}function Ke(A,t){function e(e,n){return e=A(e,n),t(e[0],e[1])}return A.invert&&t.invert&&(e.invert=function(e,n){return(e=t.invert(e,n))&&A.invert(e[0],e[1])}),e}function $e(A,t){return bt(A)>ct&&(A-=Math.round(A/mt)*mt),[A,t]}function An(A,t,e){return(A%=mt)?t||e?Ke(en(A),nn(t,e)):en(A):t||e?nn(t,e):$e}function tn(A){return function(t,e){return bt(t+=A)>ct&&(t-=Math.round(t/mt)*mt),[t,e]}}function en(A){var t=tn(A);return t.invert=tn(-A),t}function nn(A,t){var e=qt(A),n=wt(A),r=qt(t),i=wt(t);function o(A,t){var o=qt(t),a=qt(A)*o,l=wt(A)*o,u=wt(t),s=u*e+a*n;return[yt(l*r-s*i,a*e-u*n),Bt(s*r+l*i)]}return o.invert=function(A,t){var o=qt(t),a=qt(A)*o,l=wt(A)*o,u=wt(t),s=u*r-l*i;return[yt(l*r+u*i,a*e+s*n),Bt(s*e-a*n)]},o}function rn(A,t){(t=oe(t))[0]-=A,fe(t);var e,n=(e=-t[1])>1?0:e<-1?ct:Math.acos(e);return((-t[2]<0?-n:n)+mt-st)%mt}function on(){var A,t=[];return{point:function(t,e,n){A.push([t,e,n])},lineStart:function(){t.push(A=[])},lineEnd:St,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var e=t;return t=[],A=null,e}}}function an(A,t){return bt(A[0]-t[0])<st&&bt(A[1]-t[1])<st}function ln(A,t,e,n){this.x=A,this.z=t,this.o=e,this.e=n,this.v=!1,this.n=this.p=null}function un(A,t,e,n,r){var i,o,a=[],l=[];if(A.forEach((function(A){if(!((t=A.length-1)<=0)){var t,e,n=A[0],o=A[t];if(an(n,o)){if(!n[2]&&!o[2]){for(r.lineStart(),i=0;i<t;++i)r.point((n=A[i])[0],n[1]);return void r.lineEnd()}o[0]+=2*st}a.push(e=new ln(n,A,null,!0)),l.push(e.o=new ln(n,null,e,!1)),a.push(e=new ln(o,A,null,!1)),l.push(e.o=new ln(o,null,e,!0))}})),a.length){for(l.sort(t),sn(a),sn(l),i=0,o=l.length;i<o;++i)l[i].e=e=!e;for(var u,s,f=a[0];;){for(var c=f,h=!0;c.v;)if((c=c.n)===f)return;u=c.z,r.lineStart();do{if(c.v=c.o.v=!0,c.e){if(h)for(i=0,o=u.length;i<o;++i)r.point((s=u[i])[0],s[1]);else n(c.x,c.n.x,1,r);c=c.n}else{if(h)for(u=c.p.z,i=u.length-1;i>=0;--i)r.point((s=u[i])[0],s[1]);else n(c.x,c.p.x,-1,r);c=c.p}u=(c=c.o).z,h=!h}while(!c.v);r.lineEnd()}}}function sn(A){if(t=A.length){for(var t,e,n=0,r=A[0];++n<t;)r.n=e=A[n],e.p=r,r=e;r.n=e=A[0],e.p=r}}function fn(A){return bt(A[0])<=ct?A[0]:Mt(A[0])*((bt(A[0])+ct)%mt-ct)}function cn(A,t){var e=fn(t),n=t[1],r=wt(n),i=[wt(e),-qt(e),0],o=0,a=0,l=new et;1===r?n=ht+st:-1===r&&(n=-ht-st);for(var u=0,s=A.length;u<s;++u)if(c=(f=A[u]).length)for(var f,c,h=f[c-1],d=fn(h),m=h[1]/2+dt,p=wt(m),g=qt(m),b=0;b<c;++b,d=y,p=_,g=x,h=v){var v=f[b],y=fn(v),q=v[1]/2+dt,_=wt(q),x=qt(q),w=y-d,M=w>=0?1:-1,E=M*w,B=E>ct,k=p*_;if(l.add(yt(k*M*wt(E),g*x+k*qt(E))),o+=B?w+M*mt:w,B^d>=e^y>=e){var S=le(oe(h),oe(v));fe(S);var D=le(i,S);fe(D);var C=(B^w>=0?-1:1)*Bt(D[2]);(n>C||n===C&&(S[0]||S[1]))&&(a+=B^w>=0?1:-1)}}return(o<-st||o<st&&l<-ft)^1&a}function hn(A,t,e,n){return function(r){var i,o,a,l=t(r),u=on(),s=t(u),f=!1,c={point:h,lineStart:m,lineEnd:p,polygonStart:function(){c.point=g,c.lineStart=b,c.lineEnd=v,o=[],i=[]},polygonEnd:function(){c.point=h,c.lineStart=m,c.lineEnd=p,o=lt(o);var A=cn(i,n);o.length?(f||(r.polygonStart(),f=!0),un(o,mn,A,e,r)):A&&(f||(r.polygonStart(),f=!0),r.lineStart(),e(null,null,1,r),r.lineEnd()),f&&(r.polygonEnd(),f=!1),o=i=null},sphere:function(){r.polygonStart(),r.lineStart(),e(null,null,1,r),r.lineEnd(),r.polygonEnd()}};function h(t,e){A(t,e)&&r.point(t,e)}function d(A,t){l.point(A,t)}function m(){c.point=d,l.lineStart()}function p(){c.point=h,l.lineEnd()}function g(A,t){a.push([A,t]),s.point(A,t)}function b(){s.lineStart(),a=[]}function v(){g(a[0][0],a[0][1]),s.lineEnd();var A,t,e,n,l=s.clean(),c=u.result(),h=c.length;if(a.pop(),i.push(a),a=null,h)if(1&l){if((t=(e=c[0]).length-1)>0){for(f||(r.polygonStart(),f=!0),r.lineStart(),A=0;A<t;++A)r.point((n=e[A])[0],n[1]);r.lineEnd()}}else h>1&&2&l&&c.push(c.pop().concat(c.shift())),o.push(c.filter(dn))}return c}}function dn(A){return A.length>1}function mn(A,t){return((A=A.x)[0]<0?A[1]-ht-st:ht-A[1])-((t=t.x)[0]<0?t[1]-ht-st:ht-t[1])}$e.invert=$e;var pn=hn((function(){return!0}),(function(A){var t,e=NaN,n=NaN,r=NaN;return{lineStart:function(){A.lineStart(),t=1},point:function(i,o){var a=i>0?ct:-ct,l=bt(i-e);bt(l-ct)<st?(A.point(e,n=(n+o)/2>0?ht:-ht),A.point(r,n),A.lineEnd(),A.lineStart(),A.point(a,n),A.point(i,n),t=0):r!==a&&l>=ct&&(bt(e-r)<st&&(e-=r*st),bt(i-a)<st&&(i-=a*st),n=function(A,t,e,n){var r,i,o=wt(A-e);return bt(o)>st?vt((wt(t)*(i=qt(n))*wt(e)-wt(n)*(r=qt(t))*wt(A))/(r*i*o)):(t+n)/2}(e,n,i,o),A.point(r,n),A.lineEnd(),A.lineStart(),A.point(a,n),t=0),A.point(e=i,n=o),r=a},lineEnd:function(){A.lineEnd(),e=n=NaN},clean:function(){return 2-t}}}),(function(A,t,e,n){var r;if(null==A)r=e*ht,n.point(-ct,r),n.point(0,r),n.point(ct,r),n.point(ct,0),n.point(ct,-r),n.point(0,-r),n.point(-ct,-r),n.point(-ct,0),n.point(-ct,r);else if(bt(A[0]-t[0])>st){var i=A[0]<t[0]?ct:-ct;r=e*i/2,n.point(-i,r),n.point(0,r),n.point(i,r)}else n.point(t[0],t[1])}),[-ct,-ht]);function gn(A){var t=qt(A),e=6*gt,n=t>0,r=bt(t)>st;function i(A,e){return qt(A)*qt(e)>t}function o(A,e,n){var r=[1,0,0],i=le(oe(A),oe(e)),o=ae(i,i),a=i[0],l=o-a*a;if(!l)return!n&&A;var u=t*o/l,s=-t*a/l,f=le(r,i),c=se(r,u);ue(c,se(i,s));var h=f,d=ae(c,h),m=ae(h,h),p=d*d-m*(ae(c,c)-1);if(!(p<0)){var g=Et(p),b=se(h,(-d-g)/m);if(ue(b,c),b=ie(b),!n)return b;var v,y=A[0],q=e[0],_=A[1],x=e[1];q<y&&(v=y,y=q,q=v);var w=q-y,M=bt(w-ct)<st;if(!M&&x<_&&(v=_,_=x,x=v),M||w<st?M?_+x>0^b[1]<(bt(b[0]-y)<st?_:x):_<=b[1]&&b[1]<=x:w>ct^(y<=b[0]&&b[0]<=q)){var E=se(h,(-d+g)/m);return ue(E,c),[b,ie(E)]}}}function a(t,e){var r=n?A:ct-A,i=0;return t<-r?i|=1:t>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}return hn(i,(function(A){var t,e,l,u,s;return{lineStart:function(){u=l=!1,s=1},point:function(f,c){var h,d=[f,c],m=i(f,c),p=n?m?0:a(f,c):m?a(f+(f<0?ct:-ct),c):0;if(!t&&(u=l=m)&&A.lineStart(),m!==l&&(!(h=o(t,d))||an(t,h)||an(d,h))&&(d[2]=1),m!==l)s=0,m?(A.lineStart(),h=o(d,t),A.point(h[0],h[1])):(h=o(t,d),A.point(h[0],h[1],2),A.lineEnd()),t=h;else if(r&&t&&n^m){var g;p&e||!(g=o(d,t,!0))||(s=0,n?(A.lineStart(),A.point(g[0][0],g[0][1]),A.point(g[1][0],g[1][1]),A.lineEnd()):(A.point(g[1][0],g[1][1]),A.lineEnd(),A.lineStart(),A.point(g[0][0],g[0][1],3)))}!m||t&&an(t,d)||A.point(d[0],d[1]),t=d,l=m,e=p},lineEnd:function(){l&&A.lineEnd(),t=null},clean:function(){return s|(u&&l)<<1}}}),(function(t,n,r,i){!function(A,t,e,n,r,i){if(e){var o=qt(t),a=wt(t),l=n*e;null==r?(r=t+n*mt,i=t-l/2):(r=rn(o,r),i=rn(o,i),(n>0?r<i:r>i)&&(r+=n*mt));for(var u,s=r;n>0?s>i:s<i;s-=l)u=ie([o,-a*qt(s),-a*wt(s)]),A.point(u[0],u[1])}}(i,A,e,r,t,n)}),n?[0,-A]:[-ct,A-ct])}var bn,vn,yn,qn,_n=1e9,xn=-_n;function wn(A,t,e,n){function r(r,i){return A<=r&&r<=e&&t<=i&&i<=n}function i(r,i,a,u){var s=0,f=0;if(null==r||(s=o(r,a))!==(f=o(i,a))||l(r,i)<0^a>0)do{u.point(0===s||3===s?A:e,s>1?n:t)}while((s=(s+a+4)%4)!==f);else u.point(i[0],i[1])}function o(n,r){return bt(n[0]-A)<st?r>0?0:3:bt(n[0]-e)<st?r>0?2:1:bt(n[1]-t)<st?r>0?1:0:r>0?3:2}function a(A,t){return l(A.x,t.x)}function l(A,t){var e=o(A,1),n=o(t,1);return e!==n?e-n:0===e?t[1]-A[1]:1===e?A[0]-t[0]:2===e?A[1]-t[1]:t[0]-A[0]}return function(o){var l,u,s,f,c,h,d,m,p,g,b,v=o,y=on(),q={point:_,lineStart:function(){q.point=x,u&&u.push(s=[]);g=!0,p=!1,d=m=NaN},lineEnd:function(){l&&(x(f,c),h&&p&&y.rejoin(),l.push(y.result()));q.point=_,p&&v.lineEnd()},polygonStart:function(){v=y,l=[],u=[],b=!0},polygonEnd:function(){var t=function(){for(var t=0,e=0,r=u.length;e<r;++e)for(var i,o,a=u[e],l=1,s=a.length,f=a[0],c=f[0],h=f[1];l<s;++l)i=c,o=h,c=(f=a[l])[0],h=f[1],o<=n?h>n&&(c-i)*(n-o)>(h-o)*(A-i)&&++t:h<=n&&(c-i)*(n-o)<(h-o)*(A-i)&&--t;return t}(),e=b&&t,r=(l=lt(l)).length;(e||r)&&(o.polygonStart(),e&&(o.lineStart(),i(null,null,1,o),o.lineEnd()),r&&un(l,a,t,i,o),o.polygonEnd());v=o,l=u=s=null}};function _(A,t){r(A,t)&&v.point(A,t)}function x(i,o){var a=r(i,o);if(u&&s.push([i,o]),g)f=i,c=o,h=a,g=!1,a&&(v.lineStart(),v.point(i,o));else if(a&&p)v.point(i,o);else{var l=[d=Math.max(xn,Math.min(_n,d)),m=Math.max(xn,Math.min(_n,m))],y=[i=Math.max(xn,Math.min(_n,i)),o=Math.max(xn,Math.min(_n,o))];!function(A,t,e,n,r,i){var o,a=A[0],l=A[1],u=0,s=1,f=t[0]-a,c=t[1]-l;if(o=e-a,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<s&&(s=o)}else if(f>0){if(o>s)return;o>u&&(u=o)}if(o=r-a,f||!(o<0)){if(o/=f,f<0){if(o>s)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<s&&(s=o)}if(o=n-l,c||!(o>0)){if(o/=c,c<0){if(o<u)return;o<s&&(s=o)}else if(c>0){if(o>s)return;o>u&&(u=o)}if(o=i-l,c||!(o<0)){if(o/=c,c<0){if(o>s)return;o>u&&(u=o)}else if(c>0){if(o<u)return;o<s&&(s=o)}return u>0&&(A[0]=a+u*f,A[1]=l+u*c),s<1&&(t[0]=a+s*f,t[1]=l+s*c),!0}}}}}(l,y,A,t,e,n)?a&&(v.lineStart(),v.point(i,o),b=!1):(p||(v.lineStart(),v.point(l[0],l[1])),v.point(y[0],y[1]),a||v.lineEnd(),b=!1)}d=i,m=o,p=a}return q}}var Mn={sphere:St,point:St,lineStart:function(){Mn.point=Bn,Mn.lineEnd=En},lineEnd:St,polygonStart:St,polygonEnd:St};function En(){Mn.point=Mn.lineEnd=St}function Bn(A,t){vn=A*=gt,yn=wt(t*=gt),qn=qt(t),Mn.point=kn}function kn(A,t){A*=gt;var e=wt(t*=gt),n=qt(t),r=bt(A-vn),i=qt(r),o=n*wt(r),a=qn*e-yn*n*i,l=yn*e+qn*n*i;bn.add(yt(Et(o*o+a*a),l)),vn=A,yn=e,qn=n}var Sn=[null,null],Dn={type:"LineString",coordinates:Sn};function Cn(A,t){return Sn[0]=A,Sn[1]=t,function(A){return bn=new et,It(A,Mn),+bn}(Dn)}var Tn={Feature:function(A,t){return Pn(A.geometry,t)},FeatureCollection:function(A,t){for(var e=A.features,n=-1,r=e.length;++n<r;)if(Pn(e[n].geometry,t))return!0;return!1}},On={Sphere:function(){return!0},Point:function(A,t){return In(A.coordinates,t)},MultiPoint:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(In(e[n],t))return!0;return!1},LineString:function(A,t){return jn(A.coordinates,t)},MultiLineString:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(jn(e[n],t))return!0;return!1},Polygon:function(A,t){return Qn(A.coordinates,t)},MultiPolygon:function(A,t){for(var e=A.coordinates,n=-1,r=e.length;++n<r;)if(Qn(e[n],t))return!0;return!1},GeometryCollection:function(A,t){for(var e=A.geometries,n=-1,r=e.length;++n<r;)if(Pn(e[n],t))return!0;return!1}};function Pn(A,t){return!(!A||!On.hasOwnProperty(A.type))&&On[A.type](A,t)}function In(A,t){return 0===Cn(A,t)}function jn(A,t){for(var e,n,r,i=0,o=A.length;i<o;i++){if(0===(n=Cn(A[i],t)))return!0;if(i>0&&(r=Cn(A[i],A[i-1]))>0&&e<=r&&n<=r&&(e+n-r)*(1-Math.pow((e-n)/r,2))<ft*r)return!0;e=n}return!1}function Qn(A,t){return!!cn(A.map(Rn),Ln(t))}function Rn(A){return(A=A.map(Ln)).pop(),A}function Ln(A){return[A[0]*gt,A[1]*gt]}function Gn(A,t,e){var n=ut(A,t-st,e).concat(t);return function(A){return n.map((function(t){return[A,t]}))}}function Fn(A,t,e){var n=ut(A,t-st,e).concat(t);return function(A){return n.map((function(t){return[t,A]}))}}function Un(){return function(){var A,t,e,n,r,i,o,a,l,u,s,f,c=10,h=c,d=90,m=360,p=2.5;function g(){return{type:"MultiLineString",coordinates:b()}}function b(){return ut(_t(n/d)*d,e,d).map(s).concat(ut(_t(a/m)*m,o,m).map(f)).concat(ut(_t(t/c)*c,A,c).filter((function(A){return bt(A%d)>st})).map(l)).concat(ut(_t(i/h)*h,r,h).filter((function(A){return bt(A%m)>st})).map(u))}return g.lines=function(){return b().map((function(A){return{type:"LineString",coordinates:A}}))},g.outline=function(){return{type:"Polygon",coordinates:[s(n).concat(f(o).slice(1),s(e).reverse().slice(1),f(a).reverse().slice(1))]}},g.extent=function(A){return arguments.length?g.extentMajor(A).extentMinor(A):g.extentMinor()},g.extentMajor=function(A){return arguments.length?(n=+A[0][0],e=+A[1][0],a=+A[0][1],o=+A[1][1],n>e&&(A=n,n=e,e=A),a>o&&(A=a,a=o,o=A),g.precision(p)):[[n,a],[e,o]]},g.extentMinor=function(e){return arguments.length?(t=+e[0][0],A=+e[1][0],i=+e[0][1],r=+e[1][1],t>A&&(e=t,t=A,A=e),i>r&&(e=i,i=r,r=e),g.precision(p)):[[t,i],[A,r]]},g.step=function(A){return arguments.length?g.stepMajor(A).stepMinor(A):g.stepMinor()},g.stepMajor=function(A){return arguments.length?(d=+A[0],m=+A[1],g):[d,m]},g.stepMinor=function(A){return arguments.length?(c=+A[0],h=+A[1],g):[c,h]},g.precision=function(c){return arguments.length?(p=+c,l=Gn(i,r,90),u=Fn(t,A,p),s=Gn(a,o,90),f=Fn(n,e,p),g):p},g.extentMajor([[-180,-90+st],[180,90-st]]).extentMinor([[-180,-80-st],[180,80+st]])}()()}function zn(A,t){var e=A[0]*gt,n=A[1]*gt,r=t[0]*gt,i=t[1]*gt,o=qt(n),a=wt(n),l=qt(i),u=wt(i),s=o*qt(e),f=o*wt(e),c=l*qt(r),h=l*wt(r),d=2*Bt(Et(kt(i-n)+o*l*kt(r-e))),m=wt(d),p=d?function(A){var t=wt(A*=d)/m,e=wt(d-A)/m,n=e*s+t*c,r=e*f+t*h,i=e*a+t*u;return[yt(r,n)*pt,yt(i,Et(n*n+r*r))*pt]}:function(){return[e*pt,n*pt]};return p.distance=d,p}var Nn=A=>A,Hn=1/0,Vn=Hn,Y