Passed
Push — master ( 7fa532...129142 )
by Ahmed
02:32
created

demo/d3.min.js   F

Complexity

Total Complexity 763
Complexity/F 2.04

Size

Lines of Code 2679
Function Count 374

Duplication

Duplicated Lines 14
Ratio 0.52 %

Importance

Changes 0
Metric Value
eloc 2189
dl 14
loc 2679
rs 0.8
c 0
b 0
f 0
wmc 763
mnd 389
bc 389
fnc 374
bpm 1.0401
cpm 2.04
noi 375

How to fix   Duplicated Code    Complexity   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

Complexity

 Tip:   Before tackling complexity, make sure that you eliminate any duplication first. This often can reduce the size of classes significantly.

Complex classes like demo/d3.min.js often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

1
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t=t||self).d3={})}(this,(function(t){"use strict";var n="http://www.w3.org/1999/xhtml",e={svg:"http://www.w3.org/2000/svg",xhtml:n,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function r(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),e.hasOwnProperty(n)?{space:e[n],local:t}:t}function i(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===n&&e.documentElement.namespaceURI===n?e.createElement(t):e.createElementNS(r,t)}}function o(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function a(t){var n=r(t);return(n.local?o:i)(n)}function u(){}function s(t){return null==t?u:function(){return this.querySelector(t)}}function c(){return[]}function l(t){return new Array(t.length)}function h(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}h.prototype={constructor:h,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function f(t,n,e,r,i,o){for(var a,u=0,s=n.length,c=o.length;u<c;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new h(t,o[u]);for(;u<s;++u)(a=n[u])&&(i[u]=a)}function p(t,n,e,r,i,o,a){var u,s,c,l={},f=n.length,p=o.length,g=new Array(f);for(u=0;u<f;++u)(s=n[u])&&(g[u]=c="$"+a.call(s,s.__data__,u,n),c in l?i[u]=s:l[c]=s);for(u=0;u<p;++u)(s=l[c="$"+a.call(t,o[u],u,o)])?(r[u]=s,s.__data__=o[u],l[c]=null):e[u]=new h(t,o[u]);for(u=0;u<f;++u)(s=n[u])&&l[g[u]]===s&&(i[u]=s)}function g(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function d(t){return function(){this.removeAttribute(t)}}function m(t){return function(){this.removeAttributeNS(t.space,t.local)}}function y(t,n){return function(){this.setAttribute(t,n)}}function v(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function _(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function w(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function b(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function x(t){return function(){this.style.removeProperty(t)}}function M(t,n,e){return function(){this.style.setProperty(t,n,e)}}function k(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function N(t,n){return t.style.getPropertyValue(n)||b(t).getComputedStyle(t,null).getPropertyValue(n)}function A(t){return function(){delete this[t]}}function E(t,n){return function(){this[t]=n}}function S(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function P(t){return t.trim().split(/^|\s+/)}function T(t){return t.classList||new q(t)}function q(t){this._node=t,this._names=P(t.getAttribute("class")||"")}function C(t,n){for(var e=T(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function j(t,n){for(var e=T(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function L(t){return function(){C(this,t)}}function z(t){return function(){j(this,t)}}function O(t,n){return function(){(n.apply(this,arguments)?C:j)(this,t)}}function R(){this.textContent=""}function H(t){return function(){this.textContent=t}}function V(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function $(){this.innerHTML=""}function D(t){return function(){this.innerHTML=t}}function I(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function B(){this.nextSibling&&this.parentNode.appendChild(this)}function F(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function U(){return null}function X(){var t=this.parentNode;t&&t.removeChild(this)}function Y(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function G(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}q.prototype={add:function(t){this._names.indexOf(t)<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 Z={};(t.event=null,"undefined"!=typeof document)&&("onmouseenter"in document.documentElement||(Z={mouseenter:"mouseover",mouseleave:"mouseout"}));function K(t,n,e){return t=Q(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function Q(n,e,r){return function(i){var o=t.event;t.event=i;try{n.call(this,this.__data__,e,r)}finally{t.event=o}}}function J(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function W(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.capture);++i?n.length=i:delete this.__on}}}function tt(t,n,e){var r=Z.hasOwnProperty(t.type)?K:Q;return function(i,o,a){var u,s=this.__on,c=r(n,o,a);if(s)for(var l=0,h=s.length;l<h;++l)if((u=s[l]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=c,u.capture=e),void(u.value=n);this.addEventListener(t.type,c,e),u={type:t.type,name:t.name,value:n,listener:c,capture:e},s?s.push(u):this.__on=[u]}}function nt(n,e,r,i){var o=t.event;n.sourceEvent=t.event,t.event=n;try{return e.apply(r,i)}finally{t.event=o}}function et(t,n,e){var r=b(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function rt(t,n){return function(){return et(this,t,n)}}function it(t,n){return function(){return et(this,t,n.apply(this,arguments))}}var ot=[null];function at(t,n){this._groups=t,this._parents=n}function ut(t){return"string"==typeof t?new at([[document.querySelector(t)]],[document.documentElement]):new at([[t]],ot)}function st(){for(var n,e=t.event;n=e.sourceEvent;)e=n;return e}function ct(t,n){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=n.clientX,r.y=n.clientY,[(r=r.matrixTransform(t.getScreenCTM().inverse())).x,r.y]}var i=t.getBoundingClientRect();return[n.clientX-i.left-t.clientLeft,n.clientY-i.top-t.clientTop]}function lt(t){var n=st();return n.changedTouches&&(n=n.changedTouches[0]),ct(t,n)}function ht(t,n,e){arguments.length<3&&(e=n,n=st().changedTouches);for(var r,i=0,o=n?n.length:0;i<o;++i)if((r=n[i]).identifier===e)return ct(t,r);return null}function ft(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}at.prototype=function(){return new at([[document.documentElement]],ot)}.prototype={constructor:at,select:function(t){"function"!=typeof t&&(t=s(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a,u=n[i],c=u.length,l=r[i]=new Array(c),h=0;h<c;++h)(o=u[h])&&(a=t.call(o,o.__data__,h,u))&&("__data__"in o&&(a.__data__=o.__data__),l[h]=a);return new at(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=function(t){return null==t?c:function(){return this.querySelectorAll(t)}}(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,u=n[o],s=u.length,l=0;l<s;++l)(a=u[l])&&(r.push(t.call(a,a.__data__,l,u)),i.push(a));return new at(r,i)},filter:function(t){"function"!=typeof t&&(t=function(t){return function(){return this.matches(t)}}(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,s=r[i]=[],c=0;c<u;++c)(o=a[c])&&t.call(o,o.__data__,c,a)&&s.push(o);return new at(r,this._parents)},data:function(t,n){if(!t)return d=new Array(this.size()),c=-1,this.each((function(t){d[++c]=t})),d;var e=n?p:f,r=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var o=i.length,a=new Array(o),u=new Array(o),s=new Array(o),c=0;c<o;++c){var l=r[c],h=i[c],g=h.length,d=t.call(l,l&&l.__data__,c,r),m=d.length,y=u[c]=new Array(m),v=a[c]=new Array(m);e(l,h,y,v,s[c]=new Array(g),d,n);for(var _,w,b=0,x=0;b<m;++b)if(_=y[b]){for(b>=x&&(x=b+1);!(w=v[x])&&++x<m;);_._next=w||null}}return(a=new at(a,r))._enter=u,a._exit=s,a},enter:function(){return new at(this._enter||this._groups.map(l),this._parents)},exit:function(){return new at(this._exit||this._groups.map(l),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var s,c=n[u],l=e[u],h=c.length,f=a[u]=new Array(h),p=0;p<h;++p)(s=c[p]||l[p])&&(f[p]=s);for(;u<r;++u)a[u]=n[u];return new at(a,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=g);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var a,u=e[o],s=u.length,c=i[o]=new Array(s),l=0;l<s;++l)(a=u[l])&&(c[l]=a);c.sort(n)}return new at(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){var t=0;return this.each((function(){++t})),t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=r(t);if(arguments.length<2){var i=this.node();return e.local?i.getAttributeNS(e.space,e.local):i.getAttribute(e)}return this.each((null==n?e.local?m:d:"function"==typeof n?e.local?w:_:e.local?v:y)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?x:"function"==typeof n?k:M)(t,n,null==e?"":e)):N(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?A:"function"==typeof n?S:E)(t,n)):this.node()[t]},classed:function(t,n){var e=P(t+"");if(arguments.length<2){for(var r=T(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?O:n?L:z)(e,n))},text:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?V:H)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?$:("function"==typeof t?I:D)(t)):this.node().innerHTML},raise:function(){return this.each(B)},lower:function(){return this.each(F)},append:function(t){var n="function"==typeof t?t:a(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:a(t),r=null==n?U:"function"==typeof n?n:s(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(X)},clone:function(t){return this.select(t?G:Y)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=J(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?tt:W,null==e&&(e=!1),r=0;r<a;++r)this.each(u(o[r],n,e));return this}var u=this.node().__on;if(u)for(var s,c=0,l=u.length;c<l;++c)for(r=0,s=u[c];r<a;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?it:rt)(t,n))}};var pt,gt,dt=(1===(pt=ft).length&&(gt=pt,pt=function(t,n){return ft(gt(t),n)}),{left:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;pt(t[i],n)<0?e=i+1:r=i}return e},right:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;pt(t[i],n)>0?r=i:e=i+1}return e}}).right;var mt=Math.sqrt(50),yt=Math.sqrt(10),vt=Math.sqrt(2);function _t(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=mt?10:o>=yt?5:o>=vt?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=mt?10:o>=yt?5:o>=vt?2:1)}function wt(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function bt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function xt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Mt(){}var kt="\\s*([+-]?\\d+)\\s*",Nt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",At="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Et=/^#([0-9a-f]{3,8})$/,St=new RegExp("^rgb\\("+[kt,kt,kt]+"\\)$"),Pt=new RegExp("^rgb\\("+[At,At,At]+"\\)$"),Tt=new RegExp("^rgba\\("+[kt,kt,kt,Nt]+"\\)$"),qt=new RegExp("^rgba\\("+[At,At,At,Nt]+"\\)$"),Ct=new RegExp("^hsl\\("+[Nt,At,At]+"\\)$"),jt=new RegExp("^hsla\\("+[Nt,At,At,Nt]+"\\)$"),Lt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function zt(){return this.rgb().formatHex()}function Ot(){return this.rgb().formatRgb()}function Rt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Et.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?Ht(n):3===e?new It(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?Vt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?Vt(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=St.exec(t))?new It(n[1],n[2],n[3],1):(n=Pt.exec(t))?new It(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Tt.exec(t))?Vt(n[1],n[2],n[3],n[4]):(n=qt.exec(t))?Vt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Ct.exec(t))?Xt(n[1],n[2]/100,n[3]/100,1):(n=jt.exec(t))?Xt(n[1],n[2]/100,n[3]/100,n[4]):Lt.hasOwnProperty(t)?Ht(Lt[t]):"transparent"===t?new It(NaN,NaN,NaN,0):null}function Ht(t){return new It(t>>16&255,t>>8&255,255&t,1)}function Vt(t,n,e,r){return r<=0&&(t=n=e=NaN),new It(t,n,e,r)}function $t(t){return t instanceof Mt||(t=Rt(t)),t?new It((t=t.rgb()).r,t.g,t.b,t.opacity):new It}function Dt(t,n,e,r){return 1===arguments.length?$t(t):new It(t,n,e,null==r?1:r)}function It(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Bt(){return"#"+Ut(this.r)+Ut(this.g)+Ut(this.b)}function Ft(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function Ut(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Xt(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Gt(t,n,e,r)}function Yt(t){if(t instanceof Gt)return new Gt(t.h,t.s,t.l,t.opacity);if(t instanceof Mt||(t=Rt(t)),!t)return new Gt;if(t instanceof Gt)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,u=o-i,s=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e<r):e===o?(r-n)/u+2:(n-e)/u+4,u/=s<.5?o+i:2-o-i,a*=60):u=s>0&&s<1?0:a,new Gt(a,u,s,t.opacity)}function Gt(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Zt(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Kt(t){return function(){return t}}function Qt(t){return 1==(t=+t)?Jt:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Kt(isNaN(n)?e:n)}}function Jt(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):Kt(isNaN(t)?n:t)}bt(Mt,Rt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:zt,formatHex:zt,formatHsl:function(){return Yt(this).formatHsl()},formatRgb:Ot,toString:Ot}),bt(It,Dt,xt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new It(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bt,formatHex:Bt,formatRgb:Ft,toString:Ft})),bt(Gt,(function(t,n,e,r){return 1===arguments.length?Yt(t):new Gt(t,n,e,null==r?1:r)}),xt(Mt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Gt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Gt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new It(Zt(t>=240?t-240:t+120,i,r),Zt(t,i,r),Zt(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},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var Wt=function t(n){var e=Qt(n);function r(t,n){var r=e((t=Dt(t)).r,(n=Dt(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Jt(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function tn(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}}function nn(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),a=new Array(r);for(e=0;e<i;++e)o[e]=cn(t[e],n[e]);for(;e<r;++e)a[e]=n[e];return function(t){for(e=0;e<i;++e)a[e]=o[e](t);return a}}function en(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function rn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function on(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=cn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var an=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,un=new RegExp(an.source,"g");function sn(t,n){var e,r,i,o=an.lastIndex=un.lastIndex=0,a=-1,u=[],s=[];for(t+="",n+="";(e=an.exec(t))&&(r=un.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:rn(e,r)})),o=un.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})}function cn(t,n){var e,r=typeof n;return null==n||"boolean"===r?Kt(n):("number"===r?rn:"string"===r?(e=Rt(n))?(n=e,Wt):sn:n instanceof Rt?Wt:n instanceof Date?en:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?tn:Array.isArray(n)?nn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?on:rn)(t,n)}function ln(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}function hn(t){return+t}var fn=[0,1];function pn(t){return t}function gn(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function dn(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=gn(i,r),o=e(a,o)):(r=gn(r,i),o=e(o,a)),function(t){return o(r(t))}}function mn(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<r;)i[a]=gn(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=dt(t,n,1,r)-1;return o[e](i[e](n))}}function yn(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function vn(){var t,n,e,r,i,o,a=fn,u=fn,s=cn,c=pn;function l(){var t,n,e,s=Math.min(a.length,u.length);return c!==pn&&(t=a[0],n=a[s-1],t>n&&(e=t,t=n,n=e),c=function(e){return Math.max(t,Math.min(n,e))}),r=s>2?mn:dn,i=o=null,h}function h(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,s)))(t(c(n)))}return h.invert=function(e){return c(n((o||(o=r(u,a.map(t),rn)))(e)))},h.domain=function(t){return arguments.length?(a=Array.from(t,hn),l()):a.slice()},h.range=function(t){return arguments.length?(u=Array.from(t),l()):u.slice()},h.rangeRound=function(t){return u=Array.from(t),s=ln,l()},h.clamp=function(t){return arguments.length?(c=!!t||pn,l()):c!==pn},h.interpolate=function(t){return arguments.length?(s=t,l()):s},h.unknown=function(t){return arguments.length?(e=t,h):e},function(e,r){return t=e,n=r,l()}}function _n(){return vn()(pn,pn)}function wn(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)]}function bn(t){return(t=wn(Math.abs(t)))?t[1]:NaN}var xn,Mn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function kn(t){if(!(n=Mn.exec(t)))throw new Error("invalid format: "+t);var n;return new Nn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Nn(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function An(t,n){var e=wn(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")}kn.prototype=Nn.prototype,Nn.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var En={"%":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 An(100*t,n)},r:An,s:function(t,n){var e=wn(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(xn=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+wn(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function Sn(t){return t}var Pn,Tn,qn,Cn=Array.prototype.map,jn=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Ln(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Sn:(n=Cn.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],s=0;i>0&&u>0&&(s+u+1>r&&(u=Math.max(1,r-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?Sn:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(Cn.call(t.numerals,String)),s=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"-":t.minus+"",l=void 0===t.nan?"NaN":t.nan+"";function h(t){var n=(t=kn(t)).fill,e=t.align,h=t.sign,f=t.symbol,p=t.zero,g=t.width,d=t.comma,m=t.precision,y=t.trim,v=t.type;"n"===v?(d=!0,v="g"):En[v]||(void 0===m&&(m=12),y=!0,v="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var _="$"===f?i:"#"===f&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",w="$"===f?o:/[%p]/.test(v)?s:"",b=En[v],x=/[defgprs%]/.test(v);function M(t){var i,o,s,f=_,M=w;if("c"===v)M=b(t)+M,t="";else{var k=(t=+t)<0||1/t<0;if(t=isNaN(t)?l:b(Math.abs(t),m),y&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),k&&0==+t&&"+"!==h&&(k=!1),f=(k?"("===h?h:c:"-"===h||"("===h?"":h)+f,M=("s"===v?jn[8+xn/3]:"")+M+(k&&"("===h?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(s=t.charCodeAt(i))||s>57){M=(46===s?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}d&&!p&&(t=r(t,1/0));var N=f.length+t.length+M.length,A=N<g?new Array(g-N+1).join(n):"";switch(d&&p&&(t=r(A+t,A.length?g-M.length:1/0),A=""),e){case"<":t=f+t+M+A;break;case"=":t=f+A+t+M;break;case"^":t=A.slice(0,N=A.length>>1)+f+t+M+A.slice(N);break;default:t=A+f+t+M}return u(t)}return m=void 0===m?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,m)):Math.max(0,Math.min(20,m)),M.toString=function(){return t+""},M}return{format:h,formatPrefix:function(t,n){var e=h(((t=kn(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(bn(n)/3))),i=Math.pow(10,-r),o=jn[8+r/3];return function(t){return e(i*t)+o}}}}function zn(t,n,e,r){var i,o=function(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=mt?i*=10:o>=yt?i*=5:o>=vt&&(i*=2),n<t?-i:i}(t,n,e);switch((r=kn(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(bn(n)/3)))-bn(Math.abs(t)))}(o,a))||(r.precision=i),qn(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,bn(n)-bn(t))+1}(o,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-bn(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return Tn(r)}function On(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){var r,i,o,a,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(a=_t(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),o=new Array(i=Math.ceil(n-t+1));++u<i;)o[u]=(t+u)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),o=new Array(i=Math.ceil(t-n+1));++u<i;)o[u]=(t-u)/a;return r&&o.reverse(),o}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return zn(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],s=i[a];return s<u&&(r=u,u=s,s=r,r=o,o=a,a=r),(r=_t(u,s,e))>0?r=_t(u=Math.floor(u/r)*r,s=Math.ceil(s/r)*r,e):r<0&&(r=_t(u=Math.ceil(u*r)/r,s=Math.floor(s*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(s/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(s*r)/r,n(i)),t},t}Pn=Ln({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),Tn=Pn.format,qn=Pn.formatPrefix;var Rn=Array.prototype.slice;function Hn(t){return t}function Vn(t){return"translate("+(t+.5)+",0)"}function $n(t){return"translate(0,"+(t+.5)+")"}function Dn(t){return function(n){return+t(n)}}function In(t){var n=Math.max(0,t.bandwidth()-1)/2;return t.round()&&(n=Math.round(n)),function(e){return+t(e)+n}}function Bn(){return!this.__axis}function Fn(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,s=1===t||4===t?-1:1,c=4===t||2===t?"x":"y",l=1===t||3===t?Vn:$n;function h(h){var f=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):Hn:i,g=Math.max(o,0)+u,d=n.range(),m=+d[0]+.5,y=+d[d.length-1]+.5,v=(n.bandwidth?In:Dn)(n.copy()),_=h.selection?h.selection():h,w=_.selectAll(".domain").data([null]),b=_.selectAll(".tick").data(f,n).order(),x=b.exit(),M=b.enter().append("g").attr("class","tick"),k=b.select("line"),N=b.select("text");w=w.merge(w.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),b=b.merge(M),k=k.merge(M.append("line").attr("stroke","currentColor").attr(c+"2",s*o)),N=N.merge(M.append("text").attr("fill","currentColor").attr(c,s*g).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==_&&(w=w.transition(h),b=b.transition(h),k=k.transition(h),N=N.transition(h),x=x.transition(h).attr("opacity",1e-6).attr("transform",(function(t){return isFinite(t=v(t))?l(t):this.getAttribute("transform")})),M.attr("opacity",1e-6).attr("transform",(function(t){var n=this.parentNode.__axis;return l(n&&isFinite(n=n(t))?n:v(t))}))),x.remove(),w.attr("d",4===t||2==t?a?"M"+s*a+","+m+"H0.5V"+y+"H"+s*a:"M0.5,"+m+"V"+y:a?"M"+m+","+s*a+"V0.5H"+y+"V"+s*a:"M"+m+",0.5H"+y),b.attr("opacity",1).attr("transform",(function(t){return l(v(t))})),k.attr(c+"2",s*o),N.attr(c,s*g).text(p),_.filter(Bn).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),_.each((function(){this.__axis=v}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Rn.call(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Rn.call(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Rn.call(t),h):r&&r.slice()},h.tickFormat=function(t){return arguments.length?(i=t,h):i},h.tickSize=function(t){return arguments.length?(o=a=+t,h):o},h.tickSizeInner=function(t){return arguments.length?(o=+t,h):o},h.tickSizeOuter=function(t){return arguments.length?(a=+t,h):a},h.tickPadding=function(t){return arguments.length?(u=+t,h):u},h}var Un=Math.PI,Xn=2*Un,Yn=Xn-1e-6;function Gn(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function Zn(){return new Gn}function Kn(t){return function(){return t}}function Qn(t){this._context=t}function Jn(t){return new Qn(t)}function Wn(t){return t[0]}function te(t){return t[1]}Gn.prototype=Zn.prototype={constructor:Gn,moveTo:function(t,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,n){this._+="L"+(this._x1=+t)+","+(this._y1=+n)},quadraticCurveTo:function(t,n,e,r){this._+="Q"+ +t+","+ +n+","+(this._x1=+e)+","+(this._y1=+r)},bezierCurveTo:function(t,n,e,r,i,o){this._+="C"+ +t+","+ +n+","+ +e+","+ +r+","+(this._x1=+i)+","+(this._y1=+o)},arcTo:function(t,n,e,r,i){t=+t,n=+n,e=+e,r=+r,i=+i;var o=this._x1,a=this._y1,u=e-t,s=r-n,c=o-t,l=a-n,h=c*c+l*l;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=n);else if(h>1e-6)if(Math.abs(l*u-s*c)>1e-6&&i){var f=e-o,p=r-a,g=u*u+s*s,d=f*f+p*p,m=Math.sqrt(g),y=Math.sqrt(h),v=i*Math.tan((Un-Math.acos((g+h-d)/(2*m*y)))/2),_=v/y,w=v/m;Math.abs(_-1)>1e-6&&(this._+="L"+(t+_*c)+","+(n+_*l)),this._+="A"+i+","+i+",0,0,"+ +(l*f>c*p)+","+(this._x1=t+w*u)+","+(this._y1=n+w*s)}else this._+="L"+(this._x1=t)+","+(this._y1=n);else;},arc:function(t,n,e,r,i,o){t=+t,n=+n,o=!!o;var a=(e=+e)*Math.cos(r),u=e*Math.sin(r),s=t+a,c=n+u,l=1^o,h=o?r-i:i-r;if(e<0)throw new Error("negative radius: "+e);null===this._x1?this._+="M"+s+","+c:(Math.abs(this._x1-s)>1e-6||Math.abs(this._y1-c)>1e-6)&&(this._+="L"+s+","+c),e&&(h<0&&(h=h%Xn+Xn),h>Yn?this._+="A"+e+","+e+",0,1,"+l+","+(t-a)+","+(n-u)+"A"+e+","+e+",0,1,"+l+","+(this._x1=s)+","+(this._y1=c):h>1e-6&&(this._+="A"+e+","+e+",0,"+ +(h>=Un)+","+l+","+(this._x1=t+e*Math.cos(i))+","+(this._y1=n+e*Math.sin(i))))},rect:function(t,n,e,r){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+n)+"h"+ +e+"v"+ +r+"h"+-e+"Z"},toString:function(){return this._}},Qn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(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;default:this._context.lineTo(t,n)}}};var ne={value:function(){}};function ee(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new re(r)}function re(t){this._=t}function ie(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function oe(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function ae(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=ne,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}function ue(){t.event.stopImmediatePropagation()}function se(){t.event.preventDefault(),t.event.stopImmediatePropagation()}function ce(t){var n=t.document.documentElement,e=ut(t).on("dragstart.drag",se,!0);"onselectstart"in n?e.on("selectstart.drag",se,!0):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function le(t){return function(){return t}}function he(t,n,e,r,i,o,a,u,s,c){this.target=t,this.type=n,this.subject=e,this.identifier=r,this.active=i,this.x=o,this.y=a,this.dx=u,this.dy=s,this._=c}function fe(){return!t.event.ctrlKey&&!t.event.button}function pe(){return this.parentNode}function ge(n){return null==n?{x:t.event.x,y:t.event.y}:n}function de(){return navigator.maxTouchPoints||"ontouchstart"in this}re.prototype=ee.prototype={constructor:re,on:function(t,n){var e,r=this._,i=ie(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<a;)if(e=(t=i[o]).type)r[e]=ae(r[e],t.name,n);else if(null==n)for(e in r)r[e]=ae(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=oe(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new re(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}},he.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t},t.axisBottom=function(t){return Fn(3,t)},t.drag=function(){var n,e,r,i,o=fe,a=pe,u=ge,s=de,c={},l=ee("start","drag","end"),h=0,f=0;function p(t){t.on("mousedown.drag",g).filter(s).on("touchstart.drag",y).on("touchmove.drag",v).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(){if(!i&&o.apply(this,arguments)){var u=w("mouse",a.apply(this,arguments),lt,this,arguments);u&&(ut(t.event.view).on("mousemove.drag",d,!0).on("mouseup.drag",m,!0),ce(t.event.view),ue(),r=!1,n=t.event.clientX,e=t.event.clientY,u("start"))}}function d(){if(se(),!r){var i=t.event.clientX-n,o=t.event.clientY-e;r=i*i+o*o>f}c.mouse("drag")}function m(){ut(t.event.view).on("mousemove.drag mouseup.drag",null),function(t,n){var e=t.document.documentElement,r=ut(t).on("dragstart.drag",null);n&&(r.on("click.drag",se,!0),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}(t.event.view,r),se(),c.mouse("end")}function y(){if(o.apply(this,arguments)){var n,e,r=t.event.changedTouches,i=a.apply(this,arguments),u=r.length;for(n=0;n<u;++n)(e=w(r[n].identifier,i,ht,this,arguments))&&(ue(),e("start"))}}function v(){var n,e,r=t.event.changedTouches,i=r.length;for(n=0;n<i;++n)(e=c[r[n].identifier])&&(se(),e("drag"))}function _(){var n,e,r=t.event.changedTouches,o=r.length;for(i&&clearTimeout(i),i=setTimeout((function(){i=null}),500),n=0;n<o;++n)(e=c[r[n].identifier])&&(ue(),e("end"))}function w(n,e,r,i,o){var a,s,f,g=r(e,n),d=l.copy();if(nt(new he(p,"beforestart",a,n,h,g[0],g[1],0,0,d),(function(){return null!=(t.event.subject=a=u.apply(i,o))&&(s=a.x-g[0]||0,f=a.y-g[1]||0,!0)})))return function t(u){var l,m=g;switch(u){case"start":c[n]=t,l=h++;break;case"end":delete c[n],--h;case"drag":g=r(e,n),l=h}nt(new he(p,u,a,n,l,g[0]+s,g[1]+f,g[0]-m[0],g[1]-m[1],d),d.apply,d,[u,i,o])}}return p.filter=function(t){return arguments.length?(o="function"==typeof t?t:le(!!t),p):o},p.container=function(t){return arguments.length?(a="function"==typeof t?t:le(t),p):a},p.subject=function(t){return arguments.length?(u="function"==typeof t?t:le(t),p):u},p.touchable=function(t){return arguments.length?(s="function"==typeof t?t:le(!!t),p):s},p.on=function(){var t=l.on.apply(l,arguments);return t===l?p:t},p.clickDistance=function(t){return arguments.length?(f=(t=+t)*t,p):Math.sqrt(f)},p},t.line=function(){var t=Wn,n=te,e=Kn(!0),r=null,i=Jn,o=null;function a(a){var u,s,c,l=a.length,h=!1;for(null==r&&(o=i(c=Zn())),u=0;u<=l;++u)!(u<l&&e(s=a[u],u,a))===h&&((h=!h)?o.lineStart():o.lineEnd()),h&&o.point(+t(s,u,a),+n(s,u,a));if(c)return o=null,c+""||null}return a.x=function(n){return arguments.length?(t="function"==typeof n?n:Kn(+n),a):t},a.y=function(t){return arguments.length?(n="function"==typeof t?t:Kn(+t),a):n},a.defined=function(t){return arguments.length?(e="function"==typeof t?t:Kn(!!t),a):e},a.curve=function(t){return arguments.length?(i=t,null!=r&&(o=i(r)),a):i},a.context=function(t){return arguments.length?(null==t?r=o=null:o=i(r=t),a):r},a},t.range=function(t,n,e){t=+t,n=+n,e=(i=arguments.length)<2?(n=t,t=0,1):i<3?1:+e;for(var r=-1,i=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(i);++r<i;)o[r]=t+r*e;return o},t.scaleLinear=function t(){var n=_n();return n.copy=function(){return yn(n,t())},wt.apply(n,arguments),On(n)},t.select=ut,Object.defineProperty(t,"__esModule",{value:!0})}));
2