Scroll really slow on commit view
Scrolling is really slow on a commit view even with small diff. My Firefox JS log give me this :
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create application-5ec1aeb4604cbfbeff836f956308b0ed.js:32:28481
This refer to this line :
function hn(t,e){t=oo.rgb(t),e=oo.rgb(e);var i=t.r,n=t.g,r=t.b,s=e.r-i,o=e.g-n,a=e.b-r;return function(t){return"#"+ne(Math.round(i+s*t))+ne(Math.round(n+o*t))+ne(Math.round(r+a*t))}}function un(t){var e=[t.a,t.b],i=[t.c,t.d],n=fn(e),r=dn(e,i),s=fn(pn(i,e,-r))||0;e[0]*i[1]<i[0]*e[1]&&(e[0]*=-1,e[1]*=-1,n*=-1,r*=-1),this.rotate=(n?Math.atan2(e[1],e[0]):Math.atan2(-i[0],i[1]))*No,this.translate=[t.e,t.f],this.scale=[n,s],this.skew=s?Math.atan2(r,s)*No:0}function dn(t,e){return t[0]*e[0]+t[1]*e[1]}function fn(t){var e=Math.sqrt(dn(t,t));return e&&(t[0]/=e,t[1]/=e),e}function pn(t,e,i){return t[0]+=i*e[0],t[1]+=i*e[1],t}function gn(t,e){return e-=t=+t,function(i){return t+e*i}}function mn(t,e){var i,n=[],r=[],s=oo.transform(t),o=oo.transform(e),a=s.translate,l=o.translate,c=s.rotate,h=o.rotate,u=s.skew,d=o.skew,f=s.scale,p=o.scale;return a[0]!=l[0]||a[1]!=l[1]?(n.push("translate(",null,",",null,")"),r.push({i:1,x:gn(a[0],l[0])},{i:3,x:gn(a[1],l[1])})):l[0]||l[1]?n.push("translate("+l+")"):n.push(""),c!=h?(c-h>180?h+=360:h-c>180&&(c+=360),r.push({i:n.push(n.pop()+"rotate(",null,")")-2,x:gn(c,h)})):h&&n.push(n.pop()+"rotate("+h+")"),u!=d?r.push({i:n.push(n.pop()+"skewX(",null,")")-2,x:gn(u,d)}):d&&n.push(n.pop()+"skewX("+d+")"),f[0]!=p[0]||f[1]!=p[1]?(i=n.push(n.pop()+"scale(",null,",",null,")"),r.push({i:i-4,x:gn(f[0],p[0])},{i:i-2,x:gn(f[1],p[1])})):(1!=p[0]||1!=p[1])&&n.push(n.pop()+"scale("+p+")"),i=r.length,function(t){for(var e,s=-1;++s<i;)n[(e=r[s]).i]=e.x(t);return n.join("")}}function vn(t,e){var i,n={},r={};for(i in t)i in e?n[i]=wn(i)(t[i],e[i]):r[i]=t[i];for(i in e)i in t||(r[i]=e[i]);return function(t){for(i in n)r[i]=n[i](t);return r}}function yn(t,e){var i,n,r,s,o,a=0,l=0,c=[],h=[];for(t+="",e+="",Ha.lastIndex=0,n=0;i=Ha.exec(e);++n)i.index&&c.push(e.substring(a,l=i.index)),h.push({i:c.length,x:i[0]}),c.push(null),a=Ha.lastIndex;for(a<e.length&&c.push(e.substring(a)),n=0,s=h.length;(i=Ha.exec(t))&&s>n;++n)if(o=h[n],o.x==i[0]){if(o.i)if(null==c[o.i+1])for(c[o.i-1]+=o.x,c.splice(o.i,1),r=n+1;s>r;++r)h[r].i--;else for(c[o.i-1]+=o.x+c[o.i+1],c.splice(o.i,2),r=n+1;s>r;++r)h[r].i-=2;else if(null==c[o.i+1])c[o.i]=o.x;else for(c[o.i]=o.x+c[o.i+1],c.splice(o.i+1,1),r=n+1;s>r;++r)h[r].i--;h.splice(n,1),s--,n--}else o.x=gn(parseFloat(i[0]),parseFloat(o.x));for(;s>n;)o=h.pop(),null==c[o.i+1]?c[o.i]=o.x:(c[o.i]=o.x+c[o.i+1],c.splice(o.i+1,1)),s--;return 1===c.length?null==c[0]?(o=h[0].x,function(t){return o(t)+""}):function(){return e}:function(t){for(n=0;s>n;++n)c[(o=h[n]).i]=o.x(t);return c.join("")}}function bn(t,e){for(var i,n=oo.interpolators.length;--n>=0&&!(i=oo.interpolators[n](t,e)););return i}function wn(t){return"transform"==t?mn:bn}function Cn(t,e){var i,n=[],r=[],s=t.length,o=e.length,a=Math.min(t.length,e.length);for(i=0;a>i;++i)n.push(bn(t[i],e[i]));for(;s>i;++i)r[i]=t[i];for(;o>i;++i)r[i]=e[i];return function(t){for(i=0;a>i;++i)r[i]=n[i](t);return r}}function xn(t){return function(e){return 0>=e?0:e>=1?1:t(e)}}function An(t){return function(e){return 1-t(1-e)}}function _n(t){return function(e){return.5*(.5>e?t(2*e):2-t(2-2*e))}}function En(t){return t*t}function Fn(t){return t*t*t}function Dn(t){if(0>=t)return 0;if(t>=1)return 1;var e=t*t,i=e*t;return 4*(.5>t?i:3*(t-e)+i-.75)}function kn(t){return function(e){return Math.pow(e,t)}}function Sn(t){return 1-Math.cos(t*Ro/2)}function Bn(t){return Math.pow(2,10*(t-1))}function Mn(t){return 1-Math.sqrt(1-t*t)}function Tn(t,e){var i;return arguments.length<2&&(e=.45),arguments.length?i=e/(2*Ro)*Math.asin(1/t):(t=1,i=e/4),function(n){return 1+t*Math.pow(2,10*-n)*Math.sin(2*(n-i)*Ro/e)}}function $n(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}}function Ln(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Rn(t,e){t=oo.hcl(t),e=oo.hcl(e);var i=t.h,n=t.c,r=t.l,s=e.h-i,o=e.c-n,a=e.l-r;return isNaN(o)&&(o=0,n=isNaN(n)?e.c:n),isNaN(s)?(s=0,i=isNaN(i)?e.h:i):s>180?s-=360:-180>s&&(s+=360),function(t){return V(i+s*t,n+o*t,r+a*t)+""}}function In(t,e){t=oo.hsl(t),e=oo.hsl(e);var i=t.h,n=t.s,r=t.l,s=e.h-i,o=e.s-n,a=e.l-r;return isNaN(o)&&(o=0,n=isNaN(n)?e.s:n),isNaN(s)?(s=0,i=isNaN(i)?e.h:i):s>180?s-=360:-180>s&&(s+=360),function(t){return N(i+s*t,n+o*t,r+a*t)+""}}function Pn(t,e){t=oo.lab(t),e=oo.lab(e);var i=t.l,n=t.a,r=t.b,s=e.l-i,o=e.a-n,a=e.b-r;return function(t){return X(i+s*t,n+o*t,r+a*t)+""}}function Nn(t,e){return e-=t,function(i){return Math.round(t+e*i)}}function On(t,e){return e=e-(t=+t)?1/(e-t):0,function(i){return(i-t)*e}}function zn(t,e){return e=e-(t=+t)?1/(e-t):0,function(i){return Math.max(0,Math.min(1,(i-t)*e))}}function Hn(t){for(var e=t.source,i=t.target,n=Wn(e,i),r=[e];e!==n;)e=e.parent,r.push(e);for(var s=r.length;i!==n;)r.splice(s,0,i),i=i.parent;return r}function jn(t){for(var e=[],i=t.parent;null!=i;)e.push(t),t=i,i=i.parent;return e.push(t),e}function Wn(t,e){if(t===e)return t;for(var i=jn(t),n=jn(e),r=i.pop(),s=n.pop(),o=null;r===s;)o=r,r=i.pop(),s=n.pop();return o}function Un(t){t.fixed|=2}function qn(t){t.fixed&=-7}function Gn(t){t.fixed|=4,t.px=t.x,t.py=t.y}function Vn(t){t.fixed&=-5}function Yn(t,e,i){var n=0,r=0;if(t.charge=0,!t.leaf)for(var s,o=t.nodes,a=o.length,l=-1;++l<a;)s=o[l],null!=s&&(Yn(s,e,i),t.charge+=s.charge,n+=s.charge*s.cx,r+=s.charge*s.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var c=e*i[t.point.index];t.charge+=t.pointCharge=c,n+=c*t.point.x,r+=c*t.point.y}t.cx=n/t.charge,t.cy=r/t.charge}function Kn(t,e){return oo.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=Jn,t}function Xn(t){return t.children}function Qn(t){return t.value}function Zn(t,e){return e.value-t.value}function Jn(t){return oo.merge(t.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}function tr(t){return t.x}function er(t){return t.y}function ir(t,e,i){t.y0=e,t.y=i}function nr(t){return oo.range(t.length)}function rr(t){for(var e=-1,i=t[0].length,n=[];++e<i;)n[e]=0;return n}function sr(t){for(var e,i=1,n=0,r=t[0][1],s=t.length;s>i;++i)(e=t[i][1])>r&&(n=i,r=e);return n}function or(t){return t.reduce(ar,0)}function ar(t,e){return t+e[1]}function lr(t,e){return cr(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function cr(t,e){for(var i=-1,n=+t[0],r=(t[1]-n)/e,s=[];++i<=e;)s[i]=r*i+n;return s}function hr(t){return[oo.min(t),oo.max(t)]}function ur(t,e){return t.parent==e.parent?1:2}function dr(t){var e=t.children;return e&&e.length?e[0]:t._tree.thread}function fr(t){var e,i=t.children;return i&&(e=i.length)?i[e-1]:t._tree.thread}function pr(t,e){var i=t.children;if(i&&(r=i.length))for(var n,r,s=-1;++s<r;)e(n=pr(i[s],e),t)>0&&(t=n);return t}function gr(t,e){return t.x-e.x}function mr(t,e){return e.x-t.x}function vr(t,e){return t.depth-e.depth}function yr(t,e){function i(t,n){var r=t.children;if(r&&(o=r.length))for(var s,o,a=null,l=-1;++l<o;)s=r[l],i(s,a),a=s;e(t,n)}i(t,null)}function br(t){for(var e,i=0,n=0,r=t.children,s=r.length;--s>=0;)e=r[s]._tree,e.prelim+=i,e.mod+=i,i+=e.shift+(n+=e.change)}function wr(t,e,i){t=t._tree,e=e._tree;var n=i/(e.number-t.number);t.change+=n,e.change-=n,e.shift+=i,e.prelim+=i,e.mod+=i}function Cr(t,e,i){return t._tree.ancestor.parent==e.parent?t._tree.ancestor:i}function xr(t,e){return t.value-e.value}function Ar(t,e){var i=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=i,i._pack_prev=e}function _r(t,e){t._pack_next=e,e._pack_prev=t}function Er(t,e){var i=e.x-t.x,n=e.y-t.y,r=t.r+e.r;return r*r-i*i-n*n>.001}function Fr(t){function e(t){h=Math.min(t.x-t.r,h),u=Math.max(t.x+t.r,u),d=Math.min(t.y-t.r,d),f=Math.max(t.y+t.r,f)}if((i=t.children)&&(c=i.length)){var i,n,r,s,o,a,l,c,h=1/0,u=-1/0,d=1/0,f=-1/0;if(i.forEach(Dr),n=i[0],n.x=-n.r,n.y=0,e(n),c>1&&(r=i[1],r.x=r.r,r.y=0,e(r),c>2))for(s=i[2],Br(n,r,s),e(s),Ar(n,s),n._pack_prev=s,Ar(s,r),r=n._pack_next,o=3;c>o;o++){Br(n,r,s=i[o]);var p=0,g=1,m=1;for(a=r._pack_next;a!==r;a=a._pack_next,g++)if(Er(a,s)){p=1;break}if(1==p)for(l=n._pack_prev;l!==a._pack_prev&&!Er(l,s);l=l._pack_prev,m++);p?(m>g||g==m&&r.r<n.r?_r(n,r=a):_r(n=l,r),o--):(Ar(n,s),r=s,e(s))}var v=(h+u)/2,y=(d+f)/2,b=0;for(o=0;c>o;o++)s=i[o],s.x-=v,s.y-=y,b=Math.max(b,s.r+Math.sqrt(s.x*s.x+s.y*s.y));t.r=b,i.forEach(kr)}}function Dr(t){t._pack_next=t._pack_prev=t}function kr(t){delete t._pack_next,delete t._pack_prev}function Sr(t,e,i,n){var r=t.children;if(t.x=e+=n*t.x,t.y=i+=n*t.y,t.r*=n,r)for(var s=-1,o=r.length;++s<o;)Sr(r[s],e,i,n)}function Br(t,e,i){var n=t.r+i.r,r=e.x-t.x,s=e.y-t.y;if(n&&(r||s)){var o=e.r+i.r,a=r*r+s*s;o*=o,n*=n;var l=.5+(n-o)/(2*a),c=Math.sqrt(Math.max(0,2*o*(n+a)-(n-=a)*n-o*o))/(2*a);i.x=t.x+l*r+c*s,i.y=t.y+l*s-c*r}else i.x=t.x+n,i.y=t.y}function Mr(t){return 1+oo.max(t,function(t){return t.y})}function Tr(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}function $r(t){var e=t.children;return e&&e.length?$r(e[0]):t}function Lr(t){var e,i=t.children;return i&&(e=i.length)?Lr(i[e-1]):t}function Rr(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Ir(t,e){var i=t.x+e[3],n=t.y+e[0],r=t.dx-e[1]-e[3],s=t.dy-e[0]-e[2];return 0>r&&(i+=r/2,r=0),0>s&&(n+=s/2,s=0),{x:i,y:n,dx:r,dy:s}}function Pr(t){var e=t[0],i=t[t.length-1];return i>e?[e,i]:[i,e]}function Nr(t){return t.rangeExtent?t.rangeExtent():Pr(t.range())}function Or(t,e,i,n){var r=i(t[0],t[1]),s=n(e[0],e[1]);return function(t){return s(r(t))}}function zr(t,e){var i,n=0,r=t.length-1,s=t[n],o=t[r];return s>o&&(i=n,n=r,r=i,i=s,s=o,o=i),(e=e(o-s))&&(t[n]=e.floor(s),t[r]=e.ceil(o)),t}function Hr(t,e,i,n){var r=[],s=[],o=0,a=Math.min(t.length,e.length)-1;for(t[a]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<=a;)r.push(i(t[o-1],t[o])),s.push(n(e[o-1],e[o]));return function(e){var i=oo.bisect(t,e,1,a)-1;return s[i](r[i](e))}}function jr(t,e,i,n){function r(){var r=Math.min(t.length,e.length)>2?Hr:Or,l=n?zn:On;return o=r(t,e,l,i),a=r(e,t,l,bn),s}function s(t){return o(t)}var o,a;return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),r()):t},s.range=function(t){return arguments.length?(e=t,r()):e},s.rangeRound=function(t){return s.range(t).interpolate(Nn)},s.clamp=function(t){return arguments.length?(n=t,r()):n},s.interpolate=function(t){return arguments.length?(i=t,r()):i},s.ticks=function(e){return Gr(t,e)},s.tickFormat=function(e,i){return Vr(t,e,i)},s.nice=function(){return zr(t,Ur),r()},s.copy=function(){return jr(t,e,i,n)},r()}function Wr(t,e){return oo.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Ur(t){return t=Math.pow(10,Math.round(Math.log(t)/Math.LN10)-1),t&&{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}}function qr(t,e){var i=Pr(t),n=i[1]-i[0],r=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),s=e/n*r;return.15>=s?r*=10:.35>=s?r*=5:.75>=s&&(r*=2),i[0]=Math.ceil(i[0]/r)*r,i[1]=Math.floor(i[1]/r)*r+.5*r,i[2]=r,i}function Gr(t,e){return oo.range.apply(oo,qr(t,e))}function Vr(t,e,i){var n=-Math.floor(Math.log(qr(t,e)[2])/Math.LN10+.01);return oo.format(i?i.replace(ia,function(t,e,i,r,s,o,a,l,c,h){return[e,i,r,s,o,a,l,c||"."+(n-2*("%"===h)),h].join("")}):",."+n+"f")}function Yr(t,e,i,n,r){function s(e){return t(i(e))}function o(){return i===Kr?{floor:a,ceil:l}:{floor:function(t){return-l(-t)},ceil:function(t){return-a(-t)}}}function a(t){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}function l(t){return Math.pow(e,Math.ceil(Math.log(t)/Math.log(e)))}return s.invert=function(e){return n(t.invert(e))},s.domain=function(e){return arguments.length?(e[0]<0?(i=Qr,n=Zr):(i=Kr,n=Xr),t.domain((r=e.map(Number)).map(i)),s):r},s.base=function(t){return arguments.length?(e=+t,s):e},s.nice=function(){return t.domain(zr(r,o).map(i)),s},s.ticks=function(){var r=Pr(t.domain()),s=[];if(r.every(isFinite)){var o=Math.log(e),a=Math.floor(r[0]/o),l=Math.ceil(r[1]/o),c=n(r[0]),h=n(r[1]),u=e%1?2:e;if(i===Qr)for(s.push(-Math.pow(e,-a));a++<l;)for(var d=u-1;d>0;d--)s.push(-Math.pow(e,-a)*d);else{for(;l>a;a++)for(var d=1;u>d;d++)s.push(Math.pow(e,a)*d);s.push(Math.pow(e,a))}for(a=0;s[a]<c;a++);for(l=s.length;s[l-1]>h;l--);s=s.slice(a,l)}return s},s.tickFormat=function(t,r){if(arguments.length<2&&(r=Xa),!arguments.length)return r;var o,a=Math.log(e),l=Math.max(.1,t/s.ticks().length),c=i===Qr?(o=-1e-12,Math.floor):(o=1e-12,Math.ceil);return function(t){return t/n(a*c(i(t)/a+o))<=l?r(t):""}},s.copy=function(){return Yr(t.copy(),e,i,n,r)},Wr(s,t)}function Kr(t){return Math.log(0>t?0:t)}function Xr(t){return Math.exp(t)}function Qr(t){return-Math.log(t>0?0:-t)}function Zr(t){return-Math.exp(-t)}function Jr(t,e,i){function n(e){return t(r(e))}var r=ts(e),s=ts(1/e);return n.invert=function(e){return s(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain((i=e.map(Number)).map(r)),n):i},n.ticks=function(t){return Gr(i,t)},n.tickFormat=function(t,e){return Vr(i,t,e)},n.nice=function(){return n.domain(zr(i,Ur))},n.exponent=function(o){return arguments.length?(r=ts(e=o),s=ts(1/e),t.domain(i.map(r)),n):e},n.copy=function(){return Jr(t.copy(),e,i)},Wr(n,t)}function ts(t){return function(e){return 0>e?-Math.pow(-e,t):Math.pow(e,t)}}function es(t,e){function i(e){return o[((s.get(e)||s.set(e,t.push(e)))-1)%o.length]}function n(e,i){return oo.range(t.length).map(function(t){return e+i*t})}var s,o,a;return i.domain=function(n){if(!arguments.length)return t;t=[],s=new r;for(var o,a=-1,l=n.length;++a<l;)s.has(o=n[a])||s.set(o,t.push(o));return i[e.t].apply(i,e.a)},i.range=function(t){return arguments.length?(o=t,a=0,e={t:"range",a:arguments},i):o},i.rangePoints=function(r,s){arguments.length<2&&(s=0);var l=r[0],c=r[1],h=(c-l)/(Math.max(1,t.length-1)+s);return o=n(t.length<2?(l+c)/2:l+h*s/2,h),a=0,e={t:"rangePoints",a:arguments},i},i.rangeBands=function(r,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var c=r[1]<r[0],h=r[c-0],u=r[1-c],d=(u-h)/(t.length-s+2*l);return o=n(h+d*l,d),c&&o.reverse(),a=d*(1-s),e={t:"rangeBands",a:arguments},i},i.rangeRoundBands=function(r,s,l){arguments.length<2&&(s=0),arguments.length<3&&(l=s);var c=r[1]<r[0],h=r[c-0],u=r[1-c],d=Math.floor((u-h)/(t.length-s+2*l)),f=u-h-(t.length-s)*d;return o=n(h+Math.round(f/2),d),c&&o.reverse(),a=Math.round(d*(1-s)),e={t:"rangeRoundBands",a:arguments},i},i.rangeBand=function(){return a},i.rangeExtent=function(){return Pr(e.a[0])},i.copy=function(){return es(t,e)},i.domain(t)}function is(t,e){function i(){var i=0,s=e.length;for(r=[];++i<s;)r[i-1]=oo.quantile(t,i/s);return n}function n(t){return isNaN(t=+t)?0/0:e[oo.bisect(r,t)]}var r;return n.domain=function(e){return arguments.length?(t=e.filter(function(t){return!isNaN(t)}).sort(oo.ascending),i()):t},n.range=function(t){return arguments.length?(e=t,i()):e},n.quantiles=function(){return r},n.copy=function(){return is(t,e)},i()}function ns(t,e,i){function n(e){return i[Math.max(0,Math.min(o,Math.floor(s*(e-t))))]}function r(){return s=i.length/(e-t),o=i.length-1,n}var s,o;return n.domain=function(i){return arguments.length?(t=+i[0],e=+i[i.length-1],r()):[t,e]},n.range=function(t){return arguments.length?(i=t,r()):i},n.copy=function(){return ns(t,e,i)},r()}function rs(t,e){function i(i){return e[oo.bisect(t,i)]}return i.domain=function(e){return arguments.length?(t=e,i):t},i.range=function(t){return arguments.length?(e=t,i):e},i.copy=function(){return rs(t,e)},i}function ss(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(i){return arguments.length?(t=i.map(e),e):t},e.ticks=function(e){return Gr(t,e)},e.tickFormat=function(e,i){return Vr(t,e,i)},e.copy=function(){return ss(t)},e}function os(t){return t.innerRadius}function as(t){return t.outerRadius}function ls(t){return t.startAngle}function cs(t){return t.endAngle}function hs(t){for(var e,i,n,r=-1,s=t.length;++r<s;)e=t[r],i=e[0],n=e[1]+el,e[0]=i*Math.cos(n),e[1]=i*Math.sin(n);return t}function us(t){function e(e){function l(){g.push("M",a(t(v),u),h,c(t(m.reverse()),u),"Z")}for(var d,f,p,g=[],m=[],v=[],y=-1,b=e.length,w=ce(i),C=ce(r),x=i===n?function(){return f}:ce(n),A=r===s?function(){return p}:ce(s);++y<b;)o.call(this,d=e[y],y)?(m.push([f=+w.call(this,d,y),p=+C.call(this,d,y)]),v.push([+x.call(this,d,y),+A.call(this,d,y)])):m.length&&(l(),m=[],v=[]);return m.length&&l(),g.length?g.join(""):null}var i=Li,n=Li,r=0,s=Ri,o=Pe,a=Ii,l=a.key,c=a,h="L",u=.7;return e.x=function(t){return arguments.length?(i=n=t,e):n},e.x0=function(t){return arguments.length?(i=t,e):i},e.x1=function(t){return arguments.length?(n=t,e):n},e.y=function(t){return arguments.length?(r=s=t,e):s},e.y0=function(t){return arguments.length?(r=t,e):r},e.y1=function(t){return arguments.length?(s=t,e):s},e.defined=function(t){return arguments.length?(o=t,e):o},e.interpolate=function(t){return arguments.length?(l="function"==typeof t?a=t:(a=Ra.get(t)||Ii).key,c=a.reverse||a,h=a.closed?"M":"L",e):l},e.tension=function(t){return arguments.length?(u=t,e):u},e}function ds(t){return t.radius}function fs(t){return[t.x,t.y]}function ps(t){return function(){var e=t.apply(this,arguments),i=e[0],n=e[1]+el;return[i*Math.cos(n),i*Math.sin(n)]}}function gs(){return 64}function ms(){return"circle"}function vs(t){var e=Math.sqrt(t/Ro);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}function ys(t,e){return bo(t,al),t.id=e,t}function bs(t,e,i,n){var r=t.id;return $(t,"function"==typeof i?function(t,s,o){t.__transition__[r].tween.set(e,n(i.call(t,t.__data__,s,o)))}:(i=n(i),function(t){t.__transition__[r].tween.set(e,i)}))}function ws(t){return null==t&&(t=""),function(){this.textContent=t}}function Cs(t,e,i,n){var s=t.__transition__||(t.__transition__={active:0,count:0}),o=s[i];if(!o){var a=n.time;return o=s[i]={tween:new r,event:oo.dispatch("start","end"),time:a,ease:n.ease,delay:n.delay,duration:n.duration},++s.count,oo.timer(function(n){function r(n){return s.active>i?c():(s.active=i,d.start.call(t,h,e),o.tween.forEach(function(i,n){(n=n.call(t,h,e))&&g.push(n)}),l(n)||oo.timer(l,0,a),1)}function l(n){if(s.active!==i)return c();for(var r=(n-f)/p,o=u(r),a=g.length;a>0;)g[--a].call(t,o);return r>=1?(c(),d.end.call(t,h,e),1):void 0}function c(){return--s.count?delete s[i]:delete t.__transition__,1}var h=t.__data__,u=o.ease,d=o.event,f=o.delay,p=o.duration,g=[];return n>=f?r(n):oo.timer(r,f,a),1},0,a),o}}function xs(t,e){t.attr("transform",function(t){return"translate("+e(t)+",0)"})}function As(t,e){t.attr("transform",function(t){return"translate(0,"+e(t)+")"})}function _s(t,e,i){if(n=[],i&&e.length>1){for(var n,r,s,o=Pr(t.domain()),a=-1,l=e.length,c=(e[1]-e[0])/++i;++a<l;)for(r=i;--r>0;)(s=+e[a]-r*c)>=o[0]&&n.push(s);for(--a,r=0;++r<i&&(s=+e[a]+r*c)<o[1];)n.push(s)}return n}function Es(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Fs(t,e,i){function n(e){var i=t(e),n=s(i,1);return n-e>e-i?i:n}function r(i){return e(i=t(new pl(i-1)),1),i}function s(t,i){return e(t=new pl(+t),i),t}function o(t,n,s){var o=r(t),a=[];if(s>1)for(;n>o;)i(o)%s||a.push(new Date(+o)),e(o,1);else for(;n>o;)a.push(new Date(+o)),e(o,1);return a}function a(t,e,i){try{pl=Es;var n=new Es;return n._=t,o(n,e,i)}finally{pl=Date}}t.floor=t,t.round=n,t.ceil=r,t.offset=s,t.range=o;var l=t.utc=Ds(t);return l.floor=l,l.round=Ds(n),l.ceil=Ds(r),l.offset=Ds(s),l.range=a,t}function Ds(t){return function(e,i){try{pl=Es;var n=new Es;return n._=e,t(n,i)._}finally{pl=Date}}}function ks(t,e,i,n){for(var r,s,o=0,a=e.length,l=i.length;a>o;){if(n>=l)return-1;if(r=e.charCodeAt(o++),37===r){if(s=Tl[e.charAt(o++)],!s||(n=s(t,i,n))<0)return-1}else if(r!=i.charCodeAt(n++))return-1}return n}function Ss(t){return new RegExp("^(?:"+t.map(oo.requote).join("|")+")","i")}function Bs(t){for(var e=new r,i=-1,n=t.length;++i<n;)e.set(t[i].toLowerCase(),i);return e}function Ms(t,e,i){t+="";var n=t.length;return i>n?new Array(i-n+1).join(e)+t:t}function Ts(t,e,i){El.lastIndex=0;var n=El.exec(e.substring(i));return n?i+=n[0].length:-1}function $s(t,e,i){_l.lastIndex=0;var n=_l.exec(e.substring(i));return n?i+=n[0].length:-1}function Ls(t,e,i){kl.lastIndex=0;var n=kl.exec(e.substring(i));return n?(t.m=Sl.get(n[0].toLowerCase()),i+=n[0].length):-1}function Rs(t,e,i){Fl.lastIndex=0;var n=Fl.exec(e.substring(i));return n?(t.m=Dl.get(n[0].toLowerCase()),i+=n[0].length):-1}function Is(t,e,i){return ks(t,Ml.c.toString(),e,i)}function Ps(t,e,i){return ks(t,Ml.x.toString(),e,i)}function Ns(t,e,i){return ks(t,Ml.X.toString(),e,i)}function Os(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+4));return n?(t.y=+n[0],i+=n[0].length):-1}function zs(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.y=Hs(+n[0]),i+=n[0].length):-1}function Hs(t){return t+(t>68?1900:2e3)}function js(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.m=n[0]-1,i+=n[0].length):-1}function Ws(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.d=+n[0],i+=n[0].length):-1}function Us(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.H=+n[0],i+=n[0].length):-1}function qs(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.M=+n[0],i+=n[0].length):-1}function Gs(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+2));return n?(t.S=+n[0],i+=n[0].length):-1}function Vs(t,e,i){$l.lastIndex=0;var n=$l.exec(e.substring(i,i+3));return n?(t.L=+n[0],i+=n[0].length):-1}function Ys(t,e,i){var n=Ll.get(e.substring(i,i+=2).toLowerCase());return null==n?-1:(t.p=n,i)}function Ks(t){var e=t.getTimezoneOffset(),i=e>0?"-":"+",n=~~(Math.abs(e)/60),r=Math.abs(e)%60;return i+Ms(n,"0",2)+Ms(r,"0",2)}function Xs(t){return t.toISOString()}function Qs(t,e,i){function n(e){return t(e)}return n.invert=function(e){return Zs(t.invert(e))},n.domain=function(e){return arguments.length?(t.domain(e),n):t.domain().map(Zs)},n.nice=function(t){return n.domain(zr(n.domain(),function(){return t}))},n.ticks=function(i,r){var s=Pr(n.domain());if("function"!=typeof i){var o=s[1]-s[0],a=o/i,l=oo.bisect(Il,a);if(l==Il.length)return e.year(s,i);if(!l)return t.ticks(i).map(Zs);Math.log(a/Il[l-1])<Math.log(Il[l]/a)&&--l,i=e[l],r=i[1],i=i[0].range}return i(s[0],new Date(+s[1]+1),r)},n.tickFormat=function(){return i},n.copy=function(){return Qs(t.copy(),e,i)},Wr(n,t)}function Zs(t){return new Date(t)}function Js(t){return function(e){for(var i=t.length-1,n=t[i];!n[1](e);)n=t[--i];return n[0](e)}}function to(t){var e=new Date(t,0,1);return e.setFullYear(t),e}function eo(t){var e=t.getFullYear(),i=to(e),n=to(e+1);return e+(t-i)/(n-i)}function io(t){var e=new Date(Date.UTC(t,0,1));return e.setUTCFullYear(t),e}function no(t){var e=t.getUTCFullYear(),i=io(e),n=io(e+1);return e+(t-i)/(n-i)}function ro(t){return JSON.parse(t.responseText)}function so(t){var e=ao.createRange();return e.selectNode(ao.body),e.createContextualFragment(t.responseText)}var oo={version:"3.1.10"};Date.now||(Date.now=function(){return+new Date});var ao=document,lo=window;try{ao.createElement("div").style.setProperty("opacity",0,"")}catch(co){var ho=lo.CSSStyleDeclaration.prototype,uo=ho.setProperty;ho.setProperty=function(t,e,i){uo.call(this,t,e+"",i)}}oo.ascending=function(t,e){return e>t?-1:t>e?1:t>=e?0:0/0},oo.descending=function(t,e){return t>e?-1:e>t?1:e>=t?0:0/0},oo.min=function(t,e){var i,n,r=-1,s=t.length;if(1===arguments.length){for(;++r<s&&(null==(i=t[r])||i!=i);)i=void 0;for(;++r<s;)null!=(n=t[r])&&i>n&&(i=n)}else{for(;++r<s&&(null==(i=e.call(t,t[r],r))||i!=i);)i=void 0;for(;++r<s;)null!=(n=e.call(t,t[r],r))&&i>n&&(i=n)}return i},oo.max=function(t,e){var i,n,r=-1,s=t.length;if(1===arguments.length){for(;++r<s&&(null==(i=t[r])||i!=i);)i=void 0;for(;++r<s;)null!=(n=t[r])&&n>i&&(i=n)}else{for(;++r<s&&(null==(i=e.call(t,t[r],r))||i!=i);)i=void 0;for(;++r<s;)null!=(n=e.call(t,t[r],r))&&n>i&&(i=n)}return i},oo.extent=function(t,e){var i,n,r,s=-1,o=t.length;if(1===arguments.length){for(;++s<o&&(null==(i=r=t[s])||i!=i);)i=r=void 0;for(;++s<o;)null!=(n=t[s])&&(i>n&&(i=n),n>r&&(r=n))}else{for(;++s<o&&(null==(i=r=e.call(t,t[s],s))||i!=i);)i=void 0;for(;++s<o;)null!=(n=e.call(t,t[s],s))&&(i>n&&(i=n),n>r&&(r=n))}return[i,r]},oo.sum=function(t,e){var i,n=0,r=t.length,s=-1;if(1===arguments.length)for(;++s<r;)isNaN(i=+t[s])||(n+=i);else for(;++s<r;)isNaN(i=+e.call(t,t[s],s))||(n+=i);return n},oo.mean=function(e,i){var n,r=e.length,s=0,o=-1,a=0;if(1===arguments.length)for(;++o<r;)t(n=e[o])&&(s+=(n-s)/++a);else for(;++o<r;)t(n=i.call(e,e[o],o))&&(s+=(n-s)/++a);return a?s:void 0},oo.quantile=function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),r=+t[n-1],s=i-n;return s?r+s*(t[n]-r):r},oo.median=function(e,i){return arguments.length>1&&(e=e.map(i)),e=e.filter(t),e.length?oo.quantile(e.sort(oo.ascending),.5):void 0},oo.bisector=function(t){return{left:function(e,i,n,r){for(arguments.length<3&&(n=0),arguments.length<4&&(r=e.length);r>n;){var s=n+r>>>1;t.call(e,e[s],s)<i?n=s+1:r=s}return n},right:function(e,i,n,r){for(arguments.length<3&&(n=0),arguments.length<4&&(r=e.length);r>n;){var s=n+r>>>1;i<t.call(e,e[s],s)?r=s:n=s+1}return n}}};var fo=oo.bisector(function(t){return t});oo.bisectLeft=fo.left,oo.bisect=oo.bisectRight=fo.right,oo.shuffle=function(t){for(var e,i,n=t.length;n;)i=Math.random()*n--|0,e=t[n],t[n]=t[i],t[i]=e;return t},oo.permute=function(t,e){for(var i=[],n=-1,r=e.length;++n<r;)i[n]=t[e[n]];return i},oo.zip=function(){if(!(r=arguments.length))return[];for(var t=-1,i=oo.min(arguments,e),n=new Array(i);++t<i;)for(var r,s=-1,o=n[t]=new Array(r);++s<r;)o[s]=arguments[s][t];return n},oo.transpose=function(t){return oo.zip.apply(oo,t)},oo.keys=function(t){var e=[];for(var i in t)e.push(i);return e},oo.values=function(t){var e=[];for(var i in t)e.push(t[i]);return e},oo.entries=function(t){var e=[];for(var i in t)e.push({key:i,value:t[i]});return e},oo.merge=function(t){return Array.prototype.concat.apply([],t)},oo.range=function(t,e,n){if(arguments.length<3&&(n=1,arguments.length<2&&(e=t,t=0)),(e-t)/n===1/0)throw new Error("infinite range");var r,s=[],o=i(Math.abs(n)),a=-1;if(t*=o,e*=o,n*=o,0>n)for(;(r=t+n*++a)>e;)s.push(r/o);else for(;(r=t+n*++a)<e;)s.push(r/o);return s},oo.map=function(t){var e=new r;for(var i in t)e.set(i,t[i]);return e},n(r,{has:function(t){return po+t in this},get:function(t){return this[po+t]},set:function(t,e){return this[po+t]=e},remove:function(t){return t=po+t,t in this&&delete this[t]},keys:function(){var t=[];return this.forEach(function(e){t.push(e)}),t},values:function(){var t=[];return this.forEach(function(e,i){t.push(i)}),t},entries:function(){var t=[];return this.forEach(function(e,i){t.push({key:e,value:i})}),t},forEach:function(t){for(var e in this)e.charCodeAt(0)===go&&t.call(this,e.substring(1),this[e])}});var po="\x00",go=po.charCodeAt(0);oo.nest=function(){function t(e,a,l){if(l>=o.length)return n?n.call(s,a):i?a.sort(i):a;for(var c,h,u,d,f=-1,p=a.length,g=o[l++],m=new r;++f<p;)(d=m.get(c=g(h=a[f])))?d.push(h):m.set(c,[h]);return e?(h=e(),u=function(i,n){h.set(i,t(e,n,l))}):(h={},u=function(i,n){h[i]=t(e,n,l)}),m.forEach(u),h}function e(t,i){if(i>=o.length)return t;var n=[],r=a[i++];return t.forEach(function(t,r){n.push({key:t,values:e(r,i)})}),r?n.sort(function(t,e){return r(t.key,e.key)}):n}var i,n,s={},o=[],a=[];return s.map=function(e,i){return t(i,e,0)},s.entries=function(i){return e(t(oo.map,i,0),0)},s.key=function(t){return o.push(t),s},s.sortKeys=function(t){return a[o.length-1]=t,s},s.sortValues=function(t){return i=t,s},s.rollup=function(t){return n=t,s},s},oo.set=function(t){var e=new s;if(t)for(var i=0;i<t.length;i++)e.add(t[i]);return e},n(s,{has:function(t){return po+t in this},add:function(t){return this[po+t]=!0,t},remove:function(t){return t=po+t,t in this&&delete this[t]},values:function(){var t=[];return this.forEach(function(e){t.push(e)}),t},forEach:function(t){for(var e in this)e.charCodeAt(0)===go&&t.call(this,e.substring(1))}}),oo.behavior={},oo.rebind=function(t,e){for(var i,n=1,r=arguments.length;++n<r;)t[i=arguments[n]]=o(t,e,e[i]);return t},oo.dispatch=function(){for(var t=new a,e=-1,i=arguments.length;++e<i;)t[arguments[e]]=l(t);return t},a.prototype.on=function(t,e){var i=t.indexOf("."),n="";if(i>=0&&(n=t.substring(i+1),t=t.substring(0,i)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},oo.event=null,oo.mouse=function(t){return f(t,h())};var mo=/WebKit/.test(lo.navigator.userAgent)?-1:0,vo=g;try{vo(ao.documentElement.childNodes)[0].nodeType}catch(yo){vo=p}var bo=[].__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var i in e)t[i]=e[i]};oo.touches=function(t,e){return arguments.length<2&&(e=h().touches),e?vo(e).map(function(e){var i=f(t,e);return i.identifier=e.identifier,i}):[]},oo.behavior.drag=function(){function t(){this.on("mousedown.drag",e).on("touchstart.drag",e)}function e(){function t(){var t=o.parentNode;return null!=h?oo.touches(t).filter(function(t){return t.identifier===h})[0]:oo.mouse(t)}function e(){if(!o.parentNode)return r();var e=t(),i=e[0]-d[0],n=e[1]-d[1];f|=i|n,d=e,c(),a({type:"drag",x:e[0]+s[0],y:e[1]+s[1],dx:i,dy:n})}function r(){a({type:"dragend"}),f&&(c(),oo.event.target===l&&u(p,"click")),p.on(null!=h?"touchmove.drag-"+h:"mousemove.drag",null).on(null!=h?"touchend.drag-"+h:"mouseup.drag",null)}var s,o=this,a=i.of(o,arguments),l=oo.event.target,h=oo.event.touches?oo.event.changedTouches[0].identifier:null,d=t(),f=0,p=oo.select(lo).on(null!=h?"touchmove.drag-"+h:"mousemove.drag",e).on(null!=h?"touchend.drag-"+h:"mouseup.drag",r,!0);n?(s=n.apply(o,arguments),s=[s.x-d[0],s.y-d[1]]):s=[0,0],null==h&&c(),a({type:"dragstart"})}var i=d(t,"drag","dragstart","dragend"),n=null;return t.origin=function(e){return arguments.length?(n=e,t):n},oo.rebind(t,i,"on")};var wo=function(t,e){return e.querySelector(t)},Co=function(t,e){return e.querySelectorAll(t)},xo=ao.documentElement,Ao=xo.matchesSelector||xo.webkitMatchesSelector||xo.mozMatchesSelector||xo.msMatchesSelector||xo.oMatchesSelector,_o=function(t,e){return Ao.call(t,e)};"function"==typeof Sizzle&&(wo=function(t,e){return Sizzle(t,e)[0]||null},Co=function(t,e){return Sizzle.uniqueSort(Sizzle(t,e))},_o=Sizzle.matchesSelector),oo.selection=function(){return Bo};var Eo=oo.selection.prototype=[];Eo.select=function(t){var e,i,n,r,s=[];"function"!=typeof t&&(t=v(t));for(var o=-1,a=this.length;++o<a;){s.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(r=n[l])?(e.push(i=t.call(r,r.__data__,l)),i&&"__data__"in r&&(i.__data__=r.__data__)):e.push(null)}return m(s)},Eo.selectAll=function(t){var e,i,n=[];"function"!=typeof t&&(t=y(t));for(var r=-1,s=this.length;++r<s;)for(var o=this[r],a=-1,l=o.length;++a<l;)(i=o[a])&&(n.push(e=vo(t.call(i,i.__data__,a))),e.parentNode=i);return m(n)};var Fo={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};oo.ns={prefix:Fo,qualify:function(t){var e=t.indexOf(":"),i=t;return e>=0&&(i=t.substring(0,e),t=t.substring(e+1)),Fo.hasOwnProperty(i)?{space:Fo[i],local:t}:t}},Eo.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var i=this.node();return t=oo.ns.qualify(t),t.local?i.getAttributeNS(t.space,t.local):i.getAttribute(t)}for(e in t)this.each(b(e,t[e]));return this}return this.each(b(t,e))},oo.requote=function(t){return t.replace(Do,"\\$&")};var Do=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;Eo.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var i=this.node(),n=(t=t.trim().split(/^|\s+/g)).length,r=-1;if(e=i.classList){for(;++r<n;)if(!e.contains(t[r]))return!1}else for(e=i.getAttribute("class");++r<n;)if(!C(t[r]).test(e))return!1;return!0}for(e in t)this.each(x(e,t[e]));return this}return this.each(x(t,e))},Eo.style=function(t,e,i){var n=arguments.length;if(3>n){if("string"!=typeof t){2>n&&(e="");for(i in t)this.each(_(i,t[i],e));return this}if(2>n)return lo.getComputedStyle(this.node(),null).getPropertyValue(t);i=""}return this.each(_(t,e,i))},Eo.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(E(e,t[e]));return this}return this.each(E(t,e))},Eo.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Eo.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Eo.append=function(t){function e(){return this.appendChild(ao.createElementNS(this.namespaceURI,t))}function i(){return this.appendChild(ao.createElementNS(t.space,t.local))