"use strict";(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[785],{45948:(t,e,n)=>{n.d(e,{P:()=>g});const i="view",r="[",s="]",a="{",o="}",u=":",l=",",c="@",f=">",d=/[[\]{}]/,h={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let p,m;function g(t,e,n){p=e||i;m=n||h;return b(t.trim()).map(x)}function y(t){return m[t]}function v(t,e,n,i,r){const s=t.length;let a=0,o;for(;e=0)--a;else if(i&&i.indexOf(o)>=0)++a}return e}function b(t){const e=[],n=t.length;let i=0,u=0;while(u' after between selector: "+t}i=i.map(x);const a=x(t.slice(1).trim());if(a.between){return{between:i,stream:a}}else{a.between=i}return a}function w(t){const e={source:p},n=[];let i=[0,0],l=0,f=0,h=t.length,m=0,g,b;if(t[h-1]===o){m=t.lastIndexOf(a);if(m>=0){try{i=A(t.substring(m+1,h-1))}catch(x){throw"Invalid throttle specification: "+t}t=t.slice(0,m).trim();h=t.length}else throw"Unmatched right brace: "+t;m=0}if(!h)throw t;if(t[0]===c)l=++m;g=v(t,m,u);if(g1){e.type=n[1];if(l){e.markname=n[0].slice(1)}else if(y(n[0])){e.marktype=n[0]}else{e.source=n[0]}}else{e.type=n[0]}if(e.type.slice(-1)==="!"){e.consume=true;e.type=e.type.slice(0,-1)}if(b!=null)e.filter=b;if(i[0])e.throttle=i[0];if(i[1])e.debounce=i[1];return e}function A(t){const e=t.split(l);if(!t.length||e.length>2)throw t;return e.map((e=>{const n=+e;if(n!==n)throw t;return n}))}},60785:(t,e,n)=>{n.r(e);n.d(e,{Bounds:()=>vd,CanvasHandler:()=>jm,CanvasRenderer:()=>Zm,DATE:()=>it,DAY:()=>rt,DAYOFYEAR:()=>st,Dataflow:()=>Si,Debug:()=>p.y,Error:()=>p.$D,EventStream:()=>Ln,Gradient:()=>Hc,GroupItem:()=>xd,HOURS:()=>at,Handler:()=>hm,HybridHandler:()=>ey,HybridRenderer:()=>ty,Info:()=>p.R2,Item:()=>bd,MILLISECONDS:()=>lt,MINUTES:()=>ot,MONTH:()=>et,Marks:()=>Qp,MultiPulse:()=>pi,None:()=>p.NV,Operator:()=>$n,Parameters:()=>Dn,Pulse:()=>ci,QUARTER:()=>tt,RenderType:()=>oy,Renderer:()=>mm,ResourceLoader:()=>_d,SECONDS:()=>ut,SVGHandler:()=>eg,SVGRenderer:()=>Rg,SVGStringRenderer:()=>Qg,Scenegraph:()=>rm,TIME_UNITS:()=>ct,Transform:()=>Bi,View:()=>Aq,WEEK:()=>nt,Warn:()=>p.P$,YEAR:()=>J,accessor:()=>p.sY,accessorFields:()=>p.nS,accessorName:()=>p.N6,array:()=>p.YO,ascending:()=>p.V_,bandwidthNRD:()=>er,bin:()=>nr,bootstrapCI:()=>sr,boundClip:()=>gy,boundContext:()=>jd,boundItem:()=>Kp,boundMark:()=>Jp,boundStroke:()=>kd,changeset:()=>En,clampRange:()=>p.BS,codegenExpression:()=>PR,compare:()=>p.UD,constant:()=>p.dY,cumulativeLogNormal:()=>wr,cumulativeNormal:()=>mr,cumulativeUniform:()=>Cr,dayofyear:()=>yt,debounce:()=>p.sg,defaultLocale:()=>Fe,definition:()=>Ri,densityLogNormal:()=>_r,densityNormal:()=>pr,densityUniform:()=>Dr,domChild:()=>um,domClear:()=>lm,domCreate:()=>am,domFind:()=>om,dotbin:()=>ar,error:()=>p.z3,expressionFunction:()=>yL,extend:()=>p.X$,extent:()=>p.Xx,extentIndex:()=>p.n,falsy:()=>p.me,fastmap:()=>p.nG,field:()=>p.ZZ,flush:()=>p.bX,font:()=>Lp,fontFamily:()=>Np,fontSize:()=>Fp,format:()=>an,formatLocale:()=>xe,formats:()=>on,hasOwnProperty:()=>p.mQ,id:()=>p.id,identity:()=>p.D_,inferType:()=>Qe,inferTypes:()=>Ke,ingest:()=>bn,inherits:()=>p.B,inrange:()=>p.PK,interpolate:()=>oc,interpolateColors:()=>ic,interpolateRange:()=>nc,intersect:()=>cy,intersectBoxLine:()=>th,intersectPath:()=>Qd,intersectPoint:()=>Kd,intersectRule:()=>Jd,isArray:()=>p.cy,isBoolean:()=>p.Lm,isDate:()=>p.$P,isFunction:()=>p.Tn,isIterable:()=>p.xZ,isNumber:()=>p.Et,isObject:()=>p.Gv,isRegExp:()=>p.gd,isString:()=>p.Kg,isTuple:()=>gn,key:()=>p.Eb,lerp:()=>p.Cc,lineHeight:()=>Sp,loader:()=>fn,locale:()=>Ce,logger:()=>p.vF,lruCache:()=>p.EV,markup:()=>Eg,merge:()=>p.h1,mergeConfig:()=>p.io,multiLineOffset:()=>$p,one:()=>p.xH,pad:()=>p.eV,panLinear:()=>p.VC,panLog:()=>p.KH,panPow:()=>p.co,panSymlog:()=>p.zy,parse:()=>GY,parseExpression:()=>OR,parseSelector:()=>Cq.P,path:()=>Qo.Ae,pathCurves:()=>Qc,pathEqual:()=>by,pathParse:()=>nf,pathRectangle:()=>zf,pathRender:()=>yf,pathSymbols:()=>_f,pathTrail:()=>Bf,peek:()=>p.se,point:()=>fm,projection:()=>wk,quantileLogNormal:()=>Ar,quantileNormal:()=>gr,quantileUniform:()=>Fr,quantiles:()=>Ji,quantizeInterpolator:()=>rc,quarter:()=>p.$G,quartiles:()=>tr,random:()=>ir,randomInteger:()=>lr,randomKDE:()=>br,randomLCG:()=>ur,randomLogNormal:()=>kr,randomMixture:()=>Er,randomNormal:()=>vr,randomUniform:()=>Sr,read:()=>ln,regressionConstant:()=>zr,regressionExp:()=>Lr,regressionLinear:()=>Tr,regressionLoess:()=>Wr,regressionLog:()=>Nr,regressionPoly:()=>Ir,regressionPow:()=>Pr,regressionQuad:()=>qr,renderModule:()=>ly,repeat:()=>p.ux,resetDefaultLocale:()=>Se,resetSVGClipId:()=>gd,resetSVGDefIds:()=>_y,responseType:()=>un,runtimeContext:()=>HL,sampleCurve:()=>Kr,sampleLogNormal:()=>xr,sampleNormal:()=>hr,sampleUniform:()=>Mr,scale:()=>Yl,sceneEqual:()=>vy,sceneFromJSON:()=>nm,scenePickVisit:()=>dh,sceneToJSON:()=>em,sceneVisit:()=>fh,sceneZOrder:()=>ch,scheme:()=>pc,serializeXML:()=>Mg,setHybridRendererOptions:()=>Jg,setRandom:()=>rr,span:()=>p.Ln,splitAccessPath:()=>p.iv,stringValue:()=>p.r$,textMetrics:()=>Ap,timeBin:()=>ce,timeFloor:()=>Rt,timeFormatLocale:()=>Me,timeInterval:()=>qt,timeOffset:()=>jt,timeSequence:()=>Wt,timeUnitSpecifier:()=>pt,timeUnits:()=>dt,toBoolean:()=>p.G4,toDate:()=>p.ay,toNumber:()=>p.Ro,toSet:()=>p.M1,toString:()=>p.dI,transform:()=>Oi,transforms:()=>$i,truncate:()=>p.xv,truthy:()=>p.vN,tupleid:()=>yn,typeParsers:()=>Xe,utcFloor:()=>Nt,utcInterval:()=>It,utcOffset:()=>Gt,utcSequence:()=>Xt,utcdayofyear:()=>At,utcquarter:()=>p.vu,utcweek:()=>kt,version:()=>YY,visitArray:()=>p.rt,week:()=>vt,writeConfig:()=>p.AU,zero:()=>p.v_,zoomLinear:()=>p.lL,zoomLog:()=>p.oV,zoomPow:()=>p.SW,zoomSymlog:()=>p.B2});var i={};n.r(i);n.d(i,{aggregate:()=>xs,bin:()=>ws,collect:()=>ks,compare:()=>Es,countpattern:()=>Ds,cross:()=>Fs,density:()=>Ts,dotbin:()=>js,expression:()=>Ys,extent:()=>Xs,facet:()=>Vs,field:()=>Qs,filter:()=>Zs,flatten:()=>Js,fold:()=>ta,formula:()=>ea,generate:()=>na,impute:()=>sa,joinaggregate:()=>la,kde:()=>ca,key:()=>fa,load:()=>ha,lookup:()=>ga,multiextent:()=>ya,multivalues:()=>ba,params:()=>_a,pivot:()=>wa,prefacet:()=>Ma,project:()=>Da,proxy:()=>Fa,quantile:()=>Sa,relay:()=>Ba,sample:()=>$a,sequence:()=>Ra,sieve:()=>Oa,subflow:()=>Hs,timeunit:()=>Ta,tupleindex:()=>La,values:()=>Pa,window:()=>Xa});var r={};n.r(r);n.d(r,{bound:()=>sv,identifier:()=>uv,mark:()=>cv,overlap:()=>dv,render:()=>xv,viewlayout:()=>Qv});var s={};n.r(s);n.d(s,{axisticks:()=>eb,datajoin:()=>nb,encode:()=>sb,legendentries:()=>ab,linkpath:()=>fb,pie:()=>Eb,scale:()=>Sb,sortitems:()=>jb,stack:()=>Hb});var a={};n.r(a);n.d(a,{contour:()=>Jk,geojson:()=>iE,geopath:()=>rE,geopoint:()=>aE,geoshape:()=>oE,graticule:()=>lE,heatmap:()=>cE,isocontour:()=>qk,kde2d:()=>Vk,projection:()=>mE});var o={};n.r(o);n.d(o,{force:()=>yM});var u={};n.r(u);n.d(u,{nest:()=>TD,pack:()=>GD,partition:()=>WD,stratify:()=>XD,tree:()=>QD,treelinks:()=>KD,treemap:()=>tC});var l={};n.r(l);n.d(l,{label:()=>qC});var c={};n.r(c);n.d(c,{loess:()=>UC,regression:()=>YC});var f={};n.r(f);n.d(f,{voronoi:()=>Qz});var d={};n.r(d);n.d(d,{wordcloud:()=>mB});var h={};n.r(h);n.d(h,{crossfilter:()=>DB,resolvefilter:()=>CB});var p=n(26372);var m={},g={},y=34,v=10,b=13;function x(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function _(t,e){var n=x(t);return function(i,r){return e(n(i),r,t)}}function w(t){var e=Object.create(null),n=[];t.forEach((function(t){for(var i in t){if(!(i in e)){n.push(e[i]=i)}}}));return n}function A(t,e){var n=t+"",i=n.length;return i9999?"+"+A(t,6):A(t,4)}function E(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),i=t.getUTCSeconds(),r=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":k(t.getUTCFullYear(),4)+"-"+A(t.getUTCMonth()+1,2)+"-"+A(t.getUTCDate(),2)+(r?"T"+A(e,2)+":"+A(n,2)+":"+A(i,2)+"."+A(r,3)+"Z":i?"T"+A(e,2)+":"+A(n,2)+":"+A(i,2)+"Z":n||e?"T"+A(e,2)+":"+A(n,2)+"Z":"")}function M(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var n,i,s=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?_(t,e):x(t)}));s.columns=i||[];return s}function r(t,e){var i=[],r=t.length,s=0,a=0,o,u=r<=0,l=false;if(t.charCodeAt(r-1)===v)--r;if(t.charCodeAt(r-1)===b)--r;function c(){if(u)return g;if(l)return l=false,m;var e,i=s,a;if(t.charCodeAt(i)===y){while(s++=r)u=true;else if((a=t.charCodeAt(s++))===v)l=true;else if(a===b){l=true;if(t.charCodeAt(s)===v)++s}return t.slice(i+1,e-1).replace(/""/g,'"')}while(s1)i=T(t,e,n);else for(r=0,i=new Array(s=t.arcs.length);r(t[e]=1+n,t)),{});function dt(t){const e=(0,p.YO)(t).slice(),n={};if(!e.length)(0,p.z3)("Missing time unit.");e.forEach((t=>{if((0,p.mQ)(ft,t)){n[t]=1}else{(0,p.z3)(`Invalid time unit: ${t}.`)}}));const i=(n[nt]||n[rt]?1:0)+(n[tt]||n[et]||n[it]?1:0)+(n[st]?1:0);if(i>1){(0,p.z3)(`Incompatible time units: ${t}`)}e.sort(((t,e)=>ft[t]-ft[e]));return e}const ht={[J]:"%Y ",[tt]:"Q%q ",[et]:"%b ",[it]:"%d ",[nt]:"W%U ",[rt]:"%a ",[st]:"%j ",[at]:"%H:00",[ot]:"00:%M",[ut]:":%S",[lt]:".%L",[`${J}-${et}`]:"%Y-%m ",[`${J}-${et}-${it}`]:"%Y-%m-%d ",[`${at}-${ot}`]:"%H:%M"};function pt(t,e){const n=(0,p.X$)({},ht,e),i=dt(t),r=i.length;let s="",a=0,o,u;for(a=0;aa;--o){u=i.slice(a,o).join("-");if(n[u]!=null){s+=n[u];a=o;break}}}return s.trim()}const mt=new Date;function gt(t){mt.setFullYear(t);mt.setMonth(0);mt.setDate(1);mt.setHours(0,0,0,0);return mt}function yt(t){return bt(new Date(t))}function vt(t){return xt(new Date(t))}function bt(t){return G.UA.count(gt(t.getFullYear())-1,t)}function xt(t){return Y.YP.count(gt(t.getFullYear())-1,t)}function _t(t){return gt(t).getDay()}function wt(t,e,n,i,r,s,a){if(0<=t&&t<100){const o=new Date(-1,e,n,i,r,s,a);o.setFullYear(t);return o}return new Date(t,e,n,i,r,s,a)}function At(t){return Et(new Date(t))}function kt(t){return Mt(new Date(t))}function Et(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return G.dA.count(e-1,t)}function Mt(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return Y.Hl.count(e-1,t)}function Dt(t){mt.setTime(Date.UTC(t,0,1));return mt.getUTCDay()}function Ct(t,e,n,i,r,s,a){if(0<=t&&t<100){const t=new Date(Date.UTC(-1,e,n,i,r,s,a));t.setUTCFullYear(n.y);return t}return new Date(Date.UTC(t,e,n,i,r,s,a))}function Ft(t,e,n,i,r){const s=e||1,a=(0,p.se)(t),o=(t,e,r)=>{r=r||t;return St(n[r],i[r],t===a&&s,e)};const u=new Date,l=(0,p.M1)(t),c=l[J]?o(J):(0,p.dY)(2012),f=l[et]?o(et):l[tt]?o(tt):p.v_,d=l[nt]&&l[rt]?o(rt,1,nt+rt):l[nt]?o(nt,1):l[rt]?o(rt,1):l[it]?o(it,1):l[st]?o(st,1):p.xH,h=l[at]?o(at):p.v_,m=l[ot]?o(ot):p.v_,g=l[ut]?o(ut):p.v_,y=l[lt]?o(lt):p.v_;return function(t){u.setTime(+t);const e=c(u);return r(e,f(u),d(u,e),h(u),m(u),g(u),y(u))}}function St(t,e,n,i){const r=n<=1?t:i?(e,r)=>i+n*Math.floor((t(e,r)-i)/n):(e,i)=>n*Math.floor(t(e,i)/n);return e?(t,n)=>e(r(t,n),n):r}function zt(t,e,n){return e+t*7-(n+6)%7}const Bt={[J]:t=>t.getFullYear(),[tt]:t=>Math.floor(t.getMonth()/3),[et]:t=>t.getMonth(),[it]:t=>t.getDate(),[at]:t=>t.getHours(),[ot]:t=>t.getMinutes(),[ut]:t=>t.getSeconds(),[lt]:t=>t.getMilliseconds(),[st]:t=>bt(t),[nt]:t=>xt(t),[nt+rt]:(t,e)=>zt(xt(t),t.getDay(),_t(e)),[rt]:(t,e)=>zt(1,t.getDay(),_t(e))};const $t={[tt]:t=>3*t,[nt]:(t,e)=>zt(t,0,_t(e))};function Rt(t,e){return Ft(t,e||1,Bt,$t,wt)}const Ot={[J]:t=>t.getUTCFullYear(),[tt]:t=>Math.floor(t.getUTCMonth()/3),[et]:t=>t.getUTCMonth(),[it]:t=>t.getUTCDate(),[at]:t=>t.getUTCHours(),[ot]:t=>t.getUTCMinutes(),[ut]:t=>t.getUTCSeconds(),[lt]:t=>t.getUTCMilliseconds(),[st]:t=>Et(t),[nt]:t=>Mt(t),[rt]:(t,e)=>zt(1,t.getUTCDay(),Dt(e)),[nt+rt]:(t,e)=>zt(Mt(t),t.getUTCDay(),Dt(e))};const Tt={[tt]:t=>3*t,[nt]:(t,e)=>zt(t,0,Dt(e))};function Nt(t,e){return Ft(t,e||1,Ot,Tt,Ct)}const Lt={[J]:W.he,[tt]:X.Ui.every(3),[et]:X.Ui,[nt]:Y.YP,[it]:G.UA,[rt]:G.UA,[st]:G.UA,[at]:H.Ag,[ot]:V.wX,[ut]:Q.R,[lt]:K.y};const Pt={[J]:W.Mb,[tt]:X.R6.every(3),[et]:X.R6,[nt]:Y.Hl,[it]:G.dA,[rt]:G.dA,[st]:G.dA,[at]:H.pz,[ot]:V.vD,[ut]:Q.R,[lt]:K.y};function qt(t){return Lt[t]}function It(t){return Pt[t]}function Ut(t,e,n){return t?t.offset(e,n):undefined}function jt(t,e,n){return Ut(qt(t),e,n)}function Gt(t,e,n){return Ut(It(t),e,n)}function Yt(t,e,n,i){return t?t.range(e,n,i):undefined}function Wt(t,e,n,i){return Yt(qt(t),e,n,i)}function Xt(t,e,n,i){return Yt(It(t),e,n,i)}const Ht=1e3,Vt=Ht*60,Qt=Vt*60,Kt=Qt*24,Zt=Kt*7,Jt=Kt*30,te=Kt*365;const ee=[J,et,it,at,ot,ut,lt],ne=ee.slice(0,-1),ie=ne.slice(0,-1),re=ie.slice(0,-1),se=re.slice(0,-1),ae=[J,nt],oe=[J,et],ue=[J];const le=[[ne,1,Ht],[ne,5,5*Ht],[ne,15,15*Ht],[ne,30,30*Ht],[ie,1,Vt],[ie,5,5*Vt],[ie,15,15*Vt],[ie,30,30*Vt],[re,1,Qt],[re,3,3*Qt],[re,6,6*Qt],[re,12,12*Qt],[se,1,Kt],[ae,1,Zt],[oe,1,Jt],[oe,3,3*Jt],[ue,1,te]];function ce(t){const e=t.extent,n=t.maxbins||40,i=Math.abs((0,p.Ln)(e))/n;let r=(0,Z.A)((t=>t[2])).right(le,i),s,a;if(r===le.length){s=ue,a=(0,N.sG)(e[0]/te,e[1]/te,n)}else if(r){r=le[i/le[r-1][2]e[n]||(e[n]=t(n))}function pe(t,e){return n=>{const i=t(n),r=i.indexOf(e);if(r<0)return i;let s=me(i,r);const a=sr)if(i[s]!=="0"){++s;break}return i.slice(0,s)+a}}function me(t,e){let n=t.lastIndexOf("e"),i;if(n>0)return n;for(n=t.length;--n>e;){i=t.charCodeAt(n);if(i>=48&&i<=57)return n+1}}function ge(t){const e=he(t.format),n=t.formatPrefix;return{format:e,formatPrefix:n,formatFloat(t){const n=(0,L.A)(t||",");if(n.precision==null){n.precision=12;switch(n.type){case"%":n.precision-=2;break;case"e":n.precision-=1;break}return pe(e(n),e(".1f")(1)[1])}else{return e(n)}},formatSpan(t,i,r,s){s=(0,L.A)(s==null?",f":s);const a=(0,N.sG)(t,i,r),o=Math.max(Math.abs(t),Math.abs(i));let u;if(s.precision==null){switch(s.type){case"s":{if(!isNaN(u=(0,P.A)(a,o))){s.precision=u}return n(s,o)}case"":case"e":case"g":case"p":case"r":{if(!isNaN(u=(0,q.A)(a,o))){s.precision=u-(s.type==="e")}break}case"f":case"%":{if(!isNaN(u=(0,I.A)(a))){s.precision=u-(s.type==="%")*2}break}}}return e(s)}}}let ye;ve();function ve(){return ye=ge({format:U.GP,formatPrefix:U.s})}function be(t){return ge((0,j.A)(t))}function xe(t){return arguments.length?ye=be(t):ye}function _e(t,e,n){n=n||{};if(!(0,p.Gv)(n)){(0,p.z3)(`Invalid time multi-format specifier: ${n}`)}const i=e(ut),r=e(ot),s=e(at),a=e(it),o=e(nt),u=e(et),l=e(tt),c=e(J),f=t(n[lt]||".%L"),d=t(n[ut]||":%S"),h=t(n[ot]||"%I:%M"),m=t(n[at]||"%I %p"),g=t(n[it]||n[rt]||"%a %d"),y=t(n[nt]||"%b %d"),v=t(n[et]||"%B"),b=t(n[tt]||"%B"),x=t(n[J]||"%Y");return t=>(i(t)(0,p.Kg)(t)?e(t):_e(e,qt,t),utcFormat:t=>(0,p.Kg)(t)?n(t):_e(n,It,t),timeParse:he(t.parse),utcParse:he(t.utcParse)}}let Ae;ke();function ke(){return Ae=we({format:fe.DC,parse:fe.T6,utcFormat:fe.aL,utcParse:fe.GY})}function Ee(t){return we((0,de.A)(t))}function Me(t){return arguments.length?Ae=Ee(t):Ae}const De=(t,e)=>(0,p.X$)({},t,e);function Ce(t,e){const n=t?be(t):xe();const i=e?Ee(e):Me();return De(n,i)}function Fe(t,e){const n=arguments.length;if(n&&n!==2){(0,p.z3)("defaultLocale expects either zero or two arguments.")}return n?De(xe(t),Me(e)):De(xe(),Me())}function Se(){ve();ke();return Fe()}const ze=/^(data:|([A-Za-z]+:)?\/\/)/;const Be=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;const $e=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const Re="file://";function Oe(t,e){return n=>({options:n||{},sanitize:Ne,load:Te,fileAccess:false,file:Le(e),http:qe(t)})}async function Te(t,e){const n=await this.sanitize(t,e),i=n.href;return n.localFile?this.file(i):this.http(i,e)}async function Ne(t,e){e=(0,p.X$)({},this.options,e);const n=this.fileAccess,i={href:null};let r,s,a;const o=Be.test(t.replace($e,""));if(t==null||typeof t!=="string"||!o){(0,p.z3)("Sanitize failure, invalid URI: "+(0,p.r$)(t))}const u=ze.test(t);if((a=e.baseURL)&&!u){if(!t.startsWith("/")&&!a.endsWith("/")){t="/"+t}t=a+t}s=(r=t.startsWith(Re))||e.mode==="file"||e.mode!=="http"&&!u&&n;if(r){t=t.slice(Re.length)}else if(t.startsWith("//")){if(e.defaultProtocol==="file"){t=t.slice(2);s=true}else{t=(e.defaultProtocol||"http")+":"+t}}Object.defineProperty(i,"localFile",{value:!!s});i.href=t;if(e.target){i.target=e.target+""}if(e.rel){i.rel=e.rel+""}if(e.context==="image"&&e.crossOrigin){i.crossOrigin=e.crossOrigin+""}return i}function Le(t){return t?e=>new Promise(((n,i)=>{t.readFile(e,((t,e)=>{if(t)i(t);else n(e)}))})):Pe}async function Pe(){(0,p.z3)("No file system access.")}function qe(t){return t?async function(e,n){const i=(0,p.X$)({},this.options.http,n),r=n&&n.response,s=await t(e,i);return!s.ok?(0,p.z3)(s.status+""+s.statusText):(0,p.Tn)(s[r])?s[r]():s.text()}:Ie}async function Ie(){(0,p.z3)("No HTTP fetch method available.")}const Ue=t=>t!=null&&t===t;const je=t=>t==="true"||t==="false"||t===true||t===false;const Ge=t=>!Number.isNaN(Date.parse(t));const Ye=t=>!Number.isNaN(+t)&&!(t instanceof Date);const We=t=>Ye(t)&&Number.isInteger(+t);const Xe={boolean:p.G4,integer:p.Ro,number:p.Ro,date:p.ay,string:p.dI,unknown:p.D_};const He=[je,We,Ye,Ge];const Ve=["boolean","integer","number","date"];function Qe(t,e){if(!t||!t.length)return"unknown";const n=t.length,i=He.length,r=He.map(((t,e)=>e+1));for(let s=0,a=0,o,u;st===0?e:t),0)-1]}function Ke(t,e){return e.reduce(((e,n)=>{e[n]=Qe(t,n);return e}),{})}function Ze(t){const e=function(e,n){const i={delimiter:t};return Je(e,n?(0,p.X$)(n,i):i)};e.responseType="text";return e}function Je(t,e){if(e.header){t=e.header.map(p.r$).join(e.delimiter)+"\n"+t}return M(e.delimiter).parse(t+"")}Je.responseType="text";function tn(t){return typeof Buffer==="function"&&(0,p.Tn)(Buffer.isBuffer)?Buffer.isBuffer(t):false}function en(t,e){const n=e&&e.property?(0,p.ZZ)(e.property):p.D_;return(0,p.Gv)(t)&&!tn(t)?nn(n(t),e):n(JSON.parse(t))}en.responseType="json";function nn(t,e){if(!(0,p.cy)(t)&&(0,p.xZ)(t)){t=[...t]}return e&&e.copy?JSON.parse(JSON.stringify(t)):t}const rn={interior:(t,e)=>t!==e,exterior:(t,e)=>t===e};function sn(t,e){let n,i,r,s;t=en(t,e);if(e&&e.feature){n=S;r=e.feature}else if(e&&e.mesh){n=R;r=e.mesh;s=rn[e.filter]}else{(0,p.z3)("Missing TopoJSON feature or mesh parameter.")}i=(i=t.objects[r])?n(t,i,s):(0,p.z3)("Invalid TopoJSON object: "+r);return i&&i.features||[i]}sn.responseType="json";const an={dsv:Je,csv:Ze(","),tsv:Ze("\t"),json:en,topojson:sn};function on(t,e){if(arguments.length>1){an[t]=e;return this}else{return(0,p.mQ)(an,t)?an[t]:null}}function un(t){const e=on(t);return e&&e.responseType||"text"}function ln(t,e,n,i){e=e||{};const r=on(e.type||"json");if(!r)(0,p.z3)("Unknown data format type: "+e.type);t=r(t,e);if(e.parse)cn(t,e.parse,n,i);if((0,p.mQ)(t,"columns"))delete t.columns;return t}function cn(t,e,n,i){if(!t.length)return;const r=Me();n=n||r.timeParse;i=i||r.utcParse;let s=t.columns||Object.keys(t[0]),a,o,u,l,c,f;if(e==="auto")e=Ke(t,s);s=Object.keys(e);const d=s.map((t=>{const r=e[t];let s,a;if(r&&(r.startsWith("date:")||r.startsWith("utc:"))){s=r.split(/:(.+)?/,2);a=s[1];if(a[0]==="'"&&a[a.length-1]==="'"||a[0]==='"'&&a[a.length-1]==='"'){a=a.slice(1,-1)}const t=s[0]==="utc"?i:n;return t(a)}if(!Xe[r]){throw Error("Illegal format pattern: "+t+":"+r)}return Xe[r]}));for(u=0,c=t.length,f=s.length;u{const r=e(t);if(!i[r]){i[r]=1;n.push(t)}return n};n.remove=t=>{const r=e(t);if(i[r]){i[r]=0;const e=n.indexOf(t);if(e>=0)n.splice(e,1)}return n};return n}async function hn(t,e){try{await e(t)}catch(n){t.error(n)}}const pn=Symbol("vega_id");let mn=1;function gn(t){return!!(t&&yn(t))}function yn(t){return t[pn]}function vn(t,e){t[pn]=e;return t}function bn(t){const e=t===Object(t)?t:{data:t};return yn(e)?e:vn(e,mn++)}function xn(t){return _n(t,bn({}))}function _n(t,e){for(const n in t)e[n]=t[n];return e}function wn(t,e){return vn(e,yn(t))}function An(t,e){return!t?null:e?(n,i)=>t(n,i)||yn(e(n))-yn(e(i)):(e,n)=>t(e,n)||yn(e)-yn(n)}function kn(t){return t&&t.constructor===En}function En(){const t=[],e=[],n=[],i=[],r=[];let s=null,a=false;return{constructor:En,insert(e){const n=(0,p.YO)(e),i=n.length;for(let r=0;r{if(p(t))l[yn(t)]=-1}))}for(f=0,d=t.length;f0){y(m,p,h.value);o.modifies(p)}}for(f=0,d=r.length;f{if(p(t)&&l[yn(t)]>0){y(t,h.field,h.value)}}));o.modifies(h.field)}if(a){o.mod=e.length||i.length?u.filter((t=>l[yn(t)]>0)):u.slice()}else{for(g in c)o.mod.push(c[g])}if(s||s==null&&(e.length||i.length)){o.clean(true)}return o}}}const Mn="_:mod:_";function Dn(){Object.defineProperty(this,Mn,{writable:true,value:{}})}Dn.prototype={set(t,e,n,i){const r=this,s=r[t],a=r[Mn];if(e!=null&&e>=0){if(s[e]!==n||i){s[e]=n;a[e+":"+t]=-1;a[t]=-1}}else if(s!==n||i){r[t]=n;a[t]=(0,p.cy)(n)?1+n.length:-1}return r},modified(t,e){const n=this[Mn];if(!arguments.length){for(const t in n){if(n[t])return true}return false}else if((0,p.cy)(t)){for(let e=0;e=0?e+1{if(a instanceof $n){if(a!==this){if(e)a.targets().add(this);s.push(a)}r.push({op:a,name:t,index:n})}else{i.set(t,n,a)}};for(a in t){o=t[a];if(a===Fn){(0,p.YO)(o).forEach((t=>{if(!(t instanceof $n)){(0,p.z3)("Pulse parameters must be operator instances.")}else if(t!==this){t.targets().add(this);s.push(t)}}));this.source=o}else if((0,p.cy)(o)){i.set(a,-1,Array(u=o.length));for(l=0;l{const n=Date.now();if(n-e>t){e=n;return 1}else{return 0}}))},debounce(t){const e=Pn();this.targets().add(Pn(null,null,(0,p.sg)(t,(t=>{const n=t.dataflow;e.receive(t);if(n&&n.run)n.run()}))));return e},between(t,e){let n=false;t.targets().add(Pn(null,null,(()=>n=true)));e.targets().add(Pn(null,null,(()=>n=false)));return this.filter((()=>n))},detach(){this._filter=p.vN;this._targets=null}};function qn(t,e,n,i){const r=this,s=Pn(n,i),a=function(t){t.dataflow=r;try{s.receive(t)}catch(e){r.error(e)}finally{r.run()}};let o;if(typeof t==="string"&&typeof document!=="undefined"){o=document.querySelectorAll(t)}else{o=(0,p.YO)(t)}const u=o.length;for(let l=0;le=t));n.requests=0;n.done=()=>{if(--n.requests===0){t._pending=null;e(t)}};return t._pending=n}const Wn={skip:true};function Xn(t,e,n,i,r){const s=t instanceof $n?Vn:Hn;s(this,t,e,n,i,r);return this}function Hn(t,e,n,i,r,s){const a=(0,p.X$)({},s,Wn);let o,u;if(!(0,p.Tn)(n))n=(0,p.dY)(n);if(i===undefined){o=e=>t.touch(n(e))}else if((0,p.Tn)(i)){u=new $n(null,i,r,false);o=e=>{u.evaluate(e);const i=n(e),r=u.value;kn(r)?t.pulse(i,r,s):t.update(i,r,a)}}else{o=e=>t.update(n(e),i,a)}e.apply(o)}function Vn(t,e,n,i,r,s){if(i===undefined){e.targets().add(n)}else{const a=s||{},o=new $n(null,Qn(n,i),r,false);o.modified(a.force);o.rank=e.rank;e.targets().add(o);if(n){o.skip(true);o.value=n.value;o.targets().add(n);t.connect(n,[o])}}}function Qn(t,e){e=(0,p.Tn)(e)?e:(0,p.dY)(e);return t?function(n,i){const r=e(n,i);if(!t.skip()){t.skip(r!==this.value).value=r}return r}:e}function Kn(t){t.rank=++this._rank}function Zn(t){const e=[t];let n,i,r;while(e.length){this.rank(n=e.pop());if(i=n._targets){for(r=i.length;--r>=0;){e.push(n=i[r]);if(n===t)(0,p.z3)("Cycle detected in dataflow graph.")}}}}const Jn={};const ti=1<<0,ei=1<<1,ni=1<<2,ii=ti|ei,ri=ti|ni,si=ti|ei|ni,ai=1<<3,oi=1<<4,ui=1<<5,li=1<<6;function ci(t,e,n){this.dataflow=t;this.stamp=e==null?-1:e;this.add=[];this.rem=[];this.mod=[];this.fields=null;this.encode=n||null}function fi(t,e){const n=[];(0,p.rt)(t,e,(t=>n.push(t)));return n}function di(t,e){const n={};t.visit(e,(t=>{n[yn(t)]=1}));return t=>n[yn(t)]?null:t}function hi(t,e){return t?(n,i)=>t(n,i)&&e(n,i):e}ci.prototype={StopPropagation:Jn,ADD:ti,REM:ei,MOD:ni,ADD_REM:ii,ADD_MOD:ri,ALL:si,REFLOW:ai,SOURCE:oi,NO_SOURCE:ui,NO_FIELDS:li,fork(t){return new ci(this.dataflow).init(this,t)},clone(){const t=this.fork(si);t.add=t.add.slice();t.rem=t.rem.slice();t.mod=t.mod.slice();if(t.source)t.source=t.source.slice();return t.materialize(si|oi)},addAll(){let t=this;const e=!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length;if(e){return t}else{t=new ci(this.dataflow).init(this);t.add=t.source;t.rem=[];return t}},init(t,e){const n=this;n.stamp=t.stamp;n.encode=t.encode;if(t.fields&&!(e&li)){n.fields=t.fields}if(e&ti){n.addF=t.addF;n.add=t.add}else{n.addF=null;n.add=[]}if(e&ei){n.remF=t.remF;n.rem=t.rem}else{n.remF=null;n.rem=[]}if(e&ni){n.modF=t.modF;n.mod=t.mod}else{n.modF=null;n.mod=[]}if(e&ui){n.srcF=null;n.source=null}else{n.srcF=t.srcF;n.source=t.source;if(t.cleans)n.cleans=t.cleans}return n},runAfter(t){this.dataflow.runAfter(t)},changed(t){const e=t||si;return e&ti&&this.add.length||e&ei&&this.rem.length||e&ni&&this.mod.length},reflow(t){if(t)return this.fork(si).reflow();const e=this.add.length,n=this.source&&this.source.length;if(n&&n!==e){this.mod=this.source;if(e)this.filter(ni,di(this,ti))}return this},clean(t){if(arguments.length){this.cleans=!!t;return this}else{return this.cleans}},modifies(t){const e=this.fields||(this.fields={});if((0,p.cy)(t)){t.forEach((t=>e[t]=true))}else{e[t]=true}return this},modified(t,e){const n=this.fields;return!((e||this.mod.length)&&n)?false:!arguments.length?!!n:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(t,e){const n=this;if(t&ti)n.addF=hi(n.addF,e);if(t&ei)n.remF=hi(n.remF,e);if(t&ni)n.modF=hi(n.modF,e);if(t&oi)n.srcF=hi(n.srcF,e);return n},materialize(t){t=t||si;const e=this;if(t&ti&&e.addF){e.add=fi(e.add,e.addF);e.addF=null}if(t&ei&&e.remF){e.rem=fi(e.rem,e.remF);e.remF=null}if(t&ni&&e.modF){e.mod=fi(e.mod,e.modF);e.modF=null}if(t&oi&&e.srcF){e.source=e.source.filter(e.srcF);e.srcF=null}return e},visit(t,e){const n=this,i=e;if(t&oi){(0,p.rt)(n.source,n.srcF,i);return n}if(t&ti)(0,p.rt)(n.add,n.addF,i);if(t&ei)(0,p.rt)(n.rem,n.remF,i);if(t&ni)(0,p.rt)(n.mod,n.modF,i);const r=n.source;if(t&ai&&r){const t=n.add.length+n.mod.length;if(t===r.length);else if(t){(0,p.rt)(r,di(n,ri),i)}else{(0,p.rt)(r,n.srcF,i)}}return n}};function pi(t,e,n,i){const r=this;let s=0;this.dataflow=t;this.stamp=e;this.fields=null;this.encode=i||null;this.pulses=n;for(const a of n){if(a.stamp!==e)continue;if(a.fields){const t=r.fields||(r.fields={});for(const e in a.fields){t[e]=1}}if(a.changed(r.ADD))s|=r.ADD;if(a.changed(r.REM))s|=r.REM;if(a.changed(r.MOD))s|=r.MOD}this.changes=s}(0,p.B)(pi,ci,{fork(t){const e=new ci(this.dataflow).init(this,t&this.NO_FIELDS);if(t!==undefined){if(t&e.ADD)this.visit(e.ADD,(t=>e.add.push(t)));if(t&e.REM)this.visit(e.REM,(t=>e.rem.push(t)));if(t&e.MOD)this.visit(e.MOD,(t=>e.mod.push(t)))}return e},changed(t){return this.changes&t},modified(t){const e=this,n=e.fields;return!(n&&e.changes&e.MOD)?0:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(){(0,p.z3)("MultiPulse does not support filtering.")},materialize(){(0,p.z3)("MultiPulse does not support materialization.")},visit(t,e){const n=this,i=n.pulses,r=i.length;let s=0;if(t&n.SOURCE){for(;si._enqueue(t,true)));i._touched=dn(p.id);let a=0,o,u,l;try{while(i._heap.size()>0){o=i._heap.pop();if(o.rank!==o.qrank){i._enqueue(o,true);continue}u=o.run(i._getPulse(o,t));if(u.then){u=await u}else if(u.async){r.push(u.async);u=Jn}if(u!==Jn){if(o._targets)o._targets.forEach((t=>i._enqueue(t)))}++a}}catch(c){i._heap.clear();l=c}i._input={};i._pulse=null;i.debug(`Pulse ${s}: ${a} operators`);if(l){i._postrun=[];i.error(l)}if(i._postrun.length){const t=i._postrun.sort(((t,e)=>e.priority-t.priority));i._postrun=[];for(let e=0;ei.runAsync(null,(()=>{t.forEach((t=>{try{t(i)}catch(c){i.error(c)}}))}))))}return i}async function gi(t,e,n){while(this._running)await this._running;const i=()=>this._running=null;(this._running=this.evaluate(t,e,n)).then(i,i);return this._running}function yi(t,e,n){return this._pulse?bi(this):(this.evaluate(t,e,n),this)}function vi(t,e,n){if(this._pulse||e){this._postrun.push({priority:n||0,callback:t})}else{try{t(this)}catch(i){this.error(i)}}}function bi(t){t.error("Dataflow already running. Use runAsync() to chain invocations.");return t}function xi(t,e){const n=t.stampt.pulse)),e):this._input[t.id]||wi(this._pulse,n&&n.pulse)}function wi(t,e){if(e&&e.stamp===t.stamp){return e}t=t.fork();if(e&&e!==Jn){t.source=e.source}return t}const Ai={skip:false,force:false};function ki(t,e){const n=e||Ai;if(this._pulse){this._enqueue(t)}else{this._touched.add(t)}if(n.skip)t.skip(true);return this}function Ei(t,e,n){const i=n||Ai;if(t.set(e)||i.force){this.touch(t,i)}return this}function Mi(t,e,n){this.touch(t,n||Ai);const i=new ci(this,this._clock+(this._pulse?0:1)),r=t.pulse&&t.pulse.source||[];i.target=t;this._input[t.id]=e.pulse(i,r);return this}function Di(t){let e=[];return{clear:()=>e=[],size:()=>e.length,peek:()=>e[0],push:n=>{e.push(n);return Ci(e,0,e.length-1,t)},pop:()=>{const n=e.pop();let i;if(e.length){i=e[0];e[0]=n;Fi(e,0,t)}else{i=n}return i}}}function Ci(t,e,n,i){let r,s;const a=t[n];while(n>e){s=n-1>>1;r=t[s];if(i(a,r)<0){t[n]=r;n=s;continue}break}return t[n]=a}function Fi(t,e,n){const i=e,r=t.length,s=t[e];let a=(e<<1)+1,o;while(a=0){a=o}t[e]=t[a];e=a;a=(e<<1)+1}t[e]=s;return Ci(t,i,e,n)}function Si(){this.logger((0,p.vF)());this.logLevel(p.$D);this._clock=0;this._rank=0;this._locale=Fe();try{this._loader=fn()}catch(t){}this._touched=dn(p.id);this._input={};this._pulse=null;this._heap=Di(((t,e)=>t.qrank-e.qrank));this._postrun=[]}function zi(t){return function(){return this._log[t].apply(this,arguments)}}Si.prototype={stamp(){return this._clock},loader(t){if(arguments.length){this._loader=t;return this}else{return this._loader}},locale(t){if(arguments.length){this._locale=t;return this}else{return this._locale}},logger(t){if(arguments.length){this._log=t;return this}else{return this._log}},error:zi("error"),warn:zi("warn"),info:zi("info"),debug:zi("debug"),logLevel:zi("level"),cleanThreshold:1e4,add:On,connect:Tn,rank:Kn,rerank:Zn,pulse:Mi,touch:ki,update:Ei,changeset:En,ingest:Un,parse:In,preload:Gn,request:jn,events:qn,on:Xn,evaluate:mi,run:yi,runAsync:gi,runAfter:vi,_enqueue:xi,_getPulse:_i};function Bi(t,e){$n.call(this,t,null,e)}(0,p.B)(Bi,$n,{run(t){if(t.stampthis.pulse=t))}else if(e!==t.StopPropagation){this.pulse=e}return e},evaluate(t){const e=this.marshall(t.stamp),n=this.transform(e,t);e.clear();return n},transform(){}});const $i={};function Ri(t){const e=Oi(t);return e&&e.Definition||null}function Oi(t){t=t&&t.toLowerCase();return(0,p.mQ)($i,t)?$i[t]:null}var Ti=n(82887);var Ni=n(21671);var Li=n(44317);function Pi(t,...e){if(typeof t[Symbol.iterator]!=="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const i=Uint32Array.from(t,((t,e)=>e));if(e.length>1){e=e.map((e=>t.map(e)));i.sort(((t,n)=>{for(const i of e){const e=Ii(i[t],i[n]);if(e)return e}}))}else{n=t.map(n);i.sort(((t,e)=>Ii(n[t],n[e])))}return permute(t,i)}return t.sort(qi(n))}function qi(t=Ti.A){if(t===Ti.A)return Ii;if(typeof t!=="function")throw new TypeError("compare is not a function");return(e,n)=>{const i=t(e,n);if(i||i===0)return i;return(t(n,n)===0)-(t(e,e)===0)}}function Ii(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}function Ui(t,e,n=0,i=Infinity,r){e=Math.floor(e);n=Math.floor(Math.max(0,n));i=Math.floor(Math.min(t.length-1,i));if(!(n<=e&&e<=i))return t;r=r===undefined?Ii:qi(r);while(i>n){if(i-n>600){const s=i-n+1;const a=e-n+1;const o=Math.log(s);const u=.5*Math.exp(2*o/3);const l=.5*Math.sqrt(o*u*(s-u)/s)*(a-s/2<0?-1:1);const c=Math.max(n,Math.floor(e-a*u/s+l));const f=Math.min(i,Math.floor(e+(s-a)*u/s+l));Ui(t,e,c,f,r)}const s=t[e];let a=n;let o=i;ji(t,n,e);if(r(t[i],s)>0)ji(t,n,i);while(a0)--o}if(r(t[n],s)===0)ji(t,n,o);else++o,ji(t,o,i);if(o<=e)n=o+1;if(e<=o)i=o-1}return t}function ji(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}var Gi=n(40168);function Yi(t,e,n){t=Float64Array.from((0,Gi.n)(t,n));if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return(0,Li.A)(t);if(e>=1)return(0,Ni.A)(t);var i,r=(i-1)*e,s=Math.floor(r),a=(0,Ni.A)(Ui(t,s).subarray(0,s+1)),o=(0,Li.A)(t.subarray(s+1));return a+(o-a)*(r-s)}function Wi(t,e,n=Gi.A){if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return+n(t[0],0,t);if(e>=1)return+n(t[i-1],i-1,t);var i,r=(i-1)*e,s=Math.floor(r),a=+n(t[s],s,t),o=+n(t[s+1],s+1,t);return a+(o-a)*(r-s)}function Xi(t,e,n=number){if(isNaN(e=+e))return;i=Float64Array.from(t,((e,i)=>number(n(t[i],i,t))));if(e<=0)return minIndex(i);if(e>=1)return maxIndex(i);var i,r=Uint32Array.from(t,((t,e)=>e)),s=i.length-1,a=Math.floor(s*e);quickselect(r,a,0,s,((t,e)=>ascendingDefined(i[t],i[e])));a=greatest(r.subarray(0,a+1),(t=>i[t]));return a>=0?a:-1}function Hi(t,e){let n=0;let i;let r=0;let s=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){i=e-r;r+=i/++n;s+=i*(e-r)}}}else{let a=-1;for(let o of t){if((o=e(o,++a,t))!=null&&(o=+o)>=o){i=o-r;r+=i/++n;s+=i*(o-r)}}}if(n>1)return s/(n-1)}function Vi(t,e){const n=Hi(t,e);return n?Math.sqrt(n):n}function Qi(t,e){return Yi(t,.5,e)}function Ki(t,e){return quantileIndex(t,.5,e)}function*Zi(t,e){if(e==null){for(let e of t){if(e!=null&&e!==""&&(e=+e)>=e){yield e}}}else{let n=-1;for(let i of t){i=e(i,++n,t);if(i!=null&&i!==""&&(i=+i)>=i){yield i}}}}function Ji(t,e,n){const i=Float64Array.from(Zi(t,n));i.sort(Ti.A);return e.map((t=>Wi(i,t)))}function tr(t,e){return Ji(t,[.25,.5,.75],e)}function er(t,e){const n=t.length,i=Vi(t,e),r=tr(t,e),s=(r[2]-r[0])/1.34,a=Math.min(i,s)||i||Math.abs(r[0])||1;return 1.06*a*Math.pow(n,-.2)}function nr(t){const e=t.maxbins||20,n=t.base||10,i=Math.log(n),r=t.divide||[5,2];let s=t.extent[0],a=t.extent[1],o,u,l,c,f,d;const h=t.span||a-s||Math.abs(s)||1;if(t.step){o=t.step}else if(t.steps){c=h/e;for(f=0,d=t.steps.length;fe){o*=n}for(f=0,d=r.length;f=l&&h/c<=e)o=c}}c=Math.log(o);const p=c>=0?0:~~(-c/i)+1,m=Math.pow(n,-p-1);if(t.nice||t.nice===undefined){c=Math.floor(s/o+m)*o;s=st);const r=t.length,s=new Float64Array(r);let a=0,o=1,u=i(t[0]),l=u,c=u+e,f;for(;o=c){l=(u+l)/2;for(;a>1);while(ar)t[a--]=t[i]}i=r;r=s}return t}function ur(t){return function(){t=(1103515245*t+12345)%2147483647;return t/2147483647}}function lr(t,e){if(e==null){e=t;t=0}let n,i,r;const s={min(t){if(arguments.length){n=t||0;r=i-n;return s}else{return n}},max(t){if(arguments.length){i=t||0;r=i-n;return s}else{return i}},sample(){return n+Math.floor(r*ir())},pdf(t){return t===Math.floor(t)&&t>=n&&t=i?1:(e-n+1)/r},icdf(t){return t>=0&&t<=1?n-1+Math.floor(t*r):NaN}};return s.min(t).max(e)}const cr=Math.sqrt(2*Math.PI);const fr=Math.SQRT2;let dr=NaN;function hr(t,e){t=t||0;e=e==null?1:e;let n=0,i=0,r,s;if(dr===dr){n=dr;dr=NaN}else{do{n=ir()*2-1;i=ir()*2-1;r=n*n+i*i}while(r===0||r>1);s=Math.sqrt(-2*Math.log(r)/r);n*=s;dr=i*s}return t+n*e}function pr(t,e,n){n=n==null?1:n;const i=(t-(e||0))/n;return Math.exp(-.5*i*i)/(n*cr)}function mr(t,e,n){e=e||0;n=n==null?1:n;const i=(t-e)/n,r=Math.abs(i);let s;if(r>37){s=0}else{const t=Math.exp(-r*r/2);let e;if(r<7.07106781186547){e=.0352624965998911*r+.700383064443688;e=e*r+6.37396220353165;e=e*r+33.912866078383;e=e*r+112.079291497871;e=e*r+221.213596169931;e=e*r+220.206867912376;s=t*e;e=.0883883476483184*r+1.75566716318264;e=e*r+16.064177579207;e=e*r+86.7807322029461;e=e*r+296.564248779674;e=e*r+637.333633378831;e=e*r+793.826512519948;e=e*r+440.413735824752;s=s/e}else{e=r+.65;e=r+4/e;e=r+3/e;e=r+2/e;e=r+1/e;s=t/e/2.506628274631}}return i>0?1-s:s}function gr(t,e,n){if(t<0||t>1)return NaN;return(e||0)+(n==null?1:n)*fr*yr(2*t-1)}function yr(t){let e=-Math.log((1-t)*(1+t)),n;if(e<6.25){e-=3.125;n=-364441206401782e-35;n=-16850591381820166e-35+n*e;n=128584807152564e-32+n*e;n=11157877678025181e-33+n*e;n=-1333171662854621e-31+n*e;n=20972767875968562e-33+n*e;n=6637638134358324e-30+n*e;n=-4054566272975207e-29+n*e;n=-8151934197605472e-29+n*e;n=26335093153082323e-28+n*e;n=-12975133253453532e-27+n*e;n=-5415412054294628e-26+n*e;n=1.0512122733215323e-9+n*e;n=-4.112633980346984e-9+n*e;n=-2.9070369957882005e-8+n*e;n=4.2347877827932404e-7+n*e;n=-13654692000834679e-22+n*e;n=-13882523362786469e-21+n*e;n=.00018673420803405714+n*e;n=-.000740702534166267+n*e;n=-.006033670871430149+n*e;n=.24015818242558962+n*e;n=1.6536545626831027+n*e}else if(e<16){e=Math.sqrt(e)-3.25;n=2.2137376921775787e-9;n=9.075656193888539e-8+n*e;n=-2.7517406297064545e-7+n*e;n=1.8239629214389228e-8+n*e;n=15027403968909828e-22+n*e;n=-4013867526981546e-21+n*e;n=29234449089955446e-22+n*e;n=12475304481671779e-21+n*e;n=-47318229009055734e-21+n*e;n=6828485145957318e-20+n*e;n=24031110387097894e-21+n*e;n=-.0003550375203628475+n*e;n=.0009532893797373805+n*e;n=-.0016882755560235047+n*e;n=.002491442096107851+n*e;n=-.003751208507569241+n*e;n=.005370914553590064+n*e;n=1.0052589676941592+n*e;n=3.0838856104922208+n*e}else if(Number.isFinite(e)){e=Math.sqrt(e)-5;n=-27109920616438573e-27;n=-2.555641816996525e-10+n*e;n=1.5076572693500548e-9+n*e;n=-3.789465440126737e-9+n*e;n=7.61570120807834e-9+n*e;n=-1.496002662714924e-8+n*e;n=2.914795345090108e-8+n*e;n=-6.771199775845234e-8+n*e;n=2.2900482228026655e-7+n*e;n=-9.9298272942317e-7+n*e;n=4526062597223154e-21+n*e;n=-1968177810553167e-20+n*e;n=7599527703001776e-20+n*e;n=-.00021503011930044477+n*e;n=-.00013871931833623122+n*e;n=1.0103004648645344+n*e;n=4.849906401408584+n*e}else{n=Infinity}return n*t}function vr(t,e){let n,i;const r={mean(t){if(arguments.length){n=t||0;return r}else{return n}},stdev(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>hr(n,i),pdf:t=>pr(t,n,i),cdf:t=>mr(t,n,i),icdf:t=>gr(t,n,i)};return r.mean(t).stdev(e)}function br(t,e){const n=vr();let i=0;const r={data(n){if(arguments.length){t=n;i=n?n.length:0;return r.bandwidth(e)}else{return t}},bandwidth(n){if(!arguments.length)return e;e=n;if(!e&&t)e=er(t);return r},sample(){return t[~~(ir()*i)]+e*n.sample()},pdf(r){let s=0,a=0;for(;axr(n,i),pdf:t=>_r(t,n,i),cdf:t=>wr(t,n,i),icdf:t=>Ar(t,n,i)};return r.mean(t).stdev(e)}function Er(t,e){let n=0,i;function r(t){const e=[];let i=0,r;for(r=0;r=e&&t<=n?1/(n-e):0}function Cr(t,e,n){if(n==null){n=e==null?1:e;e=0}return tn?1:(t-e)/(n-e)}function Fr(t,e,n){if(n==null){n=e==null?1:e;e=0}return t>=0&&t<=1?e+t*(n-e):NaN}function Sr(t,e){let n,i;const r={min(t){if(arguments.length){n=t||0;return r}else{return n}},max(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>Mr(n,i),pdf:t=>Dr(t,n,i),cdf:t=>Cr(t,n,i),icdf:t=>Fr(t,n,i)};if(e==null){e=t==null?1:t;t=0}return r.min(t).max(e)}function zr(t,e,n){let i=0,r=0;for(const s of t){const t=n(s);if(e(s)==null||t==null||isNaN(t))continue;i+=(t-i)/++r}return{coef:[i],predict:()=>i,rSquared:0}}function Br(t,e,n,i){const r=i-t*t,s=Math.abs(r)<1e-24?0:(n-t*e)/r,a=e-s*t;return[a,s]}function $r(t,e,n,i){t=t.filter((t=>{let i=e(t),r=n(t);return i!=null&&(i=+i)>=i&&r!=null&&(r=+r)>=r}));if(i){t.sort(((t,n)=>e(t)-e(n)))}const r=t.length,s=new Float64Array(r),a=new Float64Array(r);let o=0,u=0,l=0,c,f,d;for(d of t){s[o]=c=+e(d);a[o]=f=+n(d);++o;u+=(c-u)/o;l+=(f-l)/o}for(o=0;o=s&&a!=null&&(a=+a)>=a){i(s,a,++r)}}}function Or(t,e,n,i,r){let s=0,a=0;Rr(t,e,n,((t,e)=>{const n=e-r(t),o=e-i;s+=n*n;a+=o*o}));return 1-s/a}function Tr(t,e,n){let i=0,r=0,s=0,a=0,o=0;Rr(t,e,n,((t,e)=>{++o;i+=(t-i)/o;r+=(e-r)/o;s+=(t*e-s)/o;a+=(t*t-a)/o}));const u=Br(i,r,s,a),l=t=>u[0]+u[1]*t;return{coef:u,predict:l,rSquared:Or(t,e,n,r,l)}}function Nr(t,e,n){let i=0,r=0,s=0,a=0,o=0;Rr(t,e,n,((t,e)=>{++o;t=Math.log(t);i+=(t-i)/o;r+=(e-r)/o;s+=(t*e-s)/o;a+=(t*t-a)/o}));const u=Br(i,r,s,a),l=t=>u[0]+u[1]*Math.log(t);return{coef:u,predict:l,rSquared:Or(t,e,n,r,l)}}function Lr(t,e,n){const[i,r,s,a]=$r(t,e,n);let o=0,u=0,l=0,c=0,f=0,d,h,p;Rr(t,e,n,((t,e)=>{d=i[f++];h=Math.log(e);p=d*e;o+=(e*h-o)/f;u+=(p-u)/f;l+=(p*h-l)/f;c+=(d*p-c)/f}));const[m,g]=Br(u/a,o/a,l/a,c/a),y=t=>Math.exp(m+g*(t-s));return{coef:[Math.exp(m-g*s),g],predict:y,rSquared:Or(t,e,n,a,y)}}function Pr(t,e,n){let i=0,r=0,s=0,a=0,o=0,u=0;Rr(t,e,n,((t,e)=>{const n=Math.log(t),l=Math.log(e);++u;i+=(n-i)/u;r+=(l-r)/u;s+=(n*l-s)/u;a+=(n*n-a)/u;o+=(e-o)/u}));const l=Br(i,r,s,a),c=t=>l[0]*Math.pow(t,l[1]);l[0]=Math.exp(l[0]);return{coef:l,predict:c,rSquared:Or(t,e,n,o,c)}}function qr(t,e,n){const[i,r,s,a]=$r(t,e,n),o=i.length;let u=0,l=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h{t=t-s;return b*t*t+x*t+_+a};return{coef:[_-x*s+b*s*s+a,x-2*b*s,b],predict:w,rSquared:Or(t,e,n,a,w)}}function Ir(t,e,n,i){if(i===0)return zr(t,e,n);if(i===1)return Tr(t,e,n);if(i===2)return qr(t,e,n);const[r,s,a,o]=$r(t,e,n),u=r.length,l=[],c=[],f=i+1;let d,h,p,m,g;for(d=0;d{t-=a;let e=o+y[0]+y[1]*t+y[2]*t*t;for(d=3;d=0;--s){o=e[s];u=1;r[s]+=o;for(a=1;a<=s;++a){u*=(s+1-a)/a;r[s-a]+=o*Math.pow(n,a)*u}}r[0]+=i;return r}function jr(t){const e=t.length-1,n=[];let i,r,s,a,o;for(i=0;iMath.abs(t[i][a])){a=r}}for(s=i;s=i;s--){t[s][r]-=t[s][i]*t[i][r]/t[i][i]}}}for(r=e-1;r>=0;--r){o=0;for(s=r+1;sr[a]-e?i:a;let u=0,l=0,h=0,p=0,m=0;const g=1/Math.abs(r[o]-e||1);for(let t=i;t<=a;++t){const n=r[t],i=s[t],a=Xr(Math.abs(e-n)*g)*d[t],o=n*a;u+=a;l+=o;h+=i*a;p+=i*o;m+=n*o}const[y,v]=Br(l/u,h/u,p/u,m/u);c[n]=y+v*e;f[n]=Math.abs(s[n]-c[n]);Hr(r,n+1,t)}if(h===Gr){break}const e=Qi(f);if(Math.abs(e)=1?Yr:(r=1-i*i)*r}}return Vr(r,c,a,o)}function Xr(t){return(t=1-t*t*t)*t*t}function Hr(t,e,n){const i=t[e];let r=n[0],s=n[1]+1;if(s>=t.length)return;while(e>r&&t[s]-i<=i-t[r]){n[0]=++r;n[1]=s;++s}}function Vr(t,e,n,i){const r=t.length,s=[];let a=0,o=0,u=[],l;for(;a[e,t(e)],s=e[0],a=e[1],o=a-s,u=o/i,l=[r(s)],c=[];if(n===i){for(let t=1;t0;){c.push(r(s+t/n*o))}}let f=l[0];let d=c[c.length-1];const h=1/o;const p=Zr(f[1],c);while(d){const t=r((f[0]+d[0])/2);const e=t[0]-f[0]>=u;if(e&&Jr(f,t,d,h,p)>Qr){c.push(t)}else{f=d;l.push(d);c.pop()}d=c[c.length-1]}return l}function Zr(t,e){let n=t;let i=t;const r=e.length;for(let s=0;si)i=t}return 1/(i-n)}function Jr(t,e,n,i,r){const s=Math.atan2(r*(n[1]-t[1]),i*(n[0]-t[0])),a=Math.atan2(r*(e[1]-t[1]),i*(e[0]-t[0]));return Math.abs(s-a)}function ts(t,e){let n=0;let i=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){++n,i+=e}}}else{let r=-1;for(let s of t){if((s=e(s,++r,t))!=null&&(s=+s)>=s){++n,i+=s}}}if(n)return i/n}var es=n(18312);function ns(t){return e=>{const n=t.length;let i=1,r=String(t[0](e));for(;i{};const as={init:ss,add:ss,rem:ss,idx:0};const os={values:{init:t=>t.cell.store=true,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:undefined,add:(t,e)=>t.sum+=+e,rem:(t,e)=>t.sum-=e},product:{init:t=>t.product=1,value:t=>t.valid?t.product:undefined,add:(t,e)=>t.product*=e,rem:(t,e)=>t.product/=e},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:undefined,add:(t,e)=>(t.mean_d=e-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,e)=>(t.mean_d=e-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:undefined,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):undefined,add:(t,e)=>t.dev+=t.mean_d*(e-t.mean),rem:(t,e)=>t.dev-=t.mean_d*(e-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:undefined,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):undefined,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):undefined,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):undefined,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=undefined,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,e)=>{if(e{if(e<=t.min)t.min=NaN},req:["values"],idx:4},max:{init:t=>t.max=undefined,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,e)=>{if(e>t.max||t.max===undefined)t.max=e},rem:(t,e)=>{if(e>=t.max)t.max=NaN},req:["values"],idx:4},argmin:{init:t=>t.argmin=undefined,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,e,n)=>{if(e{if(e<=t.min)t.argmin=undefined},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=undefined,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,e,n)=>{if(e>t.max)t.argmax=n},rem:(t,e)=>{if(e>=t.max)t.argmax=undefined},req:["max","values"],idx:3},exponential:{init:(t,e)=>{t.exp=0;t.exp_r=e},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):undefined,add:(t,e)=>t.exp=t.exp_r*t.exp+e,rem:(t,e)=>t.exp=(t.exp-e/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):undefined,req:["exponential"],idx:1}};const us=Object.keys(os).filter((t=>t!=="__count__"));function ls(t,e){return(n,i)=>(0,p.X$)({name:t,aggregate_param:i,out:n||t},as,e)}[...us,"__count__"].forEach((t=>{os[t]=ls(t,os[t])}));function cs(t,e,n){return os[t](n,e)}function fs(t,e){return t.idx-e.idx}function ds(t){const e={};t.forEach((t=>e[t.name]=t));const n=t=>{if(!t.req)return;t.req.forEach((t=>{if(!e[t])n(e[t]=os[t]())}))};t.forEach(n);return Object.values(e).sort(fs)}function hs(){this.valid=0;this.missing=0;this._ops.forEach((t=>t.aggregate_param==null?t.init(this):t.init(this,t.aggregate_param)))}function ps(t,e){if(t==null||t===""){++this.missing;return}if(t!==t)return;++this.valid;this._ops.forEach((n=>n.add(this,t,e)))}function ms(t,e){if(t==null||t===""){--this.missing;return}if(t!==t)return;--this.valid;this._ops.forEach((n=>n.rem(this,t,e)))}function gs(t){this._out.forEach((e=>t[e.out]=e.value(this)));return t}function ys(t,e){const n=e||p.D_,i=ds(t),r=t.slice().sort(fs);function s(t){this._ops=i;this._out=r;this.cell=t;this.init()}s.prototype.init=hs;s.prototype.add=ps;s.prototype.rem=ms;s.prototype.set=gs;s.prototype.get=n;s.fields=t.map((t=>t.out));return s}function vs(t){this._key=t?(0,p.ZZ)(t):yn;this.reset()}const bs=vs.prototype;bs.reset=function(){this._add=[];this._rem=[];this._ext=null;this._get=null;this._q=null};bs.add=function(t){this._add.push(t)};bs.rem=function(t){this._rem.push(t)};bs.values=function(){this._get=null;if(this._rem.length===0)return this._add;const t=this._add,e=this._rem,n=this._key,i=t.length,r=e.length,s=Array(i-r),a={};let o,u,l;for(o=0;o=0){s=t(e[i])+"";if(!(0,p.mQ)(n,s)){n[s]=1;++r}}return r};bs.extent=function(t){if(this._get!==t||!this._ext){const e=this.values(),n=(0,p.n)(e,t);this._ext=[e[n[0]],e[n[1]]];this._get=t}return this._ext};bs.argmin=function(t){return this.extent(t)[0]||{}};bs.argmax=function(t){return this.extent(t)[1]||{}};bs.min=function(t){const e=this.extent(t)[0];return e!=null?t(e):undefined};bs.max=function(t){const e=this.extent(t)[1];return e!=null?t(e):undefined};bs.quartile=function(t){if(this._get!==t||!this._q){this._q=tr(this.values(),t);this._get=t}return this._q};bs.q1=function(t){return this.quartile(t)[0]};bs.q2=function(t){return this.quartile(t)[1]};bs.q3=function(t){return this.quartile(t)[2]};bs.ci=function(t){if(this._get!==t||!this._ci){this._ci=sr(this.values(),1e3,.05,t);this._get=t}return this._ci};bs.ci0=function(t){return this.ci(t)[0]};bs.ci1=function(t){return this.ci(t)[1]};function xs(t){Bi.call(this,null,t);this._adds=[];this._mods=[];this._alen=0;this._mlen=0;this._drop=true;this._cross=false;this._dims=[];this._dnames=[];this._measures=[];this._countOnly=false;this._counts=null;this._prev=null;this._inputs=null;this._outputs=null}xs.Definition={type:"Aggregate",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"ops",type:"enum",array:true,values:us},{name:"aggregate_params",type:"number",null:true,array:true},{name:"fields",type:"field",null:true,array:true},{name:"as",type:"string",null:true,array:true},{name:"drop",type:"boolean",default:true},{name:"cross",type:"boolean",default:false},{name:"key",type:"field"}]};(0,p.B)(xs,Bi,{transform(t,e){const n=this,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.modified();n.stamp=i.stamp;if(n.value&&(r||e.modified(n._inputs,true))){n._prev=n.value;n.value=r?n.init(t):Object.create(null);e.visit(e.SOURCE,(t=>n.add(t)))}else{n.value=n.value||n.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}i.modifies(n._outputs);n._drop=t.drop!==false;if(t.cross&&n._dims.length>1){n._drop=false;n.cross()}if(e.clean()&&n._drop){i.clean(true).runAfter((()=>this.clean()))}return n.changes(i)},cross(){const t=this,e=t.value,n=t._dnames,i=n.map((()=>({}))),r=n.length;function s(t){let e,s,a,o;for(e in t){a=t[e].tuple;for(s=0;s{const e=(0,p.N6)(t);r(t);n.push(e);return e}));this.cellkey=t.key?t.key:is(this._dims);this._countOnly=true;this._counts=[];this._measures=[];const s=t.fields||[null],a=t.ops||["count"],o=t.aggregate_params||[null],u=t.as||[],l=s.length,c={};let f,d,h,m,g,y,v;if(l!==a.length){(0,p.z3)("Unmatched number of fields and aggregate ops.")}for(v=0;vys(t,t.field)));return Object.create(null)},cellkey:is(),cell(t,e){let n=this.value[t];if(!n){n=this.value[t]=this.newcell(t,e);this._adds[this._alen++]=n}else if(n.num===0&&this._drop&&n.stamp{const e=i(t);t[o]=e;t[u]=e==null?null:r+s*(1+(e-r)/s)}:t=>t[o]=i(t));return e.modifies(n?a:o)},_bins(t){if(this.value&&!t.modified()){return this.value}const e=t.field,n=nr(t),i=n.step;let r=n.start,s=r+Math.ceil((n.stop-r)/i)*i,a,o;if((a=t.anchor)!=null){o=a-(r+i*Math.floor((a-r)/i));r+=o;s+=o}const u=function(t){let n=(0,p.Ro)(e(t));return n==null?null:ns?+Infinity:(n=Math.max(r,Math.min(n,s-i)),r+i*Math.floor(_s+(n-r)/i))};u.start=r;u.stop=n.stop;u.step=i;return this.value=(0,p.sY)(u,(0,p.nS)(e),t.name||"bin_"+(0,p.N6)(e))}});function As(t,e,n){const i=t;let r=e||[],s=n||[],a={},o=0;return{add:t=>s.push(t),remove:t=>a[i(t)]=++o,size:()=>r.length,data:(t,e)=>{if(o){r=r.filter((t=>!a[i(t)]));a={};o=0}if(e&&t){r.sort(t)}if(s.length){r=t?(0,p.h1)(t,r,s.sort(t)):r.concat(s);s=[]}return r}}}function ks(t){Bi.call(this,[],t)}ks.Definition={type:"Collect",metadata:{source:true},params:[{name:"sort",type:"compare"}]};(0,p.B)(ks,Bi,{transform(t,e){const n=e.fork(e.ALL),i=As(yn,this.value,n.materialize(n.ADD).add),r=t.sort,s=e.changed()||r&&(t.modified("sort")||e.modified(r.fields));n.visit(n.REM,i.remove);this.modified(s);this.value=n.source=i.data(An(r),s);if(e.source&&e.source.root){this.value.root=e.source.root}return n}});function Es(t){$n.call(this,null,Ms,t)}(0,p.B)(Es,$n);function Ms(t){return this.value&&!t.modified()?this.value:(0,p.UD)(t.fields,t.orders)}function Ds(t){Bi.call(this,null,t)}Ds.Definition={type:"CountPattern",metadata:{generates:true,changes:true},params:[{name:"field",type:"field",required:true},{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:true,length:2,default:["text","count"]}]};function Cs(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break}return t.match(n)}(0,p.B)(Ds,Bi,{transform(t,e){const n=e=>n=>{var i=Cs(o(n),t.case,s)||[],r;for(var u=0,l=i.length;ur[t]=1+(r[t]||0))),c=n((t=>r[t]-=1));if(i){e.visit(e.SOURCE,l)}else{e.visit(e.ADD,l);e.visit(e.REM,c)}return this._finish(e,u)},_parameterCheck(t,e){let n=false;if(t.modified("stopwords")||!this._stop){this._stop=new RegExp("^"+(t.stopwords||"")+"$","i");n=true}if(t.modified("pattern")||!this._match){this._match=new RegExp(t.pattern||"[\\w']+","g");n=true}if(t.modified("field")||e.modified(t.field.fields)){n=true}if(n)this._counts={};return n},_finish(t,e){const n=this._counts,i=this._tuples||(this._tuples={}),r=e[0],s=e[1],a=t.fork(t.NO_SOURCE|t.NO_FIELDS);let o,u,l;for(o in n){u=i[o];l=n[o]||0;if(!u&&l){i[o]=u=bn({});u[r]=o;u[s]=l;a.add.push(u)}else if(l===0){if(u)a.rem.push(u);n[o]=null;i[o]=null}else if(u[s]!==l){u[s]=l;a.mod.push(u)}}return a.modifies(e)}});function Fs(t){Bi.call(this,null,t)}Fs.Definition={type:"Cross",metadata:{generates:true},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:true,length:2,default:["a","b"]}]};(0,p.B)(Fs,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.as||["a","b"],r=i[0],s=i[1],a=!this.value||e.changed(e.ADD_REM)||t.modified("as")||t.modified("filter");let o=this.value;if(a){if(o)n.rem=o;o=e.materialize(e.SOURCE).source;n.add=this.value=Ss(o,r,s,t.filter||p.vN)}else{n.mod=o}n.source=this.value;return n.modifies(i)}});function Ss(t,e,n,i){var r=[],s={},a=t.length,o=0,u,l;for(;oOs(t,e))))}else if(typeof i[r]===$s){i[r](t[r])}}return i}function Ts(t){Bi.call(this,null,t)}const Ns=[{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:true},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];const Ls={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:true,params:Ns},{name:"weights",type:"number",array:true}]};Ts.Definition={type:"Density",metadata:{generates:true},params:[{name:"extent",type:"number",array:true,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:Ns.concat(Ls)},{name:"as",type:"string",array:true,default:["value","density"]}]};(0,p.B)(Ts,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=Os(t.distribution,Ps(e)),r=t.steps||t.minsteps||25,s=t.steps||t.maxsteps||200;let a=t.method||"pdf";if(a!=="pdf"&&a!=="cdf"){(0,p.z3)("Invalid density method: "+a)}if(!t.extent&&!i.data){(0,p.z3)("Missing density extent parameter.")}a=i[a];const o=t.as||["value","density"],u=t.extent||(0,p.Xx)(i.data()),l=Kr(a,u,r,s).map((t=>{const e={};e[o[0]]=t[0];e[o[1]]=t[1];return bn(e)}));if(this.value)n.rem=this.value;this.value=n.add=n.source=l}return n}});function Ps(t){return()=>t.materialize(t.SOURCE).source}function qs(t,e){if(!t)return null;return t.map(((t,n)=>e[n]||(0,p.N6)(t)))}function Is(t,e,n){const i=[],r=t=>t(u);let s,a,o,u,l,c;if(e==null){i.push(t.map(n))}else{for(s={},a=0,o=t.length;a(0,p.Ln)((0,p.Xx)(t,e))/30;(0,p.B)(js,Bi,{transform(t,e){if(this.value&&!(t.modified()||e.changed())){return e}const n=e.materialize(e.SOURCE).source,i=Is(e.source,t.groupby,p.D_),r=t.smooth||false,s=t.field,a=t.step||Gs(n,s),o=An(((t,e)=>s(t)-s(e))),u=t.as||Us,l=i.length;let c=Infinity,f=-Infinity,d=0,h;for(;df)f=e;t[++h][u]=e}}this.value={start:c,stop:f,step:a};return e.reflow(true).modifies(u)}});function Ys(t){$n.call(this,null,Ws,t);this.modified(true)}(0,p.B)(Ys,$n);function Ws(t){const e=t.expr;return this.value&&!t.modified("expr")?this.value:(0,p.sY)((n=>e(n,t)),(0,p.nS)(e),(0,p.N6)(e))}function Xs(t){Bi.call(this,[undefined,undefined],t)}Xs.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:true}]};(0,p.B)(Xs,Bi,{transform(t,e){const n=this.value,i=t.field,r=e.changed()||e.modified(i.fields)||t.modified("field");let s=n[0],a=n[1];if(r||s==null){s=+Infinity;a=-Infinity}e.visit(r?e.SOURCE:e.ADD,(t=>{const e=(0,p.Ro)(i(t));if(e!=null){if(ea)a=e}}));if(!Number.isFinite(s)||!Number.isFinite(a)){let t=(0,p.N6)(i);if(t)t=` for field "${t}"`;e.dataflow.warn(`Infinite extent${t}: [${s}, ${a}]`);s=a=undefined}this.value=[s,a]}});function Hs(t,e){$n.call(this,t);this.parent=e;this.count=0}(0,p.B)(Hs,$n,{connect(t){this.detachSubflow=t.detachSubflow;this.targets().add(t);return t.source=this},add(t){this.count+=1;this.value.add.push(t)},rem(t){this.count-=1;this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}});function Vs(t){Bi.call(this,{},t);this._keys=(0,p.nG)();const e=this._targets=[];e.active=0;e.forEach=t=>{for(let n=0,i=e.active;nt&&t.count>0));this.initTargets(t)}},initTargets(t){const e=this._targets,n=e.length,i=t?t.length:0;let r=0;for(;rthis.subflow(t,r,e);this._group=t.group||{};this.initTargets();e.visit(e.REM,(t=>{const e=yn(t),n=s.get(e);if(n!==undefined){s.delete(e);o(n).rem(t)}}));e.visit(e.ADD,(t=>{const e=i(t);s.set(yn(t),e);o(e).add(t)}));if(a||e.modified(i.fields)){e.visit(e.MOD,(t=>{const e=yn(t),n=s.get(e),r=i(t);if(n===r){o(r).mod(t)}else{s.set(e,r);o(n).rem(t);o(r).add(t)}}))}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>{o(s.get(yn(t))).mod(t)}))}if(a){e.visit(e.REFLOW,(t=>{const e=yn(t),n=s.get(e),r=i(t);if(n!==r){s.set(e,r);o(n).rem(t);o(r).add(t)}}))}if(e.clean()){n.runAfter((()=>{this.clean();s.clean()}))}else if(s.empty>n.cleanThreshold){n.runAfter(s.clean)}return e}});function Qs(t){$n.call(this,null,Ks,t)}(0,p.B)(Qs,$n);function Ks(t){return this.value&&!t.modified()?this.value:(0,p.cy)(t.name)?(0,p.YO)(t.name).map((t=>(0,p.ZZ)(t))):(0,p.ZZ)(t.name,t.as)}function Zs(t){Bi.call(this,(0,p.nG)(),t)}Zs.Definition={type:"Filter",metadata:{changes:true},params:[{name:"expr",type:"expr",required:true}]};(0,p.B)(Zs,Bi,{transform(t,e){const n=e.dataflow,i=this.value,r=e.fork(),s=r.add,a=r.rem,o=r.mod,u=t.expr;let l=true;e.visit(e.REM,(t=>{const e=yn(t);if(!i.has(e))a.push(t);else i.delete(e)}));e.visit(e.ADD,(e=>{if(u(e,t))s.push(e);else i.set(yn(e),1)}));function c(e){const n=yn(e),r=u(e,t),c=i.get(n);if(r&&c){i.delete(n);s.push(e)}else if(!r&&!c){i.set(n,1);a.push(e)}else if(l&&r&&!c){o.push(e)}}e.visit(e.MOD,c);if(t.modified()){l=false;e.visit(e.REFLOW,c)}if(i.empty>n.cleanThreshold)n.runAfter(i.clean);return r}});function Js(t){Bi.call(this,[],t)}Js.Definition={type:"Flatten",metadata:{generates:true},params:[{name:"fields",type:"field",array:true,required:true},{name:"index",type:"string"},{name:"as",type:"string",array:true}]};(0,p.B)(Js,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=qs(i,t.as||[]),s=t.index||null,a=r.length;n.rem=this.value;e.visit(e.SOURCE,(t=>{const e=i.map((e=>e(t))),o=e.reduce(((t,e)=>Math.max(t,e.length)),0);let u=0,l,c,f;for(;u{for(let e=0,s;ee[i]=n(e,t)))}});function na(t){Bi.call(this,[],t)}(0,p.B)(na,Bi,{transform(t,e){const n=e.fork(e.ALL),i=t.generator;let r=this.value,s=t.size-r.length,a,o,u;if(s>0){for(a=[];--s>=0;){a.push(u=bn(i(t)));r.push(u)}n.add=n.add.length?n.materialize(n.ADD).add.concat(a):a}else{o=r.slice(0,-s);n.rem=n.rem.length?n.materialize(n.REM).rem.concat(o):o;r=r.slice(-s)}n.source=this.value=r;return n}});const ia={value:"value",median:Qi,mean:ts,min:Li.A,max:Ni.A};const ra=[];function sa(t){Bi.call(this,[],t)}sa.Definition={type:"Impute",metadata:{changes:true},params:[{name:"field",type:"field",required:true},{name:"key",type:"field",required:true},{name:"keyvals",array:true},{name:"groupby",type:"field",array:true},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function aa(t){var e=t.method||ia.value,n;if(ia[e]==null){(0,p.z3)("Unrecognized imputation method: "+e)}else if(e===ia.value){n=t.value!==undefined?t.value:0;return()=>n}else{return ia[e]}}function oa(t){const e=t.field;return t=>t?e(t):NaN}(0,p.B)(sa,Bi,{transform(t,e){var n=e.fork(e.ALL),i=aa(t),r=oa(t),s=(0,p.N6)(t.field),a=(0,p.N6)(t.key),o=(t.groupby||[]).map(p.N6),u=ua(e.source,t.groupby,t.key,t.keyvals),l=[],c=this.value,f=u.domain.length,d,h,m,g,y,v,b,x,_,w;for(y=0,x=u.length;yt(g),s=[],a=i?i.slice():[],o={},u={},l,c,f,d,h,p,m,g;a.forEach(((t,e)=>o[t]=e+1));for(d=0,m=t.length;dn.add(t)))}else{r=n.value=n.value||this.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}n.changes();e.visit(e.SOURCE,(t=>{(0,p.X$)(t,r[n.cellkey(t)].tuple)}));return e.reflow(i).modifies(this._outputs)},changes(){const t=this._adds,e=this._mods;let n,i;for(n=0,i=this._alen;n{const n=br(e,a)[o],i=t.counts?e.length:1,r=c||(0,p.Xx)(e);Kr(n,r,f,d).forEach((t=>{const n={};for(let i=0;i{this._pending=(0,p.YO)(t.data);return t=>t.touch(this)}));return{async:e}}else{return n.request(t.url,t.format).then((t=>ma(this,e,(0,p.YO)(t.data))))}}});function pa(t){return t.modified("async")&&!(t.modified("values")||t.modified("url")||t.modified("format"))}function ma(t,e,n){n.forEach(bn);const i=e.fork(e.NO_FIELDS&e.NO_SOURCE);i.rem=t.value;t.value=i.source=i.add=n;t._pending=null;if(i.rem.length)i.clean(true);return i}function ga(t){Bi.call(this,{},t)}ga.Definition={type:"Lookup",metadata:{modifies:true},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:true},{name:"key",type:"field",required:true}]},{name:"values",type:"field",array:true},{name:"fields",type:"field",array:true,required:true},{name:"as",type:"string",array:true},{name:"default",default:null}]};(0,p.B)(ga,Bi,{transform(t,e){const n=t.fields,i=t.index,r=t.values,s=t.default==null?null:t.default,a=t.modified(),o=n.length;let u=a?e.SOURCE:e.ADD,l=e,c=t.as,f,d,h;if(r){d=r.length;if(o>1&&!c){(0,p.z3)('Multi-field lookup requires explicit "as" parameter.')}if(c&&c.length!==o*d){(0,p.z3)('The "as" parameter has too few output field names.')}c=c||r.map(p.N6);f=function(t){for(var e=0,a=0,u,l;ee.modified(t.fields)));u|=h?e.MOD:0}e.visit(u,f);return l.modifies(c)}});function ya(t){$n.call(this,null,va,t)}(0,p.B)(ya,$n);function va(t){if(this.value&&!t.modified()){return this.value}const e=t.extents,n=e.length;let i=+Infinity,r=-Infinity,s,a;for(s=0;sr)r=a[1]}return[i,r]}function ba(t){$n.call(this,null,xa,t)}(0,p.B)(ba,$n);function xa(t){return this.value&&!t.modified()?this.value:t.values.reduce(((t,e)=>t.concat(e)),[])}function _a(t){Bi.call(this,null,t)}(0,p.B)(_a,Bi,{transform(t,e){this.modified(t.modified());this.value=t;return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function wa(t){xs.call(this,t)}wa.Definition={type:"Pivot",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"value",type:"field",required:true},{name:"op",type:"enum",values:us,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};(0,p.B)(wa,xs,{_transform:xs.prototype.transform,transform(t,e){return this._transform(Aa(t,e),e)}});function Aa(t,e){const n=t.field,i=t.value,r=(t.op==="count"?"__count__":t.op)||"sum",s=(0,p.nS)(n).concat((0,p.nS)(i)),a=Ea(n,t.limit||0,e);if(e.changed())t.set("__pivot__",null,null,true);return{key:t.key,groupby:t.groupby,ops:a.map((()=>r)),fields:a.map((t=>ka(t,n,i,s))),as:a.map((t=>t+"")),modified:t.modified.bind(t)}}function ka(t,e,n,i){return(0,p.sY)((i=>e(i)===t?n(i):NaN),i,t+"")}function Ea(t,e,n){const i={},r=[];n.visit(n.SOURCE,(e=>{const n=t(e);if(!i[n]){i[n]=1;r.push(n)}}));r.sort(p.V_);return e?r.slice(0,e):r}function Ma(t){Vs.call(this,t)}(0,p.B)(Ma,Vs,{transform(t,e){const n=t.subflow,i=t.field,r=t=>this.subflow(yn(t),n,e,t);if(t.modified("field")||i&&e.modified((0,p.nS)(i))){(0,p.z3)("PreFacet does not support field modification.")}this.initTargets();if(i){e.visit(e.MOD,(t=>{const e=r(t);i(t).forEach((t=>e.mod(t)))}));e.visit(e.ADD,(t=>{const e=r(t);i(t).forEach((t=>e.add(bn(t))))}));e.visit(e.REM,(t=>{const e=r(t);i(t).forEach((t=>e.rem(t)))}))}else{e.visit(e.MOD,(t=>r(t).mod(t)));e.visit(e.ADD,(t=>r(t).add(t)));e.visit(e.REM,(t=>r(t).rem(t)))}if(e.clean()){e.runAfter((()=>this.clean()))}return e}});function Da(t){Bi.call(this,null,t)}Da.Definition={type:"Project",metadata:{generates:true,changes:true},params:[{name:"fields",type:"field",array:true},{name:"as",type:"string",null:true,array:true}]};(0,p.B)(Da,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=qs(t.fields,t.as||[]),s=i?(t,e)=>Ca(t,e,i,r):_n;let a;if(this.value){a=this.value}else{e=e.addAll();a=this.value={}}e.visit(e.REM,(t=>{const e=yn(t);n.rem.push(a[e]);a[e]=null}));e.visit(e.ADD,(t=>{const e=s(t,bn({}));a[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{n.mod.push(s(t,a[yn(t)]))}));return n}});function Ca(t,e,n,i){for(let r=0,s=n.length;r{const e=Ji(t,l);for(let n=0;n{const e=yn(t);n.rem.push(i[e]);i[e]=null}));e.visit(e.ADD,(t=>{const e=xn(t);i[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{const e=i[yn(t)];for(const i in t){e[i]=t[i];n.modifies(i)}n.mod.push(e)}))}return n}});function $a(t){Bi.call(this,[],t);this.count=0}$a.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]};(0,p.B)($a,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.modified("size"),r=t.size,s=this.value.reduce(((t,e)=>(t[yn(e)]=1,t)),{});let a=this.value,o=this.count,u=0;function l(t){let e,i;if(a.length=u){e=a[i];if(s[yn(e)])n.rem.push(e);a[i]=t}}++o}if(e.rem.length){e.visit(e.REM,(t=>{const e=yn(t);if(s[e]){s[e]=-1;n.rem.push(t)}--o}));a=a.filter((t=>s[yn(t)]!==-1))}if((e.rem.length||i)&&a.length{if(!s[yn(t)])l(t)}));u=-1}if(i&&a.length>r){const t=a.length-r;for(let e=0;e{if(s[yn(t)])n.mod.push(t)}))}if(e.add.length){e.visit(e.ADD,l)}if(e.add.length||u<0){n.add=a.filter((t=>!s[yn(t)]))}this.count=o;this.value=n.source=a;return n}});function Ra(t){Bi.call(this,null,t)}Ra.Definition={type:"Sequence",metadata:{generates:true,changes:true},params:[{name:"start",type:"number",required:true},{name:"stop",type:"number",required:true},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]};(0,p.B)(Ra,Bi,{transform(t,e){if(this.value&&!t.modified())return;const n=e.materialize().fork(e.MOD),i=t.as||"data";n.rem=this.value?e.rem.concat(this.value):e.rem;this.value=(0,es.A)(t.start,t.stop,t.step||1).map((t=>{const e={};e[i]=t;return bn(e)}));n.add=e.add.concat(this.value);return n}});function Oa(t){Bi.call(this,null,t);this.modified(true)}(0,p.B)(Oa,Bi,{transform(t,e){this.value=e.source;return e.changed()?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});function Ta(t){Bi.call(this,null,t)}const Na=["unit0","unit1"];Ta.Definition={type:"TimeUnit",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"interval",type:"boolean",default:true},{name:"units",type:"enum",values:ct,array:true},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:true},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:true,length:2,default:Na}]};(0,p.B)(Ta,Bi,{transform(t,e){const n=t.field,i=t.interval!==false,r=t.timezone==="utc",s=this._floor(t,e),a=(r?It:qt)(s.unit).offset,o=t.as||Na,u=o[0],l=o[1],c=s.step;let f=s.start||Infinity,d=s.stop||-Infinity,h=e.ADD;if(t.modified()||e.changed(e.REM)||e.modified((0,p.nS)(n))){e=e.reflow(true);h=e.SOURCE;f=Infinity;d=-Infinity}e.visit(h,(t=>{const e=n(t);let r,o;if(e==null){t[u]=null;if(i)t[l]=null}else{t[u]=r=o=s(e);if(i)t[l]=o=a(r,c);if(rd)d=o}}));s.start=f;s.stop=d;return e.modifies(i?o:u)},_floor(t,e){const n=t.timezone==="utc";const{units:i,step:r}=t.units?{units:t.units,step:t.step||1}:ce({extent:t.extent||(0,p.Xx)(e.materialize(e.SOURCE).source,t.field),maxbins:t.maxbins});const s=dt(i),a=this.value||{},o=(n?Nt:Rt)(s,r);o.unit=(0,p.se)(s);o.units=s;o.step=r;o.start=a.start;o.stop=a.stop;return this.value=o}});function La(t){Bi.call(this,(0,p.nG)(),t)}(0,p.B)(La,Bi,{transform(t,e){const n=e.dataflow,i=t.field,r=this.value,s=t=>r.set(i(t),t);let a=true;if(t.modified("field")||e.modified(i.fields)){r.clear();e.visit(e.SOURCE,s)}else if(e.changed()){e.visit(e.REM,(t=>r.delete(i(t))));e.visit(e.ADD,s)}else{a=false}this.modified(a);if(r.empty>n.cleanThreshold)n.runAfter(r.clean);return e.fork()}});function Pa(t){Bi.call(this,null,t)}(0,p.B)(Pa,Bi,{transform(t,e){const n=!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields);if(n){this.value=(t.sort?e.source.slice().sort(An(t.sort)):e.source).map(t.field)}}});function qa(t,e,n,i){const r=Ia[t](e,n);return{init:r.init||p.v_,update:function(t,e){e[i]=r.next(t)}}}const Ia={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?t=n+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?++t:t}}},percent_rank:function(){const t=Ia.rank(),e=t.next;return{init:t.init,next:t=>(e(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:e=>{const n=e.data,i=e.compare;let r=e.index;if(t0))(0,p.z3)("ntile num must be greater than zero.");const n=Ia.cume_dist(),i=n.next;return{init:n.init,next:t=>Math.ceil(e*i(t))}},lag:function(t,e){e=+e||1;return{next:n=>{const i=n.index-e;return i>=0?t(n.data[i]):null}}},lead:function(t,e){e=+e||1;return{next:n=>{const i=n.index+e,r=n.data;return it(e.data[e.i0])}},last_value:function(t){return{next:e=>t(e.data[e.i1-1])}},nth_value:function(t,e){e=+e;if(!(e>0))(0,p.z3)("nth_value nth must be greater than zero.");return{next:n=>{const i=n.i0+(e-1);return ie=null,next:n=>{const i=t(n.data[n.index]);return i!=null?e=i:e}}},next_value:function(t){let e,n;return{init:()=>(e=null,n=-1),next:i=>{const r=i.data;return i.index<=n?e:(n=Ua(t,r,i.index))<0?(n=r.length,e=null):e=t(r[n])}}}};function Ua(t,e,n){for(let i=e.length;nu[t]=1))}h(t.sort);e.forEach(((t,e)=>{const u=n[e],m=i[e],g=r[e]||null,y=(0,p.N6)(u),v=rs(t,y,s[e]);h(u);a.push(v);if((0,p.mQ)(Ia,t)){o.push(qa(t,u,m,v))}else{if(u==null&&t!=="count"){(0,p.z3)("Null aggregate field specified.")}if(t==="count"){c.push(v);return}d=false;let e=l[y];if(!e){e=l[y]=[];e.field=u;f.push(e)}e.push(cs(t,g,v))}}));if(c.length||f.length){this.cell=Wa(f,c,d)}this.inputs=Object.keys(u)}const Ya=Ga.prototype;Ya.init=function(){this.windows.forEach((t=>t.init()));if(this.cell)this.cell.init()};Ya.update=function(t,e){const n=this.cell,i=this.windows,r=t.data,s=i&&i.length;let a;if(n){for(a=t.p0;ays(t,t.field)));const i={num:0,agg:null,store:false,count:e};if(!n){var r=t.length,s=i.agg=Array(r),a=0;for(;athis.group(r(t));let a=this.state;if(!a||n){a=this.state=new Ga(t)}if(n||e.modified(a.inputs)){this.value={};e.visit(e.SOURCE,(t=>s(t).add(t)))}else{e.visit(e.REM,(t=>s(t).remove(t)));e.visit(e.ADD,(t=>s(t).add(t)))}for(let o=0,u=this._mlen;o0&&!r(s[n],s[n-1]))t.i0=e.left(s,s[n]);if(i=f;--d){o.point(y[d],v[d])}o.lineEnd();o.areaEnd()}}if(m){y[c]=+t(p,c,l),v[c]=+e(p,c,l);o.point(i?+i(p,c,l):y[c],n?+n(p,c,l):v[c])}}if(g)return o=null,g+""||null}function c(){return(0,go.A)().defined(r).curve(a).context(s)}l.x=function(e){return arguments.length?(t=typeof e==="function"?e:(0,mo.A)(+e),i=null,l):t};l.x0=function(e){return arguments.length?(t=typeof e==="function"?e:(0,mo.A)(+e),l):t};l.x1=function(t){return arguments.length?(i=t==null?null:typeof t==="function"?t:(0,mo.A)(+t),l):i};l.y=function(t){return arguments.length?(e=typeof t==="function"?t:(0,mo.A)(+t),n=null,l):e};l.y0=function(t){return arguments.length?(e=typeof t==="function"?t:(0,mo.A)(+t),l):e};l.y1=function(t){return arguments.length?(n=t==null?null:typeof t==="function"?t:(0,mo.A)(+t),l):n};l.lineX0=l.lineY0=function(){return c().x(t).y(e)};l.lineY1=function(){return c().x(t).y(n)};l.lineX1=function(){return c().x(i).y(e)};l.defined=function(t){return arguments.length?(r=typeof t==="function"?t:(0,mo.A)(!!t),l):r};l.curve=function(t){return arguments.length?(a=t,s!=null&&(o=a(s)),l):a};l.context=function(t){return arguments.length?(t==null?s=o=null:o=a(s=t),l):s};return l}var xo=n(98247);const _o=(0,xo.RZ)(3);const wo={draw(t,e){const n=(0,xo.RZ)(e+(0,xo.jk)(e/28,.75))*.59436;const i=n/2;const r=i*_o;t.moveTo(0,n);t.lineTo(0,-n);t.moveTo(-r,-i);t.lineTo(r,i);t.moveTo(-r,i);t.lineTo(r,-i)}};const Ao={draw(t,e){const n=(0,xo.RZ)(e/xo.pi);t.moveTo(n,0);t.arc(0,0,n,0,xo.FA)}};const ko={draw(t,e){const n=(0,xo.RZ)(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};const Eo=(0,xo.RZ)(1/3);const Mo=Eo*2;const Do={draw(t,e){const n=(0,xo.RZ)(e/Mo);const i=n*Eo;t.moveTo(0,-n);t.lineTo(i,0);t.lineTo(0,n);t.lineTo(-i,0);t.closePath()}};const Co={draw(t,e){const n=(0,xo.RZ)(e)*.62625;t.moveTo(0,-n);t.lineTo(n,0);t.lineTo(0,n);t.lineTo(-n,0);t.closePath()}};const Fo={draw(t,e){const n=(0,xo.RZ)(e-(0,xo.jk)(e/7,2))*.87559;t.moveTo(-n,0);t.lineTo(n,0);t.moveTo(0,n);t.lineTo(0,-n)}};const So={draw(t,e){const n=(0,xo.RZ)(e);const i=-n/2;t.rect(i,i,n,n)}};const zo={draw(t,e){const n=(0,xo.RZ)(e)*.4431;t.moveTo(n,n);t.lineTo(n,-n);t.lineTo(-n,-n);t.lineTo(-n,n);t.closePath()}};const Bo=.8908130915292852;const $o=(0,xo.F8)(xo.pi/10)/(0,xo.F8)(7*xo.pi/10);const Ro=(0,xo.F8)(xo.FA/10)*$o;const Oo=-(0,xo.gn)(xo.FA/10)*$o;const To={draw(t,e){const n=(0,xo.RZ)(e*Bo);const i=Ro*n;const r=Oo*n;t.moveTo(0,-n);t.lineTo(i,r);for(let s=1;s<5;++s){const e=xo.FA*s/5;const a=(0,xo.gn)(e);const o=(0,xo.F8)(e);t.lineTo(o*n,-a*n);t.lineTo(a*i-o*r,o*i+a*r)}t.closePath()}};const No=(0,xo.RZ)(3);const Lo={draw(t,e){const n=-(0,xo.RZ)(e/(No*3));t.moveTo(0,n*2);t.lineTo(-No*n,-n);t.lineTo(No*n,-n);t.closePath()}};const Po=(0,xo.RZ)(3);const qo={draw(t,e){const n=(0,xo.RZ)(e)*.6824;const i=n/2;const r=n*Po/2;t.moveTo(0,-n);t.lineTo(r,i);t.lineTo(-r,i);t.closePath()}};const Io=-.5;const Uo=(0,xo.RZ)(3)/2;const jo=1/(0,xo.RZ)(12);const Go=(jo/2+1)*3;const Yo={draw(t,e){const n=(0,xo.RZ)(e/Go);const i=n/2,r=n*jo;const s=i,a=n*jo+n;const o=-s,u=a;t.moveTo(i,r);t.lineTo(s,a);t.lineTo(o,u);t.lineTo(Io*i-Uo*r,Uo*i+Io*r);t.lineTo(Io*s-Uo*a,Uo*s+Io*a);t.lineTo(Io*o-Uo*u,Uo*o+Io*u);t.lineTo(Io*i+Uo*r,Io*r-Uo*i);t.lineTo(Io*s+Uo*a,Io*a-Uo*s);t.lineTo(Io*o+Uo*u,Io*u-Uo*o);t.closePath()}};const Wo={draw(t,e){const n=(0,xo.RZ)(e-(0,xo.jk)(e/6,1.7))*.6189;t.moveTo(-n,-n);t.lineTo(n,n);t.moveTo(-n,n);t.lineTo(n,-n)}};const Xo=[Ao,ko,Do,So,To,Lo,Yo];const Ho=[Ao,Fo,Wo,qo,wo,zo,Co];function Vo(t,e){let n=null,i=(0,yo.i)(r);t=typeof t==="function"?t:(0,mo.A)(t||Ao);e=typeof e==="function"?e:(0,mo.A)(e===undefined?64:+e);function r(){let r;if(!n)n=r=i();t.apply(this,arguments).draw(n,+e.apply(this,arguments));if(r)return n=null,r+""||null}r.type=function(e){return arguments.length?(t=typeof e==="function"?e:(0,mo.A)(e),r):t};r.size=function(t){return arguments.length?(e=typeof t==="function"?t:(0,mo.A)(+t),r):e};r.context=function(t){return arguments.length?(n=t==null?null:t,r):n};return r}var Qo=n(69450);function Ko(t,e){if(typeof document!=="undefined"&&document.createElement){const n=document.createElement("canvas");if(n&&n.getContext){n.width=t;n.height=e;return n}}return null}const Zo=()=>typeof Image!=="undefined"?Image:null;var Jo=n(71363);var tu=n(20481);var eu=n(60117);function nu(t){var e;function n(t){return t==null||isNaN(t=+t)?e:t}n.invert=n;n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,eu.A),n):t.slice()};n.unknown=function(t){return arguments.length?(e=t,n):e};n.copy=function(){return nu(t).unknown(e)};t=arguments.length?Array.from(t,eu.A):[0,1];return(0,tu.C)(n)}var iu=n(60125);var ru=n(52178);var su=n(25758);function au(t){return Math.log(t)}function ou(t){return Math.exp(t)}function uu(t){return-Math.log(-t)}function lu(t){return-Math.exp(-t)}function cu(t){return isFinite(t)?+("1e"+t):t<0?0:t}function fu(t){return t===10?cu:t===Math.E?Math.exp:e=>Math.pow(t,e)}function du(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function hu(t){return(e,n)=>-t(-e,n)}function pu(t){const e=t(au,ou);const n=e.domain;let i=10;let r;let s;function a(){r=du(i),s=fu(i);if(n()[0]<0){r=hu(r),s=hu(s);t(uu,lu)}else{t(au,ou)}return e}e.base=function(t){return arguments.length?(i=+t,a()):i};e.domain=function(t){return arguments.length?(n(t),a()):n()};e.ticks=t=>{const e=n();let a=e[0];let o=e[e.length-1];const u=o0)for(;l<=c;++l){for(f=1;fo)break;p.push(d)}}else for(;l<=c;++l){for(f=i-1;f>=1;--f){d=l>0?f/s(-l):f*s(l);if(do)break;p.push(d)}}if(p.length*2{if(t==null)t=10;if(n==null)n=i===10?"s":",";if(typeof n!=="function"){if(!(i%1)&&(n=(0,L.A)(n)).precision==null)n.trim=true;n=(0,U.GP)(n)}if(t===Infinity)return n;const a=Math.max(1,i*t/e.ticks().length);return t=>{let e=t/s(Math.round(r(t)));if(e*in((0,iu.A)(n(),{floor:t=>s(Math.floor(r(t))),ceil:t=>s(Math.ceil(r(t)))}));return e}function mu(){const t=pu((0,ru.Gu)()).domain([1,10]);t.copy=()=>(0,ru.C)(t,mu()).base(t.base());su.C.apply(t,arguments);return t}function gu(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function yu(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function vu(t){return t<0?-t*t:t*t}function bu(t){var e=t(ru.D_,ru.D_),n=1;function i(){return n===1?t(ru.D_,ru.D_):n===.5?t(yu,vu):t(gu(n),gu(1/n))}e.exponent=function(t){return arguments.length?(n=+t,i()):n};return(0,tu.C)(e)}function xu(){var t=bu((0,ru.Gu)());t.copy=function(){return(0,ru.C)(t,xu()).exponent(t.exponent())};su.C.apply(t,arguments);return t}function _u(){return xu.apply(null,arguments).exponent(.5)}function wu(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function Au(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function ku(t){var e=1,n=t(wu(e),Au(e));n.constant=function(n){return arguments.length?t(wu(e=+n),Au(e)):e};return(0,tu.C)(n)}function Eu(){var t=ku((0,ru.Gu)());t.copy=function(){return(0,ru.C)(t,Eu()).constant(t.constant())};return su.C.apply(t,arguments)}var Mu=n(74725);var Du=n(20421);function Cu(){return su.C.apply((0,Mu.B)(Du.$Z,Du.lk,W.Mb,X.R6,Y.Hl,G.dA,H.pz,V.vD,Q.R,fe.aL).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}var Fu=n(21406);var Su=n(15307);function zu(){var t=0,e=1,n,i,r,s,a=ru.D_,o=false,u;function l(t){return t==null||isNaN(t=+t)?u:a(r===0?.5:(t=(s(t)-n)*r,o?Math.max(0,Math.min(1,t)):t))}l.domain=function(a){return arguments.length?([t,e]=a,n=s(t=+t),i=s(e=+e),r=n===i?0:1/(i-n),l):[t,e]};l.clamp=function(t){return arguments.length?(o=!!t,l):o};l.interpolator=function(t){return arguments.length?(a=t,l):a};function c(t){return function(e){var n,i;return arguments.length?([n,i]=e,a=t(n,i),l):[a(0),a(1)]}}l.range=c(Fu.A);l.rangeRound=c(Su.A);l.unknown=function(t){return arguments.length?(u=t,l):u};return function(a){s=a,n=a(t),i=a(e),r=n===i?0:1/(i-n);return l}}function Bu(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function $u(){var t=(0,tu.C)(zu()(ru.D_));t.copy=function(){return Bu(t,$u())};return su.K.apply(t,arguments)}function Ru(){var t=pu(zu()).domain([1,10]);t.copy=function(){return Bu(t,Ru()).base(t.base())};return su.K.apply(t,arguments)}function Ou(){var t=ku(zu());t.copy=function(){return Bu(t,Ou()).constant(t.constant())};return su.K.apply(t,arguments)}function Tu(){var t=bu(zu());t.copy=function(){return Bu(t,Tu()).exponent(t.exponent())};return su.K.apply(t,arguments)}function Nu(){return Tu.apply(null,arguments).exponent(.5)}var Lu=n(99793);function Pu(){var t=0,e=.5,n=1,i=1,r,s,a,o,u,l=ru.D_,c,f=false,d;function h(t){return isNaN(t=+t)?d:(t=.5+((t=+c(t))-s)*(i*t0?n[r-1]:t[0],r=n?[i[n-1],e]:[i[a-1],i[a]]};a.unknown=function(t){return arguments.length?(s=t,a):a};a.thresholds=function(){return i.slice()};a.copy=function(){return Wu().domain([t,e]).range(r).unknown(s)};return su.C.apply((0,tu.C)(a),arguments)}function Xu(){var t=[.5],e=[0,1],n,i=1;function r(r){return r!=null&&r<=r?e[(0,Jo.Ay)(t,r,0,i)]:n}r.domain=function(n){return arguments.length?(t=Array.from(n),i=Math.min(t.length,e.length-1),r):t.slice()};r.range=function(n){return arguments.length?(e=Array.from(n),i=Math.min(t.length,e.length-1),r):e.slice()};r.invertExtent=function(n){var i=e.indexOf(n);return[t[i-1],t[i]]};r.unknown=function(t){return arguments.length?(n=t,r):n};r.copy=function(){return Xu().domain(t).range(e).unknown(n)};return su.C.apply(r,arguments)}var Hu=n(16527);var Vu=n(26698);var Qu=n(67360);var Ku=n(58177);const Zu=(0,Ku.A)("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");const Ju=(0,Ku.A)("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");const tl=(0,Ku.A)("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");const el=(0,Ku.A)("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");const nl=(0,Ku.A)("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");const il=(0,Ku.A)("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");const rl=(0,Ku.A)("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");const sl=(0,Ku.A)("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");const al=(0,Ku.A)("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");const ol=(0,Ku.A)("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function ul(t,e,n){const i=t-e+n*2;return t?i>0?i:1:0}const ll="identity";const cl="linear";const fl="log";const dl="pow";const hl="sqrt";const pl="symlog";const ml="time";const gl="utc";const yl="sequential";const vl="diverging";const bl="quantile";const xl="quantize";const _l="threshold";const wl="ordinal";const Al="point";const kl="band";const El="bin-ordinal";const Ml="continuous";const Dl="discrete";const Cl="discretizing";const Fl="interpolating";const Sl="temporal";function zl(t){return function(e){let n=e[0],i=e[1],r;if(i=i&&n[u]<=r){if(s<0)s=u;a=u}}if(s<0)return undefined;i=t.invertExtent(n[s]);r=t.invertExtent(n[a]);return[i[0]===undefined?i[1]:i[0],r[1]===undefined?r[0]:r[1]]}}function $l(){const t=(0,Hu.A)().unknown(undefined),e=t.domain,n=t.range;let i=[0,1],r,s,a=false,o=0,u=0,l=.5;delete t.unknown;function c(){const t=e().length,c=i[1]h+r*t));return n(c?p.reverse():p)}t.domain=function(t){if(arguments.length){e(t);return c()}else{return e()}};t.range=function(t){if(arguments.length){i=[+t[0],+t[1]];return c()}else{return i.slice()}};t.rangeRound=function(t){i=[+t[0],+t[1]];a=true;return c()};t.bandwidth=function(){return s};t.step=function(){return r};t.round=function(t){if(arguments.length){a=!!t;return c()}else{return a}};t.padding=function(t){if(arguments.length){u=Math.max(0,Math.min(1,t));o=u;return c()}else{return o}};t.paddingInner=function(t){if(arguments.length){o=Math.max(0,Math.min(1,t));return c()}else{return o}};t.paddingOuter=function(t){if(arguments.length){u=Math.max(0,Math.min(1,t));return c()}else{return u}};t.align=function(t){if(arguments.length){l=Math.max(0,Math.min(1,t));return c()}else{return l}};t.invertRange=function(t){if(t[0]==null||t[1]==null)return;const r=i[1]i[1-r])return;c=Math.max(0,(0,Jo.Jj)(a,u)-1);f=u===l?c:(0,Jo.Jj)(a,l)-1;if(u-a[c]>s+1e-10)++c;if(r){d=c;c=o-f;f=o-d}return c>f?undefined:e().slice(c,f+1)};t.invert=function(e){const n=t.invertRange([e,e]);return n?n[0]:n};t.copy=function(){return $l().domain(e()).range(i).round(a).paddingInner(o).paddingOuter(u).align(l)};return c()}function Rl(t){const e=t.copy;t.padding=t.paddingOuter;delete t.paddingInner;t.copy=function(){return Rl(e())};return t}function Ol(){return Rl($l().paddingInner(1))}var Tl=Array.prototype.map;function Nl(t){return Tl.call(t,p.Ro)}const Ll=Array.prototype.slice;function Pl(){let t=[],e=[];function n(n){return n==null||n!==n?undefined:e[((0,Jo.Ay)(t,n)-1)%e.length]}n.domain=function(e){if(arguments.length){t=Nl(e);return n}else{return t.slice()}};n.range=function(t){if(arguments.length){e=Ll.call(t);return n}else{return e.slice()}};n.tickFormat=function(e,n){return(0,Vu.A)(t[0],(0,p.se)(t),e==null?10:e,n)};n.copy=function(){return Pl().domain(n.domain()).range(n.range())};return n}const ql=new Map;const Il=Symbol("vega_scale");function Ul(t){t[Il]=true;return t}function jl(t){return t&&t[Il]===true}function Gl(t,e,n){const i=function n(){const i=e();if(!i.invertRange){i.invertRange=i.invert?zl(i):i.invertExtent?Bl(i):undefined}i.type=t;return Ul(i)};i.metadata=(0,p.M1)((0,p.YO)(n));return i}function Yl(t,e,n){if(arguments.length>1){ql.set(t,Gl(t,e,n));return this}else{return Wl(t)?ql.get(t):undefined}}Yl(ll,nu);Yl(cl,tu.A,Ml);Yl(fl,mu,[Ml,fl]);Yl(dl,xu,Ml);Yl(hl,_u,Ml);Yl(pl,Eu,Ml);Yl(ml,Mu.A,[Ml,Sl]);Yl(gl,Cu,[Ml,Sl]);Yl(yl,$u,[Ml,Fl]);Yl(`${yl}-${cl}`,$u,[Ml,Fl]);Yl(`${yl}-${fl}`,Ru,[Ml,Fl,fl]);Yl(`${yl}-${dl}`,Tu,[Ml,Fl]);Yl(`${yl}-${hl}`,Nu,[Ml,Fl]);Yl(`${yl}-${pl}`,Ou,[Ml,Fl]);Yl(`${vl}-${cl}`,qu,[Ml,Fl]);Yl(`${vl}-${fl}`,Iu,[Ml,Fl,fl]);Yl(`${vl}-${dl}`,ju,[Ml,Fl]);Yl(`${vl}-${hl}`,Gu,[Ml,Fl]);Yl(`${vl}-${pl}`,Uu,[Ml,Fl]);Yl(bl,Yu,[Cl,bl]);Yl(xl,Wu,Cl);Yl(_l,Xu,Cl);Yl(El,Pl,[Dl,Cl]);Yl(wl,Hu.A,Dl);Yl(kl,$l,Dl);Yl(Al,Ol,Dl);function Wl(t){return ql.has(t)}function Xl(t,e){const n=ql.get(t);return n&&n.metadata[e]}function Hl(t){return Xl(t,Ml)}function Vl(t){return Xl(t,Dl)}function Ql(t){return Xl(t,Cl)}function Kl(t){return Xl(t,fl)}function Zl(t){return Xl(t,Sl)}function Jl(t){return Xl(t,Fl)}function tc(t){return Xl(t,bl)}const ec=["clamp","base","constant","exponent"];function nc(t,e){const n=e[0],i=(0,p.se)(e)-n;return function(e){return t(n+e*i)}}function ic(t,e,n){return Lu.A(oc(e||"rgb",n),t)}function rc(t,e){const n=new Array(e),i=e+1;for(let r=0;rt[e]?a[e](t[e]()):0));return a}}function oc(t,e){const n=Qu[uc(t)];return e!=null&&n&&n.gamma?n.gamma(e):n}function uc(t){return"interpolate"+t.toLowerCase().split("-").map((t=>t[0].toUpperCase()+t.slice(1))).join("")}const lc={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"};const cc={accent:Zu,category10:Ju,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:tl,observable10:el,paired:nl,pastel1:il,pastel2:rl,set1:sl,set2:al,set3:ol,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function fc(t){if((0,p.cy)(t))return t;const e=t.length/6|0,n=new Array(e);for(let i=0;iic(fc(t))));function pc(t,e){t=t&&t.toLowerCase();if(arguments.length>1){hc[t]=e;return this}else{return hc[t]}}const mc="symbol";const gc="discrete";const yc="gradient";const vc=t=>(0,p.cy)(t)?t.map((t=>String(t))):String(t);const bc=(t,e)=>t[1]-e[1];const xc=(t,e)=>e[1]-t[1];function _c(t,e,n){let i;if((0,p.Et)(e)){if(t.bins){e=Math.max(e,t.bins.length)}if(n!=null){e=Math.min(e,Math.floor((0,p.Ln)(t.domain())/n||1)+1)}}if((0,p.Gv)(e)){i=e.step;e=e.interval}if((0,p.Kg)(e)){e=t.type===ml?qt(e):t.type==gl?It(e):(0,p.z3)("Only time and utc scales accept interval strings.");if(i)e=e.every(i)}return e}function wc(t,e,n){let i=t.range(),r=i[0],s=(0,p.se)(i),a=bc;if(r>s){i=s;s=r;r=i;a=xc}r=Math.floor(r);s=Math.ceil(s);e=e.map((e=>[e,t(e)])).filter((t=>r<=t[1]&&t[1]<=s)).sort(a).map((t=>t[0]));if(n>0&&e.length>1){const t=[e[0],(0,p.se)(e)];while(e.length>n&&e.length>=3){e=e.filter(((t,e)=>!(e%2)))}if(e.length<3){e=t}}return e}function Ac(t,e){return t.bins?wc(t,t.bins,e):t.ticks?t.ticks(e):t.domain()}function kc(t,e,n,i,r,s){const a=e.type;let o=vc;if(a===ml||r===ml){o=t.timeFormat(i)}else if(a===gl||r===gl){o=t.utcFormat(i)}else if(Kl(a)){const r=t.formatFloat(i);if(s||e.bins){o=r}else{const t=Ec(e,n,false);o=e=>t(e)?r(e):""}}else if(e.tickFormat){const r=e.domain();o=t.formatSpan(r[0],r[r.length-1],n,i)}else if(i){o=t.format(i)}return o}function Ec(t,e,n){const i=Ac(t,e),r=t.base(),s=Math.log(r),a=Math.max(1,r*e/i.length);const o=t=>{let e=t/Math.pow(r,Math.round(Math.log(t)/s));if(e*r1?i[1]-i[0]:i[0],a;for(a=1;aMc[t.type]||t.bins;function $c(t,e,n,i,r,s,a){const o=Dc[e.type]&&s!==ml&&s!==gl?Fc(t,e,r):kc(t,e,n,r,s,a);return i===mc&&Bc(e)?Rc(o):i===gc?Tc(o):Nc(o)}const Rc=t=>(e,n,i)=>{const r=Oc(i[n+1],Oc(i.max,+Infinity)),s=Lc(e,t),a=Lc(r,t);return s&&a?s+" – "+a:a?"< "+a:"≥ "+s};const Oc=(t,e)=>t!=null?t:e;const Tc=t=>(e,n)=>n?t(e):null;const Nc=t=>e=>t(e);const Lc=(t,e)=>Number.isFinite(t)?e(t):null;function Pc(t){const e=t.domain(),n=e.length-1;let i=+e[0],r=+(0,p.se)(e),s=r-i;if(t.type===_l){const t=n?s/n:.1;i-=t;r+=t;s=r-i}return t=>(t-i)/s}function qc(t,e,n,i){const r=i||e.type;if((0,p.Kg)(n)&&Zl(r)){n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")}return!n&&r===ml?t.timeFormat("%A, %d %B %Y, %X"):!n&&r===gl?t.utcFormat("%A, %d %B %Y, %X UTC"):$c(t,e,5,null,n,i,true)}function Ic(t,e,n){n=n||{};const i=Math.max(3,n.maxlen||7),r=qc(t,e,n.format,n.formatType);if(Ql(e.type)){const t=Cc(e).slice(1).map(r),n=t.length;return`${n} boundar${n===1?"y":"ies"}: ${t.join(", ")}`}else if(Vl(e.type)){const t=e.domain(),n=t.length,s=n>i?t.slice(0,i-2).map(r).join(", ")+", ending with "+t.slice(-1).map(r):t.map(r).join(", ");return`${n} value${n===1?"":"s"}: ${s}`}else{const t=e.domain();return`values from ${r(t[0])} to ${r((0,p.se)(t))}`}}let Uc=0;function jc(){Uc=0}const Gc="p_";function Yc(t){return t&&t.gradient}function Wc(t,e,n){const i=t.gradient;let r=t.id,s=i==="radial"?Gc:"";if(!r){r=t.id="gradient_"+Uc++;if(i==="radial"){t.x1=Xc(t.x1,.5);t.y1=Xc(t.y1,.5);t.r1=Xc(t.r1,0);t.x2=Xc(t.x2,.5);t.y2=Xc(t.y2,.5);t.r2=Xc(t.r2,.5);s=Gc}else{t.x1=Xc(t.x1,0);t.y1=Xc(t.y1,0);t.x2=Xc(t.x2,1);t.y2=Xc(t.y2,0)}}e[r]=t;return"url("+(n||"")+"#"+s+r+")"}function Xc(t,e){return t!=null?t:e}function Hc(t,e){var n=[],i;return i={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:n,stop:function(t,e){n.push({offset:t,color:e});return i}}}const Vc={basis:{curve:Ka.Ay},"basis-closed":{curve:Za.A},"basis-open":{curve:Ja.A},bundle:{curve:to.A,tension:"beta",value:.85},cardinal:{curve:eo.Ay,tension:"tension",value:0},"cardinal-open":{curve:no.A,tension:"tension",value:0},"cardinal-closed":{curve:io.A,tension:"tension",value:0},"catmull-rom":{curve:ro.A,tension:"alpha",value:.5},"catmull-rom-closed":{curve:so.A,tension:"alpha",value:.5},"catmull-rom-open":{curve:ao.A,tension:"alpha",value:.5},linear:{curve:oo.A},"linear-closed":{curve:uo.A},monotone:{horizontal:lo.N,vertical:lo.G},natural:{curve:co.A},step:{curve:fo.Ay},"step-after":{curve:fo.Ps},"step-before":{curve:fo.Ko}};function Qc(t,e,n){var i=(0,p.mQ)(Vc,t)&&Vc[t],r=null;if(i){r=i.curve||i[e||"vertical"];if(i.tension&&n!=null){r=r[i.tension](n)}}return r}const Kc={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7};const Zc=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi;const Jc=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/;const tf=/^((\s+,?\s*)|(,\s*))/;const ef=/^[01]/;function nf(t){const e=[];const n=t.match(Zc)||[];n.forEach((t=>{let n=t[0];const i=n.toLowerCase();const r=Kc[i];const s=rf(i,r,t.slice(1).trim());const a=s.length;if(a1){m=Math.sqrt(m);n*=m;i*=m}const g=d/n;const y=f/n;const v=-f/i;const b=d/i;const x=g*o+y*u;const _=v*o+b*u;const w=g*t+y*e;const A=v*t+b*e;const k=(w-x)*(w-x)+(A-_)*(A-_);let E=1/k-.25;if(E<0)E=0;let M=Math.sqrt(E);if(s==r)M=-M;const D=.5*(x+w)-M*(A-_);const C=.5*(_+A)+M*(w-x);const F=Math.atan2(_-C,x-D);const S=Math.atan2(A-C,w-D);let z=S-F;if(z<0&&s===1){z+=uf}else if(z>0&&s===0){z-=uf}const B=Math.ceil(Math.abs(z/(of+.001)));const $=[];for(let R=0;R+t}function Sf(t,e,n){return Math.max(e,Math.min(t,n))}function zf(){var t=Ef,e=Mf,n=Df,i=Cf,r=Ff(0),s=r,a=r,o=r,u=null;function l(l,c,f){var d,h=c!=null?c:+t.call(this,l),p=f!=null?f:+e.call(this,l),m=+n.call(this,l),g=+i.call(this,l),y=Math.min(m,g)/2,v=Sf(+r.call(this,l),0,y),b=Sf(+s.call(this,l),0,y),x=Sf(+a.call(this,l),0,y),_=Sf(+o.call(this,l),0,y);if(!u)u=d=(0,Qo.Ae)();if(v<=0&&b<=0&&x<=0&&_<=0){u.rect(h,p,m,g)}else{var w=h+m,A=p+g;u.moveTo(h+v,p);u.lineTo(w-b,p);u.bezierCurveTo(w-kf*b,p,w,p+kf*b,w,p+b);u.lineTo(w,A-_);u.bezierCurveTo(w,A-kf*_,w-kf*_,A,w-_,A);u.lineTo(h+x,A);u.bezierCurveTo(h+kf*x,A,h,A-kf*x,h,A-x);u.lineTo(h,p+v);u.bezierCurveTo(h,p+kf*v,h+kf*v,p,h+v,p);u.closePath()}if(d){u=null;return d+""||null}}l.x=function(e){if(arguments.length){t=Ff(e);return l}else{return t}};l.y=function(t){if(arguments.length){e=Ff(t);return l}else{return e}};l.width=function(t){if(arguments.length){n=Ff(t);return l}else{return n}};l.height=function(t){if(arguments.length){i=Ff(t);return l}else{return i}};l.cornerRadius=function(t,e,n,i){if(arguments.length){r=Ff(t);s=e!=null?Ff(e):r;o=n!=null?Ff(n):r;a=i!=null?Ff(i):s;return l}else{return r}};l.context=function(t){if(arguments.length){u=t==null?null:t;return l}else{return u}};return l}function Bf(){var t,e,n,i,r=null,s,a,o,u;function l(t,e,n){const i=n/2;if(s){var l=o-e,c=t-a;if(l||c){var f=Math.hypot(l,c),d=(l/=f)*u,h=(c/=f)*u,p=Math.atan2(c,l);r.moveTo(a-d,o-h);r.lineTo(t-l*i,e-c*i);r.arc(t,e,i,p-Math.PI,p);r.lineTo(a+d,o+h);r.arc(a,o,u,p,p+Math.PI)}else{r.arc(t,e,i,0,uf)}r.closePath()}else{s=1}a=t;o=e;u=i}function c(a){var o,u=a.length,c,f=false,d;if(r==null)r=d=(0,Qo.Ae)();for(o=0;o<=u;++o){if(!(ot.x||0,Of=t=>t.y||0,Tf=t=>t.width||0,Nf=t=>t.height||0,Lf=t=>(t.x||0)+(t.width||0),Pf=t=>(t.y||0)+(t.height||0),qf=t=>t.startAngle||0,If=t=>t.endAngle||0,Uf=t=>t.padAngle||0,jf=t=>t.innerRadius||0,Gf=t=>t.outerRadius||0,Yf=t=>t.cornerRadius||0,Wf=t=>$f(t.cornerRadiusTopLeft,t.cornerRadius)||0,Xf=t=>$f(t.cornerRadiusTopRight,t.cornerRadius)||0,Hf=t=>$f(t.cornerRadiusBottomRight,t.cornerRadius)||0,Vf=t=>$f(t.cornerRadiusBottomLeft,t.cornerRadius)||0,Qf=t=>$f(t.size,64),Kf=t=>t.size||1,Zf=t=>!(t.defined===false),Jf=t=>_f(t.shape||"circle");const td=(0,ho.A)().startAngle(qf).endAngle(If).padAngle(Uf).innerRadius(jf).outerRadius(Gf).cornerRadius(Yf),ed=bo().x(Rf).y1(Of).y0(Pf).defined(Zf),nd=bo().y(Of).x1(Rf).x0(Lf).defined(Zf),id=(0,go.A)().x(Rf).y(Of).defined(Zf),rd=zf().x(Rf).y(Of).width(Tf).height(Nf).cornerRadius(Wf,Xf,Hf,Vf),sd=Vo().type(Jf).size(Qf),ad=Bf().x(Rf).y(Of).defined(Zf).size(Kf);function od(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function ud(t,e){return td.context(t)(e)}function ld(t,e){const n=e[0],i=n.interpolate||"linear";return(n.orient==="horizontal"?nd:ed).curve(Qc(i,n.orient,n.tension)).context(t)(e)}function cd(t,e){const n=e[0],i=n.interpolate||"linear";return id.curve(Qc(i,n.orient,n.tension)).context(t)(e)}function fd(t,e,n,i){return rd.context(t)(e,n,i)}function dd(t,e){return(e.mark.shape||e.shape).context(t)(e)}function hd(t,e){return sd.context(t)(e)}function pd(t,e){return ad.context(t)(e)}var md=1;function gd(){md=1}function yd(t,e,n){var i=e.clip,r=t._defs,s=e.clip_id||(e.clip_id="clip"+md++),a=r.clipping[s]||(r.clipping[s]={id:s});if((0,p.Tn)(i)){a.path=i(null)}else if(od(n)){a.path=fd(null,n,0,0)}else{a.width=n.width||0;a.height=n.height||0}return"url(#"+s+")"}function vd(t){this.clear();if(t)this.union(t)}vd.prototype={clone(){return new vd(this)},clear(){this.x1=+Number.MAX_VALUE;this.y1=+Number.MAX_VALUE;this.x2=-Number.MAX_VALUE;this.y2=-Number.MAX_VALUE;return this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,e,n,i){if(nthis.x2)this.x2=t;if(e>this.y2)this.y2=e;return this},expand(t){this.x1-=t;this.y1-=t;this.x2+=t;this.y2+=t;return this},round(){this.x1=Math.floor(this.x1);this.y1=Math.floor(this.y1);this.x2=Math.ceil(this.x2);this.y2=Math.ceil(this.y2);return this},scale(t){this.x1*=t;this.y1*=t;this.x2*=t;this.y2*=t;return this},translate(t,e){this.x1+=t;this.x2+=t;this.y1+=e;this.y2+=e;return this},rotate(t,e,n){const i=this.rotatedPoints(t,e,n);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},rotatedPoints(t,e,n){var{x1:i,y1:r,x2:s,y2:a}=this,o=Math.cos(t),u=Math.sin(t),l=e-e*o+n*u,c=n-e*u-n*o;return[o*i-u*r+l,u*i+o*r+c,o*i-u*a+l,u*i+o*a+c,o*s-u*r+l,u*s+o*r+c,o*s-u*a+l,u*s+o*a+c]},union(t){if(t.x1this.x2)this.x2=t.x2;if(t.y2>this.y2)this.y2=t.y2;return this},intersect(t){if(t.x1>this.x1)this.x1=t.x1;if(t.y1>this.y1)this.y1=t.y1;if(t.x2=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2t.x2||this.y2t.y2)},contains(t,e){return!(tthis.x2||ethis.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function bd(t){this.mark=t;this.bounds=this.bounds||new vd}function xd(t){bd.call(this,t);this.items=this.items||[]}(0,p.B)(xd,bd);class _d{constructor(t){this._pending=0;this._loader=t||fn()}pending(){return this._pending}sanitizeURL(t){const e=this;wd(e);return e._loader.sanitize(t,{context:"href"}).then((t=>{Ad(e);return t})).catch((()=>{Ad(e);return null}))}loadImage(t){const e=this,n=Zo();wd(e);return e._loader.sanitize(t,{context:"image"}).then((t=>{const i=t.href;if(!i||!n)throw{url:i};const r=new n;const s=(0,p.mQ)(t,"crossOrigin")?t.crossOrigin:"anonymous";if(s!=null)r.crossOrigin=s;r.onload=()=>Ad(e);r.onerror=()=>Ad(e);r.src=i;return r})).catch((t=>{Ad(e);return{complete:false,width:0,height:0,src:t&&t.url||""}}))}ready(){const t=this;return new Promise((e=>{function n(i){if(!t.pending())e(i);else setTimeout((()=>{n(true)}),10)}n(false)}))}}function wd(t){t._pending+=1}function Ad(t){t._pending-=1}function kd(t,e,n){if(e.stroke&&e.opacity!==0&&e.strokeOpacity!==0){const i=e.strokeWidth!=null?+e.strokeWidth:1;t.expand(i+(n?Ed(e,i):0))}return t}function Ed(t,e){return t.strokeJoin&&t.strokeJoin!=="miter"?0:e}const Md=uf-1e-8;let Dd,Cd,Fd,Sd,zd,Bd,$d,Rd;const Od=(t,e)=>Dd.add(t,e);const Td=(t,e)=>Od(Cd=t,Fd=e);const Nd=t=>Od(t,Dd.y1);const Ld=t=>Od(Dd.x1,t);const Pd=(t,e)=>zd*t+$d*e;const qd=(t,e)=>Bd*t+Rd*e;const Id=(t,e)=>Od(Pd(t,e),qd(t,e));const Ud=(t,e)=>Td(Pd(t,e),qd(t,e));function jd(t,e){Dd=t;if(e){Sd=e*sf;zd=Rd=Math.cos(Sd);Bd=Math.sin(Sd);$d=-Bd}else{zd=Rd=1;Sd=Bd=$d=0}return Gd}const Gd={beginPath(){},closePath(){},moveTo:Ud,lineTo:Ud,rect(t,e,n,i){if(Sd){Id(t+n,e);Id(t+n,e+i);Id(t,e+i);Ud(t,e)}else{Od(t+n,e+i);Td(t,e)}},quadraticCurveTo(t,e,n,i){const r=Pd(t,e),s=qd(t,e),a=Pd(n,i),o=qd(n,i);Yd(Cd,r,a,Nd);Yd(Fd,s,o,Ld);Td(a,o)},bezierCurveTo(t,e,n,i,r,s){const a=Pd(t,e),o=qd(t,e),u=Pd(n,i),l=qd(n,i),c=Pd(r,s),f=qd(r,s);Wd(Cd,a,u,c,Nd);Wd(Fd,o,l,f,Ld);Td(c,f)},arc(t,e,n,i,r,s){i+=Sd;r+=Sd;Cd=n*Math.cos(r)+t;Fd=n*Math.sin(r)+e;if(Math.abs(r-i)>Md){Od(t-n,e-n);Od(t+n,e+n)}else{const a=i=>Od(n*Math.cos(i)+t,n*Math.sin(i)+e);let o,u;a(i);a(r);if(r!==i){i=i%uf;if(i<0)i+=uf;r=r%uf;if(r<0)r+=uf;if(rr;++u,o-=of)a(o)}else{o=i-i%of+of;for(u=0;u<4&&oaf){c=a*a+o*s;if(c>=0){c=Math.sqrt(c);u=(-a+c)/s;l=(-a-c)/s}}else{u=.5*o/a}if(0d)return false;else if(m>f)f=m}else if(h>0){if(m0){t.globalAlpha=n;t.fillStyle=sh(t,e,e.fill);return true}else{return false}}var oh=[];function uh(t,e,n){var i=(i=e.strokeWidth)!=null?i:1;if(i<=0)return false;n*=e.strokeOpacity==null?1:e.strokeOpacity;if(n>0){t.globalAlpha=n;t.strokeStyle=sh(t,e,e.stroke);t.lineWidth=i;t.lineCap=e.strokeCap||"butt";t.lineJoin=e.strokeJoin||"miter";t.miterLimit=e.strokeMiterLimit||10;if(t.setLineDash){t.setLineDash(e.strokeDash||oh);t.lineDashOffset=e.strokeDashOffset||0}return true}else{return false}}function lh(t,e){return t.zindex-e.zindex||t.index-e.index}function ch(t){if(!t.zdirty)return t.zitems;var e=t.items,n=[],i,r,s;for(r=0,s=e.length;r=0;){if(i=e(n[r]))return i}if(n===s){for(n=t.items,r=n.length;--r>=0;){if(!n[r].zindex){if(i=e(n[r]))return i}}}return null}function hh(t){return function(e,n,i){fh(n,(n=>{if(!i||i.intersects(n.bounds)){mh(t,e,n,n)}}))}}function ph(t){return function(e,n,i){if(n.items.length&&(!i||i.intersects(n.bounds))){mh(t,e,n.items[0],n.items)}}}function mh(t,e,n,i){var r=n.opacity==null?1:n.opacity;if(r===0)return;if(t(e,i))return;eh(e,n);if(n.fill&&ah(e,n,r)){e.fill()}if(n.stroke&&uh(e,n,r)){e.stroke()}}function gh(t){t=t||p.vN;return function(e,n,i,r,s,a){i*=e.pixelRatio;r*=e.pixelRatio;return dh(n,(n=>{const o=n.bounds;if(o&&!o.contains(s,a)||!o)return;if(t(e,n,i,r,s,a))return n}))}}function yh(t,e){return function(n,i,r,s){var a=Array.isArray(i)?i[0]:i,o=e==null?a.fill:e,u=a.stroke&&n.isPointInStroke,l,c;if(u){l=a.strokeWidth;c=a.strokeCap;n.lineWidth=l!=null?l:1;n.lineCap=c!=null?c:"butt"}return t(n,i)?false:o&&n.isPointInPath(r,s)||u&&n.isPointInStroke(r,s)}}function vh(t){return gh(yh(t))}function bh(t,e){return"translate("+t+","+e+")"}function xh(t){return"rotate("+t+")"}function _h(t,e){return"scale("+t+","+e+")"}function wh(t){return bh(t.x||0,t.y||0)}function Ah(t){return bh(t.x||0,t.y||0)+(t.angle?" "+xh(t.angle):"")}function kh(t){return bh(t.x||0,t.y||0)+(t.angle?" "+xh(t.angle):"")+(t.scaleX||t.scaleY?" "+_h(t.scaleX||1,t.scaleY||1):"")}function Eh(t,e,n){function i(t,n){t("transform",Ah(n));t("d",e(null,n))}function r(t,n){e(jd(t,n.angle),n);return kd(t,n).translate(n.x||0,n.y||0)}function s(t,n){var i=n.x||0,r=n.y||0,s=n.angle||0;t.translate(i,r);if(s)t.rotate(s*=sf);t.beginPath();e(t,n);if(s)t.rotate(-s);t.translate(-i,-r)}return{type:t,tag:"path",nested:false,attr:i,bound:r,draw:hh(s),pick:vh(s),isect:n||Qd(s)}}var Mh=Eh("arc",ud);function Dh(t,e){var n=t[0].orient==="horizontal"?e[1]:e[0],i=t[0].orient==="horizontal"?"y":"x",r=t.length,s=+Infinity,a,o;while(--r>=0){if(t[r].defined===false)continue;o=Math.abs(t[r][i]-n);if(o=0){if(t[i].defined===false)continue;r=t[i].x-e[0];s=t[i].y-e[1];a=r*r+s*s;if(a=0){if(t[n].defined===false)continue;i=t[n].x-e[0];r=t[n].y-e[1];s=i*i+r*r;i=t[n].size||1;if(s.5&&e<1.5?.5-Math.abs(e-1):0}function Oh(t,e){t("transform",wh(e))}function Th(t,e){const n=Rh(e);t("d",fd(null,e,n,n))}function Nh(t,e){t("class","background");t("aria-hidden",true);Th(t,e)}function Lh(t,e){t("class","foreground");t("aria-hidden",true);if(e.strokeForeground){Th(t,e)}else{t("d","")}}function Ph(t,e,n){const i=e.clip?yd(n,e,e):null;t("clip-path",i)}function qh(t,e){if(!e.clip&&e.items){const n=e.items,i=n.length;for(let e=0;e{const r=e.x||0,s=e.y||0,a=e.strokeForeground,o=e.opacity==null?1:e.opacity;if((e.stroke||e.fill)&&o){Ih(t,e,r,s);eh(t,e);if(e.fill&&ah(t,e,o)){t.fill()}if(e.stroke&&!a&&uh(t,e,o)){t.stroke()}}t.save();t.translate(r,s);if(e.clip)$h(t,e);if(n)n.translate(-r,-s);fh(e,(e=>{if(e.marktype==="group"||i==null||i.includes(e.marktype)){this.draw(t,e,n,i)}}));if(n)n.translate(r,s);t.restore();if(a&&e.stroke&&o){Ih(t,e,r,s);eh(t,e);if(uh(t,e,o)){t.stroke()}}}))}function Wh(t,e,n,i,r,s){if(e.bounds&&!e.bounds.contains(r,s)||!e.items){return null}const a=n*t.pixelRatio,o=i*t.pixelRatio;return dh(e,(u=>{let l,c,f;const d=u.bounds;if(d&&!d.contains(r,s))return;c=u.x||0;f=u.y||0;const h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(rh||sp))return;t.save();t.translate(c,f);c=r-c;f=s-f;if(m&&od(u)&&!Gh(t,u,a,o)){t.restore();return null}const g=u.strokeForeground,y=e.interactive!==false;if(y&&g&&u.stroke&&jh(t,u,a,o)){t.restore();return u}l=dh(u,(t=>Xh(t,c,f)?this.pick(t,n,i,c,f):null));if(!l&&y&&(u.fill||!g&&u.stroke)&&Uh(t,u,a,o)){l=u}t.restore();return l||null}))}function Xh(t,e,n){return(t.interactive!==false||t.marktype==="group")&&t.bounds&&t.bounds.contains(e,n)}var Hh={type:"group",tag:"g",nested:false,attr:Oh,bound:qh,draw:Yh,pick:Wh,isect:Zd,content:Ph,background:Nh,foreground:Lh};var Vh={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function Qh(t,e){var n=t.image;if(!n||t.url&&t.url!==n.url){n={complete:false,width:0,height:0};e.loadImage(t.url).then((e=>{t.image=e;t.image.url=t.url}))}return n}function Kh(t,e){return t.width!=null?t.width:!e||!e.width?0:t.aspect!==false&&t.height?t.height*e.width/e.height:e.width}function Zh(t,e){return t.height!=null?t.height:!e||!e.height?0:t.aspect!==false&&t.width?t.width*e.height/e.width:e.height}function Jh(t,e){return t==="center"?e/2:t==="right"?e:0}function tp(t,e){return t==="middle"?e/2:t==="bottom"?e:0}function ep(t,e,n){const i=Qh(e,n),r=Kh(e,i),s=Zh(e,i),a=(e.x||0)-Jh(e.align,r),o=(e.y||0)-tp(e.baseline,s),u=!i.src&&i.toDataURL?i.toDataURL():i.src||"";t("href",u,Vh["xmlns:xlink"],"xlink:href");t("transform",bh(a,o));t("width",r);t("height",s);t("preserveAspectRatio",e.aspect===false?"none":"xMidYMid")}function np(t,e){const n=e.image,i=Kh(e,n),r=Zh(e,n),s=(e.x||0)-Jh(e.align,i),a=(e.y||0)-tp(e.baseline,r);return t.set(s,a,s+i,a+r)}function ip(t,e,n){fh(e,(e=>{if(n&&!n.intersects(e.bounds))return;const i=Qh(e,this);let r=Kh(e,i);let s=Zh(e,i);if(r===0||s===0)return;let a=(e.x||0)-Jh(e.align,r),o=(e.y||0)-tp(e.baseline,s),u,l,c,f;if(e.aspect!==false){l=i.width/i.height;c=e.width/e.height;if(l===l&&c===c&&l!==c){if(c{if(n&&!n.intersects(e.bounds))return;var i=e.opacity==null?1:e.opacity;if(i&&gp(t,e,i)){eh(t,e);t.stroke()}}))}function vp(t,e,n,i){if(!t.isPointInStroke)return false;return gp(t,e,1)&&t.isPointInStroke(n,i)}var bp={type:"rule",tag:"line",nested:false,attr:pp,bound:mp,draw:yp,pick:gh(vp),isect:Jd};var xp=Eh("shape",dd);var _p=Eh("symbol",hd,Kd);const wp=(0,p.EV)();var Ap={height:Fp,measureWidth:Dp,estimateWidth:Ep,width:Ep,canvas:kp};kp(true);function kp(t){Ap.width=t&&Hd?Dp:Ep}function Ep(t,e){return Mp(Rp(t,e),Fp(t))}function Mp(t,e){return~~(.8*t.length*e)}function Dp(t,e){return Fp(t)<=0||!(e=Rp(t,e))?0:Cp(e,Lp(t))}function Cp(t,e){const n=`(${e}) ${t}`;let i=wp.get(n);if(i===undefined){Hd.font=e;i=Hd.measureText(t).width;wp.set(n,i)}return i}function Fp(t){return t.fontSize!=null?+t.fontSize||0:11}function Sp(t){return t.lineHeight!=null?t.lineHeight:Fp(t)+2}function zp(t){return(0,p.cy)(t)?t.length>1?t:t[0]:t}function Bp(t){return zp(t.lineBreak&&t.text&&!(0,p.cy)(t.text)?t.text.split(t.lineBreak):t.text)}function $p(t){const e=Bp(t);return((0,p.cy)(e)?e.length-1:0)*Sp(t)}function Rp(t,e){const n=e==null?"":(e+"").trim();return t.limit>0&&n.length?Tp(t,n):n}function Op(t){if(Ap.width===Dp){const e=Lp(t);return t=>Cp(t,e)}else if(Ap.width===Ep){const e=Fp(t);return t=>Mp(t,e)}else{return e=>Ap.width(t,e)}}function Tp(t,e){var n=+t.limit,i=Op(t);if(i(e)>>1;if(i(e.slice(u))>n)a=u+1;else o=u}return r+e.slice(a)}else{while(a>>1);if(i(e.slice(0,u))Math.max(t,Ap.width(e,n))),0)}else{f=Ap.width(e,c)}if(r==="center"){u-=f/2}else if(r==="right"){u-=f}else;t.set(u+=a,l+=o,u+f,l+i);if(e.angle&&!n){t.rotate(e.angle*sf,a,o)}else if(n===2){return t.rotatedPoints(e.angle*sf,a,o)}return t}function Yp(t,e,n){fh(e,(e=>{var i=e.opacity==null?1:e.opacity,r,s,a,o,u,l,c;if(n&&!n.intersects(e.bounds)||i===0||e.fontSize<=0||e.text==null||e.text.length===0)return;t.font=Lp(e);t.textAlign=e.align||"left";r=Up(e);s=r.x1,a=r.y1;if(e.angle){t.save();t.translate(s,a);t.rotate(e.angle*sf);s=a=0}s+=e.dx||0;a+=(e.dy||0)+Pp(e);l=Bp(e);eh(t,e);if((0,p.cy)(l)){u=Sp(e);for(o=0;oe)t.removeChild(n[--i]);return t}function cm(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function fm(t,e){const n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}function dm(t,e,n,i){var r=t&&t.mark,s,a;if(r&&(s=Qp[r.marktype]).tip){a=fm(e,n);a[0]-=i[0];a[1]-=i[1];while(t=t.mark.group){a[0]-=t.x||0;a[1]-=t.y||0}t=s.tip(r.items,a)}return t}class hm{constructor(t,e){this._active=null;this._handlers={};this._loader=t||fn();this._tooltip=e||pm}initialize(t,e,n){this._el=t;this._obj=n||null;return this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(t){if(arguments.length){this._origin=t||[0,0];return this}else{return this._origin.slice()}}scene(t){if(!arguments.length)return this._scene;this._scene=t;return this}on(){}off(){}_handlerIndex(t,e,n){for(let i=t?t.length:0;--i>=0;){if(t[i].type===e&&(!n||t[i].handler===n)){return i}}return-1}handlers(t){const e=this._handlers,n=[];if(t){n.push(...e[this.eventName(t)])}else{for(const t in e){n.push(...e[t])}}return n}eventName(t){const e=t.indexOf(".");return e<0?t:t.slice(0,e)}handleHref(t,e,n){this._loader.sanitize(n,{context:"href"}).then((e=>{const n=new MouseEvent(t.type,t),i=am(null,"a");for(const t in e)i.setAttribute(t,e[t]);i.dispatchEvent(n)})).catch((()=>{}))}handleTooltip(t,e,n){if(e&&e.tooltip!=null){e=dm(e,t,this.canvas(),this._origin);const i=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,i)}}getItemBoundingClientRect(t){const e=this.canvas();if(!e)return;const n=e.getBoundingClientRect(),i=this._origin,r=t.bounds,s=r.width(),a=r.height();let o=r.x1+i[0]+n.left,u=r.y1+i[1]+n.top;while(t.mark&&(t=t.mark.group)){o+=t.x||0;u+=t.y||0}return{x:o,y:u,width:s,height:a,left:o,top:u,right:o+s,bottom:u+a}}}function pm(t,e,n,i){t.element().setAttribute("title",i||"")}class mm{constructor(t){this._el=null;this._bgcolor=null;this._loader=new _d(t)}initialize(t,e,n,i,r){this._el=t;return this.resize(e,n,i,r)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(t){if(arguments.length===0)return this._bgcolor;this._bgcolor=t;return this}resize(t,e,n,i){this._width=t;this._height=e;this._origin=n||[0,0];this._scale=i||1;return this}dirty(){}render(t,e){const n=this;n._call=function(){n._render(t,e)};n._call();n._call=null;return n}_render(){}renderAsync(t,e){const n=this.render(t,e);return this._ready?this._ready.then((()=>n)):Promise.resolve(n)}_load(t,e){var n=this,i=n._loader[t](e);if(!n._ready){const t=n._call;n._ready=n._loader.ready().then((e=>{if(e)t();n._ready=null}))}return i}sanitizeURL(t){return this._load("sanitizeURL",t)}loadImage(t){return this._load("loadImage",t)}}const gm="keydown";const ym="keypress";const vm="keyup";const bm="dragenter";const xm="dragleave";const _m="dragover";const wm="pointerdown";const Am="pointerup";const km="pointermove";const Em="pointerout";const Mm="pointerover";const Dm="mousedown";const Cm="mouseup";const Fm="mousemove";const Sm="mouseout";const zm="mouseover";const Bm="click";const $m="dblclick";const Rm="wheel";const Om="mousewheel";const Tm="touchstart";const Nm="touchmove";const Lm="touchend";const Pm=[gm,ym,vm,bm,xm,_m,wm,Am,km,Em,Mm,Dm,Cm,Fm,Sm,zm,Bm,$m,Rm,Om,Tm,Nm,Lm];const qm=km;const Im=Sm;const Um=Bm;class jm extends hm{constructor(t,e){super(t,e);this._down=null;this._touch=null;this._first=true;this._events={};this.events=Pm;this.pointermove=Hm([km,Fm],[Mm,zm],[Em,Sm]);this.dragover=Hm([_m],[bm],[xm]),this.pointerout=Vm([Em,Sm]);this.dragleave=Vm([xm])}initialize(t,e,n){this._canvas=t&&om(t,"canvas");[Bm,Dm,wm,km,Em,xm].forEach((t=>Ym(this,t)));return super.initialize(t,e,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(t){this.fire(Om,t)}pointerdown(t){this._down=this._active;this.fire(wm,t)}mousedown(t){this._down=this._active;this.fire(Dm,t)}click(t){if(this._down===this._active){this.fire(Bm,t);this._down=null}}touchstart(t){this._touch=this.pickEvent(t.changedTouches[0]);if(this._first){this._active=this._touch;this._first=false}this.fire(Tm,t,true)}touchmove(t){this.fire(Nm,t,true)}touchend(t){this.fire(Lm,t,true);this._touch=null}fire(t,e,n){const i=n?this._touch:this._active,r=this._handlers[t];e.vegaType=t;if(t===Um&&i&&i.href){this.handleHref(e,i,i.href)}else if(t===qm||t===Im){this.handleTooltip(e,i,t!==Im)}if(r){for(let t=0,n=r.length;t=0){i.splice(r,1)}return this}pickEvent(t){const e=fm(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])}pick(t,e,n,i,r){const s=this.context(),a=Qp[t.marktype];return a.pick.call(this,s,t,e,n,i,r)}}const Gm=t=>t===Tm||t===Nm||t===Lm?[Tm,Nm,Lm]:[t];function Ym(t,e){Gm(e).forEach((e=>Wm(t,e)))}function Wm(t,e){const n=t.canvas();if(n&&!t._events[e]){t._events[e]=1;n.addEventListener(e,t[e]?n=>t[e](n):n=>t.fire(e,n))}}function Xm(t,e,n){e.forEach((e=>t.fire(e,n)))}function Hm(t,e,n){return function(i){const r=this._active,s=this.pickEvent(i);if(s===r){Xm(this,t,i)}else{if(!r||!r.exit){Xm(this,n,i)}this._active=s;Xm(this,e,i);Xm(this,t,i)}}}function Vm(t){return function(e){Xm(this,t,e);this._active=null}}function Qm(){return typeof window!=="undefined"?window.devicePixelRatio||1:1}function Km(t,e,n,i,r,s){const a=typeof HTMLElement!=="undefined"&&t instanceof HTMLElement&&t.parentNode!=null,o=t.getContext("2d"),u=a?Qm():r;t.width=e*u;t.height=n*u;for(const l in s){o[l]=s[l]}if(a&&u!==1){t.style.width=e+"px";t.style.height=n+"px"}o.pixelRatio=u;o.setTransform(u,0,0,u,u*i[0],u*i[1]);return t}class Zm extends mm{constructor(t){super(t);this._options={};this._redraw=false;this._dirty=new vd;this._tempb=new vd}initialize(t,e,n,i,r,s){this._options=s||{};this._canvas=this._options.externalContext?null:Ko(1,1,this._options.type);if(t&&this._canvas){lm(t,0).appendChild(this._canvas);this._canvas.setAttribute("class","marks")}return super.initialize(t,e,n,i,r)}resize(t,e,n,i){super.resize(t,e,n,i);if(this._canvas){Km(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context)}else{const t=this._options.externalContext;if(!t)(0,p.z3)("CanvasRenderer is missing a valid canvas or context");t.scale(this._scale,this._scale);t.translate(this._origin[0],this._origin[1])}this._redraw=true;return this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(t){const e=this._tempb.clear().union(t.bounds);let n=t.mark.group;while(n){e.translate(n.x||0,n.y||0);n=n.mark.group}this._dirty.union(e)}_render(t,e){const n=this.context(),i=this._origin,r=this._width,s=this._height,a=this._dirty,o=Jm(i,r,s);n.save();const u=this._redraw||a.empty()?(this._redraw=false,o.expand(1)):tg(n,o.intersect(a),i);this.clear(-i[0],-i[1],r,s);this.draw(n,t,u,e);n.restore();a.clear();return this}draw(t,e,n,i){if(e.marktype!=="group"&&i!=null&&!i.includes(e.marktype)){return}const r=Qp[e.marktype];if(e.clip)Bh(t,e);r.draw.call(this,t,e,n,i);if(e.clip)t.restore()}clear(t,e,n,i){const r=this._options,s=this.context();if(r.type!=="pdf"&&!r.externalContext){s.clearRect(t,e,n,i)}if(this._bgcolor!=null){s.fillStyle=this._bgcolor;s.fillRect(t,e,n,i)}}}const Jm=(t,e,n)=>(new vd).set(0,0,e,n).translate(-t[0],-t[1]);function tg(t,e,n){e.expand(1).round();if(t.pixelRatio%1){e.scale(t.pixelRatio).round().scale(1/t.pixelRatio)}e.translate(-(n[0]%1),-(n[1]%1));t.beginPath();t.rect(e.x1,e.y1,e.width(),e.height());t.clip();return e}class eg extends hm{constructor(t,e){super(t,e);const n=this;n._hrefHandler=ng(n,((t,e)=>{if(e&&e.href)n.handleHref(t,e,e.href)}));n._tooltipHandler=ng(n,((t,e)=>{n.handleTooltip(t,e,t.type!==Im)}))}initialize(t,e,n){let i=this._svg;if(i){i.removeEventListener(Um,this._hrefHandler);i.removeEventListener(qm,this._tooltipHandler);i.removeEventListener(Im,this._tooltipHandler)}this._svg=i=t&&om(t,"svg");if(i){i.addEventListener(Um,this._hrefHandler);i.addEventListener(qm,this._tooltipHandler);i.addEventListener(Im,this._tooltipHandler)}return super.initialize(t,e,n)}canvas(){return this._svg}on(t,e){const n=this.eventName(t),i=this._handlers,r=this._handlerIndex(i[n],t,e);if(r<0){const r={type:t,handler:e,listener:ng(this,e)};(i[n]||(i[n]=[])).push(r);if(this._svg){this._svg.addEventListener(n,r.listener)}}return this}off(t,e){const n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);if(r>=0){if(this._svg){this._svg.removeEventListener(n,i[r].listener)}i.splice(r,1)}return this}}const ng=(t,e)=>n=>{let i=n.target.__data__;i=Array.isArray(i)?i[0]:i;n.vegaType=n.type;e.call(t._obj,n,i)};const ig="aria-hidden";const rg="aria-label";const sg="role";const ag="aria-roledescription";const og="graphics-object";const ug="graphics-symbol";const lg=(t,e,n)=>({[sg]:t,[ag]:e,[rg]:n||undefined});const cg=(0,p.M1)(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]);const fg={axis:{desc:"axis",caption:vg},legend:{desc:"legend",caption:bg},"title-text":{desc:"title",caption:t=>`Title text '${yg(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${yg(t)}'`}};const dg={ariaRole:sg,ariaRoleDescription:ag,description:rg};function hg(t,e){const n=e.aria===false;t(ig,n||undefined);if(n||e.description==null){for(const e in dg){t(dg[e],undefined)}}else{const n=e.mark.marktype;t(rg,e.description);t(sg,e.ariaRole||(n==="group"?og:ug));t(ag,e.ariaRoleDescription||`${n} mark`)}}function pg(t){return t.aria===false?{[ig]:true}:cg[t.role]?null:fg[t.role]?gg(t,fg[t.role]):mg(t)}function mg(t){const e=t.marktype;const n=e==="group"||e==="text"||t.items.some((t=>t.description!=null&&t.aria!==false));return lg(n?og:ug,`${e} mark container`,t.description)}function gg(t,e){try{const n=t.items[0],i=e.caption||(()=>"");return lg(e.role||ug,e.desc,n.description||i(n))}catch(n){return null}}function yg(t){return(0,p.YO)(t.text).join(" ")}function vg(t){const e=t.datum,n=t.orient,i=e.title?xg(t):null,r=t.context,s=r.scales[e.scale].value,a=r.dataflow.locale(),o=s.type,u=n==="left"||n==="right"?"Y":"X";return`${u}-axis`+(i?` titled '${i}'`:"")+` for a ${Vl(o)?"discrete":o} scale`+` with ${Ic(a,s,t)}`}function bg(t){const e=t.datum,n=e.title?xg(t):null,i=`${e.type||""} legend`.trim(),r=e.scales,s=Object.keys(r),a=t.context,o=a.scales[r[s[0]]].value,u=a.dataflow.locale();return wg(i)+(n?` titled '${n}'`:"")+` for ${_g(s)}`+` with ${Ic(u,o,t)}`}function xg(t){try{return(0,p.YO)((0,p.se)(t.items).items[0].text).join(" ")}catch(e){return null}}function _g(t){t=t.map((t=>t+(t==="fill"||t==="stroke"?" color":"")));return t.length<2?t[0]:t.slice(0,-1).join(", ")+" and "+(0,p.se)(t)}function wg(t){return t.length?t[0].toUpperCase()+t.slice(1):t}const Ag=t=>(t+"").replace(/&/g,"&").replace(//g,">");const kg=t=>Ag(t).replace(/"/g,""").replace(/\t/g," ").replace(/\n/g," ").replace(/\r/g," ");function Eg(){let t="",e="",n="";const i=[],r=()=>e=n="",s=s=>{if(e){t+=`${e}>${n}`;r()}i.push(s)},a=(t,n)=>{if(n!=null)e+=` ${t}="${kg(n)}"`;return o},o={open(t){s(t);e="<"+t;for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r${n}`:"/>")}else{t+=``}r();return o},attr:a,text:t=>(n+=Ag(t),o),toString:()=>t};return o}const Mg=t=>Dg(Eg(),t)+"";function Dg(t,e){t.open(e.tagName);if(e.hasAttributes()){const n=e.attributes,i=n.length;for(let e=0;e{t.dirty=e}))}if(i.zdirty)continue;if(n.exit){if(s.nested&&i.items.length){u=i.items[0];if(u._svg)this._update(s,u._svg,u)}else if(n._svg){u=n._svg.parentNode;if(u)u.removeChild(n._svg)}n._svg=null;continue}n=s.nested?i.items[0]:n;if(n._update===e)continue;if(!n._svg||!n._svg.ownerSVGElement){this._dirtyAll=false;Og(n,e)}else{this._update(s,n._svg,n)}n._update=e}return!this._dirtyAll}mark(t,e,n,i){if(!this.isDirty(e)){return e._svg}const r=this._svg,s=e.marktype,a=Qp[s],o=e.interactive===false?"none":null,u=a.tag==="g";const l=Pg(e,t,n,"g",r);if(s!=="group"&&i!=null&&!i.includes(s)){lm(l,0);return e._svg}l.setAttribute("class",cm(e));const c=pg(e);for(const p in c)Xg(l,p,c[p]);if(!u){Xg(l,"pointer-events",o)}Xg(l,"clip-path",e.clip?yd(this,e,e.group):null);let f=null,d=0;const h=t=>{const e=this.isDirty(t),n=Pg(t,l,f,a.tag,r);if(e){this._update(a,n,t);if(u)Lg(this,n,t,i)}f=n;++d};if(a.nested){if(e.items.length)h(e.items[0])}else{fh(e,h)}lm(l,d);return l}_update(t,e,n){Ig=e;Ug=e.__values__;hg(Gg,n);t.attr(Gg,n,this);const i=jg[t.type];if(i)i.call(this,t,e,n);if(Ig)this.style(Ig,n)}style(t,e){if(e==null)return;for(const n in Cg){let i=n==="font"?Np(e):e[n];if(i===Ug[n])continue;const r=Cg[n];if(i==null){t.removeAttribute(r)}else{if(Yc(i)){i=Wc(i,this._defs.gradient,Vg())}t.setAttribute(r,i+"")}Ug[n]=i}for(const n in Fg){Yg(t,Fg[n],e[n])}}defs(){const t=this._svg,e=this._defs;let n=e.el,i=0;for(const r in e.gradient){if(!n)e.el=n=um(t,zg+1,"defs",$g);i=Tg(n,e.gradient[r],i)}for(const r in e.clipping){if(!n)e.el=n=um(t,zg+1,"defs",$g);i=Ng(n,e.clipping[r],i)}if(n){i===0?(t.removeChild(n),e.el=null):lm(n,i)}}_clearDefs(){const t=this._defs;t.gradient={};t.clipping={}}}function Og(t,e){for(;t&&t.dirty!==e;t=t.mark.group){t.dirty=e;if(t.mark&&t.mark.dirty!==e){t.mark.dirty=e}else return}}function Tg(t,e,n){let i,r,s;if(e.gradient==="radial"){let i=um(t,n++,"pattern",$g);Wg(i,{id:Gc+e.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});i=um(i,0,"rect",$g);Wg(i,{width:1,height:1,fill:`url(${Vg()}#${e.id})`});t=um(t,n++,"radialGradient",$g);Wg(t,{id:e.id,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})}else{t=um(t,n++,"linearGradient",$g);Wg(t,{id:e.id,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2})}for(i=0,r=e.stops.length;i{r=t.mark(e,n,r,i);++s}));lm(e,1+s)}function Pg(t,e,n,i,r){let s=t._svg,a;if(!s){a=e.ownerDocument;s=am(a,i,$g);t._svg=s;if(t.mark){s.__data__=t;s.__values__={fill:"default"};if(i==="g"){const e=am(a,"path",$g);s.appendChild(e);e.__data__=t;const n=am(a,"g",$g);s.appendChild(n);n.__data__=t;const i=am(a,"path",$g);s.appendChild(i);i.__data__=t;i.__values__={fill:"default"}}}}if(s.ownerSVGElement!==r||qg(s,n)){e.insertBefore(s,n?n.nextSibling:e.firstChild)}return s}function qg(t,e){return t.parentNode&&t.parentNode.childNodes.length>1&&t.previousSibling!=e}let Ig=null,Ug=null;const jg={group(t,e,n){const i=Ig=e.childNodes[2];Ug=i.__values__;t.foreground(Gg,n,this);Ug=e.__values__;Ig=e.childNodes[1];t.content(Gg,n,this);const r=Ig=e.childNodes[0];t.background(Gg,n,this);const s=n.mark.interactive===false?"none":null;if(s!==Ug.events){Xg(i,"pointer-events",s);Xg(r,"pointer-events",s);Ug.events=s}if(n.strokeForeground&&n.stroke){const t=n.fill;Xg(i,"display",null);this.style(r,n);Xg(r,"stroke",null);if(t)n.fill=null;Ug=i.__values__;this.style(i,n);if(t)n.fill=t;Ig=null}else{Xg(i,"display","none")}},image(t,e,n){if(n.smooth===false){Yg(e,"image-rendering","optimizeSpeed");Yg(e,"image-rendering","pixelated")}else{Yg(e,"image-rendering",null)}},text(t,e,n){const i=Bp(n);let r,s,a,o;if((0,p.cy)(i)){s=i.map((t=>Rp(n,t)));r=s.join("\n");if(r!==Ug.text){lm(e,0);a=e.ownerDocument;o=Sp(n);s.forEach(((t,i)=>{const r=am(a,"tspan",$g);r.__data__=n;r.textContent=t;if(i){r.setAttribute("x",0);r.setAttribute("dy",o)}e.appendChild(r)}));Ug.text=r}}else{s=Rp(n,i);if(s!==Ug.text){e.textContent=s;Ug.text=s}}Xg(e,"font-family",Np(n));Xg(e,"font-size",Fp(n)+"px");Xg(e,"font-style",n.fontStyle);Xg(e,"font-variant",n.fontVariant);Xg(e,"font-weight",n.fontWeight)}};function Gg(t,e,n){if(e===Ug[t])return;if(n){Hg(Ig,t,e,n)}else{Xg(Ig,t,e)}Ug[t]=e}function Yg(t,e,n){if(n!==Ug[e]){if(n==null){t.style.removeProperty(e)}else{t.style.setProperty(e,n+"")}Ug[e]=n}}function Wg(t,e){for(const n in e){Xg(t,n,e[n])}}function Xg(t,e,n){if(n!=null){t.setAttribute(e,n)}else{t.removeAttribute(e)}}function Hg(t,e,n,i){if(n!=null){t.setAttributeNS(i,e,n)}else{t.removeAttributeNS(i,e)}}function Vg(){let t;return typeof window==="undefined"?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}class Qg extends mm{constructor(t){super(t);this._text=null;this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(t){const e=Eg();e.open("svg",(0,p.X$)({},Vh,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const n=this._bgcolor;if(n&&n!=="transparent"&&n!=="none"){e.open("rect",{width:this._width,height:this._height,fill:n}).close()}e.open("g",Sg,{transform:"translate("+this._origin+")"});this.mark(e,t);e.close();this.defs(e);this._text=e.close()+"";return this}mark(t,e){const n=Qp[e.marktype],i=n.tag,r=[hg,n.attr];t.open("g",{class:cm(e),"clip-path":e.clip?yd(this,e,e.group):null},pg(e),{"pointer-events":i!=="g"&&e.interactive===false?"none":null});const s=s=>{const a=this.href(s);if(a)t.open("a",a);t.open(i,this.attr(e,s,r,i!=="g"?i:null));if(i==="text"){const e=Bp(s);if((0,p.cy)(e)){const n={x:0,dy:Sp(s)};for(let i=0;ithis.mark(t,e)));t.close();if(i&&a){if(r)s.fill=null;s.stroke=a;t.open("path",this.attr(e,s,n.foreground,"bgrect")).close();if(r)s.fill=r}else{t.open("path",this.attr(e,s,n.foreground,"bgfore")).close()}}t.close();if(a)t.close()};if(n.nested){if(e.items&&e.items.length)s(e.items[0])}else{fh(e,s)}return t.close()}href(t){const e=t.href;let n;if(e){if(n=this._hrefs&&this._hrefs[e]){return n}else{this.sanitizeURL(e).then((t=>{t["xlink:href"]=t.href;t.href=null;(this._hrefs||(this._hrefs={}))[e]=t}))}}return null}attr(t,e,n,i){const r={},s=(t,e,n,i)=>{r[i||t]=e};if(Array.isArray(n)){n.forEach((t=>t(s,e,this)))}else{n(s,e,this)}if(i){Kg(r,e,t,i,this._defs)}return r}defs(t){const e=this._defs.gradient,n=this._defs.clipping,i=Object.keys(e).length+Object.keys(n).length;if(i===0)return;t.open("defs");for(const r in e){const n=e[r],i=n.stops;if(n.gradient==="radial"){t.open("pattern",{id:Gc+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});t.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close();t.close();t.open("radialGradient",{id:r,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else{t.open("linearGradient",{id:r,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2})}for(let e=0;e!Zg.svgMarkTypes.includes(t)));this._svgRenderer.render(t,Zg.svgMarkTypes);this._canvasRenderer.render(t,i)}resize(t,e,n,i){super.resize(t,e,n,i);this._svgRenderer.resize(t,e,n,i);this._canvasRenderer.resize(t,e,n,i);return this}background(t){if(Zg.svgOnTop){this._canvasRenderer.background(t)}else{this._svgRenderer.background(t)}return this}}class ey extends jm{constructor(t,e){super(t,e)}initialize(t,e,n){const i=um(um(t,0,"div"),Zg.svgOnTop?0:1,"div");return super.initialize(i,e,n)}}const ny="canvas";const iy="hybrid";const ry="png";const sy="svg";const ay="none";const oy={Canvas:ny,PNG:ry,SVG:sy,Hybrid:iy,None:ay};const uy={};uy[ny]=uy[ry]={renderer:Zm,headless:Zm,handler:jm};uy[sy]={renderer:Rg,headless:Qg,handler:eg};uy[iy]={renderer:ty,headless:ty,handler:ey};uy[ay]={};function ly(t,e){t=String(t||"").toLowerCase();if(arguments.length>1){uy[t]=e;return this}else{return uy[t]}}function cy(t,e,n){const i=[],r=(new vd).union(e),s=t.marktype;return s?fy(t,r,n,i):s==="group"?hy(t,r,n,i):(0,p.z3)("Intersect scene must be mark node or group item.")}function fy(t,e,n,i){if(dy(t,e,n)){const r=t.items,s=t.marktype,a=r.length;let o=0;if(s==="group"){for(;o=0;s--){if(n[s]!=i[s])return false}for(s=n.length-1;s>=0;s--){r=n[s];if(!vy(t[r],e[r],r))return false}return typeof t===typeof e}function _y(){gd();jc()}const wy="top";const Ay="left";const ky="right";const Ey="bottom";const My="top-left";const Dy="top-right";const Cy="bottom-left";const Fy="bottom-right";const Sy="start";const zy="middle";const By="end";const $y="x";const Ry="y";const Oy="group";const Ty="axis";const Ny="title";const Ly="frame";const Py="scope";const qy="legend";const Iy="row-header";const Uy="row-footer";const jy="row-title";const Gy="column-header";const Yy="column-footer";const Wy="column-title";const Xy="padding";const Hy="symbol";const Vy="fit";const Qy="fit-x";const Ky="fit-y";const Zy="pad";const Jy="none";const tv="all";const ev="each";const nv="flush";const iv="column";const rv="row";function sv(t){Bi.call(this,null,t)}(0,p.B)(sv,Bi,{transform(t,e){const n=e.dataflow,i=t.mark,r=i.marktype,s=Qp[r],a=s.bound;let o=i.bounds,u;if(s.nested){if(i.items.length)n.dirty(i.items[0]);o=av(i,a);i.items.forEach((t=>{t.bounds.clear().union(o)}))}else if(r===Oy||t.modified()){e.visit(e.MOD,(t=>n.dirty(t)));o.clear();i.items.forEach((t=>o.union(av(t,a))));switch(i.role){case Ty:case qy:case Ny:e.reflow()}}else{u=e.changed(e.REM);e.visit(e.ADD,(t=>{o.union(av(t,a))}));e.visit(e.MOD,(t=>{u=u||o.alignsWith(t.bounds);n.dirty(t);o.union(av(t,a))}));if(u){o.clear();i.items.forEach((t=>o.union(t.bounds)))}}gy(i);return e.modifies("bounds")}});function av(t,e,n){return e(t.bounds.clear(),t,n)}const ov=":vega_identifier:";function uv(t){Bi.call(this,0,t)}uv.Definition={type:"Identifier",metadata:{modifies:true},params:[{name:"as",type:"string",required:true}]};(0,p.B)(uv,Bi,{transform(t,e){const n=lv(e.dataflow),i=t.as;let r=n.value;e.visit(e.ADD,(t=>t[i]=t[i]||++r));n.set(this.value=r);return e}});function lv(t){return t._signals[ov]||(t._signals[ov]=t.add(0))}function cv(t){Bi.call(this,null,t)}(0,p.B)(cv,Bi,{transform(t,e){let n=this.value;if(!n){n=e.dataflow.scenegraph().mark(t.markdef,fv(t),t.index);n.group.context=t.context;if(!t.context.group)t.context.group=n.group;n.source=this.source;n.clip=t.clip;n.interactive=t.interactive;this.value=n}const i=n.marktype===Oy?xd:bd;e.visit(e.ADD,(t=>i.call(t,n)));if(t.modified("clip")||t.modified("interactive")){n.clip=t.clip;n.interactive=!!t.interactive;n.zdirty=true;e.reflow()}n.items=e.source;return e}});function fv(t){const e=t.groups,n=t.parent;return e&&e.size===1?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}function dv(t){Bi.call(this,null,t)}const hv={parity:t=>t.filter(((t,e)=>e%2?t.opacity=0:1)),greedy:(t,e)=>{let n;return t.filter(((t,i)=>!i||!pv(n.bounds,t.bounds,e)?(n=t,1):t.opacity=0))}};const pv=(t,e,n)=>n>Math.max(e.x1-t.x2,t.x1-e.x2,e.y1-t.y2,t.y1-e.y2);const mv=(t,e)=>{for(var n=1,i=t.length,r=t[0].bounds,s;n{const e=t.bounds;return e.width()>1&&e.height()>1};const yv=(t,e,n)=>{var i=t.range(),r=new vd;if(e===wy||e===Ey){r.set(i[0],-Infinity,i[1],+Infinity)}else{r.set(-Infinity,i[0],+Infinity,i[1])}r.expand(n||1);return t=>r.encloses(t.bounds)};const vv=t=>{t.forEach((t=>t.opacity=1));return t};const bv=(t,e)=>t.reflow(e.modified()).modifies("opacity");(0,p.B)(dv,Bi,{transform(t,e){const n=hv[t.method]||hv.parity,i=t.separation||0;let r=e.materialize(e.SOURCE).source,s,a;if(!r||!r.length)return;if(!t.method){if(t.modified("method")){vv(r);e=bv(e,t)}return e}r=r.filter(gv);if(!r.length)return;if(t.sort){r=r.slice().sort(t.sort)}s=vv(r);e=bv(e,t);if(s.length>=3&&mv(s,i)){do{s=n(s,i)}while(s.length>=3&&mv(s,i));if(s.length<3&&!(0,p.se)(r).opacity){if(s.length>1)(0,p.se)(s).opacity=0;(0,p.se)(r).opacity=1}}if(t.boundScale&&t.boundTolerance>=0){a=yv(t.boundScale,t.boundOrient,+t.boundTolerance);r.forEach((t=>{if(!a(t))t.opacity=0}))}const o=s[0].mark.bounds.clear();r.forEach((t=>{if(t.opacity)o.union(t.bounds)}));return e}});function xv(t){Bi.call(this,null,t)}(0,p.B)(xv,Bi,{transform(t,e){const n=e.dataflow;e.visit(e.ALL,(t=>n.dirty(t)));if(e.fields&&e.fields["zindex"]){const t=e.source&&e.source[0];if(t)t.mark.zdirty=true}}});const _v=new vd;function wv(t,e,n){return t[e]===n?0:(t[e]=n,1)}function Av(t){var e=t.items[0].orient;return e===Ay||e===ky}function kv(t){let e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}function Ev(t,e,n,i){var r=e.items[0],s=r.datum,a=r.translate!=null?r.translate:.5,o=r.orient,u=kv(s),l=r.range,c=r.offset,f=r.position,d=r.minExtent,h=r.maxExtent,p=s.title&&r.items[u[2]].items[0],m=r.titlePadding,g=r.bounds,y=p&&$p(p),v=0,b=0,x,_;_v.clear().union(g);g.clear();if((x=u[0])>-1)g.union(r.items[x].bounds);if((x=u[1])>-1)g.union(r.items[x].bounds);switch(o){case wy:v=f||0;b=-c;_=Math.max(d,Math.min(h,-g.y1));g.add(0,-_).add(l,0);if(p)Mv(t,p,_,m,y,0,-1,g);break;case Ay:v=-c;b=f||0;_=Math.max(d,Math.min(h,-g.x1));g.add(-_,0).add(0,l);if(p)Mv(t,p,_,m,y,1,-1,g);break;case ky:v=n+c;b=f||0;_=Math.max(d,Math.min(h,g.x2));g.add(0,0).add(_,l);if(p)Mv(t,p,_,m,y,1,1,g);break;case Ey:v=f||0;b=i+c;_=Math.max(d,Math.min(h,g.y2));g.add(0,0).add(l,_);if(p)Mv(t,p,_,m,0,0,1,g);break;default:v=r.x;b=r.y}kd(g.translate(v,b),r);if(wv(r,"x",v+a)|wv(r,"y",b+a)){r.bounds=_v;t.dirty(r);r.bounds=g;t.dirty(r)}return r.mark.bounds.clear().union(g)}function Mv(t,e,n,i,r,s,a,o){const u=e.bounds;if(e.auto){const o=a*(n+r+i);let l=0,c=0;t.dirty(e);s?l=(e.x||0)-(e.x=o):c=(e.y||0)-(e.y=o);e.mark.bounds.clear().union(u.translate(-l,-c));t.dirty(e)}o.union(u)}const Dv=(t,e)=>Math.floor(Math.min(t,e));const Cv=(t,e)=>Math.ceil(Math.max(t,e));function Fv(t){var e=t.items,n=e.length,i=0,r,s;const a={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;i1){for(A=0;A0)b[A]+=S/2}}if(o&&Bv(n.center,rv)&&c!==1){for(A=0;A0)x[A]+=z/2}}for(A=0;Ar){t.warn("Grid headers exceed limit: "+r);e=e.slice(0,r)}m+=s;for(v=0,x=e.length;v=0&&(A=n[b])==null;b-=d);if(o){k=h==null?A.x:Math.round(A.bounds.x1+h*A.bounds.width());E=m}else{k=m;E=h==null?A.y:Math.round(A.bounds.y1+h*A.bounds.height())}_.union(w.bounds.translate(k-(w.x||0),E-(w.y||0)));w.x=k;w.y=E;t.dirty(w);g=a(g,_[l])}return g}function Pv(t,e,n,i,r,s){if(!e)return;t.dirty(e);var a=n,o=n;i?a=Math.round(r.x1+s*r.width()):o=Math.round(r.y1+s*r.height());e.bounds.translate(a-(e.x||0),o-(e.y||0));e.mark.bounds.clear().union(e.bounds);e.x=a;e.y=o;t.dirty(e)}function qv(t,e){const n=t[e]||{};return(e,i)=>n[e]!=null?n[e]:t[e]!=null?t[e]:i}function Iv(t,e){let n=-Infinity;t.forEach((t=>{if(t.offset!=null)n=Math.max(n,t.offset)}));return n>-Infinity?n:e}function Uv(t,e,n,i,r,s,a){const o=qv(n,e),u=Iv(t,o("offset",0)),l=o("anchor",Sy),c=l===By?1:l===zy?.5:0;const f={align:ev,bounds:o("bounds",nv),columns:o("direction")==="vertical"?1:t.length,padding:o("margin",8),center:o("center"),nodirty:true};switch(e){case Ay:f.anchor={x:Math.floor(i.x1)-u,column:By,y:c*(a||i.height()+2*i.y1),row:l};break;case ky:f.anchor={x:Math.ceil(i.x2)+u,y:c*(a||i.height()+2*i.y1),row:l};break;case wy:f.anchor={y:Math.floor(r.y1)-u,row:By,x:c*(s||r.width()+2*r.x1),column:l};break;case Ey:f.anchor={y:Math.ceil(r.y2)+u,x:c*(s||r.width()+2*r.x1),column:l};break;case My:f.anchor={x:u,y:u};break;case Dy:f.anchor={x:s-u,y:u,column:By};break;case Cy:f.anchor={x:u,y:a-u,row:By};break;case Fy:f.anchor={x:s-u,y:a-u,column:By,row:By};break}return f}function jv(t,e){var n=e.items[0],i=n.datum,r=n.orient,s=n.bounds,a=n.x,o=n.y,u,l;n._bounds?n._bounds.clear().union(s):n._bounds=s.clone();s.clear();Yv(t,n,n.items[0].items[0]);s=Gv(n,s);u=2*n.padding;l=2*n.padding;if(!s.empty()){u=Math.ceil(s.width()+u);l=Math.ceil(s.height()+l)}if(i.type===Hy){Hv(n.items[0].items[0].items[0].items)}if(r!==Jy){n.x=a=0;n.y=o=0}n.width=u;n.height=l;kd(s.set(a,o,a+u,o+l),n);n.mark.bounds.clear().union(s);return n}function Gv(t,e){t.items.forEach((t=>e.union(t.bounds)));e.x1=t.padding;e.y1=t.padding;return e}function Yv(t,e,n){var i=e.padding,r=i-n.x,s=i-n.y;if(!e.datum.title){if(r||s)Xv(t,n,r,s)}else{var a=e.items[1].items[0],o=a.anchor,u=e.titlePadding||0,l=i-a.x,c=i-a.y;switch(a.orient){case Ay:r+=Math.ceil(a.bounds.width())+u;break;case ky:case Ey:break;default:s+=a.bounds.height()+u}if(r||s)Xv(t,n,r,s);switch(a.orient){case Ay:c+=Wv(e,n,a,o,1,1);break;case ky:l+=Wv(e,n,a,By,0,0)+u;c+=Wv(e,n,a,o,1,1);break;case Ey:l+=Wv(e,n,a,o,0,0);c+=Wv(e,n,a,By,-1,0,1)+u;break;default:l+=Wv(e,n,a,o,0,0)}if(l||c)Xv(t,a,l,c);if((l=Math.round(a.bounds.x1-i))<0){Xv(t,n,-l,0);Xv(t,a,-l,0)}}}function Wv(t,e,n,i,r,s,a){const o=t.datum.type!=="symbol",u=n.datum.vgrad,l=o&&(s||!u)&&!a?e.items[0]:e,c=l.bounds[r?"y2":"x2"]-t.padding,f=u&&s?c:0,d=u&&s?0:c,h=r<=0?0:$p(n);return Math.round(i===Sy?f:i===By?d-h:.5*(c-h))}function Xv(t,e,n,i){e.x+=n;e.y+=i;e.bounds.translate(n,i);e.mark.bounds.translate(n,i);t.dirty(e)}function Hv(t){const e=t.reduce(((t,e)=>{t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0);return t}),{});t.forEach((t=>{t.width=e[t.column];t.height=t.bounds.y2-t.y}))}function Vv(t,e,n,i,r){var s=e.items[0],a=s.frame,o=s.orient,u=s.anchor,l=s.offset,c=s.padding,f=s.items[0].items[0],d=s.items[1]&&s.items[1].items[0],h=o===Ay||o===ky?i:n,p=0,m=0,g=0,y=0,v=0,b;if(a!==Oy){o===Ay?(p=r.y2,h=r.y1):o===ky?(p=r.y1,h=r.y2):(p=r.x1,h=r.x2)}else if(o===Ay){p=i,h=0}b=u===Sy?p:u===By?h:(p+h)/2;if(d&&d.text){switch(o){case wy:case Ey:v=f.bounds.height()+c;break;case Ay:y=f.bounds.width()+c;break;case ky:y=-f.bounds.width()-c;break}_v.clear().union(d.bounds);_v.translate(y-(d.x||0),v-(d.y||0));if(wv(d,"x",y)|wv(d,"y",v)){t.dirty(d);d.bounds.clear().union(_v);d.mark.bounds.clear().union(_v);t.dirty(d)}_v.clear().union(d.bounds)}else{_v.clear()}_v.union(f.bounds);switch(o){case wy:m=b;g=r.y1-_v.height()-l;break;case Ay:m=r.x1-_v.width()-l;g=b;break;case ky:m=r.x2+_v.width()+l;g=b;break;case Ey:m=b;g=r.y2+l;break;default:m=s.x;g=s.y}if(wv(s,"x",m)|wv(s,"y",g)){_v.translate(m,g);t.dirty(s);s.bounds.clear().union(_v);e.bounds.clear().union(_v);t.dirty(s)}return s.bounds}function Qv(t){Bi.call(this,null,t)}(0,p.B)(Qv,Bi,{transform(t,e){const n=e.dataflow;t.mark.items.forEach((e=>{if(t.layout)Ov(n,e,t.layout);Zv(n,e,t)}));return Kv(t.mark.group)?e.reflow():e}});function Kv(t){return t&&t.mark.role!=="legend-entry"}function Zv(t,e,n){var i=e.items,r=Math.max(0,e.width||0),s=Math.max(0,e.height||0),a=(new vd).set(0,0,r,s),o=a.clone(),u=a.clone(),l=[],c,f,d,h,p,m;for(p=0,m=i.length;p{d=t.orient||ky;if(d!==Jy)(e[d]||(e[d]=[])).push(t)}));for(const i in e){const a=e[i];Rv(t,a,Uv(a,i,n.legends,o,u,r,s))}l.forEach((e=>{const i=e.bounds;if(!i.equals(e._bounds)){e.bounds=e._bounds;t.dirty(e);e.bounds=i;t.dirty(e)}if(n.autosize&&(n.autosize.type===Vy||n.autosize.type===Qy||n.autosize.type===Ky)){switch(e.orient){case Ay:case ky:a.add(i.x1,0).add(i.x2,0);break;case wy:case Ey:a.add(0,i.y1).add(0,i.y2)}}else{a.union(i)}}))}a.union(o).union(u);if(c){a.union(Vv(t,c,r,s,a))}if(e.clip){a.set(0,0,e.width||0,e.height||0)}Jv(t,e,a,n)}function Jv(t,e,n,i){const r=i.autosize||{},s=r.type;if(t._autosize<1||!s)return;let a=t._width,o=t._height,u=Math.max(0,e.width||0),l=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,e.height||0),f=Math.max(0,Math.ceil(-n.y1));const d=Math.max(0,Math.ceil(n.x2-u)),h=Math.max(0,Math.ceil(n.y2-c));if(r.contains===Xy){const e=t.padding();a-=e.left+e.right;o-=e.top+e.bottom}if(s===Jy){l=0;f=0;u=a;c=o}else if(s===Vy){u=Math.max(0,a-l-d);c=Math.max(0,o-f-h)}else if(s===Qy){u=Math.max(0,a-l-d);o=c+f+h}else if(s===Ky){a=u+l+d;c=Math.max(0,o-f-h)}else if(s===Zy){a=u+l+d;o=c+f+h}t._resizeView(a,o,u,c,[l,f],r.resize)}function tb(t,e){let n=0;if(e===undefined){for(let e of t){if(e=+e){n+=e}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n+=r}}}return n}function eb(t){Bi.call(this,null,t)}(0,p.B)(eb,Bi,{transform(t,e){if(this.value&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,s=t.scale,a=t.count==null?t.values?t.values.length:10:t.count,o=_c(s,a,t.minstep),u=t.format||kc(n,s,o,t.formatSpecifier,t.formatType,!!t.values),l=t.values?wc(s,t.values,o):Ac(s,o);if(r)i.rem=r;r=l.map(((t,e)=>bn({index:e/(l.length-1||1),value:t,label:u(t)})));if(t.extra&&r.length){r.push(bn({index:-1,extra:{value:r[0].value},label:""}))}i.source=r;i.add=r;this.value=r;return i}});function nb(t){Bi.call(this,null,t)}function ib(){return bn({})}function rb(t){const e=(0,p.nG)().test((t=>t.exit));e.lookup=n=>e.get(t(n));return e}(0,p.B)(nb,Bi,{transform(t,e){var n=e.dataflow,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.item||ib,s=t.key||yn,a=this.value;if((0,p.cy)(i.encode)){i.encode=null}if(a&&(t.modified("key")||e.modified(s))){(0,p.z3)("DataJoin does not support modified key function or fields.")}if(!a){e=e.addAll();this.value=a=rb(s)}e.visit(e.ADD,(t=>{const e=s(t);let n=a.get(e);if(n){if(n.exit){a.empty--;i.add.push(n)}else{i.mod.push(n)}}else{n=r(t);a.set(e,n);i.add.push(n)}n.datum=t;n.exit=false}));e.visit(e.MOD,(t=>{const e=s(t),n=a.get(e);if(n){n.datum=t;i.mod.push(n)}}));e.visit(e.REM,(t=>{const e=s(t),n=a.get(e);if(t===n.datum&&!n.exit){i.rem.push(n);n.exit=true;++a.empty}}));if(e.changed(e.ADD_MOD))i.modifies("datum");if(e.clean()||t.clean&&a.empty>n.cleanThreshold){n.runAfter(a.clean)}return i}});function sb(t){Bi.call(this,null,t)}(0,p.B)(sb,Bi,{transform(t,e){var n=e.fork(e.ADD_REM),i=t.mod||false,r=t.encoders,s=e.encode;if((0,p.cy)(s)){if(n.changed()||s.every((t=>r[t]))){s=s[0];n.encode=null}else{return e.StopPropagation}}var a=s==="enter",o=r.update||p.me,u=r.enter||p.me,l=r.exit||p.me,c=(s&&!a?r[s]:o)||p.me;if(e.changed(e.ADD)){e.visit(e.ADD,(e=>{u(e,t);o(e,t)}));n.modifies(u.output);n.modifies(o.output);if(c!==p.me&&c!==o){e.visit(e.ADD,(e=>{c(e,t)}));n.modifies(c.output)}}if(e.changed(e.REM)&&l!==p.me){e.visit(e.REM,(e=>{l(e,t)}));n.modifies(l.output)}if(a||c!==p.me){const r=e.MOD|(t.modified()?e.REFLOW:0);if(a){e.visit(r,(e=>{const r=u(e,t)||i;if(c(e,t)||r)n.mod.push(e)}));if(n.mod.length)n.modifies(u.output)}else{e.visit(r,(e=>{if(c(e,t)||i)n.mod.push(e)}))}if(n.mod.length)n.modifies(c.output)}return n.changed()?n:e.StopPropagation}});function ab(t){Bi.call(this,[],t)}(0,p.B)(ab,Bi,{transform(t,e){if(this.value!=null&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,s=t.type||mc,a=t.scale,o=+t.limit,u=_c(a,t.count==null?5:t.count,t.minstep),l=!!t.values||s===mc,c=t.format||$c(n,a,u,s,t.formatSpecifier,t.formatType,l),f=t.values||Cc(a,u),d,h,m,g,y;if(r)i.rem=r;if(s===mc){if(o&&f.length>o){e.dataflow.warn("Symbol legend count exceeds limit, filtering items.");r=f.slice(0,o-1);y=true}else{r=f}if((0,p.Tn)(m=t.size)){if(!t.values&&a(r[0])===0){r=r.slice(1)}g=r.reduce(((e,n)=>Math.max(e,m(n,t))),0)}else{m=(0,p.dY)(g=m||8)}r=r.map(((e,n)=>bn({index:n,label:c(e,n,r),value:e,offset:g,size:m(e,t)})));if(y){y=f[r.length];r.push(bn({index:r.length,label:`…${f.length-r.length} entries`,value:y,offset:g,size:m(y,t)}))}}else if(s===yc){d=a.domain(),h=ac(a,d[0],(0,p.se)(d));if(f.length<3&&!t.values&&d[0]!==(0,p.se)(d)){f=[d[0],(0,p.se)(d)]}r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:h(t)})))}else{m=f.length-1;h=Pc(a);r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:e?h(t):0,perc2:e===m?1:h(f[e+1])})))}i.source=r;i.add=r;this.value=r;return i}});const ob=t=>t.source.x;const ub=t=>t.source.y;const lb=t=>t.target.x;const cb=t=>t.target.y;function fb(t){Bi.call(this,{},t)}fb.Definition={type:"LinkPath",metadata:{modifies:true},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"}]};(0,p.B)(fb,Bi,{transform(t,e){var n=t.sourceX||ob,i=t.sourceY||ub,r=t.targetX||lb,s=t.targetY||cb,a=t.as||"path",o=t.orient||"vertical",u=t.shape||"line",l=kb.get(u+"-"+o)||kb.get(u);if(!l){(0,p.z3)("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:""))}e.visit(e.SOURCE,(t=>{t[a]=l(n(t),i(t),r(t),s(t))}));return e.reflow(t.modified()).modifies(a)}});const db=(t,e,n,i)=>"M"+t+","+e+"L"+n+","+i;const hb=(t,e,n,i)=>db(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const pb=(t,e,n,i)=>{var r=n-t,s=i-e,a=Math.hypot(r,s)/2,o=180*Math.atan2(s,r)/Math.PI;return"M"+t+","+e+"A"+a+","+a+" "+o+" 0 1"+" "+n+","+i};const mb=(t,e,n,i)=>pb(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const gb=(t,e,n,i)=>{const r=n-t,s=i-e,a=.2*(r+s),o=.2*(s-r);return"M"+t+","+e+"C"+(t+a)+","+(e+o)+" "+(n+o)+","+(i-a)+" "+n+","+i};const yb=(t,e,n,i)=>gb(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const vb=(t,e,n,i)=>"M"+t+","+e+"V"+i+"H"+n;const bb=(t,e,n,i)=>"M"+t+","+e+"H"+n+"V"+i;const xb=(t,e,n,i)=>{const r=Math.cos(t),s=Math.sin(t),a=Math.cos(n),o=Math.sin(n),u=Math.abs(n-t)>Math.PI?n<=t:n>t;return"M"+e*r+","+e*s+"A"+e+","+e+" 0 0,"+(u?1:0)+" "+e*a+","+e*o+"L"+i*a+","+i*o};const _b=(t,e,n,i)=>{const r=(t+n)/2;return"M"+t+","+e+"C"+r+","+e+" "+r+","+i+" "+n+","+i};const wb=(t,e,n,i)=>{const r=(e+i)/2;return"M"+t+","+e+"C"+t+","+r+" "+n+","+r+" "+n+","+i};const Ab=(t,e,n,i)=>{const r=Math.cos(t),s=Math.sin(t),a=Math.cos(n),o=Math.sin(n),u=(e+i)/2;return"M"+e*r+","+e*s+"C"+u*r+","+u*s+" "+u*a+","+u*o+" "+i*a+","+i*o};const kb=(0,p.nG)({line:db,"line-radial":hb,arc:pb,"arc-radial":mb,curve:gb,"curve-radial":yb,"orthogonal-horizontal":vb,"orthogonal-vertical":bb,"orthogonal-radial":xb,"diagonal-horizontal":_b,"diagonal-vertical":wb,"diagonal-radial":Ab});function Eb(t){Bi.call(this,null,t)}Eb.Definition={type:"Pie",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:false},{name:"as",type:"string",array:true,length:2,default:["startAngle","endAngle"]}]};(0,p.B)(Eb,Bi,{transform(t,e){var n=t.as||["startAngle","endAngle"],i=n[0],r=n[1],s=t.field||p.xH,a=t.startAngle||0,o=t.endAngle!=null?t.endAngle:2*Math.PI,u=e.source,l=u.map(s),c=l.length,f=a,d=(o-a)/tb(l),h=(0,es.A)(c),m,g,y;if(t.sort){h.sort(((t,e)=>l[t]-l[e]))}for(m=0;m-1)return i;var r=e.domain,s=t.type,a=e.zero||e.zero===undefined&&Db(t),o,u;if(!r)return 0;if(a||e.domainMin!=null||e.domainMax!=null||e.domainMid!=null){o=(r=r.slice()).length-1||1;if(a){if(r[0]>0)r[0]=0;if(r[o]<0)r[o]=0}if(e.domainMin!=null)r[0]=e.domainMin;if(e.domainMax!=null)r[o]=e.domainMax;if(e.domainMid!=null){u=e.domainMid;const t=u>r[o]?o+1:ut+(e<0?-1:e>0?1:0)),0));if(i!==e.length){n.warn("Log scale domain includes zero: "+(0,p.r$)(e))}}return e}function Nb(t,e,n){let i=e.bins;if(i&&!(0,p.cy)(i)){const e=t.domain(),n=e[0],r=(0,p.se)(e),s=i.step;let a=i.start==null?n:i.start,o=i.stop==null?r:i.stop;if(!s)(0,p.z3)("Scale bins parameter missing step property.");if(ar)o=s*Math.floor(r/s);i=(0,es.A)(a,o+s/2,s)}if(i){t.bins=i}else if(t.bins){delete t.bins}if(t.type===El){if(!i){t.bins=t.domain()}else if(!e.domain&&!e.domainRaw){t.domain(i);n=i.length}}return n}function Lb(t,e,n){var i=t.type,r=e.round||false,s=e.range;if(e.rangeStep!=null){s=Pb(i,e,n)}else if(e.scheme){s=qb(i,e,n);if((0,p.Tn)(s)){if(t.interpolator){return t.interpolator(s)}else{(0,p.z3)(`Scale type ${i} does not support interpolating color schemes.`)}}}if(s&&Jl(i)){return t.interpolator(ic(Ub(s,e.reverse),e.interpolate,e.interpolateGamma))}if(s&&e.interpolate&&t.interpolate){t.interpolate(oc(e.interpolate,e.interpolateGamma))}else if((0,p.Tn)(t.round)){t.round(r)}else if((0,p.Tn)(t.rangeRound)){t.interpolate(r?Su.A:Fu.A)}if(s)t.range(Ub(s,e.reverse))}function Pb(t,e,n){if(t!==kl&&t!==Al){(0,p.z3)("Only band and point scales support rangeStep.")}var i=(e.paddingOuter!=null?e.paddingOuter:e.padding)||0,r=t===Al?1:(e.paddingInner!=null?e.paddingInner:e.padding)||0;return[0,e.rangeStep*ul(n,r,i)]}function qb(t,e,n){var i=e.schemeExtent,r,s;if((0,p.cy)(e.scheme)){s=ic(e.scheme,e.interpolate,e.interpolateGamma)}else{r=e.scheme.toLowerCase();s=pc(r);if(!s)(0,p.z3)(`Unrecognized scheme name: ${e.scheme}`)}n=t===_l?n+1:t===El?n-1:t===bl||t===xl?+e.schemeCount||Mb:n;return Jl(t)?Ib(s,i,e.reverse):(0,p.Tn)(s)?rc(Ib(s,i),n):t===wl?s:s.slice(0,n)}function Ib(t,e,n){return(0,p.Tn)(t)&&(e||n)?nc(t,Ub(e||[0,1],n)):t}function Ub(t,e){return e?t.slice().reverse():t}function jb(t){Bi.call(this,null,t)}(0,p.B)(jb,Bi,{transform(t,e){const n=t.modified("sort")||e.changed(e.ADD)||e.modified(t.sort.fields)||e.modified("datum");if(n)e.source.sort(An(t.sort));this.modified(n);return e}});const Gb="zero",Yb="center",Wb="normalize",Xb=["y0","y1"];function Hb(t){Bi.call(this,null,t)}Hb.Definition={type:"Stack",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:true},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:Gb,values:[Gb,Yb,Wb]},{name:"as",type:"string",array:true,length:2,default:Xb}]};(0,p.B)(Hb,Bi,{transform(t,e){var n=t.as||Xb,i=n[0],r=n[1],s=An(t.sort),a=t.field||p.xH,o=t.offset===Yb?Vb:t.offset===Wb?Qb:Kb,u,l,c,f;u=Zb(e.source,t.groupby,s,a);for(l=0,c=u.length,f=u.max;lt(c),a,o,u,l,c,f,d,h,p;if(e==null){r.push(t.slice())}else{for(a={},o=0,u=t.length;op)p=h;if(n)d.sort(n)}r.max=p;return r}const Jb=t=>t;function tx(t,e){if(t&&nx.hasOwnProperty(t.type)){nx[t.type](t,e)}}var ex={Feature:function(t,e){tx(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,i=-1,r=n.length;while(++i0){s=t[--e];while(e>0){n=s;i=t[--e];s=n+i;r=i-(s-n);if(r)break}if(e>0&&(r<0&&t[e-1]<0||r>0&&t[e-1]>0)){i=r*2;n=s+i;if(i==n-s)s=n}}return s}}function ox(t,e){const n=new ax;if(e===undefined){for(let e of t){if(e=+e){n.add(e)}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n.add(r)}}}return+n}function ux(t,e){const n=new ax;let i=-1;return Float64Array.from(t,e===undefined?t=>n.add(+t||0):r=>n.add(+e(r,++i,t)||0))}var lx=1e-6;var cx=1e-12;var fx=Math.PI;var dx=fx/2;var hx=fx/4;var px=fx*2;var mx=180/fx;var gx=fx/180;var yx=Math.abs;var vx=Math.atan;var bx=Math.atan2;var xx=Math.cos;var _x=Math.ceil;var wx=Math.exp;var Ax=Math.floor;var kx=Math.hypot;var Ex=Math.log;var Mx=Math.pow;var Dx=Math.sin;var Cx=Math.sign||function(t){return t>0?1:t<0?-1:0};var Fx=Math.sqrt;var Sx=Math.tan;function zx(t){return t>1?0:t<-1?fx:Math.acos(t)}function Bx(t){return t>1?dx:t<-1?-dx:Math.asin(t)}function $x(t){return(t=Dx(t/2))*t}function Rx(){}var Ox=new ax,Tx=new ax,Nx,Lx,Px,qx;var Ix={point:Rx,lineStart:Rx,lineEnd:Rx,polygonStart:function(){Ix.lineStart=Ux;Ix.lineEnd=Yx},polygonEnd:function(){Ix.lineStart=Ix.lineEnd=Ix.point=Rx;Ox.add(yx(Tx));Tx=new ax},result:function(){var t=Ox/2;Ox=new ax;return t}};function Ux(){Ix.point=jx}function jx(t,e){Ix.point=Gx;Nx=Px=t,Lx=qx=e}function Gx(t,e){Tx.add(qx*t-Px*e);Px=t,qx=e}function Yx(){Gx(Nx,Lx)}const Wx=Ix;var Xx=Infinity,Hx=Xx,Vx=-Xx,Qx=Vx;var Kx={point:Zx,lineStart:Rx,lineEnd:Rx,polygonStart:Rx,polygonEnd:Rx,result:function(){var t=[[Xx,Hx],[Vx,Qx]];Vx=Qx=-(Hx=Xx=Infinity);return t}};function Zx(t,e){if(tVx)Vx=t;if(eQx)Qx=e}const Jx=Kx;var t_=0,e_=0,n_=0,i_=0,r_=0,s_=0,a_=0,o_=0,u_=0,l_,c_,f_,d_;var h_={point:p_,lineStart:m_,lineEnd:v_,polygonStart:function(){h_.lineStart=b_;h_.lineEnd=x_},polygonEnd:function(){h_.point=p_;h_.lineStart=m_;h_.lineEnd=v_},result:function(){var t=u_?[a_/u_,o_/u_]:s_?[i_/s_,r_/s_]:n_?[t_/n_,e_/n_]:[NaN,NaN];t_=e_=n_=i_=r_=s_=a_=o_=u_=0;return t}};function p_(t,e){t_+=t;e_+=e;++n_}function m_(){h_.point=g_}function g_(t,e){h_.point=y_;p_(f_=t,d_=e)}function y_(t,e){var n=t-f_,i=e-d_,r=Fx(n*n+i*i);i_+=r*(f_+t)/2;r_+=r*(d_+e)/2;s_+=r;p_(f_=t,d_=e)}function v_(){h_.point=p_}function b_(){h_.point=__}function x_(){w_(l_,c_)}function __(t,e){h_.point=w_;p_(l_=f_=t,c_=d_=e)}function w_(t,e){var n=t-f_,i=e-d_,r=Fx(n*n+i*i);i_+=r*(f_+t)/2;r_+=r*(d_+e)/2;s_+=r;r=d_*t-f_*e;a_+=r*(f_+t);o_+=r*(d_+e);u_+=r*3;p_(f_=t,d_=e)}const A_=h_;function k_(t){this._context=t}k_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e);this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e);this._context.arc(t,e,this._radius,0,px);break}}},result:Rx};var E_=new ax,M_,D_,C_,F_,S_;var z_={point:Rx,lineStart:function(){z_.point=B_},lineEnd:function(){if(M_)$_(D_,C_);z_.point=Rx},polygonStart:function(){M_=true},polygonEnd:function(){M_=null},result:function(){var t=+E_;E_=new ax;return t}};function B_(t,e){z_.point=$_;D_=F_=t,C_=S_=e}function $_(t,e){F_-=t,S_-=e;E_.add(Fx(F_*F_+S_*S_));F_=t,S_=e}const R_=z_;let O_,T_,N_,L_;class P_{constructor(t){this._append=t==null?q_:I_(t);this._radius=4.5;this._=""}pointRadius(t){this._radius=+t;return this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line===0)this._+="Z";this._point=NaN}point(t,e){switch(this._point){case 0:{this._append`M${t},${e}`;this._point=1;break}case 1:{this._append`L${t},${e}`;break}default:{this._append`M${t},${e}`;if(this._radius!==N_||this._append!==T_){const t=this._radius;const e=this._;this._="";this._append`m0,${t}a${t},${t} 0 1,1 0,${-2*t}a${t},${t} 0 1,1 0,${2*t}z`;N_=t;T_=this._append;L_=this._;this._=e}this._+=L_;break}}}result(){const t=this._;this._="";return t.length?t:null}}function q_(t){let e=1;this._+=t[0];for(const n=t.length;e=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return q_;if(e!==O_){const t=10**e;O_=e;T_=function e(n){let i=1;this._+=n[0];for(const r=n.length;i=0))throw new RangeError(`invalid digits: ${t}`);n=e}if(e===null)s=new P_(n);return a};return a.projection(t).digits(n).context(e)}function j_(){var t=[],e;return{point:function(t,n,i){e.push([t,n,i])},lineStart:function(){t.push(e=[])},lineEnd:Rx,rejoin:function(){if(t.length>1)t.push(t.pop().concat(t.shift()))},result:function(){var n=t;t=[];e=null;return n}}}function G_(t,e){return yx(t[0]-e[0])=0;--o)r.point((f=c[o])[0],f[1])}else{i(d.x,d.p.x,-1,r)}d=d.p}d=d.o;c=d.z;h=!h}while(!d.v);r.lineEnd()}}function X_(t){if(!(e=t.length))return;var e,n=0,i=t[0],r;while(++n=0?1:-1,M=E*k,D=M>fx,C=g*w;u.add(bx(C*E*Dx(M),y*A+C*xx(M)));a+=D?k+E*px:k;if(D^p>=n^x>=n){var F=K_(V_(h),V_(b));tw(F);var S=K_(s,F);tw(S);var z=(D^k>=0?-1:1)*Bx(S[2]);if(i>z||i===z&&(F[0]||F[1])){o+=D^k>=0?1:-1}}}}return(a<-lx||a0){if(!u)r.polygonStart(),u=true;r.lineStart();for(n=0;n1&&t&2)e.push(e.pop().concat(e.shift()));c.push(e.filter(aw))}return d}}function aw(t){return t.length>1}function ow(t,e){return((t=t.x)[0]<0?t[1]-dx-lx:dx-t[1])-((e=e.x)[0]<0?e[1]-dx-lx:dx-e[1])}const uw=sw((function(){return true}),lw,fw,[-fx,-dx]);function lw(t){var e=NaN,n=NaN,i=NaN,r;return{lineStart:function(){t.lineStart();r=1},point:function(s,a){var o=s>0?fx:-fx,u=yx(s-e);if(yx(u-fx)0?dx:-dx);t.point(i,n);t.lineEnd();t.lineStart();t.point(o,n);t.point(s,n);r=0}else if(i!==o&&u>=fx){if(yx(e-i)lx?vx((Dx(e)*(s=xx(i))*Dx(n)-Dx(i)*(r=xx(e))*Dx(t))/(r*s*a)):(e+i)/2}function fw(t,e,n,i){var r;if(t==null){r=n*dx;i.point(-fx,r);i.point(0,r);i.point(fx,r);i.point(fx,0);i.point(fx,-r);i.point(0,-r);i.point(-fx,-r);i.point(-fx,0);i.point(-fx,r)}else if(yx(t[0]-e[0])>lx){var s=t[0]0?rs)r+=i*px}for(var l,c=r;i>0?c>s:c0,r=yx(e)>lx;function s(e,i,r,s){dw(s,t,n,r,e,i)}function a(t,n){return xx(t)*xx(n)>e}function o(t){var e,n,s,o,c;return{lineStart:function(){o=s=false;c=1},point:function(f,d){var h=[f,d],p,m=a(f,d),g=i?m?0:l(f,d):m?l(f+(f<0?fx:-fx),d):0;if(!e&&(o=s=m))t.lineStart();if(m!==s){p=u(e,h);if(!p||G_(e,p)||G_(h,p))h[2]=1}if(m!==s){c=0;if(m){t.lineStart();p=u(h,e);t.point(p[0],p[1])}else{p=u(e,h);t.point(p[0],p[1],2);t.lineEnd()}e=p}else if(r&&e&&i^m){var y;if(!(g&n)&&(y=u(h,e,true))){c=0;if(i){t.lineStart();t.point(y[0][0],y[0][1]);t.point(y[1][0],y[1][1]);t.lineEnd()}else{t.point(y[1][0],y[1][1]);t.lineEnd();t.lineStart();t.point(y[0][0],y[0][1],3)}}}if(m&&(!e||!G_(e,h))){t.point(h[0],h[1])}e=h,s=m,n=g},lineEnd:function(){if(s)t.lineEnd();e=null},clean:function(){return c|(o&&s)<<1}}}function u(t,n,i){var r=V_(t),s=V_(n);var a=[1,0,0],o=K_(r,s),u=Q_(o,o),l=o[0],c=u-l*l;if(!c)return!i&&t;var f=e*u/c,d=-e*l/c,h=K_(a,o),p=J_(a,f),m=J_(o,d);Z_(p,m);var g=h,y=Q_(p,g),v=Q_(g,g),b=y*y-v*(Q_(p,p)-1);if(b<0)return;var x=Fx(b),_=J_(g,(-y-x)/v);Z_(_,p);_=H_(_);if(!i)return _;var w=t[0],A=n[0],k=t[1],E=n[1],M;if(A0^_[1]<(yx(_[0]-w)fx^(w<=_[0]&&_[0]<=A)){var S=J_(g,(-y+x)/v);Z_(S,p);return[_,H_(S)]}}function l(e,n){var r=i?t:fx-t,s=0;if(e<-r)s|=1;else if(e>r)s|=2;if(n<-r)s|=4;else if(n>r)s|=8;return s}return sw(a,o,s,i?[0,-t]:[-fx,t-fx])}function gw(t,e,n,i,r,s){var a=t[0],o=t[1],u=e[0],l=e[1],c=0,f=1,d=u-a,h=l-o,p;p=n-a;if(!d&&p>0)return;p/=d;if(d<0){if(p0){if(p>f)return;if(p>c)c=p}p=r-a;if(!d&&p<0)return;p/=d;if(d<0){if(p>f)return;if(p>c)c=p}else if(d>0){if(p0)return;p/=h;if(h<0){if(p0){if(p>f)return;if(p>c)c=p}p=s-o;if(!h&&p<0)return;p/=h;if(h<0){if(p>f)return;if(p>c)c=p}else if(h>0){if(p0)t[0]=a+c*d,t[1]=o+c*h;if(f<1)e[0]=a+f*d,e[1]=o+f*h;return true}var yw=1e9,vw=-yw;function bw(t,e,n,i){function r(r,s){return t<=r&&r<=n&&e<=s&&s<=i}function s(r,s,o,l){var c=0,f=0;if(r==null||(c=a(r,o))!==(f=a(s,o))||u(r,s)<0^o>0){do{l.point(c===0||c===3?t:n,c>1?i:e)}while((c=(c+o+4)%4)!==f)}else{l.point(s[0],s[1])}}function a(i,r){return yx(i[0]-t)0?0:3:yx(i[0]-n)0?2:1:yx(i[1]-e)0?1:0:r>0?3:2}function o(t,e){return u(t.x,e.x)}function u(t,e){var n=a(t,1),i=a(e,1);return n!==i?n-i:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(a){var u=a,l=j_(),c,f,d,h,p,m,g,y,v,b,x;var _={point:w,lineStart:M,lineEnd:D,polygonStart:k,polygonEnd:E};function w(t,e){if(r(t,e))u.point(t,e)}function A(){var e=0;for(var n=0,r=f.length;ni&&(d-l)*(i-c)>(h-c)*(t-l))++e}else{if(h<=i&&(d-l)*(i-c)<(h-c)*(t-l))--e}}}return e}function k(){u=l,c=[],f=[],x=true}function E(){var t=A(),e=x&&t,n=(c=rw(c)).length;if(e||n){a.polygonStart();if(e){a.lineStart();s(null,null,1,a);a.lineEnd()}if(n){W_(c,o,t,s,a)}a.polygonEnd()}u=a,c=f=d=null}function M(){_.point=C;if(f)f.push(d=[]);b=true;v=false;g=y=NaN}function D(){if(c){C(h,p);if(m&&v)l.rejoin();c.push(l.result())}_.point=w;if(v)u.lineEnd()}function C(s,a){var o=r(s,a);if(f)d.push([s,a]);if(b){h=s,p=a,m=o;b=false;if(o){u.lineStart();u.point(s,a)}}else{if(o&&v)u.point(s,a);else{var l=[g=Math.max(vw,Math.min(yw,g)),y=Math.max(vw,Math.min(yw,y))],c=[s=Math.max(vw,Math.min(yw,s)),a=Math.max(vw,Math.min(yw,a))];if(gw(l,c,t,e,n,i)){if(!v){u.lineStart();u.point(l[0],l[1])}u.point(c[0],c[1]);if(!o)u.lineEnd();x=false}else if(o){u.lineStart();u.point(s,a);x=false}}}g=s,y=a,v=o}return _}}function xw(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}if(t.invert&&e.invert)n.invert=function(n,i){return n=e.invert(n,i),n&&t.invert(n[0],n[1])};return n}function _w(t,e){if(yx(t)>fx)t-=Math.round(t/px)*px;return[t,e]}_w.invert=_w;function ww(t,e,n){return(t%=px)?e||n?xw(kw(t),Ew(e,n)):kw(t):e||n?Ew(e,n):_w}function Aw(t){return function(e,n){e+=t;if(yx(e)>fx)e-=Math.round(e/px)*px;return[e,n]}}function kw(t){var e=Aw(t);e.invert=Aw(-t);return e}function Ew(t,e){var n=xx(t),i=Dx(t),r=xx(e),s=Dx(e);function a(t,e){var a=xx(e),o=xx(t)*a,u=Dx(t)*a,l=Dx(e),c=l*n+o*i;return[bx(u*r-c*s,o*n-l*i),Bx(c*r+u*s)]}a.invert=function(t,e){var a=xx(e),o=xx(t)*a,u=Dx(t)*a,l=Dx(e),c=l*r-u*s;return[bx(u*r+l*s,o*n+c*i),Bx(c*n-o*i)]};return a}function Mw(t){t=ww(t[0]*gx,t[1]*gx,t.length>2?t[2]*gx:0);function e(e){e=t(e[0]*gx,e[1]*gx);return e[0]*=mx,e[1]*=mx,e}e.invert=function(e){e=t.invert(e[0]*gx,e[1]*gx);return e[0]*=mx,e[1]*=mx,e};return e}function Dw(t){return{stream:Cw(t)}}function Cw(t){return function(e){var n=new Fw;for(var i in t)n[i]=t[i];n.stream=e;return n}}function Fw(){}Fw.prototype={constructor:Fw,point:function(t,e){this.stream.point(t,e)},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 Sw(t,e,n){var i=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(i!=null)t.clipExtent(null);sx(n,t.stream(Jx));e(Jx.result());if(i!=null)t.clipExtent(i);return t}function zw(t,e,n){return Sw(t,(function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],s=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),a=+e[0][0]+(i-s*(n[1][0]+n[0][0]))/2,o=+e[0][1]+(r-s*(n[1][1]+n[0][1]))/2;t.scale(150*s).translate([a,o])}),n)}function Bw(t,e,n){return zw(t,[[0,0],e],n)}function $w(t,e,n){return Sw(t,(function(n){var i=+e,r=i/(n[1][0]-n[0][0]),s=(i-r*(n[1][0]+n[0][0]))/2,a=-r*n[0][1];t.scale(150*r).translate([s,a])}),n)}function Rw(t,e,n){return Sw(t,(function(n){var i=+e,r=i/(n[1][1]-n[0][1]),s=-r*n[0][0],a=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([s,a])}),n)}var Ow=16,Tw=xx(30*gx);function Nw(t,e){return+e?Pw(t,e):Lw(t)}function Lw(t){return Cw({point:function(e,n){e=t(e,n);this.stream.point(e[0],e[1])}})}function Pw(t,e){function n(i,r,s,a,o,u,l,c,f,d,h,p,m,g){var y=l-i,v=c-r,b=y*y+v*v;if(b>4*e&&m--){var x=a+d,_=o+h,w=u+p,A=Fx(x*x+_*_+w*w),k=Bx(w/=A),E=yx(yx(w)-1)e||yx((y*F+v*S)/b-.5)>.3||a*d+o*h+u*p2?t[2]%360*gx:0,F()):[o*mx,u*mx,l*mx]};D.angle=function(t){return arguments.length?(f=t%360*gx,F()):f*mx};D.reflectX=function(t){return arguments.length?(d=t?-1:1,F()):d<0};D.reflectY=function(t){return arguments.length?(h=t?-1:1,F()):h<0};D.precision=function(t){return arguments.length?(w=Nw(A,_=t*t),S()):Fx(_)};D.fitExtent=function(t,e){return zw(D,t,e)};D.fitSize=function(t,e){return Bw(D,t,e)};D.fitWidth=function(t,e){return $w(D,t,e)};D.fitHeight=function(t,e){return Rw(D,t,e)};function F(){var t=jw(n,0,0,d,h,f).apply(null,e(s,a)),p=jw(n,i-t[0],r-t[1],d,h,f);c=ww(o,u,l);A=xw(e,p);k=xw(c,A);w=Nw(A,_);return S()}function S(){E=M=null;return D}return function(){e=t.apply(this,arguments);D.invert=e.invert&&C;return F()}}function Ww(t){var e=0,n=fx/3,i=Yw(t),r=i(e,n);r.parallels=function(t){return arguments.length?i(e=t[0]*gx,n=t[1]*gx):[e*mx,n*mx]};return r}function Xw(t){var e=xx(t);function n(t,n){return[t*e,Dx(n)/e]}n.invert=function(t,n){return[t/e,Bx(n*e)]};return n}function Hw(t,e){var n=Dx(t),i=(n+Dx(e))/2;if(yx(i)=.12&&o<.234&&s>=-.425&&s<-.214?r:o>=.166&&o<.234&&s>=-.214&&s<-.115?a:n).invert(t)};c.stream=function(i){return t&&e===i?t:t=Kw([n.stream(e=i),r.stream(i),a.stream(i)])};c.precision=function(t){if(!arguments.length)return n.precision();n.precision(t),r.precision(t),a.precision(t);return f()};c.scale=function(t){if(!arguments.length)return n.scale();n.scale(t),r.scale(t*.35),a.scale(t);return c.translate(n.translate())};c.translate=function(t){if(!arguments.length)return n.translate();var e=n.scale(),u=+t[0],c=+t[1];i=n.translate(t).clipExtent([[u-.455*e,c-.238*e],[u+.455*e,c+.238*e]]).stream(l);s=r.translate([u-.307*e,c+.201*e]).clipExtent([[u-.425*e+lx,c+.12*e+lx],[u-.214*e-lx,c+.234*e-lx]]).stream(l);o=a.translate([u-.205*e,c+.212*e]).clipExtent([[u-.214*e+lx,c+.166*e+lx],[u-.115*e-lx,c+.234*e-lx]]).stream(l);return f()};c.fitExtent=function(t,e){return zw(c,t,e)};c.fitSize=function(t,e){return Bw(c,t,e)};c.fitWidth=function(t,e){return $w(c,t,e)};c.fitHeight=function(t,e){return Rw(c,t,e)};function f(){t=e=null;return c}return c.scale(1070)}function Jw(t){return function(e,n){var i=xx(e),r=xx(n),s=t(i*r);if(s===Infinity)return[2,0];return[s*r*Dx(e),s*Dx(n)]}}function tA(t){return function(e,n){var i=Fx(e*e+n*n),r=t(i),s=Dx(r),a=xx(r);return[bx(e*s,i*a),Bx(i&&n*s/i)]}}var eA=Jw((function(t){return Fx(2/(1+t))}));eA.invert=tA((function(t){return 2*Bx(t/2)}));function nA(){return Gw(eA).scale(124.75).clipAngle(180-.001)}var iA=Jw((function(t){return(t=zx(t))&&t/Dx(t)}));iA.invert=tA((function(t){return t}));function rA(){return Gw(iA).scale(79.4188).clipAngle(180-.001)}function sA(t,e){return[t,Ex(Sx((dx+e)/2))]}sA.invert=function(t,e){return[t,2*vx(wx(e))-dx]};function aA(){return oA(sA).scale(961/px)}function oA(t){var e=Gw(t),n=e.center,i=e.scale,r=e.translate,s=e.clipExtent,a=null,o,u,l;e.scale=function(t){return arguments.length?(i(t),c()):i()};e.translate=function(t){return arguments.length?(r(t),c()):r()};e.center=function(t){return arguments.length?(n(t),c()):n()};e.clipExtent=function(t){return arguments.length?(t==null?a=o=u=l=null:(a=+t[0][0],o=+t[0][1],u=+t[1][0],l=+t[1][1]),c()):a==null?null:[[a,o],[u,l]]};function c(){var n=fx*i(),r=e(Mw(e.rotate()).invert([0,0]));return s(a==null?[[r[0]-n,r[1]-n],[r[0]+n,r[1]+n]]:t===sA?[[Math.max(r[0]-n,a),o],[Math.min(r[0]+n,u),l]]:[[a,Math.max(r[1]-n,o)],[u,Math.min(r[1]+n,l)]])}return c()}function uA(t){return Sx((dx+t)/2)}function lA(t,e){var n=xx(t),i=t===e?Dx(t):Ex(n/xx(e))/Ex(uA(e)/uA(t)),r=n*Mx(uA(t),i)/i;if(!i)return sA;function s(t,e){if(r>0){if(e<-dx+lx)e=-dx+lx}else{if(e>dx-lx)e=dx-lx}var n=r/Mx(uA(e),i);return[n*Dx(i*t),r-n*xx(i*t)]}s.invert=function(t,e){var n=r-e,s=Cx(i)*Fx(t*t+n*n),a=bx(t,yx(n))*Cx(n);if(n*i<0)a-=fx*Cx(t)*Cx(n);return[a/i,2*vx(Mx(r/s,1/i))-dx]};return s}function cA(){return Ww(lA).scale(109.5).parallels([30,30])}function fA(t,e){return[t,e]}fA.invert=fA;function dA(){return Gw(fA).scale(152.63)}function hA(t,e){var n=xx(t),i=t===e?Dx(t):(n-xx(e))/(e-t),r=n/i+t;if(yx(i)lx&&--i>0);return[t/(.8707+(s=n*n)*(-.131979+s*(-.013791+s*s*s*(.003971-.001529*s)))),n]};function DA(){return Gw(MA).scale(175.295)}function CA(t,e){return[xx(e)*Dx(t),Dx(e)]}CA.invert=tA(Bx);function FA(){return Gw(CA).scale(249.5).clipAngle(90+lx)}function SA(t,e){var n=xx(e),i=1+xx(t)*n;return[n*Dx(t)/i,Dx(e)/i]}SA.invert=tA((function(t){return 2*vx(t)}));function zA(){return Gw(SA).scale(250).clipAngle(142)}function BA(t,e){return[Ex(Sx((dx+e)/2)),-t]}BA.invert=function(t,e){return[-e,2*vx(wx(t))-dx]};function $A(){var t=oA(BA),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)}var RA=Math.abs;var OA=Math.atan;var TA=Math.atan2;var NA=Math.ceil;var LA=Math.cos;var PA=Math.exp;var qA=Math.floor;var IA=Math.log;var UA=Math.max;var jA=Math.min;var GA=Math.pow;var YA=Math.round;var WA=Math.sign||function(t){return t>0?1:t<0?-1:0};var XA=Math.sin;var HA=Math.tan;var VA=1e-6;var QA=1e-12;var KA=Math.PI;var ZA=KA/2;var JA=KA/4;var tk=Math.SQRT1_2;var ek=lk(2);var nk=lk(KA);var ik=KA*2;var rk=180/KA;var sk=KA/180;function ak(t){return t?t/Math.sin(t):1}function ok(t){return t>1?ZA:t<-1?-ZA:Math.asin(t)}function uk(t){return t>1?0:t<-1?KA:Math.acos(t)}function lk(t){return t>0?Math.sqrt(t):0}function ck(t){t=PA(2*t);return(t-1)/(t+1)}function fk(t){return(PA(t)-PA(-t))/2}function dk(t){return(PA(t)+PA(-t))/2}function hk(t){return IA(t+lk(t*t+1))}function pk(t){return IA(t+lk(t*t-1))}function mk(t,e){var n=t*XA(e),i=30,r;do{e-=r=(e+XA(e)-n)/(1+LA(e))}while(RA(r)>VA&&--i>0);return e/2}function gk(t,e,n){function i(i,r){return[t*i*LA(r=mk(n,r)),e*XA(r)]}i.invert=function(i,r){return r=ok(r/e),[i/(t*LA(r)),ok((2*r+XA(2*r))/n)]};return i}var yk=gk(ek/ZA,ek,KA);function vk(){return Gw(yk).scale(169.529)}const bk=U_();const xk=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function _k(t,e){return function n(){const i=e();i.type=t;i.path=U_().projection(i);i.copy=i.copy||function(){const t=n();xk.forEach((e=>{if(i[e])t[e](i[e]())}));t.path.pointRadius(i.path.pointRadius());return t};return Ul(i)}}function wk(t,e){if(!t||typeof t!=="string"){throw new Error("Projection type must be a name string.")}t=t.toLowerCase();if(arguments.length>1){kk[t]=_k(t,e);return this}else{return kk[t]||null}}function Ak(t){return t&&t.path||bk}const kk={albers:Qw,albersusa:Zw,azimuthalequalarea:nA,azimuthalequidistant:rA,conicconformal:cA,conicequalarea:Vw,conicequidistant:pA,equalEarth:wA,equirectangular:dA,gnomonic:kA,identity:EA,mercator:aA,mollweide:vk,naturalEarth1:DA,orthographic:FA,stereographic:zA,transversemercator:$A};for(const WY in kk){wk(WY,kk[WY])}function Ek(t,e,n){var i=(0,es.A)(t,e-lx,n).concat(e);return function(t){return i.map((function(e){return[t,e]}))}}function Mk(t,e,n){var i=(0,es.A)(t,e-lx,n).concat(e);return function(t){return i.map((function(e){return[e,t]}))}}function Dk(){var t,e,n,i,r,s,a,o,u=10,l=u,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return(0,es.A)(_x(i/c)*c,n,c).map(p).concat((0,es.A)(_x(o/f)*f,a,f).map(m)).concat((0,es.A)(_x(e/u)*u,t,u).filter((function(t){return yx(t%c)>lx})).map(d)).concat((0,es.A)(_x(s/l)*l,r,l).filter((function(t){return yx(t%f)>lx})).map(h))}y.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))};y.outline=function(){return{type:"Polygon",coordinates:[p(i).concat(m(a).slice(1),p(n).reverse().slice(1),m(o).reverse().slice(1))]}};y.extent=function(t){if(!arguments.length)return y.extentMinor();return y.extentMajor(t).extentMinor(t)};y.extentMajor=function(t){if(!arguments.length)return[[i,o],[n,a]];i=+t[0][0],n=+t[1][0];o=+t[0][1],a=+t[1][1];if(i>n)t=i,i=n,n=t;if(o>a)t=o,o=a,a=t;return y.precision(g)};y.extentMinor=function(n){if(!arguments.length)return[[e,s],[t,r]];e=+n[0][0],t=+n[1][0];s=+n[0][1],r=+n[1][1];if(e>t)n=e,e=t,t=n;if(s>r)n=s,s=r,r=n;return y.precision(g)};y.step=function(t){if(!arguments.length)return y.stepMinor();return y.stepMajor(t).stepMinor(t)};y.stepMajor=function(t){if(!arguments.length)return[c,f];c=+t[0],f=+t[1];return y};y.stepMinor=function(t){if(!arguments.length)return[u,l];u=+t[0],l=+t[1];return y};y.precision=function(u){if(!arguments.length)return g;g=+u;d=Ek(s,r,90);h=Mk(e,t,g);p=Ek(o,a,90);m=Mk(i,n,g);return y};return y.extentMajor([[-180,-90+lx],[180,90-lx]]).extentMinor([[-180,-80-lx],[180,80+lx]])}function Ck(){return Dk()()}var Fk=n(33844);function Sk(){}const zk=[[],[[[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 Bk(){var t=1,e=1,n=o;function i(t,e){return e.map((e=>r(t,e)))}function r(t,e){var i=[],r=[];s(t,e,(s=>{n(s,t,e);if($k(s)>0)i.push([s]);else r.push(s)}));r.forEach((t=>{for(var e=0,n=i.length,r;e=i;zk[f<<1].forEach(p);while(++u=i;zk[c|f<<1].forEach(p)}zk[f<<0].forEach(p);while(++l=i;d=n[l*t]>=i;zk[f<<1|d<<2].forEach(p);while(++u=i;h=d,d=n[l*t+u+1]>=i;zk[c|f<<1|d<<2|h<<3].forEach(p)}zk[f|d<<3].forEach(p)}u=-1;d=n[l*t]>=i;zk[d<<2].forEach(p);while(++u=i;zk[d<<2|h<<3].forEach(p)}zk[d<<3].forEach(p);function p(t){var e=[t[0][0]+u,t[0][1]+l],n=[t[1][0]+u,t[1][1]+l],i=a(e),c=a(n),f,d;if(f=o[i]){if(d=s[c]){delete o[f.end];delete s[d.start];if(f===d){f.ring.push(n);r(f.ring)}else{s[f.start]=o[d.end]={start:f.start,end:d.end,ring:f.ring.concat(d.ring)}}}else{delete o[f.end];f.ring.push(n);o[f.end=c]=f}}else if(f=s[c]){if(d=o[i]){delete s[f.start];delete o[d.end];if(f===d){f.ring.push(n);r(f.ring)}else{s[d.start]=o[f.end]={start:d.start,end:f.end,ring:d.ring.concat(f.ring)}}}else{delete s[f.start];f.ring.unshift(e);s[f.start=i]=f}}else{s[i]=o[c]={start:i,end:c,ring:[e,n]}}}}function a(e){return e[0]*2+e[1]*(t+1)*4}function o(n,i,r){n.forEach((n=>{var s=n[0],a=n[1],o=s|0,u=a|0,l,c=i[u*t+o];if(s>0&&s0&&a=0&&s>=0))(0,p.z3)("invalid size");return t=r,e=s,i};i.smooth=function(t){return arguments.length?(n=t?o:Sk,i):n===o};return i}function $k(t){var e=0,n=t.length,i=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];while(++ei!==h>i&&n<(d-l)*(i-c)/(h-c)+l)r=-r}return r}function Tk(t,e,n){var i;return Nk(t,e,n)&&Lk(t[i=+(t[0]===e[0])],n[i],e[i])}function Nk(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function Lk(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function Pk(t,e,n){return function(i){var r=(0,p.Xx)(i),s=n?Math.min(r[0],0):r[0],a=r[1],o=a-s,u=e?(0,N.sG)(s,a,t):o/(t+1);return(0,es.A)(s+u,a,u)}}function qk(t){Bi.call(this,null,t)}qk.Definition={type:"Isocontour",metadata:{generates:true},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:true},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:false},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:true},{name:"smooth",type:"boolean",default:true},{name:"scale",type:"number",expr:true},{name:"translate",type:"number",array:true,expr:true},{name:"as",type:"string",null:true,default:"contour"}]};(0,p.B)(qk,Bi,{transform(t,e){if(this.value&&!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=t.field||p.D_,s=Bk().smooth(t.smooth!==false),a=t.thresholds||Ik(i,r,t),o=t.as===null?null:t.as||"contour",u=[];i.forEach((e=>{const n=r(e);const i=s.size([n.width,n.height])(n.values,(0,p.cy)(a)?a:a(n.values));Uk(i,n,e,t);i.forEach((t=>{u.push(_n(e,bn(o!=null?{[o]:t}:t)))}))}));if(this.value)n.rem=this.value;this.value=n.source=n.add=u;return n}});function Ik(t,e,n){const i=Pk(n.levels||10,n.nice,n.zero!==false);return n.resolve!=="shared"?i:i(t.map((t=>(0,Ni.A)(e(t).values))))}function Uk(t,e,n,i){let r=i.scale||e.scale,s=i.translate||e.translate;if((0,p.Tn)(r))r=r(n,i);if((0,p.Tn)(s))s=s(n,i);if((r===1||r==null)&&!s)return;const a=((0,p.Et)(r)?r:r[0])||1,o=((0,p.Et)(r)?r:r[1])||1,u=s&&s[0]||0,l=s&&s[1]||0;t.forEach(jk(e,a,o,u,l))}function jk(t,e,n,i,r){const s=t.x1||0,a=t.y1||0,o=e*n<0;function u(t){t.forEach(l)}function l(t){if(o)t.reverse();t.forEach(c)}function c(t){t[0]=(t[0]-s)*e+i;t[1]=(t[1]-a)*n+r}return function(t){t.coordinates.forEach(u);return t}}function Gk(t,e,n){const i=t>=0?t:er(e,n);return Math.round((Math.sqrt(4*i*i+1)-1)/2)}function Yk(t){return(0,p.Tn)(t)?t:(0,p.dY)(+t)}function Wk(){var t=t=>t[0],e=t=>t[1],n=p.xH,i=[-1,-1],r=960,s=500,a=2;function o(o,u){const l=Gk(i[0],o,t)>>a,c=Gk(i[1],o,e)>>a,f=l?l+2:0,d=c?c+2:0,h=2*f+(r>>a),p=2*d+(s>>a),m=new Float32Array(h*p),g=new Float32Array(h*p);let y=m;o.forEach((i=>{const r=f+(+t(i)>>a),s=d+(+e(i)>>a);if(r>=0&&r=0&&s0&&c>0){Xk(h,p,m,g,l);Hk(h,p,g,m,c);Xk(h,p,m,g,l);Hk(h,p,g,m,c);Xk(h,p,m,g,l);Hk(h,p,g,m,c)}else if(l>0){Xk(h,p,m,g,l);Xk(h,p,g,m,l);Xk(h,p,m,g,l);y=g}else if(c>0){Hk(h,p,m,g,c);Hk(h,p,g,m,c);Hk(h,p,m,g,c);y=g}const v=u?Math.pow(2,-2*a):1/tb(y);for(let t=0,e=h*p;t>a),y2:d+(s>>a)}}o.x=function(e){return arguments.length?(t=Yk(e),o):t};o.y=function(t){return arguments.length?(e=Yk(t),o):e};o.weight=function(t){return arguments.length?(n=Yk(t),o):n};o.size=function(t){if(!arguments.length)return[r,s];var e=+t[0],n=+t[1];if(!(e>=0&&n>=0))(0,p.z3)("invalid size");return r=e,s=n,o};o.cellSize=function(t){if(!arguments.length)return 1<=1))(0,p.z3)("invalid cell size");a=Math.floor(Math.log(t)/Math.LN2);return o};o.bandwidth=function(t){if(!arguments.length)return i;t=(0,p.YO)(t);if(t.length===1)t=[+t[0],+t[0]];if(t.length!==2)(0,p.z3)("invalid bandwidth");return i=t,o};return o}function Xk(t,e,n,i,r){const s=(r<<1)+1;for(let a=0;a=r){if(e>=s){o-=n[e-s+a*t]}i[e-r+a*t]=o/Math.min(e+1,t-1+s-e,s)}}}}function Hk(t,e,n,i,r){const s=(r<<1)+1;for(let a=0;a=r){if(o>=s){u-=n[a+(o-s)*t]}i[a+(o-r)*t]=u/Math.min(o+1,e-1+s-o,s)}}}}function Vk(t){Bi.call(this,null,t)}Vk.Definition={type:"KDE2D",metadata:{generates:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"weight",type:"field"},{name:"groupby",type:"field",array:true},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:true,length:2},{name:"counts",type:"boolean",default:false},{name:"as",type:"string",default:"grid"}]};const Qk=["x","y","weight","size","cellSize","bandwidth"];function Kk(t,e){Qk.forEach((n=>e[n]!=null?t[n](e[n]):0));return t}(0,p.B)(Vk,Bi,{transform(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=Zk(i,t.groupby),s=(t.groupby||[]).map(p.N6),a=Kk(Wk(),t),o=t.as||"grid",u=[];function l(t,e){for(let n=0;nbn(l({[o]:a(e,t.counts)},e.dims))));if(this.value)n.rem=this.value;this.value=n.source=n.add=u;return n}});function Zk(t,e){var n=[],i=t=>t(o),r,s,a,o,u,l;if(e==null){n.push(t)}else{for(r={},s=0,a=t.length;sn.push(o(t))))}if(s&&a){e.visit(u,(t=>{var e=s(t),n=a(t);if(e!=null&&n!=null&&(e=+e)===e&&(n=+n)===n){i.push([e,n])}}));n=n.concat({type:tE,geometry:{type:nE,coordinates:i}})}this.value={type:eE,features:n}}});function rE(t){Bi.call(this,null,t)}rE.Definition={type:"GeoPath",metadata:{modifies:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"path"}]};(0,p.B)(rE,Bi,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.field||p.D_,s=t.as||"path",a=n.SOURCE;if(!i||t.modified()){this.value=i=Ak(t.projection);n.materialize().reflow()}else{a=r===p.D_||e.modified(r.fields)?n.ADD_MOD:n.ADD}const o=sE(i,t.pointRadius);n.visit(a,(t=>t[s]=i(r(t))));i.pointRadius(o);return n.modifies(s)}});function sE(t,e){const n=t.pointRadius();t.context(null);if(e!=null){t.pointRadius(e)}return n}function aE(t){Bi.call(this,null,t)}aE.Definition={type:"GeoPoint",metadata:{modifies:true},params:[{name:"projection",type:"projection",required:true},{name:"fields",type:"field",array:true,required:true,length:2},{name:"as",type:"string",array:true,length:2,default:["x","y"]}]};(0,p.B)(aE,Bi,{transform(t,e){var n=t.projection,i=t.fields[0],r=t.fields[1],s=t.as||["x","y"],a=s[0],o=s[1],u;function l(t){const e=n([i(t),r(t)]);if(e){t[a]=e[0];t[o]=e[1]}else{t[a]=undefined;t[o]=undefined}}if(t.modified()){e=e.materialize().reflow(true).visit(e.SOURCE,l)}else{u=e.modified(i.fields)||e.modified(r.fields);e.visit(u?e.ADD_MOD:e.ADD,l)}return e.modifies(s)}});function oE(t){Bi.call(this,null,t)}oE.Definition={type:"GeoShape",metadata:{modifies:true,nomod:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"shape"}]};(0,p.B)(oE,Bi,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.as||"shape",s=n.ADD;if(!i||t.modified()){this.value=i=uE(Ak(t.projection),t.field||(0,p.ZZ)("datum"),t.pointRadius);n.materialize().reflow();s=n.SOURCE}n.visit(s,(t=>t[r]=i));return n.modifies(r)}});function uE(t,e,n){const i=n==null?n=>t(e(n)):i=>{var r=t.pointRadius(),s=t.pointRadius(n)(e(i));t.pointRadius(r);return s};i.context=e=>{t.context(e);return i};return i}function lE(t){Bi.call(this,[],t);this.generator=Dk()}lE.Definition={type:"Graticule",metadata:{changes:true,generates:true},params:[{name:"extent",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMajor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMinor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"step",type:"number",array:true,length:2},{name:"stepMajor",type:"number",array:true,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:true,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]};(0,p.B)(lE,Bi,{transform(t,e){var n=this.value,i=this.generator,r;if(!n.length||t.modified()){for(const e in t){if((0,p.Tn)(i[e])){i[e](t[e])}}}r=i();if(n.length){e.mod.push(wn(n[0],r))}else{e.add.push(bn(r))}n[0]=r;return e}});function cE(t){Bi.call(this,null,t)}cE.Definition={type:"heatmap",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:true},{name:"opacity",type:"number",expr:true},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]};(0,p.B)(cE,Bi,{transform(t,e){if(!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.materialize(e.SOURCE).source,i=t.resolve==="shared",r=t.field||p.D_,s=dE(t.opacity,t),a=fE(t.color,t),o=t.as||"image",u={$x:0,$y:0,$value:0,$max:i?(0,Ni.A)(n.map((t=>(0,Ni.A)(r(t).values)))):0};n.forEach((t=>{const e=r(t);const n=(0,p.X$)({},t,u);if(!i)n.$max=(0,Ni.A)(e.values||[]);t[o]=pE(e,n,a.dep?a:(0,p.dY)(a(n)),s.dep?s:(0,p.dY)(s(n)))}));return e.reflow(true).modifies(o)}});function fE(t,e){let n;if((0,p.Tn)(t)){n=n=>(0,Fk.Qh)(t(n,e));n.dep=hE(t)}else{n=(0,p.dY)((0,Fk.Qh)(t||"#888"))}return n}function dE(t,e){let n;if((0,p.Tn)(t)){n=n=>t(n,e);n.dep=hE(t)}else if(t){n=(0,p.dY)(t)}else{n=t=>t.$value/t.$max||0;n.dep=true}return n}function hE(t){if(!(0,p.Tn)(t))return false;const e=(0,p.M1)((0,p.nS)(t));return e.$x||e.$y||e.$value||e.$max}function pE(t,e,n,i){const r=t.width,s=t.height,a=t.x1||0,o=t.y1||0,u=t.x2||r,l=t.y2||s,c=t.values,f=c?t=>c[t]:p.v_,d=Ko(u-a,l-o),h=d.getContext("2d"),m=h.getImageData(0,0,u-a,l-o),g=m.data;for(let p=o,y=0;p{if(t[e]!=null)vE(n,e,t[e])}))}else{xk.forEach((e=>{if(t.modified(e))vE(n,e,t[e])}))}if(t.pointRadius!=null)n.path.pointRadius(t.pointRadius);if(t.fit)gE(n,t);return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function gE(t,e){const n=bE(e.fit);e.extent?t.fitExtent(e.extent,n):e.size?t.fitSize(e.size,n):0}function yE(t){const e=wk((t||"mercator").toLowerCase());if(!e)(0,p.z3)("Unrecognized projection type: "+t);return e()}function vE(t,e,n){if((0,p.Tn)(t[e]))t[e](n)}function bE(t){t=(0,p.YO)(t);return t.length===1?t[0]:{type:eE,features:t.reduce(((t,e)=>t.concat(xE(e))),[])}}function xE(t){return t.type===eE?t.features:(0,p.YO)(t).filter((t=>t!=null)).map((t=>t.type===tE?t:{type:tE,geometry:t}))}function _E(t,e){var n,i=1;if(t==null)t=0;if(e==null)e=0;function r(){var r,s=n.length,a,o=0,u=0;for(r=0;r=(f=(o+l)/2))o=f;else l=f;if(g=n>=(d=(u+c)/2))u=d;else c=d;if(r=s,!(s=s[y=g<<1|m]))return r[y]=a,t}h=+t._x.call(null,s.data);p=+t._y.call(null,s.data);if(e===h&&n===p)return a.next=s,r?r[y]=a:t._root=a,t;do{r=r?r[y]=new Array(4):t._root=new Array(4);if(m=e>=(f=(o+l)/2))o=f;else l=f;if(g=n>=(d=(u+c)/2))u=d;else c=d}while((y=g<<1|m)===(v=(p>=d)<<1|h>=f));return r[v]=s,r[y]=a,t}function kE(t){var e,n,i=t.length,r,s,a=new Array(i),o=new Array(i),u=Infinity,l=Infinity,c=-Infinity,f=-Infinity;for(n=0;nc)c=r;if(sf)f=s}if(u>c||l>f)return this;this.cover(u,l).cover(c,f);for(n=0;nt||t>=r||i>e||e>=s){l=(ec||(o=p.y0)>f||(u=p.x1)=y)<<1|t>=g){p=d[d.length-1];d[d.length-1]=d[d.length-1-m];d[d.length-1-m]=p}}else{var v=t-+this._x.call(null,h.data),b=e-+this._y.call(null,h.data),x=v*v+b*b;if(x=(d=(a+u)/2))a=d;else u=d;if(m=f>=(h=(o+l)/2))o=h;else l=h;if(!(e=n,n=n[g=m<<1|p]))return this;if(!n.length)break;if(e[g+1&3]||e[g+2&3]||e[g+3&3])i=e,y=g}while(n.data!==t)if(!(r=n,n=n.next))return this;if(s=n.next)delete n.next;if(r)return s?r.next=s:delete r.next,this;if(!e)return this._root=s,this;s?e[g]=s:delete e[g];if((n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length){if(i)i[y]=n;else this._root=n}return this}function zE(t){for(var e=0,n=t.length;el.index){var m=c-o.x-o.vx,g=f-o.y-o.vy,y=m*m+g*g;if(yc+p||sf+p||at.r){t.r=t[e].r}}}function u(){if(!e)return;var i,r=e.length,s;n=new Array(r);for(i=0;i(t=(KE*t+ZE)%JE)/JE}function eM(t){return t.x}function nM(t){return t.y}var iM=10,rM=Math.PI*(3-Math.sqrt(5));function sM(t){var e,n=1,i=.001,r=1-Math.pow(i,1/300),s=0,a=.6,o=new Map,u=(0,QE.O1)(f),l=(0,VE.A)("tick","end"),c=tM();if(t==null)t=[];function f(){d();l.call("tick",e);if(n1?(n==null?o.delete(t):o.set(t,p(n)),e):o.get(t)},find:function(e,n,i){var r=0,s=t.length,a,o,u,l,c;if(i==null)i=Infinity;else i*=i;for(r=0;r1?(l.on(t,n),e):l.on(t)}}}function aM(){var t,e,n,i,r=GE(-30),s,a=1,o=Infinity,u=.81;function l(n){var r,s=t.length,a=qE(t,eM,nM).visitAfter(f);for(i=n,r=0;r=o)return;if(t.data!==e||t.next){if(f===0)f=YE(n),p+=f*f;if(d===0)d=YE(n),p+=d*d;if(p[e(t,n,a),t]))),f;for(n=0,o=new Array(r);n=0;)n.tick()}else{if(n.stopped())n.restart();if(!i)return e.StopPropagation}}return this.finish(t,e)},finish(t,e){const n=e.dataflow;for(let o=this._argops,u=0,l=o.length,c;ut.touch(e).run()}function bM(t,e){const n=sM(t),i=n.stop,r=n.restart;let s=false;n.stopped=()=>s;n.restart=()=>(s=false,r());n.stop=()=>(s=true,i());return xM(n,e,true).on("end",(()=>s=true))}function xM(t,e,n,i){var r=(0,p.YO)(e.forces),s,a,o,u;for(s=0,a=pM.length;se(t,n):e)}var kM=n(59459);var EM=n(431);var MM=n(90751);const DM=1664525;const CM=1013904223;const FM=4294967296;function SM(){let t=1;return()=>(t=(DM*t+CM)%FM)/FM}function zM(t){return typeof t==="object"&&"length"in t?t:Array.from(t)}function BM(t,e){let n=t.length,i,r;while(n){r=e()*n--|0;i=t[n];t[n]=t[r];t[r]=i}return t}function $M(t){return RM(t,lcg())}function RM(t,e){var n=0,i=(t=BM(Array.from(t),e)).length,r=[],s,a;while(n0&&n*n>i*i+r*r}function LM(t,e){for(var n=0;n1e-6?(D+Math.sqrt(D*D-4*M*C))/(2*M):C/D);return{x:i+w+A*F,y:r+k+E*F,r:F}}function jM(t,e,n){var i=t.x-e.x,r,s,a=t.y-e.y,o,u,l=i*i+a*a;if(l){s=e.r+n.r,s*=s;u=t.r+n.r,u*=u;if(s>u){r=(l+u-s)/(2*l);o=Math.sqrt(Math.max(0,u/l-r*r));n.x=t.x-r*i-o*a;n.y=t.y-r*a+o*i}else{r=(l+s-u)/(2*l);o=Math.sqrt(Math.max(0,s/l-r*r));n.x=e.x+r*i-o*a;n.y=e.y+r*a+o*i}}else{n.x=e.x+n.r;n.y=e.y}}function GM(t,e){var n=t.r+e.r-1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function YM(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,s=(e.y*n.r+n.y*e.r)/i;return r*r+s*s}function WM(t){this._=t;this.next=null;this.previous=null}function XM(t,e){if(!(s=(t=zM(t)).length))return 0;var n,i,r,s,a,o,u,l,c,f,d;n=t[0],n.x=0,n.y=0;if(!(s>1))return n.r;i=t[1],n.x=-i.r,i.x=n.r,i.y=0;if(!(s>2))return n.r+i.r;jM(i,n,r=t[2]);n=new WM(n),i=new WM(i),r=new WM(r);n.next=r.previous=i;i.next=n.previous=r;r.next=i.previous=n;t:for(u=3;ulD(n(t,e,i))));const e=t.map(cD);const o=new Set(t).add("");for(const n of e){if(!o.has(n)){o.add(n);t.push(n);e.push(cD(n));r.push(sD)}}s=(e,n)=>t[n];a=(t,n)=>e[n]}for(l=0,o=r.length;l=0;--t){d=r[t];if(d.data!==sD)break;d.data=null}}c.parent=iD;c.eachBefore((function(t){t.depth=t.parent.depth+1;--o})).eachBefore(kM.lW);c.parent=null;if(o>0)throw new Error("cycle");return c}i.id=function(e){return arguments.length?(t=(0,EM.l)(e),i):t};i.parentId=function(t){return arguments.length?(e=(0,EM.l)(t),i):e};i.path=function(t){return arguments.length?(n=(0,EM.l)(t),i):n};return i}function lD(t){t=`${t}`;let e=t.length;if(fD(t,e-1)&&!fD(t,e-2))t=t.slice(0,-1);return t[0]==="/"?t:`/${t}`}function cD(t){let e=t.length;if(e<2)return"";while(--e>1)if(fD(t,e))break;return t.slice(0,e)}function fD(t,e){if(t[e]==="/"){let n=0;while(e>0&&t[--e]==="\\")++n;if((n&1)===0)return true}return false}function dD(t,e){return t.parent===e.parent?1:2}function hD(t){var e=t.children;return e?e[0]:t.t}function pD(t){var e=t.children;return e?e[e.length-1]:t.t}function mD(t,e,n){var i=n/(e.i-t.i);e.c-=i;e.s+=n;t.c+=i;e.z+=n;e.m+=n}function gD(t){var e=0,n=0,i=t.children,r=i.length,s;while(--r>=0){s=i[r];s.z+=e;s.m+=e;e+=s.s+(n+=s.c)}}function yD(t,e,n){return t.a.parent===e.parent?t.a:n}function vD(t,e){this._=t;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=e}vD.prototype=Object.create(kM.bP.prototype);function bD(t){var e=new vD(t,0),n,i=[e],r,s,a,o;while(n=i.pop()){if(s=n._.children){n.children=new Array(o=s.length);for(a=o-1;a>=0;--a){i.push(r=n.children[a]=new vD(s[a],a));r.parent=n}}}(e.parent=new vD(null,0)).children=[e];return e}function xD(){var t=dD,e=1,n=1,i=null;function r(r){var o=bD(r);o.eachAfter(s),o.parent.m=-o.z;o.eachBefore(a);if(i)r.eachBefore(u);else{var l=r,c=r,f=r;r.eachBefore((function(t){if(t.xc.x)c=t;if(t.depth>f.depth)f=t}));var d=l===c?1:t(l,c)/2,h=d-l.x,p=e/(c.x+d+h),m=n/(f.depth||1);r.eachBefore((function(t){t.x=(t.x+h)*p;t.y=t.depth*m}))}return r}function s(e){var n=e.children,i=e.parent.children,r=e.i?i[e.i-1]:null;if(n){gD(e);var s=(n[0].z+n[n.length-1].z)/2;if(r){e.z=r.z+t(e._,r._);e.m=e.z-s}else{e.z=s}}else if(r){e.z=r.z+t(e._,r._)}e.parent.A=o(e,r,e.parent.A||i[0])}function a(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function o(e,n,i){if(n){var r=e,s=e,a=n,o=r.parent.children[0],u=r.m,l=s.m,c=a.m,f=o.m,d;while(a=pD(a),r=hD(r),a&&r){o=hD(o);s=pD(s);s.a=e;d=a.z+c-r.z-u+t(a._,r._);if(d>0){mD(yD(a,e,i),e,d);u+=d;l+=d}c+=a.m;u+=r.m;f+=o.m;l+=s.m}if(a&&!pD(s)){s.t=a;s.m+=c-l}if(r&&!hD(o)){o.t=r;o.m+=u-f;i=e}}return i}function u(t){t.x*=e;t.y=t.depth*n}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function _D(t,e){return t.parent===e.parent?1:2}function wD(t){return t.reduce(AD,0)/t.length}function AD(t,e){return t+e.x}function kD(t){return 1+t.reduce(ED,0)}function ED(t,e){return Math.max(t,e.y)}function MD(t){var e;while(e=t.children)t=e[0];return t}function DD(t){var e;while(e=t.children)t=e[e.length-1];return t}function CD(){var t=_D,e=1,n=1,i=false;function r(r){var s,a=0;r.eachAfter((function(e){var n=e.children;if(n){e.x=wD(n);e.y=kD(n)}else{e.x=s?a+=t(e,s):0;e.y=0;s=e}}));var o=MD(r),u=DD(r),l=o.x-t(o,u)/2,c=u.x+t(u,o)/2;return r.eachAfter(i?function(t){t.x=(t.x-r.x)*e;t.y=(r.y-t.y)*n}:function(t){t.x=(t.x-l)/(c-l)*e;t.y=(1-(r.y?t.y/r.y:1))*n})}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function FD(t,e,n,i,r){var s=t.children,a,o=s.length,u,l=new Array(o+1);for(l[0]=u=a=0;a=e-1){var u=s[t];u.x0=i,u.y0=r;u.x1=a,u.y1=o;return}var f=l[t],d=n/2+f,h=t+1,p=e-1;while(h>>1;if(l[m]o-r){var v=n?(i*y+a*g)/n:a;c(t,h,g,i,r,v,o);c(h,e,y,v,r,a,o)}else{var b=n?(r*y+o*g)/n:o;c(t,h,g,i,r,a,b);c(h,e,y,i,b,a,o)}}}var SD=n(48420);function zD(t,e,n,i,r){(t.depth&1?SD.A:eD.A)(t,e,n,i,r)}var BD=n(63462);const $D=function t(e){function n(t,n,i,r,s){if((a=t._squarify)&&a.ratio===e){var a,o,u,l,c=-1,f,d=a.length,h=t.value;while(++c1?e:1)};return n}(BD.U1);var RD=n(93926);function OD(t,e,n){const i={};t.each((t=>{const r=t.data;if(n(r))i[e(r)]=t}));t.lookup=i;return t}function TD(t){Bi.call(this,null,t)}TD.Definition={type:"Nest",metadata:{treesource:true,changes:true},params:[{name:"keys",type:"field",array:true},{name:"generate",type:"boolean"}]};const ND=t=>t.values;(0,p.B)(TD,Bi,{transform(t,e){if(!e.source){(0,p.z3)("Nest transform requires an upstream data source.")}var n=t.generate,i=t.modified(),r=e.clone(),s=this.value;if(!s||i||e.changed()){if(s){s.each((t=>{if(t.children&&gn(t.data)){r.rem.push(t.data)}}))}this.value=s=(0,kM.Ay)({values:(0,p.YO)(t.keys).reduce(((t,e)=>{t.key(e);return t}),LD()).entries(r.source)},ND);if(n){s.each((t=>{if(t.children){t=bn(t.data);r.add.push(t);r.source.push(t)}}))}OD(s,yn,yn)}r.source.root=s;return r}});function LD(){const t=[],e={entries:t=>i(n(t,0),0),key:n=>(t.push(n),e)};function n(e,i){if(i>=t.length){return e}const r=e.length,s=t[i++],a={},o={};let u=-1,l,c,f;while(++ut.length)return e;const r=[];for(const t in e){r.push({key:t,values:i(e[t],n)})}return r}return e}function PD(t){Bi.call(this,null,t)}const qD=(t,e)=>t.parent===e.parent?1:2;(0,p.B)(PD,Bi,{transform(t,e){if(!e.source||!e.source.root){(0,p.z3)(this.constructor.name+" transform requires a backing tree data source.")}const n=this.layout(t.method),i=this.fields,r=e.source.root,s=t.as||i;if(t.field)r.sum(t.field);else r.count();if(t.sort)r.sort(An(t.sort,(t=>t.data)));ID(n,this.params,t);if(n.separation){n.separation(t.separation!==false?qD:p.xH)}try{this.value=n(r)}catch(a){(0,p.z3)(a)}r.each((t=>UD(t,i,s)));return e.reflow(t.modified()).modifies(s).modifies("leaf")}});function ID(t,e,n){for(let i,r=0,s=e.length;rs[yn(t)]=1));i.each((t=>{const e=t.data,n=t.parent&&t.parent.data;if(n&&s[yn(e)]&&s[yn(n)]){r.add.push(bn({source:n,target:e}))}}));this.value=r.add}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>s[yn(t)]=1));n.forEach((t=>{if(s[yn(t.source)]||s[yn(t.target)]){r.mod.push(t)}}))}return r}});const ZD={binary:FD,dice:eD.A,slice:SD.A,slicedice:zD,squarify:BD.Ay,resquarify:$D};const JD=["x0","y0","x1","y1","depth","children"];function tC(t){PD.call(this,t)}tC.Definition={type:"Treemap",metadata:{tree:true,modifies:true},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:false},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:JD.length,default:JD}]};(0,p.B)(tC,PD,{layout(){const t=(0,RD.A)();t.ratio=e=>{const n=t.tile();if(n.ratio)t.tile(n.ratio(e))};t.method=e=>{if((0,p.mQ)(ZD,e))t.tile(ZD[e]);else(0,p.z3)("Unrecognized Treemap layout method: "+e)};return t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:JD});const eC=4278190080;function nC(t,e){const n=t.bitmap();(e||[]).forEach((e=>n.set(t(e.boundary[0]),t(e.boundary[3]))));return[n,undefined]}function iC(t,e,n,i,r){const s=t.width,a=t.height,o=i||r,u=Ko(s,a).getContext("2d"),l=Ko(s,a).getContext("2d"),c=o&&Ko(s,a).getContext("2d");n.forEach((t=>sC(u,t,false)));sC(l,e,false);if(o){sC(c,e,true)}const f=rC(u,s,a),d=rC(l,s,a),h=o&&rC(c,s,a),p=t.bitmap(),m=o&&t.bitmap();let g,y,v,b,x,_,w,A;for(y=0;y{e.items.forEach((e=>sC(t,e.items,n)))}))}else{Qp[i].draw(t,{items:n?e.map(aC):e})}}function aC(t){const e=_n(t,{});if(e.stroke&&e.strokeOpacity!==0||e.fill&&e.fillOpacity!==0){return{...e,strokeOpacity:1,stroke:"#000",fillOpacity:0}}return e}const oC=5,uC=31,lC=32,cC=new Uint32Array(lC+1),fC=new Uint32Array(lC+1);fC[0]=0;cC[0]=~fC[0];for(let WY=1;WY<=lC;++WY){fC[WY]=fC[WY-1]<<1|1;cC[WY]=~fC[WY]}function dC(t,e){const n=new Uint32Array(~~((t*e+lC)/lC));function i(t,e){n[t]|=e}function r(t,e){n[t]&=e}return{array:n,get:(e,i)=>{const r=i*t+e;return n[r>>>oC]&1<<(r&uC)},set:(e,n)=>{const r=n*t+e;i(r>>>oC,1<<(r&uC))},clear:(e,n)=>{const i=n*t+e;r(i>>>oC,~(1<<(i&uC)))},getRange:(e,i,r,s)=>{let a=s,o,u,l,c;for(;a>=i;--a){o=a*t+e;u=a*t+r;l=o>>>oC;c=u>>>oC;if(l===c){if(n[l]&cC[o&uC]&fC[(u&uC)+1]){return true}}else{if(n[l]&cC[o&uC])return true;if(n[c]&fC[(u&uC)+1])return true;for(let t=l+1;t{let a,o,u,l,c;for(;n<=s;++n){a=n*t+e;o=n*t+r;u=a>>>oC;l=o>>>oC;if(u===l){i(u,cC[a&uC]&fC[(o&uC)+1])}else{i(u,cC[a&uC]);i(l,fC[(o&uC)+1]);for(c=u+1;c{let a,o,u,l,c;for(;n<=s;++n){a=n*t+e;o=n*t+i;u=a>>>oC;l=o>>>oC;if(u===l){r(u,fC[a&uC]|cC[(o&uC)+1])}else{r(u,fC[a&uC]);r(l,cC[(o&uC)+1]);for(c=u+1;cn<0||i<0||s>=e||r>=t}}function hC(t,e,n){const i=Math.max(1,Math.sqrt(t*e/1e6)),r=~~((t+2*n+i)/i),s=~~((e+2*n+i)/i),a=t=>~~((t+n)/i);a.invert=t=>t*i-n;a.bitmap=()=>dC(r,s);a.ratio=i;a.padding=n;a.width=t;a.height=e;return a}function pC(t,e,n,i){const r=t.width,s=t.height;return function(t){const e=t.datum.datum.items[i].items,n=e.length,a=t.datum.fontSize,o=Ap.width(t.datum,t.datum.text);let u=0,l,c,f,d,h,p,m;for(let i=0;i=u){u=m;t.x=h;t.y=p}}h=o/2;p=a/2;l=t.x-h;c=t.x+h;f=t.y-p;d=t.y+p;t.align="center";if(l<0&&c<=r){t.align="left"}else if(0<=l&&rr||e-(a=i/2)<0||e+a>s}function gC(t,e,n,i,r,s,a,o){const u=r*s/(i*2),l=t(e-u),c=t(e+u),f=t(n-(s=s/2)),d=t(n+s);return a.outOfBounds(l,f,c,d)||a.getRange(l,f,c,d)||o&&o.getRange(l,f,c,d)}function yC(t,e,n,i){const r=t.width,s=t.height,a=e[0],o=e[1];function u(e,n,i,u,l){const c=t.invert(e),f=t.invert(n);let d=i,h=s,p;if(!mC(c,f,u,l,r,s)&&!gC(t,c,f,l,u,d,a,o)&&!gC(t,c,f,l,u,l,a,null)){while(h-d>=1){p=(d+h)/2;if(gC(t,c,f,l,u,p,a,o)){h=p}else{d=p}}if(d>i){return[c,f,d,true]}}}return function(e){const o=e.datum.datum.items[i].items,l=o.length,c=e.datum.fontSize,f=Ap.width(e.datum,e.datum.text);let d=n?c:0,h=false,p=false,m=0,g,y,v,b,x,_,w,A,k,E,M,D,C,F,S,z,B;for(let i=0;iy){B=g;g=y;y=B}if(v>b){B=v;v=b;b=B}k=t(g);M=t(y);E=~~((k+M)/2);D=t(v);F=t(b);C=~~((D+F)/2);for(w=E;w>=k;--w){for(A=C;A>=D;--A){z=u(w,A,d,f,c);if(z){[e.x,e.y,d,h]=z}}}for(w=E;w<=M;++w){for(A=C;A<=F;++A){z=u(w,A,d,f,c);if(z){[e.x,e.y,d,h]=z}}}if(!h&&!n){S=Math.abs(y-g+b-v);x=(g+y)/2;_=(v+b)/2;if(S>=m&&!mC(x,_,f,c,r,s)&&!gC(t,x,_,c,f,c,a,null)){m=S;e.x=x;e.y=_;p=true}}}if(h||p){x=f/2;_=c/2;a.setRange(t(e.x-x),t(e.y-_),t(e.x+x),t(e.y+_));e.align="center";e.baseline="middle";return true}else{return false}}}const vC=[-1,-1,1,1];const bC=[-1,1,-1,1];function xC(t,e,n,i){const r=t.width,s=t.height,a=e[0],o=e[1],u=t.bitmap();return function(e){const l=e.datum.datum.items[i].items,c=l.length,f=e.datum.fontSize,d=Ap.width(e.datum,e.datum.text),h=[];let p=n?f:0,m=false,g=false,y=0,v,b,x,_,w,A,k,E,M,D,C,F;for(let i=0;i=1){C=(M+D)/2;if(gC(t,w,A,f,d,C,a,o)){D=C}else{M=C}}if(M>p){e.x=w;e.y=A;p=M;m=true}}}if(!m&&!n){F=Math.abs(b-v+_-x);w=(v+b)/2;A=(x+_)/2;if(F>=y&&!mC(w,A,d,f,r,s)&&!gC(t,w,A,f,d,f,a,null)){y=F;e.x=w;e.y=A;g=true}}}if(m||g){w=d/2;A=f/2;a.setRange(t(e.x-w),t(e.y-A),t(e.x+w),t(e.y+A));e.align="center";e.baseline="middle";return true}else{return false}}}const _C=["right","center","left"],wC=["bottom","middle","top"];function AC(t,e,n,i){const r=t.width,s=t.height,a=e[0],o=e[1],u=i.length;return function(e){const l=e.boundary,c=e.datum.fontSize;if(l[2]<0||l[5]<0||l[0]>r||l[3]>s){return false}let f=e.textWidth??0,d,h,p,m,g,y,v,b,x,_,w,A,k,E,M;for(let r=0;r>>2&3)-1;p=d===0&&h===0||i[r]<0;m=d&&h?Math.SQRT1_2:1;g=i[r]<0?-1:1;y=l[1+d]+i[r]*d*m;w=l[4+h]+g*c*h/2+i[r]*h*m;b=w-c/2;x=w+c/2;A=t(y);E=t(b);M=t(x);if(!f){if(!kC(A,A,E,M,a,o,y,y,b,x,l,p)){continue}else{f=Ap.width(e.datum,e.datum.text)}}_=y+g*f*d/2;y=_-f/2;v=_+f/2;A=t(y);k=t(v);if(kC(A,k,E,M,a,o,y,v,b,x,l,p)){e.x=!d?_:d*g<0?v:y;e.y=!h?w:h*g<0?x:b;e.align=_C[d*g+1];e.baseline=wC[h*g+1];a.setRange(A,E,k,M);return true}}return false}}function kC(t,e,n,i,r,s,a,o,u,l,c,f){return!(r.outOfBounds(t,n,e,i)||(f&&s||r).getRange(t,n,e,i))}const EC=0,MC=4,DC=8,CC=0,FC=1,SC=2;const zC={"top-left":EC+CC,top:EC+FC,"top-right":EC+SC,left:MC+CC,middle:MC+FC,right:MC+SC,"bottom-left":DC+CC,bottom:DC+FC,"bottom-right":DC+SC};const BC={naive:pC,"reduced-search":yC,floodfill:xC};function $C(t,e,n,i,r,s,a,o,u,l,c){if(!t.length)return t;const f=Math.max(i.length,r.length),d=RC(i,f),h=OC(r,f),p=TC(t[0].datum),m=p==="group"&&t[0].datum.items[u].marktype,g=m==="area",y=NC(p,m,o,u),v=l===null||l===Infinity,b=g&&c==="naive";let x=-1,_=-1;const w=t.map((t=>{const e=v?Ap.width(t,t.text):undefined;x=Math.max(x,e);_=Math.max(_,t.fontSize);return{datum:t,opacity:0,x:undefined,y:undefined,align:undefined,baseline:undefined,boundary:y(t),textWidth:e}}));l=l===null||l===Infinity?Math.max(x,_)+Math.max(...i):l;const A=hC(e[0],e[1],l);let k;if(!b){if(n){w.sort(((t,e)=>n(t.datum,e.datum)))}let e=false;for(let t=0;tt.datum));k=s.length||i?iC(A,i||[],s,e,g):nC(A,a&&w)}const E=g?BC[c](A,k,a,u):AC(A,k,h,d);w.forEach((t=>t.opacity=+E(t)));return w}function RC(t,e){const n=new Float64Array(e),i=t.length;for(let r=0;r[t.x,t.x,t.x,t.y,t.y,t.y];if(!t){return r}else if(t==="line"||t==="area"){return t=>r(t.datum)}else if(e==="line"){return t=>{const e=t.datum.items[i].items;return r(e.length?e[n==="start"?0:e.length-1]:{x:NaN,y:NaN})}}else{return t=>{const e=t.datum.bounds;return[e.x1,(e.x1+e.x2)/2,e.x2,e.y1,(e.y1+e.y2)/2,e.y2]}}}const LC=["x","y","opacity","align","baseline"];const PC=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function qC(t){Bi.call(this,null,t)}qC.Definition={type:"Label",metadata:{modifies:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:true,default:PC},{name:"offset",type:"number",array:true,default:[1]},{name:"padding",type:"number",default:0,null:true},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:true},{name:"avoidMarks",type:"data",array:true},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:true,length:LC.length,default:LC}]};(0,p.B)(qC,Bi,{transform(t,e){function n(n){const i=t[n];return(0,p.Tn)(i)&&e.modified(i.fields)}const i=t.modified();if(!(i||e.changed(e.ADD_REM)||n("sort")))return;if(!t.size||t.size.length!==2){(0,p.z3)("Size parameter should be specified as a [width, height] array.")}const r=t.as||LC;$C(e.materialize(e.SOURCE).source||[],t.size,t.sort,(0,p.YO)(t.offset==null?1:t.offset),(0,p.YO)(t.anchor||PC),t.avoidMarks||[],t.avoidBaseMark!==false,t.lineAnchor||"end",t.markIndex||0,t.padding===undefined?0:t.padding,t.method||"naive").forEach((t=>{const e=t.datum;e[r[0]]=t.x;e[r[1]]=t.y;e[r[2]]=t.opacity;e[r[3]]=t.align;e[r[4]]=t.baseline}));return e.reflow(i).modifies(r)}});function IC(t,e){var n=[],i=function(t){return t(o)},r,s,a,o,u,l;if(e==null){n.push(t)}else{for(r={},s=0,a=t.length;s{Wr(e,t.x,t.y,t.bandwidth||.3).forEach((t=>{const n={};for(let i=0;it==="poly"?e:t==="quad"?2:1;function YC(t){Bi.call(this,null,t)}YC.Definition={type:"Regression",metadata:{generates:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"method",type:"string",default:"linear",values:Object.keys(jC)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:true,length:2},{name:"params",type:"boolean",default:false},{name:"as",type:"string",array:true}]};(0,p.B)(YC,Bi,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=IC(i,t.groupby),s=(t.groupby||[]).map(p.N6),a=t.method||"linear",o=t.order==null?3:t.order,u=GC(a,o),l=t.as||[(0,p.N6)(t.x),(0,p.N6)(t.y)],c=jC[a],f=[];let d=t.extent;if(!(0,p.mQ)(jC,a)){(0,p.z3)("Invalid regression method: "+a)}if(d!=null){if(a==="log"&&d[0]<=0){e.dataflow.warn("Ignoring extent with values <= 0 for log regression.");d=null}}r.forEach((n=>{const i=n.length;if(i<=u){e.dataflow.warn("Skipping regression with more parameters than data points.");return}const r=c(n,t.x,t.y,o);if(t.params){f.push(bn({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));return}const h=d||(0,p.Xx)(n,t.x),m=t=>{const e={};for(let i=0;im([t,r.predict(t)])))}else{Kr(r.predict,h,25,200).forEach(m)}}));if(this.value)n.rem=this.value;this.value=n.add=n.source=f}return n}});const WC=11102230246251565e-32;const XC=134217729;const HC=(3+8*WC)*WC;function VC(t,e,n,i,r){let s,a,o,u;let l=e[0];let c=i[0];let f=0;let d=0;if(c>l===c>-l){s=l;l=e[++f]}else{s=c;c=i[++d]}let h=0;if(fl===c>-l){a=l+s;o=s-(a-l);l=e[++f]}else{a=c+s;o=s-(a-c);c=i[++d]}s=a;if(o!==0){r[h++]=o}while(fl===c>-l){a=s+l;u=a-s;o=s-(a-u)+(l-u);l=e[++f]}else{a=s+c;u=a-s;o=s-(a-u)+(c-u);c=i[++d]}s=a;if(o!==0){r[h++]=o}}}while(f=S||-F>=S){return F}f=t-E;o=t-(E+f)+(f-r);f=n-M;l=n-(M+f)+(f-r);f=e-D;u=e-(D+f)+(f-s);f=i-C;c=i-(C+f)+(f-s);if(o===0&&u===0&&l===0&&c===0){return F}S=iF*a+HC*Math.abs(F);F+=E*c+C*o-(D*l+M*u);if(F>=S||-F>=S)return F;x=o*C;d=XC*o;h=d-(d-o);p=o-h;d=XC*C;m=d-(d-C);g=C-m;_=p*g-(x-h*m-p*m-h*g);w=u*M;d=XC*u;h=d-(d-u);p=u-h;d=XC*M;m=d-(d-M);g=M-m;A=p*g-(w-h*m-p*m-h*g);y=_-A;f=_-y;uF[0]=_-(y+f)+(f-A);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;uF[1]=b-(y+f)+(f-w);k=v+y;f=k-v;uF[2]=v-(k-f)+(y-f);uF[3]=k;const z=VC(4,rF,4,uF,sF);x=E*c;d=XC*E;h=d-(d-E);p=E-h;d=XC*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=D*l;d=XC*D;h=d-(d-D);p=D-h;d=XC*l;m=d-(d-l);g=l-m;A=p*g-(w-h*m-p*m-h*g);y=_-A;f=_-y;uF[0]=_-(y+f)+(f-A);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;uF[1]=b-(y+f)+(f-w);k=v+y;f=k-v;uF[2]=v-(k-f)+(y-f);uF[3]=k;const B=VC(z,sF,4,uF,aF);x=o*c;d=XC*o;h=d-(d-o);p=o-h;d=XC*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=u*l;d=XC*u;h=d-(d-u);p=u-h;d=XC*l;m=d-(d-l);g=l-m;A=p*g-(w-h*m-p*m-h*g);y=_-A;f=_-y;uF[0]=_-(y+f)+(f-A);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;uF[1]=b-(y+f)+(f-w);k=v+y;f=k-v;uF[2]=v-(k-f)+(y-f);uF[3]=k;const $=VC(B,aF,4,uF,oF);return oF[$-1]}function cF(t,e,n,i,r,s){const a=(e-s)*(n-r);const o=(t-r)*(i-s);const u=a-o;if(a===0||o===0||a>0!==o>0)return u;const l=Math.abs(a+o);if(Math.abs(u)>=eF*l)return u;return-lF(t,e,n,i,r,s,l)}function fF(t,e,n,i,r,s){return(e-s)*(n-r)-(t-r)*(i-s)}const dF=(7+56*WC)*WC;const hF=(3+28*WC)*WC;const pF=(26+288*WC)*WC*WC;const mF=tF(4);const gF=tF(4);const yF=tF(4);const vF=tF(4);const bF=tF(4);const xF=tF(4);const _F=tF(4);const wF=tF(4);const AF=tF(4);const kF=tF(8);const EF=tF(8);const MF=tF(8);const DF=tF(4);const CF=tF(8);const FF=tF(8);const SF=tF(8);const zF=tF(12);let BF=tF(192);let $F=tF(192);function RF(t,e,n){t=sum(t,BF,e,n,$F);const i=BF;BF=$F;$F=i;return t}function OF(t,e,n,i,r,s,a,o){let u,l,c,f,d,h,p,m,g,y,v,b,x,_,w,A;if(t===0){if(e===0){a[0]=0;o[0]=0;return 1}else{A=-e;v=A*n;l=splitter*A;c=l-(l-A);f=A-c;l=splitter*n;d=l-(l-n);h=n-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;v=e*r;l=splitter*e;c=l-(l-e);f=e-c;l=splitter*r;d=l-(l-r);h=r-d;o[0]=f*h-(v-c*d-f*d-c*h);o[1]=v;return 2}}else{if(e===0){v=t*i;l=splitter*t;c=l-(l-t);f=t-c;l=splitter*i;d=l-(l-i);h=i-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;A=-t;v=A*s;l=splitter*A;c=l-(l-A);f=A-c;l=splitter*s;d=l-(l-s);h=s-d;o[0]=f*h-(v-c*d-f*d-c*h);o[1]=v;return 2}else{v=t*i;l=splitter*t;c=l-(l-t);f=t-c;l=splitter*i;d=l-(l-i);h=i-d;b=f*h-(v-c*d-f*d-c*h);x=e*n;l=splitter*e;c=l-(l-e);f=e-c;l=splitter*n;d=l-(l-n);h=n-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;u=b-p;a[0]=b-(p+u)+(u-_);m=v+p;u=m-v;y=v-(m-u)+(p-u);p=y-x;u=y-p;a[1]=y-(p+u)+(u-x);w=m+p;u=w-m;a[2]=m-(w-u)+(p-u);a[3]=w;v=e*r;l=splitter*e;c=l-(l-e);f=e-c;l=splitter*r;d=l-(l-r);h=r-d;b=f*h-(v-c*d-f*d-c*h);x=t*s;l=splitter*t;c=l-(l-t);f=t-c;l=splitter*s;d=l-(l-s);h=s-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;u=b-p;o[0]=b-(p+u)+(u-_);m=v+p;u=m-v;y=v-(m-u)+(p-u);p=y-x;u=y-p;o[1]=y-(p+u)+(u-x);w=m+p;u=w-m;o[2]=m-(w-u)+(p-u);o[3]=w;return 4}}}function TF(t,e,n,i,r){let s,a,o,u,l,c,f,d,h,p,m,g,y;m=e*n;a=splitter*e;o=a-(a-e);u=e-o;a=splitter*n;l=a-(a-n);c=n-l;g=u*c-(m-o*l-u*l-o*c);a=splitter*i;l=a-(a-i);c=i-l;f=g*i;a=splitter*g;o=a-(a-g);u=g-o;DF[0]=u*c-(f-o*l-u*l-o*c);d=m*i;a=splitter*m;o=a-(a-m);u=m-o;p=u*c-(d-o*l-u*l-o*c);h=f+p;s=h-f;DF[1]=f-(h-s)+(p-s);y=d+h;DF[2]=h-(y-d);DF[3]=y;t=RF(t,4,DF);if(r!==0){a=splitter*r;l=a-(a-r);c=r-l;f=g*r;a=splitter*g;o=a-(a-g);u=g-o;DF[0]=u*c-(f-o*l-u*l-o*c);d=m*r;a=splitter*m;o=a-(a-m);u=m-o;p=u*c-(d-o*l-u*l-o*c);h=f+p;s=h-f;DF[1]=f-(h-s)+(p-s);y=d+h;DF[2]=h-(y-d);DF[3]=y;t=RF(t,4,DF)}return t}function NF(t,e,n,i,r,s,a,o,u,l,c,f,d){let h;let p,m,g;let y,v,b;let x,_,w;let A,k,E,M,D,C,F,S,z,B,$,R,O,T,N;const L=t-l;const P=i-l;const q=a-l;const I=e-c;const U=r-c;const j=o-c;const G=n-f;const Y=s-f;const W=u-f;$=P*j;k=splitter*P;E=k-(k-P);M=P-E;k=splitter*j;D=k-(k-j);C=j-D;R=M*C-($-E*D-M*D-E*C);O=q*U;k=splitter*q;E=k-(k-q);M=q-E;k=splitter*U;D=k-(k-U);C=U-D;T=M*C-(O-E*D-M*D-E*C);F=R-T;A=R-F;mF[0]=R-(F+A)+(A-T);S=$+F;A=S-$;B=$-(S-A)+(F-A);F=B-O;A=B-F;mF[1]=B-(F+A)+(A-O);N=S+F;A=N-S;mF[2]=S-(N-A)+(F-A);mF[3]=N;$=q*I;k=splitter*q;E=k-(k-q);M=q-E;k=splitter*I;D=k-(k-I);C=I-D;R=M*C-($-E*D-M*D-E*C);O=L*j;k=splitter*L;E=k-(k-L);M=L-E;k=splitter*j;D=k-(k-j);C=j-D;T=M*C-(O-E*D-M*D-E*C);F=R-T;A=R-F;gF[0]=R-(F+A)+(A-T);S=$+F;A=S-$;B=$-(S-A)+(F-A);F=B-O;A=B-F;gF[1]=B-(F+A)+(A-O);N=S+F;A=N-S;gF[2]=S-(N-A)+(F-A);gF[3]=N;$=L*U;k=splitter*L;E=k-(k-L);M=L-E;k=splitter*U;D=k-(k-U);C=U-D;R=M*C-($-E*D-M*D-E*C);O=P*I;k=splitter*P;E=k-(k-P);M=P-E;k=splitter*I;D=k-(k-I);C=I-D;T=M*C-(O-E*D-M*D-E*C);F=R-T;A=R-F;yF[0]=R-(F+A)+(A-T);S=$+F;A=S-$;B=$-(S-A)+(F-A);F=B-O;A=B-F;yF[1]=B-(F+A)+(A-O);N=S+F;A=N-S;yF[2]=S-(N-A)+(F-A);yF[3]=N;h=sum(sum(scale(4,mF,G,CF),CF,scale(4,gF,Y,FF),FF,SF),SF,scale(4,yF,W,CF),CF,BF);let X=estimate(h,BF);let H=hF*d;if(X>=H||-X>=H){return X}A=t-L;p=t-(L+A)+(A-l);A=i-P;m=i-(P+A)+(A-l);A=a-q;g=a-(q+A)+(A-l);A=e-I;y=e-(I+A)+(A-c);A=r-U;v=r-(U+A)+(A-c);A=o-j;b=o-(j+A)+(A-c);A=n-G;x=n-(G+A)+(A-f);A=s-Y;_=s-(Y+A)+(A-f);A=u-W;w=u-(W+A)+(A-f);if(p===0&&m===0&&g===0&&y===0&&v===0&&b===0&&x===0&&_===0&&w===0){return X}H=pF*d+resulterrbound*Math.abs(X);X+=G*(P*b+j*m-(U*g+q*v))+x*(P*j-U*q)+Y*(q*y+I*g-(j*p+L*b))+_*(q*I-j*L)+W*(L*v+U*p-(I*m+P*y))+w*(L*U-I*P);if(X>=H||-X>=H){return X}const V=OF(p,y,P,U,q,j,vF,bF);const Q=OF(m,v,q,j,L,I,xF,_F);const K=OF(g,b,L,I,P,U,wF,AF);const Z=sum(Q,xF,K,AF,kF);h=RF(h,scale(Z,kF,G,SF),SF);const J=sum(K,wF,V,bF,EF);h=RF(h,scale(J,EF,Y,SF),SF);const tt=sum(V,vF,Q,_F,MF);h=RF(h,scale(tt,MF,W,SF),SF);if(x!==0){h=RF(h,scale(4,mF,x,zF),zF);h=RF(h,scale(Z,kF,x,SF),SF)}if(_!==0){h=RF(h,scale(4,gF,_,zF),zF);h=RF(h,scale(J,EF,_,SF),SF)}if(w!==0){h=RF(h,scale(4,yF,w,zF),zF);h=RF(h,scale(tt,MF,w,SF),SF)}if(p!==0){if(v!==0){h=TF(h,p,v,W,w)}if(b!==0){h=TF(h,-p,b,Y,_)}}if(m!==0){if(b!==0){h=TF(h,m,b,G,x)}if(y!==0){h=TF(h,-m,y,W,w)}}if(g!==0){if(y!==0){h=TF(h,g,y,Y,_)}if(v!==0){h=TF(h,-g,v,G,x)}}return BF[h-1]}function LF(t,e,n,i,r,s,a,o,u,l,c,f){const d=t-l;const h=i-l;const p=a-l;const m=e-c;const g=r-c;const y=o-c;const v=n-f;const b=s-f;const x=u-f;const _=h*y;const w=p*g;const A=p*m;const k=d*y;const E=d*g;const M=h*m;const D=v*(_-w)+b*(A-k)+x*(E-M);const C=(Math.abs(_)+Math.abs(w))*Math.abs(v)+(Math.abs(A)+Math.abs(k))*Math.abs(b)+(Math.abs(E)+Math.abs(M))*Math.abs(x);const F=dF*C;if(D>F||-D>F){return D}return NF(t,e,n,i,r,s,a,o,u,l,c,f,C)}function PF(t,e,n,i,r,s,a,o,u,l,c,f){const d=t-l;const h=i-l;const p=a-l;const m=e-c;const g=r-c;const y=o-c;const v=n-f;const b=s-f;const x=u-f;return d*(g*x-b*y)+h*(y*v-x*m)+p*(m*b-v*g)}const qF=(10+96*WC)*WC;const IF=(4+48*WC)*WC;const UF=(44+576*WC)*WC*WC;const jF=tF(4);const GF=tF(4);const YF=tF(4);const WF=tF(4);const XF=tF(4);const HF=tF(4);const VF=tF(4);const QF=tF(4);const KF=tF(8);const ZF=tF(8);const JF=tF(8);const tS=tF(8);const eS=tF(8);const nS=tF(8);const iS=tF(8);const rS=tF(8);const sS=tF(8);const aS=tF(4);const oS=tF(4);const uS=tF(4);const lS=tF(8);const cS=tF(16);const fS=tF(16);const dS=tF(16);const hS=tF(32);const pS=tF(32);const mS=tF(48);const gS=tF(64);let yS=tF(1152);let vS=tF(1152);function bS(t,e,n){t=sum(t,yS,e,n,vS);const i=yS;yS=vS;vS=i;return t}function xS(t,e,n,i,r,s,a,o,u){let l;let c,f,d,h,p,m;let g,y,v,b,x,_;let w,A,k;let E,M,D;let C,F;let S,z,B,$,R,O,T,N,L,P,q,I,U,j;const G=t-a;const Y=n-a;const W=r-a;const X=e-o;const H=i-o;const V=s-o;P=Y*V;z=splitter*Y;B=z-(z-Y);$=Y-B;z=splitter*V;R=z-(z-V);O=V-R;q=$*O-(P-B*R-$*R-B*O);I=W*H;z=splitter*W;B=z-(z-W);$=W-B;z=splitter*H;R=z-(z-H);O=H-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;jF[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;jF[1]=L-(T+S)+(S-I);j=N+T;S=j-N;jF[2]=N-(j-S)+(T-S);jF[3]=j;P=W*X;z=splitter*W;B=z-(z-W);$=W-B;z=splitter*X;R=z-(z-X);O=X-R;q=$*O-(P-B*R-$*R-B*O);I=G*V;z=splitter*G;B=z-(z-G);$=G-B;z=splitter*V;R=z-(z-V);O=V-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;GF[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;GF[1]=L-(T+S)+(S-I);j=N+T;S=j-N;GF[2]=N-(j-S)+(T-S);GF[3]=j;P=G*H;z=splitter*G;B=z-(z-G);$=G-B;z=splitter*H;R=z-(z-H);O=H-R;q=$*O-(P-B*R-$*R-B*O);I=Y*X;z=splitter*Y;B=z-(z-Y);$=Y-B;z=splitter*X;R=z-(z-X);O=X-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;YF[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;YF[1]=L-(T+S)+(S-I);j=N+T;S=j-N;YF[2]=N-(j-S)+(T-S);YF[3]=j;l=sum(sum(sum(scale(scale(4,jF,G,lS),lS,G,cS),cS,scale(scale(4,jF,X,lS),lS,X,fS),fS,hS),hS,sum(scale(scale(4,GF,Y,lS),lS,Y,cS),cS,scale(scale(4,GF,H,lS),lS,H,fS),fS,pS),pS,gS),gS,sum(scale(scale(4,YF,W,lS),lS,W,cS),cS,scale(scale(4,YF,V,lS),lS,V,fS),fS,hS),hS,yS);let Q=estimate(l,yS);let K=IF*u;if(Q>=K||-Q>=K){return Q}S=t-G;c=t-(G+S)+(S-a);S=e-X;h=e-(X+S)+(S-o);S=n-Y;f=n-(Y+S)+(S-a);S=i-H;p=i-(H+S)+(S-o);S=r-W;d=r-(W+S)+(S-a);S=s-V;m=s-(V+S)+(S-o);if(c===0&&f===0&&d===0&&h===0&&p===0&&m===0){return Q}K=UF*u+resulterrbound*Math.abs(Q);Q+=(G*G+X*X)*(Y*m+V*f-(H*d+W*p))+2*(G*c+X*h)*(Y*V-H*W)+((Y*Y+H*H)*(W*h+X*d-(V*c+G*m))+2*(Y*f+H*p)*(W*X-V*G))+((W*W+V*V)*(G*p+H*c-(X*f+Y*h))+2*(W*d+V*m)*(G*H-X*Y));if(Q>=K||-Q>=K){return Q}if(f!==0||p!==0||d!==0||m!==0){P=G*G;z=splitter*G;B=z-(z-G);$=G-B;q=$*$-(P-B*B-(B+B)*$);I=X*X;z=splitter*X;B=z-(z-X);$=X-B;U=$*$-(I-B*B-(B+B)*$);T=q+U;S=T-q;WF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;WF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;WF[2]=N-(j-S)+(T-S);WF[3]=j}if(d!==0||m!==0||c!==0||h!==0){P=Y*Y;z=splitter*Y;B=z-(z-Y);$=Y-B;q=$*$-(P-B*B-(B+B)*$);I=H*H;z=splitter*H;B=z-(z-H);$=H-B;U=$*$-(I-B*B-(B+B)*$);T=q+U;S=T-q;XF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;XF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;XF[2]=N-(j-S)+(T-S);XF[3]=j}if(c!==0||h!==0||f!==0||p!==0){P=W*W;z=splitter*W;B=z-(z-W);$=W-B;q=$*$-(P-B*B-(B+B)*$);I=V*V;z=splitter*V;B=z-(z-V);$=V-B;U=$*$-(I-B*B-(B+B)*$);T=q+U;S=T-q;HF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;HF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;HF[2]=N-(j-S)+(T-S);HF[3]=j}if(c!==0){g=scale(4,jF,c,KF);l=bS(l,sum_three(scale(g,KF,2*G,cS),cS,scale(scale(4,HF,c,lS),lS,H,fS),fS,scale(scale(4,XF,c,lS),lS,-V,dS),dS,hS,mS),mS)}if(h!==0){y=scale(4,jF,h,ZF);l=bS(l,sum_three(scale(y,ZF,2*X,cS),cS,scale(scale(4,XF,h,lS),lS,W,fS),fS,scale(scale(4,HF,h,lS),lS,-Y,dS),dS,hS,mS),mS)}if(f!==0){v=scale(4,GF,f,JF);l=bS(l,sum_three(scale(v,JF,2*Y,cS),cS,scale(scale(4,WF,f,lS),lS,V,fS),fS,scale(scale(4,HF,f,lS),lS,-X,dS),dS,hS,mS),mS)}if(p!==0){b=scale(4,GF,p,tS);l=bS(l,sum_three(scale(b,tS,2*H,cS),cS,scale(scale(4,HF,p,lS),lS,G,fS),fS,scale(scale(4,WF,p,lS),lS,-W,dS),dS,hS,mS),mS)}if(d!==0){x=scale(4,YF,d,eS);l=bS(l,sum_three(scale(x,eS,2*W,cS),cS,scale(scale(4,XF,d,lS),lS,X,fS),fS,scale(scale(4,WF,d,lS),lS,-H,dS),dS,hS,mS),mS)}if(m!==0){_=scale(4,YF,m,nS);l=bS(l,sum_three(scale(_,nS,2*V,cS),cS,scale(scale(4,WF,m,lS),lS,Y,fS),fS,scale(scale(4,XF,m,lS),lS,-G,dS),dS,hS,mS),mS)}if(c!==0||h!==0){if(f!==0||p!==0||d!==0||m!==0){P=f*V;z=splitter*f;B=z-(z-f);$=f-B;z=splitter*V;R=z-(z-V);O=V-R;q=$*O-(P-B*R-$*R-B*O);I=Y*m;z=splitter*Y;B=z-(z-Y);$=Y-B;z=splitter*m;R=z-(z-m);O=m-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;VF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;VF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;VF[2]=N-(j-S)+(T-S);VF[3]=j;P=d*-H;z=splitter*d;B=z-(z-d);$=d-B;z=splitter*-H;R=z-(z- -H);O=-H-R;q=$*O-(P-B*R-$*R-B*O);I=W*-p;z=splitter*W;B=z-(z-W);$=W-B;z=splitter*-p;R=z-(z- -p);O=-p-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;QF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;QF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;QF[2]=N-(j-S)+(T-S);QF[3]=j;A=sum(4,VF,4,QF,rS);P=f*m;z=splitter*f;B=z-(z-f);$=f-B;z=splitter*m;R=z-(z-m);O=m-R;q=$*O-(P-B*R-$*R-B*O);I=d*p;z=splitter*d;B=z-(z-d);$=d-B;z=splitter*p;R=z-(z-p);O=p-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;oS[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;oS[1]=L-(T+S)+(S-I);j=N+T;S=j-N;oS[2]=N-(j-S)+(T-S);oS[3]=j;M=4}else{rS[0]=0;A=1;oS[0]=0;M=1}if(c!==0){const t=scale(A,rS,c,dS);l=bS(l,sum(scale(g,KF,c,cS),cS,scale(t,dS,2*G,hS),hS,mS),mS);const e=scale(M,oS,c,lS);l=bS(l,sum_three(scale(e,lS,2*G,cS),cS,scale(e,lS,c,fS),fS,scale(t,dS,c,hS),hS,pS,gS),gS);if(p!==0){l=bS(l,scale(scale(4,HF,c,lS),lS,p,cS),cS)}if(m!==0){l=bS(l,scale(scale(4,XF,-c,lS),lS,m,cS),cS)}}if(h!==0){const t=scale(A,rS,h,dS);l=bS(l,sum(scale(y,ZF,h,cS),cS,scale(t,dS,2*X,hS),hS,mS),mS);const e=scale(M,oS,h,lS);l=bS(l,sum_three(scale(e,lS,2*X,cS),cS,scale(e,lS,h,fS),fS,scale(t,dS,h,hS),hS,pS,gS),gS)}}if(f!==0||p!==0){if(d!==0||m!==0||c!==0||h!==0){P=d*X;z=splitter*d;B=z-(z-d);$=d-B;z=splitter*X;R=z-(z-X);O=X-R;q=$*O-(P-B*R-$*R-B*O);I=W*h;z=splitter*W;B=z-(z-W);$=W-B;z=splitter*h;R=z-(z-h);O=h-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;VF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;VF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;VF[2]=N-(j-S)+(T-S);VF[3]=j;C=-V;F=-m;P=c*C;z=splitter*c;B=z-(z-c);$=c-B;z=splitter*C;R=z-(z-C);O=C-R;q=$*O-(P-B*R-$*R-B*O);I=G*F;z=splitter*G;B=z-(z-G);$=G-B;z=splitter*F;R=z-(z-F);O=F-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;QF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;QF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;QF[2]=N-(j-S)+(T-S);QF[3]=j;k=sum(4,VF,4,QF,sS);P=d*h;z=splitter*d;B=z-(z-d);$=d-B;z=splitter*h;R=z-(z-h);O=h-R;q=$*O-(P-B*R-$*R-B*O);I=c*m;z=splitter*c;B=z-(z-c);$=c-B;z=splitter*m;R=z-(z-m);O=m-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;uS[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;uS[1]=L-(T+S)+(S-I);j=N+T;S=j-N;uS[2]=N-(j-S)+(T-S);uS[3]=j;D=4}else{sS[0]=0;k=1;uS[0]=0;D=1}if(f!==0){const t=scale(k,sS,f,dS);l=bS(l,sum(scale(v,JF,f,cS),cS,scale(t,dS,2*Y,hS),hS,mS),mS);const e=scale(D,uS,f,lS);l=bS(l,sum_three(scale(e,lS,2*Y,cS),cS,scale(e,lS,f,fS),fS,scale(t,dS,f,hS),hS,pS,gS),gS);if(m!==0){l=bS(l,scale(scale(4,WF,f,lS),lS,m,cS),cS)}if(h!==0){l=bS(l,scale(scale(4,HF,-f,lS),lS,h,cS),cS)}}if(p!==0){const t=scale(k,sS,p,dS);l=bS(l,sum(scale(b,tS,p,cS),cS,scale(t,dS,2*H,hS),hS,mS),mS);const e=scale(D,uS,p,lS);l=bS(l,sum_three(scale(e,lS,2*H,cS),cS,scale(e,lS,p,fS),fS,scale(t,dS,p,hS),hS,pS,gS),gS)}}if(d!==0||m!==0){if(c!==0||h!==0||f!==0||p!==0){P=c*H;z=splitter*c;B=z-(z-c);$=c-B;z=splitter*H;R=z-(z-H);O=H-R;q=$*O-(P-B*R-$*R-B*O);I=G*p;z=splitter*G;B=z-(z-G);$=G-B;z=splitter*p;R=z-(z-p);O=p-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;VF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;VF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;VF[2]=N-(j-S)+(T-S);VF[3]=j;C=-X;F=-h;P=f*C;z=splitter*f;B=z-(z-f);$=f-B;z=splitter*C;R=z-(z-C);O=C-R;q=$*O-(P-B*R-$*R-B*O);I=Y*F;z=splitter*Y;B=z-(z-Y);$=Y-B;z=splitter*F;R=z-(z-F);O=F-R;U=$*O-(I-B*R-$*R-B*O);T=q+U;S=T-q;QF[0]=q-(T-S)+(U-S);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L+I;S=T-L;QF[1]=L-(T-S)+(I-S);j=N+T;S=j-N;QF[2]=N-(j-S)+(T-S);QF[3]=j;w=sum(4,VF,4,QF,iS);P=c*p;z=splitter*c;B=z-(z-c);$=c-B;z=splitter*p;R=z-(z-p);O=p-R;q=$*O-(P-B*R-$*R-B*O);I=f*h;z=splitter*f;B=z-(z-f);$=f-B;z=splitter*h;R=z-(z-h);O=h-R;U=$*O-(I-B*R-$*R-B*O);T=q-U;S=q-T;aS[0]=q-(T+S)+(S-U);N=P+T;S=N-P;L=P-(N-S)+(T-S);T=L-I;S=L-T;aS[1]=L-(T+S)+(S-I);j=N+T;S=j-N;aS[2]=N-(j-S)+(T-S);aS[3]=j;E=4}else{iS[0]=0;w=1;aS[0]=0;E=1}if(d!==0){const t=scale(w,iS,d,dS);l=bS(l,sum(scale(x,eS,d,cS),cS,scale(t,dS,2*W,hS),hS,mS),mS);const e=scale(E,aS,d,lS);l=bS(l,sum_three(scale(e,lS,2*W,cS),cS,scale(e,lS,d,fS),fS,scale(t,dS,d,hS),hS,pS,gS),gS);if(h!==0){l=bS(l,scale(scale(4,XF,d,lS),lS,h,cS),cS)}if(p!==0){l=bS(l,scale(scale(4,WF,-d,lS),lS,p,cS),cS)}}if(m!==0){const t=scale(w,iS,m,dS);l=bS(l,sum(scale(_,nS,m,cS),cS,scale(t,dS,2*V,hS),hS,mS),mS);const e=scale(E,aS,m,lS);l=bS(l,sum_three(scale(e,lS,2*V,cS),cS,scale(e,lS,m,fS),fS,scale(t,dS,m,hS),hS,pS,gS),gS)}}return yS[l-1]}function _S(t,e,n,i,r,s,a,o){const u=t-a;const l=n-a;const c=r-a;const f=e-o;const d=i-o;const h=s-o;const p=l*h;const m=c*d;const g=u*u+f*f;const y=c*f;const v=u*h;const b=l*l+d*d;const x=u*d;const _=l*f;const w=c*c+h*h;const A=g*(p-m)+b*(y-v)+w*(x-_);const k=(Math.abs(p)+Math.abs(m))*g+(Math.abs(y)+Math.abs(v))*b+(Math.abs(x)+Math.abs(_))*w;const E=qF*k;if(A>E||-A>E){return A}return xS(t,e,n,i,r,s,a,o,k)}function wS(t,e,n,i,r,s,a,o){const u=t-a;const l=e-o;const c=n-a;const f=i-o;const d=r-a;const h=s-o;const p=u*f-c*l;const m=c*h-d*f;const g=d*l-u*h;const y=u*u+l*l;const v=c*c+f*f;const b=d*d+h*h;return y*m+v*g+b*p}const AS=(16+224*WC)*WC;const kS=(5+72*WC)*WC;const ES=(71+1408*WC)*WC*WC;const MS=tF(4);const DS=tF(4);const CS=tF(4);const FS=tF(4);const SS=tF(4);const zS=tF(4);const BS=tF(4);const $S=tF(4);const RS=tF(4);const OS=tF(4);const TS=tF(24);const NS=tF(24);const LS=tF(24);const PS=tF(24);const qS=tF(24);const IS=tF(24);const US=tF(24);const jS=tF(24);const GS=tF(24);const YS=tF(24);const WS=tF(1152);const XS=tF(1152);const HS=tF(1152);const VS=tF(1152);const QS=tF(1152);const KS=tF(2304);const ZS=tF(2304);const JS=tF(3456);const tz=tF(5760);const ez=tF(8);const nz=tF(8);const iz=tF(8);const rz=tF(16);const sz=tF(24);const az=tF(48);const oz=tF(48);const uz=tF(96);const lz=tF(192);const cz=tF(384);const fz=tF(384);const dz=tF(384);const hz=tF(768);function pz(t,e,n,i,r,s,a){return sum_three(scale(4,t,i,ez),ez,scale(4,e,r,nz),nz,scale(4,n,s,iz),iz,rz,a)}function mz(t,e,n,i,r,s,a,o,u,l,c,f){const d=sum(sum(t,e,n,i,az),az,negate(sum(r,s,a,o,oz),oz),oz,uz);return sum_three(scale(scale(d,uz,u,lz),lz,u,cz),cz,scale(scale(d,uz,l,lz),lz,l,fz),fz,scale(scale(d,uz,c,lz),lz,c,dz),dz,hz,f)}function gz(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p){let m,g,y,v,b,x,_,w,A,k,E,M,D,C;k=t*r;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*r;b=g-(g-r);x=r-b;E=v*x-(k-y*b-v*b-y*x);M=i*e;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*e;b=g-(g-e);x=e-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;MS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;MS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;MS[2]=w-(C-m)+(_-m);MS[3]=C;k=i*o;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*o;b=g-(g-o);x=o-b;E=v*x-(k-y*b-v*b-y*x);M=a*r;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*r;b=g-(g-r);x=r-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;DS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;DS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;DS[2]=w-(C-m)+(_-m);DS[3]=C;k=a*c;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*c;b=g-(g-c);x=c-b;E=v*x-(k-y*b-v*b-y*x);M=l*o;g=splitter*l;y=g-(g-l);v=l-y;g=splitter*o;b=g-(g-o);x=o-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;CS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;CS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;CS[2]=w-(C-m)+(_-m);CS[3]=C;k=l*h;g=splitter*l;y=g-(g-l);v=l-y;g=splitter*h;b=g-(g-h);x=h-b;E=v*x-(k-y*b-v*b-y*x);M=d*c;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*c;b=g-(g-c);x=c-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;FS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;FS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;FS[2]=w-(C-m)+(_-m);FS[3]=C;k=d*e;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*e;b=g-(g-e);x=e-b;E=v*x-(k-y*b-v*b-y*x);M=t*h;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*h;b=g-(g-h);x=h-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;SS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;SS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;SS[2]=w-(C-m)+(_-m);SS[3]=C;k=t*o;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*o;b=g-(g-o);x=o-b;E=v*x-(k-y*b-v*b-y*x);M=a*e;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*e;b=g-(g-e);x=e-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;zS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;zS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;zS[2]=w-(C-m)+(_-m);zS[3]=C;k=i*c;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*c;b=g-(g-c);x=c-b;E=v*x-(k-y*b-v*b-y*x);M=l*r;g=splitter*l;y=g-(g-l);v=l-y;g=splitter*r;b=g-(g-r);x=r-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;BS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;BS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;BS[2]=w-(C-m)+(_-m);BS[3]=C;k=a*h;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*h;b=g-(g-h);x=h-b;E=v*x-(k-y*b-v*b-y*x);M=d*o;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*o;b=g-(g-o);x=o-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;$S[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;$S[1]=A-(_+m)+(m-M);C=w+_;m=C-w;$S[2]=w-(C-m)+(_-m);$S[3]=C;k=l*e;g=splitter*l;y=g-(g-l);v=l-y;g=splitter*e;b=g-(g-e);x=e-b;E=v*x-(k-y*b-v*b-y*x);M=t*c;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*c;b=g-(g-c);x=c-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;RS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;RS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;RS[2]=w-(C-m)+(_-m);RS[3]=C;k=d*r;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*r;b=g-(g-r);x=r-b;E=v*x-(k-y*b-v*b-y*x);M=i*h;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*h;b=g-(g-h);x=h-b;D=v*x-(M-y*b-v*b-y*x);_=E-D;m=E-_;OS[0]=E-(_+m)+(m-D);w=k+_;m=w-k;A=k-(w-m)+(_-m);_=A-M;m=A-_;OS[1]=A-(_+m)+(m-M);C=w+_;m=C-w;OS[2]=w-(C-m)+(_-m);OS[3]=C;const F=pz(MS,DS,zS,u,n,-s,TS);const S=pz(DS,CS,BS,f,s,-u,NS);const z=pz(CS,FS,$S,p,u,-f,LS);const B=pz(FS,SS,RS,n,f,-p,PS);const $=pz(SS,MS,OS,s,p,-n,qS);const R=pz(MS,BS,RS,f,n,s,IS);const O=pz(DS,$S,OS,p,s,u,US);const T=pz(CS,RS,zS,n,u,f,jS);const N=pz(FS,OS,BS,s,f,p,GS);const L=pz(SS,zS,$S,u,p,n,YS);const P=sum_three(mz(z,LS,O,US,N,GS,S,NS,t,e,n,WS),WS,mz(B,PS,T,jS,L,YS,z,LS,i,r,s,XS),XS,sum_three(mz($,qS,N,GS,R,IS,B,PS,a,o,u,HS),HS,mz(F,TS,L,YS,O,US,$,qS,l,c,f,VS),VS,mz(S,NS,R,IS,T,jS,F,TS,d,h,p,QS),QS,ZS,JS),JS,KS,tz);return tz[P-1]}const yz=tF(96);const vz=tF(96);const bz=tF(96);const xz=tF(1152);function _z(t,e,n,i,r,s,a,o,u,l){const c=pz(t,e,n,i,r,s,sz);return sum_three(scale(scale(c,sz,a,az),az,a,yz),yz,scale(scale(c,sz,o,az),az,o,vz),vz,scale(scale(c,sz,u,az),az,u,bz),bz,lz,l)}function wz(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p,m){let g,y,v,b,x,_;let w,A,k,E;let M,D,C,F;let S,z,B,$;let R,O,T,N,L,P,q,I,U,j,G,Y,W;const X=t-d;const H=i-d;const V=a-d;const Q=l-d;const K=e-h;const Z=r-h;const J=o-h;const tt=c-h;const et=n-p;const nt=s-p;const it=u-p;const rt=f-p;j=X*Z;O=splitter*X;T=O-(O-X);N=X-T;O=splitter*Z;L=O-(O-Z);P=Z-L;G=N*P-(j-T*L-N*L-T*P);Y=H*K;O=splitter*H;T=O-(O-H);N=H-T;O=splitter*K;L=O-(O-K);P=K-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;MS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;MS[1]=U-(q+R)+(R-Y);g=I+q;R=g-I;MS[2]=I-(g-R)+(q-R);MS[3]=g;j=H*J;O=splitter*H;T=O-(O-H);N=H-T;O=splitter*J;L=O-(O-J);P=J-L;G=N*P-(j-T*L-N*L-T*P);Y=V*Z;O=splitter*V;T=O-(O-V);N=V-T;O=splitter*Z;L=O-(O-Z);P=Z-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;DS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;DS[1]=U-(q+R)+(R-Y);y=I+q;R=y-I;DS[2]=I-(y-R)+(q-R);DS[3]=y;j=V*tt;O=splitter*V;T=O-(O-V);N=V-T;O=splitter*tt;L=O-(O-tt);P=tt-L;G=N*P-(j-T*L-N*L-T*P);Y=Q*J;O=splitter*Q;T=O-(O-Q);N=Q-T;O=splitter*J;L=O-(O-J);P=J-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;CS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;CS[1]=U-(q+R)+(R-Y);v=I+q;R=v-I;CS[2]=I-(v-R)+(q-R);CS[3]=v;j=Q*K;O=splitter*Q;T=O-(O-Q);N=Q-T;O=splitter*K;L=O-(O-K);P=K-L;G=N*P-(j-T*L-N*L-T*P);Y=X*tt;O=splitter*X;T=O-(O-X);N=X-T;O=splitter*tt;L=O-(O-tt);P=tt-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;RS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;RS[1]=U-(q+R)+(R-Y);b=I+q;R=b-I;RS[2]=I-(b-R)+(q-R);RS[3]=b;j=X*J;O=splitter*X;T=O-(O-X);N=X-T;O=splitter*J;L=O-(O-J);P=J-L;G=N*P-(j-T*L-N*L-T*P);Y=V*K;O=splitter*V;T=O-(O-V);N=V-T;O=splitter*K;L=O-(O-K);P=K-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;zS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;zS[1]=U-(q+R)+(R-Y);x=I+q;R=x-I;zS[2]=I-(x-R)+(q-R);zS[3]=x;j=H*tt;O=splitter*H;T=O-(O-H);N=H-T;O=splitter*tt;L=O-(O-tt);P=tt-L;G=N*P-(j-T*L-N*L-T*P);Y=Q*Z;O=splitter*Q;T=O-(O-Q);N=Q-T;O=splitter*Z;L=O-(O-Z);P=Z-L;W=N*P-(Y-T*L-N*L-T*P);q=G-W;R=G-q;BS[0]=G-(q+R)+(R-W);I=j+q;R=I-j;U=j-(I-R)+(q-R);q=U-Y;R=U-q;BS[1]=U-(q+R)+(R-Y);_=I+q;R=_-I;BS[2]=I-(_-R)+(q-R);BS[3]=_;const st=sum(sum(negate(_z(DS,CS,BS,rt,nt,-it,X,K,et,WS),WS),WS,_z(CS,RS,zS,et,it,rt,H,Z,nt,XS),XS,KS),KS,sum(negate(_z(RS,MS,BS,nt,rt,et,V,J,it,HS),HS),HS,_z(MS,DS,zS,it,et,-nt,Q,tt,rt,VS),VS,ZS),ZS,xz);let at=estimate(st,xz);let ot=kS*m;if(at>=ot||-at>=ot){return at}R=t-X;w=t-(X+R)+(R-d);R=e-K;M=e-(K+R)+(R-h);R=n-et;S=n-(et+R)+(R-p);R=i-H;A=i-(H+R)+(R-d);R=r-Z;D=r-(Z+R)+(R-h);R=s-nt;z=s-(nt+R)+(R-p);R=a-V;k=a-(V+R)+(R-d);R=o-J;C=o-(J+R)+(R-h);R=u-it;B=u-(it+R)+(R-p);R=l-Q;E=l-(Q+R)+(R-d);R=c-tt;F=c-(tt+R)+(R-h);R=f-rt;$=f-(rt+R)+(R-p);if(w===0&&M===0&&S===0&&A===0&&D===0&&z===0&&k===0&&C===0&&B===0&&E===0&&F===0&&$===0){return at}ot=ES*m+resulterrbound*Math.abs(at);const ut=X*D+Z*w-(K*A+H*M);const lt=H*C+J*A-(Z*k+V*D);const ct=V*F+tt*k-(J*E+Q*C);const ft=Q*M+K*E-(tt*w+X*F);const dt=X*C+J*w-(K*k+V*M);const ht=H*F+tt*A-(Z*E+Q*D);at+=(H*H+Z*Z+nt*nt)*(it*ft+rt*dt+et*ct+(B*b+$*x+S*v))+(Q*Q+tt*tt+rt*rt)*(et*lt-nt*dt+it*ut+(S*y-z*x+B*g))-((X*X+K*K+et*et)*(nt*ct-it*ht+rt*lt+(z*v-B*_+$*y))+(V*V+J*J+it*it)*(rt*ut+et*ht+nt*ft+($*g+S*_+z*b)))+2*((H*A+Z*D+nt*z)*(it*b+rt*x+et*v)+(Q*E+tt*F+rt*$)*(et*y-nt*x+it*g)-((X*w+K*M+et*S)*(nt*v-it*_+rt*y)+(V*k+J*C+it*B)*(rt*g+et*_+nt*b)));if(at>=ot||-at>=ot){return at}return gz(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p)}function Az(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=l-d;const b=e-h;const x=r-h;const _=o-h;const w=c-h;const A=n-p;const k=s-p;const E=u-p;const M=f-p;const D=m*x;const C=g*b;const F=D-C;const S=g*_;const z=y*x;const B=S-z;const $=y*w;const R=v*_;const O=$-R;const T=v*b;const N=m*w;const L=T-N;const P=m*_;const q=y*b;const I=P-q;const U=g*w;const j=v*x;const G=U-j;const Y=A*B-k*I+E*F;const W=k*O-E*G+M*B;const X=E*L+M*I+A*O;const H=M*F+A*G+k*L;const V=m*m+b*b+A*A;const Q=g*g+x*x+k*k;const K=y*y+_*_+E*E;const Z=v*v+w*w+M*M;const J=K*H-Z*Y+(V*W-Q*X);const tt=Math.abs(A);const et=Math.abs(k);const nt=Math.abs(E);const it=Math.abs(M);const rt=Math.abs(D);const st=Math.abs(C);const at=Math.abs(S);const ot=Math.abs(z);const ut=Math.abs($);const lt=Math.abs(R);const ct=Math.abs(T);const ft=Math.abs(N);const dt=Math.abs(P);const ht=Math.abs(q);const pt=Math.abs(U);const mt=Math.abs(j);const gt=((ut+lt)*et+(mt+pt)*nt+(at+ot)*it)*V+((ct+ft)*nt+(dt+ht)*it+(ut+lt)*tt)*Q+((rt+st)*it+(pt+mt)*tt+(ct+ft)*et)*K+((at+ot)*tt+(ht+dt)*et+(rt+st)*nt)*Z;const yt=AS*gt;if(J>yt||-J>yt){return J}return-wz(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p,gt)}function kz(t,e,n,i,r,s,a,o,u,l,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=l-d;const b=e-h;const x=r-h;const _=o-h;const w=c-h;const A=n-p;const k=s-p;const E=u-p;const M=f-p;const D=m*x-g*b;const C=g*_-y*x;const F=y*w-v*_;const S=v*b-m*w;const z=m*_-y*b;const B=g*w-v*x;const $=A*C-k*z+E*D;const R=k*F-E*B+M*C;const O=E*S+M*z+A*F;const T=M*D+A*B+k*S;const N=m*m+b*b+A*A;const L=g*g+x*x+k*k;const P=y*y+_*_+E*E;const q=v*v+w*w+M*M;return P*T-q*$+(N*R-L*O)}const Ez=Math.pow(2,-52);const Mz=new Uint32Array(512);class Dz{static from(t,e=Oz,n=Tz){const i=t.length;const r=new Float64Array(i*2);for(let s=0;s>1;if(e>0&&typeof t[0]!=="number")throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(n*3);this._halfedges=new Int32Array(n*3);this._hashSize=Math.ceil(Math.sqrt(e));this._hullPrev=new Uint32Array(e);this._hullNext=new Uint32Array(e);this._hullTri=new Uint32Array(e);this._hullHash=new Int32Array(this._hashSize).fill(-1);this._ids=new Uint32Array(e);this._dists=new Float64Array(e);this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:i,_hullHash:r}=this;const s=t.length>>1;let a=Infinity;let o=Infinity;let u=-Infinity;let l=-Infinity;for(let E=0;Eu)u=e;if(n>l)l=n;this._ids[E]=E}const c=(a+u)/2;const f=(o+l)/2;let d=Infinity;let h,p,m;for(let E=0;E0){p=E;d=e}}let v=t[2*p];let b=t[2*p+1];let x=Infinity;for(let E=0;Ei){e[n++]=r;i=this._dists[r]}}this.hull=e.subarray(0,n);this.triangles=new Uint32Array(0);this.halfedges=new Uint32Array(0);return}if(cF(g,y,v,b,_,w)<0){const t=p;const e=v;const n=b;p=m;v=_;b=w;m=t;_=e;w=n}const A=Bz(g,y,v,b,_,w);this._cx=A.x;this._cy=A.y;for(let E=0;E0&&Math.abs(a-M)<=Ez&&Math.abs(o-D)<=Ez)continue;M=a;D=o;if(s===h||s===p||s===m)continue;let u=0;for(let t=0,e=this._hashKey(a,o);t=0){l=c;if(l===u){l=-1;break}}if(l===-1)continue;let f=this._addTriangle(l,s,n[l],-1,-1,i[l]);i[s]=this._legalize(f+2);i[l]=f;k++;let d=n[l];while(c=n[d],cF(a,o,t[2*d],t[2*d+1],t[2*c],t[2*c+1])<0){f=this._addTriangle(d,s,c,i[s],-1,i[d]);i[s]=this._legalize(f+2);n[d]=d;k--;d=c}if(l===u){while(c=e[l],cF(a,o,t[2*c],t[2*c+1],t[2*l],t[2*l+1])<0){f=this._addTriangle(c,s,l,-1,i[l],i[c]);this._legalize(f+2);i[c]=f;n[l]=l;k--;l=c}}this._hullStart=e[s]=l;n[l]=e[d]=s;n[s]=d;r[this._hashKey(a,o)]=s;r[this._hashKey(t[2*l],t[2*l+1])]=l}this.hull=new Uint32Array(k);for(let E=0,M=this._hullStart;E0?3-n:1+n)/4}function Fz(t,e,n,i){const r=t-n;const s=e-i;return r*r+s*s}function Sz(t,e,n,i,r,s,a,o){const u=t-a;const l=e-o;const c=n-a;const f=i-o;const d=r-a;const h=s-o;const p=u*u+l*l;const m=c*c+f*f;const g=d*d+h*h;return u*(f*g-m*h)-l*(c*g-m*d)+p*(c*h-f*d)<0}function zz(t,e,n,i,r,s){const a=n-t;const o=i-e;const u=r-t;const l=s-e;const c=a*a+o*o;const f=u*u+l*l;const d=.5/(a*l-o*u);const h=(l*c-o*f)*d;const p=(a*f-u*c)*d;return h*h+p*p}function Bz(t,e,n,i,r,s){const a=n-t;const o=i-e;const u=r-t;const l=s-e;const c=a*a+o*o;const f=u*u+l*l;const d=.5/(a*l-o*u);const h=t+(l*c-o*f)*d;const p=e+(a*f-u*c)*d;return{x:h,y:p}}function $z(t,e,n,i){if(i-n<=20){for(let r=n+1;r<=i;r++){const i=t[r];const s=e[i];let a=r-1;while(a>=n&&e[t[a]]>s)t[a+1]=t[a--];t[a+1]=i}}else{const r=n+i>>1;let s=n+1;let a=i;Rz(t,r,s);if(e[t[n]]>e[t[i]])Rz(t,n,i);if(e[t[s]]>e[t[i]])Rz(t,s,i);if(e[t[n]]>e[t[s]])Rz(t,n,s);const o=t[s];const u=e[o];while(true){do{s++}while(e[t[s]]u);if(a=a-n){$z(t,e,s,i);$z(t,e,n,a-1)}else{$z(t,e,n,a-1);$z(t,e,s,i)}}}function Rz(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}function Oz(t){return t[0]}function Tz(t){return t[1]}const Nz=1e-6;class Lz{constructor(){this._x0=this._y0=this._x1=this._y1=null;this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){t=+t,e=+e,n=+n;const i=t+n;const r=e;if(n<0)throw new Error("negative radius");if(this._x1===null)this._+=`M${i},${r}`;else if(Math.abs(this._x1-i)>Nz||Math.abs(this._y1-r)>Nz)this._+="L"+i+","+r;if(!n)return;this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=i},${this._y1=r}`}rect(t,e,n,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+i}h${-n}Z`}value(){return this._||null}}class Pz{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}class qz{constructor(t,[e,n,i,r]=[0,0,960,500]){if(!((i=+i)>=(e=+e))||!((r=+r)>=(n=+n)))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=e;this.ymax=r,this.ymin=n;this._init()}update(){this.delaunay.update();this._init();return this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:i}=this;let r,s;const a=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p1)r-=2;for(let s=2;s0){if(e>=this.ymax)return null;if((s=(this.ymax-e)/i)0){if(t>=this.xmax)return null;if((s=(this.xmax-t)/n)this.xmax?2:0)|(ethis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let e=0;e1e-10)return false}return true}function Wz(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class Xz{static from(t,e=jz,n=Gz,i){return new Xz("length"in t?Hz(t,e,n,i):Float64Array.from(Vz(t,e,n,i)))}constructor(t){this._delaunator=new Dz(t);this.inedges=new Int32Array(t.length/2);this._hullIndex=new Int32Array(t.length/2);this.points=this._delaunator.coords;this._init()}update(){this._delaunator.update();this._init();return this}_init(){const t=this._delaunator,e=this.points;if(t.hull&&t.hull.length>2&&Yz(t)){this.collinear=Int32Array.from({length:e.length/2},((t,e)=>e)).sort(((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]));const t=this.collinear[0],n=this.collinear[this.collinear.length-1],i=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],r=1e-8*Math.hypot(i[3]-i[1],i[2]-i[0]);for(let s=0,a=e.length/2;s0){this.triangles=new Int32Array(3).fill(-1);this.halfedges=new Int32Array(3).fill(-1);this.triangles[0]=i[0];s[i[0]]=1;if(i.length===2){s[i[1]]=0;this.triangles[1]=i[1];this.triangles[2]=i[1]}}}voronoi(t){return new qz(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:i,halfedges:r,triangles:s,collinear:a}=this;if(a){const e=a.indexOf(t);if(e>0)yield a[e-1];if(e=0&&r!==n&&r!==i)n=r;return r}_step(t,e,n){const{inedges:i,hull:r,_hullIndex:s,halfedges:a,triangles:o,points:u}=this;if(i[t]===-1||!u.length)return(t+1)%(u.length>>1);let l=t;let c=Uz(e-u[t*2],2)+Uz(n-u[t*2+1],2);const f=i[t];let d=f;do{let i=o[d];const f=Uz(e-u[i*2],2)+Uz(n-u[i*2+1],2);if(f>5,nB=1<<11;function iB(){var t=[256,256],e,n,i,r,s,a,o,u=uB,l=[],c=Math.random,f={};f.layout=function(){var u=d(Ko()),f=cB((t[0]>>5)*t[1]),p=null,m=l.length,g=-1,y=[],v=l.map((t=>({text:e(t),font:n(t),style:r(t),weight:s(t),rotate:a(t),size:~~(i(t)+1e-14),padding:o(t),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:false,sprite:null,datum:t}))).sort(((t,e)=>e.size-t.size));while(++g>1;b.y=t[1]*(c()+.5)>>1;rB(u,b,v,g);if(b.hasText&&h(f,b,p)){y.push(b);if(p)aB(p,b);else p=[{x:b.x+b.x0,y:b.y+b.y0},{x:b.x+b.x1,y:b.y+b.y1}];b.x-=t[0]>>1;b.y-=t[1]>>1}}return y};function d(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(eB<<5)/e;t.height=nB/e;var n=t.getContext("2d");n.fillStyle=n.strokeStyle="red";n.textAlign="center";return{context:n,ratio:e}}function h(e,n,i){var r=n.x,s=n.y,a=Math.hypot(t[0],t[1]),o=u(t),l=c()<.5?1:-1,f=-l,d,h,p;while(d=o(f+=l)){h=~~d[0];p=~~d[1];if(Math.min(Math.abs(h),Math.abs(p))>=a)break;n.x=r+h;n.y=s+p;if(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>t[0]||n.y+n.y1>t[1])continue;if(!i||!sB(n,e,t[0])){if(!i||oB(n,i)){var m=n.sprite,g=n.width>>5,y=t[0]>>5,v=n.x-(g<<4),b=v&127,x=32-b,_=n.y1-n.y0,w=(n.y+n.y0)*y+(v>>5),A;for(var k=0;k<_;k++){A=0;for(var E=0;E<=g;E++){e[w+E]|=A<>>b:0)}w+=y}n.sprite=null;return true}}}return false}f.words=function(t){if(arguments.length){l=t;return f}else{return l}};f.size=function(e){if(arguments.length){t=[+e[0],+e[1]];return f}else{return t}};f.font=function(t){if(arguments.length){n=fB(t);return f}else{return n}};f.fontStyle=function(t){if(arguments.length){r=fB(t);return f}else{return r}};f.fontWeight=function(t){if(arguments.length){s=fB(t);return f}else{return s}};f.rotate=function(t){if(arguments.length){a=fB(t);return f}else{return a}};f.text=function(t){if(arguments.length){e=fB(t);return f}else{return e}};f.spiral=function(t){if(arguments.length){u=dB[t]||t;return f}else{return u}};f.fontSize=function(t){if(arguments.length){i=fB(t);return f}else{return i}};f.padding=function(t){if(arguments.length){o=fB(t);return f}else{return o}};f.random=function(t){if(arguments.length){c=t;return f}else{return c}};return f}function rB(t,e,n,i){if(e.sprite)return;var r=t.context,s=t.ratio;r.clearRect(0,0,(eB<<5)/s,nB/s);var a=0,o=0,u=0,l=n.length,c,f,d,h,p;--i;while(++i>5<<5;d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else{c=c+31>>5<<5}if(d>u)u=d;if(a+c>=eB<<5){a=0;o+=u;u=0}if(o+d>=nB)break;r.translate((a+(c>>1))/s,(o+(d>>1))/s);if(e.rotate)r.rotate(e.rotate*tB);r.fillText(e.text,0,0);if(e.padding){r.lineWidth=2*e.padding;r.strokeText(e.text,0,0)}r.restore();e.width=c;e.height=d;e.xoff=a;e.yoff=o;e.x1=c>>1;e.y1=d>>1;e.x0=-e.x1;e.y0=-e.y1;e.hasText=true;a+=c}var _=r.getImageData(0,0,(eB<<5)/s,nB/s).data,w=[];while(--i>=0){e=n[i];if(!e.hasText)continue;c=e.width;f=c>>5;d=e.y1-e.y0;for(h=0;h>5),M=_[(o+p)*(eB<<5)+(a+h)<<2]?1<<31-h%32:0;w[E]|=M;A|=M}if(A)k=p;else{e.y0++;d--;p--;o++}}e.y1=e.y0+k;e.sprite=w.slice(0,(e.y1-e.y0)*f)}}function sB(t,e,n){n>>=5;var i=t.sprite,r=t.width>>5,s=t.x-(r<<4),a=s&127,o=32-a,u=t.y1-t.y0,l=(t.y+t.y0)*n+(s>>5),c;for(var f=0;f>>a:0))&e[l+d])return true}l+=n}return false}function aB(t,e){var n=t[0],i=t[1];if(e.x+e.x0i.x)i.x=e.x+e.x1;if(e.y+e.y1>i.y)i.y=e.y+e.y1}function oB(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0e[0].y&&t.y+t.y0e(t(n))}r.forEach((t=>{t[a[0]]=NaN;t[a[1]]=NaN;t[a[3]]=0}));const l=s.words(r).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(o).random(ir).layout();const c=s.size(),f=c[0]>>1,d=c[1]>>1,h=l.length;for(let p=0,m,g;pt[e]))}const yB=t=>new Uint8Array(t);const vB=t=>new Uint16Array(t);const bB=t=>new Uint32Array(t);function xB(){let t=8,e=[],n=bB(0),i=wB(0,t),r=wB(0,t);return{data:()=>e,seen:()=>n=_B(n,e.length),add(t){for(let n=0,i=e.length,r=t.length,s;ne.length,curr:()=>i,prev:()=>r,reset:t=>r[t]=i[t],all:()=>t<257?255:t<65537?65535:4294967295,set(t,e){i[t]|=e},clear(t,e){i[t]&=~e},resize(e,n){const s=i.length;if(e>s||n>t){t=Math.max(n,t);i=wB(e,t,i);r=wB(e,t)}}}}function _B(t,e,n){if(t.length>=e)return t;n=n||new t.constructor(e);n.set(t);return n}function wB(t,e,n){const i=(e<257?yB:e<65537?vB:bB)(t);if(n)i.set(n);return i}function AB(t,e,n){const i=1<0)for(d=0;dt,size:()=>n}}function EB(t,e){t.sort.call(e,((e,n)=>{const i=t[e],r=t[n];return ir?1:0}));return gB(t,e)}function MB(t,e,n,i,r,s,a,o,u){let l=0,c=0,f;for(f=0;le.modified(t.fields)));return n?this.reinit(t,e):this.eval(t,e)}},init(t,e){const n=t.fields,i=t.query,r=this._indices={},s=this._dims=[],a=i.length;let o=0,u,l;for(;o{const t=r.remove(e,n);for(const e in i)i[e].reindex(t)}))},update(t,e,n){const i=this._dims,r=t.query,s=e.stamp,a=i.length;let o=0,u,l;n.filters=0;for(l=0;lh){for(g=h,y=Math.min(f,p);gp){for(g=Math.max(f,p),y=d;gf){for(p=f,m=Math.min(l,d);pd){for(p=Math.max(l,d),m=c;p!(o[t]&n)?a[t]:null;s.filter(s.MOD,l);if(!(r&r-1)){s.filter(s.ADD,l);s.filter(s.REM,(t=>(o[t]&n)===r?a[t]:null))}else{s.filter(s.ADD,(t=>{const e=o[t]&n,i=!e&&e^u[t]&n;return i?a[t]:null}));s.filter(s.REM,(t=>{const e=o[t]&n,i=e&&!(e^(e^u[t]&n));return i?a[t]:null}))}return s.filter(s.SOURCE,(t=>l(t._index)))}});const FB="RawCode";const SB="Literal";const zB="Property";const BB="Identifier";const $B="ArrayExpression";const RB="BinaryExpression";const OB="CallExpression";const TB="ConditionalExpression";const NB="LogicalExpression";const LB="MemberExpression";const PB="ObjectExpression";const qB="UnaryExpression";function IB(t){this.type=t}IB.prototype.visit=function(t){let e,n,i;if(t(this))return 1;for(e=UB(this),n=0,i=e.length;n";jB[QB]="Identifier";jB[KB]="Keyword";jB[ZB]="Null";jB[JB]="Numeric";jB[t$]="Punctuator";jB[e$]="String";jB[n$]="RegularExpression";var i$="ArrayExpression",r$="BinaryExpression",s$="CallExpression",a$="ConditionalExpression",o$="Identifier",u$="Literal",l$="LogicalExpression",c$="MemberExpression",f$="ObjectExpression",d$="Property",h$="UnaryExpression";var p$="Unexpected token %0",m$="Unexpected number",g$="Unexpected string",y$="Unexpected identifier",v$="Unexpected reserved word",b$="Unexpected end of input",x$="Invalid regular expression",_$="Invalid regular expression: missing /",w$="Octal literals are not allowed in strict mode.",A$="Duplicate data property in object literal not allowed in strict mode";var k$="ILLEGAL",E$="Disabled.";var M$=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]"),D$=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 C$(t,e){if(!t){throw new Error("ASSERT: "+e)}}function F$(t){return t>=48&&t<=57}function S$(t){return"0123456789abcdefABCDEF".includes(t)}function z$(t){return"01234567".includes(t)}function B$(t){return t===32||t===9||t===11||t===12||t===160||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t)}function $$(t){return t===10||t===13||t===8232||t===8233}function R$(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t===92||t>=128&&M$.test(String.fromCharCode(t))}function O$(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||t===92||t>=128&&D$.test(String.fromCharCode(t))}const T$={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 N$(){while(YB1114111||t!=="}"){dR({},p$,k$)}if(e<=65535){return String.fromCharCode(e)}n=(e-65536>>10)+55296;i=(e-65536&1023)+56320;return String.fromCharCode(n,i)}function q$(){var t,e;t=GB.charCodeAt(YB++);e=String.fromCharCode(t);if(t===92){if(GB.charCodeAt(YB)!==117){dR({},p$,k$)}++YB;t=L$("u");if(!t||t==="\\"||!R$(t.charCodeAt(0))){dR({},p$,k$)}e=t}while(YB>>="){YB+=4;return{type:t$,value:a,start:t,end:YB}}s=a.substr(0,3);if(s===">>>"||s==="<<="||s===">>="){YB+=3;return{type:t$,value:s,start:t,end:YB}}r=s.substr(0,2);if(i===r[1]&&"+-<>&|".includes(i)||r==="=>"){YB+=2;return{type:t$,value:r,start:t,end:YB}}if(r==="//"){dR({},p$,k$)}if("<>=!+-*%&|^/".includes(i)){++YB;return{type:t$,value:i,start:t,end:YB}}dR({},p$,k$)}function G$(t){let e="";while(YB{if(parseInt(e,16)<=1114111){return"x"}dR({},x$)})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x")}try{new RegExp(n)}catch(i){dR({},x$)}try{return new RegExp(t,e)}catch(r){return null}}function V$(){var t,e,n,i,r;t=GB[YB];C$(t==="/","Regular expression literal must start with a slash");e=GB[YB++];n=false;i=false;while(YB=0){dR({},x$,n)}return{value:n,literal:e}}function K$(){var t,e,n,i;XB=null;N$();t=YB;e=V$();n=Q$();i=H$(e.value,n.value);return{literal:e.literal+n.literal,value:i,regex:{pattern:e.value,flags:n.value},start:t,end:YB}}function Z$(t){return t.type===QB||t.type===KB||t.type===HB||t.type===ZB}function J$(){N$();if(YB>=WB){return{type:VB,start:YB,end:YB}}const t=GB.charCodeAt(YB);if(R$(t)){return U$()}if(t===40||t===41||t===59){return j$()}if(t===39||t===34){return X$()}if(t===46){if(F$(GB.charCodeAt(YB+1))){return W$()}return j$()}if(F$(t)){return W$()}return j$()}function tR(){const t=XB;YB=t.end;XB=J$();YB=t.end;return t}function eR(){const t=YB;XB=J$();YB=t}function nR(t){const e=new IB(i$);e.elements=t;return e}function iR(t,e,n){const i=new IB(t==="||"||t==="&&"?l$:r$);i.operator=t;i.left=e;i.right=n;return i}function rR(t,e){const n=new IB(s$);n.callee=t;n.arguments=e;return n}function sR(t,e,n){const i=new IB(a$);i.test=t;i.consequent=e;i.alternate=n;return i}function aR(t){const e=new IB(o$);e.name=t;return e}function oR(t){const e=new IB(u$);e.value=t.value;e.raw=GB.slice(t.start,t.end);if(t.regex){if(e.raw==="//"){e.raw="/(?:)/"}e.regex=t.regex}return e}function uR(t,e,n){const i=new IB(c$);i.computed=t==="[";i.object=e;i.property=n;if(!i.computed)n.member=true;return i}function lR(t){const e=new IB(f$);e.properties=t;return e}function cR(t,e,n){const i=new IB(d$);i.key=e;i.value=n;i.kind=t;return i}function fR(t,e){const n=new IB(h$);n.operator=t;n.argument=e;n.prefix=true;return n}function dR(t,e){var n,i=Array.prototype.slice.call(arguments,2),r=e.replace(/%(\d)/g,((t,e)=>{C$(e":case"<=":case">=":case"instanceof":case"in":e=7;break;case"<<":case">>":case">>>":e=8;break;case"+":case"-":e=9;break;case"*":case"/":case"%":e=11;break}return e}function BR(){var t,e,n,i,r,s,a,o,u,l;t=XB;u=SR();i=XB;r=zR(i);if(r===0){return u}i.prec=r;tR();e=[t,XB];a=SR();s=[u,i,a];while((r=zR(XB))>0){while(s.length>2&&r<=s[s.length-2].prec){a=s.pop();o=s.pop().value;u=s.pop();e.pop();n=iR(o,u,a);s.push(n)}i=tR();i.prec=r;s.push(i);e.push(XB);n=SR();s.push(n)}l=s.length-1;n=s[l];e.pop();while(l>1){e.pop();n=iR(s[l-1].value,s[l-2],n);l-=2}return n}function $R(){var t,e,n;t=BR();if(mR("?")){tR();e=$R();pR(":");n=$R();t=sR(t,e,n)}return t}function RR(){const t=$R();if(mR(",")){throw new Error(E$)}return t}function OR(t){GB=t;YB=0;WB=GB.length;XB=null;eR();const e=RR();if(XB.type!==VB){throw new Error("Unexpect token after expression.")}return e}var TR={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 NR(t){function e(e,n,i,r){let s=t(n[0]);if(i){s=i+"("+s+")";if(i.lastIndexOf("new ",0)===0)s="("+s+")"}return s+"."+e+(r<0?"":r===0?"()":"("+n.slice(1).map(t).join(",")+")")}function n(t,n,i){return r=>e(t,r,n,i)}const i="new Date",r="String",s="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(e){if(e.length<3)(0,p.z3)("Missing arguments to clamp function.");if(e.length>3)(0,p.z3)("Too many arguments to clamp function.");const n=e.map(t);return"Math.max("+n[1]+", Math.min("+n[2]+","+n[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:i,date:n("getDate",i,0),day:n("getDay",i,0),year:n("getFullYear",i,0),month:n("getMonth",i,0),hours:n("getHours",i,0),minutes:n("getMinutes",i,0),seconds:n("getSeconds",i,0),milliseconds:n("getMilliseconds",i,0),time:n("getTime",i,0),timezoneoffset:n("getTimezoneOffset",i,0),utcdate:n("getUTCDate",i,0),utcday:n("getUTCDay",i,0),utcyear:n("getUTCFullYear",i,0),utcmonth:n("getUTCMonth",i,0),utchours:n("getUTCHours",i,0),utcminutes:n("getUTCMinutes",i,0),utcseconds:n("getUTCSeconds",i,0),utcmilliseconds:n("getUTCMilliseconds",i,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",r,0),lower:n("toLowerCase",r,0),substring:n("substring",r),split:n("split",r),trim:n("trim",r,0),btoa:"btoa",atob:"atob",regexp:s,test:n("test",s),if:function(e){if(e.length<3)(0,p.z3)("Missing arguments to if function.");if(e.length>3)(0,p.z3)("Too many arguments to if function.");const n=e.map(t);return"("+n[0]+"?"+n[1]+":"+n[2]+")"}}}function LR(t){const e=t&&t.length-1;return e&&(t[0]==='"'&&t[e]==='"'||t[0]==="'"&&t[e]==="'")?t.slice(1,-1):t}function PR(t){t=t||{};const e=t.allowed?(0,p.M1)(t.allowed):{},n=t.forbidden?(0,p.M1)(t.forbidden):{},i=t.constants||TR,r=(t.functions||NR)(f),s=t.globalvar,a=t.fieldvar,o=(0,p.Tn)(s)?s:t=>`${s}["${t}"]`;let u={},l={},c=0;function f(t){if((0,p.Kg)(t))return t;const e=d[t.type];if(e==null)(0,p.z3)("Unsupported type: "+t.type);return e(t)}const d={Literal:t=>t.raw,Identifier:t=>{const r=t.name;if(c>0){return r}else if((0,p.mQ)(n,r)){return(0,p.z3)("Illegal identifier: "+r)}else if((0,p.mQ)(i,r)){return i[r]}else if((0,p.mQ)(e,r)){return r}else{u[r]=1;return o(r)}},MemberExpression:t=>{const e=!t.computed,n=f(t.object);if(e)c+=1;const i=f(t.property);if(n===a){l[LR(i)]=1}if(e)c-=1;return n+(e?"."+i:"["+i+"]")},CallExpression:t=>{if(t.callee.type!=="Identifier"){(0,p.z3)("Illegal callee type: "+t.callee.type)}const e=t.callee.name,n=t.arguments,i=(0,p.mQ)(r,e)&&r[e];if(!i)(0,p.z3)("Unrecognized function: "+e);return(0,p.Tn)(i)?i(n):i+"("+n.map(f).join(",")+")"},ArrayExpression:t=>"["+t.elements.map(f).join(",")+"]",BinaryExpression:t=>"("+f(t.left)+" "+t.operator+" "+f(t.right)+")",UnaryExpression:t=>"("+t.operator+f(t.argument)+")",ConditionalExpression:t=>"("+f(t.test)+"?"+f(t.consequent)+":"+f(t.alternate)+")",LogicalExpression:t=>"("+f(t.left)+t.operator+f(t.right)+")",ObjectExpression:t=>"{"+t.properties.map(f).join(",")+"}",Property:t=>{c+=1;const e=f(t.key);c-=1;return e+":"+f(t.value)}};function h(t){const e={code:f(t),globals:Object.keys(u),fields:Object.keys(l)};u={};l={};return e}h.functions=r;h.constants=i;return h}var qR=new ax;var IR=new ax,UR,jR,GR,YR,WR;var XR={point:Rx,lineStart:Rx,lineEnd:Rx,polygonStart:function(){qR=new ax;XR.lineStart=HR;XR.lineEnd=VR},polygonEnd:function(){var t=+qR;IR.add(t<0?px+t:t);this.lineStart=this.lineEnd=this.point=Rx},sphere:function(){IR.add(px)}};function HR(){XR.point=QR}function VR(){KR(UR,jR)}function QR(t,e){XR.point=KR;UR=t,jR=e;t*=gx,e*=gx;GR=t,YR=xx(e=e/2+hx),WR=Dx(e)}function KR(t,e){t*=gx,e*=gx;e=e/2+hx;var n=t-GR,i=n>=0?1:-1,r=i*n,s=xx(e),a=Dx(e),o=WR*a,u=YR*s+o*xx(r),l=o*i*Dx(r);qR.add(bx(l,u));GR=t,YR=s,WR=a}function ZR(t){IR=new ax;sx(t,XR);return IR*2}var JR,tO,eO,nO,iO,rO,sO,aO,oO,uO,lO;var cO={point:fO,lineStart:hO,lineEnd:pO,polygonStart:function(){cO.point=mO;cO.lineStart=gO;cO.lineEnd=yO;oO=new ax;XR.polygonStart()},polygonEnd:function(){XR.polygonEnd();cO.point=fO;cO.lineStart=hO;cO.lineEnd=pO;if(qR<0)JR=-(eO=180),tO=-(nO=90);else if(oO>lx)nO=90;else if(oO<-lx)tO=-90;lO[0]=JR,lO[1]=eO},sphere:function(){JR=-(eO=180),tO=-(nO=90)}};function fO(t,e){uO.push(lO=[JR=t,eO=t]);if(enO)nO=e}function dO(t,e){var n=V_([t*gx,e*gx]);if(aO){var i=K_(aO,n),r=[i[1],-i[0],0],s=K_(r,i);tw(s);s=H_(s);var a=t-iO,o=a>0?1:-1,u=s[0]*mx*o,l,c=yx(a)>180;if(c^(o*iOnO)nO=l}else if(u=(u+360)%360-180,c^(o*iOnO)nO=e}if(c){if(tvO(JR,eO))eO=t}else{if(vO(t,eO)>vO(JR,eO))JR=t}}else{if(eO>=JR){if(teO)eO=t}else{if(t>iO){if(vO(JR,t)>vO(JR,eO))eO=t}else{if(vO(t,eO)>vO(JR,eO))JR=t}}}}else{uO.push(lO=[JR=t,eO=t])}if(enO)nO=e;aO=n,iO=t}function hO(){cO.point=dO}function pO(){lO[0]=JR,lO[1]=eO;cO.point=fO;aO=null}function mO(t,e){if(aO){var n=t-iO;oO.add(yx(n)>180?n+(n>0?360:-360):n)}else{rO=t,sO=e}XR.point(t,e);dO(t,e)}function gO(){XR.lineStart()}function yO(){mO(rO,sO);XR.lineEnd();if(yx(oO)>lx)JR=-(eO=180);lO[0]=JR,lO[1]=eO;aO=null}function vO(t,e){return(e-=t)<0?e+360:e}function bO(t,e){return t[0]-e[0]}function xO(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:evO(i[0],i[1]))i[1]=r[1];if(vO(r[0],i[1])>vO(i[0],i[1]))i[0]=r[0]}else{s.push(i=r)}}for(a=-Infinity,n=s.length-1,e=0,i=s[n];e<=n;i=r,++e){r=s[e];if((o=vO(i[1],r[0]))>a)a=o,JR=r[0],eO=i[1]}}uO=lO=null;return JR===Infinity||tO===Infinity?[[NaN,NaN],[NaN,NaN]]:[[JR,tO],[eO,nO]]}var wO,AO,kO,EO,MO,DO,CO,FO,SO,zO,BO,$O,RO,OO,TO,NO;var LO={sphere:Rx,point:PO,lineStart:IO,lineEnd:GO,polygonStart:function(){LO.lineStart=YO;LO.lineEnd=WO},polygonEnd:function(){LO.lineStart=IO;LO.lineEnd=GO}};function PO(t,e){t*=gx,e*=gx;var n=xx(e);qO(n*xx(t),n*Dx(t),Dx(e))}function qO(t,e,n){++wO;kO+=(t-kO)/wO;EO+=(e-EO)/wO;MO+=(n-MO)/wO}function IO(){LO.point=UO}function UO(t,e){t*=gx,e*=gx;var n=xx(e);OO=n*xx(t);TO=n*Dx(t);NO=Dx(e);LO.point=jO;qO(OO,TO,NO)}function jO(t,e){t*=gx,e*=gx;var n=xx(e),i=n*xx(t),r=n*Dx(t),s=Dx(e),a=bx(Fx((a=TO*s-NO*r)*a+(a=NO*i-OO*s)*a+(a=OO*r-TO*i)*a),OO*i+TO*r+NO*s);AO+=a;DO+=a*(OO+(OO=i));CO+=a*(TO+(TO=r));FO+=a*(NO+(NO=s));qO(OO,TO,NO)}function GO(){LO.point=PO}function YO(){LO.point=XO}function WO(){HO($O,RO);LO.point=PO}function XO(t,e){$O=t,RO=e;t*=gx,e*=gx;LO.point=HO;var n=xx(e);OO=n*xx(t);TO=n*Dx(t);NO=Dx(e);qO(OO,TO,NO)}function HO(t,e){t*=gx,e*=gx;var n=xx(e),i=n*xx(t),r=n*Dx(t),s=Dx(e),a=TO*s-NO*r,o=NO*i-OO*s,u=OO*r-TO*i,l=kx(a,o,u),c=Bx(l),f=l&&-c/l;SO.add(f*a);zO.add(f*o);BO.add(f*u);AO+=c;DO+=c*(OO+(OO=i));CO+=c*(TO+(TO=r));FO+=c*(NO+(NO=s));qO(OO,TO,NO)}function VO(t){wO=AO=kO=EO=MO=DO=CO=FO=0;SO=new ax;zO=new ax;BO=new ax;sx(t,LO);var e=+SO,n=+zO,i=+BO,r=kx(e,n,i);if(r=i[s])return false}else if(o.type===yT){if(a>i[s])return false}else if(o.type===vT){if(a<=i[s])return false}else if(o.type===bT){if(a(0,p.X$)(e.fields?{values:e.fields.map((e=>nT(e)(t.datum)))}:{[lT]:cT(t.datum)},e)))}function ST(t,e,n,i){var r=this.context.data[t],s=r?r.values.value:[],a={},o={},u={},l,c,f,d,h,m,g,y,v,b,x=s.length,_=0,w,A;for(;_(t[c[n].field]=e,t)),{}))}}else{h=lT;m=cT(l);g=a[h]||(a[h]={});y=g[d]||(g[d]=[]);y.push(m);if(n){y=o[d]||(o[d]=[]);y.push({[lT]:m})}}}e=e||rT;if(a[lT]){a[lT]=zT[`${lT}_${e}`](...Object.values(a[lT]))}else{Object.keys(a).forEach((t=>{a[t]=Object.keys(a[t]).map((e=>a[t][e])).reduce(((n,i)=>n===undefined?i:zT[`${u[t]}_${e}`](n,i)))}))}s=Object.keys(o);if(n&&s.length){const t=i?aT:sT;a[t]=e===rT?{[oT]:s.reduce(((t,e)=>(t.push(...o[e]),t)),[])}:{[uT]:s.map((t=>({[oT]:o[t]})))}}return a}var zT={[`${lT}_union`]:ZO,[`${lT}_intersect`]:JO,E_union:function(t,e){if(!t.length)return e;var n=0,i=e.length;for(;ne.includes(t)))},R_union:function(t,e){var n=(0,p.Ro)(e[0]),i=(0,p.Ro)(e[1]);if(n>i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(t[0]>n)t[0]=n;if(t[1]i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(ii)t[1]=i}return t}};const BT=":",$T="@";function RT(t,e,n,i){if(e[0].type!==SB)(0,p.z3)("First argument to selection functions must be a string literal.");const r=e[0].value,s=e.length>=2&&(0,p.se)(e).value,a="unit",o=$T+a,u=BT+r;if(s===iT&&!(0,p.mQ)(i,o)){i[o]=n.getData(r).indataRef(n,a)}if(!(0,p.mQ)(i,u)){i[u]=n.getData(r).tuplesRef()}}function OT(t){const e=this.context.data[t];return e?e.values.value:[]}function TT(t,e,n){const i=this.context.data[t]["index:"+e],r=i?i.value.get(n):undefined;return r?r.count:r}function NT(t,e){const n=this.context.dataflow,i=this.context.data[t],r=i.input;n.pulse(r,n.changeset().remove(p.vN).insert(e));return 1}function LT(t,e,n){if(t){const n=this.context.dataflow,i=t.mark.source;n.pulse(i,n.changeset().encode(t,e))}return n!==undefined?n:t}const PT=t=>function(e,n){const i=this.context.dataflow.locale();return e===null?"null":i[t](n)(e)};const qT=PT("format");const IT=PT("timeFormat");const UT=PT("utcFormat");const jT=PT("timeParse");const GT=PT("utcParse");const YT=new Date(2e3,0,1);function WT(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e))return"";YT.setYear(2e3);YT.setMonth(t);YT.setDate(e);return IT.call(this,YT,n)}function XT(t){return WT.call(this,t,1,"%B")}function HT(t){return WT.call(this,t,1,"%b")}function VT(t){return WT.call(this,0,2+t,"%A")}function QT(t){return WT.call(this,0,2+t,"%a")}const KT=":";const ZT="@";const JT="%";const tN="$";function eN(t,e,n,i){if(e[0].type!==SB){(0,p.z3)("First argument to data functions must be a string literal.")}const r=e[0].value,s=KT+r;if(!(0,p.mQ)(s,i)){try{i[s]=n.getData(r).tuplesRef()}catch(a){}}}function nN(t,e,n,i){if(e[0].type!==SB)(0,p.z3)("First argument to indata must be a string literal.");if(e[1].type!==SB)(0,p.z3)("Second argument to indata must be a string literal.");const r=e[0].value,s=e[1].value,a=ZT+s;if(!(0,p.mQ)(a,i)){i[a]=n.getData(r).indataRef(n,s)}}function iN(t,e,n,i){if(e[0].type===SB){rN(n,i,e[0].value)}else{for(t in n.scales){rN(n,i,t)}}}function rN(t,e,n){const i=JT+n;if(!(0,p.mQ)(e,i)){try{e[i]=t.scaleRef(n)}catch(r){}}}function sN(t,e){if((0,p.Kg)(t)){const n=e.scales[t];return n&&jl(n.value)?n.value:undefined}else if((0,p.Tn)(t)){return jl(t)?t:undefined}return undefined}function aN(t,e,n){e.__bandwidth=t=>t&&t.bandwidth?t.bandwidth():0;n._bandwidth=iN;n._range=iN;n._scale=iN;const i=e=>"_["+(e.type===SB?(0,p.r$)(JT+e.value):(0,p.r$)(JT)+"+"+t(e))+"]";return{_bandwidth:t=>`this.__bandwidth(${i(t[0])})`,_range:t=>`${i(t[0])}.range()`,_scale:e=>`${i(e[0])}(${t(e[1])})`}}function oN(t,e){return function(n,i,r){if(n){const e=sN(n,(r||this).context);return e&&e.path[t](i)}else{return e(i)}}}const uN=oN("area",ZR);const lN=oN("bounds",_O);const cN=oN("centroid",VO);function fN(t,e){const n=sN(t,(e||this).context);return n&&n.scale()}function dN(t){const e=this.context.group;let n=false;if(e)while(t){if(t===e){n=true;break}t=t.mark.group}return n}function hN(t,e,n){try{t[e].apply(t,["EXPRESSION"].concat([].slice.call(n)))}catch(i){t.warn(i)}return n[n.length-1]}function pN(){return hN(this.context.dataflow,"warn",arguments)}function mN(){return hN(this.context.dataflow,"info",arguments)}function gN(){return hN(this.context.dataflow,"debug",arguments)}function yN(t){const e=t/255;if(e<=.03928){return e/12.92}return Math.pow((e+.055)/1.055,2.4)}function vN(t){const e=(0,Fk.Qh)(t),n=yN(e.r),i=yN(e.g),r=yN(e.b);return.2126*n+.7152*i+.0722*r}function bN(t,e){const n=vN(t),i=vN(e),r=Math.max(n,i),s=Math.min(n,i);return(r+.05)/(s+.05)}function xN(){const t=[].slice.call(arguments);t.unshift({});return(0,p.X$)(...t)}function _N(t,e){return t===e||t!==t&&e!==e?true:(0,p.cy)(t)?(0,p.cy)(e)&&t.length===e.length?wN(t,e):false:(0,p.Gv)(t)&&(0,p.Gv)(e)?AN(t,e):false}function wN(t,e){for(let n=0,i=t.length;nAN(t,e)}function EN(t,e,n,i,r,s){const a=this.context.dataflow,o=this.context.data[t],u=o.input,l=a.stamp();let c=o.changes,f,d;if(a._trigger===false||!(u.value.length||e||i)){return 0}if(!c||c.stamp{o.modified=true;a.pulse(u,c).run()}),true,1)}if(n){f=n===true?p.vN:(0,p.cy)(n)||gn(n)?n:kN(n);c.remove(f)}if(e){c.insert(e)}if(i){f=kN(i);if(u.value.some(f)){c.remove(f)}else{c.insert(i)}}if(r){for(d in s){c.modify(r,d,s[d])}}return 1}function MN(t){const e=t.touches,n=e[0].clientX-e[1].clientX,i=e[0].clientY-e[1].clientY;return Math.hypot(n,i)}function DN(t){const e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)}const CN={};function FN(t,e){const n=CN[e]||(CN[e]=(0,p.ZZ)(e));return(0,p.cy)(t)?t.map(n):n(t)}function SN(t){return(0,p.cy)(t)||ArrayBuffer.isView(t)?t:null}function zN(t){return SN(t)||((0,p.Kg)(t)?t:null)}function BN(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i1?e-1:0),i=1;i1?e-1:0),i=1;i1?e-1:0),i=1;is.stop(l(e),t(e))));return s}function XN(t,e,n){const i=sN(t,(n||this).context);return function(t){return i?i.path.context(t)(e):""}}function HN(t){let e=null;return function(n){return n?yf(n,e=e||nf(t)):t}}const VN=t=>t.data;function QN(t,e){const n=OT.call(e,t);return n.root&&n.root.lookup||{}}function KN(t,e,n){const i=QN(t,this),r=i[e],s=i[n];return r&&s?r.path(s).map(VN):undefined}function ZN(t,e){const n=QN(t,this)[e];return n?n.ancestors().map(VN):undefined}const JN=()=>typeof window!=="undefined"&&window||null;function tL(){const t=JN();return t?t.screen:{}}function eL(){const t=JN();return t?[t.innerWidth,t.innerHeight]:[undefined,undefined]}function nL(){const t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[undefined,undefined]}function iL(t,e,n){if(!t)return[];const[i,r]=t,s=(new vd).set(i[0],i[1],r[0],r[1]),a=n||this.context.dataflow.scenegraph().root;return cy(a,s,rL(e))}function rL(t){let e=null;if(t){const n=(0,p.YO)(t.marktype),i=(0,p.YO)(t.markname);e=t=>(!n.length||n.some((e=>t.marktype===e)))&&(!i.length||i.some((e=>t.name===e)))}return e}function sL(t,e,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:5;t=(0,p.YO)(t);const r=t[t.length-1];return r===undefined||Math.hypot(r[0]-e,r[1]-n)>i?[...t,[e,n]]:t}function aL(t){return(0,p.YO)(t).reduce(((e,n,i)=>{let[r,s]=n;return e+=i==0?`M ${r},${s} `:i===t.length-1?" Z":`L ${r},${s} `}),"")}function oL(t,e,n){const{x:i,y:r,mark:s}=n;const a=(new vd).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[u,l]of e){if(ua.x2)a.x2=u;if(la.y2)a.y2=l}a.translate(i,r);const o=iL([[a.x1,a.y1],[a.x2,a.y2]],t,s);return o.filter((t=>uL(t.x,t.y,e)))}function uL(t,e,n){let i=0;for(let r=0,s=n.length-1;re!=o>e&&t<(a-u)*(e-l)/(o-l)+u){i++}}return i&1}const lL={random(){return ir()},cumulativeNormal:mr,cumulativeLogNormal:wr,cumulativeUniform:Cr,densityNormal:pr,densityLogNormal:_r,densityUniform:Dr,quantileNormal:gr,quantileLogNormal:Ar,quantileUniform:Fr,sampleNormal:hr,sampleLogNormal:xr,sampleUniform:Mr,isArray:p.cy,isBoolean:p.Lm,isDate:p.$P,isDefined(t){return t!==undefined},isNumber:p.Et,isObject:p.Gv,isRegExp:p.gd,isString:p.Kg,isTuple:gn,isValid(t){return t!=null&&t===t},toBoolean:p.G4,toDate(t){return(0,p.ay)(t)},toNumber:p.Ro,toString:p.dI,indexof:$N,join:BN,lastindexof:RN,replace:TN,reverse:NN,sort:LN,slice:ON,flush:p.bX,lerp:p.Cc,merge:xN,pad:p.eV,peek:p.se,pluck:FN,span:p.Ln,inrange:p.PK,truncate:p.xv,rgb:Fk.Qh,lab:QO.Ay,hcl:QO.aq,hsl:Fk.KI,luminance:vN,contrast:bN,sequence:es.A,format:qT,utcFormat:UT,utcParse:GT,utcOffset:Gt,utcSequence:Xt,timeFormat:IT,timeParse:jT,timeOffset:jt,timeSequence:Wt,timeUnitSpecifier:pt,monthFormat:XT,monthAbbrevFormat:HT,dayFormat:VT,dayAbbrevFormat:QT,quarter:p.$G,utcquarter:p.vu,week:vt,utcweek:kt,dayofyear:yt,utcdayofyear:At,warn:pN,info:mN,debug:gN,extent(t){return(0,p.Xx)(t)},inScope:dN,intersect:iL,clampRange:p.BS,pinchDistance:MN,pinchAngle:DN,screen:tL,containerSize:nL,windowSize:eL,bandspace:PN,setdata:NT,pathShape:HN,panLinear:p.VC,panLog:p.KH,panPow:p.co,panSymlog:p.zy,zoomLinear:p.lL,zoomLog:p.oV,zoomPow:p.SW,zoomSymlog:p.B2,encode:LT,modify:EN,lassoAppend:sL,lassoPath:aL,intersectLasso:oL};const cL=["view","item","group","xy","x","y"],fL="event.vega.",dL="this.",hL={};const pL={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${(0,p.r$)(tN+t)}]`,functions:gL,constants:TR,visitors:hL};const mL=PR(pL);function gL(t){const e=NR(t);cL.forEach((t=>e[t]=fL+t));for(const n in lL){e[n]=dL+n}(0,p.X$)(e,aN(t,lL,hL));return e}function yL(t,e,n){if(arguments.length===1){return lL[t]}lL[t]=e;if(n)hL[t]=n;if(mL)mL.functions[t]=dL+t;return this}yL("bandwidth",qN,iN);yL("copy",IN,iN);yL("domain",UN,iN);yL("range",GN,iN);yL("invert",jN,iN);yL("scale",YN,iN);yL("gradient",WN,iN);yL("geoArea",uN,iN);yL("geoBounds",lN,iN);yL("geoCentroid",cN,iN);yL("geoShape",XN,iN);yL("geoScale",fN,iN);yL("indata",TT,nN);yL("data",OT,eN);yL("treePath",KN,eN);yL("treeAncestors",ZN,eN);yL("vlSelectionTest",kT,RT);yL("vlSelectionIdTest",CT,RT);yL("vlSelectionResolve",ST,RT);yL("vlSelectionTuples",FT);function vL(t,e){const n={};let i;try{t=(0,p.Kg)(t)?t:(0,p.r$)(t)+"";i=OR(t)}catch(s){(0,p.z3)("Expression parse error: "+t)}i.visit((t=>{if(t.type!==OB)return;const i=t.callee.name,r=pL.visitors[i];if(r)r(i,t.arguments,e,n)}));const r=mL(i);r.globals.forEach((t=>{const i=tN+t;if(!(0,p.mQ)(n,i)&&e.getSignal(t)){n[i]=e.signalRef(t)}}));return{$expr:(0,p.X$)({code:r.code},e.options.ast?{ast:i}:null),$fields:r.fields,$params:n}}function bL(t){const e=this,n=t.operators||[];if(t.background){e.background=t.background}if(t.eventConfig){e.eventConfig=t.eventConfig}if(t.locale){e.locale=t.locale}n.forEach((t=>e.parseOperator(t)));n.forEach((t=>e.parseOperatorParameters(t)));(t.streams||[]).forEach((t=>e.parseStream(t)));(t.updates||[]).forEach((t=>e.parseUpdate(t)));return e.resolve()}const xL=(0,p.M1)(["rule"]),_L=(0,p.M1)(["group","image","rect"]);function wL(t,e){let n="";if(xL[e])return n;if(t.x2){if(t.x){if(_L[e]){n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"}n+="o.width=o.x2-o.x;"}else{n+="o.x=o.x2-(o.width||0);"}}if(t.xc){n+="o.x=o.xc-(o.width||0)/2;"}if(t.y2){if(t.y){if(_L[e]){n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"}n+="o.height=o.y2-o.y;"}else{n+="o.y=o.y2-(o.height||0);"}}if(t.yc){n+="o.y=o.yc-(o.height||0)/2;"}return n}function AL(t){return(t+"").toLowerCase()}function kL(t){return AL(t)==="operator"}function EL(t){return AL(t)==="collect"}function ML(t,e,n){if(!n.endsWith(";")){n="return("+n+");"}const i=Function(...e.concat(n));return t&&t.functions?i.bind(t.functions):i}function DL(t,e,n,i){return`((u = ${t}) < (v = ${e}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${i}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${i} : `}var CL={operator:(t,e)=>ML(t,["_"],e.code),parameter:(t,e)=>ML(t,["datum","_"],e.code),event:(t,e)=>ML(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return ML(t,["_","event"],n)},encode:(t,e)=>{const{marktype:n,channels:i}=e;let r="var o=item,datum=o.datum,m=0,$;";for(const s in i){const t="o["+(0,p.r$)(s)+"]";r+=`$=${i[s].code};if(${t}!==$)${t}=$,m=1;`}r+=wL(i,n);r+="return m;";return ML(t,["item","_"],r)},codegen:{get(t){const e=`[${t.map(p.r$).join("][")}]`;const n=Function("_",`return _${e};`);n.path=e;return n},comparator(t,e){let n;const i=(t,i)=>{const r=e[i];let s,a;if(t.path){s=`a${t.path}`;a=`b${t.path}`}else{(n=n||{})["f"+i]=t;s=`this.f${i}(a)`;a=`this.f${i}(b)`}return DL(s,a,-r,r)};const r=Function("a","b","var u, v; return "+t.map(i).join("")+"0;");return n?r.bind(n):r}}};function FL(t){const e=this;if(kL(t.type)||!t.type){e.operator(t,t.update?e.operatorExpression(t.update):null)}else{e.transform(t,t.type)}}function SL(t){const e=this;if(t.params){const n=e.get(t.id);if(!n)(0,p.z3)("Invalid operator id: "+t.id);e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function zL(t,e){e=e||{};const n=this;for(const i in t){const r=t[i];e[i]=(0,p.cy)(r)?r.map((t=>BL(t,n,e))):BL(r,n,e)}return e}function BL(t,e,n){if(!t||!(0,p.Gv)(t))return t;for(let i=0,r=$L.length,s;it&&t.$tupleid?yn:t));return e.fn[n]||(e.fn[n]=(0,p.UD)(i,t.$order,e.expr.codegen))}function PL(t,e){const n=t.$encode,i={};for(const r in n){const t=n[r];i[r]=(0,p.sY)(e.encodeExpression(t.$expr),t.$fields);i[r].output=t.$output}return i}function qL(t,e){return e}function IL(t,e){const n=t.$subflow;return function(t,i,r){const s=e.fork().parse(n),a=s.get(n.operators[0].id),o=s.signals.parent;if(o)o.set(r);a.detachSubflow=()=>e.detach(s);return a}}function UL(){return yn}function jL(t){var e=this,n=t.filter!=null?e.eventExpression(t.filter):undefined,i=t.stream!=null?e.get(t.stream):undefined,r;if(t.source){i=e.events(t.source,t.type,n)}else if(t.merge){r=t.merge.map((t=>e.get(t)));i=r[0].merge.apply(r[0],r.slice(1))}if(t.between){r=t.between.map((t=>e.get(t)));i=i.between(r[0],r[1])}if(t.filter){i=i.filter(n)}if(t.throttle!=null){i=i.throttle(+t.throttle)}if(t.debounce!=null){i=i.debounce(+t.debounce)}if(i==null){(0,p.z3)("Invalid stream definition: "+JSON.stringify(t))}if(t.consume)i.consume(true);e.stream(t,i)}function GL(t){var e=this,n=(0,p.Gv)(n=t.source)?n.$ref:n,i=e.get(n),r=null,s=t.update,a=undefined;if(!i)(0,p.z3)("Source not defined: "+t.source);r=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target);if(s&&s.$expr){if(s.$params){a=e.parseParameters(s.$params)}s=e.handlerExpression(s.$expr)}e.update(t,i,r,s,a)}const YL={skip:true};function WL(t){var e=this,n={};if(t.signals){var i=n.signals={};Object.keys(e.signals).forEach((n=>{const r=e.signals[n];if(t.signals(n,r)){i[n]=r.value}}))}if(t.data){var r=n.data={};Object.keys(e.data).forEach((n=>{const i=e.data[n];if(t.data(n,i)){r[n]=i.input.value}}))}if(e.subcontext&&t.recurse!==false){n.subcontext=e.subcontext.map((e=>e.getState(t)))}return n}function XL(t){var e=this,n=e.dataflow,i=t.data,r=t.signals;Object.keys(r||{}).forEach((t=>{n.update(e.signals[t],r[t],YL)}));Object.keys(i||{}).forEach((t=>{n.pulse(e.data[t].input,n.changeset().remove(p.vN).insert(i[t]))}));(t.subcontext||[]).forEach(((t,n)=>{const i=e.subcontext[n];if(i)i.setState(t)}))}function HL(t,e,n,i){return new VL(t,e,n,i)}function VL(t,e,n,i){this.dataflow=t;this.transforms=e;this.events=t.events.bind(t);this.expr=i||CL,this.signals={};this.scales={};this.nodes={};this.data={};this.fn={};if(n){this.functions=Object.create(n);this.functions.context=this}}function QL(t){this.dataflow=t.dataflow;this.transforms=t.transforms;this.events=t.events;this.expr=t.expr;this.signals=Object.create(t.signals);this.scales=Object.create(t.scales);this.nodes=Object.create(t.nodes);this.data=Object.create(t.data);this.fn=Object.create(t.fn);if(t.functions){this.functions=Object.create(t.functions);this.functions.context=this}}VL.prototype=QL.prototype={fork(){const t=new QL(this);(this.subcontext||(this.subcontext=[])).push(t);return t},detach(t){this.subcontext=this.subcontext.filter((e=>e!==t));const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,i=n.dataflow,r=t.value;n.set(t.id,e);if(EL(t.type)&&r){if(r.$ingest){i.ingest(e,r.$ingest,r.$format)}else if(r.$request){i.preload(e,r.$request,r.$format)}else{i.pulse(e,i.changeset().insert(r))}}if(t.root){n.root=e}if(t.parent){let r=n.get(t.parent.$ref);if(r){i.connect(r,[e]);e.targets().add(r)}else{(n.unresolved=n.unresolved||[]).push((()=>{r=n.get(t.parent.$ref);i.connect(r,[e]);e.targets().add(r)}))}}if(t.signal){n.signals[t.signal]=e}if(t.scale){n.scales[t.scale]=e}if(t.data){for(const i in t.data){const r=n.data[i]||(n.data[i]={});t.data[i].forEach((t=>r[t]=e))}}},resolve(){(this.unresolved||[]).forEach((t=>t()));delete this.unresolved;return this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[AL(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,i,r){this.dataflow.on(e,n,i,r,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:bL,parseOperator:FL,parseOperatorParameters:SL,parseParameters:zL,parseStream:jL,parseUpdate:GL,getState:WL,setState:XL};function KL(t,e,n){var i=new QE.M4,r=e;if(e==null)return i.restart(t,e,n),i;i._restart=i.restart;i.restart=function(t,e,n){e=+e,n=n==null?(0,QE.tB)():+n;i._restart((function s(a){a+=r;i._restart(s,r+=e,n);t(a)}),e,n)};i.restart(t,e,n);return i}function ZL(t){const e=t.container();if(e){e.setAttribute("role","graphics-document");e.setAttribute("aria-roleDescription","visualization");JL(e,t.description())}}function JL(t,e){if(t)e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e)}function tP(t){t.add(null,(e=>{t._background=e.bg;t._resize=1;return e.bg}),{bg:t._signals.background})}const eP="default";function nP(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:eP,item:null}));t.on(t.events("view","pointermove"),e,((t,n)=>{const i=e.value,r=i?(0,p.Kg)(i)?i:i.user:eP,s=n.item&&n.item.cursor||null;return i&&r===i.user&&s==i.item?i:{user:r,item:s}}));t.add(null,(function(e){let n=e.cursor,i=this.value;if(!(0,p.Kg)(n)){i=n.item;n=n.user}iP(t,n&&n!==eP?n:i||n);return i}),{cursor:e})}function iP(t,e){const n=t.globalCursor()?typeof document!=="undefined"&&document.body:t.container();if(n){return e==null?n.style.removeProperty("cursor"):n.style.cursor=e}}function rP(t,e){var n=t._runtime.data;if(!(0,p.mQ)(n,e)){(0,p.z3)("Unrecognized data set: "+e)}return n[e]}function sP(t,e){return arguments.length<2?rP(this,t).values.value:aP.call(this,t,En().remove(p.vN).insert(e))}function aP(t,e){if(!kn(e)){(0,p.z3)("Second argument to changes must be a changeset.")}const n=rP(this,t);n.modified=true;return this.pulse(n.input,e)}function oP(t,e){return aP.call(this,t,En().insert(e))}function uP(t,e){return aP.call(this,t,En().remove(e))}function lP(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function cP(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function fP(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function dP(t){var e=fP(t),n=lP(t),i=cP(t);t._renderer.background(t.background());t._renderer.resize(n,i,e);t._handler.origin(e);t._resizeListeners.forEach((e=>{try{e(n,i)}catch(r){t.error(r)}}))}function hP(t,e,n){var i=t._renderer,r=i&&i.canvas(),s,a,o;if(r){o=fP(t);a=e.changedTouches?e.changedTouches[0]:e;s=fm(a,r);s[0]-=o[0];s[1]-=o[1]}e.dataflow=t;e.item=n;e.vega=pP(t,n,s);return e}function pP(t,e,n){const i=e?e.mark.marktype==="group"?e:e.mark.group:null;function r(t){var n=i,r;if(t)for(r=e;r;r=r.mark.group){if(r.mark.name===t){n=r;break}}return n&&n.mark&&n.mark.interactive?n:{}}function s(t){if(!t)return n;if((0,p.Kg)(t))t=r(t);const e=n.slice();while(t){e[0]-=t.x||0;e[1]-=t.y||0;t=t.mark&&t.mark.group}return e}return{view:(0,p.dY)(t),item:(0,p.dY)(e||{}),group:r,xy:s,x:t=>s(t)[0],y:t=>s(t)[1]}}const mP="view",gP="timer",yP="window",vP={trap:false};function bP(t){const e=(0,p.X$)({defaults:{}},t);const n=(t,e)=>{e.forEach((e=>{if((0,p.cy)(t[e]))t[e]=(0,p.M1)(t[e])}))};n(e.defaults,["prevent","allow"]);n(e,["view","window","selector"]);return e}function xP(t,e,n,i){t._eventListeners.push({type:n,sources:(0,p.YO)(e),handler:i})}function _P(t,e){var n=t._eventConfig.defaults,i=n.prevent,r=n.allow;return i===false||r===true?false:i===true||r===false?true:i?i[e]:r?!r[e]:t.preventDefault()}function wP(t,e,n){const i=t._eventConfig&&t._eventConfig[e];if(i===false||(0,p.Gv)(i)&&!i[n]){t.warn(`Blocked ${e} ${n} event listener.`);return false}return true}function AP(t,e,n){var i=this,r=new Ln(n),s=function(n,s){i.runAsync(null,(()=>{if(t===mP&&_P(i,e)){n.preventDefault()}r.receive(hP(i,n,s))}))},a;if(t===gP){if(wP(i,"timer",e)){i.timer(s,e)}}else if(t===mP){if(wP(i,"view",e)){i.addEventListener(e,s,vP)}}else{if(t===yP){if(wP(i,"window",e)&&typeof window!=="undefined"){a=[window]}}else if(typeof document!=="undefined"){if(wP(i,"selector",e)){a=Array.from(document.querySelectorAll(t))}}if(!a){i.warn("Can not resolve event source: "+t)}else{for(var o=0,u=a.length;o=0){e[r].stop()}r=i.length;while(--r>=0){a=i[r];s=a.sources.length;while(--s>=0){a.sources[s].removeEventListener(a.type,a.handler)}}if(t){t.call(this,this._handler,null,null,null)}r=n.length;while(--r>=0){u=n[r].type;o=n[r].handler;this._handler.off(u,o)}return this}function FP(t,e,n){const i=document.createElement(t);for(const r in e)i.setAttribute(r,e[r]);if(n!=null)i.textContent=n;return i}const SP="vega-bind",zP="vega-bind-name",BP="vega-bind-radio";function $P(t,e,n){if(!e)return;const i=n.param;let r=n.state;if(!r){r=n.state={elements:null,active:false,set:null,update:e=>{if(e!=t.signal(i.signal)){t.runAsync(null,(()=>{r.source=true;t.signal(i.signal,e)}))}}};if(i.debounce){r.update=(0,p.sg)(i.debounce,r.update)}}const s=i.input==null&&i.element?RP:TP;s(r,e,i,t);if(!r.active){t.on(t._signals[i.signal],null,(()=>{r.source?r.source=false:r.set(t.signal(i.signal))}));r.active=true}return r}function RP(t,e,n,i){const r=n.event||"input";const s=()=>t.update(e.value);i.signal(n.signal,e.value);e.addEventListener(r,s);xP(i,e,r,s);t.set=t=>{e.value=t;e.dispatchEvent(OP(r))}}function OP(t){return typeof Event!=="undefined"?new Event(t):{type:t}}function TP(t,e,n,i){const r=i.signal(n.signal);const s=FP("div",{class:SP});const a=n.input==="radio"?s:s.appendChild(FP("label"));a.appendChild(FP("span",{class:zP},n.name||n.signal));e.appendChild(s);let o=NP;switch(n.input){case"checkbox":o=LP;break;case"select":o=PP;break;case"radio":o=qP;break;case"range":o=IP;break}o(t,a,n,r)}function NP(t,e,n,i){const r=FP("input");for(const s in n){if(s!=="signal"&&s!=="element"){r.setAttribute(s==="input"?"type":s,n[s])}}r.setAttribute("name",n.signal);r.value=i;e.appendChild(r);r.addEventListener("input",(()=>t.update(r.value)));t.elements=[r];t.set=t=>r.value=t}function LP(t,e,n,i){const r={type:"checkbox",name:n.signal};if(i)r.checked=true;const s=FP("input",r);e.appendChild(s);s.addEventListener("change",(()=>t.update(s.checked)));t.elements=[s];t.set=t=>s.checked=!!t||null}function PP(t,e,n,i){const r=FP("select",{name:n.signal}),s=n.labels||[];n.options.forEach(((t,e)=>{const n={value:t};if(UP(t,i))n.selected=true;r.appendChild(FP("option",n,(s[e]||t)+""))}));e.appendChild(r);r.addEventListener("change",(()=>{t.update(n.options[r.selectedIndex])}));t.elements=[r];t.set=t=>{for(let e=0,i=n.options.length;e{const o={type:"radio",name:n.signal,value:e};if(UP(e,i))o.checked=true;const u=FP("input",o);u.addEventListener("change",(()=>t.update(e)));const l=FP("label",{},(s[a]||e)+"");l.prepend(u);r.appendChild(l);return u}));t.set=e=>{const n=t.elements,i=n.length;for(let t=0;t{u.textContent=o.value;t.update(+o.value)};o.addEventListener("input",l);o.addEventListener("change",l);t.elements=[o];t.set=t=>{o.value=t;u.textContent=t}}function UP(t,e){return t===e||t+""===e+""}function jP(t,e,n,i,r,s){e=e||new i(t.loader());return e.initialize(n,lP(t),cP(t),fP(t),r,s).background(t.background())}function GP(t,e){return!e?null:function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}}function YP(t,e,n,i){const r=new i(t.loader(),GP(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,fP(t),t);if(e){e.handlers().forEach((t=>{r.on(t.type,t.handler)}))}return r}function WP(t,e){const n=this,i=n._renderType,r=n._eventConfig.bind,s=ly(i);t=n._el=t?XP(n,t,true):null;ZL(n);if(!s)n.error("Unrecognized renderer type: "+i);const a=s.handler||jm,o=t?s.renderer:s.headless;n._renderer=!o?null:jP(n,n._renderer,t,o);n._handler=YP(n,n._handler,t,a);n._redraw=true;if(t&&r!=="none"){e=e?n._elBind=XP(n,e,true):t.appendChild(FP("form",{class:"vega-bindings"}));n._bind.forEach((t=>{if(t.param.element&&r!=="container"){t.element=XP(n,t.param.element,!!t.param.input)}}));n._bind.forEach((t=>{$P(n,t.element||e,t)}))}return n}function XP(t,e,n){if(typeof e==="string"){if(typeof document!=="undefined"){e=document.querySelector(e);if(!e){t.error("Signal bind element not found: "+e);return null}}else{t.error("DOM document instance not found.");return null}}if(e&&n){try{e.textContent=""}catch(i){e=null;t.error(i)}}return e}const HP=t=>+t||0;const VP=t=>({top:t,bottom:t,left:t,right:t});function QP(t){return(0,p.Gv)(t)?{top:HP(t.top),bottom:HP(t.bottom),left:HP(t.left),right:HP(t.right)}:VP(HP(t))}async function KP(t,e,n,i){const r=ly(e),s=r&&r.headless;if(!s)(0,p.z3)("Unrecognized renderer type: "+e);await t.runAsync();return jP(t,null,null,s,n,i).renderAsync(t._scenegraph.root)}async function ZP(t,e){if(t!==oy.Canvas&&t!==oy.SVG&&t!==oy.PNG){(0,p.z3)("Unrecognized image type: "+t)}const n=await KP(this,t,e);return t===oy.SVG?JP(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function JP(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function tq(t,e){const n=await KP(this,oy.Canvas,t,e);return n.canvas()}async function eq(t){const e=await KP(this,oy.SVG,t);return e.svg()}function nq(t,e,n){return HL(t,$i,lL,n).parse(e)}function iq(t){var e=this._runtime.scales;if(!(0,p.mQ)(e,t)){(0,p.z3)("Unrecognized scale or projection: "+t)}return e[t].value}var rq="width",sq="height",aq="padding",oq={skip:true};function uq(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===aq?i.left+i.right:0)}function lq(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===aq?i.top+i.bottom:0)}function cq(t){var e=t._signals,n=e[rq],i=e[sq],r=e[aq];function s(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,(e=>{t._width=e.size;t._viewWidth=uq(t,e.size);s()}),{size:n});t._resizeHeight=t.add(null,(e=>{t._height=e.size;t._viewHeight=lq(t,e.size);s()}),{size:i});const a=t.add(null,s,{pad:r});t._resizeWidth.rank=n.rank+1;t._resizeHeight.rank=i.rank+1;a.rank=r.rank+1}function fq(t,e,n,i,r,s){this.runAfter((a=>{let o=0;a._autosize=0;if(a.width()!==n){o=1;a.signal(rq,n,oq);a._resizeWidth.skip(true)}if(a.height()!==i){o=1;a.signal(sq,i,oq);a._resizeHeight.skip(true)}if(a._viewWidth!==t){a._resize=1;a._viewWidth=t}if(a._viewHeight!==e){a._resize=1;a._viewHeight=e}if(a._origin[0]!==r[0]||a._origin[1]!==r[1]){a._resize=1;a._origin=r}if(o)a.run("enter");if(s)a.runAfter((t=>t.resize()))}),false,1)}function dq(t){return this._runtime.getState(t||{data:hq,signals:pq,recurse:true})}function hq(t,e){return e.modified&&(0,p.cy)(e.input.value)&&!t.startsWith("_:vega:_")}function pq(t,e){return!(t==="parent"||e instanceof $i.proxy)}function mq(t){this.runAsync(null,(e=>{e._trigger=false;e._runtime.setState(t)}),(t=>{t._trigger=true}));return this}function gq(t,e){function n(e){t({timestamp:Date.now(),elapsed:e})}this._timers.push(KL(n,e))}function yq(t,e,n,i){const r=t.element();if(r)r.setAttribute("title",vq(i))}function vq(t){return t==null?"":(0,p.cy)(t)?xq(t):(0,p.Gv)(t)&&!(0,p.$P)(t)?bq(t):t+""}function bq(t){return Object.keys(t).map((e=>{const n=t[e];return e+": "+((0,p.cy)(n)?xq(n):_q(n))})).join("\n")}function xq(t){return"["+t.map(_q).join(", ")+"]"}function _q(t){return(0,p.cy)(t)?"[…]":(0,p.Gv)(t)&&!(0,p.$P)(t)?"{…}":t}function wq(){if(this.renderer()==="canvas"&&this._renderer._canvas){let t=null;const e=()=>{if(t!=null){t()}const n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",e);t=()=>{n.removeEventListener("change",e)};this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1;this._redraw=true;this._resize=1;this.resize().runAsync()};e()}}function Aq(t,e){const n=this;e=e||{};Si.call(n);if(e.loader)n.loader(e.loader);if(e.logger)n.logger(e.logger);if(e.logLevel!=null)n.logLevel(e.logLevel);if(e.locale||t.locale){const i=(0,p.X$)({},t.locale,e.locale);n.locale(Ce(i.number,i.time))}n._el=null;n._elBind=null;n._renderType=e.renderer||oy.Canvas;n._scenegraph=new rm;const i=n._scenegraph.root;n._renderer=null;n._tooltip=e.tooltip||yq,n._redraw=true;n._handler=(new jm).scene(i);n._globalCursor=false;n._preventDefault=false;n._timers=[];n._eventListeners=[];n._resizeListeners=[];n._eventConfig=bP(t.eventConfig);n.globalCursor(n._eventConfig.globalCursor);const r=nq(n,t,e.expr);n._runtime=r;n._signals=r.signals;n._bind=(t.bindings||[]).map((t=>({state:null,param:(0,p.X$)({},t)})));if(r.root)r.root.set(i);i.source=r.data.root.input;n.pulse(r.data.root.input,n.changeset().insert(i.items));n._width=n.width();n._height=n.height();n._viewWidth=uq(n,n._width);n._viewHeight=lq(n,n._height);n._origin=[0,0];n._resize=0;n._autosize=1;cq(n);tP(n);nP(n);n.description(t.description);if(e.hover)n.hover();if(e.container)n.initialize(e.container,e.bind);if(e.watchPixelRatio)n._watchPixelRatio()}function kq(t,e){return(0,p.mQ)(t._signals,e)?t._signals[e]:(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(e))}function Eq(t,e){const n=(t._targets||[]).filter((t=>t._update&&t._update.handler===e));return n.length?n[0]:null}function Mq(t,e,n,i){let r=Eq(n,i);if(!r){r=GP(t,(()=>i(e,n.value)));r.handler=i;t.on(n,null,r)}return t}function Dq(t,e,n){const i=Eq(e,n);if(i)e._targets.remove(i);return t}(0,p.B)(Aq,Si,{async evaluate(t,e,n){await Si.prototype.evaluate.call(this,t,e);if(this._redraw||this._resize){try{if(this._renderer){if(this._resize){this._resize=0;dP(this)}await this._renderer.renderAsync(this._scenegraph.root)}this._redraw=false}catch(i){this.error(i)}}if(n)hn(this,n);return this},dirty(t){this._redraw=true;this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;if(e!==this._desc)JL(this._el,this._desc=e);return this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const i=kq(this,t);return arguments.length===1?i.value:this.update(i,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",QP(t)):QP(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){if(!arguments.length)return this._renderType;if(!ly(t))(0,p.z3)("Unrecognized renderer type: "+t);if(t!==this._renderType){this._renderType=t;this._resetRenderer()}return this},tooltip(t){if(!arguments.length)return this._tooltip;if(t!==this._tooltip){this._tooltip=t;this._resetRenderer()}return this},loader(t){if(!arguments.length)return this._loader;if(t!==this._loader){Si.prototype.loader.call(this,t);this._resetRenderer()}return this},resize(){this._autosize=1;return this.touch(kq(this,"autosize"))},_resetRenderer(){if(this._renderer){this._renderer=null;this.initialize(this._el,this._elBind)}},_resizeView:fq,addEventListener(t,e,n){let i=e;if(!(n&&n.trap===false)){i=GP(this,e);i.raw=e}this._handler.on(t,i);return this},removeEventListener(t,e){var n=this._handler.handlers(t),i=n.length,r,s;while(--i>=0){s=n[i].type;r=n[i].handler;if(t===s&&(e===r||e===r.raw)){this._handler.off(s,r);break}}return this},addResizeListener(t){const e=this._resizeListeners;if(!e.includes(t)){e.push(t)}return this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);if(n>=0){e.splice(n,1)}return this},addSignalListener(t,e){return Mq(this,t,kq(this,t),e)},removeSignalListener(t,e){return Dq(this,kq(this,t),e)},addDataListener(t,e){return Mq(this,t,rP(this,t).values,e)},removeDataListener(t,e){return Dq(this,rP(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=iP(this,null);this._globalCursor=!!t;if(e)iP(this,e)}return this}else{return this._globalCursor}},preventDefault(t){if(arguments.length){this._preventDefault=t;return this}else{return this._preventDefault}},timer:gq,events:AP,finalize:CP,hover:DP,data:sP,change:aP,insert:oP,remove:uP,scale:iq,initialize:WP,toImageURL:ZP,toCanvas:tq,toSVG:eq,getState:dq,setState:mq,_watchPixelRatio:wq});var Cq=n(45948);function Fq(t){return(0,p.Gv)(t)?t:{type:t||"pad"}}const Sq=t=>+t||0;const zq=t=>({top:t,bottom:t,left:t,right:t});function Bq(t){return!(0,p.Gv)(t)?zq(Sq(t)):t.signal?t:{top:Sq(t.top),bottom:Sq(t.bottom),left:Sq(t.left),right:Sq(t.right)}}const $q=t=>(0,p.Gv)(t)&&!(0,p.cy)(t)?(0,p.X$)({},t):{value:t};function Rq(t,e,n,i){if(n!=null){const r=(0,p.Gv)(n)&&!(0,p.cy)(n)||(0,p.cy)(n)&&n.length&&(0,p.Gv)(n[0]);if(r){t.update[e]=n}else{t[i||"enter"][e]={value:n}}return 1}else{return 0}}function Oq(t,e,n){for(const i in e){Rq(t,i,e[i])}for(const i in n){Rq(t,i,n[i],"update")}}function Tq(t,e,n){for(const i in e){if(n&&(0,p.mQ)(n,i))continue;t[i]=(0,p.X$)(t[i]||{},e[i])}return t}function Nq(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const Lq="mark";const Pq="frame";const qq="scope";const Iq="axis";const Uq="axis-domain";const jq="axis-grid";const Gq="axis-label";const Yq="axis-tick";const Wq="axis-title";const Xq="legend";const Hq="legend-band";const Vq="legend-entry";const Qq="legend-gradient";const Kq="legend-label";const Zq="legend-symbol";const Jq="legend-title";const tI="title";const eI="title-text";const nI="title-subtitle";function iI(t,e,n,i,r){const s={},a={};let o,u,l,c;u="lineBreak";if(e==="text"&&r[u]!=null&&!Nq(u,t)){rI(s,u,r[u])}if(n=="legend"||String(n).startsWith("axis")){n=null}c=n===Pq?r.group:n===Lq?(0,p.X$)({},r.mark,r[e]):null;for(u in c){l=Nq(u,t)||(u==="fill"||u==="stroke")&&(Nq("fill",t)||Nq("stroke",t));if(!l)rI(s,u,c[u])}(0,p.YO)(i).forEach((e=>{const n=r.style&&r.style[e];for(const i in n){if(!Nq(i,t)){rI(s,i,n[i])}}}));t=(0,p.X$)({},t);for(u in s){c=s[u];if(c.signal){(o=o||{})[u]=c}else{a[u]=c}}t.enter=(0,p.X$)(a,t.enter);if(o)t.update=(0,p.X$)(o,t.update);return t}function rI(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const sI=t=>(0,p.Kg)(t)?(0,p.r$)(t):t.signal?`(${t.signal})`:fI(t);function aI(t){if(t.gradient!=null){return lI(t)}let e=t.signal?`(${t.signal})`:t.color?uI(t.color):t.field!=null?fI(t.field):t.value!==undefined?(0,p.r$)(t.value):undefined;if(t.scale!=null){e=hI(t,e)}if(e===undefined){e=null}if(t.exponent!=null){e=`pow(${e},${cI(t.exponent)})`}if(t.mult!=null){e+=`*${cI(t.mult)}`}if(t.offset!=null){e+=`+${cI(t.offset)}`}if(t.round){e=`round(${e})`}return e}const oI=(t,e,n,i)=>`(${t}(${[e,n,i].map(aI).join(",")})+'')`;function uI(t){return t.c?oI("hcl",t.h,t.c,t.l):t.h||t.s?oI("hsl",t.h,t.s,t.l):t.l||t.a?oI("lab",t.l,t.a,t.b):t.r||t.g||t.b?oI("rgb",t.r,t.g,t.b):null}function lI(t){const e=[t.start,t.stop,t.count].map((t=>t==null?null:(0,p.r$)(t)));while(e.length&&(0,p.se)(e)==null)e.pop();e.unshift(sI(t.gradient));return`gradient(${e.join(",")})`}function cI(t){return(0,p.Gv)(t)?"("+aI(t)+")":t}function fI(t){return dI((0,p.Gv)(t)?t:{datum:t})}function dI(t){let e,n,i;if(t.signal){e="datum";i=t.signal}else if(t.group||t.parent){n=Math.max(1,t.level||1);e="item";while(n-- >0){e+=".mark.group"}if(t.parent){i=t.parent;e+=".datum"}else{i=t.group}}else if(t.datum){e="datum";i=t.datum}else{(0,p.z3)("Invalid field reference: "+(0,p.r$)(t))}if(!t.signal){i=(0,p.Kg)(i)?(0,p.iv)(i).map(p.r$).join("]["):dI(i)}return e+"["+i+"]"}function hI(t,e){const n=sI(t.scale);if(t.range!=null){e=`lerp(_range(${n}), ${+t.range})`}else{if(e!==undefined)e=`_scale(${n}, ${e})`;if(t.band){e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band===1?"":"*"+cI(t.band));if(t.extra){e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`}}if(e==null)e="0"}return e}function pI(t){let e="";t.forEach((t=>{const n=aI(t);e+=t.test?`(${t.test})?${n}:`:n}));if((0,p.se)(e)===":"){e+="null"}return e}function mI(t,e,n,i,r,s){const a={};s=s||{};s.encoders={$encode:a};t=iI(t,e,n,i,r.config);for(const o in t){a[o]=gI(t[o],e,s,r)}return s}function gI(t,e,n,i){const r={},s={};for(const a in t){if(t[a]!=null){r[a]=vI(yI(t[a]),i,n,s)}}return{$expr:{marktype:e,channels:r},$fields:Object.keys(s),$output:Object.keys(t)}}function yI(t){return(0,p.cy)(t)?pI(t):aI(t)}function vI(t,e,n,i){const r=vL(t,e);r.$fields.forEach((t=>i[t]=1));(0,p.X$)(n,r.$params);return r.$expr}const bI="outer",xI=["value","update","init","react","bind"];function _I(t,e){(0,p.z3)(t+' for "outer" push: '+(0,p.r$)(e))}function wI(t,e){const n=t.name;if(t.push===bI){if(!e.signals[n])_I("No prior signal definition",n);xI.forEach((e=>{if(t[e]!==undefined)_I("Invalid property ",e)}))}else{const i=e.addSignal(n,t.value);if(t.react===false)i.react=false;if(t.bind)e.addBinding(n,t.bind)}}function AI(t,e,n,i){this.id=-1;this.type=t;this.value=e;this.params=n;if(i)this.parent=i}function kI(t,e,n,i){return new AI(t,e,n,i)}function EI(t,e){return kI("operator",t,e)}function MI(t){const e={$ref:t.id};if(t.id<0)(t.refs=t.refs||[]).push(e);return e}function DI(t,e){return e?{$field:t,$name:e}:{$field:t}}const CI=DI("key");function FI(t,e){return{$compare:t,$order:e}}function SI(t,e){const n={$key:t};if(e)n.$flat=true;return n}const zI="ascending";const BI="descending";function $I(t){return!(0,p.Gv)(t)?"":(t.order===BI?"-":"+")+RI(t.op,t.field)}function RI(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const OI="scope";const TI="view";function NI(t){return t&&t.signal}function LI(t){return t&&t.expr}function PI(t){if(NI(t))return true;if((0,p.Gv)(t))for(const e in t){if(PI(t[e]))return true}return false}function qI(t,e){return t!=null?t:e}function II(t){return t&&t.signal||t}const UI="timer";function jI(t,e){const n=t.merge?YI:t.stream?WI:t.type?XI:(0,p.z3)("Invalid stream specification: "+(0,p.r$)(t));return n(t,e)}function GI(t){return t===OI?TI:t||TI}function YI(t,e){const n=t.merge.map((t=>jI(t,e))),i=HI({merge:n},t,e);return e.addStream(i).id}function WI(t,e){const n=jI(t.stream,e),i=HI({stream:n},t,e);return e.addStream(i).id}function XI(t,e){let n;if(t.type===UI){n=e.event(UI,t.throttle);t={between:t.between,filter:t.filter}}else{n=e.event(GI(t.source),t.type)}const i=HI({stream:n},t,e);return Object.keys(i).length===1?n:e.addStream(i).id}function HI(t,e,n){let i=e.between;if(i){if(i.length!==2){(0,p.z3)('Stream "between" parameter must have 2 entries: '+(0,p.r$)(e))}t.between=[jI(i[0],n),jI(i[1],n)]}i=e.filter?[].concat(e.filter):[];if(e.marktype||e.markname||e.markrole){i.push(VI(e.marktype,e.markname,e.markrole))}if(e.source===OI){i.push("inScope(event.item)")}if(i.length){t.filter=vL("("+i.join(")&&(")+")",n).$expr}if((i=e.throttle)!=null){t.throttle=+i}if((i=e.debounce)!=null){t.debounce=+i}if(e.consume){t.consume=true}return t}function VI(t,e,n){const i="event.item";return i+(t&&t!=="*"?"&&"+i+".mark.marktype==='"+t+"'":"")+(n?"&&"+i+".mark.role==='"+n+"'":"")+(e?"&&"+i+".mark.name==='"+e+"'":"")}const QI={code:"_.$value",ast:{type:"Identifier",value:"value"}};function KI(t,e,n){const i=t.encode,r={target:n};let s=t.events,a=t.update,o=[];if(!s){(0,p.z3)("Signal update missing events specification.")}if((0,p.Kg)(s)){s=(0,Cq.P)(s,e.isSubscope()?OI:TI)}s=(0,p.YO)(s).filter((t=>t.signal||t.scale?(o.push(t),0):1));if(o.length>1){o=[JI(o)]}if(s.length){o.push(s.length>1?{merge:s}:s[0])}if(i!=null){if(a)(0,p.z3)("Signal encode and update are mutually exclusive.");a="encode(item(),"+(0,p.r$)(i)+")"}r.update=(0,p.Kg)(a)?vL(a,e):a.expr!=null?vL(a.expr,e):a.value!=null?a.value:a.signal!=null?{$expr:QI,$params:{$value:e.signalRef(a.signal)}}:(0,p.z3)("Invalid signal update specification.");if(t.force){r.options={force:true}}o.forEach((t=>e.addUpdate((0,p.X$)(ZI(t,e),r))))}function ZI(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):jI(t,e)}}function JI(t){return{signal:"["+t.map((t=>t.scale?'scale("'+t.scale+'")':t.signal))+"]"}}function tU(t,e){const n=e.getSignal(t.name);let i=t.update;if(t.init){if(i){(0,p.z3)("Signals can not include both init and update expressions.")}else{i=t.init;n.initonly=true}}if(i){i=vL(i,e);n.update=i.$expr;n.params=i.$params}if(t.on){t.on.forEach((t=>KI(t,e,n.id)))}}const eU=t=>(e,n,i)=>kI(t,n,e||undefined,i);const nU=eU("aggregate");const iU=eU("axisticks");const rU=eU("bound");const sU=eU("collect");const aU=eU("compare");const oU=eU("datajoin");const uU=eU("encode");const lU=eU("expression");const cU=eU("facet");const fU=eU("field");const dU=eU("key");const hU=eU("legendentries");const pU=eU("load");const mU=eU("mark");const gU=eU("multiextent");const yU=eU("multivalues");const vU=eU("overlap");const bU=eU("params");const xU=eU("prefacet");const _U=eU("projection");const wU=eU("proxy");const AU=eU("relay");const kU=eU("render");const EU=eU("scale");const MU=eU("sieve");const DU=eU("sortitems");const CU=eU("viewlayout");const FU=eU("values");let SU=0;const zU={min:"min",max:"max",count:"sum"};function BU(t,e){const n=t.type||"linear";if(!Wl(n)){(0,p.z3)("Unrecognized scale type: "+(0,p.r$)(n))}e.addScale(t.name,{type:n,domain:undefined})}function $U(t,e){const n=e.getScale(t.name).params;let i;n.domain=NU(t.domain,t,e);if(t.range!=null){n.range=VU(t,e,n)}if(t.interpolate!=null){HU(t.interpolate,n)}if(t.nice!=null){n.nice=XU(t.nice,e)}if(t.bins!=null){n.bins=WU(t.bins,e)}for(i in t){if((0,p.mQ)(n,i)||i==="name")continue;n[i]=RU(t[i],e)}}function RU(t,e){return!(0,p.Gv)(t)?t:t.signal?e.signalRef(t.signal):(0,p.z3)("Unsupported object: "+(0,p.r$)(t))}function OU(t,e){return t.signal?e.signalRef(t.signal):t.map((t=>RU(t,e)))}function TU(t){(0,p.z3)("Can not find data set: "+(0,p.r$)(t))}function NU(t,e,n){if(!t){if(e.domainMin!=null||e.domainMax!=null){(0,p.z3)("No scale domain defined for domainMin/domainMax to override.")}return}return t.signal?n.signalRef(t.signal):((0,p.cy)(t)?LU:t.fields?qU:PU)(t,e,n)}function LU(t,e,n){return t.map((t=>RU(t,n)))}function PU(t,e,n){const i=n.getData(t.data);if(!i)TU(t.data);return Vl(e.type)?i.valuesRef(n,t.field,jU(t.sort,false)):tc(e.type)?i.domainRef(n,t.field):i.extentRef(n,t.field)}function qU(t,e,n){const i=t.data,r=t.fields.reduce(((t,e)=>{e=(0,p.Kg)(e)?{data:i,field:e}:(0,p.cy)(e)||e.signal?IU(e,n):e;t.push(e);return t}),[]);return(Vl(e.type)?UU:tc(e.type)?GU:YU)(t,n,r)}function IU(t,e){const n="_:vega:_"+SU++,i=sU({});if((0,p.cy)(t)){i.value={$ingest:t}}else if(t.signal){const r="setdata("+(0,p.r$)(n)+","+t.signal+")";i.params.input=e.signalRef(r)}e.addDataPipeline(n,[i,MU({})]);return{data:n,field:"data"}}function UU(t,e,n){const i=jU(t.sort,true);let r,s;const a=n.map((t=>{const n=e.getData(t.data);if(!n)TU(t.data);return n.countsRef(e,t.field,i)}));const o={groupby:CI,pulse:a};if(i){r=i.op||"count";s=i.field?RI(r,i.field):"count";o.ops=[zU[r]];o.fields=[e.fieldRef(s)];o.as=[s]}r=e.add(nU(o));const u=e.add(sU({pulse:MI(r)}));s=e.add(FU({field:CI,sort:e.sortRef(i),pulse:MI(u)}));return MI(s)}function jU(t,e){if(t){if(!t.field&&!t.op){if((0,p.Gv)(t))t.field="key";else t={field:"key"}}else if(!t.field&&t.op!=="count"){(0,p.z3)("No field provided for sort aggregate op: "+t.op)}else if(e&&t.field){if(t.op&&!zU[t.op]){(0,p.z3)("Multiple domain scales can not be sorted using "+t.op)}}}return t}function GU(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)TU(t.data);return n.domainRef(e,t.field)}));return MI(e.add(yU({values:i})))}function YU(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)TU(t.data);return n.extentRef(e,t.field)}));return MI(e.add(gU({extents:i})))}function WU(t,e){return t.signal||(0,p.cy)(t)?OU(t,e):e.objectProperty(t)}function XU(t,e){return t.signal?e.signalRef(t.signal):(0,p.Gv)(t)?{interval:RU(t.interval),step:RU(t.step)}:RU(t)}function HU(t,e){e.interpolate=RU(t.type||t);if(t.gamma!=null){e.interpolateGamma=RU(t.gamma)}}function VU(t,e,n){const i=e.config.range;let r=t.range;if(r.signal){return e.signalRef(r.signal)}else if((0,p.Kg)(r)){if(i&&(0,p.mQ)(i,r)){t=(0,p.X$)({},t,{range:i[r]});return VU(t,e,n)}else if(r==="width"){r=[0,{signal:"width"}]}else if(r==="height"){r=Vl(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]}else{(0,p.z3)("Unrecognized scale range value: "+(0,p.r$)(r))}}else if(r.scheme){n.scheme=(0,p.cy)(r.scheme)?OU(r.scheme,e):RU(r.scheme,e);if(r.extent)n.schemeExtent=OU(r.extent,e);if(r.count)n.schemeCount=RU(r.count,e);return}else if(r.step){n.rangeStep=RU(r.step,e);return}else if(Vl(t.type)&&!(0,p.cy)(r)){return NU(r,t,e)}else if(!(0,p.cy)(r)){(0,p.z3)("Unsupported range type: "+(0,p.r$)(r))}return r.map((t=>((0,p.cy)(t)?OU:RU)(t,e)))}function QU(t,e){const n=e.config.projection||{},i={};for(const r in t){if(r==="name")continue;i[r]=KU(t[r],r,e)}for(const r in n){if(i[r]==null){i[r]=KU(n[r],r,e)}}e.addProjection(t.name,i)}function KU(t,e,n){return(0,p.cy)(t)?t.map((t=>KU(t,e,n))):!(0,p.Gv)(t)?t:t.signal?n.signalRef(t.signal):e==="fit"?t:(0,p.z3)("Unsupported parameter object: "+(0,p.r$)(t))}const ZU="top";const JU="left";const tj="right";const ej="bottom";const nj="center";const ij="vertical";const rj="start";const sj="middle";const aj="end";const oj="index";const uj="label";const lj="offset";const cj="perc";const fj="perc2";const dj="value";const hj="guide-label";const pj="guide-title";const mj="group-title";const gj="group-subtitle";const yj="symbol";const vj="gradient";const bj="discrete";const xj="size";const _j="shape";const wj="fill";const Aj="stroke";const kj="strokeWidth";const Ej="strokeDash";const Mj="opacity";const Dj=[xj,_j,wj,Aj,kj,Ej,Mj];const Cj={name:1,style:1,interactive:1};const Fj={value:0};const Sj={value:1};const zj="group";const Bj="rect";const $j="rule";const Rj="symbol";const Oj="text";function Tj(t){t.type=zj;t.interactive=t.interactive||false;return t}function Nj(t,e){const n=(n,i)=>qI(t[n],qI(e[n],i));n.isVertical=n=>ij===qI(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection));n.gradientLength=()=>qI(t.gradientLength,e.gradientLength||e.gradientWidth);n.gradientThickness=()=>qI(t.gradientThickness,e.gradientThickness||e.gradientHeight);n.entryColumns=()=>qI(t.columns,qI(e.columns,+n.isVertical(true)));return n}function Lj(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function Pj(t,e,n){const i=e.config.style[n];return i&&i[t]}function qj(t,e,n){return`item.anchor === '${rj}' ? ${t} : item.anchor === '${aj}' ? ${e} : ${n}`}const Ij=qj((0,p.r$)(JU),(0,p.r$)(tj),(0,p.r$)(nj));function Uj(t){const e=t("tickBand");let n=t("tickOffset"),i,r;if(!e){i=t("bandPosition");r=t("tickExtra")}else if(e.signal){i={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`};r={signal:`(${e.signal}) === 'extent'`};if(!(0,p.Gv)(n)){n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`}}}else if(e==="extent"){i=1;r=true;n=0}else{i=.5;r=false}return{extra:r,band:i,offset:n}}function jj(t,e){return!e?t:!t?e:!(0,p.Gv)(t)?{value:t,offset:e}:Object.assign({},t,{offset:jj(t.offset,e)})}function Gj(t,e){if(e){t.name=e.name;t.style=e.style||t.style;t.interactive=!!e.interactive;t.encode=Tq(t.encode,e,Cj)}else{t.interactive=false}return t}function Yj(t,e,n,i){const r=Nj(t,n),s=r.isVertical(),a=r.gradientThickness(),o=r.gradientLength();let u,l,c,f,d;if(s){l=[0,1];c=[0,0];f=a;d=o}else{l=[0,0];c=[1,0];f=o;d=a}const h={enter:u={opacity:Fj,x:Fj,y:Fj,width:$q(f),height:$q(d)},update:(0,p.X$)({},u,{opacity:Sj,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Fj}};Oq(h,{stroke:r("gradientStrokeColor"),strokeWidth:r("gradientStrokeWidth")},{opacity:r("gradientOpacity")});return Gj({type:Bj,role:Qq,encode:h},i)}function Wj(t,e,n,i,r){const s=Nj(t,n),a=s.isVertical(),o=s.gradientThickness(),u=s.gradientLength();let l,c,f,d,h="";a?(l="y",f="y2",c="x",d="width",h="1-"):(l="x",f="x2",c="y",d="height");const m={opacity:Fj,fill:{scale:e,field:dj}};m[l]={signal:h+"datum."+cj,mult:u};m[c]=Fj;m[f]={signal:h+"datum."+fj,mult:u};m[d]=$q(o);const g={enter:m,update:(0,p.X$)({},m,{opacity:Sj}),exit:{opacity:Fj}};Oq(g,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")});return Gj({type:Bj,role:Hq,key:dj,from:r,encode:g},i)}const Xj=`datum.${cj}<=0?"${JU}":datum.${cj}>=1?"${tj}":"${nj}"`,Hj=`datum.${cj}<=0?"${ej}":datum.${cj}>=1?"${ZU}":"${sj}"`;function Vj(t,e,n,i){const r=Nj(t,e),s=r.isVertical(),a=$q(r.gradientThickness()),o=r.gradientLength();let u=r("labelOverlap"),l,c,f,d,h="";const p={enter:l={opacity:Fj},update:c={opacity:Sj,text:{field:uj}},exit:{opacity:Fj}};Oq(p,{fill:r("labelColor"),fillOpacity:r("labelOpacity"),font:r("labelFont"),fontSize:r("labelFontSize"),fontStyle:r("labelFontStyle"),fontWeight:r("labelFontWeight"),limit:qI(t.labelLimit,e.gradientLabelLimit)});if(s){l.align={value:"left"};l.baseline=c.baseline={signal:Hj};f="y";d="x";h="1-"}else{l.align=c.align={signal:Xj};l.baseline={value:"top"};f="x";d="y"}l[f]=c[f]={signal:h+"datum."+cj,mult:o};l[d]=c[d]=a;a.offset=qI(t.labelOffset,e.gradientLabelOffset)||0;u=u?{separation:r("labelSeparation"),method:u,order:"datum."+oj}:undefined;return Gj({type:Oj,role:Kq,style:hj,key:dj,from:i,encode:p,overlap:u},n)}function Qj(t,e,n,i,r){const s=Nj(t,e),a=n.entries,o=!!(a&&a.interactive),u=a?a.name:undefined,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},d=`(${r}) ? datum.${lj} : datum.${xj}`,h=l?$q(l):{field:xj},p=`datum.${oj}`,m=`max(1, ${r})`;let g,y,v,b,x;h.mult=.5;g={enter:y={opacity:Fj,x:{signal:d,mult:.5,offset:c},y:h},update:v={opacity:Sj,x:y.x,y:y.y},exit:{opacity:Fj}};let _=null,w=null;if(!t.fill){_=e.symbolBaseFillColor;w=e.symbolBaseStrokeColor}Oq(g,{fill:s("symbolFillColor",_),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",w),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")});Dj.forEach((e=>{if(t[e]){v[e]=y[e]={scale:t[e],field:dj}}}));const A=Gj({type:Rj,role:Zq,key:dj,from:f,clip:l?true:undefined,encode:g},n.symbols);const k=$q(c);k.offset=s("labelOffset");g={enter:y={opacity:Fj,x:{signal:d,offset:k},y:h},update:v={opacity:Sj,text:{field:uj},x:y.x,y:y.y},exit:{opacity:Fj}};Oq(g,{align:s("labelAlign"),baseline:s("labelBaseline"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontStyle:s("labelFontStyle"),fontWeight:s("labelFontWeight"),limit:s("labelLimit")});const E=Gj({type:Oj,role:Kq,style:hj,key:dj,from:f,encode:g},n.labels);g={enter:{noBound:{value:!l},width:Fj,height:l?$q(l):Fj,opacity:Fj},exit:{opacity:Fj},update:v={opacity:Sj,row:{signal:null},column:{signal:null}}};if(s.isVertical(true)){b=`ceil(item.mark.items.length / ${m})`;v.row.signal=`${p}%${b}`;v.column.signal=`floor(${p} / ${b})`;x={field:["row",p]}}else{v.row.signal=`floor(${p} / ${m})`;v.column.signal=`${p} % ${m}`;x={field:p}}v.column.signal=`(${r})?${v.column.signal}:${p}`;i={facet:{data:i,name:"value",groupby:oj}};return Tj({role:qq,from:i,encode:Tq(g,a,Cj),marks:[A,E],name:u,interactive:o,sort:x})}function Kj(t,e){const n=Nj(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:true,column:false},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const Zj='item.orient === "left"',Jj='item.orient === "right"',tG=`(${Zj} || ${Jj})`,eG=`datum.vgrad && ${tG}`,nG=qj('"top"','"bottom"','"middle"'),iG=qj('"right"','"left"','"center"'),rG=`datum.vgrad && ${Jj} ? (${iG}) : (${tG} && !(datum.vgrad && ${Zj})) ? "left" : ${Ij}`,sG=`item._anchor || (${tG} ? "middle" : "start")`,aG=`${eG} ? (${Zj} ? -90 : 90) : 0`,oG=`${tG} ? (datum.vgrad ? (${Jj} ? "bottom" : "top") : ${nG}) : "top"`;function uG(t,e,n,i){const r=Nj(t,e);const s={enter:{opacity:Fj},update:{opacity:Sj,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Fj}};Oq(s,{orient:r("titleOrient"),_anchor:r("titleAnchor"),anchor:{signal:sG},angle:{signal:aG},align:{signal:rG},baseline:{signal:oG},text:t.title,fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),baseline:r("titleBaseline")});return Gj({type:Oj,role:Jq,style:pj,from:i,encode:s},n)}function lG(t,e){let n;if((0,p.Gv)(t)){if(t.signal){n=t.signal}else if(t.path){n="pathShape("+cG(t.path)+")"}else if(t.sphere){n="geoShape("+cG(t.sphere)+', {type: "Sphere"})'}}return n?e.signalRef(n):!!t}function cG(t){return(0,p.Gv)(t)&&t.signal?t.signal:(0,p.r$)(t)}function fG(t){const e=t.role||"";return e.startsWith("axis")||e.startsWith("legend")||e.startsWith("title")?e:t.type===zj?qq:e||Lq}function dG(t){return{marktype:t.type,name:t.name||undefined,role:t.role||fG(t),zindex:+t.zindex||undefined,aria:t.aria,description:t.description}}function hG(t,e){return t&&t.signal?e.signalRef(t.signal):t===false?false:true}function pG(t,e){const n=Ri(t.type);if(!n)(0,p.z3)("Unrecognized transform type: "+(0,p.r$)(t.type));const i=kI(n.type.toLowerCase(),null,mG(n,t,e));if(t.signal)e.addSignal(t.signal,e.proxy(i));i.metadata=n.metadata||{};return i}function mG(t,e,n){const i={},r=t.params.length;for(let s=0;syG(t,e,n))):yG(t,r,n)}function yG(t,e,n){const i=t.type;if(NI(e)){return kG(i)?(0,p.z3)("Expression references can not be signals."):EG(i)?n.fieldRef(e):MG(i)?n.compareRef(e):n.signalRef(e.signal)}else{const r=t.expr||EG(i);return r&&_G(e)?n.exprRef(e.expr,e.as):r&&wG(e)?DI(e.field,e.as):kG(i)?vL(e,n):AG(i)?MI(n.getData(e).values):EG(i)?DI(e):MG(i)?n.compareRef(e):e}}function vG(t,e,n){if(!(0,p.Kg)(e.from)){(0,p.z3)('Lookup "from" parameter must be a string literal.')}return n.getData(e.from).lookupRef(n,e.key)}function bG(t,e,n){const i=e[t.name];if(t.array){if(!(0,p.cy)(i)){(0,p.z3)("Expected an array of sub-parameters. Instead: "+(0,p.r$)(i))}return i.map((e=>xG(t,e,n)))}else{return xG(t,i,n)}}function xG(t,e,n){const i=t.params.length;let r;for(let a=0;at&&t.expr;const wG=t=>t&&t.field;const AG=t=>t==="data";const kG=t=>t==="expr";const EG=t=>t==="field";const MG=t=>t==="compare";function DG(t,e,n){let i,r,s,a,o;if(!t){a=MI(n.add(sU(null,[{}])))}else if(i=t.facet){if(!e)(0,p.z3)("Only group marks can be faceted.");if(i.field!=null){a=o=CG(i,n)}else{if(!t.data){s=pG((0,p.X$)({type:"aggregate",groupby:(0,p.YO)(i.groupby)},i.aggregate),n);s.params.key=n.keyRef(i.groupby);s.params.pulse=CG(i,n);a=o=MI(n.add(s))}else{o=MI(n.getData(t.data).aggregate)}r=n.keyRef(i.groupby,true)}}if(!a){a=CG(t,n)}return{key:r,pulse:a,parent:o}}function CG(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:MI(e.getData(t.data).output)}function FG(t,e,n,i,r){this.scope=t;this.input=e;this.output=n;this.values=i;this.aggregate=r;this.index={}}FG.fromEntries=function(t,e){const n=e.length,i=e[n-1],r=e[n-2];let s=e[0],a=null,o=1;if(s&&s.type==="load"){s=e[1]}t.add(e[0]);for(;ot==null?"null":t)).join(",")+"),0)";const c=vL(l,e);u.update=c.$expr;u.params=c.$params}function TG(t,e){const n=fG(t),i=t.type===zj,r=t.from&&t.from.facet,s=t.overlap;let a=t.layout||n===qq||n===Pq,o,u,l,c,f,d,h;const m=n===Lq||a||r;const g=DG(t.from,i,e);u=e.add(oU({key:g.key||(t.key?DI(t.key):undefined),pulse:g.pulse,clean:!i}));const y=MI(u);u=l=e.add(sU({pulse:y}));u=e.add(mU({markdef:dG(t),interactive:hG(t.interactive,e),clip:lG(t.clip,e),context:{$context:true},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:MI(u)}));const v=MI(u);u=c=e.add(uU(mI(t.encode,t.type,n,t.style,e,{mod:false,pulse:v})));u.params.parent=e.encode();if(t.transform){t.transform.forEach((t=>{const n=pG(t,e),i=n.metadata;if(i.generates||i.changes){(0,p.z3)("Mark transforms should not generate new data.")}if(!i.nomod)c.params.mod=true;n.params.pulse=MI(u);e.add(u=n)}))}if(t.sort){u=e.add(DU({sort:e.compareRef(t.sort),pulse:MI(u)}))}const b=MI(u);if(r||a){a=e.add(CU({layout:e.objectProperty(t.layout),legends:e.legends,mark:v,pulse:b}));d=MI(a)}const x=e.add(rU({mark:v,pulse:d||b}));h=MI(x);if(i){if(m){o=e.operators;o.pop();if(a)o.pop()}e.pushState(b,d||h,y);r?$G(t,e,g):m?RG(t,e,g):e.parse(t);e.popState();if(m){if(a)o.push(a);o.push(x)}}if(s){h=NG(s,h,e)}const _=e.add(kU({pulse:h})),w=e.add(MU({pulse:MI(_)},undefined,e.parent()));if(t.name!=null){f=t.name;e.addData(f,new FG(e,l,_,w));if(t.on)t.on.forEach((t=>{if(t.insert||t.remove||t.toggle){(0,p.z3)("Marks only support modify triggers.")}OG(t,e,f)}))}}function NG(t,e,n){const i=t.method,r=t.bound,s=t.separation;const a={separation:NI(s)?n.signalRef(s.signal):s,method:NI(i)?n.signalRef(i.signal):i,pulse:e};if(t.order){a.sort=n.compareRef({field:t.order})}if(r){const t=r.tolerance;a.boundTolerance=NI(t)?n.signalRef(t.signal):+t;a.boundScale=n.scaleRef(r.scale);a.boundOrient=r.orient}return MI(n.add(vU(a)))}function LG(t,e){const n=e.config.legend,i=t.encode||{},r=Nj(t,n),s=i.legend||{},a=s.name||undefined,o=s.interactive,u=s.style,l={};let c=0,f,d,h;Dj.forEach((e=>t[e]?(l[e]=t[e],c=c||t[e]):0));if(!c)(0,p.z3)("Missing valid scale for legend.");const m=PG(t,e.scaleType(c));const g={title:t.title!=null,scales:l,type:m,vgrad:m!=="symbol"&&r.isVertical()};const y=MI(e.add(sU(null,[g])));const v={enter:{x:{value:0},y:{value:0}}};const b=MI(e.add(hU(d={type:m,scale:e.scaleRef(c),count:e.objectProperty(r("tickCount")),limit:e.property(r("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));if(m===vj){h=[Yj(t,c,n,i.gradient),Vj(t,n,i.labels,b)];d.count=d.count||e.signalRef(`max(2,2*floor((${II(r.gradientLength())})/100))`)}else if(m===bj){h=[Wj(t,c,n,i.gradient,b),Vj(t,n,i.labels,b)]}else{f=Kj(t,n);h=[Qj(t,n,i,b,II(f.columns))];d.size=UG(t,e,h[0].marks)}h=[Tj({role:Vq,from:y,encode:v,marks:h,layout:f,interactive:o})];if(g.title){h.push(uG(t,n,i.title,y))}return TG(Tj({role:Xq,from:y,encode:Tq(IG(r,t,n),s,Cj),marks:h,aria:r("aria"),description:r("description"),zindex:r("zindex"),name:a,interactive:o,style:u}),e)}function PG(t,e){let n=t.type||yj;if(!t.type&&qG(t)===1&&(t.fill||t.stroke)){n=Hl(e)?vj:Ql(e)?bj:yj}return n!==vj?n:Ql(e)?bj:vj}function qG(t){return Dj.reduce(((e,n)=>e+(t[n]?1:0)),0)}function IG(t,e,n){const i={enter:{},update:{}};Oq(i,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType});return i}function UG(t,e,n){const i=II(jG("size",t,n)),r=II(jG("strokeWidth",t,n)),s=II(GG(n[1].encode,e,hj));return vL(`max(ceil(sqrt(${i})+${r}),${s})`,e)}function jG(t,e,n){return e[t]?`scale("${e[t]}",datum)`:Lj(t,n[0].encode)}function GG(t,e,n){return Lj("fontSize",t)||Pj("fontSize",e,n)}const YG=`item.orient==="${JU}"?-90:item.orient==="${tj}"?90:0`;function WG(t,e){t=(0,p.Kg)(t)?{text:t}:t;const n=Nj(t,e.config.title),i=t.encode||{},r=i.group||{},s=r.name||undefined,a=r.interactive,o=r.style,u=[];const l={},c=MI(e.add(sU(null,[l])));u.push(VG(t,n,XG(t),c));if(t.subtitle){u.push(QG(t,n,i.subtitle,c))}return TG(Tj({role:tI,from:c,encode:HG(n,r),marks:u,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:a,style:o}),e)}function XG(t){const e=t.encode;return e&&e.title||(0,p.X$)({name:t.name,interactive:t.interactive,style:t.style},e)}function HG(t,e){const n={enter:{},update:{}};Oq(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:Ij},angle:{signal:YG},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")});return Tq(n,e,Cj)}function VG(t,e,n,i){const r={value:0},s=t.text,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};Oq(a,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return Gj({type:Oj,role:eI,style:mj,from:i,encode:a},n)}function QG(t,e,n,i){const r={value:0},s=t.subtitle,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};Oq(a,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return Gj({type:Oj,role:nI,style:gj,from:i,encode:a},n)}function KG(t,e){const n=[];if(t.transform){t.transform.forEach((t=>{n.push(pG(t,e))}))}if(t.on){t.on.forEach((n=>{OG(n,e,t.name)}))}e.addDataPipeline(t.name,ZG(t,e,n))}function ZG(t,e,n){const i=[];let r=null,s=false,a=false,o,u,l,c,f;if(t.values){if(NI(t.values)||PI(t.format)){i.push(tY(e,t));i.push(r=JG())}else{i.push(r=JG({$ingest:t.values,$format:t.format}))}}else if(t.url){if(PI(t.url)||PI(t.format)){i.push(tY(e,t));i.push(r=JG())}else{i.push(r=JG({$request:t.url,$format:t.format}))}}else if(t.source){r=o=(0,p.YO)(t.source).map((t=>MI(e.getData(t).output)));i.push(null)}for(u=0,l=n.length;ut===ej||t===ZU;const nY=(t,e,n)=>NI(t)?lY(t.signal,e,n):t===JU||t===ZU?e:n;const iY=(t,e,n)=>NI(t)?oY(t.signal,e,n):eY(t)?e:n;const rY=(t,e,n)=>NI(t)?uY(t.signal,e,n):eY(t)?n:e;const sY=(t,e,n)=>NI(t)?cY(t.signal,e,n):t===ZU?{value:e}:{value:n};const aY=(t,e,n)=>NI(t)?fY(t.signal,e,n):t===tj?{value:e}:{value:n};const oY=(t,e,n)=>dY(`${t} === '${ZU}' || ${t} === '${ej}'`,e,n);const uY=(t,e,n)=>dY(`${t} !== '${ZU}' && ${t} !== '${ej}'`,e,n);const lY=(t,e,n)=>pY(`${t} === '${JU}' || ${t} === '${ZU}'`,e,n);const cY=(t,e,n)=>pY(`${t} === '${ZU}'`,e,n);const fY=(t,e,n)=>pY(`${t} === '${tj}'`,e,n);const dY=(t,e,n)=>{e=e!=null?$q(e):e;n=n!=null?$q(n):n;if(hY(e)&&hY(n)){e=e?e.signal||(0,p.r$)(e.value):null;n=n?n.signal||(0,p.r$)(n.value):null;return{signal:`${t} ? (${e}) : (${n})`}}else{return[(0,p.X$)({test:t},e)].concat(n||[])}};const hY=t=>t==null||Object.keys(t).length===1;const pY=(t,e,n)=>({signal:`${t} ? (${gY(e)}) : (${gY(n)})`});const mY=(t,e,n,i,r)=>({signal:(i!=null?`${t} === '${JU}' ? (${gY(i)}) : `:"")+(n!=null?`${t} === '${ej}' ? (${gY(n)}) : `:"")+(r!=null?`${t} === '${tj}' ? (${gY(r)}) : `:"")+(e!=null?`${t} === '${ZU}' ? (${gY(e)}) : `:"")+"(null)"});const gY=t=>NI(t)?t.signal:t==null?null:(0,p.r$)(t);const yY=(t,e)=>e===0?0:NI(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e};const vY=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function bY(t,e,n,i){let r;if(e&&(0,p.mQ)(e,t)){return e[t]}else if((0,p.mQ)(n,t)){return n[t]}else if(t.startsWith("title")){switch(t){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=t[5].toLowerCase()+t.slice(6)}return i[pj][r]}else if(t.startsWith("label")){switch(t){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=t[5].toLowerCase()+t.slice(6)}return i[hj][r]}return null}function xY(t){const e={};for(const n of t){if(!n)continue;for(const t in n)e[t]=1}return Object.keys(e)}function _Y(t,e){var n=e.config,i=n.style,r=n.axis,s=e.scaleType(t.scale)==="band"&&n.axisBand,a=t.orient,o,u,l;if(NI(a)){const t=xY([n.axisX,n.axisY]),e=xY([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);o={};for(l of t){o[l]=iY(a,bY(l,n.axisX,r,i),bY(l,n.axisY,r,i))}u={};for(l of e){u[l]=mY(a.signal,bY(l,n.axisTop,r,i),bY(l,n.axisBottom,r,i),bY(l,n.axisLeft,r,i),bY(l,n.axisRight,r,i))}}else{o=a===ZU||a===ej?n.axisX:n.axisY;u=n["axis"+a[0].toUpperCase()+a.slice(1)]}const c=o||u||s?(0,p.X$)({},r,o,u,s):r;return c}function wY(t,e,n,i){const r=Nj(t,e),s=t.orient;let a,o;const u={enter:a={opacity:Fj},update:o={opacity:Sj},exit:{opacity:Fj}};Oq(u,{stroke:r("domainColor"),strokeCap:r("domainCap"),strokeDash:r("domainDash"),strokeDashOffset:r("domainDashOffset"),strokeWidth:r("domainWidth"),strokeOpacity:r("domainOpacity")});const l=AY(t,0);const c=AY(t,1);a.x=o.x=iY(s,l,Fj);a.x2=o.x2=iY(s,c);a.y=o.y=rY(s,l,Fj);a.y2=o.y2=rY(s,c);return Gj({type:$j,role:Uq,from:i,encode:u},n)}function AY(t,e){return{scale:t.scale,range:e}}function kY(t,e,n,i,r){const s=Nj(t,e),a=t.orient,o=t.gridScale,u=nY(a,1,-1),l=EY(t.offset,u);let c,f,d;const h={enter:c={opacity:Fj},update:d={opacity:Sj},exit:f={opacity:Fj}};Oq(h,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});const m={scale:t.scale,field:dj,band:r.band,extra:r.extra,offset:r.offset,round:s("tickRound")};const g=iY(a,{signal:"height"},{signal:"width"});const y=o?{scale:o,range:0,mult:u,offset:l}:{value:0,offset:l};const v=o?{scale:o,range:1,mult:u,offset:l}:(0,p.X$)(g,{mult:u,offset:l});c.x=d.x=iY(a,m,y);c.y=d.y=rY(a,m,y);c.x2=d.x2=rY(a,v);c.y2=d.y2=iY(a,v);f.x=iY(a,m);f.y=rY(a,m);return Gj({type:$j,role:jq,key:dj,from:i,encode:h},n)}function EY(t,e){if(e===1);else if(!(0,p.Gv)(t)){t=NI(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0)}else{let n=t=(0,p.X$)({},t);while(n.mult!=null){if(!(0,p.Gv)(n.mult)){n.mult=NI(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e;return t}else{n=n.mult=(0,p.X$)({},n.mult)}}n.mult=e}return t}function MY(t,e,n,i,r,s){const a=Nj(t,e),o=t.orient,u=nY(o,-1,1);let l,c,f;const d={enter:l={opacity:Fj},update:f={opacity:Sj},exit:c={opacity:Fj}};Oq(d,{stroke:a("tickColor"),strokeCap:a("tickCap"),strokeDash:a("tickDash"),strokeDashOffset:a("tickDashOffset"),strokeOpacity:a("tickOpacity"),strokeWidth:a("tickWidth")});const h=$q(r);h.mult=u;const p={scale:t.scale,field:dj,band:s.band,extra:s.extra,offset:s.offset,round:a("tickRound")};f.y=l.y=iY(o,Fj,p);f.y2=l.y2=iY(o,h);c.x=iY(o,p);f.x=l.x=rY(o,Fj,p);f.x2=l.x2=rY(o,h);c.y=rY(o,p);return Gj({type:$j,role:Yq,key:dj,from:i,encode:d},n)}function DY(t,e,n,i,r){return{signal:'flush(range("'+t+'"), '+'scale("'+t+'", datum.value), '+e+","+n+","+i+","+r+")"}}function CY(t,e,n,i,r,s){const a=Nj(t,e),o=t.orient,u=t.scale,l=nY(o,-1,1),c=II(a("labelFlush")),f=II(a("labelFlushOffset")),d=a("labelAlign"),h=a("labelBaseline");let p=c===0||!!c,m;const g=$q(r);g.mult=l;g.offset=$q(a("labelPadding")||0);g.offset.mult=l;const y={scale:u,field:dj,band:.5,offset:jj(s.offset,a("labelOffset"))};const v=iY(o,p?DY(u,c,'"left"','"right"','"center"'):{value:"center"},aY(o,"left","right"));const b=iY(o,sY(o,"bottom","top"),p?DY(u,c,'"top"','"bottom"','"middle"'):{value:"middle"});const x=DY(u,c,`-(${f})`,f,0);p=p&&f;const _={opacity:Fj,x:iY(o,y,g),y:rY(o,y,g)};const w={enter:_,update:m={opacity:Sj,text:{field:uj},x:_.x,y:_.y,align:v,baseline:b},exit:{opacity:Fj,x:_.x,y:_.y}};Oq(w,{dx:!d&&p?iY(o,x):null,dy:!h&&p?rY(o,x):null});Oq(w,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:d,baseline:h});const A=a("labelBound");let k=a("labelOverlap");k=k||A?{separation:a("labelSeparation"),method:k,order:"datum.index",bound:A?{scale:u,orient:o,tolerance:A}:null}:undefined;if(m.align!==v){m.align=vY(m.align,v)}if(m.baseline!==b){m.baseline=vY(m.baseline,b)}return Gj({type:Oj,role:Gq,style:hj,key:dj,from:i,encode:w,overlap:k},n)}function FY(t,e,n,i){const r=Nj(t,e),s=t.orient,a=nY(s,-1,1);let o,u;const l={enter:o={opacity:Fj,anchor:$q(r("titleAnchor",null)),align:{signal:Ij}},update:u=(0,p.X$)({},o,{opacity:Sj,text:$q(t.title)}),exit:{opacity:Fj}};const c={signal:`lerp(range("${t.scale}"), ${qj(0,1,.5)})`};u.x=iY(s,c);u.y=rY(s,c);o.angle=iY(s,Fj,yY(a,90));o.baseline=iY(s,sY(s,ej,ZU),{value:ej});u.angle=o.angle;u.baseline=o.baseline;Oq(l,{fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),angle:r("titleAngle"),baseline:r("titleBaseline")});SY(r,s,l,n);l.update.align=vY(l.update.align,o.align);l.update.angle=vY(l.update.angle,o.angle);l.update.baseline=vY(l.update.baseline,o.baseline);return Gj({type:Oj,role:Wq,style:pj,from:i,encode:l},n)}function SY(t,e,n,i){const r=(t,e)=>t!=null?(n.update[e]=vY($q(t),n.update[e]),false):!Nq(e,i)?true:false;const s=r(t("titleX"),"x"),a=r(t("titleY"),"y");n.enter.auto=a===s?$q(a):iY(e,$q(a),$q(s))}function zY(t,e){const n=_Y(t,e),i=t.encode||{},r=i.axis||{},s=r.name||undefined,a=r.interactive,o=r.style,u=Nj(t,n),l=Uj(u);const c={scale:t.scale,ticks:!!u("ticks"),labels:!!u("labels"),grid:!!u("grid"),domain:!!u("domain"),title:t.title!=null};const f=MI(e.add(sU({},[c])));const d=MI(e.add(iU({scale:e.scaleRef(t.scale),extra:e.property(l.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));const h=[];let p;if(c.grid){h.push(kY(t,n,i.grid,d,l))}if(c.ticks){p=u("tickSize");h.push(MY(t,n,i.ticks,d,p,l))}if(c.labels){p=c.ticks?p:0;h.push(CY(t,n,i.labels,d,p,l))}if(c.domain){h.push(wY(t,n,i.domain,f))}if(c.title){h.push(FY(t,n,i.title,f))}return TG(Tj({role:Iq,from:f,encode:Tq(BY(u,t),r,Cj),marks:h,aria:u("aria"),description:u("description"),zindex:u("zindex"),name:s,interactive:a,style:o}),e)}function BY(t,e){const n={enter:{},update:{}};Oq(n,{orient:t("orient"),offset:t("offset")||0,position:qI(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType});return n}function $Y(t,e,n){const i=(0,p.YO)(t.signals),r=(0,p.YO)(t.scales);if(!n)i.forEach((t=>wI(t,e)));(0,p.YO)(t.projections).forEach((t=>QU(t,e)));r.forEach((t=>BU(t,e)));(0,p.YO)(t.data).forEach((t=>KG(t,e)));r.forEach((t=>$U(t,e)));(n||i).forEach((t=>tU(t,e)));(0,p.YO)(t.axes).forEach((t=>zY(t,e)));(0,p.YO)(t.marks).forEach((t=>TG(t,e)));(0,p.YO)(t.legends).forEach((t=>LG(t,e)));if(t.title)WG(t.title,e);e.parseLambdas();return e}const RY=t=>Tq({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function OY(t,e){const n=e.config;const i=MI(e.root=e.add(EI()));const r=NY(t,n);r.forEach((t=>wI(t,e)));e.description=t.description||n.description;e.eventConfig=n.events;e.legends=e.objectProperty(n.legend&&n.legend.layout);e.locale=n.locale;const s=e.add(sU());const a=e.add(uU(mI(RY(t.encode),zj,Pq,t.style,e,{pulse:MI(s)})));const o=e.add(CU({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:i,pulse:MI(a)}));e.operators.pop();e.pushState(MI(a),MI(o),null);$Y(t,e,r);e.operators.push(o);let u=e.add(rU({mark:i,pulse:MI(o)}));u=e.add(kU({pulse:MI(u)}));u=e.add(MU({pulse:MI(u)}));e.addData("root",new FG(e,s,s,u));return e}function TY(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function NY(t,e){const n=n=>qI(t[n],e[n]),i=[TY("background",n("background")),TY("autosize",Fq(n("autosize"))),TY("padding",Bq(n("padding"))),TY("width",n("width")||0),TY("height",n("height")||0)],r=i.reduce(((t,e)=>(t[e.name]=e,t)),{}),s={};(0,p.YO)(t.signals).forEach((t=>{if((0,p.mQ)(r,t.name)){t=(0,p.X$)(r[t.name],t)}else{i.push(t)}s[t.name]=t}));(0,p.YO)(e.signals).forEach((t=>{if(!(0,p.mQ)(s,t.name)&&!(0,p.mQ)(r,t.name)){i.push(t)}}));return i}function LY(t,e){this.config=t||{};this.options=e||{};this.bindings=[];this.field={};this.signals={};this.lambdas={};this.scales={};this.events={};this.data={};this.streams=[];this.updates=[];this.operators=[];this.eventConfig=null;this.locale=null;this._id=0;this._subid=0;this._nextsub=[0];this._parent=[];this._encode=[];this._lookup=[];this._markpath=[]}function PY(t){this.config=t.config;this.options=t.options;this.legends=t.legends;this.field=Object.create(t.field);this.signals=Object.create(t.signals);this.lambdas=Object.create(t.lambdas);this.scales=Object.create(t.scales);this.events=Object.create(t.events);this.data=Object.create(t.data);this.streams=[];this.updates=[];this.operators=[];this._id=0;this._subid=++t._nextsub[0];this._nextsub=t._nextsub;this._parent=t._parent.slice();this._encode=t._encode.slice();this._lookup=t._lookup.slice();this._markpath=t._markpath}LY.prototype=PY.prototype={parse(t){return $Y(t,this)},fork(){return new PY(this)},isSubscope(){return this._subid>0},toRuntime(){this.finish();return{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){this.operators.push(t);t.id=this.id();if(t.refs){t.refs.forEach((e=>{e.$ref=t.id}));t.refs=null}return t},proxy(t){const e=t instanceof AI?MI(t):t;return this.add(wU({value:e}))},addStream(t){this.streams.push(t);t.id=this.id();return t},addUpdate(t){this.updates.push(t);return t},finish(){let t,e;if(this.root)this.root.root=true;for(t in this.signals){this.signals[t].signal=t}for(t in this.scales){this.scales[t].scale=t}function n(t,e,n){let i,r;if(t){i=t.data||(t.data={});r=i[e]||(i[e]=[]);r.push(n)}}for(t in this.data){e=this.data[t];n(e.input,t,"input");n(e.output,t,"output");n(e.values,t,"values");for(const i in e.index){n(e.index[i],t,"index:"+i)}}return this},pushState(t,e,n){this._encode.push(MI(this.add(MU({pulse:t}))));this._parent.push(e);this._lookup.push(n?MI(this.proxy(n)):null);this._markpath.push(-1)},popState(){this._encode.pop();this._parent.pop();this._lookup.pop();this._markpath.pop()},parent(){return(0,p.se)(this._parent)},encode(){return(0,p.se)(this._encode)},lookup(){return(0,p.se)(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if((0,p.Kg)(t))return DI(t,e);if(!t.signal){(0,p.z3)("Unsupported field reference: "+(0,p.r$)(t))}const n=t.signal;let i=this.field[n];if(!i){const t={name:this.signalRef(n)};if(e)t.as=e;this.field[n]=i=MI(this.add(fU(t)))}return i},compareRef(t){let e=false;const n=t=>NI(t)?(e=true,this.signalRef(t.signal)):LI(t)?(e=true,this.exprRef(t.expr)):t;const i=(0,p.YO)(t.field).map(n),r=(0,p.YO)(t.order).map(n);return e?MI(this.add(aU({fields:i,orders:r}))):FI(i,r)},keyRef(t,e){let n=false;const i=t=>NI(t)?(n=true,MI(r[t.signal])):t;const r=this.signals;t=(0,p.YO)(t).map(i);return n?MI(this.add(dU({fields:t,flat:e}))):SI(t,e)},sortRef(t){if(!t)return t;const e=RI(t.op,t.field),n=t.order||zI;return n.signal?MI(this.add(aU({fields:e,orders:this.signalRef(n.signal)}))):FI(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const i=this.id();this.streams.push({id:i,source:t,type:e});this.events[n]=i}return this.events[n]},hasOwnSignal(t){return(0,p.mQ)(this.signals,t)},addSignal(t,e){if(this.hasOwnSignal(t)){(0,p.z3)("Duplicate signal name: "+(0,p.r$)(t))}const n=e instanceof AI?e:this.add(EI(e));return this.signals[t]=n},getSignal(t){if(!this.signals[t]){(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(t))}return this.signals[t]},signalRef(t){if(this.signals[t]){return MI(this.signals[t])}else if(!(0,p.mQ)(this.lambdas,t)){this.lambdas[t]=this.add(EI(null))}return MI(this.lambdas[t])},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e0?",":"")+((0,p.Gv)(e)?e.signal||qY(e):(0,p.r$)(e))}return n+"]"}function UY(t){let e="{",n=0,i,r;for(i in t){r=t[i];e+=(++n>1?",":"")+(0,p.r$)(i)+":"+((0,p.Gv)(r)?r.signal||qY(r):(0,p.r$)(r))}return e+"}"}function jY(){const t="sans-serif",e=30,n=2,i="#4c78a8",r="#000",s="#888",a="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:i},area:{fill:i},image:null,line:{stroke:i,strokeWidth:n},path:{stroke:i},rect:{fill:i},rule:{stroke:r},shape:{stroke:i},symbol:{fill:i,size:64},text:{fill:r,font:t,fontSize:11},trail:{fill:i,size:n},style:{"guide-label":{fill:r,font:t,fontSize:10},"guide-title":{fill:r,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:r,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:r,font:t,fontSize:12},point:{size:e,strokeWidth:n,shape:"circle"},circle:{size:e,strokeWidth:n},square:{size:e,strokeWidth:n,shape:"square"},cell:{fill:"transparent",stroke:a},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:true,domainWidth:1,domainColor:s,grid:false,gridWidth:1,gridColor:a,labels:true,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:true,tickColor:s,tickOffset:0,tickRound:true,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:a,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:true,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:s,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function GY(t,e,n){if(!(0,p.Gv)(t)){(0,p.z3)("Input Vega specification must be an object.")}e=(0,p.io)(jY(),e,t.config);return OY(t,new LY(e,n)).toRuntime()}var YY="5.33.0";(0,p.X$)($i,i,r,s,a,o,l,u,c,f,d,h)}}]);