UNPKG

plotly.js

Version:

The open source javascript graphing library that powers plotly

18 lines 1.21 MB
/** * plotly.js (finance - minified) v3.2.0 * Copyright 2012-2025, 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 nh=Object.defineProperty,lX=Object.defineProperties,oX=Object.getOwnPropertyDescriptor,sX=Object.getOwnPropertyDescriptors,uX=Object.getOwnPropertyNames,U4=Object.getOwnPropertySymbols;var X4=Object.prototype.hasOwnProperty,fX=Object.prototype.propertyIsEnumerable;var W4=(e,r,t)=>r in e?nh(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,Ho=(e,r)=>{for(var t in r||(r={}))X4.call(r,t)&&W4(e,t,r[t]);if(U4)for(var t of U4(r))fX.call(r,t)&&W4(e,t,r[t]);return e},ih=(e,r)=>lX(e,sX(r));var it=(e,r)=>()=>(e&&(r=e(e=0)),r);var O=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports),cX=(e,r)=>{for(var t in r)nh(e,t,{get:r[t],enumerable:!0})},vX=(e,r,t,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of uX(r))!X4.call(e,n)&&n!==t&&nh(e,n,{get:()=>r[n],enumerable:!(a=oX(r,n))||a.enumerable});return e};var Z4=e=>vX(nh({},"__esModule",{value:!0}),e);var lh=O(J4=>{"use strict";J4.version="3.2.0"});var K4=O(($4,oh)=>{(function(r,t,a){t[r]=t[r]||a(),typeof oh!="undefined"&&oh.exports&&(oh.exports=t[r])})("Promise",typeof window!="undefined"?window:$4,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,M){return Object.defineProperty(_,w,{value:x,writable:!0,configurable:M!==!1})}}catch(b){r=function(w,x,M){return w[x]=M,w}}a=function(){var _,w,x;function M(k,A){this.fn=k,this.self=A,this.next=void 0}return{add:function(A,C){x=new M(A,C),w?w.next=x:_=x,w=x,x=void 0},drain:function(){var A=_;for(_=w=t=void 0;A;)A.fn.call(A.self),A=A.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,M;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")):(M=o(x))?M.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 d(w);try{_.call(b,function(){f.apply(x,arguments)},function(){c.apply(x,arguments)})}catch(M){c.call(x,M)}}):(w.msg=b,w.state=1,w.chain.length>0&&l(s,w))}catch(x){c.call(new d(w),x)}}}function c(b){var _=this;_.triggered||(_.triggered=!0,_.def&&(_=_.def),_.msg=b,_.state=2,_.chain.length>0&&l(s,_))}function h(b,_,w,x){for(var M=0;M<_.length;M++)(function(A){b.resolve(_[A]).then(function(D){w(A,D)},x)})(M)}function d(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,M){var k={success:typeof x=="function"?x:!0,failure:typeof M=="function"?M:!1};return k.promise=new this.constructor(function(C,D){if(typeof C!="function"||typeof D!="function")throw TypeError("Not a function");k.resolve=C,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(M,k){if(typeof M!="function"||typeof k!="function")throw TypeError("Not a function");M(_)})}),r(m,"reject",function(_){return new this(function(x,M){if(typeof x!="function"||typeof M!="function")throw TypeError("Not a function");M(_)})}),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(M,k){if(typeof M!="function"||typeof k!="function")throw TypeError("Not a function");var A=_.length,C=Array(A),D=0;h(w,_,function(R,N){C[R]=N,++D===A&&M(C)},k)})}),r(m,"race",function(_){var w=this;return n.call(_)!="[object Array]"?w.reject(TypeError("Not an array")):new w(function(M,k){if(typeof M!="function"||typeof k!="function")throw TypeError("Not a function");h(w,_,function(C,D){M(D)},k)})}),m})});var kr=O((nme,sh)=>{(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,q=new Array(T);T--;)q[T]=g[T];return q}}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,q){s.call(this,g,T,q+"")},u.setProperty=function(g,T,q){f.call(this,g,T+"",q)}}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,q=v.length,S,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){S=L;break}for(;++T<q;)(L=v[T])!=null&&S>L&&(S=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){S=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&S>L&&(S=L)}return S},e.max=function(v,g){var T=-1,q=v.length,S,L;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){S=L;break}for(;++T<q;)(L=v[T])!=null&&L>S&&(S=L)}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){S=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&L>S&&(S=L)}return S},e.extent=function(v,g){var T=-1,q=v.length,S,L,z;if(arguments.length===1){for(;++T<q;)if((L=v[T])!=null&&L>=L){S=z=L;break}for(;++T<q;)(L=v[T])!=null&&(S>L&&(S=L),z<L&&(z=L))}else{for(;++T<q;)if((L=g.call(v,v[T],T))!=null&&L>=L){S=z=L;break}for(;++T<q;)(L=g.call(v,v[T],T))!=null&&(S>L&&(S=L),z<L&&(z=L))}return[S,z]};function h(v){return v===null?NaN:+v}function d(v){return!isNaN(v)}e.sum=function(v,g){var T=0,q=v.length,S,L=-1;if(arguments.length===1)for(;++L<q;)d(S=+v[L])&&(T+=S);else for(;++L<q;)d(S=+g.call(v,v[L],L))&&(T+=S);return T},e.mean=function(v,g){var T=0,q=v.length,S,L=-1,z=q;if(arguments.length===1)for(;++L<q;)d(S=h(v[L]))?T+=S:--z;else for(;++L<q;)d(S=h(g.call(v,v[L],L)))?T+=S:--z;if(z)return T/z},e.quantile=function(v,g){var T=(v.length-1)*g+1,q=Math.floor(T),S=+v[q-1],L=T-q;return L?S+L*(v[q]-S):S},e.median=function(v,g){var T=[],q=v.length,S,L=-1;if(arguments.length===1)for(;++L<q;)d(S=h(v[L]))&&T.push(S);else for(;++L<q;)d(S=h(g.call(v,v[L],L)))&&T.push(S);if(T.length)return e.quantile(T.sort(c),.5)},e.variance=function(v,g){var T=v.length,q=0,S,L,z=0,P=-1,F=0;if(arguments.length===1)for(;++P<T;)d(S=h(v[P]))&&(L=S-q,q+=L/++F,z+=L*(S-q));else for(;++P<T;)d(S=h(g.call(v,v[P],P)))&&(L=S-q,q+=L/++F,z+=L*(S-q));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,q,S){for(arguments.length<3&&(q=0),arguments.length<4&&(S=g.length);q<S;){var L=q+S>>>1;v(g[L],T)<0?q=L+1:S=L}return q},right:function(g,T,q,S){for(arguments.length<3&&(q=0),arguments.length<4&&(S=g.length);q<S;){var L=q+S>>>1;v(g[L],T)>0?S=L:q=L+1}return q}}}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){(q=arguments.length)<3&&(T=v.length,q<2&&(g=0));for(var q=T-g,S,L;q;)L=Math.random()*q--|0,S=v[q+g],v[q+g]=v[L+g],v[L+g]=S;return v},e.permute=function(v,g){for(var T=g.length,q=new Array(T);T--;)q[T]=v[g[T]];return q},e.pairs=function(v){for(var g=0,T=v.length-1,q,S=v[0],L=new Array(T<0?0:T);g<T;)L[g]=[q=S,S=v[++g]];return L},e.transpose=function(v){if(!(L=v.length))return[];for(var g=-1,T=e.min(v,y),q=new Array(T);++g<T;)for(var S=-1,L,z=q[g]=new Array(L);++S<L;)z[S]=v[S][g];return q};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,q=-1,S=0,L,z;++q<g;)S+=v[q].length;for(L=new Array(S);--g>=0;)for(z=v[g],T=z.length;--T>=0;)L[--S]=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 q=[],S=_(b(T)),L=-1,z;if(v*=S,g*=S,T*=S,T<0)for(;(z=v+T*++L)>g;)q.push(z/S);else for(;(z=v+T*++L)<g;)q.push(z/S);return q};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 q=-1,S=v.length,L;if(arguments.length===1)for(;++q<S;)T.set(q,v[q]);else for(;++q<S;)T.set(g.call(v,L=v[q],q),L)}else for(var z in v)T.set(z,v[z]);return T};function x(){this._=Object.create(null)}var M="__proto__",k="\0";w(x,{has:D,get:function(v){return this._[A(v)]},set:function(v,g){return this._[A(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:C(g),value:this._[g]});return v},size:N,empty:I,forEach:function(v){for(var g in this._)v.call(this,C(g),this._[g])}});function A(v){return(v+="")===M||v[0]===k?k+v:v}function C(v){return(v+="")[0]===k?v.slice(1):v}function D(v){return A(v)in this._}function E(v){return(v=A(v))in this._&&delete this._[v]}function R(){var v=[];for(var g in this._)v.push(C(g));return v}function N(){var v=0;for(var g in this._)++v;return v}function I(){for(var v in this._)return!1;return!0}e.nest=function(){var v={},g=[],T=[],q,S;function L(P,F,Z){if(Z>=g.length)return S?S.call(v,F):q?F.sort(q):F;for(var $=-1,ee=F.length,te=g[Z++],me,Me,ae,se=new x,he;++$<ee;)(he=se.get(me=te(Me=F[$])))?he.push(Me):se.set(me,[Me]);return P?(Me=P(),ae=function(we,ke){Me.set(we,L(P,ke,Z))}):(Me={},ae=function(we,ke){Me[we]=L(P,ke,Z)}),se.forEach(ae),Me}function z(P,F){if(F>=g.length)return P;var Z=[],$=T[F++];return P.forEach(function(ee,te){Z.push({key:ee,values:z(te,F)})}),$?Z.sort(function(ee,te){return $(ee.key,te.key)}):Z}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 q=P,v},v.rollup=function(P){return S=P,v},v},e.set=function(v){var g=new H;if(v)for(var T=0,q=v.length;T<q;++T)g.add(v[T]);return g};function H(){this._=Object.create(null)}w(H,{has:D,add:function(v){return this._[A(v+="")]=!0,v},remove:E,values:R,size:N,empty:I,forEach:function(v){for(var g in this._)v.call(this,C(g))}}),e.behavior={};function G(v){return v}e.rebind=function(v,g){for(var T=1,q=arguments.length,S;++T<q;)v[S=arguments[T]]=W(v,g,g[S]);return v};function W(v,g,T){return function(){var q=T.apply(g,arguments);return q===g?v:q}}function Y(v,g){if(g in v)return g;g=g.charAt(0).toUpperCase()+g.slice(1);for(var T=0,q=B.length;T<q;++T){var S=B[T]+g;if(S in v)return S}}var B=["webkit","ms","moz","Moz","o","O"];function V(){}e.dispatch=function(){for(var v=new K,g=-1,T=arguments.length;++g<T;)v[arguments[g]]=J(v);return v};function K(){}K.prototype.on=function(v,g){var T=v.indexOf("."),q="";if(T>=0&&(q=v.slice(T+1),v=v.slice(0,T)),v)return arguments.length<2?this[v].on(q):this[v].on(q,g);if(arguments.length===2){if(g==null)for(v in this)this.hasOwnProperty(v)&&this[v].on(q,null);return this}};function J(v){var g=[],T=new x;function q(){for(var S=g,L=-1,z=S.length,P;++L<z;)(P=S[L].on)&&P.apply(this,arguments);return v}return q.on=function(S,L){var z=T.get(S),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(S)),L&&g.push(T.set(S,{on:L})),v)},q}e.event=null;function re(){e.event.preventDefault()}function le(){for(var v=e.event,g;g=v.sourceEvent;)v=g;return v}function ue(v){for(var g=new K,T=0,q=arguments.length;++T<q;)g[arguments[T]]=J(g);return g.of=function(S,L){return function(z){try{var P=z.sourceEvent=e.event;z.target=v,e.event=z,g[z.type].apply(S,L)}finally{e.event=P}}},g}e.requote=function(v){return v.replace(ve,"\\$&")};var ve=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/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,xe),v}var fe=function(v,g){return g.querySelector(v)},be=function(v,g){return g.querySelectorAll(v)},ce=function(v,g){var T=v.matches||v[Y(v,"matchesSelector")];return ce=function(q,S){return T.call(q,S)},ce(v,g)};typeof Sizzle=="function"&&(fe=function(v,g){return Sizzle(v,g)[0]||null},be=Sizzle,ce=Sizzle.matchesSelector),e.selection=function(){return e.select(a.documentElement)};var xe=e.selection.prototype=[];xe.select=function(v){var g=[],T,q,S,L;v=U(v);for(var z=-1,P=this.length;++z<P;){g.push(T=[]),T.parentNode=(S=this[z]).parentNode;for(var F=-1,Z=S.length;++F<Z;)(L=S[F])?(T.push(q=v.call(L,L.__data__,F,z)),q&&"__data__"in L&&(q.__data__=L.__data__)):T.push(null)}return qe(g)};function U(v){return typeof v=="function"?v:function(){return fe(v,this)}}xe.selectAll=function(v){var g=[],T,q;v=Q(v);for(var S=-1,L=this.length;++S<L;)for(var z=this[S],P=-1,F=z.length;++P<F;)(q=z[P])&&(g.push(T=t(v.call(q,q.__data__,P,S))),T.parentNode=q);return qe(g)};function Q(v){return typeof v=="function"?v:function(){return be(v,this)}}var X="http://www.w3.org/1999/xhtml",ge={svg:"http://www.w3.org/2000/svg",xhtml:X,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};e.ns={prefix:ge,qualify:function(v){var g=v.indexOf(":"),T=v;return g>=0&&(T=v.slice(0,g))!=="xmlns"&&(v=v.slice(g+1)),ge.hasOwnProperty(T)?{space:ge[T],local:v}:v}},xe.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(Te(g,v[g]));return this}return this.each(Te(v,g))};function Te(v,g){v=e.ns.qualify(v);function T(){this.removeAttribute(v)}function q(){this.removeAttributeNS(v.space,v.local)}function S(){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?q:T:typeof g=="function"?v.local?P:z:v.local?L:S}function ye(v){return v.trim().replace(/\s+/g," ")}xe.classed=function(v,g){if(arguments.length<2){if(typeof v=="string"){var T=this.node(),q=(v=Ie(v)).length,S=-1;if(g=T.classList){for(;++S<q;)if(!g.contains(v[S]))return!1}else for(g=T.getAttribute("class");++S<q;)if(!ze(v[S]).test(g))return!1;return!0}for(g in v)this.each(Ee(g,v[g]));return this}return this.each(Ee(v,g))};function ze(v){return new RegExp("(?:^|\\s+)"+e.requote(v)+"(?:\\s+|$)","g")}function Ie(v){return(v+"").trim().split(/^|\s+/)}function Ee(v,g){v=Ie(v).map(Fe);var T=v.length;function q(){for(var L=-1;++L<T;)v[L](this,g)}function S(){for(var L=-1,z=g.apply(this,arguments);++L<T;)v[L](this,z)}return typeof g=="function"?S:q}function Fe(v){var g=ze(v);return function(T,q){if(S=T.classList)return q?S.add(v):S.remove(v);var S=T.getAttribute("class")||"";q?(g.lastIndex=0,g.test(S)||T.setAttribute("class",ye(S+" "+v))):T.setAttribute("class",ye(S.replace(g," ")))}}xe.style=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g="");for(T in v)this.each(Be(T,v[T],g));return this}if(q<2){var S=this.node();return i(S).getComputedStyle(S,null).getPropertyValue(v)}T=""}return this.each(Be(v,g,T))};function Be(v,g,T){function q(){this.style.removeProperty(v)}function S(){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?q:typeof g=="function"?L:S}xe.property=function(v,g){if(arguments.length<2){if(typeof v=="string")return this.node()[v];for(g in v)this.each(Ue(g,v[g]));return this}return this.each(Ue(v,g))};function Ue(v,g){function T(){delete this[v]}function q(){this[v]=g}function S(){var L=g.apply(this,arguments);L==null?delete this[v]:this[v]=L}return g==null?T:typeof g=="function"?S:q}xe.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},xe.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},xe.append=function(v){return v=Le(v),this.select(function(){return this.appendChild(v.apply(this,arguments))})};function Le(v){function g(){var q=this.ownerDocument,S=this.namespaceURI;return S===X&&q.documentElement.namespaceURI===X?q.createElement(v):q.createElementNS(S,v)}function T(){return this.ownerDocument.createElementNS(v.space,v.local)}return typeof v=="function"?v:(v=e.ns.qualify(v)).local?T:g}xe.insert=function(v,g){return v=Le(v),g=U(g),this.select(function(){return this.insertBefore(v.apply(this,arguments),g.apply(this,arguments)||null)})},xe.remove=function(){return this.each(He)};function He(){var v=this.parentNode;v&&v.removeChild(this)}xe.data=function(v,g){var T=-1,q=this.length,S,L;if(!arguments.length){for(v=new Array(q=(S=this[0]).length);++T<q;)(L=S[T])&&(v[T]=L.__data__);return v}function z($,ee){var te,me=$.length,Me=ee.length,ae=Math.min(me,Me),se=new Array(Me),he=new Array(Me),we=new Array(me),ke,pe;if(g){var Ve=new x,nr=new Array(me),ur;for(te=-1;++te<me;)(ke=$[te])&&(Ve.has(ur=g.call(ke,ke.__data__,te))?we[te]=ke:Ve.set(ur,ke),nr[te]=ur);for(te=-1;++te<Me;)(ke=Ve.get(ur=g.call(ee,pe=ee[te],te)))?ke!==!0&&(se[te]=ke,ke.__data__=pe):he[te]=Ye(pe),Ve.set(ur,!0);for(te=-1;++te<me;)te in nr&&Ve.get(nr[te])!==!0&&(we[te]=$[te])}else{for(te=-1;++te<ae;)ke=$[te],pe=ee[te],ke?(ke.__data__=pe,se[te]=ke):he[te]=Ye(pe);for(;te<Me;++te)he[te]=Ye(ee[te]);for(;te<me;++te)we[te]=$[te]}he.update=se,he.parentNode=se.parentNode=we.parentNode=$.parentNode,P.push(he),F.push(se),Z.push(we)}var P=hr([]),F=qe([]),Z=qe([]);if(typeof v=="function")for(;++T<q;)z(S=this[T],v.call(S,S.parentNode.__data__,T));else for(;++T<q;)z(S=this[T],v);return F.enter=function(){return P},F.exit=function(){return Z},F};function Ye(v){return{__data__:v}}xe.datum=function(v){return arguments.length?this.property("__data__",v):this.property("__data__")},xe.filter=function(v){var g=[],T,q,S;typeof v!="function"&&(v=ie(v));for(var L=0,z=this.length;L<z;L++){g.push(T=[]),T.parentNode=(q=this[L]).parentNode;for(var P=0,F=q.length;P<F;P++)(S=q[P])&&v.call(S,S.__data__,P,L)&&T.push(S)}return qe(g)};function ie(v){return function(){return ce(this,v)}}xe.order=function(){for(var v=-1,g=this.length;++v<g;)for(var T=this[v],q=T.length-1,S=T[q],L;--q>=0;)(L=T[q])&&(S&&S!==L.nextSibling&&S.parentNode.insertBefore(L,S),S=L);return this},xe.sort=function(v){v=_e.apply(this,arguments);for(var g=-1,T=this.length;++g<T;)this[g].sort(v);return this.order()};function _e(v){return arguments.length||(v=c),function(g,T){return g&&T?v(g.__data__,T.__data__):!g-!T}}xe.each=function(v){return $e(this,function(g,T,q){v.call(g,g.__data__,T,q)})};function $e(v,g){for(var T=0,q=v.length;T<q;T++)for(var S=v[T],L=0,z=S.length,P;L<z;L++)(P=S[L])&&g(P,L,T);return v}xe.call=function(v){var g=t(arguments);return v.apply(g[0]=this,g),this},xe.empty=function(){return!this.node()},xe.node=function(){for(var v=0,g=this.length;v<g;v++)for(var T=this[v],q=0,S=T.length;q<S;q++){var L=T[q];if(L)return L}return null},xe.size=function(){var v=0;return $e(this,function(){++v}),v};function hr(v){return j(v,Re),v}var Re=[];e.selection.enter=hr,e.selection.enter.prototype=Re,Re.append=xe.append,Re.empty=xe.empty,Re.node=xe.node,Re.call=xe.call,Re.size=xe.size,Re.select=function(v){for(var g=[],T,q,S,L,z,P=-1,F=this.length;++P<F;){S=(L=this[P]).update,g.push(T=[]),T.parentNode=L.parentNode;for(var Z=-1,$=L.length;++Z<$;)(z=L[Z])?(T.push(S[Z]=q=v.call(L.parentNode,z.__data__,Z,P)),q.__data__=z.__data__):T.push(null)}return qe(g)},Re.insert=function(v,g){return arguments.length<2&&(g=Ae(this)),xe.insert.call(this,v,g)};function Ae(v){var g,T;return function(q,S,L){var z=v[L].update,P=z.length,F;for(L!=T&&(T=L,g=0),S>=g&&(g=S+1);!(F=z[g])&&++g<P;);return F}}e.select=function(v){var g;return typeof v=="string"?(g=[fe(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])},xe.on=function(v,g,T){var q=arguments.length;if(q<3){if(typeof v!="string"){q<2&&(g=!1);for(T in v)this.each(Se(T,v[T],g));return this}if(q<2)return(q=this.node()["__on"+v])&&q._;T=!1}return this.each(Se(v,g,T))};function Se(v,g,T){var q="__on"+v,S=v.indexOf("."),L=Je;S>0&&(v=v.slice(0,S));var z=Oe.get(v);z&&(v=z,L=We);function P(){var $=this[q];$&&(this.removeEventListener(v,$,$.$),delete this[q])}function F(){var $=L(g,t(arguments));P.call(this),this.addEventListener(v,this[q]=$,$.$=T),$._=g}function Z(){var $=new RegExp("^__on([^.]+)"+e.requote(v)+"$"),ee;for(var te in this)if(ee=te.match($)){var me=this[te];this.removeEventListener(ee[1],me,me.$),delete this[te]}}return S?g?F:P:g?V:Z}var Oe=e.map({mouseenter:"mouseover",mouseleave:"mouseout"});a&&Oe.forEach(function(v){"on"+v in a&&Oe.remove(v)});function Je(v,g){return function(T){var q=e.event;e.event=T,g[0]=this.__data__;try{v.apply(this,g)}finally{e.event=q}}}function We(v,g){var T=Je(v,g);return function(q){var S=this,L=q.relatedTarget;(!L||L!==S&&!(L.compareDocumentPosition(S)&8))&&T.call(S,q)}}var Xe,lr=0;function tr(v){var g=".dragsuppress-"+ ++lr,T="click"+g,q=e.select(i(v)).on("touchmove"+g,re).on("dragstart"+g,re).on("selectstart"+g,re);if(Xe==null&&(Xe="onselectstart"in v?!1:Y(v.style,"userSelect")),Xe){var S=n(v).style,L=S[Xe];S[Xe]="none"}return function(z){if(q.on(g,null),Xe&&(S[Xe]=L),z){var P=function(){q.on(T,null)};q.on(T,function(){re(),P()},!0),setTimeout(P,0)}}}e.mouse=function(v){return Ne(v,le())};var Ke=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Ne(v,g){g.changedTouches&&(g=g.changedTouches[0]);var T=v.ownerSVGElement||v;if(T.createSVGPoint){var q=T.createSVGPoint();if(Ke<0){var S=i(v);if(S.scrollX||S.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();Ke=!(L.f||L.e),T.remove()}}return Ke?(q.x=g.pageX,q.y=g.pageY):(q.x=g.clientX,q.y=g.clientY),q=q.matrixTransform(v.getScreenCTM().inverse()),[q.x,q.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 q=0,S=g.length,L;q<S;++q)if((L=g[q]).identifier===T)return Ne(v,L)}},e.behavior.drag=function(){var v=ue(S,"drag","dragstart","dragend"),g=null,T=L(V,e.mouse,i,"mousemove","mouseup"),q=L(ne,e.touch,G,"touchmove","touchend");function S(){this.on("mousedown.drag",T).on("touchstart.drag",q)}function L(z,P,F,Z,$){return function(){var ee=this,te=e.event.target.correspondingElement||e.event.target,me=ee.parentNode,Me=v.of(ee,arguments),ae=0,se=z(),he=".drag"+(se==null?"":"-"+se),we,ke=e.select(F(te)).on(Z+he,nr).on($+he,ur),pe=tr(te),Ve=P(me,se);g?(we=g.apply(ee,arguments),we=[we.x-Ve[0],we.y-Ve[1]]):we=[0,0],Me({type:"dragstart"});function nr(){var ir=P(me,se),dr,pr;ir&&(dr=ir[0]-Ve[0],pr=ir[1]-Ve[1],ae|=dr|pr,Ve=ir,Me({type:"drag",x:ir[0]+we[0],y:ir[1]+we[1],dx:dr,dy:pr}))}function ur(){P(me,se)&&(ke.on(Z+he,null).on($+he,null),pe(ae),Me({type:"dragend"}))}}}return S.origin=function(z){return arguments.length?(g=z,S):g},e.rebind(S,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 q=Ne(v,T);return q.identifier=T.identifier,q}):[]};var oe=1e-6,Ce=oe*oe,De=Math.PI,ar=2*De,fr=ar-oe,sr=De/2,Ar=De/180,Br=180/De;function et(v){return v>0?1:v<0?-1:0}function ut(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?De:Math.acos(v)}function _t(v){return v>1?sr:v<-1?-sr:Math.asin(v)}function Ht(v){return((v=Math.exp(v))-1/v)/2}function ra(v){return((v=Math.exp(v))+1/v)/2}function Ia(v){return((v=Math.exp(2*v))-1)/(v+1)}function ma(v){return(v=Math.sin(v/2))*v}var ya=Math.SQRT2,vr=2,ft=4;e.interpolateZoom=function(v,g){var T=v[0],q=v[1],S=v[2],L=g[0],z=g[1],P=g[2],F=L-T,Z=z-q,$=F*F+Z*Z,ee,te;if($<Ce)te=Math.log(P/S)/ya,ee=function(we){return[T+we*F,q+we*Z,S*Math.exp(ya*we*te)]};else{var me=Math.sqrt($),Me=(P*P-S*S+ft*$)/(2*S*vr*me),ae=(P*P-S*S-ft*$)/(2*P*vr*me),se=Math.log(Math.sqrt(Me*Me+1)-Me),he=Math.log(Math.sqrt(ae*ae+1)-ae);te=(he-se)/ya,ee=function(we){var ke=we*te,pe=ra(se),Ve=S/(vr*me)*(pe*Ia(ya*ke+se)-Ht(se));return[T+Ve*F,q+Ve*Z,S*pe/ra(ya*ke+se)]}}return ee.duration=te*1e3,ee},e.behavior.zoom=function(){var v={x:0,y:0,k:1},g,T,q,S=[960,500],L=$r,z=250,P=0,F="mousedown.zoom",Z="mousemove.zoom",$="mouseup.zoom",ee,te="touchstart.zoom",me,Me=ue(ke,"zoomstart","zoom","zoomend"),ae,se,he,we;Et||(Et="onwheel"in a?(dt=function(){return-e.event.deltaY*(e.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(dt=function(){return e.event.wheelDelta},"mousewheel"):(dt=function(){return-e.event.detail},"MozMousePixelScroll"));function ke(je){je.on(F,Mr).on(Et+".zoom",Ot).on("dblclick.zoom",at).on(te,Kr)}ke.event=function(je){je.each(function(){var Dr=Me.of(this,arguments),Er=v;No?e.select(this).transition().each("start.zoom",function(){v=this.__chart__||{x:0,y:0,k:1},pr(Dr)}).tween("zoom:zoom",function(){var Qr=S[0],St=S[1],Kt=T?T[0]:Qr/2,wa=T?T[1]:St/2,Oa=e.interpolateZoom([(Kt-v.x)/v.k,(wa-v.y)/v.k,Qr/v.k],[(Kt-Er.x)/Er.k,(wa-Er.y)/Er.k,Qr/Er.k]);return function($a){var Ba=Oa($a),ja=Qr/Ba[2];this.__chart__=v={x:Kt-Ba[0]*ja,y:wa-Ba[1]*ja,k:ja},Lr(Dr)}}).each("interrupt.zoom",function(){mr(Dr)}).each("end.zoom",function(){mr(Dr)}):(this.__chart__=v,pr(Dr),Lr(Dr),mr(Dr))})},ke.translate=function(je){return arguments.length?(v={x:+je[0],y:+je[1],k:v.k},dr(),ke):[v.x,v.y]},ke.scale=function(je){return arguments.length?(v={x:v.x,y:v.y,k:null},nr(+je),dr(),ke):v.k},ke.scaleExtent=function(je){return arguments.length?(L=je==null?$r:[+je[0],+je[1]],ke):L},ke.center=function(je){return arguments.length?(q=je&&[+je[0],+je[1]],ke):q},ke.size=function(je){return arguments.length?(S=je&&[+je[0],+je[1]],ke):S},ke.duration=function(je){return arguments.length?(z=+je,ke):z},ke.x=function(je){return arguments.length?(se=je,ae=je.copy(),v={x:0,y:0,k:1},ke):se},ke.y=function(je){return arguments.length?(we=je,he=je.copy(),v={x:0,y:0,k:1},ke):we};function pe(je){return[(je[0]-v.x)/v.k,(je[1]-v.y)/v.k]}function Ve(je){return[je[0]*v.k+v.x,je[1]*v.k+v.y]}function nr(je){v.k=Math.max(L[0],Math.min(L[1],je))}function ur(je,Dr){Dr=Ve(Dr),v.x+=je[0]-Dr[0],v.y+=je[1]-Dr[1]}function ir(je,Dr,Er,Qr){je.__chart__={x:v.x,y:v.y,k:v.k},nr(Math.pow(2,Qr)),ur(T=Dr,Er),je=e.select(je),z>0&&(je=je.transition().duration(z)),je.call(ke.event)}function dr(){se&&se.domain(ae.range().map(function(je){return(je-v.x)/v.k}).map(ae.invert)),we&&we.domain(he.range().map(function(je){return(je-v.y)/v.k}).map(he.invert))}function pr(je){P++||je({type:"zoomstart"})}function Lr(je){dr(),je({type:"zoom",scale:v.k,translate:[v.x,v.y]})}function mr(je){--P||(je({type:"zoomend"}),T=null)}function Mr(){var je=this,Dr=Me.of(je,arguments),Er=0,Qr=e.select(i(je)).on(Z,wa).on($,Oa),St=pe(e.mouse(je)),Kt=tr(je);eh.call(je),pr(Dr);function wa(){Er=1,ur(e.mouse(je),St),Lr(Dr)}function Oa(){Qr.on(Z,null).on($,null),Kt(Er),mr(Dr)}}function Kr(){var je=this,Dr=Me.of(je,arguments),Er={},Qr=0,St,Kt=".zoom-"+e.event.changedTouches[0].identifier,wa="touchmove"+Kt,Oa="touchend"+Kt,$a=[],Ba=e.select(je),ja=tr(je);en(),pr(Dr),Ba.on(F,null).on(te,en);function Da(){var oi=e.touches(je);return St=v.k,oi.forEach(function(Ta){Ta.identifier in Er&&(Er[Ta.identifier]=pe(Ta))}),oi}function en(){var oi=e.event.target;e.select(oi).on(wa,Fo).on(Oa,iX),$a.push(oi);for(var Ta=e.event.changedTouches,Pn=0,zi=Ta.length;Pn<zi;++Pn)Er[Ta[Pn].identifier]=null;var Rn=Da(),cu=Date.now();if(Rn.length===1){if(cu-me<500){var Io=Rn[0];ir(je,Io,Er[Io.identifier],Math.floor(Math.log(v.k)/Math.LN2)+1),re()}me=cu}else if(Rn.length>1){var Io=Rn[0],El=Rn[1],ah=Io[0]-El[0],G4=Io[1]-El[1];Qr=ah*ah+G4*G4}}function Fo(){var oi=e.touches(je),Ta,Pn,zi,Rn;eh.call(je);for(var cu=0,Io=oi.length;cu<Io;++cu,Rn=null)if(zi=oi[cu],Rn=Er[zi.identifier]){if(Pn)break;Ta=zi,Pn=Rn}if(Rn){var El=(El=zi[0]-Ta[0])*El+(El=zi[1]-Ta[1])*El,ah=Qr&&Math.sqrt(El/Qr);Ta=[(Ta[0]+zi[0])/2,(Ta[1]+zi[1])/2],Pn=[(Pn[0]+Rn[0])/2,(Pn[1]+Rn[1])/2],nr(ah*St)}me=null,ur(Ta,Pn),Lr(Dr)}function iX(){if(e.event.touches.length){for(var oi=e.event.changedTouches,Ta=0,Pn=oi.length;Ta<Pn;++Ta)delete Er[oi[Ta].identifier];for(var zi in Er)return void Da()}e.selectAll($a).on(Kt,null),Ba.on(F,Mr).on(te,Kr),ja(),mr(Dr)}}function Ot(){var je=Me.of(this,arguments);ee?clearTimeout(ee):(eh.call(this),g=pe(T=q||e.mouse(this)),pr(je)),ee=setTimeout(function(){ee=null,mr(je)},50),re(),nr(Math.pow(2,dt()*.002)*v.k),ur(T,g),Lr(je)}function at(){var je=e.mouse(this),Dr=Math.log(v.k)/Math.LN2;ir(this,je,pe(je),e.event.shiftKey?Math.ceil(Dr)-1:Math.floor(Dr)+1)}return e.rebind(ke,Me,"on")};var $r=[0,1/0],dt,Et;e.color=Mt;function Mt(){}Mt.prototype.toString=function(){return this.rgb()+""},e.hsl=jr;function jr(v,g,T){return this instanceof jr?(this.h=+v,this.s=+g,void(this.l=+T)):arguments.length<2?v instanceof jr?new jr(v.h,v.s,v.l):Wr(""+v,rt,jr):new jr(v,g,T)}var ga=jr.prototype=new Mt;ga.brighter=function(v){return v=Math.pow(.7,arguments.length?v:1),new jr(this.h,this.s,this.l/v)},ga.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new jr(this.h,this.s,v*this.l)},ga.rgb=function(){return Ln(this.h,this.s,this.l)};function Ln(v,g,T){var q,S;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,S=T<=.5?T*(1+g):T+g-T*g,q=2*T-S;function L(P){return P>360?P-=360:P<0&&(P+=360),P<60?q+(S-q)*P/60:P<180?S:P<240?q+(S-q)*(240-P)/60:q}function z(P){return Math.round(L(P)*255)}return new Ha(z(v+120),z(v),z(v-120))}e.hcl=ta;function ta(v,g,T){return this instanceof ta?(this.h=+v,this.c=+g,void(this.l=+T)):arguments.length<2?v instanceof ta?new ta(v.h,v.c,v.l):v instanceof Pt?P0(v.l,v.a,v.b):P0((v=or((v=e.rgb(v)).r,v.g,v.b)).l,v.a,v.b):new ta(v,g,T)}var Pi=ta.prototype=new Mt;Pi.brighter=function(v){return new ta(this.h,this.c,Math.min(100,this.l+qt*(arguments.length?v:1)))},Pi.darker=function(v){return new ta(this.h,this.c,Math.max(0,this.l-qt*(arguments.length?v:1)))},Pi.rgb=function(){return Dn(this.h,this.c,this.l).rgb()};function Dn(v,g,T){return isNaN(v)&&(v=0),isNaN(g)&&(g=0),new Pt(T,Math.cos(v*=Ar)*g,Math.sin(v)*g)}e.lab=Pt;function Pt(v,g,T){return this instanceof Pt?(this.l=+v,this.a=+g,void(this.b=+T)):arguments.length<2?v instanceof Pt?new Pt(v.l,v.a,v.b):v instanceof ta?Dn(v.h,v.c,v.l):or((v=Ha(v)).r,v.g,v.b):new Pt(v,g,T)}var qt=18,xa=.95047,Do=1,Eo=1.08883,Ll=Pt.prototype=new Mt;Ll.brighter=function(v){return new Pt(Math.min(100,this.l+qt*(arguments.length?v:1)),this.a,this.b)},Ll.darker=function(v){return new Pt(Math.max(0,this.l-qt*(arguments.length?v:1)),this.a,this.b)},Ll.rgb=function(){return E0(this.l,this.a,this.b)};function E0(v,g,T){var q=(v+16)/116,S=q+g/500,L=q-T/200;return S=lc(S)*xa,q=lc(q)*Do,L=lc(L)*Eo,new Ha(sc(3.2404542*S-1.5371385*q-.4985314*L),sc(-.969266*S+1.8760108*q+.041556*L),sc(.0556434*S-.2040259*q+1.0572252*L))}function P0(v,g,T){return v>0?new ta(Math.atan2(T,g)*Br,Math.sqrt(g*g+T*T),v):new ta(NaN,NaN,v)}function lc(v){return v>.206893034?v*v*v:(v-4/29)/7.787037}function oc(v){return v>.008856?Math.pow(v,1/3):7.787037*v+4/29}function sc(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):Wr(""+v,Ha,Ln):new Ha(v,g,T)}function R0(v){return new Ha(v>>16,v>>8&255,v&255)}function au(v){return R0(v)+""}var nu=Ha.prototype=new Mt;nu.brighter=function(v){v=Math.pow(.7,arguments.length?v:1);var g=this.r,T=this.g,q=this.b,S=30;return!g&&!T&&!q?new Ha(S,S,S):(g&&g<S&&(g=S),T&&T<S&&(T=S),q&&q<S&&(q=S),new Ha(Math.min(255,g/v),Math.min(255,T/v),Math.min(255,q/v)))},nu.darker=function(v){return v=Math.pow(.7,arguments.length?v:1),new Ha(v*this.r,v*this.g,v*this.b)},nu.hsl=function(){return rt(this.r,this.g,this.b)},nu.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 Wr(v,g,T){var q=0,S=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(ct(P[0]),ct(P[1]),ct(P[2]))}return(F=_a.get(v))?g(F.r,F.g,F.b):(v!=null&&v.charAt(0)==="#"&&!isNaN(F=parseInt(v.slice(1),16))&&(v.length===4?(q=(F&3840)>>4,q=q>>4|q,S=F&240,S=S>>4|S,L=F&15,L=L<<4|L):v.length===7&&(q=(F&16711680)>>16,S=(F&65280)>>8,L=F&255)),g(q,S,L))}function rt(v,g,T){var q=Math.min(v/=255,g/=255,T/=255),S=Math.max(v,g,T),L=S-q,z,P,F=(S+q)/2;return L?(P=F<.5?L/(S+q):L/(2-S-q),v==S?z=(g-T)/L+(g<T?6:0):g==S?z=(T-v)/L+2:z=(v-g)/L+4,z*=60):(z=NaN,P=F>0&&F<1?0:z),new jr(z,P,F)}function or(v,g,T){v=ba(v),g=ba(g),T=ba(T);var q=oc((.4124564*v+.3575761*g+.1804375*T)/xa),S=oc((.2126729*v+.7151522*g+.072175*T)/Do),L=oc((.0193339*v+.119192*g+.9503041*T)/Eo);return Pt(116*S-16,500*(q-S),200*(S-L))}function ba(v){return(v/=255)<=.04045?v/12.92:Math.pow((v+.055)/1.055,2.4)}function ct(v){var g=parseFloat(v);return v.charAt(v.length-1)==="%"?Math.round(g*2.55):g}var _a=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});_a.forEach(function(v,g){_a.set(v,R0(g))});function Nr(v){return typeof v=="function"?v:function(){return v}}e.functor=Nr,e.xhr=ii(G);function ii(v){return function(g,T,q){return arguments.length===2&&typeof T=="function"&&(q=T,T=null),Po(g,T,v,q)}}function Po(v,g,T,q){var S={},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=Z:P.onreadystatechange=function(){P.readyState>3&&Z()};function Z(){var $=P.status,ee;if(!$&&oU(P)||$>=200&&$<300||$===304){try{ee=T.call(S,P)}catch(te){L.error.call(S,te);return}L.load.call(S,ee)}else L.error.call(S,P)}return P.onprogress=function($){var ee=e.event;e.event=$;try{L.progress.call(S,P)}finally{e.event=ee}},S.header=function($,ee){return $=($+"").toLowerCase(),arguments.length<2?z[$]:(ee==null?delete z[$]:z[$]=ee+"",S)},S.mimeType=function($){return arguments.length?(g=$==null?null:$+"",S):g},S.responseType=function($){return arguments.length?(F=$,S):F},S.response=function($){return T=$,S},["get","post"].forEach(function($){S[$]=function(){return S.send.apply(S,[$].concat(t(arguments)))}}),S.send=function($,ee,te){if(arguments.length===2&&typeof ee=="function"&&(te=ee,ee=null),P.open($,v,!0),g!=null&&!("accept"in z)&&(z.accept=g+",*/*"),P.setRequestHeader)for(var me in z)P.setRequestHeader(me,z[me]);return g!=null&&P.overrideMimeType&&P.overrideMimeType(g),F!=null&&(P.responseType=F),te!=null&&S.on("error",te).on("load",function(Me){te(null,Me)}),L.beforesend.call(S,P),P.send(ee==null?null:ee),S},S.abort=function(){return P.abort(),S},e.rebind(S,L,"on"),q==null?S:S.get(lU(q))}function lU(v){return v.length===1?function(g,T){v(g==null?T:null)}:v}function oU(v){var g=v.responseType;return g&&g!=="text"?v.response:v.responseText}e.dsv=function(v,g){var T=new RegExp('["'+v+` ]`),q=v.charCodeAt(0);function S(Z,$,ee){arguments.length<3&&(ee=$,$=null);var te=Po(Z,g,$==null?L:z($),ee);return te.row=function(me){return arguments.length?te.response(($=me)==null?L:z(me)):$},te}function L(Z){return S.parse(Z.responseText)}function z(Z){return function($){return S.parse($.responseText,Z)}}S.parse=function(Z,$){var ee;return S.parseRows(Z,function(te,me){if(ee)return ee(te,me-1);var Me=function(ae){for(var se={},he=te.length,we=0;we<he;++we)se[te[we]]=ae[we];return se};ee=$?function(ae,se){return $(Me(ae),se)}:Me})},S.parseRows=function(Z,$){var ee={},te={},me=[],Me=Z.length,ae=0,se=0,he,we;function ke(){if(ae>=Me)return te;if(we)return we=!1,ee;var Ve=ae;if(Z.charCodeAt(Ve)===34){for(var nr=Ve;nr++<Me;)if(Z.charCodeAt(nr)===34){if(Z.charCodeAt(nr+1)!==34)break;++nr}ae=nr+2;var ur=Z.charCodeAt(nr+1);return ur===13?(we=!0,Z.charCodeAt(nr+2)===10&&++ae):ur===10&&(we=!0),Z.slice(Ve+1,nr).replace(/""/g,'"')}for(;ae<Me;){var ur=Z.charCodeAt(ae++),ir=1;if(ur===10)we=!0;else if(ur===13)we=!0,Z.charCodeAt(ae)===10&&(++ae,++ir);else if(ur!==q)continue;return Z.slice(Ve,ae-ir)}return Z.slice(Ve)}for(;(he=ke())!==te;){for(var pe=[];he!==ee&&he!==te;)pe.push(he),he=ke();$&&(pe=$(pe,se++))==null||me.push(pe)}return me},S.format=function(Z){if(Array.isArray(Z[0]))return S.formatRows(Z);var $=new H,ee=[];return Z.forEach(function(te){for(var me in te)$.has(me)||ee.push($.add(me))}),[ee.map(F).join(v)].concat(Z.map(function(te){return ee.map(function(me){return F(te[me])}).join(v)})).join(` `)},S.formatRows=function(Z){return Z.map(P).join(` `)};function P(Z){return Z.map(F).join(v)}function F(Z){return T.test(Z)?'"'+Z.replace(/\"/g,'""')+'"':Z}return S},e.csv=e.dsv(",","text/csv"),e.tsv=e.dsv(" ","text/tab-separated-values");var z0,N0,F0,I0,L_=this[Y(this,"requestAnimationFrame")]||function(v){setTimeout(v,17)};e.timer=function(){H0.apply(this,arguments)};function H0(v,g,T){var q=arguments.length;q<2&&(g=0),q<3&&(T=Date.now());var S=T+g,L={c:v,t:S,n:null};return N0?N0.n=L:z0=L,N0=L,F0||(I0=clearTimeout(I0),F0=1,L_(jm)),L}function jm(){var v=D_(),g=E_()-v;g>24?(isFinite(g)&&(clearTimeout(I0),I0=setTimeout(jm,g)),F0=0):(F0=1,L_(jm))}e.timer.flush=function(){D_(),E_()};function D_(){for(var v=Date.now(),g=z0;g;)v>=g.t&&g.c(v-g.t)&&(g.c=null),g=g.n;return v}function E_(){for(var v,g=z0,T=1/0;g;)g.c?(g.t<T&&(T=g.t),g=(v=g).n):g=v?v.n=g.n:z0=g.n;return N0=v,T}e.round=function(v,g){return g?Math.round(v*(g=Math.pow(10,g)))/g:Math.round(v)},e.geom={};function iu(v){return v[0]}function uc(v){return v[1]}e.geom.hull=function(v){var g=iu,T=uc;if(arguments.length)return q(v);function q(S){if(S.length<3)return[];var L=Nr(g),z=Nr(T),P,F=S.length,Z=[],$=[];for(P=0;P<F;P++)Z.push([+L.call(this,S[P],P),+z.call(this,S[P],P),P]);for(Z.sort(sU),P=0;P<F;P++)$.push([Z[P][0],-Z[P][1]]);var ee=P_(Z),te=P_($),me=te[0]===ee[0],Me=te[te.length-1]===ee[ee.length-1],ae=[];for(P=ee.length-1;P>=0;--P)ae.push(S[Z[ee[P]][2]]);for(P=+me;P<te.length-Me;++P)ae.push(S[Z[te[P]][2]]);return ae}return q.x=function(S){return arguments.length?(g=S,q):g},q.y=function(S){return arguments.length?(T=S,q):T},q};function P_(v){for(var g=v.length,T=[0,1],q=2,S=2;S<g;S++){for(;q>1&&ut(v[T[q-2]],v[T[q-1]],v[S])<=0;)--q;T[q++]=S}return T.slice(0,q)}function sU(v,g){return v[0]-g[0]||v[1]-g[1]}e.geom.polygon=function(v){return j(v,O0),v};var O0=e.geom.polygon.prototype=[];O0.area=function(){for(var v=-1,g=this.length,T,q=this[g-1],S=0;++v<g;)T=q,q=this[v],S+=T[1]*q[0]-T[0]*q[1];return S*.5},O0.centroid=function(v){var g=-1,T=this.length,q=0,S=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],q+=(L[0]+z[0])*P,S+=(L[1]+z[1])*P;return[q*v,S*v]},O0.clip=function(v){for(var g,T=R_(v),q=-1,S=this.length-R_(this),L,z,P=this[S-1],F,Z,$;++q<S;){for(g=v.slice(),v.length=0,F=this[q],Z=g[(z=g.length-T)-1],L=-1;++L<z;)$=g[L],ey($,P,F)?(ey(Z,P,F)||v.push(ry(Z,$,P,F)),v.push($)):ey(Z,P,F)&&v.push(ry(Z,$,P,F)),Z=$;T&&v.push(v[0]),P=F}return v};function ey(v,g,T){return(T[0]-g[0])*(v[1]-g[1])<(T[1]-g[1])*(v[0]-g[0])}function ry(v,g,T,q){var S=v[0],L=T[0],z=g[0]-S,P=q[0]-L,F=v[1],Z=T[1],$=g[1]-F,ee=q[1]-Z,te=(P*(F-Z)-ee*(S-L))/(ee*z-P*$);return[S+te*z,F+te*$]}function R_(v){var g=v[0],T=v[v.length-1];return!(g[0]-T[0]||g[1]-T[1])}var lu,Ro,ou,z_=[],ty,fc,N_=[];function uU(){V0(this),this.edge=this.site=this.circle=null}function F_(v){var g=z_.pop()||new uU;return g.site=v,g}function ay(v){uu(v),ou.remove(v),z_.push(v),V0(v)}function fU(v){var g=v.circle,T=g.x,q=g.cy,S={x:T,y:q},L=v.P,z=v.N,P=[v];ay(v);for(var F=L;F.circle&&b(T-F.circle.x)<oe&&b(q-F.circle.cy)<oe;)L=F.P,P.unshift(F),ay(F),F=L;P.unshift(F),uu(F);for(var Z=z;Z.circle&&b(T-Z.circle.x)<oe&&b(q-Z.circle.cy)<oe;)z=Z.N,P.push(Z),ay(Z),Z=z;P.push(Z),uu(Z);var $=P.length,ee;for(ee=1;ee<$;++ee)Z=P[ee],F=P[ee-1],B0(Z.edge,F.site,Z.site,S);F=P[0],Z=P[$-1],Z.edge=cc(F.site,Z.site,null,S),su(F),su(Z)}function cU(v){for(var g=v.x,T=v.y,q,S,L,z,P=ou._;P;)if(L=I_(P,T)-g,L>oe)P=P.L;else if(z=g-vU(P,T),z>oe){if(!P.R){q=P;break}P=P.R}else{L>-oe?(q=P.P,S=P):z>-oe?(q=P,S=P.N):q=S=P;break}var F=F_(v);if(ou.insert(q,F),!(!q&&!S)){if(q===S){uu(q),S=F_(q.site),ou.insert(F,S),F.edge=S.edge=cc(q.site,F.site),su(q),su(S);return}if(!S){F.edge=cc(q.site,F.site);return}uu(q),uu(S);var Z=q.site,$=Z.x,ee=Z.y,te=v.x-$,me=v.y-ee,Me=S.site,ae=Me.x-$,se=Me.y-ee,he=2*(te*se-me*ae),we=te*te+me*me,ke=ae*ae+se*se,pe={x:(se*we-me*ke)/he+$,y:(te*ke-ae*we)/he+ee};B0(S.edge,Z,Me,pe),F.edge=cc(Z,v,null,pe),S.edge=cc(v,Me,null,pe),su(q),su(S)}}function I_(v,g){var T=v.site,q=T.x,S=T.y,L=S-g;if(!L)return q;var z=v.P;if(!z)return-1/0;T=z.site;var P=T.x,F=T.y,Z=F-g;if(!Z)return P;var $=P-q,ee=1/L-1/Z,te=$/Z;return ee?(-te+Math.sqrt(te*te-2*ee*($*$/(-2*Z)-F+Z/2+S-L/2)))/ee+q:(q+P)/2}function vU(v,g){var T=v.N;if(T)return I_(T,g);var q=v.site;return q.y===g?q.x:1/0}function H_(v){this.site=v,this.edges=[]}H_.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(O_),v.length};function hU(v){for(var g=v[0][0],T=v[1][0],q=v[0][1],S=v[1][1],L,z,P,F,Z=Ro,$=Z.length,ee,te,me,Me,ae,se;$--;)if(ee=Z[$],!(!ee||!ee.prepare()))for(me=ee.edges,Me=me.length,te=0;te<Me;)se=me[te].end(),P=se.x,F=se.y,ae=me[++te%Me].start(),L=ae.x,z=ae.y,(b(P-L)>oe||b(F-z)>oe)&&(me.splice(te,0,new Y0(gU(ee.site,se,b(P-g)<oe&&S-F>oe?{x:g,y:b(L-g)<oe?z:S}:b(F-S)<oe&&T-P>oe?{x:b(z-S)<oe?L:T,y:S}:b(P-T)<oe&&F-q>oe?{x:T,y:b(L-T)<oe?z:q}:b(F-q)<oe&&P-g>oe?{x:b(z-q)<oe?L:g,y:q}:null),ee.site,null)),++Me)}function O_(v,g){return g.angle-v.angle}function dU(){V0(this),this.x=this.y=this.arc=this.site=this.cy=null}function su(v){var g=v.P,T=v.N;if(!(!g||!T)){var q=g.site,S=v.site,L=T.site;if(q!==L){var z=S.x,P=S.y,F=q.x-z,Z=q.y-P,$=L.x-z,se=L.y-P,ee=2*(F*se-Z*$);if(!(ee>=-Ce)){var te=F*F+Z*Z,me=$*$+se*se,Me=(se*te-Z*me)/ee,ae=(F*me-$*te)/ee,se=ae+P,he=N_.pop()||new dU;he.arc=v,he.site=S,he.x=Me+z,he.y=se+Math.sqrt(Me*Me+ae*ae),he.cy=se,v.circle=he;for(var we=null,ke=fc._;ke;)if(he.y<ke.y||he.y===ke.y&&he.x<=ke.x)if(ke.L)ke=ke.L;else{we=ke.P;break}else if(ke.R)ke=ke.R;else{we=ke;break}fc.insert(we,he),we||(ty=he)}}}}function uu(v){var g=v.circle;g&&(g.P||(ty=g.N),fc.remove(g),N_.push(g),V0(g),v.circle=null)}function pU(v,g,T,q){return function(S){var L=S.a,z=S.b,P=L.x,F=L.y,Z=z.x,$=z.y,ee=0,te=1,me=Z-P,Me=$-F,ae;if(ae=v-P,!(!me&&ae>0)){if(ae/=me,me<0){if(ae<ee)return;ae<te&&(te=ae)}else if(me>0){if(ae>te)return;ae>ee&&(ee=ae)}if(ae=T-P,!(!me&&ae<0)){if(ae/=me,me<0){if(ae>te)return;ae>ee&&(ee=ae)}else if(me>0){if(ae<ee)return;ae<te&&(te=ae)}if(ae=g-F,!(!Me&&ae>0)){if(ae/=Me,Me<0){if(ae<ee)return;ae<te&&(te=ae)}else if(Me>0){if(ae>te)return;ae>ee&&(ee=ae)}if(ae=q-F,!(!Me&&ae<0)){if(ae/=Me,Me<0){if(ae>te)return;ae>ee&&(ee=ae)}else if(Me>0){if(ae<ee)return;ae<te&&(te=ae)}return ee>0&&(S.a={x:P+ee*me,y:F+ee*Me}),te<1&&(S.b={x:P+te*me,y:F+te*Me}),S}}}}}}function mU(v){for(var g=lu,T=pU(v[0][0],v[0][1],v[1][0],v[1][1]),q=g.length,S;q--;)S=g[q],(!yU(S,v)||!T(S)||b(S.a.x-S.b.x)<oe&&b(S.a.y-S.b.y)<oe)&&(S.a=S.b=null,g.splice(q,1))}function yU(v,g){var T=v.b;if(T)return!0;var q=v.a,S=g[0][0],L=g[1][0],z=g[0][1],P=g[1][1],F=v.l,Z=v.r,$=F.x,ee=F.y,te=Z.x,me=Z.y,Me=($+te)/2,ae=(ee+me)/2,se,he;if(me===ee){if(Me<S||Me>=L)return;if($>te){if(!q)q={x:Me,y:z};else if(q.y>=P)return;T={x:Me,y:P}}else{if(!q)q={x:Me,y:P};else if(q.y<z)return;T={x:Me,y:z}}}else if(se=($-te)/(me-ee),he=ae-se*Me,se<-1||se>1)if($>te){if(!q)q={x:(z-he)/se,y:z};else if(q.y>=P)return;T={x:(P-he)/se,y:P}}else{if(!q)q={x:(P-he)/se,y:P};else if(q.y<z)return;T={x:(z-he)/se,y:z}}else if(ee<me){if(!q)q={x:S,y:se*S+he};else if(q.x>=L)return;T={x:L,y:se*L+he}}else{if(!q)q={x:L,y:se*L+he};else if(q.x<S)return;T={x:S,y:se*S+he}}return v.a=q,v.b=T,!0}function B_(v,g){this.l=v,this.r=g,this.a=this.b=null}function cc(v,g,T,q){var S=new B_(v,g);return lu.push(S),T&&B0(S,v,g,T),q&&B0(S,g,v,q),Ro[v.i].edges.push(new Y0(S,v,g)),Ro[g.i].edges.push(new Y0(S,g,v)),S}function gU(v,g,T){var q=new B_(v,null);return q.a=g,q.b=T,lu.push(q),q}function B0(v,g,T,q){!v.a&&!v.b?(v.a=q,v.l=g,v.r=T):v.l===T?v.b=q:v.a=q}function Y0(v,g,T){var q=v.a,S=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(S.x-q.x,q.y-S.y):Math.atan2(q.x-S.x,S.y-q.y)}Y0.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 ny(){this._=null}function V0(v){v.U=v.C=v.L=v.R=v.P=v.N=null}ny.prototype={insert:function(v,g){var T,q,S;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=Y_(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;)q=T.U,T===q.L?(S=q.R,S&&S.C?(T.C=S.C=!1,q.C=!0,v=q):(v===T.R&&(vc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,hc(this,q))):(S=q.L,S&&S.C?(T.C=S.C=!1,q.C=!0,v=q):(v===T.L&&(hc(this,T),v=T,T=v.U),T.C=!1,q.C=!0,vc(this,q))),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,q=v.L,S=v.R,L,z;if(q?S?L=Y_(S):L=q:L=S,g?g.L===v?g.L=L:g.R=L:this._=L,q&&S?(z=L.C,L.C=v.C,L.L=q,q.U=L,L!==S?(g=L.U,L.U=v.U,v=L.R,g.L=v,L.R=S,S.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===this._)break;if(v===g.L){if(T=g.R,T.C&&(T.C=!1,g.C=!0,vc(this,g),T=g.R),T.L&&T.L.C||T.R