d3
Version:
2 lines • 274 kB
JavaScript
// https://d3js.org v7.0.0 Copyright 2010-2021 Mike Bostock
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).d3=t.d3||{})}(this,(function(t){"use strict";function n(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function e(t){let e=t,r=t;function i(t,n,e,i){for(null==e&&(e=0),null==i&&(i=t.length);e<i;){const o=e+i>>>1;r(t[o],n)<0?e=o+1:i=o}return e}return 1===t.length&&(e=(n,e)=>t(n)-e,r=function(t){return(e,r)=>n(t(e),r)}(t)),{left:i,center:function(t,n,r,o){null==r&&(r=0),null==o&&(o=t.length);const a=i(t,n,r,o-1);return a>r&&e(t[a-1],n)>-e(t[a],n)?a-1:a},right:function(t,n,e,i){for(null==e&&(e=0),null==i&&(i=t.length);e<i;){const o=e+i>>>1;r(t[o],n)>0?i=o:e=o+1}return e}}}function r(t){return null===t?NaN:+t}const i=e(n),o=i.right,a=i.left,u=e(r).center;function c(t,n){let e=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&++e;else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(i=+i)>=i&&++e}return e}function f(t){return 0|t.length}function s(t){return!(t>0)}function l(t){return"object"!=typeof t||"length"in t?t:Array.from(t)}function h(t,n){let e,r=0,i=0,o=0;if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(e=n-i,i+=e/++r,o+=e*(n-i));else{let a=-1;for(let u of t)null!=(u=n(u,++a,t))&&(u=+u)>=u&&(e=u-i,i+=e/++r,o+=e*(u-i))}if(r>1)return o/(r-1)}function d(t,n){const e=h(t,n);return e?Math.sqrt(e):e}function p(t,n){let e,r;if(void 0===n)for(const n of t)null!=n&&(void 0===e?n>=n&&(e=r=n):(e>n&&(e=n),r<n&&(r=n)));else{let i=-1;for(let o of t)null!=(o=n(o,++i,t))&&(void 0===e?o>=o&&(e=r=o):(e>o&&(e=o),r<o&&(r=o)))}return[e,r]}class g{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let e=0;for(let r=0;r<this._n&&r<32;r++){const i=n[r],o=t+i,a=Math.abs(t)<Math.abs(i)?t-(o-i):i-(o-t);a&&(n[e++]=a),t=o}return n[e]=t,this._n=e+1,this}valueOf(){const t=this._partials;let n,e,r,i=this._n,o=0;if(i>0){for(o=t[--i];i>0&&(n=o,e=t[--i],o=n+e,r=e-(o-n),!r););i>0&&(r<0&&t[i-1]<0||r>0&&t[i-1]>0)&&(e=2*r,n=o+e,e==n-o&&(o=n))}return o}}class y extends Map{constructor(t,n=x){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const[n,e]of t)this.set(n,e)}get(t){return super.get(_(this,t))}has(t){return super.has(_(this,t))}set(t,n){return super.set(b(this,t),n)}delete(t){return super.delete(m(this,t))}}class v extends Set{constructor(t,n=x){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),null!=t)for(const n of t)this.add(n)}has(t){return super.has(_(this,t))}add(t){return super.add(b(this,t))}delete(t){return super.delete(m(this,t))}}function _({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):e}function b({_intern:t,_key:n},e){const r=n(e);return t.has(r)?t.get(r):(t.set(r,e),e)}function m({_intern:t,_key:n},e){const r=n(e);return t.has(r)&&(e=t.get(e),t.delete(r)),e}function x(t){return null!==t&&"object"==typeof t?t.valueOf():t}function w(t){return t}function M(t,...n){return N(t,w,w,n)}function A(t,...n){return N(t,Array.from,w,n)}function T(t,n){for(let e=1,r=n.length;e<r;++e)t=t.flatMap((t=>t.pop().map((([n,e])=>[...t,n,e]))));return t}function S(t,n,...e){return N(t,w,n,e)}function E(t,n,...e){return N(t,Array.from,n,e)}function k(t){if(1!==t.length)throw new Error("duplicate key");return t[0]}function N(t,n,e,r){return function t(i,o){if(o>=r.length)return e(i);const a=new y,u=r[o++];let c=-1;for(const t of i){const n=u(t,++c,i),e=a.get(n);e?e.push(t):a.set(n,[t])}for(const[n,e]of a)a.set(n,t(e,o));return n(a)}(t,0)}function C(t,n){return Array.from(n,(n=>t[n]))}function P(t,...e){if("function"!=typeof t[Symbol.iterator])throw new TypeError("values is not iterable");t=Array.from(t);let[r=n]=e;if(1===r.length||e.length>1){const i=Uint32Array.from(t,((t,n)=>n));return e.length>1?(e=e.map((n=>t.map(n))),i.sort(((t,r)=>{for(const i of e){const e=n(i[t],i[r]);if(e)return e}}))):(r=t.map(r),i.sort(((t,e)=>n(r[t],r[e])))),C(t,i)}return t.sort(r)}var z=Array.prototype.slice;function D(t){return function(){return t}}var q=Math.sqrt(50),R=Math.sqrt(10),F=Math.sqrt(2);function O(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=I(t,n,e))||!isFinite(a))return[];if(a>0){let e=Math.round(t/a),r=Math.round(n/a);for(e*a<t&&++e,r*a>n&&--r,o=new Array(i=r-e+1);++u<i;)o[u]=(e+u)*a}else{a=-a;let e=Math.round(t*a),r=Math.round(n*a);for(e/a<t&&++e,r/a>n&&--r,o=new Array(i=r-e+1);++u<i;)o[u]=(e+u)/a}return r&&o.reverse(),o}function I(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>=q?10:o>=R?5:o>=F?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=q?10:o>=R?5:o>=F?2:1)}function U(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>=q?i*=10:o>=R?i*=5:o>=F&&(i*=2),n<t?-i:i}function B(t,n,e){let r;for(;;){const i=I(t,n,e);if(i===r||0===i||!isFinite(i))return[t,n];i>0?(t=Math.floor(t/i)*i,n=Math.ceil(n/i)*i):i<0&&(t=Math.ceil(t*i)/i,n=Math.floor(n*i)/i),r=i}}function Y(t){return Math.ceil(Math.log(c(t))/Math.LN2)+1}function L(){var t=w,n=p,e=Y;function r(r){Array.isArray(r)||(r=Array.from(r));var i,a,u=r.length,c=new Array(u);for(i=0;i<u;++i)c[i]=t(r[i],i,r);var f=n(c),s=f[0],l=f[1],h=e(c,s,l);if(!Array.isArray(h)){const t=l,e=+h;if(n===p&&([s,l]=B(s,l,e)),(h=O(s,l,e))[h.length-1]>=l)if(t>=l&&n===p){const t=I(s,l,e);isFinite(t)&&(t>0?l=(Math.floor(l/t)+1)*t:t<0&&(l=(Math.ceil(l*-t)+1)/-t))}else h.pop()}for(var d=h.length;h[0]<=s;)h.shift(),--d;for(;h[d-1]>l;)h.pop(),--d;var g,y=new Array(d+1);for(i=0;i<=d;++i)(g=y[i]=[]).x0=i>0?h[i-1]:s,g.x1=i<d?h[i]:l;for(i=0;i<u;++i)null!=(a=c[i])&&s<=a&&a<=l&&y[o(h,a,0,d)].push(r[i]);return y}return r.value=function(n){return arguments.length?(t="function"==typeof n?n:D(n),r):t},r.domain=function(t){return arguments.length?(n="function"==typeof t?t:D([t[0],t[1]]),r):n},r.thresholds=function(t){return arguments.length?(e="function"==typeof t?t:Array.isArray(t)?D(z.call(t)):D(t),r):e},r}function j(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e<n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e<i||void 0===e&&i>=i)&&(e=i)}return e}function H(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}function X(t,e,r=0,i=t.length-1,o=n){for(;i>r;){if(i-r>600){const n=i-r+1,a=e-r+1,u=Math.log(n),c=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*c*(n-c)/n)*(a-n/2<0?-1:1);X(t,e,Math.max(r,Math.floor(e-a*c/n+f)),Math.min(i,Math.floor(e+(n-a)*c/n+f)),o)}const n=t[e];let a=r,u=i;for(G(t,r,e),o(t[i],n)>0&&G(t,r,i);a<u;){for(G(t,a,u),++a,--u;o(t[a],n)<0;)++a;for(;o(t[u],n)>0;)--u}0===o(t[r],n)?G(t,r,u):(++u,G(t,u,i)),u<=e&&(r=u+1),e<=u&&(i=u-1)}return t}function G(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function V(t,n,e){if(r=(t=Float64Array.from(function*(t,n){if(void 0===n)for(let n of t)null!=n&&(n=+n)>=n&&(yield n);else{let e=-1;for(let r of t)null!=(r=n(r,++e,t))&&(r=+r)>=r&&(yield r)}}(t,e))).length){if((n=+n)<=0||r<2)return H(t);if(n>=1)return j(t);var r,i=(r-1)*n,o=Math.floor(i),a=j(X(t,o).subarray(0,o+1));return a+(H(t.subarray(o+1))-a)*(i-o)}}function $(t,n,e=r){if(i=t.length){if((n=+n)<=0||i<2)return+e(t[0],0,t);if(n>=1)return+e(t[i-1],i-1,t);var i,o=(i-1)*n,a=Math.floor(o),u=+e(t[a],a,t);return u+(+e(t[a+1],a+1,t)-u)*(o-a)}}function W(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e<n||void 0===e&&n>=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e<o||void 0===e&&o>=o)&&(e=o,r=i);return r}function Z(t){return Array.from(function*(t){for(const n of t)yield*n}(t))}function K(t,n){let e,r=-1,i=-1;if(void 0===n)for(const n of t)++i,null!=n&&(e>n||void 0===e&&n>=n)&&(e=n,r=i);else for(let o of t)null!=(o=n(o,++i,t))&&(e>o||void 0===e&&o>=o)&&(e=o,r=i);return r}function Q(t,n){return[t,n]}function J(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}function tt(t,e=n){if(1===e.length)return K(t,e);let r,i=-1,o=-1;for(const n of t)++o,(i<0?0===e(n,n):e(n,r)<0)&&(r=n,i=o);return i}var nt=et(Math.random);function et(t){return function(n,e=0,r=n.length){let i=r-(e=+e);for(;i;){const r=t()*i--|0,o=n[i+e];n[i+e]=n[r+e],n[r+e]=o}return n}}function rt(t){if(!(i=t.length))return[];for(var n=-1,e=H(t,it),r=new Array(e);++n<e;)for(var i,o=-1,a=r[n]=new Array(i);++o<i;)a[o]=t[o][n];return r}function it(t){return t.length}function ot(t){return t instanceof Set?t:new Set(t)}function at(t,n){const e=t[Symbol.iterator](),r=new Set;for(const t of n){if(r.has(t))continue;let n,i;for(;({value:n,done:i}=e.next());){if(i)return!1;if(r.add(n),Object.is(t,n))break}}return!0}function ut(t){return t}var ct=1e-6;function ft(t){return"translate("+t+",0)"}function st(t){return"translate(0,"+t+")"}function lt(t){return n=>+t(n)}function ht(t,n){return n=Math.max(0,t.bandwidth()-2*n)/2,t.round()&&(n=Math.round(n)),e=>+t(e)+n}function dt(){return!this.__axis}function pt(t,n){var e=[],r=null,i=null,o=6,a=6,u=3,c="undefined"!=typeof window&&window.devicePixelRatio>1?0:.5,f=1===t||4===t?-1:1,s=4===t||2===t?"x":"y",l=1===t||3===t?ft:st;function h(h){var d=null==r?n.ticks?n.ticks.apply(n,e):n.domain():r,p=null==i?n.tickFormat?n.tickFormat.apply(n,e):ut:i,g=Math.max(o,0)+u,y=n.range(),v=+y[0]+c,_=+y[y.length-1]+c,b=(n.bandwidth?ht:lt)(n.copy(),c),m=h.selection?h.selection():h,x=m.selectAll(".domain").data([null]),w=m.selectAll(".tick").data(d,n).order(),M=w.exit(),A=w.enter().append("g").attr("class","tick"),T=w.select("line"),S=w.select("text");x=x.merge(x.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(A),T=T.merge(A.append("line").attr("stroke","currentColor").attr(s+"2",f*o)),S=S.merge(A.append("text").attr("fill","currentColor").attr(s,f*g).attr("dy",1===t?"0em":3===t?"0.71em":"0.32em")),h!==m&&(x=x.transition(h),w=w.transition(h),T=T.transition(h),S=S.transition(h),M=M.transition(h).attr("opacity",ct).attr("transform",(function(t){return isFinite(t=b(t))?l(t+c):this.getAttribute("transform")})),A.attr("opacity",ct).attr("transform",(function(t){var n=this.parentNode.__axis;return l((n&&isFinite(n=n(t))?n:b(t))+c)}))),M.remove(),x.attr("d",4===t||2===t?a?"M"+f*a+","+v+"H"+c+"V"+_+"H"+f*a:"M"+c+","+v+"V"+_:a?"M"+v+","+f*a+"V"+c+"H"+_+"V"+f*a:"M"+v+","+c+"H"+_),w.attr("opacity",1).attr("transform",(function(t){return l(b(t)+c)})),T.attr(s+"2",f*o),S.attr(s,f*g).text(p),m.filter(dt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",2===t?"start":4===t?"end":"middle"),m.each((function(){this.__axis=b}))}return h.scale=function(t){return arguments.length?(n=t,h):n},h.ticks=function(){return e=Array.from(arguments),h},h.tickArguments=function(t){return arguments.length?(e=null==t?[]:Array.from(t),h):e.slice()},h.tickValues=function(t){return arguments.length?(r=null==t?null:Array.from(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.offset=function(t){return arguments.length?(c=+t,h):c},h}var gt={value:()=>{}};function yt(){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 vt(r)}function vt(t){this._=t}function _t(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 bt(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function mt(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=gt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}vt.prototype=yt.prototype={constructor:vt,on:function(t,n){var e,r=this._,i=_t(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]=mt(r[e],t.name,n);else if(null==n)for(e in r)r[e]=mt(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=bt(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new vt(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)}};var xt="http://www.w3.org/1999/xhtml",wt={svg:"http://www.w3.org/2000/svg",xhtml:xt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Mt(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),wt.hasOwnProperty(n)?{space:wt[n],local:t}:t}function At(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===xt&&n.documentElement.namespaceURI===xt?n.createElement(t):n.createElementNS(e,t)}}function Tt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function St(t){var n=Mt(t);return(n.local?Tt:At)(n)}function Et(){}function kt(t){return null==t?Et:function(){return this.querySelector(t)}}function Nt(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function Ct(){return[]}function Pt(t){return null==t?Ct:function(){return this.querySelectorAll(t)}}function zt(t){return function(){return this.matches(t)}}function Dt(t){return function(n){return n.matches(t)}}var qt=Array.prototype.find;function Rt(){return this.firstElementChild}var Ft=Array.prototype.filter;function Ot(){return Array.from(this.children)}function It(t){return new Array(t.length)}function Ut(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function Bt(t){return function(){return t}}function Yt(t,n,e,r,i,o){for(var a,u=0,c=n.length,f=o.length;u<f;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new Ut(t,o[u]);for(;u<c;++u)(a=n[u])&&(i[u]=a)}function Lt(t,n,e,r,i,o,a){var u,c,f,s=new Map,l=n.length,h=o.length,d=new Array(l);for(u=0;u<l;++u)(c=n[u])&&(d[u]=f=a.call(c,c.__data__,u,n)+"",s.has(f)?i[u]=c:s.set(f,c));for(u=0;u<h;++u)f=a.call(t,o[u],u,o)+"",(c=s.get(f))?(r[u]=c,c.__data__=o[u],s.delete(f)):e[u]=new Ut(t,o[u]);for(u=0;u<l;++u)(c=n[u])&&s.get(d[u])===c&&(i[u]=c)}function jt(t){return t.__data__}function Ht(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function Xt(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function Gt(t){return function(){this.removeAttribute(t)}}function Vt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function $t(t,n){return function(){this.setAttribute(t,n)}}function Wt(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function Zt(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function Kt(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 Qt(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Jt(t){return function(){this.style.removeProperty(t)}}function tn(t,n,e){return function(){this.style.setProperty(t,n,e)}}function nn(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function en(t,n){return t.style.getPropertyValue(n)||Qt(t).getComputedStyle(t,null).getPropertyValue(n)}function rn(t){return function(){delete this[t]}}function on(t,n){return function(){this[t]=n}}function an(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function un(t){return t.trim().split(/^|\s+/)}function cn(t){return t.classList||new fn(t)}function fn(t){this._node=t,this._names=un(t.getAttribute("class")||"")}function sn(t,n){for(var e=cn(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function ln(t,n){for(var e=cn(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function hn(t){return function(){sn(this,t)}}function dn(t){return function(){ln(this,t)}}function pn(t,n){return function(){(n.apply(this,arguments)?sn:ln)(this,t)}}function gn(){this.textContent=""}function yn(t){return function(){this.textContent=t}}function vn(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function _n(){this.innerHTML=""}function bn(t){return function(){this.innerHTML=t}}function mn(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function xn(){this.nextSibling&&this.parentNode.appendChild(this)}function wn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Mn(){return null}function An(){var t=this.parentNode;t&&t.removeChild(this)}function Tn(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Sn(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function En(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 kn(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.options);++i?n.length=i:delete this.__on}}}function Nn(t,n,e){return function(){var r,i=this.__on,o=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),void(r.value=n);this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function Cn(t,n,e){var r=Qt(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 Pn(t,n){return function(){return Cn(this,t,n)}}function zn(t,n){return function(){return Cn(this,t,n.apply(this,arguments))}}Ut.prototype={constructor:Ut,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)}},fn.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 Dn=[null];function qn(t,n){this._groups=t,this._parents=n}function Rn(){return new qn([[document.documentElement]],Dn)}function Fn(t){return"string"==typeof t?new qn([[document.querySelector(t)]],[document.documentElement]):new qn([[t]],Dn)}qn.prototype=Rn.prototype={constructor:qn,select:function(t){"function"!=typeof t&&(t=kt(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,f=r[i]=new Array(c),s=0;s<c;++s)(o=u[s])&&(a=t.call(o,o.__data__,s,u))&&("__data__"in o&&(a.__data__=o.__data__),f[s]=a);return new qn(r,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return Nt(t.apply(this,arguments))}}(t):Pt(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,u=n[o],c=u.length,f=0;f<c;++f)(a=u[f])&&(r.push(t.call(a,a.__data__,f,u)),i.push(a));return new qn(r,i)},selectChild:function(t){return this.select(null==t?Rt:function(t){return function(){return qt.call(this.children,t)}}("function"==typeof t?t:Dt(t)))},selectChildren:function(t){return this.selectAll(null==t?Ot:function(t){return function(){return Ft.call(this.children,t)}}("function"==typeof t?t:Dt(t)))},filter:function(t){"function"!=typeof t&&(t=zt(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,c=r[i]=[],f=0;f<u;++f)(o=a[f])&&t.call(o,o.__data__,f,a)&&c.push(o);return new qn(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,jt);var e=n?Lt:Yt,r=this._parents,i=this._groups;"function"!=typeof t&&(t=Bt(t));for(var o=i.length,a=new Array(o),u=new Array(o),c=new Array(o),f=0;f<o;++f){var s=r[f],l=i[f],h=l.length,d=Ht(t.call(s,s&&s.__data__,f,r)),p=d.length,g=u[f]=new Array(p),y=a[f]=new Array(p),v=c[f]=new Array(h);e(s,l,g,y,v,d,n);for(var _,b,m=0,x=0;m<p;++m)if(_=g[m]){for(m>=x&&(x=m+1);!(b=y[x])&&++x<p;);_._next=b||null}}return(a=new qn(a,r))._enter=u,a._exit=c,a},enter:function(){return new qn(this._enter||this._groups.map(It),this._parents)},exit:function(){return new qn(this._exit||this._groups.map(It),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=new Array(i),c=0;c<a;++c)for(var f,s=e[c],l=r[c],h=s.length,d=u[c]=new Array(h),p=0;p<h;++p)(f=s[p]||l[p])&&(d[p]=f);for(;c<i;++c)u[c]=e[c];return new qn(u,this._parents)},selection:function(){return this},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=Xt);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var a,u=e[o],c=u.length,f=i[o]=new Array(c),s=0;s<c;++s)(a=u[s])&&(f[s]=a);f.sort(n)}return new qn(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},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(){let t=0;for(const n of this)++t;return 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=Mt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?Vt:Gt:"function"==typeof n?e.local?Kt:Zt:e.local?Wt:$t)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?Jt:"function"==typeof n?nn:tn)(t,n,null==e?"":e)):en(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?rn:"function"==typeof n?an:on)(t,n)):this.node()[t]},classed:function(t,n){var e=un(t+"");if(arguments.length<2){for(var r=cn(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?pn:n?hn:dn)(e,n))},text:function(t){return arguments.length?this.each(null==t?gn:("function"==typeof t?vn:yn)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?_n:("function"==typeof t?mn:bn)(t)):this.node().innerHTML},raise:function(){return this.each(xn)},lower:function(){return this.each(wn)},append:function(t){var n="function"==typeof t?t:St(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:St(t),r=null==n?Mn:"function"==typeof n?n:kt(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(An)},clone:function(t){return this.select(t?Sn:Tn)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=En(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?Nn:kn,r=0;r<a;++r)this.each(u(o[r],n,e));return this}var u=this.node().__on;if(u)for(var c,f=0,s=u.length;f<s;++f)for(r=0,c=u[f];r<a;++r)if((i=o[r]).type===c.type&&i.name===c.name)return c.value},dispatch:function(t,n){return this.each(("function"==typeof n?zn:Pn)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};var On=0;function In(){return new Un}function Un(){this._="@"+(++On).toString(36)}function Bn(t){let n;for(;n=t.sourceEvent;)t=n;return t}function Yn(t,n){if(t=Bn(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}Un.prototype=In.prototype={constructor:Un,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._}};const Ln={passive:!1},jn={capture:!0,passive:!1};function Hn(t){t.stopImmediatePropagation()}function Xn(t){t.preventDefault(),t.stopImmediatePropagation()}function Gn(t){var n=t.document.documentElement,e=Fn(t).on("dragstart.drag",Xn,jn);"onselectstart"in n?e.on("selectstart.drag",Xn,jn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Vn(t,n){var e=t.document.documentElement,r=Fn(t).on("dragstart.drag",null);n&&(r.on("click.drag",Xn,jn),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}var $n=t=>()=>t;function Wn(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:u,dx:c,dy:f,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:u,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:f,enumerable:!0,configurable:!0},_:{value:s}})}function Zn(t){return!t.ctrlKey&&!t.button}function Kn(){return this.parentNode}function Qn(t,n){return null==n?{x:t.x,y:t.y}:n}function Jn(){return navigator.maxTouchPoints||"ontouchstart"in this}function te(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function ne(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function ee(){}Wn.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var re=.7,ie=1/re,oe="\\s*([+-]?\\d+)\\s*",ae="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",ue="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ce=/^#([0-9a-f]{3,8})$/,fe=new RegExp("^rgb\\("+[oe,oe,oe]+"\\)$"),se=new RegExp("^rgb\\("+[ue,ue,ue]+"\\)$"),le=new RegExp("^rgba\\("+[oe,oe,oe,ae]+"\\)$"),he=new RegExp("^rgba\\("+[ue,ue,ue,ae]+"\\)$"),de=new RegExp("^hsl\\("+[ae,ue,ue]+"\\)$"),pe=new RegExp("^hsla\\("+[ae,ue,ue,ae]+"\\)$"),ge={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 ye(){return this.rgb().formatHex()}function ve(){return this.rgb().formatRgb()}function _e(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=ce.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?be(n):3===e?new Me(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?me(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?me(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=fe.exec(t))?new Me(n[1],n[2],n[3],1):(n=se.exec(t))?new Me(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=le.exec(t))?me(n[1],n[2],n[3],n[4]):(n=he.exec(t))?me(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=de.exec(t))?Ee(n[1],n[2]/100,n[3]/100,1):(n=pe.exec(t))?Ee(n[1],n[2]/100,n[3]/100,n[4]):ge.hasOwnProperty(t)?be(ge[t]):"transparent"===t?new Me(NaN,NaN,NaN,0):null}function be(t){return new Me(t>>16&255,t>>8&255,255&t,1)}function me(t,n,e,r){return r<=0&&(t=n=e=NaN),new Me(t,n,e,r)}function xe(t){return t instanceof ee||(t=_e(t)),t?new Me((t=t.rgb()).r,t.g,t.b,t.opacity):new Me}function we(t,n,e,r){return 1===arguments.length?xe(t):new Me(t,n,e,null==r?1:r)}function Me(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Ae(){return"#"+Se(this.r)+Se(this.g)+Se(this.b)}function Te(){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 Se(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Ee(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Ce(t,n,e,r)}function ke(t){if(t instanceof Ce)return new Ce(t.h,t.s,t.l,t.opacity);if(t instanceof ee||(t=_e(t)),!t)return new Ce;if(t instanceof Ce)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,c=(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/=c<.5?o+i:2-o-i,a*=60):u=c>0&&c<1?0:a,new Ce(a,u,c,t.opacity)}function Ne(t,n,e,r){return 1===arguments.length?ke(t):new Ce(t,n,e,null==r?1:r)}function Ce(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Pe(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}te(ee,_e,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ye,formatHex:ye,formatHsl:function(){return ke(this).formatHsl()},formatRgb:ve,toString:ve}),te(Me,we,ne(ee,{brighter:function(t){return t=null==t?ie:Math.pow(ie,t),new Me(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?re:Math.pow(re,t),new Me(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:Ae,formatHex:Ae,formatRgb:Te,toString:Te})),te(Ce,Ne,ne(ee,{brighter:function(t){return t=null==t?ie:Math.pow(ie,t),new Ce(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?re:Math.pow(re,t),new Ce(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 Me(Pe(t>=240?t-240:t+120,i,r),Pe(t,i,r),Pe(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+")")}}));const ze=Math.PI/180,De=180/Math.PI,qe=.96422,Re=.82521,Fe=4/29,Oe=6/29,Ie=3*Oe*Oe;function Ue(t){if(t instanceof Ye)return new Ye(t.l,t.a,t.b,t.opacity);if(t instanceof $e)return We(t);t instanceof Me||(t=xe(t));var n,e,r=Xe(t.r),i=Xe(t.g),o=Xe(t.b),a=Le((.2225045*r+.7168786*i+.0606169*o)/1);return r===i&&i===o?n=e=a:(n=Le((.4360747*r+.3850649*i+.1430804*o)/qe),e=Le((.0139322*r+.0971045*i+.7141733*o)/Re)),new Ye(116*a-16,500*(n-a),200*(a-e),t.opacity)}function Be(t,n,e,r){return 1===arguments.length?Ue(t):new Ye(t,n,e,null==r?1:r)}function Ye(t,n,e,r){this.l=+t,this.a=+n,this.b=+e,this.opacity=+r}function Le(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ie+Fe}function je(t){return t>Oe?t*t*t:Ie*(t-Fe)}function He(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Xe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Ge(t){if(t instanceof $e)return new $e(t.h,t.c,t.l,t.opacity);if(t instanceof Ye||(t=Ue(t)),0===t.a&&0===t.b)return new $e(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var n=Math.atan2(t.b,t.a)*De;return new $e(n<0?n+360:n,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ve(t,n,e,r){return 1===arguments.length?Ge(t):new $e(t,n,e,null==r?1:r)}function $e(t,n,e,r){this.h=+t,this.c=+n,this.l=+e,this.opacity=+r}function We(t){if(isNaN(t.h))return new Ye(t.l,0,0,t.opacity);var n=t.h*ze;return new Ye(t.l,Math.cos(n)*t.c,Math.sin(n)*t.c,t.opacity)}te(Ye,Be,ne(ee,{brighter:function(t){return new Ye(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new Ye(this.l-18*(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 new Me(He(3.1338561*(n=qe*je(n))-1.6168667*(t=1*je(t))-.4906146*(e=Re*je(e))),He(-.9787684*n+1.9161415*t+.033454*e),He(.0719453*n-.2289914*t+1.4052427*e),this.opacity)}})),te($e,Ve,ne(ee,{brighter:function(t){return new $e(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new $e(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return We(this).rgb()}}));var Ze=-.14861,Ke=1.78277,Qe=-.29227,Je=-.90649,tr=1.97294,nr=tr*Je,er=tr*Ke,rr=Ke*Qe-Je*Ze;function ir(t){if(t instanceof ar)return new ar(t.h,t.s,t.l,t.opacity);t instanceof Me||(t=xe(t));var n=t.r/255,e=t.g/255,r=t.b/255,i=(rr*r+nr*n-er*e)/(rr+nr-er),o=r-i,a=(tr*(e-i)-Qe*o)/Je,u=Math.sqrt(a*a+o*o)/(tr*i*(1-i)),c=u?Math.atan2(a,o)*De-120:NaN;return new ar(c<0?c+360:c,u,i,t.opacity)}function or(t,n,e,r){return 1===arguments.length?ir(t):new ar(t,n,e,null==r?1:r)}function ar(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function ur(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}function cr(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],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return ur((e-r/n)*n,a,i,o,u)}}function fr(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return ur((e-r/n)*n,i,o,a,u)}}te(ar,or,ne(ee,{brighter:function(t){return t=null==t?ie:Math.pow(ie,t),new ar(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?re:Math.pow(re,t),new ar(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*ze,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Me(255*(n+e*(Ze*r+Ke*i)),255*(n+e*(Qe*r+Je*i)),255*(n+e*(tr*r)),this.opacity)}}));var sr=t=>()=>t;function lr(t,n){return function(e){return t+e*n}}function hr(t,n){var e=n-t;return e?lr(t,e>180||e<-180?e-360*Math.round(e/360):e):sr(isNaN(t)?n:t)}function dr(t){return 1==(t=+t)?pr: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):sr(isNaN(n)?e:n)}}function pr(t,n){var e=n-t;return e?lr(t,e):sr(isNaN(t)?n:t)}var gr=function t(n){var e=dr(n);function r(t,n){var r=e((t=we(t)).r,(n=we(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=pr(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 yr(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;e<i;++e)r=we(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}var vr=yr(cr),_r=yr(fr);function br(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 mr(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function xr(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]=kr(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 wr(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function Mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function Ar(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]=kr(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var Tr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Sr=new RegExp(Tr.source,"g");function Er(t,n){var e,r,i,o=Tr.lastIndex=Sr.lastIndex=0,a=-1,u=[],c=[];for(t+="",n+="";(e=Tr.exec(t))&&(r=Sr.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,c.push({i:a,x:Mr(e,r)})),o=Sr.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?c[0]?function(t){return function(n){return t(n)+""}}(c[0].x):function(t){return function(){return t}}(n):(n=c.length,function(t){for(var e,r=0;r<n;++r)u[(e=c[r]).i]=e.x(t);return u.join("")})}function kr(t,n){var e,r=typeof n;return null==n||"boolean"===r?sr(n):("number"===r?Mr:"string"===r?(e=_e(n))?(n=e,gr):Er:n instanceof _e?gr:n instanceof Date?wr:mr(n)?br:Array.isArray(n)?xr:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Ar:Mr)(t,n)}function Nr(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}var Cr,Pr=180/Math.PI,zr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Dr(t,n,e,r,i,o){var a,u,c;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(c=t*e+n*r)&&(e-=t*c,r-=n*c),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,c/=u),t*r<n*e&&(t=-t,n=-n,c=-c,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Pr,skewX:Math.atan(c)*Pr,scaleX:a,scaleY:u}}function qr(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u=[],c=[];return o=t(o),a=t(a),function(t,r,i,o,a,u){if(t!==i||r!==o){var c=a.push("translate(",null,n,null,e);u.push({i:c-4,x:Mr(t,i)},{i:c-2,x:Mr(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,u,c),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Mr(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,c),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Mr(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,c),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:Mr(t,e)},{i:u-2,x:Mr(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,c),o=a=null,function(t){for(var n,e=-1,r=c.length;++e<r;)u[(n=c[e]).i]=n.x(t);return u.join("")}}}var Rr=qr((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?zr:Dr(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),Fr=qr((function(t){return null==t?zr:(Cr||(Cr=document.createElementNS("http://www.w3.org/2000/svg","g")),Cr.setAttribute("transform",t),(t=Cr.transform.baseVal.consolidate())?Dr((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):zr)}),", ",")",")");function Or(t){return((t=Math.exp(t))+1/t)/2}var Ir=function t(n,e,r){function i(t,i){var o,a,u=t[0],c=t[1],f=t[2],s=i[0],l=i[1],h=i[2],d=s-u,p=l-c,g=d*d+p*p;if(g<1e-12)a=Math.log(h/f)/n,o=function(t){return[u+t*d,c+t*p,f*Math.exp(n*t*a)]};else{var y=Math.sqrt(g),v=(h*h-f*f+r*g)/(2*f*e*y),_=(h*h-f*f-r*g)/(2*h*e*y),b=Math.log(Math.sqrt(v*v+1)-v),m=Math.log(Math.sqrt(_*_+1)-_);a=(m-b)/n,o=function(t){var r=t*a,i=Or(b),o=f/(e*y)*(i*function(t){return((t=Math.exp(2*t))-1)/(t+1)}(n*r+b)-function(t){return((t=Math.exp(t))-1/t)/2}(b));return[u+o*d,c+o*p,f*i/Or(n*r+b)]}}return o.duration=1e3*a*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4);function Ur(t){return function(n,e){var r=t((n=Ne(n)).h,(e=Ne(e)).h),i=pr(n.s,e.s),o=pr(n.l,e.l),a=pr(n.opacity,e.opacity);return function(t){return n.h=r(t),n.s=i(t),n.l=o(t),n.opacity=a(t),n+""}}}var Br=Ur(hr),Yr=Ur(pr);function Lr(t){return function(n,e){var r=t((n=Ve(n)).h,(e=Ve(e)).h),i=pr(n.c,e.c),o=pr(n.l,e.l),a=pr(n.opacity,e.opacity);return function(t){return n.h=r(t),n.c=i(t),n.l=o(t),n.opacity=a(t),n+""}}}var jr=Lr(hr),Hr=Lr(pr);function Xr(t){return function n(e){function r(n,r){var i=t((n=or(n)).h,(r=or(r)).h),o=pr(n.s,r.s),a=pr(n.l,r.l),u=pr(n.opacity,r.opacity);return function(t){return n.h=i(t),n.s=o(t),n.l=a(Math.pow(t,e)),n.opacity=u(t),n+""}}return e=+e,r.gamma=n,r}(1)}var Gr=Xr(hr),Vr=Xr(pr);function $r(t,n){void 0===n&&(n=t,t=kr);for(var e=0,r=n.length-1,i=n[0],o=new Array(r<0?0:r);e<r;)o[e]=t(i,i=n[++e]);return function(t){var n=Math.max(0,Math.min(r-1,Math.floor(t*=r)));return o[n](t-n)}}var Wr,Zr,Kr=0,Qr=0,Jr=0,ti=0,ni=0,ei=0,ri="object"==typeof performance&&performance.now?performance:Date,ii="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function oi(){return ni||(ii(ai),ni=ri.now()+ei)}function ai(){ni=0}function ui(){this._call=this._time=this._next=null}function ci(t,n,e){var r=new ui;return r.restart(t,n,e),r}function fi(){oi(),++Kr;for(var t,n=Wr;n;)(t=ni-n._time)>=0&&n._call.call(void 0,t),n=n._next;--Kr}function si(){ni=(ti=ri.now())+ei,Kr=Qr=0;try{fi()}finally{Kr=0,function(){var t,n,e=Wr,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Wr=n);Zr=t,hi(r)}(),ni=0}}function li(){var t=ri.now(),n=t-ti;n>1e3&&(ei-=n,ti=t)}function hi(t){Kr||(Qr&&(Qr=clearTimeout(Qr)),t-ni>24?(t<1/0&&(Qr=setTimeout(si,t-ri.now()-ei)),Jr&&(Jr=clearInterval(Jr))):(Jr||(ti=ri.now(),Jr=setInterval(li,1e3)),Kr=1,ii(si)))}function di(t,n,e){var r=new ui;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}ui.prototype=ci.prototype={constructor:ui,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?oi():+e)+(null==n?0:+n),this._next||Zr===this||(Zr?Zr._next=this:Wr=this,Zr=this),this._call=t,this._time=e,hi()},stop:function(){this._call&&(this._call=null,this._time=1/0,hi())}};var pi=yt("start","end","cancel","interrupt"),gi=[];function yi(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var f,s,l,h;if(1!==e.state)return c();for(f in i)if((h=i[f]).name===e.name){if(3===h.state)return di(a);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[f]):+f<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[f])}if(di((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(o))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(l=e.tween.length),f=0,s=-1;f<l;++f)(h=e.tween[f].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=h);r.length=s+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(c),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),c())}function c(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=ci(o,0,e.time)}(t,e,{name:n,index:r,group:i,on:pi,tween:gi,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function vi(t,n){var e=bi(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function _i(t,n){var e=bi(t,n);if(e.state>3)throw new Error("too late; already running");return e}function bi(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function mi(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}}function xi(t,n){var e,r;return function(){var i=_i(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}i.tween=r}}function wi(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=_i(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},c=0,f=i.length;c<f;++c)if(i[c].name===n){i[c]=u;break}c===f&&i.push(u)}o.tween=i}}function Mi(t,n,e){var r=t._id;return t.each((function(){var t=_i(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return bi(t,r).value[n]}}function Ai(t,n){var e;return("number"==typeof n?Mr:n instanceof _e?gr:(e=_e(n))?(n=e,gr):Er)(t,n)}function Ti(t){return function(){this.removeAttribute(t)}}function Si(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ei(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function ki(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function Ni(t,n,e){var r,i,o;return function(){var a,u,c=e(this);if(null!=c)return(a=this.getAttribute(t))===(u=c+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,c));this.removeAttribute(t)}}function Ci(t,n,e){var r,i,o;return function(){var a,u,c=e(this);if(null!=c)return(a=this.getAttributeNS(t.space,t.local))===(u=c+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,c));this.removeAttributeNS(t.space,t.local)}}function Pi(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function zi(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Di(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&zi(t,i)),e}return i._value=n,i}function qi(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Pi(t,i)),e}return i._value=n,i}function Ri(t,n){return function(){vi(this,t).delay=+n.apply(this,arguments)}}function Fi(t,n){return n=+n,function(){vi(this,t).delay=n}}function Oi(t,n){return function(){_i(this,t).duration=+n.apply(this,arguments)}}function Ii(t,n){return n=+n,function(){_i(this,t).duration=n}}function Ui(t,n){if("function"!=typeof n)throw new Error;return function(){_i(this,t).ease=n}}function Bi(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?vi:_i;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var Yi=Rn.prototype.constructor;function Li(t){return function(){this.style.removeProperty(t)}}function ji(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Hi(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i