diff --git a/config/importmap.rb b/config/importmap.rb index 577a58d0..04607d85 100644 --- a/config/importmap.rb +++ b/config/importmap.rb @@ -88,11 +88,11 @@ pin "@turf/destination", to: "@turf--destination.js", preload: false # @7.3.1 pin "@turf/length", to: "@turf--length.js", preload: false # @7.3.2 pin "@turf/area", to: "@turf--area.js", preload: false # @7.3.2 -pin "@turf/buffer", to: "@turf--buffer.js", preload: false # @7.3.1 +pin "@turf/buffer", to: "@turf--buffer.js", preload: false # @7.3.2 pin "@turf/bbox", to: "@turf--bbox.js", preload: false # @7.3.2 pin "@turf/center", to: "@turf--center.js", preload: false # @7.3.2 pin "@turf/jsts", to: "@turf--jsts.js", preload: false # @2.7.2 # dependencies of turf/buffer -pin "d3-array", preload: false # @3.2.4 -pin "d3-geo", preload: false # @3.1.1 +pin "d3-array", preload: false # @1.2.4 +pin "d3-geo", preload: false # @1.7.1 pin "internmap", preload: false # @2.0.3 diff --git a/vendor/javascript/d3-array.js b/vendor/javascript/d3-array.js index 4b35f1e6..891eb373 100644 --- a/vendor/javascript/d3-array.js +++ b/vendor/javascript/d3-array.js @@ -1,2 +1,2 @@ -import{InternMap as t,InternSet as n}from"internmap";export{InternMap,InternSet}from"internmap";function ascending(t,n){return null==t||null==n?NaN:tn?1:t>=n?0:NaN}function descending(t,n){return null==t||null==n?NaN:nt?1:n>=t?0:NaN}function bisector(t){let n,e,r;if(2!==t.length){n=ascending;e=(n,e)=>ascending(t(n),e);r=(n,e)=>t(n)-e}else{n=t===ascending||t===descending?t:zero;e=t;r=t}function left(t,r,o=0,i=t.length){if(o>>1;e(t[n],r)<0?o=n+1:i=n}while(o>>1;e(t[n],r)<=0?o=n+1:i=n}while(oe&&r(t[i-1],n)>-r(t[i],n)?i-1:i}return{left:left,center:center,right:right}}function zero(){return 0}function number(t){return null===t?NaN:+t}function*numbers(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}const e=bisector(ascending);const r=e.right;const o=e.left;const i=bisector(number).center;function blur(t,n){if(!((n=+n)>=0))throw new RangeError("invalid r");let e=t.length;if(!((e=Math.floor(e))>=0))throw new RangeError("invalid length");if(!e||!n)return t;const r=blurf(n);const o=t.slice();r(t,o,0,e,1);r(o,t,0,e,1);r(t,o,0,e,1);return t}const f=Blur2(blurf);const u=Blur2(blurfImage);function Blur2(t){return function(n,e,r=e){if(!((e=+e)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:o,width:i,height:f}=n;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((f=Math.floor(void 0!==f?f:o.length/i))>=0))throw new RangeError("invalid height");if(!i||!f||!e&&!r)return n;const u=e&&t(e);const l=r&&t(r);const c=o.slice();if(u&&l){blurh(u,c,o,i,f);blurh(u,o,c,i,f);blurh(u,c,o,i,f);blurv(l,o,c,i,f);blurv(l,c,o,i,f);blurv(l,o,c,i,f)}else if(u){blurh(u,o,c,i,f);blurh(u,c,o,i,f);blurh(u,o,c,i,f)}else if(l){blurv(l,o,c,i,f);blurv(l,c,o,i,f);blurv(l,o,c,i,f)}return n}}function blurh(t,n,e,r,o){for(let i=0,f=r*o;i{r<<=2,o<<=2,i<<=2;n(t,e,r+0,o+0,i);n(t,e,r+1,o+1,i);n(t,e,r+2,o+2,i);n(t,e,r+3,o+3,i)}}function blurf(t){const n=Math.floor(t);if(n===t)return bluri(t);const e=t-n;const r=2*t+1;return(t,o,i,f,u)=>{if(!((f-=u)>=i))return;let l=n*o[i];const c=u*n;const s=c+u;for(let t=i,n=i+c;t{if(!((i-=f)>=o))return;let u=t*r[o];const l=f*t;for(let t=o,n=o+l;t=n&&++e;else{let r=-1;for(let o of t)null!=(o=n(o,++r,t))&&(o=+o)>=o&&++e}return e}function length$1(t){return 0|t.length}function empty(t){return!(t>0)}function arrayify(t){return"object"!==typeof t||"length"in t?t:Array.from(t)}function reducer(t){return n=>t(...n)}function cross(...t){const n="function"===typeof t[t.length-1]&&reducer(t.pop());t=t.map(arrayify);const e=t.map(length$1);const r=t.length-1;const o=new Array(r+1).fill(0);const i=[];if(r<0||e.some(empty))return i;while(true){i.push(o.map(((n,e)=>t[e][n])));let f=r;while(++o[f]===e[f]){if(0===f)return n?i.map(n):i;o[f--]=0}}}function cumsum(t,n){var e=0,r=0;return Float64Array.from(t,void 0===n?t=>e+=+t||0:o=>e+=+n(o,r++,t)||0)}function variance(t,n){let e=0;let r;let o=0;let i=0;if(void 0===n){for(let n of t)if(null!=n&&(n=+n)>=n){r=n-o;o+=r/++e;i+=r*(n-o)}}else{let f=-1;for(let u of t)if(null!=(u=n(u,++f,t))&&(u=+u)>=u){r=u-o;o+=r/++e;i+=r*(u-o)}}if(e>1)return i/(e-1)}function deviation(t,n){const e=variance(t,n);return e?Math.sqrt(e):e}function extent(t,n){let e;let r;if(void 0===n){for(const n of t)if(null!=n)if(void 0===e)n>=n&&(e=r=n);else{e>n&&(e=n);r=i&&(e=r=i);else{e>i&&(e=i);r0){i=t[--o];while(o>0){n=i;e=t[--o];i=n+e;r=e-(i-n);if(r)break}if(o>0&&(r<0&&t[o-1]<0||r>0&&t[o-1]>0)){e=2*r;n=i+e;e==n-i&&(i=n)}}return i}}function fsum(t,n){const e=new Adder;if(void 0===n)for(let n of t)(n=+n)&&e.add(n);else{let r=-1;for(let o of t)(o=+n(o,++r,t))&&e.add(o)}return+e}function fcumsum(t,n){const e=new Adder;let r=-1;return Float64Array.from(t,void 0===n?t=>e.add(+t||0):o=>e.add(+n(o,++r,t)||0))}function identity(t){return t}function group(t,...n){return nest(t,identity,identity,n)}function groups(t,...n){return nest(t,Array.from,identity,n)}function flatten$1(t,n){for(let e=1,r=n.length;et.pop().map((([n,e])=>[...t,n,e]))));return t}function flatGroup(t,...n){return flatten$1(groups(t,...n),n)}function flatRollup(t,n,...e){return flatten$1(rollups(t,n,...e),e)}function rollup(t,n,...e){return nest(t,identity,n,e)}function rollups(t,n,...e){return nest(t,Array.from,n,e)}function index(t,...n){return nest(t,identity,unique,n)}function indexes(t,...n){return nest(t,Array.from,unique,n)}function unique(t){if(1!==t.length)throw new Error("duplicate key");return t[0]}function nest(n,e,r,o){return function regroup(n,i){if(i>=o.length)return r(n);const f=new t;const u=o[i++];let l=-1;for(const t of n){const e=u(t,++l,n);const r=f.get(e);r?r.push(t):f.set(e,[t])}for(const[t,n]of f)f.set(t,regroup(n,i));return e(f)}(n,0)}function permute(t,n){return Array.from(n,(n=>t[n]))}function sort(t,...n){if("function"!==typeof t[Symbol.iterator])throw new TypeError("values is not iterable");t=Array.from(t);let[e]=n;if(e&&2!==e.length||n.length>1){const r=Uint32Array.from(t,((t,n)=>n));if(n.length>1){n=n.map((n=>t.map(n)));r.sort(((t,e)=>{for(const r of n){const n=ascendingDefined(r[t],r[e]);if(n)return n}}))}else{e=t.map(e);r.sort(((t,n)=>ascendingDefined(e[t],e[n])))}return permute(t,r)}return t.sort(compareDefined(e))}function compareDefined(t=ascending){if(t===ascending)return ascendingDefined;if("function"!==typeof t)throw new TypeError("compare is not a function");return(n,e)=>{const r=t(n,e);return r||0===r?r:(0===t(e,e))-(0===t(n,n))}}function ascendingDefined(t,n){return(null==t||!(t>=t))-(null==n||!(n>=n))||(tn?1:0)}function groupSort(t,n,e){return(2!==n.length?sort(rollup(t,n,e),(([t,n],[e,r])=>ascending(n,r)||ascending(t,e))):sort(group(t,e),(([t,e],[r,o])=>n(e,o)||ascending(t,r)))).map((([t])=>t))}var l=Array.prototype;var c=l.slice;l.map;function constant(t){return()=>t}const s=Math.sqrt(50),a=Math.sqrt(10),h=Math.sqrt(2);function tickSpec(t,n,e){const r=(n-t)/Math.max(0,e),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),f=i>=s?10:i>=a?5:i>=h?2:1;let u,l,c;if(o<0){c=Math.pow(10,-o)/f;u=Math.round(t*c);l=Math.round(n*c);u/cn&&--l;c=-c}else{c=Math.pow(10,o)*f;u=Math.round(t/c);l=Math.round(n/c);u*cn&&--l}return l0))return[];if(t===n)return[t];const r=n=o))return[];const u=i-o+1,l=new Array(u);if(r)if(f<0)for(let t=0;t0){t=Math.floor(t/o)*o;n=Math.ceil(n/o)*o}else if(o<0){t=Math.ceil(t*o)/o;n=Math.floor(n*o)/o}r=o}}function thresholdSturges(t){return Math.max(1,Math.ceil(Math.log(count(t))/Math.LN2)+1)}function bin(){var t=identity,n=extent,e=thresholdSturges;function histogram(o){Array.isArray(o)||(o=Array.from(o));var i,f,u,l=o.length,c=new Array(l);for(i=0;i=h)if(t>=h&&n===extent){const t=tickIncrement(a,h,e);isFinite(t)&&(t>0?h=(Math.floor(h/t)+1)*t:t<0&&(h=(Math.ceil(h*-t)+1)/-t))}else d.pop()}var m=d.length,p=0,g=m;while(d[p]<=a)++p;while(d[g-1]>h)--g;(p||g0?d[i-1]:a;y.x1=i0)for(i=0;i=n)&&(e=n);else{let r=-1;for(let o of t)null!=(o=n(o,++r,t))&&(e=o)&&(e=o)}return e}function maxIndex(t,n){let e;let r=-1;let o=-1;if(void 0===n)for(const n of t){++o;null!=n&&(e=n)&&(e=n,r=o)}else for(let i of t)null!=(i=n(i,++o,t))&&(e=i)&&(e=i,r=o);return r}function min(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let o of t)null!=(o=n(o,++r,t))&&(e>o||void 0===e&&o>=o)&&(e=o)}return e}function minIndex(t,n){let e;let r=-1;let o=-1;if(void 0===n)for(const n of t){++o;null!=n&&(e>n||void 0===e&&n>=n)&&(e=n,r=o)}else for(let i of t)null!=(i=n(i,++o,t))&&(e>i||void 0===e&&i>=i)&&(e=i,r=o);return r}function quickselect(t,n,e=0,r=Infinity,o){n=Math.floor(n);e=Math.floor(Math.max(0,e));r=Math.floor(Math.min(t.length-1,r));if(!(e<=n&&n<=r))return t;o=void 0===o?ascendingDefined:compareDefined(o);while(r>e){if(r-e>600){const i=r-e+1;const f=n-e+1;const u=Math.log(i);const l=.5*Math.exp(2*u/3);const c=.5*Math.sqrt(u*l*(i-l)/i)*(f-i/2<0?-1:1);const s=Math.max(e,Math.floor(n-f*l/i+c));const a=Math.min(r,Math.floor(n+(i-f)*l/i+c));quickselect(t,n,s,a,o)}const i=t[n];let f=e;let u=r;swap(t,e,n);o(t[r],i)>0&&swap(t,e,r);while(f0)--u}0===o(t[e],i)?swap(t,e,u):(++u,swap(t,u,r));u<=n&&(e=u+1);n<=u&&(r=u-1)}return t}function swap(t,n,e){const r=t[n];t[n]=t[e];t[e]=r}function greatest(t,n=ascending){let e;let r=false;if(1===n.length){let o;for(const i of t){const t=n(i);if(r?ascending(t,o)>0:0===ascending(t,t)){e=i;o=t;r=true}}}else for(const o of t)if(r?n(o,e)>0:0===n(o,o)){e=o;r=true}return e}function quantile(t,n,e){t=Float64Array.from(numbers(t,e));if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return min(t);if(n>=1)return max(t);var r,o=(r-1)*n,i=Math.floor(o),f=max(quickselect(t,i).subarray(0,i+1)),u=min(t.subarray(i+1));return f+(u-f)*(o-i)}}function quantileSorted(t,n,e=number){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,o=(r-1)*n,i=Math.floor(o),f=+e(t[i],i,t),u=+e(t[i+1],i+1,t);return f+(u-f)*(o-i)}}function quantileIndex(t,n,e=number){if(!isNaN(n=+n)){r=Float64Array.from(t,((n,r)=>number(e(t[r],r,t))));if(n<=0)return minIndex(r);if(n>=1)return maxIndex(r);var r,o=Uint32Array.from(t,((t,n)=>n)),i=r.length-1,f=Math.floor(i*n);quickselect(o,f,0,i,((t,n)=>ascendingDefined(r[t],r[n])));f=greatest(o.subarray(0,f+1),(t=>r[t]));return f>=0?f:-1}}function thresholdFreedmanDiaconis(t,n,e){const r=count(t),o=quantile(t,.75)-quantile(t,.25);return r&&o?Math.ceil((e-n)/(2*o*Math.pow(r,-1/3))):1}function thresholdScott(t,n,e){const r=count(t),o=deviation(t);return r&&o?Math.ceil((e-n)*Math.cbrt(r)/(3.49*o)):1}function mean(t,n){let e=0;let r=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(++e,r+=n);else{let o=-1;for(let i of t)null!=(i=n(i,++o,t))&&(i=+i)>=i&&(++e,r+=i)}if(e)return r/e}function median(t,n){return quantile(t,.5,n)}function medianIndex(t,n){return quantileIndex(t,.5,n)}function*flatten(t){for(const n of t)yield*n}function merge(t){return Array.from(flatten(t))}function mode(n,e){const r=new t;if(void 0===e)for(let t of n)null!=t&&t>=t&&r.set(t,(r.get(t)||0)+1);else{let t=-1;for(let o of n)null!=(o=e(o,++t,n))&&o>=o&&r.set(o,(r.get(o)||0)+1)}let o;let i=0;for(const[t,n]of r)if(n>i){i=n;o=t}return o}function pairs(t,n=pair){const e=[];let r;let o=false;for(const i of t){o&&e.push(n(r,i));r=i;o=true}return e}function pair(t,n){return[t,n]}function range(t,n,e){t=+t,n=+n,e=(o=arguments.length)<2?(n=t,t=0,1):o<3?1:+e;var r=-1,o=0|Math.max(0,Math.ceil((n-t)/e)),i=new Array(o);while(++rn(e[t],e[r]);let o,i;t=Uint32Array.from(e,((t,n)=>n));t.sort(n===ascending?(t,n)=>ascendingDefined(e[t],e[n]):compareDefined(compareIndex));t.forEach(((t,n)=>{const e=compareIndex(t,void 0===o?t:o);if(e>=0){(void 0===o||e>0)&&(o=t,i=n);r[t]=i}else r[t]=NaN}));return r}function least(t,n=ascending){let e;let r=false;if(1===n.length){let o;for(const i of t){const t=n(i);if(r?ascending(t,o)<0:0===ascending(t,t)){e=i;o=t;r=true}}}else for(const o of t)if(r?n(o,e)<0:0===n(o,o)){e=o;r=true}return e}function leastIndex(t,n=ascending){if(1===n.length)return minIndex(t,n);let e;let r=-1;let o=-1;for(const i of t){++o;if(r<0?0===n(i,i):n(i,e)<0){e=i;r=o}}return r}function greatestIndex(t,n=ascending){if(1===n.length)return maxIndex(t,n);let e;let r=-1;let o=-1;for(const i of t){++o;if(r<0?0===n(i,i):n(i,e)>0){e=i;r=o}}return r}function scan(t,n){const e=leastIndex(t,n);return e<0?void 0:e}var d=shuffler(Math.random);function shuffler(t){return function shuffle(n,e=0,r=n.length){let o=r-(e=+e);while(o){const r=t()*o--|0,i=n[o+e];n[o+e]=n[r+e];n[r+e]=i}return n}}function sum(t,n){let e=0;if(void 0===n)for(let n of t)(n=+n)&&(e+=n);else{let r=-1;for(let o of t)(o=+n(o,++r,t))&&(e+=o)}return e}function transpose(t){if(!(o=t.length))return[];for(var n=-1,e=min(t,length),r=new Array(e);++nn(e,r,t)))}function reduce(t,n,e){if("function"!==typeof n)throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let o,i,f=-1;if(arguments.length<3){({done:o,value:e}=r.next());if(o)return;++f}while(({done:o,value:i}=r.next()),!o)e=n(e,i,++f,t);return e}function reverse(t){if("function"!==typeof t[Symbol.iterator])throw new TypeError("values is not iterable");return Array.from(t).reverse()}function difference(t,...e){t=new n(t);for(const n of e)for(const e of n)t.delete(e);return t}function disjoint(t,e){const r=e[Symbol.iterator](),o=new n;for(const n of t){if(o.has(n))return false;let t,e;while(({value:t,done:e}=r.next())){if(e)break;if(Object.is(n,t))return false;o.add(t)}}return true}function intersection(t,...e){t=new n(t);e=e.map(set);t:for(const n of t)for(const r of e)if(!r.has(n)){t.delete(n);continue t}return t}function set(t){return t instanceof n?t:new n(t)}function superset(t,n){const e=t[Symbol.iterator](),r=new Set;for(const t of n){const n=intern(t);if(r.has(n))continue;let o,i;while(({value:o,done:i}=e.next())){if(i)return false;const t=intern(o);r.add(t);if(Object.is(n,t))break}}return true}function intern(t){return null!==t&&"object"===typeof t?t.valueOf():t}function subset(t,n){return superset(n,t)}function union(...t){const e=new n;for(const n of t)for(const t of n)e.add(t);return e}export{Adder,ascending,bin,r as bisect,i as bisectCenter,o as bisectLeft,r as bisectRight,bisector,blur,f as blur2,u as blurImage,count,cross,cumsum,descending,deviation,difference,disjoint,every,extent,fcumsum,filter,flatGroup,flatRollup,fsum,greatest,greatestIndex,group,groupSort,groups,bin as histogram,index,indexes,intersection,least,leastIndex,map,max,maxIndex,mean,median,medianIndex,merge,min,minIndex,mode,nice,pairs,permute,quantile,quantileIndex,quantileSorted,quickselect,range,rank,reduce,reverse,rollup,rollups,scan,d as shuffle,shuffler,some,sort,subset,sum,superset,thresholdFreedmanDiaconis,thresholdScott,thresholdSturges,tickIncrement,tickStep,ticks,transpose,union,variance,zip}; +var n={};(function(e,t){t(n)})(n,(function(n){function ascending(n,e){return ne?1:n>=e?0:NaN}function bisector(n){1===n.length&&(n=ascendingComparator(n));return{left:function(e,t,r,i){null==r&&(r=0);null==i&&(i=e.length);while(r>>1;n(e[a],t)<0?r=a+1:i=a}return r},right:function(e,t,r,i){null==r&&(r=0);null==i&&(i=e.length);while(r>>1;n(e[a],t)>0?i=a:r=a+1}return r}}}function ascendingComparator(n){return function(e,t){return ascending(n(e),t)}}var e=bisector(ascending);var t=e.right;var r=e.left;function pairs(n,e){null==e&&(e=pair);var t=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);while(tn?1:e>=n?0:NaN}function number(n){return null===n?NaN:+n}function variance(n,e){var t=n.length,r=0,i=-1,a=0,l,u,o=0;if(null==e){while(++i1)return o/(r-1)}function deviation(n,e){var t=variance(n,e);return t?Math.sqrt(t):t}function extent(n,e){var t=n.length,r=-1,i,a,l;if(null==e){while(++r=i){a=l=i;while(++ri&&(a=i);l=i){a=l=i;while(++ri&&(a=i);l0)return[n];(r=e0){n=Math.ceil(n/u);e=Math.floor(e/u);l=new Array(a=Math.ceil(e-n+1));while(++i=0?(a>=u?10:a>=o?5:a>=h?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=u?10:a>=o?5:a>=h?2:1)}function tickStep(n,e,t){var r=Math.abs(e-n)/Math.max(0,t),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),a=r/i;a>=u?i*=10:a>=o?i*=5:a>=h&&(i*=2);return ec)f.pop(),--g;var m=new Array(g+1),w;for(a=0;a<=g;++a){w=m[a]=[];w.x0=a>0?f[a-1]:s;w.x1=a=1)return+t(n[r-1],r-1,n);var r,i=(r-1)*e,a=Math.floor(i),l=+t(n[a],a,n),u=+t(n[a+1],a+1,n);return l+(u-l)*(i-a)}}function freedmanDiaconis(n,e,t){n=l.call(n,number).sort(ascending);return Math.ceil((t-e)/(2*(quantile(n,.75)-quantile(n,.25))*Math.pow(n.length,-1/3)))}function scott(n,e,t){return Math.ceil((t-e)/(3.5*deviation(n)*Math.pow(n.length,-1/3)))}function max(n,e){var t=n.length,r=-1,i,a;if(null==e){while(++r=i){a=i;while(++ra&&(a=i)}}else while(++r=i){a=i;while(++ra&&(a=i)}return a}function mean(n,e){var t=n.length,r=t,i=-1,a,l=0;if(null==e)while(++i=0){l=n[e];t=l.length;while(--t>=0)a[--i]=l[t]}return a}function min(n,e){var t=n.length,r=-1,i,a;if(null==e){while(++r=i){a=i;while(++ri&&(a=i)}}else while(++r=i){a=i;while(++ri&&(a=i)}return a}function permute(n,e){var t=e.length,r=new Array(t);while(t--)r[t]=n[e[t]];return r}function scan(n,e){if(t=n.length){var t,r=0,i=0,a,l=n[i];null==e&&(e=ascending);while(++r0?1:n<0?-1:0};var w=Math.sqrt;var P=Math.tan;function acos(n){return n>1?0:n<-1?o:Math.acos(n)}function asin(n){return n>1?a:n<-1?-a:Math.asin(n)}function haversin(n){return(n=y(n/2))*n}function noop(){}function streamGeometry(n,t){n&&M.hasOwnProperty(n.type)&&M[n.type](n,t)}var j={Feature:function(n,t){streamGeometry(n.geometry,t)},FeatureCollection:function(n,t){var r=n.features,e=-1,i=r.length;while(++e=0?1:-1,i=e*r,o=h(t),a=y(t),u=$*a,l=q*o+u*h(i),f=u*e*y(i);b.add(g(f,l));C=n,q=o,$=a}function area(t){_=new n;geoStream(t,N);return _*2}function spherical(n){return[g(n[1],n[0]),asin(n[2])]}function cartesian(n){var t=n[0],r=n[1],e=h(r);return[e*h(t),e*y(t),y(r)]}function cartesianDot(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function cartesianCross(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function cartesianAddInPlace(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function cartesianScale(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function cartesianNormalizeInPlace(n){var t=w(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}var I,A,z,F,T,U,G,k,H,W,D;var O={point:boundsPoint$1,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){O.point=boundsRingPoint;O.lineStart=boundsRingStart;O.lineEnd=boundsRingEnd;H=new n;N.polygonStart()},polygonEnd:function(){N.polygonEnd();O.point=boundsPoint$1;O.lineStart=boundsLineStart;O.lineEnd=boundsLineEnd;b<0?(I=-(z=180),A=-(F=90)):H>e?F=90:H<-e&&(A=-90);D[0]=I,D[1]=z},sphere:function(){I=-(z=180),A=-(F=90)}};function boundsPoint$1(n,t){W.push(D=[I=n,z=n]);tF&&(F=t)}function linePoint(n,t){var r=cartesian([n*s,t*s]);if(k){var e=cartesianCross(k,r),i=[e[1],-e[0],0],o=cartesianCross(i,e);cartesianNormalizeInPlace(o);o=spherical(o);var a,c=n-T,u=c>0?1:-1,p=o[0]*l*u,g=f(c)>180;if(g^(u*TF&&(F=a)}else if(p=(p+360)%360-180,g^(u*TF&&(F=t)}if(g)nangle(I,z)&&(z=n):angle(n,z)>angle(I,z)&&(I=n);else if(z>=I){nz&&(z=n)}else n>T?angle(I,n)>angle(I,z)&&(z=n):angle(n,z)>angle(I,z)&&(I=n)}else W.push(D=[I=n,z=n]);tF&&(F=t);k=r,T=n}function boundsLineStart(){O.point=linePoint}function boundsLineEnd(){D[0]=I,D[1]=z;O.point=boundsPoint$1;k=null}function boundsRingPoint(n,t){if(k){var r=n-T;H.add(f(r)>180?r+(r>0?360:-360):r)}else U=n,G=t;N.point(n,t);linePoint(n,t)}function boundsRingStart(){N.lineStart()}function boundsRingEnd(){boundsRingPoint(U,G);N.lineEnd();f(H)>e&&(I=-(z=180));D[0]=I,D[1]=z;k=null}function angle(n,t){return(t-=n)<0?t+360:t}function rangeCompare(n,t){return n[0]-t[0]}function rangeContains(n,t){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:tangle(e[0],e[1])&&(e[1]=i[1]);angle(i[0],e[1])>angle(e[0],e[1])&&(e[0]=i[0])}else o.push(e=i)}for(a=-Infinity,r=o.length-1,t=0,e=o[r];t<=r;e=i,++t){i=o[t];(c=angle(e[1],i[0]))>a&&(a=c,I=i[0],z=e[1])}}W=D=null;return I===Infinity||A===Infinity?[[NaN,NaN],[NaN,NaN]]:[[I,A],[z,F]]}var X,Y,B,Z,J,K,Q,V,nn,tn,rn,en,on,an,cn,un;var ln={sphere:noop,point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){ln.lineStart=centroidRingStart$1;ln.lineEnd=centroidRingEnd$1},polygonEnd:function(){ln.lineStart=centroidLineStart$1;ln.lineEnd=centroidLineEnd$1}};function centroidPoint$1(n,t){n*=s,t*=s;var r=h(t);centroidPointCartesian(r*h(n),r*y(n),y(t))}function centroidPointCartesian(n,t,r){++X;B+=(n-B)/X;Z+=(t-Z)/X;J+=(r-J)/X}function centroidLineStart$1(){ln.point=centroidLinePointFirst}function centroidLinePointFirst(n,t){n*=s,t*=s;var r=h(t);an=r*h(n);cn=r*y(n);un=y(t);ln.point=centroidLinePoint;centroidPointCartesian(an,cn,un)}function centroidLinePoint(n,t){n*=s,t*=s;var r=h(t),e=r*h(n),i=r*y(n),o=y(t),a=g(w((a=cn*o-un*i)*a+(a=un*e-an*o)*a+(a=an*i-cn*e)*a),an*e+cn*i+un*o);Y+=a;K+=a*(an+(an=e));Q+=a*(cn+(cn=i));V+=a*(un+(un=o));centroidPointCartesian(an,cn,un)}function centroidLineEnd$1(){ln.point=centroidPoint$1}function centroidRingStart$1(){ln.point=centroidRingPointFirst}function centroidRingEnd$1(){centroidRingPoint(en,on);ln.point=centroidPoint$1}function centroidRingPointFirst(n,t){en=n,on=t;n*=s,t*=s;ln.point=centroidRingPoint;var r=h(t);an=r*h(n);cn=r*y(n);un=y(t);centroidPointCartesian(an,cn,un)}function centroidRingPoint(n,t){n*=s,t*=s;var r=h(t),e=r*h(n),i=r*y(n),o=y(t),a=cn*o-un*i,c=un*e-an*o,u=an*i-cn*e,l=m(a,c,u),f=asin(l),p=l&&-f/l;nn.add(p*a);tn.add(p*c);rn.add(p*u);Y+=f;K+=f*(an+(an=e));Q+=f*(cn+(cn=i));V+=f*(un+(un=o));centroidPointCartesian(an,cn,un)}function centroid(t){X=Y=B=Z=J=K=Q=V=0;nn=new n;tn=new n;rn=new n;geoStream(t,ln);var r=+nn,o=+tn,a=+rn,c=m(r,o,a);if(co&&(n-=Math.round(n/u)*u);return[n,t]}rotationIdentity.invert=rotationIdentity;function rotateRadians(n,t,r){return(n%=u)?t||r?compose(rotationLambda(n),rotationPhiGamma(t,r)):rotationLambda(n):t||r?rotationPhiGamma(t,r):rotationIdentity}function forwardRotationLambda(n){return function(t,r){t+=n;f(t)>o&&(t-=Math.round(t/u)*u);return[t,r]}}function rotationLambda(n){var t=forwardRotationLambda(n);t.invert=forwardRotationLambda(-n);return t}function rotationPhiGamma(n,t){var r=h(n),e=y(n),i=h(t),o=y(t);function rotation(n,t){var a=h(t),c=h(n)*a,u=y(n)*a,l=y(t),s=l*r+c*e;return[g(u*i-s*o,c*r-l*e),asin(s*i+u*o)]}rotation.invert=function(n,t){var a=h(t),c=h(n)*a,u=y(n)*a,l=y(t),s=l*i-u*o;return[g(u*i+l*o,c*r+s*e),asin(s*r-c*e)]};return rotation}function rotation(n){n=rotateRadians(n[0]*s,n[1]*s,n.length>2?n[2]*s:0);function forward(t){t=n(t[0]*s,t[1]*s);return t[0]*=l,t[1]*=l,t}forward.invert=function(t){t=n.invert(t[0]*s,t[1]*s);return t[0]*=l,t[1]*=l,t};return forward}function circleStream(n,t,r,e,i,o){if(r){var a=h(t),c=y(t),l=e*r;if(i==null){i=t+e*u;o=t-l/2}else{i=circleRadius(a,i);o=circleRadius(a,o);(e>0?io)&&(i+=e*u)}for(var s,f=i;e>0?f>o:f1&&t.push(t.pop().concat(t.shift()))},result:function(){var r=t;t=[];n=null;return r}}}function pointEqual(n,t){return f(n[0]-t[0])=0;--a)o.point((f=s[a])[0],f[1])}else i(g.x,g.p.x,-1,o);g=g.p}g=g.o;s=g.z;h=!h}while(!g.v);o.lineEnd()}}}function link(n){if(t=n.length){var t,r,e=0,i=n[0];while(++e=0?1:-1,z=A*I,F=z>o,T=b*_;m.add(g(T*A*y(z),L*N+T*h(z)));d+=F?I+A*u:I;if(F^j>=l^q>=l){var U=cartesianCross(cartesian(P),cartesian(C));cartesianNormalizeInPlace(U);var G=cartesianCross(p,U);cartesianNormalizeInPlace(G);var k=(F^I>=0?-1:1)*asin(G[2]);(s>k||s===k&&(U[0]||U[1]))&&(v+=F^I>=0?1:-1)}}}return(d<-e||d0){p||(o.polygonStart(),p=true);o.lineStart();for(n=0;n1&&i&2&&l.push(l.pop().concat(l.shift()));c.push(l.filter(validSegment))}}return g}}function validSegment(n){return n.length>1}function compareIntersection(n,t){return((n=n.x)[0]<0?n[1]-a-e:a-n[1])-((t=t.x)[0]<0?t[1]-a-e:a-t[1])}var sn=clip((function(){return true}),clipAntimeridianLine,clipAntimeridianInterpolate,[-o,-a]);function clipAntimeridianLine(n){var t,r=NaN,i=NaN,c=NaN;return{lineStart:function(){n.lineStart();t=1},point:function(u,l){var s=u>0?o:-o,p=f(u-r);if(f(p-o)0?a:-a);n.point(c,i);n.lineEnd();n.lineStart();n.point(s,i);n.point(u,i);t=0}else if(c!==s&&p>=o){f(r-c)e?p((y(t)*(a=h(i))*y(r)-y(i)*(o=h(t))*y(n))/(o*a*c)):(t+i)/2}function clipAntimeridianInterpolate(n,t,r,i){var c;if(n==null){c=r*a;i.point(-o,c);i.point(0,c);i.point(o,c);i.point(o,0);i.point(o,-c);i.point(0,-c);i.point(-o,-c);i.point(-o,0);i.point(-o,c)}else if(f(n[0]-t[0])>e){var u=n[0]0,a=f(t)>e;function interpolate(t,e,i,o){circleStream(o,n,r,i,t,e)}function visible(n,r){return h(n)*h(r)>t}function clipLine(n){var t,r,e,c,u;return{lineStart:function(){c=e=false;u=1},point:function(l,s){var f,p=[l,s],g=visible(l,s),h=i?g?0:code(l,s):g?code(l+(l<0?o:-o),s):0;!t&&(c=e=g)&&n.lineStart();if(g!==e){f=intersect(t,p);(!f||pointEqual(t,f)||pointEqual(p,f))&&(p[2]=1)}if(g!==e){u=0;if(g){n.lineStart();f=intersect(p,t);n.point(f[0],f[1])}else{f=intersect(t,p);n.point(f[0],f[1],2);n.lineEnd()}t=f}else if(a&&t&&i^g){var d;if(!(h&r)&&(d=intersect(p,t,true))){u=0;if(i){n.lineStart();n.point(d[0][0],d[0][1]);n.point(d[1][0],d[1][1]);n.lineEnd()}else{n.point(d[1][0],d[1][1]);n.lineEnd();n.lineStart();n.point(d[0][0],d[0][1],3)}}}!g||t&&pointEqual(t,p)||n.point(p[0],p[1]);t=p,e=g,r=h},lineEnd:function(){e&&n.lineEnd();t=null},clean:function(){return u|(c&&e)<<1}}}function intersect(n,r,i){var a=cartesian(n),c=cartesian(r);var u=[1,0,0],l=cartesianCross(a,c),s=cartesianDot(l,l),p=l[0],g=s-p*p;if(!g)return!i&&n;var h=t*s/g,d=-t*p/g,v=cartesianCross(u,l),m=cartesianScale(u,h),E=cartesianScale(l,d);cartesianAddInPlace(m,E);var S=v,y=cartesianDot(m,S),R=cartesianDot(S,S),P=y*y-R*(cartesianDot(m,m)-1);if(!(P<0)){var j=w(P),M=cartesianScale(S,(-y-j)/R);cartesianAddInPlace(M,m);M=spherical(M);if(!i)return M;var b,L=n[0],x=r[0],C=n[1],q=r[1];x0^M[1]<(f(M[0]-L)o^(L<=M[0]&&M[0]<=x)){var I=cartesianScale(S,(-y+j)/R);cartesianAddInPlace(I,m);return[M,spherical(I)]}}}function code(t,r){var e=i?n:o-n,a=0;t<-e?a|=1:t>e&&(a|=2);r<-e?a|=4:r>e&&(a|=8);return a}return clip(visible,clipLine,interpolate,i?[0,-n]:[-o,n-o])}function clipLine(n,t,r,e,i,o){var a,c=n[0],u=n[1],l=t[0],s=t[1],f=0,p=1,g=l-c,h=s-u;a=r-c;if(g||!(a>0)){a/=g;if(g<0){if(a0){if(a>p)return;a>f&&(f=a)}a=i-c;if(g||!(a<0)){a/=g;if(g<0){if(a>p)return;a>f&&(f=a)}else if(g>0){if(a0)){a/=h;if(h<0){if(a0){if(a>p)return;a>f&&(f=a)}a=o-u;if(h||!(a<0)){a/=h;if(h<0){if(a>p)return;a>f&&(f=a)}else if(h>0){if(a0&&(n[0]=c+f*g,n[1]=u+f*h);p<1&&(t[0]=c+p*g,t[1]=u+p*h);return true}}}}}var fn=1e9,pn=-fn;function clipRectangle(n,r,i,o){function visible(t,e){return n<=t&&t<=i&&r<=e&&e<=o}function interpolate(t,e,a,c){var u=0,l=0;if(t==null||(u=corner(t,a))!==(l=corner(e,a))||comparePoint(t,e)<0^a>0)do{c.point(u===0||u===3?n:i,u>1?o:r)}while((u=(u+a+4)%4)!==l);else c.point(e[0],e[1])}function corner(t,o){return f(t[0]-n)0?0:3:f(t[0]-i)0?2:1:f(t[1]-r)0?1:0:o>0?3:2}function compareIntersection(n,t){return comparePoint(n.x,t.x)}function comparePoint(n,t){var r=corner(n,1),e=corner(t,1);return r!==e?r-e:r===0?t[1]-n[1]:r===1?n[0]-t[0]:r===2?n[1]-t[1]:t[0]-n[0]}return function(e){var a,c,u,l,s,f,p,g,h,d,v,m=e,E=clipBuffer();var S={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:polygonStart,polygonEnd:polygonEnd};function point(n,t){visible(n,t)&&m.point(n,t)}function polygonInside(){var t=0;for(var r=0,e=c.length;ro&&(p-i)*(o-a)>(g-a)*(n-i)&&++t:g<=o&&(p-i)*(o-a)<(g-a)*(n-i)&&--t}return t}function polygonStart(){m=E,a=[],c=[],v=true}function polygonEnd(){var n=polygonInside(),r=v&&n,i=(a=t(a)).length;if(r||i){e.polygonStart();if(r){e.lineStart();interpolate(null,null,1,e);e.lineEnd()}i&&clipRejoin(a,compareIntersection,n,interpolate,e);e.polygonEnd()}m=e,a=c=u=null}function lineStart(){S.point=linePoint;c&&c.push(u=[]);d=true;h=false;p=g=NaN}function lineEnd(){if(a){linePoint(l,s);f&&h&&E.rejoin();a.push(E.result())}S.point=point;h&&m.lineEnd()}function linePoint(t,e){var a=visible(t,e);c&&u.push([t,e]);if(d){l=t,s=e,f=a;d=false;if(a){m.lineStart();m.point(t,e)}}else if(a&&h)m.point(t,e);else{var E=[p=Math.max(pn,Math.min(fn,p)),g=Math.max(pn,Math.min(fn,g))],S=[t=Math.max(pn,Math.min(fn,t)),e=Math.max(pn,Math.min(fn,e))];if(clipLine(E,S,n,r,i,o)){if(!h){m.lineStart();m.point(E[0],E[1])}m.point(S[0],S[1]);a||m.lineEnd();v=false}else if(a){m.lineStart();m.point(t,e);v=false}}p=t,g=e,h=a}return S}}function extent(){var n,t,r,e=0,i=0,o=960,a=500;return r={stream:function(r){return n&&t===r?n:n=clipRectangle(e,i,o,a)(t=r)},extent:function(c){return arguments.length?(e=+c[0][0],i=+c[0][1],o=+c[1][0],a=+c[1][1],n=t=null,r):[[e,i],[o,a]]}}}var gn,hn,dn,vn;var mn={sphere:noop,point:noop,lineStart:lengthLineStart,lineEnd:noop,polygonStart:noop,polygonEnd:noop};function lengthLineStart(){mn.point=lengthPointFirst$1;mn.lineEnd=lengthLineEnd}function lengthLineEnd(){mn.point=mn.lineEnd=noop}function lengthPointFirst$1(n,t){n*=s,t*=s;hn=n,dn=y(t),vn=h(t);mn.point=lengthPoint$1}function lengthPoint$1(n,t){n*=s,t*=s;var r=y(t),e=h(t),i=f(n-hn),o=h(i),a=y(i),c=e*a,u=vn*r-dn*e*o,l=dn*r+vn*e*o;gn.add(g(w(c*c+u*u),l));hn=n,dn=r,vn=e}function length(t){gn=new n;geoStream(t,mn);return+gn}var En=[null,null],Sn={type:"LineString",coordinates:En};function distance(n,t){En[0]=n;En[1]=t;return length(Sn)}var yn={Feature:function(n,t){return containsGeometry(n.geometry,t)},FeatureCollection:function(n,t){var r=n.features,e=-1,i=r.length;while(++e0){o=distance(n[a],n[a-1]);if(o>0&&r<=o&&e<=o&&(r+e-o)*(1-Math.pow((r-e)/o,2))e})).map(s)).concat(r(d(c/m)*m,a,m).filter((function(n){return f(n%S)>e})).map(p))}graticule.lines=function(){return lines().map((function(n){return{type:"LineString",coordinates:n}}))};graticule.outline=function(){return{type:"Polygon",coordinates:[g(o).concat(h(u).slice(1),g(i).reverse().slice(1),h(l).reverse().slice(1))]}};graticule.extent=function(n){return arguments.length?graticule.extentMajor(n).extentMinor(n):graticule.extentMinor()};graticule.extentMajor=function(n){if(!arguments.length)return[[o,l],[i,u]];o=+n[0][0],i=+n[1][0];l=+n[0][1],u=+n[1][1];o>i&&(n=o,o=i,i=n);l>u&&(n=l,l=u,u=n);return graticule.precision(y)};graticule.extentMinor=function(r){if(!arguments.length)return[[t,c],[n,a]];t=+r[0][0],n=+r[1][0];c=+r[0][1],a=+r[1][1];t>n&&(r=t,t=n,n=r);c>a&&(r=c,c=a,a=r);return graticule.precision(y)};graticule.step=function(n){return arguments.length?graticule.stepMajor(n).stepMinor(n):graticule.stepMinor()};graticule.stepMajor=function(n){if(!arguments.length)return[E,S];E=+n[0],S=+n[1];return graticule};graticule.stepMinor=function(n){if(!arguments.length)return[v,m];v=+n[0],m=+n[1];return graticule};graticule.precision=function(r){if(!arguments.length)return y;y=+r;s=graticuleX(c,a,90);p=graticuleY(t,n,y);g=graticuleX(l,u,90);h=graticuleY(o,i,y);return graticule};return graticule.extentMajor([[-180,-90+e],[180,90-e]]).extentMinor([[-180,-80-e],[180,80+e]])}function graticule10(){return graticule()()}function interpolate(n,t){var r=n[0]*s,e=n[1]*s,i=t[0]*s,o=t[1]*s,a=h(e),c=y(e),u=h(o),f=y(o),p=a*h(r),d=a*y(r),v=u*h(i),m=u*y(i),E=2*asin(w(haversin(o-e)+a*u*haversin(i-r))),S=y(E);var R=E?function(n){var t=y(n*=E)/S,r=y(E-n)/S,e=r*p+t*v,i=r*d+t*m,o=r*c+t*f;return[g(i,e)*l,g(o,w(e*e+i*i))*l]}:function(){return[r*l,e*l]};R.distance=E;return R}var identity$1=n=>n;var wn,Pn,jn,Mn,bn=new n,Ln=new n;var xn={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){xn.lineStart=areaRingStart;xn.lineEnd=areaRingEnd},polygonEnd:function(){xn.lineStart=xn.lineEnd=xn.point=noop;bn.add(f(Ln));Ln=new n},result:function(){var t=bn/2;bn=new n;return t}};function areaRingStart(){xn.point=areaPointFirst}function areaPointFirst(n,t){xn.point=areaPoint;wn=jn=n,Pn=Mn=t}function areaPoint(n,t){Ln.add(Mn*n-jn*t);jn=n,Mn=t}function areaRingEnd(){areaPoint(wn,Pn)}var Cn=Infinity,qn=Cn,$n=-Cn,_n=$n;var Nn={point:boundsPoint,lineStart:noop,lineEnd:noop,polygonStart:noop,polygonEnd:noop,result:function(){var n=[[Cn,qn],[$n,_n]];$n=_n=-(qn=Cn=Infinity);return n}};function boundsPoint(n,t){n$n&&($n=n);t_n&&(_n=t)}var In,An,zn,Fn,Tn=0,Un=0,Gn=0,kn=0,Hn=0,Wn=0,Dn=0,On=0,Xn=0;var Yn={point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){Yn.lineStart=centroidRingStart;Yn.lineEnd=centroidRingEnd},polygonEnd:function(){Yn.point=centroidPoint;Yn.lineStart=centroidLineStart;Yn.lineEnd=centroidLineEnd},result:function(){var n=Xn?[Dn/Xn,On/Xn]:Wn?[kn/Wn,Hn/Wn]:Gn?[Tn/Gn,Un/Gn]:[NaN,NaN];Tn=Un=Gn=kn=Hn=Wn=Dn=On=Xn=0;return n}};function centroidPoint(n,t){Tn+=n;Un+=t;++Gn}function centroidLineStart(){Yn.point=centroidPointFirstLine}function centroidPointFirstLine(n,t){Yn.point=centroidPointLine;centroidPoint(zn=n,Fn=t)}function centroidPointLine(n,t){var r=n-zn,e=t-Fn,i=w(r*r+e*e);kn+=i*(zn+n)/2;Hn+=i*(Fn+t)/2;Wn+=i;centroidPoint(zn=n,Fn=t)}function centroidLineEnd(){Yn.point=centroidPoint}function centroidRingStart(){Yn.point=centroidPointFirstRing}function centroidRingEnd(){centroidPointRing(In,An)}function centroidPointFirstRing(n,t){Yn.point=centroidPointRing;centroidPoint(In=zn=n,An=Fn=t)}function centroidPointRing(n,t){var r=n-zn,e=t-Fn,i=w(r*r+e*e);kn+=i*(zn+n)/2;Hn+=i*(Fn+t)/2;Wn+=i;i=Fn*n-zn*t;Dn+=i*(zn+n);On+=i*(Fn+t);Xn+=i*3;centroidPoint(zn=n,Fn=t)}function PathContext(n){this._context=n}PathContext.prototype={_radius:4.5,pointRadius:function(n){return this._radius=n,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath();this._point=NaN},point:function(n,t){switch(this._point){case 0:this._context.moveTo(n,t);this._point=1;break;case 1:this._context.lineTo(n,t);break;default:this._context.moveTo(n+this._radius,t);this._context.arc(n,t,this._radius,0,u);break}},result:noop};var Bn,Zn,Jn,Kn,Qn,Vn=new n;var nt={point:noop,lineStart:function(){nt.point=lengthPointFirst},lineEnd:function(){Bn&&lengthPoint(Zn,Jn);nt.point=noop},polygonStart:function(){Bn=true},polygonEnd:function(){Bn=null},result:function(){var t=+Vn;Vn=new n;return t}};function lengthPointFirst(n,t){nt.point=lengthPoint;Zn=Kn=n,Jn=Qn=t}function lengthPoint(n,t){Kn-=n,Qn-=t;Vn.add(w(Kn*Kn+Qn*Qn));Kn=n,Qn=t}let tt,rt,et,it;class PathString{constructor(n){this._append=n==null?append:appendRound(n);this._radius=4.5;this._=""}pointRadius(n){this._radius=+n;return this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z");this._point=NaN}point(n,t){switch(this._point){case 0:this._append`M${n},${t}`;this._point=1;break;case 1:this._append`L${n},${t}`;break;default:this._append`M${n},${t}`;if(this._radius!==et||this._append!==rt){const n=this._radius;const t=this._;this._="";this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`;et=n;rt=this._append;it=this._;this._=t}this._+=it;break}}result(){const n=this._;this._="";return n.length?n:null}}function append(n){let t=1;this._+=n[0];for(const r=n.length;t=0))throw new RangeError(`invalid digits: ${n}`);if(t>15)return append;if(t!==tt){const n=10**t;tt=t;rt=function append(t){let r=1;this._+=t[0];for(const e=t.length;r=0))throw new RangeError(`invalid digits: ${n}`);i=t}t===null&&(e=new PathString(i));return path};return path.projection(n).digits(i).context(t)}function transform(n){return{stream:transformer(n)}}function transformer(n){return function(t){var r=new TransformStream;for(var e in n)r[e]=n[e];r.stream=t;return r}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function fit(n,t,r){var e=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]);e!=null&&n.clipExtent(null);geoStream(r,n.stream(Nn));t(Nn.result());e!=null&&n.clipExtent(e);return n}function fitExtent(n,t,r){return fit(n,(function(r){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=Math.min(e/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+t[0][0]+(e-o*(r[1][0]+r[0][0]))/2,c=+t[0][1]+(i-o*(r[1][1]+r[0][1]))/2;n.scale(150*o).translate([a,c])}),r)}function fitSize(n,t,r){return fitExtent(n,[[0,0],t],r)}function fitWidth(n,t,r){return fit(n,(function(r){var e=+t,i=e/(r[1][0]-r[0][0]),o=(e-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];n.scale(150*i).translate([o,a])}),r)}function fitHeight(n,t,r){return fit(n,(function(r){var e=+t,i=e/(r[1][1]-r[0][1]),o=-i*r[0][0],a=(e-i*(r[1][1]+r[0][1]))/2;n.scale(150*i).translate([o,a])}),r)}var ot=16,at=h(30*s);function resample(n,t){return+t?resample$1(n,t):resampleNone(n)}function resampleNone(n){return transformer({point:function(t,r){t=n(t,r);this.stream.point(t[0],t[1])}})}function resample$1(n,t){function resampleLineTo(r,i,o,a,c,u,l,s,p,h,d,v,m,E){var S=l-r,y=s-i,R=S*S+y*y;if(R>4*t&&m--){var P=a+h,j=c+d,M=u+v,b=w(P*P+j*j+M*M),L=asin(M/=b),x=f(f(M)-1)t||f((S*_+y*N)/R-.5)>.3||a*h+c*d+u*v2?n[2]%360*s:0,recenter()):[E*l,S*l,y*l]};projection.angle=function(n){return arguments.length?(R=n%360*s,recenter()):R*l};projection.reflectX=function(n){return arguments.length?(P=n?-1:1,recenter()):P<0};projection.reflectY=function(n){return arguments.length?(j=n?-1:1,recenter()):j<0};projection.precision=function(n){return arguments.length?(a=resample(c,C=n*n),reset()):w(C)};projection.fitExtent=function(n,t){return fitExtent(projection,n,t)};projection.fitSize=function(n,t){return fitSize(projection,n,t)};projection.fitWidth=function(n,t){return fitWidth(projection,n,t)};projection.fitHeight=function(n,t){return fitHeight(projection,n,t)};function recenter(){var n=scaleTranslateRotate(g,0,0,P,j,R).apply(null,t(v,m)),e=scaleTranslateRotate(g,h-n[0],d-n[1],P,j,R);r=rotateRadians(E,S,y);c=compose(t,e);u=compose(r,c);a=resample(c,C);return reset()}function reset(){f=p=null;return projection}return function(){t=n.apply(this,arguments);projection.invert=t.invert&&invert;return recenter()}}function conicProjection(n){var t=0,r=o/3,e=projectionMutator(n),i=e(t,r);i.parallels=function(n){return arguments.length?e(t=n[0]*s,r=n[1]*s):[t*l,r*l]};return i}function cylindricalEqualAreaRaw(n){var t=h(n);function forward(n,r){return[n*t,y(r)/t]}forward.invert=function(n,r){return[n/t,asin(r*t)]};return forward}function conicEqualAreaRaw(n,t){var r=y(n),i=(r+y(t))/2;if(f(i)=.12&&i<.234&&e>=-.425&&e<-.214?u:i>=.166&&i<.234&&e>=-.214&&e<-.115?l:c).invert(n)};albersUsa.stream=function(r){return n&&t===r?n:n=multiplex([c.stream(t=r),u.stream(r),l.stream(r)])};albersUsa.precision=function(n){if(!arguments.length)return c.precision();c.precision(n),u.precision(n),l.precision(n);return reset()};albersUsa.scale=function(n){if(!arguments.length)return c.scale();c.scale(n),u.scale(n*.35),l.scale(n);return albersUsa.translate(c.translate())};albersUsa.translate=function(n){if(!arguments.length)return c.translate();var t=c.scale(),a=+n[0],f=+n[1];r=c.translate(n).clipExtent([[a-.455*t,f-.238*t],[a+.455*t,f+.238*t]]).stream(s);i=u.translate([a-.307*t,f+.201*t]).clipExtent([[a-.425*t+e,f+.12*t+e],[a-.214*t-e,f+.234*t-e]]).stream(s);o=l.translate([a-.205*t,f+.212*t]).clipExtent([[a-.214*t+e,f+.166*t+e],[a-.115*t-e,f+.234*t-e]]).stream(s);return reset()};albersUsa.fitExtent=function(n,t){return fitExtent(albersUsa,n,t)};albersUsa.fitSize=function(n,t){return fitSize(albersUsa,n,t)};albersUsa.fitWidth=function(n,t){return fitWidth(albersUsa,n,t)};albersUsa.fitHeight=function(n,t){return fitHeight(albersUsa,n,t)};function reset(){n=t=null;return albersUsa}return albersUsa.scale(1070)}function azimuthalRaw(n){return function(t,r){var e=h(t),i=h(r),o=n(e*i);return o===Infinity?[2,0]:[o*i*y(t),o*y(r)]}}function azimuthalInvert(n){return function(t,r){var e=w(t*t+r*r),i=n(e),o=y(i),a=h(i);return[g(t*o,e*a),asin(e&&r*o/e)]}}var ut=azimuthalRaw((function(n){return w(2/(1+n))}));ut.invert=azimuthalInvert((function(n){return 2*asin(n/2)}));function azimuthalEqualArea(){return projection(ut).scale(124.75).clipAngle(179.999)}var lt=azimuthalRaw((function(n){return(n=acos(n))&&n/y(n)}));lt.invert=azimuthalInvert((function(n){return n}));function azimuthalEquidistant(){return projection(lt).scale(79.4188).clipAngle(179.999)}function mercatorRaw(n,t){return[n,E(P((a+t)/2))]}mercatorRaw.invert=function(n,t){return[n,2*p(v(t))-a]};function mercator(){return mercatorProjection(mercatorRaw).scale(961/u)}function mercatorProjection(n){var t,r,e,i=projection(n),a=i.center,c=i.scale,u=i.translate,l=i.clipExtent,s=null;i.scale=function(n){return arguments.length?(c(n),reclip()):c()};i.translate=function(n){return arguments.length?(u(n),reclip()):u()};i.center=function(n){return arguments.length?(a(n),reclip()):a()};i.clipExtent=function(n){return arguments.length?(n==null?s=t=r=e=null:(s=+n[0][0],t=+n[0][1],r=+n[1][0],e=+n[1][1]),reclip()):s==null?null:[[s,t],[r,e]]};function reclip(){var a=o*c(),u=i(rotation(i.rotate()).invert([0,0]));return l(s==null?[[u[0]-a,u[1]-a],[u[0]+a,u[1]+a]]:n===mercatorRaw?[[Math.max(u[0]-a,s),t],[Math.min(u[0]+a,r),e]]:[[s,Math.max(u[1]-a,t)],[r,Math.min(u[1]+a,e)]])}return reclip()}function tany(n){return P((a+n)/2)}function conicConformalRaw(n,t){var r=h(n),i=n===t?y(n):E(r/h(t))/E(tany(t)/tany(n)),c=r*S(tany(n),i)/i;if(!i)return mercatorRaw;function project(n,t){c>0?t<-a+e&&(t=-a+e):t>a-e&&(t=a-e);var r=c/S(tany(t),i);return[r*y(i*n),c-r*h(i*n)]}project.invert=function(n,t){var r=c-t,e=R(i)*w(n*n+r*r),u=g(n,f(r))*R(r);r*i<0&&(u-=o*R(n)*R(r));return[u/i,2*p(S(c/e,1/i))-a]};return project}function conicConformal(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])}function equirectangularRaw(n,t){return[n,t]}equirectangularRaw.invert=equirectangularRaw;function equirectangular(){return projection(equirectangularRaw).scale(152.63)}function conicEquidistantRaw(n,t){var r=h(n),i=n===t?y(n):(r-h(t))/(t-n),a=r/i+n;if(f(i)e&&--o>0);return[n/(.8707+(a=i*i)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),i]};function naturalEarth1(){return projection(naturalEarth1Raw).scale(175.295)}function orthographicRaw(n,t){return[h(t)*y(n),y(t)]}orthographicRaw.invert=azimuthalInvert(asin);function orthographic(){return projection(orthographicRaw).scale(249.5).clipAngle(90+e)}function stereographicRaw(n,t){var r=h(t),e=1+h(n)*r;return[r*y(n)/e,y(t)/e]}stereographicRaw.invert=azimuthalInvert((function(n){return 2*p(n)}));function stereographic(){return projection(stereographicRaw).scale(250).clipAngle(142)}function transverseMercatorRaw(n,t){return[E(P((a+t)/2)),-n]}transverseMercatorRaw.invert=function(n,t){return[-t,2*p(v(n))-a]};function transverseMercator(){var n=mercatorProjection(transverseMercatorRaw),t=n.center,r=n.rotate;n.center=function(n){return arguments.length?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])};n.rotate=function(n){return arguments.length?r([n[0],n[1],n.length>2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])};return r([0,0,90]).scale(159.155)}export{albers as geoAlbers,albersUsa as geoAlbersUsa,area as geoArea,azimuthalEqualArea as geoAzimuthalEqualArea,ut as geoAzimuthalEqualAreaRaw,azimuthalEquidistant as geoAzimuthalEquidistant,lt as geoAzimuthalEquidistantRaw,bounds as geoBounds,centroid as geoCentroid,circle as geoCircle,sn as geoClipAntimeridian,clipCircle as geoClipCircle,extent as geoClipExtent,clipRectangle as geoClipRectangle,conicConformal as geoConicConformal,conicConformalRaw as geoConicConformalRaw,conicEqualArea as geoConicEqualArea,conicEqualAreaRaw as geoConicEqualAreaRaw,conicEquidistant as geoConicEquidistant,conicEquidistantRaw as geoConicEquidistantRaw,contains as geoContains,distance as geoDistance,equalEarth as geoEqualEarth,equalEarthRaw as geoEqualEarthRaw,equirectangular as geoEquirectangular,equirectangularRaw as geoEquirectangularRaw,gnomonic as geoGnomonic,gnomonicRaw as geoGnomonicRaw,graticule as geoGraticule,graticule10 as geoGraticule10,identity as geoIdentity,interpolate as geoInterpolate,length as geoLength,mercator as geoMercator,mercatorRaw as geoMercatorRaw,naturalEarth1 as geoNaturalEarth1,naturalEarth1Raw as geoNaturalEarth1Raw,orthographic as geoOrthographic,orthographicRaw as geoOrthographicRaw,index as geoPath,projection as geoProjection,projectionMutator as geoProjectionMutator,rotation as geoRotation,stereographic as geoStereographic,stereographicRaw as geoStereographicRaw,geoStream,transform as geoTransform,transverseMercator as geoTransverseMercator,transverseMercatorRaw as geoTransverseMercatorRaw}; +import n from"d3-array";var t="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:global;var r={};(function(t,e){e(r,n)})(r,(function(n,r){var adder=function(){return new Adder};function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){(this||t).s=(this||t).t=0},add:function(n){add(e,n,(this||t).t);add(this||t,e.s,(this||t).s);(this||t).s?(this||t).t+=e.t:(this||t).s=e.t},valueOf:function(){return(this||t).s}};var e=new Adder;function add(n,t,r){var e=n.s=t+r,i=e-t,o=e-i;n.t=t-o+(r-i)}var i=1e-6;var o=1e-12;var a=Math.PI;var c=a/2;var u=a/4;var l=2*a;var s=180/a;var f=a/180;var p=Math.abs;var g=Math.atan;var v=Math.atan2;var d=Math.cos;var h=Math.ceil;var m=Math.exp;var E=Math.log;var S=Math.pow;var y=Math.sin;var P=Math.sign||function(n){return n>0?1:n<0?-1:0};var R=Math.sqrt;var w=Math.tan;function acos(n){return n>1?0:n<-1?a:Math.acos(n)}function asin(n){return n>1?c:n<-1?-c:Math.asin(n)}function haversin(n){return(n=y(n/2))*n}function noop(){}function streamGeometry(n,t){n&&x.hasOwnProperty(n.type)&&x[n.type](n,t)}var M={Feature:function(n,t){streamGeometry(n.geometry,t)},FeatureCollection:function(n,t){var r=n.features,e=-1,i=r.length;while(++e=0?1:-1,i=e*r,o=d(t),a=y(t),c=I*a,l=N*o+c*d(i),s=c*e*y(i);L.add(v(s,l));A=n,N=o,I=a}var area=function(n){j.reset();geoStream(n,_);return 2*j};function spherical(n){return[v(n[1],n[0]),asin(n[2])]}function cartesian(n){var t=n[0],r=n[1],e=d(r);return[e*d(t),e*y(t),y(r)]}function cartesianDot(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function cartesianCross(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function cartesianAddInPlace(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function cartesianScale(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function cartesianNormalizeInPlace(n){var t=R(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}var $;var q;var z;var T;var G;var F;var U;var O;var k=adder();var D;var X;var Y={point:boundsPoint,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){Y.point=boundsRingPoint;Y.lineStart=boundsRingStart;Y.lineEnd=boundsRingEnd;k.reset();_.polygonStart()},polygonEnd:function(){_.polygonEnd();Y.point=boundsPoint;Y.lineStart=boundsLineStart;Y.lineEnd=boundsLineEnd;L<0?($=-(z=180),q=-(T=90)):k>i?T=90:k<-i&&(q=-90);X[0]=$,X[1]=z}};function boundsPoint(n,t){D.push(X=[$=n,z=n]);tT&&(T=t)}function linePoint(n,t){var r=cartesian([n*f,t*f]);if(O){var e=cartesianCross(O,r),i=[e[1],-e[0],0],o=cartesianCross(i,e);cartesianNormalizeInPlace(o);o=spherical(o);var a=n-G,c=a>0?1:-1,u=o[0]*s*c,l,g=p(a)>180;if(g^(c*GT&&(T=l)}else if(u=(u+360)%360-180,g^(c*GT&&(T=t)}if(g)nangle($,z)&&(z=n):angle(n,z)>angle($,z)&&($=n);else if(z>=$){n<$&&($=n);n>z&&(z=n)}else n>G?angle($,n)>angle($,z)&&(z=n):angle(n,z)>angle($,z)&&($=n)}else D.push(X=[$=n,z=n]);tT&&(T=t);O=r,G=n}function boundsLineStart(){Y.point=linePoint}function boundsLineEnd(){X[0]=$,X[1]=z;Y.point=boundsPoint;O=null}function boundsRingPoint(n,t){if(O){var r=n-G;k.add(p(r)>180?r+(r>0?360:-360):r)}else F=n,U=t;_.point(n,t);linePoint(n,t)}function boundsRingStart(){_.lineStart()}function boundsRingEnd(){boundsRingPoint(F,U);_.lineEnd();p(k)>i&&($=-(z=180));X[0]=$,X[1]=z;O=null}function angle(n,t){return(t-=n)<0?t+360:t}function rangeCompare(n,t){return n[0]-t[0]}function rangeContains(n,t){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:tangle(e[0],e[1])&&(e[1]=i[1]);angle(i[0],e[1])>angle(e[0],e[1])&&(e[0]=i[0])}else o.push(e=i)}for(a=-Infinity,r=o.length-1,t=0,e=o[r];t<=r;e=i,++t){i=o[t];(c=angle(e[1],i[0]))>a&&(a=c,$=i[0],z=e[1])}}D=X=null;return Infinity===$||Infinity===q?[[NaN,NaN],[NaN,NaN]]:[[$,q],[z,T]]};var B;var Z;var H;var J;var K;var Q;var V;var W;var nn;var tn;var rn;var en;var on;var an;var cn;var un;var ln={sphere:noop,point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){ln.lineStart=centroidRingStart;ln.lineEnd=centroidRingEnd},polygonEnd:function(){ln.lineStart=centroidLineStart;ln.lineEnd=centroidLineEnd}};function centroidPoint(n,t){n*=f,t*=f;var r=d(t);centroidPointCartesian(r*d(n),r*y(n),y(t))}function centroidPointCartesian(n,t,r){++B;H+=(n-H)/B;J+=(t-J)/B;K+=(r-K)/B}function centroidLineStart(){ln.point=centroidLinePointFirst}function centroidLinePointFirst(n,t){n*=f,t*=f;var r=d(t);an=r*d(n);cn=r*y(n);un=y(t);ln.point=centroidLinePoint;centroidPointCartesian(an,cn,un)}function centroidLinePoint(n,t){n*=f,t*=f;var r=d(t),e=r*d(n),i=r*y(n),o=y(t),a=v(R((a=cn*o-un*i)*a+(a=un*e-an*o)*a+(a=an*i-cn*e)*a),an*e+cn*i+un*o);Z+=a;Q+=a*(an+(an=e));V+=a*(cn+(cn=i));W+=a*(un+(un=o));centroidPointCartesian(an,cn,un)}function centroidLineEnd(){ln.point=centroidPoint}function centroidRingStart(){ln.point=centroidRingPointFirst}function centroidRingEnd(){centroidRingPoint(en,on);ln.point=centroidPoint}function centroidRingPointFirst(n,t){en=n,on=t;n*=f,t*=f;ln.point=centroidRingPoint;var r=d(t);an=r*d(n);cn=r*y(n);un=y(t);centroidPointCartesian(an,cn,un)}function centroidRingPoint(n,t){n*=f,t*=f;var r=d(t),e=r*d(n),i=r*y(n),o=y(t),a=cn*o-un*i,c=un*e-an*o,u=an*i-cn*e,l=R(a*a+c*c+u*u),s=asin(l),p=l&&-s/l;nn+=p*a;tn+=p*c;rn+=p*u;Z+=s;Q+=s*(an+(an=e));V+=s*(cn+(cn=i));W+=s*(un+(un=o));centroidPointCartesian(an,cn,un)}var centroid=function(n){B=Z=H=J=K=Q=V=W=nn=tn=rn=0;geoStream(n,ln);var t=nn,r=tn,e=rn,a=t*t+r*r+e*e;if(aa?n-l:n<-a?n+l:n,t]}rotationIdentity.invert=rotationIdentity;function rotateRadians(n,t,r){return(n%=l)?t||r?compose(rotationLambda(n),rotationPhiGamma(t,r)):rotationLambda(n):t||r?rotationPhiGamma(t,r):rotationIdentity}function forwardRotationLambda(n){return function(t,r){return t+=n,[t>a?t-l:t<-a?t+l:t,r]}}function rotationLambda(n){var t=forwardRotationLambda(n);t.invert=forwardRotationLambda(-n);return t}function rotationPhiGamma(n,t){var r=d(n),e=y(n),i=d(t),o=y(t);function rotation(n,t){var a=d(t),c=d(n)*a,u=y(n)*a,l=y(t),s=l*r+c*e;return[v(u*i-s*o,c*r-l*e),asin(s*i+u*o)]}rotation.invert=function(n,t){var a=d(t),c=d(n)*a,u=y(n)*a,l=y(t),s=l*i-u*o;return[v(u*i+l*o,c*r+s*e),asin(s*r-c*e)]};return rotation}var rotation=function(n){n=rotateRadians(n[0]*f,n[1]*f,n.length>2?n[2]*f:0);function forward(t){t=n(t[0]*f,t[1]*f);return t[0]*=s,t[1]*=s,t}forward.invert=function(t){t=n.invert(t[0]*f,t[1]*f);return t[0]*=s,t[1]*=s,t};return forward};function circleStream(n,t,r,e,i,o){if(r){var a=d(t),c=y(t),u=e*r;if(null==i){i=t+e*l;o=t-u/2}else{i=circleRadius(a,i);o=circleRadius(a,o);(e>0?io)&&(i+=e*l)}for(var s,f=i;e>0?f>o:f1&&n.push(n.pop().concat(n.shift()))},result:function(){var r=n;n=[];t=null;return r}}};var clipLine=function(n,t,r,e,i,o){var a=n[0],c=n[1],u=t[0],l=t[1],s=0,f=1,p=u-a,g=l-c,v;v=r-a;if(p||!(v>0)){v/=p;if(p<0){if(v0){if(v>f)return;v>s&&(s=v)}v=i-a;if(p||!(v<0)){v/=p;if(p<0){if(v>f)return;v>s&&(s=v)}else if(p>0){if(v0)){v/=g;if(g<0){if(v0){if(v>f)return;v>s&&(s=v)}v=o-c;if(g||!(v<0)){v/=g;if(g<0){if(v>f)return;v>s&&(s=v)}else if(g>0){if(v0&&(n[0]=a+s*p,n[1]=c+s*g);f<1&&(t[0]=a+f*p,t[1]=c+f*g);return true}}}}};var pointEqual=function(n,t){return p(n[0]-t[0])=0;--c)i.point((f=s[c])[0],f[1])}else e(p.x,p.p.x,-1,i);p=p.p}p=p.o;s=p.z;g=!g}while(!p.v);i.lineEnd()}}};function link(n){if(t=n.length){var t,r=0,e=n[0],i;while(++r0)do{c.point(0===u||3===u?n:e,u>1?o:t)}while((u=(u+a+4)%4)!==l);else c.point(i[0],i[1])}function corner(r,o){return p(r[0]-n)0?0:3:p(r[0]-e)0?2:1:p(r[1]-t)0?1:0:o>0?3:2}function compareIntersection(n,t){return comparePoint(n.x,t.x)}function comparePoint(n,t){var r=corner(n,1),e=corner(t,1);return r!==e?r-e:0===r?t[1]-n[1]:1===r?n[0]-t[0]:2===r?n[1]-t[1]:t[0]-n[0]}return function(i){var a=i,c=clipBuffer(),u,l,s,f,p,g,v,d,h,m,E;var S={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:polygonStart,polygonEnd:polygonEnd};function point(n,t){visible(n,t)&&a.point(n,t)}function polygonInside(){var t=0;for(var r=0,e=l.length;ro&&(p-s)*(o-f)>(g-f)*(n-s)&&++t:g<=o&&(p-s)*(o-f)<(g-f)*(n-s)&&--t}return t}function polygonStart(){a=c,u=[],l=[],E=true}function polygonEnd(){var n=polygonInside(),t=E&&n,e=(u=r.merge(u)).length;if(t||e){i.polygonStart();if(t){i.lineStart();interpolate(null,null,1,i);i.lineEnd()}e&&clipPolygon(u,compareIntersection,n,interpolate,i);i.polygonEnd()}a=i,u=l=s=null}function lineStart(){S.point=linePoint;l&&l.push(s=[]);m=true;h=false;v=d=NaN}function lineEnd(){if(u){linePoint(f,p);g&&h&&c.rejoin();u.push(c.result())}S.point=point;h&&a.lineEnd()}function linePoint(r,i){var c=visible(r,i);l&&s.push([r,i]);if(m){f=r,p=i,g=c;m=false;if(c){a.lineStart();a.point(r,i)}}else if(c&&h)a.point(r,i);else{var u=[v=Math.max(fn,Math.min(sn,v)),d=Math.max(fn,Math.min(sn,d))],S=[r=Math.max(fn,Math.min(sn,r)),i=Math.max(fn,Math.min(sn,i))];if(clipLine(u,S,n,t,e,o)){if(!h){a.lineStart();a.point(u[0],u[1])}a.point(S[0],S[1]);c||a.lineEnd();E=false}else if(c){a.lineStart();a.point(r,i);E=false}}v=r,d=i,h=c}return S}}var extent=function(){var n=0,t=0,r=960,e=500,i,o,a;return a={stream:function(a){return i&&o===a?i:i=clipExtent(n,t,r,e)(o=a)},extent:function(c){return arguments.length?(n=+c[0][0],t=+c[0][1],r=+c[1][0],e=+c[1][1],i=o=null,a):[[n,t],[r,e]]}}};var pn=adder();var polygonContains=function(n,t){var r=t[0],e=t[1],o=[y(r),-d(r),0],c=0,s=0;pn.reset();for(var f=0,p=n.length;f=0?1:-1,N=A*C,I=N>a,_=P*j;pn.add(v(_*A*y(N),R*b+_*d(N)));c+=I?C+A*l:C;if(I^E>=r^x>=r){var $=cartesianCross(cartesian(m),cartesian(M));cartesianNormalizeInPlace($);var q=cartesianCross(o,$);cartesianNormalizeInPlace(q);var z=(I^C>=0?-1:1)*asin(q[2]);(e>z||e===z&&($[0]||$[1]))&&(s+=I^C>=0?1:-1)}}}return(c<-i||ci})).map(d)).concat(r.range(h(c/f)*f,a,f).filter((function(n){return p(n%v)>i})).map(m))}graticule.lines=function(){return lines().map((function(n){return{type:"LineString",coordinates:n}}))};graticule.outline=function(){return{type:"Polygon",coordinates:[E(o).concat(S(u).slice(1),E(e).reverse().slice(1),S(l).reverse().slice(1))]}};graticule.extent=function(n){return arguments.length?graticule.extentMajor(n).extentMinor(n):graticule.extentMinor()};graticule.extentMajor=function(n){if(!arguments.length)return[[o,l],[e,u]];o=+n[0][0],e=+n[1][0];l=+n[0][1],u=+n[1][1];o>e&&(n=o,o=e,e=n);l>u&&(n=l,l=u,u=n);return graticule.precision(y)};graticule.extentMinor=function(r){if(!arguments.length)return[[t,c],[n,a]];t=+r[0][0],n=+r[1][0];c=+r[0][1],a=+r[1][1];t>n&&(r=t,t=n,n=r);c>a&&(r=c,c=a,a=r);return graticule.precision(y)};graticule.step=function(n){return arguments.length?graticule.stepMajor(n).stepMinor(n):graticule.stepMinor()};graticule.stepMajor=function(n){if(!arguments.length)return[g,v];g=+n[0],v=+n[1];return graticule};graticule.stepMinor=function(n){if(!arguments.length)return[s,f];s=+n[0],f=+n[1];return graticule};graticule.precision=function(r){if(!arguments.length)return y;y=+r;d=graticuleX(c,a,90);m=graticuleY(t,n,y);E=graticuleX(l,u,90);S=graticuleY(o,e,y);return graticule};return graticule.extentMajor([[-180,-90+i],[180,90-i]]).extentMinor([[-180,-80-i],[180,80+i]])}function graticule10(){return graticule()()}var interpolate=function(n,t){var r=n[0]*f,e=n[1]*f,i=t[0]*f,o=t[1]*f,a=d(e),c=y(e),u=d(o),l=y(o),p=a*d(r),g=a*y(r),h=u*d(i),m=u*y(i),E=2*asin(R(haversin(o-e)+a*u*haversin(i-r))),S=y(E);var P=E?function(n){var t=y(n*=E)/S,r=y(E-n)/S,e=r*p+t*h,i=r*g+t*m,o=r*c+t*l;return[v(i,e)*s,v(o,R(e*e+i*i))*s]}:function(){return[r*s,e*s]};P.distance=E;return P};var identity=function(n){return n};var Rn=adder();var wn=adder();var Mn;var xn;var Ln;var jn;var bn={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){bn.lineStart=areaRingStart$1;bn.lineEnd=areaRingEnd$1},polygonEnd:function(){bn.lineStart=bn.lineEnd=bn.point=noop;Rn.add(p(wn));wn.reset()},result:function(){var n=Rn/2;Rn.reset();return n}};function areaRingStart$1(){bn.point=areaPointFirst$1}function areaPointFirst$1(n,t){bn.point=areaPoint$1;Mn=Ln=n,xn=jn=t}function areaPoint$1(n,t){wn.add(jn*n-Ln*t);Ln=n,jn=t}function areaRingEnd$1(){areaPoint$1(Mn,xn)}var Cn=Infinity;var An=Cn;var Nn=-Cn;var In=Nn;var _n={point:boundsPoint$1,lineStart:noop,lineEnd:noop,polygonStart:noop,polygonEnd:noop,result:function(){var n=[[Cn,An],[Nn,In]];Nn=In=-(An=Cn=Infinity);return n}};function boundsPoint$1(n,t){nNn&&(Nn=n);tIn&&(In=t)}var $n=0;var qn=0;var zn=0;var Tn=0;var Gn=0;var Fn=0;var Un=0;var On=0;var kn=0;var Dn;var Xn;var Yn;var Bn;var Zn={point:centroidPoint$1,lineStart:centroidLineStart$1,lineEnd:centroidLineEnd$1,polygonStart:function(){Zn.lineStart=centroidRingStart$1;Zn.lineEnd=centroidRingEnd$1},polygonEnd:function(){Zn.point=centroidPoint$1;Zn.lineStart=centroidLineStart$1;Zn.lineEnd=centroidLineEnd$1},result:function(){var n=kn?[Un/kn,On/kn]:Fn?[Tn/Fn,Gn/Fn]:zn?[$n/zn,qn/zn]:[NaN,NaN];$n=qn=zn=Tn=Gn=Fn=Un=On=kn=0;return n}};function centroidPoint$1(n,t){$n+=n;qn+=t;++zn}function centroidLineStart$1(){Zn.point=centroidPointFirstLine}function centroidPointFirstLine(n,t){Zn.point=centroidPointLine;centroidPoint$1(Yn=n,Bn=t)}function centroidPointLine(n,t){var r=n-Yn,e=t-Bn,i=R(r*r+e*e);Tn+=i*(Yn+n)/2;Gn+=i*(Bn+t)/2;Fn+=i;centroidPoint$1(Yn=n,Bn=t)}function centroidLineEnd$1(){Zn.point=centroidPoint$1}function centroidRingStart$1(){Zn.point=centroidPointFirstRing}function centroidRingEnd$1(){centroidPointRing(Dn,Xn)}function centroidPointFirstRing(n,t){Zn.point=centroidPointRing;centroidPoint$1(Dn=Yn=n,Xn=Bn=t)}function centroidPointRing(n,t){var r=n-Yn,e=t-Bn,i=R(r*r+e*e);Tn+=i*(Yn+n)/2;Gn+=i*(Bn+t)/2;Fn+=i;i=Bn*n-Yn*t;Un+=i*(Yn+n);On+=i*(Bn+t);kn+=3*i;centroidPoint$1(Yn=n,Bn=t)}function PathContext(n){(this||t)._context=n}PathContext.prototype={_radius:4.5,pointRadius:function(n){return(this||t)._radius=n,this||t},polygonStart:function(){(this||t)._line=0},polygonEnd:function(){(this||t)._line=NaN},lineStart:function(){(this||t)._point=0},lineEnd:function(){0===(this||t)._line&&(this||t)._context.closePath();(this||t)._point=NaN},point:function(n,r){switch((this||t)._point){case 0:(this||t)._context.moveTo(n,r);(this||t)._point=1;break;case 1:(this||t)._context.lineTo(n,r);break;default:(this||t)._context.moveTo(n+(this||t)._radius,r);(this||t)._context.arc(n,r,(this||t)._radius,0,l);break}},result:noop};var Hn=adder();var Jn;var Kn;var Qn;var Vn;var Wn;var nt={point:noop,lineStart:function(){nt.point=lengthPointFirst$1},lineEnd:function(){Jn&&lengthPoint$1(Kn,Qn);nt.point=noop},polygonStart:function(){Jn=true},polygonEnd:function(){Jn=null},result:function(){var n=+Hn;Hn.reset();return n}};function lengthPointFirst$1(n,t){nt.point=lengthPoint$1;Kn=Vn=n,Qn=Wn=t}function lengthPoint$1(n,t){Vn-=n,Wn-=t;Hn.add(R(Vn*Vn+Wn*Wn));Vn=n,Wn=t}function PathString(){(this||t)._string=[]}PathString.prototype={_radius:4.5,_circle:circle$1(4.5),pointRadius:function(n){(n=+n)!==(this||t)._radius&&((this||t)._radius=n,(this||t)._circle=null);return this||t},polygonStart:function(){(this||t)._line=0},polygonEnd:function(){(this||t)._line=NaN},lineStart:function(){(this||t)._point=0},lineEnd:function(){0===(this||t)._line&&(this||t)._string.push("Z");(this||t)._point=NaN},point:function(n,r){switch((this||t)._point){case 0:(this||t)._string.push("M",n,",",r);(this||t)._point=1;break;case 1:(this||t)._string.push("L",n,",",r);break;default:null==(this||t)._circle&&((this||t)._circle=circle$1((this||t)._radius));(this||t)._string.push("M",n,",",r,(this||t)._circle);break}},result:function(){if((this||t)._string.length){var n=(this||t)._string.join("");(this||t)._string=[];return n}return null}};function circle$1(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}var index=function(n,r){var e=4.5,i,o;function path(n){if(n){"function"===typeof e&&o.pointRadius(+e.apply(this||t,arguments));geoStream(n,i(o))}return o.result()}path.area=function(n){geoStream(n,i(bn));return bn.result()};path.measure=function(n){geoStream(n,i(nt));return nt.result()};path.bounds=function(n){geoStream(n,i(_n));return _n.result()};path.centroid=function(n){geoStream(n,i(Zn));return Zn.result()};path.projection=function(t){return arguments.length?(i=null==t?(n=null,identity):(n=t).stream,path):n};path.context=function(n){if(!arguments.length)return r;o=null==n?(r=null,new PathString):new PathContext(r=n);"function"!==typeof e&&o.pointRadius(e);return path};path.pointRadius=function(n){if(!arguments.length)return e;e="function"===typeof n?n:(o.pointRadius(+n),+n);return path};return path.projection(n).context(r)};var clip=function(n,t,e,i){return function(o,a){var c=t(a),u=o.invert(i[0],i[1]),l=clipBuffer(),s=t(l),f=false,p,g,v;var d={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){d.point=pointRing;d.lineStart=ringStart;d.lineEnd=ringEnd;g=[];p=[]},polygonEnd:function(){d.point=point;d.lineStart=lineStart;d.lineEnd=lineEnd;g=r.merge(g);var n=polygonContains(p,u);if(g.length){f||(a.polygonStart(),f=true);clipPolygon(g,compareIntersection,n,e,a)}else if(n){f||(a.polygonStart(),f=true);a.lineStart();e(null,null,1,a);a.lineEnd()}f&&(a.polygonEnd(),f=false);g=p=null},sphere:function(){a.polygonStart();a.lineStart();e(null,null,1,a);a.lineEnd();a.polygonEnd()}};function point(t,r){var e=o(t,r);n(t=e[0],r=e[1])&&a.point(t,r)}function pointLine(n,t){var r=o(n,t);c.point(r[0],r[1])}function lineStart(){d.point=pointLine;c.lineStart()}function lineEnd(){d.point=point;c.lineEnd()}function pointRing(n,t){v.push([n,t]);var r=o(n,t);s.point(r[0],r[1])}function ringStart(){s.lineStart();v=[]}function ringEnd(){pointRing(v[0][0],v[0][1]);s.lineEnd();var n=s.clean(),t=l.result(),r,e=t.length,i,o,c;v.pop();p.push(v);v=null;if(e)if(1&n){o=t[0];if((i=o.length-1)>0){f||(a.polygonStart(),f=true);a.lineStart();for(r=0;r1&&2&n&&t.push(t.pop().concat(t.shift()));g.push(t.filter(validSegment))}}return d}};function validSegment(n){return n.length>1}function compareIntersection(n,t){return((n=n.x)[0]<0?n[1]-c-i:c-n[1])-((t=t.x)[0]<0?t[1]-c-i:c-t[1])}var tt=clip((function(){return true}),clipAntimeridianLine,clipAntimeridianInterpolate,[-a,-c]);function clipAntimeridianLine(n){var t=NaN,r=NaN,e=NaN,o;return{lineStart:function(){n.lineStart();o=1},point:function(u,l){var s=u>0?a:-a,f=p(u-t);if(p(f-a)0?c:-c);n.point(e,r);n.lineEnd();n.lineStart();n.point(s,r);n.point(u,r);o=0}else if(e!==s&&f>=a){p(t-e)i?g((y(t)*(a=d(e))*y(r)-y(e)*(o=d(t))*y(n))/(o*a*c)):(t+e)/2}function clipAntimeridianInterpolate(n,t,r,e){var o;if(null==n){o=r*c;e.point(-a,o);e.point(0,o);e.point(a,o);e.point(a,0);e.point(a,-o);e.point(0,-o);e.point(-a,-o);e.point(-a,0);e.point(-a,o)}else if(p(n[0]-t[0])>i){var u=n[0]0,o=p(r)>i;function interpolate(r,e,i,o){circleStream(o,n,t,i,r,e)}function visible(n,t){return d(n)*d(t)>r}function clipLine(n){var t,r,c,u,l;return{lineStart:function(){u=c=false;l=1},point:function(s,f){var p=[s,f],g,v=visible(s,f),d=e?v?0:code(s,f):v?code(s+(s<0?a:-a),f):0;!t&&(u=c=v)&&n.lineStart();if(v!==c){g=intersect(t,p);if(!g||pointEqual(t,g)||pointEqual(p,g)){p[0]+=i;p[1]+=i;v=visible(p[0],p[1])}}if(v!==c){l=0;if(v){n.lineStart();g=intersect(p,t);n.point(g[0],g[1])}else{g=intersect(t,p);n.point(g[0],g[1]);n.lineEnd()}t=g}else if(o&&t&&e^v){var h;if(!(d&r)&&(h=intersect(p,t,true))){l=0;if(e){n.lineStart();n.point(h[0][0],h[0][1]);n.point(h[1][0],h[1][1]);n.lineEnd()}else{n.point(h[1][0],h[1][1]);n.lineEnd();n.lineStart();n.point(h[0][0],h[0][1])}}}!v||t&&pointEqual(t,p)||n.point(p[0],p[1]);t=p,c=v,r=d},lineEnd:function(){c&&n.lineEnd();t=null},clean:function(){return l|(u&&c)<<1}}}function intersect(n,t,e){var o=cartesian(n),c=cartesian(t);var u=[1,0,0],l=cartesianCross(o,c),s=cartesianDot(l,l),f=l[0],g=s-f*f;if(!g)return!e&&n;var v=r*s/g,d=-r*f/g,h=cartesianCross(u,l),m=cartesianScale(u,v),E=cartesianScale(l,d);cartesianAddInPlace(m,E);var S=h,y=cartesianDot(m,S),P=cartesianDot(S,S),w=y*y-P*(cartesianDot(m,m)-1);if(!(w<0)){var M=R(w),x=cartesianScale(S,(-y-M)/P);cartesianAddInPlace(x,m);x=spherical(x);if(!e)return x;var L=n[0],j=t[0],b=n[1],C=t[1],A;j0^x[1]<(p(x[0]-L)a^(L<=x[0]&&x[0]<=j)){var $=cartesianScale(S,(-y+M)/P);cartesianAddInPlace($,m);return[x,spherical($)]}}}function code(t,r){var i=e?n:a-n,o=0;t<-i?o|=1:t>i&&(o|=2);r<-i?o|=4:r>i&&(o|=8);return o}return clip(visible,clipLine,interpolate,e?[0,-n]:[-a,n-a])};var transform=function(n){return{stream:transformer(n)}};function transformer(n){return function(t){var r=new TransformStream;for(var e in n)r[e]=n[e];r.stream=t;return r}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(n,r){(this||t).stream.point(n,r)},sphere:function(){(this||t).stream.sphere()},lineStart:function(){(this||t).stream.lineStart()},lineEnd:function(){(this||t).stream.lineEnd()},polygonStart:function(){(this||t).stream.polygonStart()},polygonEnd:function(){(this||t).stream.polygonEnd()}};function fitExtent(n,t,r){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1],o=n.clipExtent&&n.clipExtent();n.scale(150).translate([0,0]);null!=o&&n.clipExtent(null);geoStream(r,n.stream(_n));var a=_n.result(),c=Math.min(e/(a[1][0]-a[0][0]),i/(a[1][1]-a[0][1])),u=+t[0][0]+(e-c*(a[1][0]+a[0][0]))/2,l=+t[0][1]+(i-c*(a[1][1]+a[0][1]))/2;null!=o&&n.clipExtent(o);return n.scale(150*c).translate([u,l])}function fitSize(n,t,r){return fitExtent(n,[[0,0],t],r)}var rt=16;var et=d(30*f);var resample=function(n,t){return+t?resample$1(n,t):resampleNone(n)};function resampleNone(n){return transformer({point:function(r,e){r=n(r,e);(this||t).stream.point(r[0],r[1])}})}function resample$1(n,t){function resampleLineTo(r,e,o,a,c,u,l,s,f,g,d,h,m,E){var S=l-r,y=s-e,P=S*S+y*y;if(P>4*t&&m--){var w=a+g,M=c+d,x=u+h,L=R(w*w+M*M+x*x),j=asin(x/=L),b=p(p(x)-1)t||p((S*I+y*_)/P-.5)>.3||a*g+c*d+u*h2?n[2]%360*f:0,recenter()):[p*s,g*s,v*s]};projection.precision=function(n){return arguments.length?(L=resample(projectTransform,x=n*n),reset()):R(x)};projection.fitExtent=function(n,t){return fitExtent(projection,n,t)};projection.fitSize=function(n,t){return fitSize(projection,n,t)};function recenter(){h=compose(d=rotateRadians(p,g,v),r);var n=r(u,l);a=i-n[0]*e;c=o+n[1]*e;return reset()}function reset(){j=b=null;return projection}return function(){r=n.apply(this||t,arguments);projection.invert=r.invert&&invert;return recenter()}}function conicProjection(n){var t=0,r=a/3,e=projectionMutator(n),i=e(t,r);i.parallels=function(n){return arguments.length?e(t=n[0]*f,r=n[1]*f):[t*s,r*s]};return i}function cylindricalEqualAreaRaw(n){var t=d(n);function forward(n,r){return[n*t,y(r)/t]}forward.invert=function(n,r){return[n/t,asin(r*t)]};return forward}function conicEqualAreaRaw(n,t){var r=y(n),e=(r+y(t))/2;if(p(e)=.12&&a<.234&&i>=-.425&&i<-.214?o:a>=.166&&a<.234&&i>=-.214&&i<-.115?c:r).invert(n)};albersUsa.stream=function(e){return n&&t===e?n:n=multiplex([r.stream(t=e),o.stream(e),c.stream(e)])};albersUsa.precision=function(n){if(!arguments.length)return r.precision();r.precision(n),o.precision(n),c.precision(n);return reset()};albersUsa.scale=function(n){if(!arguments.length)return r.scale();r.scale(n),o.scale(.35*n),c.scale(n);return albersUsa.translate(r.translate())};albersUsa.translate=function(n){if(!arguments.length)return r.translate();var t=r.scale(),l=+n[0],f=+n[1];e=r.translate(n).clipExtent([[l-.455*t,f-.238*t],[l+.455*t,f+.238*t]]).stream(s);a=o.translate([l-.307*t,f+.201*t]).clipExtent([[l-.425*t+i,f+.12*t+i],[l-.214*t-i,f+.234*t-i]]).stream(s);u=c.translate([l-.205*t,f+.212*t]).clipExtent([[l-.214*t+i,f+.166*t+i],[l-.115*t-i,f+.234*t-i]]).stream(s);return reset()};albersUsa.fitExtent=function(n,t){return fitExtent(albersUsa,n,t)};albersUsa.fitSize=function(n,t){return fitSize(albersUsa,n,t)};function reset(){n=t=null;return albersUsa}return albersUsa.scale(1070)};function azimuthalRaw(n){return function(t,r){var e=d(t),i=d(r),o=n(e*i);return[o*i*y(t),o*y(r)]}}function azimuthalInvert(n){return function(t,r){var e=R(t*t+r*r),i=n(e),o=y(i),a=d(i);return[v(t*o,e*a),asin(e&&r*o/e)]}}var ot=azimuthalRaw((function(n){return R(2/(1+n))}));ot.invert=azimuthalInvert((function(n){return 2*asin(n/2)}));var azimuthalEqualArea=function(){return projection(ot).scale(124.75).clipAngle(180-.001)};var at=azimuthalRaw((function(n){return(n=acos(n))&&n/y(n)}));at.invert=azimuthalInvert((function(n){return n}));var azimuthalEquidistant=function(){return projection(at).scale(79.4188).clipAngle(180-.001)};function mercatorRaw(n,t){return[n,E(w((c+t)/2))]}mercatorRaw.invert=function(n,t){return[n,2*g(m(t))-c]};var mercator=function(){return mercatorProjection(mercatorRaw).scale(961/l)};function mercatorProjection(n){var t=projection(n),r=t.center,e=t.scale,i=t.translate,o=t.clipExtent,c=null,u,l,s;t.scale=function(n){return arguments.length?(e(n),reclip()):e()};t.translate=function(n){return arguments.length?(i(n),reclip()):i()};t.center=function(n){return arguments.length?(r(n),reclip()):r()};t.clipExtent=function(n){return arguments.length?(null==n?c=u=l=s=null:(c=+n[0][0],u=+n[0][1],l=+n[1][0],s=+n[1][1]),reclip()):null==c?null:[[c,u],[l,s]]};function reclip(){var r=a*e(),i=t(rotation(t.rotate()).invert([0,0]));return o(null==c?[[i[0]-r,i[1]-r],[i[0]+r,i[1]+r]]:n===mercatorRaw?[[Math.max(i[0]-r,c),u],[Math.min(i[0]+r,l),s]]:[[c,Math.max(i[1]-r,u)],[l,Math.min(i[1]+r,s)]])}return reclip()}function tany(n){return w((c+n)/2)}function conicConformalRaw(n,t){var r=d(n),e=n===t?y(n):E(r/d(t))/E(tany(t)/tany(n)),o=r*S(tany(n),e)/e;if(!e)return mercatorRaw;function project(n,t){o>0?t<-c+i&&(t=-c+i):t>c-i&&(t=c-i);var r=o/S(tany(t),e);return[r*y(e*n),o-r*d(e*n)]}project.invert=function(n,t){var r=o-t,i=P(e)*R(n*n+r*r);return[v(n,p(r))/e*P(r),2*g(S(o/i,1/e))-c]};return project}var conicConformal=function(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])};function equirectangularRaw(n,t){return[n,t]}equirectangularRaw.invert=equirectangularRaw;var equirectangular=function(){return projection(equirectangularRaw).scale(152.63)};function conicEquidistantRaw(n,t){var r=d(n),e=n===t?y(n):(r-d(t))/(t-n),o=r/e+n;if(p(e)i&&--e>0);return[n/(.8707+(a=r*r)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),r]};var naturalEarth1=function(){return projection(naturalEarth1Raw).scale(175.295)};function orthographicRaw(n,t){return[d(t)*y(n),y(t)]}orthographicRaw.invert=azimuthalInvert(asin);var orthographic=function(){return projection(orthographicRaw).scale(249.5).clipAngle(90+i)};function stereographicRaw(n,t){var r=d(t),e=1+d(n)*r;return[r*y(n)/e,y(t)/e]}stereographicRaw.invert=azimuthalInvert((function(n){return 2*g(n)}));var stereographic=function(){return projection(stereographicRaw).scale(250).clipAngle(142)};function transverseMercatorRaw(n,t){return[E(w((c+t)/2)),-n]}transverseMercatorRaw.invert=function(n,t){return[-t,2*g(m(n))-c]};var transverseMercator=function(){var n=mercatorProjection(transverseMercatorRaw),t=n.center,r=n.rotate;n.center=function(n){return arguments.length?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])};n.rotate=function(n){return arguments.length?r([n[0],n[1],n.length>2?n[2]+90:90]):(n=r(),[n[0],n[1],n[2]-90])};return r([0,0,90]).scale(159.155)};n.geoArea=area;n.geoBounds=bounds;n.geoCentroid=centroid;n.geoCircle=circle;n.geoClipExtent=extent;n.geoContains=contains;n.geoDistance=distance;n.geoGraticule=graticule;n.geoGraticule10=graticule10;n.geoInterpolate=interpolate;n.geoLength=length;n.geoPath=index;n.geoAlbers=albers;n.geoAlbersUsa=albersUsa;n.geoAzimuthalEqualArea=azimuthalEqualArea;n.geoAzimuthalEqualAreaRaw=ot;n.geoAzimuthalEquidistant=azimuthalEquidistant;n.geoAzimuthalEquidistantRaw=at;n.geoConicConformal=conicConformal;n.geoConicConformalRaw=conicConformalRaw;n.geoConicEqualArea=conicEqualArea;n.geoConicEqualAreaRaw=conicEqualAreaRaw;n.geoConicEquidistant=conicEquidistant;n.geoConicEquidistantRaw=conicEquidistantRaw;n.geoEquirectangular=equirectangular;n.geoEquirectangularRaw=equirectangularRaw;n.geoGnomonic=gnomonic;n.geoGnomonicRaw=gnomonicRaw;n.geoIdentity=identity$1;n.geoProjection=projection;n.geoProjectionMutator=projectionMutator;n.geoMercator=mercator;n.geoMercatorRaw=mercatorRaw;n.geoNaturalEarth1=naturalEarth1;n.geoNaturalEarth1Raw=naturalEarth1Raw;n.geoOrthographic=orthographic;n.geoOrthographicRaw=orthographicRaw;n.geoStereographic=stereographic;n.geoStereographicRaw=stereographicRaw;n.geoTransverseMercator=transverseMercator;n.geoTransverseMercatorRaw=transverseMercatorRaw;n.geoRotation=rotation;n.geoStream=geoStream;n.geoTransform=transform;Object.defineProperty(n,"__esModule",{value:true})}));const e=r.geoArea,i=r.geoBounds,o=r.geoCentroid,a=r.geoCircle,c=r.geoClipExtent,u=r.geoContains,l=r.geoDistance,s=r.geoGraticule,f=r.geoGraticule10,p=r.geoInterpolate,g=r.geoLength,v=r.geoPath,d=r.geoAlbers,h=r.geoAlbersUsa,m=r.geoAzimuthalEqualArea,E=r.geoAzimuthalEqualAreaRaw,S=r.geoAzimuthalEquidistant,y=r.geoAzimuthalEquidistantRaw,P=r.geoConicConformal,R=r.geoConicConformalRaw,w=r.geoConicEqualArea,M=r.geoConicEqualAreaRaw,x=r.geoConicEquidistant,L=r.geoConicEquidistantRaw,j=r.geoEquirectangular,b=r.geoEquirectangularRaw,C=r.geoGnomonic,A=r.geoGnomonicRaw,N=r.geoIdentity,I=r.geoProjection,_=r.geoProjectionMutator,$=r.geoMercator,q=r.geoMercatorRaw,z=r.geoNaturalEarth1,T=r.geoNaturalEarth1Raw,G=r.geoOrthographic,F=r.geoOrthographicRaw,U=r.geoStereographic,O=r.geoStereographicRaw,k=r.geoTransverseMercator,D=r.geoTransverseMercatorRaw,X=r.geoRotation,Y=r.geoStream,B=r.geoTransform,Z=r.__esModule;export default r;export{Z as __esModule,d as geoAlbers,h as geoAlbersUsa,e as geoArea,m as geoAzimuthalEqualArea,E as geoAzimuthalEqualAreaRaw,S as geoAzimuthalEquidistant,y as geoAzimuthalEquidistantRaw,i as geoBounds,o as geoCentroid,a as geoCircle,c as geoClipExtent,P as geoConicConformal,R as geoConicConformalRaw,w as geoConicEqualArea,M as geoConicEqualAreaRaw,x as geoConicEquidistant,L as geoConicEquidistantRaw,u as geoContains,l as geoDistance,j as geoEquirectangular,b as geoEquirectangularRaw,C as geoGnomonic,A as geoGnomonicRaw,s as geoGraticule,f as geoGraticule10,N as geoIdentity,p as geoInterpolate,g as geoLength,$ as geoMercator,q as geoMercatorRaw,z as geoNaturalEarth1,T as geoNaturalEarth1Raw,G as geoOrthographic,F as geoOrthographicRaw,v as geoPath,I as geoProjection,_ as geoProjectionMutator,X as geoRotation,U as geoStereographic,O as geoStereographicRaw,Y as geoStream,B as geoTransform,k as geoTransverseMercator,D as geoTransverseMercatorRaw};