| 6 | `)}function u(f){return f.map(l).join(` |
| 7 | `)}function l(f){return f.map(c).join(e)}function c(f){return f==null?"":f instanceof Date?_Z(f):t.test(f+="")?'"'+f.replace(/"/g,'""')+'"':f}return{parse:r,parseRows:i,format:s,formatBody:a,formatRows:u,formatRow:l,formatValue:c}}function v2(e){return e}function qx(e){if(e==null)return v2;var t,n,r=e.scale[0],i=e.scale[1],o=e.translate[0],s=e.translate[1];return function(a,u){u||(t=n=0);var l=2,c=a.length,f=new Array(c);for(f[0]=(t+=a[0])*r+o,f[1]=(n+=a[1])*i+s;l<c;)f[l]=a[l],++l;return f}}function f3(e,t){for(var n,r=e.length,i=r-t;i<--r;)n=e[i],e[i++]=e[r],e[r]=n}function E2(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return d3(e,n)})}:d3(e,t)}function d3(e,t){var n=t.id,r=t.bbox,i=t.properties==null?{}:t.properties,o=Gx(e,t);return n==null&&r==null?{type:"Feature",properties:i,geometry:o}:r==null?{type:"Feature",id:n,properties:i,geometry:o}:{type:"Feature",id:n,bbox:r,properties:i,geometry:o}}function Gx(e,t){var n=qx(e.transform),r=e.arcs;function i(c,f){f.length&&f.pop();for(var d=r[c<0?~c:c],p=0,m=d.length;p<m;++p)f.push(n(d[p],p));c<0&&f3(f,m)}function o(c){return n(c)}function s(c){for(var f=[],d=0,p=c.length;d<p;++d)i(c[d],f);return f.length<2&&f.push(f[0]),f}function a(c){for(var f=s(c);f.length<4;)f.push(f[0]);return f}function u(c){return c.map(a)}function l(c){var f=c.type,d;switch(f){case"GeometryCollection":return{type:f,geometries:c.geometries.map(l)};case"Point":d=o(c.coordinates);break;case"MultiPoint":d=c.coordinates.map(o);break;case"LineString":d=s(c.arcs);break;case"MultiLineString":d=c.arcs.map(s);break;case"Polygon":d=u(c.arcs);break;case"MultiPolygon":d=c.arcs.map(u);break;default:return null}return{type:f,coordinates:d}}return l(t)}function w2(e,t){var n={},r={},i={},o=[],s=-1;t.forEach(function(l,c){var f=e.arcs[l<0?~l:l],d;f.length<3&&!f[1][0]&&!f[1][1]&&(d=t[++s],t[s]=l,t[c]=d)}),t.forEach(function(l){var c=a(l),f=c[0],d=c[1],p,m;if(p=i[f])if(delete i[p.end],p.push(l),p.end=d,m=r[d]){delete r[m.start];var h=m===p?p:p.concat(m);r[h.start=p.start]=i[h.end=m.end]=h}else r[p.start]=i[p.end]=p;else if(p=r[d])if(delete r[p.start],p.unshift(l),p.start=f,m=i[f]){delete i[m.end];var g=m===p?p:m.concat(p);r[g.start=m.start]=i[g.end=p.end]=g}else r[p.start]=i[p.end]=p;else p=[l],r[p.start=f]=i[p.end=d]=p});function a(l){var c=e.arcs[l<0?~l:l],f=c[0],d;return e.transform?(d=[0,0],c.forEach(function(p){d[0]+=p[0],d[1]+=p[1]})):d=c[c.length-1],l<0?[d,f]:[f,d]}function u(l,c){for(var f in l){var d=l[f];delete c[d.start],delete d.start,delete d.end,d.forEach(function(p){n[p<0?~p:p]=1}),o.push(d)}}return u(i,r),u(r,i),t.forEach(function(l){n[l<0?~l:l]||o.push([l])}),o}function S2(e){return Gx(e,p3.apply(this,arguments))}function p3(e,t,n){var r,i,o;if(arguments.length>1)r=CZ(e,t,n);else for(i=0,r=new Array(o=e.arcs.length);i<o;++i)r[i]=i;return{type:"MultiLineString",arcs:w2(e,r)}}function CZ(e,t,n){var r=[],i=[],o;function s(f){var d=f<0?~f:f;(i[d]||(i[d]=[])).push({i:f,g:o})}function a(f){f.forEach(s)}function u(f){f.forEach(a)}function l(f){f.forEach(u)}function c(f){switch(o=f,f.type){case"GeometryCollection":f.geometries.forEach(c);break;case"LineString":a(f.arcs);break;case"MultiLineString":case"Polygon":u(f.arcs);break;case"MultiPolygon":l(f.arcs);break}}return c(t),i.forEach(n==null?function(f){r.push(f[0].i)}:function(f){n(f[0].g,f[f.length-1].g)&&r.push(f[0].i)}),r}function or(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function A2(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function ki(e){let t,n,r;e.length!==2?(t=or,n=(a,u)=>or(e(a),u),r=(a,u)=>e(a)-u):(t=e===or||e===A2?e:TZ,n=e,r=e);function i(a,u,l=0,c=a.length){if(l<c){if(t(u,u)!==0)return c;do{let f=l+c>>>1;n(a[f],u)<0?l=f+1:c=f}while(l<c)}return l}function o(a,u,l=0,c=a.length){if(l<c){if(t(u,u)!==0)return c;do{let f=l+c>>>1;n(a[f],u)<=0?l=f+1:c=f}while(l<c)}return l}function s(a,u,l=0,c=a.length){let f=i(a,u,l,c-1);return f>l&&r(a[f-1],u)>-r(a[f],u)?f-1:f}return{left:i,center:s,right:o}}function TZ(){return 0}function yh(e){return e===null?NaN:+e}function*m3(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var h3=ki(or),tc=h3.right,_2=h3.left,RZ=ki(yh).center,No=tc;function C2(e,t){let n=0,r,i=0,o=0;if(t===void 0)for(let s of e)s!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i));else{let s=-1;for(let a of e)(a=t(a,++s,e))!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i))}if(n>1)return o/(n-1)}function jx(e,t){let n=C2(e,t);return n&&Math.sqrt(n)}var Ct=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){let n=this._partials,r=0;for(let i=0;i<this._n&&i<32;i++){let o=n[i],s=t+o,a=Math.abs(t)<Math.abs(o)?t-(s-o):o-(s-t);a&&(n[r++]=a),t=s}return n[r]=t,this._n=r+1,this}valueOf(){let t=this._partials,n=this._n,r,i,o,s=0;if(n>0){for(s=t[--n];n>0&&(r=s,i=t[--n],s=r+i,o=i-(s-r),!o););n>0&&(o<0&&t[n-1]<0||o>0&&t[n-1]>0)&&(i=o*2,r=s+i,i==r-s&&(s=r))}return s}};var rd=class extends Map{constructor(t,n=x3){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let[r,i]of t)this.set(r,i)}get(t){return super.get(k2(this,t))}has(t){return super.has(k2(this,t))}set(t,n){return super.set(g3(this,t),n)}delete(t){return super.delete(y3(this,t))}},Da=class extends Set{constructor(t,n=x3){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let r of t)this.add(r)}has(t){return super.has(k2(this,t))}add(t){return super.add(g3(this,t))}delete(t){return super.delete(y3(this,t))}};function k2({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function g3({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function y3({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function x3(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Wx(e,t){return Array.from(t,n=>e[n])}function b3(e=or){if(e===or)return F2;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function F2(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}var DZ=Math.sqrt(50),MZ=Math.sqrt(10),IZ=Math.sqrt(2);function Vx(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=DZ?10:o>=MZ?5:o>=IZ?2:1,a,u,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(e*l),u=Math.round(t*l),a/l<e&&++a,u/l>t&&--u,l=-l):(l=Math.pow(10,i)*s,a=Math.round(e/l),u=Math.round(t/l),a*l<e&&++a,u*l>t&&--u),u<a&&.5<=n&&n<2?Vx(e,t,n*2):[a,u,l]}function nc(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,o,s]=r?Vx(t,e,n):Vx(e,t,n);if(!(o>=i))return[];let a=o-i+1,u=new Array(a);if(r)if(s<0)for(let l=0;l<a;++l)u[l]=(o-l)/-s;else for(let l=0;l<a;++l)u[l]=(o-l)*s;else if(s<0)for(let l=0;l<a;++l)u[l]=(i+l)/-s;else for(let l=0;l<a;++l)u[l]=(i+l)*s;return u}function xh(e,t,n){return t=+t,e=+e,n=+n,Vx(e,t,n)[2]}function Dr(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?xh(t,e,n):xh(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function Ji(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function rc(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Yx(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?F2:b3(i);r>n;){if(r-n>600){let u=r-n+1,l=t-n+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1),p=Math.max(n,Math.floor(t-l*f/u+d)),m=Math.min(r,Math.floor(t+(u-l)*f/u+d));Yx(e,t,p,m,i)}let o=e[t],s=n,a=r;for(bh(e,n,t),i(e[r],o)>0&&bh(e,n,r);s<a;){for(bh(e,s,a),++s,--a;i(e[s],o)<0;)++s;for(;i(e[a],o)>0;)--a}i(e[n],o)===0?bh(e,n,a):(++a,bh(e,a,r)),a<=t&&(n=a+1),t<=a&&(r=a-1)}return e}function bh(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function ic(e,t,n){if(e=Float64Array.from(m3(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return rc(e);if(t>=1)return Ji(e);var r,i=(r-1)*t,o=Math.floor(i),s=Ji(Yx(e,o).subarray(0,o+1)),a=rc(e.subarray(o+1));return s+(a-s)*(i-o)}}function vh(e,t,n=yh){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),s=+n(e[o],o,e),a=+n(e[o+1],o+1,e);return s+(a-s)*(i-o)}}function Xx(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function id(e,t){return ic(e,.5,t)}function*OZ(e){for(let t of e)yield*t}function od(e){return Array.from(OZ(e))}function Yt(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r<i;)o[r]=e+r*n;return o}function sd(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Kx(e,...t){e=new Da(e),t=t.map(PZ);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e}function PZ(e){return e instanceof Da?e:new Da(e)}function Qx(...e){let t=new Da;for(let n of e)for(let r of n)t.add(r);return t}function v3(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function oc(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Ns(e){return e=oc(Math.abs(e)),e?e[1]:NaN}function E3(e,t){return function(n,r){for(var i=n.length,o=[],s=0,a=e[0],u=0;i>0&&a>0&&(u+a+1>r&&(a=Math.max(1,r-u)),o.push(n.substring(i-=a,i+a)),!((u+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(t)}}function w3(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var $Z=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Fi(e){if(!(t=$Z.exec(e)))throw new Error("invalid format: "+e);var t;return new Jx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Fi.prototype=Jx.prototype;function Jx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Jx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function S3(e){e:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var T2;function A3(e,t){var n=oc(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(T2=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+oc(e,Math.max(0,t+o-1))[0]}function R2(e,t){var n=oc(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}var D2={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:v3,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>R2(e*100,t),r:R2,s:A3,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function M2(e){return e}var _3=Array.prototype.map,C3=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Eh(e){var t=e.grouping===void 0||e.thousands===void 0?M2:E3(_3.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?M2:w3(_3.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"\u2212":e.minus+"",u=e.nan===void 0?"NaN":e.nan+"";function l(f){f=Fi(f);var d=f.fill,p=f.align,m=f.sign,h=f.symbol,g=f.zero,y=f.width,x=f.comma,b=f.precision,v=f.trim,E=f.type;E==="n"?(x=!0,E="g"):D2[E]||(b===void 0&&(b=12),v=!0,E="g"),(g||d==="0"&&p==="=")&&(g=!0,d="0",p="=");var S=h==="$"?n:h==="#"&&/[boxX]/.test(E)?"0"+E.toLowerCase():"",w=h==="$"?r:/[%p]/.test(E)?s:"",A=D2[E],C=/[defgprs%]/.test(E);b=b===void 0?6:/[gprs]/.test(E)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function _(F){var I=S,M=w,R,k,D;if(E==="c")M=A(F)+M,F="";else{F=+F;var T=F<0||1/F<0;if(F=isNaN(F)?u:A(Math.abs(F),b),v&&(F=S3(F)),T&&+F==0&&m!=="+"&&(T=!1),I=(T?m==="("?m:a:m==="-"||m==="("?"":m)+I,M=(E==="s"?C3[8+T2/3]:"")+M+(T&&m==="("?")":""),C){for(R=-1,k=F.length;++R<k;)if(D=F.charCodeAt(R),48>D||D>57){M=(D===46?i+F.slice(R+1):F.slice(R))+M,F=F.slice(0,R);break}}}x&&!g&&(F=t(F,1/0));var $=I.length+F.length+M.length,N=$<y?new Array(y-$+1).join(d):"";switch(x&&g&&(F=t(N+F,N.length?y-M.length:1/0),N=""),p){case"<":F=I+F+M+N;break;case"=":F=I+N+F+M;break;case"^":F=N.slice(0,$=N.length>>1)+I+F+M+N.slice($);break;default:F=N+I+F+M;break}return o(F)}return _.toString=function(){return f+""},_}function c(f,d){var p=l((f=Fi(f),f.type="f",f)),m=Math.max(-8,Math.min(8,Math.floor(Ns(d)/3)))*3,h=Math.pow(10,-m),g=C3[8+m/3];return function(y){return p(h*y)+g}}return{format:l,formatPrefix:c}}var Zx,Nu,ad;I2({thousands:",",grouping:[3],currency:["$",""]});function I2(e){return Zx=Eh(e),Nu=Zx.format,ad=Zx.formatPrefix,Zx}function wh(e){return Math.max(0,-Ns(Math.abs(e)))}function Sh(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ns(t)/3)))*3-Ns(Math.abs(e)))}function Ah(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ns(t)-Ns(e))+1}var N2=new Date,O2=new Date;function pt(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let u=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return u;let l;do u.push(l=new Date(+o)),t(o,a),e(o);while(l<o&&o<s);return u},i.filter=o=>pt(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;t(s,-1),!o(s););else for(;--a>=0;)for(;t(s,1),!o(s););}),n&&(i.count=(o,s)=>(N2.setTime(+o),O2.setTime(+s),e(N2),e(O2),Math.floor(n(N2,O2))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?s=>r(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Oo=pt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Oo.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?pt(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Oo);var k3=Oo.range;var sr=pt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),F3=sr.range;var Ou=pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),LZ=Ou.range,Pu=pt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),BZ=Pu.range;var $u=pt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),UZ=$u.range,Lu=pt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),zZ=Lu.range;var ii=pt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),HZ=ii.range,Zi=pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),qZ=Zi.range,e1=pt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),GZ=e1.range;function uc(e){return pt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var eo=uc(0),ud=uc(1),R3=uc(2),D3=uc(3),Bu=uc(4),M3=uc(5),I3=uc(6),N3=eo.range,jZ=ud.range,WZ=R3.range,VZ=D3.range,YZ=Bu.range,XZ=M3.range,KZ=I3.range;function lc(e){return pt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/6048e5)}var to=lc(0),ld=lc(1),O3=lc(2),P3=lc(3),Uu=lc(4),$3=lc(5),L3=lc(6),B3=to.range,QZ=ld.range,JZ=O3.range,ZZ=P3.range,eee=Uu.range,tee=$3.range,nee=L3.range;var Ma=pt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),ree=Ma.range,Ia=pt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),iee=Ia.range;var Mr=pt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Mr.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:pt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});var oee=Mr.range,Ir=pt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Ir.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:pt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});var see=Ir.range;function z3(e,t,n,r,i,o){let s=[[sr,1,1e3],[sr,5,5*1e3],[sr,15,15*1e3],[sr,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function a(l,c,f){let d=c<l;d&&([l,c]=[c,l]);let p=f&&typeof f.range=="function"?f:u(l,c,f),m=p?p.range(l,+c+1):[];return d?m.reverse():m}function u(l,c,f){let d=Math.abs(c-l)/f,p=ki(([,,g])=>g).right(s,d);if(p===s.length)return e.every(Dr(l/31536e6,c/31536e6,f));if(p===0)return Oo.every(Math.max(Dr(l,c,f),1));let[m,h]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(h)}return[a,u]}var[P2,$2]=z3(Ir,Ia,to,e1,Lu,Pu),[L2,B2]=z3(Mr,Ma,eo,ii,$u,Ou);var Sn="year",Nr="quarter",Bn="month",tn="week",Or="date",Ln="day",Ps="dayofyear",oi="hours",si="minutes",Ti="seconds",no="milliseconds",t1=[Sn,Nr,Bn,tn,Or,Ln,Ps,oi,si,Ti,no],U2=t1.reduce((e,t,n)=>(e[t]=1+n,e),{});function n1(e){let t=Z(e).slice(),n={};return t.length||U("Missing time unit."),t.forEach(i=>{ne(U2,i)?n[i]=1:U(`Invalid time unit: ${i}.`)}),(n[tn]||n[Ln]?1:0)+(n[Nr]||n[Bn]||n[Or]?1:0)+(n[Ps]?1:0)>1&&U(`Incompatible time units: ${e}`),t.sort((i,o)=>U2[i]-U2[o]),t}var uee={[Sn]:"%Y ",[Nr]:"Q%q ",[Bn]:"%b ",[Or]:"%d ",[tn]:"W%U ",[Ln]:"%a ",[Ps]:"%j ",[oi]:"%H:00",[si]:"00:%M",[Ti]:":%S",[no]:".%L",[`${Sn}-${Bn}`]:"%Y-%m ",[`${Sn}-${Bn}-${Or}`]:"%Y-%m-%d ",[`${oi}-${si}`]:"%H:%M"};function W2(e,t){let n=Se({},uee,t),r=n1(e),i=r.length,o="",s=0,a,u;for(s=0;s<i;)for(a=r.length;a>s;--a)if(u=r.slice(s,a).join("-"),n[u]!=null){o+=n[u],s=a;break}return o.trim()}var cc=new Date;function V2(e){return cc.setFullYear(e),cc.setMonth(0),cc.setDate(1),cc.setHours(0,0,0,0),cc}function Y2(e){return G3(new Date(e))}function X2(e){return z2(new Date(e))}function G3(e){return ii.count(V2(e.getFullYear())-1,e)}function z2(e){return eo.count(V2(e.getFullYear())-1,e)}function H2(e){return V2(e).getDay()}function lee(e,t,n,r,i,o,s){if(0<=e&&e<100){let a=new Date(-1,t,n,r,i,o,s);return a.setFullYear(e),a}return new Date(e,t,n,r,i,o,s)}function K2(e){return j3(new Date(e))}function Q2(e){return q2(new Date(e))}function j3(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return Zi.count(t-1,e)}function q2(e){let t=Date.UTC(e.getUTCFullYear(),0,1);return to.count(t-1,e)}function G2(e){return cc.setTime(Date.UTC(e,0,1)),cc.getUTCDay()}function cee(e,t,n,r,i,o,s){if(0<=e&&e<100){let a=new Date(Date.UTC(-1,t,n,r,i,o,s));return a.setUTCFullYear(n.y),a}return new Date(Date.UTC(e,t,n,r,i,o,s))}function W3(e,t,n,r,i){let o=t||1,s=De(e),a=(y,x,b)=>(b=b||y,fee(n[b],r[b],y===s&&o,x)),u=new Date,l=en(e),c=l[Sn]?a(Sn):_t(2012),f=l[Bn]?a(Bn):l[Nr]?a(Nr):Mo,d=l[tn]&&l[Ln]?a(Ln,1,tn+Ln):l[tn]?a(tn,1):l[Ln]?a(Ln,1):l[Or]?a(Or,1):l[Ps]?a(Ps,1):Ms,p=l[oi]?a(oi):Mo,m=l[si]?a(si):Mo,h=l[Ti]?a(Ti):Mo,g=l[no]?a(no):Mo;return function(y){u.setTime(+y);let x=c(u);return i(x,f(u),d(u,x),p(u),m(u),h(u),g(u))}}function fee(e,t,n,r){let i=n<=1?e:r?(o,s)=>r+n*Math.floor((e(o,s)-r)/n):(o,s)=>n*Math.floor(e(o,s)/n);return t?(o,s)=>t(i(o,s),s):i}function cd(e,t,n){return t+e*7-(n+6)%7}var dee={[Sn]:e=>e.getFullYear(),[Nr]:e=>Math.floor(e.getMonth()/3),[Bn]:e=>e.getMonth(),[Or]:e=>e.getDate(),[oi]:e=>e.getHours(),[si]:e=>e.getMinutes(),[Ti]:e=>e.getSeconds(),[no]:e=>e.getMilliseconds(),[Ps]:e=>G3(e),[tn]:e=>z2(e),[tn+Ln]:(e,t)=>cd(z2(e),e.getDay(),H2(t)),[Ln]:(e,t)=>cd(1,e.getDay(),H2(t))},pee={[Nr]:e=>3*e,[tn]:(e,t)=>cd(e,0,H2(t))};function J2(e,t){return W3(e,t||1,dee,pee,lee)}var mee={[Sn]:e=>e.getUTCFullYear(),[Nr]:e=>Math.floor(e.getUTCMonth()/3),[Bn]:e=>e.getUTCMonth(),[Or]:e=>e.getUTCDate(),[oi]:e=>e.getUTCHours(),[si]:e=>e.getUTCMinutes(),[Ti]:e=>e.getUTCSeconds(),[no]:e=>e.getUTCMilliseconds(),[Ps]:e=>j3(e),[tn]:e=>q2(e),[Ln]:(e,t)=>cd(1,e.getUTCDay(),G2(t)),[tn+Ln]:(e,t)=>cd(q2(e),e.getUTCDay(),G2(t))},hee={[Nr]:e=>3*e,[tn]:(e,t)=>cd(e,0,G2(t))};function Z2(e,t){return W3(e,t||1,mee,hee,cee)}var gee={[Sn]:Mr,[Nr]:Ma.every(3),[Bn]:Ma,[tn]:eo,[Or]:ii,[Ln]:ii,[Ps]:ii,[oi]:$u,[si]:Ou,[Ti]:sr,[no]:Oo},yee={[Sn]:Ir,[Nr]:Ia.every(3),[Bn]:Ia,[tn]:to,[Or]:Zi,[Ln]:Zi,[Ps]:Zi,[oi]:Lu,[si]:Pu,[Ti]:sr,[no]:Oo};function Na(e){return gee[e]}function Oa(e){return yee[e]}function V3(e,t,n){return e?e.offset(t,n):void 0}function eC(e,t,n){return V3(Na(e),t,n)}function tC(e,t,n){return V3(Oa(e),t,n)}function Y3(e,t,n,r){return e?e.range(t,n,r):void 0}function nC(e,t,n,r){return Y3(Na(e),t,n,r)}function rC(e,t,n,r){return Y3(Oa(e),t,n,r)}var kh=1e3,Fh=kh*60,Th=Fh*60,r1=Th*24,xee=r1*7,H3=r1*30,j2=r1*365,X3=[Sn,Bn,Or,oi,si,Ti,no],Rh=X3.slice(0,-1),Dh=Rh.slice(0,-1),Mh=Dh.slice(0,-1),bee=Mh.slice(0,-1),vee=[Sn,tn],q3=[Sn,Bn],K3=[Sn],Ch=[[Rh,1,kh],[Rh,5,5*kh],[Rh,15,15*kh],[Rh,30,30*kh],[Dh,1,Fh],[Dh,5,5*Fh],[Dh,15,15*Fh],[Dh,30,30*Fh],[Mh,1,Th],[Mh,3,3*Th],[Mh,6,6*Th],[Mh,12,12*Th],[bee,1,r1],[vee,1,xee],[q3,1,H3],[q3,3,3*H3],[K3,1,j2]];function iC(e){let t=e.extent,n=e.maxbins||40,r=Math.abs(Ta(t))/n,i=ki(a=>a[2]).right(Ch,r),o,s;return i===Ch.length?(o=K3,s=Dr(t[0]/j2,t[1]/j2,n)):i?(i=Ch[r/Ch[i-1][2]<Ch[i][2]/r?i-1:i],o=i[0],s=i[1]):(o=X3,s=Math.max(Dr(t[0],t[1],n),1)),{units:o,step:s}}function oC(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function sC(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Ih(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function fd(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,s=e.shortDays,a=e.months,u=e.shortMonths,l=Nh(i),c=Oh(i),f=Nh(o),d=Oh(o),p=Nh(s),m=Oh(s),h=Nh(a),g=Oh(a),y=Nh(u),x=Oh(u),b={a:T,A:$,b:N,B:H,c:null,d:nL,e:nL,f:qee,g:Zee,G:tte,H:Uee,I:zee,j:Hee,L:aL,m:Gee,M:jee,p:le,q:de,Q:oL,s:sL,S:Wee,u:Vee,U:Yee,V:Xee,w:Kee,W:Qee,x:null,X:null,y:Jee,Y:ete,Z:nte,"%":iL},v={a:Ae,A:Be,b:_e,B:Dt,c:null,d:rL,e:rL,f:ste,g:gte,G:xte,H:rte,I:ite,j:ote,L:lL,m:ate,M:ute,p:Oe,q:tt,Q:oL,s:sL,S:lte,u:cte,U:fte,V:dte,w:pte,W:mte,x:null,X:null,y:hte,Y:yte,Z:bte,"%":iL},E={a:_,A:F,b:I,B:M,c:R,d:eL,e:eL,f:Pee,g:Z3,G:J3,H:tL,I:tL,j:Mee,L:Oee,m:Dee,M:Iee,p:C,q:Ree,Q:Lee,s:Bee,S:Nee,u:_ee,U:Cee,V:kee,w:Aee,W:Fee,x:k,X:D,y:Z3,Y:J3,Z:Tee,"%":$ee};b.x=S(n,b),b.X=S(r,b),b.c=S(t,b),v.x=S(n,v),v.X=S(r,v),v.c=S(t,v);function S(oe,ce){return function(pe){var X=[],fn=-1,it=0,nr=oe.length,vn,Ts,Dx;for(pe instanceof Date||(pe=new Date(+pe));++fn<nr;)oe.charCodeAt(fn)===37&&(X.push(oe.slice(it,fn)),(Ts=Q3[vn=oe.charAt(++fn)])!=null?vn=oe.charAt(++fn):Ts=vn==="e"?" ":"0",(Dx=ce[vn])&&(vn=Dx(pe,Ts)),X.push(vn),it=fn+1);return X.push(oe.slice(it,fn)),X.join("")}}function w(oe,ce){return function(pe){var X=Ih(1900,void 0,1),fn=A(X,oe,pe+="",0),it,nr;if(fn!=pe.length)return null;if("Q"in X)return new Date(X.Q);if("s"in X)return new Date(X.s*1e3+("L"in X?X.L:0));if(ce&&!("Z"in X)&&(X.Z=0),"p"in X&&(X.H=X.H%12+X.p*12),X.m===void 0&&(X.m="q"in X?X.q:0),"V"in X){if(X.V<1||X.V>53)return null;"w"in X||(X.w=1),"Z"in X?(it=sC(Ih(X.y,0,1)),nr=it.getUTCDay(),it=nr>4||nr===0?ld.ceil(it):ld(it),it=Zi.offset(it,(X.V-1)*7),X.y=it.getUTCFullYear(),X.m=it.getUTCMonth(),X.d=it.getUTCDate()+(X.w+6)%7):(it=oC(Ih(X.y,0,1)),nr=it.getDay(),it=nr>4||nr===0?ud.ceil(it):ud(it),it=ii.offset(it,(X.V-1)*7),X.y=it.getFullYear(),X.m=it.getMonth(),X.d=it.getDate()+(X.w+6)%7)}else("W"in X||"U"in X)&&("w"in X||(X.w="u"in X?X.u%7:"W"in X?1:0),nr="Z"in X?sC(Ih(X.y,0,1)).getUTCDay():oC(Ih(X.y,0,1)).getDay(),X.m=0,X.d="W"in X?(X.w+6)%7+X.W*7-(nr+5)%7:X.w+X.U*7-(nr+6)%7);return"Z"in X?(X.H+=X.Z/100|0,X.M+=X.Z%100,sC(X)):oC(X)}}function A(oe,ce,pe,X){for(var fn=0,it=ce.length,nr=pe.length,vn,Ts;fn<it;){if(X>=nr)return-1;if(vn=ce.charCodeAt(fn++),vn===37){if(vn=ce.charAt(fn++),Ts=E[vn in Q3?ce.charAt(fn++):vn],!Ts||(X=Ts(oe,pe,X))<0)return-1}else if(vn!=pe.charCodeAt(X++))return-1}return X}function C(oe,ce,pe){var X=l.exec(ce.slice(pe));return X?(oe.p=c.get(X[0].toLowerCase()),pe+X[0].length):-1}function _(oe,ce,pe){var X=p.exec(ce.slice(pe));return X?(oe.w=m.get(X[0].toLowerCase()),pe+X[0].length):-1}function F(oe,ce,pe){var X=f.exec(ce.slice(pe));return X?(oe.w=d.get(X[0].toLowerCase()),pe+X[0].length):-1}function I(oe,ce,pe){var X=y.exec(ce.slice(pe));return X?(oe.m=x.get(X[0].toLowerCase()),pe+X[0].length):-1}function M(oe,ce,pe){var X=h.exec(ce.slice(pe));return X?(oe.m=g.get(X[0].toLowerCase()),pe+X[0].length):-1}function R(oe,ce,pe){return A(oe,t,ce,pe)}function k(oe,ce,pe){return A(oe,n,ce,pe)}function D(oe,ce,pe){return A(oe,r,ce,pe)}function T(oe){return s[oe.getDay()]}function $(oe){return o[oe.getDay()]}function N(oe){return u[oe.getMonth()]}function H(oe){return a[oe.getMonth()]}function le(oe){return i[+(oe.getHours()>=12)]}function de(oe){return 1+~~(oe.getMonth()/3)}function Ae(oe){return s[oe.getUTCDay()]}function Be(oe){return o[oe.getUTCDay()]}function _e(oe){return u[oe.getUTCMonth()]}function Dt(oe){return a[oe.getUTCMonth()]}function Oe(oe){return i[+(oe.getUTCHours()>=12)]}function tt(oe){return 1+~~(oe.getUTCMonth()/3)}return{format:function(oe){var ce=S(oe+="",b);return ce.toString=function(){return oe},ce},parse:function(oe){var ce=w(oe+="",!1);return ce.toString=function(){return oe},ce},utcFormat:function(oe){var ce=S(oe+="",v);return ce.toString=function(){return oe},ce},utcParse:function(oe){var ce=w(oe+="",!0);return ce.toString=function(){return oe},ce}}}var Q3={"-":"",_:" ",0:"0"},An=/^\s*\d+/,Eee=/^%/,wee=/[\\^$*+?|[\]().{}]/g;function Qe(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function See(e){return e.replace(wee,"\\$&")}function Nh(e){return new RegExp("^(?:"+e.map(See).join("|")+")","i")}function Oh(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function Aee(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function _ee(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Cee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function kee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Fee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function J3(e,t,n){var r=An.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Z3(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Tee(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Ree(e,t,n){var r=An.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Dee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function eL(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Mee(e,t,n){var r=An.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function tL(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Iee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Nee(e,t,n){var r=An.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Oee(e,t,n){var r=An.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Pee(e,t,n){var r=An.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function $ee(e,t,n){var r=Eee.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Lee(e,t,n){var r=An.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Bee(e,t,n){var r=An.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function nL(e,t){return Qe(e.getDate(),t,2)}function Uee(e,t){return Qe(e.getHours(),t,2)}function zee(e,t){return Qe(e.getHours()%12||12,t,2)}function Hee(e,t){return Qe(1+ii.count(Mr(e),e),t,3)}function aL(e,t){return Qe(e.getMilliseconds(),t,3)}function qee(e,t){return aL(e,t)+"000"}function Gee(e,t){return Qe(e.getMonth()+1,t,2)}function jee(e,t){return Qe(e.getMinutes(),t,2)}function Wee(e,t){return Qe(e.getSeconds(),t,2)}function Vee(e){var t=e.getDay();return t===0?7:t}function Yee(e,t){return Qe(eo.count(Mr(e)-1,e),t,2)}function uL(e){var t=e.getDay();return t>=4||t===0?Bu(e):Bu.ceil(e)}function Xee(e,t){return e=uL(e),Qe(Bu.count(Mr(e),e)+(Mr(e).getDay()===4),t,2)}function Kee(e){return e.getDay()}function Qee(e,t){return Qe(ud.count(Mr(e)-1,e),t,2)}function Jee(e,t){return Qe(e.getFullYear()%100,t,2)}function Zee(e,t){return e=uL(e),Qe(e.getFullYear()%100,t,2)}function ete(e,t){return Qe(e.getFullYear()%1e4,t,4)}function tte(e,t){var n=e.getDay();return e=n>=4||n===0?Bu(e):Bu.ceil(e),Qe(e.getFullYear()%1e4,t,4)}function nte(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Qe(t/60|0,"0",2)+Qe(t%60,"0",2)}function rL(e,t){return Qe(e.getUTCDate(),t,2)}function rte(e,t){return Qe(e.getUTCHours(),t,2)}function ite(e,t){return Qe(e.getUTCHours()%12||12,t,2)}function ote(e,t){return Qe(1+Zi.count(Ir(e),e),t,3)}function lL(e,t){return Qe(e.getUTCMilliseconds(),t,3)}function ste(e,t){return lL(e,t)+"000"}function ate(e,t){return Qe(e.getUTCMonth()+1,t,2)}function ute(e,t){return Qe(e.getUTCMinutes(),t,2)}function lte(e,t){return Qe(e.getUTCSeconds(),t,2)}function cte(e){var t=e.getUTCDay();return t===0?7:t}function fte(e,t){return Qe(to.count(Ir(e)-1,e),t,2)}function cL(e){var t=e.getUTCDay();return t>=4||t===0?Uu(e):Uu.ceil(e)}function dte(e,t){return e=cL(e),Qe(Uu.count(Ir(e),e)+(Ir(e).getUTCDay()===4),t,2)}function pte(e){return e.getUTCDay()}function mte(e,t){return Qe(ld.count(Ir(e)-1,e),t,2)}function hte(e,t){return Qe(e.getUTCFullYear()%100,t,2)}function gte(e,t){return e=cL(e),Qe(e.getUTCFullYear()%100,t,2)}function yte(e,t){return Qe(e.getUTCFullYear()%1e4,t,4)}function xte(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Uu(e):Uu.ceil(e),Qe(e.getUTCFullYear()%1e4,t,4)}function bte(){return"+0000"}function iL(){return"%"}function oL(e){return+e}function sL(e){return Math.floor(+e/1e3)}var dd,pd,i1,md,o1;aC({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function aC(e){return dd=fd(e),pd=dd.format,i1=dd.parse,md=dd.utcFormat,o1=dd.utcParse,dd}function Ph(e){let t={};return n=>t[n]||(t[n]=e(n))}function vte(e,t){return n=>{let r=e(n),i=r.indexOf(t);if(i<0)return r;let o=Ete(r,i),s=o<r.length?r.slice(o):"";for(;--o>i;)if(r[o]!=="0"){++o;break}return r.slice(0,o)+s}}function Ete(e,t){let n=e.lastIndexOf("e"),r;if(n>0)return n;for(n=e.length;--n>t;)if(r=e.charCodeAt(n),r>=48&&r<=57)return n+1}function dL(e){let t=Ph(e.format),n=e.formatPrefix;return{format:t,formatPrefix:n,formatFloat(r){let i=Fi(r||",");if(i.precision==null){switch(i.precision=12,i.type){case"%":i.precision-=2;break;case"e":i.precision-=1;break}return vte(t(i),t(".1f")(1)[1])}else return t(i)},formatSpan(r,i,o,s){s=Fi(s??",f");let a=Dr(r,i,o),u=Math.max(Math.abs(r),Math.abs(i)),l;if(s.precision==null)switch(s.type){case"s":return isNaN(l=Sh(a,u))||(s.precision=l),n(s,u);case"":case"e":case"g":case"p":case"r":{isNaN(l=Ah(a,u))||(s.precision=l-(s.type==="e"));break}case"f":case"%":{isNaN(l=wh(a))||(s.precision=l-(s.type==="%")*2);break}}return t(s)}}}var uC;pL();function pL(){return uC=dL({format:Nu,formatPrefix:ad})}function mL(e){return dL(Eh(e))}function $h(e){return arguments.length?uC=mL(e):uC}function fL(e,t,n){n=n||{},Q(n)||U(`Invalid time multi-format specifier: ${n}`);let r=t(Ti),i=t(si),o=t(oi),s=t(Or),a=t(tn),u=t(Bn),l=t(Nr),c=t(Sn),f=e(n[no]||".%L"),d=e(n[Ti]||":%S"),p=e(n[si]||"%I:%M"),m=e(n[oi]||"%I %p"),h=e(n[Or]||n[Ln]||"%a %d"),g=e(n[tn]||"%b %d"),y=e(n[Bn]||"%B"),x=e(n[Nr]||"%B"),b=e(n[Sn]||"%Y");return v=>(r(v)<v?f:i(v)<v?d:o(v)<v?p:s(v)<v?m:u(v)<v?a(v)<v?h:g:c(v)<v?l(v)<v?y:x:b)(v)}function hL(e){let t=Ph(e.format),n=Ph(e.utcFormat);return{timeFormat:r=>Y(r)?t(r):fL(t,Na,r),utcFormat:r=>Y(r)?n(r):fL(n,Oa,r),timeParse:Ph(e.parse),utcParse:Ph(e.utcParse)}}var lC;gL();function gL(){return lC=hL({format:pd,parse:i1,utcFormat:md,utcParse:o1})}function yL(e){return hL(fd(e))}function fc(e){return arguments.length?lC=yL(e):lC}var cC=(e,t)=>Se({},e,t);function s1(e,t){let n=e?mL(e):$h(),r=t?yL(t):fc();return cC(n,r)}function Lh(e,t){let n=arguments.length;return n&&n!==2&&U("defaultLocale expects either zero or two arguments."),n?cC($h(e),fc(t)):cC($h(),fc())}function xL(){return pL(),gL(),Lh()}var wte=/^(data:|([A-Za-z]+:)?\/\/)/,Ste=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,Ate=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,bL="file://";function _te(e,t){return n=>({options:n||{},sanitize:kte,load:Cte,fileAccess:!1,file:Fte(t),http:Rte(e)})}async function Cte(e,t){let n=await this.sanitize(e,t),r=n.href;return n.localFile?this.file(r):this.http(r,t)}async function kte(e,t){t=Se({},this.options,t);let n=this.fileAccess,r={href:null},i,o,s,a=Ste.test(e.replace(Ate,""));(e==null||typeof e!="string"||!a)&&U("Sanitize failure, invalid URI: "+K(e));let u=wte.test(e);return(s=t.baseURL)&&!u&&(!e.startsWith("/")&&!s.endsWith("/")&&(e="/"+e),e=s+e),o=(i=e.startsWith(bL))||t.mode==="file"||t.mode!=="http"&&!u&&n,i?e=e.slice(bL.length):e.startsWith("//")&&(t.defaultProtocol==="file"?(e=e.slice(2),o=!0):e=(t.defaultProtocol||"http")+":"+e),Object.defineProperty(r,"localFile",{value:!!o}),r.href=e,t.target&&(r.target=t.target+""),t.rel&&(r.rel=t.rel+""),t.context==="image"&&t.crossOrigin&&(r.crossOrigin=t.crossOrigin+""),r}function Fte(e){return e?t=>new Promise((n,r)=>{e.readFile(t,(i,o)=>{i?r(i):n(o)})}):Tte}async function Tte(){U("No file system access.")}function Rte(e){return e?async function(t,n){let r=Se({},this.options.http,n),i=n&&n.response,o=await e(t,r);return o.ok?we(o[i])?o[i]():o.text():U(o.status+""+o.statusText)}:Dte}async function Dte(){U("No HTTP fetch method available.")}var Mte=e=>e!=null&&e===e,Ite=e=>e==="true"||e==="false"||e===!0||e===!1,Nte=e=>!Number.isNaN(Date.parse(e)),EL=e=>!Number.isNaN(+e)&&!(e instanceof Date),Ote=e=>EL(e)&&Number.isInteger(+e),fC={boolean:ph,integer:Vt,number:Vt,date:mh,string:hh,unknown:$t},a1=[Ite,Ote,EL,Nte],Pte=["boolean","integer","number","date"];function wL(e,t){if(!e||!e.length)return"unknown";let n=e.length,r=a1.length,i=a1.map((o,s)=>s+1);for(let o=0,s=0,a,u;o<n;++o)for(u=t?e[o][t]:e[o],a=0;a<r;++a)if(i[a]&&Mte(u)&&!a1[a](u)&&(i[a]=0,++s,s===a1.length))return"string";return Pte[i.reduce((o,s)=>o===0?s:o,0)-1]}function SL(e,t){return t.reduce((n,r)=>(n[r]=wL(e,r),n),{})}function vL(e){let t=function(n,r){let i={delimiter:e};return dC(n,r?Se(r,i):i)};return t.responseType="text",t}function dC(e,t){return t.header&&(e=t.header.map(K).join(t.delimiter)+` |
| 8 | `+e),b2(t.delimiter).parse(e+"")}dC.responseType="text";function $te(e){return typeof Buffer=="function"&&we(Buffer.isBuffer)?Buffer.isBuffer(e):!1}function pC(e,t){let n=t&&t.property?wn(t.property):$t;return Q(e)&&!$te(e)?Lte(n(e),t):n(JSON.parse(e))}pC.responseType="json";function Lte(e,t){return!O(e)&&c2(e)&&(e=[...e]),t&&t.copy?JSON.parse(JSON.stringify(e)):e}var Bte={interior:(e,t)=>e!==t,exterior:(e,t)=>e===t};function AL(e,t){let n,r,i,o;return e=pC(e,t),t&&t.feature?(n=E2,i=t.feature):t&&t.mesh?(n=S2,i=t.mesh,o=Bte[t.filter]):U("Missing TopoJSON feature or mesh parameter."),r=(r=e.objects[i])?n(e,r,o):U("Invalid TopoJSON object: "+i),r&&r.features||[r]}AL.responseType="json";var u1={dsv:dC,csv:vL(","),tsv:vL(" "),json:pC,topojson:AL};function mC(e,t){return arguments.length>1?(u1[e]=t,this):ne(u1,e)?u1[e]:null}function hC(e){let t=mC(e);return t&&t.responseType||"text"}function gC(e,t,n,r){t=t||{};let i=mC(t.type||"json");return i||U("Unknown data format type: "+t.type),e=i(e,t),t.parse&&Ute(e,t.parse,n,r),ne(e,"columns")&&delete e.columns,e}function Ute(e,t,n,r){if(!e.length)return;let i=fc();n=n||i.timeParse,r=r||i.utcParse;let o=e.columns||Object.keys(e[0]),s,a,u,l,c,f;t==="auto"&&(t=SL(e,o)),o=Object.keys(t);let d=o.map(p=>{let m=t[p],h,g;if(m&&(m.startsWith("date:")||m.startsWith("utc:")))return h=m.split(/:(.+)?/,2),g=h[1],(g[0]==="'"&&g[g.length-1]==="'"||g[0]==='"'&&g[g.length-1]==='"')&&(g=g.slice(1,-1)),(h[0]==="utc"?r:n)(g);if(!fC[m])throw Error("Illegal format pattern: "+p+":"+m);return fC[m]});for(u=0,c=e.length,f=o.length;u<c;++u)for(s=e[u],l=0;l<f;++l)a=o[l],s[a]=d[l](s[a])}var hd=_te(typeof fetch<"u"&&fetch,null);function d1(e){let t=e||$t,n=[],r={};return n.add=i=>{let o=t(i);return r[o]||(r[o]=1,n.push(i)),n},n.remove=i=>{let o=t(i);if(r[o]){r[o]=0;let s=n.indexOf(i);s>=0&&n.splice(s,1)}return n},n}async function zh(e,t){try{await t(e)}catch(n){e.error(n)}}var DL=Symbol("vega_id"),zte=1;function dc(e){return!!(e&&ye(e))}function ye(e){return e[DL]}function ML(e,t){return e[DL]=t,e}function Ue(e){let t=e===Object(e)?e:{data:e};return ye(t)?t:ML(t,zte++)}function p1(e){return pc(e,Ue({}))}function pc(e,t){for(let n in e)t[n]=e[n];return t}function m1(e,t){return ML(t,ye(e))}function Ls(e,t){return e?t?(n,r)=>e(n,r)||ye(t(n))-ye(t(r)):(n,r)=>e(n,r)||ye(n)-ye(r):null}function xC(e){return e&&e.constructor===Ba}function Ba(){let e=[],t=[],n=[],r=[],i=[],o=null,s=!1;return{constructor:Ba,insert(a){let u=Z(a),l=u.length;for(let c=0;c<l;++c)e.push(u[c]);return this},remove(a){let u=we(a)?r:t,l=Z(a),c=l.length;for(let f=0;f<c;++f)u.push(l[f]);return this},modify(a,u,l){let c={field:u,value:_t(l)};return we(a)?(c.filter=a,i.push(c)):(c.tuple=a,n.push(c)),this},encode(a,u){return we(a)?i.push({filter:a,field:u}):n.push({tuple:a,field:u}),this},clean(a){return o=a,this},reflow(){return s=!0,this},pulse(a,u){let l={},c={},f,d,p,m,h,g;for(f=0,d=u.length;f<d;++f)l[ye(u[f])]=1;for(f=0,d=t.length;f<d;++f)h=t[f],l[ye(h)]=-1;for(f=0,d=r.length;f<d;++f)m=r[f],u.forEach(x=>{m(x)&&(l[ye(x)]=-1)});for(f=0,d=e.length;f<d;++f)h=e[f],g=ye(h),l[g]?l[g]=1:a.add.push(Ue(e[f]));for(f=0,d=u.length;f<d;++f)h=u[f],l[ye(h)]<0&&a.rem.push(h);function y(x,b,v){v?x[b]=v(x):a.encode=b,s||(c[ye(x)]=x)}for(f=0,d=n.length;f<d;++f)p=n[f],h=p.tuple,m=p.field,g=l[ye(h)],g>0&&(y(h,m,p.value),a.modifies(m));for(f=0,d=i.length;f<d;++f)p=i[f],m=p.filter,u.forEach(x=>{m(x)&&l[ye(x)]>0&&y(x,p.field,p.value)}),a.modifies(p.field);if(s)a.mod=t.length||r.length?u.filter(x=>l[ye(x)]>0):u.slice();else for(g in c)a.mod.push(c[g]);return(o||o==null&&(t.length||r.length))&&a.clean(!0),a}}}var c1="_:mod:_";function Hh(){Object.defineProperty(this,c1,{writable:!0,value:{}})}Hh.prototype={set(e,t,n,r){let i=this,o=i[e],s=i[c1];return t!=null&&t>=0?(o[t]!==n||r)&&(o[t]=n,s[t+":"+e]=-1,s[e]=-1):(o!==n||r)&&(i[e]=n,s[e]=O(n)?1+n.length:-1),i},modified(e,t){let n=this[c1];if(arguments.length){if(O(e)){for(let r=0;r<e.length;++r)if(n[e[r]])return!0;return!1}}else{for(let r in n)if(n[r])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[c1]={},this}};var Hte=0,qte="pulse",Gte=new Hh,jte=1,Wte=2;function ot(e,t,n,r){this.id=++Hte,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),n&&this.parameters(n,r)}function _L(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}ot.prototype={targets(){return this._targets||(this._targets=d1(td))},set(e){return this.value!==e?(this.value=e,1):0},skip:_L(jte),modified:_L(Wte),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Hh,i=this._argops=this._argops||[],o=[],s,a,u,l,c=(f,d,p)=>{p instanceof ot?(p!==this&&(t&&p.targets().add(this),o.push(p)),i.push({op:p,name:f,index:d})):r.set(f,d,p)};for(s in e)if(a=e[s],s===qte)Z(a).forEach(f=>{f instanceof ot?f!==this&&(f.targets().add(this),o.push(f)):U("Pulse parameters must be operator instances.")}),this.source=a;else if(O(a))for(r.set(s,-1,Array(u=a.length)),l=0;l<u;++l)c(s,l,a[l]);else c(s,-1,a);return this.marshall().clear(),n&&(i.initonly=!0),o},marshall(e){let t=this._argval||Gte,n=this._argops,r,i,o,s;if(n){let a=n.length;for(i=0;i<a;++i)r=n[i],o=r.op,s=o.modified()&&o.stamp===e,t.set(r.name,r.index,o.value,s);if(n.initonly){for(i=0;i<a;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function Vte(e,t,n,r){let i=1,o;return e instanceof ot?o=e:e&&e.prototype instanceof ot?o=new e:we(e)?o=new ot(null,e):(i=0,o=new ot(e,t)),this.rank(o),i&&(r=n,n=t),n&&this.connect(o,o.parameters(n,r)),this.touch(o),o}function Yte(e,t){let n=e.rank,r=t.length;for(let i=0;i<r;++i)if(n<t[i].rank){this.rerank(e);return}}var Xte=0;function yd(e,t,n){this.id=++Xte,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function zu(e,t,n){return new yd(e,t,n)}yd.prototype={_filter:pn,_apply:$t,targets(){return this._targets||(this._targets=d1(td))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i<r;++i)n[i].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=zu(e);return this.targets().add(t),t},apply(e){let t=zu(null,e);return this.targets().add(t),t},merge(){let e=zu();this.targets().add(e);for(let t=0,n=arguments.length;t<n;++t)arguments[t].targets().add(e);return e},throttle(e){let t=-1;return this.filter(()=>{let n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){let t=zu();return this.targets().add(zu(null,null,fh(e,n=>{let r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(zu(null,null,()=>n=!0)),t.targets().add(zu(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=pn,this._targets=null}};function Kte(e,t,n,r){let i=this,o=zu(n,r),s=function(l){l.dataflow=i;try{o.receive(l)}catch(c){i.error(c)}finally{i.run()}},a;typeof e=="string"&&typeof document<"u"?a=document.querySelectorAll(e):a=Z(e);let u=a.length;for(let l=0;l<u;++l)a[l].addEventListener(t,s);return o}function Qte(e,t){let n=this.locale();return gC(e,t,n.timeParse,n.utcParse)}function Jte(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function Zte(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:"dataflow",response:hC(t&&t.type)});try{i=n.parse(i,t)}catch(o){r=-2,n.warn("Data ingestion failed",e,o)}}catch(o){r=-1,n.warn("Loading failed",e,o)}return{data:i,status:r}}async function ene(e,t,n){let r=this,i=r._pending||tne(r);i.requests+=1;let o=await r.request(t,n);return r.pulse(e,r.changeset().remove(pn).insert(o.data||[])),i.done(),o}function tne(e){let t,n=new Promise(r=>t=r);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var nne={skip:!0};function rne(e,t,n,r,i){return(e instanceof ot?one:ine)(this,e,t,n,r,i),this}function ine(e,t,n,r,i,o){let s=Se({},o,nne),a,u;we(n)||(n=_t(n)),r===void 0?a=l=>e.touch(n(l)):we(r)?(u=new ot(null,r,i,!1),a=l=>{u.evaluate(l);let c=n(l),f=u.value;xC(f)?e.pulse(c,f,o):e.update(c,f,s)}):a=l=>e.update(n(l),r,s),t.apply(a)}function one(e,t,n,r,i,o){if(r===void 0)t.targets().add(n);else{let s=o||{},a=new ot(null,sne(n,r),i,!1);a.modified(s.force),a.rank=t.rank,t.targets().add(a),n&&(a.skip(!0),a.value=n.value,a.targets().add(n),e.connect(n,[a]))}}function sne(e,t){return t=we(t)?t:_t(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function ane(e){e.rank=++this._rank}function une(e){let t=[e],n,r,i;for(;t.length;)if(this.rank(n=t.pop()),r=n._targets)for(i=r.length;--i>=0;)t.push(n=r[i]),n===e&&U("Cycle detected in dataflow graph.")}var f1={},$s=1,Hu=2,Pa=4,lne=$s|Hu,CL=$s|Pa,gd=$s|Hu|Pa,kL=8,Bh=16,FL=32,TL=64;function $a(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function yC(e,t){let n=[];return Ra(e,t,r=>n.push(r)),n}function RL(e,t){let n={};return e.visit(t,r=>{n[ye(r)]=1}),r=>n[ye(r)]?null:r}function l1(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}$a.prototype={StopPropagation:f1,ADD:$s,REM:Hu,MOD:Pa,ADD_REM:lne,ADD_MOD:CL,ALL:gd,REFLOW:kL,SOURCE:Bh,NO_SOURCE:FL,NO_FIELDS:TL,fork(e){return new $a(this.dataflow).init(this,e)},clone(){let e=this.fork(gd);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(gd|Bh)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new $a(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,t){let n=this;return n.stamp=e.stamp,n.encode=e.encode,e.fields&&!(t&TL)&&(n.fields=e.fields),t&$s?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&Hu?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&Pa?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&FL?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){let t=e||gd;return t&$s&&this.add.length||t&Hu&&this.rem.length||t&Pa&&this.mod.length},reflow(e){if(e)return this.fork(gd).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(Pa,RL(this,$s))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return O(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?O(e)?e.some(r=>n[r]):n[e]:!!n:!1},filter(e,t){let n=this;return e&$s&&(n.addF=l1(n.addF,t)),e&Hu&&(n.remF=l1(n.remF,t)),e&Pa&&(n.modF=l1(n.modF,t)),e&Bh&&(n.srcF=l1(n.srcF,t)),n},materialize(e){e=e||gd;let t=this;return e&$s&&t.addF&&(t.add=yC(t.add,t.addF),t.addF=null),e&Hu&&t.remF&&(t.rem=yC(t.rem,t.remF),t.remF=null),e&Pa&&t.modF&&(t.mod=yC(t.mod,t.modF),t.modF=null),e&Bh&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&Bh)return Ra(n.source,n.srcF,r),n;e&$s&&Ra(n.add,n.addF,r),e&Hu&&Ra(n.rem,n.remF,r),e&Pa&&Ra(n.mod,n.modF,r);let i=n.source;if(e&kL&&i){let o=n.add.length+n.mod.length;o===i.length||(o?Ra(i,RL(n,CL),r):Ra(i,n.srcF,r))}return n}};function h1(e,t,n,r){let i=this,o=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let s of n)if(s.stamp===t){if(s.fields){let a=i.fields||(i.fields={});for(let u in s.fields)a[u]=1}s.changed(i.ADD)&&(o|=i.ADD),s.changed(i.REM)&&(o|=i.REM),s.changed(i.MOD)&&(o|=i.MOD)}this.changes=o}te(h1,$a,{fork(e){let t=new $a(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?O(e)?e.some(r=>n[r]):n[e]:0},filter(){U("MultiPulse does not support filtering.")},materialize(){U("MultiPulse does not support materialization.")},visit(e,t){let n=this,r=n.pulses,i=r.length,o=0;if(e&n.SOURCE)for(;o<i;++o)r[o].visit(e,t);else for(;o<i;++o)r[o].stamp===n.stamp&&r[o].visit(e,t);return n}});async function cne(e,t,n){let r=this,i=[];if(r._pulse)return IL(r);if(r._pending&&await r._pending,t&&await zh(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let o=++r._clock;r._pulse=new $a(r,o,e),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=d1(td);let s=0,a,u,l;try{for(;r._heap.size()>0;){if(a=r._heap.pop(),a.rank!==a.qrank){r._enqueue(a,!0);continue}u=a.run(r._getPulse(a,e)),u.then?u=await u:u.async&&(i.push(u.async),u=f1),u!==f1&&a._targets&&a._targets.forEach(c=>r._enqueue(c)),++s}}catch(c){r._heap.clear(),l=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${o}: ${s} operators`),l&&(r._postrun=[],r.error(l)),r._postrun.length){let c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await zh(r,c[f].callback)}return n&&await zh(r,n),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}async function fne(e,t,n){for(;this._running;)await this._running;let r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running}function dne(e,t,n){return this._pulse?IL(this):(this.evaluate(e,t,n),this)}function pne(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(r){this.error(r)}}function IL(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}function mne(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function hne(e,t){let n=e.source,r=this._clock;return n&&O(n)?new h1(this,r,n.map(i=>i.pulse),t):this._input[e.id]||gne(this._pulse,n&&n.pulse)}function gne(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==f1&&(e.source=t.source),e)}var bC={skip:!1,force:!1};function yne(e,t){let n=t||bC;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function xne(e,t,n){let r=n||bC;return(e.set(t)||r.force)&&this.touch(e,r),this}function bne(e,t,n){this.touch(e,n||bC);let r=new $a(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function vne(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),NL(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,Ene(t,0,e)):r=n,r}}}function NL(e,t,n,r){let i,o,s=e[n];for(;n>t;){if(o=n-1>>1,i=e[o],r(s,i)<0){e[n]=i,n=o;continue}break}return e[n]=s}function Ene(e,t,n){let r=t,i=e.length,o=e[t],s=(t<<1)+1,a;for(;s<i;)a=s+1,a<i&&n(e[s],e[a])>=0&&(s=a),e[t]=e[s],t=s,s=(t<<1)+1;return e[t]=o,NL(e,r,t,n)}function qu(){this.logger(sh()),this.logLevel(oh),this._clock=0,this._rank=0,this._locale=Lh();try{this._loader=hd()}catch{}this._touched=d1(td),this._input={},this._pulse=null,this._heap=vne((e,t)=>e.qrank-t.qrank),this._postrun=[]}function Uh(e){return function(){return this._log[e].apply(this,arguments)}}qu.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:Uh("error"),warn:Uh("warn"),info:Uh("info"),debug:Uh("debug"),logLevel:Uh("level"),cleanThreshold:1e4,add:Vte,connect:Yte,rank:ane,rerank:une,pulse:bne,touch:yne,update:xne,changeset:Ba,ingest:Jte,parse:Qte,preload:ene,request:Zte,events:Kte,on:rne,evaluate:cne,run:dne,runAsync:fne,runAfter:pne,_enqueue:mne,_getPulse:hne};function B(e,t){ot.call(this,e,null,t)}te(B,ot,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t=t||e,t.then?t=t.then(n=>this.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var La={};function g1(e){let t=vC(e);return t&&t.Definition||null}function vC(e){return e=e&&e.toLowerCase(),ne(La,e)?La[e]:null}var sk={};rr(sk,{aggregate:()=>Gu,bin:()=>PC,collect:()=>$C,compare:()=>WL,countpattern:()=>LC,cross:()=>BC,density:()=>UC,dotbin:()=>HC,expression:()=>QL,extent:()=>qC,facet:()=>P1,field:()=>JL,filter:()=>jC,flatten:()=>WC,fold:()=>VC,formula:()=>YC,generate:()=>ZL,impute:()=>XC,joinaggregate:()=>KC,kde:()=>QC,key:()=>eB,load:()=>tB,lookup:()=>JC,multiextent:()=>nB,multivalues:()=>rB,params:()=>iB,pivot:()=>ZC,prefacet:()=>oB,project:()=>ek,proxy:()=>sB,quantile:()=>tk,relay:()=>aB,sample:()=>nk,sequence:()=>rk,sieve:()=>uB,subflow:()=>GC,timeunit:()=>ik,tupleindex:()=>cB,values:()=>fB,window:()=>ok});function*$L(e,t){if(t==null)for(let n of e)n!=null&&n!==""&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function y1(e,t,n){let r=Float64Array.from($L(e,n));return r.sort(or),t.map(i=>vh(r,i))}function x1(e,t){return y1(e,[.25,.5,.75],t)}function b1(e,t){let n=e.length,r=jx(e,t),i=x1(e,t),o=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,o)||r||Math.abs(i[0])||1)*Math.pow(n,-.2)}function EC(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],o=e.extent[0],s=e.extent[1],a,u,l,c,f,d,p=e.span||s-o||Math.abs(o)||1;if(e.step)a=e.step;else if(e.steps){for(c=p/t,f=0,d=e.steps.length;f<d&&e.steps[f]<c;++f);a=e.steps[Math.max(0,f-1)]}else{for(u=Math.ceil(Math.log(t)/r),l=e.minstep||0,a=Math.max(l,Math.pow(n,Math.round(Math.log(p)/r)-u));Math.ceil(p/a)>t;)a*=n;for(f=0,d=i.length;f<d;++f)c=a/i[f],c>=l&&p/c<=t&&(a=c)}c=Math.log(a);let m=c>=0?0:~~(-c/r)+1,h=Math.pow(n,-m-1);return(e.nice||e.nice===void 0)&&(c=Math.floor(o/a+h)*a,o=o<c?c-a:c,s=Math.ceil(s/a)*a),{start:o,stop:s===o?o+a:s,step:a}}var Pr=Math.random;function wne(e){Pr=e}function wC(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from($L(e,r)),o=i.length,s=t,a,u,l,c;for(l=0,c=Array(s);l<s;++l){for(a=0,u=0;u<o;++u)a+=i[~~(Pr()*o)];c[l]=a/o}return c.sort(or),[ic(c,n/2),ic(c,1-n/2)]}function SC(e,t,n,r){r=r||(d=>d);let i=e.length,o=new Float64Array(i),s=0,a=1,u=r(e[0]),l=u,c=u+t,f;for(;a<i;++a){if(f=r(e[a]),f>=c){for(l=(u+l)/2;s<a;++s)o[s]=l;c=f+t,u=f}l=f}for(l=(u+l)/2;s<a;++s)o[s]=l;return n?Sne(o,t+t/4):o}function Sne(e,t){let n=e.length,r=0,i=1,o,s;for(;e[r]===e[i];)++i;for(;i<n;){for(o=i+1;e[i]===e[o];)++o;if(e[i]-e[i-1]<t){for(s=i+(r+o-i-i>>1);s<i;)e[s++]=e[i];for(;s>i;)e[s--]=e[r]}r=i,i=o}return e}function Ane(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function _ne(e,t){t==null&&(t=e,e=0);let n,r,i,o={min(s){return arguments.length?(n=s||0,i=r-n,o):n},max(s){return arguments.length?(r=s||0,i=r-n,o):r},sample(){return n+Math.floor(i*Pr())},pdf(s){return s===Math.floor(s)&&s>=n&&s<r?1/i:0},cdf(s){let a=Math.floor(s);return a<n?0:a>=r?1:(a-n+1)/i},icdf(s){return s>=0&&s<=1?n-1+Math.floor(s*i):NaN}};return o.min(e).max(t)}var LL=Math.sqrt(2*Math.PI),Cne=Math.SQRT2,qh=NaN;function Gh(e,t){e=e||0,t=t??1;let n=0,r=0,i,o;if(qh===qh)n=qh,qh=NaN;else{do n=Pr()*2-1,r=Pr()*2-1,i=n*n+r*r;while(i===0||i>1);o=Math.sqrt(-2*Math.log(i)/i),n*=o,qh=r*o}return e+n*t}function v1(e,t,n){n=n??1;let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*LL)}function jh(e,t,n){t=t||0,n=n??1;let r=(e-t)/n,i=Math.abs(r),o;if(i>37)o=0;else{let s=Math.exp(-i*i/2),a;i<7.07106781186547?(a=.0352624965998911*i+.700383064443688,a=a*i+6.37396220353165,a=a*i+33.912866078383,a=a*i+112.079291497871,a=a*i+221.213596169931,a=a*i+220.206867912376,o=s*a,a=.0883883476483184*i+1.75566716318264,a=a*i+16.064177579207,a=a*i+86.7807322029461,a=a*i+296.564248779674,a=a*i+637.333633378831,a=a*i+793.826512519948,a=a*i+440.413735824752,o=o/a):(a=i+.65,a=i+4/a,a=i+3/a,a=i+2/a,a=i+1/a,o=s/a/2.506628274631)}return r>0?1-o:o}function Wh(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*Cne*kne(2*e-1)}function kne(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function E1(e,t){let n,r,i={mean(o){return arguments.length?(n=o||0,i):n},stdev(o){return arguments.length?(r=o??1,i):r},sample:()=>Gh(n,r),pdf:o=>v1(o,n,r),cdf:o=>jh(o,n,r),icdf:o=>Wh(o,n,r)};return i.mean(e).stdev(t)}function w1(e,t){let n=E1(),r=0,i={data(o){return arguments.length?(e=o,r=o?o.length:0,i.bandwidth(t)):e},bandwidth(o){return arguments.length?(t=o,!t&&e&&(t=b1(e)),i):t},sample(){return e[~~(Pr()*r)]+t*n.sample()},pdf(o){let s=0,a=0;for(;a<r;++a)s+=n.pdf((o-e[a])/t);return s/t/r},cdf(o){let s=0,a=0;for(;a<r;++a)s+=n.cdf((o-e[a])/t);return s/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function S1(e,t){return e=e||0,t=t??1,Math.exp(e+Gh()*t)}function A1(e,t,n){if(e<=0)return 0;t=t||0,n=n??1;let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*LL*e)}function _1(e,t,n){return jh(Math.log(e),t,n)}function C1(e,t,n){return Math.exp(Wh(e,t,n))}function AC(e,t){let n,r,i={mean(o){return arguments.length?(n=o||0,i):n},stdev(o){return arguments.length?(r=o??1,i):r},sample:()=>S1(n,r),pdf:o=>A1(o,n,r),cdf:o=>_1(o,n,r),icdf:o=>C1(o,n,r)};return i.mean(e).stdev(t)}function _C(e,t){let n=0,r;function i(s){let a=[],u=0,l;for(l=0;l<n;++l)u+=a[l]=s[l]==null?1:+s[l];for(l=0;l<n;++l)a[l]/=u;return a}let o={weights(s){return arguments.length?(r=i(t=s||[]),o):t},distributions(s){return arguments.length?(s?(n=s.length,e=s):(n=0,e=[]),o.weights(t)):e},sample(){let s=Pr(),a=e[n-1],u=r[0],l=0;for(;l<n-1;u+=r[++l])if(s<u){a=e[l];break}return a.sample()},pdf(s){let a=0,u=0;for(;u<n;++u)a+=r[u]*e[u].pdf(s);return a},cdf(s){let a=0,u=0;for(;u<n;++u)a+=r[u]*e[u].cdf(s);return a},icdf(){throw Error("Mixture icdf not supported.")}};return o.distributions(e).weights(t)}function k1(e,t){return t==null&&(t=e??1,e=0),e+(t-e)*Pr()}function F1(e,t,n){return n==null&&(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function T1(e,t,n){return n==null&&(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function R1(e,t,n){return n==null&&(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function CC(e,t){let n,r,i={min(o){return arguments.length?(n=o||0,i):n},max(o){return arguments.length?(r=o??1,i):r},sample:()=>k1(n,r),pdf:o=>F1(o,n,r),cdf:o=>T1(o,n,r),icdf:o=>R1(o,n,r)};return t==null&&(t=e??1,e=0),i.min(e).max(t)}function D1(e,t,n){let r=0,i=0;for(let o of e){let s=n(o);t(o)==null||s==null||isNaN(s)||(r+=(s-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Vh(e,t,n,r){let i=r-e*e,o=Math.abs(i)<1e-24?0:(n-e*t)/i;return[t-o*e,o]}function M1(e,t,n,r){e=e.filter(p=>{let m=t(p),h=n(p);return m!=null&&(m=+m)>=m&&h!=null&&(h=+h)>=h}),r&&e.sort((p,m)=>t(p)-t(m));let i=e.length,o=new Float64Array(i),s=new Float64Array(i),a=0,u=0,l=0,c,f,d;for(d of e)o[a]=c=+t(d),s[a]=f=+n(d),++a,u+=(c-u)/a,l+=(f-l)/a;for(a=0;a<i;++a)o[a]-=u,s[a]-=l;return[o,s,u,l]}function Yh(e,t,n,r){let i=-1,o,s;for(let a of e)o=t(a),s=n(a),o!=null&&(o=+o)>=o&&s!=null&&(s=+s)>=s&&r(o,s,++i)}function xd(e,t,n,r,i){let o=0,s=0;return Yh(e,t,n,(a,u)=>{let l=u-i(a),c=u-r;o+=l*l,s+=c*c}),1-o/s}function I1(e,t,n){let r=0,i=0,o=0,s=0,a=0;Yh(e,t,n,(c,f)=>{++a,r+=(c-r)/a,i+=(f-i)/a,o+=(c*f-o)/a,s+=(c*c-s)/a});let u=Vh(r,i,o,s),l=c=>u[0]+u[1]*c;return{coef:u,predict:l,rSquared:xd(e,t,n,i,l)}}function kC(e,t,n){let r=0,i=0,o=0,s=0,a=0;Yh(e,t,n,(c,f)=>{++a,c=Math.log(c),r+=(c-r)/a,i+=(f-i)/a,o+=(c*f-o)/a,s+=(c*c-s)/a});let u=Vh(r,i,o,s),l=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:l,rSquared:xd(e,t,n,i,l)}}function FC(e,t,n){let[r,i,o,s]=M1(e,t,n),a=0,u=0,l=0,c=0,f=0,d,p,m;Yh(e,t,n,(x,b)=>{d=r[f++],p=Math.log(b),m=d*b,a+=(b*p-a)/f,u+=(m-u)/f,l+=(m*p-l)/f,c+=(d*m-c)/f});let[h,g]=Vh(u/s,a/s,l/s,c/s),y=x=>Math.exp(h+g*(x-o));return{coef:[Math.exp(h-g*o),g],predict:y,rSquared:xd(e,t,n,s,y)}}function TC(e,t,n){let r=0,i=0,o=0,s=0,a=0,u=0;Yh(e,t,n,(f,d)=>{let p=Math.log(f),m=Math.log(d);++u,r+=(p-r)/u,i+=(m-i)/u,o+=(p*m-o)/u,s+=(p*p-s)/u,a+=(d-a)/u});let l=Vh(r,i,o,s),c=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:xd(e,t,n,a,c)}}function N1(e,t,n){let[r,i,o,s]=M1(e,t,n),a=r.length,u=0,l=0,c=0,f=0,d=0,p,m,h,g;for(p=0;p<a;)m=r[p],h=i[p++],g=m*m,u+=(g-u)/p,l+=(g*m-l)/p,c+=(g*g-c)/p,f+=(m*h-f)/p,d+=(g*h-d)/p;let y=c-u*u,x=u*y-l*l,b=(d*u-f*l)/x,v=(f*y-d*l)/x,E=-b*u,S=w=>(w=w-o,b*w*w+v*w+E+s);return{coef:[E-v*o+b*o*o+s,v-2*b*o,b],predict:S,rSquared:xd(e,t,n,s,S)}}function RC(e,t,n,r){if(r===0)return D1(e,t,n);if(r===1)return I1(e,t,n);if(r===2)return N1(e,t,n);let[i,o,s,a]=M1(e,t,n),u=i.length,l=[],c=[],f=r+1,d,p,m,h,g;for(d=0;d<f;++d){for(m=0,h=0;m<u;++m)h+=Math.pow(i[m],d)*o[m];for(l.push(h),g=new Float64Array(f),p=0;p<f;++p){for(m=0,h=0;m<u;++m)h+=Math.pow(i[m],d+p);g[p]=h}c.push(g)}c.push(l);let y=Tne(c),x=b=>{b-=s;let v=a+y[0]+y[1]*b+y[2]*b*b;for(d=3;d<f;++d)v+=y[d]*Math.pow(b,d);return v};return{coef:Fne(f,y,-s,a),predict:x,rSquared:xd(e,t,n,a,x)}}function Fne(e,t,n,r){let i=Array(e),o,s,a,u;for(o=0;o<e;++o)i[o]=0;for(o=e-1;o>=0;--o)for(a=t[o],u=1,i[o]+=a,s=1;s<=o;++s)u*=(o+1-s)/s,i[o-s]+=a*Math.pow(n,s)*u;return i[0]+=r,i}function Tne(e){let t=e.length-1,n=[],r,i,o,s,a;for(r=0;r<t;++r){for(s=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][s])&&(s=i);for(o=r;o<t+1;++o)a=e[o][r],e[o][r]=e[o][s],e[o][s]=a;for(i=r+1;i<t;++i)for(o=t;o>=r;o--)e[o][i]-=e[o][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(a=0,o=i+1;o<t;++o)a+=e[o][i]*n[o];n[i]=(e[t][i]-a)/e[i][i]}return n}var OL=2,PL=1e-12;function DC(e,t,n,r){let[i,o,s,a]=M1(e,t,n,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let p=-1;++p<=OL;){let m=[0,l-1];for(let g=0;g<u;++g){let y=i[g],x=m[0],b=m[1],v=y-i[x]>i[b]-y?x:b,E=0,S=0,w=0,A=0,C=0,_=1/Math.abs(i[v]-y||1);for(let M=x;M<=b;++M){let R=i[M],k=o[M],D=Rne(Math.abs(y-R)*_)*d[M],T=R*D;E+=D,S+=T,w+=k*D,A+=k*T,C+=R*T}let[F,I]=Vh(S/E,w/E,A/E,C/E);c[g]=F+I*y,f[g]=Math.abs(o[g]-c[g]),Dne(i,g+1,m)}if(p===OL)break;let h=id(f);if(Math.abs(h)<PL)break;for(let g=0,y,x;g<u;++g)y=f[g]/(6*h),d[g]=y>=1?PL:(x=1-y*y)*x}return Mne(i,c,s,a)}function Rne(e){return(e=1-e*e*e)*e*e}function Dne(e,t,n){let r=e[t],i=n[0],o=n[1]+1;if(!(o>=e.length))for(;t>i&&e[o]-r<=r-e[i];)n[0]=++i,n[1]=o,++o}function Mne(e,t,n,r){let i=e.length,o=[],s=0,a=0,u=[],l;for(;s<i;++s)l=e[s]+n,u[0]===l?u[1]+=(t[s]-u[1])/++a:(a=0,u[1]+=r,u=[l,t[s]],o.push(u));return u[1]+=r,o}var Ine=.5*Math.PI/180;function bd(e,t,n,r){n=n||25,r=Math.max(n,r||200);let i=h=>[h,e(h)],o=t[0],s=t[1],a=s-o,u=a/r,l=[i(o)],c=[];if(n===r){for(let h=1;h<r;++h)l.push(i(o+h/n*a));return l.push(i(s)),l}else{c.push(i(s));for(let h=n;--h>0;)c.push(i(o+h/n*a))}let f=l[0],d=c[c.length-1],p=1/a,m=Nne(f[1],c);for(;d;){let h=i((f[0]+d[0])/2);h[0]-f[0]>=u&&One(f,h,d,p,m)>Ine?c.push(h):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l}function Nne(e,t){let n=e,r=e,i=t.length;for(let o=0;o<i;++o){let s=t[o][1];s<n&&(n=s),s>r&&(r=s)}return 1/(r-n)}function One(e,t,n,r,i){let o=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),s=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(o-s)}function Pne(e){return t=>{let n=e.length,r=1,i=String(e[0](t));for(;r<n;++r)i+="|"+e[r](t);return i}}function NC(e){return!e||!e.length?function(){return""}:e.length===1?e[0]:Pne(e)}function zL(e,t,n){return n||e+(t?"_"+t:"")}var MC=()=>{},$ne={init:MC,add:MC,rem:MC,idx:0},Xh={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.valid?e.sum:void 0,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t<e.min||e.min===void 0)&&(e.min=t)},rem:(e,t)=>{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||e.max===void 0)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t<e.min&&(e.argmin=n)},rem:(e,t)=>{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,t)=>{e.exp=0,e.exp_r=t},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,t)=>e.exp=e.exp_r*e.exp+t,rem:(e,t)=>e.exp=(e.exp-t/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},Qh=Object.keys(Xh).filter(e=>e!=="__count__");function Lne(e,t){return(n,r)=>Se({name:e,aggregate_param:r,out:n||e},$ne,t)}[...Qh,"__count__"].forEach(e=>{Xh[e]=Lne(e,Xh[e])});function HL(e,t,n){return Xh[e](n,t)}function qL(e,t){return e.idx-t.idx}function Bne(e){let t={};e.forEach(r=>t[r.name]=r);let n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=Xh[i]())})};return e.forEach(n),Object.values(t).sort(qL)}function Une(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function zne(e,t){if(e==null||e===""){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function Hne(e,t){if(e==null||e===""){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function qne(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function GL(e,t){let n=t||$t,r=Bne(e),i=e.slice().sort(qL);function o(s){this._ops=r,this._out=i,this.cell=s,this.init()}return o.prototype.init=Une,o.prototype.add=zne,o.prototype.rem=Hne,o.prototype.set=qne,o.prototype.get=n,o.fields=e.map(s=>s.out),o}function OC(e){this._key=e?wn(e):ye,this.reset()}var Un=OC.prototype;Un.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null};Un.add=function(e){this._add.push(e)};Un.rem=function(e){this._rem.push(e)};Un.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,o=Array(r-i),s={},a,u,l;for(a=0;a<i;++a)s[n(t[a])]=1;for(a=0,u=0;a<r;++a)s[n(l=e[a])]?s[n(l)]=0:o[u++]=l;return this._rem=[],this._add=o};Un.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,o;for(;--r>=0;)o=e(t[r])+"",ne(n,o)||(n[o]=1,++i);return i};Un.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=u2(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext};Un.argmin=function(e){return this.extent(e)[0]||{}};Un.argmax=function(e){return this.extent(e)[1]||{}};Un.min=function(e){let t=this.extent(e)[0];return t!=null?e(t):void 0};Un.max=function(e){let t=this.extent(e)[1];return t!=null?e(t):void 0};Un.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=x1(this.values(),e),this._get=e),this._q};Un.q1=function(e){return this.quartile(e)[0]};Un.q2=function(e){return this.quartile(e)[1]};Un.q3=function(e){return this.quartile(e)[2]};Un.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=wC(this.values(),1e3,.05,e),this._get=e),this._ci};Un.ci0=function(e){return this.ci(e)[0]};Un.ci1=function(e){return this.ci(e)[1]};function Gu(e){B.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}Gu.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Qh},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]};te(Gu,B,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,o=>n.add(o))):(n.value=n.value||n.init(e),t.visit(t.REM,o=>n.rem(o)),t.visit(t.ADD,o=>n.add(o))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function o(a){let u,l,c,f;for(u in a)for(c=a[u].tuple,l=0;l<i;++l)r[l][f=c[n[l]]]=f}o(e._prev),o(t);function s(a,u,l){let c=n[l],f=r[l++];for(let d in f){let p=a?a+"|"+d:d;u[c]=f[d],l<i?s(p,u,l):t[p]||e.cell(p,u)}}s("",{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(x){let b=Z(dn(x)),v=b.length,E=0,S;for(;E<v;++E)r[S=b[E]]||(r[S]=1,t.push(S))}this._dims=Z(e.groupby),this._dnames=this._dims.map(x=>{let b=vt(x);return i(x),n.push(b),b}),this.cellkey=e.key?e.key:NC(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let o=e.fields||[null],s=e.ops||["count"],a=e.aggregate_params||[null],u=e.as||[],l=o.length,c={},f,d,p,m,h,g,y;for(l!==s.length&&U("Unmatched number of fields and aggregate ops."),y=0;y<l;++y){if(f=o[y],d=s[y],p=a[y]||null,f==null&&d!=="count"&&U("Null aggregate field specified."),h=vt(f),g=zL(d,h,u[y]),n.push(g),d==="count"){this._counts.push(g);continue}m=c[h],m||(i(f),m=c[h]=[],m.field=f,this._measures.push(m)),d!=="count"&&(this._countOnly=!1),m.push(HL(d,p,g))}return this._measures=this._measures.map(x=>GL(x,x.field)),Object.create(null)},cellkey:NC(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let r=this._measures,i=r.length;n.agg=Array(i);for(let o=0;o<i;++o)n.agg[o]=new r[o](n)}return n.store&&(n.data=new OC),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,o={};for(let s=0;s<i;++s)o[n[s]]=r[s](e);return t?m1(t.tuple,o):Ue(o)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let i=0,o=r.length;i<o;++i)r[i].add(r[i].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num-=1,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let i=0,o=r.length;i<o;++i)r[i].rem(r[i].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let r=e.agg;for(let i=0,o=r.length;i<o;++i)r[i].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,o=e.add,s=e.rem,a=e.mod,u,l,c,f;if(r)for(l in r)u=r[l],(!i||u.num)&&s.push(u.tuple);for(c=0,f=this._alen;c<f;++c)o.push(this.celltuple(t[c])),t[c]=null;for(c=0,f=this._mlen;c<f;++c)u=n[c],(u.num===0&&i?s:a).push(this.celltuple(u)),n[c]=null;return this._alen=this._mlen=0,this._prev=null,e}});var Gne=1e-14;function PC(e){B.call(this,null,e)}PC.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]};te(PC,B,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,o=r.step,s=e.as||["bin0","bin1"],a=s[0],u=s[1],l;return e.modified()?(t=t.reflow(!0),l=t.SOURCE):l=t.modified(dn(e.field))?t.ADD_MOD:t.ADD,t.visit(l,n?c=>{let f=r(c);c[a]=f,c[u]=f==null?null:i+o*(1+(f-i)/o)}:c=>c[a]=r(c)),t.modifies(n?s:a)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=EC(e),r=n.step,i=n.start,o=i+Math.ceil((n.stop-i)/r)*r,s,a;(s=e.anchor)!=null&&(a=s-(i+r*Math.floor((s-i)/r)),i+=a,o+=a);let u=function(l){let c=Vt(t(l));return c==null?null:c<i?-1/0:c>o?1/0:(c=Math.max(i,Math.min(c,o-r)),i+r*Math.floor(Gne+(c-i)/r))};return u.start=i,u.stop=n.stop,u.step=r,this.value=ir(u,dn(t),e.name||"bin_"+vt(t))}});function jL(e,t,n){let r=e,i=t||[],o=n||[],s={},a=0;return{add:u=>o.push(u),remove:u=>s[r(u)]=++a,size:()=>i.length,data:(u,l)=>(a&&(i=i.filter(c=>!s[r(c)]),s={},a=0),l&&u&&i.sort(u),o.length&&(i=u?p2(u,i,o.sort(u)):i.concat(o),o=[]),i)}}function $C(e){B.call(this,[],e)}$C.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]};te($C,B,{transform(e,t){let n=t.fork(t.ALL),r=jL(ye,this.value,n.materialize(n.ADD).add),i=e.sort,o=t.changed()||i&&(e.modified("sort")||t.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(o),this.value=n.source=r.data(Ls(i),o),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function WL(e){ot.call(this,null,jne,e)}te(WL,ot);function jne(e){return this.value&&!e.modified()?this.value:ch(e.fields,e.orders)}function LC(e){B.call(this,null,e)}LC.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};function Wne(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase();break}return e.match(n)}te(LC,B,{transform(e,t){let n=f=>d=>{for(var p=Wne(a(d),e.case,o)||[],m,h=0,g=p.length;h<g;++h)s.test(m=p[h])||f(m)},r=this._parameterCheck(e,t),i=this._counts,o=this._match,s=this._stop,a=e.field,u=e.as||["text","count"],l=n(f=>i[f]=1+(i[f]||0)),c=n(f=>i[f]-=1);return r?t.visit(t.SOURCE,l):(t.visit(t.ADD,l),t.visit(t.REM,c)),this._finish(t,u)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=new RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],o=t[1],s=e.fork(e.NO_SOURCE|e.NO_FIELDS),a,u,l;for(a in n)u=r[a],l=n[a]||0,!u&&l?(r[a]=u=Ue({}),u[i]=a,u[o]=l,s.add.push(u)):l===0?(u&&s.rem.push(u),n[a]=null,r[a]=null):u[o]!==l&&(u[o]=l,s.mod.push(u));return s.modifies(t)}});function BC(e){B.call(this,null,e)}BC.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]};te(BC,B,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],o=r[1],s=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),a=this.value;return s?(a&&(n.rem=a),a=t.materialize(t.SOURCE).source,n.add=this.value=Vne(a,i,o,e.filter||pn)):n.mod=a,n.source=this.value,n.modifies(r)}});function Vne(e,t,n,r){for(var i=[],o={},s=e.length,a=0,u,l;a<s;++a)for(o[t]=l=e[a],u=0;u<s;++u)o[n]=e[u],r(o)&&(i.push(Ue(o)),o={},o[t]=l);return i}var BL={kde:w1,mixture:_C,normal:E1,lognormal:AC,uniform:CC},Yne="distributions",UL="function",Xne="field";function VL(e,t){let n=e[UL];ne(BL,n)||U("Unknown distribution function: "+n);let r=BL[n]();for(let i in e)i===Xne?r.data((e.from||t()).map(e[i])):i===Yne?r[i](e[i].map(o=>VL(o,t))):typeof r[i]===UL&&r[i](e[i]);return r}function UC(e){B.call(this,null,e)}var YL=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],Kne={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:YL},{name:"weights",type:"number",array:!0}]};UC.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:YL.concat(Kne)},{name:"as",type:"string",array:!0,default:["value","density"]}]};te(UC,B,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=VL(e.distribution,Qne(t)),i=e.steps||e.minsteps||25,o=e.steps||e.maxsteps||200,s=e.method||"pdf";s!=="pdf"&&s!=="cdf"&&U("Invalid density method: "+s),!e.extent&&!r.data&&U("Missing density extent parameter."),s=r[s];let a=e.as||["value","density"],u=e.extent||Rr(r.data()),l=bd(s,u,i,o).map(c=>{let f={};return f[a[0]]=c[0],f[a[1]]=c[1],Ue(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function Qne(e){return()=>e.materialize(e.SOURCE).source}function XL(e,t){return e?e.map((n,r)=>t[r]||vt(n)):null}function zC(e,t,n){let r=[],i=f=>f(u),o,s,a,u,l,c;if(t==null)r.push(e.map(n));else for(o={},s=0,a=e.length;s<a;++s)u=e[s],l=t.map(i),c=o[l],c||(o[l]=c=[],c.dims=l,r.push(c)),c.push(n(u));return r}var KL="bin";function HC(e){B.call(this,null,e)}HC.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:KL}]};var Jne=(e,t)=>Ta(Rr(e,t))/30;te(HC,B,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=zC(t.source,e.groupby,$t),i=e.smooth||!1,o=e.field,s=e.step||Jne(n,o),a=Ls((m,h)=>o(m)-o(h)),u=e.as||KL,l=r.length,c=1/0,f=-1/0,d=0,p;for(;d<l;++d){let m=r[d].sort(a);p=-1;for(let h of SC(m,s,i,o))h<c&&(c=h),h>f&&(f=h),m[++p][u]=h}return this.value={start:c,stop:f,step:s},t.reflow(!0).modifies(u)}});function QL(e){ot.call(this,null,Zne,e),this.modified(!0)}te(QL,ot);function Zne(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:ir(n=>t(n,e),dn(t),vt(t))}function qC(e){B.call(this,[void 0,void 0],e)}qC.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]};te(qC,B,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),o=n[0],s=n[1];if((i||o==null)&&(o=1/0,s=-1/0),t.visit(i?t.SOURCE:t.ADD,a=>{let u=Vt(r(a));u!=null&&(u<o&&(o=u),u>s&&(s=u))}),!Number.isFinite(o)||!Number.isFinite(s)){let a=vt(r);a&&(a=` for field "${a}"`),t.dataflow.warn(`Infinite extent${a}: [${o}, ${s}]`),o=s=void 0}this.value=[o,s]}});function GC(e,t){ot.call(this,e),this.parent=t,this.count=0}te(GC,ot,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){this.count-=1,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}});function P1(e){B.call(this,{},e),this._keys=Mu();let t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;r<i;++r)n(t[r],r,t)}}te(P1,B,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,o=ne(i,e)&&i[e],s,a;return o?o.value.stamp<n.stamp&&(o.init(n),this.activate(o)):(a=r||(a=this._group[e])&&a.tuple,s=n.dataflow,o=new GC(n.fork(n.NO_SOURCE),this),s.add(o).connect(t(s,e,a)),i[e]=o,this.activate(o)),o},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let n=this._targets.filter(r=>r&&r.count>0);this.initTargets(n)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,o=this._keys,s=e.modified("key"),a=u=>this.subflow(u,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,u=>{let l=ye(u),c=o.get(l);c!==void 0&&(o.delete(l),a(c).rem(u))}),t.visit(t.ADD,u=>{let l=r(u);o.set(ye(u),l),a(l).add(u)}),s||t.modified(r.fields)?t.visit(t.MOD,u=>{let l=ye(u),c=o.get(l),f=r(u);c===f?a(f).mod(u):(o.set(l,f),a(c).rem(u),a(f).add(u))}):t.changed(t.MOD)&&t.visit(t.MOD,u=>{a(o.get(ye(u))).mod(u)}),s&&t.visit(t.REFLOW,u=>{let l=ye(u),c=o.get(l),f=r(u);c!==f&&(o.set(l,f),a(c).rem(u),a(f).add(u))}),t.clean()?n.runAfter(()=>{this.clean(),o.clean()}):o.empty>n.cleanThreshold&&n.runAfter(o.clean),t}});function JL(e){ot.call(this,null,ere,e)}te(JL,ot);function ere(e){return this.value&&!e.modified()?this.value:O(e.name)?Z(e.name).map(t=>wn(t)):wn(e.name,e.as)}function jC(e){B.call(this,Mu(),e)}jC.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]};te(jC,B,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),o=i.add,s=i.rem,a=i.mod,u=e.expr,l=!0;t.visit(t.REM,f=>{let d=ye(f);r.has(d)?r.delete(d):s.push(f)}),t.visit(t.ADD,f=>{u(f,e)?o.push(f):r.set(ye(f),1)});function c(f){let d=ye(f),p=u(f,e),m=r.get(d);p&&m?(r.delete(d),o.push(f)):!p&&!m?(r.set(d,1),s.push(f)):l&&p&&!m&&a.push(f)}return t.visit(t.MOD,c),e.modified()&&(l=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function WC(e){B.call(this,[],e)}WC.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]};te(WC,B,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=XL(r,e.as||[]),o=e.index||null,s=i.length;return n.rem=this.value,t.visit(t.SOURCE,a=>{let u=r.map(m=>m(a)),l=u.reduce((m,h)=>Math.max(m,h.length),0),c=0,f,d,p;for(;c<l;++c){for(d=p1(a),f=0;f<s;++f)d[i[f]]=(p=u[f][c])==null?null:p;o&&(d[o]=c),n.add.push(d)}}),this.value=n.source=n.add,o&&n.modifies(o),n.modifies(i)}});function VC(e){B.call(this,[],e)}VC.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]};te(VC,B,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(vt),o=e.as||["key","value"],s=o[0],a=o[1],u=r.length;return n.rem=this.value,t.visit(t.SOURCE,l=>{for(let c=0,f;c<u;++c)f=p1(l),f[s]=i[c],f[a]=r[c](l),n.add.push(f)}),this.value=n.source=n.add,n.modifies(o)}});function YC(e){B.call(this,null,e)}YC.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]};te(YC,B,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),o=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(o,s=>s[r]=n(s,e))}});function ZL(e){B.call(this,[],e)}te(ZL,B,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,o=e.size-i.length,s,a,u;if(o>0){for(s=[];--o>=0;)s.push(u=Ue(r(e))),i.push(u);n.add=n.add.length?n.materialize(n.ADD).add.concat(s):s}else a=i.slice(0,-o),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(a):a,i=i.slice(-o);return n.source=this.value=i,n}});var O1={value:"value",median:id,mean:Xx,min:rc,max:Ji},tre=[];function XC(e){B.call(this,[],e)}XC.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function nre(e){var t=e.method||O1.value,n;if(O1[t]==null)U("Unrecognized imputation method: "+t);else return t===O1.value?(n=e.value!==void 0?e.value:0,()=>n):O1[t]}function rre(e){let t=e.field;return n=>n?t(n):NaN}te(XC,B,{transform(e,t){var n=t.fork(t.ALL),r=nre(e),i=rre(e),o=vt(e.field),s=vt(e.key),a=(e.groupby||[]).map(vt),u=ire(t.source,e.groupby,e.key,e.keyvals),l=[],c=this.value,f=u.domain.length,d,p,m,h,g,y,x,b,v,E;for(g=0,b=u.length;g<b;++g)for(d=u[g],m=d.values,p=NaN,x=0;x<f;++x)if(d[x]==null){for(h=u.domain[x],E={_impute:!0},y=0,v=m.length;y<v;++y)E[a[y]]=m[y];E[s]=h,E[o]=Number.isNaN(p)?p=r(d,i):p,l.push(Ue(E))}return l.length&&(n.add=n.materialize(n.ADD).add.concat(l)),c.length&&(n.rem=n.materialize(n.REM).rem.concat(c)),this.value=l,n}});function ire(e,t,n,r){var i=y=>y(g),o=[],s=r?r.slice():[],a={},u={},l,c,f,d,p,m,h,g;for(s.forEach((y,x)=>a[y]=x+1),d=0,h=e.length;d<h;++d)g=e[d],m=n(g),p=a[m]||(a[m]=s.push(m)),c=(l=t?t.map(i):tre)+"",(f=u[c])||(f=u[c]=[],o.push(f),f.values=l),f[p-1]=g;return o.domain=s,o}function KC(e){Gu.call(this,e)}KC.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:Qh},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]};te(KC,Gu,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,o=>n.add(o))):(i=n.value=n.value||this.init(e),t.visit(t.REM,o=>n.rem(o)),t.visit(t.ADD,o=>n.add(o))),n.changes(),t.visit(t.SOURCE,o=>{Se(o,i[n.cellkey(o)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function QC(e){B.call(this,null,e)}QC.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]};te(QC,B,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=zC(r,e.groupby,e.field),o=(e.groupby||[]).map(vt),s=e.bandwidth,a=e.cumulative?"cdf":"pdf",u=e.as||["value","density"],l=[],c=e.extent,f=e.steps||e.minsteps||25,d=e.steps||e.maxsteps||200;a!=="pdf"&&a!=="cdf"&&U("Invalid density method: "+a),e.resolve==="shared"&&(c||(c=Rr(r,e.field)),f=d=e.steps||d),i.forEach(p=>{let m=w1(p,s)[a],h=e.counts?p.length:1,g=c||Rr(p);bd(m,g,f,d).forEach(y=>{let x={};for(let b=0;b<o.length;++b)x[o[b]]=p.dims[b];x[u[0]]=y[0],x[u[1]]=y[1]*h,l.push(Ue(x))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l}return n}});function eB(e){ot.call(this,null,ore,e)}te(eB,ot);function ore(e){return this.value&&!e.modified()?this.value:dh(e.fields,e.flat)}function tB(e){B.call(this,[],e),this._pending=null}te(tB,B,{transform(e,t){let n=t.dataflow;return this._pending?IC(this,t,this._pending):sre(e)?t.StopPropagation:e.values?IC(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(i=>(this._pending=Z(i.data),o=>o.touch(this)))}:n.request(e.url,e.format).then(r=>IC(this,t,Z(r.data)))}});function sre(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}function IC(e,t,n){n.forEach(Ue);let r=t.fork(t.NO_FIELDS&t.NO_SOURCE);return r.rem=e.value,e.value=r.source=r.add=n,e._pending=null,r.rem.length&&r.clean(!0),r}function JC(e){B.call(this,{},e)}JC.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]};te(JC,B,{transform(e,t){let n=e.fields,r=e.index,i=e.values,o=e.default==null?null:e.default,s=e.modified(),a=n.length,u=s?t.SOURCE:t.ADD,l=t,c=e.as,f,d,p;return i?(d=i.length,a>1&&!c&&U('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==a*d&&U('The "as" parameter has too few output field names.'),c=c||i.map(vt),f=function(m){for(var h=0,g=0,y,x;h<a;++h)if(x=r.get(n[h](m)),x==null)for(y=0;y<d;++y,++g)m[c[g]]=o;else for(y=0;y<d;++y,++g)m[c[g]]=i[y](x)}):(c||U("Missing output field names."),f=function(m){for(var h=0,g;h<a;++h)g=r.get(n[h](m)),m[c[h]]=g??o}),s?l=t.reflow(!0):(p=n.some(m=>t.modified(m.fields)),u|=p?t.MOD:0),t.visit(u,f),l.modifies(c)}});function nB(e){ot.call(this,null,are,e)}te(nB,ot);function are(e){if(this.value&&!e.modified())return this.value;let t=e.extents,n=t.length,r=1/0,i=-1/0,o,s;for(o=0;o<n;++o)s=t[o],s[0]<r&&(r=s[0]),s[1]>i&&(i=s[1]);return[r,i]}function rB(e){ot.call(this,null,ure,e)}te(rB,ot);function ure(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function iB(e){B.call(this,null,e)}te(iB,B,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function ZC(e){Gu.call(this,e)}ZC.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Qh,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};te(ZC,Gu,{_transform:Gu.prototype.transform,transform(e,t){return this._transform(lre(e,t),t)}});function lre(e,t){let n=e.field,r=e.value,i=(e.op==="count"?"__count__":e.op)||"sum",o=dn(n).concat(dn(r)),s=fre(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:s.map(()=>i),fields:s.map(a=>cre(a,n,r,o)),as:s.map(a=>a+""),modified:e.modified.bind(e)}}function cre(e,t,n,r){return ir(i=>t(i)===e?n(i):NaN,r,e+"")}function fre(e,t,n){let r={},i=[];return n.visit(n.SOURCE,o=>{let s=e(o);r[s]||(r[s]=1,i.push(s))}),i.sort(Fa),t?i.slice(0,t):i}function oB(e){P1.call(this,e)}te(oB,P1,{transform(e,t){let n=e.subflow,r=e.field,i=o=>this.subflow(ye(o),n,t,o);return(e.modified("field")||r&&t.modified(dn(r)))&&U("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,o=>{let s=i(o);r(o).forEach(a=>s.mod(a))}),t.visit(t.ADD,o=>{let s=i(o);r(o).forEach(a=>s.add(Ue(a)))}),t.visit(t.REM,o=>{let s=i(o);r(o).forEach(a=>s.rem(a))})):(t.visit(t.MOD,o=>i(o).mod(o)),t.visit(t.ADD,o=>i(o).add(o)),t.visit(t.REM,o=>i(o).rem(o))),t.clean()&&t.runAfter(()=>this.clean()),t}});function ek(e){B.call(this,null,e)}ek.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]};te(ek,B,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=XL(e.fields,e.as||[]),o=r?(a,u)=>dre(a,u,r,i):pc,s;return this.value?s=this.value:(t=t.addAll(),s=this.value={}),t.visit(t.REM,a=>{let u=ye(a);n.rem.push(s[u]),s[u]=null}),t.visit(t.ADD,a=>{let u=o(a,Ue({}));s[ye(a)]=u,n.add.push(u)}),t.visit(t.MOD,a=>{n.mod.push(o(a,s[ye(a)]))}),n}});function dre(e,t,n,r){for(let i=0,o=n.length;i<o;++i)t[r[i]]=n[i](e);return t}function sB(e){B.call(this,null,e)}te(sB,B,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function tk(e){B.call(this,null,e)}tk.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};var pre=1e-14;te(tk,B,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;let i=t.materialize(t.SOURCE).source,o=zC(i,e.groupby,e.field),s=(e.groupby||[]).map(vt),a=[],u=e.step||.01,l=e.probs||Yt(u/2,1-pre,u),c=l.length;return o.forEach(f=>{let d=y1(f,l);for(let p=0;p<c;++p){let m={};for(let h=0;h<s.length;++h)m[s[h]]=f.dims[h];m[r[0]]=l[p],m[r[1]]=d[p],a.push(Ue(m))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=a,n}});function aB(e){B.call(this,null,e)}te(aB,B,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,i=>{let o=ye(i);n.rem.push(r[o]),r[o]=null}),t.visit(t.ADD,i=>{let o=p1(i);r[ye(i)]=o,n.add.push(o)}),t.visit(t.MOD,i=>{let o=r[ye(i)];for(let s in i)o[s]=i[s],n.modifies(s);n.mod.push(o)})),n}});function nk(e){B.call(this,[],e),this.count=0}nk.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]};te(nk,B,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,o=this.value.reduce((c,f)=>(c[ye(f)]=1,c),{}),s=this.value,a=this.count,u=0;function l(c){let f,d;s.length<i?s.push(c):(d=~~((a+1)*Pr()),d<s.length&&d>=u&&(f=s[d],o[ye(f)]&&n.rem.push(f),s[d]=c)),++a}if(t.rem.length&&(t.visit(t.REM,c=>{let f=ye(c);o[f]&&(o[f]=-1,n.rem.push(c)),--a}),s=s.filter(c=>o[ye(c)]!==-1)),(t.rem.length||r)&&s.length<i&&t.source&&(u=a=s.length,t.visit(t.SOURCE,c=>{o[ye(c)]||l(c)}),u=-1),r&&s.length>i){let c=s.length-i;for(let f=0;f<c;++f)o[ye(s[f])]=-1,n.rem.push(s[f]);s=s.slice(c)}return t.mod.length&&t.visit(t.MOD,c=>{o[ye(c)]&&n.mod.push(c)}),t.add.length&&t.visit(t.ADD,l),(t.add.length||u<0)&&(n.add=s.filter(c=>!o[ye(c)])),this.count=a,this.value=n.source=s,n}});function rk(e){B.call(this,null,e)}rk.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]};te(rk,B,{transform(e,t){if(this.value&&!e.modified())return;let n=t.materialize().fork(t.MOD),r=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=Yt(e.start,e.stop,e.step||1).map(i=>{let o={};return o[r]=i,Ue(o)}),n.add=t.add.concat(this.value),n}});function uB(e){B.call(this,null,e),this.modified(!0)}te(uB,B,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function ik(e){B.call(this,null,e)}var lB=["unit0","unit1"];ik.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:t1,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:lB}]};te(ik,B,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone==="utc",o=this._floor(e,t),s=(i?Oa:Na)(o.unit).offset,a=e.as||lB,u=a[0],l=a[1],c=o.step,f=o.start||1/0,d=o.stop||-1/0,p=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified(dn(n)))&&(t=t.reflow(!0),p=t.SOURCE,f=1/0,d=-1/0),t.visit(p,m=>{let h=n(m),g,y;h==null?(m[u]=null,r&&(m[l]=null)):(m[u]=g=y=o(h),r&&(m[l]=y=s(g,c)),g<f&&(f=g),y>d&&(d=y))}),o.start=f,o.stop=d,t.modifies(r?a:u)},_floor(e,t){let n=e.timezone==="utc",{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:iC({extent:e.extent||Rr(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),o=n1(r),s=this.value||{},a=(n?Z2:J2)(o,i);return a.unit=De(o),a.units=o,a.step=i,a.start=s.start,a.stop=s.stop,this.value=a}});function cB(e){B.call(this,Mu(),e)}te(cB,B,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,o=a=>i.set(r(a),a),s=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,o)):t.changed()?(t.visit(t.REM,a=>i.delete(r(a))),t.visit(t.ADD,o)):s=!1,this.modified(s),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function fB(e){B.call(this,null,e)}te(fB,B,{transform(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(Ls(e.sort)):t.source).map(e.field))}});function mre(e,t,n,r){let i=Kh[e](t,n);return{init:i.init||Mo,update:function(o,s){s[r]=i.next(o)}}}var Kh={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?++e:e}}},percent_rank:function(){let e=Kh.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||U("ntile num must be greater than zero.");let n=Kh.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||U("nth_value nth must be greater than zero."),{next:n=>{let r=n.i0+(t-1);return r<n.i1?e(n.data[r]):null}}},prev_value:function(e){let t;return{init:()=>t=null,next:n=>{let r=e(n.data[n.index]);return r!=null?t=r:t}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{let i=r.data;return r.index<=n?t:(n=hre(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function hre(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var gre=Object.keys(Kh);function dB(e){let t=Z(e.ops),n=Z(e.fields),r=Z(e.params),i=Z(e.aggregate_params),o=Z(e.as),s=this.outputs=[],a=this.windows=[],u={},l={},c=[],f=[],d=!0;function p(m){Z(dn(m)).forEach(h=>u[h]=1)}p(e.sort),t.forEach((m,h)=>{let g=n[h],y=r[h],x=i[h]||null,b=vt(g),v=zL(m,b,o[h]);if(p(g),s.push(v),ne(Kh,m))a.push(mre(m,g,y,v));else{if(g==null&&m!=="count"&&U("Null aggregate field specified."),m==="count"){c.push(v);return}d=!1;let E=l[b];E||(E=l[b]=[],E.field=g,f.push(E)),E.push(HL(m,x,v))}}),(c.length||f.length)&&(this.cell=yre(f,c,d)),this.inputs=Object.keys(u)}var pB=dB.prototype;pB.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()};pB.update=function(e,t){let n=this.cell,r=this.windows,i=e.data,o=r&&r.length,s;if(n){for(s=e.p0;s<e.i0;++s)n.rem(i[s]);for(s=e.p1;s<e.i1;++s)n.add(i[s]);n.set(t)}for(s=0;s<o;++s)r[s].update(e,t)};function yre(e,t,n){e=e.map(u=>GL(u,u.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,o=r.agg=Array(i),s=0;s<i;++s)o[s]=new e[s](r);if(r.store)var a=r.data=new OC;return r.add=function(u){if(r.num+=1,!n){a&&a.add(u);for(let l=0;l<i;++l)o[l].add(o[l].get(u),u)}},r.rem=function(u){if(r.num-=1,!n){a&&a.rem(u);for(let l=0;l<i;++l)o[l].rem(o[l].get(u),u)}},r.set=function(u){let l,c;for(a&&a.values(),l=0,c=t.length;l<c;++l)u[t[l]]=r.num;if(!n)for(l=0,c=o.length;l<c;++l)o[l].set(u)},r.init=function(){r.num=0,a&&a.reset();for(let u=0;u<i;++u)o[u].init()},r}function ok(e){B.call(this,{},e),this._mlen=0,this._mods=[]}ok.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:gre.concat(Qh)},{name:"params",type:"number",null:!0,array:!0},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]};te(ok,B,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=Ls(e.sort),i=NC(e.groupby),o=a=>this.group(i(a)),s=this.state;(!s||n)&&(s=this.state=new dB(e)),n||t.modified(s.inputs)?(this.value={},t.visit(t.SOURCE,a=>o(a).add(a))):(t.visit(t.REM,a=>o(a).remove(a)),t.visit(t.ADD,a=>o(a).add(a)));for(let a=0,u=this._mlen;a<u;++a)xre(this._mods[a],s,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(s.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=jL(ye),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function xre(e,t,n,r){let i=r.sort,o=i&&!r.ignorePeers,s=r.frame||[null,0],a=e.data(n),u=a.length,l=o?ki(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:a,compare:i||_t(-1)};t.init();for(let f=0;f<u;++f)bre(c,s,f,u),o&&vre(c,l),t.update(c,a[f])}function bre(e,t,n,r){e.p0=e.i0,e.p1=e.i1,e.i0=t[0]==null?0:Math.max(0,n-Math.abs(t[0])),e.i1=t[1]==null?r:Math.min(r,n+Math.abs(t[1])+1),e.index=n}function vre(e,t){let n=e.i0,r=e.i1-1,i=e.compare,o=e.data,s=o.length-1;n>0&&!i(o[n],o[n-1])&&(e.i0=t.left(o,o[n])),r<s&&!i(o[r],o[r+1])&&(e.i1=t.right(o,o[r]))}var bT={};rr(bT,{bound:()=>R5,identifier:()=>xT,mark:()=>D5,overlap:()=>M5,render:()=>N5,viewlayout:()=>P5});function je(e){return function(){return e}}var ak=Math.abs,zn=Math.atan2,ju=Math.cos,mB=Math.max,$1=Math.min,Po=Math.sin,Ua=Math.sqrt,_n=1e-12,Wu=Math.PI,Jh=Wu/2,L1=2*Wu;function hB(e){return e>1?0:e<-1?Wu:Math.acos(e)}function uk(e){return e>=1?Jh:e<=-1?-Jh:Math.asin(e)}var lk=Math.PI,ck=2*lk,mc=1e-6,Ere=ck-mc;function gB(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function wre(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return gB;let n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}var hc=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?gB:wre(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,i){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,n,r,i,o,s){this._append`C${+t},${+n},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(t,n,r,i,o){if(t=+t,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,a=this._y1,u=r-t,l=i-n,c=s-t,f=a-n,d=c*c+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(d>mc)if(!(Math.abs(f*u-l*c)>mc)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-s,m=i-a,h=u*u+l*l,g=p*p+m*m,y=Math.sqrt(h),x=Math.sqrt(d),b=o*Math.tan((lk-Math.acos((h+d-g)/(2*y*x)))/2),v=b/x,E=b/y;Math.abs(v-1)>mc&&this._append`L${t+v*c},${n+v*f}`,this._append`A${o},${o},0,0,${+(f*p>c*m)},${this._x1=t+E*u},${this._y1=n+E*l}`}}arc(t,n,r,i,o,s){if(t=+t,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),u=r*Math.sin(i),l=t+a,c=n+u,f=1^s,d=s?i-o:o-i;this._x1===null?this._append`M${l},${c}`:(Math.abs(this._x1-l)>mc||Math.abs(this._y1-c)>mc)&&this._append`L${l},${c}`,r&&(d<0&&(d=d%ck+ck),d>Ere?this._append`A${r},${r},0,1,${f},${t-a},${n-u}A${r},${r},0,1,${f},${this._x1=l},${this._y1=c}`:d>mc&&this._append`A${r},${r},0,${+(d>=lk)},${f},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function gc(){return new hc}gc.prototype=hc.prototype;function Vu(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new hc(t)}function Sre(e){return e.innerRadius}function Are(e){return e.outerRadius}function _re(e){return e.startAngle}function Cre(e){return e.endAngle}function kre(e){return e&&e.padAngle}function Fre(e,t,n,r,i,o,s,a){var u=n-e,l=r-t,c=s-i,f=a-o,d=f*u-c*l;if(!(d*d<_n))return d=(c*(t-o)-f*(e-i))/d,[e+d*u,t+d*l]}function B1(e,t,n,r,i,o,s){var a=e-n,u=t-r,l=(s?o:-o)/Ua(a*a+u*u),c=l*u,f=-l*a,d=e+c,p=t+f,m=n+c,h=r+f,g=(d+m)/2,y=(p+h)/2,x=m-d,b=h-p,v=x*x+b*b,E=i-o,S=d*h-m*p,w=(b<0?-1:1)*Ua(mB(0,E*E*v-S*S)),A=(S*b-x*w)/v,C=(-S*x-b*w)/v,_=(S*b+x*w)/v,F=(-S*x+b*w)/v,I=A-g,M=C-y,R=_-g,k=F-y;return I*I+M*M>R*R+k*k&&(A=_,C=F),{cx:A,cy:C,x01:-c,y01:-f,x11:A*(i/E-1),y11:C*(i/E-1)}}function fk(){var e=Sre,t=Are,n=je(0),r=null,i=_re,o=Cre,s=kre,a=null,u=Vu(l);function l(){var c,f,d=+e.apply(this,arguments),p=+t.apply(this,arguments),m=i.apply(this,arguments)-Jh,h=o.apply(this,arguments)-Jh,g=ak(h-m),y=h>m;if(a||(a=c=u()),p<d&&(f=p,p=d,d=f),!(p>_n))a.moveTo(0,0);else if(g>L1-_n)a.moveTo(p*ju(m),p*Po(m)),a.arc(0,0,p,m,h,!y),d>_n&&(a.moveTo(d*ju(h),d*Po(h)),a.arc(0,0,d,h,m,y));else{var x=m,b=h,v=m,E=h,S=g,w=g,A=s.apply(this,arguments)/2,C=A>_n&&(r?+r.apply(this,arguments):Ua(d*d+p*p)),_=$1(ak(p-d)/2,+n.apply(this,arguments)),F=_,I=_,M,R;if(C>_n){var k=uk(C/d*Po(A)),D=uk(C/p*Po(A));(S-=k*2)>_n?(k*=y?1:-1,v+=k,E-=k):(S=0,v=E=(m+h)/2),(w-=D*2)>_n?(D*=y?1:-1,x+=D,b-=D):(w=0,x=b=(m+h)/2)}var T=p*ju(x),$=p*Po(x),N=d*ju(E),H=d*Po(E);if(_>_n){var le=p*ju(b),de=p*Po(b),Ae=d*ju(v),Be=d*Po(v),_e;if(g<Wu)if(_e=Fre(T,$,Ae,Be,le,de,N,H)){var Dt=T-_e[0],Oe=$-_e[1],tt=le-_e[0],oe=de-_e[1],ce=1/Po(hB((Dt*tt+Oe*oe)/(Ua(Dt*Dt+Oe*Oe)*Ua(tt*tt+oe*oe)))/2),pe=Ua(_e[0]*_e[0]+_e[1]*_e[1]);F=$1(_,(d-pe)/(ce-1)),I=$1(_,(p-pe)/(ce+1))}else F=I=0}w>_n?I>_n?(M=B1(Ae,Be,T,$,p,I,y),R=B1(le,de,N,H,p,I,y),a.moveTo(M.cx+M.x01,M.cy+M.y01),I<_?a.arc(M.cx,M.cy,I,zn(M.y01,M.x01),zn(R.y01,R.x01),!y):(a.arc(M.cx,M.cy,I,zn(M.y01,M.x01),zn(M.y11,M.x11),!y),a.arc(0,0,p,zn(M.cy+M.y11,M.cx+M.x11),zn(R.cy+R.y11,R.cx+R.x11),!y),a.arc(R.cx,R.cy,I,zn(R.y11,R.x11),zn(R.y01,R.x01),!y))):(a.moveTo(T,$),a.arc(0,0,p,x,b,!y)):a.moveTo(T,$),!(d>_n)||!(S>_n)?a.lineTo(N,H):F>_n?(M=B1(N,H,le,de,d,-F,y),R=B1(T,$,Ae,Be,d,-F,y),a.lineTo(M.cx+M.x01,M.cy+M.y01),F<_?a.arc(M.cx,M.cy,F,zn(M.y01,M.x01),zn(R.y01,R.x01),!y):(a.arc(M.cx,M.cy,F,zn(M.y01,M.x01),zn(M.y11,M.x11),!y),a.arc(0,0,d,zn(M.cy+M.y11,M.cx+M.x11),zn(R.cy+R.y11,R.cx+R.x11),y),a.arc(R.cx,R.cy,F,zn(R.y11,R.x11),zn(R.y01,R.x01),!y))):a.arc(0,0,d,E,v,y)}if(a.closePath(),c)return a=null,c+""||null}return l.centroid=function(){var c=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,f=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-Wu/2;return[ju(f)*c,Po(f)*c]},l.innerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:je(+c),l):e},l.outerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:je(+c),l):t},l.cornerRadius=function(c){return arguments.length?(n=typeof c=="function"?c:je(+c),l):n},l.padRadius=function(c){return arguments.length?(r=c==null?null:typeof c=="function"?c:je(+c),l):r},l.startAngle=function(c){return arguments.length?(i=typeof c=="function"?c:je(+c),l):i},l.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:je(+c),l):o},l.padAngle=function(c){return arguments.length?(s=typeof c=="function"?c:je(+c),l):s},l.context=function(c){return arguments.length?(a=c??null,l):a},l}var rIe=Array.prototype.slice;function U1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function yB(e){this._context=e}yB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function yc(e){return new yB(e)}function z1(e){return e[0]}function H1(e){return e[1]}function Zh(e,t){var n=je(!0),r=null,i=yc,o=null,s=Vu(a);e=typeof e=="function"?e:e===void 0?z1:je(e),t=typeof t=="function"?t:t===void 0?H1:je(t);function a(u){var l,c=(u=U1(u)).length,f,d=!1,p;for(r==null&&(o=i(p=s())),l=0;l<=c;++l)!(l<c&&n(f=u[l],l,u))===d&&((d=!d)?o.lineStart():o.lineEnd()),d&&o.point(+e(f,l,u),+t(f,l,u));if(p)return o=null,p+""||null}return a.x=function(u){return arguments.length?(e=typeof u=="function"?u:je(+u),a):e},a.y=function(u){return arguments.length?(t=typeof u=="function"?u:je(+u),a):t},a.defined=function(u){return arguments.length?(n=typeof u=="function"?u:je(!!u),a):n},a.curve=function(u){return arguments.length?(i=u,r!=null&&(o=i(r)),a):i},a.context=function(u){return arguments.length?(u==null?r=o=null:o=i(r=u),a):r},a}function q1(e,t,n){var r=null,i=je(!0),o=null,s=yc,a=null,u=Vu(l);e=typeof e=="function"?e:e===void 0?z1:je(+e),t=typeof t=="function"?t:t===void 0?je(0):je(+t),n=typeof n=="function"?n:n===void 0?H1:je(+n);function l(f){var d,p,m,h=(f=U1(f)).length,g,y=!1,x,b=new Array(h),v=new Array(h);for(o==null&&(a=s(x=u())),d=0;d<=h;++d){if(!(d<h&&i(g=f[d],d,f))===y)if(y=!y)p=d,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),m=d-1;m>=p;--m)a.point(b[m],v[m]);a.lineEnd(),a.areaEnd()}y&&(b[d]=+e(g,d,f),v[d]=+t(g,d,f),a.point(r?+r(g,d,f):b[d],n?+n(g,d,f):v[d]))}if(x)return a=null,x+""||null}function c(){return Zh().defined(i).curve(s).context(o)}return l.x=function(f){return arguments.length?(e=typeof f=="function"?f:je(+f),r=null,l):e},l.x0=function(f){return arguments.length?(e=typeof f=="function"?f:je(+f),l):e},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:je(+f),l):r},l.y=function(f){return arguments.length?(t=typeof f=="function"?f:je(+f),n=null,l):t},l.y0=function(f){return arguments.length?(t=typeof f=="function"?f:je(+f),l):t},l.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:je(+f),l):n},l.lineX0=l.lineY0=function(){return c().x(e).y(t)},l.lineY1=function(){return c().x(e).y(n)},l.lineX1=function(){return c().x(r).y(t)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:je(!!f),l):i},l.curve=function(f){return arguments.length?(s=f,o!=null&&(a=s(o)),l):s},l.context=function(f){return arguments.length?(f==null?o=a=null:a=s(o=f),l):o},l}var xB={draw(e,t){let n=Ua(t/Wu);e.moveTo(n,0),e.arc(0,0,n,0,L1)}};function G1(e,t){let n=null,r=Vu(i);e=typeof e=="function"?e:je(e||xB),t=typeof t=="function"?t:je(t===void 0?64:+t);function i(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(e=typeof o=="function"?o:je(o),i):e},i.size=function(o){return arguments.length?(t=typeof o=="function"?o:je(+o),i):t},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function ro(){}function vd(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function eg(e){this._context=e}eg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:vd(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:vd(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function dk(e){return new eg(e)}function bB(e){this._context=e}bB.prototype={areaStart:ro,areaEnd:ro,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:vd(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function pk(e){return new bB(e)}function vB(e){this._context=e}vB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:vd(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mk(e){return new vB(e)}function EB(e,t){this._basis=new eg(e),this._beta=t}EB.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],o=e[n]-r,s=t[n]-i,a=-1,u;++a<=n;)u=a/n,this._basis.point(this._beta*e[a]+(1-this._beta)*(r+u*o),this._beta*t[a]+(1-this._beta)*(i+u*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var hk=function e(t){function n(r){return t===1?new eg(r):new EB(r,t)}return n.beta=function(r){return e(+r)},n}(.85);function Ed(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function j1(e,t){this._context=e,this._k=(1-t)/6}j1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ed(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Ed(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var gk=function e(t){function n(r){return new j1(r,t)}return n.tension=function(r){return e(+r)},n}(0);function W1(e,t){this._context=e,this._k=(1-t)/6}W1.prototype={areaStart:ro,areaEnd:ro,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Ed(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var yk=function e(t){function n(r){return new W1(r,t)}return n.tension=function(r){return e(+r)},n}(0);function V1(e,t){this._context=e,this._k=(1-t)/6}V1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ed(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var xk=function e(t){function n(r){return new V1(r,t)}return n.tension=function(r){return e(+r)},n}(0);function tg(e,t,n){var r=e._x1,i=e._y1,o=e._x2,s=e._y2;if(e._l01_a>_n){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,u=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/u,i=(i*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/u}if(e._l23_a>_n){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,c=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*l+e._x1*e._l23_2a-t*e._l12_2a)/c,s=(s*l+e._y1*e._l23_2a-n*e._l12_2a)/c}e._context.bezierCurveTo(r,i,o,s,e._x2,e._y2)}function wB(e,t){this._context=e,this._alpha=t}wB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:tg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var bk=function e(t){function n(r){return t?new wB(r,t):new j1(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function SB(e,t){this._context=e,this._alpha=t}SB.prototype={areaStart:ro,areaEnd:ro,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:tg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var vk=function e(t){function n(r){return t?new SB(r,t):new W1(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function AB(e,t){this._context=e,this._alpha=t}AB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:tg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ek=function e(t){function n(r){return t?new AB(r,t):new V1(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function _B(e){this._context=e}_B.prototype={areaStart:ro,areaEnd:ro,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function wk(e){return new _B(e)}function CB(e){return e<0?-1:1}function kB(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),s=(n-e._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(CB(o)+CB(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function FB(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Sk(e,t,n){var r=e._x0,i=e._y0,o=e._x1,s=e._y1,a=(o-r)/3;e._context.bezierCurveTo(r+a,i+a*t,o-a,s-a*n,o,s)}function Y1(e){this._context=e}Y1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Sk(this,this._t0,FB(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Sk(this,FB(this,n=kB(this,e,t)),n);break;default:Sk(this,this._t0,n=kB(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function TB(e){this._context=new RB(e)}(TB.prototype=Object.create(Y1.prototype)).point=function(e,t){Y1.prototype.point.call(this,t,e)};function RB(e){this._context=e}RB.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function Ak(e){return new Y1(e)}function _k(e){return new TB(e)}function MB(e){this._context=e}MB.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=DB(e),i=DB(t),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function DB(e){var t,n=e.length-1,r,i=new Array(n),o=new Array(n),s=new Array(n);for(i[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,o[t]=4,s[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,o[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/o[t-1],o[t]-=r,s[t]-=r*s[t-1];for(i[n-1]=s[n-1]/o[n-1],t=n-2;t>=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function Ck(e){return new MB(e)}function X1(e,t){this._context=e,this._t=t}X1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function kk(e){return new X1(e,.5)}function Fk(e){return new X1(e,0)}function Tk(e){return new X1(e,1)}function io(e,t){if(typeof document<"u"&&document.createElement){let n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}var IB=()=>typeof Image<"u"?Image:null;function nn(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Bs(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var wd=Symbol("implicit");function xc(){var e=new rd,t=[],n=[],r=wd;function i(o){let s=e.get(o);if(s===void 0){if(r!==wd)return r;e.set(o,s=t.push(o)-1)}return n[s%n.length]}return i.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new rd;for(let s of o)e.has(s)||e.set(s,t.push(s)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return xc(t,n).unknown(r)},nn.apply(i,arguments),i}var qk={};rr(qk,{interpolate:()=>ar,interpolateArray:()=>o6,interpolateBasis:()=>rb,interpolateBasisClosed:()=>ib,interpolateCubehelix:()=>S6,interpolateCubehelixLong:()=>A6,interpolateDate:()=>sb,interpolateDiscrete:()=>s6,interpolateHcl:()=>v6,interpolateHclLong:()=>E6,interpolateHsl:()=>y6,interpolateHslLong:()=>x6,interpolateHue:()=>a6,interpolateLab:()=>Hk,interpolateNumber:()=>ur,interpolateNumberArray:()=>kd,interpolateObject:()=>ab,interpolateRgb:()=>og,interpolateRgbBasis:()=>r6,interpolateRgbBasisClosed:()=>i6,interpolateRound:()=>qs,interpolateString:()=>ub,interpolateTransformCss:()=>d6,interpolateTransformSvg:()=>p6,interpolateZoom:()=>h6,piecewise:()=>_c,quantize:()=>_6});function za(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Yu(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function zs(){}var Xu=.7,Ec=1/Xu,Sd="\\s*([+-]?\\d+)\\s*",ng="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Us="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Rre=/^#([0-9a-f]{3,8})$/,Dre=new RegExp(`^rgb\\(${Sd},${Sd},${Sd}\\)$`),Mre=new RegExp(`^rgb\\(${Us},${Us},${Us}\\)$`),Ire=new RegExp(`^rgba\\(${Sd},${Sd},${Sd},${ng}\\)$`),Nre=new RegExp(`^rgba\\(${Us},${Us},${Us},${ng}\\)$`),Ore=new RegExp(`^hsl\\(${ng},${Us},${Us}\\)$`),Pre=new RegExp(`^hsla\\(${ng},${Us},${Us},${ng}\\)$`),NB={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};za(zs,Ku,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:OB,formatHex:OB,formatHex8:$re,formatHsl:Lre,formatRgb:PB,toString:PB});function OB(){return this.rgb().formatHex()}function $re(){return this.rgb().formatHex8()}function Lre(){return HB(this).formatHsl()}function PB(){return this.rgb().formatRgb()}function Ku(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Rre.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?$B(t):n===3?new rn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?K1(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?K1(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Dre.exec(e))?new rn(t[1],t[2],t[3],1):(t=Mre.exec(e))?new rn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ire.exec(e))?K1(t[1],t[2],t[3],t[4]):(t=Nre.exec(e))?K1(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Ore.exec(e))?UB(t[1],t[2]/100,t[3]/100,1):(t=Pre.exec(e))?UB(t[1],t[2]/100,t[3]/100,t[4]):NB.hasOwnProperty(e)?$B(NB[e]):e==="transparent"?new rn(NaN,NaN,NaN,0):null}function $B(e){return new rn(e>>16&255,e>>8&255,e&255,1)}function K1(e,t,n,r){return r<=0&&(e=t=n=NaN),new rn(e,t,n,r)}function rg(e){return e instanceof zs||(e=Ku(e)),e?(e=e.rgb(),new rn(e.r,e.g,e.b,e.opacity)):new rn}function oo(e,t,n,r){return arguments.length===1?rg(e):new rn(e,t,n,r??1)}function rn(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}za(rn,oo,Yu(zs,{brighter(e){return e=e==null?Ec:Math.pow(Ec,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Xu:Math.pow(Xu,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rn(vc(this.r),vc(this.g),vc(this.b),J1(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:LB,formatHex:LB,formatHex8:Bre,formatRgb:BB,toString:BB}));function LB(){return`#${bc(this.r)}${bc(this.g)}${bc(this.b)}`}function Bre(){return`#${bc(this.r)}${bc(this.g)}${bc(this.b)}${bc((isNaN(this.opacity)?1:this.opacity)*255)}`}function BB(){let e=J1(this.opacity);return`${e===1?"rgb(":"rgba("}${vc(this.r)}, ${vc(this.g)}, ${vc(this.b)}${e===1?")":`, ${e})`}`}function J1(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function vc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function bc(e){return e=vc(e),(e<16?"0":"")+e.toString(16)}function UB(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new $o(e,t,n,r)}function HB(e){if(e instanceof $o)return new $o(e.h,e.s,e.l,e.opacity);if(e instanceof zs||(e=Ku(e)),!e)return new $o;if(e instanceof $o)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,u=(o+i)/2;return a?(t===o?s=(n-r)/a+(n<r)*6:n===o?s=(r-t)/a+2:s=(t-n)/a+4,a/=u<.5?o+i:2-o-i,s*=60):a=u>0&&u<1?0:s,new $o(s,a,u,e.opacity)}function wc(e,t,n,r){return arguments.length===1?HB(e):new $o(e,t,n,r??1)}function $o(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}za($o,wc,Yu(zs,{brighter(e){return e=e==null?Ec:Math.pow(Ec,e),new $o(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xu:Math.pow(Xu,e),new $o(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new rn(Rk(e>=240?e-240:e+120,i,r),Rk(e,i,r),Rk(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new $o(zB(this.h),Q1(this.s),Q1(this.l),J1(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(){let e=J1(this.opacity);return`${e===1?"hsl(":"hsla("}${zB(this.h)}, ${Q1(this.s)*100}%, ${Q1(this.l)*100}%${e===1?")":`, ${e})`}`}}));function zB(e){return e=(e||0)%360,e<0?e+360:e}function Q1(e){return Math.max(0,Math.min(1,e||0))}function Rk(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Z1=Math.PI/180,eb=180/Math.PI;var tb=18,qB=.96422,GB=1,jB=.82521,WB=4/29,Ad=6/29,VB=3*Ad*Ad,Ure=Ad*Ad*Ad;function YB(e){if(e instanceof Hs)return new Hs(e.l,e.a,e.b,e.opacity);if(e instanceof Ha)return XB(e);e instanceof rn||(e=rg(e));var t=Nk(e.r),n=Nk(e.g),r=Nk(e.b),i=Dk((.2225045*t+.7168786*n+.0606169*r)/GB),o,s;return t===n&&n===r?o=s=i:(o=Dk((.4360747*t+.3850649*n+.1430804*r)/qB),s=Dk((.0139322*t+.0971045*n+.7141733*r)/jB)),new Hs(116*i-16,500*(o-i),200*(i-s),e.opacity)}function Qu(e,t,n,r){return arguments.length===1?YB(e):new Hs(e,t,n,r??1)}function Hs(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}za(Hs,Qu,Yu(zs,{brighter(e){return new Hs(this.l+tb*(e??1),this.a,this.b,this.opacity)},darker(e){return new Hs(this.l-tb*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=qB*Mk(t),e=GB*Mk(e),n=jB*Mk(n),new rn(Ik(3.1338561*t-1.6168667*e-.4906146*n),Ik(-.9787684*t+1.9161415*e+.033454*n),Ik(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function Dk(e){return e>Ure?Math.pow(e,1/3):e/VB+WB}function Mk(e){return e>Ad?e*e*e:VB*(e-WB)}function Ik(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Nk(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function zre(e){if(e instanceof Ha)return new Ha(e.h,e.c,e.l,e.opacity);if(e instanceof Hs||(e=YB(e)),e.a===0&&e.b===0)return new Ha(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*eb;return new Ha(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Sc(e,t,n,r){return arguments.length===1?zre(e):new Ha(e,t,n,r??1)}function Ha(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function XB(e){if(isNaN(e.h))return new Hs(e.l,0,0,e.opacity);var t=e.h*Z1;return new Hs(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}za(Ha,Sc,Yu(zs,{brighter(e){return new Ha(this.h,this.c,this.l+tb*(e??1),this.opacity)},darker(e){return new Ha(this.h,this.c,this.l-tb*(e??1),this.opacity)},rgb(){return XB(this).rgb()}}));var ZB=-.14861,Ok=1.78277,Pk=-.29227,nb=-.90649,ig=1.97294,KB=ig*nb,QB=ig*Ok,JB=Ok*Pk-nb*ZB;function Hre(e){if(e instanceof Ac)return new Ac(e.h,e.s,e.l,e.opacity);e instanceof rn||(e=rg(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(JB*r+KB*t-QB*n)/(JB+KB-QB),o=r-i,s=(ig*(n-i)-Pk*o)/nb,a=Math.sqrt(s*s+o*o)/(ig*i*(1-i)),u=a?Math.atan2(s,o)*eb-120:NaN;return new Ac(u<0?u+360:u,a,i,e.opacity)}function _d(e,t,n,r){return arguments.length===1?Hre(e):new Ac(e,t,n,r??1)}function Ac(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}za(Ac,_d,Yu(zs,{brighter(e){return e=e==null?Ec:Math.pow(Ec,e),new Ac(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Xu:Math.pow(Xu,e),new Ac(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*Z1,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new rn(255*(t+n*(ZB*r+Ok*i)),255*(t+n*(Pk*r+nb*i)),255*(t+n*(ig*r)),this.opacity)}}));function $k(e,t,n,r,i){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*i)/6}function rb(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],s=r>0?e[r-1]:2*i-o,a=r<t-1?e[r+2]:2*o-i;return $k((n-r/t)*t,s,i,o,a)}}function ib(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],s=e[(r+1)%t],a=e[(r+2)%t];return $k((n-r/t)*t,i,o,s,a)}}var Cd=e=>()=>e;function e6(e,t){return function(n){return e+n*t}}function qre(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ju(e,t){var n=t-e;return n?e6(e,n>180||n<-180?n-360*Math.round(n/360):n):Cd(isNaN(e)?t:e)}function t6(e){return(e=+e)==1?kt:function(t,n){return n-t?qre(t,n,e):Cd(isNaN(t)?n:t)}}function kt(e,t){var n=t-e;return n?e6(e,n):Cd(isNaN(e)?t:e)}var og=function e(t){var n=t6(t);function r(i,o){var s=n((i=oo(i)).r,(o=oo(o)).r),a=n(i.g,o.g),u=n(i.b,o.b),l=kt(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=a(c),i.b=u(c),i.opacity=l(c),i+""}}return r.gamma=e,r}(1);function n6(e){return function(t){var n=t.length,r=new Array(n),i=new Array(n),o=new Array(n),s,a;for(s=0;s<n;++s)a=oo(t[s]),r[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return r=e(r),i=e(i),o=e(o),a.opacity=1,function(u){return a.r=r(u),a.g=i(u),a.b=o(u),a+""}}}var r6=n6(rb),i6=n6(ib);function kd(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=e[i]*(1-o)+t[i]*o;return r}}function ob(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function o6(e,t){return(ob(t)?kd:Lk)(e,t)}function Lk(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n),s;for(s=0;s<r;++s)i[s]=ar(e[s],t[s]);for(;s<n;++s)o[s]=t[s];return function(a){for(s=0;s<r;++s)o[s]=i[s](a);return o}}function sb(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ur(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function ab(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=ar(e[i],t[i]):r[i]=t[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var Uk=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Bk=new RegExp(Uk.source,"g");function Gre(e){return function(){return e}}function jre(e){return function(t){return e(t)+""}}function ub(e,t){var n=Uk.lastIndex=Bk.lastIndex=0,r,i,o,s=-1,a=[],u=[];for(e=e+"",t=t+"";(r=Uk.exec(e))&&(i=Bk.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,u.push({i:s,x:ur(r,i)})),n=Bk.lastIndex;return n<t.length&&(o=t.slice(n),a[s]?a[s]+=o:a[++s]=o),a.length<2?u[0]?jre(u[0].x):Gre(t):(t=u.length,function(l){for(var c=0,f;c<t;++c)a[(f=u[c]).i]=f.x(l);return a.join("")})}function ar(e,t){var n=typeof t,r;return t==null||n==="boolean"?Cd(t):(n==="number"?ur:n==="string"?(r=Ku(t))?(t=r,og):ub:t instanceof Ku?og:t instanceof Date?sb:ob(t)?kd:Array.isArray(t)?Lk:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?ab:ur)(e,t)}function s6(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function a6(e,t){var n=Ju(+e,+t);return function(r){var i=n(r);return i-360*Math.floor(i/360)}}function qs(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var u6=180/Math.PI,lb={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function zk(e,t,n,r,i,o){var s,a,u;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(u=e*n+t*r)&&(n-=e*u,r-=t*u),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,u/=a),e*r<t*n&&(e=-e,t=-t,u=-u,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*u6,skewX:Math.atan(u)*u6,scaleX:s,scaleY:a}}var cb;function l6(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?lb:zk(t.a,t.b,t.c,t.d,t.e,t.f)}function c6(e){return e==null?lb:(cb||(cb=document.createElementNS("http://www.w3.org/2000/svg","g")),cb.setAttribute("transform",e),(e=cb.transform.baseVal.consolidate())?(e=e.matrix,zk(e.a,e.b,e.c,e.d,e.e,e.f)):lb)}function f6(e,t,n,r){function i(l){return l.length?l.pop()+" ":""}function o(l,c,f,d,p,m){if(l!==f||c!==d){var h=p.push("translate(",null,t,null,n);m.push({i:h-4,x:ur(l,f)},{i:h-2,x:ur(c,d)})}else(f||d)&&p.push("translate("+f+t+d+n)}function s(l,c,f,d){l!==c?(l-c>180?c+=360:c-l>180&&(l+=360),d.push({i:f.push(i(f)+"rotate(",null,r)-2,x:ur(l,c)})):c&&f.push(i(f)+"rotate("+c+r)}function a(l,c,f,d){l!==c?d.push({i:f.push(i(f)+"skewX(",null,r)-2,x:ur(l,c)}):c&&f.push(i(f)+"skewX("+c+r)}function u(l,c,f,d,p,m){if(l!==f||c!==d){var h=p.push(i(p)+"scale(",null,",",null,")");m.push({i:h-4,x:ur(l,f)},{i:h-2,x:ur(c,d)})}else(f!==1||d!==1)&&p.push(i(p)+"scale("+f+","+d+")")}return function(l,c){var f=[],d=[];return l=e(l),c=e(c),o(l.translateX,l.translateY,c.translateX,c.translateY,f,d),s(l.rotate,c.rotate,f,d),a(l.skewX,c.skewX,f,d),u(l.scaleX,l.scaleY,c.scaleX,c.scaleY,f,d),l=c=null,function(p){for(var m=-1,h=d.length,g;++m<h;)f[(g=d[m]).i]=g.x(p);return f.join("")}}}var d6=f6(l6,"px, ","px)","deg)"),p6=f6(c6,", ",")",")");var Wre=1e-12;function m6(e){return((e=Math.exp(e))+1/e)/2}function Vre(e){return((e=Math.exp(e))-1/e)/2}function Yre(e){return((e=Math.exp(2*e))-1)/(e+1)}var h6=function e(t,n,r){function i(o,s){var a=o[0],u=o[1],l=o[2],c=s[0],f=s[1],d=s[2],p=c-a,m=f-u,h=p*p+m*m,g,y;if(h<Wre)y=Math.log(d/l)/t,g=function(w){return[a+w*p,u+w*m,l*Math.exp(t*w*y)]};else{var x=Math.sqrt(h),b=(d*d-l*l+r*h)/(2*l*n*x),v=(d*d-l*l-r*h)/(2*d*n*x),E=Math.log(Math.sqrt(b*b+1)-b),S=Math.log(Math.sqrt(v*v+1)-v);y=(S-E)/t,g=function(w){var A=w*y,C=m6(E),_=l/(n*x)*(C*Yre(t*A+E)-Vre(E));return[a+_*p,u+_*m,l*C/m6(t*A+E)]}}return g.duration=y*1e3*t/Math.SQRT2,g}return i.rho=function(o){var s=Math.max(.001,+o),a=s*s,u=a*a;return e(s,a,u)},i}(Math.SQRT2,2,4);function g6(e){return function(t,n){var r=e((t=wc(t)).h,(n=wc(n)).h),i=kt(t.s,n.s),o=kt(t.l,n.l),s=kt(t.opacity,n.opacity);return function(a){return t.h=r(a),t.s=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var y6=g6(Ju),x6=g6(kt);function Hk(e,t){var n=kt((e=Qu(e)).l,(t=Qu(t)).l),r=kt(e.a,t.a),i=kt(e.b,t.b),o=kt(e.opacity,t.opacity);return function(s){return e.l=n(s),e.a=r(s),e.b=i(s),e.opacity=o(s),e+""}}function b6(e){return function(t,n){var r=e((t=Sc(t)).h,(n=Sc(n)).h),i=kt(t.c,n.c),o=kt(t.l,n.l),s=kt(t.opacity,n.opacity);return function(a){return t.h=r(a),t.c=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var v6=b6(Ju),E6=b6(kt);function w6(e){return function t(n){n=+n;function r(i,o){var s=e((i=_d(i)).h,(o=_d(o)).h),a=kt(i.s,o.s),u=kt(i.l,o.l),l=kt(i.opacity,o.opacity);return function(c){return i.h=s(c),i.s=a(c),i.l=u(Math.pow(c,n)),i.opacity=l(c),i+""}}return r.gamma=t,r}(1)}var S6=w6(Ju),A6=w6(kt);function _c(e,t){t===void 0&&(t=e,e=ar);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return o[a](s-a)}}function _6(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}function Gk(e){return function(){return e}}function Fd(e){return+e}var C6=[0,1];function Hn(e){return e}function jk(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Gk(isNaN(t)?NaN:.5)}function Xre(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function Kre(e,t,n){var r=e[0],i=e[1],o=t[0],s=t[1];return i<r?(r=jk(i,r),o=n(s,o)):(r=jk(r,i),o=n(o,s)),function(a){return o(r(a))}}function Qre(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)i[s]=jk(e[s],e[s+1]),o[s]=n(t[s],t[s+1]);return function(a){var u=No(e,a,1,r)-1;return o[u](i[u](a))}}function Gs(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Cc(){var e=C6,t=C6,n=ar,r,i,o,s=Hn,a,u,l;function c(){var d=Math.min(e.length,t.length);return s!==Hn&&(s=Xre(e[0],e[d-1])),a=d>2?Qre:Kre,u=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(u||(u=a(e.map(r),t,n)))(r(s(d)))}return f.invert=function(d){return s(i((l||(l=a(t,e.map(r),ur)))(d)))},f.domain=function(d){return arguments.length?(e=Array.from(d,Fd),c()):e.slice()},f.range=function(d){return arguments.length?(t=Array.from(d),c()):t.slice()},f.rangeRound=function(d){return t=Array.from(d),n=qs,c()},f.clamp=function(d){return arguments.length?(s=d?!0:Hn,c()):s!==Hn},f.interpolate=function(d){return arguments.length?(n=d,c()):n},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return r=d,i=p,c()}}function sg(){return Cc()(Hn,Hn)}function Td(e,t,n,r){var i=Dr(e,t,n),o;switch(r=Fi(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=Sh(i,s))&&(r.precision=o),ad(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=Ah(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=wh(i))&&(r.precision=o-(r.type==="%")*2);break}}return Nu(r)}function Ri(e){var t=e.domain;return e.ticks=function(n){var r=t();return nc(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return Td(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,s=r[i],a=r[o],u,l,c=10;for(a<s&&(l=s,s=a,a=l,l=i,i=o,o=l);c-- >0;){if(l=xh(s,a,n),l===u)return r[i]=s,r[o]=a,t(r);if(l>0)s=Math.floor(s/l)*l,a=Math.ceil(a/l)*l;else if(l<0)s=Math.ceil(s*l)/l,a=Math.floor(a*l)/l;else break;u=l}return e},e}function ag(){var e=sg();return e.copy=function(){return Gs(e,ag())},nn.apply(e,arguments),Ri(e)}function ug(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,Fd),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return ug(e).unknown(t)},e=arguments.length?Array.from(e,Fd):[0,1],Ri(n)}function lg(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],s;return o<i&&(s=n,n=r,r=s,s=i,i=o,o=s),e[n]=t.floor(i),e[r]=t.ceil(o),e}function k6(e){return Math.log(e)}function F6(e){return Math.exp(e)}function Jre(e){return-Math.log(-e)}function Zre(e){return-Math.exp(-e)}function eie(e){return isFinite(e)?+("1e"+e):e<0?0:e}function tie(e){return e===10?eie:e===Math.E?Math.exp:t=>Math.pow(e,t)}function nie(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function T6(e){return(t,n)=>-e(-t,n)}function cg(e){let t=e(k6,F6),n=t.domain,r=10,i,o;function s(){return i=nie(r),o=tie(r),n()[0]<0?(i=T6(i),o=T6(o),e(Jre,Zre)):e(k6,F6),t}return t.base=function(a){return arguments.length?(r=+a,s()):r},t.domain=function(a){return arguments.length?(n(a),s()):n()},t.ticks=a=>{let u=n(),l=u[0],c=u[u.length-1],f=c<l;f&&([l,c]=[c,l]);let d=i(l),p=i(c),m,h,g=a==null?10:+a,y=[];if(!(r%1)&&p-d<g){if(d=Math.floor(d),p=Math.ceil(p),l>0){for(;d<=p;++d)for(m=1;m<r;++m)if(h=d<0?m/o(-d):m*o(d),!(h<l)){if(h>c)break;y.push(h)}}else for(;d<=p;++d)for(m=r-1;m>=1;--m)if(h=d>0?m/o(-d):m*o(d),!(h<l)){if(h>c)break;y.push(h)}y.length*2<g&&(y=nc(l,c,g))}else y=nc(d,p,Math.min(p-d,g)).map(o);return f?y.reverse():y},t.tickFormat=(a,u)=>{if(a==null&&(a=10),u==null&&(u=r===10?"s":","),typeof u!="function"&&(!(r%1)&&(u=Fi(u)).precision==null&&(u.trim=!0),u=Nu(u)),a===1/0)return u;let l=Math.max(1,r*a/t.ticks().length);return c=>{let f=c/o(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=l?u(c):""}},t.nice=()=>n(lg(n(),{floor:a=>o(Math.floor(i(a))),ceil:a=>o(Math.ceil(i(a)))})),t}function fg(){let e=cg(Cc()).domain([1,10]);return e.copy=()=>Gs(e,fg()).base(e.base()),nn.apply(e,arguments),e}function R6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function D6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function dg(e){var t=1,n=e(R6(t),D6(t));return n.constant=function(r){return arguments.length?e(R6(t=+r),D6(t)):t},Ri(n)}function pg(){var e=dg(Cc());return e.copy=function(){return Gs(e,pg()).constant(e.constant())},nn.apply(e,arguments)}function M6(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function rie(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function iie(e){return e<0?-e*e:e*e}function mg(e){var t=e(Hn,Hn),n=1;function r(){return n===1?e(Hn,Hn):n===.5?e(rie,iie):e(M6(n),M6(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Ri(t)}function Rd(){var e=mg(Cc());return e.copy=function(){return Gs(e,Rd()).exponent(e.exponent())},nn.apply(e,arguments),e}function Wk(){return Rd.apply(null,arguments).exponent(.5)}function hg(){var e=[],t=[],n=[],r;function i(){var s=0,a=Math.max(1,t.length);for(n=new Array(a-1);++s<a;)n[s-1]=vh(e,s/a);return o}function o(s){return s==null||isNaN(s=+s)?r:t[No(n,s)]}return o.invertExtent=function(s){var a=t.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:e[0],a<n.length?n[a]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let a of s)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(or),i()},o.range=function(s){return arguments.length?(t=Array.from(s),i()):t.slice()},o.unknown=function(s){return arguments.length?(r=s,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return hg().domain(e).range(t).unknown(r)},nn.apply(o,arguments)}function gg(){var e=0,t=1,n=1,r=[.5],i=[0,1],o;function s(u){return u!=null&&u<=u?i[No(r,u,0,n)]:o}function a(){var u=-1;for(r=new Array(n);++u<n;)r[u]=((u+1)*t-(u-n)*e)/(n+1);return s}return s.domain=function(u){return arguments.length?([e,t]=u,e=+e,t=+t,a()):[e,t]},s.range=function(u){return arguments.length?(n=(i=Array.from(u)).length-1,a()):i.slice()},s.invertExtent=function(u){var l=i.indexOf(u);return l<0?[NaN,NaN]:l<1?[e,r[0]]:l>=n?[r[n-1],t]:[r[l-1],r[l]]},s.unknown=function(u){return arguments.length&&(o=u),s},s.thresholds=function(){return r.slice()},s.copy=function(){return gg().domain([e,t]).range(i).unknown(o)},nn.apply(Ri(s),arguments)}function yg(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[No(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return yg().domain(e).range(t).unknown(n)},nn.apply(i,arguments)}function oie(e){return new Date(e)}function sie(e){return e instanceof Date?+e:+new Date(+e)}function fb(e,t,n,r,i,o,s,a,u,l){var c=sg(),f=c.invert,d=c.domain,p=l(".%L"),m=l(":%S"),h=l("%I:%M"),g=l("%I %p"),y=l("%a %d"),x=l("%b %d"),b=l("%B"),v=l("%Y");function E(S){return(u(S)<S?p:a(S)<S?m:s(S)<S?h:o(S)<S?g:r(S)<S?i(S)<S?y:x:n(S)<S?b:v)(S)}return c.invert=function(S){return new Date(f(S))},c.domain=function(S){return arguments.length?d(Array.from(S,sie)):d().map(oie)},c.ticks=function(S){var w=d();return e(w[0],w[w.length-1],S??10)},c.tickFormat=function(S,w){return w==null?E:l(w)},c.nice=function(S){var w=d();return(!S||typeof S.range!="function")&&(S=t(w[0],w[w.length-1],S??10)),S?d(lg(w,S)):c},c.copy=function(){return Gs(c,fb(e,t,n,r,i,o,s,a,u,l))},c}function db(){return nn.apply(fb(L2,B2,Mr,Ma,eo,ii,$u,Ou,sr,pd).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function pb(){return nn.apply(fb(P2,$2,Ir,Ia,to,Zi,Lu,Pu,sr,md).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function mb(){var e=0,t=1,n,r,i,o,s=Hn,a=!1,u;function l(f){return f==null||isNaN(f=+f)?u:s(i===0?.5:(f=(o(f)-n)*i,a?Math.max(0,Math.min(1,f)):f))}l.domain=function(f){return arguments.length?([e,t]=f,n=o(e=+e),r=o(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(f){return arguments.length?(a=!!f,l):a},l.interpolator=function(f){return arguments.length?(s=f,l):s};function c(f){return function(d){var p,m;return arguments.length?([p,m]=d,s=f(p,m),l):[s(0),s(1)]}}return l.range=c(ar),l.rangeRound=c(qs),l.unknown=function(f){return arguments.length?(u=f,l):u},function(f){return o=f,n=f(e),r=f(t),i=n===r?0:1/(r-n),l}}function qa(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Dd(){var e=Ri(mb()(Hn));return e.copy=function(){return qa(e,Dd())},Bs.apply(e,arguments)}function hb(){var e=cg(mb()).domain([1,10]);return e.copy=function(){return qa(e,hb()).base(e.base())},Bs.apply(e,arguments)}function gb(){var e=dg(mb());return e.copy=function(){return qa(e,gb()).constant(e.constant())},Bs.apply(e,arguments)}function xg(){var e=mg(mb());return e.copy=function(){return qa(e,xg()).exponent(e.exponent())},Bs.apply(e,arguments)}function Vk(){return xg.apply(null,arguments).exponent(.5)}function yb(){var e=0,t=.5,n=1,r=1,i,o,s,a,u,l=Hn,c,f=!1,d;function p(h){return isNaN(h=+h)?d:(h=.5+((h=+c(h))-o)*(r*h<r*o?a:u),l(f?Math.max(0,Math.min(1,h)):h))}p.domain=function(h){return arguments.length?([e,t,n]=h,i=c(e=+e),o=c(t=+t),s=c(n=+n),a=i===o?0:.5/(o-i),u=o===s?0:.5/(s-o),r=o<i?-1:1,p):[e,t,n]},p.clamp=function(h){return arguments.length?(f=!!h,p):f},p.interpolator=function(h){return arguments.length?(l=h,p):l};function m(h){return function(g){var y,x,b;return arguments.length?([y,x,b]=g,l=_c(h,[y,x,b]),p):[l(0),l(.5),l(1)]}}return p.range=m(ar),p.rangeRound=m(qs),p.unknown=function(h){return arguments.length?(d=h,p):d},function(h){return c=h,i=h(e),o=h(t),s=h(n),a=i===o?0:.5/(o-i),u=o===s?0:.5/(s-o),r=o<i?-1:1,p}}function bg(){var e=Ri(yb()(Hn));return e.copy=function(){return qa(e,bg())},Bs.apply(e,arguments)}function xb(){var e=cg(yb()).domain([.1,1,10]);return e.copy=function(){return qa(e,xb()).base(e.base())},Bs.apply(e,arguments)}function bb(){var e=dg(yb());return e.copy=function(){return qa(e,bb()).constant(e.constant())},Bs.apply(e,arguments)}function vg(){var e=mg(yb());return e.copy=function(){return qa(e,vg()).exponent(e.exponent())},Bs.apply(e,arguments)}function Yk(){return vg.apply(null,arguments).exponent(.5)}function on(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}var Xk=on("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var Kk=on("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var Qk=on("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var Jk=on("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var Zk=on("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var eF=on("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var tF=on("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var nF=on("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var rF=on("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var iF=on("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function Eg(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var uie="identity",Fc="linear",js="log",Md="pow",Id="sqrt",wg="symlog",Zu="time",el="utc",Lo="sequential",Tc="diverging",kc="quantile",Sg="quantize",Ag="threshold",Eb="ordinal",wb="point",sF="band",Sb="bin-ordinal",mn="continuous",_g="discrete",Cg="discretizing",so="interpolating",aF="temporal";function lie(e){return function(t){let n=t[0],r=t[1],i;return r<n&&(i=n,n=r,r=i),[e.invert(n),e.invert(r)]}}function cie(e){return function(t){let n=e.range(),r=t[0],i=t[1],o=-1,s,a,u,l;for(i<r&&(a=r,r=i,i=a),u=0,l=n.length;u<l;++u)n[u]>=r&&n[u]<=i&&(o<0&&(o=u),s=u);if(!(o<0))return r=e.invertExtent(n[o]),i=e.invertExtent(n[s]),[r[0]===void 0?r[1]:r[0],i[1]===void 0?i[0]:i[1]]}}function uF(){let e=xc().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,o,s=!1,a=0,u=0,l=.5;delete e.unknown;function c(){let f=t().length,d=r[1]<r[0],p=r[1-d],m=Eg(f,a,u),h=r[d-0];i=(p-h)/(m||1),s&&(i=Math.floor(i)),h+=(p-h-i*(f-a))*l,o=i*(1-a),s&&(h=Math.round(h),o=Math.round(o));let g=Yt(f).map(y=>h+i*y);return n(d?g.reverse():g)}return e.domain=function(f){return arguments.length?(t(f),c()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],c()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],s=!0,c()},e.bandwidth=function(){return o},e.step=function(){return i},e.round=function(f){return arguments.length?(s=!!f,c()):s},e.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),a=u,c()):a},e.paddingInner=function(f){return arguments.length?(a=Math.max(0,Math.min(1,f)),c()):a},e.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},e.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},e.invertRange=function(f){if(f[0]==null||f[1]==null)return;let d=r[1]<r[0],p=d?n().reverse():n(),m=p.length-1,h=+f[0],g=+f[1],y,x,b;if(!(h!==h||g!==g)&&(g<h&&(b=h,h=g,g=b),!(g<p[0]||h>r[1-d])))return y=Math.max(0,tc(p,h)-1),x=h===g?y:tc(p,g)-1,h-p[y]>o+1e-10&&++y,d&&(b=y,y=m-x,x=m-b),y>x?void 0:t().slice(y,x+1)},e.invert=function(f){let d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return uF().domain(t()).range(r).round(s).paddingInner(a).paddingOuter(u).align(l)},c()}function P6(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return P6(t())},e}function fie(){return P6(uF().paddingInner(1))}var die=Array.prototype.map;function pie(e){return die.call(e,Vt)}var mie=Array.prototype.slice;function $6(){let e=[],t=[];function n(r){return r==null||r!==r?void 0:t[(No(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=pie(r),n):e.slice()},n.range=function(r){return arguments.length?(t=mie.call(r),n):t.slice()},n.tickFormat=function(r,i){return Td(e[0],De(e),r??10,i)},n.copy=function(){return $6().domain(n.domain()).range(n.range())},n}var vb=new Map,L6=Symbol("vega_scale");function lF(e){return e[L6]=!0,e}function cF(e){return e&&e[L6]===!0}function hie(e,t,n){let r=function(){let o=t();return o.invertRange||(o.invertRange=o.invert?lie(o):o.invertExtent?cie(o):void 0),o.type=e,lF(o)};return r.metadata=en(Z(n)),r}function ze(e,t,n){return arguments.length>1?(vb.set(e,hie(e,t,n)),this):fF(e)?vb.get(e):void 0}ze(uie,ug);ze(Fc,ag,mn);ze(js,fg,[mn,js]);ze(Md,Rd,mn);ze(Id,Wk,mn);ze(wg,pg,mn);ze(Zu,db,[mn,aF]);ze(el,pb,[mn,aF]);ze(Lo,Dd,[mn,so]);ze(`${Lo}-${Fc}`,Dd,[mn,so]);ze(`${Lo}-${js}`,hb,[mn,so,js]);ze(`${Lo}-${Md}`,xg,[mn,so]);ze(`${Lo}-${Id}`,Vk,[mn,so]);ze(`${Lo}-${wg}`,gb,[mn,so]);ze(`${Tc}-${Fc}`,bg,[mn,so]);ze(`${Tc}-${js}`,xb,[mn,so,js]);ze(`${Tc}-${Md}`,vg,[mn,so]);ze(`${Tc}-${Id}`,Yk,[mn,so]);ze(`${Tc}-${wg}`,bb,[mn,so]);ze(kc,hg,[Cg,kc]);ze(Sg,gg,Cg);ze(Ag,yg,Cg);ze(Sb,$6,[_g,Cg]);ze(Eb,xc,_g);ze(sF,uF,_g);ze(wb,fie,_g);function fF(e){return vb.has(e)}function Rc(e,t){let n=vb.get(e);return n&&n.metadata[t]}function kg(e){return Rc(e,mn)}function tl(e){return Rc(e,_g)}function Ab(e){return Rc(e,Cg)}function dF(e){return Rc(e,js)}function gie(e){return Rc(e,aF)}function pF(e){return Rc(e,so)}function mF(e){return Rc(e,kc)}var yie=["clamp","base","constant","exponent"];function _b(e,t){let n=t[0],r=De(t)-n;return function(i){return e(n+i*r)}}function Nd(e,t,n){return _c(Fg(t||"rgb",n),e)}function Cb(e,t){let n=new Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function kb(e,t,n){let r=n-t,i,o,s;return!r||!Number.isFinite(r)?_t(.5):(i=(o=e.type).indexOf("-"),o=i<0?o:o.slice(i+1),s=ze(o)().domain([t,n]).range([0,1]),yie.forEach(a=>e[a]?s[a](e[a]()):0),s)}function Fg(e,t){let n=qk[xie(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function xie(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}var bie={blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},vie={accent:Kk,category10:Xk,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Qk,observable10:Jk,paired:Zk,pastel1:eF,pastel2:tF,set1:nF,set2:rF,set3:iF,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function B6(e){if(O(e))return e;let t=e.length/6|0,n=new Array(t);for(let r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function U6(e,t){for(let n in e)Tg(n,t(e[n]))}var I6={};U6(vie,B6);U6(bie,e=>Nd(B6(e)));function Tg(e,t){return e=e&&e.toLowerCase(),arguments.length>1?(I6[e]=t,this):I6[e]}var Rg="symbol",Eie="discrete",z6="gradient",wie=e=>O(e)?e.map(t=>String(t)):String(e),Sie=(e,t)=>e[1]-t[1],Aie=(e,t)=>t[1]-e[1];function Fb(e,t,n){let r;return Te(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null&&(t=Math.min(t,Math.floor(Ta(e.domain())/n||1)+1))),Q(t)&&(r=t.step,t=t.interval),Y(t)&&(t=e.type===Zu?Na(t):e.type==el?Oa(t):U("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function hF(e,t,n){let r=e.range(),i=r[0],o=De(r),s=Sie;if(i>o&&(r=o,o=i,i=r,s=Aie),i=Math.floor(i),o=Math.ceil(o),t=t.map(a=>[a,e(a)]).filter(a=>i<=a[1]&&a[1]<=o).sort(s).map(a=>a[0]),n>0&&t.length>1){let a=[t[0],De(t)];for(;t.length>n&&t.length>=3;)t=t.filter((u,l)=>!(l%2));t.length<3&&(t=a)}return t}function Tb(e,t){return e.bins?hF(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function gF(e,t,n,r,i,o){let s=t.type,a=wie;if(s===Zu||i===Zu)a=e.timeFormat(r);else if(s===el||i===el)a=e.utcFormat(r);else if(dF(s)){let u=e.formatFloat(r);if(o||t.bins)a=u;else{let l=H6(t,n,!1);a=c=>l(c)?u(c):""}}else if(t.tickFormat){let u=t.domain();a=e.formatSpan(u[0],u[u.length-1],n,r)}else r&&(a=e.format(r));return a}function H6(e,t,n){let r=Tb(e,t),i=e.base(),o=Math.log(i),s=Math.max(1,i*t/r.length),a=u=>{let l=u/Math.pow(i,Math.round(Math.log(u)/o));return l*i<i-.5&&(l*=i),l<=s};return n?r.filter(a):a}var oF={[kc]:"quantiles",[Sg]:"thresholds",[Ag]:"domain"},q6={[kc]:"quantiles",[Sg]:"domain"};function yF(e,t){return e.bins?kie(e.bins):e.type===js?H6(e,t,!0):oF[e.type]?Cie(e[oF[e.type]]()):Tb(e,t)}function _ie(e,t,n){let r=t[q6[t.type]](),i=r.length,o=i>1?r[1]-r[0]:r[0],s;for(s=1;s<i;++s)o=Math.min(o,r[s]-r[s-1]);return e.formatSpan(0,o,3*10,n)}function Cie(e){let t=[-1/0].concat(e);return t.max=1/0,t}function kie(e){let t=e.slice(0,-1);return t.max=De(e),t}var Fie=e=>oF[e.type]||e.bins;function xF(e,t,n,r,i,o,s){let a=q6[t.type]&&o!==Zu&&o!==el?_ie(e,t,i):gF(e,t,n,i,o,s);return r===Rg&&Fie(t)?Tie(a):r===Eie?Rie(a):Die(a)}var Tie=e=>(t,n,r)=>{let i=N6(r[n+1],N6(r.max,1/0)),o=O6(t,e),s=O6(i,e);return o&&s?o+" \u2013 "+s:s?"< "+s:"\u2265 "+o},N6=(e,t)=>e??t,Rie=e=>(t,n)=>n?e(t):null,Die=e=>t=>e(t),O6=(e,t)=>Number.isFinite(e)?t(e):null;function G6(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+De(t),o=i-r;if(e.type===Ag){let s=n?o/n:.1;r-=s,i+=s,o=i-r}return s=>(s-r)/o}function Mie(e,t,n,r){let i=r||t.type;return Y(n)&&gie(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),!n&&i===Zu?e.timeFormat("%A, %d %B %Y, %X"):!n&&i===el?e.utcFormat("%A, %d %B %Y, %X UTC"):xF(e,t,5,null,n,r,!0)}function bF(e,t,n){n=n||{};let r=Math.max(3,n.maxlen||7),i=Mie(e,t,n.format,n.formatType);if(Ab(t.type)){let o=yF(t).slice(1).map(i),s=o.length;return`${s} boundar${s===1?"y":"ies"}: ${o.join(", ")}`}else if(tl(t.type)){let o=t.domain(),s=o.length,a=s>r?o.slice(0,r-2).map(i).join(", ")+", ending with "+o.slice(-1).map(i):o.map(i).join(", ");return`${s} value${s===1?"":"s"}: ${a}`}else{let o=t.domain();return`values from ${i(o[0])} to ${i(De(o))}`}}var h8=0;function Iie(){h8=0}var Bb="p_";function PF(e){return e&&e.gradient}function g8(e,t,n){let r=e.gradient,i=e.id,o=r==="radial"?Bb:"";return i||(i=e.id="gradient_"+h8++,r==="radial"?(e.x1=Ws(e.x1,.5),e.y1=Ws(e.y1,.5),e.r1=Ws(e.r1,0),e.x2=Ws(e.x2,.5),e.y2=Ws(e.y2,.5),e.r2=Ws(e.r2,.5),o=Bb):(e.x1=Ws(e.x1,0),e.y1=Ws(e.y1,0),e.x2=Ws(e.x2,1),e.y2=Ws(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+o+i+")"}function Ws(e,t){return e??t}function $F(e,t){var n=[],r;return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,o){return n.push({offset:i,color:o}),r}}}var j6={basis:{curve:dk},"basis-closed":{curve:pk},"basis-open":{curve:mk},bundle:{curve:hk,tension:"beta",value:.85},cardinal:{curve:gk,tension:"tension",value:0},"cardinal-open":{curve:xk,tension:"tension",value:0},"cardinal-closed":{curve:yk,tension:"tension",value:0},"catmull-rom":{curve:bk,tension:"alpha",value:.5},"catmull-rom-closed":{curve:vk,tension:"alpha",value:.5},"catmull-rom-open":{curve:Ek,tension:"alpha",value:.5},linear:{curve:yc},"linear-closed":{curve:wk},monotone:{horizontal:_k,vertical:Ak},natural:{curve:Ck},step:{curve:kk},"step-after":{curve:Tk},"step-before":{curve:Fk}};function LF(e,t,n){var r=ne(j6,e)&&j6[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&n!=null&&(i=i[r.tension](n))),i}var Nie={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},Oie=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,Pie=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,$ie=/^((\s+,?\s*)|(,\s*))/,Lie=/^[01]/;function Pc(e){let t=[];return(e.match(Oie)||[]).forEach(r=>{let i=r[0],o=i.toLowerCase(),s=Nie[o],a=Bie(o,s,r.slice(1).trim()),u=a.length;if(u<s||u&&u%s!==0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([i,...a.slice(0,s)]),u!==s){o==="m"&&(i=i==="M"?"L":"l");for(let l=s;l<u;l+=s)t.push([i,...a.slice(l,l+s)])}}),t}function Bie(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let o=0;o<t;++o){let s=e==="a"&&(o===3||o===4)?Lie:Pie,a=n.slice(i).match(s);if(a===null)throw Error("Invalid SVG path, incorrect parameter type");i+=a[0].length,r.push(+a[0]);let u=n.slice(i).match($ie);u!==null&&(i+=u[0].length)}return r}var al=Math.PI/180,Uie=1e-14,Dc=Math.PI/2,Vs=Math.PI*2,Od=Math.sqrt(3)/2,vF={},EF={},y8=[].join;function zie(e,t,n,r,i,o,s,a,u){let l=y8.call(arguments);if(vF[l])return vF[l];let c=s*al,f=Math.sin(c),d=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let p=d*(a-e)*.5+f*(u-t)*.5,m=d*(u-t)*.5-f*(a-e)*.5,h=p*p/(n*n)+m*m/(r*r);h>1&&(h=Math.sqrt(h),n*=h,r*=h);let g=d/n,y=f/n,x=-f/r,b=d/r,v=g*a+y*u,E=x*a+b*u,S=g*e+y*t,w=x*e+b*t,C=1/((S-v)*(S-v)+(w-E)*(w-E))-.25;C<0&&(C=0);let _=Math.sqrt(C);o==i&&(_=-_);let F=.5*(v+S)-_*(w-E),I=.5*(E+w)+_*(S-v),M=Math.atan2(E-I,v-F),k=Math.atan2(w-I,S-F)-M;k<0&&o===1?k+=Vs:k>0&&o===0&&(k-=Vs);let D=Math.ceil(Math.abs(k/(Dc+.001))),T=[];for(let $=0;$<D;++$){let N=M+$*k/D,H=M+($+1)*k/D;T[$]=[F,I,N,H,n,r,f,d]}return vF[l]=T}function Hie(e){let t=y8.call(e);if(EF[t])return EF[t];var n=e[0],r=e[1],i=e[2],o=e[3],s=e[4],a=e[5],u=e[6],l=e[7];let c=l*s,f=-u*a,d=u*s,p=l*a,m=Math.cos(i),h=Math.sin(i),g=Math.cos(o),y=Math.sin(o),x=.5*(o-i),b=Math.sin(x*.5),v=8/3*b*b/Math.sin(x),E=n+m-v*h,S=r+h+v*m,w=n+g,A=r+y,C=w+v*y,_=A-v*g;return EF[t]=[c*E+f*S,d*E+p*S,c*C+f*_,d*C+p*_,c*w+f*A,d*w+p*A]}var ao=["l",0,0,0,0,0,0,0];function qie(e,t,n){let r=ao[0]=e[0];if(r==="a"||r==="A")ao[1]=t*e[1],ao[2]=n*e[2],ao[3]=e[3],ao[4]=e[4],ao[5]=e[5],ao[6]=t*e[6],ao[7]=n*e[7];else if(r==="h"||r==="H")ao[1]=t*e[1];else if(r==="v"||r==="V")ao[1]=n*e[1];else for(var i=1,o=e.length;i<o;++i)ao[i]=(i%2==1?t:n)*e[i];return ao}function $d(e,t,n,r,i,o){var s,a=null,u=0,l=0,c=0,f=0,d,p,m,h,g=0,y=0;n==null&&(n=0),r==null&&(r=0),i==null&&(i=1),o==null&&(o=i),e.beginPath&&e.beginPath();for(var x=0,b=t.length;x<b;++x){switch(s=t[x],(i!==1||o!==1)&&(s=qie(s,i,o)),s[0]){case"l":u+=s[1],l+=s[2],e.lineTo(u+n,l+r);break;case"L":u=s[1],l=s[2],e.lineTo(u+n,l+r);break;case"h":u+=s[1],e.lineTo(u+n,l+r);break;case"H":u=s[1],e.lineTo(u+n,l+r);break;case"v":l+=s[1],e.lineTo(u+n,l+r);break;case"V":l=s[1],e.lineTo(u+n,l+r);break;case"m":u+=s[1],l+=s[2],g=u,y=l,e.moveTo(u+n,l+r);break;case"M":u=s[1],l=s[2],g=u,y=l,e.moveTo(u+n,l+r);break;case"c":d=u+s[5],p=l+s[6],c=u+s[3],f=l+s[4],e.bezierCurveTo(u+s[1]+n,l+s[2]+r,c+n,f+r,d+n,p+r),u=d,l=p;break;case"C":u=s[5],l=s[6],c=s[3],f=s[4],e.bezierCurveTo(s[1]+n,s[2]+r,c+n,f+r,u+n,l+r);break;case"s":d=u+s[3],p=l+s[4],c=2*u-c,f=2*l-f,e.bezierCurveTo(c+n,f+r,u+s[1]+n,l+s[2]+r,d+n,p+r),c=u+s[1],f=l+s[2],u=d,l=p;break;case"S":d=s[3],p=s[4],c=2*u-c,f=2*l-f,e.bezierCurveTo(c+n,f+r,s[1]+n,s[2]+r,d+n,p+r),u=d,l=p,c=s[1],f=s[2];break;case"q":d=u+s[3],p=l+s[4],c=u+s[1],f=l+s[2],e.quadraticCurveTo(c+n,f+r,d+n,p+r),u=d,l=p;break;case"Q":d=s[3],p=s[4],e.quadraticCurveTo(s[1]+n,s[2]+r,d+n,p+r),u=d,l=p,c=s[1],f=s[2];break;case"t":d=u+s[1],p=l+s[2],a[0].match(/[QqTt]/)===null?(c=u,f=l):a[0]==="t"?(c=2*u-m,f=2*l-h):a[0]==="q"&&(c=2*u-c,f=2*l-f),m=c,h=f,e.quadraticCurveTo(c+n,f+r,d+n,p+r),u=d,l=p,c=u+s[1],f=l+s[2];break;case"T":d=s[1],p=s[2],c=2*u-c,f=2*l-f,e.quadraticCurveTo(c+n,f+r,d+n,p+r),u=d,l=p;break;case"a":W6(e,u+n,l+r,[s[1],s[2],s[3],s[4],s[5],s[6]+u+n,s[7]+l+r]),u+=s[6],l+=s[7];break;case"A":W6(e,u+n,l+r,[s[1],s[2],s[3],s[4],s[5],s[6]+n,s[7]+r]),u=s[6],l=s[7];break;case"z":case"Z":u=g,l=y,e.closePath();break}a=s}}function W6(e,t,n,r){let i=zie(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let o=0;o<i.length;++o){let s=Hie(i[o]);e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5])}}var V6=.5773502691896257,Y6={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,Vs)}},cross:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/2.5;e.moveTo(-n,-r),e.lineTo(-n,r),e.lineTo(-r,r),e.lineTo(-r,n),e.lineTo(r,n),e.lineTo(r,r),e.lineTo(n,r),e.lineTo(n,-r),e.lineTo(r,-r),e.lineTo(r,-n),e.lineTo(-r,-n),e.lineTo(-r,-r),e.closePath()}},diamond:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.closePath()}},square:{draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},arrow:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/7,i=n/2.5,o=n/8;e.moveTo(-r,n),e.lineTo(r,n),e.lineTo(r,-o),e.lineTo(i,-o),e.lineTo(0,-n),e.lineTo(-i,-o),e.lineTo(-r,-o),e.closePath()}},wedge:{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n,i=r-n*V6,o=n/4;e.moveTo(0,-r-i),e.lineTo(-o,r-i),e.lineTo(o,r-i),e.closePath()}},triangle:{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n,i=r-n*V6;e.moveTo(0,-r-i),e.lineTo(-n,r-i),e.lineTo(n,r-i),e.closePath()}},"triangle-up":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n;e.moveTo(0,-r),e.lineTo(-n,r),e.lineTo(n,r),e.closePath()}},"triangle-down":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n;e.moveTo(0,r),e.lineTo(-n,-r),e.lineTo(n,-r),e.closePath()}},"triangle-right":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n;e.moveTo(r,0),e.lineTo(-r,-n),e.lineTo(-r,n),e.closePath()}},"triangle-left":{draw:function(e,t){var n=Math.sqrt(t)/2,r=Od*n;e.moveTo(-r,0),e.lineTo(r,-n),e.lineTo(r,n),e.closePath()}},stroke:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(n,0)}}};function x8(e){return ne(Y6,e)?Y6[e]:Gie(e)}var wF={};function Gie(e){if(!ne(wF,e)){let t=Pc(e);wF[e]={draw:function(n,r){$d(n,t,0,0,Math.sqrt(r)/2)}}}return wF[e]}var nl=.448084975506;function jie(e){return e.x}function Wie(e){return e.y}function Vie(e){return e.width}function Yie(e){return e.height}function Ga(e){return typeof e=="function"?e:()=>+e}function Rb(e,t,n){return Math.max(t,Math.min(e,n))}function b8(){var e=jie,t=Wie,n=Vie,r=Yie,i=Ga(0),o=i,s=i,a=i,u=null;function l(c,f,d){var p,m=f??+e.call(this,c),h=d??+t.call(this,c),g=+n.call(this,c),y=+r.call(this,c),x=Math.min(g,y)/2,b=Rb(+i.call(this,c),0,x),v=Rb(+o.call(this,c),0,x),E=Rb(+s.call(this,c),0,x),S=Rb(+a.call(this,c),0,x);if(u||(u=p=gc()),b<=0&&v<=0&&E<=0&&S<=0)u.rect(m,h,g,y);else{var w=m+g,A=h+y;u.moveTo(m+b,h),u.lineTo(w-v,h),u.bezierCurveTo(w-nl*v,h,w,h+nl*v,w,h+v),u.lineTo(w,A-S),u.bezierCurveTo(w,A-nl*S,w-nl*S,A,w-S,A),u.lineTo(m+E,A),u.bezierCurveTo(m+nl*E,A,m,A-nl*E,m,A-E),u.lineTo(m,h+b),u.bezierCurveTo(m,h+nl*b,m+nl*b,h,m+b,h),u.closePath()}if(p)return u=null,p+""||null}return l.x=function(c){return arguments.length?(e=Ga(c),l):e},l.y=function(c){return arguments.length?(t=Ga(c),l):t},l.width=function(c){return arguments.length?(n=Ga(c),l):n},l.height=function(c){return arguments.length?(r=Ga(c),l):r},l.cornerRadius=function(c,f,d,p){return arguments.length?(i=Ga(c),o=f!=null?Ga(f):i,a=d!=null?Ga(d):i,s=p!=null?Ga(p):o,l):i},l.context=function(c){return arguments.length?(u=c??null,l):u},l}function v8(){var e,t,n,r,i=null,o,s,a,u;function l(f,d,p){let m=p/2;if(o){var h=a-d,g=f-s;if(h||g){var y=Math.hypot(h,g),x=(h/=y)*u,b=(g/=y)*u,v=Math.atan2(g,h);i.moveTo(s-x,a-b),i.lineTo(f-h*m,d-g*m),i.arc(f,d,m,v-Math.PI,v),i.lineTo(s+x,a+b),i.arc(s,a,u,v,v+Math.PI)}else i.arc(f,d,m,0,Vs);i.closePath()}else o=1;s=f,a=d,u=m}function c(f){var d,p=f.length,m,h=!1,g;for(i==null&&(i=g=gc()),d=0;d<=p;++d)!(d<p&&r(m=f[d],d,f))===h&&(h=!h)&&(o=0),h&&l(+e(m,d,f),+t(m,d,f),+n(m,d,f));if(g)return i=null,g+""||null}return c.x=function(f){return arguments.length?(e=f,c):e},c.y=function(f){return arguments.length?(t=f,c):t},c.size=function(f){return arguments.length?(n=f,c):n},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(f==null?i=null:i=f,c):i},c}function qg(e,t){return e??t}var Gg=e=>e.x||0,jg=e=>e.y||0,Xie=e=>e.width||0,Kie=e=>e.height||0,Qie=e=>(e.x||0)+(e.width||0),Jie=e=>(e.y||0)+(e.height||0),Zie=e=>e.startAngle||0,eoe=e=>e.endAngle||0,toe=e=>e.padAngle||0,noe=e=>e.innerRadius||0,roe=e=>e.outerRadius||0,ioe=e=>e.cornerRadius||0,ooe=e=>qg(e.cornerRadiusTopLeft,e.cornerRadius)||0,soe=e=>qg(e.cornerRadiusTopRight,e.cornerRadius)||0,aoe=e=>qg(e.cornerRadiusBottomRight,e.cornerRadius)||0,uoe=e=>qg(e.cornerRadiusBottomLeft,e.cornerRadius)||0,loe=e=>qg(e.size,64),coe=e=>e.size||1,tv=e=>e.defined!==!1,foe=e=>x8(e.shape||"circle"),doe=fk().startAngle(Zie).endAngle(eoe).padAngle(toe).innerRadius(noe).outerRadius(roe).cornerRadius(ioe),poe=q1().x(Gg).y1(jg).y0(Jie).defined(tv),moe=q1().y(jg).x1(Gg).x0(Qie).defined(tv),hoe=Zh().x(Gg).y(jg).defined(tv),goe=b8().x(Gg).y(jg).width(Xie).height(Kie).cornerRadius(ooe,soe,aoe,uoe),yoe=G1().type(foe).size(loe),xoe=v8().x(Gg).y(jg).defined(tv).size(coe);function BF(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function boe(e,t){return doe.context(e)(t)}function voe(e,t){let n=t[0],r=n.interpolate||"linear";return(n.orient==="horizontal"?moe:poe).curve(LF(r,n.orient,n.tension)).context(e)(t)}function Eoe(e,t){let n=t[0],r=n.interpolate||"linear";return hoe.curve(LF(r,n.orient,n.tension)).context(e)(t)}function zd(e,t,n,r){return goe.context(e)(t,n,r)}function woe(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Soe(e,t){return yoe.context(e)(t)}function Aoe(e,t){return xoe.context(e)(t)}var E8=1;function w8(){E8=1}function UF(e,t,n){var r=t.clip,i=e._defs,o=t.clip_id||(t.clip_id="clip"+E8++),s=i.clipping[o]||(i.clipping[o]={id:o});return we(r)?s.path=r(null):BF(n)?s.path=zd(null,n,0,0):(s.width=n.width||0,s.height=n.height||0),"url(#"+o+")"}function Lt(e){this.clear(),e&&this.union(e)}Lt.prototype={clone(){return new Lt(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:o,y2:s}=this,a=Math.cos(e),u=Math.sin(e),l=t-t*a+n*u,c=n-t*u-n*a;return[a*r-u*i+l,u*r+a*i+c,a*r-u*s+l,u*r+a*s+c,a*o-u*i+l,u*o+a*i+c,a*o-u*s+l,u*o+a*s+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function Wg(e){this.mark=e,this.bounds=this.bounds||new Lt}function Vg(e){Wg.call(this,e),this.items=this.items||[]}te(Vg,Wg);var Ub=class{constructor(t){this._pending=0,this._loader=t||hd()}pending(){return this._pending}sanitizeURL(t){let n=this;return X6(n),n._loader.sanitize(t,{context:"href"}).then(r=>(Dg(n),r)).catch(()=>(Dg(n),null))}loadImage(t){let n=this,r=IB();return X6(n),n._loader.sanitize(t,{context:"image"}).then(i=>{let o=i.href;if(!o||!r)throw{url:o};let s=new r,a=ne(i,"crossOrigin")?i.crossOrigin:"anonymous";return a!=null&&(s.crossOrigin=a),s.onload=()=>Dg(n),s.onerror=()=>Dg(n),s.src=o,s}).catch(i=>(Dg(n),{complete:!1,width:0,height:0,src:i&&i.url||""}))}ready(){let t=this;return new Promise(n=>{function r(i){t.pending()?setTimeout(()=>{r(!0)},10):n(i)}r(!1)})}};function X6(e){e._pending+=1}function Dg(e){e._pending-=1}function Ys(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth!=null?+t.strokeWidth:1;e.expand(r+(n?_oe(t,r):0))}return e}function _oe(e,t){return e.strokeJoin&&e.strokeJoin!=="miter"?0:t}var Coe=Vs-1e-8,nv,Db,Mb,Nc,kF,Ib,FF,TF,rl=(e,t)=>nv.add(e,t),Nb=(e,t)=>rl(Db=e,Mb=t),K6=e=>rl(e,nv.y1),Q6=e=>rl(nv.x1,e),Mc=(e,t)=>kF*e+FF*t,Ic=(e,t)=>Ib*e+TF*t,SF=(e,t)=>rl(Mc(e,t),Ic(e,t)),AF=(e,t)=>Nb(Mc(e,t),Ic(e,t));function Yg(e,t){return nv=e,t?(Nc=t*al,kF=TF=Math.cos(Nc),Ib=Math.sin(Nc),FF=-Ib):(kF=TF=1,Nc=Ib=FF=0),koe}var koe={beginPath(){},closePath(){},moveTo:AF,lineTo:AF,rect(e,t,n,r){Nc?(SF(e+n,t),SF(e+n,t+r),SF(e,t+r),AF(e,t)):(rl(e+n,t+r),Nb(e,t))},quadraticCurveTo(e,t,n,r){let i=Mc(e,t),o=Ic(e,t),s=Mc(n,r),a=Ic(n,r);J6(Db,i,s,K6),J6(Mb,o,a,Q6),Nb(s,a)},bezierCurveTo(e,t,n,r,i,o){let s=Mc(e,t),a=Ic(e,t),u=Mc(n,r),l=Ic(n,r),c=Mc(i,o),f=Ic(i,o);Z6(Db,s,u,c,K6),Z6(Mb,a,l,f,Q6),Nb(c,f)},arc(e,t,n,r,i,o){if(r+=Nc,i+=Nc,Db=n*Math.cos(i)+e,Mb=n*Math.sin(i)+t,Math.abs(i-r)>Coe)rl(e-n,t-n),rl(e+n,t+n);else{let s=l=>rl(n*Math.cos(l)+e,n*Math.sin(l)+t),a,u;if(s(r),s(i),i!==r)if(r=r%Vs,r<0&&(r+=Vs),i=i%Vs,i<0&&(i+=Vs),i<r&&(o=!o,a=r,r=i,i=a),o)for(i-=Vs,a=r-r%Dc,u=0;u<4&&a>i;++u,a-=Dc)s(a);else for(a=r-r%Dc+Dc,u=0;u<4&&a<i;++u,a=a+Dc)s(a)}}};function J6(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function Z6(e,t,n,r,i){let o=r-e+3*t-3*n,s=e+n-2*t,a=e-t,u=0,l=0,c;Math.abs(o)>Uie?(c=s*s+a*o,c>=0&&(c=Math.sqrt(c),u=(-s+c)/o,l=(-s-c)/o)):u=.5*a/s,0<u&&u<1&&i(e8(u,e,t,n,r)),0<l&&l<1&&i(e8(l,e,t,n,r))}function e8(e,t,n,r,i){let o=1-e,s=o*o,a=e*e;return s*o*t+3*s*e*n+3*o*a*r+a*e*i}var sl=(sl=io(1,1))?sl.getContext("2d"):null,RF=new Lt;function zF(e){return function(t,n){if(!sl)return!0;e(sl,t),RF.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:o,y2:s}=RF;for(let a=i;a<=s;++a)for(let u=r;u<=o;++u)if(sl.isPointInPath(u,a))return!0;return!1}}function HF(e,t){return t.contains(e.x||0,e.y||0)}function S8(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,o=e.height||0;return t.intersects(RF.set(n,r,n+i,r+o))}function A8(e,t){let n=e.x||0,r=e.y||0,i=e.x2!=null?e.x2:n,o=e.y2!=null?e.y2:r;return Pd(t,n,r,i,o)}function Pd(e,t,n,r,i){let{x1:o,y1:s,x2:a,y2:u}=e,l=r-t,c=i-n,f=0,d=1,p,m,h,g;for(g=0;g<4;++g){if(g===0&&(p=-l,m=-(o-t)),g===1&&(p=l,m=a-t),g===2&&(p=-c,m=-(s-n)),g===3&&(p=c,m=u-n),Math.abs(p)<1e-10&&m<0)return!1;if(h=m/p,p<0){if(h>d)return!1;h>f&&(f=h)}else if(p>0){if(h<f)return!1;h<d&&(d=h)}}return!0}function Ld(e,t){e.globalCompositeOperation=t.blend||"source-over"}function Bo(e,t){return e??t}function t8(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function Foe(e,t,n){let r=n.width(),i=n.height(),o;if(t.gradient==="radial")o=e.createRadialGradient(n.x1+Bo(t.x1,.5)*r,n.y1+Bo(t.y1,.5)*i,Math.max(r,i)*Bo(t.r1,0),n.x1+Bo(t.x2,.5)*r,n.y1+Bo(t.y2,.5)*i,Math.max(r,i)*Bo(t.r2,.5));else{let s=Bo(t.x1,0),a=Bo(t.y1,0),u=Bo(t.x2,1),l=Bo(t.y2,0);if(s===u||a===l||r===i)o=e.createLinearGradient(n.x1+s*r,n.y1+a*i,n.x1+u*r,n.y1+l*i);else{let c=io(Math.ceil(r),Math.ceil(i)),f=c.getContext("2d");return f.scale(r,i),f.fillStyle=t8(f.createLinearGradient(s,a,u,l),t.stops),f.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}}return t8(o,t.stops)}function _8(e,t,n){return PF(n)?Foe(e,n,t.bounds):n}function zb(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0?(e.globalAlpha=n,e.fillStyle=_8(e,t,t.fill),!0):!1}var Toe=[];function Bd(e,t,n){var r=(r=t.strokeWidth)!=null?r:1;return r<=0?!1:(n*=t.strokeOpacity==null?1:t.strokeOpacity,n>0?(e.globalAlpha=n,e.strokeStyle=_8(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||Toe),e.lineDashOffset=t.strokeDashOffset||0),!0):!1)}function Roe(e,t){return e.zindex-t.zindex||e.index-t.index}function qF(e){if(!e.zdirty)return e.zitems;var t=e.items,n=[],r,i,o;for(i=0,o=t.length;i<o;++i)r=t[i],r.index=i,r.zindex&&n.push(r);return e.zdirty=!1,e.zitems=n.sort(Roe)}function zo(e,t){var n=e.items,r,i;if(!n||!n.length)return;let o=qF(e);if(o&&o.length){for(r=0,i=n.length;r<i;++r)n[r].zindex||t(n[r]);n=o}for(r=0,i=n.length;r<i;++r)t(n[r])}function Hb(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let o=qF(e);for(o&&o.length&&(n=o),i=n.length;--i>=0;)if(r=t(n[i]))return r;if(n===o){for(n=e.items,i=n.length;--i>=0;)if(!n[i].zindex&&(r=t(n[i])))return r}return null}function GF(e){return function(t,n,r){zo(n,i=>{(!r||r.intersects(i.bounds))&&C8(e,t,i,i)})}}function Doe(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&C8(e,t,n.items[0],n.items)}}function C8(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Ld(t,n),n.fill&&zb(t,n,i)&&t.fill(),n.stroke&&Bd(t,n,i)&&t.stroke()))}function rv(e){return e=e||pn,function(t,n,r,i,o,s){return r*=t.pixelRatio,i*=t.pixelRatio,Hb(n,a=>{let u=a.bounds;if(!(u&&!u.contains(o,s)||!u)&&e(t,a,r,i,o,s))return a})}}function Xg(e,t){return function(n,r,i,o){var s=Array.isArray(r)?r[0]:r,a=t??s.fill,u=s.stroke&&n.isPointInStroke,l,c;return u&&(l=s.strokeWidth,c=s.strokeCap,n.lineWidth=l??1,n.lineCap=c??"butt"),e(n,r)?!1:a&&n.isPointInPath(i,o)||u&&n.isPointInStroke(i,o)}}function jF(e){return rv(Xg(e))}function Oc(e,t){return"translate("+e+","+t+")"}function WF(e){return"rotate("+e+")"}function Moe(e,t){return"scale("+e+","+t+")"}function k8(e){return Oc(e.x||0,e.y||0)}function Ioe(e){return Oc(e.x||0,e.y||0)+(e.angle?" "+WF(e.angle):"")}function Noe(e){return Oc(e.x||0,e.y||0)+(e.angle?" "+WF(e.angle):"")+(e.scaleX||e.scaleY?" "+Moe(e.scaleX||1,e.scaleY||1):"")}function VF(e,t,n){function r(s,a){s("transform",Ioe(a)),s("d",t(null,a))}function i(s,a){return t(Yg(s,a.angle),a),Ys(s,a).translate(a.x||0,a.y||0)}function o(s,a){var u=a.x||0,l=a.y||0,c=a.angle||0;s.translate(u,l),c&&s.rotate(c*=al),s.beginPath(),t(s,a),c&&s.rotate(-c),s.translate(-u,-l)}return{type:e,tag:"path",nested:!1,attr:r,bound:i,draw:GF(o),pick:jF(o),isect:n||zF(o)}}var Ooe=VF("arc",boe);function Poe(e,t){for(var n=e[0].orient==="horizontal"?t[1]:t[0],r=e[0].orient==="horizontal"?"y":"x",i=e.length,o=1/0,s,a;--i>=0;)e[i].defined!==!1&&(a=Math.abs(e[i][r]-n),a<o&&(o=a,s=e[i]));return s}function $oe(e,t){for(var n=Math.pow(e[0].strokeWidth||1,2),r=e.length,i,o,s;--r>=0;)if(e[r].defined!==!1&&(i=e[r].x-t[0],o=e[r].y-t[1],s=i*i+o*o,s<n))return e[r];return null}function Loe(e,t){for(var n=e.length,r,i,o;--n>=0;)if(e[n].defined!==!1&&(r=e[n].x-t[0],i=e[n].y-t[1],o=r*r+i*i,r=e[n].size||1,o<r*r))return e[n];return null}function YF(e,t,n){function r(u,l){var c=l.mark.items;c.length&&u("d",t(null,c))}function i(u,l){var c=l.items;return c.length===0?u:(t(Yg(u),c),Ys(u,c[0]))}function o(u,l){u.beginPath(),t(u,l)}let s=Xg(o);function a(u,l,c,f,d,p){var m=l.items,h=l.bounds;return!m||!m.length||h&&!h.contains(d,p)?null:(c*=u.pixelRatio,f*=u.pixelRatio,s(u,m,c,f)?m[0]:null)}return{type:e,tag:"path",nested:!0,attr:r,bound:i,draw:Doe(o),pick:a,isect:HF,tip:n}}var Boe=YF("area",voe,Poe);function Uoe(e,t){var n=t.clip;e.save(),we(n)?(e.beginPath(),n(e),e.clip()):F8(e,t.group)}function F8(e,t){e.beginPath(),BF(t)?zd(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function T8(e){let t=Bo(e.strokeWidth,1);return e.strokeOffset!=null?e.strokeOffset:e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0}function zoe(e,t){e("transform",k8(t))}function R8(e,t){let n=T8(t);e("d",zd(null,t,n,n))}function Hoe(e,t){e("class","background"),e("aria-hidden",!0),R8(e,t)}function qoe(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?R8(e,t):e("d","")}function Goe(e,t,n){let r=t.clip?UF(n,t,t):null;e("clip-path",r)}function joe(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let i=0;i<r;++i)e.union(n[i].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Ys(e,t),e.translate(t.x||0,t.y||0)}function $g(e,t,n,r){let i=T8(t);e.beginPath(),zd(e,t,(n||0)+i,(r||0)+i)}var Woe=Xg($g),Voe=Xg($g,!1),Yoe=Xg($g,!0);function Xoe(e,t,n,r){zo(t,i=>{let o=i.x||0,s=i.y||0,a=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&($g(e,i,o,s),Ld(e,i),i.fill&&zb(e,i,u)&&e.fill(),i.stroke&&!a&&Bd(e,i,u)&&e.stroke()),e.save(),e.translate(o,s),i.clip&&F8(e,i),n&&n.translate(-o,-s),zo(i,l=>{(l.marktype==="group"||r==null||r.includes(l.marktype))&&this.draw(e,l,n,r)}),n&&n.translate(o,s),e.restore(),a&&i.stroke&&u&&($g(e,i,o,s),Ld(e,i),Bd(e,i,u)&&e.stroke())})}function Koe(e,t,n,r,i,o){if(t.bounds&&!t.bounds.contains(i,o)||!t.items)return null;let s=n*e.pixelRatio,a=r*e.pixelRatio;return Hb(t,u=>{let l,c,f,d=u.bounds;if(d&&!d.contains(i,o))return;c=u.x||0,f=u.y||0;let p=c+(u.width||0),m=f+(u.height||0),h=u.clip;if(h&&(i<c||i>p||o<f||o>m))return;if(e.save(),e.translate(c,f),c=i-c,f=o-f,h&&BF(u)&&!Yoe(e,u,s,a))return e.restore(),null;let g=u.strokeForeground,y=t.interactive!==!1;return y&&g&&u.stroke&&Voe(e,u,s,a)?(e.restore(),u):(l=Hb(u,x=>Qoe(x,c,f)?this.pick(x,n,r,c,f):null),!l&&y&&(u.fill||!g&&u.stroke)&&Woe(e,u,s,a)&&(l=u),e.restore(),l||null)})}function Qoe(e,t,n){return(e.interactive!==!1||e.marktype==="group")&&e.bounds&&e.bounds.contains(t,n)}var Joe={type:"group",tag:"g",nested:!1,attr:zoe,bound:joe,draw:Xoe,pick:Koe,isect:S8,content:Goe,background:Hoe,foreground:qoe},Lg={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function XF(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function KF(e,t){return e.width!=null?e.width:!t||!t.width?0:e.aspect!==!1&&e.height?e.height*t.width/t.height:t.width}function QF(e,t){return e.height!=null?e.height:!t||!t.height?0:e.aspect!==!1&&e.width?e.width*t.height/t.width:t.height}function iv(e,t){return e==="center"?t/2:e==="right"?t:0}function ov(e,t){return e==="middle"?t/2:e==="bottom"?t:0}function Zoe(e,t,n){let r=XF(t,n),i=KF(t,r),o=QF(t,r),s=(t.x||0)-iv(t.align,i),a=(t.y||0)-ov(t.baseline,o),u=!r.src&&r.toDataURL?r.toDataURL():r.src||"";e("href",u,Lg["xmlns:xlink"],"xlink:href"),e("transform",Oc(s,a)),e("width",i),e("height",o),e("preserveAspectRatio",t.aspect===!1?"none":"xMidYMid")}function ese(e,t){let n=t.image,r=KF(t,n),i=QF(t,n),o=(t.x||0)-iv(t.align,r),s=(t.y||0)-ov(t.baseline,i);return e.set(o,s,o+r,s+i)}function tse(e,t,n){zo(t,r=>{if(n&&!n.intersects(r.bounds))return;let i=XF(r,this),o=KF(r,i),s=QF(r,i);if(o===0||s===0)return;let a=(r.x||0)-iv(r.align,o),u=(r.y||0)-ov(r.baseline,s),l,c,f,d;r.aspect!==!1&&(c=i.width/i.height,f=r.width/r.height,c===c&&f===f&&c!==f&&(f<c?(d=o/c,u+=(s-d)/2,s=d):(d=s*c,a+=(o-d)/2,o=d))),(i.complete||i.toDataURL)&&(Ld(e,r),e.globalAlpha=(l=r.opacity)!=null?l:1,e.imageSmoothingEnabled=r.smooth!==!1,e.drawImage(i,a,u,o,s))})}var nse={type:"image",tag:"image",nested:!1,attr:Zoe,bound:ese,draw:tse,pick:rv(),isect:pn,get:XF,xOffset:iv,yOffset:ov},rse=YF("line",Eoe,$oe);function ise(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e("vector-effect","non-scaling-stroke"),e("transform",Noe(t)),e("d",t.path)}function Ob(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,o=t.scaleX||1,s=t.scaleY||1,a=(t.angle||0)*al,u=t.pathCache;(!u||u.path!==n)&&((t.pathCache=u=Pc(n)).path=n),a&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(a),$d(e,u,0,0,o,s),e.rotate(-a),e.translate(-r,-i)):$d(e,u,r,i,o,s)}function ose(e,t){return Ob(Yg(e,t.angle),t)?e.set(0,0,0,0):Ys(e,t,!0)}var sse={type:"path",tag:"path",nested:!1,attr:ise,bound:ose,draw:GF(Ob),pick:jF(Ob),isect:zF(Ob)};function ase(e,t){e("d",zd(null,t))}function use(e,t){var n,r;return Ys(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function n8(e,t){e.beginPath(),zd(e,t)}var lse={type:"rect",tag:"path",nested:!1,attr:ase,bound:use,draw:GF(n8),pick:jF(n8),isect:S8};function cse(e,t){e("transform",k8(t)),e("x2",t.x2!=null?t.x2-(t.x||0):0),e("y2",t.y2!=null?t.y2-(t.y||0):0)}function fse(e,t){var n,r;return Ys(e.set(n=t.x||0,r=t.y||0,t.x2!=null?t.x2:n,t.y2!=null?t.y2:r),t)}function D8(e,t,n){var r,i,o,s;return t.stroke&&Bd(e,t,n)?(r=t.x||0,i=t.y||0,o=t.x2!=null?t.x2:r,s=t.y2!=null?t.y2:i,e.beginPath(),e.moveTo(r,i),e.lineTo(o,s),!0):!1}function dse(e,t,n){zo(t,r=>{if(!(n&&!n.intersects(r.bounds))){var i=r.opacity==null?1:r.opacity;i&&D8(e,r,i)&&(Ld(e,r),e.stroke())}})}function pse(e,t,n,r){return e.isPointInStroke?D8(e,t,1)&&e.isPointInStroke(n,r):!1}var mse={type:"rule",tag:"line",nested:!1,attr:cse,bound:fse,draw:dse,pick:rv(pse),isect:A8},hse=VF("shape",woe),gse=VF("symbol",Soe,HF),r8=d2(),ai={height:Xs,measureWidth:JF,estimateWidth:qb,width:qb,canvas:M8};M8(!0);function M8(e){ai.width=e&&sl?JF:qb}function qb(e,t){return I8(ll(e,t),Xs(e))}function I8(e,t){return~~(.8*e.length*t)}function JF(e,t){return Xs(e)<=0||!(t=ll(e,t))?0:N8(t,av(e))}function N8(e,t){let n=`(${t}) ${e}`,r=r8.get(n);return r===void 0&&(sl.font=t,r=sl.measureText(e).width,r8.set(n,r)),r}function Xs(e){return e.fontSize!=null?+e.fontSize||0:11}function ul(e){return e.lineHeight!=null?e.lineHeight:Xs(e)+2}function yse(e){return O(e)?e.length>1?e:e[0]:e}function Kg(e){return yse(e.lineBreak&&e.text&&!O(e.text)?e.text.split(e.lineBreak):e.text)}function sv(e){let t=Kg(e);return(O(t)?t.length-1:0)*ul(e)}function ll(e,t){let n=t==null?"":(t+"").trim();return e.limit>0&&n.length?bse(e,n):n}function xse(e){if(ai.width===JF){let t=av(e);return n=>N8(n,t)}else if(ai.width===qb){let t=Xs(e);return n=>I8(n,t)}else return t=>ai.width(e,t)}function bse(e,t){var n=+e.limit,r=xse(e);if(r(t)<n)return t;var i=e.ellipsis||"\u2026",o=e.dir==="rtl",s=0,a=t.length,u;if(n-=r(i),o){for(;s<a;)u=s+a>>>1,r(t.slice(u))>n?s=u+1:a=u;return i+t.slice(s)}else{for(;s<a;)u=1+(s+a>>>1),r(t.slice(0,u))<n?s=u:a=u-1;return t.slice(0,s)+i}}function Qg(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function av(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+Xs(e)+"px "+Qg(e,t)}function ZF(e){var t=e.baseline,n=Xs(e);return Math.round(t==="top"?.79*n:t==="middle"?.3*n:t==="bottom"?-.21*n:t==="line-top"?.29*n+.5*ul(e):t==="line-bottom"?.29*n-.5*ul(e):0)}var vse={left:"start",center:"middle",right:"end"},Ng=new Lt;function uv(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-Dc,t+=r*Math.cos(i),n+=r*Math.sin(i)),Ng.x1=t,Ng.y1=n,Ng}function Ese(e,t){var n=t.dx||0,r=(t.dy||0)+ZF(t),i=uv(t),o=i.x1,s=i.y1,a=t.angle||0,u;e("text-anchor",vse[t.align]||"start"),a?(u=Oc(o,s)+" "+WF(a),(n||r)&&(u+=" "+Oc(n,r))):u=Oc(o+n,s+r),e("transform",u)}function eT(e,t,n){var r=ai.height(t),i=t.align,o=uv(t),s=o.x1,a=o.y1,u=t.dx||0,l=(t.dy||0)+ZF(t)-Math.round(.8*r),c=Kg(t),f;if(O(c)?(r+=ul(t)*(c.length-1),f=c.reduce((d,p)=>Math.max(d,ai.width(t,p)),0)):f=ai.width(t,c),i==="center"?u-=f/2:i==="right"&&(u-=f),e.set(u+=s,l+=a,u+f,l+r),t.angle&&!n)e.rotate(t.angle*al,s,a);else if(n===2)return e.rotatedPoints(t.angle*al,s,a);return e}function wse(e,t,n){zo(t,r=>{var i=r.opacity==null?1:r.opacity,o,s,a,u,l,c,f;if(!(n&&!n.intersects(r.bounds)||i===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(e.font=av(r),e.textAlign=r.align||"left",o=uv(r),s=o.x1,a=o.y1,r.angle&&(e.save(),e.translate(s,a),e.rotate(r.angle*al),s=a=0),s+=r.dx||0,a+=(r.dy||0)+ZF(r),c=Kg(r),Ld(e,r),O(c))for(l=ul(r),u=0;u<c.length;++u)f=ll(r,c[u]),r.fill&&zb(e,r,i)&&e.fillText(f,s,a),r.stroke&&Bd(e,r,i)&&e.strokeText(f,s,a),a+=l;else f=ll(r,c),r.fill&&zb(e,r,i)&&e.fillText(f,s,a),r.stroke&&Bd(e,r,i)&&e.strokeText(f,s,a);r.angle&&e.restore()}})}function Sse(e,t,n,r,i,o){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var s=uv(t),a=s.x1,u=s.y1,l=eT(Ng,t,1),c=-t.angle*al,f=Math.cos(c),d=Math.sin(c),p=f*i-d*o+(a-f*a+d*u),m=d*i+f*o+(u-d*a-f*u);return l.contains(p,m)}function Ase(e,t){let n=eT(Ng,e,2);return Pd(t,n[0],n[1],n[2],n[3])||Pd(t,n[0],n[1],n[4],n[5])||Pd(t,n[4],n[5],n[6],n[7])||Pd(t,n[2],n[3],n[6],n[7])}var _se={type:"text",tag:"text",nested:!1,attr:Ese,bound:eT,draw:wse,pick:rv(Sse),isect:Ase},Cse=YF("trail",Aoe,Loe),Lr={arc:Ooe,area:Boe,group:Joe,image:nse,line:rse,path:sse,rect:lse,rule:mse,shape:hse,symbol:gse,text:_se,trail:Cse};function DF(e,t,n){var r=Lr[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new Lt),e,n)}var i8={mark:null};function O8(e,t,n){var r=Lr[e.marktype],i=r.bound,o=e.items,s=o&&o.length,a,u,l,c;if(r.nested)return s?l=o[0]:(i8.mark=e,l=i8),c=DF(l,i,n),t=t&&t.union(c)||c,t;if(t=t||e.bounds&&e.bounds.clear()||new Lt,s)for(a=0,u=o.length;a<u;++a)t.union(DF(o[a],i,n));return e.bounds=t}var kse=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function P8(e,t){return JSON.stringify(e,kse,t)}function $8(e){let t=typeof e=="string"?JSON.parse(e):e;return L8(t)}function L8(e){var t=e.marktype,n=e.items,r,i,o;if(n)for(i=0,o=n.length;i<o;++i)r=t?"mark":"group",n[i][r]=e,n[i].zindex&&(n[i][r].zdirty=!0),(t||r)==="group"&&L8(n[i]);return t&&O8(e),e}var Bg=class{constructor(t){arguments.length?this.root=$8(t):(this.root=o8({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Vg(this.root)])}toJSON(t){return P8(this.root,t||0)}mark(t,n,r){n=n||this.root.items[0];let i=o8(t,n);return n.items[r]=i,i.zindex&&(i.group.zdirty=!0),i}};function o8(e,t){let n={bounds:new Lt,clip:!!e.clip,group:t,interactive:e.interactive!==!1,items:[],marktype:e.marktype,name:e.name||void 0,role:e.role||void 0,zindex:e.zindex||0};return e.aria!=null&&(n.aria=e.aria),e.description&&(n.description=e.description),n}function il(e,t,n){return!e&&typeof document<"u"&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function tT(e,t){t=t.toLowerCase();for(var n=e.childNodes,r=0,i=n.length;r<i;++r)if(n[r].tagName.toLowerCase()===t)return n[r]}function gn(e,t,n,r){var i=e.childNodes[t],o;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(o=i||null,i=il(e.ownerDocument,n,r),e.insertBefore(i,o)),i}function uo(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function B8(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function Jg(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function Fse(e,t,n,r){var i=e&&e.mark,o,s;if(i&&(o=Lr[i.marktype]).tip){for(s=Jg(t,n),s[0]-=r[0],s[1]-=r[1];e=e.mark.group;)s[0]-=e.x||0,s[1]-=e.y||0;e=o.tip(i.items,s)}return e}var Ug=class{constructor(t,n){this._active=null,this._handlers={},this._loader=t||hd(),this._tooltip=n||Tse}initialize(t,n,r){return this._el=t,this._obj=r||null,this.origin(n)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()}scene(t){return arguments.length?(this._scene=t,this):this._scene}on(){}off(){}_handlerIndex(t,n,r){for(let i=t?t.length:0;--i>=0;)if(t[i].type===n&&(!r||t[i].handler===r))return i;return-1}handlers(t){let n=this._handlers,r=[];if(t)r.push(...n[this.eventName(t)]);else for(let i in n)r.push(...n[i]);return r}eventName(t){let n=t.indexOf(".");return n<0?t:t.slice(0,n)}handleHref(t,n,r){this._loader.sanitize(r,{context:"href"}).then(i=>{let o=new MouseEvent(t.type,t),s=il(null,"a");for(let a in i)s.setAttribute(a,i[a]);s.dispatchEvent(o)}).catch(()=>{})}handleTooltip(t,n,r){if(n&&n.tooltip!=null){n=Fse(n,t,this.canvas(),this._origin);let i=r&&n&&n.tooltip||null;this._tooltip.call(this._obj,this,t,n,i)}}getItemBoundingClientRect(t){let n=this.canvas();if(!n)return;let r=n.getBoundingClientRect(),i=this._origin,o=t.bounds,s=o.width(),a=o.height(),u=o.x1+i[0]+r.left,l=o.y1+i[1]+r.top;for(;t.mark&&(t=t.mark.group);)u+=t.x||0,l+=t.y||0;return{x:u,y:l,width:s,height:a,left:u,top:l,right:u+s,bottom:l+a}}};function Tse(e,t,n,r){e.element().setAttribute("title",r||"")}var $c=class{constructor(t){this._el=null,this._bgcolor=null,this._loader=new Ub(t)}initialize(t,n,r,i,o){return this._el=t,this.resize(n,r,i,o)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(t){return arguments.length===0?this._bgcolor:(this._bgcolor=t,this)}resize(t,n,r,i){return this._width=t,this._height=n,this._origin=r||[0,0],this._scale=i||1,this}dirty(){}render(t,n){let r=this;return r._call=function(){r._render(t,n)},r._call(),r._call=null,r}_render(){}renderAsync(t,n){let r=this.render(t,n);return this._ready?this._ready.then(()=>r):Promise.resolve(r)}_load(t,n){var r=this,i=r._loader[t](n);if(!r._ready){let o=r._call;r._ready=r._loader.ready().then(s=>{s&&o(),r._ready=null})}return i}sanitizeURL(t){return this._load("sanitizeURL",t)}loadImage(t){return this._load("loadImage",t)}},Rse="keydown",Dse="keypress",Mse="keyup",U8="dragenter",Pb="dragleave",z8="dragover",MF="pointerdown",Ise="pointerup",Gb="pointermove",$b="pointerout",H8="pointerover",IF="mousedown",Nse="mouseup",q8="mousemove",jb="mouseout",G8="mouseover",Wb="click",Ose="dblclick",Pse="wheel",j8="mousewheel",Vb="touchstart",Yb="touchmove",Xb="touchend",$se=[Rse,Dse,Mse,U8,Pb,z8,MF,Ise,Gb,$b,H8,IF,Nse,q8,jb,G8,Wb,Ose,Pse,j8,Vb,Yb,Xb],NF=Gb,Og=jb,OF=Wb,cl=class extends Ug{constructor(t,n){super(t,n),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=$se,this.pointermove=a8([Gb,q8],[H8,G8],[$b,jb]),this.dragover=a8([z8],[U8],[Pb]),this.pointerout=u8([$b,jb]),this.dragleave=u8([Pb])}initialize(t,n,r){return this._canvas=t&&tT(t,"canvas"),[Wb,IF,MF,Gb,$b,Pb].forEach(i=>s8(this,i)),super.initialize(t,n,r)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(t){this.fire(j8,t)}pointerdown(t){this._down=this._active,this.fire(MF,t)}mousedown(t){this._down=this._active,this.fire(IF,t)}click(t){this._down===this._active&&(this.fire(Wb,t),this._down=null)}touchstart(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(Vb,t,!0)}touchmove(t){this.fire(Yb,t,!0)}touchend(t){this.fire(Xb,t,!0),this._touch=null}fire(t,n,r){let i=r?this._touch:this._active,o=this._handlers[t];if(n.vegaType=t,t===OF&&i&&i.href?this.handleHref(n,i,i.href):(t===NF||t===Og)&&this.handleTooltip(n,i,t!==Og),o)for(let s=0,a=o.length;s<a;++s)o[s].handler.call(this._obj,n,i)}on(t,n){let r=this.eventName(t),i=this._handlers;return this._handlerIndex(i[r],t,n)<0&&(s8(this,t),(i[r]||(i[r]=[])).push({type:t,handler:n})),this}off(t,n){let r=this.eventName(t),i=this._handlers[r],o=this._handlerIndex(i,t,n);return o>=0&&i.splice(o,1),this}pickEvent(t){let n=Jg(t,this._canvas),r=this._origin;return this.pick(this._scene,n[0],n[1],n[0]-r[0],n[1]-r[1])}pick(t,n,r,i,o){let s=this.context();return Lr[t.marktype].pick.call(this,s,t,n,r,i,o)}},Lse=e=>e===Vb||e===Yb||e===Xb?[Vb,Yb,Xb]:[e];function s8(e,t){Lse(t).forEach(n=>Bse(e,n))}function Bse(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}function Ig(e,t,n){t.forEach(r=>e.fire(r,n))}function a8(e,t,n){return function(r){let i=this._active,o=this.pickEvent(r);o===i?Ig(this,e,r):((!i||!i.exit)&&Ig(this,n,r),this._active=o,Ig(this,t,r),Ig(this,e,r))}}function u8(e){return function(t){Ig(this,e,t),this._active=null}}function Use(){return typeof window<"u"&&window.devicePixelRatio||1}function zse(e,t,n,r,i,o){let s=typeof HTMLElement<"u"&&e instanceof HTMLElement&&e.parentNode!=null,a=e.getContext("2d"),u=s?Use():i;e.width=t*u,e.height=n*u;for(let l in o)a[l]=o[l];return s&&u!==1&&(e.style.width=t+"px",e.style.height=n+"px"),a.pixelRatio=u,a.setTransform(u,0,0,u,u*r[0],u*r[1]),e}var Ud=class extends $c{constructor(t){super(t),this._options={},this._redraw=!1,this._dirty=new Lt,this._tempb=new Lt}initialize(t,n,r,i,o,s){return this._options=s||{},this._canvas=this._options.externalContext?null:io(1,1,this._options.type),t&&this._canvas&&(uo(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(t,n,r,i,o)}resize(t,n,r,i){if(super.resize(t,n,r,i),this._canvas)zse(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let o=this._options.externalContext;o||U("CanvasRenderer is missing a valid canvas or context"),o.scale(this._scale,this._scale),o.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(t){let n=this._tempb.clear().union(t.bounds),r=t.mark.group;for(;r;)n.translate(r.x||0,r.y||0),r=r.mark.group;this._dirty.union(n)}_render(t,n){let r=this.context(),i=this._origin,o=this._width,s=this._height,a=this._dirty,u=Hse(i,o,s);r.save();let l=this._redraw||a.empty()?(this._redraw=!1,u.expand(1)):qse(r,u.intersect(a),i);return this.clear(-i[0],-i[1],o,s),this.draw(r,t,l,n),r.restore(),a.clear(),this}draw(t,n,r,i){if(n.marktype!=="group"&&i!=null&&!i.includes(n.marktype))return;let o=Lr[n.marktype];n.clip&&Uoe(t,n),o.draw.call(this,t,n,r,i),n.clip&&t.restore()}clear(t,n,r,i){let o=this._options,s=this.context();o.type!=="pdf"&&!o.externalContext&&s.clearRect(t,n,r,i),this._bgcolor!=null&&(s.fillStyle=this._bgcolor,s.fillRect(t,n,r,i))}},Hse=(e,t,n)=>new Lt().set(0,0,t,n).translate(-e[0],-e[1]);function qse(e,t,n){return t.expand(1).round(),e.pixelRatio%1&&t.scale(e.pixelRatio).round().scale(1/e.pixelRatio),t.translate(-(n[0]%1),-(n[1]%1)),e.beginPath(),e.rect(t.x1,t.y1,t.width(),t.height()),e.clip(),t}var Kb=class extends Ug{constructor(t,n){super(t,n);let r=this;r._hrefHandler=_F(r,(i,o)=>{o&&o.href&&r.handleHref(i,o,o.href)}),r._tooltipHandler=_F(r,(i,o)=>{r.handleTooltip(i,o,i.type!==Og)})}initialize(t,n,r){let i=this._svg;return i&&(i.removeEventListener(OF,this._hrefHandler),i.removeEventListener(NF,this._tooltipHandler),i.removeEventListener(Og,this._tooltipHandler)),this._svg=i=t&&tT(t,"svg"),i&&(i.addEventListener(OF,this._hrefHandler),i.addEventListener(NF,this._tooltipHandler),i.addEventListener(Og,this._tooltipHandler)),super.initialize(t,n,r)}canvas(){return this._svg}on(t,n){let r=this.eventName(t),i=this._handlers;if(this._handlerIndex(i[r],t,n)<0){let s={type:t,handler:n,listener:_F(this,n)};(i[r]||(i[r]=[])).push(s),this._svg&&this._svg.addEventListener(r,s.listener)}return this}off(t,n){let r=this.eventName(t),i=this._handlers[r],o=this._handlerIndex(i,t,n);return o>=0&&(this._svg&&this._svg.removeEventListener(r,i[o].listener),i.splice(o,1)),this}},_F=(e,t)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,t.call(e._obj,n,r)},W8="aria-hidden",nT="aria-label",rT="role",iT="aria-roledescription",V8="graphics-object",oT="graphics-symbol",Y8=(e,t,n)=>({[rT]:e,[iT]:t,[nT]:n||void 0}),Gse=en(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),l8={axis:{desc:"axis",caption:Vse},legend:{desc:"legend",caption:Yse},"title-text":{desc:"title",caption:e=>`Title text '${f8(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${f8(e)}'`}},c8={ariaRole:rT,ariaRoleDescription:iT,description:nT};function X8(e,t){let n=t.aria===!1;if(e(W8,n||void 0),n||t.description==null)for(let r in c8)e(c8[r],void 0);else{let r=t.mark.marktype;e(nT,t.description),e(rT,t.ariaRole||(r==="group"?V8:oT)),e(iT,t.ariaRoleDescription||`${r} mark`)}}function K8(e){return e.aria===!1?{[W8]:!0}:Gse[e.role]?null:l8[e.role]?Wse(e,l8[e.role]):jse(e)}function jse(e){let t=e.marktype,n=t==="group"||t==="text"||e.items.some(r=>r.description!=null&&r.aria!==!1);return Y8(n?V8:oT,`${t} mark container`,e.description)}function Wse(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return Y8(t.role||oT,t.desc,n.description||r(n))}catch{return null}}function f8(e){return Z(e.text).join(" ")}function Vse(e){let t=e.datum,n=e.orient,r=t.title?Q8(e):null,i=e.context,o=i.scales[t.scale].value,s=i.dataflow.locale(),a=o.type;return`${n==="left"||n==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${tl(a)?"discrete":a} scale with ${bF(s,o,e)}`}function Yse(e){let t=e.datum,n=t.title?Q8(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,o=Object.keys(i),s=e.context,a=s.scales[i[o[0]]].value,u=s.dataflow.locale();return Kse(r)+(n?` titled '${n}'`:"")+` for ${Xse(o)} with ${bF(u,a,e)}`}function Q8(e){try{return Z(De(e.items).items[0].text).join(" ")}catch{return null}}function Xse(e){return e=e.map(t=>t+(t==="fill"||t==="stroke"?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+De(e)}function Kse(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var J8=e=>(e+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),Qse=e=>J8(e).replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
");function sT(){let e="",t="",n="",r=[],i=()=>t=n="",o=u=>{t&&(e+=`${t}>${n}`,i()),r.push(u)},s=(u,l)=>(l!=null&&(t+=` ${u}="${Qse(l)}"`),a),a={open(u){o(u),t="<"+u;for(var l=arguments.length,c=new Array(l>1?l-1:0),f=1;f<l;f++)c[f-1]=arguments[f];for(let d of c)for(let p in d)s(p,d[p]);return a},close(){let u=r.pop();return t?e+=t+(n?`>${n}</${u}>`:"/>"):e+=`</${u}>`,i(),a},attr:s,text:u=>(n+=J8(u),a),toString:()=>e};return a}var Z8=e=>e5(sT(),e)+"";function e5(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let i=0;i<r;++i)e.attr(n[i].name,n[i].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let r of n)r.nodeType===3?e.text(r.nodeValue):e5(e,r)}return e.close()}var Qb={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},Jb={blend:"mix-blend-mode"},t5={fill:"none","stroke-miterlimit":10},Mg=0,d8="http://www.w3.org/2000/xmlns/",hn=Lg.xmlns,zg=class extends $c{constructor(t){super(t),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(t,n,r,i,o){return this._defs={},this._clearDefs(),t&&(this._svg=gn(t,0,"svg",hn),this._svg.setAttributeNS(d8,"xmlns",hn),this._svg.setAttributeNS(d8,"xmlns:xlink",Lg["xmlns:xlink"]),this._svg.setAttribute("version",Lg.version),this._svg.setAttribute("class","marks"),uo(t,1),this._root=gn(this._svg,Mg,"g",hn),ol(this._root,t5),uo(this._svg,Mg+1)),this.background(this._bgcolor),super.initialize(t,n,r,i,o)}background(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),super.background(...arguments)}resize(t,n,r,i){return super.resize(t,n,r,i),this._svg&&(ol(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){let t=this._svg,n=this._bgcolor;if(!t)return null;let r;n&&(t.removeAttribute("style"),r=gn(t,Mg,"rect",hn),ol(r,{width:this._width,height:this._height,fill:n}));let i=Z8(t);return n&&(t.removeChild(r),this._svg.style.setProperty("background-color",n)),i}_render(t,n){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,t,void 0,n),uo(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))}isDirty(t){return this._dirtyAll||!t._svg||!t._svg.ownerSVGElement||t.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let t=this._dirty;if(!t.length||!this._dirtyID)return!0;let n=++this._dirtyID,r,i,o,s,a,u,l;for(a=0,u=t.length;a<u;++a)if(r=t[a],i=r.mark,i.marktype!==o&&(o=i.marktype,s=Lr[o]),i.zdirty&&i.dirty!==n&&(this._dirtyAll=!1,p8(r,n),i.items.forEach(c=>{c.dirty=n})),!i.zdirty){if(r.exit){s.nested&&i.items.length?(l=i.items[0],l._svg&&this._update(s,l._svg,l)):r._svg&&(l=r._svg.parentNode,l&&l.removeChild(r._svg)),r._svg=null;continue}r=s.nested?i.items[0]:r,r._update!==n&&(!r._svg||!r._svg.ownerSVGElement?(this._dirtyAll=!1,p8(r,n)):this._update(s,r._svg,r),r._update=n)}return!this._dirtyAll}mark(t,n,r,i){if(!this.isDirty(n))return n._svg;let o=this._svg,s=n.marktype,a=Lr[s],u=n.interactive===!1?"none":null,l=a.tag==="g",c=m8(n,t,r,"g",o);if(s!=="group"&&i!=null&&!i.includes(s))return uo(c,0),n._svg;c.setAttribute("class",B8(n));let f=K8(n);for(let h in f)$r(c,h,f[h]);l||$r(c,"pointer-events",u),$r(c,"clip-path",n.clip?UF(this,n,n.group):null);let d=null,p=0,m=h=>{let g=this.isDirty(h),y=m8(h,c,d,a.tag,o);g&&(this._update(a,y,h),l&&eae(this,y,h,i)),d=y,++p};return a.nested?n.items.length&&m(n.items[0]):zo(n,m),uo(c,p),c}_update(t,n,r){ja=n,lr=n.__values__,X8(Pg,r),t.attr(Pg,r,this);let i=nae[t.type];i&&i.call(this,t,n,r),ja&&this.style(ja,r)}style(t,n){if(n!=null){for(let r in Qb){let i=r==="font"?Qg(n):n[r];if(i===lr[r])continue;let o=Qb[r];i==null?t.removeAttribute(o):(PF(i)&&(i=g8(i,this._defs.gradient,n5())),t.setAttribute(o,i+"")),lr[r]=i}for(let r in Jb)Lb(t,Jb[r],n[r])}}defs(){let t=this._svg,n=this._defs,r=n.el,i=0;for(let o in n.gradient)r||(n.el=r=gn(t,Mg+1,"defs",hn)),i=Jse(r,n.gradient[o],i);for(let o in n.clipping)r||(n.el=r=gn(t,Mg+1,"defs",hn)),i=Zse(r,n.clipping[o],i);r&&(i===0?(t.removeChild(r),n.el=null):uo(r,i))}_clearDefs(){let t=this._defs;t.gradient={},t.clipping={}}};function p8(e,t){for(;e&&e.dirty!==t;e=e.mark.group)if(e.dirty=t,e.mark&&e.mark.dirty!==t)e.mark.dirty=t;else return}function Jse(e,t,n){let r,i,o;if(t.gradient==="radial"){let s=gn(e,n++,"pattern",hn);ol(s,{id:Bb+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),s=gn(s,0,"rect",hn),ol(s,{width:1,height:1,fill:`url(${n5()}#${t.id})`}),e=gn(e,n++,"radialGradient",hn),ol(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=gn(e,n++,"linearGradient",hn),ol(e,{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(r=0,i=t.stops.length;r<i;++r)o=gn(e,r,"stop",hn),o.setAttribute("offset",t.stops[r].offset),o.setAttribute("stop-color",t.stops[r].color);return uo(e,r),n}function Zse(e,t,n){let r;return e=gn(e,n,"clipPath",hn),e.setAttribute("id",t.id),t.path?(r=gn(e,0,"path",hn),r.setAttribute("d",t.path)):(r=gn(e,0,"rect",hn),ol(r,{x:0,y:0,width:t.width,height:t.height})),uo(e,1),n+1}function eae(e,t,n,r){t=t.lastChild.previousSibling;let i,o=0;zo(n,s=>{i=e.mark(t,s,i,r),++o}),uo(t,1+o)}function m8(e,t,n,r,i){let o=e._svg,s;if(!o&&(s=t.ownerDocument,o=il(s,r,hn),e._svg=o,e.mark&&(o.__data__=e,o.__values__={fill:"default"},r==="g"))){let a=il(s,"path",hn);o.appendChild(a),a.__data__=e;let u=il(s,"g",hn);o.appendChild(u),u.__data__=e;let l=il(s,"path",hn);o.appendChild(l),l.__data__=e,l.__values__={fill:"default"}}return(o.ownerSVGElement!==i||tae(o,n))&&t.insertBefore(o,n?n.nextSibling:t.firstChild),o}function tae(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var ja=null,lr=null,nae={group(e,t,n){let r=ja=t.childNodes[2];lr=r.__values__,e.foreground(Pg,n,this),lr=t.__values__,ja=t.childNodes[1],e.content(Pg,n,this);let i=ja=t.childNodes[0];e.background(Pg,n,this);let o=n.mark.interactive===!1?"none":null;if(o!==lr.events&&($r(r,"pointer-events",o),$r(i,"pointer-events",o),lr.events=o),n.strokeForeground&&n.stroke){let s=n.fill;$r(r,"display",null),this.style(i,n),$r(i,"stroke",null),s&&(n.fill=null),lr=r.__values__,this.style(r,n),s&&(n.fill=s),ja=null}else $r(r,"display","none")},image(e,t,n){n.smooth===!1?(Lb(t,"image-rendering","optimizeSpeed"),Lb(t,"image-rendering","pixelated")):Lb(t,"image-rendering",null)},text(e,t,n){let r=Kg(n),i,o,s,a;O(r)?(o=r.map(u=>ll(n,u)),i=o.join(` |
| 9 | `),i!==lr.text&&(uo(t,0),s=t.ownerDocument,a=ul(n),o.forEach((u,l)=>{let c=il(s,"tspan",hn);c.__data__=n,c.textContent=u,l&&(c.setAttribute("x",0),c.setAttribute("dy",a)),t.appendChild(c)}),lr.text=i)):(o=ll(n,r),o!==lr.text&&(t.textContent=o,lr.text=o)),$r(t,"font-family",Qg(n)),$r(t,"font-size",Xs(n)+"px"),$r(t,"font-style",n.fontStyle),$r(t,"font-variant",n.fontVariant),$r(t,"font-weight",n.fontWeight)}};function Pg(e,t,n){t!==lr[e]&&(n?rae(ja,e,t,n):$r(ja,e,t),lr[e]=t)}function Lb(e,t,n){n!==lr[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+""),lr[t]=n)}function ol(e,t){for(let n in t)$r(e,n,t[n])}function $r(e,t,n){n!=null?e.setAttribute(t,n):e.removeAttribute(t)}function rae(e,t,n,r){n!=null?e.setAttributeNS(r,t,n):e.removeAttributeNS(r,t)}function n5(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var Zb=class extends $c{constructor(t){super(t),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(t){let n=sT();n.open("svg",Se({},Lg,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));let r=this._bgcolor;return r&&r!=="transparent"&&r!=="none"&&n.open("rect",{width:this._width,height:this._height,fill:r}).close(),n.open("g",t5,{transform:"translate("+this._origin+")"}),this.mark(n,t),n.close(),this.defs(n),this._text=n.close()+"",this}mark(t,n){let r=Lr[n.marktype],i=r.tag,o=[X8,r.attr];t.open("g",{class:B8(n),"clip-path":n.clip?UF(this,n,n.group):null},K8(n),{"pointer-events":i!=="g"&&n.interactive===!1?"none":null});let s=a=>{let u=this.href(a);if(u&&t.open("a",u),t.open(i,this.attr(n,a,o,i!=="g"?i:null)),i==="text"){let l=Kg(a);if(O(l)){let c={x:0,dy:ul(a)};for(let f=0;f<l.length;++f)t.open("tspan",f?c:null).text(ll(a,l[f])).close()}else t.text(ll(a,l))}else if(i==="g"){let l=a.strokeForeground,c=a.fill,f=a.stroke;l&&f&&(a.stroke=null),t.open("path",this.attr(n,a,r.background,"bgrect")).close(),t.open("g",this.attr(n,a,r.content)),zo(a,d=>this.mark(t,d)),t.close(),l&&f?(c&&(a.fill=null),a.stroke=f,t.open("path",this.attr(n,a,r.foreground,"bgrect")).close(),c&&(a.fill=c)):t.open("path",this.attr(n,a,r.foreground,"bgfore")).close()}t.close(),u&&t.close()};return r.nested?n.items&&n.items.length&&s(n.items[0]):zo(n,s),t.close()}href(t){let n=t.href,r;if(n){if(r=this._hrefs&&this._hrefs[n])return r;this.sanitizeURL(n).then(i=>{i["xlink:href"]=i.href,i.href=null,(this._hrefs||(this._hrefs={}))[n]=i})}return null}attr(t,n,r,i){let o={},s=(a,u,l,c)=>{o[c||a]=u};return Array.isArray(r)?r.forEach(a=>a(s,n,this)):r(s,n,this),i&&iae(o,n,t,i,this._defs),o}defs(t){let n=this._defs.gradient,r=this._defs.clipping;if(Object.keys(n).length+Object.keys(r).length!==0){t.open("defs");for(let o in n){let s=n[o],a=s.stops;s.gradient==="radial"?(t.open("pattern",{id:Bb+o,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),t.open("rect",{width:"1",height:"1",fill:"url(#"+o+")"}).close(),t.close(),t.open("radialGradient",{id:o,fx:s.x1,fy:s.y1,fr:s.r1,cx:s.x2,cy:s.y2,r:s.r2})):t.open("linearGradient",{id:o,x1:s.x1,x2:s.x2,y1:s.y1,y2:s.y2});for(let u=0;u<a.length;++u)t.open("stop",{offset:a[u].offset,"stop-color":a[u].color}).close();t.close()}for(let o in r){let s=r[o];t.open("clipPath",{id:o}),s.path?t.open("path",{d:s.path}).close():t.open("rect",{x:0,y:0,width:s.width,height:s.height}).close(),t.close()}t.close()}}};function iae(e,t,n,r,i){let o;if(t==null||(r==="bgrect"&&n.interactive===!1&&(e["pointer-events"]="none"),r==="bgfore"&&(n.interactive===!1&&(e["pointer-events"]="none"),e.display="none",t.fill!==null)))return e;r==="image"&&t.smooth===!1&&(o=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),r==="text"&&(e["font-family"]=Qg(t),e["font-size"]=Xs(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight);for(let s in Qb){let a=t[s],u=Qb[s];a==="transparent"&&(u==="fill"||u==="stroke")||a!=null&&(PF(a)&&(a=g8(a,i.gradient,"")),e[u]=a)}for(let s in Jb){let a=t[s];a!=null&&(o=o||[],o.push(`${Jb[s]}: ${a};`))}return o&&(e.style=o.join(" ")),e}var Uo={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};function oae(e){Uo.svgMarkTypes=e.svgMarkTypes??["text"],Uo.svgOnTop=e.svgOnTop??!0,Uo.debug=e.debug??!1}var Hg=class extends $c{constructor(t){super(t),this._svgRenderer=new zg(t),this._canvasRenderer=new Ud(t)}initialize(t,n,r,i,o){this._root_el=gn(t,0,"div");let s=gn(this._root_el,0,"div"),a=gn(this._root_el,1,"div");return this._root_el.style.position="relative",Uo.debug||(s.style.height="100%",a.style.position="absolute",a.style.top="0",a.style.left="0",a.style.height="100%",a.style.width="100%"),this._svgEl=Uo.svgOnTop?a:s,this._canvasEl=Uo.svgOnTop?s:a,this._svgEl.style.pointerEvents="none",this._canvasRenderer.initialize(this._canvasEl,n,r,i,o),this._svgRenderer.initialize(this._svgEl,n,r,i,o),super.initialize(t,n,r,i,o)}dirty(t){return Uo.svgMarkTypes.includes(t.mark.marktype)?this._svgRenderer.dirty(t):this._canvasRenderer.dirty(t),this}_render(t,n){let i=(n??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(o=>!Uo.svgMarkTypes.includes(o));this._svgRenderer.render(t,Uo.svgMarkTypes),this._canvasRenderer.render(t,i)}resize(t,n,r,i){return super.resize(t,n,r,i),this._svgRenderer.resize(t,n,r,i),this._canvasRenderer.resize(t,n,r,i),this}background(t){return Uo.svgOnTop?this._canvasRenderer.background(t):this._svgRenderer.background(t),this}},ev=class extends cl{constructor(t,n){super(t,n)}initialize(t,n,r){let i=gn(gn(t,0,"div"),Uo.svgOnTop?0:1,"div");return super.initialize(i,n,r)}},r5="canvas",i5="hybrid",o5="png",s5="svg",a5="none",Wa={Canvas:r5,PNG:o5,SVG:s5,Hybrid:i5,None:a5},Lc={};Lc[r5]=Lc[o5]={renderer:Ud,headless:Ud,handler:cl};Lc[s5]={renderer:zg,headless:Zb,handler:Kb};Lc[i5]={renderer:Hg,headless:Hg,handler:ev};Lc[a5]={};function Zg(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(Lc[e]=t,this):Lc[e]}function aT(e,t,n){let r=[],i=new Lt().union(t),o=e.marktype;return o?u5(e,i,n,r):o==="group"?l5(e,i,n,r):U("Intersect scene must be mark node or group item.")}function u5(e,t,n,r){if(sae(e,t,n)){let i=e.items,o=e.marktype,s=i.length,a=0;if(o==="group")for(;a<s;++a)l5(i[a],t,n,r);else for(let u=Lr[o].isect;a<s;++a){let l=i[a];c5(l,t,u)&&r.push(l)}}return r}function sae(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype==="group"||e.interactive!==!1&&(!n||n(e)))}function l5(e,t,n,r){n&&n(e.mark)&&c5(e,t,Lr.group.isect)&&r.push(e);let i=e.items,o=i&&i.length;if(o){let s=e.x||0,a=e.y||0;t.translate(-s,-a);for(let u=0;u<o;++u)u5(i[u],t,n,r);t.translate(s,a)}return r}function c5(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var CF=new Lt;function uT(e){let t=e.clip;if(we(t))t(Yg(CF.clear()));else if(t)CF.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(CF)}var aae=1e-9;function lT(e,t,n){return e===t?!0:n==="path"?f5(e,t):e instanceof Date&&t instanceof Date?+e==+t:Te(e)&&Te(t)?Math.abs(e-t)<=aae:!e||!t||!Q(e)&&!Q(t)?e==t:uae(e,t)}function f5(e,t){return lT(Pc(e),Pc(t))}function uae(e,t){var n=Object.keys(e),r=Object.keys(t),i,o;if(n.length!==r.length)return!1;for(n.sort(),r.sort(),o=n.length-1;o>=0;o--)if(n[o]!=r[o])return!1;for(o=n.length-1;o>=0;o--)if(i=n[o],!lT(e[i],t[i],i))return!1;return typeof e==typeof t}function lae(){w8(),Iie()}var Gd="top",Ho="left",qo="right",pl="bottom",cae="top-left",fae="top-right",dae="bottom-left",pae="bottom-right",dT="start",cT="middle",Br="end",mae="x",hae="y",pv="group",pT="axis",mT="title",gae="frame",yae="scope",hT="legend",E5="row-header",w5="row-footer",S5="row-title",A5="column-header",_5="column-footer",C5="column-title",xae="padding",bae="symbol",k5="fit",F5="fit-x",T5="fit-y",vae="pad",gT="none",lv="all",fT="each",yT="flush",fl="column",dl="row";function R5(e){B.call(this,null,e)}te(R5,B,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,o=Lr[i],s=o.bound,a=r.bounds,u;if(o.nested)r.items.length&&n.dirty(r.items[0]),a=cv(r,s),r.items.forEach(l=>{l.bounds.clear().union(a)});else if(i===pv||e.modified())switch(t.visit(t.MOD,l=>n.dirty(l)),a.clear(),r.items.forEach(l=>a.union(cv(l,s))),r.role){case pT:case hT:case mT:t.reflow()}else u=t.changed(t.REM),t.visit(t.ADD,l=>{a.union(cv(l,s))}),t.visit(t.MOD,l=>{u=u||a.alignsWith(l.bounds),n.dirty(l),a.union(cv(l,s))}),u&&(a.clear(),r.items.forEach(l=>a.union(l.bounds)));return uT(r),t.modifies("bounds")}});function cv(e,t,n){return t(e.bounds.clear(),e,n)}var d5=":vega_identifier:";function xT(e){B.call(this,0,e)}xT.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]};te(xT,B,{transform(e,t){let n=Eae(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,o=>o[r]=o[r]||++i),n.set(this.value=i),t}});function Eae(e){return e._signals[d5]||(e._signals[d5]=e.add(0))}function D5(e){B.call(this,null,e)}te(D5,B,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,wae(e),e.index),n.group.context=e.context,e.context.group||(e.context.group=n.group),n.source=this.source,n.clip=e.clip,n.interactive=e.interactive,this.value=n);let r=n.marktype===pv?Vg:Wg;return t.visit(t.ADD,i=>r.call(i,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});function wae(e){let t=e.groups,n=e.parent;return t&&t.size===1?t.get(Object.keys(t.object)[0]):t&&n?t.lookup(n):null}function M5(e){B.call(this,null,e)}var p5={parity:e=>e.filter((t,n)=>n%2?t.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((r,i)=>!i||!I5(n.bounds,r.bounds,t)?(n=r,1):r.opacity=0)}},I5=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),m5=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,o;n<r;i=o,++n)if(I5(i,o=e[n].bounds,t))return!0},Sae=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},Aae=(e,t,n)=>{var r=e.range(),i=new Lt;return t===Gd||t===pl?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),o=>i.encloses(o.bounds)},h5=e=>(e.forEach(t=>t.opacity=1),e),g5=(e,t)=>e.reflow(t.modified()).modifies("opacity");te(M5,B,{transform(e,t){let n=p5[e.method]||p5.parity,r=e.separation||0,i=t.materialize(t.SOURCE).source,o,s;if(!i||!i.length)return;if(!e.method)return e.modified("method")&&(h5(i),t=g5(t,e)),t;if(i=i.filter(Sae),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),o=h5(i),t=g5(t,e),o.length>=3&&m5(o,r)){do o=n(o,r);while(o.length>=3&&m5(o,r));o.length<3&&!De(i).opacity&&(o.length>1&&(De(o).opacity=0),De(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(s=Aae(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(u=>{s(u)||(u.opacity=0)}));let a=o[0].mark.bounds.clear();return i.forEach(u=>{u.opacity&&a.union(u.bounds)}),t}});function N5(e){B.call(this,null,e)}te(N5,B,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,r=>n.dirty(r)),t.fields&&t.fields.zindex){let r=t.source&&t.source[0];r&&(r.mark.zdirty=!0)}}});var cr=new Lt;function qd(e,t,n){return e[t]===n?0:(e[t]=n,1)}function _ae(e){var t=e.items[0].orient;return t===Ho||t===qo}function Cae(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function kae(e,t,n,r){var i=t.items[0],o=i.datum,s=i.translate!=null?i.translate:.5,a=i.orient,u=Cae(o),l=i.range,c=i.offset,f=i.position,d=i.minExtent,p=i.maxExtent,m=o.title&&i.items[u[2]].items[0],h=i.titlePadding,g=i.bounds,y=m&&sv(m),x=0,b=0,v,E;switch(cr.clear().union(g),g.clear(),(v=u[0])>-1&&g.union(i.items[v].bounds),(v=u[1])>-1&&g.union(i.items[v].bounds),a){case Gd:x=f||0,b=-c,E=Math.max(d,Math.min(p,-g.y1)),g.add(0,-E).add(l,0),m&&fv(e,m,E,h,y,0,-1,g);break;case Ho:x=-c,b=f||0,E=Math.max(d,Math.min(p,-g.x1)),g.add(-E,0).add(0,l),m&&fv(e,m,E,h,y,1,-1,g);break;case qo:x=n+c,b=f||0,E=Math.max(d,Math.min(p,g.x2)),g.add(0,0).add(E,l),m&&fv(e,m,E,h,y,1,1,g);break;case pl:x=f||0,b=r+c,E=Math.max(d,Math.min(p,g.y2)),g.add(0,0).add(l,E),m&&fv(e,m,E,h,0,0,1,g);break;default:x=i.x,b=i.y}return Ys(g.translate(x,b),i),qd(i,"x",x+s)|qd(i,"y",b+s)&&(i.bounds=cr,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function fv(e,t,n,r,i,o,s,a){let u=t.bounds;if(t.auto){let l=s*(n+i+r),c=0,f=0;e.dirty(t),o?c=(t.x||0)-(t.x=l):f=(t.y||0)-(t.y=l),t.mark.bounds.clear().union(u.translate(-c,-f)),e.dirty(t)}a.union(u)}var y5=(e,t)=>Math.floor(Math.min(e,t)),x5=(e,t)=>Math.ceil(Math.max(e,t));function Fae(e){var t=e.items,n=t.length,r=0,i,o;let s={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;r<n;++r)if(i=t[r],o=i.items,i.marktype===pv)switch(i.role){case pT:case hT:case mT:break;case E5:s.rowheaders.push(...o);break;case w5:s.rowfooters.push(...o);break;case A5:s.colheaders.push(...o);break;case _5:s.colfooters.push(...o);break;case S5:s.rowtitle=o[0];break;case C5:s.coltitle=o[0];break;default:s.marks.push(...o)}return s}function Tae(e){return new Lt().set(0,0,e.width||0,e.height||0)}function Rae(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function Ft(e,t,n){let r=Q(e)?e[t]:e;return r??(n!==void 0?n:0)}function b5(e){return e<0?Math.ceil(-e):0}function O5(e,t,n){var r=!n.nodirty,i=n.bounds===yT?Tae:Rae,o=cr.set(0,0,0,0),s=Ft(n.align,fl),a=Ft(n.align,dl),u=Ft(n.padding,fl),l=Ft(n.padding,dl),c=n.columns||t.length,f=c<=0?1:Math.ceil(t.length/c),d=t.length,p=Array(d),m=Array(c),h=0,g=Array(d),y=Array(f),x=0,b=Array(d),v=Array(d),E=Array(d),S,w,A,C,_,F,I,M,R,k,D;for(w=0;w<c;++w)m[w]=0;for(w=0;w<f;++w)y[w]=0;for(w=0;w<d;++w)F=t[w],_=E[w]=i(F),F.x=F.x||0,b[w]=0,F.y=F.y||0,v[w]=0,A=w%c,C=~~(w/c),h=Math.max(h,I=Math.ceil(_.x2)),x=Math.max(x,M=Math.ceil(_.y2)),m[A]=Math.max(m[A],I),y[C]=Math.max(y[C],M),p[w]=u+b5(_.x1),g[w]=l+b5(_.y1),r&&e.dirty(t[w]);for(w=0;w<d;++w)w%c===0&&(p[w]=0),w<c&&(g[w]=0);if(s===fT)for(A=1;A<c;++A){for(D=0,w=A;w<d;w+=c)D<p[w]&&(D=p[w]);for(w=A;w<d;w+=c)p[w]=D+m[A-1]}else if(s===lv){for(D=0,w=0;w<d;++w)w%c&&D<p[w]&&(D=p[w]);for(w=0;w<d;++w)w%c&&(p[w]=D+h)}else for(s=!1,A=1;A<c;++A)for(w=A;w<d;w+=c)p[w]+=m[A-1];if(a===fT)for(C=1;C<f;++C){for(D=0,w=C*c,S=w+c;w<S;++w)D<g[w]&&(D=g[w]);for(w=C*c;w<S;++w)g[w]=D+y[C-1]}else if(a===lv){for(D=0,w=c;w<d;++w)D<g[w]&&(D=g[w]);for(w=c;w<d;++w)g[w]=D+x}else for(a=!1,C=1;C<f;++C)for(w=C*c,S=w+c;w<S;++w)g[w]+=y[C-1];for(R=0,w=0;w<d;++w)R=p[w]+(w%c?R:0),b[w]+=R-t[w].x;for(A=0;A<c;++A)for(k=0,w=A;w<d;w+=c)k+=g[w],v[w]+=k-t[w].y;if(s&&Ft(n.center,fl)&&f>1)for(w=0;w<d;++w)_=s===lv?h:m[w%c],R=_-E[w].x2-t[w].x-b[w],R>0&&(b[w]+=R/2);if(a&&Ft(n.center,dl)&&c!==1)for(w=0;w<d;++w)_=a===lv?x:y[~~(w/c)],k=_-E[w].y2-t[w].y-v[w],k>0&&(v[w]+=k/2);for(w=0;w<d;++w)o.union(E[w].translate(b[w],v[w]));switch(R=Ft(n.anchor,mae),k=Ft(n.anchor,hae),Ft(n.anchor,fl)){case Br:R-=o.width();break;case cT:R-=o.width()/2}switch(Ft(n.anchor,dl)){case Br:k-=o.height();break;case cT:k-=o.height()/2}for(R=Math.round(R),k=Math.round(k),o.clear(),w=0;w<d;++w)t[w].mark.bounds.clear();for(w=0;w<d;++w)F=t[w],F.x+=b[w]+=R,F.y+=v[w]+=k,o.union(F.mark.bounds.union(F.bounds.translate(b[w],v[w]))),r&&e.dirty(F);return o}function Dae(e,t,n){var r=Fae(t),i=r.marks,o=n.bounds===yT?Mae:Iae,s=n.offset,a=n.columns||i.length,u=a<=0?1:Math.ceil(i.length/a),l=u*a,c,f,d,p,m,h,g;let y=O5(e,i,n);y.empty()&&y.set(0,0,0,0),r.rowheaders&&(h=Ft(n.headerBand,dl,null),c=dv(e,r.rowheaders,i,a,u,-Ft(s,"rowHeader"),y5,0,o,"x1",0,a,1,h)),r.colheaders&&(h=Ft(n.headerBand,fl,null),f=dv(e,r.colheaders,i,a,a,-Ft(s,"columnHeader"),y5,1,o,"y1",0,1,a,h)),r.rowfooters&&(h=Ft(n.footerBand,dl,null),d=dv(e,r.rowfooters,i,a,u,Ft(s,"rowFooter"),x5,0,o,"x2",a-1,a,1,h)),r.colfooters&&(h=Ft(n.footerBand,fl,null),p=dv(e,r.colfooters,i,a,a,Ft(s,"columnFooter"),x5,1,o,"y2",l-a,1,a,h)),r.rowtitle&&(m=Ft(n.titleAnchor,dl),g=Ft(s,"rowTitle"),g=m===Br?d+g:c-g,h=Ft(n.titleBand,dl,.5),v5(e,r.rowtitle,g,0,y,h)),r.coltitle&&(m=Ft(n.titleAnchor,fl),g=Ft(s,"columnTitle"),g=m===Br?p+g:f-g,h=Ft(n.titleBand,fl,.5),v5(e,r.coltitle,g,1,y,h))}function Mae(e,t){return t==="x1"?e.x||0:t==="y1"?e.y||0:t==="x2"?(e.x||0)+(e.width||0):t==="y2"?(e.y||0)+(e.height||0):void 0}function Iae(e,t){return e.bounds[t]}function dv(e,t,n,r,i,o,s,a,u,l,c,f,d,p){var m=n.length,h=0,g=0,y,x,b,v,E,S,w,A,C;if(!m)return h;for(y=c;y<m;y+=f)n[y]&&(h=s(h,u(n[y],l)));if(!t.length)return h;for(t.length>i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),h+=o,x=0,v=t.length;x<v;++x)e.dirty(t[x]),t[x].mark.bounds.clear();for(y=c,x=0,v=t.length;x<v;++x,y+=f){for(S=t[x],E=S.mark.bounds,b=y;b>=0&&(w=n[b])==null;b-=d);a?(A=p==null?w.x:Math.round(w.bounds.x1+p*w.bounds.width()),C=h):(A=h,C=p==null?w.y:Math.round(w.bounds.y1+p*w.bounds.height())),E.union(S.bounds.translate(A-(S.x||0),C-(S.y||0))),S.x=A,S.y=C,e.dirty(S),g=s(g,E[l])}return g}function v5(e,t,n,r,i,o){if(t){e.dirty(t);var s=n,a=n;r?s=Math.round(i.x1+o*i.width()):a=Math.round(i.y1+o*i.height()),t.bounds.translate(s-(t.x||0),a-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=s,t.y=a,e.dirty(t)}}function Nae(e,t){let n=e[t]||{};return(r,i)=>n[r]!=null?n[r]:e[r]!=null?e[r]:i}function Oae(e,t){let n=-1/0;return e.forEach(r=>{r.offset!=null&&(n=Math.max(n,r.offset))}),n>-1/0?n:t}function Pae(e,t,n,r,i,o,s){let a=Nae(n,t),u=Oae(e,a("offset",0)),l=a("anchor",dT),c=l===Br?1:l===cT?.5:0,f={align:fT,bounds:a("bounds",yT),columns:a("direction")==="vertical"?1:e.length,padding:a("margin",8),center:a("center"),nodirty:!0};switch(t){case Ho:f.anchor={x:Math.floor(r.x1)-u,column:Br,y:c*(s||r.height()+2*r.y1),row:l};break;case qo:f.anchor={x:Math.ceil(r.x2)+u,y:c*(s||r.height()+2*r.y1),row:l};break;case Gd:f.anchor={y:Math.floor(i.y1)-u,row:Br,x:c*(o||i.width()+2*i.x1),column:l};break;case pl:f.anchor={y:Math.ceil(i.y2)+u,x:c*(o||i.width()+2*i.x1),column:l};break;case cae:f.anchor={x:u,y:u};break;case fae:f.anchor={x:o-u,y:u,column:Br};break;case dae:f.anchor={x:u,y:s-u,row:Br};break;case pae:f.anchor={x:o-u,y:s-u,column:Br,row:Br};break}return f}function $ae(e,t){var n=t.items[0],r=n.datum,i=n.orient,o=n.bounds,s=n.x,a=n.y,u,l;return n._bounds?n._bounds.clear().union(o):n._bounds=o.clone(),o.clear(),Bae(e,n,n.items[0].items[0]),o=Lae(n,o),u=2*n.padding,l=2*n.padding,o.empty()||(u=Math.ceil(o.width()+u),l=Math.ceil(o.height()+l)),r.type===bae&&Uae(n.items[0].items[0].items[0].items),i!==gT&&(n.x=s=0,n.y=a=0),n.width=u,n.height=l,Ys(o.set(s,a,s+u,a+l),n),n.mark.bounds.clear().union(o),n}function Lae(e,t){return e.items.forEach(n=>t.union(n.bounds)),t.x1=e.padding,t.y1=e.padding,t}function Bae(e,t,n){var r=t.padding,i=r-n.x,o=r-n.y;if(!t.datum.title)(i||o)&&e0(e,n,i,o);else{var s=t.items[1].items[0],a=s.anchor,u=t.titlePadding||0,l=r-s.x,c=r-s.y;switch(s.orient){case Ho:i+=Math.ceil(s.bounds.width())+u;break;case qo:case pl:break;default:o+=s.bounds.height()+u}switch((i||o)&&e0(e,n,i,o),s.orient){case Ho:c+=Hd(t,n,s,a,1,1);break;case qo:l+=Hd(t,n,s,Br,0,0)+u,c+=Hd(t,n,s,a,1,1);break;case pl:l+=Hd(t,n,s,a,0,0),c+=Hd(t,n,s,Br,-1,0,1)+u;break;default:l+=Hd(t,n,s,a,0,0)}(l||c)&&e0(e,s,l,c),(l=Math.round(s.bounds.x1-r))<0&&(e0(e,n,-l,0),e0(e,s,-l,0))}}function Hd(e,t,n,r,i,o,s){let a=e.datum.type!=="symbol",u=n.datum.vgrad,l=a&&(o||!u)&&!s?t.items[0]:t,c=l.bounds[i?"y2":"x2"]-e.padding,f=u&&o?c:0,d=u&&o?0:c,p=i<=0?0:sv(n);return Math.round(r===dT?f:r===Br?d-p:.5*(c-p))}function e0(e,t,n,r){t.x+=n,t.y+=r,t.bounds.translate(n,r),t.mark.bounds.translate(n,r),e.dirty(t)}function Uae(e){let t=e.reduce((n,r)=>(n[r.column]=Math.max(r.bounds.x2-r.x,n[r.column]||0),n),{});e.forEach(n=>{n.width=t[n.column],n.height=n.bounds.y2-n.y})}function zae(e,t,n,r,i){var o=t.items[0],s=o.frame,a=o.orient,u=o.anchor,l=o.offset,c=o.padding,f=o.items[0].items[0],d=o.items[1]&&o.items[1].items[0],p=a===Ho||a===qo?r:n,m=0,h=0,g=0,y=0,x=0,b;if(s!==pv?a===Ho?(m=i.y2,p=i.y1):a===qo?(m=i.y1,p=i.y2):(m=i.x1,p=i.x2):a===Ho&&(m=r,p=0),b=u===dT?m:u===Br?p:(m+p)/2,d&&d.text){switch(a){case Gd:case pl:x=f.bounds.height()+c;break;case Ho:y=f.bounds.width()+c;break;case qo:y=-f.bounds.width()-c;break}cr.clear().union(d.bounds),cr.translate(y-(d.x||0),x-(d.y||0)),qd(d,"x",y)|qd(d,"y",x)&&(e.dirty(d),d.bounds.clear().union(cr),d.mark.bounds.clear().union(cr),e.dirty(d)),cr.clear().union(d.bounds)}else cr.clear();switch(cr.union(f.bounds),a){case Gd:h=b,g=i.y1-cr.height()-l;break;case Ho:h=i.x1-cr.width()-l,g=b;break;case qo:h=i.x2+cr.width()+l,g=b;break;case pl:h=b,g=i.y2+l;break;default:h=o.x,g=o.y}return qd(o,"x",h)|qd(o,"y",g)&&(cr.translate(h,g),e.dirty(o),o.bounds.clear().union(cr),t.bounds.clear().union(cr),e.dirty(o)),o.bounds}function P5(e){B.call(this,null,e)}te(P5,B,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(r=>{e.layout&&Dae(n,r,e.layout),qae(n,r,e)}),Hae(e.mark.group)?t.reflow():t}});function Hae(e){return e&&e.mark.role!=="legend-entry"}function qae(e,t,n){var r=t.items,i=Math.max(0,t.width||0),o=Math.max(0,t.height||0),s=new Lt().set(0,0,i,o),a=s.clone(),u=s.clone(),l=[],c,f,d,p,m,h;for(m=0,h=r.length;m<h;++m)switch(f=r[m],f.role){case pT:p=_ae(f)?a:u,p.union(kae(e,f,i,o));break;case mT:c=f;break;case hT:l.push($ae(e,f));break;case gae:case yae:case E5:case w5:case S5:case A5:case _5:case C5:a.union(f.bounds),u.union(f.bounds);break;default:s.union(f.bounds)}if(l.length){let g={};l.forEach(y=>{d=y.orient||qo,d!==gT&&(g[d]||(g[d]=[])).push(y)});for(let y in g){let x=g[y];O5(e,x,Pae(x,y,n.legends,a,u,i,o))}l.forEach(y=>{let x=y.bounds;if(x.equals(y._bounds)||(y.bounds=y._bounds,e.dirty(y),y.bounds=x,e.dirty(y)),n.autosize&&(n.autosize.type===k5||n.autosize.type===F5||n.autosize.type===T5))switch(y.orient){case Ho:case qo:s.add(x.x1,0).add(x.x2,0);break;case Gd:case pl:s.add(0,x.y1).add(0,x.y2)}else s.union(x)})}s.union(a).union(u),c&&s.union(zae(e,c,i,o,s)),t.clip&&s.set(0,0,t.width||0,t.height||0),Gae(e,t,s,n)}function Gae(e,t,n,r){let i=r.autosize||{},o=i.type;if(e._autosize<1||!o)return;let s=e._width,a=e._height,u=Math.max(0,t.width||0),l=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1)),d=Math.max(0,Math.ceil(n.x2-u)),p=Math.max(0,Math.ceil(n.y2-c));if(i.contains===xae){let m=e.padding();s-=m.left+m.right,a-=m.top+m.bottom}o===gT?(l=0,f=0,u=s,c=a):o===k5?(u=Math.max(0,s-l-d),c=Math.max(0,a-f-p)):o===F5?(u=Math.max(0,s-l-d),a=c+f+p):o===T5?(s=u+l+d,c=Math.max(0,a-f-p)):o===vae&&(s=u+l+d,a=c+f+p),e._resizeView(s,a,u,c,[l,f],i.resize)}var AT={};rr(AT,{axisticks:()=>U5,datajoin:()=>z5,encode:()=>H5,legendentries:()=>q5,linkpath:()=>ET,pie:()=>wT,scale:()=>Y5,sortitems:()=>K5,stack:()=>ST});function U5(e){B.call(this,null,e)}te(U5,B,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,o=e.scale,s=e.count==null?e.values?e.values.length:10:e.count,a=Fb(o,s,e.minstep),u=e.format||gF(n,o,a,e.formatSpecifier,e.formatType,!!e.values),l=e.values?hF(o,e.values,a):Tb(o,a);return i&&(r.rem=i),i=l.map((c,f)=>Ue({index:f/(l.length-1||1),value:c,label:u(c)})),e.extra&&i.length&&i.push(Ue({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}});function z5(e){B.call(this,null,e)}function jae(){return Ue({})}function Wae(e){let t=Mu().test(n=>n.exit);return t.lookup=n=>t.get(e(n)),t}te(z5,B,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||jae,o=e.key||ye,s=this.value;return O(r.encode)&&(r.encode=null),s&&(e.modified("key")||t.modified(o))&&U("DataJoin does not support modified key function or fields."),s||(t=t.addAll(),this.value=s=Wae(o)),t.visit(t.ADD,a=>{let u=o(a),l=s.get(u);l?l.exit?(s.empty--,r.add.push(l)):r.mod.push(l):(l=i(a),s.set(u,l),r.add.push(l)),l.datum=a,l.exit=!1}),t.visit(t.MOD,a=>{let u=o(a),l=s.get(u);l&&(l.datum=a,r.mod.push(l))}),t.visit(t.REM,a=>{let u=o(a),l=s.get(u);a===l.datum&&!l.exit&&(r.rem.push(l),l.exit=!0,++s.empty)}),t.changed(t.ADD_MOD)&&r.modifies("datum"),(t.clean()||e.clean&&s.empty>n.cleanThreshold)&&n.runAfter(s.clean),r}});function H5(e){B.call(this,null,e)}te(H5,B,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,o=t.encode;if(O(o))if(n.changed()||o.every(f=>i[f]))o=o[0],n.encode=null;else return t.StopPropagation;var s=o==="enter",a=i.update||Ca,u=i.enter||Ca,l=i.exit||Ca,c=(o&&!s?i[o]:a)||Ca;if(t.changed(t.ADD)&&(t.visit(t.ADD,f=>{u(f,e),a(f,e)}),n.modifies(u.output),n.modifies(a.output),c!==Ca&&c!==a&&(t.visit(t.ADD,f=>{c(f,e)}),n.modifies(c.output))),t.changed(t.REM)&&l!==Ca&&(t.visit(t.REM,f=>{l(f,e)}),n.modifies(l.output)),s||c!==Ca){let f=t.MOD|(e.modified()?t.REFLOW:0);s?(t.visit(f,d=>{let p=u(d,e)||r;(c(d,e)||p)&&n.mod.push(d)}),n.mod.length&&n.modifies(u.output)):t.visit(f,d=>{(c(d,e)||r)&&n.mod.push(d)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:t.StopPropagation}});function q5(e){B.call(this,[],e)}te(q5,B,{transform(e,t){if(this.value!=null&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,o=e.type||Rg,s=e.scale,a=+e.limit,u=Fb(s,e.count==null?5:e.count,e.minstep),l=!!e.values||o===Rg,c=e.format||xF(n,s,u,o,e.formatSpecifier,e.formatType,l),f=e.values||yF(s,u),d,p,m,h,g;return i&&(r.rem=i),o===Rg?(a&&f.length>a?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),i=f.slice(0,a-1),g=!0):i=f,we(m=e.size)?(!e.values&&s(i[0])===0&&(i=i.slice(1)),h=i.reduce((y,x)=>Math.max(y,m(x,e)),0)):m=_t(h=m||8),i=i.map((y,x)=>Ue({index:x,label:c(y,x,i),value:y,offset:h,size:m(y,e)})),g&&(g=f[i.length],i.push(Ue({index:i.length,label:`\u2026${f.length-i.length} entries`,value:g,offset:h,size:m(g,e)})))):o===z6?(d=s.domain(),p=kb(s,d[0],De(d)),f.length<3&&!e.values&&d[0]!==De(d)&&(f=[d[0],De(d)]),i=f.map((y,x)=>Ue({index:x,label:c(y,x,f),value:y,perc:p(y)}))):(m=f.length-1,p=G6(s),i=f.map((y,x)=>Ue({index:x,label:c(y,x,f),value:y,perc:x?p(y):0,perc2:x===m?1:p(f[x+1])}))),r.source=i,r.add=i,this.value=i,r}});var Vae=e=>e.source.x,Yae=e=>e.source.y,Xae=e=>e.target.x,Kae=e=>e.target.y;function ET(e){B.call(this,{},e)}ET.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]};te(ET,B,{transform(e,t){var n=e.sourceX||Vae,r=e.sourceY||Yae,i=e.targetX||Xae,o=e.targetY||Kae,s=e.as||"path",a=e.orient||"vertical",u=e.shape||"line",l=$5.get(u+"-"+a)||$5.get(u);return l||U("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,c=>{c[s]=l(n(c),r(c),i(c),o(c))}),t.reflow(e.modified()).modifies(s)}});var G5=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,Qae=(e,t,n,r)=>G5(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),j5=(e,t,n,r)=>{var i=n-e,o=r-t,s=Math.hypot(i,o)/2,a=180*Math.atan2(o,i)/Math.PI;return"M"+e+","+t+"A"+s+","+s+" "+a+" 0 1 "+n+","+r},Jae=(e,t,n,r)=>j5(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),W5=(e,t,n,r)=>{let i=n-e,o=r-t,s=.2*(i+o),a=.2*(o-i);return"M"+e+","+t+"C"+(e+s)+","+(t+a)+" "+(n+a)+","+(r-s)+" "+n+","+r},Zae=(e,t,n,r)=>W5(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),eue=(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,tue=(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,nue=(e,t,n,r)=>{let i=Math.cos(e),o=Math.sin(e),s=Math.cos(n),a=Math.sin(n),u=Math.abs(n-e)>Math.PI?n<=e:n>e;return"M"+t*i+","+t*o+"A"+t+","+t+" 0 0,"+(u?1:0)+" "+t*s+","+t*a+"L"+r*s+","+r*a},rue=(e,t,n,r)=>{let i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},iue=(e,t,n,r)=>{let i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},oue=(e,t,n,r)=>{let i=Math.cos(e),o=Math.sin(e),s=Math.cos(n),a=Math.sin(n),u=(t+r)/2;return"M"+t*i+","+t*o+"C"+u*i+","+u*o+" "+u*s+","+u*a+" "+r*s+","+r*a},$5=Mu({line:G5,"line-radial":Qae,arc:j5,"arc-radial":Jae,curve:W5,"curve-radial":Zae,"orthogonal-horizontal":eue,"orthogonal-vertical":tue,"orthogonal-radial":nue,"diagonal-horizontal":rue,"diagonal-vertical":iue,"diagonal-radial":oue});function wT(e){B.call(this,null,e)}wT.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]};te(wT,B,{transform(e,t){var n=e.as||["startAngle","endAngle"],r=n[0],i=n[1],o=e.field||Ms,s=e.startAngle||0,a=e.endAngle!=null?e.endAngle:2*Math.PI,u=t.source,l=u.map(o),c=l.length,f=s,d=(a-s)/sd(l),p=Yt(c),m,h,g;for(e.sort&&p.sort((y,x)=>l[y]-l[x]),m=0;m<c;++m)g=l[p[m]],h=u[p[m]],h[r]=f,h[i]=f+=g*d;return this.value=l,t.reflow(e.modified()).modifies(n)}});var sue=5;function aue(e){let t=e.type;return!e.bins&&(t===Fc||t===Md||t===Id)}function V5(e){return kg(e)&&e!==Lo}var uue=en(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function Y5(e){B.call(this,null,e),this.modified(!0)}te(Y5,B,{transform(e,t){var n=t.dataflow,r=this.value,i=lue(e);(!r||i!==r.type)&&(this.value=r=ze(i)());for(i in e)if(!uue[i]){if(i==="padding"&&V5(r.type))continue;we(r[i])?r[i](e[i]):n.warn("Unsupported scale property: "+i)}return hue(r,e,mue(r,e,fue(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function lue(e){var t=e.type,n="",r;return t===Lo?Lo+"-"+Fc:(cue(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?Lo+"-":r===3?Tc+"-":""),(n+t||Fc).toLowerCase())}function cue(e){let t=e.type;return kg(t)&&t!==Zu&&t!==el&&(e.scheme||e.range&&e.range.length&&e.range.every(Y))}function fue(e,t,n){let r=due(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,o=e.type,s=t.zero||t.zero===void 0&&aue(e),a,u;if(!i)return 0;if((s||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(a=(i=i.slice()).length-1||1,s&&(i[0]>0&&(i[0]=0),i[a]<0&&(i[a]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[a]=t.domainMax),t.domainMid!=null)){u=t.domainMid;let l=u>i[a]?a+1:u<i[0]?0:a;l!==a&&n.warn("Scale domainMid exceeds domain min or max.",u),i.splice(l,0,u)}return V5(o)&&t.padding&&i[0]!==De(i)&&(i=pue(o,i,t.range,t.padding,t.exponent,t.constant)),e.domain(X5(o,i,n)),o===Eb&&e.unknown(t.domainImplicit?wd:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&Fb(e,t.nice)||null),i.length}function due(e,t,n){return t?(e.domain(X5(e.type,t,n)),t.length):-1}function pue(e,t,n,r,i,o){var s=Math.abs(De(n)-n[0]),a=s/(s-2*r),u=e===js?uh(t,null,a):e===Id?nd(t,null,a,.5):e===Md?nd(t,null,a,i||1):e===wg?lh(t,null,a,o||1):ah(t,null,a);return t=t.slice(),t[0]=u[0],t[t.length-1]=u[1],t}function X5(e,t,n){if(dF(e)){var r=Math.abs(t.reduce((i,o)=>i+(o<0?-1:o>0?1:0),0));r!==t.length&&n.warn("Log scale domain includes zero: "+K(t))}return t}function mue(e,t,n){let r=t.bins;if(r&&!O(r)){let i=e.domain(),o=i[0],s=De(i),a=r.step,u=r.start==null?o:r.start,l=r.stop==null?s:r.stop;a||U("Scale bins parameter missing step property."),u<o&&(u=a*Math.ceil(o/a)),l>s&&(l=a*Math.floor(s/a)),r=Yt(u,l+a/2,a)}return r?e.bins=r:e.bins&&delete e.bins,e.type===Sb&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}function hue(e,t,n){var r=e.type,i=t.round||!1,o=t.range;if(t.rangeStep!=null)o=gue(r,t,n);else if(t.scheme&&(o=yue(r,t,n),we(o))){if(e.interpolator)return e.interpolator(o);U(`Scale type ${r} does not support interpolating color schemes.`)}if(o&&pF(r))return e.interpolator(Nd(vT(o,t.reverse),t.interpolate,t.interpolateGamma));o&&t.interpolate&&e.interpolate?e.interpolate(Fg(t.interpolate,t.interpolateGamma)):we(e.round)?e.round(i):we(e.rangeRound)&&e.interpolate(i?qs:ar),o&&e.range(vT(o,t.reverse))}function gue(e,t,n){e!==sF&&e!==wb&&U("Only band and point scales support rangeStep.");var r=(t.paddingOuter!=null?t.paddingOuter:t.padding)||0,i=e===wb?1:(t.paddingInner!=null?t.paddingInner:t.padding)||0;return[0,t.rangeStep*Eg(n,i,r)]}function yue(e,t,n){var r=t.schemeExtent,i,o;return O(t.scheme)?o=Nd(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),o=Tg(i),o||U(`Unrecognized scheme name: ${t.scheme}`)),n=e===Ag?n+1:e===Sb?n-1:e===kc||e===Sg?+t.schemeCount||sue:n,pF(e)?L5(o,r,t.reverse):we(o)?Cb(L5(o,r),n):e===Eb?o:o.slice(0,n)}function L5(e,t,n){return we(e)&&(t||n)?_b(e,vT(t||[0,1],n)):e}function vT(e,t){return t?e.slice().reverse():e}function K5(e){B.call(this,null,e)}te(K5,B,{transform(e,t){let n=e.modified("sort")||t.changed(t.ADD)||t.modified(e.sort.fields)||t.modified("datum");return n&&t.source.sort(Ls(e.sort)),this.modified(n),t}});var B5="zero",Q5="center",J5="normalize",Z5=["y0","y1"];function ST(e){B.call(this,null,e)}ST.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:B5,values:[B5,Q5,J5]},{name:"as",type:"string",array:!0,length:2,default:Z5}]};te(ST,B,{transform(e,t){var n=e.as||Z5,r=n[0],i=n[1],o=Ls(e.sort),s=e.field||Ms,a=e.offset===Q5?xue:e.offset===J5?bue:vue,u,l,c,f;for(u=Eue(t.source,e.groupby,o,s),l=0,c=u.length,f=u.max;l<c;++l)a(u[l],f,s,r,i);return t.reflow(e.modified()).modifies(n)}});function xue(e,t,n,r,i){for(var o=(t-e.sum)/2,s=e.length,a=0,u;a<s;++a)u=e[a],u[r]=o,u[i]=o+=Math.abs(n(u))}function bue(e,t,n,r,i){for(var o=1/e.sum,s=0,a=e.length,u=0,l=0,c;u<a;++u)c=e[u],c[r]=s,c[i]=s=o*(l+=Math.abs(n(c)))}function vue(e,t,n,r,i){for(var o=0,s=0,a=e.length,u=0,l,c;u<a;++u)c=e[u],l=+n(c),l<0?(c[r]=s,c[i]=s+=l):(c[r]=o,c[i]=o+=l)}function Eue(e,t,n,r){var i=[],o=h=>h(c),s,a,u,l,c,f,d,p,m;if(t==null)i.push(e.slice());else for(s={},a=0,u=e.length;a<u;++a)c=e[a],f=t.map(o),d=s[f],d||(s[f]=d=[],i.push(d)),d.push(c);for(f=0,m=0,l=i.length;f<l;++f){for(d=i[f],a=0,p=0,u=d.length;a<u;++a)p+=Math.abs(r(d[a]));d.sum=p,p>m&&(m=p),n&&d.sort(n)}return i.max=m,i}var HR={};rr(HR,{contour:()=>NR,geojson:()=>PR,geopath:()=>$R,geopoint:()=>LR,geoshape:()=>BR,graticule:()=>UR,heatmap:()=>zR,isocontour:()=>MR,kde2d:()=>IR,projection:()=>lU});var ue=1e-6,Bc=1e-12,Fe=Math.PI,lt=Fe/2,jd=Fe/4,Xt=Fe*2,ct=180/Fe,ke=Fe/180,Ce=Math.abs,lo=Math.atan,Bt=Math.atan2,ae=Math.cos,t0=Math.ceil,mv=Math.exp;var hv=Math.hypot,Uc=Math.log,gv=Math.pow,se=Math.sin,fr=Math.sign||function(e){return e>0?1:e<0?-1:0},ft=Math.sqrt,Wd=Math.tan;function yv(e){return e>1?0:e<-1?Fe:Math.acos(e)}function Et(e){return e>1?lt:e<-1?-lt:Math.asin(e)}function wt(){}function xv(e,t){e&&t4.hasOwnProperty(e.type)&&t4[e.type](e,t)}var e4={Feature:function(e,t){xv(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)xv(n[r].geometry,t)}},t4={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){_T(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)_T(n[r],t,0)},Polygon:function(e,t){n4(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)n4(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)xv(n[r],t)}};function _T(e,t,n){var r=-1,i=e.length-n,o;for(t.lineStart();++r<i;)o=e[r],t.point(o[0],o[1],o[2]);t.lineEnd()}function n4(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)_T(e[n],t,1);t.polygonEnd()}function ui(e,t){e&&e4.hasOwnProperty(e.type)?e4[e.type](e,t):xv(e,t)}var n0=new Ct,bv=new Ct,r4,i4,CT,kT,FT,Go={point:wt,lineStart:wt,lineEnd:wt,polygonStart:function(){n0=new Ct,Go.lineStart=wue,Go.lineEnd=Sue},polygonEnd:function(){var e=+n0;bv.add(e<0?Xt+e:e),this.lineStart=this.lineEnd=this.point=wt},sphere:function(){bv.add(Xt)}};function wue(){Go.point=Aue}function Sue(){o4(r4,i4)}function Aue(e,t){Go.point=o4,r4=e,i4=t,e*=ke,t*=ke,CT=e,kT=ae(t=t/2+jd),FT=se(t)}function o4(e,t){e*=ke,t*=ke,t=t/2+jd;var n=e-CT,r=n>=0?1:-1,i=r*n,o=ae(t),s=se(t),a=FT*s,u=kT*o+a*ae(i),l=a*r*se(i);n0.add(Bt(l,u)),CT=e,kT=o,FT=s}function TT(e){return bv=new Ct,ui(e,Go),bv*2}function zc(e){return[Bt(e[1],e[0]),Et(e[2])]}function co(e){var t=e[0],n=e[1],r=ae(n);return[r*ae(t),r*se(t),se(n)]}function r0(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Va(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function vv(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function i0(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Hc(e){var t=ft(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Mt,li,Ut,Mi,qc,l4,c4,Vd,o0,ml,Xa,Ya={point:RT,lineStart:s4,lineEnd:a4,polygonStart:function(){Ya.point=d4,Ya.lineStart=_ue,Ya.lineEnd=Cue,o0=new Ct,Go.polygonStart()},polygonEnd:function(){Go.polygonEnd(),Ya.point=RT,Ya.lineStart=s4,Ya.lineEnd=a4,n0<0?(Mt=-(Ut=180),li=-(Mi=90)):o0>ue?Mi=90:o0<-ue&&(li=-90),Xa[0]=Mt,Xa[1]=Ut},sphere:function(){Mt=-(Ut=180),li=-(Mi=90)}};function RT(e,t){ml.push(Xa=[Mt=e,Ut=e]),t<li&&(li=t),t>Mi&&(Mi=t)}function f4(e,t){var n=co([e*ke,t*ke]);if(Vd){var r=Va(Vd,n),i=[r[1],-r[0],0],o=Va(i,r);Hc(o),o=zc(o);var s=e-qc,a=s>0?1:-1,u=o[0]*ct*a,l,c=Ce(s)>180;c^(a*qc<u&&u<a*e)?(l=o[1]*ct,l>Mi&&(Mi=l)):(u=(u+360)%360-180,c^(a*qc<u&&u<a*e)?(l=-o[1]*ct,l<li&&(li=l)):(t<li&&(li=t),t>Mi&&(Mi=t))),c?e<qc?Di(Mt,e)>Di(Mt,Ut)&&(Ut=e):Di(e,Ut)>Di(Mt,Ut)&&(Mt=e):Ut>=Mt?(e<Mt&&(Mt=e),e>Ut&&(Ut=e)):e>qc?Di(Mt,e)>Di(Mt,Ut)&&(Ut=e):Di(e,Ut)>Di(Mt,Ut)&&(Mt=e)}else ml.push(Xa=[Mt=e,Ut=e]);t<li&&(li=t),t>Mi&&(Mi=t),Vd=n,qc=e}function s4(){Ya.point=f4}function a4(){Xa[0]=Mt,Xa[1]=Ut,Ya.point=RT,Vd=null}function d4(e,t){if(Vd){var n=e-qc;o0.add(Ce(n)>180?n+(n>0?360:-360):n)}else l4=e,c4=t;Go.point(e,t),f4(e,t)}function _ue(){Go.lineStart()}function Cue(){d4(l4,c4),Go.lineEnd(),Ce(o0)>ue&&(Mt=-(Ut=180)),Xa[0]=Mt,Xa[1]=Ut,Vd=null}function Di(e,t){return(t-=e)<0?t+360:t}function kue(e,t){return e[0]-t[0]}function u4(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function DT(e){var t,n,r,i,o,s,a;if(Mi=Ut=-(Mt=li=1/0),ml=[],ui(e,Ya),n=ml.length){for(ml.sort(kue),t=1,r=ml[0],o=[r];t<n;++t)i=ml[t],u4(r,i[0])||u4(r,i[1])?(Di(r[0],i[1])>Di(r[0],r[1])&&(r[1]=i[1]),Di(i[0],r[1])>Di(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(s=-1/0,n=o.length-1,t=0,r=o[n];t<=n;r=i,++t)i=o[t],(a=Di(r[1],i[0]))>s&&(s=a,Mt=i[0],Ut=r[1])}return ml=Xa=null,Mt===1/0||li===1/0?[[NaN,NaN],[NaN,NaN]]:[[Mt,li],[Ut,Mi]]}var s0,Ev,wv,Sv,Av,_v,Cv,kv,MT,IT,NT,h4,g4,Ur,zr,Hr,jo={sphere:wt,point:OT,lineStart:p4,lineEnd:m4,polygonStart:function(){jo.lineStart=Rue,jo.lineEnd=Due},polygonEnd:function(){jo.lineStart=p4,jo.lineEnd=m4}};function OT(e,t){e*=ke,t*=ke;var n=ae(t);a0(n*ae(e),n*se(e),se(t))}function a0(e,t,n){++s0,wv+=(e-wv)/s0,Sv+=(t-Sv)/s0,Av+=(n-Av)/s0}function p4(){jo.point=Fue}function Fue(e,t){e*=ke,t*=ke;var n=ae(t);Ur=n*ae(e),zr=n*se(e),Hr=se(t),jo.point=Tue,a0(Ur,zr,Hr)}function Tue(e,t){e*=ke,t*=ke;var n=ae(t),r=n*ae(e),i=n*se(e),o=se(t),s=Bt(ft((s=zr*o-Hr*i)*s+(s=Hr*r-Ur*o)*s+(s=Ur*i-zr*r)*s),Ur*r+zr*i+Hr*o);Ev+=s,_v+=s*(Ur+(Ur=r)),Cv+=s*(zr+(zr=i)),kv+=s*(Hr+(Hr=o)),a0(Ur,zr,Hr)}function m4(){jo.point=OT}function Rue(){jo.point=Mue}function Due(){y4(h4,g4),jo.point=OT}function Mue(e,t){h4=e,g4=t,e*=ke,t*=ke,jo.point=y4;var n=ae(t);Ur=n*ae(e),zr=n*se(e),Hr=se(t),a0(Ur,zr,Hr)}function y4(e,t){e*=ke,t*=ke;var n=ae(t),r=n*ae(e),i=n*se(e),o=se(t),s=zr*o-Hr*i,a=Hr*r-Ur*o,u=Ur*i-zr*r,l=hv(s,a,u),c=Et(l),f=l&&-c/l;MT.add(f*s),IT.add(f*a),NT.add(f*u),Ev+=c,_v+=c*(Ur+(Ur=r)),Cv+=c*(zr+(zr=i)),kv+=c*(Hr+(Hr=o)),a0(Ur,zr,Hr)}function PT(e){s0=Ev=wv=Sv=Av=_v=Cv=kv=0,MT=new Ct,IT=new Ct,NT=new Ct,ui(e,jo);var t=+MT,n=+IT,r=+NT,i=hv(t,n,r);return i<Bc&&(t=_v,n=Cv,r=kv,Ev<ue&&(t=wv,n=Sv,r=Av),i=hv(t,n,r),i<Bc)?[NaN,NaN]:[Bt(n,t)*ct,Et(r/i)*ct]}function u0(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function $T(e,t){return Ce(e)>Fe&&(e-=Math.round(e/Xt)*Xt),[e,t]}$T.invert=$T;function LT(e,t,n){return(e%=Xt)?t||n?u0(b4(e),v4(t,n)):b4(e):t||n?v4(t,n):$T}function x4(e){return function(t,n){return t+=e,Ce(t)>Fe&&(t-=Math.round(t/Xt)*Xt),[t,n]}}function b4(e){var t=x4(e);return t.invert=x4(-e),t}function v4(e,t){var n=ae(e),r=se(e),i=ae(t),o=se(t);function s(a,u){var l=ae(u),c=ae(a)*l,f=se(a)*l,d=se(u),p=d*n+c*r;return[Bt(f*i-p*o,c*n-d*r),Et(p*i+f*o)]}return s.invert=function(a,u){var l=ae(u),c=ae(a)*l,f=se(a)*l,d=se(u),p=d*i-f*o;return[Bt(f*i+d*o,c*n+p*r),Et(p*n-c*r)]},s}function E4(e){e=LT(e[0]*ke,e[1]*ke,e.length>2?e[2]*ke:0);function t(n){return n=e(n[0]*ke,n[1]*ke),n[0]*=ct,n[1]*=ct,n}return t.invert=function(n){return n=e.invert(n[0]*ke,n[1]*ke),n[0]*=ct,n[1]*=ct,n},t}function S4(e,t,n,r,i,o){if(n){var s=ae(t),a=se(t),u=r*n;i==null?(i=t+r*Xt,o=t-u/2):(i=w4(s,i),o=w4(s,o),(r>0?i<o:i>o)&&(i+=r*Xt));for(var l,c=i;r>0?c>o:c<o;c-=u)l=zc([s,-a*ae(c),-a*se(c)]),e.point(l[0],l[1])}}function w4(e,t){t=co(t),t[0]-=e,Hc(t);var n=yv(-t[1]);return((-t[2]<0?-n:n)+Xt-ue)%Xt}function Fv(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:wt,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Yd(e,t){return Ce(e[0]-t[0])<ue&&Ce(e[1]-t[1])<ue}function Tv(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function Rv(e,t,n,r,i){var o=[],s=[],a,u;if(e.forEach(function(m){if(!((h=m.length-1)<=0)){var h,g=m[0],y=m[h],x;if(Yd(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),a=0;a<h;++a)i.point((g=m[a])[0],g[1]);i.lineEnd();return}y[0]+=2*ue}o.push(x=new Tv(g,m,null,!0)),s.push(x.o=new Tv(g,null,x,!1)),o.push(x=new Tv(y,m,null,!1)),s.push(x.o=new Tv(y,null,x,!0))}}),!!o.length){for(s.sort(t),A4(o),A4(s),a=0,u=s.length;a<u;++a)s[a].e=n=!n;for(var l=o[0],c,f;;){for(var d=l,p=!0;d.v;)if((d=d.n)===l)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(p)for(a=0,u=c.length;a<u;++a)i.point((f=c[a])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(p)for(c=d.p.z,a=c.length-1;a>=0;--a)i.point((f=c[a])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,p=!p}while(!d.v);i.lineEnd()}}}function A4(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function BT(e){return Ce(e[0])<=Fe?e[0]:fr(e[0])*((Ce(e[0])+Fe)%Xt-Fe)}function _4(e,t){var n=BT(t),r=t[1],i=se(r),o=[se(n),-ae(n),0],s=0,a=0,u=new Ct;i===1?r=lt+ue:i===-1&&(r=-lt-ue);for(var l=0,c=e.length;l<c;++l)if(d=(f=e[l]).length)for(var f,d,p=f[d-1],m=BT(p),h=p[1]/2+jd,g=se(h),y=ae(h),x=0;x<d;++x,m=v,g=S,y=w,p=b){var b=f[x],v=BT(b),E=b[1]/2+jd,S=se(E),w=ae(E),A=v-m,C=A>=0?1:-1,_=C*A,F=_>Fe,I=g*S;if(u.add(Bt(I*C*se(_),y*w+I*ae(_))),s+=F?A+C*Xt:A,F^m>=n^v>=n){var M=Va(co(p),co(b));Hc(M);var R=Va(o,M);Hc(R);var k=(F^A>=0?-1:1)*Et(R[2]);(r>k||r===k&&(M[0]||M[1]))&&(a+=F^A>=0?1:-1)}}return(s<-ue||s<ue&&u<-Bc)^a&1}function Dv(e,t,n,r){return function(i){var o=t(i),s=Fv(),a=t(s),u=!1,l,c,f,d={point:p,lineStart:h,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=x,d.lineEnd=b,c=[],l=[]},polygonEnd:function(){d.point=p,d.lineStart=h,d.lineEnd=g,c=od(c);var v=_4(l,r);c.length?(u||(i.polygonStart(),u=!0),Rv(c,Nue,v,n,i)):v&&(u||(i.polygonStart(),u=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),u&&(i.polygonEnd(),u=!1),c=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(v,E){e(v,E)&&i.point(v,E)}function m(v,E){o.point(v,E)}function h(){d.point=m,o.lineStart()}function g(){d.point=p,o.lineEnd()}function y(v,E){f.push([v,E]),a.point(v,E)}function x(){a.lineStart(),f=[]}function b(){y(f[0][0],f[0][1]),a.lineEnd();var v=a.clean(),E=s.result(),S,w=E.length,A,C,_;if(f.pop(),l.push(f),f=null,!!w){if(v&1){if(C=E[0],(A=C.length-1)>0){for(u||(i.polygonStart(),u=!0),i.lineStart(),S=0;S<A;++S)i.point((_=C[S])[0],_[1]);i.lineEnd()}return}w>1&&v&2&&E.push(E.pop().concat(E.shift())),c.push(E.filter(Iue))}}return d}}function Iue(e){return e.length>1}function Nue(e,t){return((e=e.x)[0]<0?e[1]-lt-ue:lt-e[1])-((t=t.x)[0]<0?t[1]-lt-ue:lt-t[1])}var UT=Dv(function(){return!0},Oue,$ue,[-Fe,-lt]);function Oue(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(o,s){var a=o>0?Fe:-Fe,u=Ce(o-t);Ce(u-Fe)<ue?(e.point(t,n=(n+s)/2>0?lt:-lt),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(o,n),i=0):r!==a&&u>=Fe&&(Ce(t-r)<ue&&(t-=r*ue),Ce(o-a)<ue&&(o-=a*ue),n=Pue(t,n,o,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),i=0),e.point(t=o,n=s),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function Pue(e,t,n,r){var i,o,s=se(e-n);return Ce(s)>ue?lo((se(t)*(o=ae(r))*se(n)-se(r)*(i=ae(t))*se(e))/(i*o*s)):(t+r)/2}function $ue(e,t,n,r){var i;if(e==null)i=n*lt,r.point(-Fe,i),r.point(0,i),r.point(Fe,i),r.point(Fe,0),r.point(Fe,-i),r.point(0,-i),r.point(-Fe,-i),r.point(-Fe,0),r.point(-Fe,i);else if(Ce(e[0]-t[0])>ue){var o=e[0]<t[0]?Fe:-Fe;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}function C4(e){var t=ae(e),n=2*ke,r=t>0,i=Ce(t)>ue;function o(c,f,d,p){S4(p,e,n,d,c,f)}function s(c,f){return ae(c)*ae(f)>t}function a(c){var f,d,p,m,h;return{lineStart:function(){m=p=!1,h=1},point:function(g,y){var x=[g,y],b,v=s(g,y),E=r?v?0:l(g,y):v?l(g+(g<0?Fe:-Fe),y):0;if(!f&&(m=p=v)&&c.lineStart(),v!==p&&(b=u(f,x),(!b||Yd(f,b)||Yd(x,b))&&(x[2]=1)),v!==p)h=0,v?(c.lineStart(),b=u(x,f),c.point(b[0],b[1])):(b=u(f,x),c.point(b[0],b[1],2),c.lineEnd()),f=b;else if(i&&f&&r^v){var S;!(E&d)&&(S=u(x,f,!0))&&(h=0,r?(c.lineStart(),c.point(S[0][0],S[0][1]),c.point(S[1][0],S[1][1]),c.lineEnd()):(c.point(S[1][0],S[1][1]),c.lineEnd(),c.lineStart(),c.point(S[0][0],S[0][1],3)))}v&&(!f||!Yd(f,x))&&c.point(x[0],x[1]),f=x,p=v,d=E},lineEnd:function(){p&&c.lineEnd(),f=null},clean:function(){return h|(m&&p)<<1}}}function u(c,f,d){var p=co(c),m=co(f),h=[1,0,0],g=Va(p,m),y=r0(g,g),x=g[0],b=y-x*x;if(!b)return!d&&c;var v=t*y/b,E=-t*x/b,S=Va(h,g),w=i0(h,v),A=i0(g,E);vv(w,A);var C=S,_=r0(w,C),F=r0(C,C),I=_*_-F*(r0(w,w)-1);if(!(I<0)){var M=ft(I),R=i0(C,(-_-M)/F);if(vv(R,w),R=zc(R),!d)return R;var k=c[0],D=f[0],T=c[1],$=f[1],N;D<k&&(N=k,k=D,D=N);var H=D-k,le=Ce(H-Fe)<ue,de=le||H<ue;if(!le&&$<T&&(N=T,T=$,$=N),de?le?T+$>0^R[1]<(Ce(R[0]-k)<ue?T:$):T<=R[1]&&R[1]<=$:H>Fe^(k<=R[0]&&R[0]<=D)){var Ae=i0(C,(-_+M)/F);return vv(Ae,w),[R,zc(Ae)]}}}function l(c,f){var d=r?e:Fe-e,p=0;return c<-d?p|=1:c>d&&(p|=2),f<-d?p|=4:f>d&&(p|=8),p}return Dv(s,a,o,r?[0,-e]:[-Fe,e-Fe])}function k4(e,t,n,r,i,o){var s=e[0],a=e[1],u=t[0],l=t[1],c=0,f=1,d=u-s,p=l-a,m;if(m=n-s,!(!d&&m>0)){if(m/=d,d<0){if(m<c)return;m<f&&(f=m)}else if(d>0){if(m>f)return;m>c&&(c=m)}if(m=i-s,!(!d&&m<0)){if(m/=d,d<0){if(m>f)return;m>c&&(c=m)}else if(d>0){if(m<c)return;m<f&&(f=m)}if(m=r-a,!(!p&&m>0)){if(m/=p,p<0){if(m<c)return;m<f&&(f=m)}else if(p>0){if(m>f)return;m>c&&(c=m)}if(m=o-a,!(!p&&m<0)){if(m/=p,p<0){if(m>f)return;m>c&&(c=m)}else if(p>0){if(m<c)return;m<f&&(f=m)}return c>0&&(e[0]=s+c*d,e[1]=a+c*p),f<1&&(t[0]=s+f*d,t[1]=a+f*p),!0}}}}}var l0=1e9,Mv=-l0;function c0(e,t,n,r){function i(l,c){return e<=l&&l<=n&&t<=c&&c<=r}function o(l,c,f,d){var p=0,m=0;if(l==null||(p=s(l,f))!==(m=s(c,f))||u(l,c)<0^f>0)do d.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+f+4)%4)!==m);else d.point(c[0],c[1])}function s(l,c){return Ce(l[0]-e)<ue?c>0?0:3:Ce(l[0]-n)<ue?c>0?2:1:Ce(l[1]-t)<ue?c>0?1:0:c>0?3:2}function a(l,c){return u(l.x,c.x)}function u(l,c){var f=s(l,1),d=s(c,1);return f!==d?f-d:f===0?c[1]-l[1]:f===1?l[0]-c[0]:f===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c=l,f=Fv(),d,p,m,h,g,y,x,b,v,E,S,w={point:A,lineStart:I,lineEnd:M,polygonStart:_,polygonEnd:F};function A(k,D){i(k,D)&&c.point(k,D)}function C(){for(var k=0,D=0,T=p.length;D<T;++D)for(var $=p[D],N=1,H=$.length,le=$[0],de,Ae,Be=le[0],_e=le[1];N<H;++N)de=Be,Ae=_e,le=$[N],Be=le[0],_e=le[1],Ae<=r?_e>r&&(Be-de)*(r-Ae)>(_e-Ae)*(e-de)&&++k:_e<=r&&(Be-de)*(r-Ae)<(_e-Ae)*(e-de)&&--k;return k}function _(){c=f,d=[],p=[],S=!0}function F(){var k=C(),D=S&&k,T=(d=od(d)).length;(D||T)&&(l.polygonStart(),D&&(l.lineStart(),o(null,null,1,l),l.lineEnd()),T&&Rv(d,a,k,o,l),l.polygonEnd()),c=l,d=p=m=null}function I(){w.point=R,p&&p.push(m=[]),E=!0,v=!1,x=b=NaN}function M(){d&&(R(h,g),y&&v&&f.rejoin(),d.push(f.result())),w.point=A,v&&c.lineEnd()}function R(k,D){var T=i(k,D);if(p&&m.push([k,D]),E)h=k,g=D,y=T,E=!1,T&&(c.lineStart(),c.point(k,D));else if(T&&v)c.point(k,D);else{var $=[x=Math.max(Mv,Math.min(l0,x)),b=Math.max(Mv,Math.min(l0,b))],N=[k=Math.max(Mv,Math.min(l0,k)),D=Math.max(Mv,Math.min(l0,D))];k4($,N,e,t,n,r)?(v||(c.lineStart(),c.point($[0],$[1])),c.point(N[0],N[1]),T||c.lineEnd(),S=!1):T&&(c.lineStart(),c.point(k,D),S=!1)}x=k,b=D,v=T}return w}}function F4(e,t,n){var r=Yt(e,t-ue,n).concat(t);return function(i){return r.map(function(o){return[i,o]})}}function T4(e,t,n){var r=Yt(e,t-ue,n).concat(t);return function(i){return r.map(function(o){return[o,i]})}}function Iv(){var e,t,n,r,i,o,s,a,u=10,l=u,c=90,f=360,d,p,m,h,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return Yt(t0(r/c)*c,n,c).map(m).concat(Yt(t0(a/f)*f,s,f).map(h)).concat(Yt(t0(t/u)*u,e,u).filter(function(b){return Ce(b%c)>ue}).map(d)).concat(Yt(t0(o/l)*l,i,l).filter(function(b){return Ce(b%f)>ue}).map(p))}return y.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[m(r).concat(h(s).slice(1),m(n).reverse().slice(1),h(a).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],a=+b[0][1],s=+b[1][1],r>n&&(b=r,r=n,n=b),a>s&&(b=a,a=s,s=b),y.precision(g)):[[r,a],[n,s]]},y.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],o=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),o>i&&(b=o,o=i,i=b),y.precision(g)):[[t,o],[e,i]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.stepMinor=function(b){return arguments.length?(u=+b[0],l=+b[1],y):[u,l]},y.precision=function(b){return arguments.length?(g=+b,d=F4(o,i,90),p=T4(t,e,g),m=F4(a,s,90),h=T4(r,n,g),y):g},y.extentMajor([[-180,-90+ue],[180,90-ue]]).extentMinor([[-180,-80-ue],[180,80+ue]])}var hl=e=>e;var zT=new Ct,HT=new Ct,R4,D4,qT,GT,gl={point:wt,lineStart:wt,lineEnd:wt,polygonStart:function(){gl.lineStart=Lue,gl.lineEnd=Uue},polygonEnd:function(){gl.lineStart=gl.lineEnd=gl.point=wt,zT.add(Ce(HT)),HT=new Ct},result:function(){var e=zT/2;return zT=new Ct,e}};function Lue(){gl.point=Bue}function Bue(e,t){gl.point=M4,R4=qT=e,D4=GT=t}function M4(e,t){HT.add(GT*e-qT*t),qT=e,GT=t}function Uue(){M4(R4,D4)}var jT=gl;var Xd=1/0,Nv=Xd,f0=-Xd,Ov=f0,zue={point:Hue,lineStart:wt,lineEnd:wt,polygonStart:wt,polygonEnd:wt,result:function(){var e=[[Xd,Nv],[f0,Ov]];return f0=Ov=-(Nv=Xd=1/0),e}};function Hue(e,t){e<Xd&&(Xd=e),e>f0&&(f0=e),t<Nv&&(Nv=t),t>Ov&&(Ov=t)}var Kd=zue;var WT=0,VT=0,d0=0,Pv=0,$v=0,Qd=0,YT=0,XT=0,p0=0,O4,P4,Ks,Qs,Wo={point:Gc,lineStart:I4,lineEnd:N4,polygonStart:function(){Wo.lineStart=jue,Wo.lineEnd=Wue},polygonEnd:function(){Wo.point=Gc,Wo.lineStart=I4,Wo.lineEnd=N4},result:function(){var e=p0?[YT/p0,XT/p0]:Qd?[Pv/Qd,$v/Qd]:d0?[WT/d0,VT/d0]:[NaN,NaN];return WT=VT=d0=Pv=$v=Qd=YT=XT=p0=0,e}};function Gc(e,t){WT+=e,VT+=t,++d0}function I4(){Wo.point=que}function que(e,t){Wo.point=Gue,Gc(Ks=e,Qs=t)}function Gue(e,t){var n=e-Ks,r=t-Qs,i=ft(n*n+r*r);Pv+=i*(Ks+e)/2,$v+=i*(Qs+t)/2,Qd+=i,Gc(Ks=e,Qs=t)}function N4(){Wo.point=Gc}function jue(){Wo.point=Vue}function Wue(){$4(O4,P4)}function Vue(e,t){Wo.point=$4,Gc(O4=Ks=e,P4=Qs=t)}function $4(e,t){var n=e-Ks,r=t-Qs,i=ft(n*n+r*r);Pv+=i*(Ks+e)/2,$v+=i*(Qs+t)/2,Qd+=i,i=Qs*e-Ks*t,YT+=i*(Ks+e),XT+=i*(Qs+t),p0+=i*3,Gc(Ks=e,Qs=t)}var KT=Wo;function Lv(e){this._context=e}Lv.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Xt);break}}},result:wt};var JT=new Ct,QT,L4,B4,m0,h0,Bv={point:wt,lineStart:function(){Bv.point=Yue},lineEnd:function(){QT&&U4(L4,B4),Bv.point=wt},polygonStart:function(){QT=!0},polygonEnd:function(){QT=null},result:function(){var e=+JT;return JT=new Ct,e}};function Yue(e,t){Bv.point=U4,L4=m0=e,B4=h0=t}function U4(e,t){m0-=e,h0-=t,JT.add(ft(m0*m0+h0*h0)),m0=e,h0=t}var ZT=Bv;var z4,Uv,H4,q4,Jd=class{constructor(t){this._append=t==null?G4:Xue(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==H4||this._append!==Uv){let r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,H4=r,Uv=this._append,q4=this._,this._=i}this._+=q4;break}}}result(){let t=this._;return this._="",t.length?t:null}};function G4(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Xue(e){let t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return G4;if(t!==z4){let n=10**t;z4=t,Uv=function(i){let o=1;this._+=i[0];for(let s=i.length;o<s;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return Uv}function zv(e,t){let n=3,r=4.5,i,o;function s(a){return a&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),ui(a,i(o))),o.result()}return s.area=function(a){return ui(a,i(jT)),jT.result()},s.measure=function(a){return ui(a,i(ZT)),ZT.result()},s.bounds=function(a){return ui(a,i(Kd)),Kd.result()},s.centroid=function(a){return ui(a,i(KT)),KT.result()},s.projection=function(a){return arguments.length?(i=a==null?(e=null,hl):(e=a).stream,s):e},s.context=function(a){return arguments.length?(o=a==null?(t=null,new Jd(n)):new Lv(t=a),typeof r!="function"&&o.pointRadius(r),s):t},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(o.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{let u=Math.floor(a);if(!(u>=0))throw new RangeError(`invalid digits: ${a}`);n=u}return t===null&&(o=new Jd(n)),s},s.projection(e).digits(n).context(t)}function jc(e){return function(t){var n=new eR;for(var r in e)n[r]=e[r];return n.stream=t,n}}function eR(){}eR.prototype={constructor:eR,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function tR(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),ui(n,e.stream(Kd)),t(Kd.result()),r!=null&&e.clipExtent(r),e}function Wc(e,t,n){return tR(e,function(r){var i=t[1][0]-t[0][0],o=t[1][1]-t[0][1],s=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),a=+t[0][0]+(i-s*(r[1][0]+r[0][0]))/2,u=+t[0][1]+(o-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([a,u])},n)}function Zd(e,t,n){return Wc(e,[[0,0],t],n)}function ep(e,t,n){return tR(e,function(r){var i=+t,o=i/(r[1][0]-r[0][0]),s=(i-o*(r[1][0]+r[0][0]))/2,a=-o*r[0][1];e.scale(150*o).translate([s,a])},n)}function tp(e,t,n){return tR(e,function(r){var i=+t,o=i/(r[1][1]-r[0][1]),s=-o*r[0][0],a=(i-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([s,a])},n)}var j4=16,Kue=ae(30*ke);function nR(e,t){return+t?Jue(e,t):Que(e)}function Que(e){return jc({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function Jue(e,t){function n(r,i,o,s,a,u,l,c,f,d,p,m,h,g){var y=l-r,x=c-i,b=y*y+x*x;if(b>4*t&&h--){var v=s+d,E=a+p,S=u+m,w=ft(v*v+E*E+S*S),A=Et(S/=w),C=Ce(Ce(S)-1)<ue||Ce(o-f)<ue?(o+f)/2:Bt(E,v),_=e(C,A),F=_[0],I=_[1],M=F-r,R=I-i,k=x*M-y*R;(k*k/b>t||Ce((y*M+x*R)/b-.5)>.3||s*d+a*p+u*m<Kue)&&(n(r,i,o,s,a,u,F,I,C,v/=w,E/=w,S,h,g),g.point(F,I),n(F,I,C,v,E,S,l,c,f,d,p,m,h,g))}}return function(r){var i,o,s,a,u,l,c,f,d,p,m,h,g={point:y,lineStart:x,lineEnd:v,polygonStart:function(){r.polygonStart(),g.lineStart=E},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(A,C){A=e(A,C),r.point(A[0],A[1])}function x(){f=NaN,g.point=b,r.lineStart()}function b(A,C){var _=co([A,C]),F=e(A,C);n(f,d,c,p,m,h,f=F[0],d=F[1],c=A,p=_[0],m=_[1],h=_[2],j4,r),r.point(f,d)}function v(){g.point=y,r.lineEnd()}function E(){x(),g.point=S,g.lineEnd=w}function S(A,C){b(i=A,C),o=f,s=d,a=p,u=m,l=h,g.point=b}function w(){n(f,d,c,p,m,h,o,s,i,a,u,l,j4,r),g.lineEnd=v,v()}return g}}var Zue=jc({point:function(e,t){this.stream.point(e*ke,t*ke)}});function ele(e){return jc({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function tle(e,t,n,r,i){function o(s,a){return s*=r,a*=i,[t+e*s,n-e*a]}return o.invert=function(s,a){return[(s-t)/e*r,(n-a)/e*i]},o}function W4(e,t,n,r,i,o){if(!o)return tle(e,t,n,r,i);var s=ae(o),a=se(o),u=s*e,l=a*e,c=s/e,f=a/e,d=(a*n-s*t)/e,p=(a*t+s*n)/e;function m(h,g){return h*=r,g*=i,[u*h-l*g+t,n-l*h-u*g]}return m.invert=function(h,g){return[r*(c*h-f*g+d),i*(p-f*h-c*g)]},m}function zt(e){return Hv(function(){return e})()}function Hv(e){var t,n=150,r=480,i=250,o=0,s=0,a=0,u=0,l=0,c,f=0,d=1,p=1,m=null,h=UT,g=null,y,x,b,v=hl,E=.5,S,w,A,C,_;function F(k){return A(k[0]*ke,k[1]*ke)}function I(k){return k=A.invert(k[0],k[1]),k&&[k[0]*ct,k[1]*ct]}F.stream=function(k){return C&&_===k?C:C=Zue(ele(c)(h(S(v(_=k)))))},F.preclip=function(k){return arguments.length?(h=k,m=void 0,R()):h},F.postclip=function(k){return arguments.length?(v=k,g=y=x=b=null,R()):v},F.clipAngle=function(k){return arguments.length?(h=+k?C4(m=k*ke):(m=null,UT),R()):m*ct},F.clipExtent=function(k){return arguments.length?(v=k==null?(g=y=x=b=null,hl):c0(g=+k[0][0],y=+k[0][1],x=+k[1][0],b=+k[1][1]),R()):g==null?null:[[g,y],[x,b]]},F.scale=function(k){return arguments.length?(n=+k,M()):n},F.translate=function(k){return arguments.length?(r=+k[0],i=+k[1],M()):[r,i]},F.center=function(k){return arguments.length?(o=k[0]%360*ke,s=k[1]%360*ke,M()):[o*ct,s*ct]},F.rotate=function(k){return arguments.length?(a=k[0]%360*ke,u=k[1]%360*ke,l=k.length>2?k[2]%360*ke:0,M()):[a*ct,u*ct,l*ct]},F.angle=function(k){return arguments.length?(f=k%360*ke,M()):f*ct},F.reflectX=function(k){return arguments.length?(d=k?-1:1,M()):d<0},F.reflectY=function(k){return arguments.length?(p=k?-1:1,M()):p<0},F.precision=function(k){return arguments.length?(S=nR(w,E=k*k),R()):ft(E)},F.fitExtent=function(k,D){return Wc(F,k,D)},F.fitSize=function(k,D){return Zd(F,k,D)},F.fitWidth=function(k,D){return ep(F,k,D)},F.fitHeight=function(k,D){return tp(F,k,D)};function M(){var k=W4(n,0,0,d,p,f).apply(null,t(o,s)),D=W4(n,r-k[0],i-k[1],d,p,f);return c=LT(a,u,l),w=u0(t,D),A=u0(c,w),S=nR(w,E),R()}function R(){return C=_=null,F}return function(){return t=e.apply(this,arguments),F.invert=t.invert&&I,M()}}function np(e){var t=0,n=Fe/3,r=Hv(e),i=r(t,n);return i.parallels=function(o){return arguments.length?r(t=o[0]*ke,n=o[1]*ke):[t*ct,n*ct]},i}function V4(e){var t=ae(e);function n(r,i){return[r*t,se(i)/t]}return n.invert=function(r,i){return[r/t,Et(i*t)]},n}function Y4(e,t){var n=se(e),r=(n+se(t))/2;if(Ce(r)<ue)return V4(e);var i=1+n*(2*r-n),o=ft(i)/r;function s(a,u){var l=ft(i-2*r*se(u))/r;return[l*se(a*=r),o-l*ae(a)]}return s.invert=function(a,u){var l=o-u,c=Bt(a,Ce(l))*fr(l);return l*r<0&&(c-=Fe*fr(a)*fr(l)),[c/r,Et((i-(a*a+l*l)*r*r)/(2*r))]},s}function yl(){return np(Y4).scale(155.424).center([0,33.6442])}function g0(){return yl().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function nle(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function rR(){var e,t,n=g0(),r,i=yl().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,s=yl().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,u,l={point:function(d,p){u=[d,p]}};function c(d){var p=d[0],m=d[1];return u=null,r.point(p,m),u||(o.point(p,m),u)||(a.point(p,m),u)}c.invert=function(d){var p=n.scale(),m=n.translate(),h=(d[0]-m[0])/p,g=(d[1]-m[1])/p;return(g>=.12&&g<.234&&h>=-.425&&h<-.214?i:g>=.166&&g<.234&&h>=-.214&&h<-.115?s:n).invert(d)},c.stream=function(d){return e&&t===d?e:e=nle([n.stream(t=d),i.stream(d),s.stream(d)])},c.precision=function(d){return arguments.length?(n.precision(d),i.precision(d),s.precision(d),f()):n.precision()},c.scale=function(d){return arguments.length?(n.scale(d),i.scale(d*.35),s.scale(d),c.translate(n.translate())):n.scale()},c.translate=function(d){if(!arguments.length)return n.translate();var p=n.scale(),m=+d[0],h=+d[1];return r=n.translate(d).clipExtent([[m-.455*p,h-.238*p],[m+.455*p,h+.238*p]]).stream(l),o=i.translate([m-.307*p,h+.201*p]).clipExtent([[m-.425*p+ue,h+.12*p+ue],[m-.214*p-ue,h+.234*p-ue]]).stream(l),a=s.translate([m-.205*p,h+.212*p]).clipExtent([[m-.214*p+ue,h+.166*p+ue],[m-.115*p-ue,h+.234*p-ue]]).stream(l),f()},c.fitExtent=function(d,p){return Wc(c,d,p)},c.fitSize=function(d,p){return Zd(c,d,p)},c.fitWidth=function(d,p){return ep(c,d,p)},c.fitHeight=function(d,p){return tp(c,d,p)};function f(){return e=t=null,c}return c.scale(1070)}function qv(e){return function(t,n){var r=ae(t),i=ae(n),o=e(r*i);return o===1/0?[2,0]:[o*i*se(t),o*se(n)]}}function Js(e){return function(t,n){var r=ft(t*t+n*n),i=e(r),o=se(i),s=ae(i);return[Bt(t*o,r*s),Et(r&&n*o/r)]}}var iR=qv(function(e){return ft(2/(1+e))});iR.invert=Js(function(e){return 2*Et(e/2)});function oR(){return zt(iR).scale(124.75).clipAngle(180-.001)}var sR=qv(function(e){return(e=yv(e))&&e/se(e)});sR.invert=Js(function(e){return e});function aR(){return zt(sR).scale(79.4188).clipAngle(180-.001)}function rp(e,t){return[e,Uc(Wd((lt+t)/2))]}rp.invert=function(e,t){return[e,2*lo(mv(t))-lt]};function uR(){return lR(rp).scale(961/Xt)}function lR(e){var t=zt(e),n=t.center,r=t.scale,i=t.translate,o=t.clipExtent,s=null,a,u,l;t.scale=function(f){return arguments.length?(r(f),c()):r()},t.translate=function(f){return arguments.length?(i(f),c()):i()},t.center=function(f){return arguments.length?(n(f),c()):n()},t.clipExtent=function(f){return arguments.length?(f==null?s=a=u=l=null:(s=+f[0][0],a=+f[0][1],u=+f[1][0],l=+f[1][1]),c()):s==null?null:[[s,a],[u,l]]};function c(){var f=Fe*r(),d=t(E4(t.rotate()).invert([0,0]));return o(s==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===rp?[[Math.max(d[0]-f,s),a],[Math.min(d[0]+f,u),l]]:[[s,Math.max(d[1]-f,a)],[u,Math.min(d[1]+f,l)]])}return c()}function Gv(e){return Wd((lt+e)/2)}function X4(e,t){var n=ae(e),r=e===t?se(e):Uc(n/ae(t))/Uc(Gv(t)/Gv(e)),i=n*gv(Gv(e),r)/r;if(!r)return rp;function o(s,a){i>0?a<-lt+ue&&(a=-lt+ue):a>lt-ue&&(a=lt-ue);var u=i/gv(Gv(a),r);return[u*se(r*s),i-u*ae(r*s)]}return o.invert=function(s,a){var u=i-a,l=fr(r)*ft(s*s+u*u),c=Bt(s,Ce(u))*fr(u);return u*r<0&&(c-=Fe*fr(s)*fr(u)),[c/r,2*lo(gv(i/l,1/r))-lt]},o}function cR(){return np(X4).scale(109.5).parallels([30,30])}function ip(e,t){return[e,t]}ip.invert=ip;function fR(){return zt(ip).scale(152.63)}function K4(e,t){var n=ae(e),r=e===t?se(e):(n-ae(t))/(t-e),i=n/r+e;if(Ce(r)<ue)return ip;function o(s,a){var u=i-a,l=r*s;return[u*se(l),i-u*ae(l)]}return o.invert=function(s,a){var u=i-a,l=Bt(s,Ce(u))*fr(u);return u*r<0&&(l-=Fe*fr(s)*fr(u)),[l/r,i-fr(r)*ft(s*s+u*u)]},o}function dR(){return np(K4).scale(131.154).center([0,13.9389])}var y0=1.340264,x0=-.081106,b0=893e-6,v0=.003796,jv=ft(3)/2,rle=12;function pR(e,t){var n=Et(jv*se(t)),r=n*n,i=r*r*r;return[e*ae(n)/(jv*(y0+3*x0*r+i*(7*b0+9*v0*r))),n*(y0+x0*r+i*(b0+v0*r))]}pR.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,o=0,s,a,u;o<rle&&(a=n*(y0+x0*r+i*(b0+v0*r))-t,u=y0+3*x0*r+i*(7*b0+9*v0*r),n-=s=a/u,r=n*n,i=r*r*r,!(Ce(s)<Bc));++o);return[jv*e*(y0+3*x0*r+i*(7*b0+9*v0*r))/ae(n),Et(se(n)/jv)]};function mR(){return zt(pR).scale(177.158)}function hR(e,t){var n=ae(t),r=ae(e)*n;return[n*se(e)/r,se(t)/r]}hR.invert=Js(lo);function gR(){return zt(hR).scale(144.049).clipAngle(60)}function yR(){var e=1,t=0,n=0,r=1,i=1,o=0,s,a,u=null,l,c,f,d=1,p=1,m=jc({point:function(v,E){var S=b([v,E]);this.stream.point(S[0],S[1])}}),h=hl,g,y;function x(){return d=e*r,p=e*i,g=y=null,b}function b(v){var E=v[0]*d,S=v[1]*p;if(o){var w=S*s-E*a;E=E*s+S*a,S=w}return[E+t,S+n]}return b.invert=function(v){var E=v[0]-t,S=v[1]-n;if(o){var w=S*s+E*a;E=E*s-S*a,S=w}return[E/d,S/p]},b.stream=function(v){return g&&y===v?g:g=m(h(y=v))},b.postclip=function(v){return arguments.length?(h=v,u=l=c=f=null,x()):h},b.clipExtent=function(v){return arguments.length?(h=v==null?(u=l=c=f=null,hl):c0(u=+v[0][0],l=+v[0][1],c=+v[1][0],f=+v[1][1]),x()):u==null?null:[[u,l],[c,f]]},b.scale=function(v){return arguments.length?(e=+v,x()):e},b.translate=function(v){return arguments.length?(t=+v[0],n=+v[1],x()):[t,n]},b.angle=function(v){return arguments.length?(o=v%360*ke,a=se(o),s=ae(o),x()):o*ct},b.reflectX=function(v){return arguments.length?(r=v?-1:1,x()):r<0},b.reflectY=function(v){return arguments.length?(i=v?-1:1,x()):i<0},b.fitExtent=function(v,E){return Wc(b,v,E)},b.fitSize=function(v,E){return Zd(b,v,E)},b.fitWidth=function(v,E){return ep(b,v,E)},b.fitHeight=function(v,E){return tp(b,v,E)},b}function xR(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}xR.invert=function(e,t){var n=t,r=25,i;do{var o=n*n,s=o*o;n-=i=(n*(1.007226+o*(.015085+s*(-.044475+.028874*o-.005916*s)))-t)/(1.007226+o*(.015085*3+s*(-.044475*7+.028874*9*o-.005916*11*s)))}while(Ce(i)>ue&&--r>0);return[e/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function bR(){return zt(xR).scale(175.295)}function vR(e,t){return[ae(t)*se(e),se(t)]}vR.invert=Js(Et);function ER(){return zt(vR).scale(249.5).clipAngle(90+ue)}function wR(e,t){var n=ae(t),r=1+ae(e)*n;return[n*se(e)/r,se(t)/r]}wR.invert=Js(function(e){return 2*lo(e)});function SR(){return zt(wR).scale(250).clipAngle(142)}function AR(e,t){return[Uc(Wd((lt+t)/2)),-e]}AR.invert=function(e,t){return[-t,2*lo(mv(e))-lt]};function _R(){var e=lR(AR),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}var Q4=Math.abs;var Vv=Math.cos;var E0=Math.sin;var J4=1e-6;var xl=Math.PI,Wv=xl/2,M8e=xl/4;var CR=Z4(2),I8e=Z4(xl),N8e=xl*2,O8e=180/xl,P8e=xl/180;function kR(e){return e>1?Wv:e<-1?-Wv:Math.asin(e)}function Z4(e){return e>0?Math.sqrt(e):0}function ile(e,t){var n=e*E0(t),r=30,i;do t-=i=(t+E0(t)-n)/(1+Vv(t));while(Q4(i)>J4&&--r>0);return t/2}function ole(e,t,n){function r(i,o){return[e*i*Vv(o=ile(n,o)),t*E0(o)]}return r.invert=function(i,o){return o=kR(o/t),[i/(e*Vv(o)),kR((2*o+E0(2*o))/n)]},r}var eU=ole(CR/Wv,CR,xl);function FR(){return zt(eU).scale(169.529)}var sle=zv(),Xv=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function ale(e,t){return function n(){let r=t();return r.type=e,r.path=zv().projection(r),r.copy=r.copy||function(){let i=n();return Xv.forEach(o=>{r[o]&&i[o](r[o]())}),i.path.pointRadius(r.path.pointRadius()),i},lF(r)}}function w0(e,t){if(!e||typeof e!="string")throw new Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(Yv[e]=ale(e,t),this):Yv[e]||null}function TR(e){return e&&e.path||sle}var Yv={albers:g0,albersusa:rR,azimuthalequalarea:oR,azimuthalequidistant:aR,conicconformal:cR,conicequalarea:yl,conicequidistant:dR,equalEarth:mR,equirectangular:fR,gnomonic:gR,identity:yR,mercator:uR,mollweide:FR,naturalEarth1:bR,orthographic:ER,stereographic:SR,transversemercator:_R};for(let e in Yv)w0(e,Yv[e]);function ule(){}var Ka=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function rU(){var e=1,t=1,n=a;function r(u,l){return l.map(c=>i(u,c))}function i(u,l){var c=[],f=[];return o(u,l,d=>{n(d,u,l),lle(d)>0?c.push([d]):f.push(d)}),f.forEach(d=>{for(var p=0,m=c.length,h;p<m;++p)if(cle((h=c[p])[0],d)!==-1){h.push(d);return}}),{type:"MultiPolygon",value:l,coordinates:c}}function o(u,l,c){var f=[],d=[],p,m,h,g,y,x;for(p=m=-1,g=u[0]>=l,Ka[g<<1].forEach(b);++p<e-1;)h=g,g=u[p+1]>=l,Ka[h|g<<1].forEach(b);for(Ka[g<<0].forEach(b);++m<t-1;){for(p=-1,g=u[m*e+e]>=l,y=u[m*e]>=l,Ka[g<<1|y<<2].forEach(b);++p<e-1;)h=g,g=u[m*e+e+p+1]>=l,x=y,y=u[m*e+p+1]>=l,Ka[h|g<<1|y<<2|x<<3].forEach(b);Ka[g|y<<3].forEach(b)}for(p=-1,y=u[m*e]>=l,Ka[y<<2].forEach(b);++p<e-1;)x=y,y=u[m*e+p+1]>=l,Ka[y<<2|x<<3].forEach(b);Ka[y<<3].forEach(b);function b(v){var E=[v[0][0]+p,v[0][1]+m],S=[v[1][0]+p,v[1][1]+m],w=s(E),A=s(S),C,_;(C=d[w])?(_=f[A])?(delete d[C.end],delete f[_.start],C===_?(C.ring.push(S),c(C.ring)):f[C.start]=d[_.end]={start:C.start,end:_.end,ring:C.ring.concat(_.ring)}):(delete d[C.end],C.ring.push(S),d[C.end=A]=C):(C=f[A])?(_=d[w])?(delete f[C.start],delete d[_.end],C===_?(C.ring.push(S),c(C.ring)):f[_.start]=d[C.end]={start:_.start,end:C.end,ring:_.ring.concat(C.ring)}):(delete f[C.start],C.ring.unshift(E),f[C.start=w]=C):f[w]=d[A]={start:w,end:A,ring:[E,S]}}}function s(u){return u[0]*2+u[1]*(e+1)*4}function a(u,l,c){u.forEach(f=>{var d=f[0],p=f[1],m=d|0,h=p|0,g,y=l[h*e+m];d>0&&d<e&&m===d&&(g=l[h*e+m-1],f[0]=d+(c-g)/(y-g)-.5),p>0&&p<t&&h===p&&(g=l[(h-1)*e+m],f[1]=p+(c-g)/(y-g)-.5)})}return r.contour=i,r.size=function(u){if(!arguments.length)return[e,t];var l=Math.floor(u[0]),c=Math.floor(u[1]);return l>=0&&c>=0||U("invalid size"),e=l,t=c,r},r.smooth=function(u){return arguments.length?(n=u?a:ule,r):n===a},r}function lle(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}function cle(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=fle(e,t[n]))return i;return 0}function fle(e,t){for(var n=t[0],r=t[1],i=-1,o=0,s=e.length,a=s-1;o<s;a=o++){var u=e[o],l=u[0],c=u[1],f=e[a],d=f[0],p=f[1];if(dle(u,f,t))return 0;c>r!=p>r&&n<(d-l)*(r-c)/(p-c)+l&&(i=-i)}return i}function dle(e,t,n){var r;return ple(e,t,n)&&mle(e[r=+(e[0]===t[0])],n[r],t[r])}function ple(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function mle(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function iU(e,t,n){return function(r){var i=Rr(r),o=n?Math.min(i[0],0):i[0],s=i[1],a=s-o,u=t?Dr(o,s,e):a/(e+1);return Yt(o+u,s,u)}}function MR(e){B.call(this,null,e)}MR.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]};te(MR,B,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=e.field||$t,o=rU().smooth(e.smooth!==!1),s=e.thresholds||hle(r,i,e),a=e.as===null?null:e.as||"contour",u=[];return r.forEach(l=>{let c=i(l),f=o.size([c.width,c.height])(c.values,O(s)?s:s(c.values));gle(f,c,l,e),f.forEach(d=>{u.push(pc(l,Ue(a!=null?{[a]:d}:d)))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}});function hle(e,t,n){let r=iU(n.levels||10,n.nice,n.zero!==!1);return n.resolve!=="shared"?r:r(e.map(i=>Ji(t(i).values)))}function gle(e,t,n,r){let i=r.scale||t.scale,o=r.translate||t.translate;if(we(i)&&(i=i(n,r)),we(o)&&(o=o(n,r)),(i===1||i==null)&&!o)return;let s=(Te(i)?i:i[0])||1,a=(Te(i)?i:i[1])||1,u=o&&o[0]||0,l=o&&o[1]||0;e.forEach(oU(t,s,a,u,l))}function oU(e,t,n,r,i){let o=e.x1||0,s=e.y1||0,a=t*n<0;function u(f){f.forEach(l)}function l(f){a&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-o)*t+r,f[1]=(f[1]-s)*n+i}return function(f){return f.coordinates.forEach(u),f}}function tU(e,t,n){let r=e>=0?e:b1(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function RR(e){return we(e)?e:_t(+e)}function sU(){var e=u=>u[0],t=u=>u[1],n=Ms,r=[-1,-1],i=960,o=500,s=2;function a(u,l){let c=tU(r[0],u,e)>>s,f=tU(r[1],u,t)>>s,d=c?c+2:0,p=f?f+2:0,m=2*d+(i>>s),h=2*p+(o>>s),g=new Float32Array(m*h),y=new Float32Array(m*h),x=g;u.forEach(v=>{let E=d+(+e(v)>>s),S=p+(+t(v)>>s);E>=0&&E<m&&S>=0&&S<h&&(g[E+S*m]+=+n(v))}),c>0&&f>0?(op(m,h,g,y,c),sp(m,h,y,g,f),op(m,h,g,y,c),sp(m,h,y,g,f),op(m,h,g,y,c),sp(m,h,y,g,f)):c>0?(op(m,h,g,y,c),op(m,h,y,g,c),op(m,h,g,y,c),x=y):f>0&&(sp(m,h,g,y,f),sp(m,h,y,g,f),sp(m,h,g,y,f),x=y);let b=l?Math.pow(2,-2*s):1/sd(x);for(let v=0,E=m*h;v<E;++v)x[v]*=b;return{values:x,scale:1<<s,width:m,height:h,x1:d,y1:p,x2:d+(i>>s),y2:p+(o>>s)}}return a.x=function(u){return arguments.length?(e=RR(u),a):e},a.y=function(u){return arguments.length?(t=RR(u),a):t},a.weight=function(u){return arguments.length?(n=RR(u),a):n},a.size=function(u){if(!arguments.length)return[i,o];var l=+u[0],c=+u[1];return l>=0&&c>=0||U("invalid size"),i=l,o=c,a},a.cellSize=function(u){return arguments.length?((u=+u)>=1||U("invalid cell size"),s=Math.floor(Math.log(u)/Math.LN2),a):1<<s},a.bandwidth=function(u){return arguments.length?(u=Z(u),u.length===1&&(u=[+u[0],+u[0]]),u.length!==2&&U("invalid bandwidth"),r=u,a):r},a}function op(e,t,n,r,i){let o=(i<<1)+1;for(let s=0;s<t;++s)for(let a=0,u=0;a<e+i;++a)a<e&&(u+=n[a+s*e]),a>=i&&(a>=o&&(u-=n[a-o+s*e]),r[a-i+s*e]=u/Math.min(a+1,e-1+o-a,o))}function sp(e,t,n,r,i){let o=(i<<1)+1;for(let s=0;s<e;++s)for(let a=0,u=0;a<t+i;++a)a<t&&(u+=n[s+a*e]),a>=i&&(a>=o&&(u-=n[s+(a-o)*e]),r[s+(a-i)*e]=u/Math.min(a+1,t-1+o-a,o))}function IR(e){B.call(this,null,e)}IR.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};var yle=["x","y","weight","size","cellSize","bandwidth"];function aU(e,t){return yle.forEach(n=>t[n]!=null?e[n](t[n]):0),e}te(IR,B,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=xle(r,e.groupby),o=(e.groupby||[]).map(vt),s=aU(sU(),e),a=e.as||"grid",u=[];function l(c,f){for(let d=0;d<o.length;++d)c[o[d]]=f[d];return c}return u=i.map(c=>Ue(l({[a]:s(c,e.counts)},c.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=u,n}});function xle(e,t){var n=[],r=c=>c(a),i,o,s,a,u,l;if(t==null)n.push(e);else for(i={},o=0,s=e.length;o<s;++o)a=e[o],u=t.map(r),l=i[u],l||(i[u]=l=[],l.dims=u,n.push(l)),l.push(a);return n}function NR(e){B.call(this,null,e)}NR.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]};te(NR,B,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=rU().smooth(e.smooth!==!1),i=e.values,o=e.thresholds||iU(e.count||10,e.nice,!!i),s=e.size,a,u;return i||(i=t.materialize(t.SOURCE).source,a=aU(sU(),e)(i,!0),u=oU(a,a.scale||1,a.scale||1,0,0),s=[a.width,a.height],i=a.values),o=O(o)?o:o(i),i=r.size(s)(i,o),u&&i.forEach(u),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(Ue),n}});var DR="Feature",OR="FeatureCollection",ble="MultiPoint";function PR(e){B.call(this,null,e)}PR.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]};te(PR,B,{transform(e,t){var n=this._features,r=this._points,i=e.fields,o=i&&i[0],s=i&&i[1],a=e.geojson||!i&&$t,u=t.ADD,l;l=e.modified()||t.changed(t.REM)||t.modified(dn(a))||o&&t.modified(dn(o))||s&&t.modified(dn(s)),(!this.value||l)&&(u=t.SOURCE,this._features=n=[],this._points=r=[]),a&&t.visit(u,c=>n.push(a(c))),o&&s&&(t.visit(u,c=>{var f=o(c),d=s(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&r.push([f,d])}),n=n.concat({type:DR,geometry:{type:ble,coordinates:r}})),this.value={type:OR,features:n}}});function $R(e){B.call(this,null,e)}$R.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]};te($R,B,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||$t,o=e.as||"path",s=n.SOURCE;!r||e.modified()?(this.value=r=TR(e.projection),n.materialize().reflow()):s=i===$t||t.modified(i.fields)?n.ADD_MOD:n.ADD;let a=vle(r,e.pointRadius);return n.visit(s,u=>u[o]=r(i(u))),r.pointRadius(a),n.modifies(o)}});function vle(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function LR(e){B.call(this,null,e)}LR.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]};te(LR,B,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],o=e.as||["x","y"],s=o[0],a=o[1],u;function l(c){let f=n([r(c),i(c)]);f?(c[s]=f[0],c[a]=f[1]):(c[s]=void 0,c[a]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,l):(u=t.modified(r.fields)||t.modified(i.fields),t.visit(u?t.ADD_MOD:t.ADD,l)),t.modifies(o)}});function BR(e){B.call(this,null,e)}BR.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]};te(BR,B,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.as||"shape",o=n.ADD;return(!r||e.modified())&&(this.value=r=Ele(TR(e.projection),e.field||wn("datum"),e.pointRadius),n.materialize().reflow(),o=n.SOURCE),n.visit(o,s=>s[i]=r),n.modifies(i)}});function Ele(e,t,n){let r=n==null?i=>e(t(i)):i=>{var o=e.pointRadius(),s=e.pointRadius(n)(t(i));return e.pointRadius(o),s};return r.context=i=>(e.context(i),r),r}function UR(e){B.call(this,[],e),this.generator=Iv()}UR.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]};te(UR,B,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let o in e)we(r[o])&&r[o](e[o]);return i=r(),n.length?t.mod.push(m1(n[0],i)):t.add.push(Ue(i)),n[0]=i,t}});function zR(e){B.call(this,null,e)}zR.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]};te(zR,B,{transform(e,t){if(!t.changed()&&!e.modified())return t.StopPropagation;var n=t.materialize(t.SOURCE).source,r=e.resolve==="shared",i=e.field||$t,o=Sle(e.opacity,e),s=wle(e.color,e),a=e.as||"image",u={$x:0,$y:0,$value:0,$max:r?Ji(n.map(l=>Ji(i(l).values))):0};return n.forEach(l=>{let c=i(l),f=Se({},l,u);r||(f.$max=Ji(c.values||[])),l[a]=Ale(c,f,s.dep?s:_t(s(f)),o.dep?o:_t(o(f)))}),t.reflow(!0).modifies(a)}});function wle(e,t){let n;return we(e)?(n=r=>oo(e(r,t)),n.dep=uU(e)):n=_t(oo(e||"#888")),n}function Sle(e,t){let n;return we(e)?(n=r=>e(r,t),n.dep=uU(e)):e?n=_t(e):(n=r=>r.$value/r.$max||0,n.dep=!0),n}function uU(e){if(!we(e))return!1;let t=en(dn(e));return t.$x||t.$y||t.$value||t.$max}function Ale(e,t,n,r){let i=e.width,o=e.height,s=e.x1||0,a=e.y1||0,u=e.x2||i,l=e.y2||o,c=e.values,f=c?g=>c[g]:Mo,d=io(u-s,l-a),p=d.getContext("2d"),m=p.getImageData(0,0,u-s,l-a),h=m.data;for(let g=a,y=0;g<l;++g){t.$y=g-a;for(let x=s,b=g*i;x<u;++x,y+=4){t.$x=x-s,t.$value=f(x+b);let v=n(t);h[y+0]=v.r,h[y+1]=v.g,h[y+2]=v.b,h[y+3]=~~(255*r(t))}}return p.putImageData(m,0,0),d}function lU(e){B.call(this,null,e),this.modified(!0)}te(lU,B,{transform(e,t){let n=this.value;return!n||e.modified("type")?(this.value=n=Cle(e.type),Xv.forEach(r=>{e[r]!=null&&nU(n,r,e[r])})):Xv.forEach(r=>{e.modified(r)&&nU(n,r,e[r])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&_le(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function _le(e,t){let n=kle(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function Cle(e){let t=w0((e||"mercator").toLowerCase());return t||U("Unrecognized projection type: "+e),t()}function nU(e,t,n){we(e[t])&&e[t](n)}function kle(e){return e=Z(e),e.length===1?e[0]:{type:OR,features:e.reduce((t,n)=>t.concat(Fle(n)),[])}}function Fle(e){return e.type===OR?e.features:Z(e).filter(t=>t!=null).map(t=>t.type===DR?t:{type:DR,geometry:t})}var nD={};rr(nD,{force:()=>tD});function qR(e,t){var n,r=1;e==null&&(e=0),t==null&&(t=0);function i(){var o,s=n.length,a,u=0,l=0;for(o=0;o<s;++o)a=n[o],u+=a.x,l+=a.y;for(u=(u/s-e)*r,l=(l/s-t)*r,o=0;o<s;++o)a=n[o],a.x-=u,a.y-=l}return i.initialize=function(o){n=o},i.x=function(o){return arguments.length?(e=+o,i):e},i.y=function(o){return arguments.length?(t=+o,i):t},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function cU(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return fU(this.cover(t,n),t,n,e)}function fU(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o=e._root,s={data:r},a=e._x0,u=e._y0,l=e._x1,c=e._y1,f,d,p,m,h,g,y,x;if(!o)return e._root=s,e;for(;o.length;)if((h=t>=(f=(a+l)/2))?a=f:l=f,(g=n>=(d=(u+c)/2))?u=d:c=d,i=o,!(o=o[y=g<<1|h]))return i[y]=s,e;if(p=+e._x.call(null,o.data),m=+e._y.call(null,o.data),t===p&&n===m)return s.next=o,i?i[y]=s:e._root=s,e;do i=i?i[y]=new Array(4):e._root=new Array(4),(h=t>=(f=(a+l)/2))?a=f:l=f,(g=n>=(d=(u+c)/2))?u=d:c=d;while((y=g<<1|h)===(x=(m>=d)<<1|p>=f));return i[x]=o,i[y]=s,e}function dU(e){var t,n,r=e.length,i,o,s=new Array(r),a=new Array(r),u=1/0,l=1/0,c=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(o=+this._y.call(null,t))||(s[n]=i,a[n]=o,i<u&&(u=i),i>c&&(c=i),o<l&&(l=o),o>f&&(f=o));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),n=0;n<r;++n)fU(this,s[n],a[n],e[n]);return this}function pU(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var s=i-n||1,a=this._root,u,l;n>e||e>=i||r>t||t>=o;)switch(l=(t<r)<<1|e<n,u=new Array(4),u[l]=a,a=u,s*=2,l){case 0:i=n+s,o=r+s;break;case 1:n=i-s,o=r+s;break;case 2:i=n+s,r=o-s;break;case 3:n=i-s,r=o-s;break}this._root&&this._root.length&&(this._root=a)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this}function mU(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function hU(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Cn(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function gU(e,t,n){var r,i=this._x0,o=this._y0,s,a,u,l,c=this._x1,f=this._y1,d=[],p=this._root,m,h;for(p&&d.push(new Cn(p,i,o,c,f)),n==null?n=1/0:(i=e-n,o=t-n,c=e+n,f=t+n,n*=n);m=d.pop();)if(!(!(p=m.node)||(s=m.x0)>c||(a=m.y0)>f||(u=m.x1)<i||(l=m.y1)<o))if(p.length){var g=(s+u)/2,y=(a+l)/2;d.push(new Cn(p[3],g,y,u,l),new Cn(p[2],s,y,g,l),new Cn(p[1],g,a,u,y),new Cn(p[0],s,a,g,y)),(h=(t>=y)<<1|e>=g)&&(m=d[d.length-1],d[d.length-1]=d[d.length-1-h],d[d.length-1-h]=m)}else{var x=e-+this._x.call(null,p.data),b=t-+this._y.call(null,p.data),v=x*x+b*b;if(v<n){var E=Math.sqrt(n=v);i=e-E,o=t-E,c=e+E,f=t+E,r=p.data}}return r}function yU(e){if(isNaN(c=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var t,n=this._root,r,i,o,s=this._x0,a=this._y0,u=this._x1,l=this._y1,c,f,d,p,m,h,g,y;if(!n)return this;if(n.length)for(;;){if((m=c>=(d=(s+u)/2))?s=d:u=d,(h=f>=(p=(a+l)/2))?a=p:l=p,t=n,!(n=n[g=h<<1|m]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,y=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):t?(o?t[g]=o:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=o,this)}function xU(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function bU(){return this._root}function vU(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function EU(e){var t=[],n,r=this._root,i,o,s,a,u;for(r&&t.push(new Cn(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,o=n.x0,s=n.y0,a=n.x1,u=n.y1)&&r.length){var l=(o+a)/2,c=(s+u)/2;(i=r[3])&&t.push(new Cn(i,l,c,a,u)),(i=r[2])&&t.push(new Cn(i,o,c,l,u)),(i=r[1])&&t.push(new Cn(i,l,s,a,c)),(i=r[0])&&t.push(new Cn(i,o,s,l,c))}return this}function wU(e){var t=[],n=[],r;for(this._root&&t.push(new Cn(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var o,s=r.x0,a=r.y0,u=r.x1,l=r.y1,c=(s+u)/2,f=(a+l)/2;(o=i[0])&&t.push(new Cn(o,s,a,c,f)),(o=i[1])&&t.push(new Cn(o,c,a,u,f)),(o=i[2])&&t.push(new Cn(o,s,f,c,l)),(o=i[3])&&t.push(new Cn(o,c,f,u,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function SU(e){return e[0]}function AU(e){return arguments.length?(this._x=e,this):this._x}function _U(e){return e[1]}function CU(e){return arguments.length?(this._y=e,this):this._y}function Vc(e,t,n){var r=new GR(t??SU,n??_U,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function GR(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function kU(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var qr=Vc.prototype=GR.prototype;qr.copy=function(){var e=new GR(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=kU(t),e;for(n=[{source:t,target:e._root=new Array(4)}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=new Array(4)}):t.target[i]=kU(r));return e};qr.add=cU;qr.addAll=dU;qr.cover=pU;qr.data=mU;qr.extent=hU;qr.find=gU;qr.remove=yU;qr.removeAll=xU;qr.root=bU;qr.size=vU;qr.visit=EU;qr.visitAfter=wU;qr.x=AU;qr.y=CU;function sn(e){return function(){return e}}function Vo(e){return(e()-.5)*1e-6}function Tle(e){return e.x+e.vx}function Rle(e){return e.y+e.vy}function jR(e){var t,n,r,i=1,o=1;typeof e!="function"&&(e=sn(e==null?1:+e));function s(){for(var l,c=t.length,f,d,p,m,h,g,y=0;y<o;++y)for(f=Vc(t,Tle,Rle).visitAfter(a),l=0;l<c;++l)d=t[l],h=n[d.index],g=h*h,p=d.x+d.vx,m=d.y+d.vy,f.visit(x);function x(b,v,E,S,w){var A=b.data,C=b.r,_=h+C;if(A){if(A.index>d.index){var F=p-A.x-A.vx,I=m-A.y-A.vy,M=F*F+I*I;M<_*_&&(F===0&&(F=Vo(r),M+=F*F),I===0&&(I=Vo(r),M+=I*I),M=(_-(M=Math.sqrt(M)))/M*i,d.vx+=(F*=M)*(_=(C*=C)/(g+C)),d.vy+=(I*=M)*_,A.vx-=F*(_=1-_),A.vy-=I*_)}return}return v>p+_||S<p-_||E>m+_||w<m-_}}function a(l){if(l.data)return l.r=n[l.data.index];for(var c=l.r=0;c<4;++c)l[c]&&l[c].r>l.r&&(l.r=l[c].r)}function u(){if(t){var l,c=t.length,f;for(n=new Array(c),l=0;l<c;++l)f=t[l],n[f.index]=+e(f,l,t)}}return s.initialize=function(l,c){t=l,r=c,u()},s.iterations=function(l){return arguments.length?(o=+l,s):o},s.strength=function(l){return arguments.length?(i=+l,s):i},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:sn(+l),u(),s):e},s}function Dle(e){return e.index}function FU(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}function WR(e){var t=Dle,n=f,r,i=sn(30),o,s,a,u,l,c=1;e==null&&(e=[]);function f(g){return 1/Math.min(a[g.source.index],a[g.target.index])}function d(g){for(var y=0,x=e.length;y<c;++y)for(var b=0,v,E,S,w,A,C,_;b<x;++b)v=e[b],E=v.source,S=v.target,w=S.x+S.vx-E.x-E.vx||Vo(l),A=S.y+S.vy-E.y-E.vy||Vo(l),C=Math.sqrt(w*w+A*A),C=(C-o[b])/C*g*r[b],w*=C,A*=C,S.vx-=w*(_=u[b]),S.vy-=A*_,E.vx+=w*(_=1-_),E.vy+=A*_}function p(){if(s){var g,y=s.length,x=e.length,b=new Map(s.map((E,S)=>[t(E,S,s),E])),v;for(g=0,a=new Array(y);g<x;++g)v=e[g],v.index=g,typeof v.source!="object"&&(v.source=FU(b,v.source)),typeof v.target!="object"&&(v.target=FU(b,v.target)),a[v.source.index]=(a[v.source.index]||0)+1,a[v.target.index]=(a[v.target.index]||0)+1;for(g=0,u=new Array(x);g<x;++g)v=e[g],u[g]=a[v.source.index]/(a[v.source.index]+a[v.target.index]);r=new Array(x),m(),o=new Array(x),h()}}function m(){if(s)for(var g=0,y=e.length;g<y;++g)r[g]=+n(e[g],g,e)}function h(){if(s)for(var g=0,y=e.length;g<y;++g)o[g]=+i(e[g],g,e)}return d.initialize=function(g,y){s=g,l=y,p()},d.links=function(g){return arguments.length?(e=g,p(),d):e},d.id=function(g){return arguments.length?(t=g,d):t},d.iterations=function(g){return arguments.length?(c=+g,d):c},d.strength=function(g){return arguments.length?(n=typeof g=="function"?g:sn(+g),m(),d):n},d.distance=function(g){return arguments.length?(i=typeof g=="function"?g:sn(+g),h(),d):i},d}var Mle={value:()=>{}};function RU(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new Kv(n)}function Kv(e){this._=e}function Ile(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Kv.prototype=RU.prototype={constructor:Kv,on:function(e,t){var n=this._,r=Ile(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(e=r[o]).type)&&(i=Nle(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<s;)if(i=(e=r[o]).type)n[i]=TU(n[i],e.name,t);else if(t==null)for(i in n)n[i]=TU(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Kv(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function Nle(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function TU(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Mle,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var VR=RU;var ap=0,A0=0,S0=0,MU=1e3,Qv,_0,Jv=0,Yc=0,Zv=0,C0=typeof performance=="object"&&performance.now?performance:Date,IU=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function F0(){return Yc||(IU(Ole),Yc=C0.now()+Zv)}function Ole(){Yc=0}function k0(){this._call=this._time=this._next=null}k0.prototype=eE.prototype={constructor:k0,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?F0():+n)+(t==null?0:+t),!this._next&&_0!==this&&(_0?_0._next=this:Qv=this,_0=this),this._call=e,this._time=n,YR()},stop:function(){this._call&&(this._call=null,this._time=1/0,YR())}};function eE(e,t,n){var r=new k0;return r.restart(e,t,n),r}function NU(){F0(),++ap;for(var e=Qv,t;e;)(t=Yc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ap}function DU(){Yc=(Jv=C0.now())+Zv,ap=A0=0;try{NU()}finally{ap=0,$le(),Yc=0}}function Ple(){var e=C0.now(),t=e-Jv;t>MU&&(Zv-=t,Jv=e)}function $le(){for(var e,t=Qv,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Qv=n);_0=e,YR(r)}function YR(e){if(!ap){A0&&(A0=clearTimeout(A0));var t=e-Yc;t>24?(e<1/0&&(A0=setTimeout(DU,e-C0.now()-Zv)),S0&&(S0=clearInterval(S0))):(S0||(Jv=C0.now(),S0=setInterval(Ple,MU)),ap=1,IU(DU))}}function XR(e,t,n){var r=new k0,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(o,s,a){s=+s,a=a==null?F0():+a,r._restart(function u(l){l+=i,r._restart(u,i+=s,a),o(l)},s,a)},r.restart(e,t,n),r)}function OU(){let e=1;return()=>(e=(1664525*e+1013904223)%4294967296)/4294967296}function PU(e){return e.x}function $U(e){return e.y}var Lle=10,Ble=Math.PI*(3-Math.sqrt(5));function KR(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,s=.6,a=new Map,u=eE(f),l=VR("tick","end"),c=OU();e==null&&(e=[]);function f(){d(),l.call("tick",t),n<r&&(u.stop(),l.call("end",t))}function d(h){var g,y=e.length,x;h===void 0&&(h=1);for(var b=0;b<h;++b)for(n+=(o-n)*i,a.forEach(function(v){v(n)}),g=0;g<y;++g)x=e[g],x.fx==null?x.x+=x.vx*=s:(x.x=x.fx,x.vx=0),x.fy==null?x.y+=x.vy*=s:(x.y=x.fy,x.vy=0);return t}function p(){for(var h=0,g=e.length,y;h<g;++h){if(y=e[h],y.index=h,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var x=Lle*Math.sqrt(.5+h),b=h*Ble;y.x=x*Math.cos(b),y.y=x*Math.sin(b)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function m(h){return h.initialize&&h.initialize(e,c),h}return p(),t={tick:d,restart:function(){return u.restart(f),t},stop:function(){return u.stop(),t},nodes:function(h){return arguments.length?(e=h,p(),a.forEach(m),t):e},alpha:function(h){return arguments.length?(n=+h,t):n},alphaMin:function(h){return arguments.length?(r=+h,t):r},alphaDecay:function(h){return arguments.length?(i=+h,t):+i},alphaTarget:function(h){return arguments.length?(o=+h,t):o},velocityDecay:function(h){return arguments.length?(s=1-h,t):1-s},randomSource:function(h){return arguments.length?(c=h,a.forEach(m),t):c},force:function(h,g){return arguments.length>1?(g==null?a.delete(h):a.set(h,m(g)),t):a.get(h)},find:function(h,g,y){var x=0,b=e.length,v,E,S,w,A;for(y==null?y=1/0:y*=y,x=0;x<b;++x)w=e[x],v=h-w.x,E=g-w.y,S=v*v+E*E,S<y&&(A=w,y=S);return A},on:function(h,g){return arguments.length>1?(l.on(h,g),t):l.on(h)}}}function QR(){var e,t,n,r,i=sn(-30),o,s=1,a=1/0,u=.81;function l(p){var m,h=e.length,g=Vc(e,PU,$U).visitAfter(f);for(r=p,m=0;m<h;++m)t=e[m],g.visit(d)}function c(){if(e){var p,m=e.length,h;for(o=new Array(m),p=0;p<m;++p)h=e[p],o[h.index]=+i(h,p,e)}}function f(p){var m=0,h,g,y=0,x,b,v;if(p.length){for(x=b=v=0;v<4;++v)(h=p[v])&&(g=Math.abs(h.value))&&(m+=h.value,y+=g,x+=g*h.x,b+=g*h.y);p.x=x/y,p.y=b/y}else{h=p,h.x=h.data.x,h.y=h.data.y;do m+=o[h.data.index];while(h=h.next)}p.value=m}function d(p,m,h,g){if(!p.value)return!0;var y=p.x-t.x,x=p.y-t.y,b=g-m,v=y*y+x*x;if(b*b/u<v)return v<a&&(y===0&&(y=Vo(n),v+=y*y),x===0&&(x=Vo(n),v+=x*x),v<s&&(v=Math.sqrt(s*v)),t.vx+=y*p.value*r/v,t.vy+=x*p.value*r/v),!0;if(p.length||v>=a)return;(p.data!==t||p.next)&&(y===0&&(y=Vo(n),v+=y*y),x===0&&(x=Vo(n),v+=x*x),v<s&&(v=Math.sqrt(s*v)));do p.data!==t&&(b=o[p.data.index]*r/v,t.vx+=y*b,t.vy+=x*b);while(p=p.next)}return l.initialize=function(p,m){e=p,n=m,c()},l.strength=function(p){return arguments.length?(i=typeof p=="function"?p:sn(+p),c(),l):i},l.distanceMin=function(p){return arguments.length?(s=p*p,l):Math.sqrt(s)},l.distanceMax=function(p){return arguments.length?(a=p*p,l):Math.sqrt(a)},l.theta=function(p){return arguments.length?(u=p*p,l):Math.sqrt(u)},l}function JR(e){var t=sn(.1),n,r,i;typeof e!="function"&&(e=sn(e==null?0:+e));function o(a){for(var u=0,l=n.length,c;u<l;++u)c=n[u],c.vx+=(i[u]-c.x)*r[u]*a}function s(){if(n){var a,u=n.length;for(r=new Array(u),i=new Array(u),a=0;a<u;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return o.initialize=function(a){n=a,s()},o.strength=function(a){return arguments.length?(t=typeof a=="function"?a:sn(+a),s(),o):t},o.x=function(a){return arguments.length?(e=typeof a=="function"?a:sn(+a),s(),o):e},o}function ZR(e){var t=sn(.1),n,r,i;typeof e!="function"&&(e=sn(e==null?0:+e));function o(a){for(var u=0,l=n.length,c;u<l;++u)c=n[u],c.vy+=(i[u]-c.y)*r[u]*a}function s(){if(n){var a,u=n.length;for(r=new Array(u),i=new Array(u),a=0;a<u;++a)r[a]=isNaN(i[a]=+e(n[a],a,n))?0:+t(n[a],a,n)}}return o.initialize=function(a){n=a,s()},o.strength=function(a){return arguments.length?(t=typeof a=="function"?a:sn(+a),s(),o):t},o.y=function(a){return arguments.length?(e=typeof a=="function"?a:sn(+a),s(),o):e},o}var LU={center:qR,collide:jR,nbody:QR,link:WR,x:JR,y:ZR},T0="forces",eD=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],Ule=["static","iterations"],BU=["x","y","vx","vy"];function tD(e){B.call(this,null,e)}tD.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:BU}]};te(tD,B,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(eD),o=e.iterations||300;if(n?(r&&(t.modifies("index"),n.nodes(t.source)),(i||t.changed(t.MOD))&&UU(n,e,0,t)):(this.value=n=Hle(t.source,e),n.on("tick",zle(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies("index")),i||r||e.modified(Ule)||t.changed()&&e.restart){if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(n.alphaMin(),1/o)),e.static)for(n.stop();--o>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let a=this._argops,u=0,l=a.length,c;u<l;++u)if(c=a[u],!(c.name!==T0||c.op._argval.force!=="link")){for(var r=c.op._argops,i=0,o=r.length,s;i<o;++i)if(r[i].name==="links"&&(s=r[i].op.source)){n.pulse(s,n.changeset().reflow());break}}return t.reflow(e.modified()).modifies(BU)}});function zle(e,t){return()=>e.touch(t).run()}function Hle(e,t){let n=KR(e),r=n.stop,i=n.restart,o=!1;return n.stopped=()=>o,n.restart=()=>(o=!1,i()),n.stop=()=>(o=!0,r()),UU(n,t,!0).on("end",()=>o=!0)}function UU(e,t,n,r){var i=Z(t.forces),o,s,a,u;for(o=0,s=eD.length;o<s;++o)a=eD[o],a!==T0&&t.modified(a)&&e[a](t[a]);for(o=0,s=i.length;o<s;++o)u=T0+o,a=n||t.modified(T0,o)?Gle(i[o]):r&&qle(i[o],r)?e.force(u):null,a&&e.force(u,a);for(s=e.numForces||0;o<s;++o)e.force(T0+o,null);return e.numForces=i.length,e}function qle(e,t){var n,r;for(n in e)if(we(r=e[n])&&t.modified(dn(r)))return 1;return 0}function Gle(e){var t,n;ne(LU,e.force)||U("Unrecognized force: "+e.force),t=LU[e.force]();for(n in e)we(t[n])&&jle(t[n],e[n],e);return t}function jle(e,t,n){e(we(t)?r=>t(r,n):t)}var ID={};rr(ID,{nest:()=>CD,pack:()=>kD,partition:()=>FD,stratify:()=>TD,tree:()=>RD,treelinks:()=>DD,treemap:()=>MD});function Wle(e,t){return e.parent===t.parent?1:2}function Vle(e){return e.reduce(Yle,0)/e.length}function Yle(e,t){return e+t.x}function Xle(e){return 1+e.reduce(Kle,0)}function Kle(e,t){return Math.max(e,t.y)}function Qle(e){for(var t;t=e.children;)e=t[0];return e}function Jle(e){for(var t;t=e.children;)e=t[t.length-1];return e}function rD(){var e=Wle,t=1,n=1,r=!1;function i(o){var s,a=0;o.eachAfter(function(d){var p=d.children;p?(d.x=Vle(p),d.y=Xle(p)):(d.x=s?a+=e(d,s):0,d.y=0,s=d)});var u=Qle(o),l=Jle(o),c=u.x-e(u,l)/2,f=l.x+e(l,u)/2;return o.eachAfter(r?function(d){d.x=(d.x-o.x)*t,d.y=(o.y-d.y)*n}:function(d){d.x=(d.x-c)/(f-c)*t,d.y=(1-(o.y?d.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(e=o,i):e},i.size=function(o){return arguments.length?(r=!1,t=+o[0],n=+o[1],i):r?null:[t,n]},i.nodeSize=function(o){return arguments.length?(r=!0,t=+o[0],n=+o[1],i):r?[t,n]:null},i}function Zle(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function zU(){return this.eachAfter(Zle)}function HU(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function qU(e,t){for(var n=this,r=[n],i,o,s=-1;n=r.pop();)if(e.call(t,n,++s,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function GU(e,t){for(var n=this,r=[n],i=[],o,s,a,u=-1;n=r.pop();)if(i.push(n),o=n.children)for(s=0,a=o.length;s<a;++s)r.push(o[s]);for(;n=i.pop();)e.call(t,n,++u,this);return this}function jU(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function WU(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function VU(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function YU(e){for(var t=this,n=ece(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function ece(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function XU(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function KU(){return Array.from(this)}function QU(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function JU(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*ZU(){var e=this,t,n=[e],r,i,o;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function up(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=rce)):t===void 0&&(t=nce);for(var n=new Qa(e),r,i=[n],o,s,a,u;r=i.pop();)if((s=t(r.data))&&(u=(s=Array.from(s)).length))for(r.children=s,a=u-1;a>=0;--a)i.push(o=s[a]=new Qa(s[a])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(iD)}function tce(){return up(this).eachBefore(ice)}function nce(e){return e.children}function rce(e){return Array.isArray(e)?e[1]:null}function ice(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function iD(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function Qa(e){this.data=e,this.depth=this.height=0,this.parent=null}Qa.prototype=up.prototype={constructor:Qa,count:zU,each:HU,eachAfter:GU,eachBefore:qU,find:jU,sum:WU,sort:VU,path:YU,ancestors:XU,descendants:KU,leaves:QU,links:JU,copy:tce,[Symbol.iterator]:ZU};function lp(e){return e==null?null:oD(e)}function oD(e){if(typeof e!="function")throw new Error;return e}function Ja(){return 0}function bl(e){return function(){return e}}function e9(){let e=1;return()=>(e=(1664525*e+1013904223)%4294967296)/4294967296}function t9(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function n9(e,t){let n=e.length,r,i;for(;n;)i=t()*n--|0,r=e[n],e[n]=e[i],e[i]=r;return e}function r9(e,t){for(var n=0,r=(e=n9(Array.from(e),t)).length,i=[],o,s;n<r;)o=e[n],s&&i9(s,o)?++n:(s=sce(i=oce(i,o)),n=0);return s}function oce(e,t){var n,r;if(sD(t,e))return[t];for(n=0;n<e.length;++n)if(tE(t,e[n])&&sD(R0(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(tE(R0(e[n],e[r]),t)&&tE(R0(e[n],t),e[r])&&tE(R0(e[r],t),e[n])&&sD(o9(e[n],e[r],t),e))return[e[n],e[r],t];throw new Error}function tE(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function i9(e,t){var n=e.r-t.r+Math.max(e.r,t.r,1)*1e-9,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function sD(e,t){for(var n=0;n<t.length;++n)if(!i9(e,t[n]))return!1;return!0}function sce(e){switch(e.length){case 1:return ace(e[0]);case 2:return R0(e[0],e[1]);case 3:return o9(e[0],e[1],e[2])}}function ace(e){return{x:e.x,y:e.y,r:e.r}}function R0(e,t){var n=e.x,r=e.y,i=e.r,o=t.x,s=t.y,a=t.r,u=o-n,l=s-r,c=a-i,f=Math.sqrt(u*u+l*l);return{x:(n+o+u/f*c)/2,y:(r+s+l/f*c)/2,r:(f+i+a)/2}}function o9(e,t,n){var r=e.x,i=e.y,o=e.r,s=t.x,a=t.y,u=t.r,l=n.x,c=n.y,f=n.r,d=r-s,p=r-l,m=i-a,h=i-c,g=u-o,y=f-o,x=r*r+i*i-o*o,b=x-s*s-a*a+u*u,v=x-l*l-c*c+f*f,E=p*m-d*h,S=(m*v-h*b)/(E*2)-r,w=(h*g-m*y)/E,A=(p*b-d*v)/(E*2)-i,C=(d*y-p*g)/E,_=w*w+C*C-1,F=2*(o+S*w+A*C),I=S*S+A*A-o*o,M=-(Math.abs(_)>1e-6?(F+Math.sqrt(F*F-4*_*I))/(2*_):I/F);return{x:r+S+w*M,y:i+A+C*M,r:M}}function s9(e,t,n){var r=e.x-t.x,i,o,s=e.y-t.y,a,u,l=r*r+s*s;l?(o=t.r+n.r,o*=o,u=e.r+n.r,u*=u,o>u?(i=(l+u-o)/(2*l),a=Math.sqrt(Math.max(0,u/l-i*i)),n.x=e.x-i*r-a*s,n.y=e.y-i*s+a*r):(i=(l+o-u)/(2*l),a=Math.sqrt(Math.max(0,o/l-i*i)),n.x=t.x+i*r-a*s,n.y=t.y+i*s+a*r)):(n.x=t.x+n.r,n.y=t.y)}function a9(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function u9(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function nE(e){this._=e,this.next=null,this.previous=null}function l9(e,t){if(!(o=(e=t9(e)).length))return 0;var n,r,i,o,s,a,u,l,c,f,d;if(n=e[0],n.x=0,n.y=0,!(o>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;s9(r,n,i=e[2]),n=new nE(n),r=new nE(r),i=new nE(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(u=3;u<o;++u){s9(n._,r._,i=e[u]),i=new nE(i),l=r.next,c=n.previous,f=r._.r,d=n._.r;do if(f<=d){if(a9(l._,i._)){r=l,n.next=r,r.previous=n,--u;continue e}f+=l._.r,l=l.next}else{if(a9(c._,i._)){n=c,n.next=r,r.previous=n,--u;continue e}d+=c._.r,c=c.previous}while(l!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,s=u9(n);(i=i.next)!==r;)(a=u9(i))<s&&(n=i,s=a);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=r9(n,t),u=0;u<o;++u)n=e[u],n.x-=i.x,n.y-=i.y;return i.r}function uce(e){return Math.sqrt(e.value)}function uD(){var e=null,t=1,n=1,r=Ja;function i(o){let s=e9();return o.x=t/2,o.y=n/2,e?o.eachBefore(c9(e)).eachAfter(aD(r,.5,s)).eachBefore(f9(1)):o.eachBefore(c9(uce)).eachAfter(aD(Ja,1,s)).eachAfter(aD(r,o.r/Math.min(t,n),s)).eachBefore(f9(Math.min(t,n)/(2*o.r))),o}return i.radius=function(o){return arguments.length?(e=lp(o),i):e},i.size=function(o){return arguments.length?(t=+o[0],n=+o[1],i):[t,n]},i.padding=function(o){return arguments.length?(r=typeof o=="function"?o:bl(+o),i):r},i}function c9(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function aD(e,t,n){return function(r){if(i=r.children){var i,o,s=i.length,a=e(r)*t||0,u;if(a)for(o=0;o<s;++o)i[o].r+=a;if(u=l9(i,n),a)for(o=0;o<s;++o)i[o].r-=a;r.r=u+a}}}function f9(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function rE(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function Yo(e,t,n,r,i){for(var o=e.children,s,a=-1,u=o.length,l=e.value&&(r-t)/e.value;++a<u;)s=o[a],s.y0=n,s.y1=i,s.x0=t,s.x1=t+=s.value*l}function lD(){var e=1,t=1,n=0,r=!1;function i(s){var a=s.height+1;return s.x0=s.y0=n,s.x1=e,s.y1=t/a,s.eachBefore(o(t,a)),r&&s.eachBefore(rE),s}function o(s,a){return function(u){u.children&&Yo(u,u.x0,s*(u.depth+1)/a,u.x1,s*(u.depth+2)/a);var l=u.x0,c=u.y0,f=u.x1-n,d=u.y1-n;f<l&&(l=f=(l+f)/2),d<c&&(c=d=(c+d)/2),u.x0=l,u.y0=c,u.x1=f,u.y1=d}}return i.round=function(s){return arguments.length?(r=!!s,i):r},i.size=function(s){return arguments.length?(e=+s[0],t=+s[1],i):[e,t]},i.padding=function(s){return arguments.length?(n=+s,i):n},i}var lce={depth:-1},d9={},cD={};function cce(e){return e.id}function fce(e){return e.parentId}function iE(){var e=cce,t=fce,n;function r(i){var o=Array.from(i),s=e,a=t,u,l,c,f,d,p,m,h,g=new Map;if(n!=null){let y=o.map((v,E)=>dce(n(v,E,i))),x=y.map(p9),b=new Set(y).add("");for(let v of x)b.has(v)||(b.add(v),y.push(v),x.push(p9(v)),o.push(cD));s=(v,E)=>y[E],a=(v,E)=>x[E]}for(c=0,u=o.length;c<u;++c)l=o[c],p=o[c]=new Qa(l),(m=s(l,c,i))!=null&&(m+="")&&(h=p.id=m,g.set(h,g.has(h)?d9:p)),(m=a(l,c,i))!=null&&(m+="")&&(p.parent=m);for(c=0;c<u;++c)if(p=o[c],m=p.parent){if(d=g.get(m),!d)throw new Error("missing: "+m);if(d===d9)throw new Error("ambiguous: "+m);d.children?d.children.push(p):d.children=[p],p.parent=d}else{if(f)throw new Error("multiple roots");f=p}if(!f)throw new Error("no root");if(n!=null){for(;f.data===cD&&f.children.length===1;)f=f.children[0],--u;for(let y=o.length-1;y>=0&&(p=o[y],p.data===cD);--y)p.data=null}if(f.parent=lce,f.eachBefore(function(y){y.depth=y.parent.depth+1,--u}).eachBefore(iD),f.parent=null,u>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(e=lp(i),r):e},r.parentId=function(i){return arguments.length?(t=lp(i),r):t},r.path=function(i){return arguments.length?(n=lp(i),r):n},r}function dce(e){e=`${e}`;let t=e.length;return fD(e,t-1)&&!fD(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function p9(e){let t=e.length;if(t<2)return"";for(;--t>1&&!fD(e,t););return e.slice(0,t)}function fD(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function pce(e,t){return e.parent===t.parent?1:2}function dD(e){var t=e.children;return t?t[0]:e.t}function pD(e){var t=e.children;return t?t[t.length-1]:e.t}function mce(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function hce(e){for(var t=0,n=0,r=e.children,i=r.length,o;--i>=0;)o=r[i],o.z+=t,o.m+=t,t+=o.s+(n+=o.c)}function gce(e,t,n){return e.a.parent===t.parent?e.a:n}function oE(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}oE.prototype=Object.create(Qa.prototype);function yce(e){for(var t=new oE(e,0),n,r=[t],i,o,s,a;n=r.pop();)if(o=n._.children)for(n.children=new Array(a=o.length),s=a-1;s>=0;--s)r.push(i=n.children[s]=new oE(o[s],s)),i.parent=n;return(t.parent=new oE(null,0)).children=[t],t}function mD(){var e=pce,t=1,n=1,r=null;function i(l){var c=yce(l);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)l.eachBefore(u);else{var f=l,d=l,p=l;l.eachBefore(function(x){x.x<f.x&&(f=x),x.x>d.x&&(d=x),x.depth>p.depth&&(p=x)});var m=f===d?1:e(f,d)/2,h=m-f.x,g=t/(d.x+m+h),y=n/(p.depth||1);l.eachBefore(function(x){x.x=(x.x+h)*g,x.y=x.depth*y})}return l}function o(l){var c=l.children,f=l.parent.children,d=l.i?f[l.i-1]:null;if(c){hce(l);var p=(c[0].z+c[c.length-1].z)/2;d?(l.z=d.z+e(l._,d._),l.m=l.z-p):l.z=p}else d&&(l.z=d.z+e(l._,d._));l.parent.A=a(l,d,l.parent.A||f[0])}function s(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function a(l,c,f){if(c){for(var d=l,p=l,m=c,h=d.parent.children[0],g=d.m,y=p.m,x=m.m,b=h.m,v;m=pD(m),d=dD(d),m&&d;)h=dD(h),p=pD(p),p.a=l,v=m.z+x-d.z-g+e(m._,d._),v>0&&(mce(gce(m,l,f),l,v),g+=v,y+=v),x+=m.m,g+=d.m,b+=h.m,y+=p.m;m&&!pD(p)&&(p.t=m,p.m+=x-y),d&&!dD(h)&&(h.t=d,h.m+=g-b,f=l)}return f}function u(l){l.x*=t,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(e=l,i):e},i.size=function(l){return arguments.length?(r=!1,t=+l[0],n=+l[1],i):r?null:[t,n]},i.nodeSize=function(l){return arguments.length?(r=!0,t=+l[0],n=+l[1],i):r?[t,n]:null},i}function Za(e,t,n,r,i){for(var o=e.children,s,a=-1,u=o.length,l=e.value&&(i-n)/e.value;++a<u;)s=o[a],s.x0=t,s.x1=r,s.y0=n,s.y1=n+=s.value*l}var hD=(1+Math.sqrt(5))/2;function gD(e,t,n,r,i,o){for(var s=[],a=t.children,u,l,c=0,f=0,d=a.length,p,m,h=t.value,g,y,x,b,v,E,S;c<d;){p=i-n,m=o-r;do g=a[f++].value;while(!g&&f<d);for(y=x=g,E=Math.max(m/p,p/m)/(h*e),S=g*g*E,v=Math.max(x/S,S/y);f<d;++f){if(g+=l=a[f].value,l<y&&(y=l),l>x&&(x=l),S=g*g*E,b=Math.max(x/S,S/y),b>v){g-=l;break}v=b}s.push(u={value:g,dice:p<m,children:a.slice(c,f)}),u.dice?Yo(u,n,r,i,h?r+=m*g/h:o):Za(u,n,r,h?n+=p*g/h:i,o),h-=g,c=f}return s}var D0=function e(t){function n(r,i,o,s,a){gD(t,r,i,o,s,a)}return n.ratio=function(r){return e((r=+r)>1?r:1)},n}(hD);function yD(){var e=D0,t=!1,n=1,r=1,i=[0],o=Ja,s=Ja,a=Ja,u=Ja,l=Ja;function c(d){return d.x0=d.y0=0,d.x1=n,d.y1=r,d.eachBefore(f),i=[0],t&&d.eachBefore(rE),d}function f(d){var p=i[d.depth],m=d.x0+p,h=d.y0+p,g=d.x1-p,y=d.y1-p;g<m&&(m=g=(m+g)/2),y<h&&(h=y=(h+y)/2),d.x0=m,d.y0=h,d.x1=g,d.y1=y,d.children&&(p=i[d.depth+1]=o(d)/2,m+=l(d)-p,h+=s(d)-p,g-=a(d)-p,y-=u(d)-p,g<m&&(m=g=(m+g)/2),y<h&&(h=y=(h+y)/2),e(d,m,h,g,y))}return c.round=function(d){return arguments.length?(t=!!d,c):t},c.size=function(d){return arguments.length?(n=+d[0],r=+d[1],c):[n,r]},c.tile=function(d){return arguments.length?(e=oD(d),c):e},c.padding=function(d){return arguments.length?c.paddingInner(d).paddingOuter(d):c.paddingInner()},c.paddingInner=function(d){return arguments.length?(o=typeof d=="function"?d:bl(+d),c):o},c.paddingOuter=function(d){return arguments.length?c.paddingTop(d).paddingRight(d).paddingBottom(d).paddingLeft(d):c.paddingTop()},c.paddingTop=function(d){return arguments.length?(s=typeof d=="function"?d:bl(+d),c):s},c.paddingRight=function(d){return arguments.length?(a=typeof d=="function"?d:bl(+d),c):a},c.paddingBottom=function(d){return arguments.length?(u=typeof d=="function"?d:bl(+d),c):u},c.paddingLeft=function(d){return arguments.length?(l=typeof d=="function"?d:bl(+d),c):l},c}function xD(e,t,n,r,i){var o=e.children,s,a=o.length,u,l=new Array(a+1);for(l[0]=u=s=0;s<a;++s)l[s+1]=u+=o[s].value;c(0,a,e.value,t,n,r,i);function c(f,d,p,m,h,g,y){if(f>=d-1){var x=o[f];x.x0=m,x.y0=h,x.x1=g,x.y1=y;return}for(var b=l[f],v=p/2+b,E=f+1,S=d-1;E<S;){var w=E+S>>>1;l[w]<v?E=w+1:S=w}v-l[E-1]<l[E]-v&&f+1<E&&--E;var A=l[E]-b,C=p-A;if(g-m>y-h){var _=p?(m*C+g*A)/p:g;c(f,E,A,m,h,_,y),c(E,d,C,_,h,g,y)}else{var F=p?(h*C+y*A)/p:y;c(f,E,A,m,h,g,F),c(E,d,C,m,F,g,y)}}}function bD(e,t,n,r,i){(e.depth&1?Za:Yo)(e,t,n,r,i)}var vD=function e(t){function n(r,i,o,s,a){if((u=r._squarify)&&u.ratio===t)for(var u,l,c,f,d=-1,p,m=u.length,h=r.value;++d<m;){for(l=u[d],c=l.children,f=l.value=0,p=c.length;f<p;++f)l.value+=c[f].value;l.dice?Yo(l,i,o,s,h?o+=(a-o)*l.value/h:a):Za(l,i,o,h?i+=(s-i)*l.value/h:s,a),h-=l.value}else r._squarify=u=gD(t,r,i,o,s,a),u.ratio=t}return n.ratio=function(r){return e((r=+r)>1?r:1)},n}(hD);function ED(e,t,n){let r={};return e.each(i=>{let o=i.data;n(o)&&(r[t(o)]=i)}),e.lookup=r,e}function CD(e){B.call(this,null,e)}CD.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};var xce=e=>e.values;te(CD,B,{transform(e,t){t.source||U("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),o=this.value;return(!o||r||t.changed())&&(o&&o.each(s=>{s.children&&dc(s.data)&&i.rem.push(s.data)}),this.value=o=up({values:Z(e.keys).reduce((s,a)=>(s.key(a),s),bce()).entries(i.source)},xce),n&&o.each(s=>{s.children&&(s=Ue(s.data),i.add.push(s),i.source.push(s))}),ED(o,ye,ye)),i.source.root=o,i}});function bce(){let e=[],t={entries:i=>r(n(i,0),0),key:i=>(e.push(i),t)};function n(i,o){if(o>=e.length)return i;let s=i.length,a=e[o++],u={},l={},c=-1,f,d,p;for(;++c<s;)f=a(d=i[c])+"",(p=u[f])?p.push(d):u[f]=[d];for(f in u)l[f]=n(u[f],o);return l}function r(i,o){if(++o>e.length)return i;let s=[];for(let a in i)s.push({key:a,values:r(i[a],o)});return s}return t}function eu(e){B.call(this,null,e)}var vce=(e,t)=>e.parent===t.parent?1:2;te(eu,B,{transform(e,t){(!t.source||!t.source.root)&&U(this.constructor.name+" transform requires a backing tree data source.");let n=this.layout(e.method),r=this.fields,i=t.source.root,o=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(Ls(e.sort,s=>s.data)),Ece(n,this.params,e),n.separation&&n.separation(e.separation!==!1?vce:Ms);try{this.value=n(i)}catch(s){U(s)}return i.each(s=>wce(s,r,o)),t.reflow(e.modified()).modifies(o).modifies("leaf")}});function Ece(e,t,n){for(let r,i=0,o=t.length;i<o;++i)r=t[i],r in n&&e[r](n[r])}function wce(e,t,n){let r=e.data,i=t.length-1;for(let o=0;o<i;++o)r[n[o]]=e[t[o]];r[n[i]]=e.children?e.children.length:0}var wD=["x","y","r","depth","children"];function kD(e){eu.call(this,e)}kD.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:wD.length,default:wD}]};te(kD,eu,{layout:uD,params:["radius","size","padding"],fields:wD});var SD=["x0","y0","x1","y1","depth","children"];function FD(e){eu.call(this,e)}FD.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:SD.length,default:SD}]};te(FD,eu,{layout:lD,params:["size","round","padding"],fields:SD});function TD(e){B.call(this,null,e)}TD.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]};te(TD,B,{transform(e,t){t.source||U("Stratify transform requires an upstream data source.");let n=this.value,r=e.modified(),i=t.fork(t.ALL).materialize(t.SOURCE),o=!n||r||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return i.source=i.source.slice(),o&&(n=i.source.length?ED(iE().id(e.key).parentId(e.parentKey)(i.source),e.key,pn):ED(iE()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var m9={tidy:mD,cluster:rD},AD=["x","y","depth","children"];function RD(e){eu.call(this,e)}RD.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:AD.length,default:AD}]};te(RD,eu,{layout(e){let t=e||"tidy";if(ne(m9,t))return m9[t]();U("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:AD});function DD(e){B.call(this,[],e)}DD.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]};te(DD,B,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),o={};return r||U("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,s=>o[ye(s)]=1),r.each(s=>{let a=s.data,u=s.parent&&s.parent.data;u&&o[ye(a)]&&o[ye(u)]&&i.add.push(Ue({source:u,target:a}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,s=>o[ye(s)]=1),n.forEach(s=>{(o[ye(s.source)]||o[ye(s.target)])&&i.mod.push(s)})),i}});var h9={binary:xD,dice:Yo,slice:Za,slicedice:bD,squarify:D0,resquarify:vD},_D=["x0","y0","x1","y1","depth","children"];function MD(e){eu.call(this,e)}MD.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:_D.length,default:_D}]};te(MD,eu,{layout(){let e=yD();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{ne(h9,t)?e.tile(h9[t]):U("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:_D});var GD={};rr(GD,{label:()=>qD});var ND=4278190080;function Sce(e,t){let n=e.bitmap();return(t||[]).forEach(r=>n.set(e(r.boundary[0]),e(r.boundary[3]))),[n,void 0]}function Ace(e,t,n,r,i){let o=e.width,s=e.height,a=r||i,u=io(o,s).getContext("2d"),l=io(o,s).getContext("2d"),c=a&&io(o,s).getContext("2d");n.forEach(A=>sE(u,A,!1)),sE(l,t,!1),a&&sE(c,t,!0);let f=OD(u,o,s),d=OD(l,o,s),p=a&&OD(c,o,s),m=e.bitmap(),h=a&&e.bitmap(),g,y,x,b,v,E,S,w;for(y=0;y<s;++y)for(g=0;g<o;++g)v=y*o+g,E=f[v]&ND,w=d[v]&ND,S=a&&p[v]&ND,(E||S||w)&&(x=e(g),b=e(y),!i&&(E||w)&&m.set(x,b),a&&(E||S)&&h.set(x,b));return[m,h]}function OD(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function sE(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r==="group"?t.forEach(i=>{i.items.forEach(o=>sE(e,o.items,n))}):Lr[r].draw(e,{items:n?t.map(_ce):t})}function _ce(e){let t=pc(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}var tu=5,Gr=31,M0=32,vl=new Uint32Array(M0+1),Xo=new Uint32Array(M0+1);Xo[0]=0;vl[0]=~Xo[0];for(let e=1;e<=M0;++e)Xo[e]=Xo[e-1]<<1|1,vl[e]=~Xo[e];function Cce(e,t){let n=new Uint32Array(~~((e*t+M0)/M0));function r(o,s){n[o]|=s}function i(o,s){n[o]&=s}return{array:n,get:(o,s)=>{let a=s*e+o;return n[a>>>tu]&1<<(a&Gr)},set:(o,s)=>{let a=s*e+o;r(a>>>tu,1<<(a&Gr))},clear:(o,s)=>{let a=s*e+o;i(a>>>tu,~(1<<(a&Gr)))},getRange:(o,s,a,u)=>{let l=u,c,f,d,p;for(;l>=s;--l)if(c=l*e+o,f=l*e+a,d=c>>>tu,p=f>>>tu,d===p){if(n[d]&vl[c&Gr]&Xo[(f&Gr)+1])return!0}else{if(n[d]&vl[c&Gr]||n[p]&Xo[(f&Gr)+1])return!0;for(let m=d+1;m<p;++m)if(n[m])return!0}return!1},setRange:(o,s,a,u)=>{let l,c,f,d,p;for(;s<=u;++s)if(l=s*e+o,c=s*e+a,f=l>>>tu,d=c>>>tu,f===d)r(f,vl[l&Gr]&Xo[(c&Gr)+1]);else for(r(f,vl[l&Gr]),r(d,Xo[(c&Gr)+1]),p=f+1;p<d;++p)r(p,4294967295)},clearRange:(o,s,a,u)=>{let l,c,f,d,p;for(;s<=u;++s)if(l=s*e+o,c=s*e+a,f=l>>>tu,d=c>>>tu,f===d)i(f,Xo[l&Gr]|vl[(c&Gr)+1]);else for(i(f,Xo[l&Gr]),i(d,vl[(c&Gr)+1]),p=f+1;p<d;++p)i(p,0)},outOfBounds:(o,s,a,u)=>o<0||s<0||u>=t||a>=e}}function kce(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),o=~~((t+2*n+r)/r),s=a=>~~((a+n)/r);return s.invert=a=>a*r-n,s.bitmap=()=>Cce(i,o),s.ratio=r,s.padding=n,s.width=e,s.height=t,s}function Fce(e,t,n,r){let i=e.width,o=e.height;return function(s){let a=s.datum.datum.items[r].items,u=a.length,l=s.datum.fontSize,c=ai.width(s.datum,s.datum.text),f=0,d,p,m,h,g,y,x;for(let b=0;b<u;++b)d=a[b].x,m=a[b].y,p=a[b].x2===void 0?d:a[b].x2,h=a[b].y2===void 0?m:a[b].y2,g=(d+p)/2,y=(m+h)/2,x=Math.abs(p-d+h-m),x>=f&&(f=x,s.x=g,s.y=y);return g=c/2,y=l/2,d=s.x-g,p=s.x+g,m=s.y-y,h=s.y+y,s.align="center",d<0&&p<=i?s.align="left":0<=d&&i<p&&(s.align="right"),s.baseline="middle",m<0&&h<=o?s.baseline="top":0<=m&&o<h&&(s.baseline="bottom"),!0}}function aE(e,t,n,r,i,o){let s=n/2;return e-s<0||e+s>i||t-(s=r/2)<0||t+s>o}function El(e,t,n,r,i,o,s,a){let u=i*o/(r*2),l=e(t-u),c=e(t+u),f=e(n-(o=o/2)),d=e(n+o);return s.outOfBounds(l,f,c,d)||s.getRange(l,f,c,d)||a&&a.getRange(l,f,c,d)}function Tce(e,t,n,r){let i=e.width,o=e.height,s=t[0],a=t[1];function u(l,c,f,d,p){let m=e.invert(l),h=e.invert(c),g=f,y=o,x;if(!aE(m,h,d,p,i,o)&&!El(e,m,h,p,d,g,s,a)&&!El(e,m,h,p,d,p,s,null)){for(;y-g>=1;)x=(g+y)/2,El(e,m,h,p,d,x,s,a)?y=x:g=x;if(g>f)return[m,h,g,!0]}}return function(l){let c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,p=ai.width(l.datum,l.datum.text),m=n?d:0,h=!1,g=!1,y=0,x,b,v,E,S,w,A,C,_,F,I,M,R,k,D,T,$;for(let N=0;N<f;++N){for(x=c[N].x,v=c[N].y,b=c[N].x2===void 0?x:c[N].x2,E=c[N].y2===void 0?v:c[N].y2,x>b&&($=x,x=b,b=$),v>E&&($=v,v=E,E=$),_=e(x),I=e(b),F=~~((_+I)/2),M=e(v),k=e(E),R=~~((M+k)/2),A=F;A>=_;--A)for(C=R;C>=M;--C)T=u(A,C,m,p,d),T&&([l.x,l.y,m,h]=T);for(A=F;A<=I;++A)for(C=R;C<=k;++C)T=u(A,C,m,p,d),T&&([l.x,l.y,m,h]=T);!h&&!n&&(D=Math.abs(b-x+E-v),S=(x+b)/2,w=(v+E)/2,D>=y&&!aE(S,w,p,d,i,o)&&!El(e,S,w,d,p,d,s,null)&&(y=D,l.x=S,l.y=w,g=!0))}return h||g?(S=p/2,w=d/2,s.setRange(e(l.x-S),e(l.y-w),e(l.x+S),e(l.y+w)),l.align="center",l.baseline="middle",!0):!1}}var Rce=[-1,-1,1,1],Dce=[-1,1,-1,1];function Mce(e,t,n,r){let i=e.width,o=e.height,s=t[0],a=t[1],u=e.bitmap();return function(l){let c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,p=ai.width(l.datum,l.datum.text),m=[],h=n?d:0,g=!1,y=!1,x=0,b,v,E,S,w,A,C,_,F,I,M,R;for(let k=0;k<f;++k){for(b=c[k].x,E=c[k].y,v=c[k].x2===void 0?b:c[k].x2,S=c[k].y2===void 0?E:c[k].y2,m.push([e((b+v)/2),e((E+S)/2)]);m.length;)if([C,_]=m.pop(),!(s.get(C,_)||a.get(C,_)||u.get(C,_))){u.set(C,_);for(let D=0;D<4;++D)w=C+Rce[D],A=_+Dce[D],u.outOfBounds(w,A,w,A)||m.push([w,A]);if(w=e.invert(C),A=e.invert(_),F=h,I=o,!aE(w,A,p,d,i,o)&&!El(e,w,A,d,p,F,s,a)&&!El(e,w,A,d,p,d,s,null)){for(;I-F>=1;)M=(F+I)/2,El(e,w,A,d,p,M,s,a)?I=M:F=M;F>h&&(l.x=w,l.y=A,h=F,g=!0)}}!g&&!n&&(R=Math.abs(v-b+S-E),w=(b+v)/2,A=(E+S)/2,R>=x&&!aE(w,A,p,d,i,o)&&!El(e,w,A,d,p,d,s,null)&&(x=R,l.x=w,l.y=A,y=!0))}return g||y?(w=p/2,A=d/2,s.setRange(e(l.x-w),e(l.y-A),e(l.x+w),e(l.y+A)),l.align="center",l.baseline="middle",!0):!1}}var Ice=["right","center","left"],Nce=["bottom","middle","top"];function Oce(e,t,n,r){let i=e.width,o=e.height,s=t[0],a=t[1],u=r.length;return function(l){let c=l.boundary,f=l.datum.fontSize;if(c[2]<0||c[5]<0||c[0]>i||c[3]>o)return!1;let d=l.textWidth??0,p,m,h,g,y,x,b,v,E,S,w,A,C,_,F;for(let I=0;I<u;++I){if(p=(n[I]&3)-1,m=(n[I]>>>2&3)-1,h=p===0&&m===0||r[I]<0,g=p&&m?Math.SQRT1_2:1,y=r[I]<0?-1:1,x=c[1+p]+r[I]*p*g,w=c[4+m]+y*f*m/2+r[I]*m*g,v=w-f/2,E=w+f/2,A=e(x),_=e(v),F=e(E),!d)if(g9(A,A,_,F,s,a,x,x,v,E,c,h))d=ai.width(l.datum,l.datum.text);else continue;if(S=x+y*d*p/2,x=S-d/2,b=S+d/2,A=e(x),C=e(b),g9(A,C,_,F,s,a,x,b,v,E,c,h))return l.x=p?p*y<0?b:x:S,l.y=m?m*y<0?E:v:w,l.align=Ice[p*y+1],l.baseline=Nce[m*y+1],s.setRange(A,_,C,F),!0}return!1}}function g9(e,t,n,r,i,o,s,a,u,l,c,f){return!(i.outOfBounds(e,n,t,r)||(f&&o||i).getRange(e,n,t,r))}var PD=0,$D=4,LD=8,BD=0,UD=1,zD=2,Pce={"top-left":PD+BD,top:PD+UD,"top-right":PD+zD,left:$D+BD,middle:$D+UD,right:$D+zD,"bottom-left":LD+BD,bottom:LD+UD,"bottom-right":LD+zD},$ce={naive:Fce,"reduced-search":Tce,floodfill:Mce};function Lce(e,t,n,r,i,o,s,a,u,l,c){if(!e.length)return e;let f=Math.max(r.length,i.length),d=Bce(r,f),p=Uce(i,f),m=zce(e[0].datum),h=m==="group"&&e[0].datum.items[u].marktype,g=h==="area",y=Hce(m,h,a,u),x=l===null||l===1/0,b=g&&c==="naive",v=-1,E=-1,S=e.map(_=>{let F=x?ai.width(_,_.text):void 0;return v=Math.max(v,F),E=Math.max(E,_.fontSize),{datum:_,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(_),textWidth:F}});l=l===null||l===1/0?Math.max(v,E)+Math.max(...r):l;let w=kce(t[0],t[1],l),A;if(!b){n&&S.sort((I,M)=>n(I.datum,M.datum));let _=!1;for(let I=0;I<p.length&&!_;++I)_=p[I]===5||d[I]<0;let F=(m&&s||g)&&e.map(I=>I.datum);A=o.length||F?Ace(w,F||[],o,_,g):Sce(w,s&&S)}let C=g?$ce[c](w,A,s,u):Oce(w,A,p,d);return S.forEach(_=>_.opacity=+C(_)),S}function Bce(e,t){let n=new Float64Array(t),r=e.length;for(let i=0;i<r;++i)n[i]=e[i]||0;for(let i=r;i<t;++i)n[i]=n[r-1];return n}function Uce(e,t){let n=new Int8Array(t),r=e.length;for(let i=0;i<r;++i)n[i]|=Pce[e[i]];for(let i=r;i<t;++i)n[i]=n[r-1];return n}function zce(e){return e&&e.mark&&e.mark.marktype}function Hce(e,t,n,r){let i=o=>[o.x,o.x,o.x,o.y,o.y,o.y];return e?e==="line"||e==="area"?o=>i(o.datum):t==="line"?o=>{let s=o.datum.items[r].items;return i(s.length?s[n==="start"?0:s.length-1]:{x:NaN,y:NaN})}:o=>{let s=o.datum.bounds;return[s.x1,(s.x1+s.x2)/2,s.x2,s.y1,(s.y1+s.y2)/2,s.y2]}:i}var HD=["x","y","opacity","align","baseline"],y9=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function qD(e){B.call(this,null,e)}qD.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:y9},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:HD.length,default:HD}]};te(qD,B,{transform(e,t){function n(o){let s=e[o];return we(s)&&t.modified(s.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n("sort")))return;(!e.size||e.size.length!==2)&&U("Size parameter should be specified as a [width, height] array.");let i=e.as||HD;return Lce(t.materialize(t.SOURCE).source||[],e.size,e.sort,Z(e.offset==null?1:e.offset),Z(e.anchor||y9),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||"end",e.markIndex||0,e.padding===void 0?0:e.padding,e.method||"naive").forEach(o=>{let s=o.datum;s[i[0]]=o.x,s[i[1]]=o.y,s[i[2]]=o.opacity,s[i[3]]=o.align,s[i[4]]=o.baseline}),t.reflow(r).modifies(i)}});var YD={};rr(YD,{loess:()=>WD,regression:()=>VD});function x9(e,t){var n=[],r=function(c){return c(a)},i,o,s,a,u,l;if(t==null)n.push(e);else for(i={},o=0,s=e.length;o<s;++o)a=e[o],u=t.map(r),l=i[u],l||(i[u]=l=[],l.dims=u,n.push(l)),l.push(a);return n}function WD(e){B.call(this,null,e)}WD.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]};te(WD,B,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=x9(r,e.groupby),o=(e.groupby||[]).map(vt),s=o.length,a=e.as||[vt(e.x),vt(e.y)],u=[];i.forEach(l=>{DC(l,e.x,e.y,e.bandwidth||.3).forEach(c=>{let f={};for(let d=0;d<s;++d)f[o[d]]=l.dims[d];f[a[0]]=c[0],f[a[1]]=c[1],u.push(Ue(f))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});var jD={constant:D1,linear:I1,log:kC,exp:FC,pow:TC,quad:N1,poly:RC},qce=(e,t)=>e==="poly"?t:e==="quad"?2:1;function VD(e){B.call(this,null,e)}VD.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(jD)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]};te(VD,B,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=x9(r,e.groupby),o=(e.groupby||[]).map(vt),s=e.method||"linear",a=e.order==null?3:e.order,u=qce(s,a),l=e.as||[vt(e.x),vt(e.y)],c=jD[s],f=[],d=e.extent;ne(jD,s)||U("Invalid regression method: "+s),d!=null&&s==="log"&&d[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach(p=>{if(p.length<=u){t.dataflow.warn("Skipping regression with more parameters than data points.");return}let h=c(p,e.x,e.y,a);if(e.params){f.push(Ue({keys:p.dims,coef:h.coef,rSquared:h.rSquared}));return}let g=d||Rr(p,e.x),y=x=>{let b={};for(let v=0;v<o.length;++v)b[o[v]]=p.dims[v];b[l[0]]=x[0],b[l[1]]=x[1],f.push(Ue(b))};s==="linear"||s==="constant"?g.forEach(x=>y([x,h.predict(x)])):bd(h.predict,g,25,200).forEach(y)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});var QD={};rr(QD,{voronoi:()=>KD});var We=11102230246251565e-32,an=134217729,I0=(3+8*We)*We;function Xc(e,t,n,r,i){let o,s,a,u,l=t[0],c=r[0],f=0,d=0;c>l==c>-l?(o=l,l=t[++f]):(o=c,c=r[++d]);let p=0;if(f<e&&d<n)for(c>l==c>-l?(s=l+o,a=o-(s-l),l=t[++f]):(s=c+o,a=o-(s-c),c=r[++d]),o=s,a!==0&&(i[p++]=a);f<e&&d<n;)c>l==c>-l?(s=o+l,u=s-o,a=o-(s-u)+(l-u),l=t[++f]):(s=o+c,u=s-o,a=o-(s-u)+(c-u),c=r[++d]),o=s,a!==0&&(i[p++]=a);for(;f<e;)s=o+l,u=s-o,a=o-(s-u)+(l-u),l=t[++f],o=s,a!==0&&(i[p++]=a);for(;d<n;)s=o+c,u=s-o,a=o-(s-u)+(c-u),c=r[++d],o=s,a!==0&&(i[p++]=a);return(o!==0||p===0)&&(i[p++]=o),p}function N0(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function ee(e){return new Float64Array(e)}var Gce=(3+16*We)*We,jce=(2+12*We)*We,Wce=(9+64*We)*We*We,cp=ee(4),b9=ee(8),v9=ee(12),E9=ee(16),jr=ee(4);function Vce(e,t,n,r,i,o,s){let a,u,l,c,f,d,p,m,h,g,y,x,b,v,E,S,w,A,C=e-i,_=n-i,F=t-o,I=r-o;v=C*I,d=an*C,p=d-(d-C),m=C-p,d=an*I,h=d-(d-I),g=I-h,E=m*g-(v-p*h-m*h-p*g),S=F*_,d=an*F,p=d-(d-F),m=F-p,d=an*_,h=d-(d-_),g=_-h,w=m*g-(S-p*h-m*h-p*g),y=E-w,f=E-y,cp[0]=E-(y+f)+(f-w),x=v+y,f=x-v,b=v-(x-f)+(y-f),y=b-S,f=b-y,cp[1]=b-(y+f)+(f-S),A=x+y,f=A-x,cp[2]=x-(A-f)+(y-f),cp[3]=A;let M=N0(4,cp),R=jce*s;if(M>=R||-M>=R||(f=e-C,a=e-(C+f)+(f-i),f=n-_,l=n-(_+f)+(f-i),f=t-F,u=t-(F+f)+(f-o),f=r-I,c=r-(I+f)+(f-o),a===0&&u===0&&l===0&&c===0)||(R=Wce*s+I0*Math.abs(M),M+=C*c+I*a-(F*l+_*u),M>=R||-M>=R))return M;v=a*I,d=an*a,p=d-(d-a),m=a-p,d=an*I,h=d-(d-I),g=I-h,E=m*g-(v-p*h-m*h-p*g),S=u*_,d=an*u,p=d-(d-u),m=u-p,d=an*_,h=d-(d-_),g=_-h,w=m*g-(S-p*h-m*h-p*g),y=E-w,f=E-y,jr[0]=E-(y+f)+(f-w),x=v+y,f=x-v,b=v-(x-f)+(y-f),y=b-S,f=b-y,jr[1]=b-(y+f)+(f-S),A=x+y,f=A-x,jr[2]=x-(A-f)+(y-f),jr[3]=A;let k=Xc(4,cp,4,jr,b9);v=C*c,d=an*C,p=d-(d-C),m=C-p,d=an*c,h=d-(d-c),g=c-h,E=m*g-(v-p*h-m*h-p*g),S=F*l,d=an*F,p=d-(d-F),m=F-p,d=an*l,h=d-(d-l),g=l-h,w=m*g-(S-p*h-m*h-p*g),y=E-w,f=E-y,jr[0]=E-(y+f)+(f-w),x=v+y,f=x-v,b=v-(x-f)+(y-f),y=b-S,f=b-y,jr[1]=b-(y+f)+(f-S),A=x+y,f=A-x,jr[2]=x-(A-f)+(y-f),jr[3]=A;let D=Xc(k,b9,4,jr,v9);v=a*c,d=an*a,p=d-(d-a),m=a-p,d=an*c,h=d-(d-c),g=c-h,E=m*g-(v-p*h-m*h-p*g),S=u*l,d=an*u,p=d-(d-u),m=u-p,d=an*l,h=d-(d-l),g=l-h,w=m*g-(S-p*h-m*h-p*g),y=E-w,f=E-y,jr[0]=E-(y+f)+(f-w),x=v+y,f=x-v,b=v-(x-f)+(y-f),y=b-S,f=b-y,jr[1]=b-(y+f)+(f-S),A=x+y,f=A-x,jr[2]=x-(A-f)+(y-f),jr[3]=A;let T=Xc(D,v9,4,jr,E9);return E9[T-1]}function fp(e,t,n,r,i,o){let s=(t-o)*(n-i),a=(e-i)*(r-o),u=s-a,l=Math.abs(s+a);return Math.abs(u)>=Gce*l?u:-Vce(e,t,n,r,i,o,l)}var f9e=(7+56*We)*We,d9e=(3+28*We)*We,p9e=(26+288*We)*We*We,m9e=ee(4),h9e=ee(4),g9e=ee(4),y9e=ee(4),x9e=ee(4),b9e=ee(4),v9e=ee(4),E9e=ee(4),w9e=ee(4),S9e=ee(8),A9e=ee(8),_9e=ee(8),C9e=ee(4),k9e=ee(8),F9e=ee(8),T9e=ee(8),R9e=ee(12),D9e=ee(192),M9e=ee(192);var O9e=(10+96*We)*We,P9e=(4+48*We)*We,$9e=(44+576*We)*We*We,L9e=ee(4),B9e=ee(4),U9e=ee(4),z9e=ee(4),H9e=ee(4),q9e=ee(4),G9e=ee(4),j9e=ee(4),W9e=ee(8),V9e=ee(8),Y9e=ee(8),X9e=ee(8),K9e=ee(8),Q9e=ee(8),J9e=ee(8),Z9e=ee(8),eze=ee(8),tze=ee(4),nze=ee(4),rze=ee(4),ize=ee(8),oze=ee(16),sze=ee(16),aze=ee(16),uze=ee(32),lze=ee(32),cze=ee(48),fze=ee(64),dze=ee(1152),pze=ee(1152);var yze=(16+224*We)*We,xze=(5+72*We)*We,bze=(71+1408*We)*We*We,vze=ee(4),Eze=ee(4),wze=ee(4),Sze=ee(4),Aze=ee(4),_ze=ee(4),Cze=ee(4),kze=ee(4),Fze=ee(4),Tze=ee(4),Rze=ee(24),Dze=ee(24),Mze=ee(24),Ize=ee(24),Nze=ee(24),Oze=ee(24),Pze=ee(24),$ze=ee(24),Lze=ee(24),Bze=ee(24),Uze=ee(1152),zze=ee(1152),Hze=ee(1152),qze=ee(1152),Gze=ee(1152),jze=ee(2304),Wze=ee(2304),Vze=ee(3456),Yze=ee(5760),Xze=ee(8),Kze=ee(8),Qze=ee(8),Jze=ee(16),Zze=ee(24),e7e=ee(48),t7e=ee(48),n7e=ee(96),r7e=ee(192),i7e=ee(384),o7e=ee(384),s7e=ee(384),a7e=ee(768);var u7e=ee(96),l7e=ee(96),c7e=ee(96),f7e=ee(1152);var S9=Math.pow(2,-52),uE=new Uint32Array(512),pp=class e{static from(t,n=Zce,r=efe){let i=t.length,o=new Float64Array(i*2);for(let s=0;s<i;s++){let a=t[s];o[2*s]=n(a),o[2*s+1]=r(a)}return new e(o)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,s=t.length>>1,a=1/0,u=1/0,l=-1/0,c=-1/0;for(let C=0;C<s;C++){let _=t[2*C],F=t[2*C+1];_<a&&(a=_),F<u&&(u=F),_>l&&(l=_),F>c&&(c=F),this._ids[C]=C}let f=(a+l)/2,d=(u+c)/2,p,m,h;for(let C=0,_=1/0;C<s;C++){let F=XD(f,d,t[2*C],t[2*C+1]);F<_&&(p=C,_=F)}let g=t[2*p],y=t[2*p+1];for(let C=0,_=1/0;C<s;C++){if(C===p)continue;let F=XD(g,y,t[2*C],t[2*C+1]);F<_&&F>0&&(m=C,_=F)}let x=t[2*m],b=t[2*m+1],v=1/0;for(let C=0;C<s;C++){if(C===p||C===m)continue;let _=Qce(g,y,x,b,t[2*C],t[2*C+1]);_<v&&(h=C,v=_)}let E=t[2*h],S=t[2*h+1];if(v===1/0){for(let F=0;F<s;F++)this._dists[F]=t[2*F]-t[0]||t[2*F+1]-t[1];dp(this._ids,this._dists,0,s-1);let C=new Uint32Array(s),_=0;for(let F=0,I=-1/0;F<s;F++){let M=this._ids[F],R=this._dists[M];R>I&&(C[_++]=M,I=R)}this.hull=C.subarray(0,_),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(fp(g,y,x,b,E,S)<0){let C=m,_=x,F=b;m=h,x=E,b=S,h=C,E=_,S=F}let w=Jce(g,y,x,b,E,S);this._cx=w.x,this._cy=w.y;for(let C=0;C<s;C++)this._dists[C]=XD(t[2*C],t[2*C+1],w.x,w.y);dp(this._ids,this._dists,0,s-1),this._hullStart=p;let A=3;r[p]=n[h]=m,r[m]=n[p]=h,r[h]=n[m]=p,i[p]=0,i[m]=1,i[h]=2,o.fill(-1),o[this._hashKey(g,y)]=p,o[this._hashKey(x,b)]=m,o[this._hashKey(E,S)]=h,this.trianglesLen=0,this._addTriangle(p,m,h,-1,-1,-1);for(let C=0,_,F;C<this._ids.length;C++){let I=this._ids[C],M=t[2*I],R=t[2*I+1];if(C>0&&Math.abs(M-_)<=S9&&Math.abs(R-F)<=S9||(_=M,F=R,I===p||I===m||I===h))continue;let k=0;for(let H=0,le=this._hashKey(M,R);H<this._hashSize&&(k=o[(le+H)%this._hashSize],!(k!==-1&&k!==r[k]));H++);k=n[k];let D=k,T;for(;T=r[D],fp(M,R,t[2*D],t[2*D+1],t[2*T],t[2*T+1])>=0;)if(D=T,D===k){D=-1;break}if(D===-1)continue;let $=this._addTriangle(D,I,r[D],-1,-1,i[D]);i[I]=this._legalize($+2),i[D]=$,A++;let N=r[D];for(;T=r[N],fp(M,R,t[2*N],t[2*N+1],t[2*T],t[2*T+1])<0;)$=this._addTriangle(N,I,T,i[I],-1,i[N]),i[I]=this._legalize($+2),r[N]=N,A--,N=T;if(D===k)for(;T=n[D],fp(M,R,t[2*T],t[2*T+1],t[2*D],t[2*D+1])<0;)$=this._addTriangle(T,I,D,-1,i[D],i[T]),this._legalize($+2),i[T]=$,r[D]=D,A--,D=T;this._hullStart=n[I]=D,r[D]=n[N]=I,r[I]=N,o[this._hashKey(M,R)]=I,o[this._hashKey(t[2*D],t[2*D+1])]=D}this.hull=new Uint32Array(A);for(let C=0,_=this._hullStart;C<A;C++)this.hull[C]=_,_=r[_];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(Xce(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,o=0,s=0;for(;;){let a=r[t],u=t-t%3;if(s=u+(t+2)%3,a===-1){if(o===0)break;t=uE[--o];continue}let l=a-a%3,c=u+(t+1)%3,f=l+(a+2)%3,d=n[s],p=n[t],m=n[c],h=n[f];if(Kce(i[2*d],i[2*d+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1],i[2*h],i[2*h+1])){n[t]=h,n[a]=d;let y=r[f];if(y===-1){let b=this._hullStart;do{if(this._hullTri[b]===f){this._hullTri[b]=t;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(t,y),this._link(a,r[s]),this._link(s,f);let x=l+(a+1)%3;o<uE.length&&(uE[o++]=x)}else{if(o===0)break;t=uE[--o]}}return s}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,o,s){let a=this.trianglesLen;return this._triangles[a]=t,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,i),this._link(a+1,o),this._link(a+2,s),this.trianglesLen+=3,a}};function Xce(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function XD(e,t,n,r){let i=e-n,o=t-r;return i*i+o*o}function Kce(e,t,n,r,i,o,s,a){let u=e-s,l=t-a,c=n-s,f=r-a,d=i-s,p=o-a,m=u*u+l*l,h=c*c+f*f,g=d*d+p*p;return u*(f*g-h*p)-l*(c*g-h*d)+m*(c*p-f*d)<0}function Qce(e,t,n,r,i,o){let s=n-e,a=r-t,u=i-e,l=o-t,c=s*s+a*a,f=u*u+l*l,d=.5/(s*l-a*u),p=(l*c-a*f)*d,m=(s*f-u*c)*d;return p*p+m*m}function Jce(e,t,n,r,i,o){let s=n-e,a=r-t,u=i-e,l=o-t,c=s*s+a*a,f=u*u+l*l,d=.5/(s*l-a*u),p=e+(l*c-a*f)*d,m=t+(s*f-u*c)*d;return{x:p,y:m}}function dp(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let o=e[i],s=t[o],a=i-1;for(;a>=n&&t[e[a]]>s;)e[a+1]=e[a--];e[a+1]=o}else{let i=n+r>>1,o=n+1,s=r;O0(e,i,o),t[e[n]]>t[e[r]]&&O0(e,n,r),t[e[o]]>t[e[r]]&&O0(e,o,r),t[e[n]]>t[e[o]]&&O0(e,n,o);let a=e[o],u=t[a];for(;;){do o++;while(t[e[o]]<u);do s--;while(t[e[s]]>u);if(s<o)break;O0(e,o,s)}e[n+1]=e[s],e[s]=a,r-o+1>=s-n?(dp(e,t,o,r),dp(e,t,n,s-1)):(dp(e,t,n,s-1),dp(e,t,o,r))}}function O0(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Zce(e){return e[0]}function efe(e){return e[1]}var fo=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){t=+t,n=+n,r=+r;let i=t+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-o)>1e-6)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}};var wl=class{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}};var P0=class{constructor(t,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(t.points.length*2),this.vectors=new Float64Array(t.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this,o,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let h=0,g=0,y=r.length,x,b;h<y;h+=3,g+=2){let v=r[h]*2,E=r[h+1]*2,S=r[h+2]*2,w=t[v],A=t[v+1],C=t[E],_=t[E+1],F=t[S],I=t[S+1],M=C-w,R=_-A,k=F-w,D=I-A,T=(M*D-R*k)*2;if(Math.abs(T)<1e-9){if(o===void 0){o=s=0;for(let N of n)o+=t[N*2],s+=t[N*2+1];o/=n.length,s/=n.length}let $=1e9*Math.sign((o-w)*D-(s-A)*k);x=(w+F)/2-$*D,b=(A+I)/2+$*k}else{let $=1/T,N=M*M+R*R,H=k*k+D*D;x=w+(D*N-R*H)*$,b=A+(M*H-k*N)*$}a[g]=x,a[g+1]=b}let u=n[n.length-1],l,c=u*4,f,d=t[2*u],p,m=t[2*u+1];i.fill(0);for(let h=0;h<n.length;++h)u=n[h],l=c,f=d,p=m,c=u*4,d=t[2*u],m=t[2*u+1],i[l+2]=i[c]=p-m,i[l+3]=i[c+1]=d-f}render(t){let n=t==null?t=new fo:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:s,vectors:a}=this;if(o.length<=1)return null;for(let c=0,f=r.length;c<f;++c){let d=r[c];if(d<c)continue;let p=Math.floor(c/3)*2,m=Math.floor(d/3)*2,h=s[p],g=s[p+1],y=s[m],x=s[m+1];this._renderSegment(h,g,y,x,t)}let u,l=o[o.length-1];for(let c=0;c<o.length;++c){u=l,l=o[c];let f=Math.floor(i[l]/3)*2,d=s[f],p=s[f+1],m=u*4,h=this._project(d,p,a[m+2],a[m+3]);h&&this._renderSegment(d,p,h[0],h[1],t)}return n&&n.value()}renderBounds(t){let n=t==null?t=new fo:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){let r=n==null?n=new fo:void 0,i=this._clip(t);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let s=2;s<o;s+=2)(i[s]!==i[s-2]||i[s+1]!==i[s-1])&&n.lineTo(i[s],i[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:t}}=this;for(let n=0,r=t.length/2;n<r;++n){let i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(t){let n=new wl;return this.renderCell(t,n),n.value()}_renderSegment(t,n,r,i,o){let s,a=this._regioncode(t,n),u=this._regioncode(r,i);a===0&&u===0?(o.moveTo(t,n),o.lineTo(r,i)):(s=this._clipSegment(t,n,r,i,a,u))&&(o.moveTo(s[0],s[1]),o.lineTo(s[2],s[3]))}contains(t,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(t,n,r)===t}*neighbors(t){let n=this._clip(t);if(n)for(let r of this.delaunay.neighbors(t)){let i=this._clip(r);if(i){e:for(let o=0,s=n.length;o<s;o+=2)for(let a=0,u=i.length;a<u;a+=2)if(n[o]===i[a]&&n[o+1]===i[a+1]&&n[(o+2)%s]===i[(a+u-2)%u]&&n[(o+3)%s]===i[(a+u-1)%u]){yield r;break e}}}}_cell(t){let{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,s=r[t];if(s===-1)return null;let a=[],u=s;do{let l=Math.floor(u/3);if(a.push(n[l*2],n[l*2+1]),u=u%3===2?u-2:u+1,o[u]!==t)break;u=i[u]}while(u!==s&&u!==-1);return a}_clip(t){if(t===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let n=this._cell(t);if(n===null)return null;let{vectors:r}=this,i=t*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(t,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(t,n))}_clipFinite(t,n){let r=n.length,i=null,o,s,a=n[r-2],u=n[r-1],l,c=this._regioncode(a,u),f,d=0;for(let p=0;p<r;p+=2)if(o=a,s=u,a=n[p],u=n[p+1],l=c,c=this._regioncode(a,u),l===0&&c===0)f=d,d=0,i?i.push(a,u):i=[a,u];else{let m,h,g,y,x;if(l===0){if((m=this._clipSegment(o,s,a,u,l,c))===null)continue;[h,g,y,x]=m}else{if((m=this._clipSegment(a,u,o,s,c,l))===null)continue;[y,x,h,g]=m,f=d,d=this._edgecode(h,g),f&&d&&this._edge(t,f,d,i,i.length),i?i.push(h,g):i=[h,g]}f=d,d=this._edgecode(y,x),f&&d&&this._edge(t,f,d,i,i.length),i?i.push(y,x):i=[y,x]}if(i)f=d,d=this._edgecode(i[0],i[1]),f&&d&&this._edge(t,f,d,i,i.length);else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return i}_clipSegment(t,n,r,i,o,s){let a=o<s;for(a&&([t,n,r,i,o,s]=[r,i,t,n,s,o]);;){if(o===0&&s===0)return a?[r,i,t,n]:[t,n,r,i];if(o&s)return null;let u,l,c=o||s;c&8?(u=t+(r-t)*(this.ymax-n)/(i-n),l=this.ymax):c&4?(u=t+(r-t)*(this.ymin-n)/(i-n),l=this.ymin):c&2?(l=n+(i-n)*(this.xmax-t)/(r-t),u=this.xmax):(l=n+(i-n)*(this.xmin-t)/(r-t),u=this.xmin),o?(t=u,n=l,o=this._regioncode(t,n)):(r=u,i=l,s=this._regioncode(r,i))}}_clipInfinite(t,n,r,i,o,s){let a=Array.from(n),u;if((u=this._project(a[0],a[1],r,i))&&a.unshift(u[0],u[1]),(u=this._project(a[a.length-2],a[a.length-1],o,s))&&a.push(u[0],u[1]),a=this._clipFinite(t,a))for(let l=0,c=a.length,f,d=this._edgecode(a[c-2],a[c-1]);l<c;l+=2)f=d,d=this._edgecode(a[l],a[l+1]),f&&d&&(l=this._edge(t,f,d,a,l),c=a.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}_edge(t,n,r,i,o){for(;n!==r;){let s,a;switch(n){case 5:n=4;continue;case 4:n=6,s=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,s=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,s=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,s=this.xmin,a=this.ymin;break}(i[o]!==s||i[o+1]!==a)&&this.contains(t,s,a)&&(i.splice(o,0,s,a),o+=2)}return o}_project(t,n,r,i){let o=1/0,s,a,u;if(i<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/i)<o&&(u=this.ymin,a=t+(o=s)*r)}else if(i>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/i)<o&&(u=this.ymax,a=t+(o=s)*r)}if(r>0){if(t>=this.xmax)return null;(s=(this.xmax-t)/r)<o&&(a=this.xmax,u=n+(o=s)*i)}else if(r<0){if(t<=this.xmin)return null;(s=(this.xmin-t)/r)<o&&(a=this.xmin,u=n+(o=s)*i)}return[a,u]}_edgecode(t,n){return(t===this.xmin?1:t===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(t,n){return(t<this.xmin?1:t>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n<t.length;n+=2){let r=(n+2)%t.length,i=(n+4)%t.length;(t[n]===t[r]&&t[r]===t[i]||t[n+1]===t[r+1]&&t[r+1]===t[i+1])&&(t.splice(r,2),n-=2)}t.length||(t=null)}return t}};var tfe=2*Math.PI,mp=Math.pow;function nfe(e){return e[0]}function rfe(e){return e[1]}function ife(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],o=2*t[r+1],s=2*t[r+2];if((n[s]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[s+1]-n[i+1])>1e-10)return!1}return!0}function ofe(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var hp=class e{static from(t,n=nfe,r=rfe,i){return new e("length"in t?sfe(t,n,r,i):Float64Array.from(afe(t,n,r,i)))}constructor(t){this._delaunator=new pp(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&ife(t)){this.collinear=Int32Array.from({length:n.length/2},(d,p)=>p).sort((d,p)=>n[2*d]-n[2*p]||n[2*d+1]-n[2*p+1]);let u=this.collinear[0],l=this.collinear[this.collinear.length-1],c=[n[2*u],n[2*u+1],n[2*l],n[2*l+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,p=n.length/2;d<p;++d){let m=ofe(n[2*d],n[2*d+1],f);n[2*d]=m[0],n[2*d+1]=m[1]}this._delaunator=new pp(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let u=0,l=r.length;u<l;++u){let c=o[u%3===2?u-2:u+1];(r[u]===-1||s[c]===-1)&&(s[c]=u)}for(let u=0,l=i.length;u<l;++u)a[i[u]]=u;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],s[i[0]]=1,i.length===2&&(s[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new P0(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:s,collinear:a}=this;if(a){let f=a.indexOf(t);f>0&&(yield a[f-1]),f<a.length-1&&(yield a[f+1]);return}let u=n[t];if(u===-1)return;let l=u,c=-1;do{if(yield c=s[l],l=l%3===2?l-2:l+1,s[l]!==t)return;if(l=o[l],l===-1){let f=r[(i[t]+1)%r.length];f!==c&&(yield f);return}}while(l!==u)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,o;for(;(o=this._step(r,t,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(t,n,r){let{inedges:i,hull:o,_hullIndex:s,halfedges:a,triangles:u,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let c=t,f=mp(n-l[t*2],2)+mp(r-l[t*2+1],2),d=i[t],p=d;do{let m=u[p],h=mp(n-l[m*2],2)+mp(r-l[m*2+1],2);if(h<f&&(f=h,c=m),p=p%3===2?p-2:p+1,u[p]!==t)break;if(p=a[p],p===-1){if(p=o[(s[t]+1)%o.length],p!==m&&mp(n-l[p*2],2)+mp(r-l[p*2+1],2)<f)return p;break}}while(p!==d);return c}render(t){let n=t==null?t=new fo:void 0,{points:r,halfedges:i,triangles:o}=this;for(let s=0,a=i.length;s<a;++s){let u=i[s];if(u<s)continue;let l=o[s]*2,c=o[u]*2;t.moveTo(r[l],r[l+1]),t.lineTo(r[c],r[c+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new fo:void 0,{points:i}=this;for(let o=0,s=i.length;o<s;o+=2){let a=i[o],u=i[o+1];t.moveTo(a+n,u),t.arc(a,u,n,0,tfe)}return r&&r.value()}renderHull(t){let n=t==null?t=new fo:void 0,{hull:r,points:i}=this,o=r[0]*2,s=r.length;t.moveTo(i[o],i[o+1]);for(let a=1;a<s;++a){let u=2*r[a];t.lineTo(i[u],i[u+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new wl;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new fo:void 0,{points:i,triangles:o}=this,s=o[t*=3]*2,a=o[t+1]*2,u=o[t+2]*2;return n.moveTo(i[s],i[s+1]),n.lineTo(i[a],i[a+1]),n.lineTo(i[u],i[u+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new wl;return this.renderTriangle(t,n),n.value()}};function sfe(e,t,n,r){let i=e.length,o=new Float64Array(i*2);for(let s=0;s<i;++s){let a=e[s];o[s*2]=t.call(r,a,s,e),o[s*2+1]=n.call(r,a,s,e)}return o}function*afe(e,t,n,r){let i=0;for(let o of e)yield t.call(r,o,i,e),yield n.call(r,o,i,e),++i}function KD(e){B.call(this,null,e)}KD.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var ufe=[-1e5,-1e5,1e5,1e5];te(KD,B,{transform(e,t){let n=e.as||"path",r=t.source;if(!r||!r.length)return t;let i=e.size;i=i?[0,0,i[0],i[1]]:(i=e.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:ufe;let o=this.value=hp.from(r,e.x,e.y).voronoi(i);for(let s=0,a=r.length;s<a;++s){let u=o.cellPolygon(s);r[s][n]=u&&!cfe(u)?lfe(u):null}return t.reflow(e.modified()).modifies(n)}});function lfe(e){let t=e[0][0],n=e[0][1],r=e.length-1;for(;e[r][0]===t&&e[r][1]===n;--r);return"M"+e.slice(0,r+1).join("L")+"Z"}function cfe(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var eM={};rr(eM,{wordcloud:()=>ZD});var JD=Math.PI/180,$0=64,lE=2048;function ffe(){var e=[256,256],t,n,r,i,o,s,a,u=A9,l=[],c=Math.random,f={};f.layout=function(){for(var m=d(io()),h=yfe((e[0]>>5)*e[1]),g=null,y=l.length,x=-1,b=[],v=l.map(S=>({text:t(S),font:n(S),style:i(S),weight:o(S),rotate:s(S),size:~~(r(S)+1e-14),padding:a(S),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:S})).sort((S,w)=>w.size-S.size);++x<y;){var E=v[x];E.x=e[0]*(c()+.5)>>1,E.y=e[1]*(c()+.5)>>1,dfe(m,E,v,x),E.hasText&&p(h,E,g)&&(b.push(E),g?mfe(g,E):g=[{x:E.x+E.x0,y:E.y+E.y0},{x:E.x+E.x1,y:E.y+E.y1}],E.x-=e[0]>>1,E.y-=e[1]>>1)}return b};function d(m){m.width=m.height=1;var h=Math.sqrt(m.getContext("2d").getImageData(0,0,1,1).data.length>>2);m.width=($0<<5)/h,m.height=lE/h;var g=m.getContext("2d");return g.fillStyle=g.strokeStyle="red",g.textAlign="center",{context:g,ratio:h}}function p(m,h,g){for(var y=h.x,x=h.y,b=Math.hypot(e[0],e[1]),v=u(e),E=c()<.5?1:-1,S=-E,w,A,C;(w=v(S+=E))&&(A=~~w[0],C=~~w[1],!(Math.min(Math.abs(A),Math.abs(C))>=b));)if(h.x=y+A,h.y=x+C,!(h.x+h.x0<0||h.y+h.y0<0||h.x+h.x1>e[0]||h.y+h.y1>e[1])&&(!g||!pfe(h,m,e[0]))&&(!g||hfe(h,g))){for(var _=h.sprite,F=h.width>>5,I=e[0]>>5,M=h.x-(F<<4),R=M&127,k=32-R,D=h.y1-h.y0,T=(h.y+h.y0)*I+(M>>5),$,N=0;N<D;N++){$=0;for(var H=0;H<=F;H++)m[T+H]|=$<<k|(H<F?($=_[N*F+H])>>>R:0);T+=I}return h.sprite=null,!0}return!1}return f.words=function(m){return arguments.length?(l=m,f):l},f.size=function(m){return arguments.length?(e=[+m[0],+m[1]],f):e},f.font=function(m){return arguments.length?(n=Kc(m),f):n},f.fontStyle=function(m){return arguments.length?(i=Kc(m),f):i},f.fontWeight=function(m){return arguments.length?(o=Kc(m),f):o},f.rotate=function(m){return arguments.length?(s=Kc(m),f):s},f.text=function(m){return arguments.length?(t=Kc(m),f):t},f.spiral=function(m){return arguments.length?(u=xfe[m]||m,f):u},f.fontSize=function(m){return arguments.length?(r=Kc(m),f):r},f.padding=function(m){return arguments.length?(a=Kc(m),f):a},f.random=function(m){return arguments.length?(c=m,f):c},f}function dfe(e,t,n,r){if(!t.sprite){var i=e.context,o=e.ratio;i.clearRect(0,0,($0<<5)/o,lE/o);var s=0,a=0,u=0,l=n.length,c,f,d,p,m;for(--r;++r<l;){if(t=n[r],i.save(),i.font=t.style+" "+t.weight+" "+~~((t.size+1)/o)+"px "+t.font,c=i.measureText(t.text+"m").width*o,d=t.size<<1,t.rotate){var h=Math.sin(t.rotate*JD),g=Math.cos(t.rotate*JD),y=c*g,x=c*h,b=d*g,v=d*h;c=Math.max(Math.abs(y+v),Math.abs(y-v))+31>>5<<5,d=~~Math.max(Math.abs(x+b),Math.abs(x-b))}else c=c+31>>5<<5;if(d>u&&(u=d),s+c>=$0<<5&&(s=0,a+=u,u=0),a+d>=lE)break;i.translate((s+(c>>1))/o,(a+(d>>1))/o),t.rotate&&i.rotate(t.rotate*JD),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=c,t.height=d,t.xoff=s,t.yoff=a,t.x1=c>>1,t.y1=d>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,s+=c}for(var E=i.getImageData(0,0,($0<<5)/o,lE/o).data,S=[];--r>=0;)if(t=n[r],!!t.hasText){for(c=t.width,f=c>>5,d=t.y1-t.y0,p=0;p<d*f;p++)S[p]=0;if(s=t.xoff,s==null)return;a=t.yoff;var w=0,A=-1;for(m=0;m<d;m++){for(p=0;p<c;p++){var C=f*m+(p>>5),_=E[(a+m)*($0<<5)+(s+p)<<2]?1<<31-p%32:0;S[C]|=_,w|=_}w?A=m:(t.y0++,d--,m--,a++)}t.y1=t.y0+A,t.sprite=S.slice(0,(t.y1-t.y0)*f)}}}function pfe(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,o=e.x-(i<<4),s=o&127,a=32-s,u=e.y1-e.y0,l=(e.y+e.y0)*n+(o>>5),c,f=0;f<u;f++){c=0;for(var d=0;d<=i;d++)if((c<<a|(d<i?(c=r[f*i+d])>>>s:0))&t[l+d])return!0;l+=n}return!1}function mfe(e,t){var n=e[0],r=e[1];t.x+t.x0<n.x&&(n.x=t.x+t.x0),t.y+t.y0<n.y&&(n.y=t.y+t.y0),t.x+t.x1>r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}function hfe(e,t){return e.x+e.x1>t[0].x&&e.x+e.x0<t[1].x&&e.y+e.y1>t[0].y&&e.y+e.y0<t[1].y}function A9(e){var t=e[0]/e[1];return function(n){return[t*(n*=.1)*Math.cos(n),n*Math.sin(n)]}}function gfe(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(o){var s=o<0?-1:1;switch(Math.sqrt(1+4*s*o)-s&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t;break}return[r,i]}}function yfe(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function Kc(e){return typeof e=="function"?e:function(){return e}}var xfe={archimedean:A9,rectangular:gfe},_9=["x","y","font","fontSize","fontStyle","fontWeight","angle"],bfe=["text","font","rotate","fontSize","fontStyle","fontWeight"];function ZD(e){B.call(this,ffe(),e)}ZD.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:_9}]};te(ZD,B,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&U("Wordcloud size dimensions must be non-zero.");function n(m){let h=e[m];return we(h)&&t.modified(h.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||bfe.some(n)))return;let i=t.materialize(t.SOURCE).source,o=this.value,s=e.as||_9,a=e.fontSize||14,u;if(we(a)?u=e.fontSizeRange:a=_t(a),u){let m=a,h=ze("sqrt")().domain(Rr(i,m)).range(u);a=g=>h(m(g))}i.forEach(m=>{m[s[0]]=NaN,m[s[1]]=NaN,m[s[3]]=0});let l=o.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(a).random(Pr).layout(),c=o.size(),f=c[0]>>1,d=c[1]>>1,p=l.length;for(let m=0,h,g;m<p;++m)h=l[m],g=h.datum,g[s[0]]=h.x+f,g[s[1]]=h.y+d,g[s[2]]=h.font,g[s[3]]=h.size,g[s[4]]=h.style,g[s[5]]=h.weight,g[s[6]]=h.rotate;return t.reflow(r).modifies(s)}});var rM={};rr(rM,{crossfilter:()=>tM,resolvefilter:()=>nM});var vfe=e=>new Uint8Array(e),Efe=e=>new Uint16Array(e),L0=e=>new Uint32Array(e);function wfe(){let e=8,t=[],n=L0(0),r=cE(0,e),i=cE(0,e);return{data:()=>t,seen:()=>n=Sfe(n,t.length),add(o){for(let s=0,a=t.length,u=o.length,l;s<u;++s)l=o[s],l._index=a++,t.push(l)},remove(o,s){let a=t.length,u=Array(a-o),l=t,c,f,d;for(f=0;!s[f]&&f<a;++f)u[f]=t[f],l[f]=f;for(d=f;f<a;++f)c=t[f],s[f]?l[f]=-1:(l[f]=d,r[d]=r[f],i[d]=i[f],u[d]=c,c._index=d++),r[f]=0;return t=u,l},size:()=>t.length,curr:()=>r,prev:()=>i,reset:o=>i[o]=r[o],all:()=>e<257?255:e<65537?65535:4294967295,set(o,s){r[o]|=s},clear(o,s){r[o]&=~s},resize(o,s){let a=r.length;(o>a||s>e)&&(e=Math.max(s,e),r=cE(o,e,r),i=cE(o,e))}}}function Sfe(e,t,n){return e.length>=t?e:(n=n||new e.constructor(t),n.set(e),n)}function cE(e,t,n){let r=(t<257?vfe:t<65537?Efe:L0)(e);return n&&r.set(n),r}function C9(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(i,o){let s=this,a=s.bisect(s.range,i.value),u=i.index,l=a[0],c=a[1],f=u.length,d;for(d=0;d<l;++d)o[u[d]]|=r;for(d=c;d<f;++d)o[u[d]]|=r;return s}}}function k9(){let e=L0(0),t=[],n=0;function r(a,u,l){if(!u.length)return[];let c=n,f=u.length,d=L0(f),p=Array(f),m,h,g;for(g=0;g<f;++g)p[g]=a(u[g]),d[g]=g;if(p=Afe(p,d),c)m=t,h=e,t=Array(c+f),e=L0(c+f),_fe(l,m,h,c,p,d,f,t,e);else{if(l>0)for(g=0;g<f;++g)d[g]+=l;t=p,e=d}return n=c+f,{index:d,value:p}}function i(a,u){let l=n,c,f,d;for(f=0;!u[e[f]]&&f<l;++f);for(d=f;f<l;++f)u[c=e[f]]||(e[d]=c,t[d]=t[f],++d);n=l-a}function o(a){for(let u=0,l=n;u<l;++u)e[u]=a[e[u]]}function s(a,u){let l;return u?l=u.length:(u=t,l=n),[_2(u,a[0],0,l),tc(u,a[1],0,l)]}return{insert:r,remove:i,bisect:s,reindex:o,index:()=>e,size:()=>n}}function Afe(e,t){return e.sort.call(t,(n,r)=>{let i=e[n],o=e[r];return i<o?-1:i>o?1:0}),Wx(e,t)}function _fe(e,t,n,r,i,o,s,a,u){let l=0,c=0,f;for(f=0;l<r&&c<s;++f)t[l]<i[c]?(a[f]=t[l],u[f]=n[l++]):(a[f]=i[c],u[f]=o[c++]+e);for(;l<r;++l,++f)a[f]=t[l],u[f]=n[l];for(;c<s;++c,++f)a[f]=i[c],u[f]=o[c]+e}function tM(e){B.call(this,wfe(),e),this._indices=null,this._dims=null}tM.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]};te(tM,B,{transform(e,t){if(this._dims){var n=e.modified("fields")||e.fields.some(r=>t.modified(r.fields));return n?this.reinit(e,t):this.eval(e,t)}else return this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},o=this._dims=[],s=r.length,a=0,u,l;for(;a<s;++a)u=n[a].fname,l=i[u]||(i[u]=k9()),o.push(C9(l,a,r[a]));return this.eval(e,t)},reinit(e,t){let n=t.materialize().fork(),r=e.fields,i=e.query,o=this._indices,s=this._dims,a=this.value,u=a.curr(),l=a.prev(),c=a.all(),f=n.rem=n.add,d=n.mod,p=i.length,m={},h,g,y,x,b,v,E,S,w;if(l.set(u),t.rem.length&&(b=this.remove(e,t,n)),t.add.length&&a.add(t.add),t.mod.length)for(v={},x=t.mod,E=0,S=x.length;E<S;++E)v[x[E]._index]=1;for(E=0;E<p;++E)w=r[E],(!s[E]||e.modified("fields",E)||t.modified(w.fields))&&(y=w.fname,(h=m[y])||(o[y]=g=k9(),m[y]=h=g.insert(w,t.source,0)),s[E]=C9(g,E,i[E]).onAdd(h,u));for(E=0,S=a.data().length;E<S;++E)b[E]||(l[E]!==u[E]?f.push(E):v[E]&&u[E]!==c&&d.push(E));return a.mask=(1<<p)-1,n},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified("query")&&!e.modified("fields")&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,o=this._dims,s=this._indices,a=e.fields,u={},l=n.add,c=i.size()+r.length,f=o.length,d=i.size(),p,m,h;i.resize(c,f),i.add(r);let g=i.curr(),y=i.prev(),x=i.all();for(p=0;p<f;++p)m=a[p].fname,h=u[m]||(u[m]=s[m].insert(a[p],r,d)),o[p].onAdd(h,g);for(;d<c;++d)y[d]=x,g[d]!==x&&l.push(d)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),o=r.all(),s=e.mod,a,u,l;for(a=0,u=s.length;a<u;++a)l=s[a]._index,i[l]!==o&&n.push(l)},remove(e,t,n){let r=this._indices,i=this.value,o=i.curr(),s=i.prev(),a=i.all(),u={},l=n.rem,c=t.rem,f,d,p,m;for(f=0,d=c.length;f<d;++f)p=c[f]._index,u[p]=1,s[p]=m=o[p],o[p]=a,m!==a&&l.push(p);for(p in r)r[p].remove(d,u);return this.reindex(t,d,u),u},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let o=i.remove(t,n);for(let s in r)r[s].reindex(o)})},update(e,t,n){let r=this._dims,i=e.query,o=t.stamp,s=r.length,a=0,u,l;for(n.filters=0,l=0;l<s;++l)e.modified("query",l)&&(u=l,++a);if(a===1)a=r[u].one,this.incrementOne(r[u],i[u],n.add,n.rem);else for(l=0,a=0;l<s;++l)e.modified("query",l)&&(a|=r[l].one,this.incrementAll(r[l],i[l],o,n.add),n.rem=n.add);return a},incrementAll(e,t,n,r){let i=this.value,o=i.seen(),s=i.curr(),a=i.prev(),u=e.index(),l=e.bisect(e.range),c=e.bisect(t),f=c[0],d=c[1],p=l[0],m=l[1],h=e.one,g,y,x;if(f<p)for(g=f,y=Math.min(p,d);g<y;++g)x=u[g],o[x]!==n&&(a[x]=s[x],o[x]=n,r.push(x)),s[x]^=h;else if(f>p)for(g=p,y=Math.min(f,m);g<y;++g)x=u[g],o[x]!==n&&(a[x]=s[x],o[x]=n,r.push(x)),s[x]^=h;if(d>m)for(g=Math.max(f,m),y=d;g<y;++g)x=u[g],o[x]!==n&&(a[x]=s[x],o[x]=n,r.push(x)),s[x]^=h;else if(d<m)for(g=Math.max(p,d),y=m;g<y;++g)x=u[g],o[x]!==n&&(a[x]=s[x],o[x]=n,r.push(x)),s[x]^=h;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value,o=i.curr(),s=e.index(),a=e.bisect(e.range),u=e.bisect(t),l=u[0],c=u[1],f=a[0],d=a[1],p=e.one,m,h,g;if(l<f)for(m=l,h=Math.min(f,c);m<h;++m)g=s[m],o[g]^=p,n.push(g);else if(l>f)for(m=f,h=Math.min(l,d);m<h;++m)g=s[m],o[g]^=p,r.push(g);if(c>d)for(m=Math.max(l,d),h=c;m<h;++m)g=s[m],o[g]^=p,n.push(g);else if(c<d)for(m=Math.max(f,c),h=d;m<h;++m)g=s[m],o[g]^=p,r.push(g);e.range=t.slice()}});function nM(e){B.call(this,null,e)}nM.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]};te(nM,B,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if(!(i&n))return t.StopPropagation;let o=t.fork(t.ALL),s=r.data(),a=r.curr(),u=r.prev(),l=c=>a[c]&n?null:s[c];return o.filter(o.MOD,l),i&i-1?(o.filter(o.ADD,c=>{let f=a[c]&n;return!f&&f^u[c]&n?s[c]:null}),o.filter(o.REM,c=>{let f=a[c]&n;return f&&!(f^(f^u[c]&n))?s[c]:null})):(o.filter(o.ADD,l),o.filter(o.REM,c=>(a[c]&n)===i?s[c]:null)),o.filter(o.SOURCE,c=>l(c._index))}});var Cfe="RawCode",ru="Literal",kfe="Property",Ffe="Identifier",Tfe="ArrayExpression",Rfe="BinaryExpression",lM="CallExpression",Dfe="ConditionalExpression",Mfe="LogicalExpression",Ife="MemberExpression",Nfe="ObjectExpression",Ofe="UnaryExpression";function Ko(e){this.type=e}Ko.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=Pfe(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function Pfe(e){switch(e.type){case Tfe:return e.elements;case Rfe:case Mfe:return[e.left,e.right];case lM:return[e.callee].concat(e.arguments);case Dfe:return[e.test,e.consequent,e.alternate];case Ife:return[e.object,e.property];case Nfe:return e.properties;case kfe:return[e.key,e.value];case Ofe:return[e.argument];case Ffe:case ru:case Cfe:default:return[]}}var Zs,he,G,dr,st,pE=1,q0=2,Qc=3,Sl=4,mE=5,Zc=6,ci=7,G0=8,$fe=9;Zs={};Zs[pE]="Boolean";Zs[q0]="<end>";Zs[Qc]="Identifier";Zs[Sl]="Keyword";Zs[mE]="Null";Zs[Zc]="Numeric";Zs[ci]="Punctuator";Zs[G0]="String";Zs[$fe]="RegularExpression";var Lfe="ArrayExpression",Bfe="BinaryExpression",Ufe="CallExpression",zfe="ConditionalExpression",O9="Identifier",Hfe="Literal",qfe="LogicalExpression",Gfe="MemberExpression",jfe="ObjectExpression",Wfe="Property",Vfe="UnaryExpression",kn="Unexpected token %0",Yfe="Unexpected number",Xfe="Unexpected string",Kfe="Unexpected identifier",Qfe="Unexpected reserved word",Jfe="Unexpected end of input",aM="Invalid regular expression",iM="Invalid regular expression: missing /",P9="Octal literals are not allowed in strict mode.",Zfe="Duplicate data property in object literal not allowed in strict mode",qn="ILLEGAL",z0="Disabled.",ede=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),tde=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function hE(e,t){if(!e)throw new Error("ASSERT: "+t)}function nu(e){return e>=48&&e<=57}function cM(e){return"0123456789abcdefABCDEF".includes(e)}function U0(e){return"01234567".includes(e)}function nde(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function H0(e){return e===10||e===13||e===8232||e===8233}function j0(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&ede.test(String.fromCharCode(e))}function dE(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&tde.test(String.fromCharCode(e))}var rde={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function $9(){for(;G<dr;){let e=he.charCodeAt(G);if(nde(e)||H0(e))++G;else break}}function uM(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)G<dr&&cM(he[G])?(r=he[G++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):Je({},kn,qn);return String.fromCharCode(i)}function ide(){var e,t,n,r;for(e=he[G],t=0,e==="}"&&Je({},kn,qn);G<dr&&(e=he[G++],!!cM(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&Je({},kn,qn),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function L9(){var e,t;for(e=he.charCodeAt(G++),t=String.fromCharCode(e),e===92&&(he.charCodeAt(G)!==117&&Je({},kn,qn),++G,e=uM("u"),(!e||e==="\\"||!j0(e.charCodeAt(0)))&&Je({},kn,qn),t=e);G<dr&&(e=he.charCodeAt(G),!!dE(e));)++G,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),he.charCodeAt(G)!==117&&Je({},kn,qn),++G,e=uM("u"),(!e||e==="\\"||!dE(e.charCodeAt(0)))&&Je({},kn,qn),t+=e);return t}function ode(){var e,t;for(e=G++;G<dr;){if(t=he.charCodeAt(G),t===92)return G=e,L9();if(dE(t))++G;else break}return he.slice(e,G)}function sde(){var e,t,n;return e=G,t=he.charCodeAt(G)===92?L9():ode(),t.length===1?n=Qc:rde.hasOwnProperty(t)?n=Sl:t==="null"?n=mE:t==="true"||t==="false"?n=pE:n=Qc,{type:n,value:t,start:e,end:G}}function oM(){var e=G,t=he.charCodeAt(G),n,r=he[G],i,o,s;switch(t){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++G,{type:ci,value:String.fromCharCode(t),start:e,end:G};default:if(n=he.charCodeAt(G+1),n===61)switch(t){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return G+=2,{type:ci,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:G};case 33:case 61:return G+=2,he.charCodeAt(G)===61&&++G,{type:ci,value:he.slice(e,G),start:e,end:G}}}if(s=he.substr(G,4),s===">>>=")return G+=4,{type:ci,value:s,start:e,end:G};if(o=s.substr(0,3),o===">>>"||o==="<<="||o===">>=")return G+=3,{type:ci,value:o,start:e,end:G};if(i=o.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return G+=2,{type:ci,value:i,start:e,end:G};if(i==="//"&&Je({},kn,qn),"<>=!+-*%&|^/".includes(r))return++G,{type:ci,value:r,start:e,end:G};Je({},kn,qn)}function ade(e){let t="";for(;G<dr&&cM(he[G]);)t+=he[G++];return t.length===0&&Je({},kn,qn),j0(he.charCodeAt(G))&&Je({},kn,qn),{type:Zc,value:parseInt("0x"+t,16),start:e,end:G}}function ude(e){let t="0"+he[G++];for(;G<dr&&U0(he[G]);)t+=he[G++];return(j0(he.charCodeAt(G))||nu(he.charCodeAt(G)))&&Je({},kn,qn),{type:Zc,value:parseInt(t,8),octal:!0,start:e,end:G}}function F9(){var e,t,n;if(n=he[G],hE(nu(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=G,e="",n!=="."){if(e=he[G++],n=he[G],e==="0"){if(n==="x"||n==="X")return++G,ade(t);if(U0(n))return ude(t);n&&nu(n.charCodeAt(0))&&Je({},kn,qn)}for(;nu(he.charCodeAt(G));)e+=he[G++];n=he[G]}if(n==="."){for(e+=he[G++];nu(he.charCodeAt(G));)e+=he[G++];n=he[G]}if(n==="e"||n==="E")if(e+=he[G++],n=he[G],(n==="+"||n==="-")&&(e+=he[G++]),nu(he.charCodeAt(G)))for(;nu(he.charCodeAt(G));)e+=he[G++];else Je({},kn,qn);return j0(he.charCodeAt(G))&&Je({},kn,qn),{type:Zc,value:parseFloat(e),start:t,end:G}}function lde(){var e="",t,n,r,i,o=!1;for(t=he[G],hE(t==="'"||t==='"',"String literal must starts with a quote"),n=G,++G;G<dr;)if(r=he[G++],r===t){t="";break}else if(r==="\\")if(r=he[G++],!r||!H0(r.charCodeAt(0)))switch(r){case"u":case"x":he[G]==="{"?(++G,e+=ide()):e+=uM(r);break;case"n":e+=` |
| 10 | `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:U0(r)?(i="01234567".indexOf(r),i!==0&&(o=!0),G<dr&&U0(he[G])&&(o=!0,i=i*8+"01234567".indexOf(he[G++]),"0123".includes(r)&&G<dr&&U0(he[G])&&(i=i*8+"01234567".indexOf(he[G++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&he[G]===` |
| 11 | `&&++G;else{if(H0(r.charCodeAt(0)))break;e+=r}return t!==""&&Je({},kn,qn),{type:G0,value:e,octal:o,start:n,end:G}}function cde(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";Je({},aM)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{Je({},aM)}try{return new RegExp(e,t)}catch{return null}}function fde(){var e,t,n,r,i;for(e=he[G],hE(e==="/","Regular expression literal must start with a slash"),t=he[G++],n=!1,r=!1;G<dr;)if(e=he[G++],t+=e,e==="\\")e=he[G++],H0(e.charCodeAt(0))&&Je({},iM),t+=e;else if(H0(e.charCodeAt(0)))Je({},iM);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||Je({},iM),i=t.substr(1,t.length-2),{value:i,literal:t}}function dde(){var e,t,n;for(t="",n="";G<dr&&(e=he[G],!!dE(e.charCodeAt(0)));)++G,e==="\\"&&G<dr?Je({},kn,qn):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&Je({},aM,n),{value:n,literal:t}}function pde(){var e,t,n,r;return st=null,$9(),e=G,t=fde(),n=dde(),r=cde(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:G}}function mde(e){return e.type===Qc||e.type===Sl||e.type===pE||e.type===mE}function B9(){if($9(),G>=dr)return{type:q0,start:G,end:G};let e=he.charCodeAt(G);return j0(e)?sde():e===40||e===41||e===59?oM():e===39||e===34?lde():e===46?nu(he.charCodeAt(G+1))?F9():oM():nu(e)?F9():oM()}function fi(){let e=st;return G=e.end,st=B9(),G=e.end,e}function U9(){let e=G;st=B9(),G=e}function hde(e){let t=new Ko(Lfe);return t.elements=e,t}function T9(e,t,n){let r=new Ko(e==="||"||e==="&&"?qfe:Bfe);return r.operator=e,r.left=t,r.right=n,r}function gde(e,t){let n=new Ko(Ufe);return n.callee=e,n.arguments=t,n}function yde(e,t,n){let r=new Ko(zfe);return r.test=e,r.consequent=t,r.alternate=n,r}function fM(e){let t=new Ko(O9);return t.name=e,t}function B0(e){let t=new Ko(Hfe);return t.value=e.value,t.raw=he.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function R9(e,t,n){let r=new Ko(Gfe);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function xde(e){let t=new Ko(jfe);return t.properties=e,t}function D9(e,t,n){let r=new Ko(Wfe);return r.key=t,r.value=n,r.kind=e,r}function bde(e,t){let n=new Ko(Vfe);return n.operator=e,n.argument=t,n.prefix=!0,n}function Je(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(o,s)=>(hE(s<r.length,"Message reference must be in range"),r[s]));throw n=new Error(i),n.index=G,n.description=i,n}function gE(e){e.type===q0&&Je(e,Jfe),e.type===Zc&&Je(e,Yfe),e.type===G0&&Je(e,Xfe),e.type===Qc&&Je(e,Kfe),e.type===Sl&&Je(e,Qfe),Je(e,kn,e.value)}function pr(e){let t=fi();(t.type!==ci||t.value!==e)&&gE(t)}function St(e){return st.type===ci&&st.value===e}function sM(e){return st.type===Sl&&st.value===e}function vde(){let e=[];for(G=st.start,pr("[");!St("]");)St(",")?(fi(),e.push(null)):(e.push(Jc()),St("]")||pr(","));return fi(),hde(e)}function M9(){G=st.start;let e=fi();return e.type===G0||e.type===Zc?(e.octal&&Je(e,P9),B0(e)):fM(e.value)}function Ede(){var e,t,n,r;if(G=st.start,e=st,e.type===Qc)return n=M9(),pr(":"),r=Jc(),D9("init",n,r);if(e.type===q0||e.type===ci)gE(e);else return t=M9(),pr(":"),r=Jc(),D9("init",t,r)}function wde(){var e=[],t,n,r,i={},o=String;for(G=st.start,pr("{");!St("}");)t=Ede(),t.key.type===O9?n=t.key.name:n=o(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?Je({},Zfe):i[r]=!0,e.push(t),St("}")||pr(",");return pr("}"),xde(e)}function Sde(){pr("(");let e=dM();return pr(")"),e}var Ade={if:1};function _de(){var e,t,n;if(St("("))return Sde();if(St("["))return vde();if(St("{"))return wde();if(e=st.type,G=st.start,e===Qc||Ade[st.value])n=fM(fi().value);else if(e===G0||e===Zc)st.octal&&Je(st,P9),n=B0(fi());else{if(e===Sl)throw new Error(z0);e===pE?(t=fi(),t.value=t.value==="true",n=B0(t)):e===mE?(t=fi(),t.value=null,n=B0(t)):St("/")||St("/=")?(n=B0(pde()),U9()):gE(fi())}return n}function Cde(){let e=[];if(pr("("),!St(")"))for(;G<dr&&(e.push(Jc()),!St(")"));)pr(",");return pr(")"),e}function kde(){G=st.start;let e=fi();return mde(e)||gE(e),fM(e.value)}function Fde(){return pr("."),kde()}function Tde(){pr("[");let e=dM();return pr("]"),e}function Rde(){var e,t,n;for(e=_de();;)if(St("."))n=Fde(),e=R9(".",e,n);else if(St("("))t=Cde(),e=gde(e,t);else if(St("["))n=Tde(),e=R9("[",e,n);else break;return e}function I9(){let e=Rde();if(st.type===ci&&(St("++")||St("--")))throw new Error(z0);return e}function fE(){var e,t;if(st.type!==ci&&st.type!==Sl)t=I9();else{if(St("++")||St("--"))throw new Error(z0);if(St("+")||St("-")||St("~")||St("!"))e=fi(),t=fE(),t=bde(e.value,t);else{if(sM("delete")||sM("void")||sM("typeof"))throw new Error(z0);t=I9()}}return t}function N9(e){let t=0;if(e.type!==ci&&e.type!==Sl)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function Dde(){var e,t,n,r,i,o,s,a,u,l;if(e=st,u=fE(),r=st,i=N9(r),i===0)return u;for(r.prec=i,fi(),t=[e,st],s=fE(),o=[u,r,s];(i=N9(st))>0;){for(;o.length>2&&i<=o[o.length-2].prec;)s=o.pop(),a=o.pop().value,u=o.pop(),t.pop(),n=T9(a,u,s),o.push(n);r=fi(),r.prec=i,o.push(r),t.push(st),n=fE(),o.push(n)}for(l=o.length-1,n=o[l],t.pop();l>1;)t.pop(),n=T9(o[l-1].value,o[l-2],n),l-=2;return n}function Jc(){var e,t,n;return e=Dde(),St("?")&&(fi(),t=Jc(),pr(":"),n=Jc(),e=yde(e,t,n)),e}function dM(){let e=Jc();if(St(","))throw new Error(z0);return e}function yE(e){he=e,G=0,dr=he.length,st=null,U9();let t=dM();if(st.type!==q0)throw new Error("Unexpect token after expression.");return t}var pM={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function mM(e){function t(s,a,u,l){let c=e(a[0]);return u&&(c=u+"("+c+")",u.lastIndexOf("new ",0)===0&&(c="("+c+")")),c+"."+s+(l<0?"":l===0?"()":"("+a.slice(1).map(e).join(",")+")")}function n(s,a,u){return l=>t(s,l,a,u)}let r="new Date",i="String",o="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(s){s.length<3&&U("Missing arguments to clamp function."),s.length>3&&U("Too many arguments to clamp function.");let a=s.map(e);return"Math.max("+a[1]+", Math.min("+a[2]+","+a[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",i,0),lower:n("toLowerCase",i,0),substring:n("substring",i),split:n("split",i),trim:n("trim",i,0),btoa:"btoa",atob:"atob",regexp:o,test:n("test",o),if:function(s){s.length<3&&U("Missing arguments to if function."),s.length>3&&U("Too many arguments to if function.");let a=s.map(e);return"("+a[0]+"?"+a[1]+":"+a[2]+")"}}}function Mde(e){let t=e&&e.length-1;return t&&(e[0]==='"'&&e[t]==='"'||e[0]==="'"&&e[t]==="'")?e.slice(1,-1):e}function xE(e){e=e||{};let t=e.allowed?en(e.allowed):{},n=e.forbidden?en(e.forbidden):{},r=e.constants||pM,i=(e.functions||mM)(f),o=e.globalvar,s=e.fieldvar,a=we(o)?o:m=>`${o}["${m}"]`,u={},l={},c=0;function f(m){if(Y(m))return m;let h=d[m.type];return h==null&&U("Unsupported type: "+m.type),h(m)}let d={Literal:m=>m.raw,Identifier:m=>{let h=m.name;return c>0?h:ne(n,h)?U("Illegal identifier: "+h):ne(r,h)?r[h]:ne(t,h)?h:(u[h]=1,a(h))},MemberExpression:m=>{let h=!m.computed,g=f(m.object);h&&(c+=1);let y=f(m.property);return g===s&&(l[Mde(y)]=1),h&&(c-=1),g+(h?"."+y:"["+y+"]")},CallExpression:m=>{m.callee.type!=="Identifier"&&U("Illegal callee type: "+m.callee.type);let h=m.callee.name,g=m.arguments,y=ne(i,h)&&i[h];return y||U("Unrecognized function: "+h),we(y)?y(g):y+"("+g.map(f).join(",")+")"},ArrayExpression:m=>"["+m.elements.map(f).join(",")+"]",BinaryExpression:m=>"("+f(m.left)+" "+m.operator+" "+f(m.right)+")",UnaryExpression:m=>"("+m.operator+f(m.argument)+")",ConditionalExpression:m=>"("+f(m.test)+"?"+f(m.consequent)+":"+f(m.alternate)+")",LogicalExpression:m=>"("+f(m.left)+m.operator+f(m.right)+")",ObjectExpression:m=>"{"+m.properties.map(f).join(",")+"}",Property:m=>{c+=1;let h=f(m.key);return c-=1,h+":"+f(m.value)}};function p(m){let h={code:f(m),globals:Object.keys(u),fields:Object.keys(l)};return u={},l={},h}return p.functions=i,p.constants=r,p}var z9=Symbol("vega_selection_getter");function j9(e){return(!e.getter||!e.getter[z9])&&(e.getter=wn(e.field),e.getter[z9]=!0),e.getter}var gM="intersect",H9="union",Ide="vlMulti",Nde="vlPoint",q9="or",Ode="and",ea="_vgsid_",W0=wn(ea),Pde="E",$de="R",Lde="R-E",Bde="R-LE",Ude="R-RE",zde="E-LT",Hde="E-LTE",qde="E-GT",Gde="E-GTE",jde="E-VALID",Wde="E-ONE",bE="index:unit";function G9(e,t){for(var n=t.fields,r=t.values,i=n.length,o=0,s,a;o<i;++o)if(a=n[o],s=j9(a)(e),Io(s)&&(s=Vt(s)),Io(r[o])&&(r[o]=Vt(r[o])),O(r[o])&&Io(r[o][0])&&(r[o]=r[o].map(Vt)),a.type===Pde){if(O(r[o])?!r[o].includes(s):s!==r[o])return!1}else if(a.type===$de){if(!Iu(s,r[o]))return!1}else if(a.type===Ude){if(!Iu(s,r[o],!0,!1))return!1}else if(a.type===Lde){if(!Iu(s,r[o],!1,!1))return!1}else if(a.type===Bde){if(!Iu(s,r[o],!1,!0))return!1}else if(a.type===zde){if(s>=r[o])return!1}else if(a.type===Hde){if(s>r[o])return!1}else if(a.type===qde){if(s<=r[o])return!1}else if(a.type===Gde){if(s<r[o])return!1}else if(a.type===jde){if(s===null||isNaN(s))return!1}else if(a.type===Wde&&r[o].indexOf(s)===-1)return!1;return!0}function W9(e,t,n){for(var r=this.context.data[e],i=r?r.values.value:[],o=r?r[bE]&&r[bE].value:void 0,s=n===gM,a=i.length,u=0,l,c,f,d,p;u<a;++u)if(l=i[u],o&&s){if(c=c||{},f=c[d=l.unit]||0,f===-1)continue;if(p=G9(t,l),c[d]=p?-1:++f,p&&o.size===1)return!0;if(!p&&f===o.get(d).count)return!1}else if(p=G9(t,l),s^p)return p;return a&&s}var V9=ki(W0),Vde=V9.left,Yde=V9.right;function Y9(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],o=r?r[bE]&&r[bE].value:void 0,s=n===gM,a=W0(t),u=Vde(i,a);if(u===i.length||W0(i[u])!==a)return!1;if(o&&s){if(o.size===1)return!0;if(Yde(i,a)-u<o.size)return!1}return!0}function X9(e,t){return e.map(n=>Se(t.fields?{values:t.fields.map(r=>j9(r)(n.datum))}:{[ea]:W0(n.datum)},t))}function K9(e,t,n,r){for(var i=this.context.data[e],o=i?i.values.value:[],s={},a={},u={},l,c,f,d,p,m,h,g,y,x,b=o.length,v=0,E,S;v<b;++v)if(l=o[v],d=l.unit,c=l.fields,f=l.values,c&&f){for(E=0,S=c.length;E<S;++E)p=c[E],h=s[p.field]||(s[p.field]={}),g=h[d]||(h[d]=[]),u[p.field]=y=p.type.charAt(0),x=hM[`${y}_union`],h[d]=x(g,Z(f[E]));n&&(g=a[d]||(a[d]=[]),g.push(Z(f).reduce((w,A,C)=>(w[c[C].field]=A,w),{})))}else p=ea,m=W0(l),h=s[p]||(s[p]={}),g=h[d]||(h[d]=[]),g.push(m),n&&(g=a[d]||(a[d]=[]),g.push({[ea]:m}));if(t=t||H9,s[ea]?s[ea]=hM[`${ea}_${t}`](...Object.values(s[ea])):Object.keys(s).forEach(w=>{s[w]=Object.keys(s[w]).map(A=>s[w][A]).reduce((A,C)=>A===void 0?C:hM[`${u[w]}_${t}`](A,C))}),o=Object.keys(a),n&&o.length){let w=r?Nde:Ide;s[w]=t===H9?{[q9]:o.reduce((A,C)=>(A.push(...a[C]),A),[])}:{[Ode]:o.map(A=>({[q9]:a[A]}))}}return s}var hM={[`${ea}_union`]:Qx,[`${ea}_intersect`]:Kx,E_union:function(e,t){if(!e.length)return t;for(var n=0,r=t.length;n<r;++n)e.includes(t[n])||e.push(t[n]);return e},E_intersect:function(e,t){return e.length?e.filter(n=>t.includes(n)):t},R_union:function(e,t){var n=Vt(t[0]),r=Vt(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?(e[0]>n&&(e[0]=n),e[1]<r&&(e[1]=r),e):[n,r]},R_intersect:function(e,t){var n=Vt(t[0]),r=Vt(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?r<e[0]||e[1]<n?[]:(e[0]<n&&(e[0]=n),e[1]>r&&(e[1]=r),e):[n,r]}},Xde=":",Kde="@";function vE(e,t,n,r){t[0].type!==ru&&U("First argument to selection functions must be a string literal.");let i=t[0].value,o=t.length>=2&&De(t).value,s="unit",a=Kde+s,u=Xde+i;o===gM&&!ne(r,a)&&(r[a]=n.getData(i).indataRef(n,s)),ne(r,u)||(r[u]=n.getData(i).tuplesRef())}function ez(e){let t=this.context.data[e];return t?t.values.value:[]}function Qde(e,t,n){let r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i&&i.count}function Jde(e,t){let n=this.context.dataflow,r=this.context.data[e],i=r.input;return n.pulse(i,n.changeset().remove(pn).insert(t)),1}function Zde(e,t,n){if(e){let r=this.context.dataflow,i=e.mark.source;r.pulse(i,r.changeset().encode(e,t))}return n!==void 0?n:e}var V0=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?"null":r[e](n)(t)},epe=V0("format"),tz=V0("timeFormat"),tpe=V0("utcFormat"),npe=V0("timeParse"),rpe=V0("utcParse"),EE=new Date(2e3,0,1);function wE(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?"":(EE.setYear(2e3),EE.setMonth(e),EE.setDate(t),tz.call(this,EE,n))}function ipe(e){return wE.call(this,e,1,"%B")}function ope(e){return wE.call(this,e,1,"%b")}function spe(e){return wE.call(this,0,2+e,"%A")}function ape(e){return wE.call(this,0,2+e,"%a")}var upe=":",lpe="@",xM="%",nz="$";function EM(e,t,n,r){t[0].type!==ru&&U("First argument to data functions must be a string literal.");let i=t[0].value,o=upe+i;if(!ne(o,r))try{r[o]=n.getData(i).tuplesRef()}catch{}}function cpe(e,t,n,r){t[0].type!==ru&&U("First argument to indata must be a string literal."),t[1].type!==ru&&U("Second argument to indata must be a string literal.");let i=t[0].value,o=t[1].value,s=lpe+o;ne(s,r)||(r[s]=n.getData(i).indataRef(n,o))}function Wr(e,t,n,r){if(t[0].type===ru)Q9(n,r,t[0].value);else for(e in n.scales)Q9(n,r,e)}function Q9(e,t,n){let r=xM+n;if(!ne(t,r))try{t[r]=e.scaleRef(n)}catch{}}function ta(e,t){if(Y(e)){let n=t.scales[e];return n&&cF(n.value)?n.value:void 0}else if(we(e))return cF(e)?e:void 0}function fpe(e,t,n){t.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,n._bandwidth=Wr,n._range=Wr,n._scale=Wr;let r=i=>"_["+(i.type===ru?K(xM+i.value):K(xM)+"+"+e(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${e(i[1])})`}}function wM(e,t){return function(n,r,i){if(n){let o=ta(n,(i||this).context);return o&&o.path[e](r)}else return t(r)}}var dpe=wM("area",TT),ppe=wM("bounds",DT),mpe=wM("centroid",PT);function hpe(e,t){let n=ta(e,(t||this).context);return n&&n.scale()}function gpe(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n}function SM(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(r){e.warn(r)}return n[n.length-1]}function ype(){return SM(this.context.dataflow,"warn",arguments)}function xpe(){return SM(this.context.dataflow,"info",arguments)}function bpe(){return SM(this.context.dataflow,"debug",arguments)}function yM(e){let t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}function bM(e){let t=oo(e),n=yM(t.r),r=yM(t.g),i=yM(t.b);return .2126*n+.7152*r+.0722*i}function vpe(e,t){let n=bM(e),r=bM(t),i=Math.max(n,r),o=Math.min(n,r);return(i+.05)/(o+.05)}function Epe(){let e=[].slice.call(arguments);return e.unshift({}),Se(...e)}function rz(e,t){return e===t||e!==e&&t!==t?!0:O(e)?O(t)&&e.length===t.length?wpe(e,t):!1:Q(e)&&Q(t)?iz(e,t):!1}function wpe(e,t){for(let n=0,r=e.length;n<r;++n)if(!rz(e[n],t[n]))return!1;return!0}function iz(e,t){for(let n in e)if(!rz(e[n],t[n]))return!1;return!0}function J9(e){return t=>iz(e,t)}function Spe(e,t,n,r,i,o){let s=this.context.dataflow,a=this.context.data[e],u=a.input,l=s.stamp(),c=a.changes,f,d;if(s._trigger===!1||!(u.value.length||t||r))return 0;if((!c||c.stamp<l)&&(a.changes=c=s.changeset(),c.stamp=l,s.runAfter(()=>{a.modified=!0,s.pulse(u,c).run()},!0,1)),n&&(f=n===!0?pn:O(n)||dc(n)?n:J9(n),c.remove(f)),t&&c.insert(t),r&&(f=J9(r),u.value.some(f)?c.remove(f):c.insert(r)),i)for(d in o)c.modify(i,d,o[d]);return 1}function Ape(e){let t=e.touches,n=t[0].clientX-t[1].clientX,r=t[0].clientY-t[1].clientY;return Math.hypot(n,r)}function _pe(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var Z9={};function Cpe(e,t){let n=Z9[t]||(Z9[t]=wn(t));return O(e)?e.map(n):n(e)}function SE(e){return O(e)||ArrayBuffer.isView(e)?e:null}function AM(e){return SE(e)||(Y(e)?e:null)}function kpe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return SE(e).join(...n)}function Fpe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return AM(e).indexOf(...n)}function Tpe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return AM(e).lastIndexOf(...n)}function Rpe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return AM(e).slice(...n)}function Dpe(e,t,n){return we(n)&&U("Function argument passed to replace."),!Y(t)&&!Hx(t)&&U("Please pass a string or RegExp argument to replace."),String(e).replace(t,n)}function Mpe(e){return SE(e).slice().reverse()}function Ipe(e){return SE(e).slice().sort(Fa)}function Npe(e,t,n){return Eg(e||0,t||0,n||0)}function Ope(e,t){let n=ta(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function Ppe(e,t){let n=ta(e,(t||this).context);return n?n.copy():void 0}function $pe(e,t){let n=ta(e,(t||this).context);return n?n.domain():[]}function Lpe(e,t,n){let r=ta(e,(n||this).context);return r?O(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function Bpe(e,t){let n=ta(e,(t||this).context);return n&&n.range?n.range():[]}function Upe(e,t,n){let r=ta(e,(n||this).context);return r?r(t):void 0}function zpe(e,t,n,r,i){e=ta(e,(i||this).context);let o=$F(t,n),s=e.domain(),a=s[0],u=De(s),l=$t;return u-a?l=kb(e,a,u):e=(e.interpolator?ze("sequential")().interpolator(e.interpolator()):ze("linear")().interpolate(e.interpolate()).range(e.range())).domain([a=0,u=1]),e.ticks&&(s=e.ticks(+r||15),a!==s[0]&&s.unshift(a),u!==De(s)&&s.push(u)),s.forEach(c=>o.stop(l(c),e(c))),o}function Hpe(e,t,n){let r=ta(e,(n||this).context);return function(i){return r?r.path.context(i)(t):""}}function qpe(e){let t=null;return function(n){return n?$d(n,t=t||Pc(e)):e}}var oz=e=>e.data;function sz(e,t){let n=ez.call(t,e);return n.root&&n.root.lookup||{}}function Gpe(e,t,n){let r=sz(e,this),i=r[t],o=r[n];return i&&o?i.path(o).map(oz):void 0}function jpe(e,t){let n=sz(e,this)[t];return n?n.ancestors().map(oz):void 0}var az=()=>typeof window<"u"&&window||null;function Wpe(){let e=az();return e?e.screen:{}}function Vpe(){let e=az();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function Ype(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function uz(e,t,n){if(!e)return[];let[r,i]=e,o=new Lt().set(r[0],r[1],i[0],i[1]),s=n||this.context.dataflow.scenegraph().root;return aT(s,o,Xpe(t))}function Xpe(e){let t=null;if(e){let n=Z(e.marktype),r=Z(e.markname);t=i=>(!n.length||n.some(o=>i.marktype===o))&&(!r.length||r.some(o=>i.name===o))}return t}function Kpe(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5;e=Z(e);let i=e[e.length-1];return i===void 0||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e}function Qpe(e){return Z(e).reduce((t,n,r)=>{let[i,o]=n;return t+=r==0?`M ${i},${o} `:r===e.length-1?" Z":`L ${i},${o} `},"")}function Jpe(e,t,n){let{x:r,y:i,mark:o}=n,s=new Lt().set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(let[u,l]of t)u<s.x1&&(s.x1=u),u>s.x2&&(s.x2=u),l<s.y1&&(s.y1=l),l>s.y2&&(s.y2=l);return s.translate(r,i),uz([[s.x1,s.y1],[s.x2,s.y2]],e,o).filter(u=>Zpe(u.x,u.y,t))}function Zpe(e,t,n){let r=0;for(let i=0,o=n.length-1;i<n.length;o=i++){let[s,a]=n[o],[u,l]=n[i];l>t!=a>t&&e<(s-u)*(t-l)/(a-l)+u&&r++}return r&1}var gp={random(){return Pr()},cumulativeNormal:jh,cumulativeLogNormal:_1,cumulativeUniform:T1,densityNormal:v1,densityLogNormal:A1,densityUniform:F1,quantileNormal:Wh,quantileLogNormal:C1,quantileUniform:R1,sampleNormal:Gh,sampleLogNormal:S1,sampleUniform:k1,isArray:O,isBoolean:ni,isDate:Io,isDefined(e){return e!==void 0},isNumber:Te,isObject:Q,isRegExp:Hx,isString:Y,isTuple:dc,isValid(e){return e!=null&&e===e},toBoolean:ph,toDate(e){return mh(e)},toNumber:Vt,toString:hh,indexof:Fpe,join:kpe,lastindexof:Tpe,replace:Dpe,reverse:Mpe,sort:Ipe,slice:Rpe,flush:l2,lerp:f2,merge:Epe,pad:m2,peek:De,pluck:Cpe,span:Ta,inrange:Iu,truncate:h2,rgb:oo,lab:Qu,hcl:Sc,hsl:wc,luminance:bM,contrast:vpe,sequence:Yt,format:epe,utcFormat:tpe,utcParse:rpe,utcOffset:tC,utcSequence:rC,timeFormat:tz,timeParse:npe,timeOffset:eC,timeSequence:nC,timeUnitSpecifier:W2,monthFormat:ipe,monthAbbrevFormat:ope,dayFormat:spe,dayAbbrevFormat:ape,quarter:o2,utcquarter:s2,week:X2,utcweek:Q2,dayofyear:Y2,utcdayofyear:K2,warn:ype,info:xpe,debug:bpe,extent(e){return Rr(e)},inScope:gpe,intersect:uz,clampRange:a2,pinchDistance:Ape,pinchAngle:_pe,screen:Wpe,containerSize:Ype,windowSize:Vpe,bandspace:Npe,setdata:Jde,pathShape:qpe,panLinear:t2,panLog:n2,panPow:r2,panSymlog:i2,zoomLinear:ah,zoomLog:uh,zoomPow:nd,zoomSymlog:lh,encode:Zde,modify:Spe,lassoAppend:Kpe,lassoPath:Qpe,intersectLasso:Jpe},eme=["view","item","group","xy","x","y"],tme="event.vega.",lz="this.",_M={},cz={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${K(nz+e)}]`,functions:nme,constants:pM,visitors:_M},vM=xE(cz);function nme(e){let t=mM(e);eme.forEach(n=>t[n]=tme+n);for(let n in gp)t[n]=lz+n;return Se(t,fpe(e,gp,_M)),t}function Ht(e,t,n){return arguments.length===1?gp[e]:(gp[e]=t,n&&(_M[e]=n),vM&&(vM.functions[e]=lz+e),this)}Ht("bandwidth",Ope,Wr);Ht("copy",Ppe,Wr);Ht("domain",$pe,Wr);Ht("range",Bpe,Wr);Ht("invert",Lpe,Wr);Ht("scale",Upe,Wr);Ht("gradient",zpe,Wr);Ht("geoArea",dpe,Wr);Ht("geoBounds",ppe,Wr);Ht("geoCentroid",mpe,Wr);Ht("geoShape",Hpe,Wr);Ht("geoScale",hpe,Wr);Ht("indata",Qde,cpe);Ht("data",ez,EM);Ht("treePath",Gpe,EM);Ht("treeAncestors",jpe,EM);Ht("vlSelectionTest",W9,vE);Ht("vlSelectionIdTest",Y9,vE);Ht("vlSelectionResolve",K9,vE);Ht("vlSelectionTuples",X9);function Qo(e,t){let n={},r;try{e=Y(e)?e:K(e)+"",r=yE(e)}catch{U("Expression parse error: "+e)}r.visit(o=>{if(o.type!==lM)return;let s=o.callee.name,a=cz.visitors[s];a&&a(s,o.arguments,t,n)});let i=vM(r);return i.globals.forEach(o=>{let s=nz+o;!ne(n,s)&&t.getSignal(o)&&(n[s]=t.signalRef(o))}),{$expr:Se({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}function rme(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(r=>t.parseOperator(r)),n.forEach(r=>t.parseOperatorParameters(r)),(e.streams||[]).forEach(r=>t.parseStream(r)),(e.updates||[]).forEach(r=>t.parseUpdate(r)),t.resolve()}var ime=en(["rule"]),fz=en(["group","image","rect"]);function ome(e,t){let n="";return ime[t]||(e.x2&&(e.x?(fz[t]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),e.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(fz[t]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),e.yc&&(n+="o.y=o.yc-(o.height||0)/2;")),n}function CM(e){return(e+"").toLowerCase()}function sme(e){return CM(e)==="operator"}function ame(e){return CM(e)==="collect"}function Y0(e,t,n){n.endsWith(";")||(n="return("+n+");");let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}function ume(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n} |