@malloydata/render 0.0.164-dev240809151534 → 0.0.164-dev240809173948
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1335,7 +1335,7 @@ ${m}`,p)}}else{if(h.urls)for(const m of h.urls)try{if(m.startsWith("internal://"
|
|
|
1335
1335
|
: (u > v || v == null) && u != null ? ${r}
|
|
1336
1336
|
: ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
|
|
1337
1337
|
: v !== v && u === u ? ${r} : `}var Sze={operator:(t,e)=>n3(t,["_"],e.code),parameter:(t,e)=>n3(t,["datum","_"],e.code),event:(t,e)=>n3(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return n3(t,["_","event"],n)},encode:(t,e)=>{const{marktype:n,channels:r}=e;let i="var o=item,datum=o.datum,m=0,$;";for(const s in r){const o="o["+Fe(s)+"]";i+=`$=${r[s].code};if(${o}!==$)${o}=$,m=1;`}return i+=mze(r,n),i+="return m;",n3(t,["item","_"],i)},codegen:{get(t){const e=`[${t.map(Fe).join("][")}]`,n=Function("_",`return _${e};`);return n.path=e,n},comparator(t,e){let n;const r=(s,o)=>{const u=e[o];let a,l;return s.path?(a=`a${s.path}`,l=`b${s.path}`):((n=n||{})["f"+o]=s,a=`this.f${o}(a)`,l=`this.f${o}(b)`),Aze(a,l,-u,u)},i=Function("a","b","var u, v; return "+t.map(r).join("")+"0;");return n?i.bind(n):i}}};function vze(t){const e=this;yze(t.type)||!t.type?e.operator(t,t.update?e.operatorExpression(t.update):null):e.transform(t,t.type)}function _ze(t){const e=this;if(t.params){const n=e.get(t.id);n||ve("Invalid operator id: "+t.id),e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function Cze(t,e){e=e||{};const n=this;for(const r in t){const i=t[r];e[r]=_e(i)?i.map(s=>zre(s,n,e)):zre(i,n,e)}return e}function zre(t,e,n){if(!t||!Qe(t))return t;for(let r=0,i=Qre.length,s;r<i;++r)if(s=Qre[r],Je(t,s.key))return s.parse(t,e,n);return t}var Qre=[{key:"$ref",parse:bze},{key:"$key",parse:Rze},{key:"$expr",parse:Tze},{key:"$field",parse:Oze},{key:"$encode",parse:Dze},{key:"$compare",parse:Nze},{key:"$context",parse:Fze},{key:"$subflow",parse:wze},{key:"$tupleid",parse:Lze}];function bze(t,e){return e.get(t.$ref)||ve("Operator not defined: "+t.$ref)}function Tze(t,e,n){t.$params&&e.parseParameters(t.$params,n);const r="e:"+t.$expr.code;return e.fn[r]||(e.fn[r]=Ls(e.parameterExpression(t.$expr),t.$fields))}function Rze(t,e){const n="k:"+t.$key+"_"+!!t.$flat;return e.fn[n]||(e.fn[n]=lV(t.$key,t.$flat,e.expr.codegen))}function Oze(t,e){if(!t.$field)return null;const n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=Is(t.$field,t.$name,e.expr.codegen))}function Nze(t,e){const n="c:"+t.$compare+"_"+t.$order,r=Pe(t.$compare).map(i=>i&&i.$tupleid?Ze:i);return e.fn[n]||(e.fn[n]=uV(r,t.$order,e.expr.codegen))}function Dze(t,e){const n=t.$encode,r={};for(const i in n){const s=n[i];r[i]=Ls(e.encodeExpression(s.$expr),s.$fields),r[i].output=s.$output}return r}function Fze(t,e){return e}function wze(t,e){const n=t.$subflow;return function(r,i,s){const o=e.fork().parse(n),u=o.get(n.operators[0].id),a=o.signals.parent;return a&&a.set(s),u.detachSubflow=()=>e.detach(o),u}}function Lze(){return Ze}function Ize(t){var e=this,n=t.filter!=null?e.eventExpression(t.filter):void 0,r=t.stream!=null?e.get(t.stream):void 0,i;t.source?r=e.events(t.source,t.type,n):t.merge&&(i=t.merge.map(s=>e.get(s)),r=i[0].merge.apply(i[0],i.slice(1))),t.between&&(i=t.between.map(s=>e.get(s)),r=r.between(i[0],i[1])),t.filter&&(r=r.filter(n)),t.throttle!=null&&(r=r.throttle(+t.throttle)),t.debounce!=null&&(r=r.debounce(+t.debounce)),r==null&&ve("Invalid stream definition: "+JSON.stringify(t)),t.consume&&r.consume(!0),e.stream(t,r)}function $ze(t){var e=this,n=Qe(n=t.source)?n.$ref:n,r=e.get(n),i=null,s=t.update,o=void 0;r||ve("Source not defined: "+t.source),i=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target),s&&s.$expr&&(s.$params&&(o=e.parseParameters(s.$params)),s=e.handlerExpression(s.$expr)),e.update(t,r,i,s,o)}const Bze={skip:!0};function kze(t){var e=this,n={};if(t.signals){var r=n.signals={};Object.keys(e.signals).forEach(s=>{const o=e.signals[s];t.signals(s,o)&&(r[s]=o.value)})}if(t.data){var i=n.data={};Object.keys(e.data).forEach(s=>{const o=e.data[s];t.data(s,o)&&(i[s]=o.input.value)})}return e.subcontext&&t.recurse!==!1&&(n.subcontext=e.subcontext.map(s=>s.getState(t))),n}function Pze(t){var e=this,n=e.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach(s=>{n.update(e.signals[s],i[s],Bze)}),Object.keys(r||{}).forEach(s=>{n.pulse(e.data[s].input,n.changeset().remove(Ko).insert(r[s]))}),(t.subcontext||[]).forEach((s,o)=>{const u=e.subcontext[o];u&&u.setState(s)})}function Mze(t,e,n,r){return new Gre(t,e,n,r)}function Gre(t,e,n,r){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=r||Sze,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function Wre(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),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}Gre.prototype=Wre.prototype={fork(){const t=new Wre(this);return(this.subcontext||(this.subcontext=[])).push(t),t},detach(t){this.subcontext=this.subcontext.filter(n=>n!==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,r=n.dataflow,i=t.value;if(n.set(t.id,e),Eze(t.type)&&i&&(i.$ingest?r.ingest(e,i.$ingest,i.$format):i.$request?r.preload(e,i.$request,i.$format):r.pulse(e,r.changeset().insert(i))),t.root&&(n.root=e),t.parent){let s=n.get(t.parent.$ref);s?(r.connect(s,[e]),e.targets().add(s)):(n.unresolved=n.unresolved||[]).push(()=>{s=n.get(t.parent.$ref),r.connect(s,[e]),e.targets().add(s)})}if(t.signal&&(n.signals[t.signal]=e),t.scale&&(n.scales[t.scale]=e),t.data)for(const s in t.data){const o=n.data[s]||(n.data[s]={});t.data[s].forEach(u=>o[u]=e)}},resolve(){return(this.unresolved||[]).forEach(t=>t()),delete this.unresolved,this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[Mk(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,r,i){this.dataflow.on(e,n,r,i,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:pze,parseOperator:vze,parseOperatorParameters:_ze,parseParameters:Cze,parseStream:Ize,parseUpdate:$ze,getState:kze,setState:Pze};function jze(t){const e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),Vre(e,t.description()))}function Vre(t,e){t&&(e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e))}function Uze(t){t.add(null,e=>(t._background=e.bg,t._resize=1,e.bg),{bg:t._signals.background})}const jk="default";function qze(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:jk,item:null}));t.on(t.events("view","mousemove"),e,(n,r)=>{const i=e.value,s=i?je(i)?i:i.user:jk,o=r.item&&r.item.cursor||null;return i&&s===i.user&&o==i.item?i:{user:s,item:o}}),t.add(null,function(n){let r=n.cursor,i=this.value;return je(r)||(i=r.item,r=r.user),Uk(t,r&&r!==jk?r:i||r),i},{cursor:e})}function Uk(t,e){const n=t.globalCursor()?typeof document<"u"&&document.body:t.container();if(n)return e==null?n.style.removeProperty("cursor"):n.style.cursor=e}function NO(t,e){var n=t._runtime.data;return Je(n,e)||ve("Unrecognized data set: "+e),n[e]}function Hze(t,e){return arguments.length<2?NO(this,t).values.value:DO.call(this,t,jp().remove(Ko).insert(e))}function DO(t,e){wY(e)||ve("Second argument to changes must be a changeset.");const n=NO(this,t);return n.modified=!0,this.pulse(n.input,e)}function zze(t,e){return DO.call(this,t,jp().insert(e))}function Qze(t,e){return DO.call(this,t,jp().remove(e))}function Yre(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function Xre(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function FO(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function Gze(t){var e=FO(t),n=Yre(t),r=Xre(t);t._renderer.background(t.background()),t._renderer.resize(n,r,e),t._handler.origin(e),t._resizeListeners.forEach(i=>{try{i(n,r)}catch(s){t.error(s)}})}function Wze(t,e,n){var r=t._renderer,i=r&&r.canvas(),s,o,u;return i&&(u=FO(t),o=e.changedTouches?e.changedTouches[0]:e,s=sB(o,i),s[0]-=u[0],s[1]-=u[1]),e.dataflow=t,e.item=n,e.vega=Vze(t,n,s),e}function Vze(t,e,n){const r=e?e.mark.marktype==="group"?e:e.mark.group:null;function i(o){var u=r,a;if(o){for(a=e;a;a=a.mark.group)if(a.mark.name===o){u=a;break}}return u&&u.mark&&u.mark.interactive?u:{}}function s(o){if(!o)return n;je(o)&&(o=i(o));const u=n.slice();for(;o;)u[0]-=o.x||0,u[1]-=o.y||0,o=o.mark&&o.mark.group;return u}return{view:vi(t),item:vi(e||{}),group:i,xy:s,x:o=>s(o)[0],y:o=>s(o)[1]}}const Kre="view",Yze="timer",Xze="window",Kze={trap:!1};function Jze(t){const e=ct({defaults:{}},t),n=(r,i)=>{i.forEach(s=>{_e(r[s])&&(r[s]=na(r[s]))})};return n(e.defaults,["prevent","allow"]),n(e,["view","window","selector"]),e}function Jre(t,e,n,r){t._eventListeners.push({type:n,sources:Pe(e),handler:r})}function Zze(t,e){var n=t._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[e]:i?!i[e]:t.preventDefault()}function wO(t,e,n){const r=t._eventConfig&&t._eventConfig[e];return r===!1||Qe(r)&&!r[n]?(t.warn(`Blocked ${e} ${n} event listener.`),!1):!0}function eQe(t,e,n){var r=this,i=new Z5(n),s=function(l,c){r.runAsync(null,()=>{t===Kre&&Zze(r,e)&&l.preventDefault(),i.receive(Wze(r,l,c))})},o;if(t===Yze)wO(r,"timer",e)&&r.timer(s,e);else if(t===Kre)wO(r,"view",e)&&r.addEventListener(e,s,Kze);else if(t===Xze?wO(r,"window",e)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&wO(r,"selector",e)&&(o=Array.from(document.querySelectorAll(t))),!o)r.warn("Can not resolve event source: "+t);else{for(var u=0,a=o.length;u<a;++u)o[u].addEventListener(e,s);Jre(r,o,e,s)}return i}function Zre(t){return t.item}function eie(t){return t.item.mark.source}function tie(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function tQe(t,e){return t=[t||"hover"],e=[e||"update",t[0]],this.on(this.events("view","mouseover",Zre),eie,tie(t)),this.on(this.events("view","mouseout",Zre),eie,tie(e)),this}function nQe(){var t=this._tooltip,e=this._timers,n=this._eventListeners,r,i,s;for(r=e.length;--r>=0;)e[r].stop();for(r=n.length;--r>=0;)for(s=n[r],i=s.sources.length;--i>=0;)s.sources[i].removeEventListener(s.type,s.handler);return t&&t.call(this,this._handler,null,null,null),this}function Us(t,e,n){const r=document.createElement(t);for(const i in e)r.setAttribute(i,e[i]);return n!=null&&(r.textContent=n),r}const rQe="vega-bind",iQe="vega-bind-name",sQe="vega-bind-radio";function oQe(t,e,n){if(!e)return;const r=n.param;let i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:o=>{o!=t.signal(r.signal)&&t.runAsync(null,()=>{i.source=!0,t.signal(r.signal,o)})}},r.debounce&&(i.update=aV(r.debounce,i.update))),(r.input==null&&r.element?uQe:lQe)(i,e,r,t),i.active||(t.on(t._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(t.signal(r.signal))}),i.active=!0),i}function uQe(t,e,n,r){const i=n.event||"input",s=()=>t.update(e.value);r.signal(n.signal,e.value),e.addEventListener(i,s),Jre(r,e,i,s),t.set=o=>{e.value=o,e.dispatchEvent(aQe(i))}}function aQe(t){return typeof Event<"u"?new Event(t):{type:t}}function lQe(t,e,n,r){const i=r.signal(n.signal),s=Us("div",{class:rQe}),o=n.input==="radio"?s:s.appendChild(Us("label"));o.appendChild(Us("span",{class:iQe},n.name||n.signal)),e.appendChild(s);let u=cQe;switch(n.input){case"checkbox":u=fQe;break;case"select":u=xQe;break;case"radio":u=dQe;break;case"range":u=hQe;break}u(t,o,n,i)}function cQe(t,e,n,r){const i=Us("input");for(const s in n)s!=="signal"&&s!=="element"&&i.setAttribute(s==="input"?"type":s,n[s]);i.setAttribute("name",n.signal),i.value=r,e.appendChild(i),i.addEventListener("input",()=>t.update(i.value)),t.elements=[i],t.set=s=>i.value=s}function fQe(t,e,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const s=Us("input",i);e.appendChild(s),s.addEventListener("change",()=>t.update(s.checked)),t.elements=[s],t.set=o=>s.checked=!!o||null}function xQe(t,e,n,r){const i=Us("select",{name:n.signal}),s=n.labels||[];n.options.forEach((o,u)=>{const a={value:o};LO(o,r)&&(a.selected=!0),i.appendChild(Us("option",a,(s[u]||o)+""))}),e.appendChild(i),i.addEventListener("change",()=>{t.update(n.options[i.selectedIndex])}),t.elements=[i],t.set=o=>{for(let u=0,a=n.options.length;u<a;++u)if(LO(n.options[u],o)){i.selectedIndex=u;return}}}function dQe(t,e,n,r){const i=Us("span",{class:sQe}),s=n.labels||[];e.appendChild(i),t.elements=n.options.map((o,u)=>{const a={type:"radio",name:n.signal,value:o};LO(o,r)&&(a.checked=!0);const l=Us("input",a);l.addEventListener("change",()=>t.update(o));const c=Us("label",{},(s[u]||o)+"");return c.prepend(l),i.appendChild(c),l}),t.set=o=>{const u=t.elements,a=u.length;for(let l=0;l<a;++l)LO(u[l].value,o)&&(u[l].checked=!0)}}function hQe(t,e,n,r){r=r!==void 0?r:(+n.max+ +n.min)/2;const i=n.max!=null?n.max:Math.max(100,+r)||100,s=n.min||Math.min(0,i,+r)||0,o=n.step||rc(s,i,100),u=Us("input",{type:"range",name:n.signal,min:s,max:i,step:o});u.value=r;const a=Us("span",{},+r);e.appendChild(u),e.appendChild(a);const l=()=>{a.textContent=u.value,t.update(+u.value)};u.addEventListener("input",l),u.addEventListener("change",l),t.elements=[u],t.set=c=>{u.value=c,a.textContent=c}}function LO(t,e){return t===e||t+""==e+""}function nie(t,e,n,r,i,s){return e=e||new r(t.loader()),e.initialize(n,Yre(t),Xre(t),FO(t),i,s).background(t.background())}function qk(t,e){return e?function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}:null}function pQe(t,e,n,r){const i=new r(t.loader(),qk(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,FO(t),t);return e&&e.handlers().forEach(s=>{i.on(s.type,s.handler)}),i}function gQe(t,e){const n=this,r=n._renderType,i=n._eventConfig.bind,s=gB(r);t=n._el=t?Hk(n,t,!0):null,jze(n),s||n.error("Unrecognized renderer type: "+r);const o=s.handler||xR,u=t?s.renderer:s.headless;return n._renderer=u?nie(n,n._renderer,t,u):null,n._handler=pQe(n,n._handler,t,o),n._redraw=!0,t&&i!=="none"&&(e=e?n._elBind=Hk(n,e,!0):t.appendChild(Us("form",{class:"vega-bindings"})),n._bind.forEach(a=>{a.param.element&&i!=="container"&&(a.element=Hk(n,a.param.element,!!a.param.input))}),n._bind.forEach(a=>{oQe(n,a.element||e,a)})),n}function Hk(t,e,n){if(typeof e=="string")if(typeof document<"u"){if(e=document.querySelector(e),!e)return t.error("Signal bind element not found: "+e),null}else return t.error("DOM document instance not found."),null;if(e&&n)try{e.textContent=""}catch(r){e=null,t.error(r)}return e}const r3=t=>+t||0,mQe=t=>({top:t,bottom:t,left:t,right:t});function rie(t){return Qe(t)?{top:r3(t.top),bottom:r3(t.bottom),left:r3(t.left),right:r3(t.right)}:mQe(r3(t))}async function zk(t,e,n,r){const i=gB(e),s=i&&i.headless;return s||ve("Unrecognized renderer type: "+e),await t.runAsync(),nie(t,null,null,s,n,r).renderAsync(t._scenegraph.root)}async function yQe(t,e){t!==nd.Canvas&&t!==nd.SVG&&t!==nd.PNG&&ve("Unrecognized image type: "+t);const n=await zk(this,t,e);return t===nd.SVG?EQe(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function EQe(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function AQe(t,e){return(await zk(this,nd.Canvas,t,e)).canvas()}async function SQe(t){return(await zk(this,nd.SVG,t)).svg()}function vQe(t,e,n){return Mze(t,jy,t3,n).parse(e)}function _Qe(t){var e=this._runtime.scales;return Je(e,t)||ve("Unrecognized scale or projection: "+t),e[t].value}var iie="width",sie="height",Qk="padding",oie={skip:!0};function uie(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===Qk?r.left+r.right:0)}function aie(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===Qk?r.top+r.bottom:0)}function CQe(t){var e=t._signals,n=e[iie],r=e[sie],i=e[Qk];function s(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,u=>{t._width=u.size,t._viewWidth=uie(t,u.size),s()},{size:n}),t._resizeHeight=t.add(null,u=>{t._height=u.size,t._viewHeight=aie(t,u.size),s()},{size:r});const o=t.add(null,s,{pad:i});t._resizeWidth.rank=n.rank+1,t._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}function bQe(t,e,n,r,i,s){this.runAfter(o=>{let u=0;o._autosize=0,o.width()!==n&&(u=1,o.signal(iie,n,oie),o._resizeWidth.skip(!0)),o.height()!==r&&(u=1,o.signal(sie,r,oie),o._resizeHeight.skip(!0)),o._viewWidth!==t&&(o._resize=1,o._viewWidth=t),o._viewHeight!==e&&(o._resize=1,o._viewHeight=e),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),u&&o.run("enter"),s&&o.runAfter(a=>a.resize())},!1,1)}function TQe(t){return this._runtime.getState(t||{data:RQe,signals:OQe,recurse:!0})}function RQe(t,e){return e.modified&&_e(e.input.value)&&t.indexOf("_:vega:_")}function OQe(t,e){return!(t==="parent"||e instanceof jy.proxy)}function NQe(t){return this.runAsync(null,e=>{e._trigger=!1,e._runtime.setState(t)},e=>{e._trigger=!0}),this}function DQe(t,e){function n(r){t({timestamp:Date.now(),elapsed:r})}this._timers.push(t9e(n,e))}function FQe(t,e,n,r){const i=t.element();i&&i.setAttribute("title",wQe(r))}function wQe(t){return t==null?"":_e(t)?lie(t):Qe(t)&&!Ox(t)?LQe(t):t+""}function LQe(t){return Object.keys(t).map(e=>{const n=t[e];return e+": "+(_e(n)?lie(n):cie(n))}).join(`
|
|
1338
|
-
`)}function lie(t){return"["+t.map(cie).join(", ")+"]"}function cie(t){return _e(t)?"[…]":Qe(t)&&!Ox(t)?"{…}":t}function fie(t,e){const n=this;if(e=e||{},Py.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),e.logLevel!=null&&n.logLevel(e.logLevel),e.locale||t.locale){const s=ct({},t.locale,e.locale);n.locale(vY(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||nd.Canvas,n._scenegraph=new EZ;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||FQe,n._redraw=!0,n._handler=new xR().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=Jze(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=vQe(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map(s=>({state:null,param:ct({},s)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=uie(n,n._width),n._viewHeight=aie(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,CQe(n),Uze(n),qze(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function IO(t,e){return Je(t._signals,e)?t._signals[e]:ve("Unrecognized signal name: "+Fe(e))}function xie(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function die(t,e,n,r){let i=xie(n,r);return i||(i=qk(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function hie(t,e,n){const r=xie(e,n);return r&&e._targets.remove(r),t}De(fie,Py,{async evaluate(t,e,n){if(await Py.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,Gze(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&aT(this,n),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;return e!==this._desc&&Vre(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const r=IO(this,t);return arguments.length===1?r.value:this.update(r,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",rie(t)):rie(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){return arguments.length?(gB(t)||ve("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&(Py.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(IO(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:bQe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=qk(this,e),r.raw=e),this._handler.on(t,r),this},removeEventListener(t,e){for(var n=this._handler.handlers(t),r=n.length,i,s;--r>=0;)if(s=n[r].type,i=n[r].handler,t===s&&(e===i||e===i.raw)){this._handler.off(s,i);break}return this},addResizeListener(t){const e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},addSignalListener(t,e){return die(this,t,IO(this,t),e)},removeSignalListener(t,e){return hie(this,IO(this,t),e)},addDataListener(t,e){return die(this,t,NO(this,t).values,e)},removeDataListener(t,e){return hie(this,NO(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=Uk(this,null);this._globalCursor=!!t,e&&Uk(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:DQe,events:eQe,finalize:nQe,hover:tQe,data:Hze,change:DO,insert:zze,remove:Qze,scale:_Qe,initialize:gQe,toImageURL:yQe,toCanvas:AQe,toSVG:SQe,getState:TQe,setState:NQe});const IQe="view",$O="[",BO="]",pie="{",gie="}",$Qe=":",mie=",",BQe="@",kQe=">",PQe=/[[\]{}]/,MQe={"*":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 yie,Eie;function hd(t,e,n){return yie=e||IQe,Eie=n||MQe,Aie(t.trim()).map(Gk)}function jQe(t){return Eie[t]}function i3(t,e,n,r,i){const s=t.length;let o=0,u;for(;e<s;++e){if(u=t[e],!o&&u===n)return e;i&&i.indexOf(u)>=0?--o:r&&r.indexOf(u)>=0&&++o}return e}function Aie(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=i3(t,i,mie,$O+pie,BO+gie),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function Gk(t){return t[0]==="["?UQe(t):qQe(t)}function UQe(t){const e=t.length;let n=1,r;if(n=i3(t,n,BO,$O,BO),n===e)throw"Empty between selector: "+t;if(r=Aie(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==kQe)throw"Expected '>' after between selector: "+t;r=r.map(Gk);const i=Gk(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function qQe(t){const e={source:yie},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===gie){if(u=t.lastIndexOf(pie),u>=0){try{r=HQe(t.substring(u+1,o-1))}catch{throw"Invalid throttle specification: "+t}t=t.slice(0,u).trim(),o=t.length}else throw"Unmatched right brace: "+t;u=0}if(!o)throw t;if(t[0]===BQe&&(i=++u),a=i3(t,u,$Qe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=i3(t,u,$O),u===o)n.push(t.substring(s,o).trim());else if(n.push(t.substring(s,u).trim()),l=[],s=++u,s===o)throw"Unmatched left bracket: "+t;for(;u<o;){if(u=i3(t,u,BO),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==$O)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||PQe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):jQe(n[0])?e.marktype=n[0]:e.source=n[0]):e.type=n[0],e.type.slice(-1)==="!"&&(e.consume=!0,e.type=e.type.slice(0,-1)),l!=null&&(e.filter=l),r[0]&&(e.throttle=r[0]),r[1]&&(e.debounce=r[1]),e}function HQe(t){const e=t.split(mie);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function zQe(t){return Qe(t)?t:{type:t||"pad"}}const s3=t=>+t||0,QQe=t=>({top:t,bottom:t,left:t,right:t});function GQe(t){return Qe(t)?t.signal?t:{top:s3(t.top),bottom:s3(t.bottom),left:s3(t.left),right:s3(t.right)}:QQe(s3(t))}const Sr=t=>Qe(t)&&!_e(t)?ct({},t):{value:t};function Sie(t,e,n,r){return n!=null?(Qe(n)&&!_e(n)||_e(n)&&n.length&&Qe(n[0])?t.update[e]=n:t[r||"enter"][e]={value:n},1):0}function Br(t,e,n){for(const r in e)Sie(t,r,e[r]);for(const r in n)Sie(t,r,n[r],"update")}function E2(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function A2(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const Wk="mark",Vk="frame",Yk="scope",WQe="axis",VQe="axis-domain",YQe="axis-grid",XQe="axis-label",KQe="axis-tick",JQe="axis-title",ZQe="legend",eGe="legend-band",tGe="legend-entry",nGe="legend-gradient",vie="legend-label",rGe="legend-symbol",iGe="legend-title",sGe="title",oGe="title-text",uGe="title-subtitle";function aGe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!A2(a,t)&&Xk(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===Vk?i.group:n===Wk?ct({},i.mark,i[e]):null;for(a in c)l=A2(a,t)||(a==="fill"||a==="stroke")&&(A2("fill",t)||A2("stroke",t)),l||Xk(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)A2(h,t)||Xk(s,h,x[h])}),t=ct({},t);for(a in s)c=s[a],c.signal?(u=u||{})[a]=c:o[a]=c;return t.enter=ct(o,t.enter),u&&(t.update=ct(u,t.update)),t}function Xk(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const _ie=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:Cie(t);function kO(t){if(t.gradient!=null)return cGe(t);let e=t.signal?`(${t.signal})`:t.color?lGe(t.color):t.field!=null?Cie(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=fGe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${MO(t.exponent)})`),t.mult!=null&&(e+=`*${MO(t.mult)}`),t.offset!=null&&(e+=`+${MO(t.offset)}`),t.round&&(e=`round(${e})`),e}const PO=(t,e,n,r)=>`(${t}(${[e,n,r].map(kO).join(",")})+'')`;function lGe(t){return t.c?PO("hcl",t.h,t.c,t.l):t.h||t.s?PO("hsl",t.h,t.s,t.l):t.l||t.a?PO("lab",t.l,t.a,t.b):t.r||t.g||t.b?PO("rgb",t.r,t.g,t.b):null}function cGe(t){const e=[t.start,t.stop,t.count].map(n=>n==null?null:Fe(n));for(;e.length&&_t(e)==null;)e.pop();return e.unshift(_ie(t.gradient)),`gradient(${e.join(",")})`}function MO(t){return Qe(t)?"("+kO(t)+")":t}function Cie(t){return bie(Qe(t)?t:{datum:t})}function bie(t){let e,n,r;if(t.signal)e="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),e="item";n-- >0;)e+=".mark.group";t.parent?(r=t.parent,e+=".datum"):r=t.group}else t.datum?(e="datum",r=t.datum):ve("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?El(r).map(Fe).join("]["):bie(r)),e+"["+r+"]"}function fGe(t,e){const n=_ie(t.scale);return t.range!=null?e=`lerp(_range(${n}), ${+t.range})`:(e!==void 0&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band==1?"":"*"+MO(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function xGe(t){let e="";return t.forEach(n=>{const r=kO(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function Tie(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=aGe(t,e,n,r,i.config);for(const u in t)o[u]=dGe(t[u],e,s,i);return s}function dGe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=pGe(hGe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function hGe(t){return _e(t)?xGe(t):kO(t)}function pGe(t,e,n,r){const i=_a(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const gGe="outer",mGe=["value","update","init","react","bind"];function Rie(t,e){ve(t+' for "outer" push: '+Fe(e))}function Oie(t,e){const n=t.name;if(t.push===gGe)e.signals[n]||Rie("No prior signal definition",n),mGe.forEach(r=>{t[r]!==void 0&&Rie("Invalid property ",r)});else{const r=e.addSignal(n,t.value);t.react===!1&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}function Kk(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function jO(t,e,n,r){return new Kk(t,e,n,r)}function UO(t,e){return jO("operator",t,e)}function Ke(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function o3(t,e){return e?{$field:t,$name:e}:{$field:t}}const Jk=o3("key");function Nie(t,e){return{$compare:t,$order:e}}function yGe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const EGe="ascending",AGe="descending";function SGe(t){return Qe(t)?(t.order===AGe?"-":"+")+qO(t.op,t.field):""}function qO(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const Zk="scope",e8="view";function nr(t){return t&&t.signal}function vGe(t){return t&&t.expr}function HO(t){if(nr(t))return!0;if(Qe(t)){for(const e in t)if(HO(t[e]))return!0}return!1}function uu(t,e){return t??e}function pd(t){return t&&t.signal||t}const Die="timer";function u3(t,e){return(t.merge?CGe:t.stream?bGe:t.type?TGe:ve("Invalid stream specification: "+Fe(t)))(t,e)}function _Ge(t){return t===Zk?e8:t||e8}function CGe(t,e){const n=t.merge.map(i=>u3(i,e)),r=t8({merge:n},t,e);return e.addStream(r).id}function bGe(t,e){const n=u3(t.stream,e),r=t8({stream:n},t,e);return e.addStream(r).id}function TGe(t,e){let n;t.type===Die?(n=e.event(Die,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(_Ge(t.source),t.type);const r=t8({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function t8(t,e,n){let r=e.between;return r&&(r.length!==2&&ve('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[u3(r[0],n),u3(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(RGe(e.marktype,e.markname,e.markrole)),e.source===Zk&&r.push("inScope(event.item)"),r.length&&(t.filter=_a("("+r.join(")&&(")+")",n).$expr),(r=e.throttle)!=null&&(t.throttle=+r),(r=e.debounce)!=null&&(t.debounce=+r),e.consume&&(t.consume=!0),t}function RGe(t,e,n){const r="event.item";return r+(t&&t!=="*"?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}const OGe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function NGe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||ve("Signal update missing events specification."),je(s)&&(s=hd(s,e.isSubscope()?Zk:e8)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[FGe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&ve("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?_a(o,e):o.expr!=null?_a(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:OGe,$params:{$value:e.signalRef(o.signal)}}:ve("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(DGe(a,e),i)))}function DGe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):u3(t,e)}}function FGe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function wGe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?ve("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=_a(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>NGe(i,e,n.id))}const jt=t=>(e,n,r)=>jO(t,n,e||void 0,r),Fie=jt("aggregate"),LGe=jt("axisticks"),wie=jt("bound"),au=jt("collect"),Lie=jt("compare"),IGe=jt("datajoin"),Iie=jt("encode"),$Ge=jt("expression"),BGe=jt("facet"),kGe=jt("field"),PGe=jt("key"),MGe=jt("legendentries"),jGe=jt("load"),UGe=jt("mark"),qGe=jt("multiextent"),HGe=jt("multivalues"),zGe=jt("overlap"),QGe=jt("params"),$ie=jt("prefacet"),GGe=jt("projection"),WGe=jt("proxy"),VGe=jt("relay"),Bie=jt("render"),YGe=jt("scale"),gd=jt("sieve"),XGe=jt("sortitems"),kie=jt("viewlayout"),KGe=jt("values");let JGe=0;const Pie={min:"min",max:"max",count:"sum"};function ZGe(t,e){const n=t.type||"linear";EJ(n)||ve("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function eWe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Mie(t.domain,t,e),t.range!=null&&(n.range=Uie(t,e,n)),t.interpolate!=null&&cWe(t.interpolate,n),t.nice!=null&&(n.nice=lWe(t.nice)),t.bins!=null&&(n.bins=aWe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=So(t[r],e))}function So(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):ve("Unsupported object: "+Fe(t)):t}function zO(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>So(n,e))}function QO(t){ve("Can not find data set: "+Fe(t))}function Mie(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&ve("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(_e(t)?tWe:t.fields?rWe:nWe)(t,e,n)}function tWe(t,e,n){return t.map(r=>So(r,n))}function nWe(t,e,n){const r=n.getData(t.data);return r||QO(t.data),Kp(e.type)?r.valuesRef(n,t.field,jie(t.sort,!1)):vJ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function rWe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:_e(o)||o.signal?iWe(o,n):o,s.push(o),s),[]);return(Kp(e.type)?sWe:vJ(e.type)?oWe:uWe)(t,n,i)}function iWe(t,e){const n="_:vega:_"+JGe++,r=au({});if(_e(t))r.value={$ingest:t};else if(t.signal){const i="setdata("+Fe(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,gd({})]),{data:n,field:"data"}}function sWe(t,e,n){const r=jie(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||QO(l.data),c.countsRef(e,l.field,r)}),u={groupby:Jk,pulse:o};r&&(i=r.op||"count",s=r.field?qO(i,r.field):"count",u.ops=[Pie[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Fie(u));const a=e.add(au({pulse:Ke(i)}));return s=e.add(KGe({field:Jk,sort:e.sortRef(r),pulse:Ke(a)})),Ke(s)}function jie(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?ve("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!Pie[t.op]&&ve("Multiple domain scales can not be sorted using "+t.op)),t}function oWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||QO(i.data),s.domainRef(e,i.field)});return Ke(e.add(HGe({values:r})))}function uWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||QO(i.data),s.extentRef(e,i.field)});return Ke(e.add(qGe({extents:r})))}function aWe(t,e){return t.signal||_e(t)?zO(t,e):e.objectProperty(t)}function lWe(t){return Qe(t)?{interval:So(t.interval),step:So(t.step)}:So(t)}function cWe(t,e){e.interpolate=So(t.type||t),t.gamma!=null&&(e.interpolateGamma=So(t.gamma))}function Uie(t,e,n){const r=e.config.range;let i=t.range;if(i.signal)return e.signalRef(i.signal);if(je(i)){if(r&&Je(r,i))return t=ct({},t,{range:r[i]}),Uie(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=Kp(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:ve("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=_e(i.scheme)?zO(i.scheme,e):So(i.scheme,e),i.extent&&(n.schemeExtent=zO(i.extent,e)),i.count&&(n.schemeCount=So(i.count,e));return}else if(i.step){n.rangeStep=So(i.step,e);return}else{if(Kp(t.type)&&!_e(i))return Mie(i,t,e);_e(i)||ve("Unsupported range type: "+Fe(i))}return i.map(s=>(_e(s)?zO:So)(s,e))}function fWe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=n8(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=n8(n[i],i,e));e.addProjection(t.name,r)}function n8(t,e,n){return _e(t)?t.map(r=>n8(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:ve("Unsupported parameter object: "+Fe(t)):t}const lu="top",S2="left",v2="right",Dc="bottom",qie="center",xWe="vertical",dWe="start",hWe="middle",pWe="end",r8="index",i8="label",gWe="offset",_2="perc",mWe="perc2",vo="value",a3="guide-label",s8="guide-title",yWe="group-title",EWe="group-subtitle",Hie="symbol",GO="gradient",o8="discrete",u8="size",a8=[u8,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],l3={name:1,style:1,interactive:1},Ct={value:0},_o={value:1},WO="group",zie="rect",l8="rule",AWe="symbol",md="text";function c3(t){return t.type=WO,t.interactive=t.interactive||!1,t}function ds(t,e){const n=(r,i)=>uu(t[r],uu(e[r],i));return n.isVertical=r=>xWe===uu(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>uu(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>uu(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>uu(t.columns,uu(e.columns,+n.isVertical(!0))),n}function Qie(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 SWe(t,e,n){const r=e.config.style[n];return r&&r[t]}function VO(t,e,n){return`item.anchor === '${dWe}' ? ${t} : item.anchor === '${pWe}' ? ${e} : ${n}`}const c8=VO(Fe(S2),Fe(v2),Fe(qie));function vWe(t){const e=t("tickBand");let n=t("tickOffset"),r,i;return e?e.signal?(r={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${e.signal}) === 'extent'`},Qe(n)||(n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`})):e==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=t("bandPosition"),i=t("tickExtra")),{extra:i,band:r,offset:n}}function Gie(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Gie(t.offset,e)}):{value:t,offset:e}:e:t}function qs(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=E2(t.encode,e,l3)):t.interactive=!1,t}function _We(t,e,n,r){const i=ds(t,n),s=i.isVertical(),o=i.gradientThickness(),u=i.gradientLength();let a,l,c,f,x;s?(l=[0,1],c=[0,0],f=o,x=u):(l=[0,0],c=[1,0],f=u,x=o);const h={enter:a={opacity:Ct,x:Ct,y:Ct,width:Sr(f),height:Sr(x)},update:ct({},a,{opacity:_o,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Br(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),qs({type:zie,role:nGe,encode:h},r)}function CWe(t,e,n,r,i){const s=ds(t,n),o=s.isVertical(),u=s.gradientThickness(),a=s.gradientLength();let l,c,f,x,h="";o?(l="y",f="y2",c="x",x="width",h="1-"):(l="x",f="x2",c="y",x="height");const p={opacity:Ct,fill:{scale:e,field:vo}};p[l]={signal:h+"datum."+_2,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+mWe,mult:a},p[x]=Sr(u);const m={enter:p,update:ct({},p,{opacity:_o}),exit:{opacity:Ct}};return Br(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),qs({type:zie,role:eGe,key:vo,from:i,encode:m},r)}const bWe=`datum.${_2}<=0?"${S2}":datum.${_2}>=1?"${v2}":"${qie}"`,TWe=`datum.${_2}<=0?"${Dc}":datum.${_2}>=1?"${lu}":"${hWe}"`;function Wie(t,e,n,r){const i=ds(t,e),s=i.isVertical(),o=Sr(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:_o,text:{field:i8}},exit:{opacity:Ct}};return Br(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:uu(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:TWe},f="y",x="x",h="1-"):(l.align=c.align={signal:bWe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+_2,mult:u},l[x]=c[x]=o,o.offset=uu(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+r8}:void 0,qs({type:md,role:vie,style:a3,key:vo,from:r,encode:p,overlap:a},n)}function RWe(t,e,n,r,i){const s=ds(t,e),o=n.entries,u=!!(o&&o.interactive),a=o?o.name:void 0,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},x=`(${i}) ? datum.${gWe} : datum.${u8}`,h=l?Sr(l):{field:u8},p=`datum.${r8}`,m=`max(1, ${i})`;let g,y,E,A,S;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:_o,x:y.x,y:y.y},exit:{opacity:Ct}};let v=null,_=null;t.fill||(v=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Br(g,{fill:s("symbolFillColor",v),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),a8.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:vo})});const C=qs({type:AWe,role:rGe,key:vo,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=Sr(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:_o,text:{field:i8},x:y.x,y:y.y},exit:{opacity:Ct}},Br(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 O=qs({type:md,role:vie,style:a3,key:vo,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?Sr(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:_o,row:{signal:null},column:{signal:null}}},s.isVertical(!0)?(A=`ceil(item.mark.items.length / ${m})`,E.row.signal=`${p}%${A}`,E.column.signal=`floor(${p} / ${A})`,S={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,S={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:r8}},c3({role:Yk,from:r,encode:E2(g,o,l3),marks:[C,O],name:a,interactive:u,sort:S})}function OWe(t,e){const n=ds(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const f8='item.orient === "left"',x8='item.orient === "right"',YO=`(${f8} || ${x8})`,NWe=`datum.vgrad && ${YO}`,DWe=VO('"top"','"bottom"','"middle"'),FWe=VO('"right"','"left"','"center"'),wWe=`datum.vgrad && ${x8} ? (${FWe}) : (${YO} && !(datum.vgrad && ${f8})) ? "left" : ${c8}`,LWe=`item._anchor || (${YO} ? "middle" : "start")`,IWe=`${NWe} ? (${f8} ? -90 : 90) : 0`,$We=`${YO} ? (datum.vgrad ? (${x8} ? "bottom" : "top") : ${DWe}) : "top"`;function BWe(t,e,n,r){const i=ds(t,e),s={enter:{opacity:Ct},update:{opacity:_o,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Br(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:LWe},angle:{signal:IWe},align:{signal:wWe},baseline:{signal:$We},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),qs({type:md,role:iGe,style:s8,from:r,encode:s},n)}function kWe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Vie(t.path)+")":t.sphere&&(n="geoShape("+Vie(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Vie(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Yie(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===WO?Yk:e||Wk}function PWe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Yie(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function MWe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function d8(t,e){const n=N5e(t.type);n||ve("Unrecognized transform type: "+Fe(t.type));const r=jO(n.type.toLowerCase(),null,Xie(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Xie(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=jWe(o,e,n)}return r}function jWe(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return UWe(t,e,n);if(i===void 0){t.required&&ve("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return qWe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!nr(i)?i.map(s=>Kie(t,s,n)):Kie(t,i,n)}function Kie(t,e,n){const r=t.type;if(nr(e))return Zie(r)?ve("Expression references can not be signals."):h8(r)?n.fieldRef(e):ese(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||h8(r);return i&&HWe(e)?n.exprRef(e.expr,e.as):i&&zWe(e)?o3(e.field,e.as):Zie(r)?_a(e,n):QWe(r)?Ke(n.getData(e).values):h8(r)?o3(e):ese(r)?n.compareRef(e):e}}function UWe(t,e,n){return je(e.from)||ve('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function qWe(t,e,n){const r=e[t.name];return t.array?(_e(r)||ve("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Jie(t,i,n))):Jie(t,r,n)}function Jie(t,e,n){const r=t.params.length;let i;for(let o=0;o<r;++o){i=t.params[o];for(const u in i.key)if(i.key[u]!==e[u]){i=null;break}if(i)break}i||ve("Unsupported parameter: "+Fe(e));const s=ct(Xie(i,e,n),i.key);return Ke(n.add(QGe(s)))}const HWe=t=>t&&t.expr,zWe=t=>t&&t.field,QWe=t=>t==="data",Zie=t=>t==="expr",h8=t=>t==="field",ese=t=>t==="compare";function GWe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||ve("Only group marks can be faceted."),r.field!=null?o=u=XO(r,n):(t.data?u=Ke(n.getData(t.data).aggregate):(s=d8(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=XO(r,n),o=u=Ke(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Ke(n.add(au(null,[{}]))),o||(o=XO(t,n)),{key:i,pulse:o,parent:u}}function XO(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Ke(e.getData(t.data).output)}function yd(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}yd.fromEntries=function(t,e){const n=e.length,r=e[n-1],i=e[n-2];let s=e[0],o=null,u=1;for(s&&s.type==="load"&&(s=e[1]),t.add(e[0]);u<n;++u)e[u].params.pulse=Ke(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new yd(t,s,i,r,o)};function tse(t){return je(t)?t:null}function nse(t,e,n){const r=qO(n.op,n.field);let i;if(e.ops){for(let s=0,o=e.as.length;s<o;++s)if(e.as[s]===r)return}else e.ops=["count"],e.fields=[null],e.as=["count"];n.op&&(e.ops.push((i=n.op.signal)?t.signalRef(i):n.op),e.fields.push(t.fieldRef(n.field)),e.as.push(r))}function f3(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=SGe(s);let l=tse(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:Jk,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Ke(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(jO(r,void 0,x)),o&&(e.index[i]=f),c=Ke(f),l!=null&&(u[l]=c)}return c}yd.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=tse(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&nse(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Ke(r.output)},n&&n.field&&nse(t,a,n),u=t.add(Fie(a)),o=t.add(au({pulse:Ke(u)})),o={agg:u,ref:Ke(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Ke(this.values)},extentRef(t,e){return f3(t,this,"extent","extent",e,!1)},domainRef(t,e){return f3(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return f3(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return f3(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return f3(t,this,"indata","tupleindex",e,!0,!0)}};function WWe(t,e,n){const r=t.from.facet,i=r.name,s=XO(r,e);let o;r.name||ve("Facet must have a name: "+Fe(r)),r.data||ve("Facet must reference a data set: "+Fe(r)),r.field?o=e.add($ie({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add(BGe({key:e.keyRef(r.groupby),group:Ke(e.proxy(n.parent)),pulse:s})):ve("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(au()),l=u.add(gd({pulse:Ke(a)}));u.addData(i,new yd(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function VWe(t,e,n){const r=e.add($ie({pulse:n.pulse})),i=e.fork();i.add(gd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function rse(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(UO()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=_a(l,e);a.update=c.$expr,a.params=c.$params}function KO(t,e){const n=Yie(t),r=t.type===WO,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===Yk||n===Vk,u,a,l,c,f,x,h;const p=n===Wk||o||i,m=GWe(t.from,r,e);a=e.add(IGe({key:m.key||(t.key?o3(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Ke(a);a=l=e.add(au({pulse:g})),a=e.add(UGe({markdef:PWe(t),interactive:MWe(t.interactive,e),clip:kWe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Ke(a)}));const y=Ke(a);a=c=e.add(Iie(Tie(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=d8(_,e),b=C.metadata;(b.generates||b.changes)&&ve("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Ke(a),e.add(a=C)}),t.sort&&(a=e.add(XGe({sort:e.compareRef(t.sort),pulse:Ke(a)})));const E=Ke(a);(i||o)&&(o=e.add(kie({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Ke(o));const A=e.add(wie({mark:y,pulse:x||E}));h=Ke(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?WWe(t,e,m):p?VWe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=YWe(s,h,e));const S=e.add(Bie({pulse:h})),v=e.add(gd({pulse:Ke(S)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new yd(e,l,S,v)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&ve("Marks only support modify triggers."),rse(_,e,f)}))}function YWe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:nr(s)?n.signalRef(s.signal):s,method:nr(r)?n.signalRef(r.signal):r,pulse:e};if(t.order&&(o.sort=n.compareRef({field:t.order})),i){const u=i.tolerance;o.boundTolerance=nr(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Ke(n.add(zGe(o)))}function XWe(t,e){const n=e.config.legend,r=t.encode||{},i=ds(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;a8.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||ve("Missing valid scale for legend.");const p=KWe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Ke(e.add(au(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Ke(e.add(MGe(x={type:p,scale:e.scaleRef(c),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return p===GO?(h=[_We(t,c,n,r.gradient),Wie(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${pd(i.gradientLength())})/100))`)):p===o8?h=[CWe(t,c,n,r.gradient,E),Wie(t,n,r.labels,E)]:(f=OWe(t,n),h=[RWe(t,n,r,E,pd(f.columns))],x.size=eVe(t,e,h[0].marks)),h=[c3({role:tGe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push(BWe(t,n,r.title,g)),KO(c3({role:ZQe,from:g,encode:E2(ZWe(i,t,n),s,l3),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function KWe(t,e){let n=t.type||Hie;return!t.type&&JWe(t)===1&&(t.fill||t.stroke)&&(n=C$(e)?GO:b$(e)?o8:Hie),n!==GO?n:b$(e)?o8:GO}function JWe(t){return a8.reduce((e,n)=>e+(t[n]?1:0),0)}function ZWe(t,e,n){const r={enter:{},update:{}};return Br(r,{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}),r}function eVe(t,e,n){const r=pd(ise("size",t,n)),i=pd(ise("strokeWidth",t,n)),s=pd(tVe(n[1].encode,e,a3));return _a(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function ise(t,e,n){return e[t]?`scale("${e[t]}",datum)`:Qie(t,n[0].encode)}function tVe(t,e,n){return Qie("fontSize",t)||SWe("fontSize",e,n)}const nVe=`item.orient==="${S2}"?-90:item.orient==="${v2}"?90:0`;function rVe(t,e){t=je(t)?{text:t}:t;const n=ds(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Ke(e.add(au(null,[l])));return a.push(oVe(t,n,iVe(t),c)),t.subtitle&&a.push(uVe(t,n,r.subtitle,c)),KO(c3({role:sGe,from:c,encode:sVe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function iVe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function sVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:c8},angle:{signal:nVe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),E2(n,e,l3)}function oVe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{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")}),qs({type:md,role:oGe,style:yWe,from:r,encode:o},n)}function uVe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{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")}),qs({type:md,role:uGe,style:EWe,from:r,encode:o},n)}function aVe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(d8(r,e))}),t.on&&t.on.forEach(r=>{rse(r,e,t.name)}),e.addDataPipeline(t.name,lVe(t,e,n))}function lVe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?nr(t.values)||HO(t.format)?(r.push(sse(e,t)),r.push(i=Ed())):r.push(i=Ed({$ingest:t.values,$format:t.format})):t.url?HO(t.url)||HO(t.format)?(r.push(sse(e,t)),r.push(i=Ed())):r.push(i=Ed({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Ke(e.getData(x).output)),r.push(null)),a=0,l=n.length;a<l;++a)c=n[a],f=c.metadata,!i&&!f.source&&r.push(i=Ed()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(s=!0),f.source?i=c:f.changes&&(i=null);return u&&(l=u.length-1,r[0]=VGe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Ed())),i||r.push(Ed()),r.push(gd({})),r}function Ed(t){const e=au({},t);return e.metadata={source:!0},e}function sse(t,e){return jGe({url:e.url?t.property(e.url):void 0,async:e.async?t.property(e.async):void 0,values:e.values?t.property(e.values):void 0,format:t.objectProperty(e.format)})}const ose=t=>t===Dc||t===lu,JO=(t,e,n)=>nr(t)?dVe(t.signal,e,n):t===S2||t===lu?e:n,vr=(t,e,n)=>nr(t)?fVe(t.signal,e,n):ose(t)?e:n,cu=(t,e,n)=>nr(t)?xVe(t.signal,e,n):ose(t)?n:e,use=(t,e,n)=>nr(t)?hVe(t.signal,e,n):t===lu?{value:e}:{value:n},cVe=(t,e,n)=>nr(t)?pVe(t.signal,e,n):t===v2?{value:e}:{value:n},fVe=(t,e,n)=>ase(`${t} === '${lu}' || ${t} === '${Dc}'`,e,n),xVe=(t,e,n)=>ase(`${t} !== '${lu}' && ${t} !== '${Dc}'`,e,n),dVe=(t,e,n)=>p8(`${t} === '${S2}' || ${t} === '${lu}'`,e,n),hVe=(t,e,n)=>p8(`${t} === '${lu}'`,e,n),pVe=(t,e,n)=>p8(`${t} === '${v2}'`,e,n),ase=(t,e,n)=>(e=e!=null?Sr(e):e,n=n!=null?Sr(n):n,lse(e)&&lse(n)?(e=e?e.signal||Fe(e.value):null,n=n?n.signal||Fe(n.value):null,{signal:`${t} ? (${e}) : (${n})`}):[ct({test:t},e)].concat(n||[])),lse=t=>t==null||Object.keys(t).length===1,p8=(t,e,n)=>({signal:`${t} ? (${C2(e)}) : (${C2(n)})`}),gVe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${S2}' ? (${C2(r)}) : `:"")+(n!=null?`${t} === '${Dc}' ? (${C2(n)}) : `:"")+(i!=null?`${t} === '${v2}' ? (${C2(i)}) : `:"")+(e!=null?`${t} === '${lu}' ? (${C2(e)}) : `:"")+"(null)"}),C2=t=>nr(t)?t.signal:t==null?null:Fe(t),mVe=(t,e)=>e===0?0:nr(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},b2=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function T2(t,e,n,r){let i;if(e&&Je(e,t))return e[t];if(Je(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[s8][i]}else if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[a3][i]}return null}function cse(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function yVe(t,e){var n=e.config,r=n.style,i=n.axis,s=e.scaleType(t.scale)==="band"&&n.axisBand,o=t.orient,u,a,l;if(nr(o)){const f=cse([n.axisX,n.axisY]),x=cse([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=vr(o,T2(l,n.axisX,i,r),T2(l,n.axisY,i,r));a={};for(l of x)a[l]=gVe(o.signal,T2(l,n.axisTop,i,r),T2(l,n.axisBottom,i,r),T2(l,n.axisLeft,i,r),T2(l,n.axisRight,i,r))}else u=o===lu||o===Dc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function EVe(t,e,n,r){const i=ds(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:_o},exit:{opacity:Ct}};Br(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=fse(t,0),c=fse(t,1);return o.x=u.x=vr(s,l,Ct),o.x2=u.x2=vr(s,c),o.y=u.y=cu(s,l,Ct),o.y2=u.y2=cu(s,c),qs({type:l8,role:VQe,from:r,encode:a},n)}function fse(t,e){return{scale:t.scale,range:e}}function AVe(t,e,n,r,i){const s=ds(t,e),o=t.orient,u=t.gridScale,a=JO(o,1,-1),l=SVe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:_o},exit:f={opacity:Ct}};Br(h,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});const p={scale:t.scale,field:vo,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=vr(o,{signal:"height"},{signal:"width"}),g=u?{scale:u,range:0,mult:a,offset:l}:{value:0,offset:l},y=u?{scale:u,range:1,mult:a,offset:l}:ct(m,{mult:a,offset:l});return c.x=x.x=vr(o,p,g),c.y=x.y=cu(o,p,g),c.x2=x.x2=cu(o,y),c.y2=x.y2=vr(o,y),f.x=vr(o,p),f.y=cu(o,p),qs({type:l8,role:YQe,key:vo,from:r,encode:h},n)}function SVe(t,e){if(e!==1)if(!Qe(t))t=nr(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);else{let n=t=ct({},t);for(;n.mult!=null;)if(Qe(n.mult))n=n.mult=ct({},n.mult);else return n.mult=nr(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function vVe(t,e,n,r,i,s){const o=ds(t,e),u=t.orient,a=JO(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:_o},exit:c={opacity:Ct}};Br(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=Sr(i);h.mult=a;const p={scale:t.scale,field:vo,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=vr(u,Ct,p),f.y2=l.y2=vr(u,h),c.x=vr(u,p),f.x=l.x=cu(u,Ct,p),f.x2=l.x2=cu(u,h),c.y=cu(u,p),qs({type:l8,role:KQe,key:vo,from:r,encode:x},n)}function g8(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function _Ve(t,e,n,r,i,s){const o=ds(t,e),u=t.orient,a=t.scale,l=JO(u,-1,1),c=pd(o("labelFlush")),f=pd(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=Sr(i);g.mult=l,g.offset=Sr(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:vo,band:.5,offset:Gie(s.offset,o("labelOffset"))},E=vr(u,p?g8(a,c,'"left"','"right"','"center"'):{value:"center"},cVe(u,"left","right")),A=vr(u,use(u,"bottom","top"),p?g8(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),S=g8(a,c,`-(${f})`,f,0);p=p&&f;const v={opacity:Ct,x:vr(u,y,g),y:cu(u,y,g)},_={enter:v,update:m={opacity:_o,text:{field:i8},x:v.x,y:v.y,align:E,baseline:A},exit:{opacity:Ct,x:v.x,y:v.y}};Br(_,{dx:!x&&p?vr(u,S):null,dy:!h&&p?cu(u,S):null}),Br(_,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:x,baseline:h});const C=o("labelBound");let b=o("labelOverlap");return b=b||C?{separation:o("labelSeparation"),method:b,order:"datum.index",bound:C?{scale:a,orient:u,tolerance:C}:null}:void 0,m.align!==E&&(m.align=b2(m.align,E)),m.baseline!==A&&(m.baseline=b2(m.baseline,A)),qs({type:md,role:XQe,style:a3,key:vo,from:r,encode:_,overlap:b},n)}function CVe(t,e,n,r){const i=ds(t,e),s=t.orient,o=JO(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:Sr(i("titleAnchor",null)),align:{signal:c8}},update:a=ct({},u,{opacity:_o,text:Sr(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${VO(0,1,.5)})`};return a.x=vr(s,c),a.y=cu(s,c),u.angle=vr(s,Ct,mVe(o,90)),u.baseline=vr(s,use(s,Dc,lu),{value:Dc}),a.angle=u.angle,a.baseline=u.baseline,Br(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),bVe(i,s,l,n),l.update.align=b2(l.update.align,u.align),l.update.angle=b2(l.update.angle,u.angle),l.update.baseline=b2(l.update.baseline,u.baseline),qs({type:md,role:JQe,style:s8,from:r,encode:l},n)}function bVe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=b2(Sr(u),n.update[a]),!1):!A2(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?Sr(o):vr(e,Sr(o),Sr(s))}function TVe(t,e){const n=yVe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=ds(t,n),l=vWe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Ke(e.add(au({},[c]))),x=Ke(e.add(LGe({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)}))),h=[];let p;return c.grid&&h.push(AVe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(vVe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(_Ve(t,n,r.labels,x,p,l))),c.domain&&h.push(EVe(t,n,r.domain,f)),c.title&&h.push(CVe(t,n,r.title,f)),KO(c3({role:WQe,from:f,encode:E2(RVe(a,t),i,l3),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function RVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),offset:t("offset")||0,position:uu(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}),n}function xse(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>Oie(s,e)),Pe(t.projections).forEach(s=>fWe(s,e)),i.forEach(s=>ZGe(s,e)),Pe(t.data).forEach(s=>aVe(s,e)),i.forEach(s=>eWe(s,e)),(n||r).forEach(s=>wGe(s,e)),Pe(t.axes).forEach(s=>TVe(s,e)),Pe(t.marks).forEach(s=>KO(s,e)),Pe(t.legends).forEach(s=>XWe(s,e)),t.title&&rVe(t.title,e),e.parseLambdas(),e}const OVe=t=>E2({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function NVe(t,e){const n=e.config,r=Ke(e.root=e.add(UO())),i=DVe(t,n);i.forEach(l=>Oie(l,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(au()),o=e.add(Iie(Tie(OVe(t.encode),WO,Vk,t.style,e,{pulse:Ke(s)}))),u=e.add(kie({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Ke(o)}));e.operators.pop(),e.pushState(Ke(o),Ke(u),null),xse(t,e,i),e.operators.push(u);let a=e.add(wie({mark:r,pulse:Ke(u)}));return a=e.add(Bie({pulse:Ke(a)})),a=e.add(gd({pulse:Ke(a)})),e.addData("root",new yd(e,s,s,a)),e}function x3(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function DVe(t,e){const n=o=>uu(t[o],e[o]),r=[x3("background",n("background")),x3("autosize",zQe(n("autosize"))),x3("padding",GQe(n("padding"))),x3("width",n("width")||0),x3("height",n("height")||0)],i=r.reduce((o,u)=>(o[u.name]=u,o),{}),s={};return Pe(t.signals).forEach(o=>{Je(i,o.name)?o=ct(i[o.name],o):r.push(o),s[o.name]=o}),Pe(e.signals).forEach(o=>{!Je(s,o.name)&&!Je(i,o.name)&&r.push(o)}),r}function dse(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 hse(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}dse.prototype=hse.prototype={parse(t){return xse(t,this)},fork(){return new hse(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{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){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(e=>{e.$ref=t.id}),t.refs=null),t},proxy(t){const e=t instanceof Kk?Ke(t):t;return this.add(WGe({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;this.root&&(this.root.root=!0);for(t in this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(r,i,s){let o,u;r&&(o=r.data||(r.data={}),u=o[i]||(o[i]=[]),u.push(s))}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 r in e.index)n(e.index[r],t,"index:"+r)}return this},pushState(t,e,n){this._encode.push(Ke(this.add(gd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Ke(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return _t(this._parent)},encode(){return _t(this._encode)},lookup(){return _t(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(je(t))return o3(t,e);t.signal||ve("Unsupported field reference: "+Fe(t));const n=t.signal;let r=this.field[n];if(!r){const i={name:this.signalRef(n)};e&&(i.as=e),this.field[n]=r=Ke(this.add(kGe(i)))}return r},compareRef(t){let e=!1;const n=s=>nr(s)?(e=!0,this.signalRef(s.signal)):vGe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Ke(this.add(Lie({fields:r,orders:i}))):Nie(r,i)},keyRef(t,e){let n=!1;const r=s=>nr(s)?(n=!0,Ke(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Ke(this.add(PGe({fields:t,flat:e}))):yGe(t,e)},sortRef(t){if(!t)return t;const e=qO(t.op,t.field),n=t.order||EGe;return n.signal?Ke(this.add(Lie({fields:e,orders:this.signalRef(n.signal)}))):Nie(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},hasOwnSignal(t){return Je(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&ve("Duplicate signal name: "+Fe(t));const n=e instanceof Kk?e:this.add(UO(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||ve("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Ke(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(UO(null))),Ke(this.lambdas[t]))},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const r=t[e],i=_a(r,this),s=this.lambdas[r];s.params=i.$params,s.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!Qe(t)?t:this.signalRef(t.signal||m8(t))},exprRef(t,e){const n={expr:_a(t,this)};return e&&(n.expr.$name=e),Ke(this.add($Ge(n)))},addBinding(t,e){this.bindings||ve("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&ve("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,YGe(e))},addProjection(t,e){this.addScaleProj(t,GGe(e))},getScale(t){return this.scales[t]||ve("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Ke(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){return Je(this.data,t)&&ve("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||ve("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&ve("Duplicate data set name: "+Fe(t)),this.addData(t,yd.fromEntries(this,e))}};function m8(t){return(_e(t)?FVe:wVe)(t)}function FVe(t){const e=t.length;let n="[";for(let r=0;r<e;++r){const i=t[r];n+=(r>0?",":"")+(Qe(i)?i.signal||m8(i):Fe(i))}return n+"]"}function wVe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||m8(i):Fe(i));return e+"}"}function LVe(){const t="sans-serif",r="#4c78a8",i="#000",s="#888",o="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:t,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:t,fontSize:10},"guide-title":{fill:i,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:t,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:o},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:s,grid:!1,gridWidth:1,gridColor:o,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:s,tickOffset:0,tickRound:!0,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:o,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,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 IVe(t,e,n){return Qe(t)||ve("Input Vega specification must be an object."),e=h5(LVe(),e,t.config),NVe(t,new dse(e,n)).toRuntime()}ct(jy,PIe,p7e,j7e,bMe,E9e,Gje,bje,Vje,mUe,RUe,IUe);const $Ve={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},ZO=28;function BVe(t,e){const n=t.allFields.at(0),r=t.allFields.at(1),{tag:i}=t.tagParse();let s=0,o=0;const u=i.numeric("size","width"),a=i.numeric("size","height");let l=i.text("size");u&&a?(s=u,o=a):(l=l||"md",[s,o]=$Ve[l],o=o*ZO);let c=0,f=0,x=-90,h="right",p="middle",m=0,g=0;const y=l!=="spark",E=l!=="spark",A=e.fields[bx(t)];let S=l!=="spark"?ZO-1:0,v;const _=bx(r),C=e.fields[_].max,b=Dt("linear")().domain([0,C]).nice().range([o,0]),O=b.domain();if(E){const z=b.domain().at(1),Q=vY().format(",")(z);f=py(Q,"Inter, sans-serif 12px")+5+31;const ae=Math.ceil(o/40),ie=b.ticks(ae);if(ie.at(-1)<z){const le=(z-ie.at(-1))/z,xe=o/(1-le);S=S-(xe-o),o=xe,v=ae}}if(y){const z=bx(n),Y=e.fields[z].maxString,Q=py(Y,"Inter, sans-serif 12px"),oe=.3;g=22+15,c=Math.min(Q,oe*o),m=c;const ae=(s-f)/A.maxRecordCt;ae>c&&(x=0,m=ae,h=void 0,p="top")}const R=o+c+g,I=Math.ceil(R/ZO)*ZO;g+=I-R;const M=i.text("size")==="spark";return{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelAlign:h,labelBaseline:p,labelSize:m,height:c,titleSize:g,hidden:M},yAxis:{width:f,tickCount:v,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:S+1,left:f,bottom:c+g,right:0},xField:n,yField:r,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}const eN="#727883",tN="#E5E7EB";function kVe(t,e){const n=BVe(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:tN,tickColor:tN,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:eN,labelPadding:5,titleColor:eN,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10,labelOverlap:!1},axisX:{gridColor:tN,tickColor:tN,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:eN,titleColor:eN,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10},view:{strokeWidth:0}},data:[{name:"table",values:[]}],marks:[],scales:[],legends:[],axes:[],autosize:{type:"none",resize:!0,contains:"content"},padding:n.padding},i={name:"xscale",type:t.x.type==="nominal"?"band":"linear",domain:{data:"table",field:t.x.fields.at(0)},range:"width"};i.type==="band"&&(i.paddingInner=.1,i.paddingOuter=.05,i.round=!0);const s={name:"yscale",type:t.y.type==="nominal"?"band":"linear",domain:n.yScale.domain??{data:"table",fields:t.y.fields},range:"height"};s.type==="linear"&&(s.nice=!0),r.scales.push(i),r.scales.push(s);for(const o of t.marks){const u={},a={name:o.id,source:"table",transform:[]};if(r.data.push(a),o.type==="bar_y"){u.type="rect",u.from={data:o.id};const l=o.x??t.x.fields.at(0),c=o.y??t.y.fields.at(0);u.encode={enter:{x:{scale:"xscale",field:l,band:.1},width:{scale:"xscale",band:.8},y:{scale:"yscale",field:c},y2:{scale:"yscale",value:0},fill:{value:"#53B2C8"}}},r.marks.push(u)}}return n.xAxis.hidden||r.axes.push({orient:"bottom",scale:"xscale",title:t.x.fields.join(", "),labelAngle:n.xAxis.labelAngle,labelLimit:n.xAxis.labelSize,labelAlign:n.xAxis.labelAlign,labelBaseline:n.xAxis.labelBaseline,maxExtent:n.xAxis.height}),n.yAxis.hidden||r.axes.push({orient:"left",scale:"yscale",grid:!0,maxExtent:n.yAxis.width,labelLimit:n.yAxis.width+10,tickCount:n.yAxis.tickCount??{signal:"ceil(height/40)"},title:[...new Set(s.domain.fields)].filter(o=>typeof o=="string").join(", ")}),{spec:r,plotWidth:n.plotWidth,plotHeight:n.plotHeight,totalWidth:n.totalWidth,totalHeight:n.totalHeight}}function PVe(){const t=new WeakMap;return{get:e=>{if(!t.has(e)&&e.isArray()){const n=[];for(const r of e)n.push(r.toObject());t.set(e,n)}return t.get(e)}}}function MVe(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=bx(u);return e.set(u,a),a},r=PVe(),i={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>i.fields[n(u)],getData:r.get},s=t.data.field,o=i.getFieldKey(s);return i.fields[o]={field:s,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},pse(t.data.field,i),gse(t.data,i),Object.values(i.fields).forEach(u=>{const a=u.field;a.isExploreField()?mse(a,a.tagParse().tag,i):a.isExplore()&&mse(a,t.tagParse().tag,i)}),i}function pse(t,e){for(const n of t.allFields){const r=e.getFieldKey(n);e.fields[r]={field:n,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},n.isExploreField()&&pse(n,e)}}const gse=(t,e)=>{let n=0;for(const s of t){n++;for(const o of t.field.allFields){const u=o.isAtomicField()?s.cell(o).value:void 0,a=e.field(o);if(QW(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(GW(o,u)){const l=u;a.values.add(l),(!a.minString||a.minString.length>l.length)&&(a.minString=l),(!a.maxString||a.maxString.length<l.length)&&(a.maxString=l)}else if(o.isExploreField()){const l=s.cell(o);gse(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function mse(t,e,n){const r=n.field(t);if(hy(e,"bar","bar_chart")){const i=OFe(t,e);r.vegaChartProps=kVe(i,{field:t,metadata:n})}}const yse=kP(),Ese=()=>{const t=PP(yse);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t};var nN=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(nN||{}),rr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(rr||{});function jVe(t){return Object.values(rr).includes(t)}var Ase={exports:{}};(function(t){var e={},n=function(i){i.version="0.11.2";function s(T){for(var N="",$=T.length-1;$>=0;)N+=T.charAt($--);return N}function o(T,N){for(var $="";$.length<N;)$+=T;return $}function u(T,N){var $=""+T;return $.length>=N?$:o("0",N-$.length)+$}function a(T,N){var $=""+T;return $.length>=N?$:o(" ",N-$.length)+$}function l(T,N){var $=""+T;return $.length>=N?$:$+o(" ",N-$.length)}function c(T,N){var $=""+Math.round(T);return $.length>=N?$:o("0",N-$.length)+$}function f(T,N){var $=""+T;return $.length>=N?$:o("0",N-$.length)+$}var x=Math.pow(2,32);function h(T,N){if(T>x||T<-x)return c(T,N);var $=Math.round(T);return f($,N)}function p(T,N){return N=N||0,T.length>=7+N&&(T.charCodeAt(N)|32)===103&&(T.charCodeAt(N+1)|32)===101&&(T.charCodeAt(N+2)|32)===110&&(T.charCodeAt(N+3)|32)===101&&(T.charCodeAt(N+4)|32)===114&&(T.charCodeAt(N+5)|32)===97&&(T.charCodeAt(N+6)|32)===108}var m=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],g=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function y(T){T[0]="General",T[1]="0",T[2]="0.00",T[3]="#,##0",T[4]="#,##0.00",T[9]="0%",T[10]="0.00%",T[11]="0.00E+00",T[12]="# ?/?",T[13]="# ??/??",T[14]="m/d/yy",T[15]="d-mmm-yy",T[16]="d-mmm",T[17]="mmm-yy",T[18]="h:mm AM/PM",T[19]="h:mm:ss AM/PM",T[20]="h:mm",T[21]="h:mm:ss",T[22]="m/d/yy h:mm",T[37]="#,##0 ;(#,##0)",T[38]="#,##0 ;[Red](#,##0)",T[39]="#,##0.00;(#,##0.00)",T[40]="#,##0.00;[Red](#,##0.00)",T[45]="mm:ss",T[46]="[h]:mm:ss",T[47]="mmss.0",T[48]="##0.0E+0",T[49]="@",T[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var E={};y(E);var A=[],S=0;for(S=5;S<=8;++S)A[S]=32+S;for(S=23;S<=26;++S)A[S]=0;for(S=27;S<=31;++S)A[S]=14;for(S=50;S<=58;++S)A[S]=14;for(S=59;S<=62;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-58;for(S=72;S<=75;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-57;for(S=76;S<=78;++S)A[S]=S-56;for(S=79;S<=81;++S)A[S]=S-34;var v=[];v[5]=v[63]='"$"#,##0_);\\("$"#,##0\\)',v[6]=v[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',v[7]=v[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',v[8]=v[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',v[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',v[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',v[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',v[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function _(T,N,$){for(var q=T<0?-1:1,L=T*q,H=0,P=1,V=0,fe=1,te=0,X=0,ue=Math.floor(L);te<N&&(ue=Math.floor(L),V=ue*P+H,X=ue*te+fe,!(L-ue<5e-8));)L=1/(L-ue),H=P,P=V,fe=te,te=X;if(X>N&&(te>N?(X=fe,V=H):(X=te,V=P)),!$)return[0,q*V,X];var Be=Math.floor(q*V/X);return[Be,q*V-Be*X,X]}function C(T,N,$){if(T>2958465||T<0)return null;var q=T|0,L=Math.floor(86400*(T-q)),H=0,P=[],V={D:q,T:L,u:86400*(T-q)-L,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(V.u)<1e-6&&(V.u=0),N&&N.date1904&&(q+=1462),V.u>.9999&&(V.u=0,++L==86400&&(V.T=L=0,++q,++V.D)),q===60)P=$?[1317,10,29]:[1900,2,29],H=3;else if(q===0)P=$?[1317,8,29]:[1900,1,0],H=6;else{q>60&&--q;var fe=new Date(1900,0,1);fe.setDate(fe.getDate()+q-1),P=[fe.getFullYear(),fe.getMonth()+1,fe.getDate()],H=fe.getDay(),q<60&&(H=(H+6)%7),$&&(H=Q(fe,P))}return V.y=P[0],V.m=P[1],V.d=P[2],V.S=L%60,L=Math.floor(L/60),V.M=L%60,L=Math.floor(L/60),V.H=L,V.q=H,V}i.parse_date_code=C;var b=new Date(1899,11,31,0,0,0),O=b.getTime(),R=new Date(1900,2,1,0,0,0);function I(T,N){var $=T.getTime();return N?$-=1262304e5:T>=R&&($+=864e5),($-(O+(T.getTimezoneOffset()-b.getTimezoneOffset())*6e4))/864e5}function M(T){return T.toString(10)}i._general_int=M;var z=function(){var N=/(?:\.0*|(\.\d*[1-9])0+)$/;function $(te){return te.indexOf(".")==-1?te:te.replace(N,"$1")}var q=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,L=/(E[+-])(\d)$/;function H(te){return te.indexOf("E")==-1?te:te.replace(q,"$1E").replace(L,"$10$2")}function P(te){var X=te<0?12:11,ue=$(te.toFixed(12));return ue.length<=X||(ue=te.toPrecision(10),ue.length<=X)?ue:te.toExponential(5)}function V(te){var X=$(te.toFixed(11));return X.length>(te<0?12:11)||X==="0"||X==="-0"?te.toPrecision(6):X}function fe(te){var X=Math.floor(Math.log(Math.abs(te))*Math.LOG10E),ue;return X>=-4&&X<=-1?ue=te.toPrecision(10+X):Math.abs(X)<=9?ue=P(te):X===10?ue=te.toFixed(10).substr(0,12):ue=V(te),$(H(ue.toUpperCase()))}return fe}();i._general_num=z;function Y(T,N){switch(typeof T){case"string":return T;case"boolean":return T?"TRUE":"FALSE";case"number":return(T|0)===T?T.toString(10):z(T);case"undefined":return"";case"object":if(T==null)return"";if(T instanceof Date)return U(14,I(T,N&&N.date1904),N)}throw new Error("unsupported value in General format: "+T)}i._general=Y;function Q(T,N){N[0]-=581;var $=T.getDay();return T<60&&($=($+6)%7),$}function oe(T,N,$,q){var L="",H=0,P=0,V=$.y,fe,te=0;switch(T){case 98:V=$.y+543;case 121:switch(N.length){case 1:case 2:fe=V%100,te=2;break;default:fe=V%1e4,te=4;break}break;case 109:switch(N.length){case 1:case 2:fe=$.m,te=N.length;break;case 3:return g[$.m-1][1];case 5:return g[$.m-1][0];default:return g[$.m-1][2]}break;case 100:switch(N.length){case 1:case 2:fe=$.d,te=N.length;break;case 3:return m[$.q][0];default:return m[$.q][1]}break;case 104:switch(N.length){case 1:case 2:fe=1+($.H+11)%12,te=N.length;break;default:throw"bad hour format: "+N}break;case 72:switch(N.length){case 1:case 2:fe=$.H,te=N.length;break;default:throw"bad hour format: "+N}break;case 77:switch(N.length){case 1:case 2:fe=$.M,te=N.length;break;default:throw"bad minute format: "+N}break;case 115:if(N!="s"&&N!="ss"&&N!=".0"&&N!=".00"&&N!=".000")throw"bad second format: "+N;return $.u===0&&(N=="s"||N=="ss")?u($.S,N.length):(q>=2?P=q===3?1e3:100:P=q===1?10:1,H=Math.round(P*($.S+$.u)),H>=60*P&&(H=0),N==="s"?H===0?"0":""+H/P:(L=u(H,2+q),N==="ss"?L.substr(0,2):"."+L.substr(2,N.length-1)));case 90:switch(N){case"[h]":case"[hh]":fe=$.D*24+$.H;break;case"[m]":case"[mm]":fe=($.D*24+$.H)*60+$.M;break;case"[s]":case"[ss]":fe=(($.D*24+$.H)*60+$.M)*60+Math.round($.S+$.u);break;default:throw"bad abstime format: "+N}te=N.length===3?1:2;break;case 101:fe=V,te=1;break}var X=te>0?u(fe,te):"";return X}function de(T){var N=3;if(T.length<=N)return T;for(var $=T.length%N,q=T.substr(0,$);$!=T.length;$+=N)q+=(q.length>0?",":"")+T.substr($,N);return q}var ae=function(){var N=/%/g;function $(Ee,J,re){var Me=J.replace(N,""),G=J.length-Me.length;return ae(Ee,Me,re*Math.pow(10,2*G))+o("%",G)}function q(Ee,J,re){for(var Me=J.length-1;J.charCodeAt(Me-1)===44;)--Me;return ae(Ee,J.substr(0,Me),re/Math.pow(10,3*(J.length-Me)))}function L(Ee,J){var re,Me=Ee.indexOf("E")-Ee.indexOf(".")-1;if(Ee.match(/^#+0.0E\+0$/)){if(J==0)return"0.0E+0";if(J<0)return"-"+L(Ee,-J);var G=Ee.indexOf(".");G===-1&&(G=Ee.indexOf("E"));var ce=Math.floor(Math.log(J)*Math.LOG10E)%G;if(ce<0&&(ce+=G),re=(J/Math.pow(10,ce)).toPrecision(Me+1+(G+ce)%G),re.indexOf("e")===-1){var we=Math.floor(Math.log(J)*Math.LOG10E);for(re.indexOf(".")===-1?re=re.charAt(0)+"."+re.substr(1)+"E+"+(we-re.length+ce):re+="E+"+(we-ce);re.substr(0,2)==="0.";)re=re.charAt(0)+re.substr(2,G)+"."+re.substr(2+G),re=re.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");re=re.replace(/\+-/,"-")}re=re.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(G+ce)%G)+"."+rt.substr(ce)+"E"})}else re=J.toExponential(Me);return Ee.match(/E\+00$/)&&re.match(/e[+-]\d$/)&&(re=re.substr(0,re.length-1)+"0"+re.charAt(re.length-1)),Ee.match(/E\-/)&&re.match(/e\+/)&&(re=re.replace(/e\+/,"e")),re.replace("e","E")}var H=/# (\?+)( ?)\/( ?)(\d+)/;function P(Ee,J,re){var Me=parseInt(Ee[4],10),G=Math.round(J*Me),ce=Math.floor(G/Me),we=G-ce*Me,ze=Me;return re+(ce===0?"":""+ce)+" "+(we===0?o(" ",Ee[1].length+1+Ee[4].length):a(we,Ee[1].length)+Ee[2]+"/"+Ee[3]+u(ze,Ee[4].length))}function V(Ee,J,re){return re+(J===0?"":""+J)+o(" ",Ee[1].length+2+Ee[4].length)}var fe=/^#*0*\.([0#]+)/,te=/\).*[0#]/,X=/\(###\) ###\\?-####/;function ue(Ee){for(var J="",re,Me=0;Me!=Ee.length;++Me)switch(re=Ee.charCodeAt(Me)){case 35:break;case 63:J+=" ";break;case 48:J+="0";break;default:J+=String.fromCharCode(re)}return J}function Be(Ee,J){var re=Math.pow(10,J);return""+Math.round(Ee*re)/re}function ut(Ee,J){var re=Ee-Math.floor(Ee),Me=Math.pow(10,J);return J<(""+Math.round(re*Me)).length?0:Math.round(re*Me)}function Rt(Ee,J){return J<(""+Math.round((Ee-Math.floor(Ee))*Math.pow(10,J))).length?1:0}function K(Ee){return Ee<2147483647&&Ee>-2147483648?""+(Ee>=0?Ee|0:Ee-1|0):""+Math.floor(Ee)}function se(Ee,J,re){if(Ee.charCodeAt(0)===40&&!J.match(te)){var Me=J.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return re>=0?se("n",Me,re):"("+se("n",Me,-re)+")"}if(J.charCodeAt(J.length-1)===44)return q(Ee,J,re);if(J.indexOf("%")!==-1)return $(Ee,J,re);if(J.indexOf("E")!==-1)return L(J,re);if(J.charCodeAt(0)===36)return"$"+se(Ee,J.substr(J.charAt(1)==" "?2:1),re);var G,ce,we,ze,nt=Math.abs(re),yt=re<0?"-":"";if(J.match(/^00+$/))return yt+h(nt,J.length);if(J.match(/^[#?]+$/))return G=h(re,0),G==="0"&&(G=""),G.length>J.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(H))return P(ce,nt,yt);if(J.match(/^#+0+$/))return yt+h(nt,J.length-J.indexOf("0"));if(ce=J.match(fe))return G=Be(re,ce[1].length).replace(/^([^\.]+)$/,"$1."+ue(ce[1])).replace(/\.$/,"."+ue(ce[1])).replace(/\.(\d*)$/,function(Gs,q3){return"."+q3+o("0",ue(ce[1]).length-q3.length)}),J.indexOf("0.")!==-1?G:G.replace(/^0\./,".");if(J=J.replace(/^#+([0.])/,"$1"),ce=J.match(/^(0*)\.(#*)$/))return yt+Be(nt,ce[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,ce[1].length?"0.":".");if(ce=J.match(/^#{1,3},##0(\.?)$/))return yt+de(h(nt,0));if(ce=J.match(/^#,##0\.([#0]*0)$/))return re<0?"-"+se(Ee,J,-re):de(""+(Math.floor(re)+Rt(re,ce[1].length)))+"."+u(ut(re,ce[1].length),ce[1].length);if(ce=J.match(/^#,#*,#0/))return se(Ee,J.replace(/^#,#*,/,""),re);if(ce=J.match(/^([0#]+)(\\?-([0#]+))+$/))return G=s(se(Ee,J.replace(/[\\-]/g,""),re)),we=0,s(s(J.replace(/\\/g,"")).replace(/[0#]/g,function(Gs){return we<G.length?G.charAt(we++):Gs==="0"?"0":""}));if(J.match(X))return G=se(Ee,"##########",re),"("+G.substr(0,3)+") "+G.substr(3,3)+"-"+G.substr(6);var rt="";if(ce=J.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(ce[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),G=""+yt,rt=ae("n",ce[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),G+=rt+ce[2]+"/"+ce[3],rt=l(ze[2],we),rt.length<ce[4].length&&(rt=ue(ce[4].substr(ce[4].length-rt.length))+rt),G+=rt,G;if(ce=J.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(ce[1].length,ce[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+ce[2]+"/"+ce[3]+l(ze[2],we):o(" ",2*we+1+ce[2].length+ce[3].length));if(ce=J.match(/^[#0?]+$/))return G=h(re,0),J.length<=G.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(/^([#0?]+)\.([#0]+)$/)){G=""+re.toFixed(Math.min(ce[2].length,10)).replace(/([^0])0+$/,"$1"),we=G.indexOf(".");var Tr=J.indexOf(".")-we,Kc=J.length-G.length-Tr;return ue(J.substr(0,Tr)+G+J.substr(J.length-Kc))}if(ce=J.match(/^00,000\.([#0]*0)$/))return we=ut(re,ce[1].length),re<0?"-"+se(Ee,J,-re):de(K(re)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Gs){return"00,"+(Gs.length<3?u(0,3-Gs.length):"")+Gs})+"."+u(we,ce[1].length);switch(J){case"###,##0.00":return se(Ee,"#,##0.00",re);case"###,###":case"##,###":case"#,###":var U3=de(h(nt,0));return U3!=="0"?yt+U3:"";case"###,###.00":return se(Ee,"###,##0.00",re).replace(/^0\./,".");case"#,###.00":return se(Ee,"#,##0.00",re).replace(/^0\./,".")}throw new Error("unsupported format |"+J+"|")}function Re(Ee,J,re){for(var Me=J.length-1;J.charCodeAt(Me-1)===44;)--Me;return ae(Ee,J.substr(0,Me),re/Math.pow(10,3*(J.length-Me)))}function He(Ee,J,re){var Me=J.replace(N,""),G=J.length-Me.length;return ae(Ee,Me,re*Math.pow(10,2*G))+o("%",G)}function qe(Ee,J){var re,Me=Ee.indexOf("E")-Ee.indexOf(".")-1;if(Ee.match(/^#+0.0E\+0$/)){if(J==0)return"0.0E+0";if(J<0)return"-"+qe(Ee,-J);var G=Ee.indexOf(".");G===-1&&(G=Ee.indexOf("E"));var ce=Math.floor(Math.log(J)*Math.LOG10E)%G;if(ce<0&&(ce+=G),re=(J/Math.pow(10,ce)).toPrecision(Me+1+(G+ce)%G),!re.match(/[Ee]/)){var we=Math.floor(Math.log(J)*Math.LOG10E);re.indexOf(".")===-1?re=re.charAt(0)+"."+re.substr(1)+"E+"+(we-re.length+ce):re+="E+"+(we-ce),re=re.replace(/\+-/,"-")}re=re.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(G+ce)%G)+"."+rt.substr(ce)+"E"})}else re=J.toExponential(Me);return Ee.match(/E\+00$/)&&re.match(/e[+-]\d$/)&&(re=re.substr(0,re.length-1)+"0"+re.charAt(re.length-1)),Ee.match(/E\-/)&&re.match(/e\+/)&&(re=re.replace(/e\+/,"e")),re.replace("e","E")}function Ie(Ee,J,re){if(Ee.charCodeAt(0)===40&&!J.match(te)){var Me=J.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return re>=0?Ie("n",Me,re):"("+Ie("n",Me,-re)+")"}if(J.charCodeAt(J.length-1)===44)return Re(Ee,J,re);if(J.indexOf("%")!==-1)return He(Ee,J,re);if(J.indexOf("E")!==-1)return qe(J,re);if(J.charCodeAt(0)===36)return"$"+Ie(Ee,J.substr(J.charAt(1)==" "?2:1),re);var G,ce,we,ze,nt=Math.abs(re),yt=re<0?"-":"";if(J.match(/^00+$/))return yt+u(nt,J.length);if(J.match(/^[#?]+$/))return G=""+re,re===0&&(G=""),G.length>J.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(H))return V(ce,nt,yt);if(J.match(/^#+0+$/))return yt+u(nt,J.length-J.indexOf("0"));if(ce=J.match(fe))return G=(""+re).replace(/^([^\.]+)$/,"$1."+ue(ce[1])).replace(/\.$/,"."+ue(ce[1])),G=G.replace(/\.(\d*)$/,function(Gs,q3){return"."+q3+o("0",ue(ce[1]).length-q3.length)}),J.indexOf("0.")!==-1?G:G.replace(/^0\./,".");if(J=J.replace(/^#+([0.])/,"$1"),ce=J.match(/^(0*)\.(#*)$/))return yt+(""+nt).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,ce[1].length?"0.":".");if(ce=J.match(/^#{1,3},##0(\.?)$/))return yt+de(""+nt);if(ce=J.match(/^#,##0\.([#0]*0)$/))return re<0?"-"+Ie(Ee,J,-re):de(""+re)+"."+o("0",ce[1].length);if(ce=J.match(/^#,#*,#0/))return Ie(Ee,J.replace(/^#,#*,/,""),re);if(ce=J.match(/^([0#]+)(\\?-([0#]+))+$/))return G=s(Ie(Ee,J.replace(/[\\-]/g,""),re)),we=0,s(s(J.replace(/\\/g,"")).replace(/[0#]/g,function(Gs){return we<G.length?G.charAt(we++):Gs==="0"?"0":""}));if(J.match(X))return G=Ie(Ee,"##########",re),"("+G.substr(0,3)+") "+G.substr(3,3)+"-"+G.substr(6);var rt="";if(ce=J.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(ce[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),G=""+yt,rt=ae("n",ce[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),G+=rt+ce[2]+"/"+ce[3],rt=l(ze[2],we),rt.length<ce[4].length&&(rt=ue(ce[4].substr(ce[4].length-rt.length))+rt),G+=rt,G;if(ce=J.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(ce[1].length,ce[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+ce[2]+"/"+ce[3]+l(ze[2],we):o(" ",2*we+1+ce[2].length+ce[3].length));if(ce=J.match(/^[#0?]+$/))return G=""+re,J.length<=G.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(/^([#0]+)\.([#0]+)$/)){G=""+re.toFixed(Math.min(ce[2].length,10)).replace(/([^0])0+$/,"$1"),we=G.indexOf(".");var Tr=J.indexOf(".")-we,Kc=J.length-G.length-Tr;return ue(J.substr(0,Tr)+G+J.substr(J.length-Kc))}if(ce=J.match(/^00,000\.([#0]*0)$/))return re<0?"-"+Ie(Ee,J,-re):de(""+re).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Gs){return"00,"+(Gs.length<3?u(0,3-Gs.length):"")+Gs})+"."+u(0,ce[1].length);switch(J){case"###,###":case"##,###":case"#,###":var U3=de(""+nt);return U3!=="0"?yt+U3:"";default:if(J.match(/\.[0#?]*$/))return Ie(Ee,J.slice(0,J.lastIndexOf(".")),re)+ue(J.slice(J.lastIndexOf(".")))}throw new Error("unsupported format |"+J+"|")}return function(J,re,Me){return(Me|0)===Me?Ie(J,re,Me):se(J,re,Me)}}();function ie(T){for(var N=[],$=!1,q=0,L=0;q<T.length;++q)switch(T.charCodeAt(q)){case 34:$=!$;break;case 95:case 42:case 92:++q;break;case 59:N[N.length]=T.substr(L,q-L),L=q+1}if(N[N.length]=T.substr(L),$===!0)throw new Error("Format |"+T+"| unterminated string ");return N}i._split=ie;var le=/\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;function xe(T){for(var N=0,$="",q="";N<T.length;)switch($=T.charAt(N)){case"G":p(T,N)&&(N+=6),N++;break;case'"':for(;T.charCodeAt(++N)!==34&&N<T.length;);++N;break;case"\\":N+=2;break;case"_":N+=2;break;case"@":++N;break;case"B":case"b":if(T.charAt(N+1)==="1"||T.charAt(N+1)==="2")return!0;case"M":case"D":case"Y":case"H":case"S":case"E":case"m":case"d":case"y":case"h":case"s":case"e":case"g":return!0;case"A":case"a":case"上":if(T.substr(N,3).toUpperCase()==="A/P"||T.substr(N,5).toUpperCase()==="AM/PM"||T.substr(N,5).toUpperCase()==="上午/下午")return!0;++N;break;case"[":for(q=$;T.charAt(N++)!=="]"&&N<T.length;)q+=T.charAt(N);if(q.match(le))return!0;break;case".":case"0":case"#":for(;N<T.length&&("0#?.,E+-%".indexOf($=T.charAt(++N))>-1||$=="\\"&&T.charAt(N+1)=="-"&&"0#".indexOf(T.charAt(N+2))>-1););break;case"?":for(;T.charAt(++N)===$;);break;case"*":++N,(T.charAt(N)==" "||T.charAt(N)=="*")&&++N;break;case"(":case")":++N;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;N<T.length&&"0123456789".indexOf(T.charAt(++N))>-1;);break;case" ":++N;break;default:++N;break}return!1}i.is_date=xe;function Ce(T,N,$,q){for(var L=[],H="",P=0,V="",fe="t",te,X,ue,Be="H";P<T.length;)switch(V=T.charAt(P)){case"G":if(!p(T,P))throw new Error("unrecognized character "+V+" in "+T);L[L.length]={t:"G",v:"General"},P+=7;break;case'"':for(H="";(ue=T.charCodeAt(++P))!==34&&P<T.length;)H+=String.fromCharCode(ue);L[L.length]={t:"t",v:H},++P;break;case"\\":var ut=T.charAt(++P),Rt=ut==="("||ut===")"?ut:"t";L[L.length]={t:Rt,v:ut},++P;break;case"_":L[L.length]={t:"t",v:" "},P+=2;break;case"@":L[L.length]={t:"T",v:N},++P;break;case"B":case"b":if(T.charAt(P+1)==="1"||T.charAt(P+1)==="2"){if(te==null&&(te=C(N,$,T.charAt(P+1)==="2"),te==null))return"";L[L.length]={t:"X",v:T.substr(P,2)},fe=V,P+=2;break}case"M":case"D":case"Y":case"H":case"S":case"E":V=V.toLowerCase();case"m":case"d":case"y":case"h":case"s":case"e":case"g":if(N<0||te==null&&(te=C(N,$),te==null))return"";for(H=V;++P<T.length&&T.charAt(P).toLowerCase()===V;)H+=V;V==="m"&&fe.toLowerCase()==="h"&&(V="M"),V==="h"&&(V=Be),L[L.length]={t:V,v:H},fe=V;break;case"A":case"a":case"上":var K={t:V,v:V};if(te==null&&(te=C(N,$)),T.substr(P,3).toUpperCase()==="A/P"?(te!=null&&(K.v=te.H>=12?"P":"A"),K.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(te!=null&&(K.v=te.H>=12?"PM":"AM"),K.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(te!=null&&(K.v=te.H>=12?"下午":"上午"),K.t="T",P+=5,Be="h"):(K.t="t",++P),te==null&&K.t==="T")return"";L[L.length]=K,fe=V;break;case"[":for(H=V;T.charAt(P++)!=="]"&&P<T.length;)H+=T.charAt(P);if(H.slice(-1)!=="]")throw'unterminated "[" block: |'+H+"|";if(H.match(le)){if(te==null&&(te=C(N,$),te==null))return"";L[L.length]={t:"Z",v:H.toLowerCase()},fe=H.charAt(1)}else H.indexOf("$")>-1&&(H=(H.match(/\$([^-\[\]]*)/)||[])[1]||"$",xe(T)||(L[L.length]={t:"t",v:H}));break;case".":if(te!=null){for(H=V;++P<T.length&&(V=T.charAt(P))==="0";)H+=V;L[L.length]={t:"s",v:H};break}case"0":case"#":for(H=V;++P<T.length&&"0#?.,E+-%".indexOf(V=T.charAt(P))>-1;)H+=V;L[L.length]={t:"n",v:H};break;case"?":for(H=V;T.charAt(++P)===V;)H+=V;L[L.length]={t:V,v:H},fe=V;break;case"*":++P,(T.charAt(P)==" "||T.charAt(P)=="*")&&++P;break;case"(":case")":L[L.length]={t:q===1?"t":V,v:V},++P;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(H=V;P<T.length&&"0123456789".indexOf(T.charAt(++P))>-1;)H+=T.charAt(P);L[L.length]={t:"D",v:H};break;case" ":L[L.length]={t:V,v:V},++P;break;case"$":L[L.length]={t:"t",v:"$"},++P;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(V)===-1)throw new Error("unrecognized character "+V+" in "+T);L[L.length]={t:"t",v:V},++P;break}var se=0,Re=0,He;for(P=L.length-1,fe="t";P>=0;--P)switch(L[P].t){case"h":case"H":L[P].t=Be,fe="h",se<1&&(se=1);break;case"s":(He=L[P].v.match(/\.0+$/))&&(Re=Math.max(Re,He[0].length-1)),se<3&&(se=3);case"d":case"y":case"M":case"e":fe=L[P].t;break;case"m":fe==="s"&&(L[P].t="M",se<2&&(se=2));break;case"X":break;case"Z":se<1&&L[P].v.match(/[Hh]/)&&(se=1),se<2&&L[P].v.match(/[Mm]/)&&(se=2),se<3&&L[P].v.match(/[Ss]/)&&(se=3)}switch(se){case 0:break;case 1:te.u>=.5&&(te.u=0,++te.S),te.S>=60&&(te.S=0,++te.M),te.M>=60&&(te.M=0,++te.H);break;case 2:te.u>=.5&&(te.u=0,++te.S),te.S>=60&&(te.S=0,++te.M);break}var qe="",Ie;for(P=0;P<L.length;++P)switch(L[P].t){case"t":case"T":case" ":case"D":break;case"X":L[P].v="",L[P].t=";";break;case"d":case"m":case"y":case"h":case"H":case"M":case"s":case"e":case"b":case"Z":L[P].v=oe(L[P].t.charCodeAt(0),L[P].v,te,Re),L[P].t="t";break;case"n":case"?":for(Ie=P+1;L[Ie]!=null&&((V=L[Ie].t)==="?"||V==="D"||(V===" "||V==="t")&&L[Ie+1]!=null&&(L[Ie+1].t==="?"||L[Ie+1].t==="t"&&L[Ie+1].v==="/")||L[P].t==="("&&(V===" "||V==="n"||V===")")||V==="t"&&(L[Ie].v==="/"||L[Ie].v===" "&&L[Ie+1]!=null&&L[Ie+1].t=="?"));)L[P].v+=L[Ie].v,L[Ie]={v:"",t:";"},++Ie;qe+=L[P].v,P=Ie-1;break;case"G":L[P].t="t",L[P].v=Y(N,$);break}var Ee="",J,re;if(qe.length>0){qe.charCodeAt(0)==40?(J=N<0&&qe.charCodeAt(0)===45?-N:N,re=ae("n",qe,J)):(J=N<0&&q>1?-N:N,re=ae("n",qe,J),J<0&&L[0]&&L[0].t=="t"&&(re=re.substr(1),L[0].v="-"+L[0].v)),Ie=re.length-1;var Me=L.length;for(P=0;P<L.length;++P)if(L[P]!=null&&L[P].t!="t"&&L[P].v.indexOf(".")>-1){Me=P;break}var G=L.length;if(Me===L.length&&re.indexOf("E")===-1){for(P=L.length-1;P>=0;--P)L[P]==null||"n?".indexOf(L[P].t)===-1||(Ie>=L[P].v.length-1?(Ie-=L[P].v.length,L[P].v=re.substr(Ie+1,L[P].v.length)):Ie<0?L[P].v="":(L[P].v=re.substr(0,Ie+1),Ie=-1),L[P].t="t",G=P);Ie>=0&&G<L.length&&(L[G].v=re.substr(0,Ie+1)+L[G].v)}else if(Me!==L.length&&re.indexOf("E")===-1){for(Ie=re.indexOf(".")-1,P=Me;P>=0;--P)if(!(L[P]==null||"n?".indexOf(L[P].t)===-1)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ee=L[P].v.substr(X+1);X>=0;--X)Ie>=0&&(L[P].v.charAt(X)==="0"||L[P].v.charAt(X)==="#")&&(Ee=re.charAt(Ie--)+Ee);L[P].v=Ee,L[P].t="t",G=P}for(Ie>=0&&G<L.length&&(L[G].v=re.substr(0,Ie+1)+L[G].v),Ie=re.indexOf(".")+1,P=Me;P<L.length;++P)if(!(L[P]==null||"n?(".indexOf(L[P].t)===-1&&P!==Me)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ee=L[P].v.substr(0,X);X<L[P].v.length;++X)Ie<re.length&&(Ee+=re.charAt(Ie++));L[P].v=Ee,L[P].t="t",G=P}}}for(P=0;P<L.length;++P)L[P]!=null&&"n?".indexOf(L[P].t)>-1&&(J=q>1&&N<0&&P>0&&L[P-1].v==="-"?-N:N,L[P].v=ae(L[P].t,L[P].v,J),L[P].t="t");var ce="";for(P=0;P!==L.length;++P)L[P]!=null&&(ce+=L[P].v);return ce}i._eval=Ce;var D=/\[[=<>]/,k=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function j(T,N){if(N==null)return!1;var $=parseFloat(N[2]);switch(N[1]){case"=":if(T==$)return!0;break;case">":if(T>$)return!0;break;case"<":if(T<$)return!0;break;case"<>":if(T!=$)return!0;break;case">=":if(T>=$)return!0;break;case"<=":if(T<=$)return!0;break}return!1}function W(T,N){var $=ie(T),q=$.length,L=$[q-1].indexOf("@");if(q<4&&L>-1&&--q,$.length>4)throw new Error("cannot find right format for |"+$.join("|")+"|");if(typeof N!="number")return[4,$.length===4||L>-1?$[$.length-1]:"@"];switch($.length){case 1:$=L>-1?["General","General","General",$[0]]:[$[0],$[0],$[0],"@"];break;case 2:$=L>-1?[$[0],$[0],$[0],$[1]]:[$[0],$[1],$[0],"@"];break;case 3:$=L>-1?[$[0],$[1],$[0],$[2]]:[$[0],$[1],$[2],"@"];break}var H=N>0?$[0]:N<0?$[1]:$[2];if($[0].indexOf("[")===-1&&$[1].indexOf("[")===-1)return[q,H];if($[0].match(D)!=null||$[1].match(D)!=null){var P=$[0].match(k),V=$[1].match(k);return j(N,P)?[q,$[0]]:j(N,V)?[q,$[1]]:[q,$[P!=null&&V!=null?2:1]]}return[q,H]}function U(T,N,$){$==null&&($={});var q="";switch(typeof T){case"string":T=="m/d/yy"&&$.dateNF?q=$.dateNF:q=T;break;case"number":T==14&&$.dateNF?q=$.dateNF:q=($.table!=null?$.table:E)[T],q==null&&(q=$.table&&$.table[A[T]]||E[A[T]]),q==null&&(q=v[T]||"General");break}if(p(q,0))return Y(N,$);N instanceof Date&&(N=I(N,$.date1904));var L=W(q,N);if(p(L[1]))return Y(N,$);if(N===!0)N="TRUE";else if(N===!1)N="FALSE";else if(N===""||N==null)return"";return Ce(L[1],N,$,L[0])}function B(T,N){if(typeof N!="number"){N=+N||-1;for(var $=0;$<392;++$){if(E[$]==null){N<0&&(N=$);continue}if(E[$]==T){N=$;break}}N<0&&(N=391)}return E[N]=T,N}i.load=B,i._table=E,i.get_table=function(){return E},i.load_table=function(N){for(var $=0;$!=392;++$)N[$]!==void 0&&B(N[$],$)},i.init_table=y,i.format=U};n(e),typeof DO_NOT_EXPORT_SSF>"u"&&(t.exports=e)})(Ase);var rN=Ase.exports,UVe=typeof F=="object"&&F&&F.Object===Object&&F,qVe=UVe,HVe=qVe,zVe=typeof self=="object"&&self&&self.Object===Object&&self,QVe=HVe||zVe||Function("return this")(),GVe=QVe,WVe=GVe,VVe=WVe.Symbol,y8=VVe,Sse=y8;Sse&&Sse.toStringTag;var vse=y8;vse&&vse.toStringTag;var _se=y8,Cse=_se?_se.prototype:void 0;Cse&&Cse.toString;function YVe(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function XVe(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}function KVe(t,e=0){let n=t;for(;e>0&&n.parentRecord;)e-=1,n=n.parentRecord;return n}function JVe(t){const e=t.split("/"),n=e.filter(i=>i==="..").length+1,r=e.filter(i=>i!==".."&&i!=="");return{levelsUp:n,pathSegments:r}}function bse({tag:t,data:e}){var n;try{const r=((n=t.tag("field"))==null?void 0:n.text())??"",{levelsUp:i,pathSegments:s}=JVe(r);let o=KVe(e,i);for(;s.length>0&&"cell"in o;){const u=s.shift();o=o.cell(u)}return o==null?void 0:o.value}catch{return}}class Tse{constructor(){this.tagOptionExtractors={}}addExtractor(e,...n){for(const r in n)this.tagOptionExtractors[n[r]]=e}activates(e){return!1}isValidMatch(e){return!0}matches(e){return e.renderer===this.rendererName}parseTagParameters(e){const n={};for(const r in this.tagOptionExtractors){const i=e.tag(r);i&&this.tagOptionExtractors[r](n,i)}return n}}class Rse{constructor(e){this.document=e}getText(e){return e.value===null?null:`${e.value}`}async render(e){let n=null;try{n=this.getText(e)}catch(i){return YVe(this.document,i)}if(n===null)return XVe(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const gD=class gD extends Tse{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new Rse(e)}get rendererName(){}};gD.instance=new gD;let Ose=gD;function Nse(t,e,n={}){let r=e.toString();return n.terse?r=ZVe.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?rN.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const ZVe=new Map([[rr.Nanoseconds,"ns"],[rr.Microseconds,"µs"],[rr.Milliseconds,"ms"],[rr.Seconds,"s"],[rr.Minutes,"m"],[rr.Hours,"h"],[rr.Days,"d"]]),eYe=new Map([[rr.Nanoseconds,1e3],[rr.Microseconds,1e3],[rr.Milliseconds,1e3],[rr.Seconds,60],[rr.Minutes,60],[rr.Hours,24],[rr.Days,Number.MAX_VALUE]]);function Dse(t,e,n){const r=n.durationUnit&&jVe(n.durationUnit)?n.durationUnit:rr.Seconds,i=t.tagParse().tag,s=i.text("number"),o=i.has("duration","terse");let u=e,a=0,l=[],c=!1;for(const[f,x]of eYe)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[Nse(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):Nse(0,r,{numFormat:s,terse:o})}class tYe extends Rse{constructor(e,n){super(e),this.options=n}getText(e){if(e.isNull())return null;if(!e.isNumber())throw new Error(`Cannot format field ${e.field.name} as a duration unit since its not a number`);return Dse(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const mD=class mD extends Tse{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??rr.Seconds},this.rendererName)}create(e,n,r,i,s){return new tYe(e,s)}get rendererName(){return"duration"}};mD.instance=new mD;let Fse=mD;function wse(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case nN.Euros:i="€";break;case nN.Pounds:i="£";break;case nN.Dollars:break}n=rN.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=rN.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??rr.Seconds;return Dse(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=rN.format(r.text("number"),e):n=e.toLocaleString();return n}var nYe=wo("<a target=_blank>");function rYe(t,e){const{tag:n}=t.tagParse();if(e.isNull())return"∅";const r=String(e.value),i=n.tag("link");if(!i)throw new Error("Missing tag for Link renderer");const s=bse({tag:i,data:e})??r,o=i.text("url_template");let u=s;o&&(o.indexOf("$$")>-1?u=o.replace("$$",s):u=o+s);let a=r.replace(/\//g,"/");return(()=>{var l=nYe();return nA(l,"href",u),Hi(l,a),l})()}function jit(t){return t}function Uit(t){return t}Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function t(){var e=isNaN(arguments[0])?1:Number(arguments[0]);return e?Array.prototype.reduce.call(this,function(n,r){return Array.isArray(r)?n.push.apply(n,t.call(r,e-1)):n.push(r),n},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(t){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var Lse={exports:{}};(function(t){var e=function(){function n(x,h){return h!=null&&x instanceof h}var r;try{r=Map}catch{r=function(){}}var i;try{i=Set}catch{i=function(){}}var s;try{s=Promise}catch{s=function(){}}function o(x,h,p,m,g){typeof h=="object"&&(p=h.depth,m=h.prototype,g=h.includeNonEnumerable,h=h.circular);var y=[],E=[],A=typeof Buffer<"u";typeof h>"u"&&(h=!0),typeof p>"u"&&(p=1/0);function S(v,_){if(v===null)return null;if(_===0)return v;var C,b;if(typeof v!="object")return v;if(n(v,r))C=new r;else if(n(v,i))C=new i;else if(n(v,s))C=new s(function(de,ae){v.then(function(ie){de(S(ie,_-1))},function(ie){ae(S(ie,_-1))})});else if(o.__isArray(v))C=[];else if(o.__isRegExp(v))C=new RegExp(v.source,f(v)),v.lastIndex&&(C.lastIndex=v.lastIndex);else if(o.__isDate(v))C=new Date(v.getTime());else{if(A&&Buffer.isBuffer(v))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(v.length):C=new Buffer(v.length),v.copy(C),C;n(v,Error)?C=Object.create(v):typeof m>"u"?(b=Object.getPrototypeOf(v),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(v);if(O!=-1)return E[O];y.push(v),E.push(C)}n(v,r)&&v.forEach(function(de,ae){var ie=S(ae,_-1),le=S(de,_-1);C.set(ie,le)}),n(v,i)&&v.forEach(function(de){var ae=S(de,_-1);C.add(ae)});for(var R in v){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=S(v[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(v),R=0;R<M.length;R++){var z=M[R],Y=Object.getOwnPropertyDescriptor(v,z);Y&&!Y.enumerable&&!g||(C[z]=S(v[z],_-1),Y.enumerable||Object.defineProperty(C,z,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(v),R=0;R<Q.length;R++){var oe=Q[R],Y=Object.getOwnPropertyDescriptor(v,oe);Y&&Y.enumerable||(C[oe]=S(v[oe],_-1),Object.defineProperty(C,oe,{enumerable:!1}))}return C}return S(x,p)}o.clonePrototype=function(h){if(h===null)return null;var p=function(){};return p.prototype=h,new p};function u(x){return Object.prototype.toString.call(x)}o.__objToStr=u;function a(x){return typeof x=="object"&&u(x)==="[object Date]"}o.__isDate=a;function l(x){return typeof x=="object"&&u(x)==="[object Array]"}o.__isArray=l;function c(x){return typeof x=="object"&&u(x)==="[object RegExp]"}o.__isRegExp=c;function f(x){var h="";return x.global&&(h+="g"),x.ignoreCase&&(h+="i"),x.multiline&&(h+="m"),h}return o.__getRegExpFlags=f,o}();t.exports&&(t.exports=e)})(Lse);var iYe=Lse.exports;const sYe=FD(iYe);var oYe=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const uYe=FD(oYe);var aYe=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var n=typeof e.cycles=="boolean"?e.cycles:!1,r=e.cmp&&function(s){return function(o){return function(u,a){var l={key:u,value:o[u]},c={key:a,value:o[a]};return s(l,c)}}}(e.cmp),i=[];return function s(o){if(o&&o.toJSON&&typeof o.toJSON=="function"&&(o=o.toJSON()),o!==void 0){if(typeof o=="number")return isFinite(o)?""+o:"null";if(typeof o!="object")return JSON.stringify(o);var u,a;if(Array.isArray(o)){for(a="[",u=0;u<o.length;u++)u&&(a+=","),a+=s(o[u])||"null";return a+"]"}if(o===null)return"null";if(i.indexOf(o)!==-1){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var l=i.push(o)-1,c=Object.keys(o).sort(r&&r(o));for(a="",u=0;u<c.length;u++){var f=c[u],x=s(o[f]);x&&(a&&(a+=","),a+=JSON.stringify(f)+":"+x)}return i.splice(l,1),"{"+a+"}"}}(t)};const E8=FD(aYe);function A8(t){return!!t.or}function S8(t){return!!t.and}function v8(t){return!!t.not}function iN(t,e){if(v8(t))iN(t.not,e);else if(S8(t))for(const n of t.and)iN(n,e);else if(A8(t))for(const n of t.or)iN(n,e);else e(t)}function R2(t,e){return v8(t)?{not:R2(t.not,e)}:S8(t)?{and:t.and.map(n=>R2(n,e))}:A8(t)?{or:t.or.map(n=>R2(n,e))}:e(t)}const Gl=uYe,ot=sYe;function lYe(t){throw new Error(t)}function d3(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function Co(t,e){const n=Object.assign({},t);for(const r of e)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(t=>E8(t)).join(",")})`};const sn=E8;function bt(t){if(nn(t))return t;const e=je(t)?t:E8(t);if(e.length<250)return e;let n=0;for(let r=0;r<e.length;r++){const i=e.charCodeAt(r);n=(n<<5)-n+i,n=n&n}return n}function Ise(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function O2(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function $se(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function cYe(t,...e){for(const n of e)fYe(t,n??{});return t}function fYe(t,e){for(const n of be(e))jb(t,n,e[n],!0)}function Wl(t,e){const n=[],r={};let i;for(const s of t)i=e(s),!(i in r)&&(r[i]=1,n.push(s));return n}function xYe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function Bse(t,e){for(const n of t)if(e.has(n))return!0;return!1}function kse(t){const e=new Set;for(const n of t){const i=El(n).map((o,u)=>u===0?o:`[${o}]`),s=i.map((o,u)=>i.slice(0,u+1).join(""));for(const o of s)e.add(o)}return e}function Pse(t,e){return t===void 0||e===void 0?!0:Bse(kse(t),kse(e))}function Wt(t){return be(t).length===0}const be=Object.keys,Pi=Object.values,Ad=Object.entries;function sN(t){return t===!0||t===!1}function mn(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function oN(t,e){return v8(t)?`!(${oN(t.not,e)})`:S8(t)?`(${t.and.map(n=>oN(n,e)).join(") && (")})`:A8(t)?`(${t.or.map(n=>oN(n,e)).join(") || (")})`:e(t)}function _8(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&_8(t[n],e)&&delete t[n],Wt(t)}function uN(t){return t.charAt(0).toUpperCase()+t.substr(1)}function Mse(t,e="datum"){const n=El(t),r=[];for(let i=1;i<=n.length;i++){const s=`[${n.slice(0,i).map(Fe).join("][")}]`;r.push(`${e}${s}`)}return r.join(" && ")}function dYe(t,e="datum"){return`${e}[${Fe(El(t).join("."))}]`}function hYe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function fu(t){return`${El(t).map(hYe).join("\\.")}`}function N2(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function jse(t){return`${El(t).join(".")}`}function h3(t){return t?El(t).length:0}function ir(...t){for(const e of t)if(e!==void 0)return e}let pYe=42;function gYe(t){const e=++pYe;return t?String(t)+e:e}function mYe(t){return yYe(t)?t:`__${t}`}function yYe(t){return t.startsWith("__")}function aN(t){if(t!==void 0)return(t%360+360)%360}function C8(t){return nn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var p3=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Vl="row",Yl="column",lN="facet",yn="x",_r="y",xu="x2",Ca="y2",Fc="xOffset",D2="yOffset",ba="radius",Xl="radius2",du="theta",Kl="theta2",Ta="latitude",Ra="longitude",hu="latitude2",bo="longitude2",hs="color",Oa="fill",Na="stroke",ps="shape",Jl="size",Sd="angle",Zl="opacity",wc="fillOpacity",Lc="strokeOpacity",Ic="strokeWidth",$c="strokeDash",g3="text",m3="order",y3="detail",cN="key",vd="tooltip",fN="href",xN="url",dN="description",EYe={x:1,y:1,x2:1,y2:1},Use={theta:1,theta2:1,radius:1,radius2:1};function qse(t){return t in Use}const b8={longitude:1,longitude2:1,latitude:1,latitude2:1};function AYe(t){switch(t){case Ta:return"y";case hu:return"y2";case Ra:return"x";case bo:return"x2"}}function SYe(t){return t in b8}const vYe=be(b8),T8=Object.assign(Object.assign(Object.assign(Object.assign({},EYe),Use),b8),{xOffset:1,yOffset:1,color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1});function F2(t){return t===hs||t===Oa||t===Na}const Hse={row:1,column:1,facet:1},To=be(Hse),R8=Object.assign(Object.assign({},T8),Hse),_Ye=be(R8),CYe=p3(R8,["order","detail","tooltip"]),bYe=p3(CYe,["row","column","facet"]);function TYe(t){return!!bYe[t]}function zse(t){return!!R8[t]}const RYe=[xu,Ca,hu,bo,Kl,Xl];function Qse(t){return _d(t)!==t}function _d(t){switch(t){case xu:return yn;case Ca:return _r;case hu:return Ta;case bo:return Ra;case Kl:return du;case Xl:return ba}return t}function Bc(t){if(qse(t))switch(t){case du:return"startAngle";case Kl:return"endAngle";case ba:return"outerRadius";case Xl:return"innerRadius"}return t}function e0(t){switch(t){case yn:return xu;case _r:return Ca;case Ta:return hu;case Ra:return bo;case du:return Kl;case ba:return Xl}}function gs(t){switch(t){case yn:case xu:return"width";case _r:case Ca:return"height"}}function OYe(t){switch(t){case yn:return"xOffset";case _r:return"yOffset";case xu:return"x2Offset";case Ca:return"y2Offset";case du:return"thetaOffset";case ba:return"radiusOffset";case Kl:return"theta2Offset";case Xl:return"radius2Offset"}}function Gse(t){switch(t){case yn:return"xOffset";case _r:return"yOffset"}}function Wse(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const NYe=be(T8),O8=p3(T8,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),DYe=be(O8),N8={x:1,y:1},Da=be(N8);function kr(t){return t in N8}const D8={theta:1,radius:1},FYe=be(D8);function hN(t){return t==="width"?yn:_r}const Vse={xOffset:1,yOffset:1};function w2(t){return t in Vse}const Yse=p3(O8,["text","tooltip","href","url","description","detail","key","order"]),wYe=be(Yse);function LYe(t){return!!O8[t]}function IYe(t){switch(t){case hs:case Oa:case Na:case Jl:case ps:case Zl:case Ic:case $c:return!0;case wc:case Lc:case Sd:return!1}}const Xse=Object.assign(Object.assign(Object.assign(Object.assign({},N8),D8),Vse),Yse),pN=be(Xse);function kc(t){return!!Xse[t]}function $Ye(t,e){return kYe(t)[e]}const Kse={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},BYe=p3(Kse,["geoshape"]);function kYe(t){switch(t){case hs:case Oa:case Na:case dN:case y3:case cN:case vd:case fN:case m3:case Zl:case wc:case Lc:case Ic:case lN:case Vl:case Yl:return Kse;case yn:case _r:case Fc:case D2:case Ta:case Ra:return BYe;case xu:case Ca:case hu:case bo:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Jl:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case $c:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case ps:return{point:"always",geoshape:"always"};case g3:return{text:"always"};case Sd:return{point:"always",square:"always",text:"always"};case xN:return{image:"always"};case du:return{text:"always",arc:"always"};case ba:return{text:"always",arc:"always"};case Kl:case Xl:return{arc:"always"}}}function F8(t){switch(t){case yn:case _r:case du:case ba:case Fc:case D2:case Jl:case Sd:case Ic:case Zl:case wc:case Lc:case xu:case Ca:case Kl:case Xl:return;case lN:case Vl:case Yl:case ps:case $c:case g3:case vd:case fN:case xN:case dN:return"discrete";case hs:case Oa:case Na:return"flexible";case Ta:case Ra:case hu:case bo:case y3:case cN:case m3:return}}const PYe={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},MYe={count:1,min:1,max:1};function t0(t){return!!t&&!!t.argmin}function Pc(t){return!!t&&!!t.argmax}function w8(t){return je(t)&&!!PYe[t]}const jYe=new Set(["count","valid","missing","distinct"]);function Jse(t){return je(t)&&jYe.has(t)}function UYe(t){return je(t)&&Tt(["min","max"],t)}const qYe=new Set(["count","sum","distinct","valid","missing"]),HYe=new Set(["mean","average","median","q1","q3","min","max"]);function Zse(t){return Fp(t)&&(t=IN(t,void 0)),"bin"+be(t).map(e=>gN(t[e])?mn(`_${e}_${Ad(t[e])}`):mn(`_${e}_${t[e]}`)).join("")}function Kt(t){return t===!0||Cd(t)&&!t.binned}function Mi(t){return t==="binned"||Cd(t)&&t.binned===!0}function Cd(t){return Qe(t)}function gN(t){return t==null?void 0:t.param}function eoe(t){switch(t){case Vl:case Yl:case Jl:case hs:case Oa:case Na:case Ic:case Zl:case wc:case Lc:case ps:return 6;case $c:return 4;default:return 10}}function E3(t){return t&&!!t.expr}function ms(t){const e=be(t||{}),n={};for(const r of e)n[r]=Hs(t[r]);return n}var zYe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function toe(t){const{anchor:e,frame:n,offset:r,orient:i,angle:s,limit:o,color:u,subtitleColor:a,subtitleFont:l,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:x,subtitleLineHeight:h,subtitlePadding:p}=t,m=zYe(t,["anchor","frame","offset","orient","angle","limit","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),g=Object.assign(Object.assign({},m),u?{fill:u}:{}),y=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e?{anchor:e}:{}),n?{frame:n}:{}),r?{offset:r}:{}),i?{orient:i}:{}),s!==void 0?{angle:s}:{}),o!==void 0?{limit:o}:{}),E=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a?{subtitleColor:a}:{}),l?{subtitleFont:l}:{}),c?{subtitleFontSize:c}:{}),f?{subtitleFontStyle:f}:{}),x?{subtitleFontWeight:x}:{}),h?{subtitleLineHeight:h}:{}),p?{subtitlePadding:p}:{}),A=d3(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Mc(t){return je(t)||_e(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function jc(t){return!!t.step}function QYe(t){return _e(t)?!1:"fields"in t&&!("data"in t)}function GYe(t){return _e(t)?!1:"fields"in t&&"data"in t}function n0(t){return _e(t)?!1:"field"in t&&"data"in t}const WYe=be({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),VYe={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},L8=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var I8=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function noe(t){const e=_e(t.condition)?t.condition.map(roe):roe(t.condition);return Object.assign(Object.assign({},Hs(t)),{condition:e})}function Hs(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return t}function roe(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return t}function on(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function YYe(t){return Ye(t)?t.signal:Fe(t)}function ioe(t){return Ye(t)?t.signal:Fe(t.value)}function r0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function XYe(t,e,n){for(const r of n){const i=bd(r,e.markDef,e.config);i!==void 0&&(t[r]=on(i))}return t}function soe(t){var e;return[].concat(t.type,(e=t.style)!==null&&e!==void 0?e:[])}function kt(t,e,n,r={}){const{vgChannel:i,ignoreVgConfig:s}=r;return i&&e[i]!==void 0?e[i]:e[t]!==void 0?e[t]:s&&(!i||i===t)?void 0:bd(t,e,n,r)}function bd(t,e,n,{vgChannel:r}={}){return ir(r?mN(t,e,n.style):void 0,mN(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function mN(t,e,n){return ooe(t,soe(e),n)}function ooe(t,e,n){e=Pe(e);let r;for(const i of e){const s=n[i];s&&s[t]!==void 0&&(r=s[t])}return r}function uoe(t,e){return Pe(t).reduce((n,r)=>{var i;return n.field.push($e(r,e)),n.order.push((i=r.sort)!==null&&i!==void 0?i:"ascending"),n},{field:[],order:[]})}function aoe(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Gl(i,r))return;n.push(r)}),n}function loe(t,e){return Gl(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function coe(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Mc(n)||Ye(n))&&(Mc(r)||Ye(r)))return{explicit:t.explicit,value:loe(n,r)};if(Mc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Mc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Mc(n)&&!Ye(n)&&!Mc(r)&&!Ye(r))return{explicit:t.explicit,value:aoe(n,r)};throw new Error("It should never reach here")}function $8(t){return`Invalid specification ${sn(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const KYe='Autosize "fit" only works for single views and layered views.';function foe(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function xoe(t){const e=t=="width"?"Width":"Height",n=t=="width"?"x":"y";return`${e} "container" only works well with autosize "fit" or "fit-${n}".`}function doe(t){return t?`Dropping "fit-${t}" because spec has discrete ${gs(t)}.`:'Dropping "fit" because spec has discrete size.'}function B8(t){return`Unknown field for ${t}. Cannot calculate view size.`}function hoe(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function JYe(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function ZYe(t){return`The "nearest" transform is not supported for ${t} marks.`}function poe(t){return`Selection not supported for ${t} yet.`}function eXe(t){return`Cannot find a selection named "${t}".`}const tXe="Scale bindings are currently only supported for scales with unbinned, continuous domains.",nXe="Legend bindings are only supported for selections over an individual field or encoding channel.";function rXe(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function iXe(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const sXe="The same selection must be used to override scale domains in a layered view.",oXe='Interval selections should be initialized using "x" and/or "y" keys.';function uXe(t){return`Unknown repeated value "${t}".`}function goe(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const aXe="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function lXe(t){return`Unrecognized parse "${t}".`}function moe(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const cXe="Attempt to add the same child twice.";function fXe(t){return`Ignoring an invalid transform: ${sn(t)}.`}const xXe='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function yoe(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function dXe(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${sn(e)} is overridden by a child projection ${sn(n)}.`}const hXe="Arc marks uses theta channel rather than angle, replacing angle with theta.";function pXe(t){return`${t}Offset dropped because ${t} is continuous`}function gXe(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function mXe(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${sn(n)}}.`}function Eoe(t){return`Invalid field type "${t}".`}function yXe(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function EXe(t){return`Invalid aggregation operator "${t}".`}function Aoe(t,e){const{fill:n,stroke:r}=e;return`Dropping color ${t} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function AXe(t){return`Position range does not support relative band size for ${t}.`}function k8(t,e){return`Dropping ${sn(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const SXe="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function yN(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function vXe(t){return`${t} encoding has no scale, so specified scale is ignored.`}function _Xe(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function CXe(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function bXe(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function TXe(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function P8(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function RXe(t){return`The ${t} for range marks cannot be an expression`}function OXe(t,e){return`Line mark is for continuous lines and thus cannot be used with ${t&&e?"x2 and y2":t?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function NXe(t,e){return`Specified orient "${t}" overridden with "${e}".`}function DXe(t){return`Cannot use the scale property "${t}" with non-color channel.`}function FXe(t){return`Cannot use the relative band size with ${t} scale.`}function wXe(t){return`Using unaggregated domain with raw field has no effect (${sn(t)}).`}function LXe(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function IXe(t){return`Unaggregated domain is currently unsupported for log scale (${sn(t)}).`}function $Xe(t){return`Cannot apply size to non-oriented mark "${t}".`}function BXe(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function kXe(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function Soe(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function voe(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function PXe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using ${sn(n)}.`}function MXe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using the union of the two domains.`}function jXe(t){return`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`}function UXe(t){return`Dropping sort property ${sn(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const _oe="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",qXe="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",HXe="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",zXe="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function QXe(t){return`Cannot stack "${t}" if there is already "${t}2".`}function GXe(t){return`Cannot stack non-linear scale (${t}).`}function WXe(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function EN(t,e){return`Invalid ${t}: ${sn(e)}.`}function VXe(t){return`Dropping day from datetime ${sn(t)} as day cannot be combined with other units.`}function YXe(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function XXe(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function KXe(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function Coe(t){return`1D error band does not support ${t}.`}function boe(t){return`Channel ${t} is required for "binned" bin.`}function JXe(t){return`Channel ${t} should not be used with "binned" bin.`}function ZXe(t){return`Domain for ${t} is required for threshold scale.`}const Toe=JW(KW);let L2=Toe;function eKe(t){return L2=t,L2}function tKe(){return L2=Toe,L2}function Te(...t){L2.warn(...t)}function nKe(...t){L2.debug(...t)}function Td(t){if(t&&Qe(t)){for(const e of j8)if(e in t)return!0}return!1}const Roe=["january","february","march","april","may","june","july","august","september","october","november","december"],rKe=Roe.map(t=>t.substr(0,3)),Ooe=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],iKe=Ooe.map(t=>t.substr(0,3));function sKe(t){if(C8(t)&&(t=+t),nn(t))return t>4&&Te(EN("quarter",t)),t-1;throw new Error(EN("quarter",t))}function oKe(t){if(C8(t)&&(t=+t),nn(t))return t-1;{const e=t.toLowerCase(),n=Roe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=rKe.indexOf(r);if(i!==-1)return i;throw new Error(EN("month",t))}}function uKe(t){if(C8(t)&&(t=+t),nn(t))return t%7;{const e=t.toLowerCase(),n=Ooe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=iKe.indexOf(r);if(i!==-1)return i;throw new Error(EN("day",t))}}function M8(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(VXe(t)),t=ot(t),delete t.day),t.year!==void 0?n.push(t.year):n.push(2012),t.month!==void 0){const r=e?oKe(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?sKe(t.quarter):t.quarter;n.push(nn(r)?r*3:`${r}*3`)}else n.push(0);if(t.date!==void 0)n.push(t.date);else if(t.day!==void 0){const r=e?uKe(t.day):t.day;n.push(nn(r)?r+1:`${r}+1`)}else n.push(1);for(const r of["hours","minutes","seconds","milliseconds"]){const i=t[r];n.push(typeof i>"u"?0:i)}return n}function A3(t){const n=M8(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function aKe(t){const n=M8(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function lKe(t){const e=M8(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var cKe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Noe={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},j8=be(Noe);function fKe(t){return!!Noe[t]}function U8(t){return t.startsWith("utc")}function xKe(t){return t.substr(3)}const dKe={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function q8(t){return j8.filter(e=>Doe(t,e))}function Doe(t,e){const n=t.indexOf(e);return!(n<0||n>0&&e==="seconds"&&t.charAt(n-1)==="i"||t.length>n+3&&e==="day"&&t.charAt(n+3)==="o"||n>0&&e==="year"&&t.charAt(n-1)==="f")}function hKe(t,e,{end:n}={end:!1}){const r=Mse(e),i=U8(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of j8)Doe(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),aKe(u)}function Foe(t){if(!t)return;const e=q8(t);return`timeUnitSpecifier(${sn(e)}, ${sn(dKe)})`}function pKe(t,e,n){if(!t)return;const r=Foe(t);return`${n||U8(t)?"utc":"time"}Format(${e}, ${r})`}function ji(t){if(!t)return;let e;return je(t)?e={unit:t}:Qe(t)&&(e=Object.assign(Object.assign({},t),t.unit?{unit:t.unit}:{})),U8(e.unit)&&(e.utc=!0,e.unit=xKe(e.unit)),e}function gKe(t){const e=ji(t),{utc:n}=e,r=cKe(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>mn(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>mn(`_${i}_${r[i]}`)).join("")}function mKe(t){return t==null?void 0:t.param}function H8(t){return t&&!!t.field&&t.equal!==void 0}function z8(t){return t&&!!t.field&&t.lt!==void 0}function Q8(t){return t&&!!t.field&&t.lte!==void 0}function G8(t){return t&&!!t.field&&t.gt!==void 0}function W8(t){return t&&!!t.field&&t.gte!==void 0}function V8(t){if(t!=null&&t.field){if(_e(t.range)&&t.range.length===2)return!0;if(Ye(t.range))return!0}return!1}function Y8(t){return t&&!!t.field&&(_e(t.oneOf)||_e(t.in))}function yKe(t){return t&&!!t.field&&t.valid!==void 0}function woe(t){return Y8(t)||H8(t)||V8(t)||z8(t)||G8(t)||Q8(t)||W8(t)}function Fa(t,e){return $N(t,{timeUnit:e,wrapTime:!0})}function EKe(t,e){return t.map(n=>Fa(n,e))}function Loe(t,e=!0){var n;const{field:r}=t,i=(n=ji(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${hKe(i,r)})`:$e(t,{expr:"datum"});if(H8(t))return`${s}===${Fa(t.equal,i)}`;if(z8(t)){const o=t.lt;return`${s}<${Fa(o,i)}`}else if(G8(t)){const o=t.gt;return`${s}>${Fa(o,i)}`}else if(Q8(t)){const o=t.lte;return`${s}<=${Fa(o,i)}`}else if(W8(t)){const o=t.gte;return`${s}>=${Fa(o,i)}`}else{if(Y8(t))return`indexof([${EKe(t.oneOf,i).join(",")}], ${s}) !== -1`;if(yKe(t))return X8(s,t.valid);if(V8(t)){const{range:o}=t,u=Ye(o)?{signal:`${o.signal}[0]`}:o[0],a=Ye(o)?{signal:`${o.signal}[1]`}:o[1];if(u!==null&&a!==null&&e)return"inrange("+s+", ["+Fa(u,i)+", "+Fa(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Fa(u,i)}`),a!==null&&l.push(`${s} <= ${Fa(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${sn(t)}`)}function X8(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function AKe(t){var e;return woe(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=ji(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const S3={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function SKe(t){return t==="quantitative"||t==="temporal"}function Ioe(t){return t==="ordinal"||t==="nominal"}const Rd=S3.quantitative,K8=S3.ordinal,I2=S3.temporal,J8=S3.nominal,$2=S3.geojson;function vKe(t){if(t)switch(t=t.toLowerCase(),t){case"q":case Rd:return"quantitative";case"t":case I2:return"temporal";case"o":case K8:return"ordinal";case"n":case J8:return"nominal";case $2:return"geojson"}}var _Ke=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ys={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Z8={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function CKe(t,e){const n=Z8[t],r=Z8[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const bKe={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function $oe(t){return bKe[t]}const Boe=new Set(["linear","log","pow","sqrt","symlog"]),koe=new Set([...Boe,"time","utc"]);function Poe(t){return Boe.has(t)}const Moe=new Set(["quantile","quantize","threshold"]),TKe=new Set([...koe,...Moe,"sequential","identity"]),RKe=new Set(["ordinal","bin-ordinal","point","band"]);function Cr(t){return RKe.has(t)}function zs(t){return TKe.has(t)}function pu(t){return koe.has(t)}function B2(t){return Moe.has(t)}const OKe={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function NKe(t){return!je(t)&&!!t.name}function joe(t){return t==null?void 0:t.param}function DKe(t){return t&&t.unionWith}function FKe(t){return Qe(t)&&"field"in t}const wKe=_Ke({type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},["type","domain","range","rangeMax","rangeMin","scheme"]),LKe=be(wKe);function e7(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(t);case"bins":return!["point","band","identity","ordinal"].includes(t);case"round":return pu(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return pu(t)||["point","band"].includes(t);case"paddingOuter":case"align":return["point","band"].includes(t);case"paddingInner":return t==="band";case"domainMax":case"domainMid":case"domainMin":case"clamp":return pu(t);case"nice":return pu(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return zs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function Uoe(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return F2(t)?void 0:DXe(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function IKe(t,e){return Tt([K8,J8],e)?t===void 0||Cr(t):e===I2?Tt([ys.TIME,ys.UTC,void 0],t):e===Rd?Poe(t)||B2(t)||t===void 0:!0}function $Ke(t,e,n=!1){if(!kc(t))return!1;switch(t){case yn:case _r:case Fc:case D2:case du:case ba:return pu(e)||e==="band"?!0:e==="point"?!n:!1;case Jl:case Ic:case Zl:case wc:case Lc:case Sd:return pu(e)||B2(e)||Tt(["band","point","ordinal"],e);case hs:case Oa:case Na:return e!=="band";case $c:case ps:return e==="ordinal"||B2(e)}}const Ui={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},qoe=Ui.arc,AN=Ui.area,SN=Ui.bar,BKe=Ui.image,vN=Ui.line,_N=Ui.point,kKe=Ui.rect,CN=Ui.rule,Hoe=Ui.text,t7=Ui.tick,PKe=Ui.trail,n7=Ui.circle,r7=Ui.square,zoe=Ui.geoshape;function Uc(t){return["line","area","trail"].includes(t)}function Qoe(t){return["rect","bar","image","arc"].includes(t)}const MKe=new Set(be(Ui));function wa(t){return t.type}const jKe=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],UKe=["fill","fillOpacity"],qKe=[...jKe,...UKe],Goe=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),HKe={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},zKe={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},Woe=be({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function k2(t){return t&&t.band!=null}const QKe={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},Voe=5,GKe={binSpacing:1,continuousBandSize:Voe,timeUnitBandPosition:.5},WKe={binSpacing:0,continuousBandSize:Voe,timeUnitBandPosition:.5},VKe={thickness:1};function YKe(t){return wa(t)?t.type:t}function i7(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=o7(t);return Le(n)&&!Jse(n.aggregate)&&i&&pu(i.get("type"))?XKe({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function XKe({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return Uc(n.type)?r:kt("invalid",n,i)===null?[KKe(t,e),r]:r}function KKe(t,e){const n=s7(t,!0),i=_d(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function s7(t,e=!0){return X8(je(t)?t:$e(t,{expr:"datum"}),!e)}function JKe(t){const{datum:e}=t;return Td(e)?A3(e):`${sn(e)}`}function Od(t,e,n,r){const i={};if(e&&(i.scale=e),Ia(t)){const{datum:s}=t;Td(s)?i.signal=A3(s):Ye(s)?i.signal=s.signal:E3(s)?i.signal=s.expr:i.value=s}else i.field=$e(t,n);if(r){const{offset:s,band:o}=r;s&&(i.offset=s),o&&(i.band=o)}return i}function bN({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:n,offset:r,startSuffix:i,bandPosition:s=.5}){const o=0<s&&s<1?"datum":void 0,u=$e(e,{expr:o,suffix:i}),a=n!==void 0?$e(n,{expr:o}):$e(e,{suffix:"end",expr:o}),l={};if(s===0||s===1){l.scale=t;const c=s===0?u:a;l.field=c}else{const c=Ye(s)?`${s.signal} * ${u} + (1-${s.signal}) * ${a}`:`${s} * ${u} + ${1-s} * ${a}`;l.signal=`scale("${t}", ${c})`}return r&&(l.offset=r),l}function o7({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l,bandPosition:c}){var f;if(e){if(it(e)){const x=o==null?void 0:o.get("type");if(Ro(e)){c??(c=oue({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Kt(h)||c&&p&&m===I2)return u!=null&&u.impute?Od(e,s,{binSuffix:"mid"},{offset:a}):c&&!Cr(x)?bN({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Od(e,s,b3(e,t)?{binSuffix:"range"}:{},{offset:a});if(Mi(h)){if(Le(n))return bN({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(boe(t===yn?xu:Ca))}}return Od(e,s,Cr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(gu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},v3(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function v3(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:on(e)}function Nd(t){return t&&t!=="number"&&t!=="time"}function Yoe(t,e,n){return`${t}(${e}${n?`, ${sn(n)}`:""})`}const ZKe=" – ";function u7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Nd(n))return a7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=Xoe(t,r,i);if(j2(t)){const l=tJe(a,Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,Dd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===ys.UTC);return l?{signal:l}:void 0}if(e=Zoe(x7(t),e,s),Le(t)&&Kt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:TN(a,l,e,n,s)}}else return e||x7(t)==="quantitative"?{signal:`${eue(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function Xoe(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):JKe(t)}function a7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=Xoe(t,r,i)),Le(t)&&Kt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:TN(o,u,e,n,s)}}return{signal:Yoe(n,o,e)}}function Koe(t,e,n,r,i,s){var o;if(!Nd(r)){if(j2(t)){const u=Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return eJe(n,u,i,s)}return Zoe(e,n,i)}}function Joe(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(j2(e)&&n!=="time"&&n!=="utc")return"time"}function Zoe(t,e,n){if(je(e))return e;if(t===Rd)return n.numberFormat}function eJe(t,e,n,r){return t||(e?{signal:Foe(e)}:r?void 0:n.timeFormat)}function eue(t,e){return`format(${t}, "${e||""}")`}function tue(t,e,n,r){var i;return Nd(n)?Yoe(n,t,e):eue(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function TN(t,e,n,r,i){const s=tue(t,n,r,i),o=tue(e,n,r,i);return`${X8(t,!1)} ? "null" : ${s} + "${ZKe}" + ${o}`}function tJe(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):pKe(e,t,i)}const RN="min",nJe={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function nue(t){return t in nJe}function rue(t){return!!t&&!!t.encoding}function La(t){return!!t&&(t.op==="count"||!!t.field)}function iue(t){return!!t&&_e(t)}function _3(t){return"row"in t||"column"in t}function l7(t){return!!t&&"header"in t}function ON(t){return"facet"in t}var c7=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function rJe(t){return t.param}function iJe(t){return t&&!je(t)&&"repeat"in t}function sue(t){const{field:e,timeUnit:n,bin:r,aggregate:i}=t;return Object.assign(Object.assign(Object.assign(Object.assign({},n?{timeUnit:n}:{}),r?{bin:r}:{}),i?{aggregate:i}:{}),{field:e})}function f7(t){return"sort"in t}function oue({fieldDef:t,fieldDef2:e,markDef:n,config:r}){if(it(t)&&t.bandPosition!==void 0)return t.bandPosition;if(Le(t)){const{timeUnit:i,bin:s}=t;if(i&&!e)return Qoe(n.type)?0:bd("timeUnitBandPosition",n,r);if(Kt(s))return .5}}function uue({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=gs(t),f=kt(o?"size":c,r,i,{vgChannel:c});if(f!==void 0)return f;if(Le(e)){const{timeUnit:x,bin:h}=e;if(x&&!n)return{band:bd("timeUnitBandSize",r,i)};if(Kt(h)&&!Cr(s))return{band:1}}if(Qoe(r.type))return s?Cr(s)?((u=i[r.type])===null||u===void 0?void 0:u.discreteBandSize)||{band:1}:(a=i[r.type])===null||a===void 0?void 0:a.continuousBandSize:(l=i[r.type])===null||l===void 0?void 0:l.discreteBandSize}function aue(t,e,n,r){return Kt(t.bin)||t.timeUnit&&Ro(t)&&t.type==="temporal"?oue({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function NN(t){return t&&"condition"in t}function DN(t){const e=t&&t.condition;return!!e&&!_e(e)&&Le(e)}function C3(t){const e=t&&t.condition;return!!e&&!_e(e)&&it(e)}function sJe(t){const e=t&&t.condition;return!!e&&(_e(e)||gu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function x7(t){return t&&t.type}function Ia(t){return t&&"datum"in t}function $a(t){return Ro(t)&&!FN(t)||d7(t)}function d7(t){return Ia(t)&&nn(t.datum)}function it(t){return Le(t)||Ia(t)}function Ro(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function gu(t){return t&&"value"in t&&"value"in t}function Dd(t){return t&&("scale"in t||"sort"in t)}function h7(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function lue(t){return t&&"legend"in t}function cue(t){return t&&("format"in t||"formatType"in t)}function oJe(t){return Co(t,["legend","axis","header","scale"])}function uJe(t){return"op"in t}function $e(t,e={}){var n,r,i;let s=t.field;const o=e.prefix;let u=e.suffix,a="";if(lJe(t))s=mYe("count");else{let l;if(!e.nofn)if(uJe(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Kt(c)?(l=Zse(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?Pc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):t0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=gKe(x),u=(!["range","mid"].includes(e.binSuffix)&&e.binSuffix||"")+((i=e.suffix)!==null&&i!==void 0?i:""))}l&&(s=s?`${l}_${s}`:l)}return u&&(s=`${s}_${u}`),o&&(s=`${o}_${s}`),e.forAs?jse(s):e.expr?dYe(s,e.expr)+a:fu(s)+a}function FN(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Le(t)&&!!t.bin;case"temporal":return!1}throw new Error(Eoe(t.type))}function aJe(t){var e;return Dd(t)&&B2((e=t.scale)===null||e===void 0?void 0:e.type)}function lJe(t){return t.aggregate==="count"}function cJe(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Kt(i))return`${r} (binned)`;if(s){const u=(n=ji(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${q8(u).join("-")})`}else if(o)return Pc(o)?`${r} for max ${o.argmax}`:t0(o)?`${r} for min ${o.argmin}`:`${uN(o)} of ${r}`;return r}function fJe(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(Pc(e))return`${i} for argmax(${e.argmax})`;if(t0(e))return`${i} for argmin(${e.argmin})`;const s=ji(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Kt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const fue=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return fJe(t);default:return cJe(t,e)}};let xue=fue;function due(t){xue=t}function xJe(){due(fue)}function P2(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=p7(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?g7(u,e):void 0;return n?ir(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function p7(t){if(h7(t)&&t.axis)return t.axis;if(lue(t)&&t.legend)return t.legend;if(l7(t)&&t.header)return t.header}function g7(t,e){return xue(t,e)}function wN(t){var e;if(cue(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=p7(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function dJe(t,e){var n;switch(e){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(f7(t)&&_e(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!Pc(r)&&!t0(r))return"quantitative";if(Dd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(Z8[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ba(t){if(Le(t))return t;if(DN(t))return t.condition}function sr(t){if(it(t))return t;if(C3(t))return t.condition}function hue(t,e,n,r={}){if(je(t)||nn(t)||Fp(t)){const i=je(t)?"string":nn(t)?"number":"boolean";return Te(mXe(e,i,t)),{value:t}}return it(t)?LN(t,e,n,r):C3(t)?Object.assign(Object.assign({},t),{condition:LN(t.condition,e,n,r)}):t}function LN(t,e,n,r){if(cue(t)){const{format:i,formatType:s}=t,o=c7(t,["format","formatType"]);if(Nd(s)&&!n.customFormatTypes)return Te(yoe(e)),LN(o,e,n,r)}else{const i=h7(t)?"axis":lue(t)?"legend":l7(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=c7(s,["format","formatType"]);if(Nd(u)&&!n.customFormatTypes)return Te(yoe(e)),LN(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?m7(t,e,r):hJe(t)}function hJe(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=nn(n)?"quantitative":je(n)?"nominal":Td(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function m7(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!w8(r)&&!Pc(r)&&!t0(r)&&(Te(EXe(r)),delete u.aggregate),i&&(u.timeUnit=ji(i)),o&&(u.field=`${o}`),Kt(s)&&(u.bin=IN(s,e)),Mi(s)&&!kr(e)&&Te(JXe(e)),Ro(u)){const{type:a}=u,l=vKe(a);a!==l&&(u.type=l),a!=="quantitative"&&Jse(r)&&(Te(yXe(a,r)),u.type="quantitative")}else if(!Qse(e)){const a=dJe(u,e);u.type=a}if(Ro(u)){const{compatible:a,warning:l}=pJe(u,e)||{};a===!1&&Te(l)}if(f7(u)&&je(u.sort)){const{sort:a}=u;if(nue(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&nue(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(l7(u)){const{header:a}=u;if(a){const{orient:l}=a,c=c7(a,["orient"]);if(l)return Object.assign(Object.assign({},u),{header:Object.assign(Object.assign({},c),{labelOrient:a.labelOrient||l,titleOrient:a.titleOrient||l})})}}return u}function IN(t,e){return Fp(t)?{maxbins:eoe(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:eoe(e)}):t}const M2={compatible:!0};function pJe(t,e){const n=t.type;if(n==="geojson"&&e!=="shape")return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case Vl:case Yl:case lN:return FN(t)?M2:{compatible:!1,warning:CXe(e)};case yn:case _r:case Fc:case D2:case hs:case Oa:case Na:case g3:case y3:case cN:case vd:case fN:case xN:case Sd:case du:case ba:case dN:return M2;case Ra:case bo:case Ta:case hu:return n!==Rd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:M2;case Zl:case wc:case Lc:case Ic:case Jl:case Kl:case Xl:case xu:case Ca:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:M2;case ps:case $c:return!FN(t)&&!aJe(t)?{compatible:!1,warning:bXe(e)}:M2;case m3:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:M2}}function j2(t){const{formatType:e}=wN(t);return e==="time"||!e&&gJe(t)}function gJe(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function $N(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=ji(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return E3(t)?a=t.expr:Ye(t)?a=t.signal:Td(t)?(u=!0,a=A3(t)):(je(t)||nn(t))&&u&&(a=`datetime(${sn(t)})`,fKe(o)&&(nn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=A3({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:sn(t)}function pue(t,e){const{type:n}=t;return e.map(r=>{const i=$N(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function b3(t,e){return Kt(t.bin)?kc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const gue={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function T3(t){return t&&t.condition}const mue=["domain","grid","labels","ticks","title"],mJe={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},yue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},yJe=Object.assign(Object.assign({},yue),{style:1,labelExpr:1,encoding:1});function Eue(t){return!!yJe[t]}const Aue=be({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function i0(t){return"mark"in t}class BN{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return i0(e)?YKe(e.mark)===this.name:!1}}var EJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Fd(t,e){const n=t&&t[e];return n?_e(n)?O2(n,r=>!!r.field):Le(n)||DN(n):!1}function Sue(t,e){const n=t&&t[e];return n?_e(n)?O2(n,r=>!!r.field):Le(n)||Ia(n)||C3(n):!1}function y7(t,e){if(kr(e)){const n=t[e];if((Le(n)||Ia(n))&&Ioe(n.type)){const r=Gse(e);return Sue(t,r)}}return!1}function E7(t){return O2(_Ye,e=>{if(Fd(t,e)){const n=t[e];if(_e(n))return O2(n,r=>!!r.aggregate);{const r=Ba(n);return r&&!!r.aggregate}}return!1})}function vue(t,e){const n=[],r=[],i=[],s=[],o={};return A7(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=EJe(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=p7(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:P2(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(Pc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):t0(c)?(E="argmin",g=$e({op:"argmin",field:c.argmin},{forAs:!0}),y.field=`${g}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(E=c),E){const A={op:E,as:g};l&&(A.field=l),s.push(A)}}else if(n.push(g),Ro(u)&&Kt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),b3(u,a)&&n.push($e(u,{binSuffix:"range"})),kr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",Qse(a)||(y.type=Rd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=Ro(u)&&u.type!==I2&&"time";E&&(a===g3||a===vd?y.formatType=E:LYe(a)?y.legend=Object.assign({formatType:E},y.legend):kr(a)&&(y.axis=Object.assign({formatType:E},y.axis)))}o[a]=y}else n.push(l),o[a]=t[a]}else o[a]=t[a]}),{bins:r,timeUnits:i,aggregate:s,groupby:n,encoding:o}}function AJe(t,e,n){const r=$Ye(e,n);if(r){if(r==="binned"){const i=t[e===xu?yn:_r];return!!(Le(i)&&Le(t[e])&&Mi(i.bin))}}else return!1;return!0}function SJe(t,e,n,r){const i={};for(const s of be(t))zse(s)||Te(_Xe(s));for(let s of NYe){if(!t[s])continue;const o=t[s];if(w2(s)){const u=Wse(s),a=i[u];if(Le(a)){if(SKe(a.type)&&Le(o)){Te(pXe(u));continue}}else s=u,Te(gXe(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(hXe),s=du),!AJe(t,s,e)){Te(yN(s,e));continue}if(s===Jl&&e==="line"){const u=Ba(t[s]);if(u!=null&&u.aggregate){Te(SXe);continue}}if(s===hs&&(n?"fill"in t:"stroke"in t)){Te(Aoe("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===y3||s===m3&&!_e(o)&&!gu(o)||s===vd&&_e(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(m7(a,s)):Te(k8(a,s)),u),[]));else{if(s===vd&&o===null)i[s]=null;else if(!Le(o)&&!Ia(o)&&!gu(o)&&!NN(o)&&!Ye(o)){Te(k8(o,s));continue}i[s]=hue(o,s,r)}}return i}function kN(t,e){const n={};for(const r of be(t)){const i=hue(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function vJe(t){const e=[];for(const n of be(t))if(Fd(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):DN(s)&&e.push(s.condition)}return e}function A7(t,e,n){if(t)for(const r of be(t)){const i=t[r];if(_e(i))for(const s of i)e.call(n,s,r);else e.call(n,i,r)}}function _Je(t,e,n,r){return t?be(t).reduce((i,s)=>{const o=t[s];return _e(o)?o.reduce((u,a)=>e.call(r,u,a,s),i):e.call(r,i,o,s)},n):n}function _ue(t,e){return be(e).reduce((n,r)=>{switch(r){case yn:case _r:case fN:case dN:case xN:case xu:case Ca:case Fc:case D2:case du:case Kl:case ba:case Xl:case Ta:case Ra:case hu:case bo:case g3:case ps:case Sd:case vd:return n;case m3:if(t==="line"||t==="trail")return n;case y3:case cN:{const i=e[r];if(_e(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case Jl:if(t==="trail")return n;case hs:case Oa:case Na:case Zl:case wc:case Lc:case $c:case Ic:{const i=Ba(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var Cue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function CJe(t){const{tooltip:e}=t,n=Cue(t,["tooltip"]);if(!e)return{filteredEncoding:n};let r,i;if(_e(e)){for(const s of e)s.aggregate?(r||(r=[]),r.push(s)):(i||(i=[]),i.push(s));r&&(n.tooltip=r)}else e.aggregate?n.tooltip=e:i=e;return _e(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function S7(t,e,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};const i=t.map(({fieldPrefix:o,titlePrefix:u})=>{const a=r?` of ${v7(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=vJe(n).map(oJe);return{tooltip:[...i,...Wl(s,bt)]}}function v7(t){const{title:e,field:n}=t;return ir(e,n)}function _7(t,e,n,r,i){const{scale:s,axis:o}=n;return({partName:u,mark:a,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{const x=v7(n);return bue(t,u,i,{mark:a,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:`${l}_${n.field}`,type:n.type},x!==void 0?{title:x}:{}),s!==void 0?{scale:s}:{}),o!==void 0?{axis:o}:{})},je(c)?{[`${e}2`]:{field:`${c}_${n.field}`}}:{}),r),f)})}}function bue(t,e,n,r){const{clip:i,color:s,opacity:o}=t,u=t.type;return t[e]||t[e]===void 0&&n[e]?[Object.assign(Object.assign({},r),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n[e]),i?{clip:i}:{}),s?{color:s}:{}),o?{opacity:o}:{}),wa(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),Fp(t[e])?{}:t[e])})]:[]}function Tue(t,e,n){const{encoding:r}=t,i=e==="vertical"?"y":"x",s=r[i],o=r[`${i}2`],u=r[`${i}Error`],a=r[`${i}Error2`];return{continuousAxisChannelDef:PN(s,n),continuousAxisChannelDef2:PN(o,n),continuousAxisChannelDefError:PN(u,n),continuousAxisChannelDefError2:PN(a,n),continuousAxis:i}}function PN(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=Cue(t,["aggregate"]);return n!==e&&Te(KXe(n,e)),r}else return t}function Rue(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(wa(n)&&n.orient)return n.orient;if($a(i)){if($a(s)){const o=Le(i)&&i.aggregate,u=Le(s)&&s.aggregate;if(!o&&u===e)return"vertical";if(!u&&o===e)return"horizontal";if(o===e&&u===e)throw new Error("Both x and y cannot have aggregate");return j2(s)&&!j2(i)?"horizontal":"vertical"}return"horizontal"}else{if($a(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var MN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const jN="boxplot",bJe=["box","median","outliers","rule","ticks"],TJe=new BN(jN,Nue);function Oue(t){return nn(t)?"tukey":t}function Nue(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=MN(t,["mark","encoding","params","projection"]),l=wa(i)?i:{type:i};o&&Te(poe("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=Oue(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:S,ticksOrient:v,boxOrient:_,customTooltipWithoutAggregatedField:C}=RJe(t,c,e),{color:b,size:O}=S,R=MN(S,["color","size"]),I=V=>_7(l,y,g,V,e.boxplot),M=I(R),z=I(S),Y=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=S7([{fieldPrefix:x==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:x==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],g,S),oe={type:"tick",color:"black",opacity:1,orient:v,invalid:null,aria:!1},de=x==="min-max"?Q:S7([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,S),ae=[...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:de}),...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:de}),...M({partName:"ticks",mark:oe,positionPrefix:"lower_whisker",extraEncoding:de}),...M({partName:"ticks",mark:oe,positionPrefix:"upper_whisker",extraEncoding:de})],ie=[...x!=="tukey"?ae:[],...z({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:_,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:Q}),...Y({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Qe(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:v,aria:!1}),positionPrefix:"mid_box",extraEncoding:Q})];if(x==="min-max")return Object.assign(Object.assign({},a),{transform:((r=a.transform)!==null&&r!==void 0?r:[]).concat(m),layer:ie});const le=`datum["lower_box_${g.field}"]`,xe=`datum["upper_box_${g.field}"]`,Ce=`(${xe} - ${le})`,D=`${le} - ${c} * ${Ce}`,k=`${xe} + ${c} * ${Ce}`,j=`datum["${g.field}"]`,W={joinaggregate:Due(g.field),groupby:E},U={transform:[{filter:`(${D} <= ${j}) && (${j} <= ${k})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${g.field}`},{op:"max",field:g.field,as:`upper_whisker_${g.field}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${g.field}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${g.field}`},...A],groupby:E}],layer:ae},B=MN(R,["tooltip"]),{scale:T,axis:N}=g,$=v7(g),q=Co(N,["title"]),L=bue(l,"outliers",e.boxplot,{transform:[{filter:`(${j} < ${D}) || (${j} > ${k})`}],mark:"point",encoding:Object.assign(Object.assign(Object.assign({[y]:Object.assign(Object.assign(Object.assign({field:g.field,type:g.type},$!==void 0?{title:$}:{}),T!==void 0?{scale:T}:{}),Wt(q)?{}:{axis:q})},B),b?{color:b}:{}),C?{tooltip:C}:{})})[0];let H;const P=[...h,...p,W];return L?H={transform:P,layer:[L,U]}:(H=U,H.transform.unshift(...P)),Object.assign(Object.assign({},a),{layer:[H,{transform:m,layer:ie}]})}function Due(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function RJe(t,e,n){const r=Rue(t,jN),{continuousAxisChannelDef:i,continuousAxis:s}=Tue(t,r,jN),o=i.field,u=Oue(e),a=[...Due(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:(u==="min-max"?"lower_whisker_":"min_")+o},{op:"max",field:o,as:(u==="min-max"?"upper_whisker_":"max_")+o}],l=u==="min-max"||u==="tukey"?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${e}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${e}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],c=t.encoding,f=s;c[f];const x=MN(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=CJe(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=vue(p,n),S=r==="vertical"?"horizontal":"vertical",v=r,_=[...m,...g,{aggregate:[...y,...a],groupby:E},...l];return{bins:m,timeUnits:g,transform:_,groupby:E,aggregate:y,continuousAxisChannelDef:i,continuousAxis:s,encodingWithoutContinuousAxis:A,ticksOrient:S,boxOrient:v,customTooltipWithoutAggregatedField:h}}var Fue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const C7="errorbar",OJe=["ticks","rule"],NJe=new BN(C7,wue);function wue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=Lue(t,C7,e);delete s.size;const c=_7(u,i,r,s,e.errorbar),f=u.thickness,x=u.size,h=Object.assign(Object.assign({type:"tick",orient:o,aria:!1},f!==void 0?{thickness:f}:{}),x!==void 0?{size:x}:{}),p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},f!==void 0?{size:f}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},a),{transform:n}),p.length>1?{layer:p}:Object.assign({},p[0]))}function DJe(t,e){const{encoding:n}=t;if(FJe(n))return{orient:Rue(t,e),inputType:"raw"};const r=wJe(n),i=LJe(n),s=n.x,o=n.y;if(r){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);const u=n.x2,a=n.y2;if(it(u)&&it(a))throw new Error(`${e} cannot have both x2 and y2`);if(it(u)){if($a(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}else if(it(a)){if($a(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}else{const u=n.xError,a=n.xError2,l=n.yError,c=n.yError2;if(it(a)&&!it(u))throw new Error(`${e} cannot have xError2 without xError`);if(it(c)&&!it(l))throw new Error(`${e} cannot have yError2 without yError`);if(it(u)&&it(l))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(it(u)){if($a(s))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(it(l)){if($a(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function FJe(t){return(it(t.x)||it(t.y))&&!it(t.x2)&&!it(t.y2)&&!it(t.xError)&&!it(t.xError2)&&!it(t.yError)&&!it(t.yError2)}function wJe(t){return it(t.x2)||it(t.y2)}function LJe(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function Lue(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=Fue(t,["mark","encoding","params","projection"]),l=wa(i)?i:{type:i};o&&Te(poe(e));const{orient:c,inputType:f}=DJe(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=Tue(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:S}=IJe(l,x,h,p,m,f,e,n),v=s,_=g;v[_];const C=g==="x"?"x2":"y2";v[C];const b=g==="x"?"xError":"yError";v[b];const O=g==="x"?"xError2":"yError2";v[O];const R=Fue(v,[typeof _=="symbol"?_:_+"",typeof C=="symbol"?C:C+"",typeof b=="symbol"?b:b+"",typeof O=="symbol"?O:O+""]),{bins:I,timeUnits:M,aggregate:z,groupby:Y,encoding:Q}=vue(R,n),oe=[...z,...y],de=f!=="raw"?[]:Y,ae=S7(A,x,Q,S);return{transform:[...(r=a.transform)!==null&&r!==void 0?r:[],...I,...M,...oe.length===0?[]:[{aggregate:oe,groupby:de}],...E],groupby:de,continuousAxisChannelDef:x,continuousAxis:g,encodingWithoutContinuousAxis:Q,ticksOrient:c==="vertical"?"horizontal":"vertical",markDef:l,outerSpec:a,tooltipEncoding:ae}}function IJe(t,e,n,r,i,s,o,u){let a=[],l=[];const c=e.field;let f,x=!1;if(s==="raw"){const h=t.center?t.center:t.extent?t.extent==="iqr"?"median":"mean":u.errorbar.center,p=t.extent?t.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&Te(XXe(h,p,o)),p==="stderr"||p==="stdev")a=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:`upper_${c}`},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:uN(h)},{fieldPrefix:"upper_",titlePrefix:Iue(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:Iue(h,p,"-")}],x=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),a=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:m,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:P2({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:P2({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:P2({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(YXe(t.center,t.extent)),s==="aggregated-upper-lower"?(f=[],l=[{calculate:`datum["${n.field}"]`,as:`upper_${c}`},{calculate:`datum["${c}"]`,as:`lower_${c}`}]):s==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${r.field}"]`,as:`upper_${c}`}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:`lower_${c}`}):l.push({calculate:`datum["${c}"] - datum["${r.field}"]`,as:`lower_${c}`}));for(const h of l)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:N2(N2(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function Iue(t,e,n){return`${uN(t)} ${n} ${e}`}const b7="errorband",$Je=["band","borders"],BJe=new BN(b7,$ue);function $ue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=Lue(t,b7,e),l=o,c=_7(l,i,r,s,e.errorband),f=t.encoding.x!==void 0&&t.encoding.y!==void 0;let x={type:f?"area":"rect"},h={type:f?"line":"rule"};const p=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(x=Object.assign(Object.assign(Object.assign({},x),p),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign(Object.assign({},h),p),{aria:!1})):l.interpolate?Te(Coe("interpolate")):l.tension&&Te(Coe("tension")),Object.assign(Object.assign({},u),{transform:n,layer:[...c({partName:"band",mark:x,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:a})]})}const Bue={};function T7(t,e,n){const r=new BN(t,e);Bue[t]={normalizer:r,parts:n}}function kJe(){return be(Bue)}T7(jN,Nue,bJe),T7(C7,wue,OJe),T7(b7,$ue,$Je);const PJe=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],kue={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},Pue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},MJe=be(kue),jJe=be(Pue),Mue=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),jue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],UJe={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},qJe={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},R3="_vgsid_",HJe={point:{on:"click",fields:[R3],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function R7(t){return!!t&&(t==="legend"||!!t.legend)}function O7(t){return R7(t)&&Qe(t)}function N7(t){return!!t.select}var zJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Uue(t){const e=[];for(const n of t||[]){if(N7(n))continue;const{expr:r,bind:i}=n,s=zJe(n,["expr","bind"]);if(i&&r){const o=Object.assign(Object.assign({},s),{bind:i,init:r});e.push(o)}else{const o=Object.assign(Object.assign(Object.assign({},s),r?{update:r}:{}),i?{bind:i}:{});e.push(o)}}return e}function QJe(t){return UN(t)||F7(t)||D7(t)}function D7(t){return"concat"in t}function UN(t){return"vconcat"in t}function F7(t){return"hconcat"in t}function que({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function ka(t){return Qe(t)&&t.step!==void 0}function Hue(t){return t.view||t.width||t.height}const zue=20,GJe=be({align:1,bounds:1,center:1,columns:1,spacing:1});function WJe(t,e,n){var r,i;const s=n[e],o={},{spacing:u,columns:a}=s;u!==void 0&&(o.spacing=u),a!==void 0&&(ON(t)&&!_3(t.facet)||D7(t))&&(o.columns=a),UN(t)&&(o.columns=1);for(const l of GJe)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=nn(c)?c:{row:(r=c.row)!==null&&r!==void 0?r:u,column:(i=c.column)!==null&&i!==void 0?i:u}}else o[l]=t[l];return o}var VJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function w7(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function qN(t,e){const n=HN(t,e);return ka(n)?n.step:Que}function HN(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return ir(r,{step:t.step})}const Que=20,YJe={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Que},mark:zKe,arc:{},area:{},bar:GKe,circle:{},geoshape:{},image:{},line:{},point:{},rect:WKe,rule:{color:"black"},square:{},text:{color:"black"},tick:VKe,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:OKe,projection:{},legend:UJe,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:HJe,style:{},title:{},facet:{spacing:zue},concat:{spacing:zue}},s0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Gue={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Wue={blue:s0[0],orange:s0[1],red:s0[2],teal:s0[3],green:s0[4],yellow:s0[5],purple:s0[6],pink:s0[7],brown:s0[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function XJe(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},Wue),t):Wue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function KJe(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},Gue),t):Gue}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function JJe(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function Vue(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=T3(i)?noe(i):Hs(i)}return n}function ZJe(t){const e=be(t),n={};for(const r of e)n[r]=Vue(t[r]);return n}const eZe=[...Woe,...Aue,...Mue,"background","padding","legend","lineBreak","scale","style","title","view"];function Yue(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=VJe(t,["color","font","fontSize","selection"]),o=h5({},ot(YJe),n?JJe(n):{},e?XJe(e):{},r?KJe(r):{},s||{});i&&jb(o,"selection",i,!0);const u=Co(o,eZe);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=Hs(o[a]));for(const a of Woe)o[a]&&(u[a]=ms(o[a]));for(const a of Aue)o[a]&&(u[a]=Vue(o[a]));for(const a of Mue)o[a]&&(u[a]=ms(o[a]));return o.legend&&(u.legend=ms(o.legend)),o.scale&&(u.scale=ms(o.scale)),o.style&&(u.style=ZJe(o.style)),o.title&&(u.title=ms(o.title)),o.view&&(u.view=ms(o.view)),u}const tZe=new Set(["view",...MKe]),nZe=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],rZe=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},HKe);function iZe(t){t=ot(t);for(const e of nZe)delete t[e];if(t.axis)for(const e in t.axis)T3(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of PJe)delete t.legend[e];if(t.mark){for(const e of Goe)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(Uue(t.params)),delete t.params);for(const e of tZe){for(const r of Goe)delete t[e][r];const n=rZe[e];if(n)for(const r of n)delete t[e][r];oZe(t,e)}for(const e of kJe())delete t[e];sZe(t);for(const e in t)Qe(t[e])&&Wt(t[e])&&delete t[e];return Wt(t)?void 0:t}function sZe(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=toe(t.title);Wt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Wt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Wt(r)?delete t.title:t.title=r}function oZe(t,e,n,r){const i=r?t[e][r]:t[e];e==="view"&&(n="cell");const s=Object.assign(Object.assign({},i),t.style[n??e]);Wt(s)||(t.style[n??e]=s),r||delete t[e]}function zN(t){return"layer"in t}function uZe(t){return"repeat"in t}function aZe(t){return!_e(t.repeat)&&t.repeat.layer}var lZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class L7{map(e,n){return ON(e)?this.mapFacet(e,n):uZe(e)?this.mapRepeat(e,n):F7(e)?this.mapHConcat(e,n):UN(e)?this.mapVConcat(e,n):D7(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(zN(e))return this.mapLayer(e,n);if(i0(e))return this.mapUnit(e,n);throw new Error($8(e))}mapLayer(e,n){return Object.assign(Object.assign({},e),{layer:e.layer.map(r=>this.mapLayerOrUnit(r,n))})}mapHConcat(e,n){return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map(r=>this.map(r,n))})}mapVConcat(e,n){return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map(r=>this.map(r,n))})}mapConcat(e,n){const{concat:r}=e,i=lZe(e,["concat"]);return Object.assign(Object.assign({},i),{concat:r.map(s=>this.map(s,n))})}mapFacet(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}mapRepeat(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}}const cZe={zero:1,center:1,normalize:1};function fZe(t){return t in cZe}const xZe=new Set([qoe,SN,AN,CN,_N,n7,r7,vN,Hoe,t7]),dZe=new Set([SN,AN,qoe]);function U2(t){return Le(t)&&x7(t)==="quantitative"&&!t.bin}function Xue(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(U2(s)&&U2(o)){if(s.stack)return e;if(o.stack)return i;const u=Le(s)&&!!s.aggregate,a=Le(o)&&!!o.aggregate;if(u!==a)return u?e:i;{const l=(n=s.scale)===null||n===void 0?void 0:n.type,c=(r=o.scale)===null||r===void 0?void 0:r.type;if(l&&l!=="linear")return i;if(c&&c!=="linear")return e}}else{if(U2(s))return e;if(U2(o))return i}else{if(U2(s))return e;if(U2(o))return i}}function hZe(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function Kue(t,e,n={}){var r,i;const s=wa(t)?t.type:t;if(!xZe.has(s))return null;const o=Xue(e,"x")||Xue(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=hZe(o),c=[],f=new Set;if(e[l]){const p=e[l],m=Le(p)?$e(p,{}):void 0;m&&m!==a&&(c.push(l),f.add(m));const g=l==="x"?"xOffset":"yOffset",y=e[g],E=Le(y)?$e(y,{}):void 0;E&&E!==a&&(c.push(g),f.add(E))}const x=DYe.reduce((p,m)=>{if(m!=="tooltip"&&Fd(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ba(y);if(E.aggregate)continue;const A=$e(E,{});(!A||!f.has(A))&&p.push({channel:m,fieldDef:E})}}return p},[]);let h;if(u.stack!==void 0?Fp(u.stack)?h=u.stack?"zero":null:h=u.stack:dZe.has(s)&&(h="zero"),!h||!fZe(h)||E7(e)&&x.length===0)return null;if(!((r=u==null?void 0:u.scale)===null||r===void 0)&&r.type&&((i=u==null?void 0:u.scale)===null||i===void 0?void 0:i.type)!==ys.LINEAR){if(n.disallowNonLinearStack)return null;Te(GXe(u.scale.type))}return it(e[e0(o)])?(u.stack!==void 0&&Te(QXe(o)),null):(Le(u)&&u.aggregate&&!qYe.has(u.aggregate)&&Te(WXe(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:Uc(s),stackBy:x,offset:h})}var Jue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function pZe(t){const e=Jue(t,["point","line"]);return be(e).length>1?e:e.type}function gZe(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:Co(t[e],["point","line"])}));return t}function I7(t,e={},n){return t.point==="transparent"?{opacity:0}:t.point?Qe(t.point)?t.point:{}:t.point!==void 0?null:e.point||n.shape?Qe(e.point)?e.point:{}:void 0}function Zue(t,e={}){return t.line?t.line===!0?{}:t.line:t.line!==void 0?null:e.line?e.line===!0?{}:e.line:void 0}class mZe{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(i0(e)){const{mark:r,encoding:i}=e,s=wa(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!I7(s,n[s.type],i);case"area":return!!I7(s,n[s.type],i)||!!Zue(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=Jue(e,["params","projection","mark","encoding"]),c=kN(a,i),f=wa(u)?u:{type:u},x=I7(f,i[f.type],c),h=f.type==="area"&&Zue(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:pZe(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:Co(c,["shape"])})],m=Kue(f,c);let g=c;if(m){const{fieldChannel:y,offset:E}=m;g=Object.assign(Object.assign({},c),{[y]:Object.assign(Object.assign({},c[y]),E?{stack:E}:{})})}return h&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},d3(f,["clip","interpolate","tension","tooltip"])),h),encoding:g})),x&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},d3(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:gZe(i)}))}}var yZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function EZe(t,e){return e?_3(t)?rae(t,e):eae(t,e):t}function $7(t,e){return e?rae(t,e):t}function B7(t,e,n){const r=e[t];if(iJe(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(uXe(r.repeat));return}return e}function eae(t,e){if(t=B7("field",t,e),t!==void 0){if(t===null)return null;if(f7(t)&&La(t.sort)){const n=B7("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function tae(t,e){if(Le(t))return eae(t,e);{const n=B7("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function nae(t,e){if(it(t)){const n=tae(t,e);if(n)return n;if(NN(t))return{condition:t.condition}}else{if(C3(t)){const n=tae(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):yZe(t,["condition"])}return t}}function rae(t,e){const n={};for(const r in t)if(Je(t,r)){const i=t[r];if(_e(i))n[r]=i.map(s=>nae(s,e)).filter(s=>s);else{const s=nae(i,e);s!==void 0&&(n[r]=s)}}return n}class AZe{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(i0(e)){const{encoding:n,mark:r}=e;if(r==="line"||wa(r)&&r.type==="line")for(const i of RYe){const s=_d(i),o=n[s];if(n[i]&&(Le(o)&&!Mi(o.bin)||Ia(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(OXe(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var qc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class SZe extends L7{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[TJe,NJe,BJe,new mZe,new AZe]}map(e,n){if(i0(e)){const r=Fd(e.encoding,Vl),i=Fd(e.encoding,Yl),s=Fd(e.encoding,lN);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=$7(e.encoding,n.repeater),o=Object.assign(Object.assign({},e),s?{encoding:s}:{});if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);const u=this.mapLayerOrUnit.bind(this);for(const a of this.nonFacetUnitNormalizers)if(a.hasMatchingType(o,n.config))return a.run(o,n,u);return o}mapRepeat(e,n){return aZe(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=qc(e,["repeat","spec"]),{row:o,column:u,layer:a}=r,{repeater:l={},repeaterPrefix:c=""}=n;return o||u?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),u?{column:u}:{}),spec:{repeat:{layer:a},spec:i}}),n):Object.assign(Object.assign({},s),{layer:a.map(f=>{const x=Object.assign(Object.assign({},l),{layer:f}),h=`${(i.name||"")+c}child__layer_${mn(f)}`,p=this.mapLayerOrUnit(i,Object.assign(Object.assign({},n),{repeater:x,repeaterPrefix:h}));return p.name=h,p})})}mapNonLayerRepeat(e,n){var r;const{repeat:i,spec:s,data:o}=e,u=qc(e,["repeat","spec","data"]);!_e(i)&&e.columns&&(e=Co(e,["columns"]),Te(goe("repeat")));const a=[],{repeater:l={},repeaterPrefix:c=""}=n,f=!_e(i)&&i.row||[l?l.row:null],x=!_e(i)&&i.column||[l?l.column:null],h=_e(i)&&i||[l?l.repeat:null];for(const m of h)for(const g of f)for(const y of x){const E={repeat:m,row:g,column:y,layer:l.layer},A=(s.name||"")+c+"child__"+(_e(i)?`${mn(m)}`:(i.row?`row_${mn(g)}`:"")+(i.column?`column_${mn(y)}`:"")),S=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));S.name=A,a.push(Co(S,["data"]))}const p=_e(i)?e.columns:i.column?i.column.length:1;return Object.assign(Object.assign({data:(r=s.data)!==null&&r!==void 0?r:o,align:"all"},u),{columns:p,concat:a})}mapFacet(e,n){const{facet:r}=e;return _3(r)&&e.columns&&(e=Co(e,["columns"]),Te(goe("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=sae({parentProjection:o,projection:i}),l=iae({parentEncoding:s,encoding:$7(r,n.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),a?{projection:a}:{}),l?{encoding:l}:{}),{config:u})}mapFacetedUnit(e,n){const r=e.encoding,{row:i,column:s,facet:o}=r,u=qc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=qc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=$7(u,n.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},m),y),{facet:g,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l?{width:l}:{}),f?{height:f}:{}),x?{view:x}:{}),c?{projection:c}:{}),{mark:a,encoding:E}),h?{params:h}:{})}),n)}getFacetMappingAndLayout(e,n){var r;const{row:i,column:s,facet:o}=e;if(i||s){o&&Te(TXe([...i?[Vl]:[],...s?[Yl]:[]]));const u={},a={};for(const l of[Vl,Yl]){const c=e[l];if(c){const f=qc(c,["align","center","spacing","columns"]);u[l]=f;for(const x of["align","center","spacing"])c[x]!==void 0&&((r=a[x])!==null&&r!==void 0||(a[x]={}),a[x][l]=c[x])}}return{facetMapping:u,layout:a}}else{const{align:u,center:a,spacing:l,columns:c}=o,f=qc(o,["align","center","spacing","columns"]);return{facetMapping:EZe(f,n.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},u?{align:u}:{}),a?{center:a}:{}),l?{spacing:l}:{}),c?{columns:c}:{})}}}mapLayer(e,n){var{parentEncoding:r,parentProjection:i}=n,s=qc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=qc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:iae({parentEncoding:r,encoding:o,layer:!0}),parentProjection:sae({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function iae({parentEncoding:t,encoding:e={},layer:n}){let r={};if(t){const i=new Set([...be(t),...be(e)]);for(const s of i){const o=e[s],u=t[s];if(it(o)){const a=Object.assign(Object.assign({},u),o);r[s]=a}else C3(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||gu(u)||Ye(u)||it(u)||_e(u))&&(r[s]=u)}}else r=e;return!r||Wt(r)?void 0:r}function sae(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(dXe({parentProjection:e,projection:n})),n??e}function k7(t){return"filter"in t}function vZe(t){return(t==null?void 0:t.stop)!==void 0}function oae(t){return"lookup"in t}function _Ze(t){return"data"in t}function CZe(t){return"param"in t}function bZe(t){return"pivot"in t}function TZe(t){return"density"in t}function RZe(t){return"quantile"in t}function OZe(t){return"regression"in t}function NZe(t){return"loess"in t}function DZe(t){return"sample"in t}function FZe(t){return"window"in t}function wZe(t){return"joinaggregate"in t}function LZe(t){return"flatten"in t}function IZe(t){return"calculate"in t}function uae(t){return"bin"in t}function $Ze(t){return"impute"in t}function BZe(t){return"timeUnit"in t}function kZe(t){return"aggregate"in t}function PZe(t){return"stack"in t}function MZe(t){return"fold"in t}function jZe(t){return t.map(e=>k7(e)?{filter:R2(e.filter,AKe)}:e)}var Hc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class UZe extends L7{map(e,n){var r,i;return(r=n.emptySelections)!==null&&r!==void 0||(n.emptySelections={}),(i=n.selectionPredicates)!==null&&i!==void 0||(n.selectionPredicates={}),e=aae(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=aae(e,n),e.encoding){const r={};for(const[i,s]of Ad(e.encoding))r[i]=lae(s,n);e=Object.assign(Object.assign({},e),{encoding:r})}return super.mapLayerOrUnit(e,n)}mapUnit(e,n){const r=e,{selection:i}=r,s=Hc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Ad(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=Hc(l,["init","bind","empty"]);h.type==="single"?(h.type="point",h.toggle=!1):h.type==="multi"&&(h.type="point"),n.emptySelections[o]=x!=="none";for(const p of Pi((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function aae(t,e){const{transform:n}=t,r=Hc(t,["transform"]);if(n){const i=n.map(s=>{if(k7(s))return{filter:P7(s,e)};if(uae(s)&&Cd(s.bin))return Object.assign(Object.assign({},s),{bin:cae(s.bin)});if(oae(s)){const o=s.from,{selection:u}=o,a=Hc(o,["selection"]);return u?Object.assign(Object.assign({},s),{from:Object.assign({param:u},a)}):s}return s});return Object.assign(Object.assign({},r),{transform:i})}return t}function lae(t,e){var n,r;const i=ot(t);if(Le(i)&&Cd(i.bin)&&(i.bin=cae(i.bin)),Dd(i)&&(!((r=(n=i.scale)===null||n===void 0?void 0:n.domain)===null||r===void 0)&&r.selection)){const s=i.scale.domain,{selection:o}=s,u=Hc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(NN(i))if(_e(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=Hc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:P7(s,e)})});else{const s=lae(i.condition,e),{selection:o,param:u,test:a}=s,l=Hc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:P7(i.condition,e)})}return i}function cae(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=Hc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function P7(t,e){const n=r=>R2(r,i=>{var s,o,u;const a=(s=e.emptySelections[i])!==null&&s!==void 0?s:!0,l={param:i,empty:a};return(o=(u=e.selectionPredicates)[i])!==null&&o!==void 0||(u[i]=[]),e.selectionPredicates[i].push(l),l});return t.selection?n(t.selection):R2(t.test||t.filter,r=>r.selection?n(r.selection):r)}class M7 extends L7{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!i0(e)){const s=[];for(const o of e.params)N7(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,fae(e,n))}mapUnit(e,n){var r;const i=n.selections;if(!i||!i.length)return e;const s=((r=n.path)!==null&&r!==void 0?r:[]).concat(e.name),o=[];for(const u of i)if(!u.views||!u.views.length)o.push(u);else for(const a of u.views)(je(a)&&(a===e.name||s.indexOf(a)>=0)||_e(a)&&a.map(l=>s.indexOf(l)).every((l,c,f)=>l!==-1&&(c===0||l>f[c-1])))&&o.push(u);return o.length&&(e.params=o),e}}for(const t of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const e=M7.prototype[t];M7.prototype[t]=function(n,r){return e.call(this,n,fae(n,r))}}function fae(t,e){var n;return t.name?Object.assign(Object.assign({},e),{path:((n=e.path)!==null&&n!==void 0?n:[]).concat(t.name)}):e}function qZe(t,e){e===void 0&&(e=Yue(t.config));const n=GZe(t,e),{width:r,height:i}=t,s=WZe(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const HZe=new SZe,zZe=new UZe,QZe=new M7;function GZe(t,e={}){const n={config:e};return QZe.map(HZe.map(zZe.map(t,n),n),n)}function xae(t){return je(t)?{type:t}:t??{}}function WZe(t,e,n){let{width:r,height:i}=e;const s=i0(t)||zN(t),o={};s?r=="container"&&i=="container"?(o.type="fit",o.contains="padding"):r=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(r=="container"&&(Te(foe("width")),r=void 0),i=="container"&&(Te(foe("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?xae(n.autosize):{}),xae(t.autosize));if(u.type==="fit"&&!s&&(Te(KYe),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(xoe("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(xoe("height")),!Gl(u,{type:"pad"}))return u}function VZe(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function YZe(t){return t?`fit-${hN(t)}`:"fit"}const XZe=["background","padding"];function dae(t,e){const n={};for(const r of XZe)t&&t[r]!==void 0&&(n[r]=Hs(t[r]));return e&&(n.params=t.params),n}class o0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new o0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return ir(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]!==void 0?{explicit:!0,value:this.explicit[e]}:this.implicit[e]!==void 0?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:n,explicit:r}){n!==void 0&&this.set(e,n,r)}set(e,n,r){return delete this[r?"implicit":"explicit"][e],this[r?"explicit":"implicit"][e]=n,this}copyKeyFromSplit(e,{explicit:n,implicit:r}){n[e]!==void 0?this.set(e,n[e],!0):r[e]!==void 0&&this.set(e,r[e],!1)}copyKeyFromObject(e,n){n[e]!==void 0&&this.set(e,n[e],!0)}copyAll(e){for(const n of be(e.combine())){const r=e.getWithExplicit(n);this.setWithExplicit(n,r)}}}function Pa(t){return{explicit:!0,value:t}}function Qs(t){return{explicit:!1,value:t}}function hae(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:QN(e,n,r,i)}}function QN(t,e,n,r){return t.explicit&&e.explicit&&Te(PXe(n,r,t.value,e.value)),t}function zc(t,e,n,r,i=QN){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Gl(t.value,e.value)?t:i(t,e,n,r)}class KZe extends o0{constructor(e={},n={},r=!1){super(e,n),this.explicit=e,this.implicit=n,this.parseNothing=r}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}function q2(t){return"url"in t}function O3(t){return"values"in t}function pae(t){return"name"in t&&!q2(t)&&!O3(t)&&!Qc(t)}function Qc(t){return t&&(gae(t)||mae(t)||j7(t))}function gae(t){return"sequence"in t}function mae(t){return"sphere"in t}function j7(t){return"graticule"in t}var Jt;(function(t){t[t.Raw=0]="Raw",t[t.Main=1]="Main",t[t.Row=2]="Row",t[t.Column=3]="Column",t[t.Lookup=4]="Lookup"})(Jt||(Jt={}));var JZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function H2(t,e=!0,n=Ai){if(_e(t)){const r=t.map(i=>H2(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Td(t))return n(e?A3(t):lKe(t));return e?n(sn(t)):t}function ZZe(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${Vc}, ${r.resolve==="global"?"true":`{unit: ${G2(t)}}`}`;for(const o of XN)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+Iet,on:[{events:{signal:r.name+Vc},update:`modify(${Fe(r.name+wd)}, ${s})`}]})}return U7(e)}function eet(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:hd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return U7(e)}function tet(t,e){var n;let r=!1;for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+wd);if(e.filter(a=>a.name===s).length===0){const a=i.resolve==="global"?"union":i.resolve,l=i.type==="point"?", true, true)":")";e.push({name:i.name,update:`${jae}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of XN)a.defined(i)&&a.topLevelSignals&&(e=a.topLevelSignals(t,i,e))}return r&&e.filter(s=>s.name==="unit").length===0&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),U7(e)}function net(t,e){var n;const r=[...e];for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+wd};if(i.init){const u=i.project.items.map(a=>JZe(a,["signals"]));s.values=i.init.map(a=>({unit:G2(t,{escape:!1}),fields:u,values:H2(a,!1)}))}r.filter(u=>u.name===i.name+wd).length||r.push(s)}return r}function yae(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of XN)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function ret(t,e){for(const n of t.children)zn(n)&&(e=yae(n,e));return e}function iet(t,e,n,r){const i=Qae(t,e.param,e);return{signal:zs(n.get("type"))&&_e(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function U7(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class Ut{constructor(e,n){this.debugName=n,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,n){if(this._children.includes(e)){Te(cXe);return}n!==void 0?this._children.splice(n,0,e):this._children.push(e)}removeChild(e){const n=this._children.indexOf(e);return this._children.splice(n,1),n}remove(){let e=this._parent.removeChild(this);for(const n of this._children)n._parent=this._parent,this._parent.addChild(n,e++)}insertAsParentOf(e){const n=e.parent;n.removeChild(this),this.parent=n,e.parent=this}swapWithParent(){const e=this._parent,n=e.parent;for(const r of this._children)r.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=n,e.parent=this}}class qi extends Ut{constructor(e,n,r,i){super(e,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){const e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${gYe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var Eae=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class Ma extends Ut{constructor(e,n){super(e),this.formula=n}clone(){return new Ma(null,ot(this.formula))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s)=>{const{field:o,timeUnit:u}=s;if(u){const a=$e(s,{forAs:!0});i[bt({as:a,field:o,timeUnit:u})]={as:a,field:o,timeUnit:u}}return i},{});return Wt(r)?null:new Ma(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=Eae(r,["timeUnit"]),o=ji(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new Ma(e,{[bt(u)]:u})}merge(e){this.formula=Object.assign({},this.formula);for(const n in e.formula)this.formula[n]||(this.formula[n]=e.formula[n]);for(const n of e.children)e.removeChild(n),n.parent=this;e.remove()}removeFormulas(e){const n={};for(const[r,i]of Ad(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Pi(this.formula).map(e=>e.as))}dependentFields(){return new Set(Pi(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Pi(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=ji(s),{unit:u,utc:a}=o,l=Eae(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:fu(r),type:"timeunit"},u?{units:q8(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var set=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const N3="_tuple_fields";class oet{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const uet={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new oet,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=mn(`${i}_${y}`);for(let A=1;a.has(E);A++)E=mn(`${i}_${y}_${A}`);return a.add(E),{[g]:E}},c=e.type,f=t.config.selection[c],x=n.value!==void 0?Pe(n.value):null;let{fields:h,encodings:p}=Qe(n.select)?n.select:{};if(!h&&!p&&x){for(const m of x)if(Qe(m))for(const g of be(m))TYe(g)?(p||(p=[])).push(g):c==="interval"?(Te(oXe),p=f.encodings):(h||(h=[])).push(g)}!h&&!p&&(p=f.encodings,"fields"in f&&(h=f.fields));for(const m of p??[]){const g=t.fieldDef(m);if(g){let y=g.field;if(g.aggregate){Te(JYe(m,g.aggregate));continue}else if(!y){Te(hoe(m));continue}if(g.timeUnit){y=t.vgField(m);const E={timeUnit:g.timeUnit,as:y,field:g.field};u[bt(E)]=E}if(!o[y]){let E="E";if(c==="interval"){const S=t.getScaleComponent(m).get("type");zs(S)&&(E="R")}else g.bin&&(E="R-RE");const A={field:y,channel:m,type:E};A.signals=Object.assign(Object.assign({},l(A,"data")),l(A,"visual")),s.items.push(o[y]=A),s.hasField[y]=s.hasChannel[m]=o[y]}}else Te(hoe(m))}for(const m of h??[]){if(s.hasField[m])continue;const g={type:"E",field:m};g.signals=Object.assign({},l(g,"data")),s.items.push(g),s.hasField[m]=g}x&&(e.init=x.map(m=>s.items.map(g=>Qe(m)?m[g.channel]!==void 0?m[g.channel]:m[g.field]:m))),Wt(u)||(s.timeUnit=new Ma(null,u))},signals:(t,e,n)=>{const r=e.name+N3;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=set(s,["signals","hasLegend"]);return o.field=fu(o.field),o})})}},Gc={defined:t=>t.type==="interval"&&t.resolve==="global"&&t.bind&&t.bind==="scales",parse:(t,e)=>{const n=e.scales=[];for(const r of e.project.items){const i=r.channel;if(!kc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!zs(o)){Te(tXe);continue}s.set("selectionExtent",{param:e.name,field:r.field},!0),n.push(r)}},topLevelSignals:(t,e,n)=>{const r=e.scales.filter(o=>n.filter(u=>u.name===o.signals.data).length===0);if(!t.parent||H7(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(jae)>=0)i.update=`{${r.map(o=>`${Fe(fu(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(fu(o.field))}: ${o.signals.data}`;s.includes(u)||(s=`${s.substring(0,s.length-1)}, ${u}}`)}i.update=s}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(t,e,n)=>{if(t.parent&&!H7(t))for(const r of e.scales){const i=n.filter(s=>s.name===r.signals.data)[0];i.push="outer",delete i.value,delete i.update}return n}};function q7(t,e){return`domain(${Fe(t.scaleName(e))})`}function H7(t){var e;return t.parent&&Z2(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:H7(t.parent.parent))}var aet=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const z2="_brush",z7="_scale_trigger",cet={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+N3,s=Gc.defined(e),o=e.init?e.init[0]:null,u=[],a=[];if(e.translate&&!s){const c=`!event.item || event.item.mark.name !== ${Fe(r+z2)}`;Aae(e,(f,x)=>{var h,p;const m=Pe((h=(p=x.between[0]).filter)!==null&&h!==void 0?h:p.filter=[]);return m.includes(c)||m.push(c),f})}e.project.items.forEach((c,f)=>{const x=c.channel;if(x!==yn&&x!==_r){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=fet(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=zs(E)?"+":"";n.push(...p),u.push(m),a.push({scaleName:t.scaleName(x),expr:`(!isArray(${m}) || (${A}invert(${y}, ${g})[0] === ${A}${m}[0] && ${A}invert(${y}, ${g})[1] === ${A}${m}[1]))`})}),!s&&a.length&&n.push({name:r+z7,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+z7} : {}`}]});const l=`unit: ${G2(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+Vc},o?{init:`{${l}: ${H2(o)}}`}:{}),u.length?{on:[{events:[{signal:u.join(" || ")}],update:`${u.join(" && ")} ? {${l}: [${u}]} : null`}]}:{}))},marks:(t,e,n)=>{const r=e.name,{x:i,y:s}=e.project.hasChannel,o=i==null?void 0:i.signals.visual,u=s==null?void 0:s.signals.visual,a=`data(${Fe(e.name+wd)})`;if(Gc.defined(e)||!i&&!s)return n;const l={x:i!==void 0?{signal:`${o}[0]`}:{value:0},y:s!==void 0?{signal:`${u}[0]`}:{value:0},x2:i!==void 0?{signal:`${o}[1]`}:{field:{group:"width"}},y2:s!==void 0?{signal:`${u}[1]`}:{field:{group:"height"}}};if(e.resolve==="global")for(const g of be(l))l[g]=[Object.assign({test:`${a}.length && ${a}[0].unit === ${G2(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=aet(c,["fill","fillOpacity","cursor"]),m=be(p).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,s!==void 0&&`${u}[0] !== ${u}[1]`].filter(E=>E).join(" && "),value:p[y]},{value:null}],g),{});return[{name:`${r+z2}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+z2,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},h?{cursor:{value:h}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),m)}}]}};function fet(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=Gc.defined(e),a=Fe(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=m=>`scale(${a}, ${m})`,x=t.getSizeSignalRef(i===yn?"width":"height").signal,h=`${i}(unit)`,p=Aae(e,(m,g)=>[...m,{events:g.between[0],update:`[${h}, ${h}]`},{events:g,update:`[${s}[0], clamp(${h}, 0, ${x})]`}]);return p.push({events:{signal:e.name+z7},update:zs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:H2(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:H2(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function Aae(t,e){return t.events.reduce((n,r)=>r.between?e(n,r):(Te(`${r} is not an ordered event stream for interval selections.`),n),[])}const xet={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+N3,o=e.project,u="(item().isVoronoi ? datum.datum : datum)",a=o.items.map(h=>{const p=t.fieldDef(h.channel);return p!=null&&p.bin?`[${u}[${Fe(t.vgField(h.channel,{}))}], ${u}[${Fe(t.vgField(h.channel,{binSuffix:"end"}))}]]`:`${u}[${Fe(h.field)}]`}).join(", "),l=`unit: ${G2(t)}, fields: ${s}, values`,c=e.events,f=Pi((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+z2):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+Vc,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function Q2(t,e,n,r){const i=NN(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(rJe(a)){const{param:c,empty:f}=a,x=zae(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=KN(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function Q7(t,e="text"){const n=t.encoding[e];return Q2(t,n,e,r=>GN(r,t.config))}function GN(t,e,n="datum"){if(t){if(gu(t))return on(t.value);if(it(t)){const{format:r,formatType:i}=wN(t);return u7({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function Sae(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(_e(o))return{tooltip:_ae({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return Q2(t,o,"tooltip",a=>{const l=GN(a,i,u);if(l)return l;if(a===null)return;let c=kt("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),je(c))return{value:c};if(Qe(c))return Ye(c)?c:c.content==="encoding"?_ae(n,s,i,e):{signal:u}})}}function vae(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=_d(c),x=Ro(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||g7(x,n),p=Pe(h).join(", ");let m;if(kr(c)){const g=c==="x"?"x2":"y2",y=Ba(t[g]);if(Mi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:S,formatType:v}=wN(x);m=TN(E,A,S,v,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=wN(x);m=u7({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=GN(x,n,s).signal),o.push({channel:c,key:p,value:m})}A7(t,(l,c)=>{Le(l)?u(l,c):DN(l)&&u(l.condition,c)});const a={};for(const{channel:l,key:c,value:f}of o)!i[l]&&!a[c]&&(a[c]=f);return a}function _ae(t,e,n,{reactiveGeom:r}={}){const i=vae(t,e,n,{reactiveGeom:r}),s=Ad(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function det(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),het(t)),pet(t))}function het(t){const{mark:e,markDef:n,config:r}=t;if(r.aria===!1)return{};const i=kt("ariaRoleDescription",n,r);return i!=null?{ariaRoleDescription:{value:i}}:e in VYe?{}:{ariaRoleDescription:{value:e}}}function pet(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return Q2(t,s,"description",a=>GN(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:on(o)};if(r.aria===!1)return{};const u=vae(e,i,r);if(!Wt(u))return{description:{signal:Ad(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function br(t,e,n={}){const{markDef:r,encoding:i,config:s}=e,{vgChannel:o}=n;let{defaultRef:u,defaultValue:a}=n;u===void 0&&(a??(a=kt(t,r,s,{vgChannel:o,ignoreVgConfig:!0})),a!==void 0&&(u=on(a)));const l=i[t];return Q2(e,l,o??t,c=>o7({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function Cae(t,e={filled:void 0}){var n,r,i,s;const{markDef:o,encoding:u,config:a}=t,{type:l}=o,c=(n=e.filled)!==null&&n!==void 0?n:kt("filled",o,a),f=Tt(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,x=(i=(r=kt(c===!0?"color":void 0,o,a,{vgChannel:"fill"}))!==null&&r!==void 0?r:a.mark[c===!0&&"color"])!==null&&i!==void 0?i:f,h=(s=kt(c===!1?"color":void 0,o,a,{vgChannel:"stroke"}))!==null&&s!==void 0?s:a.mark[c===!1&&"color"],p=c?"fill":"stroke",m=Object.assign(Object.assign({},x?{fill:on(x)}:{}),h?{stroke:on(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(Aoe("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),br("color",t,{vgChannel:p,defaultValue:c?x:h})),br("fill",t,{defaultValue:u.fill?x:void 0})),br("stroke",t,{defaultValue:u.stroke?h:void 0}))}function get(t){const{encoding:e,mark:n}=t,r=e.order;return!Uc(n)&&gu(r)?Q2(t,r,"zindex",i=>on(i.value)):{}}function D3({channel:t,markDef:e,encoding:n={},model:r,bandPosition:i}){const s=`${t}Offset`,o=e[s],u=n[s];if((s==="xOffset"||s==="yOffset")&&u)return{offsetType:"encoding",offset:o7({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:on(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ai(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[e0(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=D3({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=G7({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&kr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:met({channel:t,channelDef:a,channel2Def:l,markDef:s,config:o,scaleName:c,scale:f,stack:u,offset:x,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||t]:m}:void 0}function met(t){const{channel:e,channelDef:n,scaleName:r,stack:i,offset:s,markDef:o}=t;if(it(n)&&i&&e===i.fieldChannel){if(Le(n)){let u=n.bandPosition;if(u===void 0&&o.type==="text"&&(e==="radius"||e==="theta")&&(u=.5),u!==void 0)return bN({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Od(n,r,{suffix:"end"},{offset:s})}return i7(t)}function G7({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=_d(n),a=Bc(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return v3(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([ys.LOG,ys.TIME,ys.UTC],c)){if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}}if(e==="zeroOrMin")return u==="y"?{field:{group:"height"}}:{value:0};switch(u){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{const c=t[gs(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const yet={left:"x",center:"xc",right:"x2"},Eet={top:"y",middle:"yc",bottom:"y2"};function bae(t,e,n,r="middle"){if(t==="radius"||t==="theta")return Bc(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(RXe(i)),o=void 0):o=s,t==="x"?yet[o||(r==="top"?"left":"center")]:Eet[o||r]}function WN(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?Tae(t,e,{defaultPos:n,defaultPos2:r}):ai(t,e,{defaultPos:n})}function Tae(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=e0(t),u=gs(t),a=Aet(e,r,o),l=a[u]?bae(t,i,s):Bc(t);return Object.assign(Object.assign({},ai(t,e,{defaultPos:n,vgChannel:l})),a)}function Aet(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=_d(n),l=gs(n),c=Bc(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?D3({channel:n,markDef:s,encoding:r,model:t}):D3({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=gs(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=vet({channel:n,channelDef:f,channel2Def:r[n],markDef:s,config:u,scaleName:x,scale:h,stack:o,offset:p,defaultRef:void 0});return m!==void 0?{[c]:m}:VN(n,s)||VN(n,{[n]:mN(n,s,u.style),[l]:mN(l,s,u.style)})||VN(n,u[i])||VN(n,u.mark)||{[c]:G7({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function vet({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l}){return it(e)&&u&&t.charAt(0)===u.fieldChannel.charAt(0)?Od(e,s,{suffix:"start"},{offset:a}):i7({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function VN(t,e){const n=gs(t),r=Bc(t);if(e[r]!==void 0)return{[r]:v3(t,e[r])};if(e[t]!==void 0)return{[r]:v3(t,e[t])};if(e[n]){const i=e[n];if(k2(i))Te(AXe(n));else return{[n]:v3(t,i)}}}function Wc(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=e0(e),l=gs(e),c=s[e],f=s[a],x=t.getScaleComponent(e),h=x?x.get("type"):void 0,p=o.orient,m=(r=(n=s[l])!==null&&n!==void 0?n:s.size)!==null&&r!==void 0?r:kt("size",o,i,{vgChannel:l}),g=u==="bar"&&(e==="x"?p==="vertical":p==="horizontal");return Le(c)&&(Kt(c.bin)||Mi(c.bin)||c.timeUnit&&!f)&&!(m&&!k2(m))&&!Cr(h)?bet({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Cr(h)||g)&&!f?Cet(c,e,t):Tae(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function _et(t,e,n,r,i){if(k2(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(FXe(o)),i=void 0)}else return{mult:i.band,field:{group:t}};else{if(Ye(i))return i;if(i)return{value:i}}if(n){const o=n.get("range");if(jc(o)&&nn(o.step))return{value:o.step-2}}return{value:qN(r.view,t)-2}}function Cet(t,e,n){const{markDef:r,encoding:i,config:s,stack:o}=n,u=r.orient,a=n.scaleName(e),l=n.getScaleComponent(e),c=gs(e),f=e0(e),x=OYe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=br("size",n,{vgChannel:c,defaultRef:on(r.size)}):Te($Xe(r.type)));const g=uue({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:_et(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=bae(e,r,s,y),A=E==="xc"||E==="yc",{offset:S,offsetType:v}=D3({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=i7({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:S,defaultRef:G7({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?v==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:k2(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=Bc(f),b=m[c],O=S?Object.assign(Object.assign({},b),{offset:S}):b;return{[E]:_,[C]:_e(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function F3(t,e,n,r,i){if(qse(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=r0(n),u=r0(i),a=r0(r),l=a?`${a} + `:"",c=o?`(${o} ? -1 : 1) * `:"",f=u?`(${u} + ${s})`:s;return{signal:l+c+f}}else return i=i||0,r+(n?-i-s:+i+s)}function bet({fieldDef:t,fieldDef2:e,channel:n,model:r}){var i,s,o;const{config:u,markDef:a,encoding:l}=r,c=r.getScaleComponent(n),f=r.scaleName(n),x=c?c.get("type"):void 0,h=c.get("reverse"),p=uue({channel:n,fieldDef:t,markDef:a,config:u,scaleType:x}),m=(i=r.component.axes[n])===null||i===void 0?void 0:i[0],g=(s=m==null?void 0:m.get("translate"))!==null&&s!==void 0?s:.5,y=kr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=e0(n),A=Bc(n),S=Bc(E),{offset:v}=D3({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:k2(p)?(1-p.band)/2:.5;if(Kt(t.bin)||t.timeUnit)return{[S]:Rae({fieldDef:t,scaleName:f,bandPosition:_,offset:F3(E,y,h,g,v)}),[A]:Rae({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:F3(n,y,h,g,v)})};if(Mi(t.bin)){const C=Od(t,f,{},{offset:F3(E,y,h,g,v)});if(Le(e))return{[S]:C,[A]:Od(e,f,{},{offset:F3(n,y,h,g,v)})};if(Cd(t.bin)&&t.bin.step)return{[S]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:F3(n,y,h,g,v)}}}Te(boe(E))}function Rae({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return bN({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const Tet=new Set(["aria","width","height"]);function Oo(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?Cae(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ret(t.markDef,e)),Oae(t,"fill",n)),Oae(t,"stroke",r)),br("opacity",t)),br("fillOpacity",t)),br("strokeOpacity",t)),br("strokeWidth",t)),br("strokeDash",t)),get(t)),Sae(t)),Q7(t,"href")),det(t))}function Oae(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!Uc(i)){const u=Oet(t,{invalid:!0,channels:pN});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function Ret(t,e){return WYe.reduce((n,r)=>(!Tet.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=on(t[r])),n),{})}function Oet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&zs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>s7(o,e)).join(` ${s} `)}}function W7(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=Net(t,{channels:Da});if(i)return{defined:{signal:i}}}return{}}function Net(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&zs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>s7(o,e)).join(` ${s} `)}}function Nae(t,e){if(e!==void 0)return{[t]:on(e)}}const V7="voronoi",Dae={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName(V7)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(Uc(s))return Te(ZYe(s)),n;const o={name:t.getName(V7),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},Sae(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]};let u=0,a=!1;return n.forEach((l,c)=>{var f;const x=(f=l.name)!==null&&f!==void 0?f:"";x===t.component.mark[0].name?u=c:x.indexOf(V7)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},Fae={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!R7(t.bind),parse:(t,e,n)=>Uae(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=Dae.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=mn(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:H2(o[l])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${u}[${Fe(a.field)}] : null`}]:[],bind:(f=(c=s[a.field])!==null&&c!==void 0?c:s[a.channel])!==null&&f!==void 0?f:s}))}),n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.filter(l=>l.name===r+Vc)[0],o=r+N3,u=i.items.map(l=>mn(`${r}_${l.field}`)),a=u.map(l=>`${l} !== null`).join(" && ");return u.length&&(s.update=`${a} ? {fields: ${o}, values: [${u.join(", ")}]} : null`),delete s.value,delete s.on,n}},YN="_toggle",wae={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+YN,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+Vc,r=e.name+YN;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${G2(t)}}, `)+`${r} ? ${n} : null`}},Det={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?hd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(Fae.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===mn(`${e.name}_${r.field}`));i!==-1&&n[i].on.push({events:e.clear,update:"null"})}return n},signals:(t,e,n)=>{function r(i,s){i!==-1&&n[i].on&&n[i].on.push({events:e.clear,update:s})}if(e.type==="interval")for(const i of e.project.items){const s=n.findIndex(o=>o.name===i.signals.visual);if(r(s,"[0, 0]"),s===-1){const o=n.findIndex(u=>u.name===i.signals.data);r(o,"null")}}else{let i=n.findIndex(s=>s.name===e.name+Vc);r(i,"null"),wae.defined(e)&&(i=n.findIndex(s=>s.name===e.name+YN),r(i,"false"))}return n}},Lae={defined:t=>{const e=t.resolve==="global"&&t.bind&&R7(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==R3;return e&&!n&&Te(nXe),e&&n},parse:(t,e,n)=>{var r;const i=ot(n);if(i.select=je(i.select)?{type:i.select,toggle:e.toggle}:Object.assign(Object.assign({},i.select),{toggle:e.toggle}),Uae(e,i),Qe(n.select)&&(n.select.on||n.select.clear)){const u='event.item && indexof(event.item.mark.role, "legend") < 0';for(const a of e.events)a.filter=Pe((r=a.filter)!==null&&r!==void 0?r:[]),a.filter.includes(u)||a.filter.push(u)}const s=O7(e.bind)?e.bind.legend:"click",o=je(s)?hd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=O7(e.bind)&&e.bind.legend,s=o=>u=>{const a=ot(u);return a.markname=o,a};for(const o of e.project.items){if(!o.hasLegend)continue;const u=`${mn(o.field)}_legend`,a=`${r}_${u}`;if(n.filter(c=>c.name===a).length===0){const c=i.merge.map(s(`${u}_symbols`)).concat(i.merge.map(s(`${u}_labels`))).concat(i.merge.map(s(`${u}_entries`)));n.unshift(Object.assign(Object.assign({name:a},e.init?{}:{value:null}),{on:[{events:c,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${a}`,force:!0}]}))}}return n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.find(x=>x.name===r+Vc),o=r+N3,u=i.items.filter(x=>x.hasLegend).map(x=>mn(`${r}_${mn(x.field)}_legend`)),l=`${u.map(x=>`${x} !== null`).join(" && ")} ? {fields: ${o}, values: [${u.join(", ")}]} : null`;e.events&&u.length>0?s.on.push({events:u.map(x=>({signal:x})),update:l}):u.length>0&&(s.update=l,delete s.value,delete s.on);const c=n.find(x=>x.name===r+YN),f=O7(e.bind)&&e.bind.legend;return c&&(e.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:f})):c.on[0].events=f),n}};function Fet(t,e,n){var r,i,s,o;const u=(r=t.fieldDef(e))===null||r===void 0?void 0:r.field;for(const a of Pi((i=t.component.selection)!==null&&i!==void 0?i:{})){const l=(s=a.project.hasField[u])!==null&&s!==void 0?s:a.project.hasChannel[e];if(l&&Lae.defined(a)){const c=(o=n.get("selections"))!==null&&o!==void 0?o:[];c.push(a.name),n.set("selections",c,!1),l.hasLegend=!0}}}const Iae="_translate_anchor",$ae="_translate_delta",wet={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=Gc.defined(e),s=r+Iae,{x:o,y:u}=e.project.hasChannel;let a=hd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+z2,l))),n.push({name:s,value:{},on:[{events:a.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(o!==void 0?`, extent_x: ${i?q7(t,yn):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?q7(t,_r):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+$ae,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&Bae(t,e,o,"width",n),u!==void 0&&Bae(t,e,u,"height",n),n}};function Bae(t,e,n,r,i){var s,o;const u=e.name,a=u+Iae,l=u+$ae,c=n.channel,f=Gc.defined(e),x=i.filter(C=>C.name===n.signals[f?"data":"visual"])[0],h=t.getSizeSignalRef(r).signal,p=t.getScaleComponent(c),m=p.get("type"),g=p.get("reverse"),y=f?c===yn?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,S=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",v=f?m==="pow"?`, ${(s=p.get("exponent"))!==null&&s!==void 0?s:1}`:m==="symlog"?`, ${(o=p.get("constant"))!==null&&o!==void 0?o:1}`:"":"",_=`${S}(${E}, ${A}${v})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const kae="_zoom_anchor",Pae="_zoom_delta",Let={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=Gc.defined(e),s=r+Pae,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(yn)),l=Fe(t.scaleName(_r));let c=hd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+z2,f))),n.push({name:r+kae,on:[{events:c,update:i?"{"+[a?`x: invert(${a}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>!!f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:s,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&Mae(t,e,o,"width",n),u!==void 0&&Mae(t,e,u,"height",n),n}};function Mae(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=Gc.defined(e),c=i.filter(S=>S.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?q7(t,a):c.name,m=u+Pae,g=`${u}${kae}.${a}`,y=l?h==="log"?"zoomLog":h==="symlog"?"zoomSymlog":h==="pow"?"zoomPow":"zoomLinear":"zoomLinear",E=l?h==="pow"?`, ${(s=x.get("exponent"))!==null&&s!==void 0?s:1}`:h==="symlog"?`, ${(o=x.get("constant"))!==null&&o!==void 0?o:1}`:"":"",A=`${y}(${p}, ${g}, ${m}${E})`;c.on.push({events:{signal:m},update:l?A:`clampRange(${A}, 0, ${f})`})}const wd="_store",Vc="_tuple",Iet="_modify",jae="vlSelectionResolve",XN=[xet,cet,uet,wae,Fae,Gc,Lae,Det,wet,Let,Dae];function $et(t){let e=t.parent;for(;e&&!Eu(e);)e=e.parent;return e}function G2(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=$et(t);if(r){const{facet:i}=r;for(const s of To)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Y7(t){var e;return Pi((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===R3),!1)}function Uae(t,e){(je(e.select)||!e.select.on)&&delete t.events,(je(e.select)||!e.select.clear)&&delete t.clear,(je(e.select)||!e.select.toggle)&&delete t.toggle}function X7(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...X7(t.object)),e.push(...X7(t.property))),e)}function qae(t){return t.object.type==="MemberExpression"?qae(t.object):t.object.name==="datum"}function Hae(t){const e=vre(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&qae(r)&&n.add(X7(r).slice(1).join("."))}),n}class W2 extends Ut{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=KN(this.model,this.filter,this),this._dependentFields=Hae(this.expr)}clone(){return new W2(null,this.model,ot(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Bet(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=mn(s.name),u=s.select,a=je(u)?u:u.type,l=Qe(u)?ot(u):{type:a},c=i[a];for(const x in c)x==="fields"||x==="encodings"||(x==="mark"&&(l[x]=Object.assign(Object.assign({},c[x]),l[x])),(l[x]===void 0||l[x]===!0)&&(l[x]=(n=c[x])!==null&&n!==void 0?n:l[x]));const f=r[o]=Object.assign(Object.assign({},l),{name:o,type:a,init:s.value,bind:s.bind,events:je(l.on)?hd(l.on,"scope"):Pe(ot(l.on))});for(const x of XN)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function zae(t,e,n,r="datum"){const i=je(e)?e:e.param,s=mn(i),o=Fe(s+wd);let u;try{u=t.getSelectionComponent(s,i)}catch{return`!!${s}`}if(u.project.timeUnit){const c=n??t.component.data.raw,f=u.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}const a=`vlSelectionTest(${o}, ${r}${u.resolve==="global"?")":`, ${Fe(u.resolve)})`}`,l=`length(data(${o}))`;return e.empty===!1?`${l} && ${a}`:`!${l} || ${a}`}function Qae(t,e,n){const r=mn(e),i=n.encoding;let s=n.field,o;try{o=t.getSelectionComponent(r,e)}catch{return r}if(!i&&!s)s=o.project.items[0].field,o.project.items.length>1&&Te(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${Fe(s)}.`);else if(i&&!s){const u=o.project.items.filter(a=>a.channel===i);!u.length||u.length>1?(s=o.project.items[0].field,Te((u.length?"Multiple ":"No ")+`matching ${Fe(i)} encoding found for selection ${Fe(n.param)}. Using "field": ${Fe(s)}.`)):s=u[0].field}return`${o.name}[${Fe(fu(s))}]`}function ket(t,e){var n;for(const[r,i]of Ad((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=t.getName(`lookup_${r}`);t.component.data.outputNodes[s]=i.materialized=new qi(new W2(e,t,{param:r}),s,Jt.Lookup,t.component.data.outputNodeRefCounts)}}function KN(t,e,n){return oN(e,r=>je(r)?r:mKe(r)?zae(t,r,n):Loe(r))}var JN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Pet(t,e){if(t)return _e(t)&&!Mc(t)?t.map(n=>g7(n,e)).join(", "):t}function K7(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function w3(t,e,n,r={header:!1}){var i,s;const o=t.combine(),{disable:u,orient:a,scale:l,labelExpr:c,title:f,zindex:x}=o,h=JN(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=mJe[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(T3(g)){const{condition:y}=g,E=JN(g,["condition"]),A=Pe(y),S=gue[p];if(S){const{vgProp:v,part:_}=S,C=[...A.map(b=>{const{test:O}=b,R=JN(b,["test"]);return Object.assign({test:KN(null,O)},R)}),E];K7(h,_,v,C),delete h[p]}else if(S===null){const v={signal:A.map(_=>{const{test:C}=_,b=JN(_,["test"]);return`${KN(null,C)} ? ${ioe(b)} : `}).join("")+ioe(E)};h[p]=v}}else if(Ye(g)){const y=gue[p];if(y){const{vgProp:E,part:A}=y;K7(h,A,E,g),delete h[p]}}Tt(["labelAlign","labelBaseline"],p)&&h[p]===null&&delete h[p]}if(e==="grid"){if(!h.grid)return;if(h.encode){const{grid:p}=h.encode;h.encode=Object.assign({},p?{grid:p}:{}),Wt(h.encode)&&delete h.encode}return Object.assign(Object.assign({scale:l,orient:a},h),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:ir(x,0)})}else{if(!r.header&&t.mainExtracted)return;if(c!==void 0){let m=c;!((s=(i=h.encode)===null||i===void 0?void 0:i.labels)===null||s===void 0)&&s.update&&Ye(h.encode.labels.update.text)&&(m=N2(c,"datum.label",h.encode.labels.update.text.signal)),K7(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of mue)t.hasAxisPart(m)||delete h.encode[m];Wt(h.encode)&&delete h.encode}const p=Pet(f,n);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:a,grid:!1},p?{title:p}:{}),h),n.aria===!1?{aria:!1}:{}),{zindex:ir(x,0)})}}}function Gae(t){const{axes:e}=t.component,n=[];for(const r of Da)if(e[r]){for(const i of e[r])if(!i.get("disable")&&!i.get("gridScale")){const s=r==="x"?"height":"width",o=t.getSizeSignalRef(s).signal;s!==o&&n.push({name:s,update:o})}}return n}function Met(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>w3(i,"grid",e)),...r.map(i=>w3(i,"grid",e)),...n.map(i=>w3(i,"main",e)),...r.map(i=>w3(i,"main",e))].filter(i=>i)}function Wae(t,e,n,r){return Object.assign.apply(null,[{},...t.map(i=>{if(i==="axisOrient"){const s=n==="x"?"bottom":"left",o=e[n==="x"?"axisBottom":"axisLeft"]||{},u=e[n==="x"?"axisTop":"axisRight"]||{},a=new Set([...be(o),...be(u)]),l={};for(const c of a.values())l[c]={signal:`${r.signal} === "${s}" ? ${r0(o[c])} : ${r0(u[c])}`};return l}return e[i]})])}function jet(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:Poe(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${uN(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:Wae(u,r,t,n),vgAxisConfig:Wae(a,r,t,n),axisConfigStyle:Uet([...a,...u],r)}}function Uet(t,e){var n;const r=[{}];for(const i of t){let s=(n=e[i])===null||n===void 0?void 0:n.style;if(s){s=Pe(s);for(const o of s)r.push(e.style[o])}}return Object.assign.apply(null,r)}function J7(t,e,n,r={}){var i;const s=ooe(t,n,e);if(s!==void 0)return{configFrom:"style",configValue:s};for(const o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((i=r[o])===null||i===void 0?void 0:i[t])!==void 0)return{configFrom:o,configValue:r[o][t]};return{}}const Vae={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return Koe(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Joe(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:qet(n,t)},gridScale:({model:t,channel:e})=>Het(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||Xae(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||Yae(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:Qet(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:Get(e.type,n,Le(e)&&!!e.timeUnit,Le(e)?e.sort:void 0)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:n,fieldOrDatumDef:r,scaleType:i})=>{var s;const o=t==="x"?"width":t==="y"?"height":void 0,u=o?e.getSizeSignalRef(o):void 0;return(s=n.tickCount)!==null&&s!==void 0?s:Vet({fieldOrDatumDef:r,scaleType:i,size:u,values:n.values})},title:({axis:t,model:e,channel:n})=>{if(t.title!==void 0)return t.title;const r=Kae(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return aoe(i?[sue(i)]:[],Le(o)?[sue(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>Yet(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:Xet(n,e)}};function qet(t,e){return!Cr(t)&&Le(e)&&!Kt(e==null?void 0:e.bin)&&!Mi(e==null?void 0:e.bin)}function Het(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function zet(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:aN(s);{const{configValue:o}=J7("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?aN(o):n===yn&&Tt([J8,K8],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function Z7(t){return`(((${t.signal} % 360) + 360) % 360)`}function Yae(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=Z7(t),s=Ye(e)?`(${e.signal} === "top")`:e==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${s} ? "bottom" : "top"`}}if(45<t&&t<135||225<t&&t<315)return"middle";if(Ye(e)){const i=t<=45||315<=t?"===":"!==";return{signal:`${e.signal} ${i} "top" ? "bottom" : "top"`}}return(t<=45||315<=t)==(e==="top")?"bottom":"top"}else{if(Ye(t)){const i=Z7(t),s=Ye(e)?`(${e.signal} === "left")`:e==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${s} ? "top" : "bottom"`}}if(t<=45||315<=t||135<=t&&t<=225)return r?"middle":null;if(Ye(e)){const i=45<=t&&t<=135?"===":"!==";return{signal:`${e.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=t&&t<=135)==(e==="left")?"top":"bottom"}}function Xae(t,e,n){if(t===void 0)return;const r=n==="x",i=r?0:90,s=r?"bottom":"left";if(Ye(t)){const o=Z7(t),u=Ye(e)?`(${e.signal} === "${s}")`:e===s;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${u} ? "left" : "right"`}}if((t+i)%180===0)return r?null:"center";if(Ye(e)){const o=i<t&&t<180+i?"===":"!==";return{signal:`${`${e.signal} ${o} "${s}"`} ? "left" : "right"`}}return(i<t&&t<180+i)==(e===s)?"left":"right"}function Qet(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function Get(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function Wet(t){return t==="x"?"bottom":"left"}function Vet({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Cr(e)&&e!=="log"){if(Le(t)){if(Kt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=ji(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function Kae(t,e){const n=e==="x"?"x2":"y2",r=t.fieldDef(e),i=t.fieldDef(n),s=r?r.title:void 0,o=i?i.title:void 0;if(s&&o)return loe(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function Yet(t,e){const n=t.values;if(_e(n))return pue(e,n);if(Ye(n))return n}function Xet(t,e){return t==="rect"&&FN(e)?1:0}class V2 extends Ut{constructor(e,n){super(e),this.transform=n,this._dependentFields=Hae(this.transform.calculate)}clone(){return new V2(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(Dd(r)&&iue(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${Loe({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new V2(e,{calculate:a,as:Y2(r,i,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${bt(this.transform)}`}}function Y2(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function ZN(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function X2(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return ir((e||{})[t],i[t],n.header[t])}function eD(t,e,n,r){const i={};for(const s of t){const o=X2(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const eP=["row","column"],tP=["header","footer"];function Ket(t,e){const n=t.component.layoutHeaders[e].title,r=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:s,titleAngle:o,titleOrient:u}=eD(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=ZN(e,u),l=aN(o);return{name:`${e}-title`,type:"group",role:`${a}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:n},e==="row"?{orient:"left"}:{}),{style:"guide-title"}),Zae(l,a)),Jae(a,l,s)),ele(r,i,e,MJe,kue))}}function Jae(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=Xae(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function Zae(t,e){const n=Yae(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function Jet(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of tP)if(n[i])for(const s of n[i]){const o=ett(t,e,i,n,s);o!=null&&r.push(o)}return r}function Zet(t,e){var n;const{sort:r}=t;return La(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:_e(r)?{field:Y2(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function nP(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=eD(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=u7({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=ZN(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?N2(N2(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),Zae(s,c)),Jae(c,s,o)),ele(n,t,e,jJe,Pue))}function ett(t,e,n,r,i){if(i){let s=null;const{facetFieldDef:o}=r,u=t.config?t.config:void 0;if(o&&i.labels){const{labelOrient:f}=eD(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=nP(o,e,u))}const a=Eu(t)&&!_3(t.facet),l=i.axes,c=(l==null?void 0:l.length)>0;if(s||c){const f=e==="row"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${n}`),type:"group",role:`${e}-${n}`},r.facetFieldDef?{from:{data:t.getName(`${e}_domain`)},sort:Zet(o,e)}:{}),c&&a?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),s?{title:s}:{}),i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}const ttt={column:{start:0,end:1},row:{start:1,end:0}};function ntt(t,e){return ttt[e][t]}function rtt(t,e){const n={};for(const r of To){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=eD(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=ZN(r,o),a=ntt(s,u);a!==void 0&&(n[u]=a)}}return Wt(n)?void 0:n}function ele(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=X2(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function rP(t){return[...tD(t,"width"),...tD(t,"height"),...tD(t,"childWidth"),...tD(t,"childHeight")]}function tD(t,e){const n=e==="width"?"x":"y",r=t.component.layoutSize.get(e);if(!r||r==="merged")return[];const i=t.getSizeSignalRef(e).signal;if(r==="step"){const s=t.getScaleComponent(n);if(s){const o=s.get("type"),u=s.get("range");if(Cr(o)&&jc(u)){const a=t.scaleName(n);return Eu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[tle(a,u)]:[tle(a,u),{name:i,update:nle(a,s,`domain('${a}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(r=="container"){const s=i.endsWith("width"),o=s?"containerSize()[0]":"containerSize()[1]",u=w7(t.config.view,s?"width":"height"),a=`isFinite(${o}) ? ${o} : ${u}`;return[{name:i,init:a,on:[{update:a,events:"window:resize"}]}]}else return[{name:i,value:r}]}function tle(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function nle(t,e,n){const r=e.get("type"),i=e.get("padding"),s=ir(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${r0(o)}, ${r0(s)}) * ${t}_step`}function rle(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function ile(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),Q2(e,i,r,s=>on(s.value)))},{})}function sle(t,e){if(Eu(e))return t==="theta"?"independent":"shared";if(Z2(e))return"shared";if(EP(e))return kr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function iP(t,e){const n=t.scale[e],r=kr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(jXe(e)),"independent"):t[r][e]||"shared"}const itt=Object.assign(Object.assign({},qJe),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),ole=be(itt);class stt extends o0{}const ule={symbols:ott,gradient:utt,labels:att,entries:ltt};function ott(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i,legendType:s}){var o,u,a,l,c,f,x,h;if(s!=="symbol")return;const{markDef:p,encoding:m,config:g,mark:y}=n,E=p.filled&&y!=="trail";let A=Object.assign(Object.assign({},XYe({},n,qKe)),Cae(n,{filled:E}));const S=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,v=(u=i.get("symbolFillColor"))!==null&&u!==void 0?u:g.legend.symbolFillColor,_=(a=i.get("symbolStrokeColor"))!==null&&a!==void 0?a:g.legend.symbolStrokeColor,C=S===void 0?(l=ale(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===hs)delete A.fill;else if(A.fill.field)v?delete A.fill:(A.fill=on((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=on(C??1));else if(_e(A.fill)){const b=(h=(x=sP((f=m.fill)!==null&&f!==void 0?f:m.color))!==null&&x!==void 0?x:p.fill)!==null&&h!==void 0?h:E&&p.color;b&&(A.fill=on(b))}}if(A.stroke){if(r==="stroke"||!E&&r===hs)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(_e(A.stroke)){const b=ir(sP(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==Zl){const b=Le(e)&&cle(n,i,e);b?A.opacity=[Object.assign({test:b},on(C??1)),on(g.legend.unselectedOpacity)]:C&&(A.opacity=on(C))}return A=Object.assign(Object.assign({},A),t),Wt(A)?void 0:A}function utt(t,{model:e,legendType:n,legendCmpt:r}){var i;if(n!=="gradient")return;const{config:s,markDef:o,encoding:u}=e;let a={};const c=((i=r.get("gradientOpacity"))!==null&&i!==void 0?i:s.legend.gradientOpacity)===void 0?ale(u.opacity)||o.opacity:void 0;return c&&(a.opacity=on(c)),a=Object.assign(Object.assign({},a),t),Wt(a)?void 0:a}function att(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?cle(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Nd(c)?a7({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:o}):void 0,x=Object.assign(Object.assign(Object.assign({},a?{opacity:a}:{}),f?{text:f}:{}),t);return Wt(x)?void 0:x}function ltt(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function ale(t){return lle(t,(e,n)=>Math.max(e,n.value))}function sP(t){return lle(t,(e,n)=>ir(e,n.value))}function lle(t,e){if(sJe(t))return Pe(t.condition).reduce(e,t.value);if(gu(t))return t.value}function cle(t,e,n){const r=e.get("selections");if(!(r!=null&&r.length))return;const i=Fe(n.field);return r.map(s=>`(!length(data(${Fe(mn(s)+wd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const fle={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return Koe(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Joe(r,e,n)},gradientLength:t=>{var e,n;const{legend:r,legendConfig:i}=t;return(n=(e=r.gradientLength)!==null&&e!==void 0?e:i.gradientLength)!==null&&n!==void 0?n:gtt(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:n})=>{var r,i;return(i=(r=t.labelOverlap)!==null&&r!==void 0?r:e.labelOverlap)!==null&&i!==void 0?i:mtt(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:ftt(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>P2(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(F2(n)&&pu(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>ctt(e,t)};function ctt(t,e){const n=t.values;if(_e(n))return pue(e,n);if(Ye(n))return n}function ftt(t,e,n,r){var i;if(e!=="shape"){const s=(i=sP(n))!==null&&i!==void 0?i:r;if(s)return s}switch(t){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function xtt(t){const{legend:e}=t;return ir(e.type,dtt(t))}function dtt({channel:t,timeUnit:e,scaleType:n}){if(F2(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(pu(n))return"gradient"}return"symbol"}function htt({legendConfig:t,legendType:e,orient:n,legend:r}){var i,s;return(s=(i=r.direction)!==null&&i!==void 0?i:t[e?"gradientDirection":"symbolDirection"])!==null&&s!==void 0?s:ptt(n,e)}function ptt(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return e==="gradient"?"horizontal":void 0}}function gtt({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(pu(i))return n==="horizontal"?r==="top"||r==="bottom"?xle(e,"width",o,s):o:xle(e,"height",a,u)}function xle(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function mtt(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function dle(t){const e=zn(t)?ytt(t):vtt(t);return t.component.legends=e,e}function ytt(t){const{encoding:e}=t,n={};for(const r of[hs,...jue]){const i=sr(e[r]);!i||!t.getScaleComponent(r)||r===ps&&Le(i)&&i.type===$2||(n[r]=Stt(t,r))}return n}function Ett(t,e){const n=t.scaleName(e);if(t.mark==="trail"){if(e==="color")return{stroke:n};if(e==="size")return{strokeWidth:n}}return e==="color"?t.markDef.filled?{fill:n}:{stroke:n}:{[e]:n}}function Att(t,e,n,r){switch(e){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(e==="title"&&t===(r==null?void 0:r.title))return!0}return t===(n||{})[e]}function Stt(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new stt({},Ett(t,e));Fet(t,e,c);const f=s!==void 0?!s:l.disable;if(c.set("disable",f,s!==void 0),f)return c;s=s||{};const x=t.getScaleComponent(e).get("type"),h=sr(u[e]),p=Le(h)?(n=ji(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=xtt({legend:s,channel:e,timeUnit:p,scaleType:x}),y=htt({legend:s,legendType:g,orient:m,legendConfig:l}),E={legend:s,channel:e,model:t,markDef:o,encoding:u,fieldOrDatumDef:h,legendConfig:l,config:a,scaleType:x,orient:m,legendType:g,direction:y};for(const C of ole){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in fle?fle[C](E):s[C];if(b!==void 0){const O=Att(b,C,s,t.fieldDef(e));(O||a.legend[C]===void 0)&&c.set(C,b,O)}}const A=(r=s==null?void 0:s.encoding)!==null&&r!==void 0?r:{},S=c.get("selections"),v={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=ile((i=A[C])!==null&&i!==void 0?i:{},t),O=C in ule?ule[C](b,_):b;O!==void 0&&!Wt(O)&&(v[C]=Object.assign(Object.assign(Object.assign({},S!=null&&S.length&&Le(h)?{name:`${mn(h.field)}_legend_${C}`}:{}),S!=null&&S.length?{interactive:!!S}:{}),{update:O}))}return Wt(v)||c.set("encode",v,!!(s!=null&&s.encoding)),c}function vtt(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){dle(r);for(const i of be(r.component.legends))n.legend[i]=iP(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=hle(e[i],r.component.legends[i]),e[i]||(n.legend[i]="independent",delete e[i]))}for(const r of be(e))for(const i of t.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return e}function hle(t,e){var n,r,i,s;if(!t)return e.clone();const o=t.getWithExplicit("orient"),u=e.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;let a=!1;for(const l of ole){const c=zc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return _tt(f,x);case"title":return coe(f,x);case"type":return a=!0,Qs("symbol")}return QN(f,x,l,"legend")});t.setWithExplicit(l,c)}return a&&(!((r=(n=t.implicit)===null||n===void 0?void 0:n.encode)===null||r===void 0)&&r.gradient&&_8(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&_8(t.explicit,["encode","gradient"])),t}function _tt(t,e){return e.value==="circle"?e:t}var Ctt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function btt(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function ple(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=sn(s.get("domains"));if(n[o])for(const u of n[o])hle(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Pi(n).flat().map(i=>Ttt(i,t.config)).filter(i=>i!==void 0)}function Ttt(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=Ctt(s,["disable","labelExpr","selections"]);if(!o){if(e.aria===!1&&l.aria==null&&(l.aria=!1),!((n=l.encode)===null||n===void 0)&&n.symbols){const c=l.encode.symbols.update;c.fill&&c.fill.value!=="transparent"&&!c.stroke&&!l.stroke&&(c.stroke={value:"transparent"});for(const f of jue)l[f]&&delete c[f]}if(l.title||delete l.title,u!==void 0){let c=u;!((i=(r=l.encode)===null||r===void 0?void 0:r.labels)===null||i===void 0)&&i.update&&Ye(l.encode.labels.update.text)&&(c=N2(u,"datum.label",l.encode.labels.update.text.signal)),btt(l,"labels","text",{signal:c})}return l}}function Rtt(t){return Z2(t)||EP(t)?Ott(t):gle(t)}function Ott(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),gle(t))}function gle(t){const e=t.component.projection;if(!e||e.merged)return[];const n=e.combine(),{name:r}=n;if(e.data){const i={signal:`[${e.size.map(o=>o.signal).join(", ")}]`},s=e.data.reduce((o,u)=>{const a=Ye(u)?u.signal:`data('${t.lookupDataSource(u)}')`;return Tt(o,a)||o.push(a),o},[]);if(s.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:r,size:i,fit:{signal:s.length>1?`[${s.join(", ")}]`:s[0]}},n)]}else return[Object.assign(Object.assign({name:r},{translate:{signal:"[width / 2, height / 2]"}}),n)]}const Ntt=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class mle extends o0{constructor(e,n,r,i){super(Object.assign({},n),{name:e}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function yle(t){t.component.projection=zn(t)?Dtt(t):Ltt(t)}function Dtt(t){var e;if(t.hasProjection){const n=ms(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?Ftt(t):void 0,o=new mle(t.projectionName(!0),Object.assign(Object.assign({},(e=ms(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function Ftt(t){const e=[],{encoding:n}=t;for(const r of[[Ra,Ta],[bo,hu]])(sr(n[r[0]])||sr(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(ps)&&t.typedFieldDef(ps).type===$2&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Jt.Main)),e}function wtt(t,e){const n=$se(Ntt,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Gl(t.get(i),e.get(i))));if(Gl(t.size,e.size)){if(n)return t;if(Gl(t.explicit,{}))return e;if(Gl(e.explicit,{}))return t}return null}function Ltt(t){if(t.children.length===0)return;let e;for(const r of t.children)yle(r);const n=$se(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=wtt(e,i);return s&&(e=s),!!s}else return e=i,!0;else return!0});if(e&&n){const r=t.projectionName(!0),i=new mle(r,e.specifiedProjection,e.size,ot(e.data));for(const s of t.children){const o=s.component.projection;o&&(o.isFit&&i.data.push(...s.component.projection.data),s.renameProjection(o.get("name"),r),o.merged=!0)}return i}}var Itt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function $tt(t,e,n,r){var i,s;if(b3(e,n)){const o=zn(t)?(s=(i=t.axis(n))!==null&&i!==void 0?i:t.legend(n))!==null&&s!==void 0?s:{}:{},u=$e(e,{expr:"datum"}),a=$e(e,{expr:"datum",binSuffix:"end"});return{formulaAs:$e(e,{binSuffix:"range",forAs:!0}),formula:TN(u,a,o.format,o.formatType,r)}}return{}}function Ele(t,e){return`${Zse(t)}_${e}`}function Btt(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function oP(t,e,n){var r;const i=(r=IN(n,void 0))!==null&&r!==void 0?r:{},s=Ele(i,e);return t.getName(`${s}_bins`)}function ktt(t){return"as"in t}function Ale(t,e,n){let r,i;ktt(t)?r=je(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:r=[$e(t,{forAs:!0}),$e(t,{binSuffix:"end",forAs:!0})];const s=Object.assign({},IN(e,void 0)),o=Ele(s,t.field),{signal:u,extentSignal:a}=Btt(n,o);if(gN(s.extent)){const c=s.extent;i=Qae(n,c.param,c),delete s.extent}const l=Object.assign(Object.assign(Object.assign({bin:s,field:t.field,as:[r]},u?{signal:u}:{}),a?{extentSignal:a}:{}),i?{span:i}:{});return{key:o,binComponent:l}}class ja extends Ut{constructor(e,n){super(e),this.bins=n}clone(){return new ja(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(Ro(s)&&Kt(s.bin)){const{key:u,binComponent:a}=Ale(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),$tt(n,s,o,n.config))}return i},{});return Wt(r)?null:new ja(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=Ale(n,n.bin,r);return new ja(e,{[i]:s})}merge(e,n){for(const r of be(e.bins))r in this.bins?(n(e.bins[r].signal,this.bins[r].signal),this.bins[r].as=Wl([...this.bins[r].as,...e.bins[r].as],bt)):this.bins[r]=e.bins[r];for(const r of e.children)e.removeChild(r),r.parent=this;e.remove()}producedFields(){return new Set(Pi(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Pi(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Pi(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=Itt(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:fu(e.field),as:r,signal:e.signal},gN(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:fu(e.field),signal:e.extentSignal}),a.extent={signal:e.extentSignal}),n.push(a);for(const l of i)for(let c=0;c<2;c++)n.push({type:"formula",expr:$e({field:r[c]},{expr:"datum"}),as:l[c]});return e.formula&&n.push({type:"formula",expr:e.formula,as:e.formulaAs}),n})}}function Ptt(t,e,n,r){var i;const s=zn(r)?r.encoding[e0(e)]:void 0;if(Ro(n)&&zn(r)&&aue(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&b3(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(SYe(e)){const o=AYe(e);t.add(r.getName(o))}else t.add($e(n));return Dd(n)&&FKe((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function Mtt(t,e){var n;for(const r of be(e)){const i=e[r];for(const s of be(i))r in t?t[r][s]=new Set([...(n=t[r][s])!==null&&n!==void 0?n:[],...i[s]]):t[r]={[s]:i[s]}}}class mu extends Ut{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new mu(null,new Set(this.dimensions),ot(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,n){let r=!1;n.forEachFieldDef(o=>{o.aggregate&&(r=!0)});const i={},s=new Set;return!r||(n.forEachFieldDef((o,u)=>{var a,l,c,f;const{aggregate:x,field:h}=o;if(x)if(x==="count")(a=i["*"])!==null&&a!==void 0||(i["*"]={}),i["*"].count=new Set([$e(o,{forAs:!0})]);else{if(t0(x)||Pc(x)){const p=t0(x)?"argmin":"argmax",m=x[p];(l=i[m])!==null&&l!==void 0||(i[m]={}),i[m][p]=new Set([$e({op:p,field:m},{forAs:!0})])}else(c=i[h])!==null&&c!==void 0||(i[h]={}),i[h][x]=new Set([$e(o,{forAs:!0})]);kc(u)&&n.scaleDomain(u)==="unaggregated"&&((f=i[h])!==null&&f!==void 0||(i[h]={}),i[h].min=new Set([$e({field:h,aggregate:"min"},{forAs:!0})]),i[h].max=new Set([$e({field:h,aggregate:"max"},{forAs:!0})]))}else Ptt(s,u,o,n)}),s.size+be(i).length===0)?null:new mu(e,s,i)}static makeFromTransform(e,n){var r,i,s;const o=new Set,u={};for(const a of n.aggregate){const{op:l,field:c,as:f}=a;l&&(l==="count"?((r=u["*"])!==null&&r!==void 0||(u["*"]={}),u["*"].count=new Set([f||$e(a,{forAs:!0})])):((i=u[c])!==null&&i!==void 0||(u[c]={}),u[c][l]=new Set([f||$e(a,{forAs:!0})])))}for(const a of(s=n.groupby)!==null&&s!==void 0?s:[])o.add(a);return o.size+be(u).length===0?null:new mu(e,o,u)}merge(e){return xYe(this.dimensions,e.dimensions)?(Mtt(this.measures,e.measures),!0):(nKe("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...be(this.measures)])}producedFields(){const e=new Set;for(const n of be(this.measures))for(const r of be(this.measures[n])){const i=this.measures[n][r];i.size===0?e.add(`${r}_${n}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${bt({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],n=[],r=[];for(const s of be(this.measures))for(const o of be(this.measures[s]))for(const u of this.measures[s][o])r.push(u),e.push(o),n.push(s==="*"?null:fu(s));return{type:"aggregate",groupby:[...this.dimensions].map(fu),ops:e,fields:n,as:r}}}class K2 extends Ut{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of To){const o=n.facet[s];if(o){const{bin:u,sort:a}=o;this[s]=Object.assign({name:n.getName(`${s}_domain`),fields:[$e(o),...Kt(u)?[$e(o,{binSuffix:"end"})]:[]]},La(a)?{sortField:a}:_e(a)?{sortIndexField:Y2(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of To)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of To)!((e=this[r])===null||e===void 0)&&e.fields&&n.push(...this[r].fields);return n}dependentFields(){const e=new Set(this.fields);for(const n of To)this[n]&&(this[n].sortField&&e.add(this[n].sortField.field),this[n].sortIndexField&&e.add(this[n].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const n of Da){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Cr(i)&&jc(s)){const o=rD(this.childModel,n),u=gP(o);u?e[n]=u:Te(B8(n))}}}return e}assembleRowColumnHeaderData(e,n,r){const i={row:"y",column:"x",facet:void 0}[e],s=[],o=[],u=[];i&&r&&r[i]&&(n?(s.push(`distinct_${r[i]}`),o.push("max")):(s.push(r[i]),o.push("distinct")),u.push(`distinct_${r[i]}`));const{sortField:a,sortIndexField:l}=this[e];if(a){const{op:c=RN,field:f}=a;s.push(f),o.push(c),u.push($e(a,{forAs:!0}))}else l&&(s.push(l),o.push("max"),u.push(l));return{name:this[e].name,source:n??this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},s.length?{fields:s,ops:o,as:u}:{})]}}assembleFacetHeaderData(e){var n,r;const{columns:i}=this.model.layout,{layoutHeaders:s}=this.model.component,o=[],u={};for(const c of eP){for(const f of tP){const x=(n=s[c]&&s[c][f])!==null&&n!==void 0?n:[];for(const h of x)if(((r=h.axes)===null||r===void 0?void 0:r.length)>0){u[c]=!0;break}}if(u[c]){const f=`length(data("${this.facet.name}"))`,x=c==="row"?i?{signal:`ceil(${f} / ${i})`}:1:i?{signal:`min(${f}, ${i})`}:{signal:f};o.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:x}]})}}const{row:a,column:l}=u;return(a||l)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}assemble(){var e,n;const r=[];let i=null;const s=this.getChildIndependentFieldsWithStep(),{column:o,row:u,facet:a}=this;if(o&&u&&(s.x||s.y)){i=`cross_${this.column.name}_${this.row.name}`;const l=[].concat((e=s.x)!==null&&e!==void 0?e:[],(n=s.y)!==null&&n!==void 0?n:[]),c=l.map(()=>"distinct");r.push({name:i,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:c}]})}for(const l of[Yl,Vl])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function Sle(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function jtt(t,e){const n=Mse(t);if(e==="number")return`toNumber(${n})`;if(e==="boolean")return`toBoolean(${n})`;if(e==="string")return`toString(${n})`;if(e==="date")return`toDate(${n})`;if(e==="flatten")return n;if(e.startsWith("date:")){const r=Sle(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=Sle(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(lXe(e)),null}function Utt(t){const e={};return iN(t.filter,n=>{var r;if(woe(n)){let i=null;H8(n)?i=Hs(n.equal):Q8(n)?i=Hs(n.lte):z8(n)?i=Hs(n.lt):G8(n)?i=Hs(n.gt):W8(n)?i=Hs(n.gte):V8(n)?i=n.range[0]:Y8(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Td(i)?e[n.field]="date":nn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function qtt(t){const e={};function n(r){j2(r)?e[r.field]="date":r.type==="quantitative"&&UYe(r.aggregate)?e[r.field]="number":h3(r.field)>1?r.field in e||(e[r.field]="flatten"):Dd(r)&&La(r.sort)&&h3(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((zn(t)||Eu(t))&&t.forEachFieldDef((r,i)=>{if(Ro(r))n(r);else{const s=_d(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),zn(t)){const{mark:r,markDef:i,encoding:s}=t;if(Uc(r)&&!t.encoding.order){const o=i.orient==="horizontal"?"y":"x",u=s[o];Le(u)&&u.type==="quantitative"&&!(u.field in e)&&(e[u.field]="number")}}return e}function Htt(t){const e={};if(zn(t)&&t.component.selection)for(const n of be(t.component.selection)){const r=t.component.selection[n];for(const i of r.project.items)!i.channel&&h3(i.field)>1&&(e[i.field]="flatten")}return e}class li extends Ut{constructor(e,n){super(e),this._parse=n}clone(){return new li(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!Qc(o)&&(!((i=o==null?void 0:o.format)===null||i===void 0)&&i.parse)&&(s=o.format.parse),this.makeWithAncestors(e,s,{},r)}static makeWithAncestors(e,n,r,i){for(const u of be(r)){const a=i.getWithExplicit(u);a.value!==void 0&&(a.explicit||a.value===r[u]||a.value==="derived"||r[u]==="flatten"?delete r[u]:Te(moe(u,r[u],a.value)))}for(const u of be(n)){const a=i.get(u);a!==void 0&&(a===n[u]?delete n[u]:Te(moe(u,n[u],a)))}const s=new o0(n,r);i.copyAll(s);const o={};for(const u of be(s.combine())){const a=s.get(u);a!==null&&(o[u]=a)}return be(o).length===0||i.parseNothing?null:new li(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}assembleFormatParse(){const e={};for(const n of be(this._parse)){const r=this._parse[n];h3(n)===1&&(e[n]=r)}return e}producedFields(){return new Set(be(this._parse))}dependentFields(){return new Set(be(this._parse))}assembleTransforms(e=!1){return be(this._parse).filter(n=>e?h3(n)>1:!0).map(n=>{const r=jtt(n,this._parse[n]);return r?{type:"formula",expr:r,as:jse(n)}:null}).filter(n=>n!==null)}}class Yc extends Ut{clone(){return new Yc(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([R3])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:R3}}}class L3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new L3(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${bt(this.params)}`}assemble(){return Object.assign({type:"graticule"},this.params===!0?{}:this.params)}}class I3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new I3(null,this.params)}dependentFields(){return new Set}producedFields(){var e;return new Set([(e=this.params.as)!==null&&e!==void 0?e:"data"])}hash(){return`Hash ${bt(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}}class Ld extends Ut{constructor(e){super(null),e??(e={name:"source"});let n;if(Qc(e)||(n=e.format?Object.assign({},Co(e.format,["parse"])):{}),O3(e))this._data={values:e.values};else if(q2(e)){if(this._data={url:e.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(e.url)[1];Tt(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else mae(e)?this._data={values:[{type:"Sphere"}]}:(pae(e)||Qc(e))&&(this._data={});this._generator=Qc(e),e.name&&(this._name=e.name),n&&!Wt(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}}var vle=function(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n},ztt=function(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},$3;function uP(t){return t instanceof Ld||t instanceof L3||t instanceof I3}class aP{constructor(){$3.set(this,void 0),vle(this,$3,!1,"f")}setModified(){vle(this,$3,!0,"f")}get modifiedFlag(){return ztt(this,$3,"f")}}$3=new WeakMap;class Id extends aP{getNodeDepths(e,n,r){r.set(e,n);for(const i of e.children)this.getNodeDepths(i,n+1,r);return r}optimize(e){const r=[...this.getNodeDepths(e,0,new Map).entries()].sort((i,s)=>s[1]-i[1]);for(const i of r)this.run(i[0]);return this.modifiedFlag}}class lP extends aP{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class Qtt extends lP{mergeNodes(e,n){const r=n.shift();for(const i of n)e.removeChild(i),i.parent=r,i.remove()}run(e){const n=e.children.map(i=>i.hash()),r={};for(let i=0;i<n.length;i++)r[n[i]]===void 0?r[n[i]]=[e.children[i]]:r[n[i]].push(e.children[i]);for(const i of be(r))r[i].length>1&&(this.setModified(),this.mergeNodes(e,r[i]))}}class Gtt extends lP{constructor(e){super(),this.requiresSelectionId=e&&Y7(e)}run(e){e instanceof Yc&&(this.requiresSelectionId&&(uP(e.parent)||e.parent instanceof mu||e.parent instanceof li)||(this.setModified(),e.remove()))}}class Wtt extends aP{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof Ma&&(r=e.producedFields(),Bse(r,n)&&(this.setModified(),e.removeFormulas(n),e.producedFields.length===0&&e.remove()));for(const i of e.children)this.run(i,new Set([...n,...r]))}}class Vtt extends lP{constructor(){super()}run(e){e instanceof qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class Ytt extends Id{run(e){if(!uP(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof li)if(e instanceof li)this.setModified(),e.merge(n);else{if(Pse(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class Xtt extends Id{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof li);if(e.numChildren()>1&&r.length>=1){const i={},s=new Set;for(const o of r){const u=o.parse;for(const a of be(u))a in i?i[a]!==u[a]&&s.add(a):i[a]=u[a]}for(const o of s)delete i[o];if(!Wt(i)){this.setModified();const o=new li(e,i);for(const u of n){if(u instanceof li)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof li&&be(u.parse).length===0&&u.remove()}}}}}class Ktt extends Id{run(e){e instanceof qi||e.numChildren()>0||e instanceof K2||e instanceof Ld||(this.setModified(),e.remove())}}class Jtt extends Id{run(e){const n=e.children.filter(i=>i instanceof Ma),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class Ztt extends Id{run(e){const n=e.children.filter(i=>i instanceof mu),r={};for(const i of n){const s=bt(i.groupBy);s in r||(r[s]=[]),r[s].push(i)}for(const i of be(r)){const s=r[i];if(s.length>1){const o=s.pop();for(const u of s)o.merge(u)&&(e.removeChild(u),u.parent=o,u.remove(),this.setModified())}}}}class ent extends Id{constructor(e){super(),this.model=e}run(e){const n=!(uP(e)||e instanceof W2||e instanceof li||e instanceof Yc),r=[],i=[];for(const s of e.children)s instanceof ja&&(n&&!Pse(e.producedFields(),s.dependentFields())?r.push(s):i.push(s));if(r.length>0){const s=r.pop();for(const o of r)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof ja?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(i.length>1){const s=i.pop();for(const o of i)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}}class tnt extends Id{run(e){const n=[...e.children];if(!O2(n,o=>o instanceof qi)||e.numChildren()<=1)return;const i=[];let s;for(const o of n)if(o instanceof qi){let u=o;for(;u.numChildren()===1;){const[a]=u.children;if(a instanceof qi)u=a;else break}i.push(...u.children),s?(e.removeChild(o),o.parent=s.parent,s.parent.removeChild(s),s.parent=u,this.setModified()):s=u}else i.push(o);if(i.length){this.setModified();for(const o of i)o.parent.removeChild(o),o.parent=s}}}class $d extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new $d(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Wl(this.transform.groupby.concat(e),n=>n)}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(n=>n.field).filter(n=>n!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`JoinAggregateTransform ${bt(this.transform)}`}assemble(){const e=[],n=[],r=[];for(const s of this.transform.joinaggregate)n.push(s.op),r.push(this.getDefaultName(s)),e.push(s.field===void 0?null:s.field);const i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:r,ops:n,fields:e},i!==void 0?{groupby:i}:{})}}function nnt(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function rnt(t){return _e(t)&&t.every(e=>je(e))&&t.length>1}class u0 extends Ut{constructor(e,n){super(e),this._stack=n}clone(){return new u0(null,ot(this._stack))}static makeFromTransform(e,n){const{stack:r,groupby:i,as:s,offset:o="zero"}=n,u=[],a=[];if(n.sort!==void 0)for(const f of n.sort)u.push(f.field),a.push(ir(f.order,"ascending"));const l={field:u,order:a};let c;return rnt(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new u0(e,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:o,sort:l,facetby:[],as:c})}static makeFromEncoding(e,n){const r=n.stack,{encoding:i}=n;if(!r)return null;const{groupbyChannels:s,fieldChannel:o,offset:u,impute:a}=r,l=s.map(h=>{const p=i[h];return Ba(p)}).filter(h=>!!h),c=nnt(n),f=n.encoding.order;let x;return _e(f)||Le(f)?x=uoe(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new u0(e,{dimensionFieldDefs:l,stackField:n.vgField(o),facetby:[],stackby:c,sort:x,offset:u,impute:a,as:[n.vgField(o,{suffix:"start",forAs:!0}),n.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${bt(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:e,impute:n,groupby:r}=this._stack;return e.length>0?e.map(i=>i.bin?n?[$e(i,{binSuffix:"mid"})]:[$e(i,{}),$e(i,{binSuffix:"end"})]:[$e(i)]).flat():r??[]}assemble(){const e=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:s,sort:o,offset:u,impute:a,as:l}=this._stack;if(a)for(const c of r){const{bandPosition:f=.5,bin:x}=c;if(x){const h=$e(c,{expr:"datum"}),p=$e(c,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${f}*${h}+${1-f}*${p}`,as:$e(c,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...s,...n],key:$e(c,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:o,as:l,offset:u}),e}}class J2 extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new J2(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Wl(this.transform.groupby.concat(e),n=>n)}dependentFields(){var e,n;const r=new Set;return((e=this.transform.groupby)!==null&&e!==void 0?e:[]).forEach(r.add,r),((n=this.transform.sort)!==null&&n!==void 0?n:[]).forEach(i=>r.add(i.field)),this.transform.window.map(i=>i.field).filter(i=>i!==void 0).forEach(r.add,r),r}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`WindowTransform ${bt(this.transform)}`}assemble(){var e;const n=[],r=[],i=[],s=[];for(const x of this.transform.window)r.push(x.op),i.push(this.getDefaultName(x)),s.push(x.param===void 0?null:x.param),n.push(x.field===void 0?null:x.field);const o=this.transform.frame,u=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(x=>w8(x)))return Object.assign({type:"joinaggregate",as:i,ops:r,fields:n},u!==void 0?{groupby:u}:{});const a=[],l=[];if(this.transform.sort!==void 0)for(const x of this.transform.sort)a.push(x.field),l.push((e=x.order)!==null&&e!==void 0?e:"ascending");const c={field:a,order:l},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:s,as:i,ops:r,fields:n,sort:c},f!==void 0?{ignorePeers:f}:{}),u!==void 0?{groupby:u}:{}),o!==void 0?{frame:o}:{})}}function int(t){function e(n){if(!(n instanceof K2)){const r=n.clone();if(r instanceof qi){const i=fP+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof mu||r instanceof u0||r instanceof J2||r instanceof $d)&&r.addDimensions(t.fields);for(const i of n.children.flatMap(e))i.parent=r;return[r]}return n.children.flatMap(e)}return e}function cP(t){if(t instanceof K2)if(t.numChildren()===1&&!(t.children[0]instanceof qi)){const e=t.children[0];(e instanceof mu||e instanceof u0||e instanceof J2||e instanceof $d)&&e.addDimensions(t.fields),e.swapWithParent(),cP(t)}else{const e=t.model.component.data.main;_le(e);const n=int(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(cP)}function _le(t){if(t instanceof qi&&t.type===Jt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof K2||(e.swapWithParent(),_le(t))}}const fP="scale_",nD=5;function xP(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!xP(e.children))return!1}return!0}function yu(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function Cle(t,e,n){let r=t.sources,i=!1;return i=yu(new Vtt,r)||i,i=yu(new Gtt(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=yu(new Ktt,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=yu(new Ytt,r)||i,i=yu(new ent(e),r)||i,i=yu(new Wtt,r)||i,i=yu(new Xtt,r)||i,i=yu(new Ztt,r)||i,i=yu(new Jtt,r)||i,i=yu(new Qtt,r)||i,i=yu(new tnt,r)||i),t.sources=r,i}function snt(t,e){xP(t.sources);let n=0,r=0;for(let i=0;i<nD&&Cle(t,e,!0);i++)n++;t.sources.map(cP);for(let i=0;i<nD&&Cle(t,e,!1);i++)r++;xP(t.sources),Math.max(n,r)===nD&&Te(`Maximum optimization runs(${nD}) reached.`)}class Es{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new Es(()=>e(n))}}var ont=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function ble(t){zn(t)?unt(t):ant(t)}function unt(t){const e=t.component.scales;for(const n of be(e)){const r=cnt(t,n);if(e[n].setWithExplicit("domains",r),xnt(t,n),t.component.data.isFaceted){let s=t;for(;!Eu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)n0(u)&&(u.data=fP+u.data.replace(fP,""))}}}function ant(t){for(const n of t.children)ble(n);const e=t.component.scales;for(const n of be(e)){let r,i=null;for(const s of t.children){const o=s.component.scales[n];if(o){r===void 0?r=o.getWithExplicit("domains"):r=zc(r,o.getWithExplicit("domains"),"domains","scale",pP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(sXe),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function lnt(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=Tle(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=Tle(e,n);if(i)return"unaggregated"}return t}function cnt(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=lnt(t.scaleDomain(e),t.typedFieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),e==="x"&&sr(r.x2)?sr(r.x)?zc(Xc(n,i,t,"x"),Xc(n,i,t,"x2"),"domain","scale",pP):Xc(n,i,t,"x2"):e==="y"&&sr(r.y2)?sr(r.y)?zc(Xc(n,i,t,"y"),Xc(n,i,t,"y2"),"domain","scale",pP):Xc(n,i,t,"y2"):Xc(n,i,t,e)}function fnt(t,e,n){return t.map(r=>({signal:`{data: ${$N(r,{timeUnit:n,type:e})}}`}))}function dP(t,e,n){var r;const i=(r=ji(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?fnt(t,e,i):[t]}function Xc(t,e,n,r){const{encoding:i}=n,s=sr(i[r]),{type:o}=s,u=s.timeUnit;if(DKe(e)){const f=Xc(t,void 0,n,r),x=dP(e.unionWith,o,u);return Pa([...f.value,...x])}else{if(Ye(e))return Pa([e]);if(e&&e!=="unaggregated"&&!joe(e))return Pa(dP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return Qs([[0,1]]);const f=n.requestDataName(Jt.Main);return Qs([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=kc(r)&&Le(s)?dnt(n,r,t):void 0;if(Ia(s)){const f=dP([s.datum],o,u);return Qs(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Jt.Main),{field:x}=s;return Qs([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Kt(c.bin)){if(Cr(t))return Qs(t==="bin-ordinal"?[]:[{data:sN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r,b3(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Kt(f)){const x=oP(n,c.field,f);return Qs([new Es(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return Qs([{data:n.requestDataName(Jt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&aue(c,zn(n)?n.encoding[e0(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Jt.Main);return Qs([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return Qs(l?[{data:sN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Jt.Main),field:n.vgField(r)}])}function hP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":RN)},r?{field:fu(r)}:{}),i?{order:i}:{})}function xnt(t,e){var n;const r=t.component.scales[e],i=t.specifiedScales[e].domain,s=(n=t.fieldDef(e))===null||n===void 0?void 0:n.bin,o=joe(i)&&i,u=Cd(s)&&gN(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function dnt(t,e,n){if(!Cr(n))return;const r=t.fieldDef(e),i=r.sort;if(iue(i))return{op:"min",field:Y2(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(La(i)){const u=s&&!o.has(i.field);return hP(i,u)}else if(rue(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(t0(c)||Pc(c))return hP({field:$e(l),order:a},x);if(w8(c)||!c)return hP({op:c,field:f,order:a},x)}else{if(i==="descending")return{op:"min",field:t.vgField(e),order:"descending"};if(Tt(["ascending",void 0],i))return!0}}function Tle(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!HYe.has(n)?{valid:!1,reason:LXe(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:IXe(t)}:{valid:!0}:{valid:!1,reason:wXe(t)}}function pP(t,e,n,r){return t.explicit&&e.explicit&&Te(MXe(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function hnt(t){const e=Wl(t.map(o=>n0(o)?ont(o,["sort"]):o),bt),n=Wl(t.map(o=>{if(n0(o)){const u=o.sort;return u!==void 0&&!sN(u)&&("op"in u&&u.op==="count"&&delete u.field,u.order==="ascending"&&delete u.order),u}}).filter(o=>o!==void 0),bt);if(e.length===0)return;if(e.length===1){const o=t[0];if(n0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(_oe),u=!0;else if(Qe(u)&&"field"in u){const a=u.field;o.field===a&&(u=u.order?{order:u.order}:!0)}return Object.assign(Object.assign({},o),{sort:u})}return o}const r=Wl(n.map(o=>sN(o)||!("op"in o)||je(o.op)&&o.op in MYe?o:(Te(UXe(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(_oe),i=!0);const s=Wl(t.map(o=>n0(o)?o.data:null),o=>o);return s.length===1&&s[0]!==null?Object.assign({data:s[0],fields:e.map(u=>u.field)},i?{sort:i}:{}):Object.assign({fields:e},i?{sort:i}:{})}function gP(t){if(n0(t)&&je(t.field))return t.field;if(QYe(t)){let e;for(const n of t.fields)if(n0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(qXe),e}return Te(HXe),e}else if(GYe(t)){Te(zXe);const e=t.fields[0];return je(e)?e:void 0}}function rD(t,e){const r=t.component.scales[e].get("domains").map(i=>(n0(i)&&(i.data=t.lookupDataSource(i.data)),i));return hnt(r)}var pnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Rle(t){return Z2(t)||EP(t)?t.children.reduce((e,n)=>e.concat(Rle(n)),Ole(t)):Ole(t)}function Ole(t){return be(t.component.scales).reduce((e,n)=>{const r=t.component.scales[n];if(r.merged)return e;const i=r.combine(),{name:s,type:o,selectionExtent:u,domains:a,range:l,reverse:c}=i,f=pnt(i,["name","type","selectionExtent","domains","range","reverse"]),x=gnt(i.range,s,n,t),h=rD(t,n),p=u?iet(t,u,r,h):null;return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:s,type:o},h?{domain:h}:{}),p?{domainRaw:p}:{}),{range:x}),c!==void 0?{reverse:c}:{}),f)),e},[])}function gnt(t,e,n,r){if(kr(n)){if(jc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&n0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class Nle extends o0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:O2(this.get("domains"),e=>_e(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const mnt=["range","scheme"];function ynt(t){const e=t.component.scales;for(const n of pN){const r=e[n];if(!r)continue;const i=Ent(n,t);r.setWithExplicit("range",i)}}function Dle(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=gs(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new Es(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Kt(r)){const u=oP(t,i,r);return new Es(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function Ent(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of mnt)if(n[f]!==void 0){const x=e7(s,f),h=Uoe(t,f);if(!x)Te(Soe(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(_e(p)){if(kr(t))return Pa(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return Es.fromName(y,g)}return m}))}else if(Qe(p))return Pa({data:e.requestDataName(Jt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Pa(p)}case"scheme":return Pa(Ant(n[f]))}}const o=t===yn||t==="xOffset"?"width":"height",u=r[o];if(ka(u)){if(kr(t))if(Cr(s)){const f=Fle(u,e,t);if(f)return Pa({step:f})}else Te(voe(o));else if(w2(t)){const f=t===Fc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=wle(u,s);if(p)return Pa(p)}}}const{rangeMin:a,rangeMax:l}=n,c=Snt(t,e);return(a!==void 0||l!==void 0)&&e7(s,"rangeMin")&&_e(c)&&c.length===2?Pa([a??c[0],l??c[1]]):Qs(c)}function Ant(t){return NKe(t)?Object.assign({scheme:t.name},Co(t,["name"])):{scheme:t}}function Snt(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=sr(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case yn:case _r:{if(Tt(["point","band"],l)){const p=Lle(t,n,r.view);if(ka(p))return{step:Fle(p,e,t)}}const x=gs(t),h=e.getName(x);return t===_r&&zs(l)?[Es.fromName(o,h),0]:[0,Es.fromName(o,h)]}case Fc:case D2:return vnt(t,e,l);case Jl:{const x=e.component.scales[t].get("zero"),h=Ile(i,x,r),p=bnt(i,n,e,r);return B2(l)?Cnt(h,p,_nt(l,r,c,t)):[h,p]}case du:return[0,Math.PI*2];case Sd:return[0,360];case ba:return[0,new Es(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case Ic:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case $c:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case ps:return"symbol";case hs:case Oa:case Na:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Zl:case wc:case Lc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function Fle(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=Gse(n),f=a[c];if(que({step:t,offsetIsDiscrete:it(f)&&Ioe(f.type)})==="offset"&&Sue(a,c)){const h=e.getScaleComponent(c);let m=`domain('${e.scaleName(c)}').length`;if(h.get("type")==="band"){const y=(i=(r=h.get("paddingInner"))!==null&&r!==void 0?r:h.get("padding"))!==null&&i!==void 0?i:0,E=(o=(s=h.get("paddingOuter"))!==null&&s!==void 0?s:h.get("padding"))!==null&&o!==void 0?o:0;m=`bandspace(${m}, ${y}, ${E})`}const g=(u=l.get("paddingInner"))!==null&&u!==void 0?u:l.get("padding");return{signal:`${t.step} * ${m} / (1-${YYe(g)})`}}else return t.step}function wle(t,e){if(que({step:t,offsetIsDiscrete:Cr(e)})==="offset")return{step:t.step}}function vnt(t,e,n){const r=t===Fc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=Lle(r,e.size,e.config.view);if(ka(u)){const a=wle(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return lYe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function Lle(t,e,n){const r=t===yn?"width":"height",i=e[r];return i||HN(n,r)}function _nt(t,e,n,r){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return n!==void 0&&_e(n)?n.length+1:(Te(ZXe(r)),3)}}function Cnt(t,e,n){const r=()=>{const i=r0(e),s=r0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new Es(r):{signal:r()}}function Ile(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${Ile(t,!1,n)}`}:0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(yN("size",t))}const $le=.95;function bnt(t,e,n,r){const i={x:Dle(n,"x"),y:Dle(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=Ble(e,i,r.view);return nn(s)?s-1:new Es(()=>`${s.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const s=Ble(e,i,r.view);return nn(s)?Math.pow($le*s,2):new Es(()=>`pow(${$le} * ${s.signal}, 2)`)}}throw new Error(yN("size",t))}function Ble(t,e,n){const r=ka(t.width)?t.width.step:qN(n,"width"),i=ka(t.height)?t.height.step:qN(n,"height");return e.x||e.y?new Es(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function kle(t,e){zn(t)?Tnt(t,e):jle(t,e)}function Tnt(t,e){const n=t.component.scales,{config:r,encoding:i,markDef:s,specifiedScales:o}=t;for(const u of be(n)){const a=o[u],l=n[u],c=t.getScaleComponent(u),f=sr(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=e7(h,e),y=Uoe(u,e);if(x!==void 0&&(g?y&&Te(y):Te(Soe(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Td(a[e])||A==="temporal"||E?l.set(e,{signal:$N(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in Ple?Ple[e]({model:t,channel:u,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:a.domain,domainMin:a.domainMin,domainMax:a.domainMax,markDef:s,config:r,hasNestedOffsetScale:y7(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const Ple={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?Rnt(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>Ont(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>Nnt(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>Dnt(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>Fnt(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>wnt(t,e,n,r,i.scale,s),reverse:({fieldOrDatumDef:t,scaleType:e,channel:n,config:r})=>{const i=Le(t)?t.sort:void 0;return Lnt(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>Int(t,e,n,r,i)};function Mle(t){zn(t)?ynt(t):jle(t,"range")}function jle(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?Mle(r):kle(r,e);for(const r of be(n)){let i;for(const s of t.children){const o=s.component.scales[r];if(o){const u=o.getWithExplicit(e);i=zc(i,u,e,"scale",hae((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function Rnt(t,e){const n=e.bin;if(Kt(n)){const r=oP(t,e.field,n);return new Es(()=>t.getSignalName(r))}else if(Mi(n)&&Cd(n)&&n.step!==void 0)return{step:n.step}}function Ont(t,e){if(Tt([hs,Oa,Na],t)&&e!=="nominal")return"hcl"}function Nnt(t,e,n,r,i,s){var o;if(!(!((o=Ba(s))===null||o===void 0)&&o.bin||_e(n)||i!=null||r!=null||Tt([ys.TIME,ys.UTC],t)))return kr(e)?!0:void 0}function Dnt(t,e,n,r,i,s){if(kr(t)){if(pu(e)){if(n.continuousPadding!==void 0)return n.continuousPadding;const{type:o,orient:u}=i;if(o==="bar"&&!(Le(r)&&(r.bin||r.timeUnit))&&(u==="vertical"&&t==="x"||u==="horizontal"&&t==="y"))return s.continuousBandSize}if(e===ys.POINT)return n.pointPadding}}function Fnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:ir(o,n==="bar"?u:a)}else if(w2(e)&&r===ys.BAND)return i.offsetBandPaddingInner}}function wnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===ys.BAND)return ir(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(w2(e)){if(n===ys.POINT)return .5;if(n===ys.BAND)return i.offsetBandPaddingOuter}}}function Lnt(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return zs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(zs(t)&&e==="descending")return!0}function Int(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&zs(i)){if(_e(n)){const o=n[0],u=n[n.length-1];if(o<=0&&u>=0)return!0}return!1}if(t==="size"&&e.type==="quantitative"&&!B2(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...Da,...FYe],t)){const{orient:o,type:u}=r;return!(Tt(["bar","area","line","trail"],u)&&(o==="horizontal"&&t==="y"||o==="vertical"&&t==="x"))}return!1}function $nt(t,e,n,r,i=!1){const s=Bnt(e,n,r,i),{type:o}=t;return kc(e)?o!==void 0?$Ke(e,o)?Le(n)&&!IKe(o,n.type)?(Te(kXe(o,s)),s):o:(Te(BXe(e,o,s)),s):s:null}function Bnt(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(F2(t)||F8(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(P8(t,"ordinal")),"ordinal";if(kr(t)||w2(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in D8)return"band";const s=n[gs(t)];return k2(s)||h7(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return F2(t)?"time":F8(t)==="discrete"?(Te(P8(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&ji(e.timeUnit).utc?"utc":"time";case"quantitative":return F2(t)?Le(e)&&Kt(e.bin)?"bin-ordinal":"linear":F8(t)==="discrete"?(Te(P8(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(Eoe(e.type))}function knt(t,{ignoreRange:e}={}){Ule(t),ble(t);for(const n of LKe)kle(t,n);e||Mle(t)}function Ule(t){zn(t)?t.component.scales=Pnt(t):t.component.scales=jnt(t)}function Pnt(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of pN){const o=sr(e[s]);if(o&&n===zoe&&s===ps&&o.type===$2)continue;let u=o&&o.scale;if(w2(s)){const a=Wse(s);if(!y7(e,a)){u&&Te(vXe(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=y7(e,s),l=$nt(u,s,o,r,a);i[s]=new Nle(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const Mnt=hae((t,e)=>$oe(t)-$oe(e));function jnt(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){Ule(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=sle(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?CKe(a.value,l.value)?i[u]=zc(a,l,"type","scale",Mnt):(s.scale[u]="independent",delete i[u]):i[u]=l}}for(const o of be(i)){const u=t.scaleName(o,!0),a=i[o];r[o]=new Nle(u,a);for(const l of t.children){const c=l.component.scales[o];c&&(l.renameScale(c.get("name"),u),c.merged=!0)}}return r}var mP=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class yP{constructor(){this.nameMap={}}rename(e,n){this.nameMap[e]=n}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function zn(t){return(t==null?void 0:t.type)==="unit"}function Eu(t){return(t==null?void 0:t.type)==="facet"}function EP(t){return(t==null?void 0:t.type)==="concat"}function Z2(t){return(t==null?void 0:t.type)==="layer"}class AP{constructor(e,n,r,i,s,o,u){var a,l;this.type=n,this.parent=r,this.config=s,this.correctDataNames=c=>{var f,x,h;return!((f=c.from)===null||f===void 0)&&f.data&&(c.from.data=this.lookupDataSource(c.from.data)),!((h=(x=c.from)===null||x===void 0?void 0:x.facet)===null||h===void 0)&&h.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c},this.parent=r,this.config=s,this.view=ms(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Mc(e.title)?{text:e.title}:e.title?ms(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new yP,this.projectionNameMap=r?r.projectionNameMap:new yP,this.signalNameMap=r?r.signalNameMap:new yP,this.data=e.data,this.description=e.description,this.transforms=jZe((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:WJe(e,n,s),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:ON(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new o0,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?ot(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){knt(this)}parseProjection(){yle(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){dle(this)}assembleEncodeFromView(e){const n=mP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=on(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=on(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Wt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=mP(e,["spacing"]),{component:i,config:s}=this,o=rtt(i.layoutHeaders,s);return Object.assign(Object.assign(Object.assign({padding:n},this.assembleDefaultLayout()),r),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let n=[];for(const r of To)e[r].title&&n.push(Ket(this,r));for(const r of eP)n=n.concat(Jet(this,r));return n}assembleAxes(){return Met(this.component.axes,this.config)}assembleLegends(){return ple(this)}assembleProjections(){return Rtt(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=mP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},toe(this.config.title).nonMarkTitleProperties),o),s?{encode:{update:s}}:{});if(u.text)return Tt(["unit","layer"],this.type)?Tt(["middle",void 0],u.anchor)&&((n=u.frame)!==null&&n!==void 0||(u.frame="group")):(r=u.anchor)!==null&&r!==void 0||(u.anchor="start"),Wt(u)?void 0:u}assembleGroup(e=[]){const n={};e=e.concat(this.assembleSignals()),e.length>0&&(n.signals=e);const r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||Eu(this.parent)?Rle(this):[];i.length>0&&(n.scales=i);const s=this.assembleAxes();s.length>0&&(n.axes=s);const o=this.assembleLegends();return o.length>0&&(n.legends=o),n}getName(e){return mn((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Jt[e].toLowerCase())}requestDataName(e){const n=this.getDataName(e),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(e){if(Eu(this.parent)){const n=rle(e),r=hN(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Cr(s)&&jc(o)){const u=i.get("name"),a=rD(this,r),l=gP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:nle(u,i,c)}}else return Te(B8(r)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const n=this.component.data.outputNodes[e];return n?n.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,n){this.signalNameMap.rename(e,n)}renameScale(e,n){this.scaleNameMap.rename(e,n)}renameProjection(e,n){this.projectionNameMap.rename(e,n)}scaleName(e,n){if(n)return this.getName(e);if(zse(e)&&kc(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const n=this.component.scales[e];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,n){let r=this.component.selection[e];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(e,n)),!r)throw new Error(eXe(n));return r}hasAxisOrientSignalRef(){var e,n;return((e=this.component.axes.x)===null||e===void 0?void 0:e.some(r=>r.hasOrientSignalRef()))||((n=this.component.axes.y)===null||n===void 0?void 0:n.some(r=>r.hasOrientSignalRef()))}}class qle extends AP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return _Je(this.getMapping(),(r,i,s)=>{const o=Ba(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){A7(this.getMapping(),(r,i)=>{const s=Ba(r);s&&e(s,i)},n)}}var Unt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class iD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"value",(s=o[1])!==null&&s!==void 0?s:"density"]}clone(){return new iD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.density,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{density:n}=e,r=Unt(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class B3 extends Ut{constructor(e,n){super(e),this.filter=n}clone(){return new B3(null,Object.assign({},this.filter))}static make(e,n){const{config:r,mark:i,markDef:s}=n;if(kt("invalid",s,r)!=="filter")return null;const u=n.reduceFieldDef((a,l,c)=>{const f=kc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");zs(x)&&l.aggregate!=="count"&&!Uc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new B3(e,u):null}dependentFields(){return new Set(be(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${bt(this.filter)}`}assemble(){const e=be(this.filter).reduce((n,r)=>{const i=this.filter[r],s=$e(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?n.push(`(isDate(${s}) || (isValid(${s}) && isFinite(+${s})))`):i.type==="quantitative"&&(n.push(`isValid(${s})`),n.push(`isFinite(+${s})`))),n},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class sD extends Ut{constructor(e,n){super(e),this.transform=n,this.transform=ot(n);const{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((s,o)=>{var u;return(u=i[o])!==null&&u!==void 0?u:s})}clone(){return new sD(this.parent,ot(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${bt(this.transform)}`}assemble(){const{flatten:e,as:n}=this.transform;return{type:"flatten",fields:e,as:n}}}class oD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"key",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new oD(null,ot(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${bt(this.transform)}`}assemble(){const{fold:e,as:n}=this.transform;return{type:"fold",fields:e,as:n}}}class eg extends Ut{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new eg(null,ot(this.fields),this.geojson,this.signal)}static parseAll(e,n){if(n.component.projection&&!n.component.projection.isFit)return e;let r=0;for(const i of[[Ra,Ta],[bo,hu]]){const s=i.map(o=>{const u=sr(n.encoding[o]);return Le(u)?u.field:Ia(u)?{expr:`${u.datum}`}:gu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new eg(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(ps)){const i=n.typedFieldDef(ps);i.type===$2&&(e=new eg(e,null,i.field,n.getName(`geojson_${r++}`)))}return e}dependentFields(){var e;const n=((e=this.fields)!==null&&e!==void 0?e:[]).filter(je);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${bt(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})]}}class k3 extends Ut{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new k3(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[Ra,Ta],[bo,hu]]){const i=r.map(o=>{const u=sr(n.encoding[o]);return Le(u)?u.field:Ia(u)?{expr:`${u.datum}`}:gu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===bo?"2":"";(i[0]||i[1])&&(e=new k3(e,n.projectionName(),i,[n.getName(`x${s}`),n.getName(`y${s}`)]))}return e}dependentFields(){return new Set(this.fields.filter(je))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${bt(this.fields)} ${bt(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Bd extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new Bd(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.impute,this.transform.key,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:n=0,stop:r,step:i}=e;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,n){return new Bd(e,n)}static makeFromEncoding(e,n){const r=n.encoding,i=r.x,s=r.y;if(Le(i)&&Le(s)){const o=i.impute?i:s.impute?s:void 0;if(o===void 0)return;const u=i.impute?s:s.impute?i:void 0,{method:a,value:l,frame:c,keyvals:f}=o.impute,x=_ue(n.mark,r);return new Bd(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:u.field},a?{method:a}:{}),l!==void 0?{value:l}:{}),c?{frame:c}:{}),f!==void 0?{keyvals:f}:{}),x.length?{groupby:x}:{}))}return null}hash(){return`Impute ${bt(this.transform)}`}assemble(){const{impute:e,key:n,keyvals:r,method:i,groupby:s,value:o,frame:u=[null,null]}=this.transform,a=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:e,key:n},r?{keyvals:vZe(r)?this.processSequence(r):r}:{}),{method:"value"}),s?{groupby:s}:{}),{value:!i||i==="value"?o:null});if(i&&i!=="value"){const l=Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:u,ignorePeers:!1},s?{groupby:s}:{}),c={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[a,l,c]}else return[a]}}var qnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class uD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.loess]}clone(){return new uD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.loess,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{loess:n,on:r}=e,i=qnt(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class P3 extends Ut{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new P3(null,ot(this.transform),this.secondary)}static make(e,n,r,i){const s=n.component.data.sources,{from:o}=r;let u=null;if(_Ze(o)){let a=Gle(o.data,s);a||(a=new Ld(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new qi(a,l,Jt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(CZe(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(mn(a),a)}catch{throw new Error(rXe(a))}if(u=l.materialized,!u)throw new Error(iXe(a))}return new P3(e,r,u.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Pe(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${bt({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:Pe(this.transform.as)}:{});else{let n=this.transform.as;je(n)||(Te(xXe),n="_lookup"),e={as:[n]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}}var Hnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class aD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"prob",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new aD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.quantile,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{quantile:n}=e,r=Hnt(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var znt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class lD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.regression]}clone(){return new lD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.regression,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{regression:n,on:r}=e,i=znt(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class cD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new cD(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=Wl(((n=this.transform.groupby)!==null&&n!==void 0?n:[]).concat(e),r=>r)}producedFields(){}dependentFields(){var e;return new Set([this.transform.pivot,this.transform.value,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}hash(){return`PivotTransform ${bt(this.transform)}`}assemble(){const{pivot:e,value:n,groupby:r,limit:i,op:s}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:e,value:n},i!==void 0?{limit:i}:{}),s!==void 0?{op:s}:{}),r!==void 0?{groupby:r}:{})}}class fD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new fD(null,ot(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${bt(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Hle(t){let e=0;function n(r,i){var s;if(r instanceof Ld&&!r.isGenerator&&!q2(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof li&&(r.parent instanceof Ld&&!i.source?(i.format=Object.assign(Object.assign({},(s=i.format)!==null&&s!==void 0?s:{}),{parse:r.assembleFormatParse()}),i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof K2){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),r.data=i.name):r.data=i.source,t.push(...r.assemble());return}switch((r instanceof L3||r instanceof I3||r instanceof B3||r instanceof W2||r instanceof V2||r instanceof k3||r instanceof mu||r instanceof P3||r instanceof J2||r instanceof $d||r instanceof oD||r instanceof sD||r instanceof iD||r instanceof uD||r instanceof aD||r instanceof lD||r instanceof Yc||r instanceof fD||r instanceof cD)&&i.transform.push(r.assemble()),(r instanceof ja||r instanceof Ma||r instanceof Bd||r instanceof u0||r instanceof eg)&&i.transform.push(...r.assemble()),r instanceof qi&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof qi?r.setSource(i.name):(i.name||(i.name=`data_${e++}`),r.setSource(i.name),r.numChildren()===1&&(t.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof qi&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(const u of r.children)n(u,{name:null,source:o,transform:[]});break}}}return n}function Qnt(t){const e=[],n=Hle(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function Gnt(t,e){var n,r;const i=[],s=Hle(i);let o=0;for(const a of t.sources){a.hasName()||(a.dataName=`source_${o++}`);const l=a.assemble();s(a,l)}for(const a of i)a.transform.length===0&&delete a.transform;let u=0;for(const[a,l]of i.entries())((n=l.transform)!==null&&n!==void 0?n:[]).length===0&&!l.source&&i.splice(u++,0,i.splice(a,1)[0]);for(const a of i)for(const l of(r=a.transform)!==null&&r!==void 0?r:[])l.type==="lookup"&&(l.from=t.outputNodes[l.from].getSource());for(const a of i)a.name in e&&(a.values=e[a.name]);return i}function Wnt(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function Vnt(t){for(const e of To)Ynt(t,e);Qle(t,"x"),Qle(t,"y")}function Ynt(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=X2("title",null,i,e);let l=P2(u,i,{allowDisabling:!0,includeDefault:a===void 0||!!a});s.component.layoutHeaders[e].title&&(l=_e(l)?l.join(", "):l,l+=` / ${s.component.layoutHeaders[e].title}`,s.component.layoutHeaders[e].title=null);const c=X2("labelOrient",u.header,i,e),f=u.header!==null?ir((n=u.header)===null||n===void 0?void 0:n.labels,i.header.labels,!0):!1,x=Tt(["bottom","right"],c)?"footer":"header";o.layoutHeaders[e]={title:u.header!==null?l:null,facetFieldDef:u,[x]:e==="facet"?[]:[zle(t,e,f)]}}}function zle(t,e,n){const r=e==="row"?"height":"width";return{labels:n,sizeSignal:t.child.component.layoutSize.get(r)?t.child.getSizeSignalRef(r):void 0,axes:[]}}function Qle(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=iP(s,e),s.axis[e]==="shared"){const o=e==="x"?"column":"row",u=i[o];for(const a of r.component.axes[e]){const l=Wnt(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[zle(t,o,!1)]);const c=w3(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function Xnt(t){SP(t),xD(t,"width"),xD(t,"height")}function Knt(t){SP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";xD(t,e),xD(t,n)}function SP(t){for(const e of t.children)e.parseLayoutSize()}function xD(t,e){var n;const r=rle(e),i=hN(r),s=t.component.resolve,o=t.component.layoutSize;let u;for(const a of t.children){const l=a.component.layoutSize.getWithExplicit(r),c=(n=s.scale[i])!==null&&n!==void 0?n:sle(i,t);if(c==="independent"&&l.value==="step"){u=void 0;break}if(u){if(c==="independent"&&u.value!==l.value){u=void 0;break}u=zc(u,l,r,"")}else u=l}if(u){for(const a of t.children)t.renameSignal(a.getName(r),t.getName(e)),a.component.layoutSize.set(r,"merged",!1);o.setWithExplicit(e,u)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function Jnt(t){const{size:e,component:n}=t;for(const r of Da){const i=gs(r);if(e[i]){const s=e[i];n.layoutSize.set(i,ka(s)?"step":s,!0)}else{const s=Znt(t,i);n.layoutSize.set(i,s,!1)}}}function Znt(t,e){const n=e==="width"?"x":"y",r=t.config,i=t.getScaleComponent(n);if(i){const s=i.get("type"),o=i.get("range");if(Cr(s)){const u=HN(r.view,e);return jc(o)||ka(u)?"step":u}else return w7(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return w7(r.view,e);{const s=HN(r.view,e);return ka(s)?s.step:s}}}function vP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class M3 extends qle{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=RP(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!_3(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![Vl,Yl].includes(i)){Te(yN(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(k8(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=m7(e,n);return r.header?r.header=ms(r.header):r.header===null&&(r.header=null),r}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=dD(this),this.child.parseData()}parseLayoutSize(){SP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Vnt(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){var e,n,r;const i={};for(const s of To)for(const o of tP){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=X2("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=ZN(s,c);(e=i.titleAnchor)!==null&&e!==void 0||(i.titleAnchor={}),i.titleAnchor[f]="end"}}if(a!=null&&a[0]){const c=s==="row"?"height":"width",f=o==="header"?"headerBand":"footerBand";s!=="facet"&&!this.child.component.layoutSize.get(c)&&((n=i[f])!==null&&n!==void 0||(i[f]={}),i[f][s]=.5),u.title&&((r=i.offset)!==null&&r!==void 0||(i.offset={}),i.offset[s==="row"?"rowTitle":"columnTitle"]=10)}}return i}assembleDefaultLayout(){const{column:e,row:n}=this.facet,r=e?this.columnDistinctSignal():n?1:void 0;let i="all";return(!n&&this.component.resolve.scale.x==="independent"||!e&&this.component.resolve.scale.y==="independent")&&(i="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),r?{columns:r}:{}),{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof M3))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof M3?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:$e(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],n=[],r=[];if(this.child instanceof M3){if(this.child.channelHasField("column")){const i=$e(this.child.facet.column);e.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(const i of Da){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Cr(o)&&jc(u)){const a=rD(this.child,i),l=gP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(B8(i))}}}return{fields:e,ops:n,as:r}}assembleFacet(){const{name:e,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:s,ops:o,as:u}=this.getCardinalityAggregateForChild(),a=[];for(const c of To){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Kt(x)&&a.push($e(f,{binSuffix:"end"})),La(h)){const{field:p,op:m=RN}=h,g=vP(f,h);r&&i?(s.push(g),o.push("max"),u.push(g)):(s.push(p),o.push(m),u.push(g))}else if(_e(h)){const p=Y2(f,c);s.push(p),o.push("max"),u.push(p)}}}const l=!!r&&!!i;return Object.assign({name:e,data:n,groupby:a},l||s.length>0?{aggregate:Object.assign(Object.assign({},l?{cross:l}:{}),s.length?{fields:s,ops:o,as:u}:{})}:{})}facetSortFields(e){const{facet:n}=this,r=n[e];return r?La(r.sort)?[vP(r,r.sort,{expr:"datum"})]:_e(r.sort)?[Y2(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(La(i)?i.order:!_e(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return nP(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of eP)if(n[s]){const o=X2("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return nP(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=Qnt(n),i=e.assembleGroupEncodeEntry(!1),s=this.assembleLabelTitle()||e.assembleTitle(),o=e.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},s?{title:s}:{}),o?{style:o}:{}),{from:{facet:this.assembleFacet()},sort:{field:To.map(a=>this.facetSortFields(a)).flat(),order:To.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup(eet(this,[])))]}getMapping(){return this.facet}}function ert(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(La(s.sort)){const{field:o,op:u=RN}=s.sort;t=i=new $d(t,{joinaggregate:[{op:u,field:o,as:vP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function Gle(t,e){var n,r,i,s;for(const o of e){const u=o.data;if(t.name&&o.hasName()&&t.name!==o.dataName)continue;const a=(n=t.format)===null||n===void 0?void 0:n.mesh,l=(r=u.format)===null||r===void 0?void 0:r.feature;if(a&&l)continue;const c=(i=t.format)===null||i===void 0?void 0:i.feature;if((c||l)&&c!==l)continue;const f=(s=u.format)===null||s===void 0?void 0:s.mesh;if(!((a||f)&&a!==f)){if(O3(t)&&O3(u)){if(Gl(t.values,u.values))return o}else if(q2(t)&&q2(u)){if(t.url===u.url)return o}else if(pae(t)&&t.name===o.dataName)return o}}return null}function trt(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Ld({values:[]});return e.push(r),r}const n=Gle(t.data,e);if(n)return Qc(t.data)||(n.data.format=cYe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Ld(t.data);return e.push(r),r}}else return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function nrt(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(IZe(o))a=t=new V2(t,o),u="derived";else if(k7(o)){const l=Utt(o);a=t=(r=li.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new W2(t,e,o.filter)}else if(uae(o))a=t=ja.makeFromTransform(t,o,e),u="number";else if(BZe(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new li(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=Ma.makeFromTransform(t,o);else if(kZe(o))a=t=mu.makeFromTransform(t,o),u="number",Y7(e)&&(t=new Yc(t));else if(oae(o))a=t=P3.make(t,e,o,s++),u="derived";else if(FZe(o))a=t=new J2(t,o),u="number";else if(wZe(o))a=t=new $d(t,o),u="number";else if(PZe(o))a=t=u0.makeFromTransform(t,o),u="derived";else if(MZe(o))a=t=new oD(t,o),u="derived";else if(LZe(o))a=t=new sD(t,o),u="derived";else if(bZe(o))a=t=new cD(t,o),u="derived";else if(DZe(o))t=new fD(t,o);else if($Ze(o))a=t=Bd.makeFromTransform(t,o),u="derived";else if(TZe(o))a=t=new iD(t,o),u="derived";else if(RZe(o))a=t=new aD(t,o),u="derived";else if(OZe(o))a=t=new lD(t,o),u="derived";else if(NZe(o))a=t=new uD(t,o),u="derived";else{Te(fXe(o));continue}if(a&&u!==void 0)for(const l of(i=a.producedFields())!==null&&i!==void 0?i:[])n.set(l,u,!1)}return t}function dD(t){var e,n,r,i,s,o,u,a,l,c;let f=trt(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(Qc(p)||q2(p)||O3(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new KZe;Qc(p)?(gae(p)?f=new I3(f,p.sequence):j7(p)&&(f=new L3(f,p.graticule)),g.parseNothing=!0):((e=p==null?void 0:p.format)===null||e===void 0?void 0:e.parse)===null&&(g.parseNothing=!0),f=(n=li.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new Yc(f);const y=t.parent&&Z2(t.parent);(zn(t)||Eu(t))&&y&&(f=(r=ja.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=nrt(f,t,g));const E=Htt(t),A=qtt(t);f=(i=li.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,zn(t)&&(f=eg.parseAll(f,t),f=k3.parseAll(f,t)),(zn(t)||Eu(t))&&(y||(f=(s=ja.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=Ma.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=V2.parseAllForSortIndex(f,t));const S=t.getDataName(Jt.Raw),v=new qi(f,S,Jt.Raw,h);if(x[S]=v,f=v,zn(t)){const O=mu.makeFromEncoding(f,t);O&&(f=O,Y7(t)&&(f=new Yc(f))),f=(u=Bd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=u0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}zn(t)&&(f=(l=B3.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Jt.Main),C=new qi(f,_,Jt.Main,h);x[_]=C,f=C,zn(t)&&ket(t,C);let b=null;if(Eu(t)){const O=t.getName("facet");f=(c=ert(f,t.facet))!==null&&c!==void 0?c:f,b=new K2(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:v,main:C,facetRoot:b,ancestorParse:g})}class rrt extends AP{constructor(e,n,r,i){var s,o,u,a;super(e,"concat",n,r,i,e.resolve),(((o=(s=e.resolve)===null||s===void 0?void 0:s.axis)===null||o===void 0?void 0:o.x)==="shared"||((a=(u=e.resolve)===null||u===void 0?void 0:u.axis)===null||a===void 0?void 0:a.y)==="shared")&&Te(aXe),this.children=this.getChildren(e).map((l,c)=>RP(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=dD(this);for(const e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}getChildren(e){return UN(e)?e.vconcat:F7(e)?e.hconcat:e.concat}parseLayoutSize(){Knt(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){const e=rP(this);for(const n of this.children)e.push(...n.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleMarks(){return this.children.map(e=>{const n=e.assembleTitle(),r=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},n?{title:n}:{}),r?{style:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup())})}assembleGroupStyle(){}assembleDefaultLayout(){const e=this.layout.columns;return Object.assign(Object.assign({},e!=null?{columns:e}:{}),{bounds:"full",align:"each"})}}function irt(t){return t===!1||t===null}const srt=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},yue),{labelExpr:1,encode:1}),Wle=be(srt);class _P extends o0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new _P(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!irt(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function ort(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=sr(i[e]))!==null&&r!==void 0?r:sr(i[e0(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Nd(l)?Object.assign({text:a7({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function urt(t){return Da.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[hrt(n,t)]),e),{})}const art={bottom:"top",top:"bottom",left:"right",right:"left"};function lrt(t){var e;const{axes:n,resolve:r}=t.component,i={top:0,bottom:0,right:0,left:0};for(const s of t.children){s.parseAxesAndHeaders();for(const o of be(s.component.axes))r.axis[o]=iP(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=crt(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of Da){for(const o of t.children)if(o.component.axes[s]){if(r.axis[s]==="independent"){n[s]=((e=n[s])!==null&&e!==void 0?e:[]).concat(o.component.axes[s]);for(const u of o.component.axes[s]){const{value:a,explicit:l}=u.getWithExplicit("orient");if(!Ye(a)){if(i[a]>0&&!l){const c=art[a];i[a]>i[c]&&u.set("orient",c,!1)}i[a]++}}}delete o.component.axes[s]}if(r.axis[s]==="independent"&&n[s]&&n[s].length>1)for(const o of n[s])o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function crt(t,e){if(t){if(t.length!==e.length)return;const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=e[r];if(!!i!=!!s)return;if(i&&s){const o=i.getWithExplicit("orient"),u=s.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;t[r]=frt(i,s)}}}else return e.map(n=>n.clone());return t}function frt(t,e){for(const n of Wle){const r=zc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return coe(i,s);case"gridScale":return{explicit:i.explicit,value:ir(i.value,s.value)}}return QN(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function xrt(t,e,n,r,i){if(e==="disable")return n!==void 0;switch(n=n||{},e){case"titleAngle":case"labelAngle":return t===(Ye(n.labelAngle)?n.labelAngle:aN(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===Kae(r,i))return!0}return t===n[e]}const drt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function hrt(t,e){var n,r,i;let s=e.axis(t);const o=new _P,u=sr(e.encoding[t]),{mark:a,config:l}=e,c=(s==null?void 0:s.orient)||((n=l[t==="x"?"axisX":"axisY"])===null||n===void 0?void 0:n.orient)||((r=l.axis)===null||r===void 0?void 0:r.orient)||Wet(t),f=e.getScaleComponent(t).get("type"),x=jet(t,f,c,e.config),h=s!==void 0?!s:J7("disable",l.style,s==null?void 0:s.style,x).configValue;if(o.set("disable",h,s!==void 0),h)return o;s=s||{};const p=zet(u,s,t,l.style,x),m={fieldOrDatumDef:u,axis:s,channel:t,model:e,scaleType:f,orient:c,labelAngle:p,mark:a,config:l};for(const E of Wle){const A=E in Vae?Vae[E](m):Eue(E)?s[E]:void 0,S=A!==void 0,v=xrt(A,E,s,e,t);if(S&&v)o.set(E,A,v);else{const{configValue:_=void 0,configFrom:C=void 0}=Eue(E)&&E!=="values"?J7(E,l.style,s.style,x):{},b=_!==void 0;S&&!b?o.set(E,A,v):(C!=="vgAxisConfig"||drt.has(E)&&b||T3(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=mue.reduce((E,A)=>{var S;if(!o.hasAxisPart(A))return E;const v=ile((S=g[A])!==null&&S!==void 0?S:{},e),_=A==="labels"?ort(e,t,v):v;return _!==void 0&&!Wt(_)&&(E[A]={update:_}),E},{});return Wt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function prt({encoding:t,size:e}){for(const n of Da){const r=gs(n);ka(e[r])&&$a(t[n])&&(delete e[r],Te(voe(r)))}return e}function grt(t,e,n){const r=ms(t),i=kt("orient",r,n);if(r.orient=Art(r.type,e,i),i!==void 0&&i!==r.orient&&Te(NXe(r.orient,i)),r.type==="bar"&&r.orient){const u=kt("cornerRadiusEnd",r,n);if(u!==void 0){const a=r.orient==="horizontal"&&e.x2||r.orient==="vertical"&&e.y2?["cornerRadius"]:QKe[r.orient];for(const l of a)r[l]=u;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}return kt("opacity",r,n)===void 0&&(r.opacity=yrt(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=mrt(r,e,n)),r}function mrt(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function yrt(t,e){if(Tt([_N,t7,n7,r7],t)&&!E7(e))return .7}function Ert(t,e,{graticule:n}){if(n)return!1;const r=bd("filled",t,e),i=t.type;return ir(r,i!==_N&&i!==vN&&i!==CN)}function Art(t,e,n){switch(t){case _N:case n7:case r7:case Hoe:case kKe:case BKe:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case SN:if(Le(r)&&(Mi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(Mi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===Rd&&!Kt(r.bin)||d7(r)))return"horizontal";if(!o&&(Le(i)&&i.type===Rd&&!Kt(i.bin)||d7(i)))return"vertical"}case CN:if(s&&!(Le(r)&&Mi(r.bin))&&o&&!(Le(i)&&Mi(i.bin)))return;case AN:if(o)return Le(i)&&Mi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&Mi(r.bin)?"vertical":"horizontal";if(t===CN){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case vN:case t7:{const u=$a(r),a=$a(i);if(n)return n;if(u&&!a)return t!=="tick"?"horizontal":"vertical";if(!u&&a)return t!=="tick"?"vertical":"horizontal";if(u&&a){const l=r,c=i,f=l.type===I2,x=c.type===I2;return f&&!x?t!=="tick"?"vertical":"horizontal":!f&&x?t!=="tick"?"horizontal":"vertical":!l.aggregate&&c.aggregate?t!=="tick"?"vertical":"horizontal":l.aggregate&&!c.aggregate&&t!=="tick"?"horizontal":"vertical"}else return}}return"vertical"}const Srt={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Wc(t,"radius")),Wc(t,"theta"))},vrt={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),WN("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),WN("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),W7(t))},_rt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y"))},Crt={vgMark:"shape",encodeEntry:t=>Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{const{encoding:e}=t,n=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},n&&Le(n)&&n.type===$2?{field:$e(n,{expr:"datum"})}:{})]}},brt={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y")),Q7(t,"url"))},Trt={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t,{vgChannel:"strokeWidth"})),W7(t))},Rrt={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),W7(t))};function CP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),br("angle",t)),Ort(t,n,e))}function Ort(t,e,n){return n?{shape:{value:n}}:br("shape",t)}const Nrt={vgMark:"symbol",encodeEntry:t=>CP(t)},Drt={vgMark:"symbol",encodeEntry:t=>CP(t,"circle")},Frt={vgMark:"symbol",encodeEntry:t=>CP(t,"square")},wrt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y"))},Lrt={vgMark:"rule",encodeEntry:t=>{const{markDef:e}=t,n=e.orient;return!t.encoding.x&&!t.encoding.y&&!t.encoding.latitude&&!t.encoding.longitude?{}:Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),WN("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),WN("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),br("size",t,{vgChannel:"strokeWidth"}))}},Irt={vgMark:"text",encodeEntry:t=>{const{config:e,encoding:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Q7(t)),br("size",t,{vgChannel:"fontSize"})),br("angle",t)),Nae("align",$rt(t.markDef,n,e))),Nae("baseline",Brt(t.markDef,n,e))),ai("radius",t,{defaultPos:null})),ai("theta",t,{defaultPos:null}))}};function $rt(t,e,n){if(kt("align",t,n)===void 0)return"center"}function Brt(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const krt={vgMark:"rect",encodeEntry:t=>{const{config:e,markDef:n}=t,r=n.orient,i=r==="horizontal"?"width":"height",s=r==="horizontal"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid",vgChannel:"xc"})),ai("y",t,{defaultPos:"mid",vgChannel:"yc"})),br("size",t,{defaultValue:Prt(t),vgChannel:i})),{[s]:on(kt("thickness",n,e))})}};function Prt(t){var e;const{config:n,markDef:r}=t,{orient:i}=r,s=i==="horizontal"?"width":"height",o=t.getScaleComponent(i==="horizontal"?"x":"y"),u=(e=kt("size",r,n,{vgChannel:s}))!==null&&e!==void 0?e:n.tick.bandSize;if(u!==void 0)return u;{const a=o?o.get("range"):void 0;return a&&jc(a)&&nn(a.step)?a.step*3/4:qN(n.view,s)*3/4}}const hD={arc:Srt,area:vrt,bar:_rt,circle:Drt,geoshape:Crt,image:brt,line:Trt,point:Nrt,rect:wrt,rule:Lrt,square:Frt,text:Irt,tick:krt,trail:Rrt};function Mrt(t){if(Tt([vN,AN,PKe],t.mark)){const e=_ue(t.mark,t.encoding);if(e.length>0)return jrt(t,e)}else if(t.mark===SN){const e=L8.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return Urt(t)}return bP(t)}const Vle="faceted_path_";function jrt(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:Vle+t.requestDataName(Jt.Main),data:t.requestDataName(Jt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:bP(t,{fromPrefix:Vle})}]}const Yle="stack_group_";function Urt(t){var e;const[n]=bP(t,{fromPrefix:Yle}),r=t.scaleName(t.stack.fieldChannel),i=(c={})=>t.vgField(t.stack.fieldChannel,c),s=(c,f)=>{const x=[i({prefix:"min",suffix:"start",expr:f}),i({prefix:"max",suffix:"start",expr:f}),i({prefix:"min",suffix:"end",expr:f}),i({prefix:"max",suffix:"end",expr:f})];return`${c}(${x.map(h=>`scale('${r}',${h})`).join(",")})`};let o,u;t.stack.fieldChannel==="x"?(o=Object.assign(Object.assign({},d3(n.encode.update,["y","yc","y2","height",...L8])),{x:{signal:s("min","datum")},x2:{signal:s("max","datum")},clip:{value:!0}}),u={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},n.encode.update=Object.assign(Object.assign({},Co(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},d3(n.encode.update,["x","xc","x2","width"])),{y:{signal:s("min","datum")},y2:{signal:s("max","datum")},clip:{value:!0}}),u={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},n.encode.update=Object.assign(Object.assign({},Co(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of L8){const f=bd(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=on(f)),f&&(n.encode.update[c]={value:0})}const a=[];if(((e=t.stack.groupbyChannels)===null||e===void 0?void 0:e.length)>0)for(const c of t.stack.groupbyChannels){const f=t.fieldDef(c),x=$e(f);x&&a.push(x),(f!=null&&f.bin||f!=null&&f.timeUnit)&&a.push($e(f,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,f)=>{if(n.encode.update[f])return Object.assign(Object.assign({},c),{[f]:n.encode.update[f]});{const x=bd(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:on(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Jt.Main),name:Yle+t.requestDataName(Jt.Main),groupby:a,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:u},marks:[n]}]}]}function qrt(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!_e(u)&&gu(u)&&Ise(u.value)||!u&&Ise(kt("order",s,o)))){if((_e(u)||Le(u))&&!r)return uoe(u,{expr:"datum"});if(Uc(i)){const a=s.orient==="horizontal"?"y":"x",l=n[a];if(Le(l)){const c=l.sort;if(_e(c))return{field:$e(l,{prefix:a,suffix:"sort_index",expr:"datum"})};if(La(c))return{field:$e({aggregate:E7(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(rue(c)){const f=t.fieldDef(c.encoding);return{field:$e(f,{expr:"datum"}),order:c.order}}else return c===null?void 0:{field:$e(l,{binSuffix:!((e=t.stack)===null||e===void 0)&&e.impute?"mid":void 0,expr:"datum"})}}return}}}function bP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=ir(r.clip,Hrt(t),zrt(t)),u=soe(r),a=i.key,l=qrt(t),c=Qrt(t),f=kt("aria",r,s),x=hD[n].postEncodingTransform?hD[n].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:hD[n].vgMark},o?{clip:!0}:{}),u?{style:u}:{}),a?{key:a.field}:{}),l?{sort:l}:{}),c||{}),f===!1?{aria:f}:{}),{from:{data:e.fromPrefix+t.requestDataName(Jt.Main)},encode:{update:hD[n].encodeEntry(t)}}),x?{transform:x}:{})]}function Hrt(t){const e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return e!=null&&e.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function zrt(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function Qrt(t){if(!t.component.selection)return null;const e=be(t.component.selection).length;let n=e,r=t.parent;for(;r&&n===0;)n=be(r.component.selection).length,r=r.parent;return n?{interactive:e>0||!!t.encoding.tooltip}:null}class Xle extends qle{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,Hue(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=wa(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=Ert(u,s,{graticule:e.data&&j7(e.data)}));const l=this.encoding=SJe(e.encoding||{},a,u.filled,s);this.markDef=grt(u,l,s),this.size=prt({encoding:l,size:Hue(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=Kue(a,l),this.specifiedScales=this.initScales(a,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=((o=e.params)!==null&&o!==void 0?o:[]).filter(c=>N7(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===zoe,r=e&&vYe.some(i=>it(e[i]));return n||r}scaleDomain(e){const n=this.specifiedScales[e];return n?n.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,n){return pN.reduce((r,i)=>{var s;const o=sr(n[i]);return o&&(r[i]=this.initScale((s=o.scale)!==null&&s!==void 0?s:{})),r},{})}initScale(e){const{domain:n,range:r}=e,i=ms(e);return _e(n)&&(i.domain=n.map(Hs)),_e(r)&&(i.range=r.map(Hs)),i}initAxes(e){return Da.reduce((n,r)=>{const i=e[r];if(it(i)||r===yn&&it(e.x2)||r===_r&&it(e.y2)){const s=it(i)?i.axis:void 0;n[r]=s&&this.initAxis(Object.assign({},s))}return n},{})}initAxis(e){const n=be(e),r={};for(const i of n){const s=e[i];r[i]=T3(s)?noe(s):Hs(s)}return r}initLegends(e){return wYe.reduce((n,r)=>{const i=sr(e[r]);if(i&&IYe(r)){const s=i.legend;n[r]=s&&ms(s)}return n},{})}parseData(){this.component.data=dD(this)}parseLayoutSize(){Jnt(this)}parseSelections(){this.component.selection=Bet(this,this.selection)}parseMarkGroup(){this.component.mark=Mrt(this)}parseAxesAndHeaders(){this.component.axes=urt(this)}assembleSelectionTopLevelSignals(e){return tet(this,e)}assembleSignals(){return[...Gae(this),...ZZe(this,[])]}assembleSelectionData(e){return net(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return rP(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!Z2(this.parent))&&(n=yae(this,n)),n.map(this.correctDataNames)}assembleGroupStyle(){const{style:e}=this.view||{};if(e!==void 0)return e;if(this.encoding.x||this.encoding.y)return"cell"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Fd(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ba(n)}typedFieldDef(e){const n=this.fieldDef(e);return Ro(n)?n:null}}class TP extends AP{constructor(e,n,r,i,s){super(e,"layer",n,r,s,e.resolve,e.view);const o=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});this.children=e.layer.map((u,a)=>{if(zN(u))return new TP(u,this,this.getName(`layer_${a}`),o,s);if(i0(u))return new Xle(u,this,this.getName(`layer_${a}`),o,s);throw new Error($8(u))})}parseData(){this.component.data=dD(this);for(const e of this.children)e.parseData()}parseLayoutSize(){Xnt(this)}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){lrt(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),Gae(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),rP(this))}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleGroupStyle(){const e=new Set;for(const r of this.children)for(const i of Pe(r.assembleGroupStyle()))e.add(i);const n=Array.from(e);return n.length>1?n:n.length===1?n[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const n of this.children)if(e=n.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return ret(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),ple(this))}}function RP(t,e,n,r,i){if(ON(t))return new M3(t,e,n,i);if(zN(t))return new TP(t,e,n,r,i);if(i0(t))return new Xle(t,e,n,r,i);if(QJe(t))return new rrt(t,e,n,i);throw new Error($8(t))}var Grt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Wrt(t,e={}){e.logger&&eKe(e.logger),e.fieldTitle&&due(e.fieldTitle);try{const n=Yue(h5(e.config,t.config)),r=qZe(t,n),i=RP(r,null,"",void 0,n);return i.parse(),snt(i.component.data,i),{spec:Yrt(i,Vrt(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&tKe(),e.fieldTitle&&xJe()}}function Vrt(t,e,n,r){const i=r.component.layoutSize.get("width"),s=r.component.layoutSize.get("height");if(e===void 0?(e={type:"pad"},r.hasAxisOrientSignalRef()&&(e.resize=!0)):je(e)&&(e={type:e}),i&&s&&VZe(e.type)){if(i==="step"&&s==="step")Te(doe()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(doe(hN(o)));const u=o==="width"?"height":"width";e.type=YZe(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),dae(n,!1)),dae(t,!0))}function Yrt(t,e,n={},r){const i=t.config?iZe(t.config):void 0,s=[].concat(t.assembleSelectionData([]),Gnt(t.component.data,n)),o=t.assembleProjections(),u=t.assembleTitle(),a=t.assembleGroupStyle(),l=t.assembleGroupEncodeEntry(!0);let c=t.assembleLayoutSignals();c=c.filter(h=>(h.name==="width"||h.name==="height")&&h.value!==void 0?(e[h.name]=+h.value,!1):!0);const{params:f}=e,x=Grt(e,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),x),u?{title:u}:{}),a?{style:a}:{}),l?{encode:{update:l}}:{}),{data:s}),o.length>0?{projections:o}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([]),...Uue(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var Xrt=wo("<div>");function Krt(t){let e,n=null;return bD(()=>{n&&n.finalize();const r=t.type==="vega-lite"?Wrt(t.spec).spec:t.spec;n=new fie(IVe(r)).initialize(e).renderer("svg").hover(),n.run()}),bD(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=Xrt(),i=e;return typeof i=="function"?F0e(i,r):e=r,r})()}function Jrt(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,Qn(Krt,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}const Zrt=32,eit=384,Kle=12,tit=28;function nit(t){const e={};for(const[n,r]of Object.entries(t.fields)){const i=r.field,s={metadata:r,width:i.isExplore()?0:rit(i,t),height:null},{tag:o}=i.tagParse();if(hy(o,"bar","bar_chart")&&i.isExploreField())s.width=r.vegaChartProps.totalWidth,s.height=r.vegaChartProps.totalHeight;else if(hy(o,"list","list_detail")&&i.isExploreField())s.width=320;else if(o.has("image")){const l=o.text("width"),c=o.text("height");l!=null&&l.endsWith("px")&&(s.width=parseInt(l)),c!=null&&c.endsWith("px")&&(s.height=parseInt(c))}else!i.isExplore()&&i.isAtomicField()&&(s.height=tit);const u=o.numeric("width"),a=o.numeric("height");u&&(s.width=u),a&&(s.height=a),e[n]=s}return e}function rit(t,e){const n=bx(t),r=e.fields[n];let i=0;if(t.isAtomicField()){const s="12px Inter, sans-serif",o=py(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(py(r.maxString,s),o)+Kle;else if(t.isAtomicField()&&t.isNumber()){const u=r.max===null?"∅":wse(t,r.max);i=Math.max(py(u,s),o)+Kle}else i=130;i=bFe(Zrt,eit,i)}return i}const Jle=kP(),j3=()=>PP(Jle);var iit=wo("<div class=cell-wrapper><div class=cell-gutter></div><div class=cell-content></div><div class=cell-gutter>"),sit=wo("<th class=column-cell>"),oit=wo("<td class=column-cell>"),uit=wo("<div class=sticky-header><div class=sticky-header-content>"),ait=wo("<div class=malloy-table><table><thead><tr></tr></thead><tbody>"),lit=wo("<tr>");const Zle=t=>{const e=()=>{const n=j3().layout,r=n[bx(t.field)].width,i=n[bx(t.field)].height;let s="";return t.isHeader||typeof r<"u"&&(s+=`width: ${r}px; min-width: ${r}px; max-width: ${r}px;`,typeof i=="number"&&(s+=`height: ${i}px;`)),s};return(()=>{var n=iit(),r=n.firstChild,i=r.nextSibling,s=i.nextSibling;return Hi(i,()=>t.value),l0(o=>{var u=!!t.hideStartGutter,a=!!t.isHeader,l=e(),c=!!t.hideEndGutter;return u!==o.e&&r.classList.toggle("hide-gutter-border",o.e=u),a!==o.t&&i.classList.toggle("header",o.t=a),o.a=XP(i,l,o.a),c!==o.o&&s.classList.toggle("hide-gutter-border",o.o=c),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()},cit=t=>{const e=d5(t.field),n=d5(t.field.parentExplore),r=!t.field.parentExplore.isExploreField(),i=e&&(n||r),s=x5(t.field),o=x5(t.field.parentExplore),u=s&&(o||r);return(()=>{var a=sit();return Hi(a,Qn(Zle,{get field(){return t.field},get value(){return t.field.name},hideStartGutter:i,hideEndGutter:u,isHeader:!0})),l0(()=>a.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),a})()},fit=t=>{const e=j3();let n="",r="";return{renderValue:n,renderAs:r}=pD({field:t.field,dataColumn:t.row.cell(t.field),resultMetadata:Ese(),tag:t.field.tagParse().tag,customProps:{table:{pinnedHeader:e.pinnedHeader,rowLimit:e.pinnedHeader?1:1/0}}}),e.pinnedHeader&&r!=="table"&&(n=""),(()=>{var i=oit();return Hi(i,Qn(N0e,{get children(){return[Qn(YP,{when:r==="table",children:n}),Qn(YP,{when:!0,get children(){return Qn(Zle,{get field(){return t.field},value:n,get hideStartGutter(){return d5(t.field)},get hideEndGutter(){return x5(t.field)}})}})]}})),l0(()=>i.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),i})()},xit=t=>{const e=ND({rowLimit:1/0,pinnedHeader:!1},t),n=j3(),[r,i]=CD(!1),s=u=>{const a=u.target;i(a.scrollTop>0)},o=Ys(()=>{const u=[];let a=0;for(const l of e.data){if(a>=e.rowLimit)break;u.push(l),a++}return u});return(()=>{var u=ait(),a=u.firstChild,l=a.firstChild,c=l.firstChild,f=l.nextSibling;return u.addEventListener("scroll",s),Hi(u,Qn(VP,{get when(){return n.root},get children(){var x=uit(),h=x.firstChild;return Hi(h,Qn(e0e,{get data(){return e.data},rowLimit:1,pinnedHeader:!0})),x}}),a),Hi(c,()=>e.data.field.allFields.map(x=>Qn(cit,{field:x}))),Hi(f,Qn(WP,{get each(){return o()},children:x=>(()=>{var h=lit();return Hi(h,()=>e.data.field.allFields.map(p=>Qn(fit,{field:p,row:x}))),h})()})),l0(x=>{var h=!!n.root,p=!!n.pinnedHeader,m=!!r();return h!==x.e&&u.classList.toggle("root",x.e=h),p!==x.t&&u.classList.toggle("pinned-header",x.t=p),m!==x.a&&u.classList.toggle("scrolled",x.a=m),x},{e:void 0,t:void 0,a:void 0}),u})()},e0e=t=>{const e=Ese(),n=!!j3(),r=Ys(()=>{if(n){const i=j3();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:nit(e)}});return Qn(Jle.Provider,{get value(){return r()},get children(){return Qn(xit,t)}})};var dit=wo("<div style=text-wrap:wrap;>"),hit=wo("<span>");function pit(t){if(t.dataColumn.isNull())return"∅";const e=t.tag.tag("list"),n=t.tag.tag("list_detail");if(!e&&!n)throw new Error("Missing tag for List renderer");if(!t.field.isExplore())throw new Error("List renderer: Field must be ExploreField");if(!t.dataColumn.isArray())throw new Error("List renderer: DataColumn must be DataArray");const r=t.field.allFields.filter(u=>{const{tag:a}=u.tagParse();return!a.has("hidden")})[0],i=!!n,s=t.field.allFields.filter(u=>{const{tag:a}=u.tagParse();return!a.has("hidden")})[1],o=[];for(const u of t.dataColumn)o.push(u);return(()=>{var u=dit();return Hi(u,Qn(WP,{each:o,children:(a,l)=>(()=>{var c=hit();return Hi(c,()=>pD({field:r,dataColumn:a.cell(r),resultMetadata:t.resultMetadata,tag:r.tagParse().tag}).renderValue,null),Hi(c,()=>i&&s&&"("+pD({field:s,dataColumn:a.cell(s),resultMetadata:t.resultMetadata,tag:s.tagParse().tag}).renderValue+")",null),Hi(c,()=>l()<o.length-1&&", ",null),c})()})),u})()}var git=wo("<img>");function mit(t){const e=t.tag.tag("image");if(!e)throw new Error("Missing tag for Image renderer");if(!t.field.isAtomicField())throw new Error("Image renderer: Field must be AtomicField");if(!t.dataColumn.isString())throw new Error("Image renderer: DataColumn must be DataString");const n=e.text("width"),r=e.text("height"),i={};n&&(i.width=n),r&&(i.height=r);let s;const o=e.tag("alt");o&&(s=bse({tag:o,data:t.dataColumn})??o.text());let u;return t.dataColumn.isNull()||(u=t.dataColumn.value),(()=>{var a=git();return XP(a,i),nA(a,"src",u),nA(a,"alt",s),a})()}function pD(t){const{field:e,dataColumn:n,resultMetadata:r,tag:i,customProps:s={}}=t,o=TFe(e,i);let u="";const a=s[o]||{};switch(o){case"cell":{const l=n.value;QW(e,l)?u=wse(e,l):l===null?u="∅":GW(e,l)&&(u=l);break}case"link":{u=rYe(e,n);break}case"list":{u=pit(t);break}case"image":{u=mit(t);break}case"chart":{u=Qn(Jrt,ND({field:e,get data(){return r.getData(n)},metadata:r},a));break}case"table":{u=Qn(e0e,ND({data:n},a));break}default:try{u=String(n.value)}catch{console.warn("Couldnt get value for ",e,n)}}return{renderAs:o,renderValue:u}}function yit(t,{element:e}){const n=Ys(()=>t.result?t.result:t.queryResult&&t.modelDef?new JP.Result(t.queryResult,t.modelDef):null);return Qn(VP,{get when(){return n()},get children(){return Qn(Eit,{get result(){return n()},element:e})}})}function Eit(t){const e=Ys(()=>MVe(t.result)),n=()=>{const i=t.result.modelTag,s=t.result.tagParse().tag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};bD(()=>{if(t.element){const i=Ait(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>pD({field:t.result.resultExplore,dataColumn:t.result.data,resultMetadata:e(),tag:n().resultTag});return Qn(yse.Provider,{get value(){return e()},get children(){return r().renderValue}})}function No(t,...e){let n;for(const r of e)if(n=r==null?void 0:r.text(t),typeof n<"u")break;return n??`var(--malloy-theme--${t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()})`}function Ait(t,e){const n={},r=No("tableRowHeight",e,t),i=No("tableBodyColor",e,t),s=No("tableFontSize",e,t),o=No("tableHeaderColor",e,t),u=No("tableHeaderWeight",e,t),a=No("tableBodyWeight",e,t),l=No("tableBorder",e,t),c=No("tableBackground",e,t),f=No("tableGutterSize",e,t),x=No("tablePinnedBackground",e,t),h=No("tablePinnedBorder",e,t),p=No("fontFamily",e,t);return n["--malloy-render--table-row-height"]=r,n["--malloy-render--table-body-color"]=i,n["--malloy-render--table-font-size"]=s,n["--malloy-render--font-family"]=p,n["--malloy-render--table-header-color"]=o,n["--malloy-render--table-header-weight"]=u,n["--malloy-render--table-body-weight"]=a,n["--malloy-render--table-border"]=l,n["--malloy-render--table-background"]=c,n["--malloy-render--table-gutter-size"]=f,n["--malloy-render--table-pinned-background"]=x,n["--malloy-render--table-pinned-border"]=h,n}const Sit=`:host {
|
|
1338
|
+
`)}function lie(t){return"["+t.map(cie).join(", ")+"]"}function cie(t){return _e(t)?"[…]":Qe(t)&&!Ox(t)?"{…}":t}function fie(t,e){const n=this;if(e=e||{},Py.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),e.logLevel!=null&&n.logLevel(e.logLevel),e.locale||t.locale){const s=ct({},t.locale,e.locale);n.locale(vY(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||nd.Canvas,n._scenegraph=new EZ;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||FQe,n._redraw=!0,n._handler=new xR().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=Jze(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=vQe(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map(s=>({state:null,param:ct({},s)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=uie(n,n._width),n._viewHeight=aie(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,CQe(n),Uze(n),qze(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function IO(t,e){return Je(t._signals,e)?t._signals[e]:ve("Unrecognized signal name: "+Fe(e))}function xie(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function die(t,e,n,r){let i=xie(n,r);return i||(i=qk(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function hie(t,e,n){const r=xie(e,n);return r&&e._targets.remove(r),t}De(fie,Py,{async evaluate(t,e,n){if(await Py.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,Gze(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&aT(this,n),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;return e!==this._desc&&Vre(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const r=IO(this,t);return arguments.length===1?r.value:this.update(r,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",rie(t)):rie(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){return arguments.length?(gB(t)||ve("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&(Py.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(IO(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:bQe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=qk(this,e),r.raw=e),this._handler.on(t,r),this},removeEventListener(t,e){for(var n=this._handler.handlers(t),r=n.length,i,s;--r>=0;)if(s=n[r].type,i=n[r].handler,t===s&&(e===i||e===i.raw)){this._handler.off(s,i);break}return this},addResizeListener(t){const e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},addSignalListener(t,e){return die(this,t,IO(this,t),e)},removeSignalListener(t,e){return hie(this,IO(this,t),e)},addDataListener(t,e){return die(this,t,NO(this,t).values,e)},removeDataListener(t,e){return hie(this,NO(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=Uk(this,null);this._globalCursor=!!t,e&&Uk(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:DQe,events:eQe,finalize:nQe,hover:tQe,data:Hze,change:DO,insert:zze,remove:Qze,scale:_Qe,initialize:gQe,toImageURL:yQe,toCanvas:AQe,toSVG:SQe,getState:TQe,setState:NQe});const IQe="view",$O="[",BO="]",pie="{",gie="}",$Qe=":",mie=",",BQe="@",kQe=">",PQe=/[[\]{}]/,MQe={"*":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 yie,Eie;function hd(t,e,n){return yie=e||IQe,Eie=n||MQe,Aie(t.trim()).map(Gk)}function jQe(t){return Eie[t]}function i3(t,e,n,r,i){const s=t.length;let o=0,u;for(;e<s;++e){if(u=t[e],!o&&u===n)return e;i&&i.indexOf(u)>=0?--o:r&&r.indexOf(u)>=0&&++o}return e}function Aie(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=i3(t,i,mie,$O+pie,BO+gie),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function Gk(t){return t[0]==="["?UQe(t):qQe(t)}function UQe(t){const e=t.length;let n=1,r;if(n=i3(t,n,BO,$O,BO),n===e)throw"Empty between selector: "+t;if(r=Aie(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==kQe)throw"Expected '>' after between selector: "+t;r=r.map(Gk);const i=Gk(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function qQe(t){const e={source:yie},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===gie){if(u=t.lastIndexOf(pie),u>=0){try{r=HQe(t.substring(u+1,o-1))}catch{throw"Invalid throttle specification: "+t}t=t.slice(0,u).trim(),o=t.length}else throw"Unmatched right brace: "+t;u=0}if(!o)throw t;if(t[0]===BQe&&(i=++u),a=i3(t,u,$Qe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=i3(t,u,$O),u===o)n.push(t.substring(s,o).trim());else if(n.push(t.substring(s,u).trim()),l=[],s=++u,s===o)throw"Unmatched left bracket: "+t;for(;u<o;){if(u=i3(t,u,BO),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==$O)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||PQe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):jQe(n[0])?e.marktype=n[0]:e.source=n[0]):e.type=n[0],e.type.slice(-1)==="!"&&(e.consume=!0,e.type=e.type.slice(0,-1)),l!=null&&(e.filter=l),r[0]&&(e.throttle=r[0]),r[1]&&(e.debounce=r[1]),e}function HQe(t){const e=t.split(mie);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function zQe(t){return Qe(t)?t:{type:t||"pad"}}const s3=t=>+t||0,QQe=t=>({top:t,bottom:t,left:t,right:t});function GQe(t){return Qe(t)?t.signal?t:{top:s3(t.top),bottom:s3(t.bottom),left:s3(t.left),right:s3(t.right)}:QQe(s3(t))}const Sr=t=>Qe(t)&&!_e(t)?ct({},t):{value:t};function Sie(t,e,n,r){return n!=null?(Qe(n)&&!_e(n)||_e(n)&&n.length&&Qe(n[0])?t.update[e]=n:t[r||"enter"][e]={value:n},1):0}function Br(t,e,n){for(const r in e)Sie(t,r,e[r]);for(const r in n)Sie(t,r,n[r],"update")}function E2(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function A2(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const Wk="mark",Vk="frame",Yk="scope",WQe="axis",VQe="axis-domain",YQe="axis-grid",XQe="axis-label",KQe="axis-tick",JQe="axis-title",ZQe="legend",eGe="legend-band",tGe="legend-entry",nGe="legend-gradient",vie="legend-label",rGe="legend-symbol",iGe="legend-title",sGe="title",oGe="title-text",uGe="title-subtitle";function aGe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!A2(a,t)&&Xk(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===Vk?i.group:n===Wk?ct({},i.mark,i[e]):null;for(a in c)l=A2(a,t)||(a==="fill"||a==="stroke")&&(A2("fill",t)||A2("stroke",t)),l||Xk(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)A2(h,t)||Xk(s,h,x[h])}),t=ct({},t);for(a in s)c=s[a],c.signal?(u=u||{})[a]=c:o[a]=c;return t.enter=ct(o,t.enter),u&&(t.update=ct(u,t.update)),t}function Xk(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const _ie=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:Cie(t);function kO(t){if(t.gradient!=null)return cGe(t);let e=t.signal?`(${t.signal})`:t.color?lGe(t.color):t.field!=null?Cie(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=fGe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${MO(t.exponent)})`),t.mult!=null&&(e+=`*${MO(t.mult)}`),t.offset!=null&&(e+=`+${MO(t.offset)}`),t.round&&(e=`round(${e})`),e}const PO=(t,e,n,r)=>`(${t}(${[e,n,r].map(kO).join(",")})+'')`;function lGe(t){return t.c?PO("hcl",t.h,t.c,t.l):t.h||t.s?PO("hsl",t.h,t.s,t.l):t.l||t.a?PO("lab",t.l,t.a,t.b):t.r||t.g||t.b?PO("rgb",t.r,t.g,t.b):null}function cGe(t){const e=[t.start,t.stop,t.count].map(n=>n==null?null:Fe(n));for(;e.length&&_t(e)==null;)e.pop();return e.unshift(_ie(t.gradient)),`gradient(${e.join(",")})`}function MO(t){return Qe(t)?"("+kO(t)+")":t}function Cie(t){return bie(Qe(t)?t:{datum:t})}function bie(t){let e,n,r;if(t.signal)e="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),e="item";n-- >0;)e+=".mark.group";t.parent?(r=t.parent,e+=".datum"):r=t.group}else t.datum?(e="datum",r=t.datum):ve("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?El(r).map(Fe).join("]["):bie(r)),e+"["+r+"]"}function fGe(t,e){const n=_ie(t.scale);return t.range!=null?e=`lerp(_range(${n}), ${+t.range})`:(e!==void 0&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band==1?"":"*"+MO(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function xGe(t){let e="";return t.forEach(n=>{const r=kO(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function Tie(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=aGe(t,e,n,r,i.config);for(const u in t)o[u]=dGe(t[u],e,s,i);return s}function dGe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=pGe(hGe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function hGe(t){return _e(t)?xGe(t):kO(t)}function pGe(t,e,n,r){const i=_a(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const gGe="outer",mGe=["value","update","init","react","bind"];function Rie(t,e){ve(t+' for "outer" push: '+Fe(e))}function Oie(t,e){const n=t.name;if(t.push===gGe)e.signals[n]||Rie("No prior signal definition",n),mGe.forEach(r=>{t[r]!==void 0&&Rie("Invalid property ",r)});else{const r=e.addSignal(n,t.value);t.react===!1&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}function Kk(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function jO(t,e,n,r){return new Kk(t,e,n,r)}function UO(t,e){return jO("operator",t,e)}function Ke(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function o3(t,e){return e?{$field:t,$name:e}:{$field:t}}const Jk=o3("key");function Nie(t,e){return{$compare:t,$order:e}}function yGe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const EGe="ascending",AGe="descending";function SGe(t){return Qe(t)?(t.order===AGe?"-":"+")+qO(t.op,t.field):""}function qO(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const Zk="scope",e8="view";function nr(t){return t&&t.signal}function vGe(t){return t&&t.expr}function HO(t){if(nr(t))return!0;if(Qe(t)){for(const e in t)if(HO(t[e]))return!0}return!1}function uu(t,e){return t??e}function pd(t){return t&&t.signal||t}const Die="timer";function u3(t,e){return(t.merge?CGe:t.stream?bGe:t.type?TGe:ve("Invalid stream specification: "+Fe(t)))(t,e)}function _Ge(t){return t===Zk?e8:t||e8}function CGe(t,e){const n=t.merge.map(i=>u3(i,e)),r=t8({merge:n},t,e);return e.addStream(r).id}function bGe(t,e){const n=u3(t.stream,e),r=t8({stream:n},t,e);return e.addStream(r).id}function TGe(t,e){let n;t.type===Die?(n=e.event(Die,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(_Ge(t.source),t.type);const r=t8({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function t8(t,e,n){let r=e.between;return r&&(r.length!==2&&ve('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[u3(r[0],n),u3(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(RGe(e.marktype,e.markname,e.markrole)),e.source===Zk&&r.push("inScope(event.item)"),r.length&&(t.filter=_a("("+r.join(")&&(")+")",n).$expr),(r=e.throttle)!=null&&(t.throttle=+r),(r=e.debounce)!=null&&(t.debounce=+r),e.consume&&(t.consume=!0),t}function RGe(t,e,n){const r="event.item";return r+(t&&t!=="*"?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}const OGe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function NGe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||ve("Signal update missing events specification."),je(s)&&(s=hd(s,e.isSubscope()?Zk:e8)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[FGe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&ve("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?_a(o,e):o.expr!=null?_a(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:OGe,$params:{$value:e.signalRef(o.signal)}}:ve("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(DGe(a,e),i)))}function DGe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):u3(t,e)}}function FGe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function wGe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?ve("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=_a(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>NGe(i,e,n.id))}const jt=t=>(e,n,r)=>jO(t,n,e||void 0,r),Fie=jt("aggregate"),LGe=jt("axisticks"),wie=jt("bound"),au=jt("collect"),Lie=jt("compare"),IGe=jt("datajoin"),Iie=jt("encode"),$Ge=jt("expression"),BGe=jt("facet"),kGe=jt("field"),PGe=jt("key"),MGe=jt("legendentries"),jGe=jt("load"),UGe=jt("mark"),qGe=jt("multiextent"),HGe=jt("multivalues"),zGe=jt("overlap"),QGe=jt("params"),$ie=jt("prefacet"),GGe=jt("projection"),WGe=jt("proxy"),VGe=jt("relay"),Bie=jt("render"),YGe=jt("scale"),gd=jt("sieve"),XGe=jt("sortitems"),kie=jt("viewlayout"),KGe=jt("values");let JGe=0;const Pie={min:"min",max:"max",count:"sum"};function ZGe(t,e){const n=t.type||"linear";EJ(n)||ve("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function eWe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Mie(t.domain,t,e),t.range!=null&&(n.range=Uie(t,e,n)),t.interpolate!=null&&cWe(t.interpolate,n),t.nice!=null&&(n.nice=lWe(t.nice)),t.bins!=null&&(n.bins=aWe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=So(t[r],e))}function So(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):ve("Unsupported object: "+Fe(t)):t}function zO(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>So(n,e))}function QO(t){ve("Can not find data set: "+Fe(t))}function Mie(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&ve("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(_e(t)?tWe:t.fields?rWe:nWe)(t,e,n)}function tWe(t,e,n){return t.map(r=>So(r,n))}function nWe(t,e,n){const r=n.getData(t.data);return r||QO(t.data),Kp(e.type)?r.valuesRef(n,t.field,jie(t.sort,!1)):vJ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function rWe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:_e(o)||o.signal?iWe(o,n):o,s.push(o),s),[]);return(Kp(e.type)?sWe:vJ(e.type)?oWe:uWe)(t,n,i)}function iWe(t,e){const n="_:vega:_"+JGe++,r=au({});if(_e(t))r.value={$ingest:t};else if(t.signal){const i="setdata("+Fe(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,gd({})]),{data:n,field:"data"}}function sWe(t,e,n){const r=jie(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||QO(l.data),c.countsRef(e,l.field,r)}),u={groupby:Jk,pulse:o};r&&(i=r.op||"count",s=r.field?qO(i,r.field):"count",u.ops=[Pie[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Fie(u));const a=e.add(au({pulse:Ke(i)}));return s=e.add(KGe({field:Jk,sort:e.sortRef(r),pulse:Ke(a)})),Ke(s)}function jie(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?ve("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!Pie[t.op]&&ve("Multiple domain scales can not be sorted using "+t.op)),t}function oWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||QO(i.data),s.domainRef(e,i.field)});return Ke(e.add(HGe({values:r})))}function uWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||QO(i.data),s.extentRef(e,i.field)});return Ke(e.add(qGe({extents:r})))}function aWe(t,e){return t.signal||_e(t)?zO(t,e):e.objectProperty(t)}function lWe(t){return Qe(t)?{interval:So(t.interval),step:So(t.step)}:So(t)}function cWe(t,e){e.interpolate=So(t.type||t),t.gamma!=null&&(e.interpolateGamma=So(t.gamma))}function Uie(t,e,n){const r=e.config.range;let i=t.range;if(i.signal)return e.signalRef(i.signal);if(je(i)){if(r&&Je(r,i))return t=ct({},t,{range:r[i]}),Uie(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=Kp(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:ve("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=_e(i.scheme)?zO(i.scheme,e):So(i.scheme,e),i.extent&&(n.schemeExtent=zO(i.extent,e)),i.count&&(n.schemeCount=So(i.count,e));return}else if(i.step){n.rangeStep=So(i.step,e);return}else{if(Kp(t.type)&&!_e(i))return Mie(i,t,e);_e(i)||ve("Unsupported range type: "+Fe(i))}return i.map(s=>(_e(s)?zO:So)(s,e))}function fWe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=n8(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=n8(n[i],i,e));e.addProjection(t.name,r)}function n8(t,e,n){return _e(t)?t.map(r=>n8(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:ve("Unsupported parameter object: "+Fe(t)):t}const lu="top",S2="left",v2="right",Dc="bottom",qie="center",xWe="vertical",dWe="start",hWe="middle",pWe="end",r8="index",i8="label",gWe="offset",_2="perc",mWe="perc2",vo="value",a3="guide-label",s8="guide-title",yWe="group-title",EWe="group-subtitle",Hie="symbol",GO="gradient",o8="discrete",u8="size",a8=[u8,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],l3={name:1,style:1,interactive:1},Ct={value:0},_o={value:1},WO="group",zie="rect",l8="rule",AWe="symbol",md="text";function c3(t){return t.type=WO,t.interactive=t.interactive||!1,t}function ds(t,e){const n=(r,i)=>uu(t[r],uu(e[r],i));return n.isVertical=r=>xWe===uu(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>uu(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>uu(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>uu(t.columns,uu(e.columns,+n.isVertical(!0))),n}function Qie(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 SWe(t,e,n){const r=e.config.style[n];return r&&r[t]}function VO(t,e,n){return`item.anchor === '${dWe}' ? ${t} : item.anchor === '${pWe}' ? ${e} : ${n}`}const c8=VO(Fe(S2),Fe(v2),Fe(qie));function vWe(t){const e=t("tickBand");let n=t("tickOffset"),r,i;return e?e.signal?(r={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${e.signal}) === 'extent'`},Qe(n)||(n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`})):e==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=t("bandPosition"),i=t("tickExtra")),{extra:i,band:r,offset:n}}function Gie(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Gie(t.offset,e)}):{value:t,offset:e}:e:t}function qs(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=E2(t.encode,e,l3)):t.interactive=!1,t}function _We(t,e,n,r){const i=ds(t,n),s=i.isVertical(),o=i.gradientThickness(),u=i.gradientLength();let a,l,c,f,x;s?(l=[0,1],c=[0,0],f=o,x=u):(l=[0,0],c=[1,0],f=u,x=o);const h={enter:a={opacity:Ct,x:Ct,y:Ct,width:Sr(f),height:Sr(x)},update:ct({},a,{opacity:_o,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Br(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),qs({type:zie,role:nGe,encode:h},r)}function CWe(t,e,n,r,i){const s=ds(t,n),o=s.isVertical(),u=s.gradientThickness(),a=s.gradientLength();let l,c,f,x,h="";o?(l="y",f="y2",c="x",x="width",h="1-"):(l="x",f="x2",c="y",x="height");const p={opacity:Ct,fill:{scale:e,field:vo}};p[l]={signal:h+"datum."+_2,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+mWe,mult:a},p[x]=Sr(u);const m={enter:p,update:ct({},p,{opacity:_o}),exit:{opacity:Ct}};return Br(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),qs({type:zie,role:eGe,key:vo,from:i,encode:m},r)}const bWe=`datum.${_2}<=0?"${S2}":datum.${_2}>=1?"${v2}":"${qie}"`,TWe=`datum.${_2}<=0?"${Dc}":datum.${_2}>=1?"${lu}":"${hWe}"`;function Wie(t,e,n,r){const i=ds(t,e),s=i.isVertical(),o=Sr(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:_o,text:{field:i8}},exit:{opacity:Ct}};return Br(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:uu(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:TWe},f="y",x="x",h="1-"):(l.align=c.align={signal:bWe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+_2,mult:u},l[x]=c[x]=o,o.offset=uu(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+r8}:void 0,qs({type:md,role:vie,style:a3,key:vo,from:r,encode:p,overlap:a},n)}function RWe(t,e,n,r,i){const s=ds(t,e),o=n.entries,u=!!(o&&o.interactive),a=o?o.name:void 0,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},x=`(${i}) ? datum.${gWe} : datum.${u8}`,h=l?Sr(l):{field:u8},p=`datum.${r8}`,m=`max(1, ${i})`;let g,y,E,A,S;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:_o,x:y.x,y:y.y},exit:{opacity:Ct}};let v=null,_=null;t.fill||(v=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Br(g,{fill:s("symbolFillColor",v),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),a8.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:vo})});const C=qs({type:AWe,role:rGe,key:vo,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=Sr(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:_o,text:{field:i8},x:y.x,y:y.y},exit:{opacity:Ct}},Br(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 O=qs({type:md,role:vie,style:a3,key:vo,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?Sr(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:_o,row:{signal:null},column:{signal:null}}},s.isVertical(!0)?(A=`ceil(item.mark.items.length / ${m})`,E.row.signal=`${p}%${A}`,E.column.signal=`floor(${p} / ${A})`,S={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,S={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:r8}},c3({role:Yk,from:r,encode:E2(g,o,l3),marks:[C,O],name:a,interactive:u,sort:S})}function OWe(t,e){const n=ds(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const f8='item.orient === "left"',x8='item.orient === "right"',YO=`(${f8} || ${x8})`,NWe=`datum.vgrad && ${YO}`,DWe=VO('"top"','"bottom"','"middle"'),FWe=VO('"right"','"left"','"center"'),wWe=`datum.vgrad && ${x8} ? (${FWe}) : (${YO} && !(datum.vgrad && ${f8})) ? "left" : ${c8}`,LWe=`item._anchor || (${YO} ? "middle" : "start")`,IWe=`${NWe} ? (${f8} ? -90 : 90) : 0`,$We=`${YO} ? (datum.vgrad ? (${x8} ? "bottom" : "top") : ${DWe}) : "top"`;function BWe(t,e,n,r){const i=ds(t,e),s={enter:{opacity:Ct},update:{opacity:_o,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Br(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:LWe},angle:{signal:IWe},align:{signal:wWe},baseline:{signal:$We},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),qs({type:md,role:iGe,style:s8,from:r,encode:s},n)}function kWe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Vie(t.path)+")":t.sphere&&(n="geoShape("+Vie(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Vie(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Yie(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===WO?Yk:e||Wk}function PWe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Yie(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function MWe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function d8(t,e){const n=N5e(t.type);n||ve("Unrecognized transform type: "+Fe(t.type));const r=jO(n.type.toLowerCase(),null,Xie(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Xie(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=jWe(o,e,n)}return r}function jWe(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return UWe(t,e,n);if(i===void 0){t.required&&ve("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return qWe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!nr(i)?i.map(s=>Kie(t,s,n)):Kie(t,i,n)}function Kie(t,e,n){const r=t.type;if(nr(e))return Zie(r)?ve("Expression references can not be signals."):h8(r)?n.fieldRef(e):ese(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||h8(r);return i&&HWe(e)?n.exprRef(e.expr,e.as):i&&zWe(e)?o3(e.field,e.as):Zie(r)?_a(e,n):QWe(r)?Ke(n.getData(e).values):h8(r)?o3(e):ese(r)?n.compareRef(e):e}}function UWe(t,e,n){return je(e.from)||ve('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function qWe(t,e,n){const r=e[t.name];return t.array?(_e(r)||ve("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Jie(t,i,n))):Jie(t,r,n)}function Jie(t,e,n){const r=t.params.length;let i;for(let o=0;o<r;++o){i=t.params[o];for(const u in i.key)if(i.key[u]!==e[u]){i=null;break}if(i)break}i||ve("Unsupported parameter: "+Fe(e));const s=ct(Xie(i,e,n),i.key);return Ke(n.add(QGe(s)))}const HWe=t=>t&&t.expr,zWe=t=>t&&t.field,QWe=t=>t==="data",Zie=t=>t==="expr",h8=t=>t==="field",ese=t=>t==="compare";function GWe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||ve("Only group marks can be faceted."),r.field!=null?o=u=XO(r,n):(t.data?u=Ke(n.getData(t.data).aggregate):(s=d8(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=XO(r,n),o=u=Ke(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Ke(n.add(au(null,[{}]))),o||(o=XO(t,n)),{key:i,pulse:o,parent:u}}function XO(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Ke(e.getData(t.data).output)}function yd(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}yd.fromEntries=function(t,e){const n=e.length,r=e[n-1],i=e[n-2];let s=e[0],o=null,u=1;for(s&&s.type==="load"&&(s=e[1]),t.add(e[0]);u<n;++u)e[u].params.pulse=Ke(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new yd(t,s,i,r,o)};function tse(t){return je(t)?t:null}function nse(t,e,n){const r=qO(n.op,n.field);let i;if(e.ops){for(let s=0,o=e.as.length;s<o;++s)if(e.as[s]===r)return}else e.ops=["count"],e.fields=[null],e.as=["count"];n.op&&(e.ops.push((i=n.op.signal)?t.signalRef(i):n.op),e.fields.push(t.fieldRef(n.field)),e.as.push(r))}function f3(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=SGe(s);let l=tse(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:Jk,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Ke(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(jO(r,void 0,x)),o&&(e.index[i]=f),c=Ke(f),l!=null&&(u[l]=c)}return c}yd.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=tse(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&nse(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Ke(r.output)},n&&n.field&&nse(t,a,n),u=t.add(Fie(a)),o=t.add(au({pulse:Ke(u)})),o={agg:u,ref:Ke(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Ke(this.values)},extentRef(t,e){return f3(t,this,"extent","extent",e,!1)},domainRef(t,e){return f3(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return f3(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return f3(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return f3(t,this,"indata","tupleindex",e,!0,!0)}};function WWe(t,e,n){const r=t.from.facet,i=r.name,s=XO(r,e);let o;r.name||ve("Facet must have a name: "+Fe(r)),r.data||ve("Facet must reference a data set: "+Fe(r)),r.field?o=e.add($ie({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add(BGe({key:e.keyRef(r.groupby),group:Ke(e.proxy(n.parent)),pulse:s})):ve("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(au()),l=u.add(gd({pulse:Ke(a)}));u.addData(i,new yd(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function VWe(t,e,n){const r=e.add($ie({pulse:n.pulse})),i=e.fork();i.add(gd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function rse(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(UO()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=_a(l,e);a.update=c.$expr,a.params=c.$params}function KO(t,e){const n=Yie(t),r=t.type===WO,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===Yk||n===Vk,u,a,l,c,f,x,h;const p=n===Wk||o||i,m=GWe(t.from,r,e);a=e.add(IGe({key:m.key||(t.key?o3(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Ke(a);a=l=e.add(au({pulse:g})),a=e.add(UGe({markdef:PWe(t),interactive:MWe(t.interactive,e),clip:kWe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Ke(a)}));const y=Ke(a);a=c=e.add(Iie(Tie(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=d8(_,e),b=C.metadata;(b.generates||b.changes)&&ve("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Ke(a),e.add(a=C)}),t.sort&&(a=e.add(XGe({sort:e.compareRef(t.sort),pulse:Ke(a)})));const E=Ke(a);(i||o)&&(o=e.add(kie({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Ke(o));const A=e.add(wie({mark:y,pulse:x||E}));h=Ke(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?WWe(t,e,m):p?VWe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=YWe(s,h,e));const S=e.add(Bie({pulse:h})),v=e.add(gd({pulse:Ke(S)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new yd(e,l,S,v)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&ve("Marks only support modify triggers."),rse(_,e,f)}))}function YWe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:nr(s)?n.signalRef(s.signal):s,method:nr(r)?n.signalRef(r.signal):r,pulse:e};if(t.order&&(o.sort=n.compareRef({field:t.order})),i){const u=i.tolerance;o.boundTolerance=nr(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Ke(n.add(zGe(o)))}function XWe(t,e){const n=e.config.legend,r=t.encode||{},i=ds(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;a8.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||ve("Missing valid scale for legend.");const p=KWe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Ke(e.add(au(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Ke(e.add(MGe(x={type:p,scale:e.scaleRef(c),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return p===GO?(h=[_We(t,c,n,r.gradient),Wie(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${pd(i.gradientLength())})/100))`)):p===o8?h=[CWe(t,c,n,r.gradient,E),Wie(t,n,r.labels,E)]:(f=OWe(t,n),h=[RWe(t,n,r,E,pd(f.columns))],x.size=eVe(t,e,h[0].marks)),h=[c3({role:tGe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push(BWe(t,n,r.title,g)),KO(c3({role:ZQe,from:g,encode:E2(ZWe(i,t,n),s,l3),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function KWe(t,e){let n=t.type||Hie;return!t.type&&JWe(t)===1&&(t.fill||t.stroke)&&(n=C$(e)?GO:b$(e)?o8:Hie),n!==GO?n:b$(e)?o8:GO}function JWe(t){return a8.reduce((e,n)=>e+(t[n]?1:0),0)}function ZWe(t,e,n){const r={enter:{},update:{}};return Br(r,{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}),r}function eVe(t,e,n){const r=pd(ise("size",t,n)),i=pd(ise("strokeWidth",t,n)),s=pd(tVe(n[1].encode,e,a3));return _a(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function ise(t,e,n){return e[t]?`scale("${e[t]}",datum)`:Qie(t,n[0].encode)}function tVe(t,e,n){return Qie("fontSize",t)||SWe("fontSize",e,n)}const nVe=`item.orient==="${S2}"?-90:item.orient==="${v2}"?90:0`;function rVe(t,e){t=je(t)?{text:t}:t;const n=ds(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Ke(e.add(au(null,[l])));return a.push(oVe(t,n,iVe(t),c)),t.subtitle&&a.push(uVe(t,n,r.subtitle,c)),KO(c3({role:sGe,from:c,encode:sVe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function iVe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function sVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:c8},angle:{signal:nVe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),E2(n,e,l3)}function oVe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{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")}),qs({type:md,role:oGe,style:yWe,from:r,encode:o},n)}function uVe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{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")}),qs({type:md,role:uGe,style:EWe,from:r,encode:o},n)}function aVe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(d8(r,e))}),t.on&&t.on.forEach(r=>{rse(r,e,t.name)}),e.addDataPipeline(t.name,lVe(t,e,n))}function lVe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?nr(t.values)||HO(t.format)?(r.push(sse(e,t)),r.push(i=Ed())):r.push(i=Ed({$ingest:t.values,$format:t.format})):t.url?HO(t.url)||HO(t.format)?(r.push(sse(e,t)),r.push(i=Ed())):r.push(i=Ed({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Ke(e.getData(x).output)),r.push(null)),a=0,l=n.length;a<l;++a)c=n[a],f=c.metadata,!i&&!f.source&&r.push(i=Ed()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(s=!0),f.source?i=c:f.changes&&(i=null);return u&&(l=u.length-1,r[0]=VGe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Ed())),i||r.push(Ed()),r.push(gd({})),r}function Ed(t){const e=au({},t);return e.metadata={source:!0},e}function sse(t,e){return jGe({url:e.url?t.property(e.url):void 0,async:e.async?t.property(e.async):void 0,values:e.values?t.property(e.values):void 0,format:t.objectProperty(e.format)})}const ose=t=>t===Dc||t===lu,JO=(t,e,n)=>nr(t)?dVe(t.signal,e,n):t===S2||t===lu?e:n,vr=(t,e,n)=>nr(t)?fVe(t.signal,e,n):ose(t)?e:n,cu=(t,e,n)=>nr(t)?xVe(t.signal,e,n):ose(t)?n:e,use=(t,e,n)=>nr(t)?hVe(t.signal,e,n):t===lu?{value:e}:{value:n},cVe=(t,e,n)=>nr(t)?pVe(t.signal,e,n):t===v2?{value:e}:{value:n},fVe=(t,e,n)=>ase(`${t} === '${lu}' || ${t} === '${Dc}'`,e,n),xVe=(t,e,n)=>ase(`${t} !== '${lu}' && ${t} !== '${Dc}'`,e,n),dVe=(t,e,n)=>p8(`${t} === '${S2}' || ${t} === '${lu}'`,e,n),hVe=(t,e,n)=>p8(`${t} === '${lu}'`,e,n),pVe=(t,e,n)=>p8(`${t} === '${v2}'`,e,n),ase=(t,e,n)=>(e=e!=null?Sr(e):e,n=n!=null?Sr(n):n,lse(e)&&lse(n)?(e=e?e.signal||Fe(e.value):null,n=n?n.signal||Fe(n.value):null,{signal:`${t} ? (${e}) : (${n})`}):[ct({test:t},e)].concat(n||[])),lse=t=>t==null||Object.keys(t).length===1,p8=(t,e,n)=>({signal:`${t} ? (${C2(e)}) : (${C2(n)})`}),gVe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${S2}' ? (${C2(r)}) : `:"")+(n!=null?`${t} === '${Dc}' ? (${C2(n)}) : `:"")+(i!=null?`${t} === '${v2}' ? (${C2(i)}) : `:"")+(e!=null?`${t} === '${lu}' ? (${C2(e)}) : `:"")+"(null)"}),C2=t=>nr(t)?t.signal:t==null?null:Fe(t),mVe=(t,e)=>e===0?0:nr(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},b2=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function T2(t,e,n,r){let i;if(e&&Je(e,t))return e[t];if(Je(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[s8][i]}else if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[a3][i]}return null}function cse(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function yVe(t,e){var n=e.config,r=n.style,i=n.axis,s=e.scaleType(t.scale)==="band"&&n.axisBand,o=t.orient,u,a,l;if(nr(o)){const f=cse([n.axisX,n.axisY]),x=cse([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=vr(o,T2(l,n.axisX,i,r),T2(l,n.axisY,i,r));a={};for(l of x)a[l]=gVe(o.signal,T2(l,n.axisTop,i,r),T2(l,n.axisBottom,i,r),T2(l,n.axisLeft,i,r),T2(l,n.axisRight,i,r))}else u=o===lu||o===Dc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function EVe(t,e,n,r){const i=ds(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:_o},exit:{opacity:Ct}};Br(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=fse(t,0),c=fse(t,1);return o.x=u.x=vr(s,l,Ct),o.x2=u.x2=vr(s,c),o.y=u.y=cu(s,l,Ct),o.y2=u.y2=cu(s,c),qs({type:l8,role:VQe,from:r,encode:a},n)}function fse(t,e){return{scale:t.scale,range:e}}function AVe(t,e,n,r,i){const s=ds(t,e),o=t.orient,u=t.gridScale,a=JO(o,1,-1),l=SVe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:_o},exit:f={opacity:Ct}};Br(h,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});const p={scale:t.scale,field:vo,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=vr(o,{signal:"height"},{signal:"width"}),g=u?{scale:u,range:0,mult:a,offset:l}:{value:0,offset:l},y=u?{scale:u,range:1,mult:a,offset:l}:ct(m,{mult:a,offset:l});return c.x=x.x=vr(o,p,g),c.y=x.y=cu(o,p,g),c.x2=x.x2=cu(o,y),c.y2=x.y2=vr(o,y),f.x=vr(o,p),f.y=cu(o,p),qs({type:l8,role:YQe,key:vo,from:r,encode:h},n)}function SVe(t,e){if(e!==1)if(!Qe(t))t=nr(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);else{let n=t=ct({},t);for(;n.mult!=null;)if(Qe(n.mult))n=n.mult=ct({},n.mult);else return n.mult=nr(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function vVe(t,e,n,r,i,s){const o=ds(t,e),u=t.orient,a=JO(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:_o},exit:c={opacity:Ct}};Br(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=Sr(i);h.mult=a;const p={scale:t.scale,field:vo,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=vr(u,Ct,p),f.y2=l.y2=vr(u,h),c.x=vr(u,p),f.x=l.x=cu(u,Ct,p),f.x2=l.x2=cu(u,h),c.y=cu(u,p),qs({type:l8,role:KQe,key:vo,from:r,encode:x},n)}function g8(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function _Ve(t,e,n,r,i,s){const o=ds(t,e),u=t.orient,a=t.scale,l=JO(u,-1,1),c=pd(o("labelFlush")),f=pd(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=Sr(i);g.mult=l,g.offset=Sr(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:vo,band:.5,offset:Gie(s.offset,o("labelOffset"))},E=vr(u,p?g8(a,c,'"left"','"right"','"center"'):{value:"center"},cVe(u,"left","right")),A=vr(u,use(u,"bottom","top"),p?g8(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),S=g8(a,c,`-(${f})`,f,0);p=p&&f;const v={opacity:Ct,x:vr(u,y,g),y:cu(u,y,g)},_={enter:v,update:m={opacity:_o,text:{field:i8},x:v.x,y:v.y,align:E,baseline:A},exit:{opacity:Ct,x:v.x,y:v.y}};Br(_,{dx:!x&&p?vr(u,S):null,dy:!h&&p?cu(u,S):null}),Br(_,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:x,baseline:h});const C=o("labelBound");let b=o("labelOverlap");return b=b||C?{separation:o("labelSeparation"),method:b,order:"datum.index",bound:C?{scale:a,orient:u,tolerance:C}:null}:void 0,m.align!==E&&(m.align=b2(m.align,E)),m.baseline!==A&&(m.baseline=b2(m.baseline,A)),qs({type:md,role:XQe,style:a3,key:vo,from:r,encode:_,overlap:b},n)}function CVe(t,e,n,r){const i=ds(t,e),s=t.orient,o=JO(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:Sr(i("titleAnchor",null)),align:{signal:c8}},update:a=ct({},u,{opacity:_o,text:Sr(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${VO(0,1,.5)})`};return a.x=vr(s,c),a.y=cu(s,c),u.angle=vr(s,Ct,mVe(o,90)),u.baseline=vr(s,use(s,Dc,lu),{value:Dc}),a.angle=u.angle,a.baseline=u.baseline,Br(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),bVe(i,s,l,n),l.update.align=b2(l.update.align,u.align),l.update.angle=b2(l.update.angle,u.angle),l.update.baseline=b2(l.update.baseline,u.baseline),qs({type:md,role:JQe,style:s8,from:r,encode:l},n)}function bVe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=b2(Sr(u),n.update[a]),!1):!A2(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?Sr(o):vr(e,Sr(o),Sr(s))}function TVe(t,e){const n=yVe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=ds(t,n),l=vWe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Ke(e.add(au({},[c]))),x=Ke(e.add(LGe({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)}))),h=[];let p;return c.grid&&h.push(AVe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(vVe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(_Ve(t,n,r.labels,x,p,l))),c.domain&&h.push(EVe(t,n,r.domain,f)),c.title&&h.push(CVe(t,n,r.title,f)),KO(c3({role:WQe,from:f,encode:E2(RVe(a,t),i,l3),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function RVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),offset:t("offset")||0,position:uu(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}),n}function xse(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>Oie(s,e)),Pe(t.projections).forEach(s=>fWe(s,e)),i.forEach(s=>ZGe(s,e)),Pe(t.data).forEach(s=>aVe(s,e)),i.forEach(s=>eWe(s,e)),(n||r).forEach(s=>wGe(s,e)),Pe(t.axes).forEach(s=>TVe(s,e)),Pe(t.marks).forEach(s=>KO(s,e)),Pe(t.legends).forEach(s=>XWe(s,e)),t.title&&rVe(t.title,e),e.parseLambdas(),e}const OVe=t=>E2({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function NVe(t,e){const n=e.config,r=Ke(e.root=e.add(UO())),i=DVe(t,n);i.forEach(l=>Oie(l,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(au()),o=e.add(Iie(Tie(OVe(t.encode),WO,Vk,t.style,e,{pulse:Ke(s)}))),u=e.add(kie({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Ke(o)}));e.operators.pop(),e.pushState(Ke(o),Ke(u),null),xse(t,e,i),e.operators.push(u);let a=e.add(wie({mark:r,pulse:Ke(u)}));return a=e.add(Bie({pulse:Ke(a)})),a=e.add(gd({pulse:Ke(a)})),e.addData("root",new yd(e,s,s,a)),e}function x3(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function DVe(t,e){const n=o=>uu(t[o],e[o]),r=[x3("background",n("background")),x3("autosize",zQe(n("autosize"))),x3("padding",GQe(n("padding"))),x3("width",n("width")||0),x3("height",n("height")||0)],i=r.reduce((o,u)=>(o[u.name]=u,o),{}),s={};return Pe(t.signals).forEach(o=>{Je(i,o.name)?o=ct(i[o.name],o):r.push(o),s[o.name]=o}),Pe(e.signals).forEach(o=>{!Je(s,o.name)&&!Je(i,o.name)&&r.push(o)}),r}function dse(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 hse(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}dse.prototype=hse.prototype={parse(t){return xse(t,this)},fork(){return new hse(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{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){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(e=>{e.$ref=t.id}),t.refs=null),t},proxy(t){const e=t instanceof Kk?Ke(t):t;return this.add(WGe({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;this.root&&(this.root.root=!0);for(t in this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(r,i,s){let o,u;r&&(o=r.data||(r.data={}),u=o[i]||(o[i]=[]),u.push(s))}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 r in e.index)n(e.index[r],t,"index:"+r)}return this},pushState(t,e,n){this._encode.push(Ke(this.add(gd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Ke(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return _t(this._parent)},encode(){return _t(this._encode)},lookup(){return _t(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(je(t))return o3(t,e);t.signal||ve("Unsupported field reference: "+Fe(t));const n=t.signal;let r=this.field[n];if(!r){const i={name:this.signalRef(n)};e&&(i.as=e),this.field[n]=r=Ke(this.add(kGe(i)))}return r},compareRef(t){let e=!1;const n=s=>nr(s)?(e=!0,this.signalRef(s.signal)):vGe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Ke(this.add(Lie({fields:r,orders:i}))):Nie(r,i)},keyRef(t,e){let n=!1;const r=s=>nr(s)?(n=!0,Ke(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Ke(this.add(PGe({fields:t,flat:e}))):yGe(t,e)},sortRef(t){if(!t)return t;const e=qO(t.op,t.field),n=t.order||EGe;return n.signal?Ke(this.add(Lie({fields:e,orders:this.signalRef(n.signal)}))):Nie(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},hasOwnSignal(t){return Je(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&ve("Duplicate signal name: "+Fe(t));const n=e instanceof Kk?e:this.add(UO(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||ve("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Ke(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(UO(null))),Ke(this.lambdas[t]))},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const r=t[e],i=_a(r,this),s=this.lambdas[r];s.params=i.$params,s.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!Qe(t)?t:this.signalRef(t.signal||m8(t))},exprRef(t,e){const n={expr:_a(t,this)};return e&&(n.expr.$name=e),Ke(this.add($Ge(n)))},addBinding(t,e){this.bindings||ve("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&ve("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,YGe(e))},addProjection(t,e){this.addScaleProj(t,GGe(e))},getScale(t){return this.scales[t]||ve("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Ke(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){return Je(this.data,t)&&ve("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||ve("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&ve("Duplicate data set name: "+Fe(t)),this.addData(t,yd.fromEntries(this,e))}};function m8(t){return(_e(t)?FVe:wVe)(t)}function FVe(t){const e=t.length;let n="[";for(let r=0;r<e;++r){const i=t[r];n+=(r>0?",":"")+(Qe(i)?i.signal||m8(i):Fe(i))}return n+"]"}function wVe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||m8(i):Fe(i));return e+"}"}function LVe(){const t="sans-serif",r="#4c78a8",i="#000",s="#888",o="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:t,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:t,fontSize:10},"guide-title":{fill:i,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:t,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:o},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:s,grid:!1,gridWidth:1,gridColor:o,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:s,tickOffset:0,tickRound:!0,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:o,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,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 IVe(t,e,n){return Qe(t)||ve("Input Vega specification must be an object."),e=h5(LVe(),e,t.config),NVe(t,new dse(e,n)).toRuntime()}ct(jy,PIe,p7e,j7e,bMe,E9e,Gje,bje,Vje,mUe,RUe,IUe);const $Ve={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},ZO=28;function BVe(t,e){const n=t.allFields.at(0),r=t.allFields.at(1),{tag:i}=t.tagParse();let s=0,o=0;const u=i.numeric("size","width"),a=i.numeric("size","height");let l=i.text("size");u&&a?(s=u,o=a):(l=l||"md",[s,o]=$Ve[l],o=o*ZO);let c=0,f=0,x=-90,h="right",p="middle",m=0,g=0;const y=l!=="spark",E=l!=="spark",A=e.fields[bx(t)];let S=l!=="spark"?ZO-1:0,v;const _=bx(r),C=e.fields[_].max,b=Dt("linear")().domain([0,C]).nice().range([o,0]),O=b.domain();if(E){const z=b.domain().at(1),Q=vY().format(",")(z);f=py(Q,"Inter, sans-serif 12px")+5+31;const ae=Math.ceil(o/40),ie=b.ticks(ae);if(ie.at(-1)<z){const le=(z-ie.at(-1))/z,xe=o/(1-le);S=S-(xe-o),o=xe,v=ae}}if(y){const z=bx(n),Y=e.fields[z].maxString,Q=py(Y,"Inter, sans-serif 12px"),oe=.3;g=22+15,c=Math.min(Q,oe*o),m=c;const ae=(s-f)/A.maxRecordCt;ae>c&&(x=0,m=ae,h=void 0,p="top")}const R=o+c+g,I=Math.ceil(R/ZO)*ZO;g+=I-R;const M=i.text("size")==="spark";return{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelAlign:h,labelBaseline:p,labelSize:m,height:c,titleSize:g,hidden:M},yAxis:{width:f,tickCount:v,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:S+1,left:f,bottom:c+g,right:0},xField:n,yField:r,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}const eN="#727883",tN="#E5E7EB";function kVe(t,e){const n=BVe(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:tN,tickColor:tN,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:eN,labelPadding:5,titleColor:eN,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10,labelOverlap:!1},axisX:{gridColor:tN,tickColor:tN,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:eN,titleColor:eN,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10},view:{strokeWidth:0}},data:[{name:"table",values:[]}],marks:[],scales:[],legends:[],axes:[],autosize:{type:"none",resize:!0,contains:"content"},padding:n.padding},i={name:"xscale",type:t.x.type==="nominal"?"band":"linear",domain:{data:"table",field:t.x.fields.at(0)},range:"width"};i.type==="band"&&(i.paddingInner=.1,i.paddingOuter=.05,i.round=!0);const s={name:"yscale",type:t.y.type==="nominal"?"band":"linear",domain:n.yScale.domain??{data:"table",fields:t.y.fields},range:"height"};s.type==="linear"&&(s.nice=!0),r.scales.push(i),r.scales.push(s);for(const o of t.marks){const u={},a={name:o.id,source:"table",transform:[]};if(r.data.push(a),o.type==="bar_y"){u.type="rect",u.from={data:o.id};const l=o.x??t.x.fields.at(0),c=o.y??t.y.fields.at(0);u.encode={enter:{x:{scale:"xscale",field:l,band:.1},width:{scale:"xscale",band:.8},y:{scale:"yscale",field:c},y2:{scale:"yscale",value:0},fill:{value:"#53B2C8"}}},r.marks.push(u)}}return n.xAxis.hidden||r.axes.push({orient:"bottom",scale:"xscale",title:t.x.fields.join(", "),labelAngle:n.xAxis.labelAngle,labelLimit:n.xAxis.labelSize,labelAlign:n.xAxis.labelAlign,labelBaseline:n.xAxis.labelBaseline,maxExtent:n.xAxis.height}),n.yAxis.hidden||r.axes.push({orient:"left",scale:"yscale",grid:!0,maxExtent:n.yAxis.width,labelLimit:n.yAxis.width+10,tickCount:n.yAxis.tickCount??{signal:"ceil(height/40)"},title:[...new Set(s.domain.fields)].filter(o=>typeof o=="string").join(", ")}),{spec:r,plotWidth:n.plotWidth,plotHeight:n.plotHeight,totalWidth:n.totalWidth,totalHeight:n.totalHeight}}function PVe(){const t=new WeakMap;return{get:e=>{if(!t.has(e)&&e.isArray()){const n=[];for(const r of e)n.push(r.toObject());t.set(e,n)}return t.get(e)}}}function MVe(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=bx(u);return e.set(u,a),a},r=PVe(),i={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>i.fields[n(u)],getData:r.get},s=t.data.field,o=i.getFieldKey(s);return i.fields[o]={field:s,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},pse(t.data.field,i),gse(t.data,i),Object.values(i.fields).forEach(u=>{const a=u.field;a.isExploreField()?mse(a,a.tagParse().tag,i):a.isExplore()&&mse(a,t.tagParse().tag,i)}),i}function pse(t,e){for(const n of t.allFields){const r=e.getFieldKey(n);e.fields[r]={field:n,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},n.isExploreField()&&pse(n,e)}}const gse=(t,e)=>{let n=0;for(const s of t){n++;for(const o of t.field.allFields){const u=o.isAtomicField()?s.cell(o).value:void 0,a=e.field(o);if(QW(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(GW(o,u)){const l=u;a.values.add(l),(!a.minString||a.minString.length>l.length)&&(a.minString=l),(!a.maxString||a.maxString.length<l.length)&&(a.maxString=l)}else if(o.isExploreField()){const l=s.cell(o);gse(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function mse(t,e,n){const r=n.field(t);if(hy(e,"bar","bar_chart")){const i=OFe(t,e);r.vegaChartProps=kVe(i,{field:t,metadata:n})}}const yse=kP(),Ese=()=>{const t=PP(yse);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t};var nN=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(nN||{}),rr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(rr||{});function jVe(t){return Object.values(rr).includes(t)}var Ase={exports:{}};(function(t){var e={},n=function(i){i.version="0.11.2";function s(T){for(var N="",$=T.length-1;$>=0;)N+=T.charAt($--);return N}function o(T,N){for(var $="";$.length<N;)$+=T;return $}function u(T,N){var $=""+T;return $.length>=N?$:o("0",N-$.length)+$}function a(T,N){var $=""+T;return $.length>=N?$:o(" ",N-$.length)+$}function l(T,N){var $=""+T;return $.length>=N?$:$+o(" ",N-$.length)}function c(T,N){var $=""+Math.round(T);return $.length>=N?$:o("0",N-$.length)+$}function f(T,N){var $=""+T;return $.length>=N?$:o("0",N-$.length)+$}var x=Math.pow(2,32);function h(T,N){if(T>x||T<-x)return c(T,N);var $=Math.round(T);return f($,N)}function p(T,N){return N=N||0,T.length>=7+N&&(T.charCodeAt(N)|32)===103&&(T.charCodeAt(N+1)|32)===101&&(T.charCodeAt(N+2)|32)===110&&(T.charCodeAt(N+3)|32)===101&&(T.charCodeAt(N+4)|32)===114&&(T.charCodeAt(N+5)|32)===97&&(T.charCodeAt(N+6)|32)===108}var m=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],g=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function y(T){T[0]="General",T[1]="0",T[2]="0.00",T[3]="#,##0",T[4]="#,##0.00",T[9]="0%",T[10]="0.00%",T[11]="0.00E+00",T[12]="# ?/?",T[13]="# ??/??",T[14]="m/d/yy",T[15]="d-mmm-yy",T[16]="d-mmm",T[17]="mmm-yy",T[18]="h:mm AM/PM",T[19]="h:mm:ss AM/PM",T[20]="h:mm",T[21]="h:mm:ss",T[22]="m/d/yy h:mm",T[37]="#,##0 ;(#,##0)",T[38]="#,##0 ;[Red](#,##0)",T[39]="#,##0.00;(#,##0.00)",T[40]="#,##0.00;[Red](#,##0.00)",T[45]="mm:ss",T[46]="[h]:mm:ss",T[47]="mmss.0",T[48]="##0.0E+0",T[49]="@",T[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var E={};y(E);var A=[],S=0;for(S=5;S<=8;++S)A[S]=32+S;for(S=23;S<=26;++S)A[S]=0;for(S=27;S<=31;++S)A[S]=14;for(S=50;S<=58;++S)A[S]=14;for(S=59;S<=62;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-58;for(S=72;S<=75;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-57;for(S=76;S<=78;++S)A[S]=S-56;for(S=79;S<=81;++S)A[S]=S-34;var v=[];v[5]=v[63]='"$"#,##0_);\\("$"#,##0\\)',v[6]=v[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',v[7]=v[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',v[8]=v[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',v[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',v[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',v[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',v[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function _(T,N,$){for(var q=T<0?-1:1,L=T*q,H=0,P=1,V=0,fe=1,te=0,X=0,ue=Math.floor(L);te<N&&(ue=Math.floor(L),V=ue*P+H,X=ue*te+fe,!(L-ue<5e-8));)L=1/(L-ue),H=P,P=V,fe=te,te=X;if(X>N&&(te>N?(X=fe,V=H):(X=te,V=P)),!$)return[0,q*V,X];var Be=Math.floor(q*V/X);return[Be,q*V-Be*X,X]}function C(T,N,$){if(T>2958465||T<0)return null;var q=T|0,L=Math.floor(86400*(T-q)),H=0,P=[],V={D:q,T:L,u:86400*(T-q)-L,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(V.u)<1e-6&&(V.u=0),N&&N.date1904&&(q+=1462),V.u>.9999&&(V.u=0,++L==86400&&(V.T=L=0,++q,++V.D)),q===60)P=$?[1317,10,29]:[1900,2,29],H=3;else if(q===0)P=$?[1317,8,29]:[1900,1,0],H=6;else{q>60&&--q;var fe=new Date(1900,0,1);fe.setDate(fe.getDate()+q-1),P=[fe.getFullYear(),fe.getMonth()+1,fe.getDate()],H=fe.getDay(),q<60&&(H=(H+6)%7),$&&(H=Q(fe,P))}return V.y=P[0],V.m=P[1],V.d=P[2],V.S=L%60,L=Math.floor(L/60),V.M=L%60,L=Math.floor(L/60),V.H=L,V.q=H,V}i.parse_date_code=C;var b=new Date(1899,11,31,0,0,0),O=b.getTime(),R=new Date(1900,2,1,0,0,0);function I(T,N){var $=T.getTime();return N?$-=1262304e5:T>=R&&($+=864e5),($-(O+(T.getTimezoneOffset()-b.getTimezoneOffset())*6e4))/864e5}function M(T){return T.toString(10)}i._general_int=M;var z=function(){var N=/(?:\.0*|(\.\d*[1-9])0+)$/;function $(te){return te.indexOf(".")==-1?te:te.replace(N,"$1")}var q=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,L=/(E[+-])(\d)$/;function H(te){return te.indexOf("E")==-1?te:te.replace(q,"$1E").replace(L,"$10$2")}function P(te){var X=te<0?12:11,ue=$(te.toFixed(12));return ue.length<=X||(ue=te.toPrecision(10),ue.length<=X)?ue:te.toExponential(5)}function V(te){var X=$(te.toFixed(11));return X.length>(te<0?12:11)||X==="0"||X==="-0"?te.toPrecision(6):X}function fe(te){var X=Math.floor(Math.log(Math.abs(te))*Math.LOG10E),ue;return X>=-4&&X<=-1?ue=te.toPrecision(10+X):Math.abs(X)<=9?ue=P(te):X===10?ue=te.toFixed(10).substr(0,12):ue=V(te),$(H(ue.toUpperCase()))}return fe}();i._general_num=z;function Y(T,N){switch(typeof T){case"string":return T;case"boolean":return T?"TRUE":"FALSE";case"number":return(T|0)===T?T.toString(10):z(T);case"undefined":return"";case"object":if(T==null)return"";if(T instanceof Date)return U(14,I(T,N&&N.date1904),N)}throw new Error("unsupported value in General format: "+T)}i._general=Y;function Q(T,N){N[0]-=581;var $=T.getDay();return T<60&&($=($+6)%7),$}function oe(T,N,$,q){var L="",H=0,P=0,V=$.y,fe,te=0;switch(T){case 98:V=$.y+543;case 121:switch(N.length){case 1:case 2:fe=V%100,te=2;break;default:fe=V%1e4,te=4;break}break;case 109:switch(N.length){case 1:case 2:fe=$.m,te=N.length;break;case 3:return g[$.m-1][1];case 5:return g[$.m-1][0];default:return g[$.m-1][2]}break;case 100:switch(N.length){case 1:case 2:fe=$.d,te=N.length;break;case 3:return m[$.q][0];default:return m[$.q][1]}break;case 104:switch(N.length){case 1:case 2:fe=1+($.H+11)%12,te=N.length;break;default:throw"bad hour format: "+N}break;case 72:switch(N.length){case 1:case 2:fe=$.H,te=N.length;break;default:throw"bad hour format: "+N}break;case 77:switch(N.length){case 1:case 2:fe=$.M,te=N.length;break;default:throw"bad minute format: "+N}break;case 115:if(N!="s"&&N!="ss"&&N!=".0"&&N!=".00"&&N!=".000")throw"bad second format: "+N;return $.u===0&&(N=="s"||N=="ss")?u($.S,N.length):(q>=2?P=q===3?1e3:100:P=q===1?10:1,H=Math.round(P*($.S+$.u)),H>=60*P&&(H=0),N==="s"?H===0?"0":""+H/P:(L=u(H,2+q),N==="ss"?L.substr(0,2):"."+L.substr(2,N.length-1)));case 90:switch(N){case"[h]":case"[hh]":fe=$.D*24+$.H;break;case"[m]":case"[mm]":fe=($.D*24+$.H)*60+$.M;break;case"[s]":case"[ss]":fe=(($.D*24+$.H)*60+$.M)*60+Math.round($.S+$.u);break;default:throw"bad abstime format: "+N}te=N.length===3?1:2;break;case 101:fe=V,te=1;break}var X=te>0?u(fe,te):"";return X}function de(T){var N=3;if(T.length<=N)return T;for(var $=T.length%N,q=T.substr(0,$);$!=T.length;$+=N)q+=(q.length>0?",":"")+T.substr($,N);return q}var ae=function(){var N=/%/g;function $(Ee,J,re){var Me=J.replace(N,""),G=J.length-Me.length;return ae(Ee,Me,re*Math.pow(10,2*G))+o("%",G)}function q(Ee,J,re){for(var Me=J.length-1;J.charCodeAt(Me-1)===44;)--Me;return ae(Ee,J.substr(0,Me),re/Math.pow(10,3*(J.length-Me)))}function L(Ee,J){var re,Me=Ee.indexOf("E")-Ee.indexOf(".")-1;if(Ee.match(/^#+0.0E\+0$/)){if(J==0)return"0.0E+0";if(J<0)return"-"+L(Ee,-J);var G=Ee.indexOf(".");G===-1&&(G=Ee.indexOf("E"));var ce=Math.floor(Math.log(J)*Math.LOG10E)%G;if(ce<0&&(ce+=G),re=(J/Math.pow(10,ce)).toPrecision(Me+1+(G+ce)%G),re.indexOf("e")===-1){var we=Math.floor(Math.log(J)*Math.LOG10E);for(re.indexOf(".")===-1?re=re.charAt(0)+"."+re.substr(1)+"E+"+(we-re.length+ce):re+="E+"+(we-ce);re.substr(0,2)==="0.";)re=re.charAt(0)+re.substr(2,G)+"."+re.substr(2+G),re=re.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");re=re.replace(/\+-/,"-")}re=re.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(G+ce)%G)+"."+rt.substr(ce)+"E"})}else re=J.toExponential(Me);return Ee.match(/E\+00$/)&&re.match(/e[+-]\d$/)&&(re=re.substr(0,re.length-1)+"0"+re.charAt(re.length-1)),Ee.match(/E\-/)&&re.match(/e\+/)&&(re=re.replace(/e\+/,"e")),re.replace("e","E")}var H=/# (\?+)( ?)\/( ?)(\d+)/;function P(Ee,J,re){var Me=parseInt(Ee[4],10),G=Math.round(J*Me),ce=Math.floor(G/Me),we=G-ce*Me,ze=Me;return re+(ce===0?"":""+ce)+" "+(we===0?o(" ",Ee[1].length+1+Ee[4].length):a(we,Ee[1].length)+Ee[2]+"/"+Ee[3]+u(ze,Ee[4].length))}function V(Ee,J,re){return re+(J===0?"":""+J)+o(" ",Ee[1].length+2+Ee[4].length)}var fe=/^#*0*\.([0#]+)/,te=/\).*[0#]/,X=/\(###\) ###\\?-####/;function ue(Ee){for(var J="",re,Me=0;Me!=Ee.length;++Me)switch(re=Ee.charCodeAt(Me)){case 35:break;case 63:J+=" ";break;case 48:J+="0";break;default:J+=String.fromCharCode(re)}return J}function Be(Ee,J){var re=Math.pow(10,J);return""+Math.round(Ee*re)/re}function ut(Ee,J){var re=Ee-Math.floor(Ee),Me=Math.pow(10,J);return J<(""+Math.round(re*Me)).length?0:Math.round(re*Me)}function Rt(Ee,J){return J<(""+Math.round((Ee-Math.floor(Ee))*Math.pow(10,J))).length?1:0}function K(Ee){return Ee<2147483647&&Ee>-2147483648?""+(Ee>=0?Ee|0:Ee-1|0):""+Math.floor(Ee)}function se(Ee,J,re){if(Ee.charCodeAt(0)===40&&!J.match(te)){var Me=J.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return re>=0?se("n",Me,re):"("+se("n",Me,-re)+")"}if(J.charCodeAt(J.length-1)===44)return q(Ee,J,re);if(J.indexOf("%")!==-1)return $(Ee,J,re);if(J.indexOf("E")!==-1)return L(J,re);if(J.charCodeAt(0)===36)return"$"+se(Ee,J.substr(J.charAt(1)==" "?2:1),re);var G,ce,we,ze,nt=Math.abs(re),yt=re<0?"-":"";if(J.match(/^00+$/))return yt+h(nt,J.length);if(J.match(/^[#?]+$/))return G=h(re,0),G==="0"&&(G=""),G.length>J.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(H))return P(ce,nt,yt);if(J.match(/^#+0+$/))return yt+h(nt,J.length-J.indexOf("0"));if(ce=J.match(fe))return G=Be(re,ce[1].length).replace(/^([^\.]+)$/,"$1."+ue(ce[1])).replace(/\.$/,"."+ue(ce[1])).replace(/\.(\d*)$/,function(Gs,q3){return"."+q3+o("0",ue(ce[1]).length-q3.length)}),J.indexOf("0.")!==-1?G:G.replace(/^0\./,".");if(J=J.replace(/^#+([0.])/,"$1"),ce=J.match(/^(0*)\.(#*)$/))return yt+Be(nt,ce[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,ce[1].length?"0.":".");if(ce=J.match(/^#{1,3},##0(\.?)$/))return yt+de(h(nt,0));if(ce=J.match(/^#,##0\.([#0]*0)$/))return re<0?"-"+se(Ee,J,-re):de(""+(Math.floor(re)+Rt(re,ce[1].length)))+"."+u(ut(re,ce[1].length),ce[1].length);if(ce=J.match(/^#,#*,#0/))return se(Ee,J.replace(/^#,#*,/,""),re);if(ce=J.match(/^([0#]+)(\\?-([0#]+))+$/))return G=s(se(Ee,J.replace(/[\\-]/g,""),re)),we=0,s(s(J.replace(/\\/g,"")).replace(/[0#]/g,function(Gs){return we<G.length?G.charAt(we++):Gs==="0"?"0":""}));if(J.match(X))return G=se(Ee,"##########",re),"("+G.substr(0,3)+") "+G.substr(3,3)+"-"+G.substr(6);var rt="";if(ce=J.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(ce[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),G=""+yt,rt=ae("n",ce[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),G+=rt+ce[2]+"/"+ce[3],rt=l(ze[2],we),rt.length<ce[4].length&&(rt=ue(ce[4].substr(ce[4].length-rt.length))+rt),G+=rt,G;if(ce=J.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(ce[1].length,ce[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+ce[2]+"/"+ce[3]+l(ze[2],we):o(" ",2*we+1+ce[2].length+ce[3].length));if(ce=J.match(/^[#0?]+$/))return G=h(re,0),J.length<=G.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(/^([#0?]+)\.([#0]+)$/)){G=""+re.toFixed(Math.min(ce[2].length,10)).replace(/([^0])0+$/,"$1"),we=G.indexOf(".");var Tr=J.indexOf(".")-we,Kc=J.length-G.length-Tr;return ue(J.substr(0,Tr)+G+J.substr(J.length-Kc))}if(ce=J.match(/^00,000\.([#0]*0)$/))return we=ut(re,ce[1].length),re<0?"-"+se(Ee,J,-re):de(K(re)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Gs){return"00,"+(Gs.length<3?u(0,3-Gs.length):"")+Gs})+"."+u(we,ce[1].length);switch(J){case"###,##0.00":return se(Ee,"#,##0.00",re);case"###,###":case"##,###":case"#,###":var U3=de(h(nt,0));return U3!=="0"?yt+U3:"";case"###,###.00":return se(Ee,"###,##0.00",re).replace(/^0\./,".");case"#,###.00":return se(Ee,"#,##0.00",re).replace(/^0\./,".")}throw new Error("unsupported format |"+J+"|")}function Re(Ee,J,re){for(var Me=J.length-1;J.charCodeAt(Me-1)===44;)--Me;return ae(Ee,J.substr(0,Me),re/Math.pow(10,3*(J.length-Me)))}function He(Ee,J,re){var Me=J.replace(N,""),G=J.length-Me.length;return ae(Ee,Me,re*Math.pow(10,2*G))+o("%",G)}function qe(Ee,J){var re,Me=Ee.indexOf("E")-Ee.indexOf(".")-1;if(Ee.match(/^#+0.0E\+0$/)){if(J==0)return"0.0E+0";if(J<0)return"-"+qe(Ee,-J);var G=Ee.indexOf(".");G===-1&&(G=Ee.indexOf("E"));var ce=Math.floor(Math.log(J)*Math.LOG10E)%G;if(ce<0&&(ce+=G),re=(J/Math.pow(10,ce)).toPrecision(Me+1+(G+ce)%G),!re.match(/[Ee]/)){var we=Math.floor(Math.log(J)*Math.LOG10E);re.indexOf(".")===-1?re=re.charAt(0)+"."+re.substr(1)+"E+"+(we-re.length+ce):re+="E+"+(we-ce),re=re.replace(/\+-/,"-")}re=re.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(G+ce)%G)+"."+rt.substr(ce)+"E"})}else re=J.toExponential(Me);return Ee.match(/E\+00$/)&&re.match(/e[+-]\d$/)&&(re=re.substr(0,re.length-1)+"0"+re.charAt(re.length-1)),Ee.match(/E\-/)&&re.match(/e\+/)&&(re=re.replace(/e\+/,"e")),re.replace("e","E")}function Ie(Ee,J,re){if(Ee.charCodeAt(0)===40&&!J.match(te)){var Me=J.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return re>=0?Ie("n",Me,re):"("+Ie("n",Me,-re)+")"}if(J.charCodeAt(J.length-1)===44)return Re(Ee,J,re);if(J.indexOf("%")!==-1)return He(Ee,J,re);if(J.indexOf("E")!==-1)return qe(J,re);if(J.charCodeAt(0)===36)return"$"+Ie(Ee,J.substr(J.charAt(1)==" "?2:1),re);var G,ce,we,ze,nt=Math.abs(re),yt=re<0?"-":"";if(J.match(/^00+$/))return yt+u(nt,J.length);if(J.match(/^[#?]+$/))return G=""+re,re===0&&(G=""),G.length>J.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(H))return V(ce,nt,yt);if(J.match(/^#+0+$/))return yt+u(nt,J.length-J.indexOf("0"));if(ce=J.match(fe))return G=(""+re).replace(/^([^\.]+)$/,"$1."+ue(ce[1])).replace(/\.$/,"."+ue(ce[1])),G=G.replace(/\.(\d*)$/,function(Gs,q3){return"."+q3+o("0",ue(ce[1]).length-q3.length)}),J.indexOf("0.")!==-1?G:G.replace(/^0\./,".");if(J=J.replace(/^#+([0.])/,"$1"),ce=J.match(/^(0*)\.(#*)$/))return yt+(""+nt).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,ce[1].length?"0.":".");if(ce=J.match(/^#{1,3},##0(\.?)$/))return yt+de(""+nt);if(ce=J.match(/^#,##0\.([#0]*0)$/))return re<0?"-"+Ie(Ee,J,-re):de(""+re)+"."+o("0",ce[1].length);if(ce=J.match(/^#,#*,#0/))return Ie(Ee,J.replace(/^#,#*,/,""),re);if(ce=J.match(/^([0#]+)(\\?-([0#]+))+$/))return G=s(Ie(Ee,J.replace(/[\\-]/g,""),re)),we=0,s(s(J.replace(/\\/g,"")).replace(/[0#]/g,function(Gs){return we<G.length?G.charAt(we++):Gs==="0"?"0":""}));if(J.match(X))return G=Ie(Ee,"##########",re),"("+G.substr(0,3)+") "+G.substr(3,3)+"-"+G.substr(6);var rt="";if(ce=J.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(ce[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),G=""+yt,rt=ae("n",ce[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),G+=rt+ce[2]+"/"+ce[3],rt=l(ze[2],we),rt.length<ce[4].length&&(rt=ue(ce[4].substr(ce[4].length-rt.length))+rt),G+=rt,G;if(ce=J.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(ce[1].length,ce[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+ce[2]+"/"+ce[3]+l(ze[2],we):o(" ",2*we+1+ce[2].length+ce[3].length));if(ce=J.match(/^[#0?]+$/))return G=""+re,J.length<=G.length?G:ue(J.substr(0,J.length-G.length))+G;if(ce=J.match(/^([#0]+)\.([#0]+)$/)){G=""+re.toFixed(Math.min(ce[2].length,10)).replace(/([^0])0+$/,"$1"),we=G.indexOf(".");var Tr=J.indexOf(".")-we,Kc=J.length-G.length-Tr;return ue(J.substr(0,Tr)+G+J.substr(J.length-Kc))}if(ce=J.match(/^00,000\.([#0]*0)$/))return re<0?"-"+Ie(Ee,J,-re):de(""+re).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Gs){return"00,"+(Gs.length<3?u(0,3-Gs.length):"")+Gs})+"."+u(0,ce[1].length);switch(J){case"###,###":case"##,###":case"#,###":var U3=de(""+nt);return U3!=="0"?yt+U3:"";default:if(J.match(/\.[0#?]*$/))return Ie(Ee,J.slice(0,J.lastIndexOf(".")),re)+ue(J.slice(J.lastIndexOf(".")))}throw new Error("unsupported format |"+J+"|")}return function(J,re,Me){return(Me|0)===Me?Ie(J,re,Me):se(J,re,Me)}}();function ie(T){for(var N=[],$=!1,q=0,L=0;q<T.length;++q)switch(T.charCodeAt(q)){case 34:$=!$;break;case 95:case 42:case 92:++q;break;case 59:N[N.length]=T.substr(L,q-L),L=q+1}if(N[N.length]=T.substr(L),$===!0)throw new Error("Format |"+T+"| unterminated string ");return N}i._split=ie;var le=/\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;function xe(T){for(var N=0,$="",q="";N<T.length;)switch($=T.charAt(N)){case"G":p(T,N)&&(N+=6),N++;break;case'"':for(;T.charCodeAt(++N)!==34&&N<T.length;);++N;break;case"\\":N+=2;break;case"_":N+=2;break;case"@":++N;break;case"B":case"b":if(T.charAt(N+1)==="1"||T.charAt(N+1)==="2")return!0;case"M":case"D":case"Y":case"H":case"S":case"E":case"m":case"d":case"y":case"h":case"s":case"e":case"g":return!0;case"A":case"a":case"上":if(T.substr(N,3).toUpperCase()==="A/P"||T.substr(N,5).toUpperCase()==="AM/PM"||T.substr(N,5).toUpperCase()==="上午/下午")return!0;++N;break;case"[":for(q=$;T.charAt(N++)!=="]"&&N<T.length;)q+=T.charAt(N);if(q.match(le))return!0;break;case".":case"0":case"#":for(;N<T.length&&("0#?.,E+-%".indexOf($=T.charAt(++N))>-1||$=="\\"&&T.charAt(N+1)=="-"&&"0#".indexOf(T.charAt(N+2))>-1););break;case"?":for(;T.charAt(++N)===$;);break;case"*":++N,(T.charAt(N)==" "||T.charAt(N)=="*")&&++N;break;case"(":case")":++N;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;N<T.length&&"0123456789".indexOf(T.charAt(++N))>-1;);break;case" ":++N;break;default:++N;break}return!1}i.is_date=xe;function Ce(T,N,$,q){for(var L=[],H="",P=0,V="",fe="t",te,X,ue,Be="H";P<T.length;)switch(V=T.charAt(P)){case"G":if(!p(T,P))throw new Error("unrecognized character "+V+" in "+T);L[L.length]={t:"G",v:"General"},P+=7;break;case'"':for(H="";(ue=T.charCodeAt(++P))!==34&&P<T.length;)H+=String.fromCharCode(ue);L[L.length]={t:"t",v:H},++P;break;case"\\":var ut=T.charAt(++P),Rt=ut==="("||ut===")"?ut:"t";L[L.length]={t:Rt,v:ut},++P;break;case"_":L[L.length]={t:"t",v:" "},P+=2;break;case"@":L[L.length]={t:"T",v:N},++P;break;case"B":case"b":if(T.charAt(P+1)==="1"||T.charAt(P+1)==="2"){if(te==null&&(te=C(N,$,T.charAt(P+1)==="2"),te==null))return"";L[L.length]={t:"X",v:T.substr(P,2)},fe=V,P+=2;break}case"M":case"D":case"Y":case"H":case"S":case"E":V=V.toLowerCase();case"m":case"d":case"y":case"h":case"s":case"e":case"g":if(N<0||te==null&&(te=C(N,$),te==null))return"";for(H=V;++P<T.length&&T.charAt(P).toLowerCase()===V;)H+=V;V==="m"&&fe.toLowerCase()==="h"&&(V="M"),V==="h"&&(V=Be),L[L.length]={t:V,v:H},fe=V;break;case"A":case"a":case"上":var K={t:V,v:V};if(te==null&&(te=C(N,$)),T.substr(P,3).toUpperCase()==="A/P"?(te!=null&&(K.v=te.H>=12?"P":"A"),K.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(te!=null&&(K.v=te.H>=12?"PM":"AM"),K.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(te!=null&&(K.v=te.H>=12?"下午":"上午"),K.t="T",P+=5,Be="h"):(K.t="t",++P),te==null&&K.t==="T")return"";L[L.length]=K,fe=V;break;case"[":for(H=V;T.charAt(P++)!=="]"&&P<T.length;)H+=T.charAt(P);if(H.slice(-1)!=="]")throw'unterminated "[" block: |'+H+"|";if(H.match(le)){if(te==null&&(te=C(N,$),te==null))return"";L[L.length]={t:"Z",v:H.toLowerCase()},fe=H.charAt(1)}else H.indexOf("$")>-1&&(H=(H.match(/\$([^-\[\]]*)/)||[])[1]||"$",xe(T)||(L[L.length]={t:"t",v:H}));break;case".":if(te!=null){for(H=V;++P<T.length&&(V=T.charAt(P))==="0";)H+=V;L[L.length]={t:"s",v:H};break}case"0":case"#":for(H=V;++P<T.length&&"0#?.,E+-%".indexOf(V=T.charAt(P))>-1;)H+=V;L[L.length]={t:"n",v:H};break;case"?":for(H=V;T.charAt(++P)===V;)H+=V;L[L.length]={t:V,v:H},fe=V;break;case"*":++P,(T.charAt(P)==" "||T.charAt(P)=="*")&&++P;break;case"(":case")":L[L.length]={t:q===1?"t":V,v:V},++P;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(H=V;P<T.length&&"0123456789".indexOf(T.charAt(++P))>-1;)H+=T.charAt(P);L[L.length]={t:"D",v:H};break;case" ":L[L.length]={t:V,v:V},++P;break;case"$":L[L.length]={t:"t",v:"$"},++P;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(V)===-1)throw new Error("unrecognized character "+V+" in "+T);L[L.length]={t:"t",v:V},++P;break}var se=0,Re=0,He;for(P=L.length-1,fe="t";P>=0;--P)switch(L[P].t){case"h":case"H":L[P].t=Be,fe="h",se<1&&(se=1);break;case"s":(He=L[P].v.match(/\.0+$/))&&(Re=Math.max(Re,He[0].length-1)),se<3&&(se=3);case"d":case"y":case"M":case"e":fe=L[P].t;break;case"m":fe==="s"&&(L[P].t="M",se<2&&(se=2));break;case"X":break;case"Z":se<1&&L[P].v.match(/[Hh]/)&&(se=1),se<2&&L[P].v.match(/[Mm]/)&&(se=2),se<3&&L[P].v.match(/[Ss]/)&&(se=3)}switch(se){case 0:break;case 1:te.u>=.5&&(te.u=0,++te.S),te.S>=60&&(te.S=0,++te.M),te.M>=60&&(te.M=0,++te.H);break;case 2:te.u>=.5&&(te.u=0,++te.S),te.S>=60&&(te.S=0,++te.M);break}var qe="",Ie;for(P=0;P<L.length;++P)switch(L[P].t){case"t":case"T":case" ":case"D":break;case"X":L[P].v="",L[P].t=";";break;case"d":case"m":case"y":case"h":case"H":case"M":case"s":case"e":case"b":case"Z":L[P].v=oe(L[P].t.charCodeAt(0),L[P].v,te,Re),L[P].t="t";break;case"n":case"?":for(Ie=P+1;L[Ie]!=null&&((V=L[Ie].t)==="?"||V==="D"||(V===" "||V==="t")&&L[Ie+1]!=null&&(L[Ie+1].t==="?"||L[Ie+1].t==="t"&&L[Ie+1].v==="/")||L[P].t==="("&&(V===" "||V==="n"||V===")")||V==="t"&&(L[Ie].v==="/"||L[Ie].v===" "&&L[Ie+1]!=null&&L[Ie+1].t=="?"));)L[P].v+=L[Ie].v,L[Ie]={v:"",t:";"},++Ie;qe+=L[P].v,P=Ie-1;break;case"G":L[P].t="t",L[P].v=Y(N,$);break}var Ee="",J,re;if(qe.length>0){qe.charCodeAt(0)==40?(J=N<0&&qe.charCodeAt(0)===45?-N:N,re=ae("n",qe,J)):(J=N<0&&q>1?-N:N,re=ae("n",qe,J),J<0&&L[0]&&L[0].t=="t"&&(re=re.substr(1),L[0].v="-"+L[0].v)),Ie=re.length-1;var Me=L.length;for(P=0;P<L.length;++P)if(L[P]!=null&&L[P].t!="t"&&L[P].v.indexOf(".")>-1){Me=P;break}var G=L.length;if(Me===L.length&&re.indexOf("E")===-1){for(P=L.length-1;P>=0;--P)L[P]==null||"n?".indexOf(L[P].t)===-1||(Ie>=L[P].v.length-1?(Ie-=L[P].v.length,L[P].v=re.substr(Ie+1,L[P].v.length)):Ie<0?L[P].v="":(L[P].v=re.substr(0,Ie+1),Ie=-1),L[P].t="t",G=P);Ie>=0&&G<L.length&&(L[G].v=re.substr(0,Ie+1)+L[G].v)}else if(Me!==L.length&&re.indexOf("E")===-1){for(Ie=re.indexOf(".")-1,P=Me;P>=0;--P)if(!(L[P]==null||"n?".indexOf(L[P].t)===-1)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ee=L[P].v.substr(X+1);X>=0;--X)Ie>=0&&(L[P].v.charAt(X)==="0"||L[P].v.charAt(X)==="#")&&(Ee=re.charAt(Ie--)+Ee);L[P].v=Ee,L[P].t="t",G=P}for(Ie>=0&&G<L.length&&(L[G].v=re.substr(0,Ie+1)+L[G].v),Ie=re.indexOf(".")+1,P=Me;P<L.length;++P)if(!(L[P]==null||"n?(".indexOf(L[P].t)===-1&&P!==Me)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ee=L[P].v.substr(0,X);X<L[P].v.length;++X)Ie<re.length&&(Ee+=re.charAt(Ie++));L[P].v=Ee,L[P].t="t",G=P}}}for(P=0;P<L.length;++P)L[P]!=null&&"n?".indexOf(L[P].t)>-1&&(J=q>1&&N<0&&P>0&&L[P-1].v==="-"?-N:N,L[P].v=ae(L[P].t,L[P].v,J),L[P].t="t");var ce="";for(P=0;P!==L.length;++P)L[P]!=null&&(ce+=L[P].v);return ce}i._eval=Ce;var D=/\[[=<>]/,k=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function j(T,N){if(N==null)return!1;var $=parseFloat(N[2]);switch(N[1]){case"=":if(T==$)return!0;break;case">":if(T>$)return!0;break;case"<":if(T<$)return!0;break;case"<>":if(T!=$)return!0;break;case">=":if(T>=$)return!0;break;case"<=":if(T<=$)return!0;break}return!1}function W(T,N){var $=ie(T),q=$.length,L=$[q-1].indexOf("@");if(q<4&&L>-1&&--q,$.length>4)throw new Error("cannot find right format for |"+$.join("|")+"|");if(typeof N!="number")return[4,$.length===4||L>-1?$[$.length-1]:"@"];switch($.length){case 1:$=L>-1?["General","General","General",$[0]]:[$[0],$[0],$[0],"@"];break;case 2:$=L>-1?[$[0],$[0],$[0],$[1]]:[$[0],$[1],$[0],"@"];break;case 3:$=L>-1?[$[0],$[1],$[0],$[2]]:[$[0],$[1],$[2],"@"];break}var H=N>0?$[0]:N<0?$[1]:$[2];if($[0].indexOf("[")===-1&&$[1].indexOf("[")===-1)return[q,H];if($[0].match(D)!=null||$[1].match(D)!=null){var P=$[0].match(k),V=$[1].match(k);return j(N,P)?[q,$[0]]:j(N,V)?[q,$[1]]:[q,$[P!=null&&V!=null?2:1]]}return[q,H]}function U(T,N,$){$==null&&($={});var q="";switch(typeof T){case"string":T=="m/d/yy"&&$.dateNF?q=$.dateNF:q=T;break;case"number":T==14&&$.dateNF?q=$.dateNF:q=($.table!=null?$.table:E)[T],q==null&&(q=$.table&&$.table[A[T]]||E[A[T]]),q==null&&(q=v[T]||"General");break}if(p(q,0))return Y(N,$);N instanceof Date&&(N=I(N,$.date1904));var L=W(q,N);if(p(L[1]))return Y(N,$);if(N===!0)N="TRUE";else if(N===!1)N="FALSE";else if(N===""||N==null)return"";return Ce(L[1],N,$,L[0])}function B(T,N){if(typeof N!="number"){N=+N||-1;for(var $=0;$<392;++$){if(E[$]==null){N<0&&(N=$);continue}if(E[$]==T){N=$;break}}N<0&&(N=391)}return E[N]=T,N}i.load=B,i._table=E,i.get_table=function(){return E},i.load_table=function(N){for(var $=0;$!=392;++$)N[$]!==void 0&&B(N[$],$)},i.init_table=y,i.format=U};n(e),typeof DO_NOT_EXPORT_SSF>"u"&&(t.exports=e)})(Ase);var rN=Ase.exports,UVe=typeof F=="object"&&F&&F.Object===Object&&F,qVe=UVe,HVe=qVe,zVe=typeof self=="object"&&self&&self.Object===Object&&self,QVe=HVe||zVe||Function("return this")(),GVe=QVe,WVe=GVe,VVe=WVe.Symbol,y8=VVe,Sse=y8;Sse&&Sse.toStringTag;var vse=y8;vse&&vse.toStringTag;var _se=y8,Cse=_se?_se.prototype:void 0;Cse&&Cse.toString;function YVe(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function XVe(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}function KVe(t,e=0){let n=t;for(;e>0&&n.parentRecord;)e-=1,n=n.parentRecord;return n}function JVe(t){const e=t.split("/"),n=e.filter(i=>i==="..").length+1,r=e.filter(i=>i!==".."&&i!=="");return{levelsUp:n,pathSegments:r}}function bse({tag:t,data:e}){var n;try{const r=((n=t.tag("field"))==null?void 0:n.text())??"",{levelsUp:i,pathSegments:s}=JVe(r);let o=KVe(e,i);for(;s.length>0&&"cell"in o;){const u=s.shift();o=o.cell(u)}return o==null?void 0:o.value}catch{return}}class Tse{constructor(){this.tagOptionExtractors={}}addExtractor(e,...n){for(const r in n)this.tagOptionExtractors[n[r]]=e}activates(e){return!1}isValidMatch(e){return!0}matches(e){return e.renderer===this.rendererName}parseTagParameters(e){const n={};for(const r in this.tagOptionExtractors){const i=e.tag(r);i&&this.tagOptionExtractors[r](n,i)}return n}}class Rse{constructor(e){this.document=e}getText(e){return e.value===null?null:`${e.value}`}async render(e){let n=null;try{n=this.getText(e)}catch(i){return YVe(this.document,i)}if(n===null)return XVe(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const gD=class gD extends Tse{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new Rse(e)}get rendererName(){}};gD.instance=new gD;let Ose=gD;function Nse(t,e,n={}){let r=e.toString();return n.terse?r=ZVe.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?rN.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const ZVe=new Map([[rr.Nanoseconds,"ns"],[rr.Microseconds,"µs"],[rr.Milliseconds,"ms"],[rr.Seconds,"s"],[rr.Minutes,"m"],[rr.Hours,"h"],[rr.Days,"d"]]),eYe=new Map([[rr.Nanoseconds,1e3],[rr.Microseconds,1e3],[rr.Milliseconds,1e3],[rr.Seconds,60],[rr.Minutes,60],[rr.Hours,24],[rr.Days,Number.MAX_VALUE]]);function Dse(t,e,n){const r=n.durationUnit&&jVe(n.durationUnit)?n.durationUnit:rr.Seconds,i=t.tagParse().tag,s=i.text("number"),o=i.has("duration","terse");let u=e,a=0,l=[],c=!1;for(const[f,x]of eYe)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[Nse(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):Nse(0,r,{numFormat:s,terse:o})}class tYe extends Rse{constructor(e,n){super(e),this.options=n}getText(e){if(e.isNull())return null;if(!e.isNumber())throw new Error(`Cannot format field ${e.field.name} as a duration unit since its not a number`);return Dse(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const mD=class mD extends Tse{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??rr.Seconds},this.rendererName)}create(e,n,r,i,s){return new tYe(e,s)}get rendererName(){return"duration"}};mD.instance=new mD;let Fse=mD;function wse(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case nN.Euros:i="€";break;case nN.Pounds:i="£";break;case nN.Dollars:break}n=rN.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=rN.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??rr.Seconds;return Dse(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=rN.format(r.text("number"),e):n=e.toLocaleString();return n}var nYe=wo("<a target=_blank>");function rYe(t,e){const{tag:n}=t.tagParse();if(e.isNull())return"∅";const r=String(e.value),i=n.tag("link");if(!i)throw new Error("Missing tag for Link renderer");const s=bse({tag:i,data:e})??r,o=i.text("url_template");let u=s;o&&(o.indexOf("$$")>-1?u=o.replace("$$",s):u=o+s);const a=r.replace(/\//g,"/");return(()=>{var l=nYe();return nA(l,"href",u),Hi(l,a),l})()}function jit(t){return t}function Uit(t){return t}Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function t(){var e=isNaN(arguments[0])?1:Number(arguments[0]);return e?Array.prototype.reduce.call(this,function(n,r){return Array.isArray(r)?n.push.apply(n,t.call(r,e-1)):n.push(r),n},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(t){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var Lse={exports:{}};(function(t){var e=function(){function n(x,h){return h!=null&&x instanceof h}var r;try{r=Map}catch{r=function(){}}var i;try{i=Set}catch{i=function(){}}var s;try{s=Promise}catch{s=function(){}}function o(x,h,p,m,g){typeof h=="object"&&(p=h.depth,m=h.prototype,g=h.includeNonEnumerable,h=h.circular);var y=[],E=[],A=typeof Buffer<"u";typeof h>"u"&&(h=!0),typeof p>"u"&&(p=1/0);function S(v,_){if(v===null)return null;if(_===0)return v;var C,b;if(typeof v!="object")return v;if(n(v,r))C=new r;else if(n(v,i))C=new i;else if(n(v,s))C=new s(function(de,ae){v.then(function(ie){de(S(ie,_-1))},function(ie){ae(S(ie,_-1))})});else if(o.__isArray(v))C=[];else if(o.__isRegExp(v))C=new RegExp(v.source,f(v)),v.lastIndex&&(C.lastIndex=v.lastIndex);else if(o.__isDate(v))C=new Date(v.getTime());else{if(A&&Buffer.isBuffer(v))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(v.length):C=new Buffer(v.length),v.copy(C),C;n(v,Error)?C=Object.create(v):typeof m>"u"?(b=Object.getPrototypeOf(v),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(v);if(O!=-1)return E[O];y.push(v),E.push(C)}n(v,r)&&v.forEach(function(de,ae){var ie=S(ae,_-1),le=S(de,_-1);C.set(ie,le)}),n(v,i)&&v.forEach(function(de){var ae=S(de,_-1);C.add(ae)});for(var R in v){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=S(v[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(v),R=0;R<M.length;R++){var z=M[R],Y=Object.getOwnPropertyDescriptor(v,z);Y&&!Y.enumerable&&!g||(C[z]=S(v[z],_-1),Y.enumerable||Object.defineProperty(C,z,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(v),R=0;R<Q.length;R++){var oe=Q[R],Y=Object.getOwnPropertyDescriptor(v,oe);Y&&Y.enumerable||(C[oe]=S(v[oe],_-1),Object.defineProperty(C,oe,{enumerable:!1}))}return C}return S(x,p)}o.clonePrototype=function(h){if(h===null)return null;var p=function(){};return p.prototype=h,new p};function u(x){return Object.prototype.toString.call(x)}o.__objToStr=u;function a(x){return typeof x=="object"&&u(x)==="[object Date]"}o.__isDate=a;function l(x){return typeof x=="object"&&u(x)==="[object Array]"}o.__isArray=l;function c(x){return typeof x=="object"&&u(x)==="[object RegExp]"}o.__isRegExp=c;function f(x){var h="";return x.global&&(h+="g"),x.ignoreCase&&(h+="i"),x.multiline&&(h+="m"),h}return o.__getRegExpFlags=f,o}();t.exports&&(t.exports=e)})(Lse);var iYe=Lse.exports;const sYe=FD(iYe);var oYe=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const uYe=FD(oYe);var aYe=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var n=typeof e.cycles=="boolean"?e.cycles:!1,r=e.cmp&&function(s){return function(o){return function(u,a){var l={key:u,value:o[u]},c={key:a,value:o[a]};return s(l,c)}}}(e.cmp),i=[];return function s(o){if(o&&o.toJSON&&typeof o.toJSON=="function"&&(o=o.toJSON()),o!==void 0){if(typeof o=="number")return isFinite(o)?""+o:"null";if(typeof o!="object")return JSON.stringify(o);var u,a;if(Array.isArray(o)){for(a="[",u=0;u<o.length;u++)u&&(a+=","),a+=s(o[u])||"null";return a+"]"}if(o===null)return"null";if(i.indexOf(o)!==-1){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var l=i.push(o)-1,c=Object.keys(o).sort(r&&r(o));for(a="",u=0;u<c.length;u++){var f=c[u],x=s(o[f]);x&&(a&&(a+=","),a+=JSON.stringify(f)+":"+x)}return i.splice(l,1),"{"+a+"}"}}(t)};const E8=FD(aYe);function A8(t){return!!t.or}function S8(t){return!!t.and}function v8(t){return!!t.not}function iN(t,e){if(v8(t))iN(t.not,e);else if(S8(t))for(const n of t.and)iN(n,e);else if(A8(t))for(const n of t.or)iN(n,e);else e(t)}function R2(t,e){return v8(t)?{not:R2(t.not,e)}:S8(t)?{and:t.and.map(n=>R2(n,e))}:A8(t)?{or:t.or.map(n=>R2(n,e))}:e(t)}const Gl=uYe,ot=sYe;function lYe(t){throw new Error(t)}function d3(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function Co(t,e){const n=Object.assign({},t);for(const r of e)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(t=>E8(t)).join(",")})`};const sn=E8;function bt(t){if(nn(t))return t;const e=je(t)?t:E8(t);if(e.length<250)return e;let n=0;for(let r=0;r<e.length;r++){const i=e.charCodeAt(r);n=(n<<5)-n+i,n=n&n}return n}function Ise(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function O2(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function $se(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function cYe(t,...e){for(const n of e)fYe(t,n??{});return t}function fYe(t,e){for(const n of be(e))jb(t,n,e[n],!0)}function Wl(t,e){const n=[],r={};let i;for(const s of t)i=e(s),!(i in r)&&(r[i]=1,n.push(s));return n}function xYe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function Bse(t,e){for(const n of t)if(e.has(n))return!0;return!1}function kse(t){const e=new Set;for(const n of t){const i=El(n).map((o,u)=>u===0?o:`[${o}]`),s=i.map((o,u)=>i.slice(0,u+1).join(""));for(const o of s)e.add(o)}return e}function Pse(t,e){return t===void 0||e===void 0?!0:Bse(kse(t),kse(e))}function Wt(t){return be(t).length===0}const be=Object.keys,Pi=Object.values,Ad=Object.entries;function sN(t){return t===!0||t===!1}function mn(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function oN(t,e){return v8(t)?`!(${oN(t.not,e)})`:S8(t)?`(${t.and.map(n=>oN(n,e)).join(") && (")})`:A8(t)?`(${t.or.map(n=>oN(n,e)).join(") || (")})`:e(t)}function _8(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&_8(t[n],e)&&delete t[n],Wt(t)}function uN(t){return t.charAt(0).toUpperCase()+t.substr(1)}function Mse(t,e="datum"){const n=El(t),r=[];for(let i=1;i<=n.length;i++){const s=`[${n.slice(0,i).map(Fe).join("][")}]`;r.push(`${e}${s}`)}return r.join(" && ")}function dYe(t,e="datum"){return`${e}[${Fe(El(t).join("."))}]`}function hYe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function fu(t){return`${El(t).map(hYe).join("\\.")}`}function N2(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function jse(t){return`${El(t).join(".")}`}function h3(t){return t?El(t).length:0}function ir(...t){for(const e of t)if(e!==void 0)return e}let pYe=42;function gYe(t){const e=++pYe;return t?String(t)+e:e}function mYe(t){return yYe(t)?t:`__${t}`}function yYe(t){return t.startsWith("__")}function aN(t){if(t!==void 0)return(t%360+360)%360}function C8(t){return nn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var p3=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Vl="row",Yl="column",lN="facet",yn="x",_r="y",xu="x2",Ca="y2",Fc="xOffset",D2="yOffset",ba="radius",Xl="radius2",du="theta",Kl="theta2",Ta="latitude",Ra="longitude",hu="latitude2",bo="longitude2",hs="color",Oa="fill",Na="stroke",ps="shape",Jl="size",Sd="angle",Zl="opacity",wc="fillOpacity",Lc="strokeOpacity",Ic="strokeWidth",$c="strokeDash",g3="text",m3="order",y3="detail",cN="key",vd="tooltip",fN="href",xN="url",dN="description",EYe={x:1,y:1,x2:1,y2:1},Use={theta:1,theta2:1,radius:1,radius2:1};function qse(t){return t in Use}const b8={longitude:1,longitude2:1,latitude:1,latitude2:1};function AYe(t){switch(t){case Ta:return"y";case hu:return"y2";case Ra:return"x";case bo:return"x2"}}function SYe(t){return t in b8}const vYe=be(b8),T8=Object.assign(Object.assign(Object.assign(Object.assign({},EYe),Use),b8),{xOffset:1,yOffset:1,color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1});function F2(t){return t===hs||t===Oa||t===Na}const Hse={row:1,column:1,facet:1},To=be(Hse),R8=Object.assign(Object.assign({},T8),Hse),_Ye=be(R8),CYe=p3(R8,["order","detail","tooltip"]),bYe=p3(CYe,["row","column","facet"]);function TYe(t){return!!bYe[t]}function zse(t){return!!R8[t]}const RYe=[xu,Ca,hu,bo,Kl,Xl];function Qse(t){return _d(t)!==t}function _d(t){switch(t){case xu:return yn;case Ca:return _r;case hu:return Ta;case bo:return Ra;case Kl:return du;case Xl:return ba}return t}function Bc(t){if(qse(t))switch(t){case du:return"startAngle";case Kl:return"endAngle";case ba:return"outerRadius";case Xl:return"innerRadius"}return t}function e0(t){switch(t){case yn:return xu;case _r:return Ca;case Ta:return hu;case Ra:return bo;case du:return Kl;case ba:return Xl}}function gs(t){switch(t){case yn:case xu:return"width";case _r:case Ca:return"height"}}function OYe(t){switch(t){case yn:return"xOffset";case _r:return"yOffset";case xu:return"x2Offset";case Ca:return"y2Offset";case du:return"thetaOffset";case ba:return"radiusOffset";case Kl:return"theta2Offset";case Xl:return"radius2Offset"}}function Gse(t){switch(t){case yn:return"xOffset";case _r:return"yOffset"}}function Wse(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const NYe=be(T8),O8=p3(T8,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),DYe=be(O8),N8={x:1,y:1},Da=be(N8);function kr(t){return t in N8}const D8={theta:1,radius:1},FYe=be(D8);function hN(t){return t==="width"?yn:_r}const Vse={xOffset:1,yOffset:1};function w2(t){return t in Vse}const Yse=p3(O8,["text","tooltip","href","url","description","detail","key","order"]),wYe=be(Yse);function LYe(t){return!!O8[t]}function IYe(t){switch(t){case hs:case Oa:case Na:case Jl:case ps:case Zl:case Ic:case $c:return!0;case wc:case Lc:case Sd:return!1}}const Xse=Object.assign(Object.assign(Object.assign(Object.assign({},N8),D8),Vse),Yse),pN=be(Xse);function kc(t){return!!Xse[t]}function $Ye(t,e){return kYe(t)[e]}const Kse={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},BYe=p3(Kse,["geoshape"]);function kYe(t){switch(t){case hs:case Oa:case Na:case dN:case y3:case cN:case vd:case fN:case m3:case Zl:case wc:case Lc:case Ic:case lN:case Vl:case Yl:return Kse;case yn:case _r:case Fc:case D2:case Ta:case Ra:return BYe;case xu:case Ca:case hu:case bo:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Jl:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case $c:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case ps:return{point:"always",geoshape:"always"};case g3:return{text:"always"};case Sd:return{point:"always",square:"always",text:"always"};case xN:return{image:"always"};case du:return{text:"always",arc:"always"};case ba:return{text:"always",arc:"always"};case Kl:case Xl:return{arc:"always"}}}function F8(t){switch(t){case yn:case _r:case du:case ba:case Fc:case D2:case Jl:case Sd:case Ic:case Zl:case wc:case Lc:case xu:case Ca:case Kl:case Xl:return;case lN:case Vl:case Yl:case ps:case $c:case g3:case vd:case fN:case xN:case dN:return"discrete";case hs:case Oa:case Na:return"flexible";case Ta:case Ra:case hu:case bo:case y3:case cN:case m3:return}}const PYe={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},MYe={count:1,min:1,max:1};function t0(t){return!!t&&!!t.argmin}function Pc(t){return!!t&&!!t.argmax}function w8(t){return je(t)&&!!PYe[t]}const jYe=new Set(["count","valid","missing","distinct"]);function Jse(t){return je(t)&&jYe.has(t)}function UYe(t){return je(t)&&Tt(["min","max"],t)}const qYe=new Set(["count","sum","distinct","valid","missing"]),HYe=new Set(["mean","average","median","q1","q3","min","max"]);function Zse(t){return Fp(t)&&(t=IN(t,void 0)),"bin"+be(t).map(e=>gN(t[e])?mn(`_${e}_${Ad(t[e])}`):mn(`_${e}_${t[e]}`)).join("")}function Kt(t){return t===!0||Cd(t)&&!t.binned}function Mi(t){return t==="binned"||Cd(t)&&t.binned===!0}function Cd(t){return Qe(t)}function gN(t){return t==null?void 0:t.param}function eoe(t){switch(t){case Vl:case Yl:case Jl:case hs:case Oa:case Na:case Ic:case Zl:case wc:case Lc:case ps:return 6;case $c:return 4;default:return 10}}function E3(t){return t&&!!t.expr}function ms(t){const e=be(t||{}),n={};for(const r of e)n[r]=Hs(t[r]);return n}var zYe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function toe(t){const{anchor:e,frame:n,offset:r,orient:i,angle:s,limit:o,color:u,subtitleColor:a,subtitleFont:l,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:x,subtitleLineHeight:h,subtitlePadding:p}=t,m=zYe(t,["anchor","frame","offset","orient","angle","limit","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),g=Object.assign(Object.assign({},m),u?{fill:u}:{}),y=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e?{anchor:e}:{}),n?{frame:n}:{}),r?{offset:r}:{}),i?{orient:i}:{}),s!==void 0?{angle:s}:{}),o!==void 0?{limit:o}:{}),E=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a?{subtitleColor:a}:{}),l?{subtitleFont:l}:{}),c?{subtitleFontSize:c}:{}),f?{subtitleFontStyle:f}:{}),x?{subtitleFontWeight:x}:{}),h?{subtitleLineHeight:h}:{}),p?{subtitlePadding:p}:{}),A=d3(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Mc(t){return je(t)||_e(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function jc(t){return!!t.step}function QYe(t){return _e(t)?!1:"fields"in t&&!("data"in t)}function GYe(t){return _e(t)?!1:"fields"in t&&"data"in t}function n0(t){return _e(t)?!1:"field"in t&&"data"in t}const WYe=be({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),VYe={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},L8=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var I8=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function noe(t){const e=_e(t.condition)?t.condition.map(roe):roe(t.condition);return Object.assign(Object.assign({},Hs(t)),{condition:e})}function Hs(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return t}function roe(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return t}function on(t){if(E3(t)){const{expr:e}=t,n=I8(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function YYe(t){return Ye(t)?t.signal:Fe(t)}function ioe(t){return Ye(t)?t.signal:Fe(t.value)}function r0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function XYe(t,e,n){for(const r of n){const i=bd(r,e.markDef,e.config);i!==void 0&&(t[r]=on(i))}return t}function soe(t){var e;return[].concat(t.type,(e=t.style)!==null&&e!==void 0?e:[])}function kt(t,e,n,r={}){const{vgChannel:i,ignoreVgConfig:s}=r;return i&&e[i]!==void 0?e[i]:e[t]!==void 0?e[t]:s&&(!i||i===t)?void 0:bd(t,e,n,r)}function bd(t,e,n,{vgChannel:r}={}){return ir(r?mN(t,e,n.style):void 0,mN(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function mN(t,e,n){return ooe(t,soe(e),n)}function ooe(t,e,n){e=Pe(e);let r;for(const i of e){const s=n[i];s&&s[t]!==void 0&&(r=s[t])}return r}function uoe(t,e){return Pe(t).reduce((n,r)=>{var i;return n.field.push($e(r,e)),n.order.push((i=r.sort)!==null&&i!==void 0?i:"ascending"),n},{field:[],order:[]})}function aoe(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Gl(i,r))return;n.push(r)}),n}function loe(t,e){return Gl(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function coe(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Mc(n)||Ye(n))&&(Mc(r)||Ye(r)))return{explicit:t.explicit,value:loe(n,r)};if(Mc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Mc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Mc(n)&&!Ye(n)&&!Mc(r)&&!Ye(r))return{explicit:t.explicit,value:aoe(n,r)};throw new Error("It should never reach here")}function $8(t){return`Invalid specification ${sn(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const KYe='Autosize "fit" only works for single views and layered views.';function foe(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function xoe(t){const e=t=="width"?"Width":"Height",n=t=="width"?"x":"y";return`${e} "container" only works well with autosize "fit" or "fit-${n}".`}function doe(t){return t?`Dropping "fit-${t}" because spec has discrete ${gs(t)}.`:'Dropping "fit" because spec has discrete size.'}function B8(t){return`Unknown field for ${t}. Cannot calculate view size.`}function hoe(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function JYe(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function ZYe(t){return`The "nearest" transform is not supported for ${t} marks.`}function poe(t){return`Selection not supported for ${t} yet.`}function eXe(t){return`Cannot find a selection named "${t}".`}const tXe="Scale bindings are currently only supported for scales with unbinned, continuous domains.",nXe="Legend bindings are only supported for selections over an individual field or encoding channel.";function rXe(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function iXe(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const sXe="The same selection must be used to override scale domains in a layered view.",oXe='Interval selections should be initialized using "x" and/or "y" keys.';function uXe(t){return`Unknown repeated value "${t}".`}function goe(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const aXe="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function lXe(t){return`Unrecognized parse "${t}".`}function moe(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const cXe="Attempt to add the same child twice.";function fXe(t){return`Ignoring an invalid transform: ${sn(t)}.`}const xXe='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function yoe(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function dXe(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${sn(e)} is overridden by a child projection ${sn(n)}.`}const hXe="Arc marks uses theta channel rather than angle, replacing angle with theta.";function pXe(t){return`${t}Offset dropped because ${t} is continuous`}function gXe(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function mXe(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${sn(n)}}.`}function Eoe(t){return`Invalid field type "${t}".`}function yXe(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function EXe(t){return`Invalid aggregation operator "${t}".`}function Aoe(t,e){const{fill:n,stroke:r}=e;return`Dropping color ${t} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function AXe(t){return`Position range does not support relative band size for ${t}.`}function k8(t,e){return`Dropping ${sn(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const SXe="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function yN(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function vXe(t){return`${t} encoding has no scale, so specified scale is ignored.`}function _Xe(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function CXe(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function bXe(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function TXe(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function P8(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function RXe(t){return`The ${t} for range marks cannot be an expression`}function OXe(t,e){return`Line mark is for continuous lines and thus cannot be used with ${t&&e?"x2 and y2":t?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function NXe(t,e){return`Specified orient "${t}" overridden with "${e}".`}function DXe(t){return`Cannot use the scale property "${t}" with non-color channel.`}function FXe(t){return`Cannot use the relative band size with ${t} scale.`}function wXe(t){return`Using unaggregated domain with raw field has no effect (${sn(t)}).`}function LXe(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function IXe(t){return`Unaggregated domain is currently unsupported for log scale (${sn(t)}).`}function $Xe(t){return`Cannot apply size to non-oriented mark "${t}".`}function BXe(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function kXe(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function Soe(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function voe(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function PXe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using ${sn(n)}.`}function MXe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using the union of the two domains.`}function jXe(t){return`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`}function UXe(t){return`Dropping sort property ${sn(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const _oe="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",qXe="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",HXe="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",zXe="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function QXe(t){return`Cannot stack "${t}" if there is already "${t}2".`}function GXe(t){return`Cannot stack non-linear scale (${t}).`}function WXe(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function EN(t,e){return`Invalid ${t}: ${sn(e)}.`}function VXe(t){return`Dropping day from datetime ${sn(t)} as day cannot be combined with other units.`}function YXe(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function XXe(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function KXe(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function Coe(t){return`1D error band does not support ${t}.`}function boe(t){return`Channel ${t} is required for "binned" bin.`}function JXe(t){return`Channel ${t} should not be used with "binned" bin.`}function ZXe(t){return`Domain for ${t} is required for threshold scale.`}const Toe=JW(KW);let L2=Toe;function eKe(t){return L2=t,L2}function tKe(){return L2=Toe,L2}function Te(...t){L2.warn(...t)}function nKe(...t){L2.debug(...t)}function Td(t){if(t&&Qe(t)){for(const e of j8)if(e in t)return!0}return!1}const Roe=["january","february","march","april","may","june","july","august","september","october","november","december"],rKe=Roe.map(t=>t.substr(0,3)),Ooe=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],iKe=Ooe.map(t=>t.substr(0,3));function sKe(t){if(C8(t)&&(t=+t),nn(t))return t>4&&Te(EN("quarter",t)),t-1;throw new Error(EN("quarter",t))}function oKe(t){if(C8(t)&&(t=+t),nn(t))return t-1;{const e=t.toLowerCase(),n=Roe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=rKe.indexOf(r);if(i!==-1)return i;throw new Error(EN("month",t))}}function uKe(t){if(C8(t)&&(t=+t),nn(t))return t%7;{const e=t.toLowerCase(),n=Ooe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=iKe.indexOf(r);if(i!==-1)return i;throw new Error(EN("day",t))}}function M8(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(VXe(t)),t=ot(t),delete t.day),t.year!==void 0?n.push(t.year):n.push(2012),t.month!==void 0){const r=e?oKe(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?sKe(t.quarter):t.quarter;n.push(nn(r)?r*3:`${r}*3`)}else n.push(0);if(t.date!==void 0)n.push(t.date);else if(t.day!==void 0){const r=e?uKe(t.day):t.day;n.push(nn(r)?r+1:`${r}+1`)}else n.push(1);for(const r of["hours","minutes","seconds","milliseconds"]){const i=t[r];n.push(typeof i>"u"?0:i)}return n}function A3(t){const n=M8(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function aKe(t){const n=M8(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function lKe(t){const e=M8(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var cKe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Noe={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},j8=be(Noe);function fKe(t){return!!Noe[t]}function U8(t){return t.startsWith("utc")}function xKe(t){return t.substr(3)}const dKe={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function q8(t){return j8.filter(e=>Doe(t,e))}function Doe(t,e){const n=t.indexOf(e);return!(n<0||n>0&&e==="seconds"&&t.charAt(n-1)==="i"||t.length>n+3&&e==="day"&&t.charAt(n+3)==="o"||n>0&&e==="year"&&t.charAt(n-1)==="f")}function hKe(t,e,{end:n}={end:!1}){const r=Mse(e),i=U8(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of j8)Doe(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),aKe(u)}function Foe(t){if(!t)return;const e=q8(t);return`timeUnitSpecifier(${sn(e)}, ${sn(dKe)})`}function pKe(t,e,n){if(!t)return;const r=Foe(t);return`${n||U8(t)?"utc":"time"}Format(${e}, ${r})`}function ji(t){if(!t)return;let e;return je(t)?e={unit:t}:Qe(t)&&(e=Object.assign(Object.assign({},t),t.unit?{unit:t.unit}:{})),U8(e.unit)&&(e.utc=!0,e.unit=xKe(e.unit)),e}function gKe(t){const e=ji(t),{utc:n}=e,r=cKe(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>mn(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>mn(`_${i}_${r[i]}`)).join("")}function mKe(t){return t==null?void 0:t.param}function H8(t){return t&&!!t.field&&t.equal!==void 0}function z8(t){return t&&!!t.field&&t.lt!==void 0}function Q8(t){return t&&!!t.field&&t.lte!==void 0}function G8(t){return t&&!!t.field&&t.gt!==void 0}function W8(t){return t&&!!t.field&&t.gte!==void 0}function V8(t){if(t!=null&&t.field){if(_e(t.range)&&t.range.length===2)return!0;if(Ye(t.range))return!0}return!1}function Y8(t){return t&&!!t.field&&(_e(t.oneOf)||_e(t.in))}function yKe(t){return t&&!!t.field&&t.valid!==void 0}function woe(t){return Y8(t)||H8(t)||V8(t)||z8(t)||G8(t)||Q8(t)||W8(t)}function Fa(t,e){return $N(t,{timeUnit:e,wrapTime:!0})}function EKe(t,e){return t.map(n=>Fa(n,e))}function Loe(t,e=!0){var n;const{field:r}=t,i=(n=ji(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${hKe(i,r)})`:$e(t,{expr:"datum"});if(H8(t))return`${s}===${Fa(t.equal,i)}`;if(z8(t)){const o=t.lt;return`${s}<${Fa(o,i)}`}else if(G8(t)){const o=t.gt;return`${s}>${Fa(o,i)}`}else if(Q8(t)){const o=t.lte;return`${s}<=${Fa(o,i)}`}else if(W8(t)){const o=t.gte;return`${s}>=${Fa(o,i)}`}else{if(Y8(t))return`indexof([${EKe(t.oneOf,i).join(",")}], ${s}) !== -1`;if(yKe(t))return X8(s,t.valid);if(V8(t)){const{range:o}=t,u=Ye(o)?{signal:`${o.signal}[0]`}:o[0],a=Ye(o)?{signal:`${o.signal}[1]`}:o[1];if(u!==null&&a!==null&&e)return"inrange("+s+", ["+Fa(u,i)+", "+Fa(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Fa(u,i)}`),a!==null&&l.push(`${s} <= ${Fa(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${sn(t)}`)}function X8(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function AKe(t){var e;return woe(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=ji(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const S3={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function SKe(t){return t==="quantitative"||t==="temporal"}function Ioe(t){return t==="ordinal"||t==="nominal"}const Rd=S3.quantitative,K8=S3.ordinal,I2=S3.temporal,J8=S3.nominal,$2=S3.geojson;function vKe(t){if(t)switch(t=t.toLowerCase(),t){case"q":case Rd:return"quantitative";case"t":case I2:return"temporal";case"o":case K8:return"ordinal";case"n":case J8:return"nominal";case $2:return"geojson"}}var _Ke=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ys={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Z8={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function CKe(t,e){const n=Z8[t],r=Z8[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const bKe={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function $oe(t){return bKe[t]}const Boe=new Set(["linear","log","pow","sqrt","symlog"]),koe=new Set([...Boe,"time","utc"]);function Poe(t){return Boe.has(t)}const Moe=new Set(["quantile","quantize","threshold"]),TKe=new Set([...koe,...Moe,"sequential","identity"]),RKe=new Set(["ordinal","bin-ordinal","point","band"]);function Cr(t){return RKe.has(t)}function zs(t){return TKe.has(t)}function pu(t){return koe.has(t)}function B2(t){return Moe.has(t)}const OKe={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function NKe(t){return!je(t)&&!!t.name}function joe(t){return t==null?void 0:t.param}function DKe(t){return t&&t.unionWith}function FKe(t){return Qe(t)&&"field"in t}const wKe=_Ke({type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},["type","domain","range","rangeMax","rangeMin","scheme"]),LKe=be(wKe);function e7(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(t);case"bins":return!["point","band","identity","ordinal"].includes(t);case"round":return pu(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return pu(t)||["point","band"].includes(t);case"paddingOuter":case"align":return["point","band"].includes(t);case"paddingInner":return t==="band";case"domainMax":case"domainMid":case"domainMin":case"clamp":return pu(t);case"nice":return pu(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return zs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function Uoe(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return F2(t)?void 0:DXe(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function IKe(t,e){return Tt([K8,J8],e)?t===void 0||Cr(t):e===I2?Tt([ys.TIME,ys.UTC,void 0],t):e===Rd?Poe(t)||B2(t)||t===void 0:!0}function $Ke(t,e,n=!1){if(!kc(t))return!1;switch(t){case yn:case _r:case Fc:case D2:case du:case ba:return pu(e)||e==="band"?!0:e==="point"?!n:!1;case Jl:case Ic:case Zl:case wc:case Lc:case Sd:return pu(e)||B2(e)||Tt(["band","point","ordinal"],e);case hs:case Oa:case Na:return e!=="band";case $c:case ps:return e==="ordinal"||B2(e)}}const Ui={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},qoe=Ui.arc,AN=Ui.area,SN=Ui.bar,BKe=Ui.image,vN=Ui.line,_N=Ui.point,kKe=Ui.rect,CN=Ui.rule,Hoe=Ui.text,t7=Ui.tick,PKe=Ui.trail,n7=Ui.circle,r7=Ui.square,zoe=Ui.geoshape;function Uc(t){return["line","area","trail"].includes(t)}function Qoe(t){return["rect","bar","image","arc"].includes(t)}const MKe=new Set(be(Ui));function wa(t){return t.type}const jKe=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],UKe=["fill","fillOpacity"],qKe=[...jKe,...UKe],Goe=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),HKe={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},zKe={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},Woe=be({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function k2(t){return t&&t.band!=null}const QKe={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},Voe=5,GKe={binSpacing:1,continuousBandSize:Voe,timeUnitBandPosition:.5},WKe={binSpacing:0,continuousBandSize:Voe,timeUnitBandPosition:.5},VKe={thickness:1};function YKe(t){return wa(t)?t.type:t}function i7(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=o7(t);return Le(n)&&!Jse(n.aggregate)&&i&&pu(i.get("type"))?XKe({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function XKe({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return Uc(n.type)?r:kt("invalid",n,i)===null?[KKe(t,e),r]:r}function KKe(t,e){const n=s7(t,!0),i=_d(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function s7(t,e=!0){return X8(je(t)?t:$e(t,{expr:"datum"}),!e)}function JKe(t){const{datum:e}=t;return Td(e)?A3(e):`${sn(e)}`}function Od(t,e,n,r){const i={};if(e&&(i.scale=e),Ia(t)){const{datum:s}=t;Td(s)?i.signal=A3(s):Ye(s)?i.signal=s.signal:E3(s)?i.signal=s.expr:i.value=s}else i.field=$e(t,n);if(r){const{offset:s,band:o}=r;s&&(i.offset=s),o&&(i.band=o)}return i}function bN({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:n,offset:r,startSuffix:i,bandPosition:s=.5}){const o=0<s&&s<1?"datum":void 0,u=$e(e,{expr:o,suffix:i}),a=n!==void 0?$e(n,{expr:o}):$e(e,{suffix:"end",expr:o}),l={};if(s===0||s===1){l.scale=t;const c=s===0?u:a;l.field=c}else{const c=Ye(s)?`${s.signal} * ${u} + (1-${s.signal}) * ${a}`:`${s} * ${u} + ${1-s} * ${a}`;l.signal=`scale("${t}", ${c})`}return r&&(l.offset=r),l}function o7({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l,bandPosition:c}){var f;if(e){if(it(e)){const x=o==null?void 0:o.get("type");if(Ro(e)){c??(c=oue({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Kt(h)||c&&p&&m===I2)return u!=null&&u.impute?Od(e,s,{binSuffix:"mid"},{offset:a}):c&&!Cr(x)?bN({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Od(e,s,b3(e,t)?{binSuffix:"range"}:{},{offset:a});if(Mi(h)){if(Le(n))return bN({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(boe(t===yn?xu:Ca))}}return Od(e,s,Cr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(gu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},v3(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function v3(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:on(e)}function Nd(t){return t&&t!=="number"&&t!=="time"}function Yoe(t,e,n){return`${t}(${e}${n?`, ${sn(n)}`:""})`}const ZKe=" – ";function u7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Nd(n))return a7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=Xoe(t,r,i);if(j2(t)){const l=tJe(a,Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,Dd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===ys.UTC);return l?{signal:l}:void 0}if(e=Zoe(x7(t),e,s),Le(t)&&Kt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:TN(a,l,e,n,s)}}else return e||x7(t)==="quantitative"?{signal:`${eue(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function Xoe(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):JKe(t)}function a7({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=Xoe(t,r,i)),Le(t)&&Kt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:TN(o,u,e,n,s)}}return{signal:Yoe(n,o,e)}}function Koe(t,e,n,r,i,s){var o;if(!Nd(r)){if(j2(t)){const u=Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return eJe(n,u,i,s)}return Zoe(e,n,i)}}function Joe(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(j2(e)&&n!=="time"&&n!=="utc")return"time"}function Zoe(t,e,n){if(je(e))return e;if(t===Rd)return n.numberFormat}function eJe(t,e,n,r){return t||(e?{signal:Foe(e)}:r?void 0:n.timeFormat)}function eue(t,e){return`format(${t}, "${e||""}")`}function tue(t,e,n,r){var i;return Nd(n)?Yoe(n,t,e):eue(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function TN(t,e,n,r,i){const s=tue(t,n,r,i),o=tue(e,n,r,i);return`${X8(t,!1)} ? "null" : ${s} + "${ZKe}" + ${o}`}function tJe(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):pKe(e,t,i)}const RN="min",nJe={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function nue(t){return t in nJe}function rue(t){return!!t&&!!t.encoding}function La(t){return!!t&&(t.op==="count"||!!t.field)}function iue(t){return!!t&&_e(t)}function _3(t){return"row"in t||"column"in t}function l7(t){return!!t&&"header"in t}function ON(t){return"facet"in t}var c7=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function rJe(t){return t.param}function iJe(t){return t&&!je(t)&&"repeat"in t}function sue(t){const{field:e,timeUnit:n,bin:r,aggregate:i}=t;return Object.assign(Object.assign(Object.assign(Object.assign({},n?{timeUnit:n}:{}),r?{bin:r}:{}),i?{aggregate:i}:{}),{field:e})}function f7(t){return"sort"in t}function oue({fieldDef:t,fieldDef2:e,markDef:n,config:r}){if(it(t)&&t.bandPosition!==void 0)return t.bandPosition;if(Le(t)){const{timeUnit:i,bin:s}=t;if(i&&!e)return Qoe(n.type)?0:bd("timeUnitBandPosition",n,r);if(Kt(s))return .5}}function uue({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=gs(t),f=kt(o?"size":c,r,i,{vgChannel:c});if(f!==void 0)return f;if(Le(e)){const{timeUnit:x,bin:h}=e;if(x&&!n)return{band:bd("timeUnitBandSize",r,i)};if(Kt(h)&&!Cr(s))return{band:1}}if(Qoe(r.type))return s?Cr(s)?((u=i[r.type])===null||u===void 0?void 0:u.discreteBandSize)||{band:1}:(a=i[r.type])===null||a===void 0?void 0:a.continuousBandSize:(l=i[r.type])===null||l===void 0?void 0:l.discreteBandSize}function aue(t,e,n,r){return Kt(t.bin)||t.timeUnit&&Ro(t)&&t.type==="temporal"?oue({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function NN(t){return t&&"condition"in t}function DN(t){const e=t&&t.condition;return!!e&&!_e(e)&&Le(e)}function C3(t){const e=t&&t.condition;return!!e&&!_e(e)&&it(e)}function sJe(t){const e=t&&t.condition;return!!e&&(_e(e)||gu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function x7(t){return t&&t.type}function Ia(t){return t&&"datum"in t}function $a(t){return Ro(t)&&!FN(t)||d7(t)}function d7(t){return Ia(t)&&nn(t.datum)}function it(t){return Le(t)||Ia(t)}function Ro(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function gu(t){return t&&"value"in t&&"value"in t}function Dd(t){return t&&("scale"in t||"sort"in t)}function h7(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function lue(t){return t&&"legend"in t}function cue(t){return t&&("format"in t||"formatType"in t)}function oJe(t){return Co(t,["legend","axis","header","scale"])}function uJe(t){return"op"in t}function $e(t,e={}){var n,r,i;let s=t.field;const o=e.prefix;let u=e.suffix,a="";if(lJe(t))s=mYe("count");else{let l;if(!e.nofn)if(uJe(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Kt(c)?(l=Zse(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?Pc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):t0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=gKe(x),u=(!["range","mid"].includes(e.binSuffix)&&e.binSuffix||"")+((i=e.suffix)!==null&&i!==void 0?i:""))}l&&(s=s?`${l}_${s}`:l)}return u&&(s=`${s}_${u}`),o&&(s=`${o}_${s}`),e.forAs?jse(s):e.expr?dYe(s,e.expr)+a:fu(s)+a}function FN(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Le(t)&&!!t.bin;case"temporal":return!1}throw new Error(Eoe(t.type))}function aJe(t){var e;return Dd(t)&&B2((e=t.scale)===null||e===void 0?void 0:e.type)}function lJe(t){return t.aggregate==="count"}function cJe(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Kt(i))return`${r} (binned)`;if(s){const u=(n=ji(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${q8(u).join("-")})`}else if(o)return Pc(o)?`${r} for max ${o.argmax}`:t0(o)?`${r} for min ${o.argmin}`:`${uN(o)} of ${r}`;return r}function fJe(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(Pc(e))return`${i} for argmax(${e.argmax})`;if(t0(e))return`${i} for argmin(${e.argmin})`;const s=ji(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Kt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const fue=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return fJe(t);default:return cJe(t,e)}};let xue=fue;function due(t){xue=t}function xJe(){due(fue)}function P2(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=p7(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?g7(u,e):void 0;return n?ir(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function p7(t){if(h7(t)&&t.axis)return t.axis;if(lue(t)&&t.legend)return t.legend;if(l7(t)&&t.header)return t.header}function g7(t,e){return xue(t,e)}function wN(t){var e;if(cue(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=p7(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function dJe(t,e){var n;switch(e){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(f7(t)&&_e(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!Pc(r)&&!t0(r))return"quantitative";if(Dd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(Z8[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ba(t){if(Le(t))return t;if(DN(t))return t.condition}function sr(t){if(it(t))return t;if(C3(t))return t.condition}function hue(t,e,n,r={}){if(je(t)||nn(t)||Fp(t)){const i=je(t)?"string":nn(t)?"number":"boolean";return Te(mXe(e,i,t)),{value:t}}return it(t)?LN(t,e,n,r):C3(t)?Object.assign(Object.assign({},t),{condition:LN(t.condition,e,n,r)}):t}function LN(t,e,n,r){if(cue(t)){const{format:i,formatType:s}=t,o=c7(t,["format","formatType"]);if(Nd(s)&&!n.customFormatTypes)return Te(yoe(e)),LN(o,e,n,r)}else{const i=h7(t)?"axis":lue(t)?"legend":l7(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=c7(s,["format","formatType"]);if(Nd(u)&&!n.customFormatTypes)return Te(yoe(e)),LN(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?m7(t,e,r):hJe(t)}function hJe(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=nn(n)?"quantitative":je(n)?"nominal":Td(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function m7(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!w8(r)&&!Pc(r)&&!t0(r)&&(Te(EXe(r)),delete u.aggregate),i&&(u.timeUnit=ji(i)),o&&(u.field=`${o}`),Kt(s)&&(u.bin=IN(s,e)),Mi(s)&&!kr(e)&&Te(JXe(e)),Ro(u)){const{type:a}=u,l=vKe(a);a!==l&&(u.type=l),a!=="quantitative"&&Jse(r)&&(Te(yXe(a,r)),u.type="quantitative")}else if(!Qse(e)){const a=dJe(u,e);u.type=a}if(Ro(u)){const{compatible:a,warning:l}=pJe(u,e)||{};a===!1&&Te(l)}if(f7(u)&&je(u.sort)){const{sort:a}=u;if(nue(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&nue(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(l7(u)){const{header:a}=u;if(a){const{orient:l}=a,c=c7(a,["orient"]);if(l)return Object.assign(Object.assign({},u),{header:Object.assign(Object.assign({},c),{labelOrient:a.labelOrient||l,titleOrient:a.titleOrient||l})})}}return u}function IN(t,e){return Fp(t)?{maxbins:eoe(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:eoe(e)}):t}const M2={compatible:!0};function pJe(t,e){const n=t.type;if(n==="geojson"&&e!=="shape")return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case Vl:case Yl:case lN:return FN(t)?M2:{compatible:!1,warning:CXe(e)};case yn:case _r:case Fc:case D2:case hs:case Oa:case Na:case g3:case y3:case cN:case vd:case fN:case xN:case Sd:case du:case ba:case dN:return M2;case Ra:case bo:case Ta:case hu:return n!==Rd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:M2;case Zl:case wc:case Lc:case Ic:case Jl:case Kl:case Xl:case xu:case Ca:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:M2;case ps:case $c:return!FN(t)&&!aJe(t)?{compatible:!1,warning:bXe(e)}:M2;case m3:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:M2}}function j2(t){const{formatType:e}=wN(t);return e==="time"||!e&&gJe(t)}function gJe(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function $N(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=ji(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return E3(t)?a=t.expr:Ye(t)?a=t.signal:Td(t)?(u=!0,a=A3(t)):(je(t)||nn(t))&&u&&(a=`datetime(${sn(t)})`,fKe(o)&&(nn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=A3({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:sn(t)}function pue(t,e){const{type:n}=t;return e.map(r=>{const i=$N(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function b3(t,e){return Kt(t.bin)?kc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const gue={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function T3(t){return t&&t.condition}const mue=["domain","grid","labels","ticks","title"],mJe={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},yue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},yJe=Object.assign(Object.assign({},yue),{style:1,labelExpr:1,encoding:1});function Eue(t){return!!yJe[t]}const Aue=be({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function i0(t){return"mark"in t}class BN{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return i0(e)?YKe(e.mark)===this.name:!1}}var EJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Fd(t,e){const n=t&&t[e];return n?_e(n)?O2(n,r=>!!r.field):Le(n)||DN(n):!1}function Sue(t,e){const n=t&&t[e];return n?_e(n)?O2(n,r=>!!r.field):Le(n)||Ia(n)||C3(n):!1}function y7(t,e){if(kr(e)){const n=t[e];if((Le(n)||Ia(n))&&Ioe(n.type)){const r=Gse(e);return Sue(t,r)}}return!1}function E7(t){return O2(_Ye,e=>{if(Fd(t,e)){const n=t[e];if(_e(n))return O2(n,r=>!!r.aggregate);{const r=Ba(n);return r&&!!r.aggregate}}return!1})}function vue(t,e){const n=[],r=[],i=[],s=[],o={};return A7(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=EJe(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=p7(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:P2(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(Pc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):t0(c)?(E="argmin",g=$e({op:"argmin",field:c.argmin},{forAs:!0}),y.field=`${g}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(E=c),E){const A={op:E,as:g};l&&(A.field=l),s.push(A)}}else if(n.push(g),Ro(u)&&Kt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),b3(u,a)&&n.push($e(u,{binSuffix:"range"})),kr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",Qse(a)||(y.type=Rd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=Ro(u)&&u.type!==I2&&"time";E&&(a===g3||a===vd?y.formatType=E:LYe(a)?y.legend=Object.assign({formatType:E},y.legend):kr(a)&&(y.axis=Object.assign({formatType:E},y.axis)))}o[a]=y}else n.push(l),o[a]=t[a]}else o[a]=t[a]}),{bins:r,timeUnits:i,aggregate:s,groupby:n,encoding:o}}function AJe(t,e,n){const r=$Ye(e,n);if(r){if(r==="binned"){const i=t[e===xu?yn:_r];return!!(Le(i)&&Le(t[e])&&Mi(i.bin))}}else return!1;return!0}function SJe(t,e,n,r){const i={};for(const s of be(t))zse(s)||Te(_Xe(s));for(let s of NYe){if(!t[s])continue;const o=t[s];if(w2(s)){const u=Wse(s),a=i[u];if(Le(a)){if(SKe(a.type)&&Le(o)){Te(pXe(u));continue}}else s=u,Te(gXe(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(hXe),s=du),!AJe(t,s,e)){Te(yN(s,e));continue}if(s===Jl&&e==="line"){const u=Ba(t[s]);if(u!=null&&u.aggregate){Te(SXe);continue}}if(s===hs&&(n?"fill"in t:"stroke"in t)){Te(Aoe("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===y3||s===m3&&!_e(o)&&!gu(o)||s===vd&&_e(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(m7(a,s)):Te(k8(a,s)),u),[]));else{if(s===vd&&o===null)i[s]=null;else if(!Le(o)&&!Ia(o)&&!gu(o)&&!NN(o)&&!Ye(o)){Te(k8(o,s));continue}i[s]=hue(o,s,r)}}return i}function kN(t,e){const n={};for(const r of be(t)){const i=hue(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function vJe(t){const e=[];for(const n of be(t))if(Fd(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):DN(s)&&e.push(s.condition)}return e}function A7(t,e,n){if(t)for(const r of be(t)){const i=t[r];if(_e(i))for(const s of i)e.call(n,s,r);else e.call(n,i,r)}}function _Je(t,e,n,r){return t?be(t).reduce((i,s)=>{const o=t[s];return _e(o)?o.reduce((u,a)=>e.call(r,u,a,s),i):e.call(r,i,o,s)},n):n}function _ue(t,e){return be(e).reduce((n,r)=>{switch(r){case yn:case _r:case fN:case dN:case xN:case xu:case Ca:case Fc:case D2:case du:case Kl:case ba:case Xl:case Ta:case Ra:case hu:case bo:case g3:case ps:case Sd:case vd:return n;case m3:if(t==="line"||t==="trail")return n;case y3:case cN:{const i=e[r];if(_e(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case Jl:if(t==="trail")return n;case hs:case Oa:case Na:case Zl:case wc:case Lc:case $c:case Ic:{const i=Ba(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var Cue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function CJe(t){const{tooltip:e}=t,n=Cue(t,["tooltip"]);if(!e)return{filteredEncoding:n};let r,i;if(_e(e)){for(const s of e)s.aggregate?(r||(r=[]),r.push(s)):(i||(i=[]),i.push(s));r&&(n.tooltip=r)}else e.aggregate?n.tooltip=e:i=e;return _e(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function S7(t,e,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};const i=t.map(({fieldPrefix:o,titlePrefix:u})=>{const a=r?` of ${v7(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=vJe(n).map(oJe);return{tooltip:[...i,...Wl(s,bt)]}}function v7(t){const{title:e,field:n}=t;return ir(e,n)}function _7(t,e,n,r,i){const{scale:s,axis:o}=n;return({partName:u,mark:a,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{const x=v7(n);return bue(t,u,i,{mark:a,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:`${l}_${n.field}`,type:n.type},x!==void 0?{title:x}:{}),s!==void 0?{scale:s}:{}),o!==void 0?{axis:o}:{})},je(c)?{[`${e}2`]:{field:`${c}_${n.field}`}}:{}),r),f)})}}function bue(t,e,n,r){const{clip:i,color:s,opacity:o}=t,u=t.type;return t[e]||t[e]===void 0&&n[e]?[Object.assign(Object.assign({},r),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n[e]),i?{clip:i}:{}),s?{color:s}:{}),o?{opacity:o}:{}),wa(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),Fp(t[e])?{}:t[e])})]:[]}function Tue(t,e,n){const{encoding:r}=t,i=e==="vertical"?"y":"x",s=r[i],o=r[`${i}2`],u=r[`${i}Error`],a=r[`${i}Error2`];return{continuousAxisChannelDef:PN(s,n),continuousAxisChannelDef2:PN(o,n),continuousAxisChannelDefError:PN(u,n),continuousAxisChannelDefError2:PN(a,n),continuousAxis:i}}function PN(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=Cue(t,["aggregate"]);return n!==e&&Te(KXe(n,e)),r}else return t}function Rue(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(wa(n)&&n.orient)return n.orient;if($a(i)){if($a(s)){const o=Le(i)&&i.aggregate,u=Le(s)&&s.aggregate;if(!o&&u===e)return"vertical";if(!u&&o===e)return"horizontal";if(o===e&&u===e)throw new Error("Both x and y cannot have aggregate");return j2(s)&&!j2(i)?"horizontal":"vertical"}return"horizontal"}else{if($a(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var MN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const jN="boxplot",bJe=["box","median","outliers","rule","ticks"],TJe=new BN(jN,Nue);function Oue(t){return nn(t)?"tukey":t}function Nue(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=MN(t,["mark","encoding","params","projection"]),l=wa(i)?i:{type:i};o&&Te(poe("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=Oue(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:S,ticksOrient:v,boxOrient:_,customTooltipWithoutAggregatedField:C}=RJe(t,c,e),{color:b,size:O}=S,R=MN(S,["color","size"]),I=V=>_7(l,y,g,V,e.boxplot),M=I(R),z=I(S),Y=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=S7([{fieldPrefix:x==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:x==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],g,S),oe={type:"tick",color:"black",opacity:1,orient:v,invalid:null,aria:!1},de=x==="min-max"?Q:S7([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,S),ae=[...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:de}),...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:de}),...M({partName:"ticks",mark:oe,positionPrefix:"lower_whisker",extraEncoding:de}),...M({partName:"ticks",mark:oe,positionPrefix:"upper_whisker",extraEncoding:de})],ie=[...x!=="tukey"?ae:[],...z({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:_,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:Q}),...Y({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Qe(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:v,aria:!1}),positionPrefix:"mid_box",extraEncoding:Q})];if(x==="min-max")return Object.assign(Object.assign({},a),{transform:((r=a.transform)!==null&&r!==void 0?r:[]).concat(m),layer:ie});const le=`datum["lower_box_${g.field}"]`,xe=`datum["upper_box_${g.field}"]`,Ce=`(${xe} - ${le})`,D=`${le} - ${c} * ${Ce}`,k=`${xe} + ${c} * ${Ce}`,j=`datum["${g.field}"]`,W={joinaggregate:Due(g.field),groupby:E},U={transform:[{filter:`(${D} <= ${j}) && (${j} <= ${k})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${g.field}`},{op:"max",field:g.field,as:`upper_whisker_${g.field}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${g.field}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${g.field}`},...A],groupby:E}],layer:ae},B=MN(R,["tooltip"]),{scale:T,axis:N}=g,$=v7(g),q=Co(N,["title"]),L=bue(l,"outliers",e.boxplot,{transform:[{filter:`(${j} < ${D}) || (${j} > ${k})`}],mark:"point",encoding:Object.assign(Object.assign(Object.assign({[y]:Object.assign(Object.assign(Object.assign({field:g.field,type:g.type},$!==void 0?{title:$}:{}),T!==void 0?{scale:T}:{}),Wt(q)?{}:{axis:q})},B),b?{color:b}:{}),C?{tooltip:C}:{})})[0];let H;const P=[...h,...p,W];return L?H={transform:P,layer:[L,U]}:(H=U,H.transform.unshift(...P)),Object.assign(Object.assign({},a),{layer:[H,{transform:m,layer:ie}]})}function Due(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function RJe(t,e,n){const r=Rue(t,jN),{continuousAxisChannelDef:i,continuousAxis:s}=Tue(t,r,jN),o=i.field,u=Oue(e),a=[...Due(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:(u==="min-max"?"lower_whisker_":"min_")+o},{op:"max",field:o,as:(u==="min-max"?"upper_whisker_":"max_")+o}],l=u==="min-max"||u==="tukey"?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${e}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${e}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],c=t.encoding,f=s;c[f];const x=MN(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=CJe(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=vue(p,n),S=r==="vertical"?"horizontal":"vertical",v=r,_=[...m,...g,{aggregate:[...y,...a],groupby:E},...l];return{bins:m,timeUnits:g,transform:_,groupby:E,aggregate:y,continuousAxisChannelDef:i,continuousAxis:s,encodingWithoutContinuousAxis:A,ticksOrient:S,boxOrient:v,customTooltipWithoutAggregatedField:h}}var Fue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const C7="errorbar",OJe=["ticks","rule"],NJe=new BN(C7,wue);function wue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=Lue(t,C7,e);delete s.size;const c=_7(u,i,r,s,e.errorbar),f=u.thickness,x=u.size,h=Object.assign(Object.assign({type:"tick",orient:o,aria:!1},f!==void 0?{thickness:f}:{}),x!==void 0?{size:x}:{}),p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},f!==void 0?{size:f}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},a),{transform:n}),p.length>1?{layer:p}:Object.assign({},p[0]))}function DJe(t,e){const{encoding:n}=t;if(FJe(n))return{orient:Rue(t,e),inputType:"raw"};const r=wJe(n),i=LJe(n),s=n.x,o=n.y;if(r){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);const u=n.x2,a=n.y2;if(it(u)&&it(a))throw new Error(`${e} cannot have both x2 and y2`);if(it(u)){if($a(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}else if(it(a)){if($a(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}else{const u=n.xError,a=n.xError2,l=n.yError,c=n.yError2;if(it(a)&&!it(u))throw new Error(`${e} cannot have xError2 without xError`);if(it(c)&&!it(l))throw new Error(`${e} cannot have yError2 without yError`);if(it(u)&&it(l))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(it(u)){if($a(s))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(it(l)){if($a(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function FJe(t){return(it(t.x)||it(t.y))&&!it(t.x2)&&!it(t.y2)&&!it(t.xError)&&!it(t.xError2)&&!it(t.yError)&&!it(t.yError2)}function wJe(t){return it(t.x2)||it(t.y2)}function LJe(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function Lue(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=Fue(t,["mark","encoding","params","projection"]),l=wa(i)?i:{type:i};o&&Te(poe(e));const{orient:c,inputType:f}=DJe(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=Tue(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:S}=IJe(l,x,h,p,m,f,e,n),v=s,_=g;v[_];const C=g==="x"?"x2":"y2";v[C];const b=g==="x"?"xError":"yError";v[b];const O=g==="x"?"xError2":"yError2";v[O];const R=Fue(v,[typeof _=="symbol"?_:_+"",typeof C=="symbol"?C:C+"",typeof b=="symbol"?b:b+"",typeof O=="symbol"?O:O+""]),{bins:I,timeUnits:M,aggregate:z,groupby:Y,encoding:Q}=vue(R,n),oe=[...z,...y],de=f!=="raw"?[]:Y,ae=S7(A,x,Q,S);return{transform:[...(r=a.transform)!==null&&r!==void 0?r:[],...I,...M,...oe.length===0?[]:[{aggregate:oe,groupby:de}],...E],groupby:de,continuousAxisChannelDef:x,continuousAxis:g,encodingWithoutContinuousAxis:Q,ticksOrient:c==="vertical"?"horizontal":"vertical",markDef:l,outerSpec:a,tooltipEncoding:ae}}function IJe(t,e,n,r,i,s,o,u){let a=[],l=[];const c=e.field;let f,x=!1;if(s==="raw"){const h=t.center?t.center:t.extent?t.extent==="iqr"?"median":"mean":u.errorbar.center,p=t.extent?t.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&Te(XXe(h,p,o)),p==="stderr"||p==="stdev")a=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:`upper_${c}`},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:uN(h)},{fieldPrefix:"upper_",titlePrefix:Iue(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:Iue(h,p,"-")}],x=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),a=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:m,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:P2({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:P2({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:P2({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(YXe(t.center,t.extent)),s==="aggregated-upper-lower"?(f=[],l=[{calculate:`datum["${n.field}"]`,as:`upper_${c}`},{calculate:`datum["${c}"]`,as:`lower_${c}`}]):s==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${r.field}"]`,as:`upper_${c}`}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:`lower_${c}`}):l.push({calculate:`datum["${c}"] - datum["${r.field}"]`,as:`lower_${c}`}));for(const h of l)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:N2(N2(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function Iue(t,e,n){return`${uN(t)} ${n} ${e}`}const b7="errorband",$Je=["band","borders"],BJe=new BN(b7,$ue);function $ue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:kN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=Lue(t,b7,e),l=o,c=_7(l,i,r,s,e.errorband),f=t.encoding.x!==void 0&&t.encoding.y!==void 0;let x={type:f?"area":"rect"},h={type:f?"line":"rule"};const p=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(x=Object.assign(Object.assign(Object.assign({},x),p),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign(Object.assign({},h),p),{aria:!1})):l.interpolate?Te(Coe("interpolate")):l.tension&&Te(Coe("tension")),Object.assign(Object.assign({},u),{transform:n,layer:[...c({partName:"band",mark:x,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:a})]})}const Bue={};function T7(t,e,n){const r=new BN(t,e);Bue[t]={normalizer:r,parts:n}}function kJe(){return be(Bue)}T7(jN,Nue,bJe),T7(C7,wue,OJe),T7(b7,$ue,$Je);const PJe=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],kue={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},Pue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},MJe=be(kue),jJe=be(Pue),Mue=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),jue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],UJe={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},qJe={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},R3="_vgsid_",HJe={point:{on:"click",fields:[R3],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function R7(t){return!!t&&(t==="legend"||!!t.legend)}function O7(t){return R7(t)&&Qe(t)}function N7(t){return!!t.select}var zJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Uue(t){const e=[];for(const n of t||[]){if(N7(n))continue;const{expr:r,bind:i}=n,s=zJe(n,["expr","bind"]);if(i&&r){const o=Object.assign(Object.assign({},s),{bind:i,init:r});e.push(o)}else{const o=Object.assign(Object.assign(Object.assign({},s),r?{update:r}:{}),i?{bind:i}:{});e.push(o)}}return e}function QJe(t){return UN(t)||F7(t)||D7(t)}function D7(t){return"concat"in t}function UN(t){return"vconcat"in t}function F7(t){return"hconcat"in t}function que({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function ka(t){return Qe(t)&&t.step!==void 0}function Hue(t){return t.view||t.width||t.height}const zue=20,GJe=be({align:1,bounds:1,center:1,columns:1,spacing:1});function WJe(t,e,n){var r,i;const s=n[e],o={},{spacing:u,columns:a}=s;u!==void 0&&(o.spacing=u),a!==void 0&&(ON(t)&&!_3(t.facet)||D7(t))&&(o.columns=a),UN(t)&&(o.columns=1);for(const l of GJe)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=nn(c)?c:{row:(r=c.row)!==null&&r!==void 0?r:u,column:(i=c.column)!==null&&i!==void 0?i:u}}else o[l]=t[l];return o}var VJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function w7(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function qN(t,e){const n=HN(t,e);return ka(n)?n.step:Que}function HN(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return ir(r,{step:t.step})}const Que=20,YJe={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Que},mark:zKe,arc:{},area:{},bar:GKe,circle:{},geoshape:{},image:{},line:{},point:{},rect:WKe,rule:{color:"black"},square:{},text:{color:"black"},tick:VKe,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:OKe,projection:{},legend:UJe,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:HJe,style:{},title:{},facet:{spacing:zue},concat:{spacing:zue}},s0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Gue={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Wue={blue:s0[0],orange:s0[1],red:s0[2],teal:s0[3],green:s0[4],yellow:s0[5],purple:s0[6],pink:s0[7],brown:s0[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function XJe(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},Wue),t):Wue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function KJe(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},Gue),t):Gue}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function JJe(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function Vue(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=T3(i)?noe(i):Hs(i)}return n}function ZJe(t){const e=be(t),n={};for(const r of e)n[r]=Vue(t[r]);return n}const eZe=[...Woe,...Aue,...Mue,"background","padding","legend","lineBreak","scale","style","title","view"];function Yue(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=VJe(t,["color","font","fontSize","selection"]),o=h5({},ot(YJe),n?JJe(n):{},e?XJe(e):{},r?KJe(r):{},s||{});i&&jb(o,"selection",i,!0);const u=Co(o,eZe);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=Hs(o[a]));for(const a of Woe)o[a]&&(u[a]=ms(o[a]));for(const a of Aue)o[a]&&(u[a]=Vue(o[a]));for(const a of Mue)o[a]&&(u[a]=ms(o[a]));return o.legend&&(u.legend=ms(o.legend)),o.scale&&(u.scale=ms(o.scale)),o.style&&(u.style=ZJe(o.style)),o.title&&(u.title=ms(o.title)),o.view&&(u.view=ms(o.view)),u}const tZe=new Set(["view",...MKe]),nZe=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],rZe=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},HKe);function iZe(t){t=ot(t);for(const e of nZe)delete t[e];if(t.axis)for(const e in t.axis)T3(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of PJe)delete t.legend[e];if(t.mark){for(const e of Goe)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(Uue(t.params)),delete t.params);for(const e of tZe){for(const r of Goe)delete t[e][r];const n=rZe[e];if(n)for(const r of n)delete t[e][r];oZe(t,e)}for(const e of kJe())delete t[e];sZe(t);for(const e in t)Qe(t[e])&&Wt(t[e])&&delete t[e];return Wt(t)?void 0:t}function sZe(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=toe(t.title);Wt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Wt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Wt(r)?delete t.title:t.title=r}function oZe(t,e,n,r){const i=r?t[e][r]:t[e];e==="view"&&(n="cell");const s=Object.assign(Object.assign({},i),t.style[n??e]);Wt(s)||(t.style[n??e]=s),r||delete t[e]}function zN(t){return"layer"in t}function uZe(t){return"repeat"in t}function aZe(t){return!_e(t.repeat)&&t.repeat.layer}var lZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class L7{map(e,n){return ON(e)?this.mapFacet(e,n):uZe(e)?this.mapRepeat(e,n):F7(e)?this.mapHConcat(e,n):UN(e)?this.mapVConcat(e,n):D7(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(zN(e))return this.mapLayer(e,n);if(i0(e))return this.mapUnit(e,n);throw new Error($8(e))}mapLayer(e,n){return Object.assign(Object.assign({},e),{layer:e.layer.map(r=>this.mapLayerOrUnit(r,n))})}mapHConcat(e,n){return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map(r=>this.map(r,n))})}mapVConcat(e,n){return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map(r=>this.map(r,n))})}mapConcat(e,n){const{concat:r}=e,i=lZe(e,["concat"]);return Object.assign(Object.assign({},i),{concat:r.map(s=>this.map(s,n))})}mapFacet(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}mapRepeat(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}}const cZe={zero:1,center:1,normalize:1};function fZe(t){return t in cZe}const xZe=new Set([qoe,SN,AN,CN,_N,n7,r7,vN,Hoe,t7]),dZe=new Set([SN,AN,qoe]);function U2(t){return Le(t)&&x7(t)==="quantitative"&&!t.bin}function Xue(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(U2(s)&&U2(o)){if(s.stack)return e;if(o.stack)return i;const u=Le(s)&&!!s.aggregate,a=Le(o)&&!!o.aggregate;if(u!==a)return u?e:i;{const l=(n=s.scale)===null||n===void 0?void 0:n.type,c=(r=o.scale)===null||r===void 0?void 0:r.type;if(l&&l!=="linear")return i;if(c&&c!=="linear")return e}}else{if(U2(s))return e;if(U2(o))return i}else{if(U2(s))return e;if(U2(o))return i}}function hZe(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function Kue(t,e,n={}){var r,i;const s=wa(t)?t.type:t;if(!xZe.has(s))return null;const o=Xue(e,"x")||Xue(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=hZe(o),c=[],f=new Set;if(e[l]){const p=e[l],m=Le(p)?$e(p,{}):void 0;m&&m!==a&&(c.push(l),f.add(m));const g=l==="x"?"xOffset":"yOffset",y=e[g],E=Le(y)?$e(y,{}):void 0;E&&E!==a&&(c.push(g),f.add(E))}const x=DYe.reduce((p,m)=>{if(m!=="tooltip"&&Fd(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ba(y);if(E.aggregate)continue;const A=$e(E,{});(!A||!f.has(A))&&p.push({channel:m,fieldDef:E})}}return p},[]);let h;if(u.stack!==void 0?Fp(u.stack)?h=u.stack?"zero":null:h=u.stack:dZe.has(s)&&(h="zero"),!h||!fZe(h)||E7(e)&&x.length===0)return null;if(!((r=u==null?void 0:u.scale)===null||r===void 0)&&r.type&&((i=u==null?void 0:u.scale)===null||i===void 0?void 0:i.type)!==ys.LINEAR){if(n.disallowNonLinearStack)return null;Te(GXe(u.scale.type))}return it(e[e0(o)])?(u.stack!==void 0&&Te(QXe(o)),null):(Le(u)&&u.aggregate&&!qYe.has(u.aggregate)&&Te(WXe(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:Uc(s),stackBy:x,offset:h})}var Jue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function pZe(t){const e=Jue(t,["point","line"]);return be(e).length>1?e:e.type}function gZe(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:Co(t[e],["point","line"])}));return t}function I7(t,e={},n){return t.point==="transparent"?{opacity:0}:t.point?Qe(t.point)?t.point:{}:t.point!==void 0?null:e.point||n.shape?Qe(e.point)?e.point:{}:void 0}function Zue(t,e={}){return t.line?t.line===!0?{}:t.line:t.line!==void 0?null:e.line?e.line===!0?{}:e.line:void 0}class mZe{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(i0(e)){const{mark:r,encoding:i}=e,s=wa(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!I7(s,n[s.type],i);case"area":return!!I7(s,n[s.type],i)||!!Zue(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=Jue(e,["params","projection","mark","encoding"]),c=kN(a,i),f=wa(u)?u:{type:u},x=I7(f,i[f.type],c),h=f.type==="area"&&Zue(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:pZe(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:Co(c,["shape"])})],m=Kue(f,c);let g=c;if(m){const{fieldChannel:y,offset:E}=m;g=Object.assign(Object.assign({},c),{[y]:Object.assign(Object.assign({},c[y]),E?{stack:E}:{})})}return h&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},d3(f,["clip","interpolate","tension","tooltip"])),h),encoding:g})),x&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},d3(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:gZe(i)}))}}var yZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function EZe(t,e){return e?_3(t)?rae(t,e):eae(t,e):t}function $7(t,e){return e?rae(t,e):t}function B7(t,e,n){const r=e[t];if(iJe(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(uXe(r.repeat));return}return e}function eae(t,e){if(t=B7("field",t,e),t!==void 0){if(t===null)return null;if(f7(t)&&La(t.sort)){const n=B7("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function tae(t,e){if(Le(t))return eae(t,e);{const n=B7("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function nae(t,e){if(it(t)){const n=tae(t,e);if(n)return n;if(NN(t))return{condition:t.condition}}else{if(C3(t)){const n=tae(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):yZe(t,["condition"])}return t}}function rae(t,e){const n={};for(const r in t)if(Je(t,r)){const i=t[r];if(_e(i))n[r]=i.map(s=>nae(s,e)).filter(s=>s);else{const s=nae(i,e);s!==void 0&&(n[r]=s)}}return n}class AZe{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(i0(e)){const{encoding:n,mark:r}=e;if(r==="line"||wa(r)&&r.type==="line")for(const i of RYe){const s=_d(i),o=n[s];if(n[i]&&(Le(o)&&!Mi(o.bin)||Ia(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(OXe(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var qc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class SZe extends L7{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[TJe,NJe,BJe,new mZe,new AZe]}map(e,n){if(i0(e)){const r=Fd(e.encoding,Vl),i=Fd(e.encoding,Yl),s=Fd(e.encoding,lN);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=$7(e.encoding,n.repeater),o=Object.assign(Object.assign({},e),s?{encoding:s}:{});if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);const u=this.mapLayerOrUnit.bind(this);for(const a of this.nonFacetUnitNormalizers)if(a.hasMatchingType(o,n.config))return a.run(o,n,u);return o}mapRepeat(e,n){return aZe(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=qc(e,["repeat","spec"]),{row:o,column:u,layer:a}=r,{repeater:l={},repeaterPrefix:c=""}=n;return o||u?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),u?{column:u}:{}),spec:{repeat:{layer:a},spec:i}}),n):Object.assign(Object.assign({},s),{layer:a.map(f=>{const x=Object.assign(Object.assign({},l),{layer:f}),h=`${(i.name||"")+c}child__layer_${mn(f)}`,p=this.mapLayerOrUnit(i,Object.assign(Object.assign({},n),{repeater:x,repeaterPrefix:h}));return p.name=h,p})})}mapNonLayerRepeat(e,n){var r;const{repeat:i,spec:s,data:o}=e,u=qc(e,["repeat","spec","data"]);!_e(i)&&e.columns&&(e=Co(e,["columns"]),Te(goe("repeat")));const a=[],{repeater:l={},repeaterPrefix:c=""}=n,f=!_e(i)&&i.row||[l?l.row:null],x=!_e(i)&&i.column||[l?l.column:null],h=_e(i)&&i||[l?l.repeat:null];for(const m of h)for(const g of f)for(const y of x){const E={repeat:m,row:g,column:y,layer:l.layer},A=(s.name||"")+c+"child__"+(_e(i)?`${mn(m)}`:(i.row?`row_${mn(g)}`:"")+(i.column?`column_${mn(y)}`:"")),S=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));S.name=A,a.push(Co(S,["data"]))}const p=_e(i)?e.columns:i.column?i.column.length:1;return Object.assign(Object.assign({data:(r=s.data)!==null&&r!==void 0?r:o,align:"all"},u),{columns:p,concat:a})}mapFacet(e,n){const{facet:r}=e;return _3(r)&&e.columns&&(e=Co(e,["columns"]),Te(goe("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=sae({parentProjection:o,projection:i}),l=iae({parentEncoding:s,encoding:$7(r,n.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),a?{projection:a}:{}),l?{encoding:l}:{}),{config:u})}mapFacetedUnit(e,n){const r=e.encoding,{row:i,column:s,facet:o}=r,u=qc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=qc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=$7(u,n.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},m),y),{facet:g,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l?{width:l}:{}),f?{height:f}:{}),x?{view:x}:{}),c?{projection:c}:{}),{mark:a,encoding:E}),h?{params:h}:{})}),n)}getFacetMappingAndLayout(e,n){var r;const{row:i,column:s,facet:o}=e;if(i||s){o&&Te(TXe([...i?[Vl]:[],...s?[Yl]:[]]));const u={},a={};for(const l of[Vl,Yl]){const c=e[l];if(c){const f=qc(c,["align","center","spacing","columns"]);u[l]=f;for(const x of["align","center","spacing"])c[x]!==void 0&&((r=a[x])!==null&&r!==void 0||(a[x]={}),a[x][l]=c[x])}}return{facetMapping:u,layout:a}}else{const{align:u,center:a,spacing:l,columns:c}=o,f=qc(o,["align","center","spacing","columns"]);return{facetMapping:EZe(f,n.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},u?{align:u}:{}),a?{center:a}:{}),l?{spacing:l}:{}),c?{columns:c}:{})}}}mapLayer(e,n){var{parentEncoding:r,parentProjection:i}=n,s=qc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=qc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:iae({parentEncoding:r,encoding:o,layer:!0}),parentProjection:sae({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function iae({parentEncoding:t,encoding:e={},layer:n}){let r={};if(t){const i=new Set([...be(t),...be(e)]);for(const s of i){const o=e[s],u=t[s];if(it(o)){const a=Object.assign(Object.assign({},u),o);r[s]=a}else C3(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||gu(u)||Ye(u)||it(u)||_e(u))&&(r[s]=u)}}else r=e;return!r||Wt(r)?void 0:r}function sae(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(dXe({parentProjection:e,projection:n})),n??e}function k7(t){return"filter"in t}function vZe(t){return(t==null?void 0:t.stop)!==void 0}function oae(t){return"lookup"in t}function _Ze(t){return"data"in t}function CZe(t){return"param"in t}function bZe(t){return"pivot"in t}function TZe(t){return"density"in t}function RZe(t){return"quantile"in t}function OZe(t){return"regression"in t}function NZe(t){return"loess"in t}function DZe(t){return"sample"in t}function FZe(t){return"window"in t}function wZe(t){return"joinaggregate"in t}function LZe(t){return"flatten"in t}function IZe(t){return"calculate"in t}function uae(t){return"bin"in t}function $Ze(t){return"impute"in t}function BZe(t){return"timeUnit"in t}function kZe(t){return"aggregate"in t}function PZe(t){return"stack"in t}function MZe(t){return"fold"in t}function jZe(t){return t.map(e=>k7(e)?{filter:R2(e.filter,AKe)}:e)}var Hc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class UZe extends L7{map(e,n){var r,i;return(r=n.emptySelections)!==null&&r!==void 0||(n.emptySelections={}),(i=n.selectionPredicates)!==null&&i!==void 0||(n.selectionPredicates={}),e=aae(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=aae(e,n),e.encoding){const r={};for(const[i,s]of Ad(e.encoding))r[i]=lae(s,n);e=Object.assign(Object.assign({},e),{encoding:r})}return super.mapLayerOrUnit(e,n)}mapUnit(e,n){const r=e,{selection:i}=r,s=Hc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Ad(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=Hc(l,["init","bind","empty"]);h.type==="single"?(h.type="point",h.toggle=!1):h.type==="multi"&&(h.type="point"),n.emptySelections[o]=x!=="none";for(const p of Pi((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function aae(t,e){const{transform:n}=t,r=Hc(t,["transform"]);if(n){const i=n.map(s=>{if(k7(s))return{filter:P7(s,e)};if(uae(s)&&Cd(s.bin))return Object.assign(Object.assign({},s),{bin:cae(s.bin)});if(oae(s)){const o=s.from,{selection:u}=o,a=Hc(o,["selection"]);return u?Object.assign(Object.assign({},s),{from:Object.assign({param:u},a)}):s}return s});return Object.assign(Object.assign({},r),{transform:i})}return t}function lae(t,e){var n,r;const i=ot(t);if(Le(i)&&Cd(i.bin)&&(i.bin=cae(i.bin)),Dd(i)&&(!((r=(n=i.scale)===null||n===void 0?void 0:n.domain)===null||r===void 0)&&r.selection)){const s=i.scale.domain,{selection:o}=s,u=Hc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(NN(i))if(_e(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=Hc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:P7(s,e)})});else{const s=lae(i.condition,e),{selection:o,param:u,test:a}=s,l=Hc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:P7(i.condition,e)})}return i}function cae(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=Hc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function P7(t,e){const n=r=>R2(r,i=>{var s,o,u;const a=(s=e.emptySelections[i])!==null&&s!==void 0?s:!0,l={param:i,empty:a};return(o=(u=e.selectionPredicates)[i])!==null&&o!==void 0||(u[i]=[]),e.selectionPredicates[i].push(l),l});return t.selection?n(t.selection):R2(t.test||t.filter,r=>r.selection?n(r.selection):r)}class M7 extends L7{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!i0(e)){const s=[];for(const o of e.params)N7(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,fae(e,n))}mapUnit(e,n){var r;const i=n.selections;if(!i||!i.length)return e;const s=((r=n.path)!==null&&r!==void 0?r:[]).concat(e.name),o=[];for(const u of i)if(!u.views||!u.views.length)o.push(u);else for(const a of u.views)(je(a)&&(a===e.name||s.indexOf(a)>=0)||_e(a)&&a.map(l=>s.indexOf(l)).every((l,c,f)=>l!==-1&&(c===0||l>f[c-1])))&&o.push(u);return o.length&&(e.params=o),e}}for(const t of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const e=M7.prototype[t];M7.prototype[t]=function(n,r){return e.call(this,n,fae(n,r))}}function fae(t,e){var n;return t.name?Object.assign(Object.assign({},e),{path:((n=e.path)!==null&&n!==void 0?n:[]).concat(t.name)}):e}function qZe(t,e){e===void 0&&(e=Yue(t.config));const n=GZe(t,e),{width:r,height:i}=t,s=WZe(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const HZe=new SZe,zZe=new UZe,QZe=new M7;function GZe(t,e={}){const n={config:e};return QZe.map(HZe.map(zZe.map(t,n),n),n)}function xae(t){return je(t)?{type:t}:t??{}}function WZe(t,e,n){let{width:r,height:i}=e;const s=i0(t)||zN(t),o={};s?r=="container"&&i=="container"?(o.type="fit",o.contains="padding"):r=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(r=="container"&&(Te(foe("width")),r=void 0),i=="container"&&(Te(foe("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?xae(n.autosize):{}),xae(t.autosize));if(u.type==="fit"&&!s&&(Te(KYe),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(xoe("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(xoe("height")),!Gl(u,{type:"pad"}))return u}function VZe(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function YZe(t){return t?`fit-${hN(t)}`:"fit"}const XZe=["background","padding"];function dae(t,e){const n={};for(const r of XZe)t&&t[r]!==void 0&&(n[r]=Hs(t[r]));return e&&(n.params=t.params),n}class o0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new o0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return ir(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]!==void 0?{explicit:!0,value:this.explicit[e]}:this.implicit[e]!==void 0?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:n,explicit:r}){n!==void 0&&this.set(e,n,r)}set(e,n,r){return delete this[r?"implicit":"explicit"][e],this[r?"explicit":"implicit"][e]=n,this}copyKeyFromSplit(e,{explicit:n,implicit:r}){n[e]!==void 0?this.set(e,n[e],!0):r[e]!==void 0&&this.set(e,r[e],!1)}copyKeyFromObject(e,n){n[e]!==void 0&&this.set(e,n[e],!0)}copyAll(e){for(const n of be(e.combine())){const r=e.getWithExplicit(n);this.setWithExplicit(n,r)}}}function Pa(t){return{explicit:!0,value:t}}function Qs(t){return{explicit:!1,value:t}}function hae(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:QN(e,n,r,i)}}function QN(t,e,n,r){return t.explicit&&e.explicit&&Te(PXe(n,r,t.value,e.value)),t}function zc(t,e,n,r,i=QN){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Gl(t.value,e.value)?t:i(t,e,n,r)}class KZe extends o0{constructor(e={},n={},r=!1){super(e,n),this.explicit=e,this.implicit=n,this.parseNothing=r}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}function q2(t){return"url"in t}function O3(t){return"values"in t}function pae(t){return"name"in t&&!q2(t)&&!O3(t)&&!Qc(t)}function Qc(t){return t&&(gae(t)||mae(t)||j7(t))}function gae(t){return"sequence"in t}function mae(t){return"sphere"in t}function j7(t){return"graticule"in t}var Jt;(function(t){t[t.Raw=0]="Raw",t[t.Main=1]="Main",t[t.Row=2]="Row",t[t.Column=3]="Column",t[t.Lookup=4]="Lookup"})(Jt||(Jt={}));var JZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function H2(t,e=!0,n=Ai){if(_e(t)){const r=t.map(i=>H2(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Td(t))return n(e?A3(t):lKe(t));return e?n(sn(t)):t}function ZZe(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${Vc}, ${r.resolve==="global"?"true":`{unit: ${G2(t)}}`}`;for(const o of XN)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+Iet,on:[{events:{signal:r.name+Vc},update:`modify(${Fe(r.name+wd)}, ${s})`}]})}return U7(e)}function eet(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:hd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return U7(e)}function tet(t,e){var n;let r=!1;for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+wd);if(e.filter(a=>a.name===s).length===0){const a=i.resolve==="global"?"union":i.resolve,l=i.type==="point"?", true, true)":")";e.push({name:i.name,update:`${jae}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of XN)a.defined(i)&&a.topLevelSignals&&(e=a.topLevelSignals(t,i,e))}return r&&e.filter(s=>s.name==="unit").length===0&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),U7(e)}function net(t,e){var n;const r=[...e];for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+wd};if(i.init){const u=i.project.items.map(a=>JZe(a,["signals"]));s.values=i.init.map(a=>({unit:G2(t,{escape:!1}),fields:u,values:H2(a,!1)}))}r.filter(u=>u.name===i.name+wd).length||r.push(s)}return r}function yae(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of XN)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function ret(t,e){for(const n of t.children)zn(n)&&(e=yae(n,e));return e}function iet(t,e,n,r){const i=Qae(t,e.param,e);return{signal:zs(n.get("type"))&&_e(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function U7(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class Ut{constructor(e,n){this.debugName=n,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,n){if(this._children.includes(e)){Te(cXe);return}n!==void 0?this._children.splice(n,0,e):this._children.push(e)}removeChild(e){const n=this._children.indexOf(e);return this._children.splice(n,1),n}remove(){let e=this._parent.removeChild(this);for(const n of this._children)n._parent=this._parent,this._parent.addChild(n,e++)}insertAsParentOf(e){const n=e.parent;n.removeChild(this),this.parent=n,e.parent=this}swapWithParent(){const e=this._parent,n=e.parent;for(const r of this._children)r.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=n,e.parent=this}}class qi extends Ut{constructor(e,n,r,i){super(e,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){const e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${gYe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var Eae=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class Ma extends Ut{constructor(e,n){super(e),this.formula=n}clone(){return new Ma(null,ot(this.formula))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s)=>{const{field:o,timeUnit:u}=s;if(u){const a=$e(s,{forAs:!0});i[bt({as:a,field:o,timeUnit:u})]={as:a,field:o,timeUnit:u}}return i},{});return Wt(r)?null:new Ma(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=Eae(r,["timeUnit"]),o=ji(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new Ma(e,{[bt(u)]:u})}merge(e){this.formula=Object.assign({},this.formula);for(const n in e.formula)this.formula[n]||(this.formula[n]=e.formula[n]);for(const n of e.children)e.removeChild(n),n.parent=this;e.remove()}removeFormulas(e){const n={};for(const[r,i]of Ad(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Pi(this.formula).map(e=>e.as))}dependentFields(){return new Set(Pi(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Pi(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=ji(s),{unit:u,utc:a}=o,l=Eae(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:fu(r),type:"timeunit"},u?{units:q8(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var set=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const N3="_tuple_fields";class oet{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const uet={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new oet,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=mn(`${i}_${y}`);for(let A=1;a.has(E);A++)E=mn(`${i}_${y}_${A}`);return a.add(E),{[g]:E}},c=e.type,f=t.config.selection[c],x=n.value!==void 0?Pe(n.value):null;let{fields:h,encodings:p}=Qe(n.select)?n.select:{};if(!h&&!p&&x){for(const m of x)if(Qe(m))for(const g of be(m))TYe(g)?(p||(p=[])).push(g):c==="interval"?(Te(oXe),p=f.encodings):(h||(h=[])).push(g)}!h&&!p&&(p=f.encodings,"fields"in f&&(h=f.fields));for(const m of p??[]){const g=t.fieldDef(m);if(g){let y=g.field;if(g.aggregate){Te(JYe(m,g.aggregate));continue}else if(!y){Te(hoe(m));continue}if(g.timeUnit){y=t.vgField(m);const E={timeUnit:g.timeUnit,as:y,field:g.field};u[bt(E)]=E}if(!o[y]){let E="E";if(c==="interval"){const S=t.getScaleComponent(m).get("type");zs(S)&&(E="R")}else g.bin&&(E="R-RE");const A={field:y,channel:m,type:E};A.signals=Object.assign(Object.assign({},l(A,"data")),l(A,"visual")),s.items.push(o[y]=A),s.hasField[y]=s.hasChannel[m]=o[y]}}else Te(hoe(m))}for(const m of h??[]){if(s.hasField[m])continue;const g={type:"E",field:m};g.signals=Object.assign({},l(g,"data")),s.items.push(g),s.hasField[m]=g}x&&(e.init=x.map(m=>s.items.map(g=>Qe(m)?m[g.channel]!==void 0?m[g.channel]:m[g.field]:m))),Wt(u)||(s.timeUnit=new Ma(null,u))},signals:(t,e,n)=>{const r=e.name+N3;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=set(s,["signals","hasLegend"]);return o.field=fu(o.field),o})})}},Gc={defined:t=>t.type==="interval"&&t.resolve==="global"&&t.bind&&t.bind==="scales",parse:(t,e)=>{const n=e.scales=[];for(const r of e.project.items){const i=r.channel;if(!kc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!zs(o)){Te(tXe);continue}s.set("selectionExtent",{param:e.name,field:r.field},!0),n.push(r)}},topLevelSignals:(t,e,n)=>{const r=e.scales.filter(o=>n.filter(u=>u.name===o.signals.data).length===0);if(!t.parent||H7(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(jae)>=0)i.update=`{${r.map(o=>`${Fe(fu(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(fu(o.field))}: ${o.signals.data}`;s.includes(u)||(s=`${s.substring(0,s.length-1)}, ${u}}`)}i.update=s}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(t,e,n)=>{if(t.parent&&!H7(t))for(const r of e.scales){const i=n.filter(s=>s.name===r.signals.data)[0];i.push="outer",delete i.value,delete i.update}return n}};function q7(t,e){return`domain(${Fe(t.scaleName(e))})`}function H7(t){var e;return t.parent&&Z2(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:H7(t.parent.parent))}var aet=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const z2="_brush",z7="_scale_trigger",cet={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+N3,s=Gc.defined(e),o=e.init?e.init[0]:null,u=[],a=[];if(e.translate&&!s){const c=`!event.item || event.item.mark.name !== ${Fe(r+z2)}`;Aae(e,(f,x)=>{var h,p;const m=Pe((h=(p=x.between[0]).filter)!==null&&h!==void 0?h:p.filter=[]);return m.includes(c)||m.push(c),f})}e.project.items.forEach((c,f)=>{const x=c.channel;if(x!==yn&&x!==_r){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=fet(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=zs(E)?"+":"";n.push(...p),u.push(m),a.push({scaleName:t.scaleName(x),expr:`(!isArray(${m}) || (${A}invert(${y}, ${g})[0] === ${A}${m}[0] && ${A}invert(${y}, ${g})[1] === ${A}${m}[1]))`})}),!s&&a.length&&n.push({name:r+z7,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+z7} : {}`}]});const l=`unit: ${G2(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+Vc},o?{init:`{${l}: ${H2(o)}}`}:{}),u.length?{on:[{events:[{signal:u.join(" || ")}],update:`${u.join(" && ")} ? {${l}: [${u}]} : null`}]}:{}))},marks:(t,e,n)=>{const r=e.name,{x:i,y:s}=e.project.hasChannel,o=i==null?void 0:i.signals.visual,u=s==null?void 0:s.signals.visual,a=`data(${Fe(e.name+wd)})`;if(Gc.defined(e)||!i&&!s)return n;const l={x:i!==void 0?{signal:`${o}[0]`}:{value:0},y:s!==void 0?{signal:`${u}[0]`}:{value:0},x2:i!==void 0?{signal:`${o}[1]`}:{field:{group:"width"}},y2:s!==void 0?{signal:`${u}[1]`}:{field:{group:"height"}}};if(e.resolve==="global")for(const g of be(l))l[g]=[Object.assign({test:`${a}.length && ${a}[0].unit === ${G2(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=aet(c,["fill","fillOpacity","cursor"]),m=be(p).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,s!==void 0&&`${u}[0] !== ${u}[1]`].filter(E=>E).join(" && "),value:p[y]},{value:null}],g),{});return[{name:`${r+z2}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+z2,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},h?{cursor:{value:h}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),m)}}]}};function fet(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=Gc.defined(e),a=Fe(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=m=>`scale(${a}, ${m})`,x=t.getSizeSignalRef(i===yn?"width":"height").signal,h=`${i}(unit)`,p=Aae(e,(m,g)=>[...m,{events:g.between[0],update:`[${h}, ${h}]`},{events:g,update:`[${s}[0], clamp(${h}, 0, ${x})]`}]);return p.push({events:{signal:e.name+z7},update:zs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:H2(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:H2(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function Aae(t,e){return t.events.reduce((n,r)=>r.between?e(n,r):(Te(`${r} is not an ordered event stream for interval selections.`),n),[])}const xet={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+N3,o=e.project,u="(item().isVoronoi ? datum.datum : datum)",a=o.items.map(h=>{const p=t.fieldDef(h.channel);return p!=null&&p.bin?`[${u}[${Fe(t.vgField(h.channel,{}))}], ${u}[${Fe(t.vgField(h.channel,{binSuffix:"end"}))}]]`:`${u}[${Fe(h.field)}]`}).join(", "),l=`unit: ${G2(t)}, fields: ${s}, values`,c=e.events,f=Pi((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+z2):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+Vc,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function Q2(t,e,n,r){const i=NN(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(rJe(a)){const{param:c,empty:f}=a,x=zae(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=KN(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function Q7(t,e="text"){const n=t.encoding[e];return Q2(t,n,e,r=>GN(r,t.config))}function GN(t,e,n="datum"){if(t){if(gu(t))return on(t.value);if(it(t)){const{format:r,formatType:i}=wN(t);return u7({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function Sae(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(_e(o))return{tooltip:_ae({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return Q2(t,o,"tooltip",a=>{const l=GN(a,i,u);if(l)return l;if(a===null)return;let c=kt("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),je(c))return{value:c};if(Qe(c))return Ye(c)?c:c.content==="encoding"?_ae(n,s,i,e):{signal:u}})}}function vae(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=_d(c),x=Ro(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||g7(x,n),p=Pe(h).join(", ");let m;if(kr(c)){const g=c==="x"?"x2":"y2",y=Ba(t[g]);if(Mi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:S,formatType:v}=wN(x);m=TN(E,A,S,v,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=wN(x);m=u7({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=GN(x,n,s).signal),o.push({channel:c,key:p,value:m})}A7(t,(l,c)=>{Le(l)?u(l,c):DN(l)&&u(l.condition,c)});const a={};for(const{channel:l,key:c,value:f}of o)!i[l]&&!a[c]&&(a[c]=f);return a}function _ae(t,e,n,{reactiveGeom:r}={}){const i=vae(t,e,n,{reactiveGeom:r}),s=Ad(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function det(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),het(t)),pet(t))}function het(t){const{mark:e,markDef:n,config:r}=t;if(r.aria===!1)return{};const i=kt("ariaRoleDescription",n,r);return i!=null?{ariaRoleDescription:{value:i}}:e in VYe?{}:{ariaRoleDescription:{value:e}}}function pet(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return Q2(t,s,"description",a=>GN(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:on(o)};if(r.aria===!1)return{};const u=vae(e,i,r);if(!Wt(u))return{description:{signal:Ad(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function br(t,e,n={}){const{markDef:r,encoding:i,config:s}=e,{vgChannel:o}=n;let{defaultRef:u,defaultValue:a}=n;u===void 0&&(a??(a=kt(t,r,s,{vgChannel:o,ignoreVgConfig:!0})),a!==void 0&&(u=on(a)));const l=i[t];return Q2(e,l,o??t,c=>o7({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function Cae(t,e={filled:void 0}){var n,r,i,s;const{markDef:o,encoding:u,config:a}=t,{type:l}=o,c=(n=e.filled)!==null&&n!==void 0?n:kt("filled",o,a),f=Tt(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,x=(i=(r=kt(c===!0?"color":void 0,o,a,{vgChannel:"fill"}))!==null&&r!==void 0?r:a.mark[c===!0&&"color"])!==null&&i!==void 0?i:f,h=(s=kt(c===!1?"color":void 0,o,a,{vgChannel:"stroke"}))!==null&&s!==void 0?s:a.mark[c===!1&&"color"],p=c?"fill":"stroke",m=Object.assign(Object.assign({},x?{fill:on(x)}:{}),h?{stroke:on(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(Aoe("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),br("color",t,{vgChannel:p,defaultValue:c?x:h})),br("fill",t,{defaultValue:u.fill?x:void 0})),br("stroke",t,{defaultValue:u.stroke?h:void 0}))}function get(t){const{encoding:e,mark:n}=t,r=e.order;return!Uc(n)&&gu(r)?Q2(t,r,"zindex",i=>on(i.value)):{}}function D3({channel:t,markDef:e,encoding:n={},model:r,bandPosition:i}){const s=`${t}Offset`,o=e[s],u=n[s];if((s==="xOffset"||s==="yOffset")&&u)return{offsetType:"encoding",offset:o7({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:on(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ai(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[e0(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=D3({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=G7({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&kr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:met({channel:t,channelDef:a,channel2Def:l,markDef:s,config:o,scaleName:c,scale:f,stack:u,offset:x,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||t]:m}:void 0}function met(t){const{channel:e,channelDef:n,scaleName:r,stack:i,offset:s,markDef:o}=t;if(it(n)&&i&&e===i.fieldChannel){if(Le(n)){let u=n.bandPosition;if(u===void 0&&o.type==="text"&&(e==="radius"||e==="theta")&&(u=.5),u!==void 0)return bN({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Od(n,r,{suffix:"end"},{offset:s})}return i7(t)}function G7({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=_d(n),a=Bc(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return v3(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([ys.LOG,ys.TIME,ys.UTC],c)){if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}}if(e==="zeroOrMin")return u==="y"?{field:{group:"height"}}:{value:0};switch(u){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{const c=t[gs(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const yet={left:"x",center:"xc",right:"x2"},Eet={top:"y",middle:"yc",bottom:"y2"};function bae(t,e,n,r="middle"){if(t==="radius"||t==="theta")return Bc(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(RXe(i)),o=void 0):o=s,t==="x"?yet[o||(r==="top"?"left":"center")]:Eet[o||r]}function WN(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?Tae(t,e,{defaultPos:n,defaultPos2:r}):ai(t,e,{defaultPos:n})}function Tae(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=e0(t),u=gs(t),a=Aet(e,r,o),l=a[u]?bae(t,i,s):Bc(t);return Object.assign(Object.assign({},ai(t,e,{defaultPos:n,vgChannel:l})),a)}function Aet(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=_d(n),l=gs(n),c=Bc(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?D3({channel:n,markDef:s,encoding:r,model:t}):D3({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=gs(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=vet({channel:n,channelDef:f,channel2Def:r[n],markDef:s,config:u,scaleName:x,scale:h,stack:o,offset:p,defaultRef:void 0});return m!==void 0?{[c]:m}:VN(n,s)||VN(n,{[n]:mN(n,s,u.style),[l]:mN(l,s,u.style)})||VN(n,u[i])||VN(n,u.mark)||{[c]:G7({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function vet({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l}){return it(e)&&u&&t.charAt(0)===u.fieldChannel.charAt(0)?Od(e,s,{suffix:"start"},{offset:a}):i7({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function VN(t,e){const n=gs(t),r=Bc(t);if(e[r]!==void 0)return{[r]:v3(t,e[r])};if(e[t]!==void 0)return{[r]:v3(t,e[t])};if(e[n]){const i=e[n];if(k2(i))Te(AXe(n));else return{[n]:v3(t,i)}}}function Wc(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=e0(e),l=gs(e),c=s[e],f=s[a],x=t.getScaleComponent(e),h=x?x.get("type"):void 0,p=o.orient,m=(r=(n=s[l])!==null&&n!==void 0?n:s.size)!==null&&r!==void 0?r:kt("size",o,i,{vgChannel:l}),g=u==="bar"&&(e==="x"?p==="vertical":p==="horizontal");return Le(c)&&(Kt(c.bin)||Mi(c.bin)||c.timeUnit&&!f)&&!(m&&!k2(m))&&!Cr(h)?bet({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Cr(h)||g)&&!f?Cet(c,e,t):Tae(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function _et(t,e,n,r,i){if(k2(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(FXe(o)),i=void 0)}else return{mult:i.band,field:{group:t}};else{if(Ye(i))return i;if(i)return{value:i}}if(n){const o=n.get("range");if(jc(o)&&nn(o.step))return{value:o.step-2}}return{value:qN(r.view,t)-2}}function Cet(t,e,n){const{markDef:r,encoding:i,config:s,stack:o}=n,u=r.orient,a=n.scaleName(e),l=n.getScaleComponent(e),c=gs(e),f=e0(e),x=OYe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=br("size",n,{vgChannel:c,defaultRef:on(r.size)}):Te($Xe(r.type)));const g=uue({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:_et(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=bae(e,r,s,y),A=E==="xc"||E==="yc",{offset:S,offsetType:v}=D3({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=i7({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:S,defaultRef:G7({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?v==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:k2(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=Bc(f),b=m[c],O=S?Object.assign(Object.assign({},b),{offset:S}):b;return{[E]:_,[C]:_e(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function F3(t,e,n,r,i){if(qse(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=r0(n),u=r0(i),a=r0(r),l=a?`${a} + `:"",c=o?`(${o} ? -1 : 1) * `:"",f=u?`(${u} + ${s})`:s;return{signal:l+c+f}}else return i=i||0,r+(n?-i-s:+i+s)}function bet({fieldDef:t,fieldDef2:e,channel:n,model:r}){var i,s,o;const{config:u,markDef:a,encoding:l}=r,c=r.getScaleComponent(n),f=r.scaleName(n),x=c?c.get("type"):void 0,h=c.get("reverse"),p=uue({channel:n,fieldDef:t,markDef:a,config:u,scaleType:x}),m=(i=r.component.axes[n])===null||i===void 0?void 0:i[0],g=(s=m==null?void 0:m.get("translate"))!==null&&s!==void 0?s:.5,y=kr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=e0(n),A=Bc(n),S=Bc(E),{offset:v}=D3({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:k2(p)?(1-p.band)/2:.5;if(Kt(t.bin)||t.timeUnit)return{[S]:Rae({fieldDef:t,scaleName:f,bandPosition:_,offset:F3(E,y,h,g,v)}),[A]:Rae({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:F3(n,y,h,g,v)})};if(Mi(t.bin)){const C=Od(t,f,{},{offset:F3(E,y,h,g,v)});if(Le(e))return{[S]:C,[A]:Od(e,f,{},{offset:F3(n,y,h,g,v)})};if(Cd(t.bin)&&t.bin.step)return{[S]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:F3(n,y,h,g,v)}}}Te(boe(E))}function Rae({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return bN({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const Tet=new Set(["aria","width","height"]);function Oo(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?Cae(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ret(t.markDef,e)),Oae(t,"fill",n)),Oae(t,"stroke",r)),br("opacity",t)),br("fillOpacity",t)),br("strokeOpacity",t)),br("strokeWidth",t)),br("strokeDash",t)),get(t)),Sae(t)),Q7(t,"href")),det(t))}function Oae(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!Uc(i)){const u=Oet(t,{invalid:!0,channels:pN});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function Ret(t,e){return WYe.reduce((n,r)=>(!Tet.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=on(t[r])),n),{})}function Oet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&zs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>s7(o,e)).join(` ${s} `)}}function W7(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=Net(t,{channels:Da});if(i)return{defined:{signal:i}}}return{}}function Net(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&zs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>s7(o,e)).join(` ${s} `)}}function Nae(t,e){if(e!==void 0)return{[t]:on(e)}}const V7="voronoi",Dae={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName(V7)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(Uc(s))return Te(ZYe(s)),n;const o={name:t.getName(V7),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},Sae(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]};let u=0,a=!1;return n.forEach((l,c)=>{var f;const x=(f=l.name)!==null&&f!==void 0?f:"";x===t.component.mark[0].name?u=c:x.indexOf(V7)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},Fae={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!R7(t.bind),parse:(t,e,n)=>Uae(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=Dae.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=mn(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:H2(o[l])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${u}[${Fe(a.field)}] : null`}]:[],bind:(f=(c=s[a.field])!==null&&c!==void 0?c:s[a.channel])!==null&&f!==void 0?f:s}))}),n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.filter(l=>l.name===r+Vc)[0],o=r+N3,u=i.items.map(l=>mn(`${r}_${l.field}`)),a=u.map(l=>`${l} !== null`).join(" && ");return u.length&&(s.update=`${a} ? {fields: ${o}, values: [${u.join(", ")}]} : null`),delete s.value,delete s.on,n}},YN="_toggle",wae={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+YN,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+Vc,r=e.name+YN;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${G2(t)}}, `)+`${r} ? ${n} : null`}},Det={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?hd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(Fae.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===mn(`${e.name}_${r.field}`));i!==-1&&n[i].on.push({events:e.clear,update:"null"})}return n},signals:(t,e,n)=>{function r(i,s){i!==-1&&n[i].on&&n[i].on.push({events:e.clear,update:s})}if(e.type==="interval")for(const i of e.project.items){const s=n.findIndex(o=>o.name===i.signals.visual);if(r(s,"[0, 0]"),s===-1){const o=n.findIndex(u=>u.name===i.signals.data);r(o,"null")}}else{let i=n.findIndex(s=>s.name===e.name+Vc);r(i,"null"),wae.defined(e)&&(i=n.findIndex(s=>s.name===e.name+YN),r(i,"false"))}return n}},Lae={defined:t=>{const e=t.resolve==="global"&&t.bind&&R7(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==R3;return e&&!n&&Te(nXe),e&&n},parse:(t,e,n)=>{var r;const i=ot(n);if(i.select=je(i.select)?{type:i.select,toggle:e.toggle}:Object.assign(Object.assign({},i.select),{toggle:e.toggle}),Uae(e,i),Qe(n.select)&&(n.select.on||n.select.clear)){const u='event.item && indexof(event.item.mark.role, "legend") < 0';for(const a of e.events)a.filter=Pe((r=a.filter)!==null&&r!==void 0?r:[]),a.filter.includes(u)||a.filter.push(u)}const s=O7(e.bind)?e.bind.legend:"click",o=je(s)?hd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=O7(e.bind)&&e.bind.legend,s=o=>u=>{const a=ot(u);return a.markname=o,a};for(const o of e.project.items){if(!o.hasLegend)continue;const u=`${mn(o.field)}_legend`,a=`${r}_${u}`;if(n.filter(c=>c.name===a).length===0){const c=i.merge.map(s(`${u}_symbols`)).concat(i.merge.map(s(`${u}_labels`))).concat(i.merge.map(s(`${u}_entries`)));n.unshift(Object.assign(Object.assign({name:a},e.init?{}:{value:null}),{on:[{events:c,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${a}`,force:!0}]}))}}return n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.find(x=>x.name===r+Vc),o=r+N3,u=i.items.filter(x=>x.hasLegend).map(x=>mn(`${r}_${mn(x.field)}_legend`)),l=`${u.map(x=>`${x} !== null`).join(" && ")} ? {fields: ${o}, values: [${u.join(", ")}]} : null`;e.events&&u.length>0?s.on.push({events:u.map(x=>({signal:x})),update:l}):u.length>0&&(s.update=l,delete s.value,delete s.on);const c=n.find(x=>x.name===r+YN),f=O7(e.bind)&&e.bind.legend;return c&&(e.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:f})):c.on[0].events=f),n}};function Fet(t,e,n){var r,i,s,o;const u=(r=t.fieldDef(e))===null||r===void 0?void 0:r.field;for(const a of Pi((i=t.component.selection)!==null&&i!==void 0?i:{})){const l=(s=a.project.hasField[u])!==null&&s!==void 0?s:a.project.hasChannel[e];if(l&&Lae.defined(a)){const c=(o=n.get("selections"))!==null&&o!==void 0?o:[];c.push(a.name),n.set("selections",c,!1),l.hasLegend=!0}}}const Iae="_translate_anchor",$ae="_translate_delta",wet={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=Gc.defined(e),s=r+Iae,{x:o,y:u}=e.project.hasChannel;let a=hd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+z2,l))),n.push({name:s,value:{},on:[{events:a.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(o!==void 0?`, extent_x: ${i?q7(t,yn):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?q7(t,_r):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+$ae,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&Bae(t,e,o,"width",n),u!==void 0&&Bae(t,e,u,"height",n),n}};function Bae(t,e,n,r,i){var s,o;const u=e.name,a=u+Iae,l=u+$ae,c=n.channel,f=Gc.defined(e),x=i.filter(C=>C.name===n.signals[f?"data":"visual"])[0],h=t.getSizeSignalRef(r).signal,p=t.getScaleComponent(c),m=p.get("type"),g=p.get("reverse"),y=f?c===yn?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,S=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",v=f?m==="pow"?`, ${(s=p.get("exponent"))!==null&&s!==void 0?s:1}`:m==="symlog"?`, ${(o=p.get("constant"))!==null&&o!==void 0?o:1}`:"":"",_=`${S}(${E}, ${A}${v})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const kae="_zoom_anchor",Pae="_zoom_delta",Let={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=Gc.defined(e),s=r+Pae,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(yn)),l=Fe(t.scaleName(_r));let c=hd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+z2,f))),n.push({name:r+kae,on:[{events:c,update:i?"{"+[a?`x: invert(${a}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>!!f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:s,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&Mae(t,e,o,"width",n),u!==void 0&&Mae(t,e,u,"height",n),n}};function Mae(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=Gc.defined(e),c=i.filter(S=>S.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?q7(t,a):c.name,m=u+Pae,g=`${u}${kae}.${a}`,y=l?h==="log"?"zoomLog":h==="symlog"?"zoomSymlog":h==="pow"?"zoomPow":"zoomLinear":"zoomLinear",E=l?h==="pow"?`, ${(s=x.get("exponent"))!==null&&s!==void 0?s:1}`:h==="symlog"?`, ${(o=x.get("constant"))!==null&&o!==void 0?o:1}`:"":"",A=`${y}(${p}, ${g}, ${m}${E})`;c.on.push({events:{signal:m},update:l?A:`clampRange(${A}, 0, ${f})`})}const wd="_store",Vc="_tuple",Iet="_modify",jae="vlSelectionResolve",XN=[xet,cet,uet,wae,Fae,Gc,Lae,Det,wet,Let,Dae];function $et(t){let e=t.parent;for(;e&&!Eu(e);)e=e.parent;return e}function G2(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=$et(t);if(r){const{facet:i}=r;for(const s of To)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Y7(t){var e;return Pi((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===R3),!1)}function Uae(t,e){(je(e.select)||!e.select.on)&&delete t.events,(je(e.select)||!e.select.clear)&&delete t.clear,(je(e.select)||!e.select.toggle)&&delete t.toggle}function X7(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...X7(t.object)),e.push(...X7(t.property))),e)}function qae(t){return t.object.type==="MemberExpression"?qae(t.object):t.object.name==="datum"}function Hae(t){const e=vre(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&qae(r)&&n.add(X7(r).slice(1).join("."))}),n}class W2 extends Ut{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=KN(this.model,this.filter,this),this._dependentFields=Hae(this.expr)}clone(){return new W2(null,this.model,ot(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Bet(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=mn(s.name),u=s.select,a=je(u)?u:u.type,l=Qe(u)?ot(u):{type:a},c=i[a];for(const x in c)x==="fields"||x==="encodings"||(x==="mark"&&(l[x]=Object.assign(Object.assign({},c[x]),l[x])),(l[x]===void 0||l[x]===!0)&&(l[x]=(n=c[x])!==null&&n!==void 0?n:l[x]));const f=r[o]=Object.assign(Object.assign({},l),{name:o,type:a,init:s.value,bind:s.bind,events:je(l.on)?hd(l.on,"scope"):Pe(ot(l.on))});for(const x of XN)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function zae(t,e,n,r="datum"){const i=je(e)?e:e.param,s=mn(i),o=Fe(s+wd);let u;try{u=t.getSelectionComponent(s,i)}catch{return`!!${s}`}if(u.project.timeUnit){const c=n??t.component.data.raw,f=u.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}const a=`vlSelectionTest(${o}, ${r}${u.resolve==="global"?")":`, ${Fe(u.resolve)})`}`,l=`length(data(${o}))`;return e.empty===!1?`${l} && ${a}`:`!${l} || ${a}`}function Qae(t,e,n){const r=mn(e),i=n.encoding;let s=n.field,o;try{o=t.getSelectionComponent(r,e)}catch{return r}if(!i&&!s)s=o.project.items[0].field,o.project.items.length>1&&Te(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${Fe(s)}.`);else if(i&&!s){const u=o.project.items.filter(a=>a.channel===i);!u.length||u.length>1?(s=o.project.items[0].field,Te((u.length?"Multiple ":"No ")+`matching ${Fe(i)} encoding found for selection ${Fe(n.param)}. Using "field": ${Fe(s)}.`)):s=u[0].field}return`${o.name}[${Fe(fu(s))}]`}function ket(t,e){var n;for(const[r,i]of Ad((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=t.getName(`lookup_${r}`);t.component.data.outputNodes[s]=i.materialized=new qi(new W2(e,t,{param:r}),s,Jt.Lookup,t.component.data.outputNodeRefCounts)}}function KN(t,e,n){return oN(e,r=>je(r)?r:mKe(r)?zae(t,r,n):Loe(r))}var JN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Pet(t,e){if(t)return _e(t)&&!Mc(t)?t.map(n=>g7(n,e)).join(", "):t}function K7(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function w3(t,e,n,r={header:!1}){var i,s;const o=t.combine(),{disable:u,orient:a,scale:l,labelExpr:c,title:f,zindex:x}=o,h=JN(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=mJe[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(T3(g)){const{condition:y}=g,E=JN(g,["condition"]),A=Pe(y),S=gue[p];if(S){const{vgProp:v,part:_}=S,C=[...A.map(b=>{const{test:O}=b,R=JN(b,["test"]);return Object.assign({test:KN(null,O)},R)}),E];K7(h,_,v,C),delete h[p]}else if(S===null){const v={signal:A.map(_=>{const{test:C}=_,b=JN(_,["test"]);return`${KN(null,C)} ? ${ioe(b)} : `}).join("")+ioe(E)};h[p]=v}}else if(Ye(g)){const y=gue[p];if(y){const{vgProp:E,part:A}=y;K7(h,A,E,g),delete h[p]}}Tt(["labelAlign","labelBaseline"],p)&&h[p]===null&&delete h[p]}if(e==="grid"){if(!h.grid)return;if(h.encode){const{grid:p}=h.encode;h.encode=Object.assign({},p?{grid:p}:{}),Wt(h.encode)&&delete h.encode}return Object.assign(Object.assign({scale:l,orient:a},h),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:ir(x,0)})}else{if(!r.header&&t.mainExtracted)return;if(c!==void 0){let m=c;!((s=(i=h.encode)===null||i===void 0?void 0:i.labels)===null||s===void 0)&&s.update&&Ye(h.encode.labels.update.text)&&(m=N2(c,"datum.label",h.encode.labels.update.text.signal)),K7(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of mue)t.hasAxisPart(m)||delete h.encode[m];Wt(h.encode)&&delete h.encode}const p=Pet(f,n);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:a,grid:!1},p?{title:p}:{}),h),n.aria===!1?{aria:!1}:{}),{zindex:ir(x,0)})}}}function Gae(t){const{axes:e}=t.component,n=[];for(const r of Da)if(e[r]){for(const i of e[r])if(!i.get("disable")&&!i.get("gridScale")){const s=r==="x"?"height":"width",o=t.getSizeSignalRef(s).signal;s!==o&&n.push({name:s,update:o})}}return n}function Met(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>w3(i,"grid",e)),...r.map(i=>w3(i,"grid",e)),...n.map(i=>w3(i,"main",e)),...r.map(i=>w3(i,"main",e))].filter(i=>i)}function Wae(t,e,n,r){return Object.assign.apply(null,[{},...t.map(i=>{if(i==="axisOrient"){const s=n==="x"?"bottom":"left",o=e[n==="x"?"axisBottom":"axisLeft"]||{},u=e[n==="x"?"axisTop":"axisRight"]||{},a=new Set([...be(o),...be(u)]),l={};for(const c of a.values())l[c]={signal:`${r.signal} === "${s}" ? ${r0(o[c])} : ${r0(u[c])}`};return l}return e[i]})])}function jet(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:Poe(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${uN(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:Wae(u,r,t,n),vgAxisConfig:Wae(a,r,t,n),axisConfigStyle:Uet([...a,...u],r)}}function Uet(t,e){var n;const r=[{}];for(const i of t){let s=(n=e[i])===null||n===void 0?void 0:n.style;if(s){s=Pe(s);for(const o of s)r.push(e.style[o])}}return Object.assign.apply(null,r)}function J7(t,e,n,r={}){var i;const s=ooe(t,n,e);if(s!==void 0)return{configFrom:"style",configValue:s};for(const o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((i=r[o])===null||i===void 0?void 0:i[t])!==void 0)return{configFrom:o,configValue:r[o][t]};return{}}const Vae={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return Koe(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Joe(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:qet(n,t)},gridScale:({model:t,channel:e})=>Het(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||Xae(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||Yae(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:Qet(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:Get(e.type,n,Le(e)&&!!e.timeUnit,Le(e)?e.sort:void 0)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:n,fieldOrDatumDef:r,scaleType:i})=>{var s;const o=t==="x"?"width":t==="y"?"height":void 0,u=o?e.getSizeSignalRef(o):void 0;return(s=n.tickCount)!==null&&s!==void 0?s:Vet({fieldOrDatumDef:r,scaleType:i,size:u,values:n.values})},title:({axis:t,model:e,channel:n})=>{if(t.title!==void 0)return t.title;const r=Kae(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return aoe(i?[sue(i)]:[],Le(o)?[sue(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>Yet(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:Xet(n,e)}};function qet(t,e){return!Cr(t)&&Le(e)&&!Kt(e==null?void 0:e.bin)&&!Mi(e==null?void 0:e.bin)}function Het(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function zet(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:aN(s);{const{configValue:o}=J7("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?aN(o):n===yn&&Tt([J8,K8],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function Z7(t){return`(((${t.signal} % 360) + 360) % 360)`}function Yae(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=Z7(t),s=Ye(e)?`(${e.signal} === "top")`:e==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${s} ? "bottom" : "top"`}}if(45<t&&t<135||225<t&&t<315)return"middle";if(Ye(e)){const i=t<=45||315<=t?"===":"!==";return{signal:`${e.signal} ${i} "top" ? "bottom" : "top"`}}return(t<=45||315<=t)==(e==="top")?"bottom":"top"}else{if(Ye(t)){const i=Z7(t),s=Ye(e)?`(${e.signal} === "left")`:e==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${s} ? "top" : "bottom"`}}if(t<=45||315<=t||135<=t&&t<=225)return r?"middle":null;if(Ye(e)){const i=45<=t&&t<=135?"===":"!==";return{signal:`${e.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=t&&t<=135)==(e==="left")?"top":"bottom"}}function Xae(t,e,n){if(t===void 0)return;const r=n==="x",i=r?0:90,s=r?"bottom":"left";if(Ye(t)){const o=Z7(t),u=Ye(e)?`(${e.signal} === "${s}")`:e===s;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${u} ? "left" : "right"`}}if((t+i)%180===0)return r?null:"center";if(Ye(e)){const o=i<t&&t<180+i?"===":"!==";return{signal:`${`${e.signal} ${o} "${s}"`} ? "left" : "right"`}}return(i<t&&t<180+i)==(e===s)?"left":"right"}function Qet(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function Get(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function Wet(t){return t==="x"?"bottom":"left"}function Vet({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Cr(e)&&e!=="log"){if(Le(t)){if(Kt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=ji(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function Kae(t,e){const n=e==="x"?"x2":"y2",r=t.fieldDef(e),i=t.fieldDef(n),s=r?r.title:void 0,o=i?i.title:void 0;if(s&&o)return loe(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function Yet(t,e){const n=t.values;if(_e(n))return pue(e,n);if(Ye(n))return n}function Xet(t,e){return t==="rect"&&FN(e)?1:0}class V2 extends Ut{constructor(e,n){super(e),this.transform=n,this._dependentFields=Hae(this.transform.calculate)}clone(){return new V2(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(Dd(r)&&iue(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${Loe({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new V2(e,{calculate:a,as:Y2(r,i,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${bt(this.transform)}`}}function Y2(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function ZN(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function X2(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return ir((e||{})[t],i[t],n.header[t])}function eD(t,e,n,r){const i={};for(const s of t){const o=X2(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const eP=["row","column"],tP=["header","footer"];function Ket(t,e){const n=t.component.layoutHeaders[e].title,r=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:s,titleAngle:o,titleOrient:u}=eD(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=ZN(e,u),l=aN(o);return{name:`${e}-title`,type:"group",role:`${a}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:n},e==="row"?{orient:"left"}:{}),{style:"guide-title"}),Zae(l,a)),Jae(a,l,s)),ele(r,i,e,MJe,kue))}}function Jae(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=Xae(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function Zae(t,e){const n=Yae(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function Jet(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of tP)if(n[i])for(const s of n[i]){const o=ett(t,e,i,n,s);o!=null&&r.push(o)}return r}function Zet(t,e){var n;const{sort:r}=t;return La(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:_e(r)?{field:Y2(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function nP(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=eD(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=u7({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=ZN(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?N2(N2(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),Zae(s,c)),Jae(c,s,o)),ele(n,t,e,jJe,Pue))}function ett(t,e,n,r,i){if(i){let s=null;const{facetFieldDef:o}=r,u=t.config?t.config:void 0;if(o&&i.labels){const{labelOrient:f}=eD(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=nP(o,e,u))}const a=Eu(t)&&!_3(t.facet),l=i.axes,c=(l==null?void 0:l.length)>0;if(s||c){const f=e==="row"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${n}`),type:"group",role:`${e}-${n}`},r.facetFieldDef?{from:{data:t.getName(`${e}_domain`)},sort:Zet(o,e)}:{}),c&&a?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),s?{title:s}:{}),i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}const ttt={column:{start:0,end:1},row:{start:1,end:0}};function ntt(t,e){return ttt[e][t]}function rtt(t,e){const n={};for(const r of To){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=eD(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=ZN(r,o),a=ntt(s,u);a!==void 0&&(n[u]=a)}}return Wt(n)?void 0:n}function ele(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=X2(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function rP(t){return[...tD(t,"width"),...tD(t,"height"),...tD(t,"childWidth"),...tD(t,"childHeight")]}function tD(t,e){const n=e==="width"?"x":"y",r=t.component.layoutSize.get(e);if(!r||r==="merged")return[];const i=t.getSizeSignalRef(e).signal;if(r==="step"){const s=t.getScaleComponent(n);if(s){const o=s.get("type"),u=s.get("range");if(Cr(o)&&jc(u)){const a=t.scaleName(n);return Eu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[tle(a,u)]:[tle(a,u),{name:i,update:nle(a,s,`domain('${a}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(r=="container"){const s=i.endsWith("width"),o=s?"containerSize()[0]":"containerSize()[1]",u=w7(t.config.view,s?"width":"height"),a=`isFinite(${o}) ? ${o} : ${u}`;return[{name:i,init:a,on:[{update:a,events:"window:resize"}]}]}else return[{name:i,value:r}]}function tle(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function nle(t,e,n){const r=e.get("type"),i=e.get("padding"),s=ir(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${r0(o)}, ${r0(s)}) * ${t}_step`}function rle(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function ile(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),Q2(e,i,r,s=>on(s.value)))},{})}function sle(t,e){if(Eu(e))return t==="theta"?"independent":"shared";if(Z2(e))return"shared";if(EP(e))return kr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function iP(t,e){const n=t.scale[e],r=kr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(jXe(e)),"independent"):t[r][e]||"shared"}const itt=Object.assign(Object.assign({},qJe),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),ole=be(itt);class stt extends o0{}const ule={symbols:ott,gradient:utt,labels:att,entries:ltt};function ott(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i,legendType:s}){var o,u,a,l,c,f,x,h;if(s!=="symbol")return;const{markDef:p,encoding:m,config:g,mark:y}=n,E=p.filled&&y!=="trail";let A=Object.assign(Object.assign({},XYe({},n,qKe)),Cae(n,{filled:E}));const S=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,v=(u=i.get("symbolFillColor"))!==null&&u!==void 0?u:g.legend.symbolFillColor,_=(a=i.get("symbolStrokeColor"))!==null&&a!==void 0?a:g.legend.symbolStrokeColor,C=S===void 0?(l=ale(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===hs)delete A.fill;else if(A.fill.field)v?delete A.fill:(A.fill=on((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=on(C??1));else if(_e(A.fill)){const b=(h=(x=sP((f=m.fill)!==null&&f!==void 0?f:m.color))!==null&&x!==void 0?x:p.fill)!==null&&h!==void 0?h:E&&p.color;b&&(A.fill=on(b))}}if(A.stroke){if(r==="stroke"||!E&&r===hs)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(_e(A.stroke)){const b=ir(sP(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==Zl){const b=Le(e)&&cle(n,i,e);b?A.opacity=[Object.assign({test:b},on(C??1)),on(g.legend.unselectedOpacity)]:C&&(A.opacity=on(C))}return A=Object.assign(Object.assign({},A),t),Wt(A)?void 0:A}function utt(t,{model:e,legendType:n,legendCmpt:r}){var i;if(n!=="gradient")return;const{config:s,markDef:o,encoding:u}=e;let a={};const c=((i=r.get("gradientOpacity"))!==null&&i!==void 0?i:s.legend.gradientOpacity)===void 0?ale(u.opacity)||o.opacity:void 0;return c&&(a.opacity=on(c)),a=Object.assign(Object.assign({},a),t),Wt(a)?void 0:a}function att(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?cle(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Nd(c)?a7({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:o}):void 0,x=Object.assign(Object.assign(Object.assign({},a?{opacity:a}:{}),f?{text:f}:{}),t);return Wt(x)?void 0:x}function ltt(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function ale(t){return lle(t,(e,n)=>Math.max(e,n.value))}function sP(t){return lle(t,(e,n)=>ir(e,n.value))}function lle(t,e){if(sJe(t))return Pe(t.condition).reduce(e,t.value);if(gu(t))return t.value}function cle(t,e,n){const r=e.get("selections");if(!(r!=null&&r.length))return;const i=Fe(n.field);return r.map(s=>`(!length(data(${Fe(mn(s)+wd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const fle={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return Koe(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Joe(r,e,n)},gradientLength:t=>{var e,n;const{legend:r,legendConfig:i}=t;return(n=(e=r.gradientLength)!==null&&e!==void 0?e:i.gradientLength)!==null&&n!==void 0?n:gtt(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:n})=>{var r,i;return(i=(r=t.labelOverlap)!==null&&r!==void 0?r:e.labelOverlap)!==null&&i!==void 0?i:mtt(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:ftt(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>P2(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(F2(n)&&pu(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>ctt(e,t)};function ctt(t,e){const n=t.values;if(_e(n))return pue(e,n);if(Ye(n))return n}function ftt(t,e,n,r){var i;if(e!=="shape"){const s=(i=sP(n))!==null&&i!==void 0?i:r;if(s)return s}switch(t){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function xtt(t){const{legend:e}=t;return ir(e.type,dtt(t))}function dtt({channel:t,timeUnit:e,scaleType:n}){if(F2(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(pu(n))return"gradient"}return"symbol"}function htt({legendConfig:t,legendType:e,orient:n,legend:r}){var i,s;return(s=(i=r.direction)!==null&&i!==void 0?i:t[e?"gradientDirection":"symbolDirection"])!==null&&s!==void 0?s:ptt(n,e)}function ptt(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return e==="gradient"?"horizontal":void 0}}function gtt({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(pu(i))return n==="horizontal"?r==="top"||r==="bottom"?xle(e,"width",o,s):o:xle(e,"height",a,u)}function xle(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function mtt(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function dle(t){const e=zn(t)?ytt(t):vtt(t);return t.component.legends=e,e}function ytt(t){const{encoding:e}=t,n={};for(const r of[hs,...jue]){const i=sr(e[r]);!i||!t.getScaleComponent(r)||r===ps&&Le(i)&&i.type===$2||(n[r]=Stt(t,r))}return n}function Ett(t,e){const n=t.scaleName(e);if(t.mark==="trail"){if(e==="color")return{stroke:n};if(e==="size")return{strokeWidth:n}}return e==="color"?t.markDef.filled?{fill:n}:{stroke:n}:{[e]:n}}function Att(t,e,n,r){switch(e){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(e==="title"&&t===(r==null?void 0:r.title))return!0}return t===(n||{})[e]}function Stt(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new stt({},Ett(t,e));Fet(t,e,c);const f=s!==void 0?!s:l.disable;if(c.set("disable",f,s!==void 0),f)return c;s=s||{};const x=t.getScaleComponent(e).get("type"),h=sr(u[e]),p=Le(h)?(n=ji(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=xtt({legend:s,channel:e,timeUnit:p,scaleType:x}),y=htt({legend:s,legendType:g,orient:m,legendConfig:l}),E={legend:s,channel:e,model:t,markDef:o,encoding:u,fieldOrDatumDef:h,legendConfig:l,config:a,scaleType:x,orient:m,legendType:g,direction:y};for(const C of ole){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in fle?fle[C](E):s[C];if(b!==void 0){const O=Att(b,C,s,t.fieldDef(e));(O||a.legend[C]===void 0)&&c.set(C,b,O)}}const A=(r=s==null?void 0:s.encoding)!==null&&r!==void 0?r:{},S=c.get("selections"),v={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=ile((i=A[C])!==null&&i!==void 0?i:{},t),O=C in ule?ule[C](b,_):b;O!==void 0&&!Wt(O)&&(v[C]=Object.assign(Object.assign(Object.assign({},S!=null&&S.length&&Le(h)?{name:`${mn(h.field)}_legend_${C}`}:{}),S!=null&&S.length?{interactive:!!S}:{}),{update:O}))}return Wt(v)||c.set("encode",v,!!(s!=null&&s.encoding)),c}function vtt(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){dle(r);for(const i of be(r.component.legends))n.legend[i]=iP(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=hle(e[i],r.component.legends[i]),e[i]||(n.legend[i]="independent",delete e[i]))}for(const r of be(e))for(const i of t.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return e}function hle(t,e){var n,r,i,s;if(!t)return e.clone();const o=t.getWithExplicit("orient"),u=e.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;let a=!1;for(const l of ole){const c=zc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return _tt(f,x);case"title":return coe(f,x);case"type":return a=!0,Qs("symbol")}return QN(f,x,l,"legend")});t.setWithExplicit(l,c)}return a&&(!((r=(n=t.implicit)===null||n===void 0?void 0:n.encode)===null||r===void 0)&&r.gradient&&_8(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&_8(t.explicit,["encode","gradient"])),t}function _tt(t,e){return e.value==="circle"?e:t}var Ctt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function btt(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function ple(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=sn(s.get("domains"));if(n[o])for(const u of n[o])hle(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Pi(n).flat().map(i=>Ttt(i,t.config)).filter(i=>i!==void 0)}function Ttt(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=Ctt(s,["disable","labelExpr","selections"]);if(!o){if(e.aria===!1&&l.aria==null&&(l.aria=!1),!((n=l.encode)===null||n===void 0)&&n.symbols){const c=l.encode.symbols.update;c.fill&&c.fill.value!=="transparent"&&!c.stroke&&!l.stroke&&(c.stroke={value:"transparent"});for(const f of jue)l[f]&&delete c[f]}if(l.title||delete l.title,u!==void 0){let c=u;!((i=(r=l.encode)===null||r===void 0?void 0:r.labels)===null||i===void 0)&&i.update&&Ye(l.encode.labels.update.text)&&(c=N2(u,"datum.label",l.encode.labels.update.text.signal)),btt(l,"labels","text",{signal:c})}return l}}function Rtt(t){return Z2(t)||EP(t)?Ott(t):gle(t)}function Ott(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),gle(t))}function gle(t){const e=t.component.projection;if(!e||e.merged)return[];const n=e.combine(),{name:r}=n;if(e.data){const i={signal:`[${e.size.map(o=>o.signal).join(", ")}]`},s=e.data.reduce((o,u)=>{const a=Ye(u)?u.signal:`data('${t.lookupDataSource(u)}')`;return Tt(o,a)||o.push(a),o},[]);if(s.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:r,size:i,fit:{signal:s.length>1?`[${s.join(", ")}]`:s[0]}},n)]}else return[Object.assign(Object.assign({name:r},{translate:{signal:"[width / 2, height / 2]"}}),n)]}const Ntt=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class mle extends o0{constructor(e,n,r,i){super(Object.assign({},n),{name:e}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function yle(t){t.component.projection=zn(t)?Dtt(t):Ltt(t)}function Dtt(t){var e;if(t.hasProjection){const n=ms(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?Ftt(t):void 0,o=new mle(t.projectionName(!0),Object.assign(Object.assign({},(e=ms(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function Ftt(t){const e=[],{encoding:n}=t;for(const r of[[Ra,Ta],[bo,hu]])(sr(n[r[0]])||sr(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(ps)&&t.typedFieldDef(ps).type===$2&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Jt.Main)),e}function wtt(t,e){const n=$se(Ntt,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Gl(t.get(i),e.get(i))));if(Gl(t.size,e.size)){if(n)return t;if(Gl(t.explicit,{}))return e;if(Gl(e.explicit,{}))return t}return null}function Ltt(t){if(t.children.length===0)return;let e;for(const r of t.children)yle(r);const n=$se(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=wtt(e,i);return s&&(e=s),!!s}else return e=i,!0;else return!0});if(e&&n){const r=t.projectionName(!0),i=new mle(r,e.specifiedProjection,e.size,ot(e.data));for(const s of t.children){const o=s.component.projection;o&&(o.isFit&&i.data.push(...s.component.projection.data),s.renameProjection(o.get("name"),r),o.merged=!0)}return i}}var Itt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function $tt(t,e,n,r){var i,s;if(b3(e,n)){const o=zn(t)?(s=(i=t.axis(n))!==null&&i!==void 0?i:t.legend(n))!==null&&s!==void 0?s:{}:{},u=$e(e,{expr:"datum"}),a=$e(e,{expr:"datum",binSuffix:"end"});return{formulaAs:$e(e,{binSuffix:"range",forAs:!0}),formula:TN(u,a,o.format,o.formatType,r)}}return{}}function Ele(t,e){return`${Zse(t)}_${e}`}function Btt(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function oP(t,e,n){var r;const i=(r=IN(n,void 0))!==null&&r!==void 0?r:{},s=Ele(i,e);return t.getName(`${s}_bins`)}function ktt(t){return"as"in t}function Ale(t,e,n){let r,i;ktt(t)?r=je(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:r=[$e(t,{forAs:!0}),$e(t,{binSuffix:"end",forAs:!0})];const s=Object.assign({},IN(e,void 0)),o=Ele(s,t.field),{signal:u,extentSignal:a}=Btt(n,o);if(gN(s.extent)){const c=s.extent;i=Qae(n,c.param,c),delete s.extent}const l=Object.assign(Object.assign(Object.assign({bin:s,field:t.field,as:[r]},u?{signal:u}:{}),a?{extentSignal:a}:{}),i?{span:i}:{});return{key:o,binComponent:l}}class ja extends Ut{constructor(e,n){super(e),this.bins=n}clone(){return new ja(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(Ro(s)&&Kt(s.bin)){const{key:u,binComponent:a}=Ale(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),$tt(n,s,o,n.config))}return i},{});return Wt(r)?null:new ja(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=Ale(n,n.bin,r);return new ja(e,{[i]:s})}merge(e,n){for(const r of be(e.bins))r in this.bins?(n(e.bins[r].signal,this.bins[r].signal),this.bins[r].as=Wl([...this.bins[r].as,...e.bins[r].as],bt)):this.bins[r]=e.bins[r];for(const r of e.children)e.removeChild(r),r.parent=this;e.remove()}producedFields(){return new Set(Pi(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Pi(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Pi(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=Itt(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:fu(e.field),as:r,signal:e.signal},gN(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:fu(e.field),signal:e.extentSignal}),a.extent={signal:e.extentSignal}),n.push(a);for(const l of i)for(let c=0;c<2;c++)n.push({type:"formula",expr:$e({field:r[c]},{expr:"datum"}),as:l[c]});return e.formula&&n.push({type:"formula",expr:e.formula,as:e.formulaAs}),n})}}function Ptt(t,e,n,r){var i;const s=zn(r)?r.encoding[e0(e)]:void 0;if(Ro(n)&&zn(r)&&aue(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&b3(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(SYe(e)){const o=AYe(e);t.add(r.getName(o))}else t.add($e(n));return Dd(n)&&FKe((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function Mtt(t,e){var n;for(const r of be(e)){const i=e[r];for(const s of be(i))r in t?t[r][s]=new Set([...(n=t[r][s])!==null&&n!==void 0?n:[],...i[s]]):t[r]={[s]:i[s]}}}class mu extends Ut{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new mu(null,new Set(this.dimensions),ot(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,n){let r=!1;n.forEachFieldDef(o=>{o.aggregate&&(r=!0)});const i={},s=new Set;return!r||(n.forEachFieldDef((o,u)=>{var a,l,c,f;const{aggregate:x,field:h}=o;if(x)if(x==="count")(a=i["*"])!==null&&a!==void 0||(i["*"]={}),i["*"].count=new Set([$e(o,{forAs:!0})]);else{if(t0(x)||Pc(x)){const p=t0(x)?"argmin":"argmax",m=x[p];(l=i[m])!==null&&l!==void 0||(i[m]={}),i[m][p]=new Set([$e({op:p,field:m},{forAs:!0})])}else(c=i[h])!==null&&c!==void 0||(i[h]={}),i[h][x]=new Set([$e(o,{forAs:!0})]);kc(u)&&n.scaleDomain(u)==="unaggregated"&&((f=i[h])!==null&&f!==void 0||(i[h]={}),i[h].min=new Set([$e({field:h,aggregate:"min"},{forAs:!0})]),i[h].max=new Set([$e({field:h,aggregate:"max"},{forAs:!0})]))}else Ptt(s,u,o,n)}),s.size+be(i).length===0)?null:new mu(e,s,i)}static makeFromTransform(e,n){var r,i,s;const o=new Set,u={};for(const a of n.aggregate){const{op:l,field:c,as:f}=a;l&&(l==="count"?((r=u["*"])!==null&&r!==void 0||(u["*"]={}),u["*"].count=new Set([f||$e(a,{forAs:!0})])):((i=u[c])!==null&&i!==void 0||(u[c]={}),u[c][l]=new Set([f||$e(a,{forAs:!0})])))}for(const a of(s=n.groupby)!==null&&s!==void 0?s:[])o.add(a);return o.size+be(u).length===0?null:new mu(e,o,u)}merge(e){return xYe(this.dimensions,e.dimensions)?(Mtt(this.measures,e.measures),!0):(nKe("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...be(this.measures)])}producedFields(){const e=new Set;for(const n of be(this.measures))for(const r of be(this.measures[n])){const i=this.measures[n][r];i.size===0?e.add(`${r}_${n}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${bt({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],n=[],r=[];for(const s of be(this.measures))for(const o of be(this.measures[s]))for(const u of this.measures[s][o])r.push(u),e.push(o),n.push(s==="*"?null:fu(s));return{type:"aggregate",groupby:[...this.dimensions].map(fu),ops:e,fields:n,as:r}}}class K2 extends Ut{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of To){const o=n.facet[s];if(o){const{bin:u,sort:a}=o;this[s]=Object.assign({name:n.getName(`${s}_domain`),fields:[$e(o),...Kt(u)?[$e(o,{binSuffix:"end"})]:[]]},La(a)?{sortField:a}:_e(a)?{sortIndexField:Y2(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of To)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of To)!((e=this[r])===null||e===void 0)&&e.fields&&n.push(...this[r].fields);return n}dependentFields(){const e=new Set(this.fields);for(const n of To)this[n]&&(this[n].sortField&&e.add(this[n].sortField.field),this[n].sortIndexField&&e.add(this[n].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const n of Da){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Cr(i)&&jc(s)){const o=rD(this.childModel,n),u=gP(o);u?e[n]=u:Te(B8(n))}}}return e}assembleRowColumnHeaderData(e,n,r){const i={row:"y",column:"x",facet:void 0}[e],s=[],o=[],u=[];i&&r&&r[i]&&(n?(s.push(`distinct_${r[i]}`),o.push("max")):(s.push(r[i]),o.push("distinct")),u.push(`distinct_${r[i]}`));const{sortField:a,sortIndexField:l}=this[e];if(a){const{op:c=RN,field:f}=a;s.push(f),o.push(c),u.push($e(a,{forAs:!0}))}else l&&(s.push(l),o.push("max"),u.push(l));return{name:this[e].name,source:n??this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},s.length?{fields:s,ops:o,as:u}:{})]}}assembleFacetHeaderData(e){var n,r;const{columns:i}=this.model.layout,{layoutHeaders:s}=this.model.component,o=[],u={};for(const c of eP){for(const f of tP){const x=(n=s[c]&&s[c][f])!==null&&n!==void 0?n:[];for(const h of x)if(((r=h.axes)===null||r===void 0?void 0:r.length)>0){u[c]=!0;break}}if(u[c]){const f=`length(data("${this.facet.name}"))`,x=c==="row"?i?{signal:`ceil(${f} / ${i})`}:1:i?{signal:`min(${f}, ${i})`}:{signal:f};o.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:x}]})}}const{row:a,column:l}=u;return(a||l)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}assemble(){var e,n;const r=[];let i=null;const s=this.getChildIndependentFieldsWithStep(),{column:o,row:u,facet:a}=this;if(o&&u&&(s.x||s.y)){i=`cross_${this.column.name}_${this.row.name}`;const l=[].concat((e=s.x)!==null&&e!==void 0?e:[],(n=s.y)!==null&&n!==void 0?n:[]),c=l.map(()=>"distinct");r.push({name:i,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:c}]})}for(const l of[Yl,Vl])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function Sle(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function jtt(t,e){const n=Mse(t);if(e==="number")return`toNumber(${n})`;if(e==="boolean")return`toBoolean(${n})`;if(e==="string")return`toString(${n})`;if(e==="date")return`toDate(${n})`;if(e==="flatten")return n;if(e.startsWith("date:")){const r=Sle(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=Sle(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(lXe(e)),null}function Utt(t){const e={};return iN(t.filter,n=>{var r;if(woe(n)){let i=null;H8(n)?i=Hs(n.equal):Q8(n)?i=Hs(n.lte):z8(n)?i=Hs(n.lt):G8(n)?i=Hs(n.gt):W8(n)?i=Hs(n.gte):V8(n)?i=n.range[0]:Y8(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Td(i)?e[n.field]="date":nn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function qtt(t){const e={};function n(r){j2(r)?e[r.field]="date":r.type==="quantitative"&&UYe(r.aggregate)?e[r.field]="number":h3(r.field)>1?r.field in e||(e[r.field]="flatten"):Dd(r)&&La(r.sort)&&h3(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((zn(t)||Eu(t))&&t.forEachFieldDef((r,i)=>{if(Ro(r))n(r);else{const s=_d(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),zn(t)){const{mark:r,markDef:i,encoding:s}=t;if(Uc(r)&&!t.encoding.order){const o=i.orient==="horizontal"?"y":"x",u=s[o];Le(u)&&u.type==="quantitative"&&!(u.field in e)&&(e[u.field]="number")}}return e}function Htt(t){const e={};if(zn(t)&&t.component.selection)for(const n of be(t.component.selection)){const r=t.component.selection[n];for(const i of r.project.items)!i.channel&&h3(i.field)>1&&(e[i.field]="flatten")}return e}class li extends Ut{constructor(e,n){super(e),this._parse=n}clone(){return new li(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!Qc(o)&&(!((i=o==null?void 0:o.format)===null||i===void 0)&&i.parse)&&(s=o.format.parse),this.makeWithAncestors(e,s,{},r)}static makeWithAncestors(e,n,r,i){for(const u of be(r)){const a=i.getWithExplicit(u);a.value!==void 0&&(a.explicit||a.value===r[u]||a.value==="derived"||r[u]==="flatten"?delete r[u]:Te(moe(u,r[u],a.value)))}for(const u of be(n)){const a=i.get(u);a!==void 0&&(a===n[u]?delete n[u]:Te(moe(u,n[u],a)))}const s=new o0(n,r);i.copyAll(s);const o={};for(const u of be(s.combine())){const a=s.get(u);a!==null&&(o[u]=a)}return be(o).length===0||i.parseNothing?null:new li(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}assembleFormatParse(){const e={};for(const n of be(this._parse)){const r=this._parse[n];h3(n)===1&&(e[n]=r)}return e}producedFields(){return new Set(be(this._parse))}dependentFields(){return new Set(be(this._parse))}assembleTransforms(e=!1){return be(this._parse).filter(n=>e?h3(n)>1:!0).map(n=>{const r=jtt(n,this._parse[n]);return r?{type:"formula",expr:r,as:jse(n)}:null}).filter(n=>n!==null)}}class Yc extends Ut{clone(){return new Yc(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([R3])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:R3}}}class L3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new L3(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${bt(this.params)}`}assemble(){return Object.assign({type:"graticule"},this.params===!0?{}:this.params)}}class I3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new I3(null,this.params)}dependentFields(){return new Set}producedFields(){var e;return new Set([(e=this.params.as)!==null&&e!==void 0?e:"data"])}hash(){return`Hash ${bt(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}}class Ld extends Ut{constructor(e){super(null),e??(e={name:"source"});let n;if(Qc(e)||(n=e.format?Object.assign({},Co(e.format,["parse"])):{}),O3(e))this._data={values:e.values};else if(q2(e)){if(this._data={url:e.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(e.url)[1];Tt(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else mae(e)?this._data={values:[{type:"Sphere"}]}:(pae(e)||Qc(e))&&(this._data={});this._generator=Qc(e),e.name&&(this._name=e.name),n&&!Wt(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}}var vle=function(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n},ztt=function(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},$3;function uP(t){return t instanceof Ld||t instanceof L3||t instanceof I3}class aP{constructor(){$3.set(this,void 0),vle(this,$3,!1,"f")}setModified(){vle(this,$3,!0,"f")}get modifiedFlag(){return ztt(this,$3,"f")}}$3=new WeakMap;class Id extends aP{getNodeDepths(e,n,r){r.set(e,n);for(const i of e.children)this.getNodeDepths(i,n+1,r);return r}optimize(e){const r=[...this.getNodeDepths(e,0,new Map).entries()].sort((i,s)=>s[1]-i[1]);for(const i of r)this.run(i[0]);return this.modifiedFlag}}class lP extends aP{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class Qtt extends lP{mergeNodes(e,n){const r=n.shift();for(const i of n)e.removeChild(i),i.parent=r,i.remove()}run(e){const n=e.children.map(i=>i.hash()),r={};for(let i=0;i<n.length;i++)r[n[i]]===void 0?r[n[i]]=[e.children[i]]:r[n[i]].push(e.children[i]);for(const i of be(r))r[i].length>1&&(this.setModified(),this.mergeNodes(e,r[i]))}}class Gtt extends lP{constructor(e){super(),this.requiresSelectionId=e&&Y7(e)}run(e){e instanceof Yc&&(this.requiresSelectionId&&(uP(e.parent)||e.parent instanceof mu||e.parent instanceof li)||(this.setModified(),e.remove()))}}class Wtt extends aP{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof Ma&&(r=e.producedFields(),Bse(r,n)&&(this.setModified(),e.removeFormulas(n),e.producedFields.length===0&&e.remove()));for(const i of e.children)this.run(i,new Set([...n,...r]))}}class Vtt extends lP{constructor(){super()}run(e){e instanceof qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class Ytt extends Id{run(e){if(!uP(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof li)if(e instanceof li)this.setModified(),e.merge(n);else{if(Pse(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class Xtt extends Id{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof li);if(e.numChildren()>1&&r.length>=1){const i={},s=new Set;for(const o of r){const u=o.parse;for(const a of be(u))a in i?i[a]!==u[a]&&s.add(a):i[a]=u[a]}for(const o of s)delete i[o];if(!Wt(i)){this.setModified();const o=new li(e,i);for(const u of n){if(u instanceof li)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof li&&be(u.parse).length===0&&u.remove()}}}}}class Ktt extends Id{run(e){e instanceof qi||e.numChildren()>0||e instanceof K2||e instanceof Ld||(this.setModified(),e.remove())}}class Jtt extends Id{run(e){const n=e.children.filter(i=>i instanceof Ma),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class Ztt extends Id{run(e){const n=e.children.filter(i=>i instanceof mu),r={};for(const i of n){const s=bt(i.groupBy);s in r||(r[s]=[]),r[s].push(i)}for(const i of be(r)){const s=r[i];if(s.length>1){const o=s.pop();for(const u of s)o.merge(u)&&(e.removeChild(u),u.parent=o,u.remove(),this.setModified())}}}}class ent extends Id{constructor(e){super(),this.model=e}run(e){const n=!(uP(e)||e instanceof W2||e instanceof li||e instanceof Yc),r=[],i=[];for(const s of e.children)s instanceof ja&&(n&&!Pse(e.producedFields(),s.dependentFields())?r.push(s):i.push(s));if(r.length>0){const s=r.pop();for(const o of r)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof ja?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(i.length>1){const s=i.pop();for(const o of i)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}}class tnt extends Id{run(e){const n=[...e.children];if(!O2(n,o=>o instanceof qi)||e.numChildren()<=1)return;const i=[];let s;for(const o of n)if(o instanceof qi){let u=o;for(;u.numChildren()===1;){const[a]=u.children;if(a instanceof qi)u=a;else break}i.push(...u.children),s?(e.removeChild(o),o.parent=s.parent,s.parent.removeChild(s),s.parent=u,this.setModified()):s=u}else i.push(o);if(i.length){this.setModified();for(const o of i)o.parent.removeChild(o),o.parent=s}}}class $d extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new $d(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Wl(this.transform.groupby.concat(e),n=>n)}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(n=>n.field).filter(n=>n!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`JoinAggregateTransform ${bt(this.transform)}`}assemble(){const e=[],n=[],r=[];for(const s of this.transform.joinaggregate)n.push(s.op),r.push(this.getDefaultName(s)),e.push(s.field===void 0?null:s.field);const i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:r,ops:n,fields:e},i!==void 0?{groupby:i}:{})}}function nnt(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function rnt(t){return _e(t)&&t.every(e=>je(e))&&t.length>1}class u0 extends Ut{constructor(e,n){super(e),this._stack=n}clone(){return new u0(null,ot(this._stack))}static makeFromTransform(e,n){const{stack:r,groupby:i,as:s,offset:o="zero"}=n,u=[],a=[];if(n.sort!==void 0)for(const f of n.sort)u.push(f.field),a.push(ir(f.order,"ascending"));const l={field:u,order:a};let c;return rnt(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new u0(e,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:o,sort:l,facetby:[],as:c})}static makeFromEncoding(e,n){const r=n.stack,{encoding:i}=n;if(!r)return null;const{groupbyChannels:s,fieldChannel:o,offset:u,impute:a}=r,l=s.map(h=>{const p=i[h];return Ba(p)}).filter(h=>!!h),c=nnt(n),f=n.encoding.order;let x;return _e(f)||Le(f)?x=uoe(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new u0(e,{dimensionFieldDefs:l,stackField:n.vgField(o),facetby:[],stackby:c,sort:x,offset:u,impute:a,as:[n.vgField(o,{suffix:"start",forAs:!0}),n.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${bt(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:e,impute:n,groupby:r}=this._stack;return e.length>0?e.map(i=>i.bin?n?[$e(i,{binSuffix:"mid"})]:[$e(i,{}),$e(i,{binSuffix:"end"})]:[$e(i)]).flat():r??[]}assemble(){const e=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:s,sort:o,offset:u,impute:a,as:l}=this._stack;if(a)for(const c of r){const{bandPosition:f=.5,bin:x}=c;if(x){const h=$e(c,{expr:"datum"}),p=$e(c,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${f}*${h}+${1-f}*${p}`,as:$e(c,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...s,...n],key:$e(c,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:o,as:l,offset:u}),e}}class J2 extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new J2(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Wl(this.transform.groupby.concat(e),n=>n)}dependentFields(){var e,n;const r=new Set;return((e=this.transform.groupby)!==null&&e!==void 0?e:[]).forEach(r.add,r),((n=this.transform.sort)!==null&&n!==void 0?n:[]).forEach(i=>r.add(i.field)),this.transform.window.map(i=>i.field).filter(i=>i!==void 0).forEach(r.add,r),r}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`WindowTransform ${bt(this.transform)}`}assemble(){var e;const n=[],r=[],i=[],s=[];for(const x of this.transform.window)r.push(x.op),i.push(this.getDefaultName(x)),s.push(x.param===void 0?null:x.param),n.push(x.field===void 0?null:x.field);const o=this.transform.frame,u=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(x=>w8(x)))return Object.assign({type:"joinaggregate",as:i,ops:r,fields:n},u!==void 0?{groupby:u}:{});const a=[],l=[];if(this.transform.sort!==void 0)for(const x of this.transform.sort)a.push(x.field),l.push((e=x.order)!==null&&e!==void 0?e:"ascending");const c={field:a,order:l},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:s,as:i,ops:r,fields:n,sort:c},f!==void 0?{ignorePeers:f}:{}),u!==void 0?{groupby:u}:{}),o!==void 0?{frame:o}:{})}}function int(t){function e(n){if(!(n instanceof K2)){const r=n.clone();if(r instanceof qi){const i=fP+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof mu||r instanceof u0||r instanceof J2||r instanceof $d)&&r.addDimensions(t.fields);for(const i of n.children.flatMap(e))i.parent=r;return[r]}return n.children.flatMap(e)}return e}function cP(t){if(t instanceof K2)if(t.numChildren()===1&&!(t.children[0]instanceof qi)){const e=t.children[0];(e instanceof mu||e instanceof u0||e instanceof J2||e instanceof $d)&&e.addDimensions(t.fields),e.swapWithParent(),cP(t)}else{const e=t.model.component.data.main;_le(e);const n=int(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(cP)}function _le(t){if(t instanceof qi&&t.type===Jt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof K2||(e.swapWithParent(),_le(t))}}const fP="scale_",nD=5;function xP(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!xP(e.children))return!1}return!0}function yu(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function Cle(t,e,n){let r=t.sources,i=!1;return i=yu(new Vtt,r)||i,i=yu(new Gtt(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=yu(new Ktt,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=yu(new Ytt,r)||i,i=yu(new ent(e),r)||i,i=yu(new Wtt,r)||i,i=yu(new Xtt,r)||i,i=yu(new Ztt,r)||i,i=yu(new Jtt,r)||i,i=yu(new Qtt,r)||i,i=yu(new tnt,r)||i),t.sources=r,i}function snt(t,e){xP(t.sources);let n=0,r=0;for(let i=0;i<nD&&Cle(t,e,!0);i++)n++;t.sources.map(cP);for(let i=0;i<nD&&Cle(t,e,!1);i++)r++;xP(t.sources),Math.max(n,r)===nD&&Te(`Maximum optimization runs(${nD}) reached.`)}class Es{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new Es(()=>e(n))}}var ont=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function ble(t){zn(t)?unt(t):ant(t)}function unt(t){const e=t.component.scales;for(const n of be(e)){const r=cnt(t,n);if(e[n].setWithExplicit("domains",r),xnt(t,n),t.component.data.isFaceted){let s=t;for(;!Eu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)n0(u)&&(u.data=fP+u.data.replace(fP,""))}}}function ant(t){for(const n of t.children)ble(n);const e=t.component.scales;for(const n of be(e)){let r,i=null;for(const s of t.children){const o=s.component.scales[n];if(o){r===void 0?r=o.getWithExplicit("domains"):r=zc(r,o.getWithExplicit("domains"),"domains","scale",pP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(sXe),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function lnt(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=Tle(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=Tle(e,n);if(i)return"unaggregated"}return t}function cnt(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=lnt(t.scaleDomain(e),t.typedFieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),e==="x"&&sr(r.x2)?sr(r.x)?zc(Xc(n,i,t,"x"),Xc(n,i,t,"x2"),"domain","scale",pP):Xc(n,i,t,"x2"):e==="y"&&sr(r.y2)?sr(r.y)?zc(Xc(n,i,t,"y"),Xc(n,i,t,"y2"),"domain","scale",pP):Xc(n,i,t,"y2"):Xc(n,i,t,e)}function fnt(t,e,n){return t.map(r=>({signal:`{data: ${$N(r,{timeUnit:n,type:e})}}`}))}function dP(t,e,n){var r;const i=(r=ji(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?fnt(t,e,i):[t]}function Xc(t,e,n,r){const{encoding:i}=n,s=sr(i[r]),{type:o}=s,u=s.timeUnit;if(DKe(e)){const f=Xc(t,void 0,n,r),x=dP(e.unionWith,o,u);return Pa([...f.value,...x])}else{if(Ye(e))return Pa([e]);if(e&&e!=="unaggregated"&&!joe(e))return Pa(dP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return Qs([[0,1]]);const f=n.requestDataName(Jt.Main);return Qs([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=kc(r)&&Le(s)?dnt(n,r,t):void 0;if(Ia(s)){const f=dP([s.datum],o,u);return Qs(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Jt.Main),{field:x}=s;return Qs([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Kt(c.bin)){if(Cr(t))return Qs(t==="bin-ordinal"?[]:[{data:sN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r,b3(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Kt(f)){const x=oP(n,c.field,f);return Qs([new Es(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return Qs([{data:n.requestDataName(Jt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&aue(c,zn(n)?n.encoding[e0(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Jt.Main);return Qs([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return Qs(l?[{data:sN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Jt.Main),field:n.vgField(r)}])}function hP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":RN)},r?{field:fu(r)}:{}),i?{order:i}:{})}function xnt(t,e){var n;const r=t.component.scales[e],i=t.specifiedScales[e].domain,s=(n=t.fieldDef(e))===null||n===void 0?void 0:n.bin,o=joe(i)&&i,u=Cd(s)&&gN(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function dnt(t,e,n){if(!Cr(n))return;const r=t.fieldDef(e),i=r.sort;if(iue(i))return{op:"min",field:Y2(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(La(i)){const u=s&&!o.has(i.field);return hP(i,u)}else if(rue(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(t0(c)||Pc(c))return hP({field:$e(l),order:a},x);if(w8(c)||!c)return hP({op:c,field:f,order:a},x)}else{if(i==="descending")return{op:"min",field:t.vgField(e),order:"descending"};if(Tt(["ascending",void 0],i))return!0}}function Tle(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!HYe.has(n)?{valid:!1,reason:LXe(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:IXe(t)}:{valid:!0}:{valid:!1,reason:wXe(t)}}function pP(t,e,n,r){return t.explicit&&e.explicit&&Te(MXe(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function hnt(t){const e=Wl(t.map(o=>n0(o)?ont(o,["sort"]):o),bt),n=Wl(t.map(o=>{if(n0(o)){const u=o.sort;return u!==void 0&&!sN(u)&&("op"in u&&u.op==="count"&&delete u.field,u.order==="ascending"&&delete u.order),u}}).filter(o=>o!==void 0),bt);if(e.length===0)return;if(e.length===1){const o=t[0];if(n0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(_oe),u=!0;else if(Qe(u)&&"field"in u){const a=u.field;o.field===a&&(u=u.order?{order:u.order}:!0)}return Object.assign(Object.assign({},o),{sort:u})}return o}const r=Wl(n.map(o=>sN(o)||!("op"in o)||je(o.op)&&o.op in MYe?o:(Te(UXe(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(_oe),i=!0);const s=Wl(t.map(o=>n0(o)?o.data:null),o=>o);return s.length===1&&s[0]!==null?Object.assign({data:s[0],fields:e.map(u=>u.field)},i?{sort:i}:{}):Object.assign({fields:e},i?{sort:i}:{})}function gP(t){if(n0(t)&&je(t.field))return t.field;if(QYe(t)){let e;for(const n of t.fields)if(n0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(qXe),e}return Te(HXe),e}else if(GYe(t)){Te(zXe);const e=t.fields[0];return je(e)?e:void 0}}function rD(t,e){const r=t.component.scales[e].get("domains").map(i=>(n0(i)&&(i.data=t.lookupDataSource(i.data)),i));return hnt(r)}var pnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Rle(t){return Z2(t)||EP(t)?t.children.reduce((e,n)=>e.concat(Rle(n)),Ole(t)):Ole(t)}function Ole(t){return be(t.component.scales).reduce((e,n)=>{const r=t.component.scales[n];if(r.merged)return e;const i=r.combine(),{name:s,type:o,selectionExtent:u,domains:a,range:l,reverse:c}=i,f=pnt(i,["name","type","selectionExtent","domains","range","reverse"]),x=gnt(i.range,s,n,t),h=rD(t,n),p=u?iet(t,u,r,h):null;return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:s,type:o},h?{domain:h}:{}),p?{domainRaw:p}:{}),{range:x}),c!==void 0?{reverse:c}:{}),f)),e},[])}function gnt(t,e,n,r){if(kr(n)){if(jc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&n0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class Nle extends o0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:O2(this.get("domains"),e=>_e(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const mnt=["range","scheme"];function ynt(t){const e=t.component.scales;for(const n of pN){const r=e[n];if(!r)continue;const i=Ent(n,t);r.setWithExplicit("range",i)}}function Dle(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=gs(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new Es(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Kt(r)){const u=oP(t,i,r);return new Es(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function Ent(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of mnt)if(n[f]!==void 0){const x=e7(s,f),h=Uoe(t,f);if(!x)Te(Soe(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(_e(p)){if(kr(t))return Pa(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return Es.fromName(y,g)}return m}))}else if(Qe(p))return Pa({data:e.requestDataName(Jt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Pa(p)}case"scheme":return Pa(Ant(n[f]))}}const o=t===yn||t==="xOffset"?"width":"height",u=r[o];if(ka(u)){if(kr(t))if(Cr(s)){const f=Fle(u,e,t);if(f)return Pa({step:f})}else Te(voe(o));else if(w2(t)){const f=t===Fc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=wle(u,s);if(p)return Pa(p)}}}const{rangeMin:a,rangeMax:l}=n,c=Snt(t,e);return(a!==void 0||l!==void 0)&&e7(s,"rangeMin")&&_e(c)&&c.length===2?Pa([a??c[0],l??c[1]]):Qs(c)}function Ant(t){return NKe(t)?Object.assign({scheme:t.name},Co(t,["name"])):{scheme:t}}function Snt(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=sr(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case yn:case _r:{if(Tt(["point","band"],l)){const p=Lle(t,n,r.view);if(ka(p))return{step:Fle(p,e,t)}}const x=gs(t),h=e.getName(x);return t===_r&&zs(l)?[Es.fromName(o,h),0]:[0,Es.fromName(o,h)]}case Fc:case D2:return vnt(t,e,l);case Jl:{const x=e.component.scales[t].get("zero"),h=Ile(i,x,r),p=bnt(i,n,e,r);return B2(l)?Cnt(h,p,_nt(l,r,c,t)):[h,p]}case du:return[0,Math.PI*2];case Sd:return[0,360];case ba:return[0,new Es(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case Ic:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case $c:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case ps:return"symbol";case hs:case Oa:case Na:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Zl:case wc:case Lc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function Fle(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=Gse(n),f=a[c];if(que({step:t,offsetIsDiscrete:it(f)&&Ioe(f.type)})==="offset"&&Sue(a,c)){const h=e.getScaleComponent(c);let m=`domain('${e.scaleName(c)}').length`;if(h.get("type")==="band"){const y=(i=(r=h.get("paddingInner"))!==null&&r!==void 0?r:h.get("padding"))!==null&&i!==void 0?i:0,E=(o=(s=h.get("paddingOuter"))!==null&&s!==void 0?s:h.get("padding"))!==null&&o!==void 0?o:0;m=`bandspace(${m}, ${y}, ${E})`}const g=(u=l.get("paddingInner"))!==null&&u!==void 0?u:l.get("padding");return{signal:`${t.step} * ${m} / (1-${YYe(g)})`}}else return t.step}function wle(t,e){if(que({step:t,offsetIsDiscrete:Cr(e)})==="offset")return{step:t.step}}function vnt(t,e,n){const r=t===Fc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=Lle(r,e.size,e.config.view);if(ka(u)){const a=wle(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return lYe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function Lle(t,e,n){const r=t===yn?"width":"height",i=e[r];return i||HN(n,r)}function _nt(t,e,n,r){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return n!==void 0&&_e(n)?n.length+1:(Te(ZXe(r)),3)}}function Cnt(t,e,n){const r=()=>{const i=r0(e),s=r0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new Es(r):{signal:r()}}function Ile(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${Ile(t,!1,n)}`}:0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(yN("size",t))}const $le=.95;function bnt(t,e,n,r){const i={x:Dle(n,"x"),y:Dle(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=Ble(e,i,r.view);return nn(s)?s-1:new Es(()=>`${s.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const s=Ble(e,i,r.view);return nn(s)?Math.pow($le*s,2):new Es(()=>`pow(${$le} * ${s.signal}, 2)`)}}throw new Error(yN("size",t))}function Ble(t,e,n){const r=ka(t.width)?t.width.step:qN(n,"width"),i=ka(t.height)?t.height.step:qN(n,"height");return e.x||e.y?new Es(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function kle(t,e){zn(t)?Tnt(t,e):jle(t,e)}function Tnt(t,e){const n=t.component.scales,{config:r,encoding:i,markDef:s,specifiedScales:o}=t;for(const u of be(n)){const a=o[u],l=n[u],c=t.getScaleComponent(u),f=sr(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=e7(h,e),y=Uoe(u,e);if(x!==void 0&&(g?y&&Te(y):Te(Soe(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Td(a[e])||A==="temporal"||E?l.set(e,{signal:$N(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in Ple?Ple[e]({model:t,channel:u,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:a.domain,domainMin:a.domainMin,domainMax:a.domainMax,markDef:s,config:r,hasNestedOffsetScale:y7(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const Ple={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?Rnt(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>Ont(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>Nnt(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>Dnt(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>Fnt(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>wnt(t,e,n,r,i.scale,s),reverse:({fieldOrDatumDef:t,scaleType:e,channel:n,config:r})=>{const i=Le(t)?t.sort:void 0;return Lnt(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>Int(t,e,n,r,i)};function Mle(t){zn(t)?ynt(t):jle(t,"range")}function jle(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?Mle(r):kle(r,e);for(const r of be(n)){let i;for(const s of t.children){const o=s.component.scales[r];if(o){const u=o.getWithExplicit(e);i=zc(i,u,e,"scale",hae((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function Rnt(t,e){const n=e.bin;if(Kt(n)){const r=oP(t,e.field,n);return new Es(()=>t.getSignalName(r))}else if(Mi(n)&&Cd(n)&&n.step!==void 0)return{step:n.step}}function Ont(t,e){if(Tt([hs,Oa,Na],t)&&e!=="nominal")return"hcl"}function Nnt(t,e,n,r,i,s){var o;if(!(!((o=Ba(s))===null||o===void 0)&&o.bin||_e(n)||i!=null||r!=null||Tt([ys.TIME,ys.UTC],t)))return kr(e)?!0:void 0}function Dnt(t,e,n,r,i,s){if(kr(t)){if(pu(e)){if(n.continuousPadding!==void 0)return n.continuousPadding;const{type:o,orient:u}=i;if(o==="bar"&&!(Le(r)&&(r.bin||r.timeUnit))&&(u==="vertical"&&t==="x"||u==="horizontal"&&t==="y"))return s.continuousBandSize}if(e===ys.POINT)return n.pointPadding}}function Fnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:ir(o,n==="bar"?u:a)}else if(w2(e)&&r===ys.BAND)return i.offsetBandPaddingInner}}function wnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===ys.BAND)return ir(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(w2(e)){if(n===ys.POINT)return .5;if(n===ys.BAND)return i.offsetBandPaddingOuter}}}function Lnt(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return zs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(zs(t)&&e==="descending")return!0}function Int(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&zs(i)){if(_e(n)){const o=n[0],u=n[n.length-1];if(o<=0&&u>=0)return!0}return!1}if(t==="size"&&e.type==="quantitative"&&!B2(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...Da,...FYe],t)){const{orient:o,type:u}=r;return!(Tt(["bar","area","line","trail"],u)&&(o==="horizontal"&&t==="y"||o==="vertical"&&t==="x"))}return!1}function $nt(t,e,n,r,i=!1){const s=Bnt(e,n,r,i),{type:o}=t;return kc(e)?o!==void 0?$Ke(e,o)?Le(n)&&!IKe(o,n.type)?(Te(kXe(o,s)),s):o:(Te(BXe(e,o,s)),s):s:null}function Bnt(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(F2(t)||F8(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(P8(t,"ordinal")),"ordinal";if(kr(t)||w2(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in D8)return"band";const s=n[gs(t)];return k2(s)||h7(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return F2(t)?"time":F8(t)==="discrete"?(Te(P8(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&ji(e.timeUnit).utc?"utc":"time";case"quantitative":return F2(t)?Le(e)&&Kt(e.bin)?"bin-ordinal":"linear":F8(t)==="discrete"?(Te(P8(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(Eoe(e.type))}function knt(t,{ignoreRange:e}={}){Ule(t),ble(t);for(const n of LKe)kle(t,n);e||Mle(t)}function Ule(t){zn(t)?t.component.scales=Pnt(t):t.component.scales=jnt(t)}function Pnt(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of pN){const o=sr(e[s]);if(o&&n===zoe&&s===ps&&o.type===$2)continue;let u=o&&o.scale;if(w2(s)){const a=Wse(s);if(!y7(e,a)){u&&Te(vXe(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=y7(e,s),l=$nt(u,s,o,r,a);i[s]=new Nle(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const Mnt=hae((t,e)=>$oe(t)-$oe(e));function jnt(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){Ule(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=sle(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?CKe(a.value,l.value)?i[u]=zc(a,l,"type","scale",Mnt):(s.scale[u]="independent",delete i[u]):i[u]=l}}for(const o of be(i)){const u=t.scaleName(o,!0),a=i[o];r[o]=new Nle(u,a);for(const l of t.children){const c=l.component.scales[o];c&&(l.renameScale(c.get("name"),u),c.merged=!0)}}return r}var mP=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class yP{constructor(){this.nameMap={}}rename(e,n){this.nameMap[e]=n}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function zn(t){return(t==null?void 0:t.type)==="unit"}function Eu(t){return(t==null?void 0:t.type)==="facet"}function EP(t){return(t==null?void 0:t.type)==="concat"}function Z2(t){return(t==null?void 0:t.type)==="layer"}class AP{constructor(e,n,r,i,s,o,u){var a,l;this.type=n,this.parent=r,this.config=s,this.correctDataNames=c=>{var f,x,h;return!((f=c.from)===null||f===void 0)&&f.data&&(c.from.data=this.lookupDataSource(c.from.data)),!((h=(x=c.from)===null||x===void 0?void 0:x.facet)===null||h===void 0)&&h.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c},this.parent=r,this.config=s,this.view=ms(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Mc(e.title)?{text:e.title}:e.title?ms(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new yP,this.projectionNameMap=r?r.projectionNameMap:new yP,this.signalNameMap=r?r.signalNameMap:new yP,this.data=e.data,this.description=e.description,this.transforms=jZe((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:WJe(e,n,s),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:ON(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new o0,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?ot(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){knt(this)}parseProjection(){yle(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){dle(this)}assembleEncodeFromView(e){const n=mP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=on(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=on(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Wt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=mP(e,["spacing"]),{component:i,config:s}=this,o=rtt(i.layoutHeaders,s);return Object.assign(Object.assign(Object.assign({padding:n},this.assembleDefaultLayout()),r),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let n=[];for(const r of To)e[r].title&&n.push(Ket(this,r));for(const r of eP)n=n.concat(Jet(this,r));return n}assembleAxes(){return Met(this.component.axes,this.config)}assembleLegends(){return ple(this)}assembleProjections(){return Rtt(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=mP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},toe(this.config.title).nonMarkTitleProperties),o),s?{encode:{update:s}}:{});if(u.text)return Tt(["unit","layer"],this.type)?Tt(["middle",void 0],u.anchor)&&((n=u.frame)!==null&&n!==void 0||(u.frame="group")):(r=u.anchor)!==null&&r!==void 0||(u.anchor="start"),Wt(u)?void 0:u}assembleGroup(e=[]){const n={};e=e.concat(this.assembleSignals()),e.length>0&&(n.signals=e);const r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||Eu(this.parent)?Rle(this):[];i.length>0&&(n.scales=i);const s=this.assembleAxes();s.length>0&&(n.axes=s);const o=this.assembleLegends();return o.length>0&&(n.legends=o),n}getName(e){return mn((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Jt[e].toLowerCase())}requestDataName(e){const n=this.getDataName(e),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(e){if(Eu(this.parent)){const n=rle(e),r=hN(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Cr(s)&&jc(o)){const u=i.get("name"),a=rD(this,r),l=gP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:nle(u,i,c)}}else return Te(B8(r)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const n=this.component.data.outputNodes[e];return n?n.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,n){this.signalNameMap.rename(e,n)}renameScale(e,n){this.scaleNameMap.rename(e,n)}renameProjection(e,n){this.projectionNameMap.rename(e,n)}scaleName(e,n){if(n)return this.getName(e);if(zse(e)&&kc(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const n=this.component.scales[e];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,n){let r=this.component.selection[e];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(e,n)),!r)throw new Error(eXe(n));return r}hasAxisOrientSignalRef(){var e,n;return((e=this.component.axes.x)===null||e===void 0?void 0:e.some(r=>r.hasOrientSignalRef()))||((n=this.component.axes.y)===null||n===void 0?void 0:n.some(r=>r.hasOrientSignalRef()))}}class qle extends AP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return _Je(this.getMapping(),(r,i,s)=>{const o=Ba(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){A7(this.getMapping(),(r,i)=>{const s=Ba(r);s&&e(s,i)},n)}}var Unt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class iD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"value",(s=o[1])!==null&&s!==void 0?s:"density"]}clone(){return new iD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.density,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{density:n}=e,r=Unt(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class B3 extends Ut{constructor(e,n){super(e),this.filter=n}clone(){return new B3(null,Object.assign({},this.filter))}static make(e,n){const{config:r,mark:i,markDef:s}=n;if(kt("invalid",s,r)!=="filter")return null;const u=n.reduceFieldDef((a,l,c)=>{const f=kc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");zs(x)&&l.aggregate!=="count"&&!Uc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new B3(e,u):null}dependentFields(){return new Set(be(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${bt(this.filter)}`}assemble(){const e=be(this.filter).reduce((n,r)=>{const i=this.filter[r],s=$e(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?n.push(`(isDate(${s}) || (isValid(${s}) && isFinite(+${s})))`):i.type==="quantitative"&&(n.push(`isValid(${s})`),n.push(`isFinite(+${s})`))),n},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class sD extends Ut{constructor(e,n){super(e),this.transform=n,this.transform=ot(n);const{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((s,o)=>{var u;return(u=i[o])!==null&&u!==void 0?u:s})}clone(){return new sD(this.parent,ot(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${bt(this.transform)}`}assemble(){const{flatten:e,as:n}=this.transform;return{type:"flatten",fields:e,as:n}}}class oD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"key",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new oD(null,ot(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${bt(this.transform)}`}assemble(){const{fold:e,as:n}=this.transform;return{type:"fold",fields:e,as:n}}}class eg extends Ut{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new eg(null,ot(this.fields),this.geojson,this.signal)}static parseAll(e,n){if(n.component.projection&&!n.component.projection.isFit)return e;let r=0;for(const i of[[Ra,Ta],[bo,hu]]){const s=i.map(o=>{const u=sr(n.encoding[o]);return Le(u)?u.field:Ia(u)?{expr:`${u.datum}`}:gu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new eg(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(ps)){const i=n.typedFieldDef(ps);i.type===$2&&(e=new eg(e,null,i.field,n.getName(`geojson_${r++}`)))}return e}dependentFields(){var e;const n=((e=this.fields)!==null&&e!==void 0?e:[]).filter(je);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${bt(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})]}}class k3 extends Ut{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new k3(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[Ra,Ta],[bo,hu]]){const i=r.map(o=>{const u=sr(n.encoding[o]);return Le(u)?u.field:Ia(u)?{expr:`${u.datum}`}:gu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===bo?"2":"";(i[0]||i[1])&&(e=new k3(e,n.projectionName(),i,[n.getName(`x${s}`),n.getName(`y${s}`)]))}return e}dependentFields(){return new Set(this.fields.filter(je))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${bt(this.fields)} ${bt(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Bd extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new Bd(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.impute,this.transform.key,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:n=0,stop:r,step:i}=e;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,n){return new Bd(e,n)}static makeFromEncoding(e,n){const r=n.encoding,i=r.x,s=r.y;if(Le(i)&&Le(s)){const o=i.impute?i:s.impute?s:void 0;if(o===void 0)return;const u=i.impute?s:s.impute?i:void 0,{method:a,value:l,frame:c,keyvals:f}=o.impute,x=_ue(n.mark,r);return new Bd(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:u.field},a?{method:a}:{}),l!==void 0?{value:l}:{}),c?{frame:c}:{}),f!==void 0?{keyvals:f}:{}),x.length?{groupby:x}:{}))}return null}hash(){return`Impute ${bt(this.transform)}`}assemble(){const{impute:e,key:n,keyvals:r,method:i,groupby:s,value:o,frame:u=[null,null]}=this.transform,a=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:e,key:n},r?{keyvals:vZe(r)?this.processSequence(r):r}:{}),{method:"value"}),s?{groupby:s}:{}),{value:!i||i==="value"?o:null});if(i&&i!=="value"){const l=Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:u,ignorePeers:!1},s?{groupby:s}:{}),c={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[a,l,c]}else return[a]}}var qnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class uD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.loess]}clone(){return new uD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.loess,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{loess:n,on:r}=e,i=qnt(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class P3 extends Ut{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new P3(null,ot(this.transform),this.secondary)}static make(e,n,r,i){const s=n.component.data.sources,{from:o}=r;let u=null;if(_Ze(o)){let a=Gle(o.data,s);a||(a=new Ld(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new qi(a,l,Jt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(CZe(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(mn(a),a)}catch{throw new Error(rXe(a))}if(u=l.materialized,!u)throw new Error(iXe(a))}return new P3(e,r,u.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Pe(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${bt({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:Pe(this.transform.as)}:{});else{let n=this.transform.as;je(n)||(Te(xXe),n="_lookup"),e={as:[n]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}}var Hnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class aD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"prob",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new aD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.quantile,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{quantile:n}=e,r=Hnt(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var znt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class lD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.regression]}clone(){return new lD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.regression,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{regression:n,on:r}=e,i=znt(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class cD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new cD(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=Wl(((n=this.transform.groupby)!==null&&n!==void 0?n:[]).concat(e),r=>r)}producedFields(){}dependentFields(){var e;return new Set([this.transform.pivot,this.transform.value,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}hash(){return`PivotTransform ${bt(this.transform)}`}assemble(){const{pivot:e,value:n,groupby:r,limit:i,op:s}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:e,value:n},i!==void 0?{limit:i}:{}),s!==void 0?{op:s}:{}),r!==void 0?{groupby:r}:{})}}class fD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new fD(null,ot(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${bt(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Hle(t){let e=0;function n(r,i){var s;if(r instanceof Ld&&!r.isGenerator&&!q2(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof li&&(r.parent instanceof Ld&&!i.source?(i.format=Object.assign(Object.assign({},(s=i.format)!==null&&s!==void 0?s:{}),{parse:r.assembleFormatParse()}),i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof K2){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),r.data=i.name):r.data=i.source,t.push(...r.assemble());return}switch((r instanceof L3||r instanceof I3||r instanceof B3||r instanceof W2||r instanceof V2||r instanceof k3||r instanceof mu||r instanceof P3||r instanceof J2||r instanceof $d||r instanceof oD||r instanceof sD||r instanceof iD||r instanceof uD||r instanceof aD||r instanceof lD||r instanceof Yc||r instanceof fD||r instanceof cD)&&i.transform.push(r.assemble()),(r instanceof ja||r instanceof Ma||r instanceof Bd||r instanceof u0||r instanceof eg)&&i.transform.push(...r.assemble()),r instanceof qi&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof qi?r.setSource(i.name):(i.name||(i.name=`data_${e++}`),r.setSource(i.name),r.numChildren()===1&&(t.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof qi&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(const u of r.children)n(u,{name:null,source:o,transform:[]});break}}}return n}function Qnt(t){const e=[],n=Hle(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function Gnt(t,e){var n,r;const i=[],s=Hle(i);let o=0;for(const a of t.sources){a.hasName()||(a.dataName=`source_${o++}`);const l=a.assemble();s(a,l)}for(const a of i)a.transform.length===0&&delete a.transform;let u=0;for(const[a,l]of i.entries())((n=l.transform)!==null&&n!==void 0?n:[]).length===0&&!l.source&&i.splice(u++,0,i.splice(a,1)[0]);for(const a of i)for(const l of(r=a.transform)!==null&&r!==void 0?r:[])l.type==="lookup"&&(l.from=t.outputNodes[l.from].getSource());for(const a of i)a.name in e&&(a.values=e[a.name]);return i}function Wnt(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function Vnt(t){for(const e of To)Ynt(t,e);Qle(t,"x"),Qle(t,"y")}function Ynt(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=X2("title",null,i,e);let l=P2(u,i,{allowDisabling:!0,includeDefault:a===void 0||!!a});s.component.layoutHeaders[e].title&&(l=_e(l)?l.join(", "):l,l+=` / ${s.component.layoutHeaders[e].title}`,s.component.layoutHeaders[e].title=null);const c=X2("labelOrient",u.header,i,e),f=u.header!==null?ir((n=u.header)===null||n===void 0?void 0:n.labels,i.header.labels,!0):!1,x=Tt(["bottom","right"],c)?"footer":"header";o.layoutHeaders[e]={title:u.header!==null?l:null,facetFieldDef:u,[x]:e==="facet"?[]:[zle(t,e,f)]}}}function zle(t,e,n){const r=e==="row"?"height":"width";return{labels:n,sizeSignal:t.child.component.layoutSize.get(r)?t.child.getSizeSignalRef(r):void 0,axes:[]}}function Qle(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=iP(s,e),s.axis[e]==="shared"){const o=e==="x"?"column":"row",u=i[o];for(const a of r.component.axes[e]){const l=Wnt(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[zle(t,o,!1)]);const c=w3(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function Xnt(t){SP(t),xD(t,"width"),xD(t,"height")}function Knt(t){SP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";xD(t,e),xD(t,n)}function SP(t){for(const e of t.children)e.parseLayoutSize()}function xD(t,e){var n;const r=rle(e),i=hN(r),s=t.component.resolve,o=t.component.layoutSize;let u;for(const a of t.children){const l=a.component.layoutSize.getWithExplicit(r),c=(n=s.scale[i])!==null&&n!==void 0?n:sle(i,t);if(c==="independent"&&l.value==="step"){u=void 0;break}if(u){if(c==="independent"&&u.value!==l.value){u=void 0;break}u=zc(u,l,r,"")}else u=l}if(u){for(const a of t.children)t.renameSignal(a.getName(r),t.getName(e)),a.component.layoutSize.set(r,"merged",!1);o.setWithExplicit(e,u)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function Jnt(t){const{size:e,component:n}=t;for(const r of Da){const i=gs(r);if(e[i]){const s=e[i];n.layoutSize.set(i,ka(s)?"step":s,!0)}else{const s=Znt(t,i);n.layoutSize.set(i,s,!1)}}}function Znt(t,e){const n=e==="width"?"x":"y",r=t.config,i=t.getScaleComponent(n);if(i){const s=i.get("type"),o=i.get("range");if(Cr(s)){const u=HN(r.view,e);return jc(o)||ka(u)?"step":u}else return w7(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return w7(r.view,e);{const s=HN(r.view,e);return ka(s)?s.step:s}}}function vP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class M3 extends qle{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=RP(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!_3(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![Vl,Yl].includes(i)){Te(yN(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(k8(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=m7(e,n);return r.header?r.header=ms(r.header):r.header===null&&(r.header=null),r}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=dD(this),this.child.parseData()}parseLayoutSize(){SP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Vnt(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){var e,n,r;const i={};for(const s of To)for(const o of tP){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=X2("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=ZN(s,c);(e=i.titleAnchor)!==null&&e!==void 0||(i.titleAnchor={}),i.titleAnchor[f]="end"}}if(a!=null&&a[0]){const c=s==="row"?"height":"width",f=o==="header"?"headerBand":"footerBand";s!=="facet"&&!this.child.component.layoutSize.get(c)&&((n=i[f])!==null&&n!==void 0||(i[f]={}),i[f][s]=.5),u.title&&((r=i.offset)!==null&&r!==void 0||(i.offset={}),i.offset[s==="row"?"rowTitle":"columnTitle"]=10)}}return i}assembleDefaultLayout(){const{column:e,row:n}=this.facet,r=e?this.columnDistinctSignal():n?1:void 0;let i="all";return(!n&&this.component.resolve.scale.x==="independent"||!e&&this.component.resolve.scale.y==="independent")&&(i="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),r?{columns:r}:{}),{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof M3))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof M3?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:$e(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],n=[],r=[];if(this.child instanceof M3){if(this.child.channelHasField("column")){const i=$e(this.child.facet.column);e.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(const i of Da){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Cr(o)&&jc(u)){const a=rD(this.child,i),l=gP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(B8(i))}}}return{fields:e,ops:n,as:r}}assembleFacet(){const{name:e,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:s,ops:o,as:u}=this.getCardinalityAggregateForChild(),a=[];for(const c of To){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Kt(x)&&a.push($e(f,{binSuffix:"end"})),La(h)){const{field:p,op:m=RN}=h,g=vP(f,h);r&&i?(s.push(g),o.push("max"),u.push(g)):(s.push(p),o.push(m),u.push(g))}else if(_e(h)){const p=Y2(f,c);s.push(p),o.push("max"),u.push(p)}}}const l=!!r&&!!i;return Object.assign({name:e,data:n,groupby:a},l||s.length>0?{aggregate:Object.assign(Object.assign({},l?{cross:l}:{}),s.length?{fields:s,ops:o,as:u}:{})}:{})}facetSortFields(e){const{facet:n}=this,r=n[e];return r?La(r.sort)?[vP(r,r.sort,{expr:"datum"})]:_e(r.sort)?[Y2(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(La(i)?i.order:!_e(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return nP(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of eP)if(n[s]){const o=X2("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return nP(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=Qnt(n),i=e.assembleGroupEncodeEntry(!1),s=this.assembleLabelTitle()||e.assembleTitle(),o=e.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},s?{title:s}:{}),o?{style:o}:{}),{from:{facet:this.assembleFacet()},sort:{field:To.map(a=>this.facetSortFields(a)).flat(),order:To.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup(eet(this,[])))]}getMapping(){return this.facet}}function ert(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(La(s.sort)){const{field:o,op:u=RN}=s.sort;t=i=new $d(t,{joinaggregate:[{op:u,field:o,as:vP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function Gle(t,e){var n,r,i,s;for(const o of e){const u=o.data;if(t.name&&o.hasName()&&t.name!==o.dataName)continue;const a=(n=t.format)===null||n===void 0?void 0:n.mesh,l=(r=u.format)===null||r===void 0?void 0:r.feature;if(a&&l)continue;const c=(i=t.format)===null||i===void 0?void 0:i.feature;if((c||l)&&c!==l)continue;const f=(s=u.format)===null||s===void 0?void 0:s.mesh;if(!((a||f)&&a!==f)){if(O3(t)&&O3(u)){if(Gl(t.values,u.values))return o}else if(q2(t)&&q2(u)){if(t.url===u.url)return o}else if(pae(t)&&t.name===o.dataName)return o}}return null}function trt(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Ld({values:[]});return e.push(r),r}const n=Gle(t.data,e);if(n)return Qc(t.data)||(n.data.format=cYe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Ld(t.data);return e.push(r),r}}else return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function nrt(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(IZe(o))a=t=new V2(t,o),u="derived";else if(k7(o)){const l=Utt(o);a=t=(r=li.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new W2(t,e,o.filter)}else if(uae(o))a=t=ja.makeFromTransform(t,o,e),u="number";else if(BZe(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new li(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=Ma.makeFromTransform(t,o);else if(kZe(o))a=t=mu.makeFromTransform(t,o),u="number",Y7(e)&&(t=new Yc(t));else if(oae(o))a=t=P3.make(t,e,o,s++),u="derived";else if(FZe(o))a=t=new J2(t,o),u="number";else if(wZe(o))a=t=new $d(t,o),u="number";else if(PZe(o))a=t=u0.makeFromTransform(t,o),u="derived";else if(MZe(o))a=t=new oD(t,o),u="derived";else if(LZe(o))a=t=new sD(t,o),u="derived";else if(bZe(o))a=t=new cD(t,o),u="derived";else if(DZe(o))t=new fD(t,o);else if($Ze(o))a=t=Bd.makeFromTransform(t,o),u="derived";else if(TZe(o))a=t=new iD(t,o),u="derived";else if(RZe(o))a=t=new aD(t,o),u="derived";else if(OZe(o))a=t=new lD(t,o),u="derived";else if(NZe(o))a=t=new uD(t,o),u="derived";else{Te(fXe(o));continue}if(a&&u!==void 0)for(const l of(i=a.producedFields())!==null&&i!==void 0?i:[])n.set(l,u,!1)}return t}function dD(t){var e,n,r,i,s,o,u,a,l,c;let f=trt(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(Qc(p)||q2(p)||O3(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new KZe;Qc(p)?(gae(p)?f=new I3(f,p.sequence):j7(p)&&(f=new L3(f,p.graticule)),g.parseNothing=!0):((e=p==null?void 0:p.format)===null||e===void 0?void 0:e.parse)===null&&(g.parseNothing=!0),f=(n=li.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new Yc(f);const y=t.parent&&Z2(t.parent);(zn(t)||Eu(t))&&y&&(f=(r=ja.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=nrt(f,t,g));const E=Htt(t),A=qtt(t);f=(i=li.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,zn(t)&&(f=eg.parseAll(f,t),f=k3.parseAll(f,t)),(zn(t)||Eu(t))&&(y||(f=(s=ja.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=Ma.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=V2.parseAllForSortIndex(f,t));const S=t.getDataName(Jt.Raw),v=new qi(f,S,Jt.Raw,h);if(x[S]=v,f=v,zn(t)){const O=mu.makeFromEncoding(f,t);O&&(f=O,Y7(t)&&(f=new Yc(f))),f=(u=Bd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=u0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}zn(t)&&(f=(l=B3.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Jt.Main),C=new qi(f,_,Jt.Main,h);x[_]=C,f=C,zn(t)&&ket(t,C);let b=null;if(Eu(t)){const O=t.getName("facet");f=(c=ert(f,t.facet))!==null&&c!==void 0?c:f,b=new K2(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:v,main:C,facetRoot:b,ancestorParse:g})}class rrt extends AP{constructor(e,n,r,i){var s,o,u,a;super(e,"concat",n,r,i,e.resolve),(((o=(s=e.resolve)===null||s===void 0?void 0:s.axis)===null||o===void 0?void 0:o.x)==="shared"||((a=(u=e.resolve)===null||u===void 0?void 0:u.axis)===null||a===void 0?void 0:a.y)==="shared")&&Te(aXe),this.children=this.getChildren(e).map((l,c)=>RP(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=dD(this);for(const e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}getChildren(e){return UN(e)?e.vconcat:F7(e)?e.hconcat:e.concat}parseLayoutSize(){Knt(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){const e=rP(this);for(const n of this.children)e.push(...n.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleMarks(){return this.children.map(e=>{const n=e.assembleTitle(),r=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},n?{title:n}:{}),r?{style:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup())})}assembleGroupStyle(){}assembleDefaultLayout(){const e=this.layout.columns;return Object.assign(Object.assign({},e!=null?{columns:e}:{}),{bounds:"full",align:"each"})}}function irt(t){return t===!1||t===null}const srt=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},yue),{labelExpr:1,encode:1}),Wle=be(srt);class _P extends o0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new _P(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!irt(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function ort(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=sr(i[e]))!==null&&r!==void 0?r:sr(i[e0(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Nd(l)?Object.assign({text:a7({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function urt(t){return Da.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[hrt(n,t)]),e),{})}const art={bottom:"top",top:"bottom",left:"right",right:"left"};function lrt(t){var e;const{axes:n,resolve:r}=t.component,i={top:0,bottom:0,right:0,left:0};for(const s of t.children){s.parseAxesAndHeaders();for(const o of be(s.component.axes))r.axis[o]=iP(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=crt(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of Da){for(const o of t.children)if(o.component.axes[s]){if(r.axis[s]==="independent"){n[s]=((e=n[s])!==null&&e!==void 0?e:[]).concat(o.component.axes[s]);for(const u of o.component.axes[s]){const{value:a,explicit:l}=u.getWithExplicit("orient");if(!Ye(a)){if(i[a]>0&&!l){const c=art[a];i[a]>i[c]&&u.set("orient",c,!1)}i[a]++}}}delete o.component.axes[s]}if(r.axis[s]==="independent"&&n[s]&&n[s].length>1)for(const o of n[s])o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function crt(t,e){if(t){if(t.length!==e.length)return;const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=e[r];if(!!i!=!!s)return;if(i&&s){const o=i.getWithExplicit("orient"),u=s.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;t[r]=frt(i,s)}}}else return e.map(n=>n.clone());return t}function frt(t,e){for(const n of Wle){const r=zc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return coe(i,s);case"gridScale":return{explicit:i.explicit,value:ir(i.value,s.value)}}return QN(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function xrt(t,e,n,r,i){if(e==="disable")return n!==void 0;switch(n=n||{},e){case"titleAngle":case"labelAngle":return t===(Ye(n.labelAngle)?n.labelAngle:aN(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===Kae(r,i))return!0}return t===n[e]}const drt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function hrt(t,e){var n,r,i;let s=e.axis(t);const o=new _P,u=sr(e.encoding[t]),{mark:a,config:l}=e,c=(s==null?void 0:s.orient)||((n=l[t==="x"?"axisX":"axisY"])===null||n===void 0?void 0:n.orient)||((r=l.axis)===null||r===void 0?void 0:r.orient)||Wet(t),f=e.getScaleComponent(t).get("type"),x=jet(t,f,c,e.config),h=s!==void 0?!s:J7("disable",l.style,s==null?void 0:s.style,x).configValue;if(o.set("disable",h,s!==void 0),h)return o;s=s||{};const p=zet(u,s,t,l.style,x),m={fieldOrDatumDef:u,axis:s,channel:t,model:e,scaleType:f,orient:c,labelAngle:p,mark:a,config:l};for(const E of Wle){const A=E in Vae?Vae[E](m):Eue(E)?s[E]:void 0,S=A!==void 0,v=xrt(A,E,s,e,t);if(S&&v)o.set(E,A,v);else{const{configValue:_=void 0,configFrom:C=void 0}=Eue(E)&&E!=="values"?J7(E,l.style,s.style,x):{},b=_!==void 0;S&&!b?o.set(E,A,v):(C!=="vgAxisConfig"||drt.has(E)&&b||T3(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=mue.reduce((E,A)=>{var S;if(!o.hasAxisPart(A))return E;const v=ile((S=g[A])!==null&&S!==void 0?S:{},e),_=A==="labels"?ort(e,t,v):v;return _!==void 0&&!Wt(_)&&(E[A]={update:_}),E},{});return Wt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function prt({encoding:t,size:e}){for(const n of Da){const r=gs(n);ka(e[r])&&$a(t[n])&&(delete e[r],Te(voe(r)))}return e}function grt(t,e,n){const r=ms(t),i=kt("orient",r,n);if(r.orient=Art(r.type,e,i),i!==void 0&&i!==r.orient&&Te(NXe(r.orient,i)),r.type==="bar"&&r.orient){const u=kt("cornerRadiusEnd",r,n);if(u!==void 0){const a=r.orient==="horizontal"&&e.x2||r.orient==="vertical"&&e.y2?["cornerRadius"]:QKe[r.orient];for(const l of a)r[l]=u;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}return kt("opacity",r,n)===void 0&&(r.opacity=yrt(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=mrt(r,e,n)),r}function mrt(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function yrt(t,e){if(Tt([_N,t7,n7,r7],t)&&!E7(e))return .7}function Ert(t,e,{graticule:n}){if(n)return!1;const r=bd("filled",t,e),i=t.type;return ir(r,i!==_N&&i!==vN&&i!==CN)}function Art(t,e,n){switch(t){case _N:case n7:case r7:case Hoe:case kKe:case BKe:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case SN:if(Le(r)&&(Mi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(Mi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===Rd&&!Kt(r.bin)||d7(r)))return"horizontal";if(!o&&(Le(i)&&i.type===Rd&&!Kt(i.bin)||d7(i)))return"vertical"}case CN:if(s&&!(Le(r)&&Mi(r.bin))&&o&&!(Le(i)&&Mi(i.bin)))return;case AN:if(o)return Le(i)&&Mi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&Mi(r.bin)?"vertical":"horizontal";if(t===CN){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case vN:case t7:{const u=$a(r),a=$a(i);if(n)return n;if(u&&!a)return t!=="tick"?"horizontal":"vertical";if(!u&&a)return t!=="tick"?"vertical":"horizontal";if(u&&a){const l=r,c=i,f=l.type===I2,x=c.type===I2;return f&&!x?t!=="tick"?"vertical":"horizontal":!f&&x?t!=="tick"?"horizontal":"vertical":!l.aggregate&&c.aggregate?t!=="tick"?"vertical":"horizontal":l.aggregate&&!c.aggregate&&t!=="tick"?"horizontal":"vertical"}else return}}return"vertical"}const Srt={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Wc(t,"radius")),Wc(t,"theta"))},vrt={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),WN("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),WN("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),W7(t))},_rt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y"))},Crt={vgMark:"shape",encodeEntry:t=>Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{const{encoding:e}=t,n=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},n&&Le(n)&&n.type===$2?{field:$e(n,{expr:"datum"})}:{})]}},brt={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y")),Q7(t,"url"))},Trt={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t,{vgChannel:"strokeWidth"})),W7(t))},Rrt={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),W7(t))};function CP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),br("angle",t)),Ort(t,n,e))}function Ort(t,e,n){return n?{shape:{value:n}}:br("shape",t)}const Nrt={vgMark:"symbol",encodeEntry:t=>CP(t)},Drt={vgMark:"symbol",encodeEntry:t=>CP(t,"circle")},Frt={vgMark:"symbol",encodeEntry:t=>CP(t,"square")},wrt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Wc(t,"x")),Wc(t,"y"))},Lrt={vgMark:"rule",encodeEntry:t=>{const{markDef:e}=t,n=e.orient;return!t.encoding.x&&!t.encoding.y&&!t.encoding.latitude&&!t.encoding.longitude?{}:Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),WN("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),WN("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),br("size",t,{vgChannel:"strokeWidth"}))}},Irt={vgMark:"text",encodeEntry:t=>{const{config:e,encoding:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Q7(t)),br("size",t,{vgChannel:"fontSize"})),br("angle",t)),Nae("align",$rt(t.markDef,n,e))),Nae("baseline",Brt(t.markDef,n,e))),ai("radius",t,{defaultPos:null})),ai("theta",t,{defaultPos:null}))}};function $rt(t,e,n){if(kt("align",t,n)===void 0)return"center"}function Brt(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const krt={vgMark:"rect",encodeEntry:t=>{const{config:e,markDef:n}=t,r=n.orient,i=r==="horizontal"?"width":"height",s=r==="horizontal"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Oo(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid",vgChannel:"xc"})),ai("y",t,{defaultPos:"mid",vgChannel:"yc"})),br("size",t,{defaultValue:Prt(t),vgChannel:i})),{[s]:on(kt("thickness",n,e))})}};function Prt(t){var e;const{config:n,markDef:r}=t,{orient:i}=r,s=i==="horizontal"?"width":"height",o=t.getScaleComponent(i==="horizontal"?"x":"y"),u=(e=kt("size",r,n,{vgChannel:s}))!==null&&e!==void 0?e:n.tick.bandSize;if(u!==void 0)return u;{const a=o?o.get("range"):void 0;return a&&jc(a)&&nn(a.step)?a.step*3/4:qN(n.view,s)*3/4}}const hD={arc:Srt,area:vrt,bar:_rt,circle:Drt,geoshape:Crt,image:brt,line:Trt,point:Nrt,rect:wrt,rule:Lrt,square:Frt,text:Irt,tick:krt,trail:Rrt};function Mrt(t){if(Tt([vN,AN,PKe],t.mark)){const e=_ue(t.mark,t.encoding);if(e.length>0)return jrt(t,e)}else if(t.mark===SN){const e=L8.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return Urt(t)}return bP(t)}const Vle="faceted_path_";function jrt(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:Vle+t.requestDataName(Jt.Main),data:t.requestDataName(Jt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:bP(t,{fromPrefix:Vle})}]}const Yle="stack_group_";function Urt(t){var e;const[n]=bP(t,{fromPrefix:Yle}),r=t.scaleName(t.stack.fieldChannel),i=(c={})=>t.vgField(t.stack.fieldChannel,c),s=(c,f)=>{const x=[i({prefix:"min",suffix:"start",expr:f}),i({prefix:"max",suffix:"start",expr:f}),i({prefix:"min",suffix:"end",expr:f}),i({prefix:"max",suffix:"end",expr:f})];return`${c}(${x.map(h=>`scale('${r}',${h})`).join(",")})`};let o,u;t.stack.fieldChannel==="x"?(o=Object.assign(Object.assign({},d3(n.encode.update,["y","yc","y2","height",...L8])),{x:{signal:s("min","datum")},x2:{signal:s("max","datum")},clip:{value:!0}}),u={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},n.encode.update=Object.assign(Object.assign({},Co(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},d3(n.encode.update,["x","xc","x2","width"])),{y:{signal:s("min","datum")},y2:{signal:s("max","datum")},clip:{value:!0}}),u={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},n.encode.update=Object.assign(Object.assign({},Co(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of L8){const f=bd(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=on(f)),f&&(n.encode.update[c]={value:0})}const a=[];if(((e=t.stack.groupbyChannels)===null||e===void 0?void 0:e.length)>0)for(const c of t.stack.groupbyChannels){const f=t.fieldDef(c),x=$e(f);x&&a.push(x),(f!=null&&f.bin||f!=null&&f.timeUnit)&&a.push($e(f,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,f)=>{if(n.encode.update[f])return Object.assign(Object.assign({},c),{[f]:n.encode.update[f]});{const x=bd(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:on(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Jt.Main),name:Yle+t.requestDataName(Jt.Main),groupby:a,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:u},marks:[n]}]}]}function qrt(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!_e(u)&&gu(u)&&Ise(u.value)||!u&&Ise(kt("order",s,o)))){if((_e(u)||Le(u))&&!r)return uoe(u,{expr:"datum"});if(Uc(i)){const a=s.orient==="horizontal"?"y":"x",l=n[a];if(Le(l)){const c=l.sort;if(_e(c))return{field:$e(l,{prefix:a,suffix:"sort_index",expr:"datum"})};if(La(c))return{field:$e({aggregate:E7(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(rue(c)){const f=t.fieldDef(c.encoding);return{field:$e(f,{expr:"datum"}),order:c.order}}else return c===null?void 0:{field:$e(l,{binSuffix:!((e=t.stack)===null||e===void 0)&&e.impute?"mid":void 0,expr:"datum"})}}return}}}function bP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=ir(r.clip,Hrt(t),zrt(t)),u=soe(r),a=i.key,l=qrt(t),c=Qrt(t),f=kt("aria",r,s),x=hD[n].postEncodingTransform?hD[n].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:hD[n].vgMark},o?{clip:!0}:{}),u?{style:u}:{}),a?{key:a.field}:{}),l?{sort:l}:{}),c||{}),f===!1?{aria:f}:{}),{from:{data:e.fromPrefix+t.requestDataName(Jt.Main)},encode:{update:hD[n].encodeEntry(t)}}),x?{transform:x}:{})]}function Hrt(t){const e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return e!=null&&e.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function zrt(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function Qrt(t){if(!t.component.selection)return null;const e=be(t.component.selection).length;let n=e,r=t.parent;for(;r&&n===0;)n=be(r.component.selection).length,r=r.parent;return n?{interactive:e>0||!!t.encoding.tooltip}:null}class Xle extends qle{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,Hue(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=wa(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=Ert(u,s,{graticule:e.data&&j7(e.data)}));const l=this.encoding=SJe(e.encoding||{},a,u.filled,s);this.markDef=grt(u,l,s),this.size=prt({encoding:l,size:Hue(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=Kue(a,l),this.specifiedScales=this.initScales(a,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=((o=e.params)!==null&&o!==void 0?o:[]).filter(c=>N7(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===zoe,r=e&&vYe.some(i=>it(e[i]));return n||r}scaleDomain(e){const n=this.specifiedScales[e];return n?n.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,n){return pN.reduce((r,i)=>{var s;const o=sr(n[i]);return o&&(r[i]=this.initScale((s=o.scale)!==null&&s!==void 0?s:{})),r},{})}initScale(e){const{domain:n,range:r}=e,i=ms(e);return _e(n)&&(i.domain=n.map(Hs)),_e(r)&&(i.range=r.map(Hs)),i}initAxes(e){return Da.reduce((n,r)=>{const i=e[r];if(it(i)||r===yn&&it(e.x2)||r===_r&&it(e.y2)){const s=it(i)?i.axis:void 0;n[r]=s&&this.initAxis(Object.assign({},s))}return n},{})}initAxis(e){const n=be(e),r={};for(const i of n){const s=e[i];r[i]=T3(s)?noe(s):Hs(s)}return r}initLegends(e){return wYe.reduce((n,r)=>{const i=sr(e[r]);if(i&&IYe(r)){const s=i.legend;n[r]=s&&ms(s)}return n},{})}parseData(){this.component.data=dD(this)}parseLayoutSize(){Jnt(this)}parseSelections(){this.component.selection=Bet(this,this.selection)}parseMarkGroup(){this.component.mark=Mrt(this)}parseAxesAndHeaders(){this.component.axes=urt(this)}assembleSelectionTopLevelSignals(e){return tet(this,e)}assembleSignals(){return[...Gae(this),...ZZe(this,[])]}assembleSelectionData(e){return net(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return rP(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!Z2(this.parent))&&(n=yae(this,n)),n.map(this.correctDataNames)}assembleGroupStyle(){const{style:e}=this.view||{};if(e!==void 0)return e;if(this.encoding.x||this.encoding.y)return"cell"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Fd(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ba(n)}typedFieldDef(e){const n=this.fieldDef(e);return Ro(n)?n:null}}class TP extends AP{constructor(e,n,r,i,s){super(e,"layer",n,r,s,e.resolve,e.view);const o=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});this.children=e.layer.map((u,a)=>{if(zN(u))return new TP(u,this,this.getName(`layer_${a}`),o,s);if(i0(u))return new Xle(u,this,this.getName(`layer_${a}`),o,s);throw new Error($8(u))})}parseData(){this.component.data=dD(this);for(const e of this.children)e.parseData()}parseLayoutSize(){Xnt(this)}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){lrt(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),Gae(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),rP(this))}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleGroupStyle(){const e=new Set;for(const r of this.children)for(const i of Pe(r.assembleGroupStyle()))e.add(i);const n=Array.from(e);return n.length>1?n:n.length===1?n[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const n of this.children)if(e=n.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return ret(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),ple(this))}}function RP(t,e,n,r,i){if(ON(t))return new M3(t,e,n,i);if(zN(t))return new TP(t,e,n,r,i);if(i0(t))return new Xle(t,e,n,r,i);if(QJe(t))return new rrt(t,e,n,i);throw new Error($8(t))}var Grt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Wrt(t,e={}){e.logger&&eKe(e.logger),e.fieldTitle&&due(e.fieldTitle);try{const n=Yue(h5(e.config,t.config)),r=qZe(t,n),i=RP(r,null,"",void 0,n);return i.parse(),snt(i.component.data,i),{spec:Yrt(i,Vrt(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&tKe(),e.fieldTitle&&xJe()}}function Vrt(t,e,n,r){const i=r.component.layoutSize.get("width"),s=r.component.layoutSize.get("height");if(e===void 0?(e={type:"pad"},r.hasAxisOrientSignalRef()&&(e.resize=!0)):je(e)&&(e={type:e}),i&&s&&VZe(e.type)){if(i==="step"&&s==="step")Te(doe()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(doe(hN(o)));const u=o==="width"?"height":"width";e.type=YZe(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),dae(n,!1)),dae(t,!0))}function Yrt(t,e,n={},r){const i=t.config?iZe(t.config):void 0,s=[].concat(t.assembleSelectionData([]),Gnt(t.component.data,n)),o=t.assembleProjections(),u=t.assembleTitle(),a=t.assembleGroupStyle(),l=t.assembleGroupEncodeEntry(!0);let c=t.assembleLayoutSignals();c=c.filter(h=>(h.name==="width"||h.name==="height")&&h.value!==void 0?(e[h.name]=+h.value,!1):!0);const{params:f}=e,x=Grt(e,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),x),u?{title:u}:{}),a?{style:a}:{}),l?{encode:{update:l}}:{}),{data:s}),o.length>0?{projections:o}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([]),...Uue(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var Xrt=wo("<div>");function Krt(t){let e,n=null;return bD(()=>{n&&n.finalize();const r=t.type==="vega-lite"?Wrt(t.spec).spec:t.spec;n=new fie(IVe(r)).initialize(e).renderer("svg").hover(),n.run()}),bD(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=Xrt(),i=e;return typeof i=="function"?F0e(i,r):e=r,r})()}function Jrt(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,Qn(Krt,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}const Zrt=32,eit=384,Kle=12,tit=28;function nit(t){const e={};for(const[n,r]of Object.entries(t.fields)){const i=r.field,s={metadata:r,width:i.isExplore()?0:rit(i,t),height:null},{tag:o}=i.tagParse();if(hy(o,"bar","bar_chart")&&i.isExploreField())s.width=r.vegaChartProps.totalWidth,s.height=r.vegaChartProps.totalHeight;else if(hy(o,"list","list_detail")&&i.isExploreField())s.width=320;else if(o.has("image")){const l=o.text("width"),c=o.text("height");l!=null&&l.endsWith("px")&&(s.width=parseInt(l)),c!=null&&c.endsWith("px")&&(s.height=parseInt(c))}else!i.isExplore()&&i.isAtomicField()&&(s.height=tit);const u=o.numeric("width"),a=o.numeric("height");u&&(s.width=u),a&&(s.height=a),e[n]=s}return e}function rit(t,e){const n=bx(t),r=e.fields[n];let i=0;if(t.isAtomicField()){const s="12px Inter, sans-serif",o=py(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(py(r.maxString,s),o)+Kle;else if(t.isAtomicField()&&t.isNumber()){const u=r.max===null?"∅":wse(t,r.max);i=Math.max(py(u,s),o)+Kle}else i=130;i=bFe(Zrt,eit,i)}return i}const Jle=kP(),j3=()=>PP(Jle);var iit=wo("<div class=cell-wrapper><div class=cell-gutter></div><div class=cell-content></div><div class=cell-gutter>"),sit=wo("<th class=column-cell>"),oit=wo("<td class=column-cell>"),uit=wo("<div class=sticky-header><div class=sticky-header-content>"),ait=wo("<div class=malloy-table><table><thead><tr></tr></thead><tbody>"),lit=wo("<tr>");const Zle=t=>{const e=()=>{const n=j3().layout,r=n[bx(t.field)].width,i=n[bx(t.field)].height;let s="";return t.isHeader||typeof r<"u"&&(s+=`width: ${r}px; min-width: ${r}px; max-width: ${r}px;`,typeof i=="number"&&(s+=`height: ${i}px;`)),s};return(()=>{var n=iit(),r=n.firstChild,i=r.nextSibling,s=i.nextSibling;return Hi(i,()=>t.value),l0(o=>{var u=!!t.hideStartGutter,a=!!t.isHeader,l=e(),c=!!t.hideEndGutter;return u!==o.e&&r.classList.toggle("hide-gutter-border",o.e=u),a!==o.t&&i.classList.toggle("header",o.t=a),o.a=XP(i,l,o.a),c!==o.o&&s.classList.toggle("hide-gutter-border",o.o=c),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()},cit=t=>{const e=d5(t.field),n=d5(t.field.parentExplore),r=!t.field.parentExplore.isExploreField(),i=e&&(n||r),s=x5(t.field),o=x5(t.field.parentExplore),u=s&&(o||r);return(()=>{var a=sit();return Hi(a,Qn(Zle,{get field(){return t.field},get value(){return t.field.name},hideStartGutter:i,hideEndGutter:u,isHeader:!0})),l0(()=>a.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),a})()},fit=t=>{const e=j3();let n="",r="";return{renderValue:n,renderAs:r}=pD({field:t.field,dataColumn:t.row.cell(t.field),resultMetadata:Ese(),tag:t.field.tagParse().tag,customProps:{table:{pinnedHeader:e.pinnedHeader,rowLimit:e.pinnedHeader?1:1/0}}}),e.pinnedHeader&&r!=="table"&&(n=""),(()=>{var i=oit();return Hi(i,Qn(N0e,{get children(){return[Qn(YP,{when:r==="table",children:n}),Qn(YP,{when:!0,get children(){return Qn(Zle,{get field(){return t.field},value:n,get hideStartGutter(){return d5(t.field)},get hideEndGutter(){return x5(t.field)}})}})]}})),l0(()=>i.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),i})()},xit=t=>{const e=ND({rowLimit:1/0,pinnedHeader:!1},t),n=j3(),[r,i]=CD(!1),s=u=>{const a=u.target;i(a.scrollTop>0)},o=Ys(()=>{const u=[];let a=0;for(const l of e.data){if(a>=e.rowLimit)break;u.push(l),a++}return u});return(()=>{var u=ait(),a=u.firstChild,l=a.firstChild,c=l.firstChild,f=l.nextSibling;return u.addEventListener("scroll",s),Hi(u,Qn(VP,{get when(){return n.root},get children(){var x=uit(),h=x.firstChild;return Hi(h,Qn(e0e,{get data(){return e.data},rowLimit:1,pinnedHeader:!0})),x}}),a),Hi(c,()=>e.data.field.allFields.map(x=>Qn(cit,{field:x}))),Hi(f,Qn(WP,{get each(){return o()},children:x=>(()=>{var h=lit();return Hi(h,()=>e.data.field.allFields.map(p=>Qn(fit,{field:p,row:x}))),h})()})),l0(x=>{var h=!!n.root,p=!!n.pinnedHeader,m=!!r();return h!==x.e&&u.classList.toggle("root",x.e=h),p!==x.t&&u.classList.toggle("pinned-header",x.t=p),m!==x.a&&u.classList.toggle("scrolled",x.a=m),x},{e:void 0,t:void 0,a:void 0}),u})()},e0e=t=>{const e=Ese(),n=!!j3(),r=Ys(()=>{if(n){const i=j3();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:nit(e)}});return Qn(Jle.Provider,{get value(){return r()},get children(){return Qn(xit,t)}})};var dit=wo("<div style=text-wrap:wrap;>"),hit=wo("<span>");function pit(t){if(t.dataColumn.isNull())return"∅";const e=t.tag.tag("list"),n=t.tag.tag("list_detail");if(!e&&!n)throw new Error("Missing tag for List renderer");if(!t.field.isExplore())throw new Error("List renderer: Field must be ExploreField");if(!t.dataColumn.isArray())throw new Error("List renderer: DataColumn must be DataArray");const r=t.field.allFields.filter(u=>{const{tag:a}=u.tagParse();return!a.has("hidden")})[0],i=!!n,s=t.field.allFields.filter(u=>{const{tag:a}=u.tagParse();return!a.has("hidden")})[1],o=[];for(const u of t.dataColumn)o.push(u);return(()=>{var u=dit();return Hi(u,Qn(WP,{each:o,children:(a,l)=>(()=>{var c=hit();return Hi(c,()=>pD({field:r,dataColumn:a.cell(r),resultMetadata:t.resultMetadata,tag:r.tagParse().tag}).renderValue,null),Hi(c,()=>i&&s&&"("+pD({field:s,dataColumn:a.cell(s),resultMetadata:t.resultMetadata,tag:s.tagParse().tag}).renderValue+")",null),Hi(c,()=>l()<o.length-1&&", ",null),c})()})),u})()}var git=wo("<img>");function mit(t){const e=t.tag.tag("image");if(!e)throw new Error("Missing tag for Image renderer");if(!t.field.isAtomicField())throw new Error("Image renderer: Field must be AtomicField");if(!t.dataColumn.isString())throw new Error("Image renderer: DataColumn must be DataString");const n=e.text("width"),r=e.text("height"),i={};n&&(i.width=n),r&&(i.height=r);let s;const o=e.tag("alt");o&&(s=bse({tag:o,data:t.dataColumn})??o.text());let u;return t.dataColumn.isNull()||(u=t.dataColumn.value),(()=>{var a=git();return XP(a,i),nA(a,"src",u),nA(a,"alt",s),a})()}function pD(t){const{field:e,dataColumn:n,resultMetadata:r,tag:i,customProps:s={}}=t,o=TFe(e,i);let u="";const a=s[o]||{};switch(o){case"cell":{const l=n.value;QW(e,l)?u=wse(e,l):l===null?u="∅":GW(e,l)&&(u=l);break}case"link":{u=rYe(e,n);break}case"list":{u=pit(t);break}case"image":{u=mit(t);break}case"chart":{u=Qn(Jrt,ND({field:e,get data(){return r.getData(n)},metadata:r},a));break}case"table":{u=Qn(e0e,ND({data:n},a));break}default:try{u=String(n.value)}catch{console.warn("Couldnt get value for ",e,n)}}return{renderAs:o,renderValue:u}}function yit(t,{element:e}){const n=Ys(()=>t.result?t.result:t.queryResult&&t.modelDef?new JP.Result(t.queryResult,t.modelDef):null);return Qn(VP,{get when(){return n()},get children(){return Qn(Eit,{get result(){return n()},element:e})}})}function Eit(t){const e=Ys(()=>MVe(t.result)),n=()=>{const i=t.result.modelTag,s=t.result.tagParse().tag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};bD(()=>{if(t.element){const i=Ait(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>pD({field:t.result.resultExplore,dataColumn:t.result.data,resultMetadata:e(),tag:n().resultTag});return Qn(yse.Provider,{get value(){return e()},get children(){return r().renderValue}})}function No(t,...e){let n;for(const r of e)if(n=r==null?void 0:r.text(t),typeof n<"u")break;return n??`var(--malloy-theme--${t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()})`}function Ait(t,e){const n={},r=No("tableRowHeight",e,t),i=No("tableBodyColor",e,t),s=No("tableFontSize",e,t),o=No("tableHeaderColor",e,t),u=No("tableHeaderWeight",e,t),a=No("tableBodyWeight",e,t),l=No("tableBorder",e,t),c=No("tableBackground",e,t),f=No("tableGutterSize",e,t),x=No("tablePinnedBackground",e,t),h=No("tablePinnedBorder",e,t),p=No("fontFamily",e,t);return n["--malloy-render--table-row-height"]=r,n["--malloy-render--table-body-color"]=i,n["--malloy-render--table-font-size"]=s,n["--malloy-render--font-family"]=p,n["--malloy-render--table-header-color"]=o,n["--malloy-render--table-header-weight"]=u,n["--malloy-render--table-body-weight"]=a,n["--malloy-render--table-border"]=l,n["--malloy-render--table-background"]=c,n["--malloy-render--table-gutter-size"]=f,n["--malloy-render--table-pinned-background"]=x,n["--malloy-render--table-pinned-border"]=h,n}const Sit=`:host {
|
|
1339
1339
|
--malloy-theme--table-row-height: 28px;
|
|
1340
1340
|
--malloy-theme--table-font-size: 12px;
|
|
1341
1341
|
--malloy-theme--table-header-color: #5d626b;
|