plotly.js
Version:
The open source javascript graphing library that powers plotly
18 lines • 1.23 MB
JavaScript
/**
* plotly.js (finance - minified) v3.7.0
* Copyright 2012-2026, Plotly, Inc.
* All rights reserved.
* Licensed under the MIT license
*/
(
function(root, factory) {
if (typeof module === "object" && module.exports) {
module.exports = factory();
} else {
root.moduleName = factory();
}
} (typeof self !== "undefined" ? self : this, () => {
"use strict";var Plotly=(()=>{var pd=Object.defineProperty,mW=Object.defineProperties,yW=Object.getOwnPropertyDescriptor,gW=Object.getOwnPropertyDescriptors,xW=Object.getOwnPropertyNames,r6=Object.getOwnPropertySymbols;var a6=Object.prototype.hasOwnProperty,bW=Object.prototype.propertyIsEnumerable;var t6=(e,r,t)=>r in e?pd(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Zo=(e,r)=>{for(var t in r||(r={}))a6.call(r,t)&&t6(e,t,r[t]);if(r6)for(var t of r6(r))bW.call(r,t)&&t6(e,t,r[t]);return e},md=(e,r)=>mW(e,gW(r));var it=(e,r,t)=>()=>{if(t)throw t[0];try{return e&&(r=e(e=0)),r}catch(a){throw t=[a],a}};var O=(e,r)=>()=>{try{return r||e((r={exports:{}}).exports,r),r.exports}catch(t){throw r=0,t}},_W=(e,r)=>{for(var t in r)pd(e,t,{get:r[t],enumerable:!0})},wW=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of xW(r))!a6.call(e,n)&&n!==t&&pd(e,n,{get:()=>r[n],enumerable:!(a=yW(r,n))||a.enumerable});return e};var n6=e=>wW(pd({},"__esModule",{value:!0}),e);var Mc=O(i6=>{"use strict";i6.version="3.7.0"});var o6=O((l6,yd)=>{(function(r,t,a){t[r]=t[r]||a(),typeof yd!="undefined"&&yd.exports&&(yd.exports=t[r])})("Promise",typeof window!="undefined"?window:l6,function(){"use strict";var r,t,a,n=Object.prototype.toString,i=typeof setImmediate!="undefined"?function(_){return setImmediate(_)}:setTimeout;try{Object.defineProperty({},"x",{}),r=function(_,w,x,A){return Object.defineProperty(_,w,{value:x,writable:!0,configurable:A!==!1})}}catch(b){r=function(w,x,A){return w[x]=A,w}}a=(function(){var _,w,x;function A(k,M){this.fn=k,this.self=M,this.next=void 0}return{add:function(M,S){x=new A(M,S),w?w.next=x:_=x,w=x,x=void 0},drain:function(){var M=_;for(_=w=t=void 0;M;)M.fn.call(M.self),M=M.next}}})();function l(b,_){a.add(b,_),t||(t=i(a.drain))}function o(b){var _,w=typeof b;return b!=null&&(w=="object"||w=="function")&&(_=b.then),typeof _=="function"?_:!1}function s(){for(var b=0;b<this.chain.length;b++)u(this,this.state===1?this.chain[b].success:this.chain[b].failure,this.chain[b]);this.chain.length=0}function u(b,_,w){var x,A;try{_===!1?w.reject(b.msg):(_===!0?x=b.msg:x=_.call(void 0,b.msg),x===w.promise?w.reject(TypeError("Promise-chain cycle")):(A=o(x))?A.call(x,w.resolve,w.reject):w.resolve(x))}catch(k){w.reject(k)}}function f(b){var _,w=this;if(!w.triggered){w.triggered=!0,w.def&&(w=w.def);try{(_=o(b))?l(function(){var x=new h(w);try{_.call(b,function(){f.apply(x,arguments)},function(){c.apply(x,arguments)})}catch(A){c.call(x,A)}}):(w.msg=b,w.state=1,w.chain.length>0&&l(s,w))}catch(x){c.call(new h(w),x)}}}function c(b){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=b,_.state=2,_.chain.length>0&&l(s,_))}function d(b,_,w,x){for(var A=0;A<_.length;A++)(function(M){b.resolve(_[M]).then(function(D){w(M,D)},x)})(A)}function h(b){this.def=b,this.triggered=!1}function p(b){this.promise=b,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function m(b){if(typeof b!="function")throw TypeError("Not a function");if(this.__NPO__!==0)throw TypeError("Not a promise");this.__NPO__=1;var _=new p(this);this.then=function(x,A){var k={success:typeof x=="function"?x:!0,failure:typeof A=="function"?A:!1};return k.promise=new this.constructor(function(S,D){if(typeof S!="function"||typeof D!="function")throw TypeError("Not a function");k.resolve=S,k.reject=D}),_.chain.push(k),_.state!==0&&l(s,_),k.promise},this.catch=function(x){return this.then(void 0,x)};try{b.call(void 0,function(x){f.call(_,x)},function(x){c.call(_,x)})}catch(w){c.call(_,w)}}var y=r({},"constructor",m,!1);return m.prototype=y,r(y,"__NPO__",0,!1),r(m,"resolve",function(_){var w=this;return _&&typeof _=="object"&&_.__NPO__===1?_:new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");A(_)})}),r(m,"reject",function(_){return new this(function(x,A){if(typeof x!="function"||typeof A!="function")throw TypeError("Not a function");A(_)})}),r(m,"all",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):_.length===0?w.resolve([]):new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");var M=_.length,S=Array(M),D=0;d(w,_,function(R,N){S[R]=N,++D===M&&A(S)},k)})}),r(m,"race",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(A,k){if(typeof A!="function"||typeof k!="function")throw TypeError("Not a function");d(w,_,function(S,D){A(D)},k)})}),m})});var kr=O((qme,gd)=>{(function(){var e={version:"3.8.2"},r=[].slice,t=function(v){return r.call(v)},a=self.document;function n(v){return v&&(v.ownerDocument||v.document||v).documentElement}function i(v){return v&&(v.ownerDocument&&v.ownerDocument.defaultView||v.document&&v||v.defaultView)}if(a)try{t(a.documentElement.childNodes)[0].nodeType}catch(v){t=function(g){for(var T=g.length,C=new Array(T);T--;)C[T]=g[T];return C}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(v){var l=this.Element.prototype,o=l.setAttribute,s=l.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;l.setAttribute=function(g,T){o.call(this,g,T+"")},l.setAttributeNS=function(g,T,C){s.call(this,g,T,C+"")},u.setProperty=function(g,T,C){f.call(this,g,T+"",C)}}e.ascending=c;function c(v,g){return v<g?-1:v>g?1:v>=g?0:NaN}e.descending=function(v,g){return g<v?-1:g>v?1:g>=v?0:NaN},e.min=function(v,g){var T=-1,C=v.length,q,L;if(arguments.length===1){for(;++T<C;)if((L=v[T])!=null&&L>=L){q=L;break}for(;++T<C;)(L=v[T])!=null&&q>L&&(q=L)}else{for(;++T<C;)if((L=g.call(v,v[T],T))!=null&&L>=L){q=L;break}for(;++T<C;)(L=g.call(v,v[T],T))!=null&&q>L&&(q=L)}return q},e.max=function(v,g){var T=-1,C=v.length,q,L;if(arguments.length===1){for(;++T<C;)if((L=v[T])!=null&&L>=L){q=L;break}for(;++T<C;)(L=v[T])!=null&&L>q&&(q=L)}else{for(;++T<C;)if((L=g.call(v,v[T],T))!=null&&L>=L){q=L;break}for(;++T<C;)(L=g.call(v,v[T],T))!=null&&L>q&&(q=L)}return q},e.extent=function(v,g){var T=-1,C=v.length,q,L,z;if(arguments.length===1){for(;++T<C;)if((L=v[T])!=null&&L>=L){q=z=L;break}for(;++T<C;)(L=v[T])!=null&&(q>L&&(q=L),z<L&&(z=L))}else{for(;++T<C;)if((L=g.call(v,v[T],T))!=null&&L>=L){q=z=L;break}for(;++T<C;)(L=g.call(v,v[T],T))!=null&&(q>L&&(q=L),z<L&&(z=L))}return[q,z]};function d(v){return v===null?NaN:+v}function h(v){return!isNaN(v)}e.sum=function(v,g){var T=0,C=v.length,q,L=-1;if(arguments.length===1)for(;++L<C;)h(q=+v[L])&&(T+=q);else for(;++L<C;)h(q=+g.call(v,v[L],L))&&(T+=q);return T},e.mean=function(v,g){var T=0,C=v.length,q,L=-1,z=C;if(arguments.length===1)for(;++L<C;)h(q=d(v[L]))?T+=q:--z;else for(;++L<C;)h(q=d(g.call(v,v[L],L)))?T+=q:--z;if(z)return T/z},e.quantile=function(v,g){var T=(v.length-1)*g+1,C=Math.floor(T),q=+v[C-1],L=T-C;return L?q+L*(v[C]-q):q},e.median=function(v,g){var T=[],C=v.length,q,L=-1;if(arguments.length===1)for(;++L<C;)h(q=d(v[L]))&&T.push(q);else for(;++L<C;)h(q=d(g.call(v,v[L],L)))&&T.push(q);if(T.length)return e.quantile(T.sort(c),.5)},e.variance=function(v,g){var T=v.length,C=0,q,L,z=0,P=-1,F=0;if(arguments.length===1)for(;++P<T;)h(q=d(v[P]))&&(L=q-C,C+=L/++F,z+=L*(q-C));else for(;++P<T;)h(q=d(g.call(v,v[P],P)))&&(L=q-C,C+=L/++F,z+=L*(q-C));if(F>1)return z/(F-1)},e.deviation=function(){var v=e.variance.apply(this,arguments);return v&&Math.sqrt(v)};function p(v){return{left:function(g,T,C,q){for(arguments.length<3&&(C=0),arguments.length<4&&(q=g.length);C<q;){var L=C+q>>>1;v(g[L],T)<0?C=L+1:q=L}return C},right:function(g,T,C,q){for(arguments.length<3&&(C=0),arguments.length<4&&(q=g.length);C<q;){var L=C+q>>>1;v(g[L],T)>0?q=L:C=L+1}return C}}}var m=p(c);e.bisectLeft=m.left,e.bisect=e.bisectRight=m.right,e.bisector=function(v){return p(v.length===1?function(g,T){return c(v(g),T)}:v)},e.shuffle=function(v,g,T){(C=arguments.length)<3&&(T=v.length,C<2&&(g=0));for(var C=T-g,q,L;C;)L=Math.random()*C--|0,q=v[C+g],v[C+g]=v[L+g],v[L+g]=q;return v},e.permute=function(v,g){for(var T=g.length,C=new Array(T);T--;)C[T]=v[g[T]];return C},e.pairs=function(v){for(var g=0,T=v.length-1,C,q=v[0],L=new Array(T<0?0:T);g<T;)L[g]=[C=q,q=v[++g]];return L},e.transpose=function(v){if(!(L=v.length))return[];for(var g=-1,T=e.min(v,y),C=new Array(T);++g<T;)for(var q=-1,L,z=C[g]=new Array(L);++q<L;)z[q]=v[q][g];return C};function y(v){return v.length}e.zip=function(){return e.transpose(arguments)},e.keys=function(v){var g=[];for(var T in v)g.push(T);return g},e.values=function(v){var g=[];for(var T in v)g.push(v[T]);return g},e.entries=function(v){var g=[];for(var T in v)g.push({key:T,value:v[T]});return g},e.merge=function(v){for(var g=v.length,T,C=-1,q=0,L,z;++C<g;)q+=v[C].length;for(L=new Array(q);--g>=0;)for(z=v[g],T=z.length;--T>=0;)L[--q]=z[T];return L};var b=Math.abs;e.range=function(v,g,T){if(arguments.length<3&&(T=1,arguments.length<2&&(g=v,v=0)),(g-v)/T===1/0)throw new Error("infinite range");var C=[],q=_(b(T)),L=-1,z;if(v*=q,g*=q,T*=q,T<0)for(;(z=v+T*++L)>g;)C.push(z/q);else for(;(z=v+T*++L)<g;)C.push(z/q);return C};function _(v){for(var g=1;v*g%1;)g*=10;return g}function w(v,g){for(var T in g)Object.defineProperty(v.prototype,T,{value:g[T],enumerable:!1})}e.map=function(v,g){var T=new x;if(v instanceof x)v.forEach(function(P,F){T.set(P,F)});else if(Array.isArray(v)){var C=-1,q=v.length,L;if(arguments.length===1)for(;++C<q;)T.set(C,v[C]);else for(;++C<q;)T.set(g.call(v,L=v[C],C),L)}else for(var z in v)T.set(z,v[z]);return T};function x(){this._=Object.create(null)}var A="__proto__",k="\0";w(x,{has:D,get:function(v){return this._[M(v)]},set:function(v,g){return this._[M(v)]=g},remove:E,keys:R,values:function(){var v=[];for(var g in this._)v.push(this._[g]);return v},entries:function(){var v=[];for(var g in this._)v.push({key:S(g),value:this._[g]});return v},size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g),this._[g])}});function M(v){return(v+="")===A||v[0]===k?k+v:v}function S(v){return(v+="")[0]===k?v.slice(1):v}function D(v){return M(v)in this._}function E(v){return(v=M(v))in this._&&delete this._[v]}function R(){var v=[];for(var g in this._)v.push(S(g));return v}function N(){var v=0;for(var g in this._)++v;return v}function H(){for(var v in this._)return!1;return!0}e.nest=function(){var v={},g=[],T=[],C,q;function L(P,F,$){if($>=g.length)return q?q.call(v,F):C?F.sort(C):F;for(var K=-1,re=F.length,te=g[$++],ye,Ae,ae,ue=new x,de;++K<re;)(de=ue.get(ye=te(Ae=F[K])))?de.push(Ae):ue.set(ye,[Ae]);return P?(Ae=P(),ae=function(Te,Me){Ae.set(Te,L(P,Me,$))}):(Ae={},ae=function(Te,Me){Ae[Te]=L(P,Me,$)}),ue.forEach(ae),Ae}function z(P,F){if(F>=g.length)return P;var $=[],K=T[F++];return P.forEach(function(re,te){$.push({key:re,values:z(te,F)})}),K?$.sort(function(re,te){return K(re.key,te.key)}):$}return v.map=function(P,F){return L(F,P,0)},v.entries=function(P){return z(L(e.map,P,0),0)},v.key=function(P){return g.push(P),v},v.sortKeys=function(P){return T[g.length-1]=P,v},v.sortValues=function(P){return C=P,v},v.rollup=function(P){return q=P,v},v},e.set=function(v){var g=new I;if(v)for(var T=0,C=v.length;T<C;++T)g.add(v[T]);return g};function I(){this._=Object.create(null)}w(I,{has:D,add:function(v){return this._[M(v+="")]=!0,v},remove:E,values:R,size:N,empty:H,forEach:function(v){for(var g in this._)v.call(this,S(g))}}),e.behavior={};function Y(v){return v}e.rebind=function(v,g){for(var T=1,C=arguments.length,q;++T<C;)v[q=arguments[T]]=G(v,g,g[q]);return v};function G(v,g,T){return function(){var C=T.apply(g,arguments);return C===g?v:C}}function V(v,g){if(g in v)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var T=0,C=U.length;T<C;++T){var q=U[T]+g;if(q in v)return q}}var U=["webkit","ms","moz","Moz","o","O"];function B(){}e.dispatch=function(){for(var v=new J,g=-1,T=arguments.length;++g<T;)v[arguments[g]]=X(v);return v};function J(){}J.prototype.on=function(v,g){var T=v.indexOf("."),C="";if(T>=0&&(C=v.slice(T+1),v=v.slice(0,T)),v)return arguments.length<2?this[v].on(C):this[v].on(C,g);if(arguments.length===2){if(g==null)for(v in this)this.hasOwnProperty(v)&&this[v].on(C,null);return this}};function X(v){var g=[],T=new x;function C(){for(var q=g,L=-1,z=q.length,P;++L<z;)(P=q[L].on)&&P.apply(this,arguments);return v}return C.on=function(q,L){var z=T.get(q),P;return arguments.length<2?z&&z.on:(z&&(z.on=null,g=g.slice(0,P=g.indexOf(z)).concat(g.slice(P+1)),T.remove(q)),L&&g.push(T.set(q,{on:L})),v)},C}e.event=null;function ee(){e.event.preventDefault()}function le(){for(var v=e.event,g;g=v.sourceEvent;)v=g;return v}function fe(v){for(var g=new J,T=0,C=arguments.length;++T<C;)g[arguments[T]]=X(g);return g.of=function(q,L){return function(z){try{var P=z.sourceEvent=e.event;z.target=v,e.event=z,g[z.type].apply(q,L)}finally{e.event=P}}},g}e.requote=function(v){return v.replace(ce,"\\$&")};var ce=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,j={}.__proto__?function(v,g){v.__proto__=g}:function(v,g){for(var T in g)v[T]=g[T]};function qe(v){return j(v,ge),v}var ve=function(v,g){return g.querySelector(v)},be=function(v,g){return g.querySelectorAll(v)},_e=function(v,g){var T=v.matches||v[V(v,"matchesSelector")];return _e=function(C,q){return T.call(C,q)},_e(v,g)};typeof Sizzle=="function"&&(ve=function(v,g){return Sizzle(v,g)[0]||null},be=Sizzle,_e=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var ge=e.selection.prototype=[];ge.select=function(v){var g=[],T,C,q,L;v=W(v);for(var z=-1,P=this.length;++z<P;){g.push(T=[]),T.parentNode=(q=this[z]).parentNode;for(var F=-1,$=q.length;++F<$;)(L=q[F])?(T.push(C=v.call(L,L.__data__,F,z)),C&&"__data__"in L&&(C.__data__=L.__data__)):T.push(null)}return qe(g)};function W(v){return typeof v=="function"?v:function(){return ve(v,this)}}ge.selectAll=function(v){var g=[],T,C;v=Q(v);for(var q=-1,L=this.length;++q<L;)for(var z=this[q],P=-1,F=z.length;++P<F;)(C=z[P])&&(g.push(T=t(v.call(C,C.__data__,P,q))),T.parentNode=C);return qe(g)};function Q(v){return typeof v=="function"?v:function(){return be(v,this)}}var Z="http://www.w3.org/1999/xhtml",oe={svg:"http://www.w3.org/2000/svg",xhtml:Z,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:oe,qualify:function(v){var g=v.indexOf(":"),T=v;return g>=0&&(T=v.slice(0,g))!=="xmlns"&&(v=v.slice(g+1)),oe.hasOwnProperty(T)?{space:oe[T],local:v}:v}},ge.attr=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node();return v=e.ns.qualify(v),v.local?T.getAttributeNS(v.space,v.local):T.getAttribute(v)}for(g in v)this.each(me(g,v[g]));return this}return this.each(me(v,g))};function me(v,g){v=e.ns.qualify(v);function T(){this.removeAttribute(v)}function C(){this.removeAttributeNS(v.space,v.local)}function q(){this.setAttribute(v,g)}function L(){this.setAttributeNS(v.space,v.local,g)}function z(){var F=g.apply(this,arguments);F==null?this.removeAttribute(v):this.setAttribute(v,F)}function P(){var F=g.apply(this,arguments);F==null?this.removeAttributeNS(v.space,v.local):this.setAttributeNS(v.space,v.local,F)}return g==null?v.local?C:T:typeof g=="function"?v.local?P:z:v.local?L:q}function xe(v){return v.trim().replace(/\s+/g," ")}ge.classed=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node(),C=(v=Ee(v)).length,q=-1;if(g=T.classList){for(;++q<C;)if(!g.contains(v[q]))return!1}else for(g=T.getAttribute("class");++q<C;)if(!ze(v[q]).test(g))return!1;return!0}for(g in v)this.each(Se(g,v[g]));return this}return this.each(Se(v,g))};function ze(v){return new RegExp("(?:^|\\s+)"+e.requote(v)+"(?:\\s+|$)","g")}function Ee(v){return(v+"").trim().split(/^|\s+/)}function Se(v,g){v=Ee(v).map(Ue);var T=v.length;function C(){for(var L=-1;++L<T;)v[L](this,g)}function q(){for(var L=-1,z=g.apply(this,arguments);++L<T;)v[L](this,z)}return typeof g=="function"?q:C}function Ue(v){var g=ze(v);return function(T,C){if(q=T.classList)return C?q.add(v):q.remove(v);var q=T.getAttribute("class")||"";C?(g.lastIndex=0,g.test(q)||T.setAttribute("class",xe(q+" "+v))):T.setAttribute("class",xe(q.replace(g," ")))}}ge.style=function(v,g,T){var C=arguments.length;if(C<3){if(typeof v!="string"){C<2&&(g="");for(T in v)this.each(Ie(T,v[T],g));return this}if(C<2){var q=this.node();return i(q).getComputedStyle(q,null).getPropertyValue(v)}T=""}return this.each(Ie(v,g,T))};function Ie(v,g,T){function C(){this.style.removeProperty(v)}function q(){this.style.setProperty(v,g,T)}function L(){var z=g.apply(this,arguments);z==null?this.style.removeProperty(v):this.style.setProperty(v,z,T)}return g==null?C:typeof g=="function"?L:q}ge.property=function(v,g){if(arguments.length<2){if(typeof v=="string")return this.node()[v];for(g in v)this.each(We(g,v[g]));return this}return this.each(We(v,g))};function We(v,g){function T(){delete this[v]}function C(){this[v]=g}function q(){var L=g.apply(this,arguments);L==null?delete this[v]:this[v]=L}return g==null?T:typeof g=="function"?q:C}ge.text=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.textContent=g==null?"":g}:v==null?function(){this.textContent=""}:function(){this.textContent=v}):this.node().textContent},ge.html=function(v){return arguments.length?this.each(typeof v=="function"?function(){var g=v.apply(this,arguments);this.innerHTML=g==null?"":g}:v==null?function(){this.innerHTML=""}:function(){this.innerHTML=v}):this.node().innerHTML},ge.append=function(v){return v=De(v),this.select(function(){return this.appendChild(v.apply(this,arguments))})};function De(v){function g(){var C=this.ownerDocument,q=this.namespaceURI;return q===Z&&C.documentElement.namespaceURI===Z?C.createElement(v):C.createElementNS(q,v)}function T(){return this.ownerDocument.createElementNS(v.space,v.local)}return typeof v=="function"?v:(v=e.ns.qualify(v)).local?T:g}ge.insert=function(v,g){return v=De(v),g=W(g),this.select(function(){return this.insertBefore(v.apply(this,arguments),g.apply(this,arguments)||null)})},ge.remove=function(){return this.each(He)};function He(){var v=this.parentNode;v&&v.removeChild(this)}ge.data=function(v,g){var T=-1,C=this.length,q,L;if(!arguments.length){for(v=new Array(C=(q=this[0]).length);++T<C;)(L=q[T])&&(v[T]=L.__data__);return v}function z(K,re){var te,ye=K.length,Ae=re.length,ae=Math.min(ye,Ae),ue=new Array(Ae),de=new Array(Ae),Te=new Array(ye),Me,pe;if(g){var Ye=new x,nr=new Array(ye),fr;for(te=-1;++te<ye;)(Me=K[te])&&(Ye.has(fr=g.call(Me,Me.__data__,te))?Te[te]=Me:Ye.set(fr,Me),nr[te]=fr);for(te=-1;++te<Ae;)(Me=Ye.get(fr=g.call(re,pe=re[te],te)))?Me!==!0&&(ue[te]=Me,Me.__data__=pe):de[te]=Xe(pe),Ye.set(fr,!0);for(te=-1;++te<ye;)te in nr&&Ye.get(nr[te])!==!0&&(Te[te]=K[te])}else{for(te=-1;++te<ae;)Me=K[te],pe=re[te],Me?(Me.__data__=pe,ue[te]=Me):de[te]=Xe(pe);for(;te<Ae;++te)de[te]=Xe(re[te]);for(;te<ye;++te)Te[te]=K[te]}de.update=ue,de.parentNode=ue.parentNode=Te.parentNode=K.parentNode,P.push(de),F.push(ue),$.push(Te)}var P=dr([]),F=qe([]),$=qe([]);if(typeof v=="function")for(;++T<C;)z(q=this[T],v.call(q,q.parentNode.__data__,T));else for(;++T<C;)z(q=this[T],v);return F.enter=function(){return P},F.exit=function(){return $},F};function Xe(v){return{__data__:v}}ge.datum=function(v){return arguments.length?this.property("__data__",v):this.property("__data__")},ge.filter=function(v){var g=[],T,C,q;typeof v!="function"&&(v=ie(v));for(var L=0,z=this.length;L<z;L++){g.push(T=[]),T.parentNode=(C=this[L]).parentNode;for(var P=0,F=C.length;P<F;P++)(q=C[P])&&v.call(q,q.__data__,P,L)&&T.push(q)}return qe(g)};function ie(v){return function(){return _e(this,v)}}ge.order=function(){for(var v=-1,g=this.length;++v<g;)for(var T=this[v],C=T.length-1,q=T[C],L;--C>=0;)(L=T[C])&&(q&&q!==L.nextSibling&&q.parentNode.insertBefore(L,q),q=L);return this},ge.sort=function(v){v=we.apply(this,arguments);for(var g=-1,T=this.length;++g<T;)this[g].sort(v);return this.order()};function we(v){return arguments.length||(v=c),function(g,T){return g&&T?v(g.__data__,T.__data__):!g-!T}}ge.each=function(v){return $e(this,function(g,T,C){v.call(g,g.__data__,T,C)})};function $e(v,g){for(var T=0,C=v.length;T<C;T++)for(var q=v[T],L=0,z=q.length,P;L<z;L++)(P=q[L])&&g(P,L,T);return v}ge.call=function(v){var g=t(arguments);return v.apply(g[0]=this,g),this},ge.empty=function(){return!this.node()},ge.node=function(){for(var v=0,g=this.length;v<g;v++)for(var T=this[v],C=0,q=T.length;C<q;C++){var L=T[C];if(L)return L}return null},ge.size=function(){var v=0;return $e(this,function(){++v}),v};function dr(v){return j(v,Ne),v}var Ne=[];e.selection.enter=dr,e.selection.enter.prototype=Ne,Ne.append=ge.append,Ne.empty=ge.empty,Ne.node=ge.node,Ne.call=ge.call,Ne.size=ge.size,Ne.select=function(v){for(var g=[],T,C,q,L,z,P=-1,F=this.length;++P<F;){q=(L=this[P]).update,g.push(T=[]),T.parentNode=L.parentNode;for(var $=-1,K=L.length;++$<K;)(z=L[$])?(T.push(q[$]=C=v.call(L.parentNode,z.__data__,$,P)),C.__data__=z.__data__):T.push(null)}return qe(g)},Ne.insert=function(v,g){return arguments.length<2&&(g=ke(this)),ge.insert.call(this,v,g)};function ke(v){var g,T;return function(C,q,L){var z=v[L].update,P=z.length,F;for(L!=T&&(T=L,g=0),q>=g&&(g=q+1);!(F=z[g])&&++g<P;);return F}}e.select=function(v){var g;return typeof v=="string"?(g=[ve(v,a)],g.parentNode=a.documentElement):(g=[v],g.parentNode=n(v)),qe([g])},e.selectAll=function(v){var g;return typeof v=="string"?(g=t(be(v,a)),g.parentNode=a.documentElement):(g=t(v),g.parentNode=null),qe([g])},ge.on=function(v,g,T){var C=arguments.length;if(C<3){if(typeof v!="string"){C<2&&(g=!1);for(T in v)this.each(Ce(T,v[T],g));return this}if(C<2)return(C=this.node()["__on"+v])&&C._;T=!1}return this.each(Ce(v,g,T))};function Ce(v,g,T){var C="__on"+v,q=v.indexOf("."),L=Ze;q>0&&(v=v.slice(0,q));var z=Be.get(v);z&&(v=z,L=Ve);function P(){var K=this[C];K&&(this.removeEventListener(v,K,K.$),delete this[C])}function F(){var K=L(g,t(arguments));P.call(this),this.addEventListener(v,this[C]=K,K.$=T),K._=g}function $(){var K=new RegExp("^__on([^.]+)"+e.requote(v)+"$"),re;for(var te in this)if(re=te.match(K)){var ye=this[te];this.removeEventListener(re[1],ye,ye.$),delete this[te]}}return q?g?F:P:g?B:$}var Be=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Be.forEach(function(v){"on"+v in a&&Be.remove(v)});function Ze(v,g){return function(T){var C=e.event;e.event=T,g[0]=this.__data__;try{v.apply(this,g)}finally{e.event=C}}}function Ve(v,g){var T=Ze(v,g);return function(C){var q=this,L=C.relatedTarget;(!L||L!==q&&!(L.compareDocumentPosition(q)&8))&&T.call(q,C)}}var Ge,ir=0;function ar(v){var g=".dragsuppress-"+ ++ir,T="click"+g,C=e.select(i(v)).on("touchmove"+g,ee).on("dragstart"+g,ee).on("selectstart"+g,ee);if(Ge==null&&(Ge="onselectstart"in v?!1:V(v.style,"userSelect")),Ge){var q=n(v).style,L=q[Ge];q[Ge]="none"}return function(z){if(C.on(g,null),Ge&&(q[Ge]=L),z){var P=function(){C.on(T,null)};C.on(T,function(){ee(),P()},!0),setTimeout(P,0)}}}e.mouse=function(v){return Fe(v,le())};var er=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Fe(v,g){g.changedTouches&&(g=g.changedTouches[0]);var T=v.ownerSVGElement||v;if(T.createSVGPoint){var C=T.createSVGPoint();if(er<0){var q=i(v);if(q.scrollX||q.scrollY){T=e.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var L=T[0][0].getScreenCTM();er=!(L.f||L.e),T.remove()}}return er?(C.x=g.pageX,C.y=g.pageY):(C.x=g.clientX,C.y=g.clientY),C=C.matrixTransform(v.getScreenCTM().inverse()),[C.x,C.y]}var z=v.getBoundingClientRect();return[g.clientX-z.left-v.clientLeft,g.clientY-z.top-v.clientTop]}e.touch=function(v,g,T){if(arguments.length<3&&(T=g,g=le().changedTouches),g){for(var C=0,q=g.length,L;C<q;++C)if((L=g[C]).identifier===T)return Fe(v,L)}},e.behavior.drag=function(){var v=fe(q,"drag","dragstart","dragend"),g=null,T=L(B,e.mouse,i,"mousemove","mouseup"),C=L(ne,e.touch,Y,"touchmove","touchend");function q(){this.on("mousedown.drag",T).on("touchstart.drag",C)}function L(z,P,F,$,K){return function(){var re=this,te=e.event.target.correspondingElement||e.event.target,ye=re.parentNode,Ae=v.of(re,arguments),ae=0,ue=z(),de=".drag"+(ue==null?"":"-"+ue),Te,Me=e.select(F(te)).on($+de,nr).on(K+de,fr),pe=ar(te),Ye=P(ye,ue);g?(Te=g.apply(re,arguments),Te=[Te.x-Ye[0],Te.y-Ye[1]]):Te=[0,0],Ae({type:"dragstart"});function nr(){var lr=P(ye,ue),hr,pr;lr&&(hr=lr[0]-Ye[0],pr=lr[1]-Ye[1],ae|=hr|pr,Ye=lr,Ae({type:"drag",x:lr[0]+Te[0],y:lr[1]+Te[1],dx:hr,dy:pr}))}function fr(){P(ye,ue)&&(Me.on($+de,null).on(K+de,null),pe(ae),Ae({type:"dragend"}))}}}return q.origin=function(z){return arguments.length?(g=z,q):g},e.rebind(q,v,"on")};function ne(){return e.event.changedTouches[0].identifier}e.touches=function(v,g){return arguments.length<2&&(g=le().touches),g?t(g).map(function(T){var C=Fe(v,T);return C.identifier=T.identifier,C}):[]};var se=1e-6,Le=se*se,Pe=Math.PI,Qe=2*Pe,cr=Qe-se,sr=Pe/2,Mr=Pe/180,Hr=180/Pe;function Kr(v){return v>0?1:v<0?-1:0}function ft(v,g,T){return(g[0]-v[0])*(T[1]-v[1])-(g[1]-v[1])*(T[0]-v[0])}function kt(v){return v>1?0:v<-1?Pe:Math.acos(v)}function wt(v){return v>1?sr:v<-1?-sr:Math.asin(v)}function $t(v){return((v=Math.exp(v))-1/v)/2}function Vt(v){return((v=Math.exp(v))+1/v)/2}function $a(v){return((v=Math.exp(2*v))-1)/(v+1)}function _a(v){return(v=Math.sin(v/2))*v}var va=Math.SQRT2,Ka=2,da=4;e.interpolateZoom=function(v,g){var T=v[0],C=v[1],q=v[2],L=g[0],z=g[1],P=g[2],F=L-T,$=z-C,K=F*F+$*$,re,te;if(K<Le)te=Math.log(P/q)/va,re=function(Te){return[T+Te*F,C+Te*$,q*Math.exp(va*Te*te)]};else{var ye=Math.sqrt(K),Ae=(P*P-q*q+da*K)/(2*q*Ka*ye),ae=(P*P-q*q-da*K)/(2*P*Ka*ye),ue=Math.log(Math.sqrt(Ae*Ae+1)-Ae),de=Math.log(Math.sqrt(ae*ae+1)-ae);te=(de-ue)/va,re=function(Te){var Me=Te*te,pe=Vt(ue),Ye=q/(Ka*ye)*(pe*$a(va*Me+ue)-$t(ue));return[T+Ye*F,C+Ye*$,q*pe/Vt(va*Me+ue)]}}return re.duration=te*1e3,re},e.behavior.zoom=function(){var v={x:0,y:0,k:1},g,T,C,q=[960,500],L=ha,z=250,P=0,F="mousedown.zoom",$="mousemove.zoom",K="mouseup.zoom",re,te="touchstart.zoom",ye,Ae=fe(Me,"zoomstart","zoom","zoomend"),ae,ue,de,Te;ct||(ct="onwheel"in a?(vr=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(vr=function(){return e.event.wheelDelta},"mousewheel"):(vr=function(){return-e.event.detail},"MozMousePixelScroll"));function Me(rr){rr.on(F,Ar).on(ct+".zoom",Nt).on("dblclick.zoom",tt).on(te,Qr)}Me.event=function(rr){rr.each(function(){var Dr=Ae.of(this,arguments),Er=v;Go?e.select(this).transition().each("start.zoom",function(){v=this.__chart__||{x:0,y:0,k:1},pr(Dr)}).tween("zoom:zoom",function(){var jr=q[0],Ct=q[1],Qt=T?T[0]:jr/2,Aa=T?T[1]:Ct/2,Ba=e.interpolateZoom([(Qt-v.x)/v.k,(Aa-v.y)/v.k,jr/v.k],[(Qt-Er.x)/Er.k,(Aa-Er.y)/Er.k,jr/Er.k]);return function(Qa){var Oa=Ba(Qa),nn=jr/Oa[2];this.__chart__=v={x:Qt-Oa[0]*nn,y:Aa-Oa[1]*nn,k:nn},Lr(Dr)}}).each("interrupt.zoom",function(){mr(Dr)}).each("end.zoom",function(){mr(Dr)}):(this.__chart__=v,pr(Dr),Lr(Dr),mr(Dr))})},Me.translate=function(rr){return arguments.length?(v={x:+rr[0],y:+rr[1],k:v.k},hr(),Me):[v.x,v.y]},Me.scale=function(rr){return arguments.length?(v={x:v.x,y:v.y,k:null},nr(+rr),hr(),Me):v.k},Me.scaleExtent=function(rr){return arguments.length?(L=rr==null?ha:[+rr[0],+rr[1]],Me):L},Me.center=function(rr){return arguments.length?(C=rr&&[+rr[0],+rr[1]],Me):C},Me.size=function(rr){return arguments.length?(q=rr&&[+rr[0],+rr[1]],Me):q},Me.duration=function(rr){return arguments.length?(z=+rr,Me):z},Me.x=function(rr){return arguments.length?(ue=rr,ae=rr.copy(),v={x:0,y:0,k:1},Me):ue},Me.y=function(rr){return arguments.length?(Te=rr,de=rr.copy(),v={x:0,y:0,k:1},Me):Te};function pe(rr){return[(rr[0]-v.x)/v.k,(rr[1]-v.y)/v.k]}function Ye(rr){return[rr[0]*v.k+v.x,rr[1]*v.k+v.y]}function nr(rr){v.k=Math.max(L[0],Math.min(L[1],rr))}function fr(rr,Dr){Dr=Ye(Dr),v.x+=rr[0]-Dr[0],v.y+=rr[1]-Dr[1]}function lr(rr,Dr,Er,jr){rr.__chart__={x:v.x,y:v.y,k:v.k},nr(Math.pow(2,jr)),fr(T=Dr,Er),rr=e.select(rr),z>0&&(rr=rr.transition().duration(z)),rr.call(Me.event)}function hr(){ue&&ue.domain(ae.range().map(function(rr){return(rr-v.x)/v.k}).map(ae.invert)),Te&&Te.domain(de.range().map(function(rr){return(rr-v.y)/v.k}).map(de.invert))}function pr(rr){P++||rr({type:"zoomstart"})}function Lr(rr){hr(),rr({type:"zoom",scale:v.k,translate:[v.x,v.y]})}function mr(rr){--P||(rr({type:"zoomend"}),T=null)}function Ar(){var rr=this,Dr=Ae.of(rr,arguments),Er=0,jr=e.select(i(rr)).on($,Aa).on(K,Ba),Ct=pe(e.mouse(rr)),Qt=ar(rr);cd.call(rr),pr(Dr);function Aa(){Er=1,fr(e.mouse(rr),Ct),Lr(Dr)}function Ba(){jr.on($,null).on(K,null),Qt(Er),mr(Dr)}}function Qr(){var rr=this,Dr=Ae.of(rr,arguments),Er={},jr=0,Ct,Qt=".zoom-"+e.event.changedTouches[0].identifier,Aa="touchmove"+Qt,Ba="touchend"+Qt,Qa=[],Oa=e.select(rr),nn=ar(rr);ln(),pr(Dr),Oa.on(F,null).on(te,ln);function Pa(){var vi=e.touches(rr);return Ct=v.k,vi.forEach(function(Ma){Ma.identifier in Er&&(Er[Ma.identifier]=pe(Ma))}),vi}function ln(){var vi=e.event.target;e.select(vi).on(Aa,Xo).on(Ba,pW),Qa.push(vi);for(var Ma=e.event.changedTouches,Nn=0,Hi=Ma.length;Nn<Hi;++Nn)Er[Ma[Nn].identifier]=null;var Fn=Pa(),Tu=Date.now();if(Fn.length===1){if(Tu-ye<500){var Wo=Fn[0];lr(rr,Wo,Er[Wo.identifier],Math.floor(Math.log(v.k)/Math.LN2)+1),ee()}ye=Tu}else if(Fn.length>1){var Wo=Fn[0],Bl=Fn[1],hd=Wo[0]-Bl[0],e6=Wo[1]-Bl[1];jr=hd*hd+e6*e6}}function Xo(){var vi=e.touches(rr),Ma,Nn,Hi,Fn;cd.call(rr);for(var Tu=0,Wo=vi.length;Tu<Wo;++Tu,Fn=null)if(Hi=vi[Tu],Fn=Er[Hi.identifier]){if(Nn)break;Ma=Hi,Nn=Fn}if(Fn){var Bl=(Bl=Hi[0]-Ma[0])*Bl+(Bl=Hi[1]-Ma[1])*Bl,hd=jr&&Math.sqrt(Bl/jr);Ma=[(Ma[0]+Hi[0])/2,(Ma[1]+Hi[1])/2],Nn=[(Nn[0]+Fn[0])/2,(Nn[1]+Fn[1])/2],nr(hd*Ct)}ye=null,fr(Ma,Nn),Lr(Dr)}function pW(){if(e.event.touches.length){for(var vi=e.event.changedTouches,Ma=0,Nn=vi.length;Ma<Nn;++Ma)delete Er[vi[Ma].identifier];for(var Hi in Er)return void Pa()}e.selectAll(Qa).on(Qt,null),Oa.on(F,Ar).on(te,Qr),nn(),mr(Dr)}}function Nt(){var rr=Ae.of(this,arguments);re?clearTimeout(re):(cd.call(this),g=pe(T=C||e.mouse(this)),pr(rr)),re=setTimeout(function(){re=null,mr(rr)},50),ee(),nr(Math.pow(2,vr()*.002)*v.k),fr(T,g),Lr(rr)}function tt(){var rr=e.mouse(this),Dr=Math.log(v.k)/Math.LN2;lr(this,rr,pe(rr),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(Me,Ae,"on")};var ha=[0,1/0],vr,ct;e.color=Jr;function Jr(){}Jr.prototype.toString=function(){return this.rgb()+""},e.hsl=lt;function lt(v,g,T){return this instanceof lt?(this.h=+v,this.s=+g,void(this.l=+T)):arguments.length<2?v instanceof lt?new lt(v.h,v.s,v.l):Xr(""+v,et,lt):new lt(v,g,T)}var pa=lt.prototype=new Jr;pa.brighter=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,this.l/v)},pa.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new lt(this.h,this.s,v*this.l)},pa.rgb=function(){return ma(this.h,this.s,this.l)};function ma(v,g,T){var C,q;v=isNaN(v)?0:(v%=360)<0?v+360:v,g=isNaN(g)||g<0?0:g>1?1:g,T=T<0?0:T>1?1:T,q=T<=.5?T*(1+g):T+g-T*g,C=2*T-q;function L(P){return P>360?P-=360:P<0&&(P+=360),P<60?C+(q-C)*P/60:P<180?q:P<240?C+(q-C)*(240-P)/60:C}function z(P){return Math.round(L(P)*255)}return new Ha(z(v+120),z(v),z(v-120))}e.hcl=nt;function nt(v,g,T){return this instanceof nt?(this.h=+v,this.c=+g,void(this.l=+T)):arguments.length<2?v instanceof nt?new nt(v.h,v.c,v.l):v instanceof ra?U0(v.l,v.a,v.b):U0((v=or((v=e.rgb(v)).r,v.g,v.b)).l,v.a,v.b):new nt(v,g,T)}var an=nt.prototype=new Jr;an.brighter=function(v){return new nt(this.h,this.c,Math.min(100,this.l+mt*(arguments.length?v:1)))},an.darker=function(v){return new nt(this.h,this.c,Math.max(0,this.l-mt*(arguments.length?v:1)))},an.rgb=function(){return ui(this.h,this.c,this.l).rgb()};function ui(v,g,T){return isNaN(v)&&(v=0),isNaN(g)&&(g=0),new ra(T,Math.cos(v*=Mr)*g,Math.sin(v)*g)}e.lab=ra;function ra(v,g,T){return this instanceof ra?(this.l=+v,this.a=+g,void(this.b=+T)):arguments.length<2?v instanceof ra?new ra(v.l,v.a,v.b):v instanceof nt?ui(v.h,v.c,v.l):or((v=Ha(v)).r,v.g,v.b):new ra(v,g,T)}var mt=18,Ut=.95047,Gt=1,Oo=1.08883,Il=ra.prototype=new Jr;Il.brighter=function(v){return new ra(Math.min(100,this.l+mt*(arguments.length?v:1)),this.a,this.b)},Il.darker=function(v){return new ra(Math.max(0,this.l-mt*(arguments.length?v:1)),this.a,this.b)},Il.rgb=function(){return V0(this.l,this.a,this.b)};function V0(v,g,T){var C=(v+16)/116,q=C+g/500,L=C-T/200;return q=dc(q)*Ut,C=dc(C)*Gt,L=dc(L)*Oo,new Ha(pc(3.2404542*q-1.5371385*C-.4985314*L),pc(-.969266*q+1.8760108*C+.041556*L),pc(.0556434*q-.2040259*C+1.0572252*L))}function U0(v,g,T){return v>0?new nt(Math.atan2(T,g)*Hr,Math.sqrt(g*g+T*T),v):new nt(NaN,NaN,v)}function dc(v){return v>.206893034?v*v*v:(v-4/29)/7.787037}function hc(v){return v>.008856?Math.pow(v,1/3):7.787037*v+4/29}function pc(v){return Math.round(255*(v<=.00304?12.92*v:1.055*Math.pow(v,1/2.4)-.055))}e.rgb=Ha;function Ha(v,g,T){return this instanceof Ha?(this.r=~~v,this.g=~~g,void(this.b=~~T)):arguments.length<2?v instanceof Ha?new Ha(v.r,v.g,v.b):Xr(""+v,Ha,ma):new Ha(v,g,T)}function G0(v){return new Ha(v>>16,v>>8&255,v&255)}function pu(v){return G0(v)+""}var mu=Ha.prototype=new Jr;mu.brighter=function(v){v=Math.pow(.7,arguments.length?v:1);var g=this.r,T=this.g,C=this.b,q=30;return!g&&!T&&!C?new Ha(q,q,q):(g&&g<q&&(g=q),T&&T<q&&(T=q),C&&C<q&&(C=q),new Ha(Math.min(255,g/v),Math.min(255,T/v),Math.min(255,C/v)))},mu.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new Ha(v*this.r,v*this.g,v*this.b)},mu.hsl=function(){return et(this.r,this.g,this.b)},mu.toString=function(){return"#"+yr(this.r)+yr(this.g)+yr(this.b)};function yr(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function Xr(v,g,T){var C=0,q=0,L=0,z,P,F;if(z=/([a-z]+)\((.*)\)/.exec(v=v.toLowerCase()),z)switch(P=z[2].split(","),z[1]){case"hsl":return T(parseFloat(P[0]),parseFloat(P[1])/100,parseFloat(P[2])/100);case"rgb":return g(vt(P[0]),vt(P[1]),vt(P[2]))}return(F=Ta.get(v))?g(F.r,F.g,F.b):(v!=null&&v.charAt(0)==="#"&&!isNaN(F=parseInt(v.slice(1),16))&&(v.length===4?(C=(F&3840)>>4,C=C>>4|C,q=F&240,q=q>>4|q,L=F&15,L=L<<4|L):v.length===7&&(C=(F&16711680)>>16,q=(F&65280)>>8,L=F&255)),g(C,q,L))}function et(v,g,T){var C=Math.min(v/=255,g/=255,T/=255),q=Math.max(v,g,T),L=q-C,z,P,F=(q+C)/2;return L?(P=F<.5?L/(q+C):L/(2-q-C),v==q?z=(g-T)/L+(g<T?6:0):g==q?z=(T-v)/L+2:z=(v-g)/L+4,z*=60):(z=NaN,P=F>0&&F<1?0:z),new lt(z,P,F)}function or(v,g,T){v=wa(v),g=wa(g),T=wa(T);var C=hc((.4124564*v+.3575761*g+.1804375*T)/Ut),q=hc((.2126729*v+.7151522*g+.072175*T)/Gt),L=hc((.0193339*v+.119192*g+.9503041*T)/Oo);return ra(116*q-16,500*(C-q),200*(q-L))}function wa(v){return(v/=255)<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4)}function vt(v){var g=parseFloat(v);return v.charAt(v.length-1)==="%"?Math.round(g*2.55):g}var Ta=e.map({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});Ta.forEach(function(v,g){Ta.set(v,G0(g))});function Nr(v){return typeof v=="function"?v:function(){return v}}e.functor=Nr,e.xhr=fi(Y);function fi(v){return function(g,T,C){return arguments.length===2&&typeof T=="function"&&(C=T,T=null),Yo(g,T,v,C)}}function Yo(v,g,T,C){var q={},L=e.dispatch("beforesend","progress","load","error"),z={},P=new XMLHttpRequest,F=null;self.XDomainRequest&&!("withCredentials"in P)&&/^(http(s)?:)?\/\//.test(v)&&(P=new XDomainRequest),"onload"in P?P.onload=P.onerror=$:P.onreadystatechange=function(){P.readyState>3&&$()};function $(){var K=P.status,re;if(!K&&yG(P)||K>=200&&K<300||K===304){try{re=T.call(q,P)}catch(te){L.error.call(q,te);return}L.load.call(q,re)}else L.error.call(q,P)}return P.onprogress=function(K){var re=e.event;e.event=K;try{L.progress.call(q,P)}finally{e.event=re}},q.header=function(K,re){return K=(K+"").toLowerCase(),arguments.length<2?z[K]:(re==null?delete z[K]:z[K]=re+"",q)},q.mimeType=function(K){return arguments.length?(g=K==null?null:K+"",q):g},q.responseType=function(K){return arguments.length?(F=K,q):F},q.response=function(K){return T=K,q},["get","post"].forEach(function(K){q[K]=function(){return q.send.apply(q,[K].concat(t(arguments)))}}),q.send=function(K,re,te){if(arguments.length===2&&typeof re=="function"&&(te=re,re=null),P.open(K,v,!0),g!=null&&!("accept"in z)&&(z.accept=g+",*/*"),P.setRequestHeader)for(var ye in z)P.setRequestHeader(ye,z[ye]);return g!=null&&P.overrideMimeType&&P.overrideMimeType(g),F!=null&&(P.responseType=F),te!=null&&q.on("error",te).on("load",function(Ae){te(null,Ae)}),L.beforesend.call(q,P),P.send(re==null?null:re),q},q.abort=function(){return P.abort(),q},e.rebind(q,L,"on"),C==null?q:q.get(mG(C))}function mG(v){return v.length===1?function(g,T){v(g==null?T:null)}:v}function yG(v){var g=v.responseType;return g&&g!=="text"?v.response:v.responseText}e.dsv=function(v,g){var T=new RegExp('["'+v+`
]`),C=v.charCodeAt(0);function q($,K,re){arguments.length<3&&(re=K,K=null);var te=Yo($,g,K==null?L:z(K),re);return te.row=function(ye){return arguments.length?te.response((K=ye)==null?L:z(ye)):K},te}function L($){return q.parse($.responseText)}function z($){return function(K){return q.parse(K.responseText,$)}}q.parse=function($,K){var re;return q.parseRows($,function(te,ye){if(re)return re(te,ye-1);var Ae=function(ae){for(var ue={},de=te.length,Te=0;Te<de;++Te)ue[te[Te]]=ae[Te];return ue};re=K?function(ae,ue){return K(Ae(ae),ue)}:Ae})},q.parseRows=function($,K){var re={},te={},ye=[],Ae=$.length,ae=0,ue=0,de,Te;function Me(){if(ae>=Ae)return te;if(Te)return Te=!1,re;var Ye=ae;if($.charCodeAt(Ye)===34){for(var nr=Ye;nr++<Ae;)if($.charCodeAt(nr)===34){if($.charCodeAt(nr+1)!==34)break;++nr}ae=nr+2;var fr=$.charCodeAt(nr+1);return fr===13?(Te=!0,$.charCodeAt(nr+2)===10&&++ae):fr===10&&(Te=!0),$.slice(Ye+1,nr).replace(/""/g,'"')}for(;ae<Ae;){var fr=$.charCodeAt(ae++),lr=1;if(fr===10)Te=!0;else if(fr===13)Te=!0,$.charCodeAt(ae)===10&&(++ae,++lr);else if(fr!==C)continue;return $.slice(Ye,ae-lr)}return $.slice(Ye)}for(;(de=Me())!==te;){for(var pe=[];de!==re&&de!==te;)pe.push(de),de=Me();K&&(pe=K(pe,ue++))==null||ye.push(pe)}return ye},q.format=function($){if(Array.isArray($[0]))return q.formatRows($);var K=new I,re=[];return $.forEach(function(te){for(var ye in te)K.has(ye)||re.push(K.add(ye))}),[re.map(F).join(v)].concat($.map(function(te){return re.map(function(ye){return F(te[ye])}).join(v)})).join(`
`)},q.formatRows=function($){return $.map(P).join(`
`)};function P($){return $.map(F).join(v)}function F($){return T.test($)?'"'+$.replace(/\"/g,'""')+'"':$}return q},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var X0,W0,Z0,J0,B_=this[V(this,"requestAnimationFrame")]||function(v){setTimeout(v,17)};e.timer=function(){$0.apply(this,arguments)};function $0(v,g,T){var C=arguments.length;C<2&&(g=0),C<3&&(T=Date.now());var q=T+g,L={c:v,t:q,n:null};return W0?W0.n=L:X0=L,W0=L,Z0||(J0=clearTimeout(J0),Z0=1,B_(oy)),L}function oy(){var v=O_(),g=Y_()-v;g>24?(isFinite(g)&&(clearTimeout(J0),J0=setTimeout(oy,g)),Z0=0):(Z0=1,B_(oy))}e.timer.flush=function(){O_(),Y_()};function O_(){for(var v=Date.now(),g=X0;g;)v>=g.t&&g.c(v-g.t)&&(g.c=null),g=g.n;return v}function Y_(){for(var v,g=X0,T=1/0;g;)g.c?(g.t<T&&(T=g.t),g=(v=g).n):g=v?v.n=g.n:X0=g.n;return W0=v,T}e.round=function(v,g){return g?Math.round(v*(g=Math.pow(10,g)))/g:Math.round(v)},e.geom={};function yu(v){return v[0]}function mc(v){return v[1]}e.geom.hull=function(v){var g=yu,T=mc;if(arguments.length)return C(v);function C(q){if(q.length<3)return[];var L=Nr(g),z=Nr(T),P,F=q.length,$=[],K=[];for(P=0;P<F;P++)$.push([+L.call(this,q[P],P),+z.call(this,q[P],P),P]);for($.sort(gG),P=0;P<F;P++)K.push([$[P][0],-$[P][1]]);var re=V_($),te=V_(K),ye=te[0]===re[0],Ae=te[te.length-1]===re[re.length-1],ae=[];for(P=re.length-1;P>=0;--P)ae.push(q[$[re[P]][2]]);for(P=+ye;P<te.length-Ae;++P)ae.push(q[$[te[P]][2]]);return ae}return C.x=function(q){return arguments.length?(g=q,C):g},C.y=function(q){return arguments.length?(T=q,C):T},C};function V_(v){for(var g=v.length,T=[0,1],C=2,q=2;q<g;q++){for(;C>1&&ft(v[T[C-2]],v[T[C-1]],v[q])<=0;)--C;T[C++]=q}return T.slice(0,C)}function gG(v,g){return v[0]-g[0]||v[1]-g[1]}e.geom.polygon=function(v){return j(v,K0),v};var K0=e.geom.polygon.prototype=[];K0.area=function(){for(var v=-1,g=this.length,T,C=this[g-1],q=0;++v<g;)T=C,C=this[v],q+=T[1]*C[0]-T[0]*C[1];return q*.5},K0.centroid=function(v){var g=-1,T=this.length,C=0,q=0,L,z=this[T-1],P;for(arguments.length||(v=-1/(6*this.area()));++g<T;)L=z,z=this[g],P=L[0]*z[1]-z[0]*L[1],C+=(L[0]+z[0])*P,q+=(L[1]+z[1])*P;return[C*v,q*v]},K0.clip=function(v){for(var g,T=U_(v),C=-1,q=this.length-U_(this),L,z,P=this[q-1],F,$,K;++C<q;){for(g=v.slice(),v.length=0,F=this[C],$=g[(z=g.length-T)-1],L=-1;++L<z;)K=g[L],sy(K,P,F)?(sy($,P,F)||v.push(uy($,K,P,F)),v.push(K)):sy($,P,F)&&v.push(uy($,K,P,F)),$=K;T&&v.push(v[0]),P=F}return v};function sy(v,g,T){return(T[0]-g[0])*(v[1]-g[1])<(T[1]-g[1])*(v[0]-g[0])}function uy(v,g,T,C){var q=v[0],L=T[0],z=g[0]-q,P=C[0]-L,F=v[1],$=T[1],K=g[1]-F,re=C[1]-$,te=(P*(F-$)-re*(q-L))/(re*z-P*K);return[q+te*z,F+te*K]}function U_(v){var g=v[0],T=v[v.length-1];return!(g[0]-T[0]||g[1]-T[1])}var gu,Vo,xu,G_=[],fy,yc,X_=[];function xG(){ed(this),this.edge=this.site=this.circle=null}function W_(v){var g=G_.pop()||new xG;return g.site=v,g}function cy(v){_u(v),xu.remove(v),G_.push(v),ed(v)}function bG(v){var g=v.circle,T=g.x,C=g.cy,q={x:T,y:C},L=v.P,z=v.N,P=[v];cy(v);for(var F=L;F.circle&&b(T-F.circle.x)<se&&b(C-F.circle.cy)<se;)L=F.P,P.unshift(F),cy(F),F=L;P.unshift(F),_u(F);for(var $=z;$.circle&&b(T-$.circle.x)<se&&b(C-$.circle.cy)<se;)z=$.N,P.push($),cy($),$=z;P.push($),_u($);var K=P.length,re;for(re=1;re<K;++re)$=P[re],F=P[re-1],Q0($.edge,F.site,$.site,q);F=P[0],$=P[K-1],$.edge=gc(F.site,$.site,null,q),bu(F),bu($)}function _G(v){for(var g=v.x,T=v.y,C,q,L,z,P=xu._;P;)if(L=Z_(P,T)-g,L>se)P=P.L;else if(z=g-wG(P,T),z>se){if(!P.R){C=P;break}P=P.R}else{L>-se?(C=P.P,q=P):z>-se?(C=P,q=P.N):C=q=P;break}var F=W_(v);if(xu.insert(C,F),!(!C&&!q)){if(C===q){_u(C),q=W_(C.site),xu.insert(F,q),F.edge=q.edge=gc(C.site,F.site),bu(C),bu(q);return}if(!q){F.edge=gc(C.site,F.site);return}_u(C),_u(q);var $=C.site,K=$.x,re=$.y,te=v.x-K,ye=v.y-re,Ae=q.site,ae=Ae.x-K,ue=Ae.y-re,de=2*(te*ue-ye*ae),Te=te*te+ye*ye,Me=ae*ae+ue*ue,pe={x:(ue*Te-ye*Me)/de+K,y:(te*Me-ae*Te)/de+re};Q0(q.edge,$,Ae,pe),F.edge=gc($,v,null,pe),q.edge=gc(v,Ae,null,pe),bu(C),bu(q)}}function Z_(v,g){var T=v.site,C=T.x,q=T.y,L=q-g;if(!L)return C;var z=v.P;if(!z)return-1/0;T=z.site;var P=T.x,F=T.y,$=F-g;if(!$)return P;var K=P-C,re=1/L-1/$,te=K/$;return re?(-te+Math.sqrt(te*te-2*re*(K*K/(-2*$)-F+$/2+q-L/2)))/re+C:(C+P)/2}function wG(v,g){var T=v.N;if(T)return Z_(T,g);var C=v.site;return C.y===g?C.x:1/0}function J_(v){this.site=v,this.edges=[]}J_.prototype.prepare=function(){for(var v=this.edges,g=v.length,T;g--;)T=v[g].edge,(!T.b||!T.a)&&v.splice(g,1);return v.sort($_),v.length};function TG(v){for(var g=v[0][0],T=v[1][0],C=v[0][1],q=v[1][1],L,z,P,F,$=Vo,K=$.length,re,te,ye,Ae,ae,ue;K--;)if(re=$[K],!(!re||!re.prepare()))for(ye=re.edges,Ae=ye.length,te=0;te<Ae;)ue=ye[te].end(),P=ue.x,F=ue.y,ae=ye[++te%Ae].start(),L=ae.x,z=ae.y,(b(P-L)>se||b(F-z)>se)&&(ye.splice(te,0,new j0(qG(re.site,ue,b(P-g)<se&&q-F>se?{x:g,y:b(L-g)<se?z:q}:b(F-q)<se&&T-P>se?{x:b(z-q)<se?L:T,y:q}:b(P-T)<se&&F-C>se?{x:T,y:b(L-T)<se?z:C}:b(F-C)<se&&P-g>se?{x:b(z-C)<se?L:g,y:C}:null),re.site,null)),++Ae)}function $_(v,g){return g.angle-v.angle}function AG(){ed(this),this.x=this.y=this.arc=this.site=this.cy=null}function bu(v){var g=v.P,T=v.N;if(!(!g||!T)){var C=g.site,q=v.site,L=T.site;if(C!==L){var z=q.x,P=q.y,F=C.x-z,$=C.y-P,K=L.x-z,ue=L.y-P,re=2*(F*ue-$*K);if(!(re>=-Le)){var te=F*F+$*$,ye=K*K+ue*ue,Ae=(ue*te-$*ye)/re,ae=(F*ye-K*te)/re,ue=ae+P,de=X_.pop()||new AG;de.arc=v,de.site=q,de.x=Ae+z,de.y=ue+Math.sqrt(Ae*Ae+ae*ae),de.cy=ue,v.circle=de;for(var Te=null,Me=yc._;Me;)if(de.y<Me.y||de.y===Me.y&&de.x<=Me.x)if(Me.L)Me=Me.L;else{Te=Me.P;break}else if(Me.R)Me=Me.R;else{Te=Me;break}yc.insert(Te,de),Te||(fy=de)}}}}function _u(v){var g=v.circle;g&&(g.P||(fy=g.N),yc.remove(g),X_.push(g),ed(g),v.circle=null)}function MG(v,g,T,C){return function(q){var L=q.a,z=q.b,P=L.x,F=L.y,$=z.x,K=z.y,re=0,te=1,ye=$-P,Ae=K-F,ae;if(ae=v-P,!(!ye&&ae>0)){if(ae/=ye,ye<0){if(ae<re)return;ae<te&&(te=ae)}else if(ye>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=T-P,!(!ye&&ae<0)){if(ae/=ye,ye<0){if(ae>te)return;ae>re&&(re=ae)}else if(ye>0){if(ae<re)return;ae<te&&(te=ae)}if(ae=g-F,!(!Ae&&ae>0)){if(ae/=Ae,Ae<0){if(ae<re)return;ae<te&&(te=ae)}else if(Ae>0){if(ae>te)return;ae>re&&(re=ae)}if(ae=C-F,!(!Ae&&ae<0)){if(ae/=Ae,Ae<0){if(ae>te)return;ae>re&&(re=ae)}else if(Ae>0){if(ae<re)return;ae<te&&(te=ae)}return re>0&&(q.a={x:P+re*ye,y:F+re*Ae}),te<1&&(q.b={x:P+te*ye,y:F+te*Ae}),q}}}}}}function kG(v){for(var g=gu,T=MG(v[0][0],v[0][1],v[1][0],v[1][1]),C=g.length,q;C--;)q=g[C],(!CG(q,v)||!T(q)||b(q.a.x-q.b.x)<se&&b(q.a.y-q.b.y)<se)&&(q.a=q.b=null,g.splice(C,1))}function CG(v,g){var T=v.b;if(T)return!0;var C=v.a,q=g[0][0],L=g[1][0],z=g[0][1],P=g[1][1],F=v.l,$=v.r,K=F.x,re=F.y,te=$.x,ye=$.y,Ae=(K+te)/2,ae=(re+ye)/2,ue,de;if(ye===re){if(Ae<q||Ae>=L)return;if(K>te){if(!C)C={x:Ae,y:z};else if(C.y>=P)return;T={x:Ae,y:P}}else{if(!C)C={x:Ae,y:P};else if(C.y<z)return;T={x:Ae,y:z}}}else if(ue=(K-te)/(ye-re),de=ae-ue*Ae,ue<-1||ue>1)if(K>te){if(!C)C={x:(z-de)/ue,y:z};else if(C.y>=P)return;T={x:(P-de)/ue,y:P}}else{if(!C)C={x:(P-de)/ue,y:P};else if(C.y<z)return;T={x:(z-de)/ue,y:z}}else if(re<ye){if(!C)C={x:q,y:ue*q+de};else if(C.x>=L)return;T={x:L,y:ue*L+de}}else{if(!C)C={x:L,y:ue*L+de};else if(C.x<q)return;T={x:q,y:ue*q+de}}return v.a=C,v.b=T,!0}function K_(v,g){this.l=v,this.r=g,this.a=this.b=null}function gc(v,g,T,C){var q=new K_(v,g);return gu.push(q),T&&Q0(q,v,g,T),C&&Q0(q,g,v,C),Vo[v.i].edges.push(new j0(q,v,g)),Vo[g.i].edges.push(new j0(q,g,v)),q}function qG(v,g,T){var C=new K_(v,null);return C.a=g,C.b=T,gu.push(C),C}function Q0(v,g,T,C){!v.a&&!v.b?(v.a=C,v.l=g,v.r=T):v.l===T?v.b=C:v.a=C}function j0(v,g,T){var C=v.a,q=v.b;this.edge=v,this.site=g,this.angle=T?Math.atan2(T.y-g.y,T.x-g.x):v.l===g?Math.atan2(q.x-C.x,C.y-q.y):Math.atan2(C.x-q.x,q.y-C.y)}j0.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function vy(){this._=null}function ed(v){v.U=v.C=v.L=v.R=v.P=v.N=null}vy.prototype={insert:function(v,g){var T,C,q;if(v){if(g.P=v,g.N=v.N,v.N&&(v.N.P=g),v.N=g,v.R){for(v=v.R;v.L;)v=v.L;v.L=g}else v.R=g;T=v}else this._?(v=Q_(this._),g.P=null,g.N=v,v.P=v.L=g,T=v):(g.P=g.N=null,this._=g,T=null);for(g.L=g.R=null,g.U=T,g.C=!0,v=g;T&&T.C;)C=T.U,T===C.L?(q=C.R,q&&q.C?(T.C=q.C=!1,C.C=!0,v=C):(v===T.R&&(xc(this,T),v=T,T=v.U),T.C=!1,C.C=!0,bc(this,C))):(q=C.L,q&&q.C?(T.C=q.C=!1,C.C=!0,v=C):(v===T.L&&(bc(this,T),v=T,T=v.U),T.C=!1,C.C=!0,xc(this,C))),T=v.U;this._.C=!1},remove:function(v){v.N&&(v.N.P=v.P),v.P&&(v.P.N=v.N),v.N=v.P=null;var g=v.U,T,C=v.L,q=v.R,L,z;if(C?q?L=Q_(q):L=C:L=q,g?g.L===v?g.L=L:g.R=L:this._=L,C&&q?(z=L.C,L.C=v.C,L.L=C,C.U=L,L!==q?(g=L.U,L.U=v.U,v=L.R,g.L=v,L.R=q,q.U=L):(L.U=g,g=L,v=L.R)):(z=v.C,v=L),v&&(v.U=g),!z){if(v&&v.C){v.C=!1;return}do{if(v==