d3-zoomable
Advanced tools
Comparing version 1.2.1 to 1.3.0
@@ -1,2 +0,2 @@ | ||
// Version 1.2.1 d3-zoomable - https://github.com/vasturiano/d3-zoomable | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).zoomable=n()}(this,(function(){"use strict";function t(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function n(n){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?t(Object(i),!0).forEach((function(t){r(n,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(i,t))}))}return n}function e(t){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function r(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var i="http://www.w3.org/1999/xhtml",o={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function u(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),o.hasOwnProperty(n)?{space:o[n],local:t}:t}function a(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===i&&n.documentElement.namespaceURI===i?n.createElement(t):n.createElementNS(e,t)}}function s(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function l(t){var n=u(t);return(n.local?s:a)(n)}function c(){}function h(t){return null==t?c:function(){return this.querySelector(t)}}function f(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function p(){return[]}function d(t){return null==t?p:function(){return this.querySelectorAll(t)}}function m(t){return function(){return this.matches(t)}}function v(t){return function(n){return n.matches(t)}}var y=Array.prototype.find;function g(){return this.firstElementChild}var _=Array.prototype.filter;function w(){return Array.from(this.children)}function b(t){return new Array(t.length)}function x(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function k(t){return function(){return t}}function E(t,n,e,r,i,o){for(var u,a=0,s=n.length,l=o.length;a<l;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new x(t,o[a]);for(;a<s;++a)(u=n[a])&&(i[a]=u)}function M(t,n,e,r,i,o,u){var a,s,l,c=new Map,h=n.length,f=o.length,p=new Array(h);for(a=0;a<h;++a)(s=n[a])&&(p[a]=l=u.call(s,s.__data__,a,n)+"",c.has(l)?i[a]=s:c.set(l,s));for(a=0;a<f;++a)l=u.call(t,o[a],a,o)+"",(s=c.get(l))?(r[a]=s,s.__data__=o[a],c.delete(l)):e[a]=new x(t,o[a]);for(a=0;a<h;++a)(s=n[a])&&c.get(p[a])===s&&(i[a]=s)}function A(t){return t.__data__}function z(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function S(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function N(t){return function(){this.removeAttribute(t)}}function T(t){return function(){this.removeAttributeNS(t.space,t.local)}}function C(t,n){return function(){this.setAttribute(t,n)}}function O(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function P(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function j(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function X(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function Y(t){return function(){this.style.removeProperty(t)}}function D(t,n,e){return function(){this.style.setProperty(t,n,e)}}function q(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function I(t,n){return t.style.getPropertyValue(n)||X(t).getComputedStyle(t,null).getPropertyValue(n)}function R(t){return function(){delete this[t]}}function U(t,n){return function(){this[t]=n}}function V(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function B(t){return t.trim().split(/^|\s+/)}function L(t){return t.classList||new H(t)}function H(t){this._node=t,this._names=B(t.getAttribute("class")||"")}function $(t,n){for(var e=L(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function G(t,n){for(var e=L(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function K(t){return function(){$(this,t)}}function F(t){return function(){G(this,t)}}function Q(t,n){return function(){(n.apply(this,arguments)?$:G)(this,t)}}function W(){this.textContent=""}function J(t){return function(){this.textContent=t}}function Z(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function tt(){this.innerHTML=""}function nt(t){return function(){this.innerHTML=t}}function et(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function rt(){this.nextSibling&&this.parentNode.appendChild(this)}function it(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ot(){return null}function ut(){var t=this.parentNode;t&&t.removeChild(this)}function at(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function st(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function lt(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function ct(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function ht(t,n,e){return function(){var r,i=this.__on,o=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var u=0,a=i.length;u<a;++u)if((r=i[u]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),void(r.value=n);this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function ft(t,n,e){var r=X(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function pt(t,n){return function(){return ft(this,t,n)}}function dt(t,n){return function(){return ft(this,t,n.apply(this,arguments))}}x.prototype={constructor:x,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},H.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var mt=[null];function vt(t,n){this._groups=t,this._parents=n}function yt(){return new vt([[document.documentElement]],mt)}function gt(t){return"string"==typeof t?new vt([[document.querySelector(t)]],[document.documentElement]):new vt([[t]],mt)}function _t(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}vt.prototype=yt.prototype={constructor:vt,select:function(t){"function"!=typeof t&&(t=h(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],s=a.length,l=r[i]=new Array(s),c=0;c<s;++c)(o=a[c])&&(u=t.call(o,o.__data__,c,a))&&("__data__"in o&&(u.__data__=o.__data__),l[c]=u);return new vt(r,this._parents)},selectAll:function(t){t="function"==typeof t?function(t){return function(){return f(t.apply(this,arguments))}}(t):d(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],s=a.length,l=0;l<s;++l)(u=a[l])&&(r.push(t.call(u,u.__data__,l,a)),i.push(u));return new vt(r,i)},selectChild:function(t){return this.select(null==t?g:function(t){return function(){return y.call(this.children,t)}}("function"==typeof t?t:v(t)))},selectChildren:function(t){return this.selectAll(null==t?w:function(t){return function(){return _.call(this.children,t)}}("function"==typeof t?t:v(t)))},filter:function(t){"function"!=typeof t&&(t=m(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new vt(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,A);var e=n?M:E,r=this._parents,i=this._groups;"function"!=typeof t&&(t=k(t));for(var o=i.length,u=new Array(o),a=new Array(o),s=new Array(o),l=0;l<o;++l){var c=r[l],h=i[l],f=h.length,p=z(t.call(c,c&&c.__data__,l,r)),d=p.length,m=a[l]=new Array(d),v=u[l]=new Array(d),y=s[l]=new Array(f);e(c,h,m,v,y,p,n);for(var g,_,w=0,b=0;w<d;++w)if(g=m[w]){for(w>=b&&(b=w+1);!(_=v[b])&&++b<d;);g._next=_||null}}return(u=new vt(u,r))._enter=a,u._exit=s,u},enter:function(){return new vt(this._enter||this._groups.map(b),this._parents)},exit:function(){return new vt(this._exit||this._groups.map(b),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,u=Math.min(i,o),a=new Array(i),s=0;s<u;++s)for(var l,c=e[s],h=r[s],f=c.length,p=a[s]=new Array(f),d=0;d<f;++d)(l=c[d]||h[d])&&(p[d]=l);for(;s<i;++s)a[s]=e[s];return new vt(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=S);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],s=a.length,l=i[o]=new Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(n)}return new vt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=u(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?T:N:"function"==typeof n?e.local?j:P:e.local?O:C)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?Y:"function"==typeof n?q:D)(t,n,null==e?"":e)):I(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?R:"function"==typeof n?V:U)(t,n)):this.node()[t]},classed:function(t,n){var e=B(t+"");if(arguments.length<2){for(var r=L(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?Q:n?K:F)(e,n))},text:function(t){return arguments.length?this.each(null==t?W:("function"==typeof t?Z:J)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?tt:("function"==typeof t?et:nt)(t)):this.node().innerHTML},raise:function(){return this.each(rt)},lower:function(){return this.each(it)},append:function(t){var n="function"==typeof t?t:l(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:l(t),r=null==n?ot:"function"==typeof n?n:h(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ut)},clone:function(t){return this.select(t?st:at)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=lt(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?ht:ct,r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?dt:pt)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,u=i.length;o<u;++o)(r=i[o])&&(yield r)}};var wt={value:()=>{}};function bt(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new xt(r)}function xt(t){this._=t}function kt(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function Et(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function Mt(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=wt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}xt.prototype=bt.prototype={constructor:xt,on:function(t,n){var e,r=this._,i=kt(t+"",r),o=-1,u=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=Mt(r[e],t.name,n);else if(null==n)for(e in r)r[e]=Mt(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=Et(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new xt(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var At,zt,St=0,Nt=0,Tt=0,Ct=0,Ot=0,Pt=0,jt="object"==typeof performance&&performance.now?performance:Date,Xt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Yt(){return Ot||(Xt(Dt),Ot=jt.now()+Pt)}function Dt(){Ot=0}function qt(){this._call=this._time=this._next=null}function It(t,n,e){var r=new qt;return r.restart(t,n,e),r}function Rt(){Ot=(Ct=jt.now())+Pt,St=Nt=0;try{!function(){Yt(),++St;for(var t,n=At;n;)(t=Ot-n._time)>=0&&n._call.call(void 0,t),n=n._next;--St}()}finally{St=0,function(){var t,n,e=At,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:At=n);zt=t,Vt(r)}(),Ot=0}}function Ut(){var t=jt.now(),n=t-Ct;n>1e3&&(Pt-=n,Ct=t)}function Vt(t){St||(Nt&&(Nt=clearTimeout(Nt)),t-Ot>24?(t<1/0&&(Nt=setTimeout(Rt,t-jt.now()-Pt)),Tt&&(Tt=clearInterval(Tt))):(Tt||(Ct=jt.now(),Tt=setInterval(Ut,1e3)),St=1,Xt(Rt)))}function Bt(t,n,e){var r=new qt;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}qt.prototype=It.prototype={constructor:qt,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Yt():+e)+(null==n?0:+n),this._next||zt===this||(zt?zt._next=this:At=this,zt=this),this._call=t,this._time=e,Vt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Vt())}};var Lt=bt("start","end","cancel","interrupt"),Ht=[];function $t(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(u,e.delay,e.time),e.delay<=t&&u(t-e.delay)}function u(o){var l,c,h,f;if(1!==e.state)return s();for(l in i)if((f=i[l]).name===e.name){if(3===f.state)return Bt(u);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[l]):+l<n&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[l])}if(Bt((function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(o))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(h=e.tween.length),l=0,c=-1;l<h;++l)(f=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=f);r.length=c+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(s),e.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),s())}function s(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=It(o,0,e.time)}(t,e,{name:n,index:r,group:i,on:Lt,tween:Ht,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function Gt(t,n){var e=Ft(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function Kt(t,n){var e=Ft(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Ft(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Qt(t,n){var e,r,i,o=t.__transition,u=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}}function Wt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Jt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Zt(){}var tn=.7,nn=1/tn,en="\\s*([+-]?\\d+)\\s*",rn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",on="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",un=/^#([0-9a-f]{3,8})$/,an=new RegExp("^rgb\\("+[en,en,en]+"\\)$"),sn=new RegExp("^rgb\\("+[on,on,on]+"\\)$"),ln=new RegExp("^rgba\\("+[en,en,en,rn]+"\\)$"),cn=new RegExp("^rgba\\("+[on,on,on,rn]+"\\)$"),hn=new RegExp("^hsl\\("+[rn,on,on]+"\\)$"),fn=new RegExp("^hsla\\("+[rn,on,on,rn]+"\\)$"),pn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function dn(){return this.rgb().formatHex()}function mn(){return this.rgb().formatRgb()}function vn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=un.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?yn(n):3===e?new bn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?gn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?gn(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=an.exec(t))?new bn(n[1],n[2],n[3],1):(n=sn.exec(t))?new bn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ln.exec(t))?gn(n[1],n[2],n[3],n[4]):(n=cn.exec(t))?gn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=hn.exec(t))?Mn(n[1],n[2]/100,n[3]/100,1):(n=fn.exec(t))?Mn(n[1],n[2]/100,n[3]/100,n[4]):pn.hasOwnProperty(t)?yn(pn[t]):"transparent"===t?new bn(NaN,NaN,NaN,0):null}function yn(t){return new bn(t>>16&255,t>>8&255,255&t,1)}function gn(t,n,e,r){return r<=0&&(t=n=e=NaN),new bn(t,n,e,r)}function _n(t){return t instanceof Zt||(t=vn(t)),t?new bn((t=t.rgb()).r,t.g,t.b,t.opacity):new bn}function wn(t,n,e,r){return 1===arguments.length?_n(t):new bn(t,n,e,null==r?1:r)}function bn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function xn(){return"#"+En(this.r)+En(this.g)+En(this.b)}function kn(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function En(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function Mn(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new zn(t,n,e,r)}function An(t){if(t instanceof zn)return new zn(t.h,t.s,t.l,t.opacity);if(t instanceof Zt||(t=vn(t)),!t)return new zn;if(t instanceof zn)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,s=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new zn(u,a,s,t.opacity)}function zn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Sn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Wt(Zt,vn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:dn,formatHex:dn,formatHsl:function(){return An(this).formatHsl()},formatRgb:mn,toString:mn}),Wt(bn,wn,Jt(Zt,{brighter:function(t){return t=null==t?nn:Math.pow(nn,t),new bn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?tn:Math.pow(tn,t),new bn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:xn,formatHex:xn,formatRgb:kn,toString:kn})),Wt(zn,(function(t,n,e,r){return 1===arguments.length?An(t):new zn(t,n,e,null==r?1:r)}),Jt(Zt,{brighter:function(t){return t=null==t?nn:Math.pow(nn,t),new zn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?tn:Math.pow(tn,t),new zn(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new bn(Sn(t>=240?t-240:t+120,i,r),Sn(t,i,r),Sn(t<120?t+240:t-120,i,r),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var Nn=t=>()=>t;function Tn(t){return 1==(t=+t)?Cn:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Nn(isNaN(n)?e:n)}}function Cn(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):Nn(isNaN(t)?n:t)}var On=function t(n){var e=Tn(n);function r(t,n){var r=e((t=wn(t)).r,(n=wn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=Cn(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function Pn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xn=new RegExp(jn.source,"g");function Yn(t,n){var e,r,i,o=jn.lastIndex=Xn.lastIndex=0,u=-1,a=[],s=[];for(t+="",n+="";(e=jn.exec(t))&&(r=Xn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,s.push({i:u,x:Pn(e,r)})),o=Xn.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)a[(e=s[r]).i]=e.x(t);return a.join("")})}var Dn,qn=180/Math.PI,In={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Rn(t,n,e,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,s/=a),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*qn,skewX:Math.atan(s)*qn,scaleX:u,scaleY:a}}function Un(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],s=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,n,null,e);a.push({i:s-4,x:Pn(t,i)},{i:s-2,x:Pn(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,s),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Pn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Pn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,s),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:Pn(t,e)},{i:a-2,x:Pn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,s),o=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)a[(n=s[e]).i]=n.x(t);return a.join("")}}}var Vn=Un((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?In:Rn(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),Bn=Un((function(t){return null==t?In:(Dn||(Dn=document.createElementNS("http://www.w3.org/2000/svg","g")),Dn.setAttribute("transform",t),(t=Dn.transform.baseVal.consolidate())?Rn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):In)}),", ",")",")");function Ln(t){return((t=Math.exp(t))+1/t)/2}var Hn=function t(n,e,r){function i(t,i){var o,u,a=t[0],s=t[1],l=t[2],c=i[0],h=i[1],f=i[2],p=c-a,d=h-s,m=p*p+d*d;if(m<1e-12)u=Math.log(f/l)/n,o=function(t){return[a+t*p,s+t*d,l*Math.exp(n*t*u)]};else{var v=Math.sqrt(m),y=(f*f-l*l+r*m)/(2*l*e*v),g=(f*f-l*l-r*m)/(2*f*e*v),_=Math.log(Math.sqrt(y*y+1)-y),w=Math.log(Math.sqrt(g*g+1)-g);u=(w-_)/n,o=function(t){var r,i=t*u,o=Ln(_),c=l/(e*v)*(o*(r=n*i+_,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(_));return[a+c*p,s+c*d,l*o/Ln(n*i+_)]}}return o.duration=1e3*u*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4);function $n(t,n){var e,r;return function(){var i=Kt(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function Gn(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Kt(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=a;break}s===l&&i.push(a)}o.tween=i}}function Kn(t,n,e){var r=t._id;return t.each((function(){var t=Kt(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return Ft(t,r).value[n]}}function Fn(t,n){var e;return("number"==typeof n?Pn:n instanceof vn?On:(e=vn(n))?(n=e,On):Yn)(t,n)}function Qn(t){return function(){this.removeAttribute(t)}}function Wn(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Jn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=n(r=u,e)}}function Zn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=n(r=u,e)}}function te(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttribute(t)}}function ne(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttributeNS(t.space,t.local)}}function ee(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function re(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function ie(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&re(t,i)),e}return i._value=n,i}function oe(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&ee(t,i)),e}return i._value=n,i}function ue(t,n){return function(){Gt(this,t).delay=+n.apply(this,arguments)}}function ae(t,n){return n=+n,function(){Gt(this,t).delay=n}}function se(t,n){return function(){Kt(this,t).duration=+n.apply(this,arguments)}}function le(t,n){return n=+n,function(){Kt(this,t).duration=n}}function ce(t,n){if("function"!=typeof n)throw new Error;return function(){Kt(this,t).ease=n}}function he(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Gt:Kt;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}var fe=yt.prototype.constructor;function pe(t){return function(){this.style.removeProperty(t)}}function de(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function me(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&de(t,o,e)),r}return o._value=n,o}function ve(t){return function(n){this.textContent=t.call(this,n)}}function ye(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&ve(r)),n}return r._value=t,r}var ge=0;function _e(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function we(t){return yt().transition(t)}function be(){return++ge}var xe=yt.prototype;_e.prototype=we.prototype={constructor:_e,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=h(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,s,l=r[u],c=l.length,f=o[u]=new Array(c),p=0;p<c;++p)(a=l[p])&&(s=t.call(a,a.__data__,p,l))&&("__data__"in a&&(s.__data__=a.__data__),f[p]=s,$t(f[p],n,e,p,f,Ft(a,e)));return new _e(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=d(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var s,l=r[a],c=l.length,h=0;h<c;++h)if(s=l[h]){for(var f,p=t.call(s,s.__data__,h,l),m=Ft(s,e),v=0,y=p.length;v<y;++v)(f=p[v])&&$t(f,n,e,v,p,m);o.push(p),u.push(s)}return new _e(o,u,n,e)},selectChild:xe.selectChild,selectChildren:xe.selectChildren,filter:function(t){"function"!=typeof t&&(t=m(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new _e(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],h=l.length,f=u[a]=new Array(h),p=0;p<h;++p)(s=l[p]||c[p])&&(f[p]=s);for(;a<r;++a)u[a]=n[a];return new _e(u,this._parents,this._name,this._id)},selection:function(){return new fe(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=be(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=Ft(u,n);$t(u,t,e,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new _e(r,this._parents,t,e)},call:xe.call,nodes:xe.nodes,node:xe.node,size:xe.size,empty:xe.empty,each:xe.each,on:function(t,n){var e=this._id;return arguments.length<2?Ft(this.node(),e).on.on(t):this.each(he(e,t,n))},attr:function(t,n){var e=u(t),r="transform"===e?Bn:Fn;return this.attrTween(t,"function"==typeof n?(e.local?ne:te)(e,r,Kn(this,"attr."+t,n)):null==n?(e.local?Wn:Qn)(e):(e.local?Zn:Jn)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=u(t);return this.tween(e,(r.local?ie:oe)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?Vn:Fn;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=I(this,t),u=(this.style.removeProperty(t),I(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,pe(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var u=I(this,t),a=e(this),s=a+"";return null==a&&(this.style.removeProperty(t),s=a=I(this,t)),u===s?null:u===r&&s===i?o:(i=s,o=n(r=u,a))}}(t,r,Kn(this,"style."+t,n))).each(function(t,n){var e,r,i,o,u="style."+n,a="end."+u;return function(){var s=Kt(this,t),l=s.on,c=null==s.value[u]?o||(o=pe(n)):void 0;l===e&&i===c||(r=(e=l).copy()).on(a,i=c),s.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var u=I(this,t);return u===o?null:u===r?i:i=n(r=u,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,me(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(Kn(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,ye(t))},remove:function(){return this.on("end.remove",function(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Ft(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?$n:Gn)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?ue:ae)(n,t)):Ft(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?se:le)(n,t)):Ft(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(ce(n,t)):Ft(this.node(),n).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,n){return function(){var e=n.apply(this,arguments);if("function"!=typeof e)throw new Error;Kt(this,t).ease=e}}(this._id,t))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};e.each((function(){var e=Kt(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(a),n._.interrupt.push(a),n._.end.push(s)),e.on=n})),0===i&&o()}))},[Symbol.iterator]:xe[Symbol.iterator]};var ke={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function Ee(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}yt.prototype.interrupt=function(t){return this.each((function(){Qt(this,t)}))},yt.prototype.transition=function(t){var n,e;t instanceof _e?(n=t._id,t=t._name):(n=be(),(e=ke).time=Yt(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&$t(u,t,n,l,a,e||Ee(u,n));return new _e(r,this._parents,t,n)};const Me={capture:!0,passive:!1};function Ae(t){t.preventDefault(),t.stopImmediatePropagation()}function ze(t){var n=t.document.documentElement,e=gt(t).on("dragstart.drag",Ae,Me);"onselectstart"in n?e.on("selectstart.drag",Ae,Me):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Se(t,n){var e=t.document.documentElement,r=gt(t).on("dragstart.drag",null);n&&(r.on("click.drag",Ae,Me),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}var Ne=t=>()=>t;function Te(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Ce(t,n,e){this.k=t,this.x=n,this.y=e}Ce.prototype={constructor:Ce,scale:function(t){return 1===t?this:new Ce(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Ce(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Oe=new Ce(1,0,0);function Pe(t){t.stopImmediatePropagation()}function je(t){t.preventDefault(),t.stopImmediatePropagation()}function Xe(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Ye(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function De(){return this.__zoom||Oe}function qe(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Ie(){return navigator.maxTouchPoints||"ontouchstart"in this}function Re(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}function Ue(){var t,n,e,r=Xe,i=Ye,o=Re,u=qe,a=Ie,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,h=Hn,f=bt("start","zoom","end"),p=500,d=0,m=10;function v(t){t.property("__zoom",De).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",M).filter(a).on("touchstart.zoom",A).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",S).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(t,n){return(n=Math.max(s[0],Math.min(s[1],n)))===t.k?t:new Ce(n,t.x,t.y)}function g(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Ce(t.k,r,i)}function _(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function w(t,n,e,r){t.on("start.zoom",(function(){b(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,u=b(t,o).event(r),a=i.apply(t,o),s=null==e?_(a):"function"==typeof e?e.apply(t,o):e,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),c=t.__zoom,f="function"==typeof n?n.apply(t,o):n,p=h(c.invert(s).concat(l/c.k),f.invert(s).concat(l/f.k));return function(t){if(1===t)t=f;else{var n=p(t),e=l/n[2];t=new Ce(e,s[0]-n[0]*e,s[1]-n[1]*e)}u.zoom(null,t)}}))}function b(t,n,e){return!e&&t.__zooming||new x(t,n)}function x(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,n),this.taps=0}function k(t,...n){if(r.apply(this,arguments)){var e=b(this,n).event(t),i=this.__zoom,a=Math.max(s[0],Math.min(s[1],i.k*Math.pow(2,u.apply(this,arguments)))),c=_t(t);if(e.wheel)e.mouse[0][0]===c[0]&&e.mouse[0][1]===c[1]||(e.mouse[1]=i.invert(e.mouse[0]=c)),clearTimeout(e.wheel);else{if(i.k===a)return;e.mouse=[c,i.invert(c)],Qt(this),e.start()}je(t),e.wheel=setTimeout(h,150),e.zoom("mouse",o(g(y(i,a),e.mouse[0],e.mouse[1]),e.extent,l))}function h(){e.wheel=null,e.end()}}function E(t,...n){if(!e&&r.apply(this,arguments)){var i=t.currentTarget,u=b(this,n,!0).event(t),a=gt(t.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",p,!0),s=_t(t,i),c=t.clientX,h=t.clientY;ze(t.view),Pe(t),u.mouse=[s,this.__zoom.invert(s)],Qt(this),u.start()}function f(t){if(je(t),!u.moved){var n=t.clientX-c,e=t.clientY-h;u.moved=n*n+e*e>d}u.event(t).zoom("mouse",o(g(u.that.__zoom,u.mouse[0]=_t(t,i),u.mouse[1]),u.extent,l))}function p(t){a.on("mousemove.zoom mouseup.zoom",null),Se(t.view,u.moved),je(t),u.event(t).end()}}function M(t,...n){if(r.apply(this,arguments)){var e=this.__zoom,u=_t(t.changedTouches?t.changedTouches[0]:t,this),a=e.invert(u),s=e.k*(t.shiftKey?.5:2),h=o(g(y(e,s),u,a),i.apply(this,n),l);je(t),c>0?gt(this).transition().duration(c).call(w,h,u,t):gt(this).call(v.transform,h,u,t)}}function A(e,...i){if(r.apply(this,arguments)){var o,u,a,s,l=e.touches,c=l.length,h=b(this,i,e.changedTouches.length===c).event(e);for(Pe(e),u=0;u<c;++u)s=[s=_t(a=l[u],this),this.__zoom.invert(s),a.identifier],h.touch0?h.touch1||h.touch0[2]===s[2]||(h.touch1=s,h.taps=0):(h.touch0=s,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(n=s[0],t=setTimeout((function(){t=null}),p)),Qt(this),h.start())}}function z(t,...n){if(this.__zooming){var e,r,i,u,a=b(this,n).event(t),s=t.changedTouches,c=s.length;for(je(t),e=0;e<c;++e)i=_t(r=s[e],this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var h=a.touch0[0],f=a.touch0[1],p=a.touch1[0],d=a.touch1[1],m=(m=p[0]-h[0])*m+(m=p[1]-h[1])*m,v=(v=d[0]-f[0])*v+(v=d[1]-f[1])*v;r=y(r,Math.sqrt(m/v)),i=[(h[0]+p[0])/2,(h[1]+p[1])/2],u=[(f[0]+d[0])/2,(f[1]+d[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],u=a.touch0[1]}a.zoom("touch",o(g(r,i,u),a.extent,l))}}function S(t,...r){if(this.__zooming){var i,o,u=b(this,r).event(t),a=t.changedTouches,s=a.length;for(Pe(t),e&&clearTimeout(e),e=setTimeout((function(){e=null}),p),i=0;i<s;++i)o=a[i],u.touch0&&u.touch0[2]===o.identifier?delete u.touch0:u.touch1&&u.touch1[2]===o.identifier&&delete u.touch1;if(u.touch1&&!u.touch0&&(u.touch0=u.touch1,delete u.touch1),u.touch0)u.touch0[1]=this.__zoom.invert(u.touch0[0]);else if(u.end(),2===u.taps&&(o=_t(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<m)){var l=gt(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return v.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",De),t!==i?w(t,n,e,r):i.interrupt().each((function(){b(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()}))},v.scaleBy=function(t,n,e,r){v.scaleTo(t,(function(){var t=this.__zoom.k,e="function"==typeof n?n.apply(this,arguments):n;return t*e}),e,r)},v.scaleTo=function(t,n,e,r){v.transform(t,(function(){var t=i.apply(this,arguments),r=this.__zoom,u=null==e?_(t):"function"==typeof e?e.apply(this,arguments):e,a=r.invert(u),s="function"==typeof n?n.apply(this,arguments):n;return o(g(y(r,s),u,a),t,l)}),e,r)},v.translateBy=function(t,n,e,r){v.transform(t,(function(){return o(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),i.apply(this,arguments),l)}),null,r)},v.translateTo=function(t,n,e,r,u){v.transform(t,(function(){var t=i.apply(this,arguments),u=this.__zoom,a=null==r?_(t):"function"==typeof r?r.apply(this,arguments):r;return o(Oe.translate(a[0],a[1]).scale(u.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,l)}),r,u)},x.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=gt(this.that).datum();f.call(t,this.that,new Te(t,{sourceEvent:this.sourceEvent,target:v,type:t,transform:this.that.__zoom,dispatch:f}),n)}},v.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:Ne(+t),v):u},v.filter=function(t){return arguments.length?(r="function"==typeof t?t:Ne(!!t),v):r},v.touchable=function(t){return arguments.length?(a="function"==typeof t?t:Ne(!!t),v):a},v.extent=function(t){return arguments.length?(i="function"==typeof t?t:Ne([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),v):i},v.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],v):[s[0],s[1]]},v.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],v):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},v.constrain=function(t){return arguments.length?(o=t,v):o},v.duration=function(t){return arguments.length?(c=+t,v):c},v.interpolate=function(t){return arguments.length?(h=t,v):h},v.on=function(){var t=f.on.apply(f,arguments);return t===f?v:t},v.clickDistance=function(t){return arguments.length?(d=(t=+t)*t,v):Math.sqrt(d)},v.tapDistance=function(t){return arguments.length?(m=+t,v):m},v}function Ve(t,n,e){var r,i,o,u,a;function s(){var l=Date.now()-u;l<n&&l>=0?r=setTimeout(s,n-l):(r=null,e||(a=t.apply(o,i),o=i=null))}null==n&&(n=100);var l=function(){o=this,i=arguments,u=Date.now();var l=e&&!r;return r||(r=setTimeout(s,n)),l&&(a=t.apply(o,i),o=i=null),a};return l.clear=function(){r&&(clearTimeout(r),r=null)},l.flush=function(){r&&(a=t.apply(o,i),o=i=null,clearTimeout(r),r=null)},l}Ve.debounce=Ve;var Be=Ve;function Le(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==e)return;var r,i,o=[],u=!0,a=!1;try{for(e=e.call(t);!(u=(r=e.next()).done)&&(o.push(r.value),!n||o.length!==n);u=!0);}catch(t){a=!0,i=t}finally{try{u||null==e.return||e.return()}finally{if(a)throw i}}return o}(t,n)||function(t,n){if(!t)return;if("string"==typeof t)return He(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return He(t,n)}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function He(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var $e,Ge,Ke,Fe,Qe,We,Je,Ze,tr,nr,er,rr,ir,or,ur=function t(n,e){var r=e.default,i=void 0===r?null:r,o=e.triggerUpdate,u=void 0===o||o,a=e.onChange,s=void 0===a?function(t,n){}:a;!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.name=n,this.defaultVal=i,this.triggerUpdate=u,this.onChange=s};return Ge=($e={props:{htmlEl:{onChange:function(t,n){n.htmlEls=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t:gt(t)}))},triggerUpdate:!1},svgEl:{onChange:function(t,n){n.svgEls=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t:gt(t)}))},triggerUpdate:!1},canvasEl:{onChange:function(t,n){n.canvasCtxs=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t.node().getContext("2d"):t.getContext("2d")}))},triggerUpdate:!1},enableX:{default:!0,triggerUpdate:!1},enableY:{default:!0,triggerUpdate:!1},scaleExtent:{default:[1,1/0],onChange:function(t,n){t&&n.zoom.scaleExtent(t)},triggerUpdate:!1},translateExtent:{onChange:function(t,n){t&&n.zoom.translateExtent(t)},triggerUpdate:!1},onChange:{triggerUpdate:!1}},methods:{current:function(t){return n({},t.zoomTransform)},zoomBy:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t.initialised&&(t.transitionDuration=e,t.el.call(t.zoom.scaleBy,n)),this},zoomReset:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.initialised&&(t.transitionDuration=n,t.el.call(t.zoom.transform,Oe)),this},zoomTo:function(t,n){var e=n.x,r=void 0===e?0:e,i=n.y,o=void 0===i?0:i,u=n.k,a=void 0===u?1:u,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t.initialised&&(t.transitionDuration=s,t.el.call(t.zoom.transform,Oe.scale(a).translate(r,o))),this}},stateInit:function(){return{zoom:Ue().filter((function(t){return!t.button&&!t.dblclick})),zoomTransform:{x:0,y:0,k:1}}},init:function(t,r){var i=!!t&&"object"===e(t)&&!!t.node&&"function"==typeof t.node;r.el=gt(i?t.node():t),r.el.call(r.zoom.on("zoom",(function(t){var e=n({},t.transform);!r.enableX&&(e.x=0),!r.enableY&&(e.y=0);var i=r.zoomTransform;r.zoomTransform=e;var o=r.transitionDuration||0;r.transitionDuration=0;var u=r.enableX?e.k:1,a=r.enableY?e.k:1;r.htmlEls.forEach((function(t){(o?t.transition().duration(o):t).style("transform","translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(u,", ").concat(a,")"))})),r.svgEls.forEach((function(t){(o?t.transition().duration(o):t).attr("transform","translate(".concat(e.x,", ").concat(e.y,") scale(").concat(u,", ").concat(a,")"))})),r.canvasCtxs.forEach((function(t,s){var l=function(n){var e=n.x,r=n.y,i=n.scX,o=n.scY;t.setTransform(i,0,0,o,e,r)};o?we().duration(o).tween("animate-ctx-".concat(s),(function(){var t=Pn(i.x,e.x),n=Pn(i.y,e.y),o=r.enableX?Pn(i.k,e.k):function(){return 1},u=r.enableY?Pn(i.k,e.k):function(){return 1};return function(e){return l({x:t(e),y:n(e),scX:o(e),scY:u(e)})}})):l(n({scX:u,scY:a},e))})),r.onChange&&r.onChange(e,i,o)}))),r.el.on("dblclick.zoom",null)}}).stateInit,Ke=void 0===Ge?function(){return{}}:Ge,Fe=$e.props,Qe=void 0===Fe?{}:Fe,We=$e.methods,Je=void 0===We?{}:We,Ze=$e.aliases,tr=void 0===Ze?{}:Ze,nr=$e.init,er=void 0===nr?function(){}:nr,rr=$e.update,ir=void 0===rr?function(){}:rr,or=Object.keys(Qe).map((function(t){return new ur(t,Qe[t])})),function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},Ke instanceof Function?Ke(t):Ke,{initialised:!1}),e={};function r(n){return i(n,t),o(),r}var i=function(t,e){er.call(r,t,n,e),n.initialised=!0},o=Be((function(){n.initialised&&(ir.call(r,n,e),e={})}),1);return or.forEach((function(t){r[t.name]=function(t){var i=t.name,u=t.triggerUpdate,a=void 0!==u&&u,s=t.onChange,l=void 0===s?function(t,n){}:s,c=t.defaultVal,h=void 0===c?null:c;return function(t){var u=n[i];if(!arguments.length)return u;var s=void 0===t?h:t;return n[i]=s,l.call(r,s,n,u),!e.hasOwnProperty(i)&&(e[i]=u),a&&o(),r}}(t)})),Object.keys(Je).forEach((function(t){r[t]=function(){for(var e,i=arguments.length,o=new Array(i),u=0;u<i;u++)o[u]=arguments[u];return(e=Je[t]).call.apply(e,[r,n].concat(o))}})),Object.entries(tr).forEach((function(t){var n=Le(t,2),e=n[0],i=n[1];return r[e]=r[i]})),r.resetProps=function(){return or.forEach((function(t){r[t.name](t.defaultVal)})),r},r.resetProps(),n._rerender=o,r}})); | ||
// Version 1.3.0 d3-zoomable - https://github.com/vasturiano/d3-zoomable | ||
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).zoomable=n()}(this,(function(){"use strict";function t(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function n(n){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?t(Object(i),!0).forEach((function(t){r(n,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(i,t))}))}return n}function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function r(t,n,e){return(n=function(t){var n=function(t,n){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==typeof n?n:String(n)}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var i="http://www.w3.org/1999/xhtml",o={svg:"http://www.w3.org/2000/svg",xhtml:i,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function u(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),o.hasOwnProperty(n)?{space:o[n],local:t}:t}function a(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===i&&n.documentElement.namespaceURI===i?n.createElement(t):n.createElementNS(e,t)}}function s(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function l(t){var n=u(t);return(n.local?s:a)(n)}function c(){}function h(t){return null==t?c:function(){return this.querySelector(t)}}function f(){return[]}function p(t){return null==t?f:function(){return this.querySelectorAll(t)}}function d(t){return function(){return null==(n=t.apply(this,arguments))?[]:Array.isArray(n)?n:Array.from(n);var n}}function v(t){return function(){return this.matches(t)}}function m(t){return function(n){return n.matches(t)}}var y=Array.prototype.find;function g(){return this.firstElementChild}var _=Array.prototype.filter;function w(){return Array.from(this.children)}function b(t){return new Array(t.length)}function x(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function k(t,n,e,r,i,o){for(var u,a=0,s=n.length,l=o.length;a<l;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new x(t,o[a]);for(;a<s;++a)(u=n[a])&&(i[a]=u)}function E(t,n,e,r,i,o,u){var a,s,l,c=new Map,h=n.length,f=o.length,p=new Array(h);for(a=0;a<h;++a)(s=n[a])&&(p[a]=l=u.call(s,s.__data__,a,n)+"",c.has(l)?i[a]=s:c.set(l,s));for(a=0;a<f;++a)l=u.call(t,o[a],a,o)+"",(s=c.get(l))?(r[a]=s,s.__data__=o[a],c.delete(l)):e[a]=new x(t,o[a]);for(a=0;a<h;++a)(s=n[a])&&c.get(p[a])===s&&(i[a]=s)}function A(t){return t.__data__}function z(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function M(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function S(t){return function(){this.removeAttribute(t)}}function N(t){return function(){this.removeAttributeNS(t.space,t.local)}}function T(t,n){return function(){this.setAttribute(t,n)}}function $(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function O(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function j(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function C(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function P(t){return function(){this.style.removeProperty(t)}}function X(t,n,e){return function(){this.style.setProperty(t,n,e)}}function Y(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function D(t,n){return t.style.getPropertyValue(n)||C(t).getComputedStyle(t,null).getPropertyValue(n)}function q(t){return function(){delete this[t]}}function I(t,n){return function(){this[t]=n}}function R(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function U(t){return t.trim().split(/^|\s+/)}function V(t){return t.classList||new B(t)}function B(t){this._node=t,this._names=U(t.getAttribute("class")||"")}function H(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function L(t,n){for(var e=V(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function G(t){return function(){H(this,t)}}function K(t){return function(){L(this,t)}}function F(t,n){return function(){(n.apply(this,arguments)?H:L)(this,t)}}function Q(){this.textContent=""}function W(t){return function(){this.textContent=t}}function J(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function Z(){this.innerHTML=""}function tt(t){return function(){this.innerHTML=t}}function nt(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function et(){this.nextSibling&&this.parentNode.appendChild(this)}function rt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function it(){return null}function ot(){var t=this.parentNode;t&&t.removeChild(this)}function ut(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function at(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function st(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function lt(t,n,e){return function(){var r,i=this.__on,o=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var u=0,a=i.length;u<a;++u)if((r=i[u]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),void(r.value=n);this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function ct(t,n,e){var r=C(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function ht(t,n){return function(){return ct(this,t,n)}}function ft(t,n){return function(){return ct(this,t,n.apply(this,arguments))}}x.prototype={constructor:x,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},B.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var pt=[null];function dt(t,n){this._groups=t,this._parents=n}function vt(){return new dt([[document.documentElement]],pt)}function mt(t){return"string"==typeof t?new dt([[document.querySelector(t)]],[document.documentElement]):new dt([[t]],pt)}function yt(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}dt.prototype=vt.prototype={constructor:dt,select:function(t){"function"!=typeof t&&(t=h(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u,a=n[i],s=a.length,l=r[i]=new Array(s),c=0;c<s;++c)(o=a[c])&&(u=t.call(o,o.__data__,c,a))&&("__data__"in o&&(u.__data__=o.__data__),l[c]=u);return new dt(r,this._parents)},selectAll:function(t){t="function"==typeof t?d(t):p(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,a=n[o],s=a.length,l=0;l<s;++l)(u=a[l])&&(r.push(t.call(u,u.__data__,l,a)),i.push(u));return new dt(r,i)},selectChild:function(t){return this.select(null==t?g:function(t){return function(){return y.call(this.children,t)}}("function"==typeof t?t:m(t)))},selectChildren:function(t){return this.selectAll(null==t?w:function(t){return function(){return _.call(this.children,t)}}("function"==typeof t?t:m(t)))},filter:function(t){"function"!=typeof t&&(t=v(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new dt(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,A);var e,r=n?E:k,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,a=new Array(u),s=new Array(u),l=new Array(u),c=0;c<u;++c){var h=i[c],f=o[c],p=f.length,d=z(t.call(h,h&&h.__data__,c,i)),v=d.length,m=s[c]=new Array(v),y=a[c]=new Array(v);r(h,f,m,y,l[c]=new Array(p),d,n);for(var g,_,w=0,b=0;w<v;++w)if(g=m[w]){for(w>=b&&(b=w+1);!(_=y[b])&&++b<v;);g._next=_||null}}return(a=new dt(a,i))._enter=s,a._exit=l,a},enter:function(){return new dt(this._enter||this._groups.map(b),this._parents)},exit:function(){return new dt(this._exit||this._groups.map(b),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,u=Math.min(i,o),a=new Array(i),s=0;s<u;++s)for(var l,c=e[s],h=r[s],f=c.length,p=a[s]=new Array(f),d=0;d<f;++d)(l=c[d]||h[d])&&(p[d]=l);for(;s<i;++s)a[s]=e[s];return new dt(a,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=M);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],s=a.length,l=i[o]=new Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(n)}return new dt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var u=r[i];if(u)return u}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=u(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?N:S:"function"==typeof n?e.local?j:O:e.local?$:T)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?P:"function"==typeof n?Y:X)(t,n,null==e?"":e)):D(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?q:"function"==typeof n?R:I)(t,n)):this.node()[t]},classed:function(t,n){var e=U(t+"");if(arguments.length<2){for(var r=V(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?F:n?G:K)(e,n))},text:function(t){return arguments.length?this.each(null==t?Q:("function"==typeof t?J:W)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Z:("function"==typeof t?nt:tt)(t)):this.node().innerHTML},raise:function(){return this.each(et)},lower:function(){return this.each(rt)},append:function(t){var n="function"==typeof t?t:l(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:l(t),r=null==n?it:"function"==typeof n?n:h(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ot)},clone:function(t){return this.select(t?at:ut)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?lt:st,r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?ft:ht)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,u=i.length;o<u;++o)(r=i[o])&&(yield r)}};var gt={value:()=>{}};function _t(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new wt(r)}function wt(t){this._=t}function bt(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function xt(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=gt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}wt.prototype=_t.prototype={constructor:wt,on:function(t,n){var e,r,i=this._,o=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))),u=-1,a=o.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++u<a;)if(e=(t=o[u]).type)i[e]=xt(i[e],t.name,n);else if(null==n)for(e in i)i[e]=xt(i[e],t.name,null);return this}for(;++u<a;)if((e=(t=o[u]).type)&&(e=bt(i[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new wt(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var kt,Et,At=0,zt=0,Mt=0,St=1e3,Nt=0,Tt=0,$t=0,Ot="object"==typeof performance&&performance.now?performance:Date,jt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ct(){return Tt||(jt(Pt),Tt=Ot.now()+$t)}function Pt(){Tt=0}function Xt(){this._call=this._time=this._next=null}function Yt(t,n,e){var r=new Xt;return r.restart(t,n,e),r}function Dt(){Tt=(Nt=Ot.now())+$t,At=zt=0;try{!function(){Ct(),++At;for(var t,n=kt;n;)(t=Tt-n._time)>=0&&n._call.call(void 0,t),n=n._next;--At}()}finally{At=0,function(){var t,n,e=kt,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:kt=n);Et=t,It(r)}(),Tt=0}}function qt(){var t=Ot.now(),n=t-Nt;n>St&&($t-=n,Nt=t)}function It(t){At||(zt&&(zt=clearTimeout(zt)),t-Tt>24?(t<1/0&&(zt=setTimeout(Dt,t-Ot.now()-$t)),Mt&&(Mt=clearInterval(Mt))):(Mt||(Nt=Ot.now(),Mt=setInterval(qt,St)),At=1,jt(Dt)))}function Rt(t,n,e){var r=new Xt;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Xt.prototype=Yt.prototype={constructor:Xt,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Ct():+e)+(null==n?0:+n),this._next||Et===this||(Et?Et._next=this:kt=this,Et=this),this._call=t,this._time=e,It()},stop:function(){this._call&&(this._call=null,this._time=1/0,It())}};var Ut=_t("start","end","cancel","interrupt"),Vt=[],Bt=0,Ht=1,Lt=2,Gt=3,Kt=4,Ft=5,Qt=6;function Wt(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=Ht,e.timer.restart(u,e.delay,e.time),e.delay<=t&&u(t-e.delay)}function u(o){var l,c,h,f;if(e.state!==Ht)return s();for(l in i)if((f=i[l]).name===e.name){if(f.state===Gt)return Rt(u);f.state===Kt?(f.state=Qt,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[l]):+l<n&&(f.state=Qt,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[l])}if(Rt((function(){e.state===Gt&&(e.state=Kt,e.timer.restart(a,e.delay,e.time),a(o))})),e.state=Lt,e.on.call("start",t,t.__data__,e.index,e.group),e.state===Lt){for(e.state=Gt,r=new Array(h=e.tween.length),l=0,c=-1;l<h;++l)(f=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=f);r.length=c+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(s),e.state=Ft,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);e.state===Ft&&(e.on.call("end",t,t.__data__,e.index,e.group),s())}function s(){for(var r in e.state=Qt,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Yt(o,0,e.time)}(t,e,{name:n,index:r,group:i,on:Ut,tween:Vt,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Bt})}function Jt(t,n){var e=tn(t,n);if(e.state>Bt)throw new Error("too late; already scheduled");return e}function Zt(t,n){var e=tn(t,n);if(e.state>Gt)throw new Error("too late; already running");return e}function tn(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function nn(t,n){var e,r,i,o=t.__transition,u=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>Lt&&e.state<Ft,e.state=Qt,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):u=!1;u&&delete t.__transition}}function en(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function rn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function on(){}var un=.7,an=1/un,sn="\\s*([+-]?\\d+)\\s*",ln="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",hn=/^#([0-9a-f]{3,8})$/,fn=new RegExp(`^rgb\\(${sn},${sn},${sn}\\)$`),pn=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),dn=new RegExp(`^rgba\\(${sn},${sn},${sn},${ln}\\)$`),vn=new RegExp(`^rgba\\(${cn},${cn},${cn},${ln}\\)$`),mn=new RegExp(`^hsl\\(${ln},${cn},${cn}\\)$`),yn=new RegExp(`^hsla\\(${ln},${cn},${cn},${ln}\\)$`),gn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function _n(){return this.rgb().formatHex()}function wn(){return this.rgb().formatRgb()}function bn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=hn.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?xn(n):3===e?new An(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?kn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?kn(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=fn.exec(t))?new An(n[1],n[2],n[3],1):(n=pn.exec(t))?new An(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=dn.exec(t))?kn(n[1],n[2],n[3],n[4]):(n=vn.exec(t))?kn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=mn.exec(t))?$n(n[1],n[2]/100,n[3]/100,1):(n=yn.exec(t))?$n(n[1],n[2]/100,n[3]/100,n[4]):gn.hasOwnProperty(t)?xn(gn[t]):"transparent"===t?new An(NaN,NaN,NaN,0):null}function xn(t){return new An(t>>16&255,t>>8&255,255&t,1)}function kn(t,n,e,r){return r<=0&&(t=n=e=NaN),new An(t,n,e,r)}function En(t,n,e,r){return 1===arguments.length?((i=t)instanceof on||(i=bn(i)),i?new An((i=i.rgb()).r,i.g,i.b,i.opacity):new An):new An(t,n,e,null==r?1:r);var i}function An(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function zn(){return`#${Tn(this.r)}${Tn(this.g)}${Tn(this.b)}`}function Mn(){const t=Sn(this.opacity);return`${1===t?"rgb(":"rgba("}${Nn(this.r)}, ${Nn(this.g)}, ${Nn(this.b)}${1===t?")":`, ${t})`}`}function Sn(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Nn(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Tn(t){return((t=Nn(t))<16?"0":"")+t.toString(16)}function $n(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new jn(t,n,e,r)}function On(t){if(t instanceof jn)return new jn(t.h,t.s,t.l,t.opacity);if(t instanceof on||(t=bn(t)),!t)return new jn;if(t instanceof jn)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),u=NaN,a=o-i,s=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new jn(u,a,s,t.opacity)}function jn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Cn(t){return(t=(t||0)%360)<0?t+360:t}function Pn(t){return Math.max(0,Math.min(1,t||0))}function Xn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}en(on,bn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:_n,formatHex:_n,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return On(this).formatHsl()},formatRgb:wn,toString:wn}),en(An,En,rn(on,{brighter(t){return t=null==t?an:Math.pow(an,t),new An(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?un:Math.pow(un,t),new An(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new An(Nn(this.r),Nn(this.g),Nn(this.b),Sn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:zn,formatHex:zn,formatHex8:function(){return`#${Tn(this.r)}${Tn(this.g)}${Tn(this.b)}${Tn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:Mn,toString:Mn})),en(jn,(function(t,n,e,r){return 1===arguments.length?On(t):new jn(t,n,e,null==r?1:r)}),rn(on,{brighter(t){return t=null==t?an:Math.pow(an,t),new jn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?un:Math.pow(un,t),new jn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new An(Xn(t>=240?t-240:t+120,i,r),Xn(t,i,r),Xn(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new jn(Cn(this.h),Pn(this.s),Pn(this.l),Sn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Sn(this.opacity);return`${1===t?"hsl(":"hsla("}${Cn(this.h)}, ${100*Pn(this.s)}%, ${100*Pn(this.l)}%${1===t?")":`, ${t})`}`}}));var Yn=t=>()=>t;function Dn(t){return 1==(t=+t)?qn:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):Yn(isNaN(n)?e:n)}}function qn(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):Yn(isNaN(t)?n:t)}var In=function t(n){var e=Dn(n);function r(t,n){var r=e((t=En(t)).r,(n=En(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=qn(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function Rn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var Un=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vn=new RegExp(Un.source,"g");function Bn(t,n){var e,r,i,o=Un.lastIndex=Vn.lastIndex=0,u=-1,a=[],s=[];for(t+="",n+="";(e=Un.exec(t))&&(r=Vn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,s.push({i:u,x:Rn(e,r)})),o=Vn.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)a[(e=s[r]).i]=e.x(t);return a.join("")})}var Hn,Ln=180/Math.PI,Gn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Kn(t,n,e,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,s/=a),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Ln,skewX:Math.atan(s)*Ln,scaleX:u,scaleY:a}}function Fn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],s=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,n,null,e);a.push({i:s-4,x:Rn(t,i)},{i:s-2,x:Rn(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,s),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Rn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Rn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,s),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:Rn(t,e)},{i:a-2,x:Rn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,s),o=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)a[(n=s[e]).i]=n.x(t);return a.join("")}}}var Qn=Fn((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?Gn:Kn(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),Wn=Fn((function(t){return null==t?Gn:(Hn||(Hn=document.createElementNS("http://www.w3.org/2000/svg","g")),Hn.setAttribute("transform",t),(t=Hn.transform.baseVal.consolidate())?Kn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):Gn)}),", ",")",")"),Jn=1e-12;function Zn(t){return((t=Math.exp(t))+1/t)/2}var te=function t(n,e,r){function i(t,i){var o,u,a=t[0],s=t[1],l=t[2],c=i[0],h=i[1],f=i[2],p=c-a,d=h-s,v=p*p+d*d;if(v<Jn)u=Math.log(f/l)/n,o=function(t){return[a+t*p,s+t*d,l*Math.exp(n*t*u)]};else{var m=Math.sqrt(v),y=(f*f-l*l+r*v)/(2*l*e*m),g=(f*f-l*l-r*v)/(2*f*e*m),_=Math.log(Math.sqrt(y*y+1)-y),w=Math.log(Math.sqrt(g*g+1)-g);u=(w-_)/n,o=function(t){var r,i=t*u,o=Zn(_),c=l/(e*m)*(o*(r=n*i+_,((r=Math.exp(2*r))-1)/(r+1))-function(t){return((t=Math.exp(t))-1/t)/2}(_));return[a+c*p,s+c*d,l*o/Zn(n*i+_)]}}return o.duration=1e3*u*n/Math.SQRT2,o}return i.rho=function(n){var e=Math.max(.001,+n),r=e*e;return t(e,r,r*r)},i}(Math.SQRT2,2,4);function ne(t,n){var e,r;return function(){var i=Zt(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function ee(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Zt(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=a;break}s===l&&i.push(a)}o.tween=i}}function re(t,n,e){var r=t._id;return t.each((function(){var t=Zt(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return tn(t,r).value[n]}}function ie(t,n){var e;return("number"==typeof n?Rn:n instanceof bn?In:(e=bn(n))?(n=e,In):Bn)(t,n)}function oe(t){return function(){this.removeAttribute(t)}}function ue(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ae(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=n(r=u,e)}}function se(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=n(r=u,e)}}function le(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttribute(t)}}function ce(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttributeNS(t.space,t.local)}}function he(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}(t,i)),e}return i._value=n,i}function fe(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&function(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}(t,i)),e}return i._value=n,i}function pe(t,n){return function(){Jt(this,t).delay=+n.apply(this,arguments)}}function de(t,n){return n=+n,function(){Jt(this,t).delay=n}}function ve(t,n){return function(){Zt(this,t).duration=+n.apply(this,arguments)}}function me(t,n){return n=+n,function(){Zt(this,t).duration=n}}var ye=vt.prototype.constructor;function ge(t){return function(){this.style.removeProperty(t)}}var _e=0;function we(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function be(t){return vt().transition(t)}function xe(){return++_e}var ke=vt.prototype;we.prototype=be.prototype={constructor:we,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=h(t));for(var r=this._groups,i=r.length,o=new Array(i),u=0;u<i;++u)for(var a,s,l=r[u],c=l.length,f=o[u]=new Array(c),p=0;p<c;++p)(a=l[p])&&(s=t.call(a,a.__data__,p,l))&&("__data__"in a&&(s.__data__=a.__data__),f[p]=s,Wt(f[p],n,e,p,f,tn(a,e)));return new we(o,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=p(t));for(var r=this._groups,i=r.length,o=[],u=[],a=0;a<i;++a)for(var s,l=r[a],c=l.length,h=0;h<c;++h)if(s=l[h]){for(var f,d=t.call(s,s.__data__,h,l),v=tn(s,e),m=0,y=d.length;m<y;++m)(f=d[m])&&Wt(f,n,e,m,d,v);o.push(d),u.push(s)}return new we(o,u,n,e)},selectChild:ke.selectChild,selectChildren:ke.selectChildren,filter:function(t){"function"!=typeof t&&(t=v(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],a=u.length,s=r[i]=[],l=0;l<a;++l)(o=u[l])&&t.call(o,o.__data__,l,u)&&s.push(o);return new we(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],h=l.length,f=u[a]=new Array(h),p=0;p<h;++p)(s=l[p]||c[p])&&(f[p]=s);for(;a<r;++a)u[a]=n[a];return new we(u,this._parents,this._name,this._id)},selection:function(){return new ye(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=xe(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=tn(u,n);Wt(u,t,e,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new we(r,this._parents,t,e)},call:ke.call,nodes:ke.nodes,node:ke.node,size:ke.size,empty:ke.empty,each:ke.each,on:function(t,n){var e=this._id;return arguments.length<2?tn(this.node(),e).on.on(t):this.each(function(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Jt:Zt;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}(e,t,n))},attr:function(t,n){var e=u(t),r="transform"===e?Wn:ie;return this.attrTween(t,"function"==typeof n?(e.local?ce:le)(e,r,re(this,"attr."+t,n)):null==n?(e.local?ue:oe)(e):(e.local?se:ae)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=u(t);return this.tween(e,(r.local?he:fe)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?Qn:ie;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=D(this,t),u=(this.style.removeProperty(t),D(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,ge(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var u=D(this,t),a=e(this),s=a+"";return null==a&&(this.style.removeProperty(t),s=a=D(this,t)),u===s?null:u===r&&s===i?o:(i=s,o=n(r=u,a))}}(t,r,re(this,"style."+t,n))).each(function(t,n){var e,r,i,o,u="style."+n,a="end."+u;return function(){var s=Zt(this,t),l=s.on,c=null==s.value[u]?o||(o=ge(n)):void 0;l===e&&i===c||(r=(e=l).copy()).on(a,i=c),s.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var u=D(this,t);return u===o?null:u===r?i:i=n(r=u,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,function(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&function(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}(t,o,e)),r}return o._value=n,o}(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(re(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,function(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&function(t){return function(n){this.textContent=t.call(this,n)}}(r)),n}return r._value=t,r}(t))},remove:function(){return this.on("end.remove",function(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}(this._id))},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=tn(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?ne:ee)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?pe:de)(n,t)):tn(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?ve:me)(n,t)):tn(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(function(t,n){if("function"!=typeof n)throw new Error;return function(){Zt(this,t).ease=n}}(n,t)):tn(this.node(),n).ease},easeVarying:function(t){if("function"!=typeof t)throw new Error;return this.each(function(t,n){return function(){var e=n.apply(this,arguments);if("function"!=typeof e)throw new Error;Zt(this,t).ease=e}}(this._id,t))},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};e.each((function(){var e=Zt(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(a),n._.interrupt.push(a),n._.end.push(s)),e.on=n})),0===i&&o()}))},[Symbol.iterator]:ke[Symbol.iterator]};var Ee={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function Ae(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}vt.prototype.interrupt=function(t){return this.each((function(){nn(this,t)}))},vt.prototype.transition=function(t){var n,e;t instanceof we?(n=t._id,t=t._name):(n=xe(),(e=Ee).time=Ct(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&Wt(u,t,n,l,a,e||Ae(u,n));return new we(r,this._parents,t,n)};const ze={capture:!0,passive:!1};function Me(t){t.preventDefault(),t.stopImmediatePropagation()}var Se=t=>()=>t;function Ne(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Te(t,n,e){this.k=t,this.x=n,this.y=e}Te.prototype={constructor:Te,scale:function(t){return 1===t?this:new Te(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Te(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var $e=new Te(1,0,0);function Oe(t){t.stopImmediatePropagation()}function je(t){t.preventDefault(),t.stopImmediatePropagation()}function Ce(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Pe(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function Xe(){return this.__zoom||$e}function Ye(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function De(){return navigator.maxTouchPoints||"ontouchstart"in this}function qe(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],u=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),u>o?(o+u)/2:Math.min(0,o)||Math.max(0,u))}function Ie(){var t,n,e,r=Ce,i=Pe,o=qe,u=Ye,a=De,s=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,h=te,f=_t("start","zoom","end"),p=500,d=150,v=0,m=10;function y(t){t.property("__zoom",Xe).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",z).filter(a).on("touchstart.zoom",M).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(t,n){return(n=Math.max(s[0],Math.min(s[1],n)))===t.k?t:new Te(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Te(t.k,r,i)}function w(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function b(t,n,e,r){t.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,u=x(t,o).event(r),a=i.apply(t,o),s=null==e?w(a):"function"==typeof e?e.apply(t,o):e,l=Math.max(a[1][0]-a[0][0],a[1][1]-a[0][1]),c=t.__zoom,f="function"==typeof n?n.apply(t,o):n,p=h(c.invert(s).concat(l/c.k),f.invert(s).concat(l/f.k));return function(t){if(1===t)t=f;else{var n=p(t),e=l/n[2];t=new Te(e,s[0]-n[0]*e,s[1]-n[1]*e)}u.zoom(null,t)}}))}function x(t,n,e){return!e&&t.__zooming||new k(t,n)}function k(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,n),this.taps=0}function E(t,...n){if(r.apply(this,arguments)){var e=x(this,n).event(t),i=this.__zoom,a=Math.max(s[0],Math.min(s[1],i.k*Math.pow(2,u.apply(this,arguments)))),c=yt(t);if(e.wheel)e.mouse[0][0]===c[0]&&e.mouse[0][1]===c[1]||(e.mouse[1]=i.invert(e.mouse[0]=c)),clearTimeout(e.wheel);else{if(i.k===a)return;e.mouse=[c,i.invert(c)],nn(this),e.start()}je(t),e.wheel=setTimeout((function(){e.wheel=null,e.end()}),d),e.zoom("mouse",o(_(g(i,a),e.mouse[0],e.mouse[1]),e.extent,l))}}function A(t,...n){if(!e&&r.apply(this,arguments)){var i=t.currentTarget,u=x(this,n,!0).event(t),a=mt(t.view).on("mousemove.zoom",(function(t){if(je(t),!u.moved){var n=t.clientX-c,e=t.clientY-h;u.moved=n*n+e*e>v}u.event(t).zoom("mouse",o(_(u.that.__zoom,u.mouse[0]=yt(t,i),u.mouse[1]),u.extent,l))}),!0).on("mouseup.zoom",(function(t){a.on("mousemove.zoom mouseup.zoom",null),function(t,n){var e=t.document.documentElement,r=mt(t).on("dragstart.drag",null);n&&(r.on("click.drag",Me,ze),setTimeout((function(){r.on("click.drag",null)}),0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}(t.view,u.moved),je(t),u.event(t).end()}),!0),s=yt(t,i),c=t.clientX,h=t.clientY;!function(t){var n=t.document.documentElement,e=mt(t).on("dragstart.drag",Me,ze);"onselectstart"in n?e.on("selectstart.drag",Me,ze):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}(t.view),Oe(t),u.mouse=[s,this.__zoom.invert(s)],nn(this),u.start()}}function z(t,...n){if(r.apply(this,arguments)){var e=this.__zoom,u=yt(t.changedTouches?t.changedTouches[0]:t,this),a=e.invert(u),s=e.k*(t.shiftKey?.5:2),h=o(_(g(e,s),u,a),i.apply(this,n),l);je(t),c>0?mt(this).transition().duration(c).call(b,h,u,t):mt(this).call(y.transform,h,u,t)}}function M(e,...i){if(r.apply(this,arguments)){var o,u,a,s,l=e.touches,c=l.length,h=x(this,i,e.changedTouches.length===c).event(e);for(Oe(e),u=0;u<c;++u)s=[s=yt(a=l[u],this),this.__zoom.invert(s),a.identifier],h.touch0?h.touch1||h.touch0[2]===s[2]||(h.touch1=s,h.taps=0):(h.touch0=s,o=!0,h.taps=1+!!t);t&&(t=clearTimeout(t)),o&&(h.taps<2&&(n=s[0],t=setTimeout((function(){t=null}),p)),nn(this),h.start())}}function S(t,...n){if(this.__zooming){var e,r,i,u,a=x(this,n).event(t),s=t.changedTouches,c=s.length;for(je(t),e=0;e<c;++e)i=yt(r=s[e],this),a.touch0&&a.touch0[2]===r.identifier?a.touch0[0]=i:a.touch1&&a.touch1[2]===r.identifier&&(a.touch1[0]=i);if(r=a.that.__zoom,a.touch1){var h=a.touch0[0],f=a.touch0[1],p=a.touch1[0],d=a.touch1[1],v=(v=p[0]-h[0])*v+(v=p[1]-h[1])*v,m=(m=d[0]-f[0])*m+(m=d[1]-f[1])*m;r=g(r,Math.sqrt(v/m)),i=[(h[0]+p[0])/2,(h[1]+p[1])/2],u=[(f[0]+d[0])/2,(f[1]+d[1])/2]}else{if(!a.touch0)return;i=a.touch0[0],u=a.touch0[1]}a.zoom("touch",o(_(r,i,u),a.extent,l))}}function N(t,...r){if(this.__zooming){var i,o,u=x(this,r).event(t),a=t.changedTouches,s=a.length;for(Oe(t),e&&clearTimeout(e),e=setTimeout((function(){e=null}),p),i=0;i<s;++i)o=a[i],u.touch0&&u.touch0[2]===o.identifier?delete u.touch0:u.touch1&&u.touch1[2]===o.identifier&&delete u.touch1;if(u.touch1&&!u.touch0&&(u.touch0=u.touch1,delete u.touch1),u.touch0)u.touch0[1]=this.__zoom.invert(u.touch0[0]);else if(u.end(),2===u.taps&&(o=yt(o,this),Math.hypot(n[0]-o[0],n[1]-o[1])<m)){var l=mt(this).on("dblclick.zoom");l&&l.apply(this,arguments)}}}return y.transform=function(t,n,e,r){var i=t.selection?t.selection():t;i.property("__zoom",Xe),t!==i?b(t,n,e,r):i.interrupt().each((function(){x(this,arguments).event(r).start().zoom(null,"function"==typeof n?n.apply(this,arguments):n).end()}))},y.scaleBy=function(t,n,e,r){y.scaleTo(t,(function(){return this.__zoom.k*("function"==typeof n?n.apply(this,arguments):n)}),e,r)},y.scaleTo=function(t,n,e,r){y.transform(t,(function(){var t=i.apply(this,arguments),r=this.__zoom,u=null==e?w(t):"function"==typeof e?e.apply(this,arguments):e,a=r.invert(u),s="function"==typeof n?n.apply(this,arguments):n;return o(_(g(r,s),u,a),t,l)}),e,r)},y.translateBy=function(t,n,e,r){y.transform(t,(function(){return o(this.__zoom.translate("function"==typeof n?n.apply(this,arguments):n,"function"==typeof e?e.apply(this,arguments):e),i.apply(this,arguments),l)}),null,r)},y.translateTo=function(t,n,e,r,u){y.transform(t,(function(){var t=i.apply(this,arguments),u=this.__zoom,a=null==r?w(t):"function"==typeof r?r.apply(this,arguments):r;return o($e.translate(a[0],a[1]).scale(u.k).translate("function"==typeof n?-n.apply(this,arguments):-n,"function"==typeof e?-e.apply(this,arguments):-e),t,l)}),r,u)},k.prototype={event:function(t){return t&&(this.sourceEvent=t),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(t,n){return this.mouse&&"mouse"!==t&&(this.mouse[1]=n.invert(this.mouse[0])),this.touch0&&"touch"!==t&&(this.touch0[1]=n.invert(this.touch0[0])),this.touch1&&"touch"!==t&&(this.touch1[1]=n.invert(this.touch1[0])),this.that.__zoom=n,this.emit("zoom"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit("end")),this},emit:function(t){var n=mt(this.that).datum();f.call(t,this.that,new Ne(t,{sourceEvent:this.sourceEvent,target:y,type:t,transform:this.that.__zoom,dispatch:f}),n)}},y.wheelDelta=function(t){return arguments.length?(u="function"==typeof t?t:Se(+t),y):u},y.filter=function(t){return arguments.length?(r="function"==typeof t?t:Se(!!t),y):r},y.touchable=function(t){return arguments.length?(a="function"==typeof t?t:Se(!!t),y):a},y.extent=function(t){return arguments.length?(i="function"==typeof t?t:Se([[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]]),y):i},y.scaleExtent=function(t){return arguments.length?(s[0]=+t[0],s[1]=+t[1],y):[s[0],s[1]]},y.translateExtent=function(t){return arguments.length?(l[0][0]=+t[0][0],l[1][0]=+t[1][0],l[0][1]=+t[0][1],l[1][1]=+t[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(t){return arguments.length?(o=t,y):o},y.duration=function(t){return arguments.length?(c=+t,y):c},y.interpolate=function(t){return arguments.length?(h=t,y):h},y.on=function(){var t=f.on.apply(f,arguments);return t===f?y:t},y.clickDistance=function(t){return arguments.length?(v=(t=+t)*t,y):Math.sqrt(v)},y.tapDistance=function(t){return arguments.length?(m=+t,y):m},y}function Re(t,n,e){var r,i,o,u,a;function s(){var l=Date.now()-u;l<n&&l>=0?r=setTimeout(s,n-l):(r=null,e||(a=t.apply(o,i),o=i=null))}null==n&&(n=100);var l=function(){o=this,i=arguments,u=Date.now();var l=e&&!r;return r||(r=setTimeout(s,n)),l&&(a=t.apply(o,i),o=i=null),a};return l.clear=function(){r&&(clearTimeout(r),r=null)},l.flush=function(){r&&(a=t.apply(o,i),o=i=null,clearTimeout(r),r=null)},l}Te.prototype,Re.debounce=Re;var Ue=Re;function Ve(t,n){for(var e=0;e<n.length;e++){var r=n[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,(i=r.key,o=void 0,"symbol"==typeof(o=function(t,n){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,n||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(i,"string"))?o:String(o)),r)}var i,o}function Be(t,n,e){return n&&Ve(t.prototype,n),e&&Ve(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function He(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,o,u,a=[],s=!0,l=!1;try{if(o=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;s=!1}else for(;!(s=(r=o.call(e)).done)&&(a.push(r.value),a.length!==n);s=!0);}catch(t){l=!0,i=t}finally{try{if(!s&&null!=e.return&&(u=e.return(),Object(u)!==u))return}finally{if(l)throw i}}return a}}(t,n)||function(t,n){if(!t)return;if("string"==typeof t)return Le(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Le(t,n)}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Le(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e<n;e++)r[e]=t[e];return r}var Ge=Be((function t(n,e){var r=e.default,i=void 0===r?null:r,o=e.triggerUpdate,u=void 0===o||o,a=e.onChange,s=void 0===a?function(t,n){}:a;!function(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.name=n,this.defaultVal=i,this.triggerUpdate=u,this.onChange=s}));var Ke,Fe,Qe,We,Je,Ze,tr,nr,er,rr,ir,or,ur,ar,sr=(Ke={props:{htmlEl:{onChange:function(t,n){n.htmlEls=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t:mt(t)}))},triggerUpdate:!1},svgEl:{onChange:function(t,n){n.svgEls=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t:mt(t)}))},triggerUpdate:!1},canvasEl:{onChange:function(t,n){n.canvasCtxs=(t?t instanceof Array?t:[t]:[]).map((function(t){return"object"===e(t)&&t.node&&"function"==typeof t.node?t.node().getContext("2d"):t.getContext("2d")}))},triggerUpdate:!1},enableX:{default:!0,triggerUpdate:!1},enableY:{default:!0,triggerUpdate:!1},scaleExtent:{default:[1,1/0],onChange:function(t,n){t&&n.zoom.scaleExtent(t)},triggerUpdate:!1},translateExtent:{onChange:function(t,n){t&&n.zoom.translateExtent(t)},triggerUpdate:!1},onChange:{triggerUpdate:!1}},methods:{current:function(t){return n({},t.zoomTransform)},zoomBy:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t.initialised&&(t.transitionDuration=e,t.el.call(t.zoom.scaleBy,n)),this},zoomReset:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return t.initialised&&(t.transitionDuration=n,t.el.call(t.zoom.transform,$e)),this},zoomTo:function(t,n){var e=n.x,r=void 0===e?0:e,i=n.y,o=void 0===i?0:i,u=n.k,a=void 0===u?1:u,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return t.initialised&&(t.transitionDuration=s,t.el.call(t.zoom.transform,$e.scale(a).translate(r,o))),this}},stateInit:function(){return{zoom:Ie().filter((function(t){return!t.button&&!t.dblclick})),zoomTransform:{x:0,y:0,k:1}}},init:function(t,r){var i=!!t&&"object"===e(t)&&!!t.node&&"function"==typeof t.node;r.el=mt(i?t.node():t),r.el.call(r.zoom.on("zoom",(function(t){var e=n({},t.transform);!r.enableX&&(e.x=0),!r.enableY&&(e.y=0);var i=r.zoomTransform;r.zoomTransform=e;var o=r.transitionDuration||0;r.transitionDuration=0;var u=r.enableX?e.k:1,a=r.enableY?e.k:1;r.htmlEls.forEach((function(t){(o?t.transition().duration(o):t).style("transform","translate(".concat(e.x,"px, ").concat(e.y,"px) scale(").concat(u,", ").concat(a,")"))})),r.svgEls.forEach((function(t){(o?t.transition().duration(o):t).attr("transform","translate(".concat(e.x,", ").concat(e.y,") scale(").concat(u,", ").concat(a,")"))})),r.canvasCtxs.forEach((function(t,s){var l=function(n){var e=n.x,r=n.y,i=n.scX,o=n.scY;t.setTransform(i,0,0,o,e,r)};o?be().duration(o).tween("animate-ctx-".concat(s),(function(){var t=Rn(i.x,e.x),n=Rn(i.y,e.y),o=r.enableX?Rn(i.k,e.k):function(){return 1},u=r.enableY?Rn(i.k,e.k):function(){return 1};return function(e){return l({x:t(e),y:n(e),scX:o(e),scY:u(e)})}})):l(n({scX:u,scY:a},e))})),r.onChange&&r.onChange(e,i,o)}))),r.el.on("dblclick.zoom",null)}},Fe=Ke.stateInit,Qe=void 0===Fe?function(){return{}}:Fe,We=Ke.props,Je=void 0===We?{}:We,Ze=Ke.methods,tr=void 0===Ze?{}:Ze,nr=Ke.aliases,er=void 0===nr?{}:nr,rr=Ke.init,ir=void 0===rr?function(){}:rr,or=Ke.update,ur=void 0===or?function(){}:or,ar=Object.keys(Je).map((function(t){return new Ge(t,Je[t])})),function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},Qe instanceof Function?Qe(t):Qe,{initialised:!1}),e={};function r(n){return i(n,t),o(),r}var i=function(t,e){ir.call(r,t,n,e),n.initialised=!0},o=Ue((function(){n.initialised&&(ur.call(r,n,e),e={})}),1);return ar.forEach((function(t){r[t.name]=function(t){var i=t.name,u=t.triggerUpdate,a=void 0!==u&&u,s=t.onChange,l=void 0===s?function(t,n){}:s,c=t.defaultVal,h=void 0===c?null:c;return function(t){var u=n[i];if(!arguments.length)return u;var s=void 0===t?h:t;return n[i]=s,l.call(r,s,n,u),!e.hasOwnProperty(i)&&(e[i]=u),a&&o(),r}}(t)})),Object.keys(tr).forEach((function(t){r[t]=function(){for(var e,i=arguments.length,o=new Array(i),u=0;u<i;u++)o[u]=arguments[u];return(e=tr[t]).call.apply(e,[r,n].concat(o))}})),Object.entries(er).forEach((function(t){var n=He(t,2),e=n[0],i=n[1];return r[e]=r[i]})),r.resetProps=function(){return ar.forEach((function(t){r[t.name](t.defaultVal)})),r},r.resetProps(),n._rerender=o,r});return sr})); |
{ | ||
"name": "d3-zoomable", | ||
"version": "1.2.1", | ||
"version": "1.3.0", | ||
"description": "Easy way to apply d3-zoom functionality to DOM elements", | ||
"license": "MIT", | ||
"type": "module", | ||
"unpkg": "dist/d3-zoomable.min.js", | ||
"main": "dist/d3-zoomable.common.js", | ||
"module": "dist/d3-zoomable.module.js", | ||
"main": "dist/d3-zoomable.mjs", | ||
"module": "dist/d3-zoomable.mjs", | ||
"exports": { | ||
"umd": "./dist/d3-zoomable.min.js", | ||
"default": "./dist/d3-zoomable.mjs" | ||
}, | ||
"repository": { | ||
@@ -41,16 +46,17 @@ "type": "git", | ||
"d3-zoom": "2 - 3", | ||
"kapsule": "^1.13" | ||
"kapsule": "^1.14" | ||
}, | ||
"devDependencies": { | ||
"@babel/core": "^7.14.6", | ||
"@babel/plugin-proposal-class-properties": "^7.14.5", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.14.7", | ||
"@babel/preset-env": "^7.14.7", | ||
"@rollup/plugin-babel": "^5.3.0", | ||
"@rollup/plugin-commonjs": "^19.0.0", | ||
"@rollup/plugin-node-resolve": "^13.0.0", | ||
"rimraf": "^3.0.2", | ||
"rollup": "^2.52.2", | ||
"rollup-plugin-terser": "^7.0.2" | ||
"@babel/core": "^7.20.12", | ||
"@babel/preset-env": "^7.20.2", | ||
"@rollup/plugin-babel": "^6.0.3", | ||
"@rollup/plugin-commonjs": "^24.0.1", | ||
"@rollup/plugin-node-resolve": "^15.0.1", | ||
"@rollup/plugin-terser": "^0.4.0", | ||
"rimraf": "^4.1.2", | ||
"rollup": "^3.14.0" | ||
}, | ||
"engines": { | ||
"node": ">=12" | ||
} | ||
} |
@@ -22,7 +22,3 @@ d3-zoomable | ||
``` | ||
or | ||
```js | ||
const zoomable = require('d3-zoomable'); | ||
``` | ||
or even | ||
or using a *script* tag | ||
```html | ||
@@ -29,0 +25,0 @@ <script src="//unpkg.com/d3-zoomable"></script> |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
465230
8
Yes
7
3733
57
Updatedkapsule@^1.14