u.index){var d=s-a.x-a.vx,v=c-a.y-a.vy,y=d*d+v*v;yt.r&&(t.r=t[n].r)}function u(){if(n){var r,i,o=n.length;for(e=new Array(o),r=0;r1?(null==e?u.remove(t):u.set(t,p(e)),n):u.get(t)},find:function(n,e,r){var i,o,a,u,s,c=0,f=t.length;for(null==r?r=1/0:r*=r,c=0;c1?(c.on(t,e),n):c.on(t)}}},Pu=function(){var t,n,e,r,i=hu(-30),o=1,a=1/0,u=.81;function s(r){var i,o=t.length,a=gu(t,Au,Tu).visitAfter(f);for(e=r,i=0;i=a)){(t.data!==n||t.next)&&(0===f&&(p+=(f=pu())*f),0===l&&(p+=(l=pu())*l),p1?r[0]+r.slice(2):r,+t.slice(e+1)]},Fu=function(t){return(t=Iu(Math.abs(t)))?t[1]:NaN},Ru=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Uu(t){return new zu(t)}function zu(t){if(!(n=Ru.exec(t)))throw new Error("invalid format: "+t);var n;this.fill=n[1]||" ",this.align=n[2]||">",this.sign=n[3]||"-",this.symbol=n[4]||"",this.zero=!!n[5],this.width=n[6]&&+n[6],this.comma=!!n[7],this.precision=n[8]&&+n[8].slice(1),this.trim=!!n[9],this.type=n[10]||""}Uu.prototype=zu.prototype,zu.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(null==this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(null==this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var Bu,qu,Hu,Wu,Ju=function(t){t:for(var n,e=t.length,r=1,i=-1;r0){if(!+t[r])break t;i=0}}return i>0?t.slice(0,i)+t.slice(n+1):t},Yu=function(t,n){var e=Iu(t,n);if(!e)return t+"";var r=e[0],i=e[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")},Xu={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return Yu(100*t,n)},r:Yu,s:function(t,n){var e=Iu(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Bu=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Iu(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Vu=function(t){return t},Ku=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Zu=function(t){var n,e,r=t.grouping&&t.thousands?(n=t.grouping,e=t.thousands,function(t,r){for(var i=t.length,o=[],a=0,u=n[0],s=0;i>0&&u>0&&(s+u+1>r&&(u=Math.max(1,r-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}):Vu,i=t.currency,o=t.decimal,a=t.numerals?function(t){return function(n){return n.replace(/[0-9]/g,function(n){return t[+n]})}}(t.numerals):Vu,u=t.percent||"%";function s(t){var n=(t=Uu(t)).fill,e=t.align,s=t.sign,c=t.symbol,f=t.zero,l=t.width,h=t.comma,p=t.precision,d=t.trim,v=t.type;"n"===v?(h=!0,v="g"):Xu[v]||(null==p&&(p=12),d=!0,v="g"),(f||"0"===n&&"="===e)&&(f=!0,n="0",e="=");var y="$"===c?i[0]:"#"===c&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",m="$"===c?i[1]:/[%p]/.test(v)?u:"",g=Xu[v],b=/[defgprs%]/.test(v);function w(t){var i,u,c,w=y,x=m;if("c"===v)x=g(t)+x,t="";else{var _=(t=+t)<0;if(t=g(Math.abs(t),p),d&&(t=Ju(t)),_&&0==+t&&(_=!1),w=(_?"("===s?s:"-":"-"===s||"("===s?"":s)+w,x=("s"===v?Ku[8+Bu/3]:"")+x+(_&&"("===s?")":""),b)for(i=-1,u=t.length;++i(c=t.charCodeAt(i))||c>57){x=(46===c?o+t.slice(i+1):t.slice(i))+x,t=t.slice(0,i);break}}h&&!f&&(t=r(t,1/0));var M=w.length+t.length+x.length,N=M>1)+w+t+x+N.slice(M);break;default:t=N+w+t+x}return a(t)}return p=null==p?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,p)):Math.max(0,Math.min(20,p)),w.toString=function(){return t+""},w}return{format:s,formatPrefix:function(t,n){var e=s(((t=Uu(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Fu(n)/3))),i=Math.pow(10,-r),o=Ku[8+r/3];return function(t){return e(i*t)+o}}}};function Qu(t){return qu=Zu(t),Hu=qu.format,Wu=qu.formatPrefix,qu}Qu({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var Gu=function(t){return Math.max(0,-Fu(Math.abs(t)))},ts=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Fu(n)/3)))-Fu(Math.abs(t)))},ns=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Fu(n)-Fu(t))+1},es=function(){return new rs};function rs(){this.reset()}rs.prototype={constructor:rs,reset:function(){this.s=this.t=0},add:function(t){os(is,t,this.t),os(this,is.s,this.s),this.s?this.t+=is.t:this.s=is.t},valueOf:function(){return this.s}};var is=new rs;function os(t,n,e){var r=t.s=n+e,i=r-n,o=r-i;t.t=n-o+(e-i)}var as=1e-6,us=Math.PI,ss=us/2,cs=us/4,fs=2*us,ls=180/us,hs=us/180,ps=Math.abs,ds=Math.atan,vs=Math.atan2,ys=Math.cos,ms=Math.ceil,gs=Math.exp,bs=(Math.floor,Math.log),ws=Math.pow,xs=Math.sin,_s=Math.sign||function(t){return t>0?1:t<0?-1:0},Ms=Math.sqrt,Ns=Math.tan;function ks(t){return t>1?0:t<-1?us:Math.acos(t)}function Es(t){return t>1?ss:t<-1?-ss:Math.asin(t)}function Ss(t){return(t=xs(t/2))*t}function As(){}function Ts(t,n){t&&Cs.hasOwnProperty(t.type)&&Cs[t.type](t,n)}var Os={Feature:function(t,n){Ts(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r=0?1:-1,i=r*e,o=ys(n),a=xs(n),u=Fs*a,s=Is*o+u*ys(i),c=u*r*xs(i);Us.add(vs(c,s)),Ls=t,Is=o,Fs=a}var Ys=function(t){return zs.reset(),Rs(t,Bs),2*zs};function Xs(t){return[vs(t[1],t[0]),Es(t[2])]}function Vs(t){var n=t[0],e=t[1],r=ys(e);return[r*ys(n),r*xs(n),xs(e)]}function Ks(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Zs(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function Qs(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function Gs(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function tc(t){var n=Ms(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var nc,ec,rc,ic,oc,ac,uc,sc,cc,fc,lc=es(),hc={point:pc,lineStart:vc,lineEnd:yc,polygonStart:function(){hc.point=mc,hc.lineStart=gc,hc.lineEnd=bc,lc.reset(),Bs.polygonStart()},polygonEnd:function(){Bs.polygonEnd(),hc.point=pc,hc.lineStart=vc,hc.lineEnd=yc,Us<0?(nc=-(rc=180),ec=-(ic=90)):lc>as?ic=90:lc<-as&&(ec=-90),fc[0]=nc,fc[1]=rc}};function pc(t,n){cc.push(fc=[nc=t,rc=t]),nic&&(ic=n)}function dc(t,n){var e=Vs([t*hs,n*hs]);if(sc){var r=Zs(sc,e),i=Zs([r[1],-r[0],0],r);tc(i),i=Xs(i);var o,a=t-oc,u=a>0?1:-1,s=i[0]*ls*u,c=ps(a)>180;c^(u*ocic&&(ic=o):c^(u*oc<(s=(s+360)%360-180)&&sic&&(ic=n)),c?twc(nc,rc)&&(rc=t):wc(t,rc)>wc(nc,rc)&&(nc=t):rc>=nc?(trc&&(rc=t)):t>oc?wc(nc,t)>wc(nc,rc)&&(rc=t):wc(t,rc)>wc(nc,rc)&&(nc=t)}else cc.push(fc=[nc=t,rc=t]);nic&&(ic=n),sc=e,oc=t}function vc(){hc.point=dc}function yc(){fc[0]=nc,fc[1]=rc,hc.point=pc,sc=null}function mc(t,n){if(sc){var e=t-oc;lc.add(ps(e)>180?e+(e>0?360:-360):e)}else ac=t,uc=n;Bs.point(t,n),dc(t,n)}function gc(){Bs.lineStart()}function bc(){mc(ac,uc),Bs.lineEnd(),ps(lc)>as&&(nc=-(rc=180)),fc[0]=nc,fc[1]=rc,sc=null}function wc(t,n){return(n-=t)<0?n+360:n}function xc(t,n){return t[0]-n[0]}function _c(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:nwc(r[0],r[1])&&(r[1]=i[1]),wc(i[0],r[1])>wc(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=0,r=o[e=o.length-1];n<=e;r=i,++n)i=o[n],(u=wc(r[1],i[0]))>a&&(a=u,nc=i[0],rc=r[1])}return cc=fc=null,nc===1/0||ec===1/0?[[NaN,NaN],[NaN,NaN]]:[[nc,ec],[rc,ic]]},Uc={sphere:As,point:zc,lineStart:qc,lineEnd:Jc,polygonStart:function(){Uc.lineStart=Yc,Uc.lineEnd=Xc},polygonEnd:function(){Uc.lineStart=qc,Uc.lineEnd=Jc}};function zc(t,n){t*=hs;var e=ys(n*=hs);Bc(e*ys(t),e*xs(t),xs(n))}function Bc(t,n,e){kc+=(t-kc)/++Mc,Ec+=(n-Ec)/Mc,Sc+=(e-Sc)/Mc}function qc(){Uc.point=Hc}function Hc(t,n){t*=hs;var e=ys(n*=hs);Lc=e*ys(t),Ic=e*xs(t),Fc=xs(n),Uc.point=Wc,Bc(Lc,Ic,Fc)}function Wc(t,n){t*=hs;var e=ys(n*=hs),r=e*ys(t),i=e*xs(t),o=xs(n),a=vs(Ms((a=Ic*o-Fc*i)*a+(a=Fc*r-Lc*o)*a+(a=Lc*i-Ic*r)*a),Lc*r+Ic*i+Fc*o);Nc+=a,Ac+=a*(Lc+(Lc=r)),Tc+=a*(Ic+(Ic=i)),Oc+=a*(Fc+(Fc=o)),Bc(Lc,Ic,Fc)}function Jc(){Uc.point=zc}function Yc(){Uc.point=Vc}function Xc(){Kc(Dc,$c),Uc.point=zc}function Vc(t,n){Dc=t,$c=n,t*=hs,n*=hs,Uc.point=Kc;var e=ys(n);Lc=e*ys(t),Ic=e*xs(t),Fc=xs(n),Bc(Lc,Ic,Fc)}function Kc(t,n){t*=hs;var e=ys(n*=hs),r=e*ys(t),i=e*xs(t),o=xs(n),a=Ic*o-Fc*i,u=Fc*r-Lc*o,s=Lc*i-Ic*r,c=Ms(a*a+u*u+s*s),f=Es(c),l=c&&-f/c;Cc+=l*a,jc+=l*u,Pc+=l*s,Nc+=f,Ac+=f*(Lc+(Lc=r)),Tc+=f*(Ic+(Ic=i)),Oc+=f*(Fc+(Fc=o)),Bc(Lc,Ic,Fc)}var Zc=function(t){Mc=Nc=kc=Ec=Sc=Ac=Tc=Oc=Cc=jc=Pc=0,Rs(t,Uc);var n=Cc,e=jc,r=Pc,i=n*n+e*e+r*r;return i<1e-12&&(n=Ac,e=Tc,r=Oc,Ncus?t+Math.round(-t/fs)*fs:t,n]}function nf(t,n,e){return(t%=fs)?n||e?Gc(rf(t),of(n,e)):rf(t):n||e?of(n,e):tf}function ef(t){return function(n,e){return[(n+=t)>us?n-fs:n<-us?n+fs:n,e]}}function rf(t){var n=ef(t);return n.invert=ef(-t),n}function of(t,n){var e=ys(t),r=xs(t),i=ys(n),o=xs(n);function a(t,n){var a=ys(n),u=ys(t)*a,s=xs(t)*a,c=xs(n),f=c*e+u*r;return[vs(s*i-f*o,u*e-c*r),Es(f*i+s*o)]}return a.invert=function(t,n){var a=ys(n),u=ys(t)*a,s=xs(t)*a,c=xs(n),f=c*i-s*o;return[vs(s*i+c*o,u*e+f*r),Es(f*e-u*r)]},a}tf.invert=tf;var af=function(t){function n(n){return(n=t(n[0]*hs,n[1]*hs))[0]*=ls,n[1]*=ls,n}return t=nf(t[0]*hs,t[1]*hs,t.length>2?t[2]*hs:0),n.invert=function(n){return(n=t.invert(n[0]*hs,n[1]*hs))[0]*=ls,n[1]*=ls,n},n};function uf(t,n,e,r,i,o){if(e){var a=ys(n),u=xs(n),s=r*e;null==i?(i=n+r*fs,o=n-s/2):(i=sf(a,i),o=sf(a,o),(r>0?io)&&(i+=r*fs));for(var c,f=i;r>0?f>o:f1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},lf=function(t,n){return ps(t[0]-n[0])=0;--o)i.point((f=c[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}c=(h=h.o).z,p=!p}while(!h.v);i.lineEnd()}}};function df(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r=0?1:-1,k=N*M,E=k>us,S=v*x;if(vf.add(vs(S*N*xs(k),y*_+S*ys(k))),a+=E?M+N*fs:M,E^p>=e^b>=e){var A=Zs(Vs(h),Vs(g));tc(A);var T=Zs(o,A);tc(T);var O=(E^M>=0?-1:1)*Es(T[2]);(r>O||r===O&&(A[0]||A[1]))&&(u+=E^M>=0?1:-1)}}return(a<-as||a0){for(l||(i.polygonStart(),l=!0),i.lineStart(),t=0;t1&&2&s&&h.push(h.pop().concat(h.shift())),a.push(h.filter(gf))}return h}};function gf(t){return t.length>1}function bf(t,n){return((t=t.x)[0]<0?t[1]-ss-as:ss-t[1])-((n=n.x)[0]<0?n[1]-ss-as:ss-n[1])}var wf=mf(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?us:-us,s=ps(o-e);ps(s-us)0?ss:-ss),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&s>=us&&(ps(e-i)as?ds((xs(n)*(o=ys(r))*xs(e)-xs(r)*(i=ys(n))*xs(t))/(i*o*a)):(n+r)/2}(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(null==t)i=e*ss,r.point(-us,i),r.point(0,i),r.point(us,i),r.point(us,0),r.point(us,-i),r.point(0,-i),r.point(-us,-i),r.point(-us,0),r.point(-us,i);else if(ps(t[0]-n[0])>as){var o=t[0]0,i=ps(n)>as;function o(t,e){return ys(t)*ys(e)>n}function a(t,e,r){var i=[1,0,0],o=Zs(Vs(t),Vs(e)),a=Ks(o,o),u=o[0],s=a-u*u;if(!s)return!r&&t;var c=n*a/s,f=-n*u/s,l=Zs(i,o),h=Gs(i,c);Qs(h,Gs(o,f));var p=l,d=Ks(h,p),v=Ks(p,p),y=d*d-v*(Ks(h,h)-1);if(!(y<0)){var m=Ms(y),g=Gs(p,(-d-m)/v);if(Qs(g,h),g=Xs(g),!r)return g;var b,w=t[0],x=e[0],_=t[1],M=e[1];x0^g[1]<(ps(g[0]-w)us^(w<=g[0]&&g[0]<=x)){var E=Gs(p,(-d+m)/v);return Qs(E,h),[g,Xs(E)]}}}function u(n,e){var i=r?t:us-t,o=0;return n<-i?o|=1:n>i&&(o|=2),e<-i?o|=4:e>i&&(o|=8),o}return mf(o,function(t){var n,e,s,c,f;return{lineStart:function(){c=s=!1,f=1},point:function(l,h){var p,d=[l,h],v=o(l,h),y=r?v?0:u(l,h):v?u(l+(l<0?us:-us),h):0;if(!n&&(c=s=v)&&t.lineStart(),v!==s&&(!(p=a(n,d))||lf(n,p)||lf(d,p))&&(d[0]+=as,d[1]+=as,v=o(d[0],d[1])),v!==s)f=0,v?(t.lineStart(),p=a(d,n),t.point(p[0],p[1])):(p=a(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(i&&n&&r^v){var m;y&e||!(m=a(d,n,!0))||(f=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!v||n&&lf(n,d)||t.point(d[0],d[1]),n=d,s=v,e=y},lineEnd:function(){s&&t.lineEnd(),n=null},clean:function(){return f|(c&&s)<<1}}},function(n,r,i,o){uf(o,t,e,i,n,r)},r?[0,-t]:[-us,t-us])},_f=function(t,n,e,r,i,o){var a,u=t[0],s=t[1],c=0,f=1,l=n[0]-u,h=n[1]-s;if(a=e-u,l||!(a>0)){if(a/=l,l<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=i-u,l||!(a<0)){if(a/=l,l<0){if(a>f)return;a>c&&(c=a)}else if(l>0){if(a0)){if(a/=h,h<0){if(a0){if(a>f)return;a>c&&(c=a)}if(a=o-s,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>c&&(c=a)}else if(h>0){if(a0&&(t[0]=u+c*l,t[1]=s+c*h),f<1&&(n[0]=u+f*l,n[1]=s+f*h),!0}}}}},Mf=1e9,Nf=-Mf;function kf(t,n,e,r){function i(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function o(i,o,u,c){var f=0,l=0;if(null==i||(f=a(i,u))!==(l=a(o,u))||s(i,o)<0^u>0)do{c.point(0===f||3===f?t:e,f>1?r:n)}while((f=(f+u+4)%4)!==l);else c.point(o[0],o[1])}function a(r,i){return ps(r[0]-t)0?0:3:ps(r[0]-e)0?2:1:ps(r[1]-n)0?1:0:i>0?3:2}function u(t,n){return s(t.x,n.x)}function s(t,n){var e=a(t,1),r=a(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(a){var s,c,f,l,h,p,d,v,y,m,g,b=a,w=ff(),x={point:_,lineStart:function(){x.point=M,c&&c.push(f=[]);m=!0,y=!1,d=v=NaN},lineEnd:function(){s&&(M(l,h),p&&y&&w.rejoin(),s.push(w.result()));x.point=_,y&&b.lineEnd()},polygonStart:function(){b=w,s=[],c=[],g=!0},polygonEnd:function(){var n=function(){for(var n=0,e=0,i=c.length;er&&(h-o)*(r-a)>(p-a)*(t-o)&&++n:p<=r&&(h-o)*(r-a)<(p-a)*(t-o)&&--n;return n}(),e=g&&n,i=(s=I(s)).length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),o(null,null,1,a),a.lineEnd()),i&&pf(s,u,n,o,a),a.polygonEnd());b=a,s=c=f=null}};function _(t,n){i(t,n)&&b.point(t,n)}function M(o,a){var u=i(o,a);if(c&&f.push([o,a]),m)l=o,h=a,p=u,m=!1,u&&(b.lineStart(),b.point(o,a));else if(u&&y)b.point(o,a);else{var s=[d=Math.max(Nf,Math.min(Mf,d)),v=Math.max(Nf,Math.min(Mf,v))],w=[o=Math.max(Nf,Math.min(Mf,o)),a=Math.max(Nf,Math.min(Mf,a))];_f(s,w,t,n,e,r)?(y||(b.lineStart(),b.point(s[0],s[1])),b.point(w[0],w[1]),u||b.lineEnd(),g=!1):u&&(b.lineStart(),b.point(o,a),g=!1)}d=o,v=a,y=u}return x}}var Ef,Sf,Af,Tf=function(){var t,n,e,r=0,i=0,o=960,a=500;return e={stream:function(e){return t&&n===e?t:t=kf(r,i,o,a)(n=e)},extent:function(u){return arguments.length?(r=+u[0][0],i=+u[0][1],o=+u[1][0],a=+u[1][1],t=n=null,e):[[r,i],[o,a]]}}},Of=es(),Cf={sphere:As,point:As,lineStart:function(){Cf.point=Pf,Cf.lineEnd=jf},lineEnd:As,polygonStart:As,polygonEnd:As};function jf(){Cf.point=Cf.lineEnd=As}function Pf(t,n){Ef=t*=hs,Sf=xs(n*=hs),Af=ys(n),Cf.point=Df}function Df(t,n){t*=hs;var e=xs(n*=hs),r=ys(n),i=ps(t-Ef),o=ys(i),a=r*xs(i),u=Af*e-Sf*r*o,s=Sf*e+Af*r*o;Of.add(vs(Ms(a*a+u*u),s)),Ef=t,Sf=e,Af=r}var $f=function(t){return Of.reset(),Rs(t,Cf),+Of},Lf=[null,null],If={type:"LineString",coordinates:Lf},Ff=function(t,n){return Lf[0]=t,Lf[1]=n,$f(If)},Rf={Feature:function(t,n){return zf(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++ras}).map(s)).concat(_(ms(o/p)*p,i,p).filter(function(t){return ps(t%v)>as}).map(c))}return m.lines=function(){return g().map(function(t){return{type:"LineString",coordinates:t}})},m.outline=function(){return{type:"Polygon",coordinates:[f(r).concat(l(a).slice(1),f(e).reverse().slice(1),l(u).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],u=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),u>a&&(t=u,u=a,a=t),m.precision(y)):[[r,u],[e,a]]},m.extentMinor=function(e){return arguments.length?(n=+e[0][0],t=+e[1][0],o=+e[0][1],i=+e[1][1],n>t&&(e=n,n=t,t=e),o>i&&(e=o,o=i,i=e),m.precision(y)):[[n,o],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,s=Xf(o,i,90),c=Vf(n,t,y),f=Xf(u,a,90),l=Vf(r,e,y),m):y},m.extentMajor([[-180,-90+as],[180,90-as]]).extentMinor([[-180,-80-as],[180,80+as]])}function Zf(){return Kf()()}var Qf,Gf,tl,nl,el=function(t,n){var e=t[0]*hs,r=t[1]*hs,i=n[0]*hs,o=n[1]*hs,a=ys(r),u=xs(r),s=ys(o),c=xs(o),f=a*ys(e),l=a*xs(e),h=s*ys(i),p=s*xs(i),d=2*Es(Ms(Ss(o-r)+a*s*Ss(i-e))),v=xs(d),y=d?function(t){var n=xs(t*=d)/v,e=xs(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*u+n*c;return[vs(i,r)*ls,vs(o,Ms(r*r+i*i))*ls]}:function(){return[e*ls,r*ls]};return y.distance=d,y},rl=function(t){return t},il=es(),ol=es(),al={point:As,lineStart:As,lineEnd:As,polygonStart:function(){al.lineStart=ul,al.lineEnd=fl},polygonEnd:function(){al.lineStart=al.lineEnd=al.point=As,il.add(ps(ol)),ol.reset()},result:function(){var t=il/2;return il.reset(),t}};function ul(){al.point=sl}function sl(t,n){al.point=cl,Qf=tl=t,Gf=nl=n}function cl(t,n){ol.add(nl*t-tl*n),tl=t,nl=n}function fl(){cl(Qf,Gf)}var ll=al,hl=1/0,pl=hl,dl=-hl,vl=dl;var yl,ml,gl,bl,wl={point:function(t,n){tdl&&(dl=t);nvl&&(vl=n)},lineStart:As,lineEnd:As,polygonStart:As,polygonEnd:As,result:function(){var t=[[hl,pl],[dl,vl]];return dl=vl=-(pl=hl=1/0),t}},xl=0,_l=0,Ml=0,Nl=0,kl=0,El=0,Sl=0,Al=0,Tl=0,Ol={point:Cl,lineStart:jl,lineEnd:$l,polygonStart:function(){Ol.lineStart=Ll,Ol.lineEnd=Il},polygonEnd:function(){Ol.point=Cl,Ol.lineStart=jl,Ol.lineEnd=$l},result:function(){var t=Tl?[Sl/Tl,Al/Tl]:El?[Nl/El,kl/El]:Ml?[xl/Ml,_l/Ml]:[NaN,NaN];return xl=_l=Ml=Nl=kl=El=Sl=Al=Tl=0,t}};function Cl(t,n){xl+=t,_l+=n,++Ml}function jl(){Ol.point=Pl}function Pl(t,n){Ol.point=Dl,Cl(gl=t,bl=n)}function Dl(t,n){var e=t-gl,r=n-bl,i=Ms(e*e+r*r);Nl+=i*(gl+t)/2,kl+=i*(bl+n)/2,El+=i,Cl(gl=t,bl=n)}function $l(){Ol.point=Cl}function Ll(){Ol.point=Fl}function Il(){Rl(yl,ml)}function Fl(t,n){Ol.point=Rl,Cl(yl=gl=t,ml=bl=n)}function Rl(t,n){var e=t-gl,r=n-bl,i=Ms(e*e+r*r);Nl+=i*(gl+t)/2,kl+=i*(bl+n)/2,El+=i,Sl+=(i=bl*t-gl*n)*(gl+t),Al+=i*(bl+n),Tl+=3*i,Cl(gl=t,bl=n)}var Ul=Ol;function zl(t){this._context=t}zl.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,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(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,fs)}},result:As};var Bl,ql,Hl,Wl,Jl,Yl=es(),Xl={point:As,lineStart:function(){Xl.point=Vl},lineEnd:function(){Bl&&Kl(ql,Hl),Xl.point=As},polygonStart:function(){Bl=!0},polygonEnd:function(){Bl=null},result:function(){var t=+Yl;return Yl.reset(),t}};function Vl(t,n){Xl.point=Kl,ql=Wl=t,Hl=Jl=n}function Kl(t,n){Wl-=t,Jl-=n,Yl.add(Ms(Wl*Wl+Jl*Jl)),Wl=t,Jl=n}var Zl=Xl;function Ql(){this._string=[]}function Gl(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}Ql.prototype={_radius:4.5,_circle:Gl(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,n){switch(this._point){case 0:this._string.push("M",t,",",n),this._point=1;break;case 1:this._string.push("L",t,",",n);break;default:null==this._circle&&(this._circle=Gl(this._radius)),this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var th=function(t,n){var e,r,i=4.5;function o(t){return t&&("function"==typeof i&&r.pointRadius(+i.apply(this,arguments)),Rs(t,e(r))),r.result()}return o.area=function(t){return Rs(t,e(ll)),ll.result()},o.measure=function(t){return Rs(t,e(Zl)),Zl.result()},o.bounds=function(t){return Rs(t,e(wl)),wl.result()},o.centroid=function(t){return Rs(t,e(Ul)),Ul.result()},o.projection=function(n){return arguments.length?(e=null==n?(t=null,rl):(t=n).stream,o):t},o.context=function(t){return arguments.length?(r=null==t?(n=null,new Ql):new zl(n=t),"function"!=typeof i&&r.pointRadius(i),o):n},o.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(r.pointRadius(+t),+t),o):i},o.projection(t).context(n)},nh=function(t){return{stream:eh(t)}};function eh(t){return function(n){var e=new rh;for(var r in t)e[r]=t[r];return e.stream=n,e}}function rh(){}function ih(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=r&&t.clipExtent(null),Rs(e,t.stream(wl)),n(wl.result()),null!=r&&t.clipExtent(r),t}function oh(t,n,e){return ih(t,function(e){var r=n[1][0]-n[0][0],i=n[1][1]-n[0][1],o=Math.min(r/(e[1][0]-e[0][0]),i/(e[1][1]-e[0][1])),a=+n[0][0]+(r-o*(e[1][0]+e[0][0]))/2,u=+n[0][1]+(i-o*(e[1][1]+e[0][1]))/2;t.scale(150*o).translate([a,u])},e)}function ah(t,n,e){return oh(t,[[0,0],n],e)}function uh(t,n,e){return ih(t,function(e){var r=+n,i=r/(e[1][0]-e[0][0]),o=(r-i*(e[1][0]+e[0][0]))/2,a=-i*e[0][1];t.scale(150*i).translate([o,a])},e)}function sh(t,n,e){return ih(t,function(e){var r=+n,i=r/(e[1][1]-e[0][1]),o=-i*e[0][0],a=(r-i*(e[1][1]+e[0][1]))/2;t.scale(150*i).translate([o,a])},e)}rh.prototype={constructor:rh,point:function(t,n){this.stream.point(t,n)},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 ch=16,fh=ys(30*hs),lh=function(t,n){return+n?function(t,n){function e(r,i,o,a,u,s,c,f,l,h,p,d,v,y){var m=c-r,g=f-i,b=m*m+g*g;if(b>4*n&&v--){var w=a+h,x=u+p,_=s+d,M=Ms(w*w+x*x+_*_),N=Es(_/=M),k=ps(ps(_)-1)n||ps((m*T+g*O)/b-.5)>.3||a*h+u*p+s*d2?t[2]%360*hs:0,S()):[y*ls,m*ls,g*ls]},k.angle=function(t){return arguments.length?(b=t%360*hs,S()):b*ls},k.precision=function(t){return arguments.length?(a=lh(u,N=t*t),A()):Ms(N)},k.fitExtent=function(t,n){return oh(k,t,n)},k.fitSize=function(t,n){return ah(k,t,n)},k.fitWidth=function(t,n){return uh(k,t,n)},k.fitHeight=function(t,n){return sh(k,t,n)},function(){return n=t.apply(this,arguments),k.invert=n.invert&&E,S()}}function yh(t){var n=0,e=us/3,r=vh(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*hs,e=t[1]*hs):[n*ls,e*ls]},i}function mh(t,n){var e=xs(t),r=(e+xs(n))/2;if(ps(r)=.12&&i<.234&&r>=-.425&&r<-.214?u:i>=.166&&i<.234&&r>=-.214&&r<-.115?s:a).invert(t)},f.stream=function(e){return t&&n===e?t:(r=[a.stream(n=e),u.stream(e),s.stream(e)],i=r.length,t={point:function(t,n){for(var e=-1;++e0?n<-ss+as&&(n=-ss+as):n>ss-as&&(n=ss-as);var e=i/ws(Oh(n),r);return[e*xs(r*t),i-e*ys(r*t)]}return o.invert=function(t,n){var e=i-n,o=_s(r)*Ms(t*t+e*e);return[vs(t,ps(e))/r*_s(e),2*ds(ws(i/o,1/r))-ss]},o}var jh=function(){return yh(Ch).scale(109.5).parallels([30,30])};function Ph(t,n){return[t,n]}Ph.invert=Ph;var Dh=function(){return dh(Ph).scale(152.63)};function $h(t,n){var e=ys(t),r=t===n?xs(t):(e-ys(n))/(n-t),i=e/r+t;if(ps(r)as&&--i>0);return[t/(.8707+(o=r*r)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),r]};var Vh=function(){return dh(Xh).scale(175.295)};function Kh(t,n){return[ys(n)*xs(t),xs(n)]}Kh.invert=_h(Es);var Zh=function(){return dh(Kh).scale(249.5).clipAngle(90+as)};function Qh(t,n){var e=ys(n),r=1+ys(t)*e;return[e*xs(t)/r,xs(n)/r]}Qh.invert=_h(function(t){return 2*ds(t)});var Gh=function(){return dh(Qh).scale(250).clipAngle(142)};function tp(t,n){return[bs(Ns((ss+n)/2)),-t]}tp.invert=function(t,n){return[-n,2*ds(gs(t))-ss]};var np=function(){var t=Th(tp),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):[(t=n())[1],-t[0]]},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):[(t=e())[0],t[1],t[2]-90]},e([0,0,90]).scale(159.155)};function ep(t,n){return t.parent===n.parent?1:2}function rp(t,n){return t+n.x}function ip(t,n){return Math.max(t,n.y)}var op=function(){var t=ep,n=1,e=1,r=!1;function i(i){var o,a=0;i.eachAfter(function(n){var e=n.children;e?(n.x=function(t){return t.reduce(rp,0)/t.length}(e),n.y=function(t){return 1+t.reduce(ip,0)}(e)):(n.x=o?a+=t(n,o):0,n.y=0,o=n)});var u=function(t){for(var n;n=t.children;)t=n[0];return t}(i),s=function(t){for(var n;n=t.children;)t=n[n.length-1];return t}(i),c=u.x-t(u,s)/2,f=s.x+t(s,u)/2;return i.eachAfter(r?function(t){t.x=(t.x-i.x)*n,t.y=(i.y-t.y)*e}:function(t){t.x=(t.x-c)/(f-c)*n,t.y=(1-(i.y?t.y/i.y:1))*e})}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i};function ap(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function up(t,n){var e,r,i,o,a,u=new lp(t),s=+t.value&&(u.value=t.value),c=[u];for(null==n&&(n=sp);e=c.pop();)if(s&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)c.push(r=e.children[o]=new lp(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(fp)}function sp(t){return t.children}function cp(t){t.data=t.data.data}function fp(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function lp(t){this.data=t,this.depth=this.height=0,this.parent=null}lp.prototype=up.prototype={constructor:lp,count:function(){return this.eachAfter(ap)},each:function(t){var n,e,r,i,o=this,a=[o];do{for(n=a.reverse(),a=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r=0;--e)i.push(n[e]);return this},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){var t=[];return this.each(function(n){t.push(n)}),t},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return up(this).eachBefore(cp)}};var hp=Array.prototype.slice;var pp=function(t){for(var n,e,r=0,i=(t=function(t){for(var n,e,r=t.length;r;)e=Math.random()*r--|0,n=t[r],t[r]=t[e],t[e]=n;return t}(hp.call(t))).length,o=[];r0&&e*e>r*r+i*i}function mp(t,n){for(var e=0;e(a*=a)?(r=(c+a-i)/(2*c),o=Math.sqrt(Math.max(0,a/c-r*r)),e.x=t.x-r*u-o*s,e.y=t.y-r*s+o*u):(r=(c+i-a)/(2*c),o=Math.sqrt(Math.max(0,i/c-r*r)),e.x=n.x+r*u-o*s,e.y=n.y+r*s+o*u)):(e.x=n.x+e.r,e.y=n.y)}function _p(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function Mp(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,o=(n.y*e.r+e.y*n.r)/r;return i*i+o*o}function Np(t){this._=t,this.next=null,this.previous=null}function kp(t){if(!(i=t.length))return 0;var n,e,r,i,o,a,u,s,c,f,l;if((n=t[0]).x=0,n.y=0,!(i>1))return n.r;if(e=t[1],n.x=-e.r,e.x=n.r,e.y=0,!(i>2))return n.r+e.r;xp(e,n,r=t[2]),n=new Np(n),e=new Np(e),r=new Np(r),n.next=r.previous=e,e.next=n.previous=r,r.next=e.previous=n;t:for(u=3;u0)throw new Error("cycle");return o}return e.id=function(n){return arguments.length?(t=Sp(n),e):t},e.parentId=function(t){return arguments.length?(n=Sp(t),e):n},e};function Hp(t,n){return t.parent===n.parent?1:2}function Wp(t){var n=t.children;return n?n[0]:t.t}function Jp(t){var n=t.children;return n?n[n.length-1]:t.t}function Yp(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Xp(t,n,e){return t.a.parent===n.parent?t.a:e}function Vp(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Vp.prototype=Object.create(lp.prototype);var Kp=function(){var t=Hp,n=1,e=1,r=null;function i(i){var s=function(t){for(var n,e,r,i,o,a=new Vp(t,0),u=[a];n=u.pop();)if(r=n._.children)for(n.children=new Array(o=r.length),i=o-1;i>=0;--i)u.push(e=n.children[i]=new Vp(r[i],i)),e.parent=n;return(a.parent=new Vp(null,0)).children=[a],a}(i);if(s.eachAfter(o),s.parent.m=-s.z,s.eachBefore(a),r)i.eachBefore(u);else{var c=i,f=i,l=i;i.eachBefore(function(t){t.xf.x&&(f=t),t.depth>l.depth&&(l=t)});var h=c===f?1:t(c,f)/2,p=h-c.x,d=n/(f.x+h+p),v=e/(l.depth||1);i.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return i}function o(n){var e=n.children,r=n.parent.children,i=n.i?r[n.i-1]:null;if(e){!function(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)(n=i[o]).z+=e,n.m+=e,e+=n.s+(r+=n.c)}(n);var o=(e[0].z+e[e.length-1].z)/2;i?(n.z=i.z+t(n._,i._),n.m=n.z-o):n.z=o}else i&&(n.z=i.z+t(n._,i._));n.parent.A=function(n,e,r){if(e){for(var i,o=n,a=n,u=e,s=o.parent.children[0],c=o.m,f=a.m,l=u.m,h=s.m;u=Jp(u),o=Wp(o),u&&o;)s=Wp(s),(a=Jp(a)).a=n,(i=u.z+l-o.z-c+t(u._,o._))>0&&(Yp(Xp(u,n,r),n,i),c+=i,f+=i),l+=u.m,c+=o.m,h+=s.m,f+=a.m;u&&!Jp(a)&&(a.t=u,a.m+=l-f),o&&!Wp(s)&&(s.t=o,s.m+=c-h,r=n)}return r}(n,i,n.parent.A||r[0])}function a(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function u(t){t.x*=n,t.y=t.depth*e}return i.separation=function(n){return arguments.length?(t=n,i):t},i.size=function(t){return arguments.length?(r=!1,n=+t[0],e=+t[1],i):r?null:[n,e]},i.nodeSize=function(t){return arguments.length?(r=!0,n=+t[0],e=+t[1],i):r?[n,e]:null},i},Zp=function(t,n,e,r,i){for(var o,a=t.children,u=-1,s=a.length,c=t.value&&(i-e)/t.value;++uh&&(h=u),y=f*f*v,(p=Math.max(h/y,y/l))>d){f-=u;break}d=p}m.push(a={value:f,dice:s1?n:1)},e}(Qp),nd=function(){var t=td,n=!1,e=1,r=1,i=[0],o=Ap,a=Ap,u=Ap,s=Ap,c=Ap;function f(t){return t.x0=t.y0=0,t.x1=e,t.y1=r,t.eachBefore(l),i=[0],n&&t.eachBefore($p),t}function l(n){var e=i[n.depth],r=n.x0+e,f=n.y0+e,l=n.x1-e,h=n.y1-e;l=e-1){var f=u[n];return f.x0=i,f.y0=o,f.x1=a,void(f.y1=s)}var l=c[n],h=r/2+l,p=n+1,d=e-1;for(;p>>1;c[v]s-o){var g=(i*m+a*y)/r;t(n,p,y,i,o,g,s),t(p,e,m,g,o,a,s)}else{var b=(o*m+s*y)/r;t(n,p,y,i,o,a,b),t(p,e,m,i,b,a,s)}}(0,s,t.value,n,e,r,i)},rd=function(t,n,e,r,i){(1&t.depth?Zp:Lp)(t,n,e,r,i)},id=function t(n){function e(t,e,r,i,o){if((a=t._squarify)&&a.ratio===n)for(var a,u,s,c,f,l=-1,h=a.length,p=t.value;++l1?n:1)},e}(Qp),od=function(t){for(var n,e=-1,r=t.length,i=t[r-1],o=0;++e1&&ud(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}var fd=function(t){if((e=t.length)<3)return null;var n,e,r=new Array(e),i=new Array(e);for(n=0;n=0;--n)c.push(t[r[o[n]][2]]);for(n=+u;nu!=c>u&&a<(s-e)*(u-r)/(c-r)+e&&(f=!f),s=e,c=r;return f},hd=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],a=o[0],u=o[1],s=0;++r1);return t+e*o*Math.sqrt(-2*Math.log(i)/i)}}return e.source=t,e}(pd),yd=function t(n){function e(){var t=vd.source(n).apply(this,arguments);return function(){return Math.exp(t())}}return e.source=t,e}(pd),md=function t(n){function e(t){return function(){for(var e=0,r=0;rr&&(n=e,e=r,r=n),function(t){return Math.max(e,Math.min(r,t))}}function $d(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i2?Ld:$d,i=o=null,l}function l(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,s)))(t(c(n)))}return l.invert=function(e){return c(n((o||(o=r(u,a.map(t),Re)))(e)))},l.domain=function(t){return arguments.length?(a=Md.call(t,Od),c===jd||(c=Dd(a)),f()):a.slice()},l.range=function(t){return arguments.length?(u=Nd.call(t),f()):u.slice()},l.rangeRound=function(t){return u=Nd.call(t),s=Ze,f()},l.clamp=function(t){return arguments.length?(c=t?Dd(a):jd,l):c!==jd},l.interpolate=function(t){return arguments.length?(s=t,f()):s},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,r){return t=e,n=r,f()}}function Rd(t,n){return Fd()(t,n)}var Ud=function(t,n,e,r){var i,o=A(t,n,e);switch((r=Uu(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=ts(o,a))||(r.precision=i),Wu(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=ns(o,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=Gu(o))||(r.precision=i-2*("%"===r.type))}return Hu(r)};function zd(t){var n=t.domain;return t.ticks=function(t){var e=n();return E(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Ud(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],s=i[a];return s0?r=S(u=Math.floor(u/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=S(u=Math.ceil(u*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(s/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(s*r)/r,n(i)),t},t}function Bd(){var t=Rd(jd,jd);return t.copy=function(){return Id(t,Bd())},wd.apply(t,arguments),zd(t)}function qd(t){var n;function e(t){return isNaN(t=+t)?n:t}return e.invert=e,e.domain=e.range=function(n){return arguments.length?(t=Md.call(n,Od),e):t.slice()},e.unknown=function(t){return arguments.length?(n=t,e):n},e.copy=function(){return qd(t).unknown(n)},t=arguments.length?Md.call(t,Od):[0,1],zd(e)}var Hd=function(t,n){var e,r=0,i=(t=t.slice()).length-1,o=t[r],a=t[i];return a0){for(;hs)break;v.push(l)}}else for(;h
=1;--f)if(!((l=c*f)s)break;v.push(l)}}else v=E(h,p,Math.min(p-h,d)).map(e);return r?v.reverse():v},r.tickFormat=function(t,i){if(null==i&&(i=10===o?".0e":","),"function"!=typeof i&&(i=Hu(i)),t===1/0)return i;null==t&&(t=10);var a=Math.max(1,o*t/r.ticks().length);return function(t){var r=t/e(Math.round(n(t)));return r*o0?i[r-1]:n[0],r=r?[i[r-1],e]:[i[a-1],i[a]]},a.unknown=function(n){return arguments.length?(t=n,a):a},a.thresholds=function(){return i.slice()},a.copy=function(){return fv().domain([n,e]).range(o).unknown(t)},wd.apply(zd(a),arguments)}function lv(){var t,n=[.5],e=[0,1],r=1;function i(i){return i<=i?e[s(n,i,0,r)]:t}return i.domain=function(t){return arguments.length?(n=Nd.call(t),r=Math.min(n.length,e.length-1),i):n.slice()},i.range=function(t){return arguments.length?(e=Nd.call(t),r=Math.min(n.length,e.length-1),i):e.slice()},i.invertExtent=function(t){var r=e.indexOf(t);return[n[r-1],n[r]]},i.unknown=function(n){return arguments.length?(t=n,i):t},i.copy=function(){return lv().domain(n).range(e).unknown(t)},wd.apply(i,arguments)}var hv=new Date,pv=new Date;function dv(t,n,e,r){function i(n){return t(n=new Date(+n)),n}return i.floor=i,i.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},i.round=function(t){var n=i(t),e=i.ceil(t);return t-n0))return u;do{u.push(a=new Date(+e)),n(e,o),t(e)}while(a=n)for(;t(n),!e(n);)n.setTime(n-1)},function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;n(t,-1),!e(t););else for(;--r>=0;)for(;n(t,1),!e(t););})},e&&(i.count=function(n,r){return hv.setTime(+n),pv.setTime(+r),t(hv),t(pv),Math.floor(e(hv,pv))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(n){return r(n)%t==0}:function(n){return i.count(0,n)%t==0}):i:null}),i}var vv=dv(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});vv.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?dv(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):vv:null};var yv=vv,mv=vv.range,gv=6e4,bv=6048e5,wv=dv(function(t){t.setTime(t-t.getMilliseconds())},function(t,n){t.setTime(+t+1e3*n)},function(t,n){return(n-t)/1e3},function(t){return t.getUTCSeconds()}),xv=wv,_v=wv.range,Mv=dv(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())},function(t,n){t.setTime(+t+n*gv)},function(t,n){return(n-t)/gv},function(t){return t.getMinutes()}),Nv=Mv,kv=Mv.range,Ev=dv(function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-t.getMinutes()*gv)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getHours()}),Sv=Ev,Av=Ev.range,Tv=dv(function(t){t.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*gv)/864e5},function(t){return t.getDate()-1}),Ov=Tv,Cv=Tv.range;function jv(t){return dv(function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)},function(t,n){t.setDate(t.getDate()+7*n)},function(t,n){return(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*gv)/bv})}var Pv=jv(0),Dv=jv(1),$v=jv(2),Lv=jv(3),Iv=jv(4),Fv=jv(5),Rv=jv(6),Uv=Pv.range,zv=Dv.range,Bv=$v.range,qv=Lv.range,Hv=Iv.range,Wv=Fv.range,Jv=Rv.range,Yv=dv(function(t){t.setDate(1),t.setHours(0,0,0,0)},function(t,n){t.setMonth(t.getMonth()+n)},function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())},function(t){return t.getMonth()}),Xv=Yv,Vv=Yv.range,Kv=dv(function(t){t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t,n){return n.getFullYear()-t.getFullYear()},function(t){return t.getFullYear()});Kv.every=function(t){return isFinite(t=Math.floor(t))&&t>0?dv(function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)},function(n,e){n.setFullYear(n.getFullYear()+e*t)}):null};var Zv=Kv,Qv=Kv.range,Gv=dv(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*gv)},function(t,n){return(n-t)/gv},function(t){return t.getUTCMinutes()}),ty=Gv,ny=Gv.range,ey=dv(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+36e5*n)},function(t,n){return(n-t)/36e5},function(t){return t.getUTCHours()}),ry=ey,iy=ey.range,oy=dv(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/864e5},function(t){return t.getUTCDate()-1}),ay=oy,uy=oy.range;function sy(t){return dv(function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+7*n)},function(t,n){return(n-t)/bv})}var cy=sy(0),fy=sy(1),ly=sy(2),hy=sy(3),py=sy(4),dy=sy(5),vy=sy(6),yy=cy.range,my=fy.range,gy=ly.range,by=hy.range,wy=py.range,xy=dy.range,_y=vy.range,My=dv(function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCMonth(t.getUTCMonth()+n)},function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())},function(t){return t.getUTCMonth()}),Ny=My,ky=My.range,Ey=dv(function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)},function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()},function(t){return t.getUTCFullYear()});Ey.every=function(t){return isFinite(t=Math.floor(t))&&t>0?dv(function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)}):null};var Sy=Ey,Ay=Ey.range;function Ty(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Oy(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Cy(t){return{y:t,m:0,d:1,H:0,M:0,S:0,L:0}}function jy(t){var n=t.dateTime,e=t.date,r=t.time,i=t.periods,o=t.days,a=t.shortDays,u=t.months,s=t.shortMonths,c=Hy(i),f=Wy(i),l=Hy(o),h=Wy(o),p=Hy(a),d=Wy(a),v=Hy(u),y=Wy(u),m=Hy(s),g=Wy(s),b={a:function(t){return a[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return s[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:lm,e:lm,f:ym,H:hm,I:pm,j:dm,L:vm,m:mm,M:gm,p:function(t){return i[+(t.getHours()>=12)]},Q:Jm,s:Ym,S:bm,u:wm,U:xm,V:_m,w:Mm,W:Nm,x:null,X:null,y:km,Y:Em,Z:Sm,"%":Wm},w={a:function(t){return a[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return s[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Am,e:Am,f:Pm,H:Tm,I:Om,j:Cm,L:jm,m:Dm,M:$m,p:function(t){return i[+(t.getUTCHours()>=12)]},Q:Jm,s:Ym,S:Lm,u:Im,U:Fm,V:Rm,w:Um,W:zm,x:null,X:null,y:Bm,Y:qm,Z:Hm,"%":Wm},x={a:function(t,n,e){var r=p.exec(n.slice(e));return r?(t.w=d[r[0].toLowerCase()],e+r[0].length):-1},A:function(t,n,e){var r=l.exec(n.slice(e));return r?(t.w=h[r[0].toLowerCase()],e+r[0].length):-1},b:function(t,n,e){var r=m.exec(n.slice(e));return r?(t.m=g[r[0].toLowerCase()],e+r[0].length):-1},B:function(t,n,e){var r=v.exec(n.slice(e));return r?(t.m=y[r[0].toLowerCase()],e+r[0].length):-1},c:function(t,e,r){return N(t,n,e,r)},d:nm,e:nm,f:um,H:rm,I:rm,j:em,L:am,m:tm,M:im,p:function(t,n,e){var r=c.exec(n.slice(e));return r?(t.p=f[r[0].toLowerCase()],e+r[0].length):-1},Q:cm,s:fm,S:om,u:Yy,U:Xy,V:Vy,w:Jy,W:Ky,x:function(t,n,r){return N(t,e,n,r)},X:function(t,n,e){return N(t,r,n,e)},y:Qy,Y:Zy,Z:Gy,"%":sm};function _(t,n){return function(e){var r,i,o,a=[],u=-1,s=0,c=t.length;for(e instanceof Date||(e=new Date(+e));++u53)return null;"w"in o||(o.w=1),"Z"in o?(r=(i=(r=Oy(Cy(o.y))).getUTCDay())>4||0===i?fy.ceil(r):fy(r),r=ay.offset(r,7*(o.V-1)),o.y=r.getUTCFullYear(),o.m=r.getUTCMonth(),o.d=r.getUTCDate()+(o.w+6)%7):(r=(i=(r=n(Cy(o.y))).getDay())>4||0===i?Dv.ceil(r):Dv(r),r=Ov.offset(r,7*(o.V-1)),o.y=r.getFullYear(),o.m=r.getMonth(),o.d=r.getDate()+(o.w+6)%7)}else("W"in o||"U"in o)&&("w"in o||(o.w="u"in o?o.u%7:"W"in o?1:0),i="Z"in o?Oy(Cy(o.y)).getUTCDay():n(Cy(o.y)).getDay(),o.m=0,o.d="W"in o?(o.w+6)%7+7*o.W-(i+5)%7:o.w+7*o.U-(i+6)%7);return"Z"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Oy(o)):n(o)}}function N(t,n,e,r){for(var i,o,a=0,u=n.length,s=e.length;a=s)return-1;if(37===(i=n.charCodeAt(a++))){if(i=n.charAt(a++),!(o=x[i in Fy?n.charAt(a++):i])||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}return b.x=_(e,b),b.X=_(r,b),b.c=_(n,b),w.x=_(e,w),w.X=_(r,w),w.c=_(n,w),{format:function(t){var n=_(t+="",b);return n.toString=function(){return t},n},parse:function(t){var n=M(t+="",Ty);return n.toString=function(){return t},n},utcFormat:function(t){var n=_(t+="",w);return n.toString=function(){return t},n},utcParse:function(t){var n=M(t,Oy);return n.toString=function(){return t},n}}}var Py,Dy,$y,Ly,Iy,Fy={"-":"",_:" ",0:"0"},Ry=/^\s*\d+/,Uy=/^%/,zy=/[\\^$*+?|[\]().{}]/g;function By(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o68?1900:2e3),e+r[0].length):-1}function Gy(t,n,e){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e,e+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),e+r[0].length):-1}function tm(t,n,e){var r=Ry.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function nm(t,n,e){var r=Ry.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function em(t,n,e){var r=Ry.exec(n.slice(e,e+3));return r?(t.m=0,t.d=+r[0],e+r[0].length):-1}function rm(t,n,e){var r=Ry.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function im(t,n,e){var r=Ry.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function om(t,n,e){var r=Ry.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function am(t,n,e){var r=Ry.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function um(t,n,e){var r=Ry.exec(n.slice(e,e+6));return r?(t.L=Math.floor(r[0]/1e3),e+r[0].length):-1}function sm(t,n,e){var r=Uy.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function cm(t,n,e){var r=Ry.exec(n.slice(e));return r?(t.Q=+r[0],e+r[0].length):-1}function fm(t,n,e){var r=Ry.exec(n.slice(e));return r?(t.Q=1e3*+r[0],e+r[0].length):-1}function lm(t,n){return By(t.getDate(),n,2)}function hm(t,n){return By(t.getHours(),n,2)}function pm(t,n){return By(t.getHours()%12||12,n,2)}function dm(t,n){return By(1+Ov.count(Zv(t),t),n,3)}function vm(t,n){return By(t.getMilliseconds(),n,3)}function ym(t,n){return vm(t,n)+"000"}function mm(t,n){return By(t.getMonth()+1,n,2)}function gm(t,n){return By(t.getMinutes(),n,2)}function bm(t,n){return By(t.getSeconds(),n,2)}function wm(t){var n=t.getDay();return 0===n?7:n}function xm(t,n){return By(Pv.count(Zv(t),t),n,2)}function _m(t,n){var e=t.getDay();return t=e>=4||0===e?Iv(t):Iv.ceil(t),By(Iv.count(Zv(t),t)+(4===Zv(t).getDay()),n,2)}function Mm(t){return t.getDay()}function Nm(t,n){return By(Dv.count(Zv(t),t),n,2)}function km(t,n){return By(t.getFullYear()%100,n,2)}function Em(t,n){return By(t.getFullYear()%1e4,n,4)}function Sm(t){var n=t.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+By(n/60|0,"0",2)+By(n%60,"0",2)}function Am(t,n){return By(t.getUTCDate(),n,2)}function Tm(t,n){return By(t.getUTCHours(),n,2)}function Om(t,n){return By(t.getUTCHours()%12||12,n,2)}function Cm(t,n){return By(1+ay.count(Sy(t),t),n,3)}function jm(t,n){return By(t.getUTCMilliseconds(),n,3)}function Pm(t,n){return jm(t,n)+"000"}function Dm(t,n){return By(t.getUTCMonth()+1,n,2)}function $m(t,n){return By(t.getUTCMinutes(),n,2)}function Lm(t,n){return By(t.getUTCSeconds(),n,2)}function Im(t){var n=t.getUTCDay();return 0===n?7:n}function Fm(t,n){return By(cy.count(Sy(t),t),n,2)}function Rm(t,n){var e=t.getUTCDay();return t=e>=4||0===e?py(t):py.ceil(t),By(py.count(Sy(t),t)+(4===Sy(t).getUTCDay()),n,2)}function Um(t){return t.getUTCDay()}function zm(t,n){return By(fy.count(Sy(t),t),n,2)}function Bm(t,n){return By(t.getUTCFullYear()%100,n,2)}function qm(t,n){return By(t.getUTCFullYear()%1e4,n,4)}function Hm(){return"+0000"}function Wm(){return"%"}function Jm(t){return+t}function Ym(t){return Math.floor(+t/1e3)}function Xm(t){return Py=jy(t),Dy=Py.format,$y=Py.parse,Ly=Py.utcFormat,Iy=Py.utcParse,Py}Xm({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Vm=Date.prototype.toISOString?function(t){return t.toISOString()}:Ly("%Y-%m-%dT%H:%M:%S.%LZ");var Km=+new Date("2000-01-01T00:00:00.000Z")?function(t){var n=new Date(t);return isNaN(n)?null:n}:Iy("%Y-%m-%dT%H:%M:%S.%LZ"),Zm=1e3,Qm=60*Zm,Gm=60*Qm,tg=24*Gm,ng=7*tg,eg=30*tg,rg=365*tg;function ig(t){return new Date(t)}function og(t){return t instanceof Date?+t:+new Date(+t)}function ag(t,n,e,r,o,a,u,s,c){var f=Rd(jd,jd),l=f.invert,h=f.domain,p=c(".%L"),d=c(":%S"),v=c("%I:%M"),y=c("%I %p"),m=c("%a %d"),g=c("%b %d"),b=c("%B"),w=c("%Y"),x=[[u,1,Zm],[u,5,5*Zm],[u,15,15*Zm],[u,30,30*Zm],[a,1,Qm],[a,5,5*Qm],[a,15,15*Qm],[a,30,30*Qm],[o,1,Gm],[o,3,3*Gm],[o,6,6*Gm],[o,12,12*Gm],[r,1,tg],[r,2,2*tg],[e,1,ng],[n,1,eg],[n,3,3*eg],[t,1,rg]];function _(i){return(u(i)1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return Ib.h=360*t-100,Ib.s=1.5-1.5*n,Ib.l=.8-.9*n,Ib+""},Rb=qn(),Ub=Math.PI/3,zb=2*Math.PI/3,Bb=function(t){var n;return t=(.5-t)*Math.PI,Rb.r=255*(n=Math.sin(t))*n,Rb.g=255*(n=Math.sin(t+Ub))*n,Rb.b=255*(n=Math.sin(t+zb))*n,Rb+""};function qb(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}}var Hb=qb(Mg("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Wb=qb(Mg("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Jb=qb(Mg("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Yb=qb(Mg("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),Xb=function(t){return function(){return t}},Vb=Math.abs,Kb=Math.atan2,Zb=Math.cos,Qb=Math.max,Gb=Math.min,tw=Math.sin,nw=Math.sqrt,ew=1e-12,rw=Math.PI,iw=rw/2,ow=2*rw;function aw(t){return t>=1?iw:t<=-1?-iw:Math.asin(t)}function uw(t){return t.innerRadius}function sw(t){return t.outerRadius}function cw(t){return t.startAngle}function fw(t){return t.endAngle}function lw(t){return t&&t.padAngle}function hw(t,n,e,r,i,o,a){var u=t-e,s=n-r,c=(a?o:-o)/nw(u*u+s*s),f=c*s,l=-c*u,h=t+f,p=n+l,d=e+f,v=r+l,y=(h+d)/2,m=(p+v)/2,g=d-h,b=v-p,w=g*g+b*b,x=i-o,_=h*v-d*p,M=(b<0?-1:1)*nw(Qb(0,x*x*w-_*_)),N=(_*b-g*M)/w,k=(-_*g-b*M)/w,E=(_*b+g*M)/w,S=(-_*g+b*M)/w,A=N-y,T=k-m,O=E-y,C=S-m;return A*A+T*T>O*O+C*C&&(N=E,k=S),{cx:N,cy:k,x01:-f,y01:-l,x11:N*(i/x-1),y11:k*(i/x-1)}}var pw=function(){var t=uw,n=sw,e=Xb(0),r=null,i=cw,o=fw,a=lw,u=null;function s(){var s,c,f,l=+t.apply(this,arguments),h=+n.apply(this,arguments),p=i.apply(this,arguments)-iw,d=o.apply(this,arguments)-iw,v=Vb(d-p),y=d>p;if(u||(u=s=zo()),hew)if(v>ow-ew)u.moveTo(h*Zb(p),h*tw(p)),u.arc(0,0,h,p,d,!y),l>ew&&(u.moveTo(l*Zb(d),l*tw(d)),u.arc(0,0,l,d,p,y));else{var m,g,b=p,w=d,x=p,_=d,M=v,N=v,k=a.apply(this,arguments)/2,E=k>ew&&(r?+r.apply(this,arguments):nw(l*l+h*h)),S=Gb(Vb(h-l)/2,+e.apply(this,arguments)),A=S,T=S;if(E>ew){var O=aw(E/l*tw(k)),C=aw(E/h*tw(k));(M-=2*O)>ew?(x+=O*=y?1:-1,_-=O):(M=0,x=_=(p+d)/2),(N-=2*C)>ew?(b+=C*=y?1:-1,w-=C):(N=0,b=w=(p+d)/2)}var j=h*Zb(b),P=h*tw(b),D=l*Zb(_),$=l*tw(_);if(S>ew){var L,I=h*Zb(w),F=h*tw(w),R=l*Zb(x),U=l*tw(x);if(v1?0:f<-1?rw:Math.acos(f))/2),J=nw(L[0]*L[0]+L[1]*L[1]);A=Gb(S,(l-J)/(W-1)),T=Gb(S,(h-J)/(W+1))}}N>ew?T>ew?(m=hw(R,U,j,P,h,T,y),g=hw(I,F,D,$,h,T,y),u.moveTo(m.cx+m.x01,m.cy+m.y01),Tew&&M>ew?A>ew?(m=hw(D,$,I,F,l,-A,y),g=hw(j,P,R,U,l,-A,y),u.lineTo(m.cx+m.x01,m.cy+m.y01),A=f;--l)u.point(y[l],m[l]);u.lineEnd(),u.areaEnd()}v&&(y[c]=+t(h,c,s),m[c]=+e(h,c,s),u.point(n?+n(h,c,s):y[c],r?+r(h,c,s):m[c]))}if(p)return u=null,p+""||null}function c(){return gw().defined(i).curve(a).context(o)}return s.x=function(e){return arguments.length?(t="function"==typeof e?e:Xb(+e),n=null,s):t},s.x0=function(n){return arguments.length?(t="function"==typeof n?n:Xb(+n),s):t},s.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:Xb(+t),s):n},s.y=function(t){return arguments.length?(e="function"==typeof t?t:Xb(+t),r=null,s):e},s.y0=function(t){return arguments.length?(e="function"==typeof t?t:Xb(+t),s):e},s.y1=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Xb(+t),s):r},s.lineX0=s.lineY0=function(){return c().x(t).y(e)},s.lineY1=function(){return c().x(t).y(r)},s.lineX1=function(){return c().x(n).y(e)},s.defined=function(t){return arguments.length?(i="function"==typeof t?t:Xb(!!t),s):i},s.curve=function(t){return arguments.length?(a=t,null!=o&&(u=a(o)),s):a},s.context=function(t){return arguments.length?(null==t?o=u=null:u=a(o=t),s):o},s},ww=function(t,n){return nt?1:n>=t?0:NaN},xw=function(t){return t},_w=function(){var t=xw,n=ww,e=null,r=Xb(0),i=Xb(ow),o=Xb(0);function a(a){var u,s,c,f,l,h=a.length,p=0,d=new Array(h),v=new Array(h),y=+r.apply(this,arguments),m=Math.min(ow,Math.max(-ow,i.apply(this,arguments)-y)),g=Math.min(Math.abs(m)/h,o.apply(this,arguments)),b=g*(m<0?-1:1);for(u=0;u0&&(p+=l);for(null!=n?d.sort(function(t,e){return n(v[t],v[e])}):null!=e&&d.sort(function(t,n){return e(a[t],a[n])}),u=0,c=p?(m-h*b)/p:0;u0?l*c:0)+b,v[s]={data:a[s],index:u,value:l,startAngle:y,endAngle:f,padAngle:g};return v}return a.value=function(n){return arguments.length?(t="function"==typeof n?n:Xb(+n),a):t},a.sortValues=function(t){return arguments.length?(n=t,e=null,a):n},a.sort=function(t){return arguments.length?(e=t,n=null,a):e},a.startAngle=function(t){return arguments.length?(r="function"==typeof t?t:Xb(+t),a):r},a.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:Xb(+t),a):i},a.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:Xb(+t),a):o},a},Mw=kw(vw);function Nw(t){this._curve=t}function kw(t){function n(n){return new Nw(t(n))}return n._curve=t,n}function Ew(t){var n=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?n(kw(t)):n()._curve},t}Nw.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,n){this._curve.point(n*Math.sin(t),n*-Math.cos(t))}};var Sw=function(){return Ew(gw().curve(Mw))},Aw=function(){var t=bw().curve(Mw),n=t.curve,e=t.lineX0,r=t.lineX1,i=t.lineY0,o=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Ew(e())},delete t.lineX0,t.lineEndAngle=function(){return Ew(r())},delete t.lineX1,t.lineInnerRadius=function(){return Ew(i())},delete t.lineY0,t.lineOuterRadius=function(){return Ew(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(kw(t)):n()._curve},t},Tw=function(t,n){return[(n=+n)*Math.cos(t-=Math.PI/2),n*Math.sin(t)]},Ow=Array.prototype.slice;function Cw(t){return t.source}function jw(t){return t.target}function Pw(t){var n=Cw,e=jw,r=yw,i=mw,o=null;function a(){var a,u=Ow.call(arguments),s=n.apply(this,u),c=e.apply(this,u);if(o||(o=a=zo()),t(o,+r.apply(this,(u[0]=s,u)),+i.apply(this,u),+r.apply(this,(u[0]=c,u)),+i.apply(this,u)),a)return o=null,a+""||null}return a.source=function(t){return arguments.length?(n=t,a):n},a.target=function(t){return arguments.length?(e=t,a):e},a.x=function(t){return arguments.length?(r="function"==typeof t?t:Xb(+t),a):r},a.y=function(t){return arguments.length?(i="function"==typeof t?t:Xb(+t),a):i},a.context=function(t){return arguments.length?(o=null==t?null:t,a):o},a}function Dw(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n=(n+r)/2,e,n,i,r,i)}function $w(t,n,e,r,i){t.moveTo(n,e),t.bezierCurveTo(n,e=(e+i)/2,r,e,r,i)}function Lw(t,n,e,r,i){var o=Tw(n,e),a=Tw(n,e=(e+i)/2),u=Tw(r,e),s=Tw(r,i);t.moveTo(o[0],o[1]),t.bezierCurveTo(a[0],a[1],u[0],u[1],s[0],s[1])}function Iw(){return Pw(Dw)}function Fw(){return Pw($w)}function Rw(){var t=Pw(Lw);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}var Uw={draw:function(t,n){var e=Math.sqrt(n/rw);t.moveTo(e,0),t.arc(0,0,e,0,ow)}},zw={draw:function(t,n){var e=Math.sqrt(n/5)/2;t.moveTo(-3*e,-e),t.lineTo(-e,-e),t.lineTo(-e,-3*e),t.lineTo(e,-3*e),t.lineTo(e,-e),t.lineTo(3*e,-e),t.lineTo(3*e,e),t.lineTo(e,e),t.lineTo(e,3*e),t.lineTo(-e,3*e),t.lineTo(-e,e),t.lineTo(-3*e,e),t.closePath()}},Bw=Math.sqrt(1/3),qw=2*Bw,Hw={draw:function(t,n){var e=Math.sqrt(n/qw),r=e*Bw;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},Ww=Math.sin(rw/10)/Math.sin(7*rw/10),Jw=Math.sin(ow/10)*Ww,Yw=-Math.cos(ow/10)*Ww,Xw={draw:function(t,n){var e=Math.sqrt(.8908130915292852*n),r=Jw*e,i=Yw*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var a=ow*o/5,u=Math.cos(a),s=Math.sin(a);t.lineTo(s*e,-u*e),t.lineTo(u*r-s*i,s*r+u*i)}t.closePath()}},Vw={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},Kw=Math.sqrt(3),Zw={draw:function(t,n){var e=-Math.sqrt(n/(3*Kw));t.moveTo(0,2*e),t.lineTo(-Kw*e,-e),t.lineTo(Kw*e,-e),t.closePath()}},Qw=Math.sqrt(3)/2,Gw=1/Math.sqrt(12),tx=3*(Gw/2+1),nx={draw:function(t,n){var e=Math.sqrt(n/tx),r=e/2,i=e*Gw,o=r,a=e*Gw+e,u=-o,s=a;t.moveTo(r,i),t.lineTo(o,a),t.lineTo(u,s),t.lineTo(-.5*r-Qw*i,Qw*r+-.5*i),t.lineTo(-.5*o-Qw*a,Qw*o+-.5*a),t.lineTo(-.5*u-Qw*s,Qw*u+-.5*s),t.lineTo(-.5*r+Qw*i,-.5*i-Qw*r),t.lineTo(-.5*o+Qw*a,-.5*a-Qw*o),t.lineTo(-.5*u+Qw*s,-.5*s-Qw*u),t.closePath()}},ex=[Uw,zw,Hw,Vw,Xw,Zw,nx],rx=function(){var t=Xb(Uw),n=Xb(64),e=null;function r(){var r;if(e||(e=r=zo()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),r)return e=null,r+""||null}return r.type=function(n){return arguments.length?(t="function"==typeof n?n:Xb(n),r):t},r.size=function(t){return arguments.length?(n="function"==typeof t?t:Xb(+t),r):n},r.context=function(t){return arguments.length?(e=null==t?null:t,r):e},r},ix=function(){};function ox(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function ax(t){this._context=t}ax.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ox(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ox(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var ux=function(t){return new ax(t)};function sx(t){this._context=t}sx.prototype={areaStart:ix,areaEnd:ix,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:ox(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var cx=function(t){return new sx(t)};function fx(t){this._context=t}fx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break;case 3:this._point=4;default:ox(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var lx=function(t){return new fx(t)};function hx(t,n){this._basis=new ax(t),this._beta=n}hx.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var r,i=t[0],o=n[0],a=t[e]-i,u=n[e]-o,s=-1;++s<=e;)r=s/e,this._basis.point(this._beta*t[s]+(1-this._beta)*(i+r*a),this._beta*n[s]+(1-this._beta)*(o+r*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var px=function t(n){function e(t){return 1===n?new ax(t):new hx(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function dx(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function vx(t,n){this._context=t,this._k=(1-n)/6}vx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dx(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:dx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var yx=function t(n){function e(t){return new vx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function mx(t,n){this._context=t,this._k=(1-n)/6}mx.prototype={areaStart:ix,areaEnd:ix,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:dx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var gx=function t(n){function e(t){return new mx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function bx(t,n){this._context=t,this._k=(1-n)/6}bx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dx(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var wx=function t(n){function e(t){return new bx(t,n)}return e.tension=function(n){return t(+n)},e}(0);function xx(t,n,e){var r=t._x1,i=t._y1,o=t._x2,a=t._y2;if(t._l01_a>ew){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,s=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/s,i=(i*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/s}if(t._l23_a>ew){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,f=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*c+t._x1*t._l23_2a-n*t._l12_2a)/f,a=(a*c+t._y1*t._l23_2a-e*t._l12_2a)/f}t._context.bezierCurveTo(r,i,o,a,t._x2,t._y2)}function _x(t,n){this._context=t,this._alpha=n}_x.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:xx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Mx=function t(n){function e(t){return n?new _x(t,n):new vx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Nx(t,n){this._context=t,this._alpha=n}Nx.prototype={areaStart:ix,areaEnd:ix,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:xx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var kx=function t(n){function e(t){return n?new Nx(t,n):new mx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Ex(t,n){this._context=t,this._alpha=n}Ex.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,r=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xx(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var Sx=function t(n){function e(t){return n?new Ex(t,n):new bx(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function Ax(t){this._context=t}Ax.prototype={areaStart:ix,areaEnd:ix,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}};var Tx=function(t){return new Ax(t)};function Ox(t){return t<0?-1:1}function Cx(t,n,e){var r=t._x1-t._x0,i=n-t._x1,o=(t._y1-t._y0)/(r||i<0&&-0),a=(e-t._y1)/(i||r<0&&-0),u=(o*i+a*r)/(r+i);return(Ox(o)+Ox(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(u))||0}function jx(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Px(t,n,e){var r=t._x0,i=t._y0,o=t._x1,a=t._y1,u=(o-r)/3;t._context.bezierCurveTo(r+u,i+u*n,o-u,a-u*e,o,a)}function Dx(t){this._context=t}function $x(t){this._context=new Lx(t)}function Lx(t){this._context=t}function Ix(t){return new Dx(t)}function Fx(t){return new $x(t)}function Rx(t){this._context=t}function Ux(t){var n,e,r=t.length-1,i=new Array(r),o=new Array(r),a=new Array(r);for(i[0]=0,o[0]=2,a[0]=t[0]+2*t[1],n=1;n=0;--n)i[n]=(a[n]-i[n+1])/o[n];for(o[r-1]=(t[r]+i[r-1])/2,n=0;n=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};var qx=function(t){return new Bx(t,.5)};function Hx(t){return new Bx(t,0)}function Wx(t){return new Bx(t,1)}var Jx=function(t,n){if((i=t.length)>1)for(var e,r,i,o=1,a=t[n[0]],u=a.length;o=0;)e[n]=n;return e};function Xx(t,n){return t[n]}var Vx=function(){var t=Xb([]),n=Yx,e=Jx,r=Xx;function i(i){var o,a,u=t.apply(this,arguments),s=i.length,c=u.length,f=new Array(c);for(o=0;o0){for(var e,r,i,o=0,a=t[0].length;o1)for(var e,r,i,o,a,u,s=0,c=t[n[0]].length;s=0?(r[0]=o,r[1]=o+=i):i<0?(r[1]=a,r[0]=a+=i):r[0]=o},Qx=function(t,n){if((e=t.length)>0){for(var e,r=0,i=t[n[0]],o=i.length;r0&&(r=(e=t[n[0]]).length)>0){for(var e,r,i,o=0,a=1;ao&&(o=n,r=e);return r}var e_=function(t){var n=t.map(r_);return Yx(t).sort(function(t,e){return n[t]-n[e]})};function r_(t){for(var n,e=0,r=-1,i=t.length;++r0)){if(o/=h,h<0){if(o0){if(o>l)return;o>f&&(f=o)}if(o=r-s,h||!(o<0)){if(o/=h,h<0){if(o>l)return;o>f&&(f=o)}else if(h>0){if(o0)){if(o/=p,p<0){if(o0){if(o>l)return;o>f&&(f=o)}if(o=i-c,p||!(o<0)){if(o/=p,p<0){if(o>l)return;o>f&&(f=o)}else if(p>0){if(o0||l<1)||(f>0&&(t[0]=[s+f*h,c+f*p]),l<1&&(t[1]=[s+l*h,c+l*p]),!0)}}}}}function w_(t,n,e,r,i){var o=t[1];if(o)return!0;var a,u,s=t[0],c=t.left,f=t.right,l=c[0],h=c[1],p=f[0],d=f[1],v=(l+p)/2,y=(h+d)/2;if(d===h){if(v