=f.length)return null!=r?r(n):null!=e?n.sort(e):n;for(var c,s,l,h=-1,p=n.length,d=f[i++],v=o(),_=u();++hf.length)return t;var i,o=l[e-1];return null!=r&&e>=f.length?i=t.entries():(i=[],t.each(function(t,r){i.push({key:r,values:n(t,e)})})),null!=o?i.sort(function(t,n){return o(t.key,n.key)}):i}var e,r,i,f=[],l=[];return i={object:function(n){return t(n,0,u,a)},map:function(n){return t(n,0,c,s)},entries:function(e){return n(t(e,0,c,s),0)},key:function(t){return f.push(t),i},sortKeys:function(t){return l[f.length-1]=t,i},sortValues:function(t){return e=t,i},rollup:function(t){return r=t,i}}},af=o.prototype;f.prototype=l.prototype={constructor:f,has:af.has,add:function(t){return t+="",this[of+t]=t,this},remove:af.remove,clear:af.clear,values:af.keys,size:af.size,empty:af.empty,each:af.each};var cf=function(t){var n=[];for(var e in t)n.push(e);return n},sf=function(t){var n=[];for(var e in t)n.push(t[e]);return n},ff=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},lf=function(t,n){return t=null==t?0:+t,n=null==n?1:+n,1===arguments.length?(n=t,t=0):n-=t,function(){return Math.random()*n+t}},hf=function(t,n){var e,r;return t=null==t?0:+t,n=null==n?1:+n,function(){var i;if(null!=e)i=e,e=null;else do e=2*Math.random()-1,i=2*Math.random()-1,r=e*e+i*i;while(!r||r>1);return t+n*i*Math.sqrt(-2*Math.log(r)/r)}},pf=function(){var t=hf.apply(this,arguments);return function(){return Math.exp(t())}},df=function(t){return function(){for(var n=0,e=0;e=0;--n)s.push(t[r[o[n]][2]]);for(n=+a;na!=s>a&&u<(c-e)*(a-r)/(s-r)+e&&(f=!f),c=e,s=r;return f},$f=function(t){for(var n,e,r=-1,i=t.length,o=t[i-1],u=o[0],a=o[1],c=0;++rJf)if(Math.abs(f*a-c*s)>Jf&&i){var h=e-o,p=r-u,d=a*a+c*c,v=h*h+p*p,_=Math.sqrt(d),y=Math.sqrt(l),g=i*Math.tan((Zf-Math.acos((d+l-v)/(2*_*y)))/2),m=g/y,x=g/_;Math.abs(m-1)>Jf&&this._.push("L",t+m*s,",",n+m*f),this._.push("A",i,",",i,",0,0,",+(f*h>s*p),",",this._x1=t+x*a,",",this._y1=n+x*c)}else this._.push("L",this._x1=t,",",this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,e=+e;var u=e*Math.cos(r),a=e*Math.sin(r),c=t+u,s=n+a,f=1^o,l=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._.push("M",c,",",s):(Math.abs(this._x1-c)>Jf||Math.abs(this._y1-s)>Jf)&&this._.push("L",c,",",s),e&&(l>Qf?this._.push("A",e,",",e,",0,1,",f,",",t-u,",",n-a,"A",e,",",e,",0,1,",f,",",this._x1=c,",",this._y1=s):(l<0&&(l=l%Gf+Gf),this._.push("A",e,",",e,",0,",+(l>=Zf),",",f,",",this._x1=t+e*Math.cos(i),",",this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._.push("M",this._x0=this._x1=+t,",",this._y0=this._y1=+n,"h",+e,"v",+r,"h",-e,"Z")},toString:function(){return this._.join("")}};var Kf=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t);return R(this.cover(n,e),n,e,t)},tl=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,o=(r=Math.floor(n))+1;else{if(!(e>t||t>i||r>n||n>o))return this;var u,a,c=i-e,s=this._root;switch(a=(n<(r+o)/2)<<1|t<(e+i)/2){case 0:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,o=r+c,t>i||n>o);break;case 1:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,o=r+c,e>t||n>o);break;case 2:do u=new Array(4),u[a]=s,s=u;while(c*=2,i=e+c,r=o-c,t>i||r>n);break;case 3:do u=new Array(4),u[a]=s,s=u;while(c*=2,e=i-c,r=o-c,e>t||r>n)}this._root&&this._root.length&&(this._root=s)}return this._x0=e,this._y0=r,this._x1=i,this._y1=o,this},nl=function(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t},el=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},rl=function(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i},il=function(t,n,e){var r,i,o,u,a,c,s,f=this._x0,l=this._y0,h=this._x1,p=this._y1,d=[],v=this._root;for(v&&d.push(new rl(v,f,l,h,p)),null==e?e=1/0:(f=t-e,l=n-e,h=t+e,p=n+e,e*=e);c=d.pop();)if(!(!(v=c.node)||(i=c.x0)>h||(o=c.y0)>p||(u=c.x1)=y)<<1|t>=_)&&(c=d[d.length-1],d[d.length-1]=d[d.length-1-s],d[d.length-1-s]=c)}else{var g=t-+this._x.call(null,v.data),m=n-+this._y.call(null,v.data),x=g*g+m*m;if(x=(a=(d+_)/2))?d=a:_=a,(f=u>=(c=(v+y)/2))?v=c:y=c,n=p,!(p=p[l=f<<1|s]))return this;if(!p.length)break;(n[l+1&3]||n[l+2&3]||n[l+3&3])&&(e=n,h=l)}for(;p.data!==t;)if(r=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,r?(i?r.next=i:delete r.next,this):n?(i?n[l]=i:delete n[l],(p=n[0]||n[1]||n[2]||n[3])&&p===(n[3]||n[2]||n[1]||n[0])&&!p.length&&(e?e[h]=p:this._root=p),this):(this._root=i,this)},ul=function(){return this._root},al=function(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t},cl=function(t){var n,e,r,i,o,u,a=[],c=this._root;for(c&&a.push(new rl(c,this._x0,this._y0,this._x1,this._y1));n=a.pop();)if(!t(c=n.node,r=n.x0,i=n.y0,o=n.x1,u=n.y1)&&c.length){var s=(r+o)/2,f=(i+u)/2;(e=c[3])&&a.push(new rl(e,s,f,o,u)),(e=c[2])&&a.push(new rl(e,r,f,s,u)),(e=c[1])&&a.push(new rl(e,s,i,o,f)),(e=c[0])&&a.push(new rl(e,r,i,s,f))}return this},sl=function(t){var n,e=[],r=[];for(this._root&&e.push(new rl(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var o,u=n.x0,a=n.y0,c=n.x1,s=n.y1,f=(u+c)/2,l=(a+s)/2;(o=i[0])&&e.push(new rl(o,u,a,f,l)),(o=i[1])&&e.push(new rl(o,f,a,c,l)),(o=i[2])&&e.push(new rl(o,u,l,f,s)),(o=i[3])&&e.push(new rl(o,f,l,c,s))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},fl=function(t){return arguments.length?(this._x=t,this):this._x},ll=function(t){return arguments.length?(this._y=t,this):this._y},hl=I.prototype=Y.prototype;hl.copy=function(){var t,n,e=new Y(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=B(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=B(n));return e},hl.add=Kf,hl.addAll=U,hl.cover=tl,hl.data=nl,hl.extent=el,hl.find=il,hl.remove=ol,hl.removeAll=D,hl.root=ul,hl.size=al,hl.visit=cl,hl.visitAfter=sl,hl.x=fl,hl.y=ll;var pl=[].slice,dl={};j.prototype=Z.prototype={constructor:j,defer:function(t){if("function"!=typeof t||this._call)throw new Error;if(null!=this._error)return this;var n=pl.call(arguments,1);return n.push(t),++this._waiting,this._tasks.push(n),H(this),this},abort:function(){return null==this._error&&W(this,new Error("abort")),this},await:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=function(n,e){t.apply(null,[n].concat(e))},$(this),this},awaitAll:function(t){if("function"!=typeof t||this._call)throw new Error;return this._call=t,$(this),this}};var vl=function(t){return function(){return t}},_l=1e-12,yl=Math.PI,gl=yl/2,ml=2*yl,xl=function(){function t(){var t,s,f=+n.apply(this,arguments),l=+e.apply(this,arguments),h=o.apply(this,arguments)-gl,p=u.apply(this,arguments)-gl,d=Math.abs(p-h),v=p>h;if(c||(c=t=L()),l_l)if(d>ml-_l)c.moveTo(l*Math.cos(h),l*Math.sin(h)),c.arc(0,0,l,h,p,!v),f>_l&&(c.moveTo(f*Math.cos(p),f*Math.sin(p)),c.arc(0,0,f,p,h,v));else{var _,y,g=h,m=p,x=h,b=p,w=d,M=d,T=a.apply(this,arguments)/2,N=T>_l&&(i?+i.apply(this,arguments):Math.sqrt(f*f+l*l)),k=Math.min(Math.abs(l-f)/2,+r.apply(this,arguments)),S=k,A=k;if(N>_l){var E=nt(N/f*Math.sin(T)),C=nt(N/l*Math.sin(T));(w-=2*E)>_l?(E*=v?1:-1,x+=E,b-=E):(w=0,x=b=(h+p)/2),(M-=2*C)>_l?(C*=v?1:-1,g+=C,m-=C):(M=0,g=m=(h+p)/2)}var z=l*Math.cos(g),P=l*Math.sin(g),q=f*Math.cos(b),R=f*Math.sin(b);if(k>_l){var U=l*Math.cos(m),D=l*Math.sin(m),O=f*Math.cos(x),F=f*Math.sin(x);if(d_l?et(z,P,O,F,U,D,q,R):[q,R],Y=z-I[0],B=P-I[1],j=U-I[0],H=D-I[1],X=1/Math.sin(Math.acos((Y*j+B*H)/(Math.sqrt(Y*Y+B*B)*Math.sqrt(j*j+H*H)))/2),V=Math.sqrt(I[0]*I[0]+I[1]*I[1]);S=Math.min(k,(f-V)/(X-1)),A=Math.min(k,(l-V)/(X+1))}}M>_l?A>_l?(_=rt(O,F,z,P,l,A,v),y=rt(U,D,q,R,l,A,v),c.moveTo(_.cx+_.x01,_.cy+_.y01),A_l&&w>_l?S>_l?(_=rt(q,R,U,D,f,-S,v),y=rt(z,P,O,F,f,-S,v),c.lineTo(_.cx+_.x01,_.cy+_.y01),S=f;--l)s.point(_[l],y[l]);s.lineEnd(),s.areaEnd()}v&&(_[n]=+e(h,n,t),y[n]=+i(h,n,t),s.point(r?+r(h,n,t):_[n],o?+o(h,n,t):y[n]))}if(p)return s=null,p+""||null}function n(){return wl().defined(u).curve(c).context(a)}var e=ot,r=null,i=vl(0),o=ut,u=vl(!0),a=null,c=bl,s=null;return t.x=function(n){return arguments.length?(e="function"==typeof n?n:vl(+n),r=null,t):e},t.x0=function(n){return arguments.length?(e="function"==typeof n?n:vl(+n),t):e},t.x1=function(n){return arguments.length?(r=null==n?null:"function"==typeof n?n:vl(+n),t):r},t.y=function(n){return arguments.length?(i="function"==typeof n?n:vl(+n),o=null,t):i},t.y0=function(n){return arguments.length?(i="function"==typeof n?n:vl(+n),t):i},t.y1=function(n){return arguments.length?(o=null==n?null:"function"==typeof n?n:vl(+n),t):o},t.lineX0=t.lineY0=function(){return n().x(e).y(i)},t.lineY1=function(){return n().x(e).y(o)},t.lineX1=function(){return n().x(r).y(i)},t.defined=function(n){return arguments.length?(u="function"==typeof n?n:vl(!!n),t):u},t.curve=function(n){return arguments.length?(c=n,null!=a&&(s=c(a)),t):c},t.context=function(n){return arguments.length?(null==n?a=s=null:s=c(a=n),t):a},t},Tl=function(t,n){return nt?1:n>=t?0:NaN},Nl=function(t){return t},kl=function(){function t(t){var a,c,s,f,l,h=t.length,p=0,d=new Array(h),v=new Array(h),_=+i.apply(this,arguments),y=Math.min(ml,Math.max(-ml,o.apply(this,arguments)-_)),g=Math.min(Math.abs(y)/h,u.apply(this,arguments)),m=g*(y<0?-1:1);for(a=0;a0&&(p+=l);for(null!=e?d.sort(function(t,n){return e(v[t],v[n])}):null!=r&&d.sort(function(n,e){return r(t[n],t[e])}),a=0,s=p?(y-h*m)/p:0;a0?l*s:0)+m,v[c]={data:t[c],index:a,value:l,startAngle:_,endAngle:f,padAngle:g};return v}var n=Nl,e=Tl,r=null,i=vl(0),o=vl(ml),u=vl(0);return t.value=function(e){return arguments.length?(n="function"==typeof e?e:vl(+e),t):n},t.sortValues=function(n){return arguments.length?(e=n,r=null,t):e},t.sort=function(n){return arguments.length?(r=n,e=null,t):r},t.startAngle=function(n){return arguments.length?(i="function"==typeof n?n:vl(+n),t):i},t.endAngle=function(n){return arguments.length?(o="function"==typeof n?n:vl(+n),t):o},t.padAngle=function(n){return arguments.length?(u="function"==typeof n?n:vl(+n),t):u},t},Sl=ct(bl);at.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 Al=function(){return st(wl().curve(Sl))},El=function(){var t=Ml().curve(Sl),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 st(e())},delete t.lineX0,t.lineEndAngle=function(){return st(r())},delete t.lineX1,t.lineInnerRadius=function(){return st(i())},delete t.lineY0,t.lineOuterRadius=function(){return st(o())},delete t.lineY1,t.curve=function(t){return arguments.length?n(ct(t)):n()._curve},t},Cl={draw:function(t,n){var e=Math.sqrt(n/yl);t.moveTo(e,0),t.arc(0,0,e,0,ml)}},zl={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()}},Pl=Math.sqrt(1/3),ql=2*Pl,Ll={draw:function(t,n){var e=Math.sqrt(n/ql),r=e*Pl;t.moveTo(0,-e),t.lineTo(r,0),t.lineTo(0,e),t.lineTo(-r,0),t.closePath()}},Rl=.8908130915292852,Ul=Math.sin(yl/10)/Math.sin(7*yl/10),Dl=Math.sin(ml/10)*Ul,Ol=-Math.cos(ml/10)*Ul,Fl={draw:function(t,n){var e=Math.sqrt(n*Rl),r=Dl*e,i=Ol*e;t.moveTo(0,-e),t.lineTo(r,i);for(var o=1;o<5;++o){var u=ml*o/5,a=Math.cos(u),c=Math.sin(u);t.lineTo(c*e,-a*e),t.lineTo(a*r-c*i,c*r+a*i)}t.closePath()}},Il={draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},Yl=Math.sqrt(3),Bl={draw:function(t,n){var e=-Math.sqrt(n/(3*Yl));t.moveTo(0,2*e),t.lineTo(-Yl*e,-e),t.lineTo(Yl*e,-e),t.closePath()}},jl=-.5,Hl=Math.sqrt(3)/2,Xl=1/Math.sqrt(12),Vl=3*(Xl/2+1),Wl={draw:function(t,n){var e=Math.sqrt(n/Vl),r=e/2,i=e*Xl,o=r,u=e*Xl+e,a=-o,c=u;t.moveTo(r,i),t.lineTo(o,u),t.lineTo(a,c),t.lineTo(jl*r-Hl*i,Hl*r+jl*i),t.lineTo(jl*o-Hl*u,Hl*o+jl*u),t.lineTo(jl*a-Hl*c,Hl*a+jl*c),t.lineTo(jl*r+Hl*i,jl*i-Hl*r),t.lineTo(jl*o+Hl*u,jl*u-Hl*o),t.lineTo(jl*a+Hl*c,jl*c-Hl*a),t.closePath()}},$l=[Cl,zl,Ll,Il,Fl,Bl,Wl],Zl=function(){function t(){var t;if(r||(r=t=L()),n.apply(this,arguments).draw(r,+e.apply(this,arguments)),t)return r=null,t+""||null}var n=vl(Cl),e=vl(64),r=null;return t.type=function(e){return arguments.length?(n="function"==typeof e?e:vl(e),t):n},t.size=function(n){return arguments.length?(e="function"==typeof n?n:vl(+n),t):e},t.context=function(n){return arguments.length?(r=null==n?null:n,t):r},t},Gl=function(){};lt.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:ft(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:ft(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Jl=function(t){return new lt(t)};ht.prototype={areaStart:Gl,areaEnd:Gl,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:ft(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Ql=function(t){return new ht(t)};pt.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:ft(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}};var Kl=function(t){return new pt(t)};dt.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],u=t[e]-i,a=n[e]-o,c=-1;++c<=e;)r=c/e,this._basis.point(this._beta*t[c]+(1-this._beta)*(i+r*u),this._beta*n[c]+(1-this._beta)*(o+r*a));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var th=function t(n){function e(t){return 1===n?new lt(t):new dt(t,n)}return e.beta=function(n){return t(+n)},e}(.85);_t.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:vt(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:vt(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 nh=function t(n){function e(t){return new _t(t,n)}return e.tension=function(n){return t(+n)},e}(0);yt.prototype={areaStart:Gl,areaEnd:Gl,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:vt(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 eh=function t(n){function e(t){return new yt(t,n)}return e.tension=function(n){return t(+n)},e}(0);gt.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:vt(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 rh=function t(n){function e(t){return new gt(t,n)}return e.tension=function(n){return t(+n)},e}(0);xt.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:mt(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 ih=function t(n){function e(t){return n?new xt(t,n):new _t(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);bt.prototype={areaStart:Gl,areaEnd:Gl,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:mt(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 oh=function t(n){function e(t){return n?new bt(t,n):new yt(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);wt.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:mt(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 uh=function t(n){function e(t){return n?new wt(t,n):new gt(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);Mt.prototype={areaStart:Gl,areaEnd:Gl,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 ah=function(t){return new Mt(t)};At.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:St(this,this._t0,kt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(t=+t,n=+n,t!==this._x1||n!==this._y1){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,St(this,kt(this,e=Nt(this,t,n)),e);break;default:St(this,this._t0,e=Nt(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(Et.prototype=Object.create(At.prototype)).point=function(t,n){At.prototype.point.call(this,n,t)},Ct.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,r,i,o){this._context.bezierCurveTo(n,t,r,e,o,i)}},qt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var r=Lt(t),i=Lt(n),o=0,u=1;u=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 sh=function(t){return new Rt(t,.5)},fh=Array.prototype.slice,lh=function(t,n){if((r=t.length)>1)for(var e,r,i=1,o=t[n[0]],u=o.length;i=0;)e[n]=n;return e},ph=function(){function t(t){var o,u,a=n.apply(this,arguments),c=t.length,s=a.length,f=new Array(s);for(o=0;o0){for(var e,r,i,o=0,u=t[0].length;o0){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,u=1;u=240?t-240:t+120,i,r),Qt(t,i,r),Qt(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var qh=Math.PI/180,Lh=180/Math.PI,Rh=18,Uh=.95047,Dh=1,Oh=1.08883,Fh=4/29,Ih=6/29,Yh=3*Ih*Ih,Bh=Ih*Ih*Ih;bh(nn,tn,It(Yt,{brighter:function(t){return new nn(this.l+Rh*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new nn(this.l-Rh*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,n=isNaN(this.a)?t:t+this.a/500,e=isNaN(this.b)?t:t-this.b/200;return t=Dh*rn(t),n=Uh*rn(n),e=Oh*rn(e),new Wt(on(3.2404542*n-1.5371385*t-.4985314*e),on(-.969266*n+1.8760108*t+.041556*e),on(.0556434*n-.2040259*t+1.0572252*e),this.opacity)}})),bh(sn,cn,It(Yt,{brighter:function(t){return new sn(this.h,this.c,this.l+Rh*(null==t?1:t),this.opacity)},darker:function(t){return new sn(this.h,this.c,this.l-Rh*(null==t?1:t),this.opacity)},rgb:function(){return Kt(this).rgb()}}));var jh=-.14861,Hh=1.78277,Xh=-.29227,Vh=-.90649,Wh=1.97294,$h=Wh*Vh,Zh=Wh*Hh,Gh=Hh*Xh-Vh*jh;bh(hn,ln,It(Yt,{brighter:function(t){return t=null==t?Mh:Math.pow(Mh,t),new hn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?wh:Math.pow(wh,t),new hn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*qh,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Wt(255*(n+e*(jh*r+Hh*i)),255*(n+e*(Xh*r+Vh*i)),255*(n+e*(Wh*r)),this.opacity)}}));var Jh,Qh,Kh,tp,np=function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=ro&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,c.push({i:u,x:sp(e,r)})),o=hp.lastIndex;return o0)for(var e,r,i=new Array(e),o=0;o=s)return u;if(i)return i=!1,o;var n,e=f;if(34===t.charCodeAt(e)){for(var r=e;r++=200&&e<300||304===e){if(u)try{n=u.call(r,f)}catch(t){return void c.call("error",r,t)}else n=f;c.call("load",r,n)}else c.call("error",r,t)}var r,i,u,a,c=Pn("beforesend","progress","load","error"),s=o(),f=new XMLHttpRequest,l=null,h=null,p=0;if("undefined"==typeof XDomainRequest||"withCredentials"in f||!/^(http(s)?:)?\/\//.test(t)||(f=new XDomainRequest),"onload"in f?f.onload=f.onerror=f.ontimeout=e:f.onreadystatechange=function(t){f.readyState>3&&e(t)},f.onprogress=function(t){c.call("progress",r,t)},r={header:function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?s.get(t):(null==n?s.remove(t):s.set(t,n+""),r)},mimeType:function(t){return arguments.length?(i=null==t?null:t+"",r):i},responseType:function(t){return arguments.length?(a=t,r):a},timeout:function(t){return arguments.length?(p=+t,r):p},user:function(t){return arguments.length<1?l:(l=null==t?null:t+"",r)},password:function(t){return arguments.length<1?h:(h=null==t?null:t+"",r)},response:function(t){return u=t,r},get:function(t,n){return r.send("GET",t,n)},post:function(t,n){return r.send("POST",t,n)},send:function(n,e,o){return f.open(n,t,!0,l,h),null==i||s.has("accept")||s.set("accept",i+",*/*"),f.setRequestHeader&&s.each(function(t,n){f.setRequestHeader(n,t)}),null!=i&&f.overrideMimeType&&f.overrideMimeType(i),null!=a&&(f.responseType=a),p>0&&(f.timeout=p),null==o&&"function"==typeof e&&(o=e,e=null),null!=o&&1===o.length&&(o=In(o)),null!=o&&r.on("error",o).on("load",function(t){o(null,t)}),c.call("beforesend",r,f),f.send(null==e?null:e),r},abort:function(){return f.abort(),r},on:function(){var t=c.on.apply(c,arguments);return t===c?r:t}},null!=n){if("function"!=typeof n)throw new Error("invalid callback: "+n);return r.get(n)}return r},$p=function(t,n){return function(e,r){var i=Wp(e).mimeType(t).response(n);if(null!=r){if("function"!=typeof r)throw new Error("invalid callback: "+r);return i.get(r)}return i}},Zp=$p("text/html",function(t){return document.createRange().createContextualFragment(t.responseText)}),Gp=$p("application/json",function(t){return JSON.parse(t.responseText)}),Jp=$p("text/plain",function(t){return t.responseText}),Qp=$p("application/xml",function(t){var n=t.responseXML;if(!n)throw new Error("parse error");return n}),Kp=function(t,n){return function(e,r,i){arguments.length<3&&(i=r,r=null);var o=Wp(e).mimeType(t);return o.row=function(t){return arguments.length?o.response(Bn(n,r=t)):r},o.row(r),i?o.get(i):o}},td=Kp("text/csv",Op),nd=Kp("text/tab-separated-values",jp),ed=0,rd=0,id=0,od=1e3,ud=0,ad=0,cd=0,sd="object"==typeof performance&&performance.now?performance:Date,fd="function"==typeof requestAnimationFrame?requestAnimationFrame:function(t){setTimeout(t,17)};Xn.prototype=Vn.prototype={constructor:Xn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?jn():+e)+(null==n?0:+n),this._next||Rp===this||(Rp?Rp._next=this:Lp=this,Rp=this),this._call=t,this._time=e,Jn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Jn())}};var ld=function(t,n,e){var r=new Xn;return n=null==n?0:+n,r.restart(function(e){r.stop(),t(e+n)},n,e),r},hd=function(t,n,e){var r=new Xn,i=n;return null==n?(r.restart(t,n,e),r):(n=+n,e=null==e?jn():+e,r.restart(function o(u){u+=i,r.restart(o,i+=n,e),t(u)},n,e),r)},pd=new Date,dd=new Date,vd=Qn(function(){},function(t,n){t.setTime(+t+n)},function(t,n){return n-t});vd.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Qn(function(n){n.setTime(Math.floor(n/t)*t)},function(n,e){n.setTime(+n+e*t)},function(n,e){return(e-n)/t}):vd:null};var _d=vd.range,yd=1e3,gd=6e4,md=36e5,xd=864e5,bd=6048e5,wd=Qn(function(t){t.setTime(Math.floor(t/yd)*yd)},function(t,n){t.setTime(+t+n*yd)},function(t,n){return(n-t)/yd},function(t){return t.getUTCSeconds()}),Md=wd.range,Td=Qn(function(t){t.setTime(Math.floor(t/gd)*gd)},function(t,n){t.setTime(+t+n*gd)},function(t,n){return(n-t)/gd},function(t){return t.getMinutes()}),Nd=Td.range,kd=Qn(function(t){var n=t.getTimezoneOffset()*gd%md;n<0&&(n+=md),t.setTime(Math.floor((+t-n)/md)*md+n)},function(t,n){t.setTime(+t+n*md)},function(t,n){return(n-t)/md},function(t){return t.getHours()}),Sd=kd.range,Ad=Qn(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())*gd)/xd},function(t){return t.getDate()-1}),Ed=Ad.range,Cd=Kn(0),zd=Kn(1),Pd=Kn(2),qd=Kn(3),Ld=Kn(4),Rd=Kn(5),Ud=Kn(6),Dd=Cd.range,Od=zd.range,Fd=Pd.range,Id=qd.range,Yd=Ld.range,Bd=Rd.range,jd=Ud.range,Hd=Qn(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()}),Xd=Hd.range,Vd=Qn(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()});Vd.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Qn(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 Wd=Vd.range,$d=Qn(function(t){t.setUTCSeconds(0,0)},function(t,n){t.setTime(+t+n*gd)},function(t,n){return(n-t)/gd},function(t){return t.getUTCMinutes()}),Zd=$d.range,Gd=Qn(function(t){t.setUTCMinutes(0,0,0)},function(t,n){t.setTime(+t+n*md)},function(t,n){return(n-t)/md},function(t){return t.getUTCHours()}),Jd=Gd.range,Qd=Qn(function(t){t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCDate(t.getUTCDate()+n)},function(t,n){return(n-t)/xd},function(t){return t.getUTCDate()-1}),Kd=Qd.range,tv=te(0),nv=te(1),ev=te(2),rv=te(3),iv=te(4),ov=te(5),uv=te(6),av=tv.range,cv=nv.range,sv=ev.range,fv=rv.range,lv=iv.range,hv=ov.range,pv=uv.range,dv=Qn(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()}),vv=dv.range,_v=Qn(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()});_v.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Qn(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 yv,gv=_v.range,mv=function(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]},xv=function(t){return t=mv(Math.abs(t)),t?t[1]:NaN},bv=function(t,n){return function(e,r){for(var i=e.length,o=[],u=0,a=t[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(e.substring(i-=a,i+a)),!((c+=a+1)>r));)a=t[u=(u+1)%t.length];return o.reverse().join(n)}},wv=function(t,n){t=t.toPrecision(n);t:for(var e,r=t.length,i=1,o=-1;i0&&(o=0)}return o>0?t.slice(0,o)+t.slice(e+1):t},Mv=function(t,n){var e=mv(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(yv=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,u=r.length;return o===u?r:o>u?r+new Array(o-u+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+mv(t,Math.max(0,n+o-1))[0]},Tv=function(t,n){var e=mv(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")},Nv={"":wv,"%":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 Tv(100*t,n)},r:Tv,s:Mv,X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},kv=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i,Sv=function(t){return new ne(t)};ne.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.type};var Av,Ev=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"],Cv=function(t){function n(t){function n(t){var n,i,c,g=d,m=v;if("c"===p)m=_(t)+m,t="";else{t=+t;var x=(t<0||1/t<0)&&(t*=-1,!0);if(t=_(t,h),x)for(n=-1,i=t.length,x=!1;++nc||c>57){m=(46===c?o+t.slice(n+1):t.slice(n))+m,t=t.slice(0,n);break}}l&&!s&&(t=r(t,1/0));var b=g.length+t.length+m.length,w=b>1)+g+t+m+w.slice(b)}return w+g+t+m}t=Sv(t);var e=t.fill,u=t.align,a=t.sign,c=t.symbol,s=t.zero,f=t.width,l=t.comma,h=t.precision,p=t.type,d="$"===c?i[0]:"#"===c&&/[boxX]/.test(p)?"0"+p.toLowerCase():"",v="$"===c?i[1]:/[%p]/.test(p)?"%":"",_=Nv[p],y=!p||/[defgprs%]/.test(p);return h=null==h?p?6:12:/[gprs]/.test(p)?Math.max(1,Math.min(21,h)):Math.max(0,Math.min(20,h)),n.toString=function(){return t+""},n}function e(t,e){var r=n((t=Sv(t),t.type="f",t)),i=3*Math.max(-8,Math.min(8,Math.floor(xv(e)/3))),o=Math.pow(10,-i),u=Ev[8+i/3];return function(t){return r(o*t)+u}}var r=t.grouping&&t.thousands?bv(t.grouping,t.thousands):ee,i=t.currency,o=t.decimal;return{format:n,formatPrefix:e}};re({decimal:".",thousands:",",grouping:[3],currency:["$",""]});var zv,Pv=function(t){return Math.max(0,-xv(Math.abs(t)))},qv=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(xv(n)/3)))-xv(Math.abs(t)))},Lv=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,xv(n)-xv(t))+1},Rv={"-":"",_:" ",0:"0"},Uv=/^\s*\d+/,Dv=/^%/,Ov=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;nr({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 Fv="%Y-%m-%dT%H:%M:%S.%LZ",Iv=Date.prototype.toISOString?er:t.utcFormat(Fv),Yv=+new Date("2000-01-01T00:00:00.000Z")?rr:t.utcParse(Fv),Bv=Array.prototype,jv=Bv.map,Hv=Bv.slice,Xv={name:"implicit"},Vv=function(t){return function(){return t}},Wv=function(t){return+t},$v=[0,1],Zv=function(n,r,i){var o,u=n[0],a=n[n.length-1],c=e(u,a,null==r?10:r);switch(i=Sv(null==i?",f":i),i.type){case"s":var s=Math.max(Math.abs(u),Math.abs(a));return null!=i.precision||isNaN(o=qv(c,s))||(i.precision=o),t.formatPrefix(i,s);case"":case"e":case"g":case"p":case"r":null!=i.precision||isNaN(o=Lv(c,Math.max(Math.abs(u),Math.abs(a))))||(i.precision=o-("e"===i.type));break;case"f":case"%":null!=i.precision||isNaN(o=Pv(c))||(i.precision=o-2*("%"===i.type))}return t.format(i)},Gv=function(t,n){t=t.slice();var e,r=0,i=t.length-1,o=t[r],u=t[i];return u1)&&(t-=Math.floor(t));var n=Math.abs(t-.5);return d_.h=360*t-100,d_.s=1.5-1.5*n,d_.l=.8-.9*n,d_+""},__=Lr(u_("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),y_=Lr(u_("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),g_=Lr(u_("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),m_=Lr(u_("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921")),x_="http://www.w3.org/1999/xhtml",b_={svg:"http://www.w3.org/2000/svg",xhtml:x_,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},w_=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),b_.hasOwnProperty(n)?{space:b_[n],local:t}:t},M_=function(t){var n=w_(t);return(n.local?Dr:Ur)(n)},T_=0;Fr.prototype=Or.prototype={constructor:Fr,get:function(t){for(var n=this._;!(n in t);)if(!(t=t.parentNode))return;return t[n]},set:function(t,n){return t[this._]=n},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};var N_=function(t){return function(){return this.matches(t)}};if("undefined"!=typeof document){var k_=document.documentElement;if(!k_.matches){var S_=k_.webkitMatchesSelector||k_.msMatchesSelector||k_.mozMatchesSelector||k_.oMatchesSelector;N_=function(t){return function(){return S_.call(this,t)}}}}var A_=N_,E_={};if(t.event=null,"undefined"!=typeof document){var C_=document.documentElement;"onmouseenter"in C_||(E_={mouseenter:"mouseover",mouseleave:"mouseout"})}var z_=function(t,n,e){var r,i,o=Br(t+""),u=o.length;{if(!(arguments.length<2)){for(a=n?Hr:jr,null==e&&(e=!1),r=0;r=b&&(b=x+1);!(m=_[b])&&++b=0;)(r=i[o])&&(u&&u!==r.nextSibling&&u.parentNode.insertBefore(r,u),u=r);return this},$_=function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=Jr);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?ii:"function"==typeof n?ui:oi)(t,n,null==e?"":e)):ey(r=this.node()).getComputedStyle(r,null).getPropertyValue(t)},iy=function(t,n){return arguments.length>1?this.each((null==n?ai:"function"==typeof n?si:ci)(t,n)):this.node()[t]};hi.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var oy=function(t,n){var e=fi(t+"");if(arguments.length<2){for(var r=li(this.node()),i=-1,o=e.length;++iMy&&e.name===n)return new so([[t]],ng,n,+r)}return null},rg=Array.prototype.slice,ig=function(t){return t},og=1,ug=2,ag=3,cg=4,sg=1e-6,fg=function(){function t(t){var o,u=0;t.eachAfter(function(t){var e=t.children;e?(t.x=To(e),t.y=ko(e)):(t.x=o?u+=n(t,o):0,t.y=0,o=t)});var a=Ao(t),c=Eo(t),s=a.x-n(a,c)/2,f=c.x+n(c,a)/2;return t.eachAfter(i?function(n){n.x=(n.x-t.x)*e,n.y=(t.y-n.y)*r}:function(n){n.x=(n.x-s)/(f-s)*e,n.y=(1-(t.y?n.y/t.y:1))*r})}var n=Mo,e=1,r=1,i=!1;return t.separation=function(e){return arguments.length?(n=e,t):n},t.size=function(n){return arguments.length?(i=!1,e=+n[0],r=+n[1],t):i?null:[e,r]},t.nodeSize=function(n){return arguments.length?(i=!0,e=+n[0],r=+n[1],t):i?[e,r]:null},t},lg=function(t){var n,e,r,i,o=this,u=[o];do for(n=u.reverse(),u=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r=0;--e)i.push(n[e]);return this},pg=function(t){for(var n,e,r,i=this,o=[i],u=[];i=o.pop();)if(u.push(i),n=i.children)for(e=0,r=n.length;e=0;)e+=r[i].value;n.value=e})},vg=function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},_g=function(t){for(var n=this,e=Co(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},yg=function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},gg=function(){var t=[];return this.each(function(n){t.push(n)}),t},mg=function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},xg=function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n};Uo.prototype=zo.prototype={constructor:Uo,each:lg,eachAfter:pg,eachBefore:hg,sum:dg,sort:vg,path:_g,ancestors:yg,descendants:gg,leaves:mg,links:xg,copy:Po};var bg=function(t){for(var n,e=(t=t.slice()).length,r=null,i=r;e;){var o=new Do(t[e-1]);i=i?i.next=o:r=o,t[n]=t[--e]}return{head:r,tail:i}},wg=function(t){return Fo(bg(t),[])},Mg=function(t){return Wo(t),t},Tg=function(t){return function(){return t}},Ng=function(){function t(t){return t.x=e/2,t.y=r/2,n?t.eachBefore(Qo(n)).eachAfter(Ko(i,.5)).eachBefore(tu(1)):t.eachBefore(Qo(Jo)).eachAfter(Ko(Go,1)).eachAfter(Ko(i,t.r/Math.min(e,r))).eachBefore(tu(Math.min(e,r)/(2*t.r))),t}var n=null,e=1,r=1,i=Go;return t.radius=function(e){return arguments.length?(n=$o(e),t):n},t.size=function(n){return arguments.length?(e=+n[0],r=+n[1],t):[e,r]},t.padding=function(n){return arguments.length?(i="function"==typeof n?n:Tg(+n),t):i},t},kg=function(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)},Sg=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(r-n)/t.value;++a0)throw new Error("cycle");return o}var n=nu,e=eu;return t.id=function(e){return arguments.length?(n=Zo(e),t):n},t.parentId=function(n){return arguments.length?(e=Zo(n),t):e},t};su.prototype=Object.create(Uo.prototype);var qg=function(){function t(t){var r=fu(t);if(r.eachAfter(n),r.parent.m=-r.z,r.eachBefore(e),c)t.eachBefore(i);else{var s=t,f=t,l=t;t.eachBefore(function(t){t.xf.x&&(f=t),t.depth>l.depth&&(l=t)});var h=s===f?1:o(s,f)/2,p=h-s.x,d=u/(f.x+h+p),v=a/(l.depth||1);t.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*v})}return t}function n(t){var n=t.children,e=t.parent.children,i=t.i?e[t.i-1]:null;if(n){au(t);var u=(n[0].z+n[n.length-1].z)/2;i?(t.z=i.z+o(t._,i._),t.m=t.z-u):t.z=u}else i&&(t.z=i.z+o(t._,i._));t.parent.A=r(t,i,t.parent.A||e[0])}function e(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function r(t,n,e){if(n){for(var r,i=t,u=t,a=n,c=i.parent.children[0],s=i.m,f=u.m,l=a.m,h=c.m;a=ou(a),i=iu(i),a&&i;)c=iu(c),u=ou(u),u.a=t,r=a.z+l-i.z-s+o(a._,i._),r>0&&(uu(cu(a,t,e),t,r),s+=r,f+=r),l+=a.m,s+=i.m,h+=c.m,f+=u.m;a&&!ou(u)&&(u.t=a,u.m+=l-f),i&&!iu(c)&&(c.t=i,c.m+=s-h,e=t)}return e}function i(t){t.x*=u,t.y=t.depth*a}var o=ru,u=1,a=1,c=null;return t.separation=function(n){return arguments.length?(o=n,t):o},t.size=function(n){return arguments.length?(c=!1,u=+n[0],a=+n[1],t):c?null:[u,a]},t.nodeSize=function(n){return arguments.length?(c=!0,u=+n[0],a=+n[1],t):c?[u,a]:null},t},Lg=function(t,n,e,r,i){for(var o,u=t.children,a=-1,c=u.length,s=t.value&&(i-e)/t.value;++a1?n:1)},e}(Rg),Dg=function(){function t(t){return t.x0=t.y0=0,t.x1=i,t.y1=o,t.eachBefore(n),u=[0],r&&t.eachBefore(kg),t}function n(t){var n=u[t.depth],r=t.x0+n,i=t.y0+n,o=t.x1-n,h=t.y1-n;o=n-1){var s=c[t];return s.x0=r,s.y0=i,s.x1=u,s.y1=a,void 0}for(var l=f[t],h=e/2+l,p=t+1,d=n-1;p>>1;f[v]u-r){var g=(i*y+a*_)/e;o(t,p,_,r,i,u,g),o(p,n,y,r,g,u,a)}else{var m=(r*y+u*_)/e;o(t,p,_,r,i,m,a),o(p,n,y,m,i,u,a)}}var u,a,c=t.children,s=c.length,f=new Array(s+1);for(f[0]=a=u=0;u1?n:1)},e}(Rg),Yg=function(t,n){function e(){var e,i,o=r.length,u=0,a=0;for(e=0;es+d||if+d||on){var v=s-a.x-a.vx,_=f-a.y-a.vy,y=v*v+_*_;yt.r&&(t.r=t[n].r)}function r(){if(i){var n,e=i.length;for(o=new Array(e),n=0;n1?(null==n?h.remove(t):h.set(t,i(n)),u):h.get(t)},find:function(n,e,r){var i,o,u,a,c,s=0,f=t.length;for(null==r?r=1/0:r*=r,s=0;s1?(d.on(t,n),u):d.on(t)}}},Zg=function(){function t(t){var n,a=i.length,c=I(i,_u,yu).visitAfter(e);for(u=t,n=0;n=f)){(t.data!==o||t.next)&&(0===i&&(i=jg(),p+=i*i),0===c&&(c=jg(),p+=c*c),p0?_y(this).transition().duration(N).call(u,f,a):_y(this).call(n.transform,f)}}function h(){if(y.apply(this,arguments)){var n,e,r,i=a(this,arguments),o=t.event.changedTouches,u=o.length;for(oa(),n=0;n0?1:t<0?-1:0},Ix=Math.sqrt,Yx=Math.tan,Bx={Feature:function(t,n){za(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++rwx?Qm=90:Zx<-wx&&(Gm=-90),ix[0]=Zm,ix[1]=Jm}},Jx=function(t){var n,e,r,i,o,u,a;if(Qm=Jm=-(Zm=Gm=1/0),rx=[],Hx(t,Gx),e=rx.length){for(rx.sort(Ka),n=1,r=rx[0],o=[r];nQa(r[0],r[1])&&(r[1]=i[1]),Qa(i[0],r[1])>Qa(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(u=-(1/0),e=o.length-1,n=0,r=o[e];n<=e;r=i,++n)i=o[n],(a=Qa(r[1],i[0]))>u&&(u=a,Zm=i[0],Jm=r[1])}return rx=ix=null,Zm===1/0||Gm===1/0?[[NaN,NaN],[NaN,NaN]]:[[Zm,Gm],[Jm,Qm]]},Qx={sphere:Ca,point:nc,lineStart:rc,lineEnd:uc,
8 | polygonStart:function(){Qx.lineStart=ac,Qx.lineEnd=cc},polygonEnd:function(){Qx.lineStart=rc,Qx.lineEnd=uc}},Kx=function(t){ox=ux=ax=cx=sx=fx=lx=hx=px=dx=vx=0,Hx(t,Qx);var n=px,e=dx,r=vx,i=n*n+e*e+r*r;return i2?t[2]*Ex:0),n.invert=function(n){return n=t.invert(n[0]*Ex,n[1]*Ex),n[0]*=Ax,n[1]*=Ax,n},n},db=function(){function t(t,n){e.push(t=r(t,n)),t[0]*=Ax,t[1]*=Ax}function n(){var t=i.apply(this,arguments),n=o.apply(this,arguments)*Ex,c=u.apply(this,arguments)*Ex;return e=[],r=hc(-t[0]*Ex,-t[1]*Ex,0).invert,_c(a,n,c,1),t={type:"Polygon",coordinates:[e]},e=r=null,t}var e,r,i=tb([0,0]),o=tb(90),u=tb(6),a={point:t};return n.center=function(t){return arguments.length?(i="function"==typeof t?t:tb([+t[0],+t[1]]),n):i},n.radius=function(t){return arguments.length?(o="function"==typeof t?t:tb(+t),n):o},n.precision=function(t){return arguments.length?(u="function"==typeof t?t:tb(+t),n):u},n},vb=function(){var t,n=[];return{point:function(n,e){t.push([n,e])},lineStart:function(){n.push(t=[])},lineEnd:Ca,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}},_b=function(t,n,e,r,i,o){var u,a=t[0],c=t[1],s=n[0],f=n[1],l=0,h=1,p=s-a,d=f-c;if(u=e-a,p||!(u>0)){if(u/=p,p<0){if(u0){if(u>h)return;u>l&&(l=u)}if(u=i-a,p||!(u<0)){if(u/=p,p<0){if(u>h)return;u>l&&(l=u)}else if(p>0){if(u0)){if(u/=d,d<0){if(u0){if(u>h)return;u>l&&(l=u)}if(u=o-c,d||!(u<0)){if(u/=d,d<0){if(u>h)return;u>l&&(l=u)}else if(d>0){if(u0&&(t[0]=a+l*p,t[1]=c+l*d),h<1&&(n[0]=a+h*p,n[1]=c+h*d),!0}}}}},yb=function(t,n){return Cx(t[0]-n[0])=0;--o)i.point((f=s[o])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,s=h.z,p=!p}while(!h.v);i.lineEnd()}}},mb=1e9,xb=-mb,bb=function(){var t,n,e,r=0,i=0,o=960,u=500;return e={stream:function(e){return t&&n===e?t:t=xc(r,i,o,u)(n=e)},extent:function(a){return arguments.length?(r=+a[0][0],i=+a[0][1],o=+a[1][0],u=+a[1][1],t=n=null,e):[[r,i],[o,u]]}}},wb=jm(),Mb={sphere:Ca,point:Ca,lineStart:bc,lineEnd:Ca,polygonStart:Ca,polygonEnd:Ca},Tb=function(t){return wb.reset(),Hx(t,Mb),+wb},Nb=[null,null],kb={type:"LineString",coordinates:Nb},Sb=function(t,n){return Nb[0]=t,Nb[1]=n,Tb(kb)},Ab=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return Us(Lx(o/_)*_,i,_).map(h).concat(Us(Lx(s/y)*y,c,y).map(p)).concat(Us(Lx(r/d)*d,e,d).filter(function(t){return Cx(t%_)>wx}).map(f)).concat(Us(Lx(a/v)*v,u,v).filter(function(t){return Cx(t%y)>wx}).map(l))}var e,r,i,o,u,a,c,s,f,l,h,p,d=10,v=d,_=90,y=360,g=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(c).slice(1),h(i).reverse().slice(1),p(s).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.extentMajor(n).extentMinor(n):t.extentMinor()},t.extentMajor=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],s=+n[0][1],c=+n[1][1],o>i&&(n=o,o=i,i=n),s>c&&(n=s,s=c,c=n),t.precision(g)):[[o,s],[i,c]]},t.extentMinor=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],a=+n[0][1],u=+n[1][1],r>e&&(n=r,r=e,e=n),a>u&&(n=a,a=u,u=n),t.precision(g)):[[r,a],[e,u]]},t.step=function(n){return arguments.length?t.stepMajor(n).stepMinor(n):t.stepMinor()},t.stepMajor=function(n){return arguments.length?(_=+n[0],y=+n[1],t):[_,y]},t.stepMinor=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(g=+n,f=Nc(a,u,90),l=kc(r,e,g),h=Nc(s,c,90),p=kc(o,i,g),t):g},t.extentMajor([[-180,-90+wx],[180,90-wx]]).extentMinor([[-180,-80-wx],[180,80+wx]])},Eb=function(t,n){var e=t[0]*Ex,r=t[1]*Ex,i=n[0]*Ex,o=n[1]*Ex,u=qx(r),a=Ox(r),c=qx(o),s=Ox(o),f=u*qx(e),l=u*Ox(e),h=c*qx(i),p=c*Ox(i),d=2*Aa(Ix(Ea(o-r)+u*c*Ea(i-e))),v=Ox(d),_=d?function(t){var n=Ox(t*=d)/v,e=Ox(d-t)/v,r=e*f+n*h,i=e*l+n*p,o=e*a+n*s;return[Px(i,r)*Ax,Px(o,Ix(r*r+i*i))*Ax]}:function(){return[e*Ax,r*Ax]};return _.distance=d,_},Cb=function(t){return t},zb=jm(),Pb=jm(),qb={point:Ca,lineStart:Ca,lineEnd:Ca,polygonStart:function(){qb.lineStart=Sc,qb.lineEnd=Cc},polygonEnd:function(){qb.lineStart=qb.lineEnd=qb.point=Ca,zb.add(Cx(Pb)),Pb.reset()},result:function(){var t=zb/2;return zb.reset(),t}},Lb=1/0,Rb=Lb,Ub=-Lb,Db=Ub,Ob={point:zc,lineStart:Ca,lineEnd:Ca,polygonStart:Ca,polygonEnd:Ca,result:function(){var t=[[Lb,Rb],[Ub,Db]];return Ub=Db=-(Rb=Lb=1/0),t}},Fb=0,Ib=0,Yb=0,Bb=0,jb=0,Hb=0,Xb=0,Vb=0,Wb=0,$b={point:Pc,lineStart:qc,lineEnd:Uc,polygonStart:function(){$b.lineStart=Dc,$b.lineEnd=Oc},polygonEnd:function(){$b.point=Pc,$b.lineStart=qc,$b.lineEnd=Uc},result:function(){var t=Wb?[Xb/Wb,Vb/Wb]:Hb?[Bb/Hb,jb/Hb]:Yb?[Fb/Yb,Ib/Yb]:[NaN,NaN];return Fb=Ib=Yb=Bb=jb=Hb=Xb=Vb=Wb=0,t}};Yc.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,Sx)}},result:Ca},Bc.prototype={_circle:jc(4.5),pointRadius:function(t){return this._circle=jc(t),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:this._string.push("M",t,",",n,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}}};var Zb=function(){function t(t){return t&&("function"==typeof o&&i.pointRadius(+o.apply(this,arguments)),Hx(t,e(i))),i.result()}var n,e,r,i,o=4.5;return t.area=function(t){return Hx(t,e(qb)),qb.result()},t.bounds=function(t){return Hx(t,e(Ob)),Ob.result()},t.centroid=function(t){return Hx(t,e($b)),$b.result()},t.projection=function(r){return arguments.length?(e=null==(n=r)?Cb:r.stream,t):n},t.context=function(n){return arguments.length?(i=null==(r=n)?new Bc:new Yc(n),"function"!=typeof o&&i.pointRadius(o),t):r},t.pointRadius=function(n){return arguments.length?(o="function"==typeof n?n:(i.pointRadius(+n),+n),t):o},t.projection(null).context(null)},Gb=jm(),Jb=function(t,n){var e=n[0],r=n[1],i=[Ox(e),-qx(e),0],o=0,u=0;Gb.reset();for(var a=0,c=t.length;a=0?1:-1,T=M*w,N=T>Tx,k=d*x;if(Gb.add(Px(k*M*Ox(T),v*b+k*qx(T))),o+=N?w+M*Sx:w,N^h>=e^g>=e){var S=Ya(Fa(l),Fa(y));Ha(S);var A=Ya(i,S);Ha(A);var E=(N^w>=0?-1:1)*Aa(A[2]);(r>E||r===E&&(S[0]||S[1]))&&(u+=N^w>=0?1:-1)}}return(o<-wx||o0){for(x||(o.polygonStart(),x=!0),o.lineStart(),t=0;t1&&2&i&&u.push(u.pop().concat(u.shift())),d.push(u.filter(Hc))}var p,d,v,_=n(o),y=i.invert(r[0],r[1]),g=vb(),m=n(g),x=!1,b={point:u,lineStart:c,lineEnd:s,polygonStart:function(){b.point=f,b.lineStart=l,b.lineEnd=h,d=[],p=[]},polygonEnd:function(){b.point=u,b.lineStart=c,b.lineEnd=s,d=Zs(d);var t=Jb(p,y);d.length?(x||(o.polygonStart(),x=!0),gb(d,Xc,t,e,o)):t&&(x||(o.polygonStart(),x=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),d=p=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}};return b}},Kb=Qb(function(){return!0},Vc,$c,[-Tx,-Nx]),tw=function(t,n){function e(e,r,i,o){_c(o,t,n,i,e,r)}function r(t,n){return qx(t)*qx(n)>a}function i(t){var n,e,i,a,f;return{lineStart:function(){a=i=!1,f=1},point:function(l,h){var p,d=[l,h],v=r(l,h),_=c?v?0:u(l,h):v?u(l+(l<0?Tx:-Tx),h):0;if(!n&&(a=i=v)&&t.lineStart(),v!==i&&(p=o(n,d),(yb(n,p)||yb(d,p))&&(d[0]+=wx,d[1]+=wx,v=r(d[0],d[1]))),v!==i)f=0,v?(t.lineStart(),p=o(d,n),t.point(p[0],p[1])):(p=o(n,d),t.point(p[0],p[1]),t.lineEnd()),n=p;else if(s&&n&&c^v){var y;_&e||!(y=o(d,n,!0))||(f=0,c?(t.lineStart(),t.point(y[0][0],y[0][1]),t.point(y[1][0],y[1][1]),t.lineEnd()):(t.point(y[1][0],y[1][1]),t.lineEnd(),t.lineStart(),t.point(y[0][0],y[0][1])))}!v||n&&yb(n,d)||t.point(d[0],d[1]),n=d,i=v,e=_},lineEnd:function(){i&&t.lineEnd(),n=null},clean:function(){return f|(a&&i)<<1}}}function o(t,n,e){var r=Fa(t),i=Fa(n),o=[1,0,0],u=Ya(r,i),c=Ia(u,u),s=u[0],f=c-s*s;if(!f)return!e&&t;var l=a*c/f,h=-a*s/f,p=Ya(o,u),d=ja(o,l),v=ja(u,h);Ba(d,v);var _=p,y=Ia(d,_),g=Ia(_,_),m=y*y-g*(Ia(d,d)-1);if(!(m<0)){var x=Ix(m),b=ja(_,(-y-x)/g);if(Ba(b,d),b=Oa(b),!e)return b;var w,M=t[0],T=n[0],N=t[1],k=n[1];T0^b[1]<(Cx(b[0]-M)Tx^(M<=b[0]&&b[0]<=T)){var C=ja(_,(-y+x)/g);return Ba(C,d),[b,Oa(C)]}}}function u(n,e){var r=c?t:Tx-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var a=qx(t),c=a>0,s=Cx(a)>wx;return Qb(r,i,e,c?[0,-t]:[-Tx,t-Tx])},nw=function(t){return{stream:Zc(t)}};Gc.prototype={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 ew=16,rw=qx(30*Ex),iw=function(t,n){return+n?ns(t,n):ts(t)},ow=Zc({point:function(t,n){this.stream.point(t*Ex,n*Ex)}}),uw=function(){return is(us).scale(155.424).center([0,33.6442])},aw=function(){return uw().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])},cw=function(){function t(t){var n=t[0],e=t[1];return a=null,i.point(n,e),a||(o.point(n,e),a)||(u.point(n,e),a)}function n(){return e=r=null,t}var e,r,i,o,u,a,c=aw(),s=uw().rotate([154,0]).center([-2,58.5]).parallels([55,65]),f=uw().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,n){a=[t,n]}};return t.invert=function(t){var n=c.scale(),e=c.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?s:i>=.166&&i<.234&&r>=-.214&&r<-.115?f:c).invert(t)},t.stream=function(t){return e&&r===t?e:e=as([c.stream(r=t),s.stream(t),f.stream(t)])},t.precision=function(t){return arguments.length?(c.precision(t),s.precision(t),f.precision(t),n()):c.precision()},t.scale=function(n){return arguments.length?(c.scale(n),s.scale(.35*n),f.scale(n),t.translate(c.translate())):c.scale()},t.translate=function(t){if(!arguments.length)return c.translate();var e=c.scale(),r=+t[0],a=+t[1];return i=c.translate(t).clipExtent([[r-.455*e,a-.238*e],[r+.455*e,a+.238*e]]).stream(l),o=s.translate([r-.307*e,a+.201*e]).clipExtent([[r-.425*e+wx,a+.12*e+wx],[r-.214*e-wx,a+.234*e-wx]]).stream(l),u=f.translate([r-.205*e,a+.212*e]).clipExtent([[r-.214*e+wx,a+.166*e+wx],[r-.115*e-wx,a+.234*e-wx]]).stream(l),n()},t.fitExtent=Kc(t),t.fitSize=Qc(t),t.scale(1070)},sw=cs(function(t){return Ix(2/(1+t))});sw.invert=ss(function(t){return 2*Aa(t/2)});var fw=function(){return es(sw).scale(124.75).clipAngle(179.999)},lw=cs(function(t){return(t=Sa(t))&&t/Ox(t)});lw.invert=ss(function(t){return t});var hw=function(){return es(lw).scale(79.4188).clipAngle(179.999)};fs.invert=function(t,n){return[t,2*zx(Rx(n))-Nx]};var pw=function(){return ls(fs).scale(961/Sx)},dw=function(){return is(ps).scale(109.5).parallels([30,30])};ds.invert=ds;var vw=function(){return es(ds).scale(152.63)},_w=function(){return is(vs).scale(131.154).center([0,13.9389])};_s.invert=ss(zx);var yw=function(){return es(_s).scale(144.049).clipAngle(60)};ys.invert=ss(Aa);var gw=function(){return es(ys).scale(249.5).clipAngle(90+wx)};gs.invert=ss(function(t){return 2*zx(t)});var mw=function(){return es(gs).scale(250).clipAngle(142)};ms.invert=function(t,n){return[-n,2*zx(Rx(t))-Nx]};var xw=function(){var t=ls(ms),n=t.center,e=t.rotate;return t.center=function(t){return arguments.length?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return arguments.length?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90]).scale(159.155)};t.version=xs,t.bisect=Ts,t.bisectRight=Ts,t.bisectLeft=Ns,t.ascending=bs,t.bisector=ws,t.descending=ks,t.deviation=Es,t.extent=Cs,t.histogram=Bs,t.thresholdFreedmanDiaconis=Hs,t.thresholdScott=Xs,t.thresholdSturges=Ys,t.max=Vs,t.mean=Ws,t.median=$s,t.merge=Zs,t.min=Gs,t.pairs=Js,t.permute=Qs,t.quantile=js,t.range=Us,t.scan=Ks,t.shuffle=tf,t.sum=nf,t.ticks=Is,t.tickStep=e,t.transpose=ef,t.variance=As,t.zip=rf,t.entries=ff,t.keys=cf,t.values=sf,t.map=o,t.set=l,t.nest=uf,t.randomUniform=lf,t.randomNormal=hf,t.randomLogNormal=pf,t.randomBates=vf,t.randomIrwinHall=df,t.randomExponential=_f,t.easeLinear=h,t.easeQuad=v,t.easeQuadIn=p,t.easeQuadOut=d,t.easeQuadInOut=v,t.easeCubic=g,t.easeCubicIn=_,t.easeCubicOut=y,t.easeCubicInOut=g,t.easePoly=xf,t.easePolyIn=gf,t.easePolyOut=mf,t.easePolyInOut=xf,t.easeSin=b,t.easeSinIn=m,t.easeSinOut=x,t.easeSinInOut=b,t.easeExp=T,t.easeExpIn=w,t.easeExpOut=M,t.easeExpInOut=T,t.easeCircle=S,t.easeCircleIn=N,t.easeCircleOut=k,t.easeCircleInOut=S,t.easeBounce=E,t.easeBounceIn=A,t.easeBounceOut=E,t.easeBounceInOut=C,t.easeBack=Uf,t.easeBackIn=Lf,t.easeBackOut=Rf,t.easeBackInOut=Uf,t.easeElastic=Yf,t.easeElasticIn=If,t.easeElasticOut=Yf,t.easeElasticInOut=Bf,t.polygonArea=jf,t.polygonCentroid=Hf,t.polygonHull=Vf,t.polygonContains=Wf,t.polygonLength=$f,t.path=L,t.quadtree=I,t.queue=Z,t.arc=xl,t.area=Ml,t.line=wl,t.pie=kl,t.radialArea=El,t.radialLine=Al,t.symbol=Zl,t.symbols=$l,t.symbolCircle=Cl,t.symbolCross=zl,t.symbolDiamond=Ll,t.symbolSquare=Il,t.symbolStar=Fl,t.symbolTriangle=Bl,t.symbolWye=Wl,t.curveBasisClosed=Ql,t.curveBasisOpen=Kl,t.curveBasis=Jl,t.curveBundle=th,t.curveCardinalClosed=eh,t.curveCardinalOpen=rh,t.curveCardinal=nh,t.curveCatmullRomClosed=oh,t.curveCatmullRomOpen=uh,t.curveCatmullRom=ih,t.curveLinearClosed=ah,t.curveLinear=bl,t.curveMonotoneX=zt,t.curveMonotoneY=Pt,t.curveNatural=ch,t.curveStep=sh,t.curveStepAfter=Dt,t.curveStepBefore=Ut,t.stack=ph,t.stackOffsetExpand=dh,t.stackOffsetNone=lh,t.stackOffsetSilhouette=vh,t.stackOffsetWiggle=_h,t.stackOrderAscending=yh,t.stackOrderDescending=gh,t.stackOrderInsideOut=mh,t.stackOrderNone=hh,t.stackOrderReverse=xh,t.color=Bt,t.rgb=Vt,t.hsl=Gt,t.lab=tn,t.hcl=cn,t.cubehelix=ln,t.interpolate=dp,t.interpolateArray=ap,t.interpolateDate=cp,t.interpolateNumber=sp,t.interpolateObject=fp,t.interpolateRound=vp,t.interpolateString=pp,t.interpolateTransformCss=mp,t.interpolateTransformSvg=xp,t.interpolateZoom=Np,t.interpolateRgb=ip,t.interpolateRgbBasis=op,t.interpolateRgbBasisClosed=up,t.interpolateHsl=kp,t.interpolateHslLong=Sp,t.interpolateLab=En,t.interpolateHcl=Ap,t.interpolateHclLong=Ep,t.interpolateCubehelix=Cp,t.interpolateCubehelixLong=zp,t.interpolateBasis=np,t.interpolateBasisClosed=ep,t.quantize=Pp,t.dispatch=Pn,t.dsvFormat=Up,t.csvParse=Op,t.csvParseRows=Fp,t.csvFormat=Ip,t.csvFormatRows=Yp,t.tsvParse=jp,t.tsvParseRows=Hp,t.tsvFormat=Xp,t.tsvFormatRows=Vp,t.request=Wp,t.html=Zp,t.json=Gp,t.text=Jp,t.xml=Qp,t.csv=td,t.tsv=nd,t.now=jn,t.timer=Vn,t.timerFlush=Wn,t.timeout=ld,t.interval=hd,t.timeInterval=Qn,t.timeMillisecond=vd,t.timeMilliseconds=_d,t.timeSecond=wd,t.timeSeconds=Md,t.timeMinute=Td,t.timeMinutes=Nd,t.timeHour=kd,t.timeHours=Sd,t.timeDay=Ad,t.timeDays=Ed,t.timeWeek=Cd,t.timeWeeks=Dd,t.timeSunday=Cd,t.timeSundays=Dd,t.timeMonday=zd,t.timeMondays=Od,t.timeTuesday=Pd,t.timeTuesdays=Fd;t.timeWednesday=qd;t.timeWednesdays=Id,t.timeThursday=Ld,t.timeThursdays=Yd,t.timeFriday=Rd,t.timeFridays=Bd,t.timeSaturday=Ud,t.timeSaturdays=jd,t.timeMonth=Hd,t.timeMonths=Xd,t.timeYear=Vd,t.timeYears=Wd,t.utcMillisecond=vd,t.utcMilliseconds=_d,t.utcSecond=wd,t.utcSeconds=Md,t.utcMinute=$d,t.utcMinutes=Zd,t.utcHour=Gd,t.utcHours=Jd,t.utcDay=Qd,t.utcDays=Kd,t.utcWeek=tv,t.utcWeeks=av,t.utcSunday=tv,t.utcSundays=av,t.utcMonday=nv,t.utcMondays=cv,t.utcTuesday=ev,t.utcTuesdays=sv,t.utcWednesday=rv,t.utcWednesdays=fv,t.utcThursday=iv,t.utcThursdays=lv,t.utcFriday=ov,t.utcFridays=hv,t.utcSaturday=uv,t.utcSaturdays=pv,t.utcMonth=dv,t.utcMonths=vv,t.utcYear=_v,t.utcYears=gv,t.formatLocale=Cv,t.formatDefaultLocale=re,t.formatSpecifier=Sv,t.precisionFixed=Pv,t.precisionPrefix=qv,t.precisionRound=Lv,t.isoFormat=Iv,t.isoParse=Yv,t.timeFormatLocale=ae,t.timeFormatDefaultLocale=nr,t.scaleBand=or,t.scalePoint=ar,t.scaleIdentity=yr,t.scaleLinear=_r,t.scaleLog=Tr,t.scaleOrdinal=ir,t.scaleImplicit=Xv,t.scalePow=kr,t.scaleSqrt=Sr,t.scaleQuantile=Ar,t.scaleQuantize=Er,t.scaleThreshold=Cr,t.scaleTime=i_,t.scaleUtc=o_,t.schemeCategory10=a_,t.schemeCategory20b=c_,t.schemeCategory20c=s_,t.schemeCategory20=f_,t.scaleSequential=Rr,t.interpolateCubehelixDefault=l_,t.interpolateRainbow=v_,t.interpolateWarm=h_,t.interpolateCool=p_,t.interpolateViridis=__,t.interpolateMagma=y_,t.interpolateInferno=g_,t.interpolatePlasma=m_,t.creator=M_,t.customEvent=Xr,t.local=Or,t.matcher=A_,t.mouse=L_,t.namespace=w_,t.namespaces=b_,t.select=_y,t.selectAll=yy,t.selection=Pi,t.selector=R_,t.selectorAll=D_,t.touch=gy,t.touches=my,t.window=ey,t.active=eg,t.interrupt=Cy,t.transition=fo,t.axisTop=mo,t.axisRight=xo,t.axisBottom=bo,t.axisLeft=wo,t.cluster=fg,t.hierarchy=zo,t.pack=Ng,t.packSiblings=Mg,t.packEnclose=wg,t.partition=Ag,t.stratify=Pg,t.tree=qg,t.treemap=Dg,t.treemapBinary=Og,t.treemapDice=Sg,t.treemapSlice=Lg,t.treemapSliceDice=Fg,t.treemapSquarify=Ug,t.treemapResquarify=Ig,t.forceCenter=Yg,t.forceCollide=Hg,t.forceLink=Xg,t.forceManyBody=Zg,t.forceSimulation=$g,t.forceX=Gg,t.forceY=Jg,t.drag=nm,t.dragDisable=Kg,t.dragEnable=mu,t.voronoi=hm,t.zoom=_m,t.zoomIdentity=dm,t.zoomTransform=ia,t.brush=Pm,t.brushX=_a,t.brushY=ya,t.brushSelection=va,t.chord=Fm,t.ribbon=Bm,t.geoAlbers=aw,t.geoAlbersUsa=cw,t.geoArea=$x,t.geoAzimuthalEqualArea=fw,t.geoAzimuthalEqualAreaRaw=sw,t.geoAzimuthalEquidistant=hw,t.geoAzimuthalEquidistantRaw=lw,t.geoBounds=Jx,t.geoCentroid=Kx,t.geoCircle=db,t.geoClipExtent=bb,t.geoConicConformal=dw,t.geoConicConformalRaw=ps,t.geoConicEqualArea=uw,t.geoConicEqualAreaRaw=us,t.geoConicEquidistant=_w,t.geoConicEquidistantRaw=vs,t.geoDistance=Sb,t.geoEquirectangular=vw,t.geoEquirectangularRaw=ds,t.geoGnomonic=yw,t.geoGnomonicRaw=_s,t.geoGraticule=Ab,t.geoInterpolate=Eb,t.geoLength=Tb,t.geoMercator=pw,t.geoMercatorRaw=fs,t.geoOrthographic=gw,t.geoOrthographicRaw=ys,t.geoPath=Zb,t.geoProjection=es,t.geoProjectionMutator=rs,t.geoRotation=pb,t.geoStereographic=mw,t.geoStereographicRaw=gs,t.geoStream=Hx,t.geoTransform=nw,t.geoTransverseMercator=xw,t.geoTransverseMercatorRaw=ms,Object.defineProperty(t,"__esModule",{value:!0})});
--------------------------------------------------------------------------------
/dist/d3.promise.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('d3-request')) :
3 | typeof define === 'function' && define.amd ? define(['d3-request'], factory) :
4 | (global.d3 = global.d3 || {}, global.d3.promise = factory(global.d3));
5 | }(this, (function (d3) { 'use strict';
6 |
7 | function promisify(caller, fn) {
8 | return function () {
9 | for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
10 | args[_key] = arguments[_key];
11 | }
12 |
13 | return new Promise(function (resolve, reject) {
14 | var callback = function callback(error, data) {
15 | if (error) {
16 | reject(Error(error));
17 | return;
18 | }
19 | resolve(data);
20 | };
21 | fn.apply(caller, args.concat(callback));
22 | });
23 | };
24 | }
25 |
26 | var module$1 = {};
27 |
28 | ['csv', 'tsv', 'json', 'xml', 'text', 'html'].forEach(function (fnName) {
29 | module$1[fnName] = promisify(d3, d3[fnName]);
30 | });
31 |
32 | return module$1;
33 |
34 | })));
35 | //# sourceMappingURL=d3.promise.js.map
36 |
--------------------------------------------------------------------------------
/dist/d3.promise.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":null,"sources":["../src/main.js"],"sourcesContent":["import * as d3 from 'd3-request';\n\nfunction promisify(caller, fn){\n return function(...args){\n return new Promise(function(resolve, reject){\n const callback = function(error, data){\n if(error){\n reject(Error(error));\n return;\n }\n resolve(data);\n };\n fn.apply(caller, args.concat(callback));\n });\n };\n}\n\nconst module = {};\n\n['csv', 'tsv', 'json', 'xml', 'text', 'html'].forEach(function(fnName){\n module[fnName] = promisify(d3, d3[fnName]);\n});\n\nexport default module;"],"names":["promisify","caller","fn","args","Promise","resolve","reject","callback","error","data","Error","apply","concat","module","forEach","fnName","d3"],"mappings":";;;;;;AAEA,SAASA,SAAT,CAAmBC,MAAnB,EAA2BC,EAA3B,EAA8B;SACrB,YAAiB;sCAALC,IAAK;UAAA;;;WACf,IAAIC,OAAJ,CAAY,UAASC,OAAT,EAAkBC,MAAlB,EAAyB;UACpCC,WAAW,SAAXA,QAAW,CAASC,KAAT,EAAgBC,IAAhB,EAAqB;YACjCD,KAAH,EAAS;iBACAE,MAAMF,KAAN,CAAP;;;gBAGMC,IAAR;OALF;SAOGE,KAAH,CAASV,MAAT,EAAiBE,KAAKS,MAAL,CAAYL,QAAZ,CAAjB;KARK,CAAP;GADF;;;AAcF,IAAMM,WAAS,EAAf;;AAEA,CAAC,KAAD,EAAQ,KAAR,EAAe,MAAf,EAAuB,KAAvB,EAA8B,MAA9B,EAAsC,MAAtC,EAA8CC,OAA9C,CAAsD,UAASC,MAAT,EAAgB;WAC7DA,MAAP,IAAiBf,UAAUgB,EAAV,EAAcA,GAAGD,MAAH,CAAd,CAAjB;CADF,EAIA,AAAeF,AAAf;;;;"}
--------------------------------------------------------------------------------
/dist/d3.promise.min.js:
--------------------------------------------------------------------------------
1 | !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("d3-request")):"function"==typeof define&&define.amd?define(["d3-request"],n):(e.d3=e.d3||{},e.d3.promise=n(e.d3))}(this,function(e){"use strict";function n(e,n){return function(){for(var t=arguments.length,r=Array(t),o=0;t>o;o++)r[o]=arguments[o];return new Promise(function(t,o){var u=function(e,n){return e?void o(Error(e)):void t(n)};n.apply(e,r.concat(u))})}}var t={};return["csv","tsv","json","xml","text","html"].forEach(function(r){t[r]=n(e,e[r])}),t});
--------------------------------------------------------------------------------
/example/data/test.csv:
--------------------------------------------------------------------------------
1 | name,score
2 | jim,1
3 | joe,2
4 | mary,3
--------------------------------------------------------------------------------
/example/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
23 |
24 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "d3.promise",
3 | "version": "2.0.0",
4 | "description": "d3.csv & friends that return promises instead of accepting callbacks",
5 | "main": "dist/d3.promise.min.js",
6 | "license": "Apache-2.0",
7 | "repository": {
8 | "type": "git",
9 | "url": "https://github.com/kristw/d3.promise"
10 | },
11 | "homepage": "https://github.com/kristw/d3.promise",
12 | "keywords": [
13 | "d3.promise",
14 | "d3"
15 | ],
16 | "dependencies": {
17 | "d3-request": "^1.0.2"
18 | },
19 | "devDependencies": {
20 | "babel-eslint": "^6.1.2",
21 | "babel-plugin-external-helpers": "^6.8.0",
22 | "babel-plugin-istanbul": "^2.0.1",
23 | "babel-preset-es2015": "^6.3.13",
24 | "babelrc-rollup": "^3.0.0",
25 | "pkgfiles": "^2.3.0",
26 | "rollup": "^0.34.7",
27 | "rollup-plugin-babel": "^2.6.1",
28 | "uglifyjs": "^2.4.10"
29 | },
30 | "scripts": {
31 | "version": "npm run build && git add -A dist",
32 | "postversion": "git push ; git push --tags; pkgfiles",
33 | "prepublish": "pkgfiles",
34 | "rollup": "rollup -c",
35 | "build": "npm run rollup && uglifyjs dist/d3.promise.js -m -c > dist/d3.promise.min.js"
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import babel from 'rollup-plugin-babel';
2 | import babelrc from 'babelrc-rollup';
3 |
4 | export default {
5 | entry: 'src/main.js',
6 | plugins: [
7 | babel(babelrc())
8 | ],
9 | external: id => false,
10 | targets: [
11 | {
12 | dest: 'dist/d3.promise.js',
13 | format: 'umd',
14 | moduleName: 'd3.promise',
15 | sourceMap: true
16 | }
17 | ]
18 | };
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import * as d3 from 'd3-request';
2 |
3 | function promisify(caller, fn){
4 | return function(...args){
5 | return new Promise(function(resolve, reject){
6 | const callback = function(error, data){
7 | if(error){
8 | reject(Error(error));
9 | return;
10 | }
11 | resolve(data);
12 | };
13 | fn.apply(caller, args.concat(callback));
14 | });
15 | };
16 | }
17 |
18 | const module = {};
19 |
20 | ['csv', 'tsv', 'json', 'xml', 'text', 'html'].forEach(function(fnName){
21 | module[fnName] = promisify(d3, d3[fnName]);
22 | });
23 |
24 | export default module;
--------------------------------------------------------------------------------