!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("chart.js"),require("chart.js/helpers")):"function"==typeof define&&define.amd?define(["exports","chart.js","chart.js/helpers"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ChartGeo={},e.Chart,e.Chart.helpers)}(this,(function(e,t,n){"use strict";class a{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const t=this._partials;let n=0;for(let a=0;a0){for(i=e[--r];r>0&&(t=i,n=e[--r],i=t+n,a=n-(i-t),!a););r>0&&(a<0&&e[r-1]<0||a>0&&e[r-1]>0)&&(n=2*a,t=i+n,n==t-i&&(i=t))}return i}}function r(e){return Array.from(function*(e){for(const t of e)yield*t}(e))}function i(e,t,n){e=+e,t=+t,n=(r=arguments.length)<2?(t=e,e=0,1):r<3?1:+n;for(var a=-1,r=0|Math.max(0,Math.ceil((t-e)/n)),i=new Array(r);++a0?1:e<0?-1:0},E=Math.sqrt,_=Math.tan;function N(e){return e>1?0:e<-1?o:Math.acos(e)}function A(e){return e>1?d:e<-1?-d:Math.asin(e)}function k(){}function C(e,t){e&&I.hasOwnProperty(e.type)&&I[e.type](e,t)}var P={Feature:function(e,t){C(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,a=-1,r=n.length;++ao&&(e-=Math.round(e/l)*l),[e,t]}function W(e,t,n){return(e%=l)?t||n?T(H(e),Y(t,n)):H(e):t||n?Y(t,n):F}function V(e){return function(t,n){return b(t+=e)>o&&(t-=Math.round(t/l)*l),[t,n]}}function H(e){var t=V(e);return t.invert=V(-e),t}function Y(e,t){var n=m(e),a=M(e),r=m(t),i=M(t);function f(e,t){var f=m(t),c=m(e)*f,o=M(e)*f,d=M(t),s=d*n+c*a;return[g(o*r-s*i,c*n-d*a),A(s*r+o*i)]}return f.invert=function(e,t){var f=m(t),c=m(e)*f,o=M(e)*f,d=M(t),s=d*r-o*i;return[g(o*r+d*i,c*n+s*a),A(s*n-c*a)]},f}function K(e,t){(t=D(t))[0]-=e,L(t);var n=N(-t[1]);return((-t[2]<0?-n:n)+l-f)%l}function U(){var e,t=[];return{point:function(t,n,a){e.push([t,n,a])},lineStart:function(){t.push(e=[])},lineEnd:k,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function X(e,t){return b(e[0]-t[0])=0;--i)r.point((l=s[i])[0],l[1]);else a(h.x,h.p.x,-1,r);h=h.p}s=(h=h.o).z,b=!b}while(!h.v);r.lineEnd()}}}function Q(e){if(t=e.length){for(var t,n,a=0,r=e[0];++a=0?1:-1,B=R*O,q=B>o,T=N*j;if(p.add(g(T*R*M(B),k*z+T*m(B))),h+=q?O+R*l:O,q^E>=n^I>=n){var F=G(D(S),D(P));L(F);var W=G(u,F);L(W);var V=(q^O>=0?-1:1)*A(W[2]);(r>V||r===V&&(F[0]||F[1]))&&(b+=q^O>=0?1:-1)}}return(h<-f||h0){for(u||(i.polygonStart(),u=!0),i.lineStart(),e=0;e1&&2&r&&d.push(d.pop().concat(d.shift())),c.push(d.filter(ae))}return h}}function ae(e){return e.length>1}function re(e,t){return((e=e.x)[0]<0?e[1]-d-f:d-e[1])-((t=t.x)[0]<0?t[1]-d-f:d-t[1])}F.invert=F;var ie=ne((function(){return!0}),(function(e){var t,n=NaN,a=NaN,r=NaN;return{lineStart:function(){e.lineStart(),t=1},point:function(i,c){var s=i>0?o:-o,l=b(i-n);b(l-o)0?d:-d),e.point(r,a),e.lineEnd(),e.lineStart(),e.point(s,a),e.point(i,a),t=0):r!==s&&l>=o&&(b(n-r)f?p((M(t)*(i=m(a))*M(n)-M(a)*(r=m(t))*M(e))/(r*i*c)):(t+a)/2}(n,a,i,c),e.point(r,a),e.lineEnd(),e.lineStart(),e.point(s,a),t=0),e.point(n=i,a=c),r=s},lineEnd:function(){e.lineEnd(),n=a=NaN},clean:function(){return 2-t}}}),(function(e,t,n,a){var r;if(null==e)r=n*d,a.point(-o,r),a.point(0,r),a.point(o,r),a.point(o,0),a.point(o,-r),a.point(0,-r),a.point(-o,-r),a.point(-o,0),a.point(-o,r);else if(b(e[0]-t[0])>f){var i=e[0]0,r=b(t)>f;function i(e,n){return m(e)*m(n)>t}function c(e,n,a){var r=[1,0,0],i=G(D(e),D(n)),c=R(i,i),d=i[0],s=c-d*d;if(!s)return!a&&e;var l=t*c/s,u=-t*d/s,h=G(r,i),p=q(r,l);B(p,q(i,u));var g=h,m=R(p,g),v=R(g,g),y=m*m-v*(R(p,p)-1);if(!(y<0)){var x=E(y),w=q(g,(-m-x)/v);if(B(w,p),w=O(w),!a)return w;var M,S=e[0],_=n[0],N=e[1],A=n[1];_0^w[1]<(b(w[0]-S)o^(S<=w[0]&&w[0]<=_)){var P=q(g,(-m+x)/v);return B(P,p),[w,O(P)]}}}function d(t,n){var r=a?e:o-e,i=0;return t<-r?i|=1:t>r&&(i|=2),n<-r?i|=4:n>r&&(i|=8),i}return ne(i,(function(e){var t,n,f,s,l;return{lineStart:function(){s=f=!1,l=1},point:function(u,h){var b,p=[u,h],g=i(u,h),m=a?g?0:d(u,h):g?d(u+(u<0?o:-o),h):0;if(!t&&(s=f=g)&&e.lineStart(),g!==f&&(!(b=c(t,p))||X(t,b)||X(p,b))&&(p[2]=1),g!==f)l=0,g?(e.lineStart(),b=c(p,t),e.point(b[0],b[1])):(b=c(t,p),e.point(b[0],b[1],2),e.lineEnd()),t=b;else if(r&&t&&a^g){var v;m&n||!(v=c(p,t,!0))||(l=0,a?(e.lineStart(),e.point(v[0][0],v[0][1]),e.point(v[1][0],v[1][1]),e.lineEnd()):(e.point(v[1][0],v[1][1]),e.lineEnd(),e.lineStart(),e.point(v[0][0],v[0][1],3)))}!g||t&&X(t,p)||e.point(p[0],p[1]),t=p,f=g,n=m},lineEnd:function(){f&&e.lineEnd(),t=null},clean:function(){return l|(s&&f)<<1}}}),(function(t,a,r,i){!function(e,t,n,a,r,i){if(n){var f=m(t),c=M(t),o=a*n;null==r?(r=t+a*l,i=t-o/2):(r=K(f,r),i=K(f,i),(a>0?ri)&&(r+=a*l));for(var d,s=r;a>0?s>i:s0)do{c.point(0===d||3===d?e:n,d>1?a:t)}while((d=(d+f+4)%4)!==l);else c.point(i[0],i[1])}function o(a,r){return b(a[0]-e)0?0:3:b(a[0]-n)0?2:1:b(a[1]-t)0?1:0:r>0?3:2}function d(e,t){return s(e.x,t.x)}function s(e,t){var n=o(e,1),a=o(t,1);return n!==a?n-a:0===n?t[1]-e[1]:1===n?e[0]-t[0]:2===n?e[1]-t[1]:t[0]-e[0]}return function(f){var o,s,l,u,h,b,p,g,m,v,y,x=f,w=U(),M={point:S,lineStart:function(){M.point=E,s&&s.push(l=[]);v=!0,m=!1,p=g=NaN},lineEnd:function(){o&&(E(u,h),b&&m&&w.rejoin(),o.push(w.result()));M.point=S,m&&x.lineEnd()},polygonStart:function(){x=w,o=[],s=[],y=!0},polygonEnd:function(){var t=function(){for(var t=0,n=0,r=s.length;na&&(u-i)*(a-f)>(h-f)*(e-i)&&++t:h<=a&&(u-i)*(a-f)<(h-f)*(e-i)&&--t;return t}(),n=y&&t,i=(o=r(o)).length;(n||i)&&(f.polygonStart(),n&&(f.lineStart(),c(null,null,1,f),f.lineEnd()),i&&J(o,d,t,c,f),f.polygonEnd());x=f,o=s=l=null}};function S(e,t){i(e,t)&&x.point(e,t)}function E(r,f){var c=i(r,f);if(s&&l.push([r,f]),v)u=r,h=f,b=c,v=!1,c&&(x.lineStart(),x.point(r,f));else if(c&&m)x.point(r,f);else{var o=[p=Math.max(ue,Math.min(le,p)),g=Math.max(ue,Math.min(le,g))],d=[r=Math.max(ue,Math.min(le,r)),f=Math.max(ue,Math.min(le,f))];!function(e,t,n,a,r,i){var f,c=e[0],o=e[1],d=0,s=1,l=t[0]-c,u=t[1]-o;if(f=n-c,l||!(f>0)){if(f/=l,l<0){if(f0){if(f>s)return;f>d&&(d=f)}if(f=r-c,l||!(f<0)){if(f/=l,l<0){if(f>s)return;f>d&&(d=f)}else if(l>0){if(f0)){if(f/=u,u<0){if(f0){if(f>s)return;f>d&&(d=f)}if(f=i-o,u||!(f<0)){if(f/=u,u<0){if(f>s)return;f>d&&(d=f)}else if(u>0){if(f0&&(e[0]=c+d*l,e[1]=o+d*u),s<1&&(t[0]=c+s*l,t[1]=o+s*u),!0}}}}}(o,d,e,t,n,a)?c&&(x.lineStart(),x.point(r,f),y=!1):(m||(x.lineStart(),x.point(o[0],o[1])),x.point(d[0],d[1]),c||x.lineEnd(),y=!1)}p=r,g=f,m=c}return M}}var be={sphere:k,point:k,lineStart:function(){be.point=ge,be.lineEnd=pe},lineEnd:k,polygonStart:k,polygonEnd:k};function pe(){be.point=be.lineEnd=k}function ge(e,t){oe=e*=h,de=M(t*=h),se=m(t),be.point=me}function me(e,t){e*=h;var n=M(t*=h),a=m(t),r=b(e-oe),i=m(r),f=a*M(r),c=se*n-de*a*i,o=de*n+se*a*i;ce.add(g(E(f*f+c*c),o)),oe=e,de=n,se=a}var ve=[null,null],ye={type:"LineString",coordinates:ve};function xe(e,t){return ve[0]=e,ve[1]=t,function(e){return ce=new a,z(e,be),+ce}(ye)}var we={Feature:function(e,t){return Se(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,a=-1,r=n.length;++a0&&(r=xe(e[i],e[i-1]))>0&&n<=r&&a<=r&&(n+a-r)*(1-Math.pow((n-a)/r,2))f})).map(s)).concat(i(v(c/g)*g,r,g).filter((function(e){return b(e%y)>f})).map(l))}return w.lines=function(){return M().map((function(e){return{type:"LineString",coordinates:e}}))},w.outline=function(){return{type:"Polygon",coordinates:[u(a).concat(h(o).slice(1),u(n).reverse().slice(1),h(d).reverse().slice(1))]}},w.extent=function(e){return arguments.length?w.extentMajor(e).extentMinor(e):w.extentMinor()},w.extentMajor=function(e){return arguments.length?(a=+e[0][0],n=+e[1][0],d=+e[0][1],o=+e[1][1],a>n&&(e=a,a=n,n=e),d>o&&(e=d,d=o,o=e),w.precision(x)):[[a,d],[n,o]]},w.extentMinor=function(n){return arguments.length?(t=+n[0][0],e=+n[1][0],c=+n[0][1],r=+n[1][1],t>e&&(n=t,t=e,e=n),c>r&&(n=c,c=r,r=n),w.precision(x)):[[t,c],[e,r]]},w.step=function(e){return arguments.length?w.stepMajor(e).stepMinor(e):w.stepMinor()},w.stepMajor=function(e){return arguments.length?(m=+e[0],y=+e[1],w):[m,y]},w.stepMinor=function(e){return arguments.length?(p=+e[0],g=+e[1],w):[p,g]},w.precision=function(i){return arguments.length?(x=+i,s=Ce(c,r,90),l=Pe(t,e,x),u=Ce(d,o,90),h=Pe(a,n,x),w):x},w.extentMajor([[-180,-90+f],[180,90-f]]).extentMinor([[-180,-80-f],[180,80+f]])}var $e,je,ze,Oe,De=e=>e,Re=new a,Ge=new a,Be={point:k,lineStart:k,lineEnd:k,polygonStart:function(){Be.lineStart=qe,Be.lineEnd=Fe},polygonEnd:function(){Be.lineStart=Be.lineEnd=Be.point=k,Re.add(b(Ge)),Ge=new a},result:function(){var e=Re/2;return Re=new a,e}};function qe(){Be.point=Le}function Le(e,t){Be.point=Te,$e=ze=e,je=Oe=t}function Te(e,t){Ge.add(Oe*e-ze*t),ze=e,Oe=t}function Fe(){Te($e,je)}var We=Be,Ve=1/0,He=Ve,Ye=-Ve,Ke=Ye;var Ue,Xe,Ze,Je,Qe={point:function(e,t){eYe&&(Ye=e);tKe&&(Ke=t)},lineStart:k,lineEnd:k,polygonStart:k,polygonEnd:k,result:function(){var e=[[Ve,He],[Ye,Ke]];return Ye=Ke=-(He=Ve=1/0),e}},et=0,tt=0,nt=0,at=0,rt=0,it=0,ft=0,ct=0,ot=0,dt={point:st,lineStart:lt,lineEnd:bt,polygonStart:function(){dt.lineStart=pt,dt.lineEnd=gt},polygonEnd:function(){dt.point=st,dt.lineStart=lt,dt.lineEnd=bt},result:function(){var e=ot?[ft/ot,ct/ot]:it?[at/it,rt/it]:nt?[et/nt,tt/nt]:[NaN,NaN];return et=tt=nt=at=rt=it=ft=ct=ot=0,e}};function st(e,t){et+=e,tt+=t,++nt}function lt(){dt.point=ut}function ut(e,t){dt.point=ht,st(Ze=e,Je=t)}function ht(e,t){var n=e-Ze,a=t-Je,r=E(n*n+a*a);at+=r*(Ze+e)/2,rt+=r*(Je+t)/2,it+=r,st(Ze=e,Je=t)}function bt(){dt.point=st}function pt(){dt.point=mt}function gt(){vt(Ue,Xe)}function mt(e,t){dt.point=vt,st(Ue=Ze=e,Xe=Je=t)}function vt(e,t){var n=e-Ze,a=t-Je,r=E(n*n+a*a);at+=r*(Ze+e)/2,rt+=r*(Je+t)/2,it+=r,ft+=(r=Je*e-Ze*t)*(Ze+e),ct+=r*(Je+t),ot+=3*r,st(Ze=e,Je=t)}var yt=dt;function xt(e){this._context=e}xt.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,l)}},result:k};var wt,Mt,St,Et,_t,Nt=new a,At={point:k,lineStart:function(){At.point=kt},lineEnd:function(){wt&&Ct(Mt,St),At.point=k},polygonStart:function(){wt=!0},polygonEnd:function(){wt=null},result:function(){var e=+Nt;return Nt=new a,e}};function kt(e,t){At.point=Ct,Mt=Et=e,St=_t=t}function Ct(e,t){Et-=e,_t-=t,Nt.add(E(Et*Et+_t*_t)),Et=e,_t=t}var Pt=At;let It,$t,jt,zt;class Ot{constructor(e){this._append=null==e?Dt:function(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return Dt;if(t!==It){const e=10**t;It=t,$t=function(t){let n=1;this._+=t[0];for(const a=t.length;n=0))throw new RangeError(`invalid digits: ${e}`);r=t}return null===t&&(a=new Ot(r)),f},f.projection(e).digits(r).context(t)}function Gt(e){return function(t){var n=new Bt;for(var a in e)n[a]=e[a];return n.stream=t,n}}function Bt(){}function qt(e,t,n){var a=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=a&&e.clipExtent(null),z(n,e.stream(Qe)),t(Qe.result()),null!=a&&e.clipExtent(a),e}function Lt(e,t,n){return qt(e,(function(n){var a=t[1][0]-t[0][0],r=t[1][1]-t[0][1],i=Math.min(a/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),f=+t[0][0]+(a-i*(n[1][0]+n[0][0]))/2,c=+t[0][1]+(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([f,c])}),n)}function Tt(e,t,n){return Lt(e,[[0,0],t],n)}function Ft(e,t,n){return qt(e,(function(n){var a=+t,r=a/(n[1][0]-n[0][0]),i=(a-r*(n[1][0]+n[0][0]))/2,f=-r*n[0][1];e.scale(150*r).translate([i,f])}),n)}function Wt(e,t,n){return qt(e,(function(n){var a=+t,r=a/(n[1][1]-n[0][1]),i=-r*n[0][0],f=(a-r*(n[1][1]+n[0][1]))/2;e.scale(150*r).translate([i,f])}),n)}Bt.prototype={constructor:Bt,point:function(e,t){this.stream.point(e,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()}};var Vt=16,Ht=m(30*h);function Yt(e,t){return+t?function(e,t){function n(a,r,i,c,o,d,s,l,u,h,p,m,v,y){var x=s-a,w=l-r,M=x*x+w*w;if(M>4*t&&v--){var S=c+h,_=o+p,N=d+m,k=E(S*S+_*_+N*N),C=A(N/=k),P=b(b(N)-1)t||b((x*z+w*O)/M-.5)>.3||c*h+o*p+d*m2?e[2]%360*h:0,$()):[v*u,y*u,x*u]},P.angle=function(e){return arguments.length?(w=e%360*h,$()):w*u},P.reflectX=function(e){return arguments.length?(M=e?-1:1,$()):M<0},P.reflectY=function(e){return arguments.length?(S=e?-1:1,$()):S<0},P.precision=function(e){return arguments.length?(f=Yt(c,C=e*e),j()):E(C)},P.fitExtent=function(e,t){return Lt(P,e,t)},P.fitSize=function(e,t){return Tt(P,e,t)},P.fitWidth=function(e,t){return Ft(P,e,t)},P.fitHeight=function(e,t){return Wt(P,e,t)},function(){return t=e.apply(this,arguments),P.invert=t.invert&&I,$()}}function Jt(e){var t=0,n=o/3,a=Zt(e),r=a(t,n);return r.parallels=function(e){return arguments.length?a(t=e[0]*h,n=e[1]*h):[t*u,n*u]},r}function Qt(e,t){var n=M(e),a=(n+M(t))/2;if(b(a)=.12&&r<.234&&a>=-.425&&a<-.214?o:r>=.166&&r<.234&&a>=-.214&&a<-.115?d:c).invert(e)},l.stream=function(n){return e&&t===n?e:(a=[c.stream(t=n),o.stream(n),d.stream(n)],r=a.length,e={point:function(e,t){for(var n=-1;++n2?e[2]*h:0),t.invert=function(t){return(t=e.invert(t[0]*h,t[1]*h))[0]*=u,t[1]*=u,t},t}(r.rotate()).invert([0,0]));return d(null==s?[[c[0]-i,c[1]-i],[c[0]+i,c[1]+i]]:e===sn?[[Math.max(c[0]-i,s),t],[Math.min(c[0]+i,n),a]]:[[s,Math.max(c[1]-i,t)],[n,Math.min(c[1]+i,a)]])}return r.scale=function(e){return arguments.length?(f(e),l()):f()},r.translate=function(e){return arguments.length?(c(e),l()):c()},r.center=function(e){return arguments.length?(i(e),l()):i()},r.clipExtent=function(e){return arguments.length?(null==e?s=t=n=a=null:(s=+e[0][0],t=+e[0][1],n=+e[1][0],a=+e[1][1]),l()):null==s?null:[[s,t],[n,a]]},l()}function hn(e){return _((d+e)/2)}function bn(e,t){var n=m(e),a=e===t?M(e):x(n/m(t))/x(hn(t)/hn(e)),r=n*w(hn(e),a)/a;if(!a)return sn;function i(e,t){r>0?t<-d+f&&(t=-d+f):t>d-f&&(t=d-f);var n=r/w(hn(t),a);return[n*M(a*e),r-n*m(a*e)]}return i.invert=function(e,t){var n=r-t,i=S(a)*E(e*e+n*n),f=g(e,b(n))*S(n);return n*a<0&&(f-=o*S(e)*S(n)),[f/a,2*p(w(r/i,1/a))-d]},i}function pn(){return Jt(bn).scale(109.5).parallels([30,30])}function gn(e,t){return[e,t]}function mn(){return Xt(gn).scale(152.63)}function vn(e,t){var n=m(e),a=e===t?M(e):(n-m(t))/(t-e),r=n/a+e;if(b(a)2?e[2]+90:90]):[(e=n())[0],e[1],e[2]-90]},n([0,0,90]).scale(159.155)}_n.invert=function(e,t){for(var n,a=t,r=a*a,i=r*r*r,f=0;f<12&&(i=(r=(a-=n=(a*(xn+wn*r+i*(Mn+Sn*r))-t)/(xn+3*wn*r+i*(7*Mn+9*Sn*r)))*a)*r*r,!(b(n)f&&--r>0);return[e/(.8707+(i=a*a)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),a]},In.invert=rn(A),jn.invert=rn((function(e){return 2*p(e)})),On.invert=function(e,t){return[-t,2*p(y(e))-d]};const Rn={geoAzimuthalEqualArea:cn,geoAzimuthalEquidistant:dn,geoGnomonic:kn,geoOrthographic:$n,geoStereographic:zn,geoEqualEarth:Nn,geoAlbers:tn,geoAlbersUsa:nn,geoConicConformal:pn,geoConicEqualArea:en,geoConicEquidistant:yn,geoEquirectangular:mn,geoMercator:ln,geoTransverseMercator:Dn,geoNaturalEarth1:Pn};Object.keys(Rn).forEach((e=>{Rn[`${e.charAt(3).toLowerCase()}${e.slice(4)}`]=Rn[e]}));class Gn extends t.Scale{constructor(e){super(e),this.outlineBounds=null,this.oldChartBounds=null,this.geoPath=Rt()}init(e){e.position="chartArea",super.init(e),"function"==typeof e.projection?this.projection=e.projection:this.projection=(Rn[e.projection]||Rn.albersUsa)(),this.geoPath.projection(this.projection),this.outlineBounds=null,this.oldChartBounds=null}computeBounds(e){const t=Rt(this.projection.fitWidth(1e3,e)).bounds(e),n=Math.ceil(t[1][1]-t[0][1]),a=Math.ceil(t[1][0]-t[0][0]),r=this.projection.translate();this.outlineBounds={width:a,height:n,aspectRatio:a/n,refScale:this.projection.scale(),refX:r[0],refY:r[1]}}updateBounds(){const e=this.chart.chartArea,t=this.outlineBounds;if(!t)return!1;const n=this.options.padding,a="number"==typeof n?n:n.top,r="number"==typeof n?n:n.left,i="number"==typeof n?n:n.bottom,f="number"==typeof n?n:n.right,c=e.right-e.left-r-f,o=e.bottom-e.top-a-i,d=this.oldChartBounds;this.oldChartBounds={chartWidth:c,chartHeight:o};const s=Math.min(c/t.width,o/t.height),l=t.width*s,u=t.height*s,h=.5*(c-l)+e.left+r,b=.5*(o-u)+e.top+a,p=this.options;return this.projection.scale(t.refScale*s*p.projectionScale).translate([s*t.refX+h+p.projectionOffset[0],s*t.refY+b+p.projectionOffset[1]]),!d||d.chartWidth!==this.oldChartBounds.chartWidth||d.chartHeight!==this.oldChartBounds.chartHeight}}function Bn(e){for(var t=e.length/6|0,n=new Array(t),a=0;a"projection"!==e,_indexable:e=>"projectionOffset"!==e};var Fn=.7,Wn=1/Fn,Vn="\\s*([+-]?\\d+)\\s*",Hn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Yn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Kn=/^#([0-9a-f]{3,8})$/,Un=new RegExp(`^rgb\\(${Vn},${Vn},${Vn}\\)$`),Xn=new RegExp(`^rgb\\(${Yn},${Yn},${Yn}\\)$`),Zn=new RegExp(`^rgba\\(${Vn},${Vn},${Vn},${Hn}\\)$`),Jn=new RegExp(`^rgba\\(${Yn},${Yn},${Yn},${Hn}\\)$`),Qn=new RegExp(`^hsl\\(${Hn},${Yn},${Yn}\\)$`),ea=new RegExp(`^hsla\\(${Hn},${Yn},${Yn},${Hn}\\)$`),ta={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function na(){return this.rgb().formatHex()}function aa(){return this.rgb().formatRgb()}function ra(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Kn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),6===n?ia(t):3===n?new da(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===n?fa(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===n?fa(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Un.exec(e))?new da(t[1],t[2],t[3],1):(t=Xn.exec(e))?new da(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=Zn.exec(e))?fa(t[1],t[2],t[3],t[4]):(t=Jn.exec(e))?fa(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=Qn.exec(e))?pa(t[1],t[2]/100,t[3]/100,1):(t=ea.exec(e))?pa(t[1],t[2]/100,t[3]/100,t[4]):ta.hasOwnProperty(e)?ia(ta[e]):"transparent"===e?new da(NaN,NaN,NaN,0):null}function ia(e){return new da(e>>16&255,e>>8&255,255&e,1)}function fa(e,t,n,a){return a<=0&&(e=t=n=NaN),new da(e,t,n,a)}function ca(e){return e instanceof Tn||(e=ra(e)),e?new da((e=e.rgb()).r,e.g,e.b,e.opacity):new da}function oa(e,t,n,a){return 1===arguments.length?ca(e):new da(e,t,n,null==a?1:a)}function da(e,t,n,a){this.r=+e,this.g=+t,this.b=+n,this.opacity=+a}function sa(){return`#${ba(this.r)}${ba(this.g)}${ba(this.b)}`}function la(){const e=ua(this.opacity);return`${1===e?"rgb(":"rgba("}${ha(this.r)}, ${ha(this.g)}, ${ha(this.b)}${1===e?")":`, ${e})`}`}function ua(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ha(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ba(e){return((e=ha(e))<16?"0":"")+e.toString(16)}function pa(e,t,n,a){return a<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ma(e,t,n,a)}function ga(e){if(e instanceof ma)return new ma(e.h,e.s,e.l,e.opacity);if(e instanceof Tn||(e=ra(e)),!e)return new ma;if(e instanceof ma)return e;var t=(e=e.rgb()).r/255,n=e.g/255,a=e.b/255,r=Math.min(t,n,a),i=Math.max(t,n,a),f=NaN,c=i-r,o=(i+r)/2;return c?(f=t===i?(n-a)/c+6*(n0&&o<1?0:f,new ma(f,c,o,e.opacity)}function ma(e,t,n,a){this.h=+e,this.s=+t,this.l=+n,this.opacity=+a}function va(e){return(e=(e||0)%360)<0?e+360:e}function ya(e){return Math.max(0,Math.min(1,e||0))}function xa(e,t,n){return 255*(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)}qn(Tn,ra,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:na,formatHex:na,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return ga(this).formatHsl()},formatRgb:aa,toString:aa}),qn(da,oa,Ln(Tn,{brighter(e){return e=null==e?Wn:Math.pow(Wn,e),new da(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?Fn:Math.pow(Fn,e),new da(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new da(ha(this.r),ha(this.g),ha(this.b),ua(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:sa,formatHex:sa,formatHex8:function(){return`#${ba(this.r)}${ba(this.g)}${ba(this.b)}${ba(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:la,toString:la})),qn(ma,(function(e,t,n,a){return 1===arguments.length?ga(e):new ma(e,t,n,null==a?1:a)}),Ln(Tn,{brighter(e){return e=null==e?Wn:Math.pow(Wn,e),new ma(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Fn:Math.pow(Fn,e),new ma(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+360*(this.h<0),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,a=n+(n<.5?n:1-n)*t,r=2*n-a;return new da(xa(e>=240?e-240:e+120,r,a),xa(e,r,a),xa(e<120?e+240:e-120,r,a),this.opacity)},clamp(){return new ma(va(this.h),ya(this.s),ya(this.l),ua(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ua(this.opacity);return`${1===e?"hsl(":"hsla("}${va(this.h)}, ${100*ya(this.s)}%, ${100*ya(this.l)}%${1===e?")":`, ${e})`}`}}));const wa=Math.PI/180,Ma=180/Math.PI;var Sa=-.14861,Ea=1.78277,_a=-.29227,Na=-.90649,Aa=1.97294,ka=Aa*Na,Ca=Aa*Ea,Pa=Ea*_a-Na*Sa;function Ia(e,t,n,a){return 1===arguments.length?function(e){if(e instanceof $a)return new $a(e.h,e.s,e.l,e.opacity);e instanceof da||(e=ca(e));var t=e.r/255,n=e.g/255,a=e.b/255,r=(Pa*a+ka*t-Ca*n)/(Pa+ka-Ca),i=a-r,f=(Aa*(n-r)-_a*i)/Na,c=Math.sqrt(f*f+i*i)/(Aa*r*(1-r)),o=c?Math.atan2(f,i)*Ma-120:NaN;return new $a(o<0?o+360:o,c,r,e.opacity)}(e):new $a(e,t,n,null==a?1:a)}function $a(e,t,n,a){this.h=+e,this.s=+t,this.l=+n,this.opacity=+a}qn($a,Ia,Ln(Tn,{brighter(e){return e=null==e?Wn:Math.pow(Wn,e),new $a(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?Fn:Math.pow(Fn,e),new $a(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*wa,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),a=Math.cos(e),r=Math.sin(e);return new da(255*(t+n*(Sa*a+Ea*r)),255*(t+n*(_a*a+Na*r)),255*(t+n*(Aa*a)),this.opacity)}}));var ja=e=>()=>e;function za(e,t){return function(n){return e+n*t}}function Oa(e){return 1==(e=+e)?Da:function(t,n){return n-t?function(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(a){return Math.pow(e+a*t,n)}}(t,n,e):ja(isNaN(t)?n:t)}}function Da(e,t){var n=t-e;return n?za(e,n):ja(isNaN(e)?t:e)}!function e(t){var n=Oa(t);function a(e,t){var a=n((e=oa(e)).r,(t=oa(t)).r),r=n(e.g,t.g),i=n(e.b,t.b),f=Da(e.opacity,t.opacity);return function(t){return e.r=a(t),e.g=r(t),e.b=i(t),e.opacity=f(t),e+""}}return a.gamma=e,a}(1);var Ra,Ga=(Ra=function(e){var t=e.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),r=e[a],i=e[a+1],f=a>0?e[a-1]:2*r-i,c=a180||n<-180?n-360*Math.round(n/360):n):ja(isNaN(e)?t:e)}));var qa=Ba(Da),La=e=>Ga(e[e.length-1]),Ta=La(new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Bn)),Fa=La(new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Bn)),Wa=La(new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Bn)),Va=La(new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Bn)),Ha=La(new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Bn)),Ya=La(new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Bn)),Ka=La(new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Bn)),Ua=La(new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Bn)),Xa=La(new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Bn)),Za=La(new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Bn)),Ja=La(new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Bn)),Qa=La(new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Bn)),er=La(new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Bn)),tr=La(new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Bn)),nr=La(new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Bn)),ar=La(new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Bn)),rr=La(new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Bn)),ir=La(new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Bn)),fr=La(new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Bn)),cr=La(new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Bn)),or=La(new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Bn)),dr=La(new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Bn)),sr=La(new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Bn)),lr=La(new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Bn)),ur=La(new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Bn)),hr=La(new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Bn)),br=La(new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Bn));var pr=qa(Ia(300,.5,0),Ia(-240,.5,1)),gr=qa(Ia(-100,.75,.35),Ia(80,1.5,.8)),mr=qa(Ia(260,.75,.35),Ia(80,1.5,.8)),vr=Ia();var yr=oa(),xr=Math.PI/3,wr=2*Math.PI/3;function Mr(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}var Sr=Mr(Bn("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Er=Mr(Bn("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),_r=Mr(Bn("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Nr=Mr(Bn("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));const Ar={position:"chartArea",property:"value",grid:{z:1,drawOnChartArea:!1},ticks:{z:1},legend:{align:"right",position:"bottom-right",length:100,width:50,margin:8,indicatorWidth:10}};class kr extends t.LinearScale{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(e){e.position="chartArea",super.init(e),this.axis="r"}parse(e,t){return e&&"number"==typeof e[this.options.property]?e[this.options.property]:super.parse(e,t)}isHorizontal(){return"top"===this.options.legend.align||"bottom"===this.options.legend.align}_getNormalizedValue(e){return null==e||Number.isNaN(e)?null:(e-this._startValue)/this._valueRange}update(e,t,n){const a=Math.min(t,null==this.bottom?Number.POSITIVE_INFINITY:this.bottom),r=Math.min(e,null==this.right?Number.POSITIVE_INFINITY:this.right),i=this.options.legend,f=this.isHorizontal(),c=(e,t)=>e<1?t*e:e,o=Math.min(r,c(f?i.length:i.width,r))-(f?0:i.indicatorWidth),d=Math.min(a,c(f?i.width:i.length,a))-(f?i.indicatorWidth:0);this.legendSize={w:o,h:d},this.bottom=d,this.height=d,this.right=o,this.width=o;const s=this.options.position;this.options.position=this.options.legend.align;const l=super.update(o,d,n);return this.options.position=s,this.height=Math.min(d,this.height),this.width=Math.min(o,this.width),l}_computeLabelArea(){}draw(e){if(!this._isVisible())return;const t=function(e,t,n,a,r){const{indicatorWidth:i,align:f,position:c}=t,o="top"===f||"bottom"===f,d=("left"===f?r.w:n)+(o?i:0),s=("top"===f?r.h:a)+(o?0:i),l=function(e){const{indicatorWidth:t,align:n,margin:a}=e;return{left:("number"==typeof a?a:a.left)+("right"===n?t:0),top:("number"==typeof a?a:a.top)+("bottom"===n?t:0),right:("number"==typeof a?a:a.right)+("left"===n?t:0),bottom:("number"==typeof a?a:a.bottom)+("top"===n?t:0)}}(t);if("string"==typeof c)switch(c){case"top-left":return[l.left,l.top];case"top":return[(e.right-d)/2,l.top];case"left":return[l.left,(e.bottom-s)/2];case"top-right":return[e.right-d-l.right,l.top];case"bottom-right":return[e.right-d-l.right,e.bottom-s-l.bottom];case"bottom":return[(e.right-d)/2,e.bottom-s-l.bottom];case"bottom-left":return[l.left,e.bottom-s-l.bottom];default:return[e.right-d-l.right,(e.bottom-s)/2]}return[c.x,c.y]}(e,this.options.legend,this.width,this.height,this.legendSize),{ctx:n}=this;n.save(),n.translate(t[0],t[1]);const a=this.options.position;this.options.position=this.options.legend.align,super.draw({...e,bottom:this.height+10,right:this.width}),this.options.position=a;const{indicatorWidth:r}=this.options.legend;switch(this.options.legend.align){case"left":n.translate(this.legendSize.w,0);break;case"top":n.translate(0,this.legendSize.h);break;case"bottom":n.translate(0,-r);break;default:n.translate(-r,0)}this._drawIndicator(),n.restore()}_drawIndicator(){}}class Cr extends t.LogarithmicScale{constructor(){super(...arguments),this.legendSize={w:0,h:0}}init(e){kr.prototype.init.call(this,e)}parse(e,t){return kr.prototype.parse.call(this,e,t)}isHorizontal(){return"top"===this.options.legend.align||"bottom"===this.options.legend.align}_getNormalizedValue(e){return null==e||Number.isNaN(e)?null:(Math.log10(e)-this._startValue)/this._valueRange}update(e,t,n){return kr.prototype.update.call(this,e,t,n)}_computeLabelArea(){}draw(e){return kr.prototype.draw.call(this,e)}_drawIndicator(){}}const Pr={interpolateBlues:dr,interpolateBrBG:Ta,interpolateBuGn:Za,interpolateBuPu:Ja,interpolateCividis:function(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-2710.57*e)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-67.37*e)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-2475.67*e)))))))+")"},interpolateCool:mr,interpolateCubehelixDefault:pr,interpolateGnBu:Qa,interpolateGreens:sr,interpolateGreys:lr,interpolateInferno:_r,interpolateMagma:Er,interpolateOrRd:er,interpolateOranges:br,interpolatePRGn:Fa,interpolatePiYG:Wa,interpolatePlasma:Nr,interpolatePuBu:nr,interpolatePuBuGn:tr,interpolatePuOr:Va,interpolatePuRd:ar,interpolatePurples:ur,interpolateRainbow:function(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return vr.h=360*e-100,vr.s=1.5-1.5*t,vr.l=.8-.9*t,vr+""},interpolateRdBu:Ha,interpolateRdGy:Ya,interpolateRdPu:rr,interpolateRdYlBu:Ka,interpolateRdYlGn:Ua,interpolateReds:hr,interpolateSinebow:function(e){var t;return e=(.5-e)*Math.PI,yr.r=255*(t=Math.sin(e))*t,yr.g=255*(t=Math.sin(e+xr))*t,yr.b=255*(t=Math.sin(e+wr))*t,yr+""},interpolateSpectral:Xa,interpolateTurbo:function(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-14825.05*e)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+707.56*e)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-6838.66*e)))))))+")"},interpolateViridis:Sr,interpolateWarm:gr,interpolateYlGn:fr,interpolateYlGnBu:ir,interpolateYlOrBr:cr,interpolateYlOrRd:or};function Ir(e,t){const n=1/t;if(e<=n)return 0;if(e>=1-n)return 1;for(let t=0;t<1;t+=n)if(e{Pr[`${e.charAt(11).toLowerCase()}${e.slice(12)}`]=Pr[e],Pr[e.slice(11)]=Pr[e]}));const $r={interpolate:"blues",missing:"transparent",quantize:0};class jr extends kr{get interpolate(){const e=this.options;return e?"function"==typeof e.interpolate?e.interpolate:Pr[e.interpolate]||Pr.blues:e=>`rgb(${e},${e},${e})`}getColorForValue(e){const t=this._getNormalizedValue(e);return null==t||Number.isNaN(t)?this.options.missing:this.getColor(t)}getColor(e){let t=e;return this.options.quantize>0&&(t=Ir(t,this.options.quantize)),this.interpolate(t)}_drawIndicator(){const{indicatorWidth:e}=this.options.legend,t=this._reversePixels;if(this.isHorizontal()){const n=this.width;if(this.options.quantize>0){const a=n/this.options.quantize,r=t?e=>n-a-e:e=>e;for(let t=0;tn-1-e:e=>e;for(let t=0;t0){const a=n/this.options.quantize,r=t?e=>n-a-e:e=>e;for(let t=0;tn-1-e:e=>e;for(let t=0;t"interpolate"!==e,_indexable:!1};class zr extends Cr{constructor(){super(...arguments),this.interpolate=e=>`rgb(${e},${e},${e})`}init(e){super.init(e),"function"==typeof e.interpolate?this.interpolate=e.interpolate:this.interpolate=Pr[e.interpolate]||Pr.blues}getColorForValue(e){return jr.prototype.getColorForValue.call(this,e)}getColor(e){let t=e;return this.options.quantize>0&&(t=Ir(t,this.options.quantize)),this.interpolate(t)}_drawIndicator(){return jr.prototype._drawIndicator.call(this)}}zr.id="colorLogarithmic",zr.defaults=n.merge({},[t.LogarithmicScale.defaults,Ar,$r]),zr.descriptors={_scriptable:e=>"interpolate"!==e,_indexable:!1};const Or={missing:1,mode:"area",range:[2,20],legend:{align:"bottom",length:90,width:70,indicatorWidth:42}};class Dr extends kr{constructor(){super(...arguments),this._model=null}getSizeForValue(e){const t=this._getNormalizedValue(e);return null==t||Number.isNaN(t)?this.options.missing:this.getSizeImpl(t)}getSizeImpl(e){const[t,n]=this.options.range;if("area"===this.options.mode){const a=n*n*Math.PI,r=t*t*Math.PI,i=e*(a-r)+r;return Math.sqrt(i/Math.PI)}return e*(n-t)+t}_drawIndicator(){const{ctx:e}=this,t=this.options.legend.indicatorWidth/2,a=this.isHorizontal(),r=this.ticks,i=this.getLabelItems(),f=i?i.map((e=>({[a?"x":"y"]:e.options.translation[a?0:1]}))):r.map(((e,t)=>({[a?"x":"y"]:this.getPixelForTick(t)})));if((this._gridLineItems||[]).forEach((n=>{if(e.save(),e.strokeStyle=n.color,e.lineWidth=n.width,e.setLineDash&&(e.setLineDash(n.borderDash),e.lineDashOffset=n.borderDashOffset),e.beginPath(),this.options.grid.drawTicks)switch(this.options.legend.align){case"left":e.moveTo(0,n.ty1),e.lineTo(t,n.ty2);break;case"top":e.moveTo(n.tx1,0),e.lineTo(n.tx2,t);break;case"bottom":e.moveTo(n.tx1,t),e.lineTo(n.tx2,2*t);break;default:e.moveTo(t,n.ty1),e.lineTo(2*t,n.ty2)}e.stroke(),e.restore()})),this._model){const t=this._model;e.strokeStyle=t.borderColor,e.lineWidth=t.borderWidth||0,e.fillStyle=t.backgroundColor}else e.fillStyle="blue";r.forEach(((r,i)=>{const c=f[i],o=this.getSizeForValue(r.value),d=a?c.x:t,s=a?t:c.y,l={pointStyle:"circle",borderWidth:0,...this._model||{},radius:o};n.drawPoint(e,l,d,s)}))}}Dr.id="size",Dr.defaults=n.merge({},[t.LinearScale.defaults,Ar,Or]),Dr.descriptors={_scriptable:!0,_indexable:e=>"range"!==e};class Rr extends Cr{constructor(){super(...arguments),this._model=null}getSizeForValue(e){const t=this._getNormalizedValue(e);return null==t||Number.isNaN(t)?this.options.missing:this.getSizeImpl(t)}getSizeImpl(e){return Dr.prototype.getSizeImpl.call(this,e)}_drawIndicator(){Dr.prototype._drawIndicator.call(this)}}Rr.id="sizeLogarithmic",Rr.defaults=n.merge({},[t.LogarithmicScale.defaults,Ar,Or]);class Gr extends t.Element{constructor(){super(...arguments),this.cache=void 0}inRange(e,t){const n=this.getBounds(),a=(Number.isNaN(e)||e>=n.x&&e<=n.x2)&&(Number.isNaN(t)||t>=n.y&&t<=n.y2),r=this.projectionScale.geoPath.projection();if(a&&!Number.isNaN(e)&&!Number.isNaN(t)&&"function"==typeof r.invert){const n=r.invert([e,t]);return null!=n&&function(e,t){return(e&&we.hasOwnProperty(e.type)?we[e.type]:Se)(e,t)}(this.feature,n)}return a}inXRange(e){return this.inRange(e,Number.NaN)}inYRange(e){return this.inRange(Number.NaN,e)}getCenterPoint(){if(this.cache&&this.cache.center)return this.cache.center;let e;if(this.center){const t=this.projectionScale.projection([this.center.longitude,this.center.latitude]);e={x:t[0],y:t[1]}}else{const t=this.projectionScale.geoPath.centroid(this.feature);e={x:t[0],y:t[1]}}return this.cache={...this.cache||{},center:e},e}getBounds(){if(this.cache&&this.cache.bounds)return this.cache.bounds;const e=function(e,t){return[[e[0][0]-t,e[0][1]-t],[e[1][0]+t,e[1][1]+t]]}(this.projectionScale.geoPath.bounds(this.feature),this.options.borderWidth/2),t={x:e[0][0],x2:e[1][0],y:e[0][1],y2:e[1][1],width:e[1][0]-e[0][0],height:e[1][1]-e[0][1]};return this.cache={...this.cache||{},bounds:t},t}_drawInCache(e){const t=this.getBounds();if(!Number.isFinite(t.x))return;const n=this.cache&&this.cache.canvas?this.cache.canvas:e.createElement("canvas"),a=Math.floor(t.x),r=Math.floor(t.y),i=Math.ceil(t.x+t.width),f=Math.ceil(t.y+t.height),c=this.pixelRatio||1,o=Math.ceil(Math.max(i-a,1)*c),d=Math.ceil(Math.max(f-r,1)*c);if(o<=0||d<=0)return;n.width=o,n.height=d;const s=n.getContext("2d");s&&(s.clearRect(0,0,n.width,n.height),s.save(),s.scale(c,c),s.translate(-a,-r),this._drawImpl(s),s.restore(),this.cache={...this.cache||{},canvas:n,canvasKey:this._optionsToKey()})}_optionsToKey(){const{options:e}=this;return`${e.backgroundColor};${e.borderColor};${e.borderWidth};${this.pixelRatio}`}_drawImpl(e){const{feature:t}=this,{options:n}=this;e.beginPath(),this.projectionScale.geoPath.context(e)(t),n.backgroundColor&&(e.fillStyle=n.backgroundColor,e.fill()),n.borderColor&&(e.strokeStyle=n.borderColor,e.lineWidth=n.borderWidth,e.stroke())}draw(e){const{feature:t}=this;if(!t)return;this.cache&&this.cache.canvasKey===this._optionsToKey()||this._drawInCache(e.canvas.ownerDocument);const n=this.getBounds();if(this.cache&&this.cache.canvas&&this.cache.canvas.width>0&&this.cache.canvas.height>0){const t=Math.floor(n.x),a=Math.floor(n.y),r=Math.ceil(n.x+n.width),i=Math.ceil(n.y+n.height);r-t>0&&i-a>0&&e.drawImage(this.cache.canvas,t,a,r-t,i-a)}else Number.isFinite(n.x)&&(e.save(),this._drawImpl(e),e.restore())}}Gr.id="geoFeature",Gr.defaults={...t.BarElement.defaults,outlineBackgroundColor:null,outlineBorderWidth:0,graticuleBorderColor:"#CCCCCC",graticuleBorderWidth:0},Gr.defaultRoutes={outlineBorderColor:"borderColor",...t.BarElement.defaultRoutes||{}};const Br={showOutline:!1,showGraticule:!1,clipMap:!0},qr={scales:{projection:{axis:"x",type:Gn.id,position:"chartArea",display:!1}}};function Lr(e){const t={...e};return Object.keys(e).forEach((n=>{let a=n;if(n.startsWith("outline")){const e=n.slice(7);a=e[0].toLowerCase()+e.slice(1)}else{if(!n.startsWith("hoverOutline"))return;a=`hover${n.slice(12)}`}delete t[n],t[a]=e[n]})),t}class Tr extends t.DatasetController{getGeoDataset(){return super.getDataset()}getGeoOptions(){return this.chart.options}getProjectionScale(){return this.getScaleForId("projection")}linkScales(){const e=this.getGeoDataset(),t=this.getMeta();t.xAxisID="projection",e.xAxisID="projection",t.yAxisID="projection",e.yAxisID="projection",t.xScale=this.getScaleForId("projection"),t.yScale=this.getScaleForId("projection"),this.getProjectionScale().computeBounds(this.resolveOutline())}showOutline(){return n.valueOrDefault(this.getGeoDataset().showOutline,this.getGeoOptions().showOutline)}clipMap(){return n.valueOrDefault(this.getGeoDataset().clipMap,this.getGeoOptions().clipMap)}getGraticule(){return n.valueOrDefault(this.getGeoDataset().showGraticule,this.getGeoOptions().showGraticule)}update(e){super.update(e);const t=this.getMeta(),n=this.getProjectionScale(),a=n.updateBounds();if(this.showOutline()){const r=t.dataset;if(a&&delete r.cache,r.projectionScale=n,r.pixelRatio=this.chart.currentDevicePixelRatio,"resize"!==e){const n=Lr(this.resolveDatasetElementOptions(e)),a={feature:this.resolveOutline(),options:n};this.updateElement(r,void 0,a,e),this.getGraticule()&&(t.graticule=n)}}else this.getGraticule()&&"resize"!==e&&(t.graticule=Lr(this.resolveDatasetElementOptions(e)));this.updateElements(t.data,0,t.data.length,e),a&&t.data.forEach((e=>delete e.cache))}resolveOutline(){const e=this.getGeoDataset().outline||{type:"Sphere"};return Array.isArray(e)?{type:"FeatureCollection",features:e}:e}showGraticule(){const e=this.getGraticule(),t=this.getMeta().graticule;if(!e||!t)return;const{ctx:n}=this.chart,a=this.getProjectionScale().geoPath.context(n);if(n.save(),n.beginPath(),"boolean"==typeof e)e&&a(Ie()());else{const t=Ie();e.stepMajor&&t.stepMajor(e.stepMajor),e.stepMinor&&t.stepMinor(e.stepMinor),a(t())}n.strokeStyle=t.graticuleBorderColor,n.lineWidth=t.graticuleBorderWidth,n.stroke(),n.restore()}draw(){const{chart:e}=this,t=this.clipMap();let a=!1;!0!==t&&"outline"!==t&&"outline+graticule"!==t||(a=!0,n.clipArea(e.ctx,e.chartArea)),this.showOutline()&&this.getMeta().dataset&&this.getMeta().dataset.draw.call(this.getMeta().dataset,e.ctx,e.chartArea),!0===t||"graticule"===t||"outline+graticule"===t?a||n.clipArea(e.ctx,e.chartArea):a&&(a=!1,n.unclipArea(e.ctx)),this.showGraticule(),!0===t||"items"===t?a||n.clipArea(e.ctx,e.chartArea):a&&(a=!1,n.unclipArea(e.ctx)),this.getMeta().data.forEach((t=>t.draw.call(t,e.ctx,e.chartArea))),a&&(a=!1,n.unclipArea(e.ctx))}}function Fr(e,n,a,r=[],i=[]){t.registry.addControllers(a),Array.isArray(r)?t.registry.addElements(...r):t.registry.addElements(r),Array.isArray(i)?t.registry.addScales(...i):t.registry.addScales(i);const f=n;return f.type=e,f}class Wr extends Tr{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const e=this.getGeoDataset(),t=this.getMeta();t.vAxisID="color",t.rAxisID="color",e.vAxisID="color",e.rAxisID="color",t.rScale=this.getScaleForId("color"),t.vScale=t.rScale,t.iScale=t.xScale,t.iAxisID=t.xAxisID,e.iAxisID=t.xAxisID}_getOtherScale(e){return e}parse(e,t){const n=this.getMeta().rScale,{data:a}=this.getDataset(),r=this._cachedMeta;for(let i=e;i"",label(e){var t,n,a,r;return null==e.formattedValue?null===(n=null===(t=e.chart.data)||void 0===t?void 0:t.labels)||void 0===n?void 0:n[e.dataIndex]:`${null===(r=null===(a=e.chart.data)||void 0===a?void 0:a.labels)||void 0===r?void 0:r[e.dataIndex]}: ${e.formattedValue}`}}},colors:{enabled:!1}},scales:{color:{type:jr.id,axis:"x"}},elements:{geoFeature:{backgroundColor(e){if(null==e.dataIndex)return null;return e.chart.getDatasetMeta(e.datasetIndex).controller.indexToColor(e.dataIndex)}}}}]);class Vr extends t.Chart{constructor(e,t){super(e,Fr("choropleth",t,Wr,Gr,[jr,Gn]))}}Vr.id=Wr.id;class Hr extends Tr{initialize(){super.initialize(),this.enableOptionSharing=!0}linkScales(){super.linkScales();const e=this.getGeoDataset(),t=this.getMeta();t.vAxisID="size",t.rAxisID="size",e.vAxisID="size",e.rAxisID="size",t.rScale=this.getScaleForId("size"),t.vScale=t.rScale,t.iScale=t.xScale,t.iAxisID=t.xAxisID,e.iAxisID=t.xAxisID}_getOtherScale(e){return e}parse(e,t){const n=this.getMeta().rScale,a=this.getDataset().data,r=this._cachedMeta;for(let i=e;i"",label(e){var t,n,a,r;return null==e.formattedValue?null===(n=null===(t=e.chart.data)||void 0===t?void 0:t.labels)||void 0===n?void 0:n[e.dataIndex]:`${null===(r=null===(a=e.chart.data)||void 0===a?void 0:a.labels)||void 0===r?void 0:r[e.dataIndex]}: ${e.formattedValue}`}}}},scales:{size:{axis:"x",type:Dr.id}},elements:{point:{radius(e){if(null==e.dataIndex)return null;return e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)},hoverRadius(e){if(null==e.dataIndex)return null;return e.chart.getDatasetMeta(e.datasetIndex).controller.indexToRadius(e.dataIndex)+1}}}}]);class Yr extends t.Chart{constructor(e,t){super(e,Fr("bubbleMap",t,Hr,Gr,[Dr,Gn]))}}function Kr(e){return e}function Ur(e){if(null==e)return Kr;var t,n,a=e.scale[0],r=e.scale[1],i=e.translate[0],f=e.translate[1];return function(e,c){c||(t=n=0);var o=2,d=e.length,s=new Array(d);for(s[0]=(t+=e[0])*a+i,s[1]=(n+=e[1])*r+f;oi&&(i=e[0]),e[1]f&&(f=e[1])}function o(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(o);break;case"Point":c(e.coordinates);break;case"MultiPoint":e.coordinates.forEach(c)}}for(t in e.arcs.forEach((function(e){for(var t,c=-1,o=e.length;++ci&&(i=t[0]),t[1]f&&(f=t[1])})),e.objects)o(e.objects[t]);return[a,r,i,f]}function Zr(e,t){var n=t.id,a=t.bbox,r=null==t.properties?{}:t.properties,i=Jr(e,t);return null==n&&null==a?{type:"Feature",properties:r,geometry:i}:null==a?{type:"Feature",id:n,properties:r,geometry:i}:{type:"Feature",id:n,bbox:a,properties:r,geometry:i}}function Jr(e,t){var n=Ur(e.transform),a=e.arcs;function r(e,t){t.length&&t.pop();for(var r=a[e<0?~e:e],i=0,f=r.length;i1)a=function(e,t,n){var a,r=[],i=[];function f(e){var t=e<0?~e:e;(i[t]||(i[t]=[])).push({i:e,g:a})}function c(e){e.forEach(f)}function o(e){e.forEach(c)}function d(e){e.forEach(o)}function s(e){switch(a=e,e.type){case"GeometryCollection":e.geometries.forEach(s);break;case"LineString":c(e.arcs);break;case"MultiLineString":case"Polygon":o(e.arcs);break;case"MultiPolygon":d(e.arcs)}}return s(t),i.forEach(null==n?function(e){r.push(e[0].i)}:function(e){n(e[0].g,e[e.length-1].g)&&r.push(e[0].i)}),r}(0,t,n);else for(r=0,a=new Array(i=e.arcs.length);r1)for(var i,c,o=1,d=f(r[0]);od&&(c=r[0],r[0]=r[o],r[o]=c,d=i);return r})).filter((function(e){return e.length>0}))}}function ni(e,t){for(var n=0,a=e.length;n>>1;e[r]=2))throw new Error("n must be ≥2");var n,a=(c=e.bbox||Xr(e))[0],r=c[1],i=c[2],f=c[3];t={scale:[i-a?(i-a)/(n-1):1,f-r?(f-r)/(n-1):1],translate:[a,r]}}var c,o,d=ai(t),s=e.objects,l={};function u(e){return d(e)}function h(e){var t;switch(e.type){case"GeometryCollection":t={type:"GeometryCollection",geometries:e.geometries.map(h)};break;case"Point":t={type:"Point",coordinates:u(e.coordinates)};break;case"MultiPoint":t={type:"MultiPoint",coordinates:e.coordinates.map(u)};break;default:return e}return null!=e.id&&(t.id=e.id),null!=e.bbox&&(t.bbox=e.bbox),null!=e.properties&&(t.properties=e.properties),t}for(o in s)l[o]=h(s[o]);return{type:"Topology",bbox:c,transform:t,objects:l,arcs:e.arcs.map((function(e){var t,n=0,a=1,r=e.length,i=new Array(r);for(i[0]=d(e[0],0);++n