@malloydata/render 0.0.175 → 0.0.176-dev240821201658

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 iGe={operator:(t,e)=>vE(t,["_"],e.code),parameter:(t,e)=>vE(t,["datum","_"],e.code),event:(t,e)=>vE(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return vE(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+=eGe(r,n),i+="return m;",vE(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)`),rGe(a,l,-u,u)},i=Function("a","b","var u, v; return "+t.map(r).join("")+"0;");return n?i.bind(n):i}}};function sGe(t){const e=this;tGe(t.type)||!t.type?e.operator(t,t.update?e.operatorExpression(t.update):null):e.transform(t,t.type)}function oGe(t){const e=this;if(t.params){const n=e.get(t.id);n||Se("Invalid operator id: "+t.id),e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function uGe(t,e){e=e||{};const n=this;for(const r in t){const i=t[r];e[r]=_e(i)?i.map(s=>qie(s,n,e)):qie(i,n,e)}return e}function qie(t,e,n){if(!t||!Qe(t))return t;for(let r=0,i=Hie.length,s;r<i;++r)if(s=Hie[r],Je(t,s.key))return s.parse(t,e,n);return t}var Hie=[{key:"$ref",parse:aGe},{key:"$key",parse:cGe},{key:"$expr",parse:lGe},{key:"$field",parse:fGe},{key:"$encode",parse:dGe},{key:"$compare",parse:xGe},{key:"$context",parse:hGe},{key:"$subflow",parse:pGe},{key:"$tupleid",parse:gGe}];function aGe(t,e){return e.get(t.$ref)||Se("Operator not defined: "+t.$ref)}function lGe(t,e,n){t.$params&&e.parseParameters(t.$params,n);const r="e:"+t.$expr.code;return e.fn[r]||(e.fn[r]=$s(e.parameterExpression(t.$expr),t.$fields))}function cGe(t,e){const n="k:"+t.$key+"_"+!!t.$flat;return e.fn[n]||(e.fn[n]=uY(t.$key,t.$flat,e.expr.codegen))}function fGe(t,e){if(!t.$field)return null;const n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=Bs(t.$field,t.$name,e.expr.codegen))}function xGe(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]=sY(r,t.$order,e.expr.codegen))}function dGe(t,e){const n=t.$encode,r={};for(const i in n){const s=n[i];r[i]=$s(e.encodeExpression(s.$expr),s.$fields),r[i].output=s.$output}return r}function hGe(t,e){return e}function pGe(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 gGe(){return Ze}function mGe(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&&Se("Invalid stream definition: "+JSON.stringify(t)),t.consume&&r.consume(!0),e.stream(t,r)}function yGe(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||Se("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 EGe={skip:!0};function AGe(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 vGe(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],EGe)}),Object.keys(r||{}).forEach(s=>{n.pulse(e.data[s].input,n.changeset().remove(Zo).insert(r[s]))}),(t.subcontext||[]).forEach((s,o)=>{const u=e.subcontext[o];u&&u.setState(s)})}function SGe(t,e,n,r){return new zie(t,e,n,r)}function zie(t,e,n,r){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=r||iGe,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function Qie(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)}zie.prototype=Qie.prototype={fork(){const t=new Qie(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),nGe(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[v$(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:JQe,parseOperator:sGe,parseOperatorParameters:oGe,parseParameters:uGe,parseStream:mGe,parseUpdate:yGe,getState:AGe,setState:vGe};function _Ge(t){const e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),Gie(e,t.description()))}function Gie(t,e){t&&(e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e))}function CGe(t){t.add(null,e=>(t._background=e.bg,t._resize=1,e.bg),{bg:t._signals.background})}const S$="default";function bGe(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:S$,item:null}));t.on(t.events("view","mousemove"),e,(n,r)=>{const i=e.value,s=i?je(i)?i:i.user:S$,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),_$(t,r&&r!==S$?r:i||r),i},{cursor:e})}function _$(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 r6(t,e){var n=t._runtime.data;return Je(n,e)||Se("Unrecognized data set: "+e),n[e]}function TGe(t,e){return arguments.length<2?r6(this,t).values.value:i6.call(this,t,Z2().remove(Zo).insert(e))}function i6(t,e){DK(e)||Se("Second argument to changes must be a changeset.");const n=r6(this,t);return n.modified=!0,this.pulse(n.input,e)}function RGe(t,e){return i6.call(this,t,Z2().insert(e))}function OGe(t,e){return i6.call(this,t,Z2().remove(e))}function Wie(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function Vie(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function s6(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function NGe(t){var e=s6(t),n=Wie(t),r=Vie(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 DGe(t,e,n){var r=t._renderer,i=r&&r.canvas(),s,o,u;return i&&(u=s6(t),o=e.changedTouches?e.changedTouches[0]:e,s=U9(o,i),s[0]-=u[0],s[1]-=u[1]),e.dataflow=t,e.item=n,e.vega=FGe(t,n,s),e}function FGe(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:bi(t),item:bi(e||{}),group:i,xy:s,x:o=>s(o)[0],y:o=>s(o)[1]}}const Yie="view",wGe="timer",LGe="window",IGe={trap:!1};function $Ge(t){const e=ct({defaults:{}},t),n=(r,i)=>{i.forEach(s=>{_e(r[s])&&(r[s]=ua(r[s]))})};return n(e.defaults,["prevent","allow"]),n(e,["view","window","selector"]),e}function Kie(t,e,n,r){t._eventListeners.push({type:n,sources:Pe(e),handler:r})}function BGe(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 o6(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 kGe(t,e,n){var r=this,i=new $8(n),s=function(l,c){r.runAsync(null,()=>{t===Yie&&BGe(r,e)&&l.preventDefault(),i.receive(DGe(r,l,c))})},o;if(t===wGe)o6(r,"timer",e)&&r.timer(s,e);else if(t===Yie)o6(r,"view",e)&&r.addEventListener(e,s,IGe);else if(t===LGe?o6(r,"window",e)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&o6(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);Kie(r,o,e,s)}return i}function Xie(t){return t.item}function Jie(t){return t.item.mark.source}function Zie(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function PGe(t,e){return t=[t||"hover"],e=[e||"update",t[0]],this.on(this.events("view","mouseover",Xie),Jie,Zie(t)),this.on(this.events("view","mouseout",Xie),Jie,Zie(e)),this}function MGe(){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 Hs(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 jGe="vega-bind",UGe="vega-bind-name",qGe="vega-bind-radio";function HGe(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=oY(r.debounce,i.update))),(r.input==null&&r.element?zGe:GGe)(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 zGe(t,e,n,r){const i=n.event||"input",s=()=>t.update(e.value);r.signal(n.signal,e.value),e.addEventListener(i,s),Kie(r,e,i,s),t.set=o=>{e.value=o,e.dispatchEvent(QGe(i))}}function QGe(t){return typeof Event<"u"?new Event(t):{type:t}}function GGe(t,e,n,r){const i=r.signal(n.signal),s=Hs("div",{class:jGe}),o=n.input==="radio"?s:s.appendChild(Hs("label"));o.appendChild(Hs("span",{class:UGe},n.name||n.signal)),e.appendChild(s);let u=WGe;switch(n.input){case"checkbox":u=VGe;break;case"select":u=YGe;break;case"radio":u=KGe;break;case"range":u=XGe;break}u(t,o,n,i)}function WGe(t,e,n,r){const i=Hs("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 VGe(t,e,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const s=Hs("input",i);e.appendChild(s),s.addEventListener("change",()=>t.update(s.checked)),t.elements=[s],t.set=o=>s.checked=!!o||null}function YGe(t,e,n,r){const i=Hs("select",{name:n.signal}),s=n.labels||[];n.options.forEach((o,u)=>{const a={value:o};u6(o,r)&&(a.selected=!0),i.appendChild(Hs("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(u6(n.options[u],o)){i.selectedIndex=u;return}}}function KGe(t,e,n,r){const i=Hs("span",{class:qGe}),s=n.labels||[];e.appendChild(i),t.elements=n.options.map((o,u)=>{const a={type:"radio",name:n.signal,value:o};u6(o,r)&&(a.checked=!0);const l=Hs("input",a);l.addEventListener("change",()=>t.update(o));const c=Hs("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)u6(u[l].value,o)&&(u[l].checked=!0)}}function XGe(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||fc(s,i,100),u=Hs("input",{type:"range",name:n.signal,min:s,max:i,step:o});u.value=r;const a=Hs("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 u6(t,e){return t===e||t+""==e+""}function ese(t,e,n,r,i,s){return e=e||new r(t.loader()),e.initialize(n,Wie(t),Vie(t),s6(t),i,s).background(t.background())}function C$(t,e){return e?function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}:null}function JGe(t,e,n,r){const i=new r(t.loader(),C$(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,s6(t),t);return e&&e.handlers().forEach(s=>{i.on(s.type,s.handler)}),i}function ZGe(t,e){const n=this,r=n._renderType,i=n._eventConfig.bind,s=J9(r);t=n._el=t?b$(n,t,!0):null,_Ge(n),s||n.error("Unrecognized renderer type: "+r);const o=s.handler||jb,u=t?s.renderer:s.headless;return n._renderer=u?ese(n,n._renderer,t,u):null,n._handler=JGe(n,n._handler,t,o),n._redraw=!0,t&&i!=="none"&&(e=e?n._elBind=b$(n,e,!0):t.appendChild(Hs("form",{class:"vega-bindings"})),n._bind.forEach(a=>{a.param.element&&i!=="container"&&(a.element=b$(n,a.param.element,!!a.param.input))}),n._bind.forEach(a=>{HGe(n,a.element||e,a)})),n}function b$(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 SE=t=>+t||0,eWe=t=>({top:t,bottom:t,left:t,right:t});function tse(t){return Qe(t)?{top:SE(t.top),bottom:SE(t.bottom),left:SE(t.left),right:SE(t.right)}:eWe(SE(t))}async function T$(t,e,n,r){const i=J9(e),s=i&&i.headless;return s||Se("Unrecognized renderer type: "+e),await t.runAsync(),ese(t,null,null,s,n,r).renderAsync(t._scenegraph.root)}async function tWe(t,e){t!==cd.Canvas&&t!==cd.SVG&&t!==cd.PNG&&Se("Unrecognized image type: "+t);const n=await T$(this,t,e);return t===cd.SVG?nWe(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function nWe(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function rWe(t,e){return(await T$(this,cd.Canvas,t,e)).canvas()}async function iWe(t){return(await T$(this,cd.SVG,t)).svg()}function sWe(t,e,n){return SGe(t,sy,AE,n).parse(e)}function oWe(t){var e=this._runtime.scales;return Je(e,t)||Se("Unrecognized scale or projection: "+t),e[t].value}var nse="width",rse="height",R$="padding",ise={skip:!0};function sse(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===R$?r.left+r.right:0)}function ose(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===R$?r.top+r.bottom:0)}function uWe(t){var e=t._signals,n=e[nse],r=e[rse],i=e[R$];function s(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,u=>{t._width=u.size,t._viewWidth=sse(t,u.size),s()},{size:n}),t._resizeHeight=t.add(null,u=>{t._height=u.size,t._viewHeight=ose(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 aWe(t,e,n,r,i,s){this.runAfter(o=>{let u=0;o._autosize=0,o.width()!==n&&(u=1,o.signal(nse,n,ise),o._resizeWidth.skip(!0)),o.height()!==r&&(u=1,o.signal(rse,r,ise),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 lWe(t){return this._runtime.getState(t||{data:cWe,signals:fWe,recurse:!0})}function cWe(t,e){return e.modified&&_e(e.input.value)&&t.indexOf("_:vega:_")}function fWe(t,e){return!(t==="parent"||e instanceof sy.proxy)}function xWe(t){return this.runAsync(null,e=>{e._trigger=!1,e._runtime.setState(t)},e=>{e._trigger=!0}),this}function dWe(t,e){function n(r){t({timestamp:Date.now(),elapsed:r})}this._timers.push(Pje(n,e))}function hWe(t,e,n,r){const i=t.element();i&&i.setAttribute("title",pWe(r))}function pWe(t){return t==null?"":_e(t)?use(t):Qe(t)&&!Bx(t)?gWe(t):t+""}function gWe(t){return Object.keys(t).map(e=>{const n=t[e];return e+": "+(_e(n)?use(n):ase(n))}).join(`
1338
- `)}function use(t){return"["+t.map(ase).join(", ")+"]"}function ase(t){return _e(t)?"[…]":Qe(t)&&!Bx(t)?"{…}":t}function O$(t,e){const n=this;if(e=e||{},ry.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(AK(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||cd.Canvas,n._scenegraph=new mee;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||hWe,n._redraw=!0,n._handler=new jb().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=$Ge(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=sWe(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=sse(n,n._width),n._viewHeight=ose(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,uWe(n),CGe(n),bGe(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function a6(t,e){return Je(t._signals,e)?t._signals[e]:Se("Unrecognized signal name: "+Fe(e))}function lse(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function cse(t,e,n,r){let i=lse(n,r);return i||(i=C$(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function fse(t,e,n){const r=lse(e,n);return r&&e._targets.remove(r),t}De(O$,ry,{async evaluate(t,e,n){if(await ry.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,NGe(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&BC(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&&Gie(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=a6(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",tse(t)):tse(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?(J9(t)||Se("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&&(ry.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(a6(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:aWe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=C$(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 cse(this,t,a6(this,t),e)},removeSignalListener(t,e){return fse(this,a6(this,t),e)},addDataListener(t,e){return cse(this,t,r6(this,t).values,e)},removeDataListener(t,e){return fse(this,r6(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=_$(this,null);this._globalCursor=!!t,e&&_$(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:dWe,events:kGe,finalize:MGe,hover:PGe,data:TGe,change:i6,insert:RGe,remove:OGe,scale:oWe,initialize:ZGe,toImageURL:tWe,toCanvas:rWe,toSVG:iWe,getState:lWe,setState:xWe});const mWe="view",l6="[",c6="]",xse="{",dse="}",yWe=":",hse=",",EWe="@",AWe=">",vWe=/[[\]{}]/,SWe={"*":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 pse,gse;function Sd(t,e,n){return pse=e||mWe,gse=n||SWe,mse(t.trim()).map(N$)}function _We(t){return gse[t]}function _E(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 mse(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=_E(t,i,hse,l6+xse,c6+dse),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function N$(t){return t[0]==="["?CWe(t):bWe(t)}function CWe(t){const e=t.length;let n=1,r;if(n=_E(t,n,c6,l6,c6),n===e)throw"Empty between selector: "+t;if(r=mse(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==AWe)throw"Expected '>' after between selector: "+t;r=r.map(N$);const i=N$(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function bWe(t){const e={source:pse},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===dse){if(u=t.lastIndexOf(xse),u>=0){try{r=TWe(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]===EWe&&(i=++u),a=_E(t,u,yWe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=_E(t,u,l6),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=_E(t,u,c6),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==l6)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||vWe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):_We(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 TWe(t){const e=t.split(hse);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function RWe(t){return Qe(t)?t:{type:t||"pad"}}const CE=t=>+t||0,OWe=t=>({top:t,bottom:t,left:t,right:t});function NWe(t){return Qe(t)?t.signal?t:{top:CE(t.top),bottom:CE(t.bottom),left:CE(t.left),right:CE(t.right)}:OWe(CE(t))}const _r=t=>Qe(t)&&!_e(t)?ct({},t):{value:t};function yse(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 Pr(t,e,n){for(const r in e)yse(t,r,e[r]);for(const r in n)yse(t,r,n[r],"update")}function w1(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function L1(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const D$="mark",F$="frame",w$="scope",DWe="axis",FWe="axis-domain",wWe="axis-grid",LWe="axis-label",IWe="axis-tick",$We="axis-title",BWe="legend",kWe="legend-band",PWe="legend-entry",MWe="legend-gradient",Ese="legend-label",jWe="legend-symbol",UWe="legend-title",qWe="title",HWe="title-text",zWe="title-subtitle";function QWe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!L1(a,t)&&L$(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===F$?i.group:n===D$?ct({},i.mark,i[e]):null;for(a in c)l=L1(a,t)||(a==="fill"||a==="stroke")&&(L1("fill",t)||L1("stroke",t)),l||L$(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)L1(h,t)||L$(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 L$(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Ase=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:vse(t);function f6(t){if(t.gradient!=null)return WWe(t);let e=t.signal?`(${t.signal})`:t.color?GWe(t.color):t.field!=null?vse(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=VWe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${d6(t.exponent)})`),t.mult!=null&&(e+=`*${d6(t.mult)}`),t.offset!=null&&(e+=`+${d6(t.offset)}`),t.round&&(e=`round(${e})`),e}const x6=(t,e,n,r)=>`(${t}(${[e,n,r].map(f6).join(",")})+'')`;function GWe(t){return t.c?x6("hcl",t.h,t.c,t.l):t.h||t.s?x6("hsl",t.h,t.s,t.l):t.l||t.a?x6("lab",t.l,t.a,t.b):t.r||t.g||t.b?x6("rgb",t.r,t.g,t.b):null}function WWe(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(Ase(t.gradient)),`gradient(${e.join(",")})`}function d6(t){return Qe(t)?"("+f6(t)+")":t}function vse(t){return Sse(Qe(t)?t:{datum:t})}function Sse(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):Se("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?bl(r).map(Fe).join("]["):Sse(r)),e+"["+r+"]"}function VWe(t,e){const n=Ase(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?"":"*"+d6(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function YWe(t){let e="";return t.forEach(n=>{const r=f6(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function _se(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=QWe(t,e,n,r,i.config);for(const u in t)o[u]=KWe(t[u],e,s,i);return s}function KWe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=JWe(XWe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function XWe(t){return _e(t)?YWe(t):f6(t)}function JWe(t,e,n,r){const i=Oa(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const ZWe="outer",eVe=["value","update","init","react","bind"];function Cse(t,e){Se(t+' for "outer" push: '+Fe(e))}function bse(t,e){const n=t.name;if(t.push===ZWe)e.signals[n]||Cse("No prior signal definition",n),eVe.forEach(r=>{t[r]!==void 0&&Cse("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 I$(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function h6(t,e,n,r){return new I$(t,e,n,r)}function p6(t,e){return h6("operator",t,e)}function Xe(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function bE(t,e){return e?{$field:t,$name:e}:{$field:t}}const $$=bE("key");function Tse(t,e){return{$compare:t,$order:e}}function tVe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const nVe="ascending",rVe="descending";function iVe(t){return Qe(t)?(t.order===rVe?"-":"+")+g6(t.op,t.field):""}function g6(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const B$="scope",k$="view";function ir(t){return t&&t.signal}function sVe(t){return t&&t.expr}function m6(t){if(ir(t))return!0;if(Qe(t)){for(const e in t)if(m6(t[e]))return!0}return!1}function lu(t,e){return t??e}function _d(t){return t&&t.signal||t}const Rse="timer";function TE(t,e){return(t.merge?uVe:t.stream?aVe:t.type?lVe:Se("Invalid stream specification: "+Fe(t)))(t,e)}function oVe(t){return t===B$?k$:t||k$}function uVe(t,e){const n=t.merge.map(i=>TE(i,e)),r=P$({merge:n},t,e);return e.addStream(r).id}function aVe(t,e){const n=TE(t.stream,e),r=P$({stream:n},t,e);return e.addStream(r).id}function lVe(t,e){let n;t.type===Rse?(n=e.event(Rse,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(oVe(t.source),t.type);const r=P$({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function P$(t,e,n){let r=e.between;return r&&(r.length!==2&&Se('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[TE(r[0],n),TE(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(cVe(e.marktype,e.markname,e.markrole)),e.source===B$&&r.push("inScope(event.item)"),r.length&&(t.filter=Oa("("+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 cVe(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 fVe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function xVe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||Se("Signal update missing events specification."),je(s)&&(s=Sd(s,e.isSubscope()?B$:k$)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[hVe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&Se("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?Oa(o,e):o.expr!=null?Oa(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:fVe,$params:{$value:e.signalRef(o.signal)}}:Se("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(dVe(a,e),i)))}function dVe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):TE(t,e)}}function hVe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function pVe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?Se("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=Oa(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>xVe(i,e,n.id))}const Ut=t=>(e,n,r)=>h6(t,n,e||void 0,r),Ose=Ut("aggregate"),gVe=Ut("axisticks"),Nse=Ut("bound"),cu=Ut("collect"),Dse=Ut("compare"),mVe=Ut("datajoin"),Fse=Ut("encode"),yVe=Ut("expression"),EVe=Ut("facet"),AVe=Ut("field"),vVe=Ut("key"),SVe=Ut("legendentries"),_Ve=Ut("load"),CVe=Ut("mark"),bVe=Ut("multiextent"),TVe=Ut("multivalues"),RVe=Ut("overlap"),OVe=Ut("params"),wse=Ut("prefacet"),NVe=Ut("projection"),DVe=Ut("proxy"),FVe=Ut("relay"),Lse=Ut("render"),wVe=Ut("scale"),Cd=Ut("sieve"),LVe=Ut("sortitems"),Ise=Ut("viewlayout"),IVe=Ut("values");let $Ve=0;const $se={min:"min",max:"max",count:"sum"};function BVe(t,e){const n=t.type||"linear";mZ(n)||Se("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function kVe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Bse(t.domain,t,e),t.range!=null&&(n.range=Pse(t,e,n)),t.interpolate!=null&&WVe(t.interpolate,n),t.nice!=null&&(n.nice=GVe(t.nice)),t.bins!=null&&(n.bins=QVe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=_o(t[r],e))}function _o(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):Se("Unsupported object: "+Fe(t)):t}function y6(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>_o(n,e))}function E6(t){Se("Can not find data set: "+Fe(t))}function Bse(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&Se("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(_e(t)?PVe:t.fields?jVe:MVe)(t,e,n)}function PVe(t,e,n){return t.map(r=>_o(r,n))}function MVe(t,e,n){const r=n.getData(t.data);return r||E6(t.data),c1(e.type)?r.valuesRef(n,t.field,kse(t.sort,!1)):AZ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function jVe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:_e(o)||o.signal?UVe(o,n):o,s.push(o),s),[]);return(c1(e.type)?qVe:AZ(e.type)?HVe:zVe)(t,n,i)}function UVe(t,e){const n="_:vega:_"+$Ve++,r=cu({});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,Cd({})]),{data:n,field:"data"}}function qVe(t,e,n){const r=kse(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||E6(l.data),c.countsRef(e,l.field,r)}),u={groupby:$$,pulse:o};r&&(i=r.op||"count",s=r.field?g6(i,r.field):"count",u.ops=[$se[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Ose(u));const a=e.add(cu({pulse:Xe(i)}));return s=e.add(IVe({field:$$,sort:e.sortRef(r),pulse:Xe(a)})),Xe(s)}function kse(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?Se("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!$se[t.op]&&Se("Multiple domain scales can not be sorted using "+t.op)),t}function HVe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||E6(i.data),s.domainRef(e,i.field)});return Xe(e.add(TVe({values:r})))}function zVe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||E6(i.data),s.extentRef(e,i.field)});return Xe(e.add(bVe({extents:r})))}function QVe(t,e){return t.signal||_e(t)?y6(t,e):e.objectProperty(t)}function GVe(t){return Qe(t)?{interval:_o(t.interval),step:_o(t.step)}:_o(t)}function WVe(t,e){e.interpolate=_o(t.type||t),t.gamma!=null&&(e.interpolateGamma=_o(t.gamma))}function Pse(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]}),Pse(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=c1(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Se("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=_e(i.scheme)?y6(i.scheme,e):_o(i.scheme,e),i.extent&&(n.schemeExtent=y6(i.extent,e)),i.count&&(n.schemeCount=_o(i.count,e));return}else if(i.step){n.rangeStep=_o(i.step,e);return}else{if(c1(t.type)&&!_e(i))return Bse(i,t,e);_e(i)||Se("Unsupported range type: "+Fe(i))}return i.map(s=>(_e(s)?y6:_o)(s,e))}function VVe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=M$(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=M$(n[i],i,e));e.addProjection(t.name,r)}function M$(t,e,n){return _e(t)?t.map(r=>M$(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:Se("Unsupported parameter object: "+Fe(t)):t}const fu="top",I1="left",$1="right",Pc="bottom",Mse="center",YVe="vertical",KVe="start",XVe="middle",JVe="end",j$="index",U$="label",ZVe="offset",B1="perc",eYe="perc2",Co="value",RE="guide-label",q$="guide-title",tYe="group-title",nYe="group-subtitle",jse="symbol",A6="gradient",H$="discrete",z$="size",Q$=[z$,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],OE={name:1,style:1,interactive:1},Ct={value:0},bo={value:1},v6="group",Use="rect",G$="rule",rYe="symbol",bd="text";function NE(t){return t.type=v6,t.interactive=t.interactive||!1,t}function ps(t,e){const n=(r,i)=>lu(t[r],lu(e[r],i));return n.isVertical=r=>YVe===lu(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>lu(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>lu(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>lu(t.columns,lu(e.columns,+n.isVertical(!0))),n}function qse(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 iYe(t,e,n){const r=e.config.style[n];return r&&r[t]}function S6(t,e,n){return`item.anchor === '${KVe}' ? ${t} : item.anchor === '${JVe}' ? ${e} : ${n}`}const W$=S6(Fe(I1),Fe($1),Fe(Mse));function sYe(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 Hse(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Hse(t.offset,e)}):{value:t,offset:e}:e:t}function zs(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=w1(t.encode,e,OE)):t.interactive=!1,t}function oYe(t,e,n,r){const i=ps(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:_r(f),height:_r(x)},update:ct({},a,{opacity:bo,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Pr(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),zs({type:Use,role:MWe,encode:h},r)}function uYe(t,e,n,r,i){const s=ps(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:Co}};p[l]={signal:h+"datum."+B1,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+eYe,mult:a},p[x]=_r(u);const m={enter:p,update:ct({},p,{opacity:bo}),exit:{opacity:Ct}};return Pr(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),zs({type:Use,role:kWe,key:Co,from:i,encode:m},r)}const aYe=`datum.${B1}<=0?"${I1}":datum.${B1}>=1?"${$1}":"${Mse}"`,lYe=`datum.${B1}<=0?"${Pc}":datum.${B1}>=1?"${fu}":"${XVe}"`;function zse(t,e,n,r){const i=ps(t,e),s=i.isVertical(),o=_r(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:bo,text:{field:U$}},exit:{opacity:Ct}};return Pr(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:lu(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:lYe},f="y",x="x",h="1-"):(l.align=c.align={signal:aYe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+B1,mult:u},l[x]=c[x]=o,o.offset=lu(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+j$}:void 0,zs({type:bd,role:Ese,style:RE,key:Co,from:r,encode:p,overlap:a},n)}function cYe(t,e,n,r,i){const s=ps(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.${ZVe} : datum.${z$}`,h=l?_r(l):{field:z$},p=`datum.${j$}`,m=`max(1, ${i})`;let g,y,E,A,v;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:bo,x:y.x,y:y.y},exit:{opacity:Ct}};let S=null,_=null;t.fill||(S=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Pr(g,{fill:s("symbolFillColor",S),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),Q$.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:Co})});const C=zs({type:rYe,role:jWe,key:Co,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=_r(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:bo,text:{field:U$},x:y.x,y:y.y},exit:{opacity:Ct}},Pr(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=zs({type:bd,role:Ese,style:RE,key:Co,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?_r(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:bo,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})`,v={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,v={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:j$}},NE({role:w$,from:r,encode:w1(g,o,OE),marks:[C,O],name:a,interactive:u,sort:v})}function fYe(t,e){const n=ps(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const V$='item.orient === "left"',Y$='item.orient === "right"',_6=`(${V$} || ${Y$})`,xYe=`datum.vgrad && ${_6}`,dYe=S6('"top"','"bottom"','"middle"'),hYe=S6('"right"','"left"','"center"'),pYe=`datum.vgrad && ${Y$} ? (${hYe}) : (${_6} && !(datum.vgrad && ${V$})) ? "left" : ${W$}`,gYe=`item._anchor || (${_6} ? "middle" : "start")`,mYe=`${xYe} ? (${V$} ? -90 : 90) : 0`,yYe=`${_6} ? (datum.vgrad ? (${Y$} ? "bottom" : "top") : ${dYe}) : "top"`;function EYe(t,e,n,r){const i=ps(t,e),s={enter:{opacity:Ct},update:{opacity:bo,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Pr(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:gYe},angle:{signal:mYe},align:{signal:pYe},baseline:{signal:yYe},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")}),zs({type:bd,role:UWe,style:q$,from:r,encode:s},n)}function AYe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Qse(t.path)+")":t.sphere&&(n="geoShape("+Qse(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Qse(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Gse(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===v6?w$:e||D$}function vYe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Gse(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function SYe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function K$(t,e){const n=xwe(t.type);n||Se("Unrecognized transform type: "+Fe(t.type));const r=h6(n.type.toLowerCase(),null,Wse(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Wse(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=_Ye(o,e,n)}return r}function _Ye(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return CYe(t,e,n);if(i===void 0){t.required&&Se("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return bYe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!ir(i)?i.map(s=>Vse(t,s,n)):Vse(t,i,n)}function Vse(t,e,n){const r=t.type;if(ir(e))return Kse(r)?Se("Expression references can not be signals."):X$(r)?n.fieldRef(e):Xse(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||X$(r);return i&&TYe(e)?n.exprRef(e.expr,e.as):i&&RYe(e)?bE(e.field,e.as):Kse(r)?Oa(e,n):OYe(r)?Xe(n.getData(e).values):X$(r)?bE(e):Xse(r)?n.compareRef(e):e}}function CYe(t,e,n){return je(e.from)||Se('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function bYe(t,e,n){const r=e[t.name];return t.array?(_e(r)||Se("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Yse(t,i,n))):Yse(t,r,n)}function Yse(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||Se("Unsupported parameter: "+Fe(e));const s=ct(Wse(i,e,n),i.key);return Xe(n.add(OVe(s)))}const TYe=t=>t&&t.expr,RYe=t=>t&&t.field,OYe=t=>t==="data",Kse=t=>t==="expr",X$=t=>t==="field",Xse=t=>t==="compare";function NYe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||Se("Only group marks can be faceted."),r.field!=null?o=u=C6(r,n):(t.data?u=Xe(n.getData(t.data).aggregate):(s=K$(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=C6(r,n),o=u=Xe(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Xe(n.add(cu(null,[{}]))),o||(o=C6(t,n)),{key:i,pulse:o,parent:u}}function C6(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Xe(e.getData(t.data).output)}function Td(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}Td.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=Xe(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new Td(t,s,i,r,o)};function Jse(t){return je(t)?t:null}function Zse(t,e,n){const r=g6(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 DE(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=iVe(s);let l=Jse(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:$$,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Xe(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(h6(r,void 0,x)),o&&(e.index[i]=f),c=Xe(f),l!=null&&(u[l]=c)}return c}Td.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=Jse(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&Zse(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Xe(r.output)},n&&n.field&&Zse(t,a,n),u=t.add(Ose(a)),o=t.add(cu({pulse:Xe(u)})),o={agg:u,ref:Xe(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Xe(this.values)},extentRef(t,e){return DE(t,this,"extent","extent",e,!1)},domainRef(t,e){return DE(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return DE(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return DE(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return DE(t,this,"indata","tupleindex",e,!0,!0)}};function DYe(t,e,n){const r=t.from.facet,i=r.name,s=C6(r,e);let o;r.name||Se("Facet must have a name: "+Fe(r)),r.data||Se("Facet must reference a data set: "+Fe(r)),r.field?o=e.add(wse({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add(EVe({key:e.keyRef(r.groupby),group:Xe(e.proxy(n.parent)),pulse:s})):Se("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(cu()),l=u.add(Cd({pulse:Xe(a)}));u.addData(i,new Td(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function FYe(t,e,n){const r=e.add(wse({pulse:n.pulse})),i=e.fork();i.add(Cd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function eoe(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(p6()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=Oa(l,e);a.update=c.$expr,a.params=c.$params}function b6(t,e){const n=Gse(t),r=t.type===v6,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===w$||n===F$,u,a,l,c,f,x,h;const p=n===D$||o||i,m=NYe(t.from,r,e);a=e.add(mVe({key:m.key||(t.key?bE(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Xe(a);a=l=e.add(cu({pulse:g})),a=e.add(CVe({markdef:vYe(t),interactive:SYe(t.interactive,e),clip:AYe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Xe(a)}));const y=Xe(a);a=c=e.add(Fse(_se(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=K$(_,e),b=C.metadata;(b.generates||b.changes)&&Se("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Xe(a),e.add(a=C)}),t.sort&&(a=e.add(LVe({sort:e.compareRef(t.sort),pulse:Xe(a)})));const E=Xe(a);(i||o)&&(o=e.add(Ise({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Xe(o));const A=e.add(Nse({mark:y,pulse:x||E}));h=Xe(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?DYe(t,e,m):p?FYe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=wYe(s,h,e));const v=e.add(Lse({pulse:h})),S=e.add(Cd({pulse:Xe(v)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new Td(e,l,v,S)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&Se("Marks only support modify triggers."),eoe(_,e,f)}))}function wYe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:ir(s)?n.signalRef(s.signal):s,method:ir(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=ir(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Xe(n.add(RVe(o)))}function LYe(t,e){const n=e.config.legend,r=t.encode||{},i=ps(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;Q$.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||Se("Missing valid scale for legend.");const p=IYe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Xe(e.add(cu(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Xe(e.add(SVe(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===A6?(h=[oYe(t,c,n,r.gradient),zse(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${_d(i.gradientLength())})/100))`)):p===H$?h=[uYe(t,c,n,r.gradient,E),zse(t,n,r.labels,E)]:(f=fYe(t,n),h=[cYe(t,n,r,E,_d(f.columns))],x.size=kYe(t,e,h[0].marks)),h=[NE({role:PWe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push(EYe(t,n,r.title,g)),b6(NE({role:BWe,from:g,encode:w1(BYe(i,t,n),s,OE),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function IYe(t,e){let n=t.type||jse;return!t.type&&$Ye(t)===1&&(t.fill||t.stroke)&&(n=o9(e)?A6:u9(e)?H$:jse),n!==A6?n:u9(e)?H$:A6}function $Ye(t){return Q$.reduce((e,n)=>e+(t[n]?1:0),0)}function BYe(t,e,n){const r={enter:{},update:{}};return Pr(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 kYe(t,e,n){const r=_d(toe("size",t,n)),i=_d(toe("strokeWidth",t,n)),s=_d(PYe(n[1].encode,e,RE));return Oa(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function toe(t,e,n){return e[t]?`scale("${e[t]}",datum)`:qse(t,n[0].encode)}function PYe(t,e,n){return qse("fontSize",t)||iYe("fontSize",e,n)}const MYe=`item.orient==="${I1}"?-90:item.orient==="${$1}"?90:0`;function jYe(t,e){t=je(t)?{text:t}:t;const n=ps(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Xe(e.add(cu(null,[l])));return a.push(HYe(t,n,UYe(t),c)),t.subtitle&&a.push(zYe(t,n,r.subtitle,c)),b6(NE({role:qWe,from:c,encode:qYe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function UYe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function qYe(t,e){const n={enter:{},update:{}};return Pr(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:W$},angle:{signal:MYe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),w1(n,e,OE)}function HYe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Pr(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")}),zs({type:bd,role:HWe,style:tYe,from:r,encode:o},n)}function zYe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Pr(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")}),zs({type:bd,role:zWe,style:nYe,from:r,encode:o},n)}function QYe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(K$(r,e))}),t.on&&t.on.forEach(r=>{eoe(r,e,t.name)}),e.addDataPipeline(t.name,GYe(t,e,n))}function GYe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?ir(t.values)||m6(t.format)?(r.push(noe(e,t)),r.push(i=Rd())):r.push(i=Rd({$ingest:t.values,$format:t.format})):t.url?m6(t.url)||m6(t.format)?(r.push(noe(e,t)),r.push(i=Rd())):r.push(i=Rd({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Xe(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=Rd()),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]=FVe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Rd())),i||r.push(Rd()),r.push(Cd({})),r}function Rd(t){const e=cu({},t);return e.metadata={source:!0},e}function noe(t,e){return _Ve({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 roe=t=>t===Pc||t===fu,T6=(t,e,n)=>ir(t)?KYe(t.signal,e,n):t===I1||t===fu?e:n,Cr=(t,e,n)=>ir(t)?VYe(t.signal,e,n):roe(t)?e:n,xu=(t,e,n)=>ir(t)?YYe(t.signal,e,n):roe(t)?n:e,ioe=(t,e,n)=>ir(t)?XYe(t.signal,e,n):t===fu?{value:e}:{value:n},WYe=(t,e,n)=>ir(t)?JYe(t.signal,e,n):t===$1?{value:e}:{value:n},VYe=(t,e,n)=>soe(`${t} === '${fu}' || ${t} === '${Pc}'`,e,n),YYe=(t,e,n)=>soe(`${t} !== '${fu}' && ${t} !== '${Pc}'`,e,n),KYe=(t,e,n)=>J$(`${t} === '${I1}' || ${t} === '${fu}'`,e,n),XYe=(t,e,n)=>J$(`${t} === '${fu}'`,e,n),JYe=(t,e,n)=>J$(`${t} === '${$1}'`,e,n),soe=(t,e,n)=>(e=e!=null?_r(e):e,n=n!=null?_r(n):n,ooe(e)&&ooe(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||[])),ooe=t=>t==null||Object.keys(t).length===1,J$=(t,e,n)=>({signal:`${t} ? (${k1(e)}) : (${k1(n)})`}),ZYe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${I1}' ? (${k1(r)}) : `:"")+(n!=null?`${t} === '${Pc}' ? (${k1(n)}) : `:"")+(i!=null?`${t} === '${$1}' ? (${k1(i)}) : `:"")+(e!=null?`${t} === '${fu}' ? (${k1(e)}) : `:"")+"(null)"}),k1=t=>ir(t)?t.signal:t==null?null:Fe(t),eKe=(t,e)=>e===0?0:ir(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},P1=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function M1(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[q$][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[RE][i]}return null}function uoe(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function tKe(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(ir(o)){const f=uoe([n.axisX,n.axisY]),x=uoe([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=Cr(o,M1(l,n.axisX,i,r),M1(l,n.axisY,i,r));a={};for(l of x)a[l]=ZYe(o.signal,M1(l,n.axisTop,i,r),M1(l,n.axisBottom,i,r),M1(l,n.axisLeft,i,r),M1(l,n.axisRight,i,r))}else u=o===fu||o===Pc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function nKe(t,e,n,r){const i=ps(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:bo},exit:{opacity:Ct}};Pr(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=aoe(t,0),c=aoe(t,1);return o.x=u.x=Cr(s,l,Ct),o.x2=u.x2=Cr(s,c),o.y=u.y=xu(s,l,Ct),o.y2=u.y2=xu(s,c),zs({type:G$,role:FWe,from:r,encode:a},n)}function aoe(t,e){return{scale:t.scale,range:e}}function rKe(t,e,n,r,i){const s=ps(t,e),o=t.orient,u=t.gridScale,a=T6(o,1,-1),l=iKe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:bo},exit:f={opacity:Ct}};Pr(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:Co,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=Cr(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=Cr(o,p,g),c.y=x.y=xu(o,p,g),c.x2=x.x2=xu(o,y),c.y2=x.y2=Cr(o,y),f.x=Cr(o,p),f.y=xu(o,p),zs({type:G$,role:wWe,key:Co,from:r,encode:h},n)}function iKe(t,e){if(e!==1)if(!Qe(t))t=ir(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=ir(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function sKe(t,e,n,r,i,s){const o=ps(t,e),u=t.orient,a=T6(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:bo},exit:c={opacity:Ct}};Pr(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=_r(i);h.mult=a;const p={scale:t.scale,field:Co,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=Cr(u,Ct,p),f.y2=l.y2=Cr(u,h),c.x=Cr(u,p),f.x=l.x=xu(u,Ct,p),f.x2=l.x2=xu(u,h),c.y=xu(u,p),zs({type:G$,role:IWe,key:Co,from:r,encode:x},n)}function Z$(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function oKe(t,e,n,r,i,s){const o=ps(t,e),u=t.orient,a=t.scale,l=T6(u,-1,1),c=_d(o("labelFlush")),f=_d(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=_r(i);g.mult=l,g.offset=_r(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:Co,band:.5,offset:Hse(s.offset,o("labelOffset"))},E=Cr(u,p?Z$(a,c,'"left"','"right"','"center"'):{value:"center"},WYe(u,"left","right")),A=Cr(u,ioe(u,"bottom","top"),p?Z$(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),v=Z$(a,c,`-(${f})`,f,0);p=p&&f;const S={opacity:Ct,x:Cr(u,y,g),y:xu(u,y,g)},_={enter:S,update:m={opacity:bo,text:{field:U$},x:S.x,y:S.y,align:E,baseline:A},exit:{opacity:Ct,x:S.x,y:S.y}};Pr(_,{dx:!x&&p?Cr(u,v):null,dy:!h&&p?xu(u,v):null}),Pr(_,{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=P1(m.align,E)),m.baseline!==A&&(m.baseline=P1(m.baseline,A)),zs({type:bd,role:LWe,style:RE,key:Co,from:r,encode:_,overlap:b},n)}function uKe(t,e,n,r){const i=ps(t,e),s=t.orient,o=T6(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:_r(i("titleAnchor",null)),align:{signal:W$}},update:a=ct({},u,{opacity:bo,text:_r(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${S6(0,1,.5)})`};return a.x=Cr(s,c),a.y=xu(s,c),u.angle=Cr(s,Ct,eKe(o,90)),u.baseline=Cr(s,ioe(s,Pc,fu),{value:Pc}),a.angle=u.angle,a.baseline=u.baseline,Pr(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")}),aKe(i,s,l,n),l.update.align=P1(l.update.align,u.align),l.update.angle=P1(l.update.angle,u.angle),l.update.baseline=P1(l.update.baseline,u.baseline),zs({type:bd,role:$We,style:q$,from:r,encode:l},n)}function aKe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=P1(_r(u),n.update[a]),!1):!L1(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?_r(o):Cr(e,_r(o),_r(s))}function lKe(t,e){const n=tKe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=ps(t,n),l=sYe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Xe(e.add(cu({},[c]))),x=Xe(e.add(gVe({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(rKe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(sKe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(oKe(t,n,r.labels,x,p,l))),c.domain&&h.push(nKe(t,n,r.domain,f)),c.title&&h.push(uKe(t,n,r.title,f)),b6(NE({role:DWe,from:f,encode:w1(cKe(a,t),i,OE),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function cKe(t,e){const n={enter:{},update:{}};return Pr(n,{orient:t("orient"),offset:t("offset")||0,position:lu(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 loe(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>bse(s,e)),Pe(t.projections).forEach(s=>VVe(s,e)),i.forEach(s=>BVe(s,e)),Pe(t.data).forEach(s=>QYe(s,e)),i.forEach(s=>kVe(s,e)),(n||r).forEach(s=>pVe(s,e)),Pe(t.axes).forEach(s=>lKe(s,e)),Pe(t.marks).forEach(s=>b6(s,e)),Pe(t.legends).forEach(s=>LYe(s,e)),t.title&&jYe(t.title,e),e.parseLambdas(),e}const fKe=t=>w1({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function xKe(t,e){const n=e.config,r=Xe(e.root=e.add(p6())),i=dKe(t,n);i.forEach(l=>bse(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(cu()),o=e.add(Fse(_se(fKe(t.encode),v6,F$,t.style,e,{pulse:Xe(s)}))),u=e.add(Ise({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Xe(o)}));e.operators.pop(),e.pushState(Xe(o),Xe(u),null),loe(t,e,i),e.operators.push(u);let a=e.add(Nse({mark:r,pulse:Xe(u)}));return a=e.add(Lse({pulse:Xe(a)})),a=e.add(Cd({pulse:Xe(a)})),e.addData("root",new Td(e,s,s,a)),e}function FE(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function dKe(t,e){const n=o=>lu(t[o],e[o]),r=[FE("background",n("background")),FE("autosize",RWe(n("autosize"))),FE("padding",NWe(n("padding"))),FE("width",n("width")||0),FE("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 coe(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 foe(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}coe.prototype=foe.prototype={parse(t){return loe(t,this)},fork(){return new foe(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 I$?Xe(t):t;return this.add(DVe({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(Xe(this.add(Cd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Xe(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 bE(t,e);t.signal||Se("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=Xe(this.add(AVe(i)))}return r},compareRef(t){let e=!1;const n=s=>ir(s)?(e=!0,this.signalRef(s.signal)):sVe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Xe(this.add(Dse({fields:r,orders:i}))):Tse(r,i)},keyRef(t,e){let n=!1;const r=s=>ir(s)?(n=!0,Xe(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Xe(this.add(vVe({fields:t,flat:e}))):tVe(t,e)},sortRef(t){if(!t)return t;const e=g6(t.op,t.field),n=t.order||nVe;return n.signal?Xe(this.add(Dse({fields:e,orders:this.signalRef(n.signal)}))):Tse(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)&&Se("Duplicate signal name: "+Fe(t));const n=e instanceof I$?e:this.add(p6(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||Se("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Xe(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(p6(null))),Xe(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=Oa(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||eB(t))},exprRef(t,e){const n={expr:Oa(t,this)};return e&&(n.expr.$name=e),Xe(this.add(yVe(n)))},addBinding(t,e){this.bindings||Se("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&Se("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,wVe(e))},addProjection(t,e){this.addScaleProj(t,NVe(e))},getScale(t){return this.scales[t]||Se("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Xe(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)&&Se("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||Se("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&Se("Duplicate data set name: "+Fe(t)),this.addData(t,Td.fromEntries(this,e))}};function eB(t){return(_e(t)?hKe:pKe)(t)}function hKe(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||eB(i):Fe(i))}return n+"]"}function pKe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||eB(i):Fe(i));return e+"}"}function gKe(){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 xoe(t,e,n){return Qe(t)||Se("Input Vega specification must be an object."),e=KF(gKe(),e,t.config),xKe(t,new coe(e,n)).toRuntime()}ct(sy,v9e,Jke,_Pe,aje,nUe,Nqe,aqe,Fqe,eHe,cHe,mHe);const mKe={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},R6=28;function yKe(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]=mKe[l],o=o*R6);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[oa(t)];let v=l!=="spark"?R6-1:0,S;const _=oa(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=AK().format(",")(z);f=zV(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);v=v-(xe-o),o=xe,S=ae}}if(y){const z=oa(n),Y=e.fields[z].maxString,Q=zV(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/R6)*R6;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:S,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:v+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 j1="#727883",U1="#E5E7EB";function EKe(t,e){const n=yKe(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:U1,tickColor:U1,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:j1,labelPadding:5,titleColor:j1,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:500,titlePadding:10,labelOverlap:!1},axisX:{gridColor:U1,tickColor:U1,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:j1,titleColor:j1,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:500,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 tB(t,...e){return e.some(n=>Array.isArray(n)?t.has(...n):t.has(n))}var O6=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(O6||{}),sr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(sr||{});function AKe(t){return Object.values(sr).includes(t)}var doe={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=[],v=0;for(v=5;v<=8;++v)A[v]=32+v;for(v=23;v<=26;++v)A[v]=0;for(v=27;v<=31;++v)A[v]=14;for(v=50;v<=58;++v)A[v]=14;for(v=59;v<=62;++v)A[v]=v-58;for(v=67;v<=68;++v)A[v]=v-58;for(v=72;v<=75;++v)A[v]=v-58;for(v=67;v<=68;++v)A[v]=v-57;for(v=76;v<=78;++v)A[v]=v-56;for(v=79;v<=81;++v)A[v]=v-34;var S=[];S[5]=S[63]='"$"#,##0_);\\("$"#,##0\\)',S[6]=S[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',S[7]=S[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',S[8]=S[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',S[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',S[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',S[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',S[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,K=0,ue=Math.floor(L);te<N&&(ue=Math.floor(L),V=ue*P+H,K=ue*te+fe,!(L-ue<5e-8));)L=1/(L-ue),H=P,P=V,fe=te,te=K;if(K>N&&(te>N?(K=fe,V=H):(K=te,V=P)),!$)return[0,q*V,K];var Be=Math.floor(q*V/K);return[Be,q*V-Be*K,K]}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 K=te<0?12:11,ue=$(te.toFixed(12));return ue.length<=K||(ue=te.toPrecision(10),ue.length<=K)?ue:te.toExponential(5)}function V(te){var K=$(te.toFixed(11));return K.length>(te<0?12:11)||K==="0"||K==="-0"?te.toPrecision(6):K}function fe(te){var K=Math.floor(Math.log(Math.abs(te))*Math.LOG10E),ue;return K>=-4&&K<=-1?ue=te.toPrecision(10+K):Math.abs(K)<=9?ue=P(te):K===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 K=te>0?u(fe,te):"";return K}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#]/,K=/\(###\) ###\\?-####/;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 X(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(Vs,xA){return"."+xA+o("0",ue(ce[1]).length-xA.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(Vs){return we<G.length?G.charAt(we++):Vs==="0"?"0":""}));if(J.match(K))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 Or=J.indexOf(".")-we,uf=J.length-G.length-Or;return ue(J.substr(0,Or)+G+J.substr(J.length-uf))}if(ce=J.match(/^00,000\.([#0]*0)$/))return we=ut(re,ce[1].length),re<0?"-"+se(Ee,J,-re):de(X(re)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Vs){return"00,"+(Vs.length<3?u(0,3-Vs.length):"")+Vs})+"."+u(we,ce[1].length);switch(J){case"###,##0.00":return se(Ee,"#,##0.00",re);case"###,###":case"##,###":case"#,###":var fA=de(h(nt,0));return fA!=="0"?yt+fA:"";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(Vs,xA){return"."+xA+o("0",ue(ce[1]).length-xA.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(Vs){return we<G.length?G.charAt(we++):Vs==="0"?"0":""}));if(J.match(K))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 Or=J.indexOf(".")-we,uf=J.length-G.length-Or;return ue(J.substr(0,Or)+G+J.substr(J.length-uf))}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(Vs){return"00,"+(Vs.length<3?u(0,3-Vs.length):"")+Vs})+"."+u(0,ce[1].length);switch(J){case"###,###":case"##,###":case"#,###":var fA=de(""+nt);return fA!=="0"?yt+fA:"";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,K,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 X={t:V,v:V};if(te==null&&(te=C(N,$)),T.substr(P,3).toUpperCase()==="A/P"?(te!=null&&(X.v=te.H>=12?"P":"A"),X.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(te!=null&&(X.v=te.H>=12?"PM":"AM"),X.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(te!=null&&(X.v=te.H>=12?"下午":"上午"),X.t="T",P+=5,Be="h"):(X.t="t",++P),te==null&&X.t==="T")return"";L[L.length]=X,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(K=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ee=L[P].v.substr(K+1);K>=0;--K)Ie>=0&&(L[P].v.charAt(K)==="0"||L[P].v.charAt(K)==="#")&&(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(K=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ee=L[P].v.substr(0,K);K<L[P].v.length;++K)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=S[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)})(doe);var N6=doe.exports;function vKe(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}var SKe=vKe;function _Ke(t){return function(e){return t==null?void 0:t[e]}}var CKe=_Ke,bKe=CKe,TKe={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},RKe=bKe(TKe),OKe=RKe,NKe=typeof F=="object"&&F&&F.Object===Object&&F,DKe=NKe,FKe=DKe,wKe=typeof self=="object"&&self&&self.Object===Object&&self,LKe=FKe||wKe||Function("return this")(),IKe=LKe,$Ke=IKe,BKe=$Ke.Symbol,nB=BKe;function kKe(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var PKe=kKe,MKe=Array.isArray,jKe=MKe,hoe=nB,poe=Object.prototype,UKe=poe.hasOwnProperty,qKe=poe.toString,wE=hoe?hoe.toStringTag:void 0;function HKe(t){var e=UKe.call(t,wE),n=t[wE];try{t[wE]=void 0;var r=!0}catch{}var i=qKe.call(t);return r&&(e?t[wE]=n:delete t[wE]),i}var zKe=HKe,QKe=Object.prototype,GKe=QKe.toString;function WKe(t){return GKe.call(t)}var VKe=WKe,goe=nB,YKe=zKe,KKe=VKe,XKe="[object Null]",JKe="[object Undefined]",moe=goe?goe.toStringTag:void 0;function ZKe(t){return t==null?t===void 0?JKe:XKe:moe&&moe in Object(t)?YKe(t):KKe(t)}var eXe=ZKe;function tXe(t){return t!=null&&typeof t=="object"}var nXe=tXe,rXe=eXe,iXe=nXe,sXe="[object Symbol]";function oXe(t){return typeof t=="symbol"||iXe(t)&&rXe(t)==sXe}var uXe=oXe,yoe=nB,aXe=PKe,lXe=jKe,cXe=uXe,fXe=1/0,Eoe=yoe?yoe.prototype:void 0,Aoe=Eoe?Eoe.toString:void 0;function voe(t){if(typeof t=="string")return t;if(lXe(t))return aXe(t,voe)+"";if(cXe(t))return Aoe?Aoe.call(t):"";var e=t+"";return e=="0"&&1/t==-fXe?"-0":e}var xXe=voe,dXe=xXe;function hXe(t){return t==null?"":dXe(t)}var rB=hXe,pXe=OKe,gXe=rB,mXe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yXe="\\u0300-\\u036f",EXe="\\ufe20-\\ufe2f",AXe="\\u20d0-\\u20ff",vXe=yXe+EXe+AXe,SXe="["+vXe+"]",_Xe=RegExp(SXe,"g");function CXe(t){return t=gXe(t),t&&t.replace(mXe,pXe).replace(_Xe,"")}var bXe=CXe,TXe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function RXe(t){return t.match(TXe)||[]}var OXe=RXe,NXe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function DXe(t){return NXe.test(t)}var FXe=DXe,Soe="\\ud800-\\udfff",wXe="\\u0300-\\u036f",LXe="\\ufe20-\\ufe2f",IXe="\\u20d0-\\u20ff",$Xe=wXe+LXe+IXe,_oe="\\u2700-\\u27bf",Coe="a-z\\xdf-\\xf6\\xf8-\\xff",BXe="\\xac\\xb1\\xd7\\xf7",kXe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",PXe="\\u2000-\\u206f",MXe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",boe="A-Z\\xc0-\\xd6\\xd8-\\xde",jXe="\\ufe0e\\ufe0f",Toe=BXe+kXe+PXe+MXe,Roe="['’]",Ooe="["+Toe+"]",UXe="["+$Xe+"]",Noe="\\d+",qXe="["+_oe+"]",Doe="["+Coe+"]",Foe="[^"+Soe+Toe+Noe+_oe+Coe+boe+"]",HXe="\\ud83c[\\udffb-\\udfff]",zXe="(?:"+UXe+"|"+HXe+")",QXe="[^"+Soe+"]",woe="(?:\\ud83c[\\udde6-\\uddff]){2}",Loe="[\\ud800-\\udbff][\\udc00-\\udfff]",q1="["+boe+"]",GXe="\\u200d",Ioe="(?:"+Doe+"|"+Foe+")",WXe="(?:"+q1+"|"+Foe+")",$oe="(?:"+Roe+"(?:d|ll|m|re|s|t|ve))?",Boe="(?:"+Roe+"(?:D|LL|M|RE|S|T|VE))?",koe=zXe+"?",Poe="["+jXe+"]?",VXe="(?:"+GXe+"(?:"+[QXe,woe,Loe].join("|")+")"+Poe+koe+")*",YXe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",KXe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",XXe=Poe+koe+VXe,JXe="(?:"+[qXe,woe,Loe].join("|")+")"+XXe,ZXe=RegExp([q1+"?"+Doe+"+"+$oe+"(?="+[Ooe,q1,"$"].join("|")+")",WXe+"+"+Boe+"(?="+[Ooe,q1+Ioe,"$"].join("|")+")",q1+"?"+Ioe+"+"+$oe,q1+"+"+Boe,KXe,YXe,Noe,JXe].join("|"),"g");function eJe(t){return t.match(ZXe)||[]}var tJe=eJe,nJe=OXe,rJe=FXe,iJe=rB,sJe=tJe;function oJe(t,e,n){return t=iJe(t),e=n?void 0:e,e===void 0?rJe(t)?sJe(t):nJe(t):t.match(e)||[]}var uJe=oJe,aJe=SKe,lJe=bXe,cJe=uJe,fJe="['’]",xJe=RegExp(fJe,"g");function dJe(t){return function(e){return aJe(cJe(lJe(e).replace(xJe,"")),t,"")}}var hJe=dJe;function pJe(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}var gJe=pJe,mJe=gJe;function yJe(t,e,n){var r=t.length;return n=n===void 0?r:n,!e&&n>=r?t:mJe(t,e,n)}var EJe=yJe,AJe="\\ud800-\\udfff",vJe="\\u0300-\\u036f",SJe="\\ufe20-\\ufe2f",_Je="\\u20d0-\\u20ff",CJe=vJe+SJe+_Je,bJe="\\ufe0e\\ufe0f",TJe="\\u200d",RJe=RegExp("["+TJe+AJe+CJe+bJe+"]");function OJe(t){return RJe.test(t)}var Moe=OJe;function NJe(t){return t.split("")}var DJe=NJe,joe="\\ud800-\\udfff",FJe="\\u0300-\\u036f",wJe="\\ufe20-\\ufe2f",LJe="\\u20d0-\\u20ff",IJe=FJe+wJe+LJe,$Je="\\ufe0e\\ufe0f",BJe="["+joe+"]",iB="["+IJe+"]",sB="\\ud83c[\\udffb-\\udfff]",kJe="(?:"+iB+"|"+sB+")",Uoe="[^"+joe+"]",qoe="(?:\\ud83c[\\udde6-\\uddff]){2}",Hoe="[\\ud800-\\udbff][\\udc00-\\udfff]",PJe="\\u200d",zoe=kJe+"?",Qoe="["+$Je+"]?",MJe="(?:"+PJe+"(?:"+[Uoe,qoe,Hoe].join("|")+")"+Qoe+zoe+")*",jJe=Qoe+zoe+MJe,UJe="(?:"+[Uoe+iB+"?",iB,qoe,Hoe,BJe].join("|")+")",qJe=RegExp(sB+"(?="+sB+")|"+UJe+jJe,"g");function HJe(t){return t.match(qJe)||[]}var zJe=HJe,QJe=DJe,GJe=Moe,WJe=zJe;function VJe(t){return GJe(t)?WJe(t):QJe(t)}var YJe=VJe,KJe=EJe,XJe=Moe,JJe=YJe,ZJe=rB;function eZe(t){return function(e){e=ZJe(e);var n=XJe(e)?JJe(e):void 0,r=n?n[0]:e.charAt(0),i=n?KJe(n,1).join(""):e.slice(1);return r[t]()+i}}var tZe=eZe,nZe=tZe,rZe=nZe("toUpperCase"),iZe=rZe,sZe=hJe,oZe=iZe,uZe=sZe(function(t,e,n){return t+(n?" ":"")+oZe(e)}),aZe=uZe;const lZe=OA(aZe);function Jl(t,e,n=!1){if(t!==void 0)switch(t){case"ordinal":return{range:["#C2D5EE","#1A73E8"]};case"temporal":case"quantitative":return e?n?{range:["#6BA4EE","#EEA361"]}:{range:["#1A73E8","#E8710A"]}:{range:["#C2D5EE","#1A73E8"]};case"nominal":return n?{range:["#6BA4EE","#66CEDC","#EC72B8","#EEA361","#F9C85B","#AACD85","#B87CED","#ACB0B3"]}:{range:["#1A73E8","#12B5CB","#E52592","#E8710A","#F9AB00","#7CB342","#9334E6","#80868B"]}}}function cZe(t,e){const n=FTe.fromJSDate(t,{zone:e??"UTC"});return new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond)}function fZe(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function xZe(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}function Od(t,e,n,r){var o;const i=((o=n==null?void 0:n.data)==null?void 0:o.label)||e.name;let s=t.titleCase?lZe(i):i;return e.isAtomicField()&&(e.isDate()||e.isTimestamp())&&r&&(s=`${s} (${r})`),s}function dZe(t,e=0){let n=t;for(;e>0&&n.parentRecord;)e-=1,n=n.parentRecord;return n}function hZe(t){const e=t.split("/"),n=e.filter(i=>i==="..").length+1,r=e.filter(i=>i!==".."&&i!=="");return{levelsUp:n,pathSegments:r}}function Goe({tag:t,data:e}){var n;try{const r=((n=t.tag("field"))==null?void 0:n.text())??"",{levelsUp:i,pathSegments:s}=hZe(r);let o=dZe(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 Nd{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 Woe{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 fZe(this.document,i)}if(n===null)return xZe(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const KR=class KR extends Nd{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new Woe(e)}get rendererName(){}};KR.instance=new KR;let Voe=KR;function Yoe(t,e,n={}){let r=e.toString();return n.terse?r=pZe.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?N6.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const pZe=new Map([[sr.Nanoseconds,"ns"],[sr.Microseconds,"µs"],[sr.Milliseconds,"ms"],[sr.Seconds,"s"],[sr.Minutes,"m"],[sr.Hours,"h"],[sr.Days,"d"]]),gZe=new Map([[sr.Nanoseconds,1e3],[sr.Microseconds,1e3],[sr.Milliseconds,1e3],[sr.Seconds,60],[sr.Minutes,60],[sr.Hours,24],[sr.Days,Number.MAX_VALUE]]);function Koe(t,e,n){const r=n.durationUnit&&AKe(n.durationUnit)?n.durationUnit:sr.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 gZe)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[Yoe(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):Yoe(0,r,{numFormat:s,terse:o})}class mZe extends Woe{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 Koe(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const XR=class XR extends Nd{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??sr.Seconds},this.rendererName)}create(e,n,r,i,s){return new mZe(e,s)}get rendererName(){return"duration"}};XR.instance=new XR;let Xoe=XR;function yZe(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case O6.Euros:i="€";break;case O6.Pounds:i="£";break;case O6.Dollars:break}n=N6.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=N6.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??sr.Seconds;return Koe(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=N6.format(r.text("number"),e):n=e.toLocaleString();return n}var EZe=Gn("<a target=_blank>");function AZe(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=Goe({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=EZe();return cf(l,"href",u),vn(l,a),l})()}function Tlt(t){return t}function Rlt(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 Joe={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 v(S,_){if(S===null)return null;if(_===0)return S;var C,b;if(typeof S!="object")return S;if(n(S,r))C=new r;else if(n(S,i))C=new i;else if(n(S,s))C=new s(function(de,ae){S.then(function(ie){de(v(ie,_-1))},function(ie){ae(v(ie,_-1))})});else if(o.__isArray(S))C=[];else if(o.__isRegExp(S))C=new RegExp(S.source,f(S)),S.lastIndex&&(C.lastIndex=S.lastIndex);else if(o.__isDate(S))C=new Date(S.getTime());else{if(A&&Buffer.isBuffer(S))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(S.length):C=new Buffer(S.length),S.copy(C),C;n(S,Error)?C=Object.create(S):typeof m>"u"?(b=Object.getPrototypeOf(S),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(S);if(O!=-1)return E[O];y.push(S),E.push(C)}n(S,r)&&S.forEach(function(de,ae){var ie=v(ae,_-1),le=v(de,_-1);C.set(ie,le)}),n(S,i)&&S.forEach(function(de){var ae=v(de,_-1);C.add(ae)});for(var R in S){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=v(S[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(S),R=0;R<M.length;R++){var z=M[R],Y=Object.getOwnPropertyDescriptor(S,z);Y&&!Y.enumerable&&!g||(C[z]=v(S[z],_-1),Y.enumerable||Object.defineProperty(C,z,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(S),R=0;R<Q.length;R++){var oe=Q[R],Y=Object.getOwnPropertyDescriptor(S,oe);Y&&Y.enumerable||(C[oe]=v(S[oe],_-1),Object.defineProperty(C,oe,{enumerable:!1}))}return C}return v(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)})(Joe);var vZe=Joe.exports;const SZe=OA(vZe);var _Ze=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 CZe=OA(_Ze);var bZe=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 oB=OA(bZe);function uB(t){return!!t.or}function aB(t){return!!t.and}function lB(t){return!!t.not}function D6(t,e){if(lB(t))D6(t.not,e);else if(aB(t))for(const n of t.and)D6(n,e);else if(uB(t))for(const n of t.or)D6(n,e);else e(t)}function H1(t,e){return lB(t)?{not:H1(t.not,e)}:aB(t)?{and:t.and.map(n=>H1(n,e))}:uB(t)?{or:t.or.map(n=>H1(n,e))}:e(t)}const Zl=CZe,ot=SZe;function TZe(t){throw new Error(t)}function LE(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function To(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=>oB(t)).join(",")})`};const on=oB;function bt(t){if(rn(t))return t;const e=je(t)?t:oB(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 Zoe(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function z1(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function eue(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function RZe(t,...e){for(const n of e)OZe(t,n??{});return t}function OZe(t,e){for(const n of be(e))hC(t,n,e[n],!0)}function e0(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 NZe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function tue(t,e){for(const n of t)if(e.has(n))return!0;return!1}function nue(t){const e=new Set;for(const n of t){const i=bl(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 rue(t,e){return t===void 0||e===void 0?!0:tue(nue(t),nue(e))}function Vt(t){return be(t).length===0}const be=Object.keys,Ui=Object.values,Dd=Object.entries;function F6(t){return t===!0||t===!1}function En(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function w6(t,e){return lB(t)?`!(${w6(t.not,e)})`:aB(t)?`(${t.and.map(n=>w6(n,e)).join(") && (")})`:uB(t)?`(${t.or.map(n=>w6(n,e)).join(") || (")})`:e(t)}function cB(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&cB(t[n],e)&&delete t[n],Vt(t)}function L6(t){return t.charAt(0).toUpperCase()+t.substr(1)}function iue(t,e="datum"){const n=bl(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 DZe(t,e="datum"){return`${e}[${Fe(bl(t).join("."))}]`}function FZe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function du(t){return`${bl(t).map(FZe).join("\\.")}`}function Q1(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function sue(t){return`${bl(t).join(".")}`}function IE(t){return t?bl(t).length:0}function or(...t){for(const e of t)if(e!==void 0)return e}let wZe=42;function LZe(t){const e=++wZe;return t?String(t)+e:e}function IZe(t){return $Ze(t)?t:`__${t}`}function $Ze(t){return t.startsWith("__")}function I6(t){if(t!==void 0)return(t%360+360)%360}function fB(t){return rn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var $E=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 t0="row",n0="column",$6="facet",An="x",br="y",hu="x2",Na="y2",Mc="xOffset",G1="yOffset",Da="radius",r0="radius2",pu="theta",i0="theta2",Fa="latitude",wa="longitude",gu="latitude2",Ro="longitude2",gs="color",La="fill",Ia="stroke",ms="shape",s0="size",Fd="angle",o0="opacity",jc="fillOpacity",Uc="strokeOpacity",qc="strokeWidth",Hc="strokeDash",BE="text",kE="order",PE="detail",B6="key",wd="tooltip",k6="href",P6="url",M6="description",BZe={x:1,y:1,x2:1,y2:1},oue={theta:1,theta2:1,radius:1,radius2:1};function uue(t){return t in oue}const xB={longitude:1,longitude2:1,latitude:1,latitude2:1};function kZe(t){switch(t){case Fa:return"y";case gu:return"y2";case wa:return"x";case Ro:return"x2"}}function PZe(t){return t in xB}const MZe=be(xB),dB=Object.assign(Object.assign(Object.assign(Object.assign({},BZe),oue),xB),{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 W1(t){return t===gs||t===La||t===Ia}const aue={row:1,column:1,facet:1},Oo=be(aue),hB=Object.assign(Object.assign({},dB),aue),jZe=be(hB),UZe=$E(hB,["order","detail","tooltip"]),qZe=$E(UZe,["row","column","facet"]);function HZe(t){return!!qZe[t]}function lue(t){return!!hB[t]}const zZe=[hu,Na,gu,Ro,i0,r0];function cue(t){return Ld(t)!==t}function Ld(t){switch(t){case hu:return An;case Na:return br;case gu:return Fa;case Ro:return wa;case i0:return pu;case r0:return Da}return t}function zc(t){if(uue(t))switch(t){case pu:return"startAngle";case i0:return"endAngle";case Da:return"outerRadius";case r0:return"innerRadius"}return t}function u0(t){switch(t){case An:return hu;case br:return Na;case Fa:return gu;case wa:return Ro;case pu:return i0;case Da:return r0}}function ys(t){switch(t){case An:case hu:return"width";case br:case Na:return"height"}}function QZe(t){switch(t){case An:return"xOffset";case br:return"yOffset";case hu:return"x2Offset";case Na:return"y2Offset";case pu:return"thetaOffset";case Da:return"radiusOffset";case i0:return"theta2Offset";case r0:return"radius2Offset"}}function fue(t){switch(t){case An:return"xOffset";case br:return"yOffset"}}function xue(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const GZe=be(dB),pB=$E(dB,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),WZe=be(pB),gB={x:1,y:1},$a=be(gB);function Mr(t){return t in gB}const mB={theta:1,radius:1},VZe=be(mB);function j6(t){return t==="width"?An:br}const due={xOffset:1,yOffset:1};function V1(t){return t in due}const hue=$E(pB,["text","tooltip","href","url","description","detail","key","order"]),YZe=be(hue);function KZe(t){return!!pB[t]}function XZe(t){switch(t){case gs:case La:case Ia:case s0:case ms:case o0:case qc:case Hc:return!0;case jc:case Uc:case Fd:return!1}}const pue=Object.assign(Object.assign(Object.assign(Object.assign({},gB),mB),due),hue),U6=be(pue);function Qc(t){return!!pue[t]}function JZe(t,e){return eet(t)[e]}const gue={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"},ZZe=$E(gue,["geoshape"]);function eet(t){switch(t){case gs:case La:case Ia:case M6:case PE:case B6:case wd:case k6:case kE:case o0:case jc:case Uc:case qc:case $6:case t0:case n0:return gue;case An:case br:case Mc:case G1:case Fa:case wa:return ZZe;case hu:case Na:case gu:case Ro:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case s0:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Hc:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case ms:return{point:"always",geoshape:"always"};case BE:return{text:"always"};case Fd:return{point:"always",square:"always",text:"always"};case P6:return{image:"always"};case pu:return{text:"always",arc:"always"};case Da:return{text:"always",arc:"always"};case i0:case r0:return{arc:"always"}}}function yB(t){switch(t){case An:case br:case pu:case Da:case Mc:case G1:case s0:case Fd:case qc:case o0:case jc:case Uc:case hu:case Na:case i0:case r0:return;case $6:case t0:case n0:case ms:case Hc:case BE:case wd:case k6:case P6:case M6:return"discrete";case gs:case La:case Ia:return"flexible";case Fa:case wa:case gu:case Ro:case PE:case B6:case kE:return}}const tet={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},net={count:1,min:1,max:1};function a0(t){return!!t&&!!t.argmin}function Gc(t){return!!t&&!!t.argmax}function EB(t){return je(t)&&!!tet[t]}const ret=new Set(["count","valid","missing","distinct"]);function mue(t){return je(t)&&ret.has(t)}function iet(t){return je(t)&&Tt(["min","max"],t)}const set=new Set(["count","sum","distinct","valid","missing"]),oet=new Set(["mean","average","median","q1","q3","min","max"]);function yue(t){return z2(t)&&(t=oR(t,void 0)),"bin"+be(t).map(e=>q6(t[e])?En(`_${e}_${Dd(t[e])}`):En(`_${e}_${t[e]}`)).join("")}function Jt(t){return t===!0||Id(t)&&!t.binned}function qi(t){return t==="binned"||Id(t)&&t.binned===!0}function Id(t){return Qe(t)}function q6(t){return t==null?void 0:t.param}function Eue(t){switch(t){case t0:case n0:case s0:case gs:case La:case Ia:case qc:case o0:case jc:case Uc:case ms:return 6;case Hc:return 4;default:return 10}}function ME(t){return t&&!!t.expr}function Es(t){const e=be(t||{}),n={};for(const r of e)n[r]=Qs(t[r]);return n}var uet=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 Aue(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=uet(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=LE(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Wc(t){return je(t)||_e(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function Vc(t){return!!t.step}function aet(t){return _e(t)?!1:"fields"in t&&!("data"in t)}function cet(t){return _e(t)?!1:"fields"in t&&"data"in t}function l0(t){return _e(t)?!1:"field"in t&&"data"in t}const fet=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}),xet={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},AB=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var vB=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 vue(t){const e=_e(t.condition)?t.condition.map(Sue):Sue(t.condition);return Object.assign(Object.assign({},Qs(t)),{condition:e})}function Qs(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return t}function Sue(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return t}function un(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function det(t){return Ye(t)?t.signal:Fe(t)}function _ue(t){return Ye(t)?t.signal:Fe(t.value)}function c0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function het(t,e,n){for(const r of n){const i=$d(r,e.markDef,e.config);i!==void 0&&(t[r]=un(i))}return t}function Cue(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:$d(t,e,n,r)}function $d(t,e,n,{vgChannel:r}={}){return or(r?H6(t,e,n.style):void 0,H6(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function H6(t,e,n){return bue(t,Cue(e),n)}function bue(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 Tue(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 Rue(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Zl(i,r))return;n.push(r)}),n}function Oue(t,e){return Zl(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function Nue(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Wc(n)||Ye(n))&&(Wc(r)||Ye(r)))return{explicit:t.explicit,value:Oue(n,r)};if(Wc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Wc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Wc(n)&&!Ye(n)&&!Wc(r)&&!Ye(r))return{explicit:t.explicit,value:Rue(n,r)};throw new Error("It should never reach here")}function SB(t){return`Invalid specification ${on(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const pet='Autosize "fit" only works for single views and layered views.';function Due(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function Fue(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 wue(t){return t?`Dropping "fit-${t}" because spec has discrete ${ys(t)}.`:'Dropping "fit" because spec has discrete size.'}function _B(t){return`Unknown field for ${t}. Cannot calculate view size.`}function Lue(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function get(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function met(t){return`The "nearest" transform is not supported for ${t} marks.`}function Iue(t){return`Selection not supported for ${t} yet.`}function yet(t){return`Cannot find a selection named "${t}".`}const Eet="Scale bindings are currently only supported for scales with unbinned, continuous domains.",Aet="Legend bindings are only supported for selections over an individual field or encoding channel.";function vet(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function _et(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const Cet="The same selection must be used to override scale domains in a layered view.",bet='Interval selections should be initialized using "x" and/or "y" keys.';function Tet(t){return`Unknown repeated value "${t}".`}function $ue(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const Ret="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function Oet(t){return`Unrecognized parse "${t}".`}function Bue(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const Net="Attempt to add the same child twice.";function Det(t){return`Ignoring an invalid transform: ${on(t)}.`}const Fet='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 kue(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function wet(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${on(e)} is overridden by a child projection ${on(n)}.`}const Let="Arc marks uses theta channel rather than angle, replacing angle with theta.";function Iet(t){return`${t}Offset dropped because ${t} is continuous`}function $et(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function Bet(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${on(n)}}.`}function Pue(t){return`Invalid field type "${t}".`}function ket(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function Pet(t){return`Invalid aggregation operator "${t}".`}function Mue(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 Met(t){return`Position range does not support relative band size for ${t}.`}function CB(t,e){return`Dropping ${on(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const jet="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function z6(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function Uet(t){return`${t} encoding has no scale, so specified scale is ignored.`}function qet(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function Het(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function zet(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function Qet(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function bB(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function Get(t){return`The ${t} for range marks cannot be an expression`}function Wet(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 Vet(t,e){return`Specified orient "${t}" overridden with "${e}".`}function Yet(t){return`Cannot use the scale property "${t}" with non-color channel.`}function Ket(t){return`Cannot use the relative band size with ${t} scale.`}function Xet(t){return`Using unaggregated domain with raw field has no effect (${on(t)}).`}function Jet(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function Zet(t){return`Unaggregated domain is currently unsupported for log scale (${on(t)}).`}function ett(t){return`Cannot apply size to non-oriented mark "${t}".`}function ttt(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function ntt(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function jue(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function Uue(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function rtt(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${on(n)} and ${on(r)}). Using ${on(n)}.`}function itt(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${on(n)} and ${on(r)}). Using the union of the two domains.`}function stt(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 ott(t){return`Dropping sort property ${on(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const que="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",utt="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.",att="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.",ltt="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 ctt(t){return`Cannot stack "${t}" if there is already "${t}2".`}function ftt(t){return`Cannot stack non-linear scale (${t}).`}function xtt(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function Q6(t,e){return`Invalid ${t}: ${on(e)}.`}function dtt(t){return`Dropping day from datetime ${on(t)} as day cannot be combined with other units.`}function htt(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function ptt(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function gtt(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function Hue(t){return`1D error band does not support ${t}.`}function zue(t){return`Channel ${t} is required for "binned" bin.`}function mtt(t){return`Channel ${t} should not be used with "binned" bin.`}function ytt(t){return`Domain for ${t} is required for threshold scale.`}const Que=KV(YV);let Y1=Que;function Ett(t){return Y1=t,Y1}function Att(){return Y1=Que,Y1}function Te(...t){Y1.warn(...t)}function vtt(...t){Y1.debug(...t)}function Bd(t){if(t&&Qe(t)){for(const e of RB)if(e in t)return!0}return!1}const Gue=["january","february","march","april","may","june","july","august","september","october","november","december"],Stt=Gue.map(t=>t.substr(0,3)),Wue=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],_tt=Wue.map(t=>t.substr(0,3));function Ctt(t){if(fB(t)&&(t=+t),rn(t))return t>4&&Te(Q6("quarter",t)),t-1;throw new Error(Q6("quarter",t))}function btt(t){if(fB(t)&&(t=+t),rn(t))return t-1;{const e=t.toLowerCase(),n=Gue.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=Stt.indexOf(r);if(i!==-1)return i;throw new Error(Q6("month",t))}}function Ttt(t){if(fB(t)&&(t=+t),rn(t))return t%7;{const e=t.toLowerCase(),n=Wue.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=_tt.indexOf(r);if(i!==-1)return i;throw new Error(Q6("day",t))}}function TB(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(dtt(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?btt(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?Ctt(t.quarter):t.quarter;n.push(rn(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?Ttt(t.day):t.day;n.push(rn(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 jE(t){const n=TB(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function Rtt(t){const n=TB(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function Ott(t){const e=TB(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var Ntt=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 Vue={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},RB=be(Vue);function Dtt(t){return!!Vue[t]}function OB(t){return t.startsWith("utc")}function Ftt(t){return t.substr(3)}const wtt={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function NB(t){return RB.filter(e=>Yue(t,e))}function Yue(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 Ltt(t,e,{end:n}={end:!1}){const r=iue(e),i=OB(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of RB)Yue(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),Rtt(u)}function Kue(t){if(!t)return;const e=NB(t);return`timeUnitSpecifier(${on(e)}, ${on(wtt)})`}function Itt(t,e,n){if(!t)return;const r=Kue(t);return`${n||OB(t)?"utc":"time"}Format(${e}, ${r})`}function Hi(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}:{})),OB(e.unit)&&(e.utc=!0,e.unit=Ftt(e.unit)),e}function $tt(t){const e=Hi(t),{utc:n}=e,r=Ntt(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>En(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>En(`_${i}_${r[i]}`)).join("")}function Btt(t){return t==null?void 0:t.param}function DB(t){return t&&!!t.field&&t.equal!==void 0}function FB(t){return t&&!!t.field&&t.lt!==void 0}function wB(t){return t&&!!t.field&&t.lte!==void 0}function LB(t){return t&&!!t.field&&t.gt!==void 0}function IB(t){return t&&!!t.field&&t.gte!==void 0}function $B(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 BB(t){return t&&!!t.field&&(_e(t.oneOf)||_e(t.in))}function ktt(t){return t&&!!t.field&&t.valid!==void 0}function Xue(t){return BB(t)||DB(t)||$B(t)||FB(t)||LB(t)||wB(t)||IB(t)}function Ba(t,e){return uR(t,{timeUnit:e,wrapTime:!0})}function Ptt(t,e){return t.map(n=>Ba(n,e))}function Jue(t,e=!0){var n;const{field:r}=t,i=(n=Hi(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${Ltt(i,r)})`:$e(t,{expr:"datum"});if(DB(t))return`${s}===${Ba(t.equal,i)}`;if(FB(t)){const o=t.lt;return`${s}<${Ba(o,i)}`}else if(LB(t)){const o=t.gt;return`${s}>${Ba(o,i)}`}else if(wB(t)){const o=t.lte;return`${s}<=${Ba(o,i)}`}else if(IB(t)){const o=t.gte;return`${s}>=${Ba(o,i)}`}else{if(BB(t))return`indexof([${Ptt(t.oneOf,i).join(",")}], ${s}) !== -1`;if(ktt(t))return kB(s,t.valid);if($B(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+", ["+Ba(u,i)+", "+Ba(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Ba(u,i)}`),a!==null&&l.push(`${s} <= ${Ba(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${on(t)}`)}function kB(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function Mtt(t){var e;return Xue(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=Hi(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const UE={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function jtt(t){return t==="quantitative"||t==="temporal"}function Zue(t){return t==="ordinal"||t==="nominal"}const kd=UE.quantitative,PB=UE.ordinal,K1=UE.temporal,MB=UE.nominal,X1=UE.geojson;function Utt(t){if(t)switch(t=t.toLowerCase(),t){case"q":case kd:return"quantitative";case"t":case K1:return"temporal";case"o":case PB:return"ordinal";case"n":case MB:return"nominal";case X1:return"geojson"}}var qtt=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 As={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"},jB={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 Htt(t,e){const n=jB[t],r=jB[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const ztt={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 eae(t){return ztt[t]}const tae=new Set(["linear","log","pow","sqrt","symlog"]),nae=new Set([...tae,"time","utc"]);function rae(t){return tae.has(t)}const iae=new Set(["quantile","quantize","threshold"]),Qtt=new Set([...nae,...iae,"sequential","identity"]),Gtt=new Set(["ordinal","bin-ordinal","point","band"]);function Tr(t){return Gtt.has(t)}function Gs(t){return Qtt.has(t)}function mu(t){return nae.has(t)}function J1(t){return iae.has(t)}const Wtt={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 Vtt(t){return!je(t)&&!!t.name}function sae(t){return t==null?void 0:t.param}function Ytt(t){return t&&t.unionWith}function Ktt(t){return Qe(t)&&"field"in t}const Xtt=qtt({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"]),Jtt=be(Xtt);function UB(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 mu(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return mu(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 mu(t);case"nice":return mu(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return Gs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function oae(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return W1(t)?void 0:Yet(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 Ztt(t,e){return Tt([PB,MB],e)?t===void 0||Tr(t):e===K1?Tt([As.TIME,As.UTC,void 0],t):e===kd?rae(t)||J1(t)||t===void 0:!0}function ent(t,e,n=!1){if(!Qc(t))return!1;switch(t){case An:case br:case Mc:case G1:case pu:case Da:return mu(e)||e==="band"?!0:e==="point"?!n:!1;case s0:case qc:case o0:case jc:case Uc:case Fd:return mu(e)||J1(e)||Tt(["band","point","ordinal"],e);case gs:case La:case Ia:return e!=="band";case Hc:case ms:return e==="ordinal"||J1(e)}}const zi={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"},uae=zi.arc,G6=zi.area,W6=zi.bar,tnt=zi.image,V6=zi.line,Y6=zi.point,nnt=zi.rect,K6=zi.rule,aae=zi.text,qB=zi.tick,rnt=zi.trail,HB=zi.circle,zB=zi.square,lae=zi.geoshape;function Yc(t){return["line","area","trail"].includes(t)}function cae(t){return["rect","bar","image","arc"].includes(t)}const int=new Set(be(zi));function ka(t){return t.type}const snt=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],ont=["fill","fillOpacity"],unt=[...snt,...ont],fae=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),ant={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},lnt={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},xae=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 Z1(t){return t&&t.band!=null}const cnt={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},dae=5,fnt={binSpacing:1,continuousBandSize:dae,timeUnitBandPosition:.5},xnt={binSpacing:0,continuousBandSize:dae,timeUnitBandPosition:.5},dnt={thickness:1};function hnt(t){return ka(t)?t.type:t}function QB(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=WB(t);return Le(n)&&!mue(n.aggregate)&&i&&mu(i.get("type"))?pnt({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function pnt({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return Yc(n.type)?r:kt("invalid",n,i)===null?[gnt(t,e),r]:r}function gnt(t,e){const n=GB(t,!0),i=Ld(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function GB(t,e=!0){return kB(je(t)?t:$e(t,{expr:"datum"}),!e)}function mnt(t){const{datum:e}=t;return Bd(e)?jE(e):`${on(e)}`}function Pd(t,e,n,r){const i={};if(e&&(i.scale=e),Ma(t)){const{datum:s}=t;Bd(s)?i.signal=jE(s):Ye(s)?i.signal=s.signal:ME(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 X6({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 WB({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(No(e)){c??(c=bae({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Jt(h)||c&&p&&m===K1)return u!=null&&u.impute?Pd(e,s,{binSuffix:"mid"},{offset:a}):c&&!Tr(x)?X6({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Pd(e,s,QE(e,t)?{binSuffix:"range"}:{},{offset:a});if(qi(h)){if(Le(n))return X6({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(zue(t===An?hu:Na))}}return Pd(e,s,Tr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(yu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},qE(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function qE(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:un(e)}function Md(t){return t&&t!=="number"&&t!=="time"}function hae(t,e,n){return`${t}(${e}${n?`, ${on(n)}`:""})`}const ynt=" – ";function VB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Md(n))return YB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=pae(t,r,i);if(np(t)){const l=Ant(a,Le(t)?(o=Hi(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,jd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===As.UTC);return l?{signal:l}:void 0}if(e=yae(ZB(t),e,s),Le(t)&&Jt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:J6(a,l,e,n,s)}}else return e||ZB(t)==="quantitative"?{signal:`${Eae(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function pae(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):mnt(t)}function YB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=pae(t,r,i)),Le(t)&&Jt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:J6(o,u,e,n,s)}}return{signal:hae(n,o,e)}}function gae(t,e,n,r,i,s){var o;if(!Md(r)){if(np(t)){const u=Le(t)?(o=Hi(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return Ent(n,u,i,s)}return yae(e,n,i)}}function mae(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(np(e)&&n!=="time"&&n!=="utc")return"time"}function yae(t,e,n){if(je(e))return e;if(t===kd)return n.numberFormat}function Ent(t,e,n,r){return t||(e?{signal:Kue(e)}:r?void 0:n.timeFormat)}function Eae(t,e){return`format(${t}, "${e||""}")`}function Aae(t,e,n,r){var i;return Md(n)?hae(n,t,e):Eae(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function J6(t,e,n,r,i){const s=Aae(t,n,r,i),o=Aae(e,n,r,i);return`${kB(t,!1)} ? "null" : ${s} + "${ynt}" + ${o}`}function Ant(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):Itt(e,t,i)}const Z6="min",vnt={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 vae(t){return t in vnt}function Sae(t){return!!t&&!!t.encoding}function Pa(t){return!!t&&(t.op==="count"||!!t.field)}function _ae(t){return!!t&&_e(t)}function HE(t){return"row"in t||"column"in t}function KB(t){return!!t&&"header"in t}function eR(t){return"facet"in t}var XB=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 Snt(t){return t.param}function _nt(t){return t&&!je(t)&&"repeat"in t}function Cae(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 JB(t){return"sort"in t}function bae({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 cae(n.type)?0:$d("timeUnitBandPosition",n,r);if(Jt(s))return .5}}function Tae({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=ys(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:$d("timeUnitBandSize",r,i)};if(Jt(h)&&!Tr(s))return{band:1}}if(cae(r.type))return s?Tr(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 Rae(t,e,n,r){return Jt(t.bin)||t.timeUnit&&No(t)&&t.type==="temporal"?bae({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function tR(t){return t&&"condition"in t}function nR(t){const e=t&&t.condition;return!!e&&!_e(e)&&Le(e)}function zE(t){const e=t&&t.condition;return!!e&&!_e(e)&&it(e)}function Cnt(t){const e=t&&t.condition;return!!e&&(_e(e)||yu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function ZB(t){return t&&t.type}function Ma(t){return t&&"datum"in t}function ja(t){return No(t)&&!rR(t)||ek(t)}function ek(t){return Ma(t)&&rn(t.datum)}function it(t){return Le(t)||Ma(t)}function No(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function yu(t){return t&&"value"in t&&"value"in t}function jd(t){return t&&("scale"in t||"sort"in t)}function tk(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function Oae(t){return t&&"legend"in t}function Nae(t){return t&&("format"in t||"formatType"in t)}function bnt(t){return To(t,["legend","axis","header","scale"])}function Tnt(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(Ont(t))s=IZe("count");else{let l;if(!e.nofn)if(Tnt(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Jt(c)?(l=yue(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?Gc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):a0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=$tt(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?sue(s):e.expr?DZe(s,e.expr)+a:du(s)+a}function rR(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(Pue(t.type))}function Rnt(t){var e;return jd(t)&&J1((e=t.scale)===null||e===void 0?void 0:e.type)}function Ont(t){return t.aggregate==="count"}function Nnt(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Jt(i))return`${r} (binned)`;if(s){const u=(n=Hi(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${NB(u).join("-")})`}else if(o)return Gc(o)?`${r} for max ${o.argmax}`:a0(o)?`${r} for min ${o.argmin}`:`${L6(o)} of ${r}`;return r}function Dnt(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(Gc(e))return`${i} for argmax(${e.argmax})`;if(a0(e))return`${i} for argmin(${e.argmin})`;const s=Hi(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Jt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const Dae=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return Dnt(t);default:return Nnt(t,e)}};let Fae=Dae;function wae(t){Fae=t}function Fnt(){wae(Dae)}function ep(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=nk(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?rk(u,e):void 0;return n?or(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function nk(t){if(tk(t)&&t.axis)return t.axis;if(Oae(t)&&t.legend)return t.legend;if(KB(t)&&t.header)return t.header}function rk(t,e){return Fae(t,e)}function iR(t){var e;if(Nae(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=nk(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function wnt(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(JB(t)&&_e(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!Gc(r)&&!a0(r))return"quantitative";if(jd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(jB[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ua(t){if(Le(t))return t;if(nR(t))return t.condition}function ur(t){if(it(t))return t;if(zE(t))return t.condition}function Lae(t,e,n,r={}){if(je(t)||rn(t)||z2(t)){const i=je(t)?"string":rn(t)?"number":"boolean";return Te(Bet(e,i,t)),{value:t}}return it(t)?sR(t,e,n,r):zE(t)?Object.assign(Object.assign({},t),{condition:sR(t.condition,e,n,r)}):t}function sR(t,e,n,r){if(Nae(t)){const{format:i,formatType:s}=t,o=XB(t,["format","formatType"]);if(Md(s)&&!n.customFormatTypes)return Te(kue(e)),sR(o,e,n,r)}else{const i=tk(t)?"axis":Oae(t)?"legend":KB(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=XB(s,["format","formatType"]);if(Md(u)&&!n.customFormatTypes)return Te(kue(e)),sR(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?ik(t,e,r):Lnt(t)}function Lnt(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=rn(n)?"quantitative":je(n)?"nominal":Bd(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function ik(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!EB(r)&&!Gc(r)&&!a0(r)&&(Te(Pet(r)),delete u.aggregate),i&&(u.timeUnit=Hi(i)),o&&(u.field=`${o}`),Jt(s)&&(u.bin=oR(s,e)),qi(s)&&!Mr(e)&&Te(mtt(e)),No(u)){const{type:a}=u,l=Utt(a);a!==l&&(u.type=l),a!=="quantitative"&&mue(r)&&(Te(ket(a,r)),u.type="quantitative")}else if(!cue(e)){const a=wnt(u,e);u.type=a}if(No(u)){const{compatible:a,warning:l}=Int(u,e)||{};a===!1&&Te(l)}if(JB(u)&&je(u.sort)){const{sort:a}=u;if(vae(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&vae(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(KB(u)){const{header:a}=u;if(a){const{orient:l}=a,c=XB(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 oR(t,e){return z2(t)?{maxbins:Eue(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:Eue(e)}):t}const tp={compatible:!0};function Int(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 t0:case n0:case $6:return rR(t)?tp:{compatible:!1,warning:Het(e)};case An:case br:case Mc:case G1:case gs:case La:case Ia:case BE:case PE:case B6:case wd:case k6:case P6:case Fd:case pu:case Da:case M6:return tp;case wa:case Ro:case Fa:case gu:return n!==kd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:tp;case o0:case jc:case Uc:case qc:case s0:case i0:case r0:case hu:case Na:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:tp;case ms:case Hc:return!rR(t)&&!Rnt(t)?{compatible:!1,warning:zet(e)}:tp;case kE:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:tp}}function np(t){const{formatType:e}=iR(t);return e==="time"||!e&&$nt(t)}function $nt(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function uR(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=Hi(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return ME(t)?a=t.expr:Ye(t)?a=t.signal:Bd(t)?(u=!0,a=jE(t)):(je(t)||rn(t))&&u&&(a=`datetime(${on(t)})`,Dtt(o)&&(rn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=jE({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:on(t)}function Iae(t,e){const{type:n}=t;return e.map(r=>{const i=uR(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function QE(t,e){return Jt(t.bin)?Qc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const $ae={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 GE(t){return t&&t.condition}const Bae=["domain","grid","labels","ticks","title"],Bnt={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"},kae={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},knt=Object.assign(Object.assign({},kae),{style:1,labelExpr:1,encoding:1});function Pae(t){return!!knt[t]}const Mae=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 f0(t){return"mark"in t}class aR{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return f0(e)?hnt(e.mark)===this.name:!1}}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 Ud(t,e){const n=t&&t[e];return n?_e(n)?z1(n,r=>!!r.field):Le(n)||nR(n):!1}function jae(t,e){const n=t&&t[e];return n?_e(n)?z1(n,r=>!!r.field):Le(n)||Ma(n)||zE(n):!1}function sk(t,e){if(Mr(e)){const n=t[e];if((Le(n)||Ma(n))&&Zue(n.type)){const r=fue(e);return jae(t,r)}}return!1}function ok(t){return z1(jZe,e=>{if(Ud(t,e)){const n=t[e];if(_e(n))return z1(n,r=>!!r.aggregate);{const r=Ua(n);return r&&!!r.aggregate}}return!1})}function Uae(t,e){const n=[],r=[],i=[],s=[],o={};return uk(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=Pnt(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=nk(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:ep(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(Gc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):a0(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),No(u)&&Jt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),QE(u,a)&&n.push($e(u,{binSuffix:"range"})),Mr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",cue(a)||(y.type=kd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=No(u)&&u.type!==K1&&"time";E&&(a===BE||a===wd?y.formatType=E:KZe(a)?y.legend=Object.assign({formatType:E},y.legend):Mr(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 Mnt(t,e,n){const r=JZe(e,n);if(r){if(r==="binned"){const i=t[e===hu?An:br];return!!(Le(i)&&Le(t[e])&&qi(i.bin))}}else return!1;return!0}function jnt(t,e,n,r){const i={};for(const s of be(t))lue(s)||Te(qet(s));for(let s of GZe){if(!t[s])continue;const o=t[s];if(V1(s)){const u=xue(s),a=i[u];if(Le(a)){if(jtt(a.type)&&Le(o)){Te(Iet(u));continue}}else s=u,Te($et(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(Let),s=pu),!Mnt(t,s,e)){Te(z6(s,e));continue}if(s===s0&&e==="line"){const u=Ua(t[s]);if(u!=null&&u.aggregate){Te(jet);continue}}if(s===gs&&(n?"fill"in t:"stroke"in t)){Te(Mue("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===PE||s===kE&&!_e(o)&&!yu(o)||s===wd&&_e(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(ik(a,s)):Te(CB(a,s)),u),[]));else{if(s===wd&&o===null)i[s]=null;else if(!Le(o)&&!Ma(o)&&!yu(o)&&!tR(o)&&!Ye(o)){Te(CB(o,s));continue}i[s]=Lae(o,s,r)}}return i}function lR(t,e){const n={};for(const r of be(t)){const i=Lae(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function Unt(t){const e=[];for(const n of be(t))if(Ud(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):nR(s)&&e.push(s.condition)}return e}function uk(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 qnt(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 qae(t,e){return be(e).reduce((n,r)=>{switch(r){case An:case br:case k6:case M6:case P6:case hu:case Na:case Mc:case G1:case pu:case i0:case Da:case r0:case Fa:case wa:case gu:case Ro:case BE:case ms:case Fd:case wd:return n;case kE:if(t==="line"||t==="trail")return n;case PE:case B6:{const i=e[r];if(_e(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case s0:if(t==="trail")return n;case gs:case La:case Ia:case o0:case jc:case Uc:case Hc:case qc:{const i=Ua(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var Hae=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 Hnt(t){const{tooltip:e}=t,n=Hae(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 ak(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 ${lk(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=Unt(n).map(bnt);return{tooltip:[...i,...e0(s,bt)]}}function lk(t){const{title:e,field:n}=t;return or(e,n)}function ck(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=lk(n);return zae(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 zae(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}:{}),ka(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),z2(t[e])?{}:t[e])})]:[]}function Qae(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:cR(s,n),continuousAxisChannelDef2:cR(o,n),continuousAxisChannelDefError:cR(u,n),continuousAxisChannelDefError2:cR(a,n),continuousAxis:i}}function cR(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=Hae(t,["aggregate"]);return n!==e&&Te(gtt(n,e)),r}else return t}function Gae(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(ka(n)&&n.orient)return n.orient;if(ja(i)){if(ja(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 np(s)&&!np(i)?"horizontal":"vertical"}return"horizontal"}else{if(ja(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var fR=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 xR="boxplot",znt=["box","median","outliers","rule","ticks"],Qnt=new aR(xR,Vae);function Wae(t){return rn(t)?"tukey":t}function Vae(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=fR(t,["mark","encoding","params","projection"]),l=ka(i)?i:{type:i};o&&Te(Iue("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=Wae(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:v,ticksOrient:S,boxOrient:_,customTooltipWithoutAggregatedField:C}=Gnt(t,c,e),{color:b,size:O}=v,R=fR(v,["color","size"]),I=V=>ck(l,y,g,V,e.boxplot),M=I(R),z=I(v),Y=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=ak([{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,v),oe={type:"tick",color:"black",opacity:1,orient:S,invalid:null,aria:!1},de=x==="min-max"?Q:ak([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,v),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:S,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:Yae(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=fR(R,["tooltip"]),{scale:T,axis:N}=g,$=lk(g),q=To(N,["title"]),L=zae(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}:{}),Vt(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 Yae(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function Gnt(t,e,n){const r=Gae(t,xR),{continuousAxisChannelDef:i,continuousAxis:s}=Qae(t,r,xR),o=i.field,u=Wae(e),a=[...Yae(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=fR(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=Hnt(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=Uae(p,n),v=r==="vertical"?"horizontal":"vertical",S=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:v,boxOrient:S,customTooltipWithoutAggregatedField:h}}var Kae=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 fk="errorbar",Wnt=["ticks","rule"],Vnt=new aR(fk,Xae);function Xae(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=Jae(t,fk,e);delete s.size;const c=ck(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 Ynt(t,e){const{encoding:n}=t;if(Knt(n))return{orient:Gae(t,e),inputType:"raw"};const r=Xnt(n),i=Jnt(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(ja(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(ja(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(ja(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(ja(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 Knt(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 Xnt(t){return it(t.x2)||it(t.y2)}function Jnt(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function Jae(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=Kae(t,["mark","encoding","params","projection"]),l=ka(i)?i:{type:i};o&&Te(Iue(e));const{orient:c,inputType:f}=Ynt(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=Qae(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:v}=Znt(l,x,h,p,m,f,e,n),S=s,_=g;S[_];const C=g==="x"?"x2":"y2";S[C];const b=g==="x"?"xError":"yError";S[b];const O=g==="x"?"xError2":"yError2";S[O];const R=Kae(S,[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}=Uae(R,n),oe=[...z,...y],de=f!=="raw"?[]:Y,ae=ak(A,x,Q,v);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 Znt(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(ptt(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:L6(h)},{fieldPrefix:"upper_",titlePrefix:Zae(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:Zae(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:ep({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:ep({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:ep({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(htt(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:Q1(Q1(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function Zae(t,e,n){return`${L6(t)} ${n} ${e}`}const xk="errorband",ert=["band","borders"],trt=new aR(xk,ele);function ele(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=Jae(t,xk,e),l=o,c=ck(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(Hue("interpolate")):l.tension&&Te(Hue("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 tle={};function dk(t,e,n){const r=new aR(t,e);tle[t]={normalizer:r,parts:n}}function nrt(){return be(tle)}dk(xR,Vae,znt),dk(fk,Xae,Wnt),dk(xk,ele,ert);const rrt=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],nle={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"},rle={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"},irt=be(nle),srt=be(rle),ile=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),sle=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],ort={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},urt={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},WE="_vgsid_",art={point:{on:"click",fields:[WE],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 hk(t){return!!t&&(t==="legend"||!!t.legend)}function pk(t){return hk(t)&&Qe(t)}function gk(t){return!!t.select}var lrt=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 ole(t){const e=[];for(const n of t||[]){if(gk(n))continue;const{expr:r,bind:i}=n,s=lrt(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 crt(t){return dR(t)||yk(t)||mk(t)}function mk(t){return"concat"in t}function dR(t){return"vconcat"in t}function yk(t){return"hconcat"in t}function ule({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function qa(t){return Qe(t)&&t.step!==void 0}function ale(t){return t.view||t.width||t.height}const lle=20,frt=be({align:1,bounds:1,center:1,columns:1,spacing:1});function xrt(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&&(eR(t)&&!HE(t.facet)||mk(t))&&(o.columns=a),dR(t)&&(o.columns=1);for(const l of frt)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=rn(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 drt=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 Ek(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function hR(t,e){const n=pR(t,e);return qa(n)?n.step:cle}function pR(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return or(r,{step:t.step})}const cle=20,hrt={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:cle},mark:lnt,arc:{},area:{},bar:fnt,circle:{},geoshape:{},image:{},line:{},point:{},rect:xnt,rule:{color:"black"},square:{},text:{color:"black"},tick:dnt,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:Wtt,projection:{},legend:ort,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:art,style:{},title:{},facet:{spacing:lle},concat:{spacing:lle}},x0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],fle={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},xle={blue:x0[0],orange:x0[1],red:x0[2],teal:x0[3],green:x0[4],yellow:x0[5],purple:x0[6],pink:x0[7],brown:x0[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 prt(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},xle),t):xle}],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 grt(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},fle),t):fle}],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 mrt(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function dle(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=GE(i)?vue(i):Qs(i)}return n}function yrt(t){const e=be(t),n={};for(const r of e)n[r]=dle(t[r]);return n}const Ert=[...xae,...Mae,...ile,"background","padding","legend","lineBreak","scale","style","title","view"];function hle(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=drt(t,["color","font","fontSize","selection"]),o=KF({},ot(hrt),n?mrt(n):{},e?prt(e):{},r?grt(r):{},s||{});i&&hC(o,"selection",i,!0);const u=To(o,Ert);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=Qs(o[a]));for(const a of xae)o[a]&&(u[a]=Es(o[a]));for(const a of Mae)o[a]&&(u[a]=dle(o[a]));for(const a of ile)o[a]&&(u[a]=Es(o[a]));return o.legend&&(u.legend=Es(o.legend)),o.scale&&(u.scale=Es(o.scale)),o.style&&(u.style=yrt(o.style)),o.title&&(u.title=Es(o.title)),o.view&&(u.view=Es(o.view)),u}const Art=new Set(["view",...int]),vrt=["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"],Srt=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},ant);function _rt(t){t=ot(t);for(const e of vrt)delete t[e];if(t.axis)for(const e in t.axis)GE(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of rrt)delete t.legend[e];if(t.mark){for(const e of fae)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(ole(t.params)),delete t.params);for(const e of Art){for(const r of fae)delete t[e][r];const n=Srt[e];if(n)for(const r of n)delete t[e][r];brt(t,e)}for(const e of nrt())delete t[e];Crt(t);for(const e in t)Qe(t[e])&&Vt(t[e])&&delete t[e];return Vt(t)?void 0:t}function Crt(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=Aue(t.title);Vt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Vt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Vt(r)?delete t.title:t.title=r}function brt(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]);Vt(s)||(t.style[n??e]=s),r||delete t[e]}function gR(t){return"layer"in t}function Trt(t){return"repeat"in t}function Rrt(t){return!_e(t.repeat)&&t.repeat.layer}var Ort=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 Ak{map(e,n){return eR(e)?this.mapFacet(e,n):Trt(e)?this.mapRepeat(e,n):yk(e)?this.mapHConcat(e,n):dR(e)?this.mapVConcat(e,n):mk(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(gR(e))return this.mapLayer(e,n);if(f0(e))return this.mapUnit(e,n);throw new Error(SB(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=Ort(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 Nrt={zero:1,center:1,normalize:1};function Drt(t){return t in Nrt}const Frt=new Set([uae,W6,G6,K6,Y6,HB,zB,V6,aae,qB]),wrt=new Set([W6,G6,uae]);function rp(t){return Le(t)&&ZB(t)==="quantitative"&&!t.bin}function ple(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(rp(s)&&rp(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(rp(s))return e;if(rp(o))return i}else{if(rp(s))return e;if(rp(o))return i}}function Lrt(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function gle(t,e,n={}){var r,i;const s=ka(t)?t.type:t;if(!Frt.has(s))return null;const o=ple(e,"x")||ple(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=Lrt(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=WZe.reduce((p,m)=>{if(m!=="tooltip"&&Ud(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ua(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?z2(u.stack)?h=u.stack?"zero":null:h=u.stack:wrt.has(s)&&(h="zero"),!h||!Drt(h)||ok(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)!==As.LINEAR){if(n.disallowNonLinearStack)return null;Te(ftt(u.scale.type))}return it(e[u0(o)])?(u.stack!==void 0&&Te(ctt(o)),null):(Le(u)&&u.aggregate&&!set.has(u.aggregate)&&Te(xtt(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:Yc(s),stackBy:x,offset:h})}var mle=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 Irt(t){const e=mle(t,["point","line"]);return be(e).length>1?e:e.type}function $rt(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:To(t[e],["point","line"])}));return t}function vk(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 yle(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 Brt{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(f0(e)){const{mark:r,encoding:i}=e,s=ka(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!vk(s,n[s.type],i);case"area":return!!vk(s,n[s.type],i)||!!yle(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=mle(e,["params","projection","mark","encoding"]),c=lR(a,i),f=ka(u)?u:{type:u},x=vk(f,i[f.type],c),h=f.type==="area"&&yle(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:Irt(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:To(c,["shape"])})],m=gle(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"},LE(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},LE(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:$rt(i)}))}}var krt=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 Prt(t,e){return e?HE(t)?Sle(t,e):Ele(t,e):t}function Sk(t,e){return e?Sle(t,e):t}function _k(t,e,n){const r=e[t];if(_nt(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(Tet(r.repeat));return}return e}function Ele(t,e){if(t=_k("field",t,e),t!==void 0){if(t===null)return null;if(JB(t)&&Pa(t.sort)){const n=_k("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function Ale(t,e){if(Le(t))return Ele(t,e);{const n=_k("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function vle(t,e){if(it(t)){const n=Ale(t,e);if(n)return n;if(tR(t))return{condition:t.condition}}else{if(zE(t)){const n=Ale(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):krt(t,["condition"])}return t}}function Sle(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=>vle(s,e)).filter(s=>s);else{const s=vle(i,e);s!==void 0&&(n[r]=s)}}return n}class Mrt{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(f0(e)){const{encoding:n,mark:r}=e;if(r==="line"||ka(r)&&r.type==="line")for(const i of zZe){const s=Ld(i),o=n[s];if(n[i]&&(Le(o)&&!qi(o.bin)||Ma(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(Wet(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var Kc=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 jrt extends Ak{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[Qnt,Vnt,trt,new Brt,new Mrt]}map(e,n){if(f0(e)){const r=Ud(e.encoding,t0),i=Ud(e.encoding,n0),s=Ud(e.encoding,$6);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=Sk(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 Rrt(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=Kc(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_${En(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=Kc(e,["repeat","spec","data"]);!_e(i)&&e.columns&&(e=To(e,["columns"]),Te($ue("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)?`${En(m)}`:(i.row?`row_${En(g)}`:"")+(i.column?`column_${En(y)}`:"")),v=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));v.name=A,a.push(To(v,["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 HE(r)&&e.columns&&(e=To(e,["columns"]),Te($ue("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=Cle({parentProjection:o,projection:i}),l=_le({parentEncoding:s,encoding:Sk(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=Kc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=Kc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=Sk(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(Qet([...i?[t0]:[],...s?[n0]:[]]));const u={},a={};for(const l of[t0,n0]){const c=e[l];if(c){const f=Kc(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=Kc(o,["align","center","spacing","columns"]);return{facetMapping:Prt(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=Kc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=Kc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:_le({parentEncoding:r,encoding:o,layer:!0}),parentProjection:Cle({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function _le({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 zE(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||yu(u)||Ye(u)||it(u)||_e(u))&&(r[s]=u)}}else r=e;return!r||Vt(r)?void 0:r}function Cle(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(wet({parentProjection:e,projection:n})),n??e}function Ck(t){return"filter"in t}function Urt(t){return(t==null?void 0:t.stop)!==void 0}function ble(t){return"lookup"in t}function qrt(t){return"data"in t}function Hrt(t){return"param"in t}function zrt(t){return"pivot"in t}function Qrt(t){return"density"in t}function Grt(t){return"quantile"in t}function Wrt(t){return"regression"in t}function Vrt(t){return"loess"in t}function Yrt(t){return"sample"in t}function Krt(t){return"window"in t}function Xrt(t){return"joinaggregate"in t}function Jrt(t){return"flatten"in t}function Zrt(t){return"calculate"in t}function Tle(t){return"bin"in t}function eit(t){return"impute"in t}function tit(t){return"timeUnit"in t}function nit(t){return"aggregate"in t}function rit(t){return"stack"in t}function iit(t){return"fold"in t}function sit(t){return t.map(e=>Ck(e)?{filter:H1(e.filter,Mtt)}:e)}var Xc=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 oit extends Ak{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=Rle(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=Rle(e,n),e.encoding){const r={};for(const[i,s]of Dd(e.encoding))r[i]=Ole(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=Xc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Dd(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=Xc(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 Ui((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function Rle(t,e){const{transform:n}=t,r=Xc(t,["transform"]);if(n){const i=n.map(s=>{if(Ck(s))return{filter:bk(s,e)};if(Tle(s)&&Id(s.bin))return Object.assign(Object.assign({},s),{bin:Nle(s.bin)});if(ble(s)){const o=s.from,{selection:u}=o,a=Xc(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 Ole(t,e){var n,r;const i=ot(t);if(Le(i)&&Id(i.bin)&&(i.bin=Nle(i.bin)),jd(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=Xc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(tR(i))if(_e(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=Xc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:bk(s,e)})});else{const s=Ole(i.condition,e),{selection:o,param:u,test:a}=s,l=Xc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:bk(i.condition,e)})}return i}function Nle(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=Xc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function bk(t,e){const n=r=>H1(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):H1(t.test||t.filter,r=>r.selection?n(r.selection):r)}class Tk extends Ak{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!f0(e)){const s=[];for(const o of e.params)gk(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,Dle(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=Tk.prototype[t];Tk.prototype[t]=function(n,r){return e.call(this,n,Dle(n,r))}}function Dle(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 uit(t,e){e===void 0&&(e=hle(t.config));const n=fit(t,e),{width:r,height:i}=t,s=xit(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const ait=new jrt,lit=new oit,cit=new Tk;function fit(t,e={}){const n={config:e};return cit.map(ait.map(lit.map(t,n),n),n)}function Fle(t){return je(t)?{type:t}:t??{}}function xit(t,e,n){let{width:r,height:i}=e;const s=f0(t)||gR(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(Due("width")),r=void 0),i=="container"&&(Te(Due("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?Fle(n.autosize):{}),Fle(t.autosize));if(u.type==="fit"&&!s&&(Te(pet),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(Fue("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(Fue("height")),!Zl(u,{type:"pad"}))return u}function dit(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function hit(t){return t?`fit-${j6(t)}`:"fit"}const pit=["background","padding"];function wle(t,e){const n={};for(const r of pit)t&&t[r]!==void 0&&(n[r]=Qs(t[r]));return e&&(n.params=t.params),n}class d0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new d0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return or(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 Ha(t){return{explicit:!0,value:t}}function Ws(t){return{explicit:!1,value:t}}function Lle(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:mR(e,n,r,i)}}function mR(t,e,n,r){return t.explicit&&e.explicit&&Te(rtt(n,r,t.value,e.value)),t}function Jc(t,e,n,r,i=mR){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Zl(t.value,e.value)?t:i(t,e,n,r)}class git extends d0{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 ip(t){return"url"in t}function VE(t){return"values"in t}function Ile(t){return"name"in t&&!ip(t)&&!VE(t)&&!Zc(t)}function Zc(t){return t&&($le(t)||Ble(t)||Rk(t))}function $le(t){return"sequence"in t}function Ble(t){return"sphere"in t}function Rk(t){return"graticule"in t}var Zt;(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"})(Zt||(Zt={}));var mit=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 sp(t,e=!0,n=_i){if(_e(t)){const r=t.map(i=>sp(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Bd(t))return n(e?jE(t):Ott(t));return e?n(on(t)):t}function yit(t,e){var n;for(const r of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${nf}, ${r.resolve==="global"?"true":`{unit: ${ap(t)}}`}`;for(const o of SR)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+Xit,on:[{events:{signal:r.name+nf},update:`modify(${Fe(r.name+qd)}, ${s})`}]})}return Ok(e)}function Eit(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:Sd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return Ok(e)}function Ait(t,e){var n;let r=!1;for(const i of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+qd);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:`${s0e}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of SR)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"}]}),Ok(e)}function vit(t,e){var n;const r=[...e];for(const i of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+qd};if(i.init){const u=i.project.items.map(a=>mit(a,["signals"]));s.values=i.init.map(a=>({unit:ap(t,{escape:!1}),fields:u,values:sp(a,!1)}))}r.filter(u=>u.name===i.name+qd).length||r.push(s)}return r}function kle(t,e){var n;for(const r of Ui((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of SR)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function Sit(t,e){for(const n of t.children)Qn(n)&&(e=kle(n,e));return e}function _it(t,e,n,r){const i=c0e(t,e.param,e);return{signal:Gs(n.get("type"))&&_e(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function Ok(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class qt{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(Net);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 qt{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 ${LZe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var Ple=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 za extends qt{constructor(e,n){super(e),this.formula=n}clone(){return new za(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 Vt(r)?null:new za(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=Ple(r,["timeUnit"]),o=Hi(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new za(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 Dd(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Ui(this.formula).map(e=>e.as))}dependentFields(){return new Set(Ui(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Ui(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=Hi(s),{unit:u,utc:a}=o,l=Ple(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:du(r),type:"timeunit"},u?{units:NB(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var Cit=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 YE="_tuple_fields";class bit{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const Tit={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new bit,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=En(`${i}_${y}`);for(let A=1;a.has(E);A++)E=En(`${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))HZe(g)?(p||(p=[])).push(g):c==="interval"?(Te(bet),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(get(m,g.aggregate));continue}else if(!y){Te(Lue(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 v=t.getScaleComponent(m).get("type");Gs(v)&&(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(Lue(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))),Vt(u)||(s.timeUnit=new za(null,u))},signals:(t,e,n)=>{const r=e.name+YE;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=Cit(s,["signals","hasLegend"]);return o.field=du(o.field),o})})}},ef={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(!Qc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!Gs(o)){Te(Eet);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||Dk(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(s0e)>=0)i.update=`{${r.map(o=>`${Fe(du(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(du(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&&!Dk(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 Nk(t,e){return`domain(${Fe(t.scaleName(e))})`}function Dk(t){var e;return t.parent&&pp(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:Dk(t.parent.parent))}var Rit=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 op="_brush",Fk="_scale_trigger",Oit={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+YE,s=ef.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+op)}`;Mle(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!==An&&x!==br){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=Nit(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=Gs(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+Fk,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+Fk} : {}`}]});const l=`unit: ${ap(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+nf},o?{init:`{${l}: ${sp(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+qd)})`;if(ef.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 === ${ap(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=Rit(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+op}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+op,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 Nit(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=ef.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===An?"width":"height").signal,h=`${i}(unit)`,p=Mle(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+Fk},update:Gs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:sp(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:sp(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function Mle(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 Dit={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+YE,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: ${ap(t)}, fields: ${s}, values`,c=e.events,f=Ui((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+op):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+nf,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function up(t,e,n,r){const i=tR(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(Snt(a)){const{param:c,empty:f}=a,x=l0e(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=_R(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function wk(t,e="text"){const n=t.encoding[e];return up(t,n,e,r=>yR(r,t.config))}function yR(t,e,n="datum"){if(t){if(yu(t))return un(t.value);if(it(t)){const{format:r,formatType:i}=iR(t);return VB({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function jle(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(_e(o))return{tooltip:qle({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return up(t,o,"tooltip",a=>{const l=yR(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"?qle(n,s,i,e):{signal:u}})}}function Ule(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=Ld(c),x=No(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||rk(x,n),p=Pe(h).join(", ");let m;if(Mr(c)){const g=c==="x"?"x2":"y2",y=Ua(t[g]);if(qi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:v,formatType:S}=iR(x);m=J6(E,A,v,S,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=iR(x);m=VB({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=yR(x,n,s).signal),o.push({channel:c,key:p,value:m})}uk(t,(l,c)=>{Le(l)?u(l,c):nR(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 qle(t,e,n,{reactiveGeom:r}={}){const i=Ule(t,e,n,{reactiveGeom:r}),s=Dd(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function Fit(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),wit(t)),Lit(t))}function wit(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 xet?{}:{ariaRoleDescription:{value:e}}}function Lit(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return up(t,s,"description",a=>yR(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:un(o)};if(r.aria===!1)return{};const u=Ule(e,i,r);if(!Vt(u))return{description:{signal:Dd(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function Rr(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=un(a)));const l=i[t];return up(e,l,o??t,c=>WB({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function Hle(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:un(x)}:{}),h?{stroke:un(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(Mue("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),Rr("color",t,{vgChannel:p,defaultValue:c?x:h})),Rr("fill",t,{defaultValue:u.fill?x:void 0})),Rr("stroke",t,{defaultValue:u.stroke?h:void 0}))}function Iit(t){const{encoding:e,mark:n}=t,r=e.order;return!Yc(n)&&yu(r)?up(t,r,"zindex",i=>un(i.value)):{}}function KE({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:WB({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:un(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ci(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[u0(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=KE({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=Lk({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&Mr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:$it({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 $it(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 X6({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Pd(n,r,{suffix:"end"},{offset:s})}return QB(t)}function Lk({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=Ld(n),a=zc(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return qE(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([As.LOG,As.TIME,As.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[ys(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const Bit={left:"x",center:"xc",right:"x2"},kit={top:"y",middle:"yc",bottom:"y2"};function zle(t,e,n,r="middle"){if(t==="radius"||t==="theta")return zc(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(Get(i)),o=void 0):o=s,t==="x"?Bit[o||(r==="top"?"left":"center")]:kit[o||r]}function ER(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?Qle(t,e,{defaultPos:n,defaultPos2:r}):ci(t,e,{defaultPos:n})}function Qle(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=u0(t),u=ys(t),a=Pit(e,r,o),l=a[u]?zle(t,i,s):zc(t);return Object.assign(Object.assign({},ci(t,e,{defaultPos:n,vgChannel:l})),a)}function Pit(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=Ld(n),l=ys(n),c=zc(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?KE({channel:n,markDef:s,encoding:r,model:t}):KE({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=ys(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=Mit({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}:AR(n,s)||AR(n,{[n]:H6(n,s,u.style),[l]:H6(l,s,u.style)})||AR(n,u[i])||AR(n,u.mark)||{[c]:Lk({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function Mit({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)?Pd(e,s,{suffix:"start"},{offset:a}):QB({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function AR(t,e){const n=ys(t),r=zc(t);if(e[r]!==void 0)return{[r]:qE(t,e[r])};if(e[t]!==void 0)return{[r]:qE(t,e[t])};if(e[n]){const i=e[n];if(Z1(i))Te(Met(n));else return{[n]:qE(t,i)}}}function tf(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=u0(e),l=ys(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)&&(Jt(c.bin)||qi(c.bin)||c.timeUnit&&!f)&&!(m&&!Z1(m))&&!Tr(h)?qit({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Tr(h)||g)&&!f?Uit(c,e,t):Qle(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function jit(t,e,n,r,i){if(Z1(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(Ket(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(Vc(o)&&rn(o.step))return{value:o.step-2}}return{value:hR(r.view,t)-2}}function Uit(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=ys(e),f=u0(e),x=QZe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=Rr("size",n,{vgChannel:c,defaultRef:un(r.size)}):Te(ett(r.type)));const g=Tae({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:jit(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=zle(e,r,s,y),A=E==="xc"||E==="yc",{offset:v,offsetType:S}=KE({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=QB({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:v,defaultRef:Lk({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?S==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:Z1(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=zc(f),b=m[c],O=v?Object.assign(Object.assign({},b),{offset:v}):b;return{[E]:_,[C]:_e(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function XE(t,e,n,r,i){if(uue(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=c0(n),u=c0(i),a=c0(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 qit({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=Tae({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=Mr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=u0(n),A=zc(n),v=zc(E),{offset:S}=KE({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:Z1(p)?(1-p.band)/2:.5;if(Jt(t.bin)||t.timeUnit)return{[v]:Gle({fieldDef:t,scaleName:f,bandPosition:_,offset:XE(E,y,h,g,S)}),[A]:Gle({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:XE(n,y,h,g,S)})};if(qi(t.bin)){const C=Pd(t,f,{},{offset:XE(E,y,h,g,S)});if(Le(e))return{[v]:C,[A]:Pd(e,f,{},{offset:XE(n,y,h,g,S)})};if(Id(t.bin)&&t.bin.step)return{[v]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:XE(n,y,h,g,S)}}}Te(zue(E))}function Gle({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return X6({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const Hit=new Set(["aria","width","height"]);function Do(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?Hle(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({},zit(t.markDef,e)),Wle(t,"fill",n)),Wle(t,"stroke",r)),Rr("opacity",t)),Rr("fillOpacity",t)),Rr("strokeOpacity",t)),Rr("strokeWidth",t)),Rr("strokeDash",t)),Iit(t)),jle(t)),wk(t,"href")),Fit(t))}function Wle(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!Yc(i)){const u=Qit(t,{invalid:!0,channels:U6});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function zit(t,e){return fet.reduce((n,r)=>(!Hit.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=un(t[r])),n),{})}function Qit(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&&Gs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>GB(o,e)).join(` ${s} `)}}function Ik(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=Git(t,{channels:$a});if(i)return{defined:{signal:i}}}return{}}function Git(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&&Gs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>GB(o,e)).join(` ${s} `)}}function Vle(t,e){if(e!==void 0)return{[t]:un(e)}}const $k="voronoi",Yle={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName($k)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(Yc(s))return Te(met(s)),n;const o={name:t.getName($k),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}},jle(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($k)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},Kle={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!hk(t.bind),parse:(t,e,n)=>o0e(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=Yle.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=En(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:sp(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+nf)[0],o=r+YE,u=i.items.map(l=>En(`${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}},vR="_toggle",Xle={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+vR,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+nf,r=e.name+vR;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${ap(t)}}, `)+`${r} ? ${n} : null`}},Wit={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?Sd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(Kle.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===En(`${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+nf);r(i,"null"),Xle.defined(e)&&(i=n.findIndex(s=>s.name===e.name+vR),r(i,"false"))}return n}},Jle={defined:t=>{const e=t.resolve==="global"&&t.bind&&hk(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==WE;return e&&!n&&Te(Aet),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}),o0e(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=pk(e.bind)?e.bind.legend:"click",o=je(s)?Sd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=pk(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=`${En(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+nf),o=r+YE,u=i.items.filter(x=>x.hasLegend).map(x=>En(`${r}_${En(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+vR),f=pk(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 Vit(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 Ui((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&&Jle.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 Zle="_translate_anchor",e0e="_translate_delta",Yit={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=ef.defined(e),s=r+Zle,{x:o,y:u}=e.project.hasChannel;let a=Sd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+op,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?Nk(t,An):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?Nk(t,br):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+e0e,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&t0e(t,e,o,"width",n),u!==void 0&&t0e(t,e,u,"height",n),n}};function t0e(t,e,n,r,i){var s,o;const u=e.name,a=u+Zle,l=u+e0e,c=n.channel,f=ef.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===An?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,v=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",S=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}`:"":"",_=`${v}(${E}, ${A}${S})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const n0e="_zoom_anchor",r0e="_zoom_delta",Kit={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=ef.defined(e),s=r+r0e,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(An)),l=Fe(t.scaleName(br));let c=Sd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+op,f))),n.push({name:r+n0e,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&&i0e(t,e,o,"width",n),u!==void 0&&i0e(t,e,u,"height",n),n}};function i0e(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=ef.defined(e),c=i.filter(v=>v.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?Nk(t,a):c.name,m=u+r0e,g=`${u}${n0e}.${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 qd="_store",nf="_tuple",Xit="_modify",s0e="vlSelectionResolve",SR=[Dit,Oit,Tit,Xle,Kle,ef,Jle,Wit,Yit,Kit,Yle];function Jit(t){let e=t.parent;for(;e&&!vu(e);)e=e.parent;return e}function ap(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=Jit(t);if(r){const{facet:i}=r;for(const s of Oo)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Bk(t){var e;return Ui((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===WE),!1)}function o0e(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 kk(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...kk(t.object)),e.push(...kk(t.property))),e)}function u0e(t){return t.object.type==="MemberExpression"?u0e(t.object):t.object.name==="datum"}function a0e(t){const e=Aie(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&u0e(r)&&n.add(kk(r).slice(1).join("."))}),n}class lp extends qt{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=_R(this.model,this.filter,this),this._dependentFields=a0e(this.expr)}clone(){return new lp(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 Zit(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=En(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)?Sd(l.on,"scope"):Pe(ot(l.on))});for(const x of SR)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function l0e(t,e,n,r="datum"){const i=je(e)?e:e.param,s=En(i),o=Fe(s+qd);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 c0e(t,e,n){const r=En(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(du(s))}]`}function est(t,e){var n;for(const[r,i]of Dd((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 lp(e,t,{param:r}),s,Zt.Lookup,t.component.data.outputNodeRefCounts)}}function _R(t,e,n){return w6(e,r=>je(r)?r:Btt(r)?l0e(t,r,n):Jue(r))}var CR=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 tst(t,e){if(t)return _e(t)&&!Wc(t)?t.map(n=>rk(n,e)).join(", "):t}function Pk(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 JE(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=CR(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=Bnt[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(GE(g)){const{condition:y}=g,E=CR(g,["condition"]),A=Pe(y),v=$ae[p];if(v){const{vgProp:S,part:_}=v,C=[...A.map(b=>{const{test:O}=b,R=CR(b,["test"]);return Object.assign({test:_R(null,O)},R)}),E];Pk(h,_,S,C),delete h[p]}else if(v===null){const S={signal:A.map(_=>{const{test:C}=_,b=CR(_,["test"]);return`${_R(null,C)} ? ${_ue(b)} : `}).join("")+_ue(E)};h[p]=S}}else if(Ye(g)){const y=$ae[p];if(y){const{vgProp:E,part:A}=y;Pk(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}:{}),Vt(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:or(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=Q1(c,"datum.label",h.encode.labels.update.text.signal)),Pk(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of Bae)t.hasAxisPart(m)||delete h.encode[m];Vt(h.encode)&&delete h.encode}const p=tst(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:or(x,0)})}}}function f0e(t){const{axes:e}=t.component,n=[];for(const r of $a)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 nst(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>JE(i,"grid",e)),...r.map(i=>JE(i,"grid",e)),...n.map(i=>JE(i,"main",e)),...r.map(i=>JE(i,"main",e))].filter(i=>i)}function x0e(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}" ? ${c0(o[c])} : ${c0(u[c])}`};return l}return e[i]})])}function rst(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:rae(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${L6(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:x0e(u,r,t,n),vgAxisConfig:x0e(a,r,t,n),axisConfigStyle:ist([...a,...u],r)}}function ist(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 Mk(t,e,n,r={}){var i;const s=bue(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 d0e={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return gae(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return mae(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:sst(n,t)},gridScale:({model:t,channel:e})=>ost(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||p0e(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||h0e(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:ast(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:lst(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:fst({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=g0e(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return Rue(i?[Cae(i)]:[],Le(o)?[Cae(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>xst(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:dst(n,e)}};function sst(t,e){return!Tr(t)&&Le(e)&&!Jt(e==null?void 0:e.bin)&&!qi(e==null?void 0:e.bin)}function ost(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function ust(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:I6(s);{const{configValue:o}=Mk("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?I6(o):n===An&&Tt([MB,PB],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function jk(t){return`(((${t.signal} % 360) + 360) % 360)`}function h0e(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=jk(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=jk(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 p0e(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=jk(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 ast(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function lst(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function cst(t){return t==="x"?"bottom":"left"}function fst({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Tr(e)&&e!=="log"){if(Le(t)){if(Jt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=Hi(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function g0e(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 Oue(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function xst(t,e){const n=t.values;if(_e(n))return Iae(e,n);if(Ye(n))return n}function dst(t,e){return t==="rect"&&rR(e)?1:0}class cp extends qt{constructor(e,n){super(e),this.transform=n,this._dependentFields=a0e(this.transform.calculate)}clone(){return new cp(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(jd(r)&&_ae(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${Jue({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new cp(e,{calculate:a,as:fp(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 fp(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function bR(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function xp(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return or((e||{})[t],i[t],n.header[t])}function TR(t,e,n,r){const i={};for(const s of t){const o=xp(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const Uk=["row","column"],qk=["header","footer"];function hst(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}=TR(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=bR(e,u),l=I6(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"}),y0e(l,a)),m0e(a,l,s)),E0e(r,i,e,irt,nle))}}function m0e(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=p0e(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function y0e(t,e){const n=h0e(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function pst(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of qk)if(n[i])for(const s of n[i]){const o=mst(t,e,i,n,s);o!=null&&r.push(o)}return r}function gst(t,e){var n;const{sort:r}=t;return Pa(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:_e(r)?{field:fp(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function Hk(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=TR(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=VB({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=bR(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?Q1(Q1(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),y0e(s,c)),m0e(c,s,o)),E0e(n,t,e,srt,rle))}function mst(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}=TR(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=Hk(o,e,u))}const a=vu(t)&&!HE(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:gst(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 yst={column:{start:0,end:1},row:{start:1,end:0}};function Est(t,e){return yst[e][t]}function Ast(t,e){const n={};for(const r of Oo){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=TR(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=bR(r,o),a=Est(s,u);a!==void 0&&(n[u]=a)}}return Vt(n)?void 0:n}function E0e(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=xp(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function zk(t){return[...RR(t,"width"),...RR(t,"height"),...RR(t,"childWidth"),...RR(t,"childHeight")]}function RR(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(Tr(o)&&Vc(u)){const a=t.scaleName(n);return vu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[A0e(a,u)]:[A0e(a,u),{name:i,update:v0e(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=Ek(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 A0e(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function v0e(t,e,n){const r=e.get("type"),i=e.get("padding"),s=or(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${c0(o)}, ${c0(s)}) * ${t}_step`}function S0e(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function _0e(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),up(e,i,r,s=>un(s.value)))},{})}function C0e(t,e){if(vu(e))return t==="theta"?"independent":"shared";if(pp(e))return"shared";if(oP(e))return Mr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function Qk(t,e){const n=t.scale[e],r=Mr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(stt(e)),"independent"):t[r][e]||"shared"}const vst=Object.assign(Object.assign({},urt),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),b0e=be(vst);class Sst extends d0{}const T0e={symbols:_st,gradient:Cst,labels:bst,entries:Tst};function _st(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({},het({},n,unt)),Hle(n,{filled:E}));const v=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,S=(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=v===void 0?(l=R0e(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===gs)delete A.fill;else if(A.fill.field)S?delete A.fill:(A.fill=un((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=un(C??1));else if(_e(A.fill)){const b=(h=(x=Gk((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=un(b))}}if(A.stroke){if(r==="stroke"||!E&&r===gs)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(_e(A.stroke)){const b=or(Gk(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==o0){const b=Le(e)&&N0e(n,i,e);b?A.opacity=[Object.assign({test:b},un(C??1)),un(g.legend.unselectedOpacity)]:C&&(A.opacity=un(C))}return A=Object.assign(Object.assign({},A),t),Vt(A)?void 0:A}function Cst(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?R0e(u.opacity)||o.opacity:void 0;return c&&(a.opacity=un(c)),a=Object.assign(Object.assign({},a),t),Vt(a)?void 0:a}function bst(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?N0e(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Md(c)?YB({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 Vt(x)?void 0:x}function Tst(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function R0e(t){return O0e(t,(e,n)=>Math.max(e,n.value))}function Gk(t){return O0e(t,(e,n)=>or(e,n.value))}function O0e(t,e){if(Cnt(t))return Pe(t.condition).reduce(e,t.value);if(yu(t))return t.value}function N0e(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(En(s)+qd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const D0e={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return gae(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return mae(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:Lst(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:Ist(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:Ost(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>ep(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(W1(n)&&mu(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>Rst(e,t)};function Rst(t,e){const n=t.values;if(_e(n))return Iae(e,n);if(Ye(n))return n}function Ost(t,e,n,r){var i;if(e!=="shape"){const s=(i=Gk(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 Nst(t){const{legend:e}=t;return or(e.type,Dst(t))}function Dst({channel:t,timeUnit:e,scaleType:n}){if(W1(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(mu(n))return"gradient"}return"symbol"}function Fst({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:wst(n,e)}function wst(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 Lst({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(mu(i))return n==="horizontal"?r==="top"||r==="bottom"?F0e(e,"width",o,s):o:F0e(e,"height",a,u)}function F0e(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function Ist(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function w0e(t){const e=Qn(t)?$st(t):Mst(t);return t.component.legends=e,e}function $st(t){const{encoding:e}=t,n={};for(const r of[gs,...sle]){const i=ur(e[r]);!i||!t.getScaleComponent(r)||r===ms&&Le(i)&&i.type===X1||(n[r]=Pst(t,r))}return n}function Bst(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 kst(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 Pst(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new Sst({},Bst(t,e));Vit(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=ur(u[e]),p=Le(h)?(n=Hi(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=Nst({legend:s,channel:e,timeUnit:p,scaleType:x}),y=Fst({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 b0e){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in D0e?D0e[C](E):s[C];if(b!==void 0){const O=kst(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:{},v=c.get("selections"),S={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=_0e((i=A[C])!==null&&i!==void 0?i:{},t),O=C in T0e?T0e[C](b,_):b;O!==void 0&&!Vt(O)&&(S[C]=Object.assign(Object.assign(Object.assign({},v!=null&&v.length&&Le(h)?{name:`${En(h.field)}_legend_${C}`}:{}),v!=null&&v.length?{interactive:!!v}:{}),{update:O}))}return Vt(S)||c.set("encode",S,!!(s!=null&&s.encoding)),c}function Mst(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){w0e(r);for(const i of be(r.component.legends))n.legend[i]=Qk(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=L0e(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 L0e(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 b0e){const c=Jc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return jst(f,x);case"title":return Nue(f,x);case"type":return a=!0,Ws("symbol")}return mR(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&&cB(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&cB(t.explicit,["encode","gradient"])),t}function jst(t,e){return e.value==="circle"?e:t}var Ust=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 qst(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 I0e(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=on(s.get("domains"));if(n[o])for(const u of n[o])L0e(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Ui(n).flat().map(i=>Hst(i,t.config)).filter(i=>i!==void 0)}function Hst(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=Ust(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 sle)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=Q1(u,"datum.label",l.encode.labels.update.text.signal)),qst(l,"labels","text",{signal:c})}return l}}function zst(t){return pp(t)||oP(t)?Qst(t):$0e(t)}function Qst(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),$0e(t))}function $0e(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 Gst=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class B0e extends d0{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 k0e(t){t.component.projection=Qn(t)?Wst(t):Kst(t)}function Wst(t){var e;if(t.hasProjection){const n=Es(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?Vst(t):void 0,o=new B0e(t.projectionName(!0),Object.assign(Object.assign({},(e=Es(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function Vst(t){const e=[],{encoding:n}=t;for(const r of[[wa,Fa],[Ro,gu]])(ur(n[r[0]])||ur(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(ms)&&t.typedFieldDef(ms).type===X1&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Zt.Main)),e}function Yst(t,e){const n=eue(Gst,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Zl(t.get(i),e.get(i))));if(Zl(t.size,e.size)){if(n)return t;if(Zl(t.explicit,{}))return e;if(Zl(e.explicit,{}))return t}return null}function Kst(t){if(t.children.length===0)return;let e;for(const r of t.children)k0e(r);const n=eue(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=Yst(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 B0e(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 Xst=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 Jst(t,e,n,r){var i,s;if(QE(e,n)){const o=Qn(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:J6(u,a,o.format,o.formatType,r)}}return{}}function P0e(t,e){return`${yue(t)}_${e}`}function Zst(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function Wk(t,e,n){var r;const i=(r=oR(n,void 0))!==null&&r!==void 0?r:{},s=P0e(i,e);return t.getName(`${s}_bins`)}function eot(t){return"as"in t}function M0e(t,e,n){let r,i;eot(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({},oR(e,void 0)),o=P0e(s,t.field),{signal:u,extentSignal:a}=Zst(n,o);if(q6(s.extent)){const c=s.extent;i=c0e(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 Qa extends qt{constructor(e,n){super(e),this.bins=n}clone(){return new Qa(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(No(s)&&Jt(s.bin)){const{key:u,binComponent:a}=M0e(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),Jst(n,s,o,n.config))}return i},{});return Vt(r)?null:new Qa(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=M0e(n,n.bin,r);return new Qa(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=e0([...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(Ui(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Ui(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Ui(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=Xst(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:du(e.field),as:r,signal:e.signal},q6(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:du(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 tot(t,e,n,r){var i;const s=Qn(r)?r.encoding[u0(e)]:void 0;if(No(n)&&Qn(r)&&Rae(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&QE(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(PZe(e)){const o=kZe(e);t.add(r.getName(o))}else t.add($e(n));return jd(n)&&Ktt((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function not(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 Eu extends qt{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new Eu(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(a0(x)||Gc(x)){const p=a0(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})]);Qc(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 tot(s,u,o,n)}),s.size+be(i).length===0)?null:new Eu(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 Eu(e,o,u)}merge(e){return NZe(this.dimensions,e.dimensions)?(not(this.measures,e.measures),!0):(vtt("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:du(s));return{type:"aggregate",groupby:[...this.dimensions].map(du),ops:e,fields:n,as:r}}}class dp extends qt{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of Oo){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),...Jt(u)?[$e(o,{binSuffix:"end"})]:[]]},Pa(a)?{sortField:a}:_e(a)?{sortIndexField:fp(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of Oo)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of Oo)!((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 Oo)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 $a){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Tr(i)&&Vc(s)){const o=NR(this.childModel,n),u=rP(o);u?e[n]=u:Te(_B(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=Z6,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 Uk){for(const f of qk){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[n0,t0])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function j0e(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function rot(t,e){const n=iue(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=j0e(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=j0e(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(Oet(e)),null}function iot(t){const e={};return D6(t.filter,n=>{var r;if(Xue(n)){let i=null;DB(n)?i=Qs(n.equal):wB(n)?i=Qs(n.lte):FB(n)?i=Qs(n.lt):LB(n)?i=Qs(n.gt):IB(n)?i=Qs(n.gte):$B(n)?i=n.range[0]:BB(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Bd(i)?e[n.field]="date":rn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function sot(t){const e={};function n(r){np(r)?e[r.field]="date":r.type==="quantitative"&&iet(r.aggregate)?e[r.field]="number":IE(r.field)>1?r.field in e||(e[r.field]="flatten"):jd(r)&&Pa(r.sort)&&IE(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((Qn(t)||vu(t))&&t.forEachFieldDef((r,i)=>{if(No(r))n(r);else{const s=Ld(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),Qn(t)){const{mark:r,markDef:i,encoding:s}=t;if(Yc(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 oot(t){const e={};if(Qn(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&&IE(i.field)>1&&(e[i.field]="flatten")}return e}class fi extends qt{constructor(e,n){super(e),this._parse=n}clone(){return new fi(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!Zc(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(Bue(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(Bue(u,n[u],a)))}const s=new d0(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 fi(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];IE(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?IE(n)>1:!0).map(n=>{const r=rot(n,this._parse[n]);return r?{type:"formula",expr:r,as:sue(n)}:null}).filter(n=>n!==null)}}class rf extends qt{clone(){return new rf(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([WE])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:WE}}}class ZE extends qt{constructor(e,n){super(e),this.params=n}clone(){return new ZE(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 eA extends qt{constructor(e,n){super(e),this.params=n}clone(){return new eA(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 Hd extends qt{constructor(e){super(null),e??(e={name:"source"});let n;if(Zc(e)||(n=e.format?Object.assign({},To(e.format,["parse"])):{}),VE(e))this._data={values:e.values};else if(ip(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 Ble(e)?this._data={values:[{type:"Sphere"}]}:(Ile(e)||Zc(e))&&(this._data={});this._generator=Zc(e),e.name&&(this._name=e.name),n&&!Vt(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 U0e=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},uot=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)},tA;function Vk(t){return t instanceof Hd||t instanceof ZE||t instanceof eA}class Yk{constructor(){tA.set(this,void 0),U0e(this,tA,!1,"f")}setModified(){U0e(this,tA,!0,"f")}get modifiedFlag(){return uot(this,tA,"f")}}tA=new WeakMap;class zd extends Yk{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 Kk extends Yk{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class aot extends Kk{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 lot extends Kk{constructor(e){super(),this.requiresSelectionId=e&&Bk(e)}run(e){e instanceof rf&&(this.requiresSelectionId&&(Vk(e.parent)||e.parent instanceof Eu||e.parent instanceof fi)||(this.setModified(),e.remove()))}}class cot extends Yk{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof za&&(r=e.producedFields(),tue(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 fot extends Kk{constructor(){super()}run(e){e instanceof Qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class xot extends zd{run(e){if(!Vk(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof fi)if(e instanceof fi)this.setModified(),e.merge(n);else{if(rue(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class dot extends zd{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof fi);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(!Vt(i)){this.setModified();const o=new fi(e,i);for(const u of n){if(u instanceof fi)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof fi&&be(u.parse).length===0&&u.remove()}}}}}class hot extends zd{run(e){e instanceof Qi||e.numChildren()>0||e instanceof dp||e instanceof Hd||(this.setModified(),e.remove())}}class pot extends zd{run(e){const n=e.children.filter(i=>i instanceof za),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class got extends zd{run(e){const n=e.children.filter(i=>i instanceof Eu),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 mot extends zd{constructor(e){super(),this.model=e}run(e){const n=!(Vk(e)||e instanceof lp||e instanceof fi||e instanceof rf),r=[],i=[];for(const s of e.children)s instanceof Qa&&(n&&!rue(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 Qa?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 yot extends zd{run(e){const n=[...e.children];if(!z1(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 Qd extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new Qd(null,ot(this.transform))}addDimensions(e){this.transform.groupby=e0(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 Eot(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function Aot(t){return _e(t)&&t.every(e=>je(e))&&t.length>1}class h0 extends qt{constructor(e,n){super(e),this._stack=n}clone(){return new h0(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(or(f.order,"ascending"));const l={field:u,order:a};let c;return Aot(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new h0(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 Ua(p)}).filter(h=>!!h),c=Eot(n),f=n.encoding.order;let x;return _e(f)||Le(f)?x=Tue(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new h0(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 hp extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new hp(null,ot(this.transform))}addDimensions(e){this.transform.groupby=e0(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=>EB(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 vot(t){function e(n){if(!(n instanceof dp)){const r=n.clone();if(r instanceof Qi){const i=Jk+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof Eu||r instanceof h0||r instanceof hp||r instanceof Qd)&&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 Xk(t){if(t instanceof dp)if(t.numChildren()===1&&!(t.children[0]instanceof Qi)){const e=t.children[0];(e instanceof Eu||e instanceof h0||e instanceof hp||e instanceof Qd)&&e.addDimensions(t.fields),e.swapWithParent(),Xk(t)}else{const e=t.model.component.data.main;q0e(e);const n=vot(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(Xk)}function q0e(t){if(t instanceof Qi&&t.type===Zt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof dp||(e.swapWithParent(),q0e(t))}}const Jk="scale_",OR=5;function Zk(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!Zk(e.children))return!1}return!0}function Au(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function H0e(t,e,n){let r=t.sources,i=!1;return i=Au(new fot,r)||i,i=Au(new lot(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=Au(new hot,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=Au(new xot,r)||i,i=Au(new mot(e),r)||i,i=Au(new cot,r)||i,i=Au(new dot,r)||i,i=Au(new got,r)||i,i=Au(new pot,r)||i,i=Au(new aot,r)||i,i=Au(new yot,r)||i),t.sources=r,i}function Sot(t,e){Zk(t.sources);let n=0,r=0;for(let i=0;i<OR&&H0e(t,e,!0);i++)n++;t.sources.map(Xk);for(let i=0;i<OR&&H0e(t,e,!1);i++)r++;Zk(t.sources),Math.max(n,r)===OR&&Te(`Maximum optimization runs(${OR}) reached.`)}class vs{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new vs(()=>e(n))}}var _ot=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 z0e(t){Qn(t)?Cot(t):bot(t)}function Cot(t){const e=t.component.scales;for(const n of be(e)){const r=Rot(t,n);if(e[n].setWithExplicit("domains",r),Not(t,n),t.component.data.isFaceted){let s=t;for(;!vu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)l0(u)&&(u.data=Jk+u.data.replace(Jk,""))}}}function bot(t){for(const n of t.children)z0e(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=Jc(r,o.getWithExplicit("domains"),"domains","scale",nP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(Cet),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function Tot(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=Q0e(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=Q0e(e,n);if(i)return"unaggregated"}return t}function Rot(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=Tot(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"&&ur(r.x2)?ur(r.x)?Jc(sf(n,i,t,"x"),sf(n,i,t,"x2"),"domain","scale",nP):sf(n,i,t,"x2"):e==="y"&&ur(r.y2)?ur(r.y)?Jc(sf(n,i,t,"y"),sf(n,i,t,"y2"),"domain","scale",nP):sf(n,i,t,"y2"):sf(n,i,t,e)}function Oot(t,e,n){return t.map(r=>({signal:`{data: ${uR(r,{timeUnit:n,type:e})}}`}))}function eP(t,e,n){var r;const i=(r=Hi(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?Oot(t,e,i):[t]}function sf(t,e,n,r){const{encoding:i}=n,s=ur(i[r]),{type:o}=s,u=s.timeUnit;if(Ytt(e)){const f=sf(t,void 0,n,r),x=eP(e.unionWith,o,u);return Ha([...f.value,...x])}else{if(Ye(e))return Ha([e]);if(e&&e!=="unaggregated"&&!sae(e))return Ha(eP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return Ws([[0,1]]);const f=n.requestDataName(Zt.Main);return Ws([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=Qc(r)&&Le(s)?Dot(n,r,t):void 0;if(Ma(s)){const f=eP([s.datum],o,u);return Ws(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Zt.Main),{field:x}=s;return Ws([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Jt(c.bin)){if(Tr(t))return Ws(t==="bin-ordinal"?[]:[{data:F6(l)?n.requestDataName(Zt.Main):n.requestDataName(Zt.Raw),field:n.vgField(r,QE(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Jt(f)){const x=Wk(n,c.field,f);return Ws([new vs(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return Ws([{data:n.requestDataName(Zt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&Rae(c,Qn(n)?n.encoding[u0(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Zt.Main);return Ws([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return Ws(l?[{data:F6(l)?n.requestDataName(Zt.Main):n.requestDataName(Zt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Zt.Main),field:n.vgField(r)}])}function tP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":Z6)},r?{field:du(r)}:{}),i?{order:i}:{})}function Not(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=sae(i)&&i,u=Id(s)&&q6(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function Dot(t,e,n){if(!Tr(n))return;const r=t.fieldDef(e),i=r.sort;if(_ae(i))return{op:"min",field:fp(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(Pa(i)){const u=s&&!o.has(i.field);return tP(i,u)}else if(Sae(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(a0(c)||Gc(c))return tP({field:$e(l),order:a},x);if(EB(c)||!c)return tP({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 Q0e(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!oet.has(n)?{valid:!1,reason:Jet(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:Zet(t)}:{valid:!0}:{valid:!1,reason:Xet(t)}}function nP(t,e,n,r){return t.explicit&&e.explicit&&Te(itt(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function Fot(t){const e=e0(t.map(o=>l0(o)?_ot(o,["sort"]):o),bt),n=e0(t.map(o=>{if(l0(o)){const u=o.sort;return u!==void 0&&!F6(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(l0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(que),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=e0(n.map(o=>F6(o)||!("op"in o)||je(o.op)&&o.op in net?o:(Te(ott(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(que),i=!0);const s=e0(t.map(o=>l0(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 rP(t){if(l0(t)&&je(t.field))return t.field;if(aet(t)){let e;for(const n of t.fields)if(l0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(utt),e}return Te(att),e}else if(cet(t)){Te(ltt);const e=t.fields[0];return je(e)?e:void 0}}function NR(t,e){const r=t.component.scales[e].get("domains").map(i=>(l0(i)&&(i.data=t.lookupDataSource(i.data)),i));return Fot(r)}var wot=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 G0e(t){return pp(t)||oP(t)?t.children.reduce((e,n)=>e.concat(G0e(n)),W0e(t)):W0e(t)}function W0e(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=wot(i,["name","type","selectionExtent","domains","range","reverse"]),x=Lot(i.range,s,n,t),h=NR(t,n),p=u?_it(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 Lot(t,e,n,r){if(Mr(n)){if(Vc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&l0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class V0e extends d0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:z1(this.get("domains"),e=>_e(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const Iot=["range","scheme"];function $ot(t){const e=t.component.scales;for(const n of U6){const r=e[n];if(!r)continue;const i=Bot(n,t);r.setWithExplicit("range",i)}}function Y0e(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=ys(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new vs(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Jt(r)){const u=Wk(t,i,r);return new vs(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function Bot(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of Iot)if(n[f]!==void 0){const x=UB(s,f),h=oae(t,f);if(!x)Te(jue(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(_e(p)){if(Mr(t))return Ha(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return vs.fromName(y,g)}return m}))}else if(Qe(p))return Ha({data:e.requestDataName(Zt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Ha(p)}case"scheme":return Ha(kot(n[f]))}}const o=t===An||t==="xOffset"?"width":"height",u=r[o];if(qa(u)){if(Mr(t))if(Tr(s)){const f=K0e(u,e,t);if(f)return Ha({step:f})}else Te(Uue(o));else if(V1(t)){const f=t===Mc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=X0e(u,s);if(p)return Ha(p)}}}const{rangeMin:a,rangeMax:l}=n,c=Pot(t,e);return(a!==void 0||l!==void 0)&&UB(s,"rangeMin")&&_e(c)&&c.length===2?Ha([a??c[0],l??c[1]]):Ws(c)}function kot(t){return Vtt(t)?Object.assign({scheme:t.name},To(t,["name"])):{scheme:t}}function Pot(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=ur(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case An:case br:{if(Tt(["point","band"],l)){const p=J0e(t,n,r.view);if(qa(p))return{step:K0e(p,e,t)}}const x=ys(t),h=e.getName(x);return t===br&&Gs(l)?[vs.fromName(o,h),0]:[0,vs.fromName(o,h)]}case Mc:case G1:return Mot(t,e,l);case s0:{const x=e.component.scales[t].get("zero"),h=Z0e(i,x,r),p=qot(i,n,e,r);return J1(l)?Uot(h,p,jot(l,r,c,t)):[h,p]}case pu:return[0,Math.PI*2];case Fd:return[0,360];case Da:return[0,new vs(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case qc:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Hc:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case ms:return"symbol";case gs:case La:case Ia:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case o0:case jc:case Uc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function K0e(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=fue(n),f=a[c];if(ule({step:t,offsetIsDiscrete:it(f)&&Zue(f.type)})==="offset"&&jae(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-${det(g)})`}}else return t.step}function X0e(t,e){if(ule({step:t,offsetIsDiscrete:Tr(e)})==="offset")return{step:t.step}}function Mot(t,e,n){const r=t===Mc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=J0e(r,e.size,e.config.view);if(qa(u)){const a=X0e(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return TZe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function J0e(t,e,n){const r=t===An?"width":"height",i=e[r];return i||pR(n,r)}function jot(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(ytt(r)),3)}}function Uot(t,e,n){const r=()=>{const i=c0(e),s=c0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new vs(r):{signal:r()}}function Z0e(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${Z0e(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(z6("size",t))}const ece=.95;function qot(t,e,n,r){const i={x:Y0e(n,"x"),y:Y0e(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=tce(e,i,r.view);return rn(s)?s-1:new vs(()=>`${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=tce(e,i,r.view);return rn(s)?Math.pow(ece*s,2):new vs(()=>`pow(${ece} * ${s.signal}, 2)`)}}throw new Error(z6("size",t))}function tce(t,e,n){const r=qa(t.width)?t.width.step:hR(n,"width"),i=qa(t.height)?t.height.step:hR(n,"height");return e.x||e.y?new vs(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function nce(t,e){Qn(t)?Hot(t,e):sce(t,e)}function Hot(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=ur(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=UB(h,e),y=oae(u,e);if(x!==void 0&&(g?y&&Te(y):Te(jue(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Bd(a[e])||A==="temporal"||E?l.set(e,{signal:uR(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in rce?rce[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:sk(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const rce={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?zot(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>Qot(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>Got(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>Wot(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>Vot(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>Yot(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 Kot(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>Xot(t,e,n,r,i)};function ice(t){Qn(t)?$ot(t):sce(t,"range")}function sce(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?ice(r):nce(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=Jc(i,u,e,"scale",Lle((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function zot(t,e){const n=e.bin;if(Jt(n)){const r=Wk(t,e.field,n);return new vs(()=>t.getSignalName(r))}else if(qi(n)&&Id(n)&&n.step!==void 0)return{step:n.step}}function Qot(t,e){if(Tt([gs,La,Ia],t)&&e!=="nominal")return"hcl"}function Got(t,e,n,r,i,s){var o;if(!(!((o=Ua(s))===null||o===void 0)&&o.bin||_e(n)||i!=null||r!=null||Tt([As.TIME,As.UTC],t)))return Mr(e)?!0:void 0}function Wot(t,e,n,r,i,s){if(Mr(t)){if(mu(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===As.POINT)return n.pointPadding}}function Vot(t,e,n,r,i,s=!1){if(t===void 0){if(Mr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:or(o,n==="bar"?u:a)}else if(V1(e)&&r===As.BAND)return i.offsetBandPaddingInner}}function Yot(t,e,n,r,i,s=!1){if(t===void 0){if(Mr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===As.BAND)return or(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(V1(e)){if(n===As.POINT)return .5;if(n===As.BAND)return i.offsetBandPaddingOuter}}}function Kot(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return Gs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Gs(t)&&e==="descending")return!0}function Xot(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&Gs(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"&&!J1(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...$a,...VZe],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 Jot(t,e,n,r,i=!1){const s=Zot(e,n,r,i),{type:o}=t;return Qc(e)?o!==void 0?ent(e,o)?Le(n)&&!Ztt(o,n.type)?(Te(ntt(o,s)),s):o:(Te(ttt(e,o,s)),s):s:null}function Zot(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(W1(t)||yB(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(bB(t,"ordinal")),"ordinal";if(Mr(t)||V1(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in mB)return"band";const s=n[ys(t)];return Z1(s)||tk(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return W1(t)?"time":yB(t)==="discrete"?(Te(bB(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&Hi(e.timeUnit).utc?"utc":"time";case"quantitative":return W1(t)?Le(e)&&Jt(e.bin)?"bin-ordinal":"linear":yB(t)==="discrete"?(Te(bB(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(Pue(e.type))}function eut(t,{ignoreRange:e}={}){oce(t),z0e(t);for(const n of Jtt)nce(t,n);e||ice(t)}function oce(t){Qn(t)?t.component.scales=tut(t):t.component.scales=rut(t)}function tut(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of U6){const o=ur(e[s]);if(o&&n===lae&&s===ms&&o.type===X1)continue;let u=o&&o.scale;if(V1(s)){const a=xue(s);if(!sk(e,a)){u&&Te(Uet(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=sk(e,s),l=Jot(u,s,o,r,a);i[s]=new V0e(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const nut=Lle((t,e)=>eae(t)-eae(e));function rut(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){oce(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=C0e(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?Htt(a.value,l.value)?i[u]=Jc(a,l,"type","scale",nut):(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 V0e(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 iP=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 sP{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 Qn(t){return(t==null?void 0:t.type)==="unit"}function vu(t){return(t==null?void 0:t.type)==="facet"}function oP(t){return(t==null?void 0:t.type)==="concat"}function pp(t){return(t==null?void 0:t.type)==="layer"}class uP{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=Es(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Wc(e.title)?{text:e.title}:e.title?Es(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new sP,this.projectionNameMap=r?r.projectionNameMap:new sP,this.signalNameMap=r?r.signalNameMap:new sP,this.data=e.data,this.description=e.description,this.transforms=sit((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:xrt(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:eR(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new d0,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(){eut(this)}parseProjection(){k0e(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){w0e(this)}assembleEncodeFromView(e){const n=iP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=un(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=un(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Vt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=iP(e,["spacing"]),{component:i,config:s}=this,o=Ast(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 Oo)e[r].title&&n.push(hst(this,r));for(const r of Uk)n=n.concat(pst(this,r));return n}assembleAxes(){return nst(this.component.axes,this.config)}assembleLegends(){return I0e(this)}assembleProjections(){return zst(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=iP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},Aue(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"),Vt(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||vu(this.parent)?G0e(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 En((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Zt[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(vu(this.parent)){const n=S0e(e),r=j6(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Tr(s)&&Vc(o)){const u=i.get("name"),a=NR(this,r),l=rP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:v0e(u,i,c)}}else return Te(_B(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(lue(e)&&Qc(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(yet(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 uce extends uP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return qnt(this.getMapping(),(r,i,s)=>{const o=Ua(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){uk(this.getMapping(),(r,i)=>{const s=Ua(r);s&&e(s,i)},n)}}var iut=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 DR extends qt{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 DR(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=iut(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class nA extends qt{constructor(e,n){super(e),this.filter=n}clone(){return new nA(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=Qc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");Gs(x)&&l.aggregate!=="count"&&!Yc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new nA(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 FR extends qt{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 FR(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 wR extends qt{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 wR(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 gp extends qt{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new gp(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[[wa,Fa],[Ro,gu]]){const s=i.map(o=>{const u=ur(n.encoding[o]);return Le(u)?u.field:Ma(u)?{expr:`${u.datum}`}:yu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new gp(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(ms)){const i=n.typedFieldDef(ms);i.type===X1&&(e=new gp(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 rA extends qt{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new rA(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[wa,Fa],[Ro,gu]]){const i=r.map(o=>{const u=ur(n.encoding[o]);return Le(u)?u.field:Ma(u)?{expr:`${u.datum}`}:yu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===Ro?"2":"";(i[0]||i[1])&&(e=new rA(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 Gd extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new Gd(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 Gd(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=qae(n.mark,r);return new Gd(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:Urt(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 sut=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 LR extends qt{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 LR(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=sut(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class iA extends qt{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new iA(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(qrt(o)){let a=fce(o.data,s);a||(a=new Hd(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new Qi(a,l,Zt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(Hrt(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(En(a),a)}catch{throw new Error(vet(a))}if(u=l.materialized,!u)throw new Error(_et(a))}return new iA(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(Fet),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 out=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 IR extends qt{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 IR(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=out(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var uut=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 $R extends qt{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 $R(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=uut(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class BR extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new BR(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=e0(((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 kR extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new kR(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 ace(t){let e=0;function n(r,i){var s;if(r instanceof Hd&&!r.isGenerator&&!ip(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof fi&&(r.parent instanceof Hd&&!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 dp){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 ZE||r instanceof eA||r instanceof nA||r instanceof lp||r instanceof cp||r instanceof rA||r instanceof Eu||r instanceof iA||r instanceof hp||r instanceof Qd||r instanceof wR||r instanceof FR||r instanceof DR||r instanceof LR||r instanceof IR||r instanceof $R||r instanceof rf||r instanceof kR||r instanceof BR)&&i.transform.push(r.assemble()),(r instanceof Qa||r instanceof za||r instanceof Gd||r instanceof h0||r instanceof gp)&&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 aut(t){const e=[],n=ace(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function lut(t,e){var n,r;const i=[],s=ace(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 cut(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function fut(t){for(const e of Oo)xut(t,e);cce(t,"x"),cce(t,"y")}function xut(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=xp("title",null,i,e);let l=ep(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=xp("labelOrient",u.header,i,e),f=u.header!==null?or((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"?[]:[lce(t,e,f)]}}}function lce(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 cce(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=Qk(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=cut(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[lce(t,o,!1)]);const c=JE(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function dut(t){aP(t),PR(t,"width"),PR(t,"height")}function hut(t){aP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";PR(t,e),PR(t,n)}function aP(t){for(const e of t.children)e.parseLayoutSize()}function PR(t,e){var n;const r=S0e(e),i=j6(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:C0e(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=Jc(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 put(t){const{size:e,component:n}=t;for(const r of $a){const i=ys(r);if(e[i]){const s=e[i];n.layoutSize.set(i,qa(s)?"step":s,!0)}else{const s=gut(t,i);n.layoutSize.set(i,s,!1)}}}function gut(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(Tr(s)){const u=pR(r.view,e);return Vc(o)||qa(u)?"step":u}else return Ek(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return Ek(r.view,e);{const s=pR(r.view,e);return qa(s)?s.step:s}}}function lP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class sA extends uce{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=hP(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!HE(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![t0,n0].includes(i)){Te(z6(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(CB(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=ik(e,n);return r.header?r.header=Es(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=MR(this),this.child.parseData()}parseLayoutSize(){aP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),fut(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 Oo)for(const o of qk){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=xp("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=bR(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 sA))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof sA?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 sA){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 $a){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Tr(o)&&Vc(u)){const a=NR(this.child,i),l=rP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(_B(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 Oo){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Jt(x)&&a.push($e(f,{binSuffix:"end"})),Pa(h)){const{field:p,op:m=Z6}=h,g=lP(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=fp(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?Pa(r.sort)?[lP(r,r.sort,{expr:"datum"})]:_e(r.sort)?[fp(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(Pa(i)?i.order:!_e(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return Hk(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of Uk)if(n[s]){const o=xp("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return Hk(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=aut(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:Oo.map(a=>this.facetSortFields(a)).flat(),order:Oo.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup(Eit(this,[])))]}getMapping(){return this.facet}}function mut(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(Pa(s.sort)){const{field:o,op:u=Z6}=s.sort;t=i=new Qd(t,{joinaggregate:[{op:u,field:o,as:lP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function fce(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(VE(t)&&VE(u)){if(Zl(t.values,u.values))return o}else if(ip(t)&&ip(u)){if(t.url===u.url)return o}else if(Ile(t)&&t.name===o.dataName)return o}}return null}function yut(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Hd({values:[]});return e.push(r),r}const n=fce(t.data,e);if(n)return Zc(t.data)||(n.data.format=RZe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Hd(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 Eut(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(Zrt(o))a=t=new cp(t,o),u="derived";else if(Ck(o)){const l=iot(o);a=t=(r=fi.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new lp(t,e,o.filter)}else if(Tle(o))a=t=Qa.makeFromTransform(t,o,e),u="number";else if(tit(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new fi(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=za.makeFromTransform(t,o);else if(nit(o))a=t=Eu.makeFromTransform(t,o),u="number",Bk(e)&&(t=new rf(t));else if(ble(o))a=t=iA.make(t,e,o,s++),u="derived";else if(Krt(o))a=t=new hp(t,o),u="number";else if(Xrt(o))a=t=new Qd(t,o),u="number";else if(rit(o))a=t=h0.makeFromTransform(t,o),u="derived";else if(iit(o))a=t=new wR(t,o),u="derived";else if(Jrt(o))a=t=new FR(t,o),u="derived";else if(zrt(o))a=t=new BR(t,o),u="derived";else if(Yrt(o))t=new kR(t,o);else if(eit(o))a=t=Gd.makeFromTransform(t,o),u="derived";else if(Qrt(o))a=t=new DR(t,o),u="derived";else if(Grt(o))a=t=new IR(t,o),u="derived";else if(Wrt(o))a=t=new $R(t,o),u="derived";else if(Vrt(o))a=t=new LR(t,o),u="derived";else{Te(Det(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 MR(t){var e,n,r,i,s,o,u,a,l,c;let f=yut(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(Zc(p)||ip(p)||VE(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new git;Zc(p)?($le(p)?f=new eA(f,p.sequence):Rk(p)&&(f=new ZE(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=fi.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new rf(f);const y=t.parent&&pp(t.parent);(Qn(t)||vu(t))&&y&&(f=(r=Qa.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=Eut(f,t,g));const E=oot(t),A=sot(t);f=(i=fi.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,Qn(t)&&(f=gp.parseAll(f,t),f=rA.parseAll(f,t)),(Qn(t)||vu(t))&&(y||(f=(s=Qa.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=za.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=cp.parseAllForSortIndex(f,t));const v=t.getDataName(Zt.Raw),S=new Qi(f,v,Zt.Raw,h);if(x[v]=S,f=S,Qn(t)){const O=Eu.makeFromEncoding(f,t);O&&(f=O,Bk(t)&&(f=new rf(f))),f=(u=Gd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=h0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}Qn(t)&&(f=(l=nA.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Zt.Main),C=new Qi(f,_,Zt.Main,h);x[_]=C,f=C,Qn(t)&&est(t,C);let b=null;if(vu(t)){const O=t.getName("facet");f=(c=mut(f,t.facet))!==null&&c!==void 0?c:f,b=new dp(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:S,main:C,facetRoot:b,ancestorParse:g})}class Aut extends uP{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(Ret),this.children=this.getChildren(e).map((l,c)=>hP(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=MR(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 dR(e)?e.vconcat:yk(e)?e.hconcat:e.concat}parseLayoutSize(){hut(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=zk(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 vut(t){return t===!1||t===null}const Sut=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},kae),{labelExpr:1,encode:1}),xce=be(Sut);class cP extends d0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new cP(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!vut(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function _ut(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=ur(i[e]))!==null&&r!==void 0?r:ur(i[u0(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Md(l)?Object.assign({text:YB({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function Cut(t){return $a.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[Fut(n,t)]),e),{})}const but={bottom:"top",top:"bottom",left:"right",right:"left"};function Tut(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]=Qk(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=Rut(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of $a){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=but[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 Rut(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]=Out(i,s)}}}else return e.map(n=>n.clone());return t}function Out(t,e){for(const n of xce){const r=Jc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return Nue(i,s);case"gridScale":return{explicit:i.explicit,value:or(i.value,s.value)}}return mR(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function Nut(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:I6(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===g0e(r,i))return!0}return t===n[e]}const Dut=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Fut(t,e){var n,r,i;let s=e.axis(t);const o=new cP,u=ur(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)||cst(t),f=e.getScaleComponent(t).get("type"),x=rst(t,f,c,e.config),h=s!==void 0?!s:Mk("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=ust(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 xce){const A=E in d0e?d0e[E](m):Pae(E)?s[E]:void 0,v=A!==void 0,S=Nut(A,E,s,e,t);if(v&&S)o.set(E,A,S);else{const{configValue:_=void 0,configFrom:C=void 0}=Pae(E)&&E!=="values"?Mk(E,l.style,s.style,x):{},b=_!==void 0;v&&!b?o.set(E,A,S):(C!=="vgAxisConfig"||Dut.has(E)&&b||GE(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=Bae.reduce((E,A)=>{var v;if(!o.hasAxisPart(A))return E;const S=_0e((v=g[A])!==null&&v!==void 0?v:{},e),_=A==="labels"?_ut(e,t,S):S;return _!==void 0&&!Vt(_)&&(E[A]={update:_}),E},{});return Vt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function wut({encoding:t,size:e}){for(const n of $a){const r=ys(n);qa(e[r])&&ja(t[n])&&(delete e[r],Te(Uue(r)))}return e}function Lut(t,e,n){const r=Es(t),i=kt("orient",r,n);if(r.orient=kut(r.type,e,i),i!==void 0&&i!==r.orient&&Te(Vet(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"]:cnt[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=$ut(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=Iut(r,e,n)),r}function Iut(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function $ut(t,e){if(Tt([Y6,qB,HB,zB],t)&&!ok(e))return .7}function But(t,e,{graticule:n}){if(n)return!1;const r=$d("filled",t,e),i=t.type;return or(r,i!==Y6&&i!==V6&&i!==K6)}function kut(t,e,n){switch(t){case Y6:case HB:case zB:case aae:case nnt:case tnt:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case W6:if(Le(r)&&(qi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(qi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===kd&&!Jt(r.bin)||ek(r)))return"horizontal";if(!o&&(Le(i)&&i.type===kd&&!Jt(i.bin)||ek(i)))return"vertical"}case K6:if(s&&!(Le(r)&&qi(r.bin))&&o&&!(Le(i)&&qi(i.bin)))return;case G6:if(o)return Le(i)&&qi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&qi(r.bin)?"vertical":"horizontal";if(t===K6){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case V6:case qB:{const u=ja(r),a=ja(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===K1,x=c.type===K1;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 Put={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),tf(t,"radius")),tf(t,"theta"))},Mut={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),ER("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),ER("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),Ik(t))},jut={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y"))},Uut={vgMark:"shape",encodeEntry:t=>Object.assign({},Do(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===X1?{field:$e(n,{expr:"datum"})}:{})]}},qut={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y")),wk(t,"url"))},Hut={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t,{vgChannel:"strokeWidth"})),Ik(t))},zut={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t)),Ik(t))};function fP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t)),Rr("angle",t)),Qut(t,n,e))}function Qut(t,e,n){return n?{shape:{value:n}}:Rr("shape",t)}const Gut={vgMark:"symbol",encodeEntry:t=>fP(t)},Wut={vgMark:"symbol",encodeEntry:t=>fP(t,"circle")},Vut={vgMark:"symbol",encodeEntry:t=>fP(t,"square")},Yut={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y"))},Kut={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({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ER("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),ER("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),Rr("size",t,{vgChannel:"strokeWidth"}))}},Xut={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({},Do(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),wk(t)),Rr("size",t,{vgChannel:"fontSize"})),Rr("angle",t)),Vle("align",Jut(t.markDef,n,e))),Vle("baseline",Zut(t.markDef,n,e))),ci("radius",t,{defaultPos:null})),ci("theta",t,{defaultPos:null}))}};function Jut(t,e,n){if(kt("align",t,n)===void 0)return"center"}function Zut(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const eat={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({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid",vgChannel:"xc"})),ci("y",t,{defaultPos:"mid",vgChannel:"yc"})),Rr("size",t,{defaultValue:tat(t),vgChannel:i})),{[s]:un(kt("thickness",n,e))})}};function tat(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&&Vc(a)&&rn(a.step)?a.step*3/4:hR(n.view,s)*3/4}}const jR={arc:Put,area:Mut,bar:jut,circle:Wut,geoshape:Uut,image:qut,line:Hut,point:Gut,rect:Yut,rule:Kut,square:Vut,text:Xut,tick:eat,trail:zut};function nat(t){if(Tt([V6,G6,rnt],t.mark)){const e=qae(t.mark,t.encoding);if(e.length>0)return rat(t,e)}else if(t.mark===W6){const e=AB.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return iat(t)}return xP(t)}const dce="faceted_path_";function rat(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:dce+t.requestDataName(Zt.Main),data:t.requestDataName(Zt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:xP(t,{fromPrefix:dce})}]}const hce="stack_group_";function iat(t){var e;const[n]=xP(t,{fromPrefix:hce}),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({},LE(n.encode.update,["y","yc","y2","height",...AB])),{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({},To(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},LE(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({},To(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of AB){const f=$d(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=un(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=$d(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:un(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Zt.Main),name:hce+t.requestDataName(Zt.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 sat(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!_e(u)&&yu(u)&&Zoe(u.value)||!u&&Zoe(kt("order",s,o)))){if((_e(u)||Le(u))&&!r)return Tue(u,{expr:"datum"});if(Yc(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(Pa(c))return{field:$e({aggregate:ok(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(Sae(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 xP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=or(r.clip,oat(t),uat(t)),u=Cue(r),a=i.key,l=sat(t),c=aat(t),f=kt("aria",r,s),x=jR[n].postEncodingTransform?jR[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:jR[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(Zt.Main)},encode:{update:jR[n].encodeEntry(t)}}),x?{transform:x}:{})]}function oat(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 uat(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function aat(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 pce extends uce{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,ale(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=ka(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=But(u,s,{graticule:e.data&&Rk(e.data)}));const l=this.encoding=jnt(e.encoding||{},a,u.filled,s);this.markDef=Lut(u,l,s),this.size=wut({encoding:l,size:ale(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=gle(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=>gk(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===lae,r=e&&MZe.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 U6.reduce((r,i)=>{var s;const o=ur(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=Es(e);return _e(n)&&(i.domain=n.map(Qs)),_e(r)&&(i.range=r.map(Qs)),i}initAxes(e){return $a.reduce((n,r)=>{const i=e[r];if(it(i)||r===An&&it(e.x2)||r===br&&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]=GE(s)?vue(s):Qs(s)}return r}initLegends(e){return YZe.reduce((n,r)=>{const i=ur(e[r]);if(i&&XZe(r)){const s=i.legend;n[r]=s&&Es(s)}return n},{})}parseData(){this.component.data=MR(this)}parseLayoutSize(){put(this)}parseSelections(){this.component.selection=Zit(this,this.selection)}parseMarkGroup(){this.component.mark=nat(this)}parseAxesAndHeaders(){this.component.axes=Cut(this)}assembleSelectionTopLevelSignals(e){return Ait(this,e)}assembleSignals(){return[...f0e(this),...yit(this,[])]}assembleSelectionData(e){return vit(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return zk(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!pp(this.parent))&&(n=kle(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 Ud(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ua(n)}typedFieldDef(e){const n=this.fieldDef(e);return No(n)?n:null}}class dP extends uP{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(gR(u))return new dP(u,this,this.getName(`layer_${a}`),o,s);if(f0(u))return new pce(u,this,this.getName(`layer_${a}`),o,s);throw new Error(SB(u))})}parseData(){this.component.data=MR(this);for(const e of this.children)e.parseData()}parseLayoutSize(){dut(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(){Tut(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),f0e(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),zk(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 Sit(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),I0e(this))}}function hP(t,e,n,r,i){if(eR(t))return new sA(t,e,n,i);if(gR(t))return new dP(t,e,n,r,i);if(f0(t))return new pce(t,e,n,r,i);if(crt(t))return new Aut(t,e,n,i);throw new Error(SB(t))}var lat=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 gce(t,e={}){e.logger&&Ett(e.logger),e.fieldTitle&&wae(e.fieldTitle);try{const n=hle(KF(e.config,t.config)),r=uit(t,n),i=hP(r,null,"",void 0,n);return i.parse(),Sot(i.component.data,i),{spec:fat(i,cat(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&Att(),e.fieldTitle&&Fnt()}}function cat(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&&dit(e.type)){if(i==="step"&&s==="step")Te(wue()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(wue(j6(o)));const u=o==="width"?"height":"width";e.type=hit(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),wle(n,!1)),wle(t,!0))}function fat(t,e,n={},r){const i=t.config?_rt(t.config):void 0,s=[].concat(t.assembleSelectionData([]),lut(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=lat(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([]),...ole(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var xat=Gn("<div>");function dat(t){let e,n=null;return Ap(()=>{n&&n.finalize();const r=t.type==="vega-lite"?gce(t.spec).spec:t.spec;n=new O$(xoe(r)).initialize(e).renderer("svg").hover(),n.run()}),Ap(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=xat(),i=e;return typeof i=="function"?Sp(i,r):e=r,r})()}function hat(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,Pt(dat,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}function mce(t){return t.tagParse().tag.has("hidden")}const yce={xs:28,sm:64,md:128,lg:256,xl:384,"2xl":512};function Ece(t,e=0,n=0,r=0){let i={};return t.allFields.forEach(s=>{if(!mce(s))if(!s.isExploreField())i[oa(s)]={abs:[e,e],rel:[n,n],depth:r},e++,n++;else{const[o,u,a]=Ece(s,e,0,r+1);i={...i,...o},i[oa(s)]={abs:[e,u-1],rel:[n,n+a-1],depth:r},e=u,n+=a}}),[i,e,n]}function pat(t,e){const[n]=Ece(e),r=Math.max(...Object.values(n).map(s=>s.abs[1]))+1;n[oa(e)]={abs:[0,r-1],rel:[0,r-1],depth:-1};const i={fields:{},fieldHeaderRangeMap:n,fieldLayout(s){return this.fields[oa(s)]},totalHeaderSize:r};for(const[s,o]of Object.entries(t.fields)){if(!(s in n))continue;const u=o.field,a={metadata:o,width:null,height:null,absoluteColumnRange:n[s].abs,relativeColumnRange:n[s].rel,depth:n[s].depth},{tag:l}=u.tagParse(),c=l.text("width");c&&yce[c]?a.width=yce[c]:l.numeric("width")&&(a.width=l.numeric("width")),l.numeric("height")&&(a.height=l.numeric("height")),i.fields[s]=a}return i}const Ace=FP(),oA=()=>{const t=wP(Ace);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t},vce=FP(),Wd=()=>wP(vce),pP=Symbol("store-raw"),mp=Symbol("store-node"),p0=Symbol("store-has"),Sce=Symbol("store-self");function _ce(t){let e=t[Su];if(!e&&(Object.defineProperty(t,Su,{value:e=new Proxy(t,yat)}),!Array.isArray(t))){const n=Object.keys(t),r=Object.getOwnPropertyDescriptors(t);for(let i=0,s=n.length;i<s;i++){const o=n[i];r[o].get&&Object.defineProperty(t,o,{enumerable:r[o].enumerable,get:r[o].get.bind(e)})}}return e}function UR(t){let e;return t!=null&&typeof t=="object"&&(t[Su]||!(e=Object.getPrototypeOf(t))||e===Object.prototype||Array.isArray(t))}function uA(t,e=new Set){let n,r,i,s;if(n=t!=null&&t[pP])return n;if(!UR(t)||e.has(t))return t;if(Array.isArray(t)){Object.isFrozen(t)?t=t.slice(0):e.add(t);for(let o=0,u=t.length;o<u;o++)i=t[o],(r=uA(i,e))!==i&&(t[o]=r)}else{Object.isFrozen(t)?t=Object.assign({},t):e.add(t);const o=Object.keys(t),u=Object.getOwnPropertyDescriptors(t);for(let a=0,l=o.length;a<l;a++)s=o[a],!u[s].get&&(i=t[s],(r=uA(i,e))!==i&&(t[s]=r))}return t}function qR(t,e){let n=t[e];return n||Object.defineProperty(t,e,{value:n=Object.create(null)}),n}function aA(t,e,n){if(t[e])return t[e];const[r,i]=Ep(n,{equals:!1,internal:!0});return r.$=i,t[e]=r}function gat(t,e){const n=Reflect.getOwnPropertyDescriptor(t,e);return!n||n.get||!n.configurable||e===Su||e===mp||(delete n.value,delete n.writable,n.get=()=>t[Su][e]),n}function Cce(t){lO()&&aA(qR(t,mp),Sce)()}function mat(t){return Cce(t),Reflect.ownKeys(t)}const yat={get(t,e,n){if(e===pP)return t;if(e===Su)return n;if(e===uO)return Cce(t),n;const r=qR(t,mp),i=r[e];let s=i?i():t[e];if(e===mp||e===p0||e==="__proto__")return s;if(!i){const o=Object.getOwnPropertyDescriptor(t,e);lO()&&(typeof s!="function"||t.hasOwnProperty(e))&&!(o&&o.get)&&(s=aA(r,e,s)())}return UR(s)?_ce(s):s},has(t,e){return e===pP||e===Su||e===uO||e===mp||e===p0||e==="__proto__"?!0:(lO()&&aA(qR(t,p0),e)(),e in t)},set(){return!0},deleteProperty(){return!0},ownKeys:mat,getOwnPropertyDescriptor:gat};function HR(t,e,n,r=!1){if(!r&&t[e]===n)return;const i=t[e],s=t.length;n===void 0?(delete t[e],t[p0]&&t[p0][e]&&i!==void 0&&t[p0][e].$()):(t[e]=n,t[p0]&&t[p0][e]&&i===void 0&&t[p0][e].$());let o=qR(t,mp),u;if((u=aA(o,e,i))&&u.$(()=>n),Array.isArray(t)&&t.length!==s){for(let a=t.length;a<s;a++)(u=o[a])&&u.$();(u=aA(o,"length",s))&&u.$(t.length)}(u=o[Sce])&&u.$()}function bce(t,e){const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const i=n[r];HR(t,i,e[i])}}function Eat(t,e){if(typeof e=="function"&&(e=e(t)),e=uA(e),Array.isArray(e)){if(t===e)return;let n=0,r=e.length;for(;n<r;n++){const i=e[n];t[n]!==i&&HR(t,n,i)}HR(t,"length",r)}else bce(t,e)}function lA(t,e,n=[]){let r,i=t;if(e.length>1){r=e.shift();const o=typeof r,u=Array.isArray(t);if(Array.isArray(r)){for(let a=0;a<r.length;a++)lA(t,[r[a]].concat(e),n);return}else if(u&&o==="function"){for(let a=0;a<t.length;a++)r(t[a],a)&&lA(t,[a].concat(e),n);return}else if(u&&o==="object"){const{from:a=0,to:l=t.length-1,by:c=1}=r;for(let f=a;f<=l;f+=c)lA(t,[f].concat(e),n);return}else if(e.length>1){lA(t[r],e,[r].concat(n));return}i=t[r],n=[r].concat(n)}let s=e[0];typeof s=="function"&&(s=s(i,n),s===i)||r===void 0&&s==null||(s=uA(s),r===void 0||UR(i)&&UR(s)&&!Array.isArray(s)?bce(i,s):HR(t,r,s))}function Aat(...[t,e]){const n=uA(t||{}),r=Array.isArray(n),i=_ce(n);function s(...o){Jce(()=>{r&&o.length===1?Eat(n,o[0]):lA(n,o)})}return[i,s]}var vat=Gn("<div class=cell-content>"),Sat=Gn('<div class="column-cell th">'),_at=Gn('<div class="column-cell td">'),Cat=Gn("<div style=position:sticky;left:0px;height:0px;visibility:hidden;>"),bat=Gn("<div style=position:sticky;top:0px;left:0px;height:0px;visibility:hidden;>"),Tat=Gn("<div class=pinned-header-row>"),Rat=Gn("<div class=malloy-table><div class=table-row>"),Oat=Gn("<div class=pinned-header-subrow>"),Nat=Gn("<div class=table-row>");const Dat=navigator.userAgent.toLowerCase().indexOf("chrome")>=0,Tce=t=>{const e=()=>{const n=Wd().layout,r=n.fieldLayout(t.field).width,i=n.fieldLayout(t.field).height,s={};return t.isHeader||r&&(s.width=`${r}px`,s["min-width"]=`${r}px`,s["max-width"]=`${r}px;`,typeof i=="number"&&(s.height=`${i}px;`)),s};return(()=>{var n=vat();return vn(n,()=>t.value),_u(r=>{var i=!!t.isHeader,s=!!t.hideStartGutter,o=!!t.hideEndGutter,u=!!t.tableGutterLeft,a=!!t.tableGutterRight,l=e(),c=typeof t.value=="string"?t.value:"";return i!==r.e&&n.classList.toggle("header",r.e=i),s!==r.t&&n.classList.toggle("hide-start-gutter",r.t=s),o!==r.a&&n.classList.toggle("hide-end-gutter",r.a=o),u!==r.o&&n.classList.toggle("table-gutter-left",r.o=u),a!==r.i&&n.classList.toggle("table-gutter-right",r.i=a),r.n=TA(n,l,r.n),c!==r.s&&cf(n,"title",r.s=c),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()},Rce=t=>{const{layout:e}=Wd(),n=I3(t.field),r=I3(t.field.parentExplore),i=!t.field.parentExplore.isExploreField(),s=n&&(r||i),o=L3(t.field),u=L3(t.field.parentExplore),a=o&&(u||i),l=e.fieldLayout(t.field),c=t.isPinned?l.absoluteColumnRange:l.relativeColumnRange,f=l.depth>0&&I3(t.field)||l.metadata.renderAs==="table",x=l.depth>0&&L3(t.field)||l.depth===0&&l.metadata.renderAs==="table";return(()=>{var h=Sat();return vn(h,Pt(Tce,{get field(){return t.field},get value(){return t.field.name.replace(/_/g,"_​")},hideStartGutter:s,hideEndGutter:a,tableGutterLeft:f,tableGutterRight:x,isHeader:!0})),_u(p=>{var m=!!(t.field.isAtomicField()&&t.field.isNumber()),g=!!t.isPinned,y=`${c[0]+1} / span ${YF(c)}`,E=t.isPinned?void 0:`var(--malloy-render--table-header-height-${l.depth})`;return m!==p.e&&h.classList.toggle("numeric",p.e=m),g!==p.t&&h.classList.toggle("pinned-header",p.t=g),y!==p.a&&((p.a=y)!=null?h.style.setProperty("grid-column",y):h.style.removeProperty("grid-column")),E!==p.o&&((p.o=E)!=null?h.style.setProperty("height",E):h.style.removeProperty("height")),p},{e:void 0,t:void 0,a:void 0,o:void 0}),h})()},Fat=t=>{const e=Wd();let n="",r="";({renderValue:n,renderAs:r}=yp({field:t.field,dataColumn:t.row.cell(t.field),resultMetadata:oA(),tag:t.field.tagParse().tag,customProps:{table:{pinnedHeader:e.pinnedHeader,rowLimit:e.pinnedHeader?1:1/0}}})),e.pinnedHeader&&r!=="table"&&(n="");const s=Wd().layout.fieldLayout(t.field),o=s.relativeColumnRange,u={"grid-column":`${o[0]+1} / span ${YF(o)}`,height:"fit-content"};r==="table"?(u.display="grid",u.grid="auto / subgrid"):Dat&&t.field.isAtomicField()&&(u.position="sticky",u.top=`var(--malloy-render--table-header-cumulative-height-${s.depth})`);const a=s.depth>0&&I3(t.field),l=s.depth>0&&L3(t.field);return(()=>{var c=_at();return vn(c,Pt(lfe,{get children(){return[Pt(qP,{when:r==="table",children:n}),Pt(qP,{when:!0,get children(){return Pt(Tce,{get field(){return t.field},value:n,get hideStartGutter(){return I3(t.field)},get hideEndGutter(){return L3(t.field)},tableGutterLeft:a,tableGutterRight:l})}})]}})),_u(f=>{var x=!!(t.field.isAtomicField()&&t.field.isNumber()),h=u;return x!==f.e&&c.classList.toggle("numeric",f.e=x),f.t=TA(c,h,f.t),f},{e:void 0,t:void 0}),c})()},wat=t=>{const e=dO({rowLimit:1/0,pinnedHeader:!1},t),n=Wd(),r=oA(),i=xi(()=>Object.entries(n.layout.fieldHeaderRangeMap).sort((E,A)=>E[1].depth<A[1].depth?-1:E[1].depth>A[1].depth?1:E[1].abs[0]<A[1].abs[0]?-1:E[1].abs[0]>A[1].abs[0]?1:0).filter(([E,A])=>{const v=A.depth>=0,S=VR(r.fields[E].field.parentExplore)==="table";return v&&S}).map(([E,A])=>({fieldKey:E,field:r.fields[E].field,...A}))),s=()=>{const y=n.layout.fieldLayout(e.data.field).relativeColumnRange,E={"--table-row-span":YF(y)};if(n.root){let A=0;Object.entries(n.headerSizeStore[0]).sort(([v],[S])=>parseInt(v)-parseInt(S)).forEach(([v,S])=>{E[`--malloy-render--table-header-height-${v}`]=`${S}px`,A+=S,E[`--malloy-render--table-header-cumulative-height-${v}`]=`${A}px`}),E["--total-header-size"]=n.layout.totalHeaderSize}return E},o=xi(()=>{const y=[];let E=0;for(const A of e.data){if(E>=e.rowLimit)break;y.push(A),E++}return y}),u=()=>e.data.field.allFields.filter(y=>!mce(y)),a=()=>i().reduce((E,A)=>((E[A.depth]||(E[A.depth]=[])).push(A),E),[]);let l,c;const[f,x]=Ep(!1),[h,p]=Ep(!1),m=()=>f()&&!h();DP(()=>{l&&c&&(new IntersectionObserver(([A])=>{x(A.intersectionRatio<1)},{threshold:[1]}).observe(l),new IntersectionObserver(([A])=>{p(A.intersectionRatio<1)},{threshold:[1]}).observe(c))});const g=[];return DP(()=>{if(n.root){const[y,E]=n.headerSizeStore,A=new ResizeObserver(v=>{const S=v.reduce((_,C)=>{const b=C.target.getAttribute("data-depth"),O=C.contentRect.height;return typeof b=="string"&&y[b]!==O&&(_[b]=O),_},{});Object.entries(S).length>0&&E(_=>({..._,...S}))});g.forEach(v=>{A.observe(v)})}}),(()=>{var y=Rat(),E=y.firstChild;return vn(y,Pt(UP,{get when(){return n.root},get children(){return[(()=>{var A=Cat(),v=l;return typeof v=="function"?Sp(v,A):l=A,A})(),(()=>{var A=bat(),v=c;return typeof v=="function"?Sp(v,A):c=A,A})(),(()=>{var A=Tat();return vn(A,Pt(Wa,{get each(){return a()},children:(v,S)=>(()=>{var _=Oat();return Sp(C=>g[S()]=C,_),vn(_,Pt(Wa,{each:v,children:C=>Pt(Rce,{get field(){return C.field},isPinned:!0})})),_u(()=>cf(_,"data-depth",S())),_})()})),A})()]}}),E),vn(E,Pt(Wa,{get each(){return u()},children:A=>Pt(Rce,{field:A})})),vn(y,Pt(Wa,{get each(){return o()},children:A=>(()=>{var v=Nat();return vn(v,Pt(Wa,{get each(){return u()},children:S=>Pt(Fat,{field:S,row:A})})),v})()}),null),_u(A=>{var v=!!n.root,S=!!m(),_=n.root?"table-container":"",C=s();return v!==A.e&&y.classList.toggle("root",A.e=v),S!==A.t&&y.classList.toggle("pinned",A.t=S),_!==A.a&&cf(y,"part",A.a=_),A.o=TA(y,C,A.o),A},{e:void 0,t:void 0,a:void 0,o:void 0}),y})()},Lat=t=>{const e=oA(),n=!!Wd(),r=xi(()=>{if(n){const i=Wd();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout,headerSizeStore:i.headerSizeStore}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:pat(e,t.data.field),headerSizeStore:Aat({})}});return Pt(vce.Provider,{get value(){return r()},get children(){return Pt(wat,t)}})};var Iat=Gn('<div class=malloy-list style="text-wrap:wrap;line-height:calc(var(--malloy-render--table-row-height) * 5 / 7 - 1px);">'),$at=Gn("<span>");function Bat(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=Iat();return vn(u,Pt(Wa,{each:o,children:(a,l)=>(()=>{var c=$at();return vn(c,()=>yp({field:r,dataColumn:a.cell(r),resultMetadata:t.resultMetadata,tag:r.tagParse().tag}).renderValue,null),vn(c,()=>i&&s&&"("+yp({field:s,dataColumn:a.cell(s),resultMetadata:t.resultMetadata,tag:s.tagParse().tag}).renderValue+")",null),vn(c,()=>l()<o.length-1&&", ",null),c})()})),u})()}var kat=Gn("<img>");function Pat(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=Goe({tag:o,data:t.dataColumn})??o.text());let u;return t.dataColumn.isNull()||(u=t.dataColumn.value),(()=>{var a=kat();return TA(a,i),cf(a,"src",u),cf(a,"alt",s),a})()}var Mat=Gn("<div class=dashboard-item><div class=dashboard-item-title></div><div class=dashboard-item-value>"),jat=Gn("<div class=malloy-dashboard>"),Uat=Gn("<div class=dashboard-row><div class=dashboard-row-header><div class=dashboard-row-header-dimension-list></div><div class=dashboard-row-header-separator></div></div><div class=dashboard-row-body>"),qat=Gn("<div class=dashboard-dimension-wrapper><div class=dashboard-dimension-name></div><div class=dashboard-dimension-value>");function Hat(t){return(()=>{var e=Mat(),n=e.firstChild,r=n.nextSibling;return vn(n,()=>t.field.name),vn(r,()=>yp({field:t.field,dataColumn:t.row.cell(t.field),tag:t.field.tagParse().tag,resultMetadata:t.resultMetadata}).renderValue),_u(()=>r.classList.toggle("dashboard-item-value-measure",!!t.isMeasure)),e})()}function zat(t){const e=()=>t.data.field,n=()=>e().allFields.filter(o=>!o.tagParse().tag.has("hidden")&&o.isAtomicField()&&o.sourceWasDimension()),r=()=>{const o=[],u=[];for(const a of e().allFields)a.tagParse().tag.has("hidden")||(a.isAtomicField()&&a.sourceWasMeasureLike()?o.push(a):(!a.isAtomicField()||!a.sourceWasDimension())&&u.push(a));return[...o,...u]},i=xi(()=>{const o=[];for(const u of t.data)o.push(u);return o}),s=oA();return(()=>{var o=jat();return vn(o,Pt(Wa,{get each(){return i()},children:u=>(()=>{var a=Uat(),l=a.firstChild,c=l.firstChild,f=l.nextSibling;return vn(c,Pt(Wa,{get each(){return n()},children:x=>(()=>{var h=qat(),p=h.firstChild,m=p.nextSibling;return vn(p,()=>x.name),vn(m,()=>yp({field:x,dataColumn:u.cell(x),tag:x.tagParse().tag,resultMetadata:s}).renderValue),h})()})),vn(f,Pt(Wa,{get each(){return r()},children:x=>Pt(Hat,{field:x,row:u,resultMetadata:s,get isMeasure(){return xi(()=>!!x.isAtomicField())()&&x.sourceWasMeasureLike()}})})),a})()})),o})()}class zR{constructor(e,n,r,i={},s){this.document=e,this.styleDefaults=n,this.options=r,this.timezone=s,this.size=i.size||this.styleDefaults.size||"medium"}mapData(e){const n=[];for(const r of e){const i={};for(const s of e.field.allFields){let o=this.getDataValue(r.cell(s));o instanceof Date&&(o=cZe(o,this.timezone)),i[s.name]=o}n.push(i)}return n}getSize(){return this.size==="large"?{height:350,width:500}:{height:175,width:250}}async render(e){if(!e.isArray())throw new Error("Invalid type for chart renderer");const n=this.getVegaLiteSpec(e),r=gce(n,{logger:{level(o){return o!==void 0?this:0},info(){return this},error(){return this},warn(){return this},debug(){return this}}}).spec,i=new O$(xoe(r),{renderer:"none"});i.logger().level(-1);const s=this.document.createElement("div");return s.innerHTML=await i.toSVG(),s}}const QR={$schema:"https://vega.github.io/schema/vega-lite/v5.json",config:{params:[{name:"defaultFont",value:"var(--malloy-font-family, 'Inter')"},{name:"titleColor",value:`var(--malloy-title-color, ${j1})`},{name:"labelColor",value:`var(--malloy-label-color, ${j1})`}],background:void 0,color:{expr:"titleColor"},header:{labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500},text:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},mark:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},title:{font:{expr:"defaultFont"},subtitleFont:{expr:"defaultFont"},fontWeight:500},axis:{labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12,gridColor:U1,tickColor:U1,labelPadding:5,titlePadding:10},legend:{titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12,labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"}}}},of={config:QR.config,encoding:{y:{field:"#{1}",type:"nominal",axis:null,sort:null}},layer:[{mark:{type:"bar",color:"#aec7e8"},encoding:{x:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}},{mark:{type:"text",align:"left",x:5},encoding:{text:{field:"#{1}"}}}]},GR={...QR,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}};({...GR,encoding:{...GR.encoding,color:Jl("quantitative",!0,!0)}},{...GR,encoding:{...GR.encoding,color:Jl("nominal",!0,!0)}}),{...of,layer:({...of.layer[0],encoding:{...of.layer[0].encoding,color:Jl("nominal",!0,!0)}},of.layer[1])},{...of,layer:({...of.layer[0],encoding:{...of.layer[0].encoding,color:Jl("quantitative",!0,!0)}},of.layer[1])};const WR={...QR,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}};({...WR,encoding:{...WR.encoding,color:Jl("nominal",!0)}},{...WR,encoding:{...WR.encoding,color:Jl("quantitative",!0)}});function Oce(t){return Array.isArray(t)||t!==null&&typeof t=="object"}class Qat extends zR{constructor(e,n,r,i,s){super(e,n,r);const o=s.spec;if(o)this.spec=o;else if(s.spec_name){const u=r.dataStyles[s.spec_name];if(u!==void 0&&u.renderer==="vega")if(u.spec)this.spec=u.spec;else throw new Error(`No spec defined on ${s.spec_name}`);else throw new Error(`No Vega renderer named ${s.spec_name}`)}else throw new Error(`No top level vega spec defined for ${i.name}`)}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for vega chart.")}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp()||e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for vega chart.")}translateField(e,n){const r=n.match(/#\{(\d+)\}/);return r&&r.groups?e.allFields[parseInt(r.groups[1])-1].name:n}translateFields(e,n){if(Array.isArray(e))for(const r of e)Oce(r)&&this.translateFields(r,n);else if(e&&typeof e=="object")for(const[r,i]of Object.entries(e))if(r==="field"&&typeof i=="string")e[r]=this.translateField(n,i);else if(r==="repeat"&&Array.isArray(i))for(const s of i.keys()){const o=i[s];typeof o=="string"&&(i[s]=this.translateField(n,o))}else Oce(i)&&this.translateFields(i,n)}getVegaLiteSpec(e){if(e.isNull()||!e.isArray())throw new Error("Expected struct value not to be null.");const n=structuredClone(this.spec);this.translateFields(n,e.field);const r={values:this.mapData(e)};return n.data=r,n}}const JR=class JR extends Nd{create(e,n,r,i,s){return new Qat(e,n,r,i,s)}get rendererName(){return"vega"}};JR.instance=new JR;let Nce=JR;class Dce extends zR{getVegaLiteSpec(e){const n=e.field.allFields,r=n[0],i=n[1],s=n[2],o=n[3],u=n[4],a=this.getDataType(r),l=this.getDataType(i),c=s?this.getDataType(s):void 0,f=o?this.getDataType(o):void 0,x=u?this.getDataType(u):void 0,h=this.getMark(),p=s!==void 0?{field:s.name,type:c,axis:{title:Od(this.options,s,void 0,this.timezone)},scale:Jl(c,h==="bar")}:{value:"#4285F4"},m=o?{field:o.name,type:f,axis:{title:Od(this.options,o,void 0,this.timezone)}}:void 0,g=u?{field:u.name,type:x,axis:{title:Od(this.options,u,void 0,this.timezone)}}:void 0,y=a==="nominal"?null:void 0,E=l==="nominal"?null:void 0,A={field:r.name,type:a,sort:y,axis:{title:Od(this.options,r,void 0,this.timezone)},scale:{zero:!1}},v={field:i.name,type:l,sort:E,axis:{title:Od(this.options,i,void 0,this.timezone)},scale:{zero:!1}};return{...QR,...this.getSize(),data:{values:this.mapData(e)},mark:h,encoding:{x:A,y:v,size:m,color:p,shape:g},background:"transparent"}}}class Gat extends Dce{getMark(){return"line"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for line chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for line chart.")}}const ZR=class ZR extends Nd{create(e,n,r,i,s,o){return new Gat(e,n,r,s,o)}get rendererName(){return"line_chart"}};ZR.instance=new ZR;let gP=ZR;class Wat extends Dce{getMark(){return"point"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for scatter chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for scatter chart.")}}const eO=class eO extends Nd{create(e,n,r,i,s,o){return new Wat(e,n,r,s,o)}get rendererName(){return"scatter_chart"}};eO.instance=new eO;let mP=eO;const yP={type:"Topology",bbox:[-179.14733999999999,-14.552548999999999,179.77847,71.352561],transform:{scale:[.003589293992939929,.0008590596905969058],translate:[-179.14733999999999,-14.552548999999999]},objects:{states:{type:"GeometryCollection",geometries:[{type:"MultiPolygon",arcs:[[[0]],[[1,2,3,4,5]]],id:"01",properties:{name:"Alabama"}},{type:"MultiPolygon",arcs:[[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]],[[121]],[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]]],id:"02",properties:{name:"Alaska"}},{type:"Polygon",arcs:[[143,144,145,146,147]],id:"04",properties:{name:"Arizona"}},{type:"Polygon",arcs:[[148,149,150,151,152,153]],id:"08",properties:{name:"Colorado"}},{type:"MultiPolygon",arcs:[[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161]],[[162]],[[163,164,-4]]],id:"12",properties:{name:"Florida"}},{type:"Polygon",arcs:[[165,166,167,168,-164,-3]],id:"13",properties:{name:"Georgia"}},{type:"Polygon",arcs:[[169,170,171,172,173]],id:"18",properties:{name:"Indiana"}},{type:"Polygon",arcs:[[174,175,176,-151]],id:"20",properties:{name:"Kansas"}},{type:"MultiPolygon",arcs:[[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[184,185]]],id:"23",properties:{name:"Maine"}},{type:"MultiPolygon",arcs:[[[186]],[[187]],[[188,189,190,191,192,193,194,195]]],id:"25",properties:{name:"Massachusetts"}},{type:"Polygon",arcs:[[196,197,198,199,200]],id:"27",properties:{name:"Minnesota"}},{type:"Polygon",arcs:[[201,202,203,204,205,206,207,208]],id:"34",properties:{name:"New Jersey"}},{type:"MultiPolygon",arcs:[[[209]],[[210]],[[211,212,213,-167,214]]],id:"37",properties:{name:"North Carolina"}},{type:"Polygon",arcs:[[215,-201,216,217]],id:"38",properties:{name:"North Dakota"}},{type:"Polygon",arcs:[[-152,-177,218,219,220,221]],id:"40",properties:{name:"Oklahoma"}},{type:"Polygon",arcs:[[222,223,-204,224,225,226,227]],id:"42",properties:{name:"Pennsylvania"}},{type:"Polygon",arcs:[[228,-217,-200,229,230,231]],id:"46",properties:{name:"South Dakota"}},{type:"Polygon",arcs:[[-221,232,233,234,235,236,237]],id:"48",properties:{name:"Texas"}},{type:"Polygon",arcs:[[-232,238,-149,239,240,241]],id:"56",properties:{name:"Wyoming"}},{type:"Polygon",arcs:[[-195,242,243,244]],id:"09",properties:{name:"Connecticut"}},{type:"Polygon",arcs:[[245,246,247,248,249,250,251,-219,-176,252]],id:"29",properties:{name:"Missouri"}},{type:"Polygon",arcs:[[253,-227,254,255,256]],id:"54",properties:{name:"West Virginia"}},{type:"Polygon",arcs:[[257,258,259,-174,260,-247]],id:"17",properties:{name:"Illinois"}},{type:"Polygon",arcs:[[-153,-222,-238,261,-147]],id:"35",properties:{name:"New Mexico"}},{type:"Polygon",arcs:[[-252,262,263,264,-235,233,-233,-220]],id:"05",properties:{name:"Arkansas"}},{type:"MultiPolygon",arcs:[[[265]],[[266]],[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273,274,275,-144,276]]],id:"06",properties:{name:"California"}},{type:"MultiPolygon",arcs:[[[-209,277]],[[-225,-203,278,279]]],id:"10",properties:{name:"Delaware"}},{type:"Polygon",arcs:[[280,281]],id:"11",properties:{name:"District of Columbia"}},{type:"MultiPolygon",arcs:[[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]]],id:"15",properties:{name:"Hawaii"}},{type:"Polygon",arcs:[[-199,290,-258,-246,291,-230]],id:"19",properties:{name:"Iowa"}},{type:"MultiPolygon",arcs:[[[-261,-173,292,-257,293,294,-248]],[[295,-250]]],id:"21",properties:{name:"Kentucky"}},{type:"MultiPolygon",arcs:[[[296,297]],[[298]],[[299]],[[-226,-280,300,301,302,303,-281,304,-255]]],id:"24",properties:{name:"Maryland"}},{type:"MultiPolygon",arcs:[[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314,315,-171]],[[316]],[[317,318,319,320,321,322]]],id:"26",properties:{name:"Michigan"}},{type:"MultiPolygon",arcs:[[[323]],[[324]],[[325]],[[326]],[[-264,327,-6,328,329]]],id:"28",properties:{name:"Mississippi"}},{type:"Polygon",arcs:[[330,-218,-229,-242,331]],id:"30",properties:{name:"Montana"}},{type:"Polygon",arcs:[[332,-185,333,-190,334]],id:"33",properties:{name:"New Hampshire"}},{type:"MultiPolygon",arcs:[[[335]],[[336]],[[337]],[[338,-207]],[[339]],[[340]],[[341,342,-196,-245,343,-205,-224]]],id:"36",properties:{name:"New York"}},{type:"MultiPolygon",arcs:[[[344]],[[345]],[[-316,346,-228,-254,-293,-172]]],id:"39",properties:{name:"Ohio"}},{type:"Polygon",arcs:[[347,348,349,274,-275,-274,350]],id:"41",properties:{name:"Oregon"}},{type:"Polygon",arcs:[[-251,-296,-249,-295,351,-215,-166,-2,-328,-263]],id:"47",properties:{name:"Tennessee"}},{type:"Polygon",arcs:[[352,-240,-154,-146,353]],id:"49",properties:{name:"Utah"}},{type:"MultiPolygon",arcs:[[[354]],[[-302,355]],[[356,-297]],[[-256,-305,-282,-304,357,-212,-352,-294]]],id:"51",properties:{name:"Virginia"}},{type:"MultiPolygon",arcs:[[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368,-348,369]]],id:"53",properties:{name:"Washington"}},{type:"MultiPolygon",arcs:[[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380,-323,321,-321,319,-319,381,-259,-291,-198]]],id:"55",properties:{name:"Wisconsin"}},{type:"MultiPolygon",arcs:[[[382]],[[383]],[[384]]],id:"60",properties:{name:"American Samoa"}},{type:"MultiPolygon",arcs:[[[385]]],id:"66",properties:{name:"Guam"}},{type:"MultiPolygon",arcs:[[[386]],[[387]],[[388]],[[389]],[[390]],[[391]],[[392]],[[393]]],id:"69",properties:{name:"Commonwealth of the Northern Mariana Islands"}},{type:"Polygon",arcs:[[-231,-292,-253,-175,-150,-239]],id:"31",properties:{name:"Nebraska"}},{type:"Polygon",arcs:[[-214,394,-168]],id:"45",properties:{name:"South Carolina"}},{type:"MultiPolygon",arcs:[[[395]],[[396]],[[397]],[[398]],[[399]]],id:"72",properties:{name:"Puerto Rico"}},{type:"MultiPolygon",arcs:[[[400]],[[401]],[[402]]],id:"78",properties:{name:"United States Virgin Islands"}},{type:"Polygon",arcs:[[-369,403,-332,-241,-353,404,-349]],id:"16",properties:{name:"Idaho"}},{type:"Polygon",arcs:[[-275,-350,-405,-354,-145,-276]],id:"32",properties:{name:"Nevada"}},{type:"Polygon",arcs:[[405,-335,-189,-343]],id:"50",properties:{name:"Vermont"}},{type:"MultiPolygon",arcs:[[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[-265,-330,413,-236]]],id:"22",properties:{name:"Louisiana"}},{type:"MultiPolygon",arcs:[[[-192,414]],[[415]],[[416]],[[417]],[[-243,-194,418]]],id:"44",properties:{name:"Rhode Island"}}]},nation:{type:"GeometryCollection",geometries:[{type:"MultiPolygon",arcs:[[[0]],[[164,4,328,413,236,261,147,276,350,369,403,330,215,196,380,317,381,259,169,314,346,222,341,405,332,185,333,190,414,192,418,243,343,205,338,207,277,201,278,300,355,302,357,212,394,168]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]],[[121]],[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]],[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161]],[[162]],[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[186]],[[187]],[[209]],[[210]],[[265]],[[266]],[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[297,356]],[[298]],[[299]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[316]],[[323]],[[324]],[[325]],[[326]],[[335]],[[336]],[[337]],[[339]],[[340]],[[344]],[[345]],[[354]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[382]],[[383]],[[384]],[[385]],[[386]],[[387]],[[388]],[[389]],[[390]],[[391]],[[392]],[[393]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[415]],[[416]],[[417]]]}]}},arcs:[[[25302,52136],[56,31],[1,25],[14,-40],[-9,-28],[-10,16],[-18,-2],[-20,-17],[-14,15]],[[25338,57677],[0,15],[150,-6],[63,0],[160,-13],[93,-2],[37,2],[159,-4],[61,-5]],[[26061,57664],[15,-321],[23,-443],[18,-379],[13,-294],[15,-311],[33,-713],[9,-32],[-4,-36],[13,-45],[5,-149],[10,-72],[17,-69],[3,-82],[9,-36],[-10,-117],[18,-28],[12,-40],[-10,-52],[-11,0],[2,-24],[-14,-21],[-13,-52],[3,-56],[-2,-86],[-7,-86],[-14,-72],[-3,-45],[6,-124],[-2,-44],[19,-87],[3,-120],[-7,-57],[2,-43],[-8,-80],[1,-79],[-7,-21],[5,-51],[-3,-54],[20,-91],[7,-64],[2,-61]],[[26229,53027],[-67,0],[-71,-5],[-110,-4],[-174,0],[-135,7],[-166,-2],[3,-38],[-13,-115],[2,-23],[23,-79],[3,-41],[36,-80],[3,-69],[-15,-102],[3,-55],[20,-51],[-18,-35],[-8,-82],[-9,-15],[7,-24],[-15,-26]],[[25528,52188],[-38,-35],[-40,-24],[-56,-4],[18,41],[12,-26],[35,27],[3,34],[-15,48],[-7,43],[-20,47],[-7,90],[9,74],[-3,76],[-7,48],[-20,32],[-15,-46],[2,-38],[-9,-57],[1,-41],[-6,-32],[-1,-144],[-8,-66],[-15,-4],[1,36],[-20,40],[-15,-16],[-5,23],[-18,-22]],[[25284,52292],[-3,222],[-3,357],[-6,423],[-10,773],[9,283],[21,710],[5,212],[33,1120],[6,160],[19,643],[12,362],[-16,35],[-13,85]],[[8053,88108],[6,38],[18,-11],[-20,-43],[-4,16]],[[7905,86007],[29,90],[15,-17],[-1,-46],[-28,-74],[-15,19],[0,28]],[[7695,85792],[26,-14],[-3,-36],[-23,50]],[[7642,85774],[22,-17],[-7,-33],[-14,14],[-1,36]],[[7602,85813],[20,-2],[-5,-34],[-15,36]],[[7594,84711],[8,45],[20,-13],[-8,-73],[-15,-17],[-5,58]],[[7543,85532],[12,28],[21,-40],[-33,-2],[0,14]],[[7540,87187],[29,79],[8,112],[31,-29],[-28,-64],[-9,-49],[5,-24],[-36,-25]],[[7464,85521],[14,55],[18,-28],[23,-4],[-33,-33],[-22,10]],[[7385,86976],[17,6],[5,-88],[-22,82]],[[7168,84530],[29,89],[15,6],[26,-66],[5,20],[-21,65],[6,54],[9,10],[27,-25],[21,19],[-29,54],[16,56],[29,-31],[15,4],[-14,56],[12,17],[20,-20],[14,45],[-18,6],[-13,33],[20,3],[22,67],[34,18],[-12,35],[-3,68],[27,66],[7,-31],[53,51],[7,-7],[-12,-118],[-13,-18],[-26,-103],[5,-84],[36,11],[2,69],[22,-9],[21,-71],[20,48],[12,-33],[-17,-117],[9,-22],[9,72],[27,47],[7,-25],[-3,-115],[-30,-89],[-32,23],[-11,81],[-21,-26],[13,-99],[-22,-20],[-39,13],[-16,-54],[-8,36],[2,74],[-10,2],[-9,-114],[-8,-24],[-31,-17],[2,-37],[-16,-22],[-45,-13],[-86,76],[-21,-13],[-15,29]],[[7129,86075],[41,28],[18,-43],[-5,-48],[-13,-16],[-29,-3],[-16,59],[4,23]],[[6962,82933],[31,45],[8,-48],[-37,-9],[-2,12]],[[6905,82759],[20,62],[19,20],[11,-11],[25,17],[5,-40],[19,-37],[36,16],[-2,-37],[-19,-31],[-46,-6],[-32,-13],[-32,25],[-4,35]],[[6789,83718],[20,17],[4,76],[18,75],[25,34],[5,44],[15,-8],[34,70],[33,36],[39,-15],[29,1],[0,-112],[26,-57],[4,45],[17,53],[-18,48],[6,25],[53,-14],[-3,35],[-52,44],[-19,-4],[-1,127],[31,61],[29,29],[20,-12],[22,-56],[6,-133],[15,13],[9,77],[-5,55],[35,-38],[7,47],[-37,36],[-21,58],[7,44],[17,-6],[51,-87],[9,4],[30,-41],[11,10],[-31,75],[-20,34],[-7,44],[17,0],[30,-58],[29,12],[41,-29],[7,49],[36,15],[-8,-63],[-39,-106],[-7,-83],[19,-36],[0,95],[16,43],[16,-49],[5,46],[17,32],[5,41],[14,10],[10,-31],[22,72],[17,8],[-4,-45],[28,-16],[-11,-38],[-11,20],[-18,-15],[19,-36],[-5,-49],[19,22],[11,-51],[27,1],[-24,-53],[-16,33],[-24,2],[-15,-48],[16,-9],[-8,-53],[26,-8],[-26,-89],[23,17],[13,47],[5,-35],[47,-4],[-3,-41],[-36,-78],[-13,-110],[-38,13],[-2,39],[-10,-41],[-23,42],[-17,-6],[-23,49],[-15,-13],[-24,19],[-8,-46],[27,1],[15,-17],[45,-87],[-8,-70],[-23,-52],[-11,36],[-19,-50],[-19,30],[-6,38],[-21,18],[-20,-12],[-17,-37],[29,2],[20,-49],[-38,-53],[-34,12],[-4,-20],[25,-34],[14,13],[35,1],[22,-43],[-11,-28],[-24,-8],[-34,-33],[-8,11],[-19,-29],[3,-49],[-27,-50],[-13,20],[7,34],[-23,50],[7,47],[27,62],[-8,24],[-15,-21],[-34,-105],[-3,-24],[-22,32],[-22,-10],[-5,-35],[26,-6],[10,-63],[-16,-61],[-25,-20],[1,-70],[-25,-41],[-12,13],[-23,-82],[-19,-30],[-18,21],[-31,-20],[22,116],[11,11],[26,71],[24,31],[-2,37],[-33,-23],[3,52],[22,102],[29,52],[-7,30],[-15,-45],[-34,-61],[-26,-112],[-24,-59],[-14,-11],[-5,-44],[-19,-30],[-4,84],[-26,58],[-33,27],[3,100],[-4,106],[-13,83],[-11,32],[-23,20],[-27,5],[14,30],[-15,37],[5,23]],[[6782,82633],[27,101],[51,97],[21,-4],[16,-54],[-12,-23],[-55,-73],[-29,-79],[-19,35]],[[6519,81925],[26,41],[5,38],[13,22],[8,-32],[-6,-43],[5,-68],[-7,-33],[-36,13],[-8,62]],[[6240,82171],[5,47],[14,25],[13,-59],[-13,-63],[-19,50]],[[6225,82357],[9,35],[3,-82],[-10,-1],[-2,48]],[[6080,82757],[21,48],[48,-3],[25,-54],[-35,23],[-16,-26],[-43,-6],[0,18]],[[5919,82533],[19,25],[11,-57],[-9,-11],[-21,43]],[[5642,81925],[8,64],[19,12],[27,-58],[-8,-18],[-21,37],[-25,-37]],[[5573,81984],[16,-49],[-27,12],[11,37]],[[5524,80844],[-1,36],[13,24],[20,-25],[-9,-59],[-19,-15],[-4,39]],[[5506,81836],[8,67],[10,10],[11,-62],[-29,-15]],[[5485,80904],[12,85],[-11,46],[31,-2],[4,-99],[-27,-38],[-9,8]],[[5445,80747],[10,13],[16,-42],[-1,-34],[-23,-4],[-2,67]],[[5429,81185],[17,-21],[5,49],[17,46],[5,-22],[-8,-58],[9,-13],[1,-44],[-10,-61],[13,-30],[-7,-19],[-17,22],[-2,-21],[-20,8],[-3,164]],[[5385,80755],[21,25],[11,-30],[-20,-26],[-12,31]],[[5377,81028],[9,39],[23,41],[5,-36],[-23,-38],[-9,-58],[-5,52]],[[5303,81352],[14,11],[5,-42],[-19,31]],[[5265,80882],[33,98],[15,27],[-5,18],[-22,0],[-4,76],[22,50],[27,-44],[-1,38],[-13,52],[30,-13],[18,114],[12,-23],[-2,-43],[-9,-2],[-5,-75],[12,-18],[0,33],[13,1],[-4,-60],[-11,-37],[-22,12],[-1,-45],[-28,-71],[-18,-24],[-31,-141],[-6,77]],[[5246,85264],[5,41],[14,-83],[-7,-25],[-12,67]],[[5238,81460],[22,42],[36,-14],[-1,-78],[-50,12],[-7,38]],[[5213,85252],[8,77],[5,-57],[-13,-20]],[[5096,81334],[16,74],[25,25],[18,-23],[-2,-46],[10,5],[12,47],[15,-32],[26,-26],[26,25],[7,-66],[-9,-60],[-14,40],[-22,3],[-14,23],[-3,40],[-10,-12],[0,-69],[11,-20],[11,-87],[-11,-60],[-36,35],[-10,59],[-18,-18],[-18,-90],[4,58],[-10,43],[0,104],[-4,28]],[[5033,85142],[7,131],[39,52],[21,6],[39,76],[5,-2],[-55,-273],[-22,-32],[-32,-4],[-2,46]],[[4937,81216],[27,3],[-4,-71],[-26,47],[3,21]],[[4863,81217],[10,31],[36,8],[-9,-51],[-37,-10],[0,22]],[[4804,81100],[4,51],[17,20],[25,-19],[12,-29],[35,-42],[6,-41],[-30,44],[-23,-57],[-28,74],[-11,-38],[-7,37]],[[4656,80881],[30,66],[26,-27],[0,-83],[-11,-53],[-13,-21],[-27,58],[-5,60]],[[4587,90956],[19,44],[21,16],[24,-17],[22,6],[9,-37],[-1,-50],[-75,-13],[-18,19],[-1,32]],[[4545,80324],[1,51],[68,-54],[19,-39],[26,0],[18,-28],[-20,-23],[-10,-33],[-22,40],[-17,-9],[-31,37],[-18,-29],[-22,57],[8,30]],[[4451,81463],[14,-1],[-5,-38],[-9,39]],[[3979,80040],[12,22],[16,-18],[-21,-37],[-7,33]],[[3880,79918],[22,34],[33,-11],[24,18],[5,-24],[-9,-45],[-26,-13],[-47,27],[-2,14]],[[3807,79887],[60,24],[9,-35],[-15,-32],[-13,37],[-34,-4],[-7,10]],[[3781,79848],[17,29],[7,-36],[-18,-14],[-6,21]],[[3751,80090],[13,56],[14,-15],[18,18],[12,-21],[-22,-33],[13,-48],[30,0],[1,-41],[-23,3],[-18,-79],[-23,24],[-2,78],[16,35],[-9,20],[-16,-21],[-4,24]],[[3635,79967],[5,36],[28,54],[30,-6],[3,-58],[20,6],[14,-15],[8,-44],[13,13],[-2,-41],[-26,-36],[-12,11],[-18,-45],[-6,28],[-25,1],[-17,-20],[-18,91],[3,25]],[[3608,79782],[7,15],[27,-33],[-32,-11],[-2,29]],[[3261,87028],[35,25],[57,0],[22,-20],[23,10],[9,-24],[21,10],[10,30],[-8,38],[34,68],[37,-11],[0,37],[25,46],[33,-40],[24,32],[23,9],[15,54],[19,-132],[27,-10],[29,34],[29,-20],[27,-40],[-12,-65],[11,-44],[-11,-40],[13,-11],[4,-65],[-13,-38],[21,-54],[2,-58],[21,10],[-11,-34],[2,-48],[-71,-21],[-6,-34],[-20,19],[-26,-18],[-28,-58],[8,-64],[-26,-8],[-23,71],[-38,47],[-57,-4],[-14,35],[-28,18],[-27,58],[-35,42],[-40,19],[-32,72],[-25,10],[-2,70],[-28,97]],[[3147,79003],[17,23],[22,53],[25,5],[37,40],[9,27],[28,-21],[14,19],[8,44],[22,-19],[3,72],[24,-11],[-17,106],[20,32],[8,-16],[15,18],[-18,35],[4,39],[17,23],[29,-1],[9,-68],[15,7],[-7,50],[13,31],[-53,47],[-14,-21],[-32,81],[0,46],[31,92],[42,50],[36,32],[6,-15],[23,13],[16,-63],[-16,-42],[7,-35],[17,-18],[14,53],[6,-33],[15,29],[-1,41],[18,63],[15,-58],[11,26],[20,-62],[-8,-56],[-23,-13],[-24,-70],[-40,-70],[2,-39],[34,54],[58,64],[4,22],[22,22],[7,-19],[-5,-72],[-16,-51],[-26,-34],[-6,-23],[-45,-51],[-30,-20],[12,-46],[-16,-1],[-4,-61],[-16,17],[-7,-70],[-20,25],[-4,-76],[-36,-13],[-22,30],[-10,-31],[-12,23],[-21,-37],[-6,11],[-44,-73],[-3,-31],[-23,4],[-16,-23],[-13,-60],[-28,23],[-9,-45],[-49,40],[-15,36]],[[3070,93368],[7,34],[34,50],[123,108],[63,74],[48,74],[45,56],[42,64],[84,105],[55,56],[146,167],[172,154],[133,90],[87,45],[135,15],[52,-11],[34,-31],[-41,-11],[7,-38],[-10,-71],[-31,-77],[1,-70],[12,-56],[-21,-59],[-49,-33],[-4,-20],[49,7],[42,-151],[40,-3],[36,32],[42,-1],[49,-30],[47,21],[69,15],[32,-58],[50,21],[18,-34],[52,32],[18,26],[84,-65],[18,59],[26,44],[37,150],[18,26],[40,-9],[8,-39],[32,-12],[31,27],[26,0],[-32,110],[-71,55],[-45,24],[-48,-1],[-60,-60],[13,112],[-3,83],[-62,114],[-22,91],[-26,35],[-59,14],[-8,56],[-32,90],[7,50],[27,18],[10,43],[16,-37],[24,28],[27,-89],[36,-91],[24,-10],[-19,-101],[3,-55],[28,-50],[57,-123],[53,-68],[39,18],[30,28],[9,49],[-45,2],[-10,45],[-56,70],[-53,112],[10,52],[0,60],[14,23],[1,57],[33,93],[30,-32],[22,3],[1,28],[-38,55],[-25,-8],[-28,57],[-87,-29],[-32,-37],[-34,0],[-39,-19],[-34,17],[-20,43],[-17,-16],[-21,23],[-4,-51],[-36,39],[-91,42],[-54,31],[-48,15],[-22,30],[1,98],[-22,163],[-52,216],[-20,58],[-36,62],[-91,101],[-145,228],[-21,24],[-51,87],[-50,49],[-54,37],[-51,23],[-29,35],[-19,70],[-54,84],[-45,40],[-81,41],[-42,-6],[37,40],[92,59],[20,46],[3,57],[19,76],[11,236],[-8,117],[179,-31],[68,6],[144,42],[79,28],[77,15],[77,63],[41,65],[29,30],[53,87],[81,192],[21,92],[7,79],[-2,186],[39,233],[84,183],[65,179],[37,77],[129,162],[96,-35],[69,-3],[68,40],[64,53],[93,104],[74,108],[44,86],[114,188],[33,31],[99,63],[7,-47],[55,-44],[82,-12],[68,15],[13,24],[32,-3],[61,17],[73,51],[74,85],[71,121],[36,88],[86,185],[68,76],[12,-68],[47,-38],[39,-2],[39,-20],[16,-82],[27,41],[99,-49],[15,-98],[-54,-71],[-35,-63],[-41,-4],[12,-146],[81,-15],[44,59],[-7,76],[16,8],[31,67],[23,12],[19,-48],[4,63],[-27,43],[35,55],[21,-47],[-3,65],[15,22],[71,-74],[45,-66],[13,-42],[-11,-33],[1,-109],[9,-49],[61,10],[35,-37],[16,-40],[48,62],[30,75],[112,0],[69,42],[53,-11],[40,-34],[84,-2],[61,-32],[45,-35],[9,-34],[-26,-11],[-26,-83],[-26,-30],[14,-93],[25,5],[19,-24],[45,-6],[10,-28],[69,-20],[33,9],[-17,-43],[9,-25],[-53,-26],[-8,-24],[20,-25],[89,6],[72,-41],[14,-33],[28,5],[44,86],[57,15],[24,-18],[10,34],[40,7],[29,-27],[15,-59],[42,27],[38,8],[58,83],[13,-22],[45,20],[21,-15],[34,26],[12,-30],[66,-8],[62,-72],[28,-1],[19,-24],[26,31],[24,-8],[37,-73],[0,-45],[35,-19],[41,51],[1,-63],[26,57],[81,-77],[14,-67],[24,-23],[49,1],[43,-15],[29,36],[23,-73],[48,-10],[29,45],[43,-12],[62,12],[66,-10],[49,-38],[50,-3],[17,28],[65,-95],[28,-8],[32,-54],[45,-16],[20,-30],[45,-12],[17,-26],[27,32],[66,-20],[45,77],[48,6],[9,20],[84,49],[18,24],[86,30],[42,-25],[48,32],[9,-18],[79,-73],[53,-37],[70,-80],[26,-67],[37,-11],[87,-97],[68,-40],[52,-62],[27,-47],[61,-13],[58,-45],[0,-9012],[2,-971],[-1,-889],[130,-95],[17,100],[135,-145],[81,180],[170,20],[1,-39],[-33,-272],[47,-112],[66,-76],[26,-22],[11,-116],[29,-80],[266,-580],[30,-299],[-8,-93],[22,4],[51,108],[111,158],[11,23],[68,8],[32,139],[-2,209],[30,-19],[18,19],[19,71],[-1,39],[-32,47],[45,48],[68,28],[131,158],[62,-115],[28,-88],[11,-2],[24,-70],[0,-104],[-12,-24],[1,-37],[16,-47],[-5,-42],[18,-76],[73,-38],[5,-66],[32,-73],[24,0],[29,-108],[-6,-69],[26,-20],[-6,-46],[22,-71],[114,-152],[32,-119],[46,-120],[50,-110],[-23,-49],[33,-134],[47,-140],[28,-176],[57,-182],[32,-161],[30,-111],[25,-123],[53,-180],[32,-155],[-33,-140],[89,-52],[-21,-205],[71,-81],[-8,-61],[11,-57],[7,-119],[71,14],[33,-77],[82,-115],[23,-48],[85,-47],[44,-115],[44,-33],[11,-116],[23,-15],[27,-36],[40,23],[28,-143],[-3,-90],[-20,-107],[-18,-67],[1,-60],[10,-38],[-5,-118],[12,-104],[11,-46],[6,-133],[12,-63],[-32,-100],[-24,-122],[-1,-33],[-20,-90],[-23,-77],[-37,-97],[-27,-55],[-19,-14],[3,-46],[-19,-23],[-12,40],[-1,56],[-13,24],[-1,-44],[-12,-22],[-18,18],[-13,52],[-4,108],[3,57],[-17,33],[8,103],[-9,6],[-16,56],[-6,64],[30,63],[17,63],[15,-8],[-3,75],[-11,82],[14,122],[-9,190],[-10,67],[-43,164],[-22,55],[-12,48],[-7,-34],[23,-62],[25,-85],[7,-72],[22,-90],[10,-131],[-16,-43],[-2,-79],[7,-92],[11,-62],[-9,-28],[-11,96],[-8,12],[3,-70],[-4,-74],[-36,-102],[-14,-5],[-24,49],[19,73],[11,73],[-3,38],[-25,-10],[10,-72],[-8,-42],[-33,-56],[-7,1],[-23,108],[-11,-45],[-25,54],[-17,18],[-12,50],[-28,68],[0,76],[31,31],[22,51],[-20,47],[7,75],[-9,39],[23,44],[3,24],[-18,1],[-3,74],[7,43],[-41,-17],[6,-45],[11,-16],[-1,-37],[-13,-85],[-1,-60],[-19,-73],[-18,13],[7,-93],[-10,-43],[-24,52],[-25,22],[-9,30],[-12,132],[-16,70],[21,-29],[7,75],[27,37],[12,147],[-8,102],[10,57],[6,-21],[12,42],[7,92],[-21,-11],[-4,-58],[-19,-30],[-21,-61],[13,-113],[-8,-42],[-33,3],[-12,-43],[3,-30],[-17,-14],[-7,34],[4,67],[-19,23],[-12,128],[-32,-17],[0,-48],[-28,118],[-3,123],[8,25],[25,1],[7,66],[13,49],[30,12],[16,-72],[7,63],[-15,168],[9,3],[30,-45],[4,-59],[11,-32],[6,23],[-9,77],[-22,35],[-19,48],[-3,53],[-11,13],[-12,-25],[-10,49],[-23,32],[-5,57],[12,23],[-4,64],[-22,28],[-37,66],[-13,69],[-15,33],[-13,79],[29,43],[-11,58],[-18,-47],[-19,18],[-2,-27],[-23,58],[-31,8],[-11,56],[-27,-28],[-54,76],[-8,75],[15,73],[18,-22],[33,4],[9,48],[-22,3],[-32,36],[2,35],[-18,125],[13,81],[-24,-10],[-15,19],[-16,53],[7,103],[20,2],[16,-36],[33,-24],[63,-89],[5,15],[-25,58],[-20,19],[-66,130],[-3,95],[-17,-15],[-2,-65],[-20,3],[-39,166],[-55,147],[-11,140],[9,65],[-2,52],[27,41],[-13,100],[-8,-2],[-9,-85],[-20,-30],[0,-42],[12,-22],[-13,-57],[-10,10],[-22,-20],[-25,11],[-36,34],[-7,-15],[-35,36],[-40,174],[-4,110],[-42,140],[-13,79],[19,1],[-11,174],[-19,-56],[1,-58],[-35,132],[-8,177],[-8,92],[-21,135],[-32,116],[-36,37],[-5,-16],[28,-38],[4,-41],[17,-39],[20,-131],[-15,11],[-34,140],[-22,36],[-22,10],[41,-92],[13,-85],[17,-29],[-7,-97],[9,-88],[13,-23],[-5,-24],[27,-124],[3,-55],[25,-139],[2,-32],[-14,11],[27,-204],[9,-85],[1,-69],[-12,8],[-1,-61],[12,-64],[-29,23],[-19,32],[-14,-4],[-18,43],[-15,66],[-10,84],[-22,-16],[-33,50],[-27,-37],[-50,-19],[3,81],[-25,16],[-4,19],[30,39],[-10,69],[5,53],[-28,109],[0,36],[-22,84],[13,24],[-2,90],[-19,64],[-12,10],[15,-131],[-12,-125],[-27,-5],[-42,70],[-26,30],[-15,150],[-11,-68],[-13,-22],[-44,54],[-14,-20],[-10,50],[-12,-18],[-3,-54],[45,-35],[7,7],[45,-44],[33,-66],[30,-104],[-11,-44],[-24,-44],[6,-11],[33,44],[7,30],[27,1],[7,-105],[26,-78],[16,-157],[-19,-44],[-43,-32],[-11,10],[9,47],[-18,16],[-12,-17],[7,-39],[-10,-37],[-43,22],[-11,-23],[5,-60],[-8,-35],[-29,5],[-8,78],[-36,35],[3,15],[-28,74],[-17,19],[-29,-19],[-35,70],[-16,15],[-56,107],[-51,75],[-2,50],[-30,70],[-37,64],[-5,28],[4,75],[-15,48],[-55,121],[-30,47],[-96,89],[-36,71],[-43,66],[-98,104],[-42,49],[-91,144],[-30,39],[5,29],[31,89],[24,-14],[-9,-27],[24,3],[0,43],[21,70],[-22,7],[2,77],[-14,116],[7,35],[22,41],[-5,34],[16,30],[-13,56],[-19,-51],[-2,-59],[-25,-21],[-21,-72],[-1,-49],[-107,-100],[-12,-28],[-28,-28],[-95,22],[-67,36],[-26,32],[-123,125],[-17,56],[18,-10],[34,24],[11,71],[-33,131],[3,42],[-20,-17],[-31,44],[6,-50],[45,-120],[-10,-21],[-54,-51],[-39,0],[-49,55],[-61,24],[-32,23],[-81,40],[-45,11],[-59,-4],[-63,-33],[-77,-12],[-80,-28],[-54,-48],[-39,39],[-45,-26],[-64,-120],[-46,-115],[6,65],[36,103],[62,117],[46,2],[-16,66],[-49,48],[-8,25],[-10,-82],[-26,84],[-26,30],[-17,-9],[-16,27],[-71,19],[9,28],[38,23],[-42,33],[-19,-6],[-2,25],[37,156],[-15,15],[-13,-36],[-29,-22],[-1,-57],[-20,-66],[-39,12],[-70,97],[1,31],[-26,36],[-39,26],[-41,-35],[-22,27],[13,29],[31,32],[25,74],[-14,10],[-18,-49],[-79,-93],[-29,-23],[-38,5],[1,-54],[60,27],[11,-24],[2,-53],[-17,2],[-28,-37],[-18,6],[-41,-38],[-41,-77],[-12,2],[-12,48],[47,77],[-37,-12],[-17,11],[-1,54],[23,83],[13,27],[18,2],[20,-31],[24,17],[22,41],[38,13],[57,58],[42,20],[-9,25],[-19,-2],[1,71],[-11,-49],[-19,-20],[1,30],[25,65],[1,21],[-33,-58],[-45,-47],[-19,-3],[-4,30],[63,112],[-6,38],[-29,-60],[-38,-14],[-12,26],[-15,-49],[-20,-14],[-54,13],[-10,58],[27,19],[11,-9],[18,25],[40,16],[29,28],[23,65],[-25,2],[-14,-46],[-23,-19],[-45,-2],[-18,68],[-12,3],[-17,-69],[-21,-8],[-4,59],[16,26],[17,-6],[-11,44],[-3,55],[13,34],[26,114],[96,6],[-7,38],[-91,-5],[-21,-63],[-27,-26],[-21,-77],[-31,-48],[-23,12],[20,36],[-10,113],[-12,53],[18,30],[-22,10],[-14,-23],[-1,-51],[12,-63],[-14,-63],[1,-41],[-13,-15],[-26,48],[-2,-67],[-27,-45],[-21,22],[0,52],[-11,19],[-7,-73],[-9,15],[4,129],[9,62],[-15,11],[-17,-130],[9,-111],[-4,-29],[-19,-9],[1,49],[-27,34],[-7,-46],[16,-65],[-13,-8],[-38,16],[-34,-48],[-28,9],[-5,31],[14,95],[42,151],[1,53],[49,123],[16,81],[-6,18],[-73,-211],[-1,-35],[-18,-58],[-8,8],[-8,69],[-12,-1],[-3,-81],[-11,-54],[-18,-42],[-3,-64],[-16,-68],[-21,27],[-7,-44],[24,-28],[-5,-91],[10,-8],[19,85],[37,6],[11,-22],[4,-91],[-14,-45],[-31,-32],[-22,-76],[1,-63],[21,20],[17,75],[30,44],[30,-89],[0,-44],[10,-43],[-23,-192],[-26,0],[-9,52],[-19,9],[1,-36],[-27,-44],[0,-17],[28,14],[23,-27],[61,-124],[26,-85],[-15,-77],[-13,-26],[-34,-35],[-17,16],[-14,-18],[-29,-6],[9,51],[-26,67],[9,60],[-17,63],[-16,-126],[0,-62],[-12,-41],[-19,69],[-9,-8],[-7,-59],[-18,-33],[-34,50],[-29,-40],[-15,52],[-27,-21],[-22,5],[-9,28],[24,74],[-9,14],[-27,-38],[-29,-175],[-30,-42],[-9,18],[14,55],[13,84],[-15,172],[-16,5],[-5,-28],[1,-81],[13,-53],[-10,-4],[-10,-72],[-17,11],[-8,-20],[-5,-68],[-11,-17],[4,-47],[25,-31],[-6,-74],[-27,32],[-12,127],[8,37],[-11,78],[-17,6],[6,-52],[-8,-49],[5,-196],[-5,-64],[-27,74],[-1,43],[-16,28],[-34,31],[3,-40],[24,-36],[-1,-63],[-69,-158],[-32,-91],[0,-36],[-16,-10],[-9,-86],[-12,2],[-3,70],[34,211],[0,29],[-26,-65],[-19,-111],[-12,11],[-9,142],[-13,-52],[-11,2],[16,-62],[-5,-80],[-39,0],[-8,-61],[-18,-24],[-22,-55],[7,-43],[-15,-41],[-16,-10],[0,54],[-16,36],[-13,-45],[-1,-53],[-22,-17],[-24,31],[-9,-23],[-21,38],[-7,43],[-12,-36],[-21,-27],[6,-35],[-20,0],[-5,-39],[-41,-7],[-6,76],[-22,-14],[-21,22],[3,22],[-21,8],[-3,70],[8,36],[16,18],[5,71],[32,31],[9,-11],[29,51],[33,3],[0,45],[33,21],[34,62],[31,-9],[-11,69],[22,26],[3,32],[37,102],[-13,15],[-24,-22],[-60,-109],[-30,-20],[-18,-39],[-39,16],[-43,67],[-15,40],[-5,46],[18,117],[13,45],[15,133],[27,79],[17,33],[35,99],[11,98],[0,71],[23,32],[5,156],[4,27],[-18,44],[-22,163],[39,35],[5,27],[63,27],[89,164],[92,118],[51,-161],[41,-16],[13,-27],[34,112],[30,8],[36,-45],[19,10],[63,-48],[65,-20],[30,-55],[-1,27],[-22,63],[-29,36],[-38,-14],[-51,63],[-24,-1],[-40,42],[-25,68],[-39,66],[-29,28],[18,55],[24,9],[31,124],[23,18],[8,60],[46,27],[30,45],[-32,50],[-20,4],[-43,-64],[-11,-49],[-19,-14],[-12,-70],[0,-70],[-18,-31],[-25,19],[-36,7],[-74,-17],[-26,43],[-28,16],[-14,-52],[-87,-84],[-39,-154],[-36,-12],[-19,-31],[-33,2],[-39,-63],[-48,-109],[-1,-29],[26,-124],[-2,-23],[-38,25],[-19,-18],[-30,-52],[-21,-92],[-27,-29],[-32,-74],[-6,-73],[8,-34],[19,-24],[-40,-56],[-9,-67],[-13,-4],[-28,-70],[-19,-7],[-9,28],[-25,-11],[4,-68],[16,-13],[-3,-30],[25,-42],[8,-35],[-12,-73],[-19,-47],[-7,-62],[-25,-21],[-4,-22],[-39,-2],[-15,12],[-40,-31],[-18,3],[-19,-60],[23,16],[15,-20],[15,30],[19,1],[7,-50],[-16,-116],[-19,-16],[-26,-51],[-28,37],[5,-34],[-13,-18],[-18,18],[7,35],[2,75],[-22,71],[3,-119],[-9,-55],[-18,-15],[-13,25],[-6,-35],[16,-28],[-9,-53],[-49,-10],[17,-93],[-8,-32],[-27,-21],[-10,8],[-24,-45],[-12,13],[-36,-37],[5,-26],[20,-18],[-23,-32],[-7,-43],[2,-61],[-12,-44],[-24,-35],[24,-26],[-6,-59],[10,-60],[27,63],[59,-23],[16,22],[12,-22],[15,25],[22,-78],[19,-27],[19,13],[23,-34],[18,-53],[8,-53],[15,-22],[-28,-14],[-14,-118],[-12,-39],[-30,-25],[-11,-55],[-24,-33],[-48,0],[-15,-17],[-4,-94],[-12,-33],[-27,1],[-5,-20],[10,-79],[11,-32],[-27,-36],[-20,15],[-2,-45],[20,-46],[-11,-81],[-21,-30],[-6,-33],[9,-24],[-23,0],[-14,-52],[-26,66],[-9,-7],[5,-57],[-4,-40],[-21,-3],[-12,-43],[-17,16],[0,27],[-20,-1],[-4,-39],[-22,-24],[-23,31],[-28,-17],[-35,-69],[15,-52],[-9,-51],[-40,-44],[-28,-2],[1,-53],[14,-25],[-6,-40],[-20,-16],[-36,59],[-10,30],[-20,-20],[-5,-63],[1,-69],[-26,-27],[-3,-97],[-65,-7],[-21,24],[-2,-74],[8,-71],[-20,0],[-12,37],[-21,3],[-4,-39],[-32,-27],[-39,-92],[-15,-12],[-5,-44],[13,-11],[47,64],[4,-50],[-6,-53],[-15,-7],[0,-31],[18,-38],[-10,-38],[-18,-26],[-2,-49],[-26,-44],[-8,-32],[2,-42],[-32,14],[-31,-28],[-4,-70],[-12,-12],[-19,75],[-8,-53],[-27,-42],[-11,-53],[-24,-6],[5,-50],[-17,-27],[-25,43],[-24,67],[-22,-16],[0,-51],[11,-5],[1,-36],[-29,-10],[-13,-67],[6,-32],[18,-6],[5,-52],[-36,-4],[-24,-15],[-17,77],[-51,-38],[-18,-51],[-16,-3],[-9,-49],[19,-1],[27,25],[20,-17],[6,-54],[-16,-47],[-43,44],[-23,11],[-5,-70],[-33,6],[-23,21],[-20,-33],[-27,-88],[2,-44],[47,-20],[32,-36],[-3,-29],[-32,-42],[1,-23],[18,-4],[25,31],[16,-7],[-55,-78],[-23,-63],[1,-52],[-13,50],[-10,-17],[16,-66],[-6,-50],[-7,39],[-10,-2],[-2,-53],[-25,80],[0,95],[-19,-60],[8,-73],[-4,-67],[-24,-6],[3,58],[-35,1],[-16,-80],[-25,-9],[-75,-43],[-29,-22],[-7,-22],[-3,-74],[-17,46],[5,80],[-23,-19],[10,-30],[1,-104],[-16,-71],[6,-46],[-24,-81],[-32,-30],[2,52],[24,4],[-1,40],[-10,4],[2,111],[18,72],[-29,39],[-28,12],[-13,-18],[3,-45],[-12,-21],[-13,22],[-25,-13],[-9,-82],[-35,-74],[-26,-20],[-37,28],[-6,-29],[11,-44],[-20,-81],[1,-31],[-21,-37],[-12,105],[-10,13],[-14,-37],[-11,14],[-18,-31],[31,-13],[-2,-68],[-32,-10],[-16,25],[5,39],[-13,24],[-22,-22],[-19,-90],[-61,-85],[-26,2],[-11,29],[-26,-29],[-13,4],[10,156],[29,96],[1,46],[-15,16],[-31,-2],[-24,-29],[-24,-101],[4,-129],[-40,-140],[-7,-12],[-14,-85],[-21,36],[-19,-12],[13,-65],[10,-17],[1,-56],[-25,-38],[-19,33],[0,45],[-16,15],[-13,-60],[10,-49],[-17,-47],[-14,27],[-32,-8],[-16,18],[-14,74],[32,6],[-21,47],[-8,104],[-21,56],[-11,7],[-16,-33],[-10,-65],[7,-27],[14,0],[18,-70],[-11,-46],[14,-95],[0,-52],[-22,30],[-20,-19],[3,-26],[-17,-30],[-18,-7],[-22,28],[-16,59],[4,36],[-13,56],[-21,37],[-31,-25],[-10,-56],[49,-85],[4,-31],[-50,-111],[-24,-21],[-20,-33],[16,-56],[27,2],[9,24],[22,-50],[13,-83],[-26,6],[8,34],[-17,6],[-10,-28],[-16,22],[-17,62],[-25,-39],[2,-69],[-18,-1],[-28,-50],[-23,18],[-37,10],[-45,-5],[-34,-14],[-41,-40],[-29,-71],[-4,-69],[-29,-53],[-51,-33],[-29,3],[-28,28],[-9,30],[-9,74],[-10,30],[-1,55],[8,29],[44,41],[14,25],[23,110],[19,110],[-1,29],[22,54],[14,13],[25,-46],[38,39],[25,49],[25,0],[37,81],[34,20],[36,-14],[31,5],[1,-37],[28,-72],[9,-61],[-5,-50],[27,24],[-8,52],[2,37],[30,-30],[-15,42],[2,77],[-10,109],[32,46],[26,21],[42,-15],[21,14],[10,69],[-16,4],[4,28],[18,10],[7,38],[18,-4],[26,99],[3,-32],[15,-20],[21,48],[-5,83],[-20,-9],[27,68],[64,206],[33,52],[23,62],[19,13],[27,42],[25,68],[27,14],[35,39],[37,20],[89,70],[30,-9],[10,18],[45,5],[10,-10],[-20,-27],[-1,-47],[14,-2],[-3,-49],[-29,-18],[-3,-85],[38,-98],[11,22],[27,-39],[4,19],[-29,53],[-3,85],[-6,32],[26,-28],[57,3],[7,-86],[23,7],[26,-36],[7,22],[-14,40],[27,15],[-56,89],[-32,36],[1,58],[-16,-7],[39,166],[15,123],[11,56],[23,44],[36,96],[18,13],[40,74],[30,81],[82,96],[41,74],[35,39],[68,106],[17,42],[29,-68],[19,-14],[31,19],[8,59],[-13,47],[-2,46],[15,122],[29,108],[41,130],[24,62],[22,37],[40,41],[21,52],[22,87],[14,15],[26,62],[30,25],[8,-74],[18,-15],[4,41],[-10,105],[-23,-2],[-6,34],[2,95],[9,59],[25,409],[14,42],[38,16],[12,53],[-20,-9],[-34,77],[-3,62],[9,97],[20,106],[27,33],[29,101],[49,102],[4,57],[19,93],[-5,45],[13,33],[-3,43],[13,38],[-20,0],[-11,-32],[0,-38],[-21,-53],[-28,-31],[-38,-27],[-21,-31],[-29,-22],[-5,-21],[-41,-28],[-44,-61],[-79,-73],[-26,5],[-28,53],[-5,73],[-20,49],[-40,38],[2,46],[11,17],[9,167],[-12,-3],[-25,-101],[-41,-54],[-6,-58],[5,-58],[-8,-37],[-14,-12],[-3,-32],[9,-80],[16,-91],[19,-76],[-26,-87],[-28,-21],[-42,32],[-39,161],[-47,208],[-26,73],[-23,42],[-31,13],[16,65],[-16,44],[-25,-9],[-6,-87],[-15,7],[1,-65],[-29,-30],[-24,79],[3,26],[-19,19],[-11,-30],[-16,6],[-1,59],[-22,-18],[-25,61],[18,47],[-17,89],[-44,-52],[-46,-72],[-31,-62],[-20,-95],[-13,57],[-36,-33],[-94,-124],[-10,-41],[0,-49],[-41,-38],[-8,-26],[-22,-10],[-15,-44],[-20,-15],[-4,55],[-29,45],[-54,-20],[-29,33],[49,47],[15,-39],[18,12],[5,50],[25,77],[3,60],[-8,85],[1,81],[-16,74],[5,21],[-16,20],[-29,97],[-20,139],[29,128],[21,23],[24,79],[24,26],[-15,77],[-18,44],[-15,64],[-10,107],[-50,162],[-3,74],[-25,67],[-10,63],[-30,85],[-10,44],[-22,9],[-11,-37],[-2,-74],[6,-37],[-8,-56],[-12,-21],[-27,-10],[-18,21],[-19,-54],[-36,-29],[-50,-68],[-73,-48],[-88,-28],[-75,10],[-51,38],[-13,32],[-13,99],[23,18],[-18,69],[-54,62],[-32,108],[-5,34],[-33,51],[-18,62],[-42,8],[-31,42],[-47,110],[23,32],[24,55],[-2,36],[-24,6],[-38,-54],[-48,10],[-16,51],[11,32],[32,1],[57,128],[10,-4],[17,45],[-16,34],[-4,41],[32,24],[-27,7],[5,70],[27,78],[-17,3],[-18,-48],[-40,42],[-6,40],[22,49],[27,-6],[19,23],[0,45],[-17,-21],[-30,32],[-16,54],[2,23],[-20,7],[-13,35],[-10,-14],[-12,-99],[-14,-6],[-38,16],[-10,21],[-10,66],[1,129],[-11,19],[-43,10],[-18,37],[-10,98],[42,44],[6,38],[-17,46],[-30,31],[-45,-27],[0,-46],[-21,23],[-9,88],[8,147],[6,11],[-2,-107],[92,47],[0,19],[-35,20],[-20,28],[-24,82],[2,18],[36,19],[55,-8],[33,25],[-29,134],[-4,46],[3,84],[21,77],[101,278],[4,29],[27,77],[29,61],[5,70],[18,67],[21,34],[19,-4],[9,23],[-11,115],[26,188],[18,70],[38,61],[-18,24],[4,22],[58,133],[60,46],[48,11],[42,-45],[43,-11],[32,-84],[24,-6],[6,-26],[54,-88],[73,24],[61,124],[4,47],[44,29],[63,172],[23,89],[23,39],[-9,58],[14,5],[28,-28],[22,-5],[13,-77],[52,0],[45,20],[26,-20],[77,28],[48,38],[9,51],[56,128],[38,135],[0,71],[-12,81],[-23,95],[-17,121],[-1,118],[-5,52],[-71,157],[-9,32],[-41,28],[-27,1],[10,97],[27,33],[14,-25],[35,-20],[51,7],[-10,45],[31,10],[41,81],[2,114],[-42,122],[-47,68],[-25,48],[-1,-32],[-27,-48],[-20,-86],[-42,-30],[-42,42],[-59,-93],[-81,-34],[-18,-71],[-85,-103],[-21,-70],[-5,-99],[-44,-70],[-4,93],[-15,110],[-23,50],[-28,-3],[4,34],[-32,46],[-9,36],[-38,-60],[16,-45],[21,-7],[16,-39],[24,11],[2,-48],[-22,-81],[-19,-11],[-22,82],[-55,76],[-41,33],[-64,13],[-41,-27],[-27,12],[-52,3],[-45,-22],[-108,-112],[-58,-17],[-111,74],[-94,45],[-47,14],[-88,40],[-49,79],[-20,96],[1,74],[20,36],[-6,64],[-28,63],[-45,56],[-1,59],[-46,64],[-10,56],[39,-33],[33,3],[9,27],[24,15],[16,32],[-3,55],[35,61],[-38,63],[-19,9],[-29,-16],[-39,15],[-64,52],[-104,21],[-49,52],[-38,63],[-55,60],[-46,30],[-15,93]],[[2812,78476],[27,27],[-1,59],[18,0],[10,36],[0,57],[21,33],[5,57],[-10,16],[11,87],[46,106],[16,-26],[27,16],[28,-3],[-9,65],[-12,5],[9,77],[-6,26],[18,76],[40,67],[54,37],[29,-53],[31,1],[2,-23],[-21,-74],[5,-60],[-55,-95],[-65,-72],[-19,-66],[-1,-36],[-28,-81],[-15,-58],[-25,-10],[-28,-71],[-15,-17],[-4,-51],[-15,21],[-27,-49],[-54,-69],[13,45]],[[2752,78371],[29,49],[-1,-45],[-26,-25],[-2,21]],[[2615,78610],[4,50],[19,16],[4,-44],[-9,-45],[-12,-8],[-6,31]],[[2607,82847],[50,-13],[29,5],[10,-14],[-27,-68],[-23,4],[-9,46],[-20,10],[-10,30]],[[2611,78728],[8,-39],[-15,13],[7,26]],[[2547,78457],[17,17],[23,-3],[-2,19],[27,23],[19,-10],[10,-25],[-17,-105],[-30,50],[-25,-29],[-19,14],[-3,49]],[[2517,78521],[8,26],[23,-16],[1,-31],[-14,-31],[-13,16],[-5,36]],[[2497,78313],[4,72],[33,-18],[-7,-57],[-30,3]],[[2431,83489],[9,43],[22,15],[12,-10],[29,22],[-2,-56],[-32,-62],[-5,31],[-33,17]],[[2316,78170],[5,42],[40,72],[31,-27],[1,-27],[-13,-58],[-19,2],[-17,-26],[-15,-48],[-15,21],[2,49]],[[2228,78152],[9,-32],[-16,2],[7,30]],[[2183,78046],[17,42],[16,-37],[-12,-55],[-19,-1],[-2,51]],[[2036,90914],[2,37],[25,87],[-3,75],[8,18],[-5,57],[21,3],[8,-42],[-4,-48],[12,-34],[64,-57],[77,-48],[55,-20],[58,87],[58,58],[58,-14],[29,-69],[23,-15],[15,-104],[-2,-38],[53,-56],[56,-14],[22,-32],[9,-35],[36,-20],[88,-20],[14,6],[102,-55],[-27,-131],[-22,-43],[-51,35],[-43,-1],[-50,-29],[-44,-89],[-10,-61],[1,-53],[-20,-46],[-30,22],[3,24],[-26,119],[-32,62],[-50,60],[-39,-5],[-11,69],[-17,55],[-54,80],[-86,69],[-65,11],[-47,-44],[-18,-58],[-36,-34],[-28,33],[-49,36],[-24,83],[-7,56],[3,73]],[[1818,77819],[15,59],[33,49],[12,-2],[27,-39],[-1,-41],[-28,-51],[-32,-27],[-22,-1],[-4,53]],[[1695,87369],[6,69],[25,52],[11,-3],[-4,-58],[12,-54],[33,-70],[48,-63],[22,-14],[25,13],[57,-94],[-21,-19],[-9,37],[-51,8],[-26,-17],[-33,46],[-58,136],[-37,31]],[[1687,87598],[8,-5],[5,-84],[-20,42],[7,47]],[[1421,77626],[35,0],[33,-31],[9,30],[14,-2],[33,27],[25,-1],[-6,-28],[10,-29],[8,15],[31,-24],[23,16],[10,-11],[32,11],[5,-12],[41,-7],[-25,-23],[-16,6],[-14,-22],[-44,-1],[-22,-35],[-8,16],[-16,-19],[-19,4],[-18,25],[-52,3],[-9,-15],[-29,19],[-10,49],[-11,-1],[-10,40]],[[1064,77503],[55,37],[11,-28],[25,50],[3,-22],[19,38],[5,29],[18,-29],[27,8],[8,34],[6,-24],[35,37],[1,42],[44,10],[-13,41],[43,-5],[13,34],[-1,36],[-32,7],[-23,29],[5,26],[21,-16],[12,36],[-2,39],[38,46],[33,-32],[22,-76],[1,-31],[-21,-85],[-34,8],[-4,-43],[33,-79],[-3,-24],[-15,21],[-17,-10],[-4,-27],[-16,-4],[-20,23],[-19,-95],[-25,31],[-64,-55],[-13,29],[-29,12],[-23,-6],[-13,-35],[-22,-8],[-33,6],[-32,25]],[[1013,77451],[17,17],[7,-29],[-22,-4],[-2,16]],[[1005,77685],[16,-19],[-11,-12],[-5,31]],[[949,77433],[5,9],[40,-3],[1,-26],[-19,3],[-22,-24],[-5,41]],[[890,77452],[11,14],[28,-1],[15,-90],[-16,5],[-17,49],[-21,23]],[[821,77563],[14,45],[26,-9],[23,-80],[-20,-38],[15,-56],[-13,-34],[-18,-2],[-18,22],[3,57],[-7,2],[-8,77],[3,16]],[[811,77269],[5,56],[12,10],[10,-27],[19,10],[-12,22],[34,30],[10,-23],[-2,-55],[-23,0],[13,-52],[-29,29],[2,-40],[-12,12],[-5,-39],[-7,45],[-15,22]],[[601,77040],[11,67],[15,16],[7,36],[-13,66],[4,27],[32,7],[7,59],[-13,69],[10,45],[15,4],[18,-20],[19,59],[9,-14],[3,-74],[-20,-29],[-2,-50],[13,-20],[19,4],[31,26],[30,5],[7,-64],[-7,-88],[-15,-12],[-36,18],[-13,-52],[-18,-12],[-13,-41],[-23,31],[-6,-25],[6,-48],[-11,17],[-13,-26],[-4,55],[-14,29],[-19,-108],[-14,11],[-2,32]],[[469,77371],[13,9],[2,-26],[-14,-17],[-1,34]],[[402,77131],[18,33],[24,-17],[26,34],[50,39],[21,43],[2,128],[12,16],[16,-10],[15,-44],[-26,-98],[5,-86],[-7,-38],[-33,-31],[-36,61],[-27,-33],[-40,-10],[-1,-43],[-10,5],[-9,51]],[[257,77332],[8,29],[29,17],[39,-5],[11,-42],[-2,-30],[19,-32],[15,17],[18,-17],[33,34],[-10,-40],[-41,-32],[-12,-71],[4,-31],[-12,-31],[-8,16],[-9,-44],[8,-57],[-8,-5],[-9,56],[-14,-24],[-16,48],[-13,8],[4,28],[41,25],[-3,64],[-20,1],[-13,34],[-39,66],[0,18]],[[130,77016],[32,-12],[-3,-18],[-27,7],[-2,23]],[[81,76979],[27,-17],[7,-23],[-25,5],[-9,35]],[[77,77233],[14,52],[20,-35],[0,-61],[-19,-10],[-15,54]],[[43,76751],[8,25],[10,-22],[5,-50],[-12,-2],[-10,-32],[-1,81]],[[3,76640],[12,18],[6,-59],[-18,-25],[0,66]],[[99917,77451],[12,-2],[12,35],[26,14],[31,-61],[-9,-68],[-24,-42],[-12,-5],[-25,29],[-11,29],[0,71]],[[99678,77049],[5,24],[26,-29],[19,3],[27,-24],[4,-31],[24,-42],[27,-78],[25,-26],[11,-57],[44,-11],[21,-33],[-18,-19],[-9,14],[-29,-16],[-15,41],[-41,72],[-30,101],[-30,43],[-17,-8],[-22,25],[-22,51]],[[99628,77446],[9,11],[20,-16],[11,-33],[-14,-49],[-10,-4],[-16,91]],[[99570,77271],[19,-7],[21,-67],[-22,15],[-18,59]],[[99530,77510],[7,22],[17,-22],[3,-34],[-17,-20],[-10,54]],[[99282,77351],[24,27],[15,50],[39,26],[6,63],[16,96],[11,18],[20,-52],[-12,-32],[-8,-57],[-20,-53],[21,-18],[0,-35],[-13,-10],[-42,17],[-17,-31],[-4,-70],[-11,2],[-25,40],[0,19]],[[98911,77903],[26,-13],[-18,-27],[-8,40]],[[98408,78327],[22,-8],[3,-26],[-24,15],[-1,19]],[[98376,78346],[14,-8],[0,-29],[-14,37]],[[98352,78374],[20,-27],[-12,-2],[-8,29]],[[98210,77943],[6,31],[19,27],[23,-6],[26,67],[41,5],[-17,-40],[-5,-37],[10,-104],[-21,0],[-17,52],[-35,-19],[-30,24]],[[97960,78551],[47,86],[33,11],[100,-20],[29,-63],[24,-15],[35,-94],[2,-18],[-35,-8],[-21,38],[-17,-71],[-9,-13],[-38,15],[-26,-41],[-27,32],[-12,40],[-3,63],[-32,56],[-35,-24],[-15,26]],[[13347,81071],[9,23],[10,-28],[-5,-52],[-16,34],[2,23]],[[13279,80906],[61,56],[7,-80],[13,-14],[-20,-68],[-24,-1],[-33,63],[-4,44]],[[13241,80901],[26,65],[8,-25],[-26,-58],[-8,18]],[[13234,81005],[16,62],[-2,43],[13,20],[-14,43],[-2,70],[5,39],[11,9],[19,-32],[5,-35],[13,-7],[17,-40],[0,-165],[-9,-34],[-27,-2],[-13,32],[-23,-36],[-9,33]],[[13172,81388],[4,66],[6,1],[52,-135],[-12,-28],[-1,-68],[-15,-111],[-23,74],[-9,113],[-2,88]],[[12999,82714],[4,48],[9,-30],[-13,-18]],[[12979,82569],[2,29],[21,40],[21,-38],[-1,-22],[-24,-37],[-19,28]],[[12954,82690],[20,33],[17,52],[-5,-50],[-18,-75],[-14,40]],[[12888,80934],[18,6],[-4,-53],[-14,47]],[[12850,82395],[7,53],[10,-24],[22,-97],[10,-68],[-13,-15],[-21,61],[-9,4],[-6,86]],[[12838,82543],[18,86],[21,30],[30,-20],[24,22],[28,-42],[4,-36],[-18,-53],[6,-82],[-16,-19],[-44,-22],[-23,65],[-24,29],[-6,42]],[[12768,81460],[21,27],[-2,-46],[-16,-11],[-3,30]],[[12700,80811],[9,0],[10,-128],[-15,29],[-4,99]],[[12674,81692],[9,23],[1,61],[20,-30],[1,-32],[-22,-72],[-9,50]],[[12659,81749],[12,9],[-1,-36],[-11,27]],[[12637,81497],[8,92],[8,25],[32,-9],[10,-16],[-2,-35],[-16,-42],[8,-16],[20,40],[5,43],[13,-19],[19,68],[19,-2],[16,-39],[-5,-60],[-15,-35],[-19,15],[-13,-35],[17,-22],[-2,-37],[-22,-21],[-22,-50],[-9,-97],[-23,78],[17,61],[-1,78],[-29,51],[-14,-16]],[[12629,82086],[11,22],[24,102],[28,10],[11,20],[-22,13],[-1,47],[15,-22],[9,34],[-36,62],[14,29],[-10,86],[23,49],[45,-24],[71,-17],[24,-82],[11,-73],[-5,-69],[14,-6],[13,-68],[17,-48],[17,5],[57,-119],[12,-52],[33,-111],[3,-126],[29,-29],[8,-82],[8,-32],[31,-50],[13,-58],[-10,-6],[-19,46],[-75,98],[-3,-31],[-23,-74],[11,-8],[14,47],[8,-19],[23,10],[5,-37],[20,-13],[10,-29],[-38,-14],[8,-36],[32,21],[14,-52],[16,-14],[11,-87],[8,-9],[-12,-49],[-20,9],[2,-32],[22,-22],[11,8],[3,46],[14,36],[9,-21],[5,-91],[-15,-34],[4,-36],[-22,-94],[-29,-40],[18,-23],[27,59],[15,-10],[0,-203],[7,-72],[-20,-105],[-37,-9],[-26,48],[-14,-19],[-17,38],[-1,37],[-38,-2],[17,53],[27,-10],[1,39],[-19,42],[-19,13],[-35,78],[9,38],[10,115],[-15,9],[-11,-58],[7,101],[8,28],[-11,39],[-5,-55],[-27,-21],[14,-103],[-18,-58],[-47,56],[-4,35],[17,58],[-18,100],[-20,-5],[-10,50],[-21,3],[12,-78],[18,-65],[6,-72],[-7,-36],[15,-17],[20,-145],[24,-26],[-4,58],[24,18],[28,-65],[4,-124],[-14,-16],[-18,74],[-7,-7],[23,-170],[-29,0],[-26,32],[-2,60],[-20,40],[-49,177],[-10,22],[-2,84],[-12,10],[-8,61],[29,8],[-27,33],[3,119],[-33,-28],[-10,26],[-18,-19],[-9,42],[6,84],[33,30],[11,-63],[17,20],[-13,29],[6,39],[14,20],[14,-14],[22,44],[-29,96],[14,12],[-16,32],[4,66],[-24,-21],[-49,87],[-4,28],[16,-1],[-9,50],[3,35],[-27,18],[6,-57],[-10,-13],[-32,39],[-16,58],[12,52],[28,14],[37,-54],[28,35],[-17,67],[-18,16],[-12,-20],[-9,17],[8,30],[-2,42],[7,63],[-5,16],[-13,-47],[-27,-65],[-22,-33],[-23,38],[-5,45]],[[12611,83642],[15,25],[14,-33],[-27,-31],[-2,39]],[[12594,82026],[14,28],[11,-6],[4,-52],[-8,-48],[-10,3],[-11,75]],[[12476,82024],[28,22],[1,-43],[31,33],[8,75],[7,-2],[-9,-101],[-22,-24],[-20,-56],[-18,17],[8,30],[-14,49]],[[12463,83115],[17,52],[16,17],[7,33],[33,-1],[1,26],[28,-40],[11,-83],[18,-54],[31,-2],[9,-21],[10,26],[-29,44],[-13,80],[-2,55],[-35,79],[11,53],[34,26],[51,-37],[25,-9],[47,-44],[31,-20],[7,14],[57,-11],[30,-74],[14,-82],[3,-56],[9,-23],[23,-11],[16,-48],[5,-46],[33,-52],[9,-64],[15,-34],[-31,-38],[-20,-42],[-26,-24],[-16,16],[-31,4],[-43,24],[5,-48],[-23,-51],[-40,25],[-19,29],[-12,-47],[-15,-20],[-25,-2],[-17,15],[-3,87],[-11,32],[-30,-64],[13,-29],[-2,-90],[-23,-3],[-2,-31],[10,-51],[-11,-51],[-2,-62],[-17,-50],[4,-39],[-9,-64],[-10,-11],[-25,15],[-14,-103],[-15,19],[-12,52],[-7,63],[-1,109],[-10,87],[2,75],[14,48],[-3,57],[15,101],[-12,28],[-22,-1],[5,77],[-20,56],[-8,75],[2,43],[-5,91]],[[12311,84926],[43,-96],[7,-47],[14,-9],[8,-130],[19,1],[21,38],[11,-23],[20,-2],[21,-29],[54,13],[-3,-89],[25,-75],[2,-52],[21,-52],[14,-87],[17,-55],[2,-142],[21,-60],[4,-65],[-9,-2],[-5,47],[-38,120],[-10,115],[-19,37],[-9,53],[-21,0],[26,-101],[4,-34],[-13,-23],[35,-121],[23,-49],[-2,-62],[24,-113],[-19,6],[15,-102],[0,-27],[-25,-62],[-20,26],[-17,-1],[4,-34],[-21,-104],[-38,-83],[-24,-25],[-2,-33],[-31,-65],[-29,3],[-9,89],[-4,135],[21,80],[15,23],[-16,31],[-1,69],[14,6],[12,-39],[6,23],[-40,141],[-1,58],[-18,60],[-5,82],[-11,43],[8,125],[-12,81],[-3,95],[-11,91],[4,44],[-20,93],[-17,45],[-9,77],[-6,101],[3,42]],[[12292,85061],[35,-45],[27,-125],[-10,-5],[-22,115],[-23,19],[-7,41]],[[12202,85643],[15,-71],[0,-46],[-10,29],[-5,88]],[[12106,83714],[16,11],[1,26],[28,65],[-4,68],[36,64],[18,-12],[25,-85],[15,10],[18,-58],[23,-24],[38,4],[22,-14],[12,-79],[-2,-49],[-20,35],[-19,-2],[-1,-22],[21,-25],[11,-46],[29,-278],[-1,-71],[12,-56],[0,-58],[18,-142],[5,-107],[-5,-112],[-11,1],[8,-81],[3,-240],[-9,-111],[-11,6],[-28,70],[-10,86],[-21,59],[-40,212],[4,48],[22,23],[-18,30],[-26,-31],[-14,88],[-11,-15],[-17,42],[-12,55],[2,34],[-14,-22],[-10,24],[-30,2],[-19,96],[19,3],[10,-29],[10,13],[-3,105],[19,53],[6,38],[-39,86],[24,63],[-4,22],[14,35],[4,53],[-33,16],[-21,-28],[-14,79],[-26,72]],[[12097,84881],[16,18],[19,-7],[16,-52],[-29,-6],[-22,47]],[[12062,83572],[4,48],[-3,66],[25,9],[34,-62],[15,-74],[12,-19],[17,30],[23,-10],[-16,-82],[-24,-14],[-27,-161],[-12,6],[-40,-30],[-9,8],[3,102],[25,47],[1,50],[-22,4],[2,29],[-13,31],[5,22]],[[11978,85151],[9,14],[7,-59],[-16,45]],[[11978,84786],[30,41],[3,-53],[-16,-19],[-17,31]],[[11861,84371],[5,174],[16,33],[8,-9],[29,60],[3,51],[-12,92],[32,-2],[0,-54],[12,-60],[28,61],[29,-6],[17,-20],[17,49],[36,50],[14,-55],[41,-30],[25,-53],[-12,-78],[-31,-76],[4,-49],[12,-5],[8,60],[32,108],[15,12],[34,-55],[46,-10],[11,-32],[29,-16],[15,-79],[-4,-67],[-22,-44],[-37,49],[-10,-8],[12,-40],[18,-18],[33,-75],[-21,-29],[-25,-2],[4,-28],[21,-13],[23,24],[7,-95],[14,-69],[12,-143],[-14,-42],[-42,-11],[-17,12],[-44,95],[-65,99],[-27,50],[-22,-26],[-9,29],[-4,-32],[30,-55],[22,-8],[-21,-31],[6,-25],[0,-72],[-9,-50],[-31,-87],[-51,47],[-1,38],[-42,85],[-20,90],[-12,-38],[-19,43],[-10,79],[4,25],[-18,86],[2,24],[-16,57],[-26,30],[-7,49],[-25,36]],[[9331,87212],[28,-14],[12,-44],[-27,-9],[-13,67]],[[9232,87245],[16,14],[58,-26],[-3,-31],[-21,-10],[-50,53]],[[8867,87809],[26,35],[27,3],[15,-16],[-18,-53],[-50,31]],[[8817,87545],[4,86],[28,16],[21,-89],[-11,-44],[-37,-10],[-5,41]],[[8816,87079],[2,14],[43,47],[1,-36],[-40,-59],[-6,34]],[[8698,86532],[8,21],[3,71],[23,12],[-3,42],[21,54],[16,7],[-3,41],[30,34],[9,30],[43,75],[22,118],[27,44],[-3,40],[10,71],[27,34],[4,-43],[24,2],[-17,-51],[9,-17],[24,28],[8,-22],[-11,-37],[-62,-118],[-49,-129],[-8,-80],[-33,-60],[30,-57],[-19,-42],[-23,-8],[-22,15],[-17,-57],[-9,6],[-45,-47],[-14,23]],[[8692,87068],[44,270],[11,-41],[12,13],[-4,66],[44,84],[0,-54],[-12,-32],[-3,-82],[-20,-37],[20,-42],[-24,-97],[2,-46],[-17,-104],[-24,45],[-3,25],[-25,7],[-1,25]],[[8672,87628],[15,31],[17,-19],[17,-48],[-24,-45],[-25,81]],[[17950,55027],[5,31],[24,-13],[25,26],[-2,40],[18,63],[1,79],[-15,136],[-16,8],[-7,-13],[-13,25],[-3,-17],[-14,68],[7,67],[2,142],[-15,41],[9,65],[-8,51],[19,9],[28,138],[9,24],[-4,46],[4,110],[8,12],[-2,74],[-7,64],[1,51],[6,6],[-2,55],[-7,20],[28,116],[0,69],[8,28],[23,29],[10,40],[17,21],[1,19],[25,65],[-1,49],[-11,54],[-14,19],[-31,100],[-13,7],[2,58],[-26,239],[-23,63],[-7,69],[-16,57],[1,147]],[[17974,57684],[6,95],[-10,22],[21,43],[0,72],[-9,178],[-6,65],[-11,47],[-4,58],[6,36],[0,103],[-9,38],[3,39],[-7,31],[3,51],[-5,59],[4,56],[9,24],[-10,31],[-12,97],[4,43],[-7,80],[25,31],[9,29],[5,-14],[12,25],[17,-1],[2,-25],[24,19],[13,-3],[18,-71],[-2,-28],[21,-51],[24,11],[24,183],[5,15],[1,230],[-2,272],[0,437]],[[18136,60011],[200,0],[222,0],[313,1],[97,1],[160,2],[6,-7],[235,0],[162,1]],[[19531,60009],[0,-1691],[-1,-237],[1,-30],[0,-925],[-1,-608],[1,-145],[-1,-113],[0,-2847]],[[19530,53413],[-64,2],[-201,-1],[-128,-1],[-172,0],[-359,476],[-212,269],[-102,136],[-368,471],[5,66],[-5,17],[1,60],[8,16],[17,103]],[[19530,64667],[242,0],[154,2],[327,0],[66,-5],[137,-1],[242,1],[7,2],[217,2]],[[20922,64668],[282,1],[135,0],[140,0],[0,-1163]],[[21479,63506],[1,-381],[0,-434],[1,-193],[0,-1270],[1,-137],[0,-1089]],[[21482,60002],[-183,3],[-22,5],[-62,1]],[[21215,60011],[-204,-3],[-169,-5],[-184,0],[-34,2],[-301,-1],[-186,-2],[-2,9],[-152,-1],[-230,-1],[-222,0]],[[19531,60009],[0,583],[1,36],[0,738],[-5,129],[0,517],[2,216],[0,1857],[1,46],[0,536]],[[27414,45876],[14,60],[5,-33],[-14,-44],[-5,17]],[[27386,45813],[9,39],[11,4],[-5,-33],[-15,-10]],[[27310,45701],[52,90],[6,-30],[-45,-80],[-13,20]],[[27118,45540],[19,106],[20,46],[25,43],[3,23],[36,66],[38,-67],[4,-52],[14,-43],[-4,-11],[-40,-48],[-3,27],[-27,-5],[-3,-24],[-46,-73],[-36,-15],[0,27]],[[27062,45510],[39,24],[-10,-43],[-17,-14],[-13,8],[1,25]],[[27020,45533],[6,35],[12,-10],[-5,-41],[-13,16]],[[26992,48019],[5,-18],[19,-211],[8,-28],[17,-26],[7,17],[14,-21],[-14,-31],[-9,-1],[-21,50],[-7,28],[-13,115],[-6,76],[0,50]],[[26806,45614],[15,13],[4,-23],[-20,-10],[1,20]],[[26322,51623],[29,47],[0,-29],[-16,-37],[-11,-6],[-2,25]],[[26229,53027],[6,-79],[11,-52],[2,-83],[6,-75],[14,-48],[136,-25],[261,-56],[206,-51],[135,-34],[-5,-14],[2,-57],[7,-26],[-3,-71],[11,-76],[37,13],[0,75],[6,47],[3,119],[-12,91],[4,60],[-1,49],[8,16],[-4,24],[12,-8],[9,59],[15,-7],[7,-33],[17,-3],[18,-28],[7,-25],[33,-19],[17,-18],[14,15],[13,-19]],[[27221,52688],[4,-13],[-4,-113],[3,-92],[-4,-22],[10,-25],[4,-95],[1,-113],[23,-389],[13,-129],[0,-51],[28,-302],[32,-288],[29,-229],[65,-412],[38,-200],[4,-63],[10,-83],[-18,-57],[-4,-54],[-1,-87],[5,-130],[6,-96],[16,-145],[35,-269],[15,-166],[5,-84],[5,-29],[11,-140],[17,-152],[9,-66],[6,-94],[13,-109],[17,-258],[-1,-235],[-7,-175],[-5,-210],[-3,-37],[-8,-286],[0,-169],[-3,-80],[-7,-81],[0,-44],[-6,23],[3,51],[-5,20],[-16,-25],[-10,-102],[-6,-17],[-1,-64],[-8,-40],[-2,-78],[5,-33],[-2,-46],[6,-16],[-8,-53],[-8,-13],[-1,-49],[21,39],[25,194],[7,41],[0,-41],[-8,-83],[-34,-222],[-9,-82],[-25,-93],[-34,-139],[-24,-66],[-3,12],[34,122],[14,40],[7,53],[3,81],[5,32],[-6,23],[-9,-11],[-7,26],[-6,-18],[-34,-22],[-14,-41],[-9,-6],[-18,45],[-18,-13],[-7,-41],[-27,-18],[-23,-6],[-17,52],[-8,68],[2,79],[6,60],[6,-3],[-2,49],[-12,97],[-11,47],[2,34],[-8,62],[-11,32],[-5,85],[-6,18],[-11,-15],[-9,101],[-24,31],[-1,16],[-21,38],[-21,55],[-11,-13],[-8,-39],[-16,126],[-15,148],[-5,173],[-7,109],[-7,57],[-28,113],[-11,9],[-1,52],[-12,23],[0,-64],[-14,-11],[-1,66],[-8,113],[-12,51],[3,24],[13,-3],[9,-39],[11,159],[-2,86],[-8,14],[0,40],[8,10],[-4,31],[-12,-4],[-5,-33],[-11,-11],[8,-148],[-9,-20],[-20,-11],[-5,-50],[0,75],[-6,50],[-17,94],[-26,177],[-9,94],[-19,140],[-27,149],[-14,56],[-4,58],[-10,61],[10,-19],[1,-30],[15,30],[10,72],[12,28],[13,98],[13,34],[-2,23],[14,26],[11,84],[-5,75],[-22,21],[5,-113],[-22,30],[6,34],[-1,65],[-5,39],[-38,71],[1,-65],[-11,-28],[11,-37],[16,-6],[11,-110],[-10,-42],[0,-62],[-4,-27],[-21,-6],[-3,-32],[7,-38],[-9,-30],[-4,40],[2,83],[-14,85],[-9,26],[-8,58],[6,182],[-5,66],[-4,164],[9,1],[0,-93],[4,-89],[9,-7],[-4,153],[9,37],[1,41],[8,44],[0,38],[7,50],[0,39],[9,47],[1,91],[5,83],[-6,66],[2,56],[-13,29],[4,42],[-9,109],[12,64],[-21,110],[3,31],[-8,55],[-10,3],[5,33],[-1,49],[-7,13],[-47,23],[-9,-51],[-7,-4],[-9,100],[3,45],[-14,32],[-12,9],[-2,63],[-7,58],[-11,45],[-15,6],[-5,44],[-24,48],[0,111],[-4,67],[-12,7],[-10,38],[-13,17],[-13,61],[0,42],[-9,35],[-5,51],[-14,44],[-28,62],[-40,72],[-26,75],[-11,-2],[-26,-33],[-31,29],[-1,-35],[-26,-69],[9,-99],[-3,-28],[-10,-7],[-15,15],[-5,26],[-24,-22],[-31,-73],[-65,-132],[-6,2],[7,44],[-10,12],[-7,-39],[-15,-41],[-36,1],[13,-49],[2,-38],[16,-22],[30,53],[29,40],[27,84],[3,-13],[-24,-82],[-28,-43],[-35,-66],[-12,-14],[-10,33],[-16,22],[-23,51],[-19,7],[-17,-28],[-13,94],[-5,119],[8,42],[0,-105],[6,-91],[7,-22],[10,39],[1,97],[-17,105],[-18,60],[-17,13],[-15,40],[-16,71],[-27,47],[-22,69],[-41,95],[-47,76],[-58,70],[-31,20],[-62,18],[-33,-5],[-47,-25],[-65,-49],[-32,-15],[-7,10],[-63,-51]],[[26061,57664],[39,-2],[136,6],[183,1]],[[26419,57669],[196,-2],[-1,6],[143,10]],[[26757,57683],[-3,-72],[-31,-68],[-26,-105],[1,-36],[-8,-26],[3,-64],[30,-82],[17,-7],[23,-104],[23,-51],[28,16],[8,-12],[8,-64],[3,-64],[12,-30],[3,-50],[11,-52],[0,-51],[7,-68],[12,-24],[8,-67],[14,-48],[11,-101],[9,-1],[19,-72],[29,-52],[29,-98],[4,-61],[9,-41],[1,-40],[13,-38],[12,-2],[17,-37],[18,-93],[15,-26],[4,-24],[-7,-43],[4,-39],[-4,-32],[28,-82],[-4,-30],[13,-42],[11,5],[-2,-41],[8,-45],[27,-55],[9,1],[16,-58],[19,-43],[-5,-67],[12,-64],[2,-49],[9,-15],[0,-85],[4,-32],[-5,-45],[6,-8],[4,-48],[-5,-41],[12,-48],[25,-26],[0,-23],[23,-81],[-4,-34],[15,-105],[4,4],[6,-76],[-10,-44],[11,-67],[-4,-26],[5,-62],[21,-34],[11,17],[22,-71],[9,-4]],[[27376,54230],[12,-12],[-5,-64],[-14,-29],[-10,15],[-6,-48],[10,-8],[-16,-60],[-21,23],[-3,-56],[11,-11],[-9,-59],[-17,-54],[-17,13],[-3,-16],[12,-33],[8,5],[-1,-84],[-7,-62],[-28,-26],[0,-22],[17,10],[6,-24],[-23,-131],[-6,-91],[7,-13],[-5,-30],[-5,-97],[-13,-22],[-8,-59],[-9,-3],[0,-71],[-7,-69],[-7,2],[-12,-44],[13,-24],[11,24],[1,-81],[-16,-161],[5,-70]],[[25527,65491],[15,-41],[12,20],[7,-15],[-6,-40],[27,-23],[29,1],[28,25],[52,75],[31,59]],[[25722,65552],[90,-1],[198,-1],[187,1],[87,1],[0,-75]],[[26284,65477],[1,-242],[0,-1380],[-3,-437],[0,-441],[-2,-278],[0,-238]],[[26280,62461],[-19,-45],[-2,-20],[16,-71],[2,-31],[-11,-38],[3,-37],[17,-7],[4,-25],[-13,-46],[6,-44],[-22,3],[-16,-23],[-9,5],[-35,-63],[-14,-39],[-19,10],[-10,43],[-26,-7],[-16,7],[-12,-33],[4,-125],[6,-71],[-16,-40],[-7,-44],[-30,-34],[-19,-161],[-19,-39],[-14,24],[-10,-13],[-6,-63],[-16,-72],[1,-87],[-5,-70],[-8,-24],[-23,-18],[-4,-36],[-13,58],[-22,1],[-26,55],[-1,94],[-21,67],[-8,-2],[1,-34],[13,-12],[-1,-25],[-13,-2],[-8,-29],[-8,23],[-9,-29],[9,-17],[-6,-42],[-18,-9],[-2,-94],[5,-38],[-23,-9],[-2,-63],[-11,-29],[-7,24],[5,51],[-10,10],[-10,-25],[-10,22],[-12,89],[-17,-2],[-14,-52],[-29,-27],[-10,-30],[-5,-97],[-7,-27],[-11,-3],[-8,62],[-18,13],[-22,57],[-22,44],[-20,6],[-14,-37],[-14,19],[-6,49],[-8,6],[-7,-66],[11,-64],[-13,-40],[-11,3],[3,56],[-5,30],[-42,-31],[-11,52],[-9,4],[-10,-40],[10,-91],[-12,-47],[-23,32]],[[25386,60941],[-11,2],[-4,34],[12,-9],[-16,92],[24,-8],[-15,29],[15,67],[1,60],[-8,26],[19,19],[2,38],[-12,-19],[22,73],[-14,60],[-4,59],[9,-10],[9,68],[5,-35],[7,41],[8,-33],[13,102],[8,9],[13,84],[-2,38],[24,42],[0,66],[9,83],[7,32],[14,12],[14,76],[-1,42],[-15,94],[11,111],[-18,40],[1,79],[-16,55],[-3,73],[19,60],[-9,50],[2,60],[6,32],[13,9],[0,347],[-1,0],[0,397],[1,12],[0,294],[1,247],[0,1196],[1,254]],[[21479,63506],[257,-1],[104,0],[263,-1],[273,1],[163,0],[279,-1],[263,-1],[144,0],[133,0]],[[23358,63503],[16,-60],[13,-11],[1,-43],[13,6],[5,-36],[26,-14],[8,41],[24,-13],[-4,-28],[7,-33],[11,-11],[-4,-42],[-9,-1],[3,-36],[12,16],[-1,-49],[-10,-6],[-13,24],[-5,-75],[-15,-19],[-7,-41],[2,-41],[-17,-24],[1,-48],[15,-41],[1,-29],[16,-31],[12,-61],[14,0],[5,-21],[-9,-25],[6,-79],[18,-52],[-3,-28],[15,-13],[5,-31],[14,-11],[9,16],[5,-31],[20,-3],[-5,-41],[0,-444],[-1,-120],[0,-696],[-1,-52],[0,-779],[-1,-97],[0,-281]],[[23550,60009],[-249,1],[-196,-1],[-169,0],[-218,0],[-208,-1],[-258,2],[-103,0],[-154,3],[-149,-4],[-209,-4],[-155,-3]],[[30863,68384],[14,7],[-7,-35],[-7,28]],[[30827,68345],[7,83],[6,-34],[19,-55],[-15,-45],[-5,34],[-12,17]],[[30819,68560],[3,42],[11,-71],[-14,29]],[[30732,68434],[14,2],[3,-41],[-17,39]],[[30712,67988],[8,37],[1,-75],[-9,38]],[[30703,68290],[8,41],[25,45],[11,-50],[-9,-8],[14,-78],[-11,-39],[-18,-13],[-12,24],[5,25],[-3,50],[-10,3]],[[30697,68452],[13,68],[2,64],[9,25],[6,-26],[-9,-35],[1,-36],[-8,-70],[-10,-29],[-4,39]],[[30213,67064],[-35,81],[0,69],[6,42],[-41,128],[-9,53],[8,101],[-4,10],[6,88],[-6,23],[-5,313],[0,89],[-11,861],[-15,757]],[[30107,69679],[21,15],[0,33],[25,-41],[-1,-38],[7,-43],[11,-15],[13,85],[2,86],[-6,28],[12,36],[8,-3],[12,-44],[21,-9],[1,39],[-24,83],[-1,32],[22,107],[14,27],[11,43],[8,-1],[15,41],[24,38],[-9,71],[21,66],[23,45],[5,56],[-7,28],[-14,0],[0,66],[10,38],[-8,14],[15,51],[5,46],[-15,44],[16,115],[8,18],[-1,37],[17,32],[14,59],[11,8],[17,324],[215,890],[13,-3],[27,-38],[11,4],[-3,-58],[1,-141],[4,-18],[37,-73],[25,43],[26,30],[28,2],[11,52],[30,11],[25,-12],[0,62],[16,23],[25,-6],[23,-36],[4,-32],[33,-68],[36,-132],[0,-15],[28,-51],[0,-545],[3,-693],[-1,-71],[9,-30],[-15,-39],[14,-70],[-15,-34],[1,-136],[23,-18],[3,20],[10,-57],[19,-28],[30,-23],[14,19],[8,-62],[1,-56],[-13,8],[-11,-22],[7,-68],[16,-63],[-9,-73],[-10,-41],[23,-116],[0,-23],[18,-40],[13,28],[1,46],[18,-30],[19,-3],[13,-56],[6,-51],[-8,-14],[10,-32],[12,-98],[15,-38],[1,-118],[-12,-50],[-10,2],[-4,-32],[-32,-113],[-24,-25],[4,-22],[-15,-8],[6,42],[-4,85],[-27,-30],[12,-58],[-12,-43],[-11,13],[-13,-58],[-13,18],[-10,-12],[2,-35],[16,-40],[-22,-57],[-13,46],[-6,57],[-13,-10],[-3,-38],[-8,3],[-7,59],[-7,-62],[-9,-14],[-8,-74],[-7,19],[-6,-48],[-4,42],[-20,-51],[-5,27],[-12,-92],[-16,39],[0,36],[-10,-21],[-11,9],[2,-66],[-16,-71],[11,-33],[-35,-16],[-23,32],[-16,107],[6,29],[22,27],[-9,45],[-13,-35],[2,44],[-10,-3],[1,-68],[-5,0],[0,64],[-24,-56],[5,-35],[-6,-43],[14,-67],[-3,-45],[-23,-77],[9,-11],[-12,-31],[11,-56],[-5,-69],[-16,-10],[-3,85],[6,4],[-3,55],[-17,45],[-4,64],[15,51],[-19,40],[6,26],[-10,10],[-18,-21],[1,113],[11,44],[1,50],[-7,14],[-7,-46],[-14,-40],[-11,33],[-7,-32],[-15,-4],[14,-81],[-3,-48],[-12,-23],[-10,-71],[-4,-72],[-13,-78],[19,-30],[-13,-28],[10,-57],[-10,-38],[-27,4],[-13,-72],[-15,-1],[-2,-58],[-11,-9],[0,52],[7,37],[-9,15],[-3,-30],[-12,-13],[5,65],[-18,-9],[1,-52],[-16,-37],[-5,-50],[-12,51],[-2,-47],[-15,-32],[-12,26],[-3,-66],[-13,51],[-13,-92],[-23,-27],[-5,-19],[-5,83],[-16,5],[-15,-42],[-5,-39],[-20,4],[-7,-49],[-20,4],[-10,-49],[-3,-50],[5,-29],[-8,-32],[-13,29],[-22,-31],[-9,-46],[6,-67],[-8,-43],[-10,-15],[3,-33],[-14,-24],[-14,4],[-10,-25],[-11,-98],[5,-19],[-14,-80],[1,-22],[-14,-74],[-9,-13]],[[30332,65028],[13,-24],[29,5],[18,17],[12,70],[16,-105],[-1,-30],[-10,-16],[-33,4],[-41,60],[-3,19]],[[30177,65078],[18,0],[19,90],[27,60],[11,-15],[7,-70],[15,-27],[10,40],[-1,-84],[-41,1],[-31,-9],[-18,-47],[-16,61]],[[29500,66699],[224,-22]],[[29724,66677],[199,-23],[126,-12],[10,46],[21,1],[-1,62],[15,36],[19,-18],[9,62],[36,32],[15,-30],[8,13]],[[30181,66846],[2,-72],[9,-136],[25,-47],[12,42],[14,-34],[-16,-90],[-23,-7],[-38,-35],[12,-50],[-18,-50],[-7,9],[-5,-59],[-4,41],[-11,-53],[11,-74],[-13,10],[-5,-28],[8,-26],[-5,-27],[14,-14],[6,36],[14,8],[9,-47],[24,-28],[12,-42],[2,-46],[21,-93],[-1,-50],[-7,-39],[-12,-5],[3,-24],[21,-51],[12,8],[8,-24],[8,-83],[-5,-50],[13,-48],[23,-35],[34,-12],[9,-23],[19,44],[19,8],[27,33],[6,25],[-1,79],[-6,61],[-13,-31],[0,97],[-5,55],[-15,34],[-9,-7],[-5,-39],[-11,59],[13,11],[21,-18],[23,-58],[18,-123],[9,-119],[2,-137],[-15,-129],[-2,-44],[-7,9],[12,112],[-7,23],[-26,-5],[-43,-40],[-30,8],[-7,-28],[-17,-7],[-15,-62],[-33,-10],[-34,-66],[-16,-47],[-21,-28],[-23,-15],[6,26],[35,34],[16,47],[24,49],[5,40],[-2,117],[6,41],[-26,26],[0,-59],[-7,14],[-4,-50],[-14,3],[2,-32],[-31,-11],[-7,-49],[2,-44],[-6,-29],[-25,-23],[-12,17],[-10,-14]],[[30097,65246],[-3,189],[-18,18]],[[30076,65453],[-8,41]],[[30068,65494],[-10,48],[-19,33],[-5,56],[2,81],[-12,-6],[0,147],[-116,-13]],[[29908,65840],[-1,18],[-202,13],[-22,-4],[-42,6],[-3,-39],[-14,-6],[1,45],[-54,3],[-118,14],[-15,-1]],[[29438,65889],[-6,42],[34,395],[34,373]],[[22823,73980],[83,-1],[266,0],[229,-1],[0,449],[27,-37],[28,20],[29,-53],[8,-35],[14,-202],[7,-25],[18,-251],[-6,-69],[4,-54],[14,-43],[29,-45],[24,-12],[8,19],[44,-11],[11,-58],[61,-7],[48,-21],[8,-66],[-3,-49],[6,-12],[42,2],[5,15],[22,-2],[23,20],[-1,48],[33,46],[39,18],[9,-22],[53,0],[72,-98],[26,4],[1,-49],[-19,-7],[-4,-37],[16,-31],[41,13],[15,-54],[-6,-34],[6,-49],[24,-127],[25,27],[-8,84],[13,45],[15,-11],[42,16],[16,-44],[-2,-65],[17,-41],[14,9],[9,-36],[41,-9],[5,-67],[-4,-31],[20,-21],[23,13],[-3,-75],[22,28],[14,-22],[19,24],[34,17],[46,113],[17,13],[13,32],[25,30],[14,-13],[0,-67],[17,-17],[-6,-26],[10,-48],[16,-3],[35,29],[6,-29],[25,15],[26,-18],[19,13],[48,8],[29,-28],[9,-66],[34,-53],[15,35],[20,9],[13,-20],[23,6],[11,-18],[25,22],[-27,-56],[-10,20],[-4,-34],[-17,-15],[-26,-58],[-37,-34],[-14,-37],[-52,-44],[-48,-54],[-15,-6],[-42,-45],[-4,-14],[-51,-77],[-37,-79],[-72,-183],[-17,-69],[-55,-178],[-26,-72],[-26,-41],[-26,-88],[-11,-11],[-28,-83],[-10,-10],[-61,-134],[-9,-25],[8,-50],[14,-46]],[[24276,71309],[-21,50],[-14,-11],[-3,-29],[-16,-14],[9,-19],[-11,-43],[-22,16],[0,-685],[-10,-10],[-6,-59],[-24,7],[-10,-56],[-14,13],[-8,-38],[-25,-23],[-20,-47],[-20,-148],[-22,-49],[-7,-114],[1,-53],[21,-21],[10,9],[14,-32],[-1,-31],[23,-85],[-1,-50],[-15,-47],[1,-29],[-17,-49],[2,-91],[-4,-32],[6,-91],[-16,-58],[11,-34],[-2,-65],[6,-41],[-7,-42],[3,-75],[-12,-80],[5,-36],[16,-27],[31,-87],[-1,-24],[14,-16],[9,-44],[50,-9],[12,-17],[10,-78],[14,-38],[50,-51],[22,-39],[14,-40],[0,-53],[8,-15],[5,-84],[17,-45],[27,-41],[3,-29],[36,-90],[39,-29],[15,-55],[30,-136],[9,-75],[-8,-113],[2,-71],[10,-37],[-4,-44],[8,-53]],[[24498,67577],[-204,0],[-224,0],[-116,-1],[-223,0],[-180,1],[-313,0],[-199,0]],[[23039,67577],[0,1215],[1,101],[-1,302],[0,479],[-10,65],[-36,59],[-18,4],[-14,55],[-9,73],[-26,98],[5,46],[25,62],[22,39],[12,63],[14,46],[4,128]],[[23008,70412],[-4,106],[6,37],[-11,188],[-1,129],[-13,27],[-20,98],[-5,49],[-4,119],[-11,57],[-2,39],[5,68],[-6,112],[5,17],[6,117],[-6,-11],[-11,51],[1,171],[-5,92],[-2,114],[3,50],[-7,103],[1,217],[-5,3],[-7,89],[-11,92],[-8,17],[-11,101],[-3,58],[-11,34],[-5,121],[-16,101],[-3,110],[7,53],[-8,93],[3,52],[-1,107],[-7,59],[7,76],[9,24],[3,62],[-15,80],[-8,124],[-6,24],[-11,98],[3,40]],[[28860,63072],[14,65]],[[28874,63137],[9,32],[5,61],[12,42]],[[28900,63272],[17,44],[38,25],[25,45],[0,69],[16,25],[7,33],[34,72],[18,15],[12,51],[10,-8],[17,39],[-14,71],[-20,41],[-7,52],[-21,54],[-7,68],[-25,19],[-4,45],[2,95],[-10,37],[-17,-5],[-9,14],[-2,83],[7,30],[-8,22],[9,100],[11,-5],[23,113],[-24,120],[13,48],[18,29],[16,56],[-4,24],[17,35],[11,49],[14,124],[22,69],[16,13]],[[29101,65083],[88,-173],[132,-246],[3,-19],[-20,-187],[-12,-65],[-4,-65],[-6,-22]],[[29282,64306],[-7,-34]],[[29275,64272],[-37,-35],[-4,-84],[-9,-16],[-3,-50]],[[29222,64087],[0,-43],[19,-28],[16,18],[24,-44],[14,-9],[4,44],[4,-90],[-3,-107],[-14,-182],[-13,-247],[-5,-173],[-40,-241],[-11,-48],[-9,-9],[3,-32],[-10,-55],[-20,-63],[-1,-19],[-31,-55],[-32,-108],[-21,-118],[-22,-149],[-20,-60],[-19,-14],[-11,14],[6,88],[15,97],[3,69],[-21,37],[-18,4],[-6,25],[-18,-3],[-7,-36],[-9,24],[-2,47],[-18,37],[-3,30],[-10,-12],[-15,68],[-7,-8],[-18,58],[-10,56],[-19,25],[6,140],[-12,29]],[[28861,63044],[-1,28]],[[28814,58772],[18,-19],[12,-74],[1,-47],[-15,9],[2,45],[-18,86]],[[28734,57762],[8,60],[8,0],[47,86],[15,12],[14,33],[12,2],[16,35],[13,10],[5,74],[11,252],[0,54],[-8,95],[-6,105],[3,-2],[11,-106],[5,-95],[-3,-136],[-15,-286],[-24,-8],[-50,-64],[-43,-78],[-19,-43]],[[27156,59531],[84,-16],[55,-3],[95,-15],[37,4],[114,-21],[48,-2],[170,-2],[279,0],[74,4],[264,0],[106,-1],[0,10],[31,-2],[120,0],[142,0]],[[28775,59487],[2,-58],[17,-245],[16,-158],[23,-156],[35,-271],[-9,14],[-18,146],[-14,80],[-13,11],[-9,174],[-16,155],[-8,23],[3,39],[-5,89],[-10,30],[-4,48],[-25,13],[-1,40],[-13,-20],[6,-61],[16,-48],[11,10],[0,-67],[15,-135],[9,-61],[-1,-26],[11,-75],[0,-47],[-19,64],[1,37],[-13,61],[-3,38],[-12,12],[6,-38],[-3,-28],[14,-39],[-31,25],[-32,118],[-15,12],[19,-97],[10,-17],[6,-52],[-9,-23],[-24,-14],[-21,71],[7,-63],[10,-27],[-7,-14],[-31,45],[-13,5],[-5,29],[-18,24],[23,-73],[21,-23],[-7,-19],[-24,-8],[-13,-62],[-16,-22],[-17,1],[-8,31],[-20,12],[-12,121],[0,61],[12,78],[-5,13],[-14,-76],[-2,-76],[8,-94],[11,-77],[-5,-42],[8,-34],[40,10],[37,47],[9,-49],[13,6],[13,30],[26,24],[32,-1],[14,-41],[0,-43],[-14,-78],[3,-55],[2,-164],[9,5],[7,115],[3,150],[14,40],[-6,33],[14,20],[25,-21],[16,-94],[7,-65],[-4,-52],[7,-98],[-8,-25],[4,-54],[-13,-54],[-17,-10],[-6,18],[-10,-16],[-6,-40],[-10,-9],[-3,-43],[-7,-11],[-7,-71],[-13,-15],[-3,-46],[-17,-25],[-3,-24],[-26,25],[-29,-4],[-26,18],[-5,25],[-10,-14],[-15,45],[-13,115],[31,3],[5,45],[-28,-25],[-12,11],[-9,-33],[9,-57],[6,-86],[-7,0],[-29,47],[-14,-10],[-20,34],[-31,30],[-23,48],[-1,-29],[17,-61],[21,-5],[63,-102],[46,-28],[8,-31],[1,-40],[-7,-56],[-13,-54],[1,-28],[-9,-53],[-15,-42],[-50,-112],[-50,112],[1,-65],[24,-55],[36,-43],[36,80],[13,2],[27,30],[4,62],[11,-14],[3,-66],[8,-31],[18,-5],[-9,75],[20,-29],[2,-85],[-17,-75],[-18,-13],[0,-34],[-11,-20],[-14,-84],[-7,-71],[-17,20],[1,80],[-10,19],[1,-82],[-16,-7],[42,-64],[23,123],[33,120],[24,75],[47,176],[8,-21],[-28,-83],[-26,-96],[-22,-62],[-21,-78],[-18,-82],[-21,-115],[-3,-32],[-4,67],[-35,55],[-39,1],[-60,-38],[-29,-33],[-20,-32],[-32,-81],[-39,-75],[-26,-63],[-37,-113],[-14,-55],[-25,-128],[-14,-111],[-10,-112],[-9,-69],[-4,-69],[-13,7],[-3,34],[-21,21],[-23,9],[-28,-2],[-30,-12],[-35,-42],[-8,-17]],[[28030,56345],[-93,330],[-104,362],[-31,116],[-88,302],[-61,1],[-74,7],[-178,10],[4,135],[-42,199],[-30,-73],[-5,21],[7,48],[-2,53],[-55,13],[-105,16],[-188,29],[-23,-20],[-5,39],[-12,-52],[-7,9],[-20,-27],[-6,5],[-29,-47],[-28,-60],[-7,21],[-91,-99]],[[26419,57669],[9,275],[22,48],[3,-26],[28,4],[22,63],[-5,57],[9,25],[-4,44],[17,62],[13,15],[8,48],[16,8],[15,45],[80,7],[11,50],[22,32],[5,26],[10,-7],[16,48],[4,35],[16,4],[8,40],[21,29],[24,-18],[26,115],[-3,63],[10,30],[15,-36],[20,98],[33,70],[10,-40],[-5,-70],[15,-20],[28,62],[15,93],[15,35],[17,21],[12,-5],[9,33],[19,-12],[4,-50],[15,0],[14,28],[33,200],[21,53],[11,12],[8,-23],[17,0],[-10,74],[7,65],[6,12],[-4,80],[9,60]],[[20923,73979],[188,-1],[322,0],[212,0],[92,0],[193,1],[160,-1],[135,0],[141,1],[256,1],[201,0]],[[23008,70412],[-210,-1],[-186,1],[-119,1],[-252,4],[-192,2],[-179,2],[-253,1],[-123,0],[-292,1],[-173,0],[-105,0]],[[20924,70423],[0,2828],[-1,17],[0,711]],[[23550,60009],[0,-581]],[[23550,59428],[6,-130],[7,-206],[6,-127],[14,-355],[4,-82],[15,-387],[-2,-319],[-3,-261],[-1,-235],[-2,-170],[-2,-417],[-5,-642]],[[23587,56097],[-9,-25],[-19,73],[-16,-13],[-1,23],[-17,-1],[-18,79],[-15,-16],[-12,5],[-21,78],[-7,58],[-22,2],[-23,85],[-27,28],[-7,-68],[-11,-32],[-13,-7],[-34,4],[0,15],[-21,-7],[-7,61],[-10,3],[-24,-52],[-20,3],[1,-45],[-13,9],[-9,-31],[-29,61],[-1,-30],[-30,-29],[-15,13],[1,-20],[-14,8],[-8,-90],[-14,-14],[-19,19],[-7,-81],[-12,-3],[-1,22],[-17,79],[-21,-6],[-8,57],[-11,-4],[-16,30],[12,58],[-25,16],[-8,-86],[-18,-9],[-4,42],[-13,14],[-6,-33],[-9,25],[-6,95],[-5,11],[-14,-27],[-6,15],[3,-73],[-16,-57],[-13,19],[11,-42],[-13,-22],[3,-64],[-11,-31],[-11,14],[-12,94],[10,30],[-2,66],[-9,28],[-10,-19],[-2,-42],[-13,19],[-9,-7],[-11,-64],[-20,5],[-5,30],[1,63],[-12,19],[-16,-27],[-11,25],[3,41],[-19,42],[-9,-3],[-12,-58],[-29,-92],[-12,-9],[-16,34],[-9,3],[4,65],[-5,-1],[7,60],[-7,20],[-13,-14],[-19,11],[-10,91],[8,35],[-4,50],[-17,-47],[-20,22],[-15,0],[-19,28],[-11,-40],[-3,-44],[-20,-26],[-24,96],[-21,23],[-12,-37],[-21,4],[-13,26],[-13,3],[-17,24],[-19,46],[-16,-27],[-9,15],[-12,-11],[-2,20],[-18,-3],[-5,140],[-18,56],[4,22],[-16,5],[-18,57],[-4,-92],[-12,-4],[-22,47],[-17,2],[-6,-49],[-30,15],[-24,78],[-37,143],[-20,-19],[0,2257],[-123,0],[-179,0],[-150,0],[-175,1],[-210,0]],[[21214,59429],[1,119],[0,463]],[[27478,65805],[48,61],[45,74],[9,24],[10,60],[13,3],[3,-28],[36,72],[47,74]],[[27689,66145],[0,-314],[1,-2],[247,-1],[77,3],[167,-2],[243,1],[105,3],[111,-4],[169,-1],[107,2],[14,-59],[5,4],[8,-100],[15,4],[27,-34],[10,-49],[-8,-32],[14,-21],[2,-159],[-8,-12],[25,-113],[1,-34],[11,5],[15,-33],[-2,-18],[25,3],[3,-22],[16,8],[-1,-30],[13,-55]],[[28900,63272],[-23,37],[-22,6],[-24,-20],[-15,-34],[-20,-82]],[[28796,63179],[-217,-1],[-118,-1],[-151,0],[-236,3],[-305,-2]],[[27769,63178],[-167,0],[-124,0],[0,1068]],[[27478,64246],[0,1559]],[[20920,69320],[5,4],[0,872],[-1,227]],[[23039,67577],[-40,0],[5,-22],[-7,-37],[22,-64],[-1,-110],[-14,-5],[8,-52],[-3,-31],[24,-3],[2,-83],[9,-35],[-7,-66],[-14,-16],[5,-56],[-8,-28],[6,-21],[-12,-46],[0,-80],[-11,-16],[-3,-52],[-11,-26],[1,-76],[15,-27],[17,-60],[10,-87],[-4,-45],[13,-31]],[[23041,66402],[-17,-7],[-5,30],[-24,-5],[-7,53],[-21,66],[7,52],[-11,16],[-21,3],[-1,40],[-28,35],[-12,-17],[-8,48],[-43,13],[-5,28],[-18,20],[-1,38],[-25,25],[-15,-14],[-15,13],[-7,-23],[-18,14],[-16,-13],[-16,11],[-18,-17],[-25,9],[-20,21],[-8,-11],[-9,-74],[-12,-29],[-19,-9],[-31,69],[-36,62],[-58,85],[-9,59],[-112,0],[-186,-1],[-153,1],[-214,-1],[-206,-2],[-62,4],[-178,0],[-143,1],[-293,1]],[[20922,66996],[0,345],[-1,8],[0,1828],[-1,143]],[[23587,56097],[8,8],[0,-54],[11,-25],[9,6],[-2,-36],[10,-9],[5,27],[8,-18],[3,29],[21,-27],[11,46],[12,-17],[5,-30],[6,21],[16,-22]],[[23710,55996],[0,0]],[[23710,55996],[1,-11],[0,-608]],[[23711,55377],[0,-1196],[8,-12],[11,-72],[18,-31],[9,-83],[15,-55],[-2,-34],[8,-56],[-7,-42],[3,-45],[-7,-28],[6,-51],[9,-32],[13,-6],[3,-35],[-6,-27],[14,-36],[-1,-32],[8,-15],[3,-49],[-6,-53],[12,-47],[6,2],[6,-113],[19,12],[-6,-102],[8,-31],[2,-54],[-13,-21],[-1,-33],[12,-55],[-9,-22],[-3,-38],[4,-63],[-9,-33],[-9,-63],[-3,-73],[-12,-25],[-2,-68],[-14,-30],[-3,-40],[7,-24],[5,-91],[-13,-51],[-6,-74],[16,-52],[1,-53],[-5,-39],[9,-79],[-12,-70],[9,-19],[-11,-51],[-14,-39],[-7,-78],[-13,-74],[-17,-45],[-2,-25],[9,-30],[17,-94]],[[23768,51502],[0,-14],[-46,3],[-37,-40],[-128,-208],[-28,-61],[-10,-54],[-15,7],[22,71],[9,47],[13,-1],[9,19],[8,46],[9,-16],[11,8],[-15,55],[-54,-54],[-8,26],[17,90],[4,80],[0,74],[-12,5],[-5,23],[-17,-29],[-10,-41],[-4,-50],[-15,-24],[-6,46],[-18,-45],[-2,-35],[9,-32],[-10,-50],[10,-55],[20,-17],[-6,-54],[11,-20],[2,-78],[-2,-67],[-8,-31],[-9,10],[-19,-71],[-22,-65],[-3,26],[-13,-8],[-2,-88],[6,-26],[13,44],[26,65],[3,19],[32,99],[15,23],[0,45],[26,-15],[-20,-61],[-62,-153],[-24,-69],[-4,-25],[-32,-91],[-40,-143],[-15,-8],[-69,-146],[-35,-80],[-53,-89],[-61,-112],[-34,-87],[-13,-42],[-15,-74],[-53,-111],[-24,-68],[-47,-155],[-32,-143],[-11,-83],[-14,-59],[-33,-221],[-24,-197],[-11,-127],[-10,-192],[-2,-108],[1,-103],[8,-205],[14,-207],[12,-134],[16,-229],[11,-260],[-7,47],[-5,147],[-12,189],[-11,152],[-24,16],[18,27],[-9,83],[-6,87],[-9,88],[-3,106],[1,138],[-1,122],[11,276],[16,180],[19,148],[14,70],[10,87],[8,35],[-2,47],[13,86],[18,38],[9,45],[18,127],[28,58],[8,53],[16,2],[35,105],[23,49],[24,23],[-4,43],[9,29],[-9,16],[-16,-41],[-20,-35],[-11,-40],[-17,-5],[-6,40],[0,60],[-18,12],[-6,-31],[0,-84],[-5,-25],[6,-41],[-4,-36],[-20,-56],[-17,-61],[-8,-1],[-18,30],[-3,43],[-32,-61],[-17,-67],[21,-22],[24,57],[8,-74],[-7,-23],[-38,-223],[-12,-2],[-6,55],[-21,-10],[-4,18],[-32,-11],[-11,12],[-6,-38],[12,-32],[15,-1],[11,17],[-4,-64],[7,-48],[15,-34],[17,-18],[-19,-146],[-13,-185],[-12,-106],[-20,-27],[-7,-27],[-11,18],[14,21],[3,59],[-8,3],[-6,-31],[-29,-75],[4,-32],[24,-16],[25,38],[8,2],[-5,-116],[3,-4],[-4,-202],[-6,-207],[-4,-3],[10,-230],[8,-65],[1,-84],[9,-1],[23,-215],[5,-29],[-9,-47],[4,-34],[-1,-62],[8,-72],[20,-11],[1,-35],[12,18],[2,-127],[-23,7],[-13,-8],[0,-19],[-21,-12],[-6,-99],[-20,11],[-7,40],[-15,3],[-6,55],[-11,4],[-18,98],[-31,12],[-11,33],[-17,-9],[-7,16],[-23,-17],[-4,18],[-13,-1],[-3,-29],[-10,31],[-20,-14],[-8,22],[-6,-22],[-14,20],[-8,30],[3,25],[-16,1],[-3,44],[-15,-1],[-21,75],[-9,-11],[-25,48],[-19,-22],[-13,35],[-15,69],[-10,8],[-2,33],[-8,12],[-18,-15],[-21,47],[-12,-3],[-8,20],[-12,-19],[-9,44],[6,50],[-10,56],[-11,13],[-3,98],[-6,42],[-3,79],[-8,25],[-1,49],[-7,64],[-17,43],[2,31],[-13,26],[-7,37],[5,20],[-11,46],[-9,7],[-1,52],[6,31],[-3,66],[4,29],[-4,86],[-16,25],[1,37],[-12,11],[9,30],[5,86],[-3,31],[4,60],[-13,10],[5,76],[-12,58],[-7,-14],[-7,46],[-9,-18],[-9,39],[-10,-6],[-18,90],[-9,11],[-3,38],[-8,-9],[-10,38],[0,50],[-7,26],[3,41],[-13,48],[2,47],[-17,16],[-7,81],[-10,23],[-8,70],[-35,53],[-4,53],[-7,-2],[-13,59],[2,38],[-17,100],[3,47],[-9,39],[9,29],[-12,11],[-9,47],[4,39],[-14,28],[1,33],[-15,28],[-4,51],[2,41],[-8,26],[-4,73],[-6,1],[-9,88],[-8,1],[-6,47],[1,76],[-7,106],[-18,46],[-10,40],[3,14],[-9,71],[-23,41],[-2,30],[-17,46],[-18,25],[-13,84],[0,21],[-26,21],[-6,44],[-23,7],[3,57],[-2,65],[-5,5],[-6,-67],[-6,27],[2,53],[-17,27],[-13,108],[-8,-4],[-9,32],[-13,-25],[-7,44],[-8,-27],[-37,-13],[-19,31],[-6,-8],[-15,22],[-22,-14],[-12,24],[-17,-7],[-4,-22],[-26,21],[-11,50],[-13,-3],[-20,40],[-14,-18],[-10,-111],[-34,19],[-9,-37],[-7,11],[-22,-32],[-7,10],[-8,-54],[2,-23],[-13,-40],[0,-50],[-7,0],[-2,-59],[-11,-30],[1,-33],[-7,-58],[2,-52],[-5,-48],[-10,-5],[-3,-72],[-5,-37],[10,-22],[-5,-38],[-18,-38],[-10,8],[-7,-67],[-17,-43],[-7,-36],[-4,-84],[-14,-8],[-17,15],[-15,-11],[-14,46],[-27,24],[-27,111],[-24,33],[-10,-8],[-22,38],[-18,77],[-13,24],[-39,21],[-17,28],[-19,61],[-11,12],[-19,81],[0,24],[-14,47],[-21,7],[-12,27],[-5,34],[-30,78],[-9,43],[-7,110],[-12,56],[-7,60],[-13,63],[0,59],[-7,57],[6,72],[-3,54],[2,55],[-7,68],[-11,30],[-3,44],[-13,39],[-1,30],[-13,34],[2,33],[-13,177],[-7,40],[-12,4],[-11,91],[-15,0],[-14,66],[-12,10],[-3,24],[-15,34],[-12,-4],[-7,28],[-31,39],[0,39],[-44,118],[-13,107],[-12,37],[-18,26],[-9,33],[-9,2],[-2,36],[-24,106],[-20,35],[-4,54],[-14,32],[-21,7],[-35,78],[-11,88],[-10,24],[-6,68],[-13,89],[-9,41],[-19,38],[-11,-19],[-11,41]],[[20232,53938],[-5,28],[-16,20],[1,23],[-10,25],[-3,38],[7,18],[1,101],[331,0],[250,-1],[226,0],[183,1],[0,1212],[2,254],[0,149],[2,417],[2,232],[0,1518],[1,434],[0,809],[-1,213],[11,0]],[[20922,66996],[0,-2328]],[[19530,64667],[-136,-2],[-143,-1],[-52,-3],[-133,1],[-93,2],[0,442],[1,219],[-1,508]],[[18973,65833],[0,676],[1,163],[0,1090],[-1,26],[0,516],[-1,267],[1,140]],[[18973,68711],[-2,175],[-1,282],[1,156],[75,2],[22,-12],[85,2],[11,8],[45,-5],[25,8],[87,-2],[194,5],[11,-7],[221,0],[316,0],[14,-4],[144,-2],[178,-1],[23,7],[132,0],[251,-2],[115,-1]],[[29908,65840],[0,-107],[3,-222],[0,-150],[-3,-209],[-12,-8],[3,-76],[-8,-29]],[[29891,65039],[-7,19],[-17,2],[-21,-24],[-18,3],[-13,-24],[-16,28],[-6,-37],[-49,-35],[-3,20],[-15,0],[-27,-33],[-6,21],[-26,1],[-7,-26],[-18,23],[-40,-27],[-3,60],[-9,-17],[-19,-82],[-12,0],[-22,-73],[-13,23],[-24,-58],[-7,13],[-23,-28],[5,-22],[-10,-32],[-29,-11],[-22,-54],[-9,15],[-15,-35]],[[29390,64649],[1,33],[-20,102],[68,130],[-19,97],[4,161],[5,295],[9,422]],[[23231,64184],[167,-9],[159,-8],[156,3],[130,8],[62,0],[197,12],[152,13],[101,14],[12,-38],[1,-33],[18,-14],[-1,-36],[16,-57],[10,-2],[1,-56],[11,-31],[19,-7]],[[24442,63943],[-8,-18],[-17,-144],[-2,-71],[6,-165],[14,-99],[7,-28],[-8,-66],[5,-38],[15,-34],[4,-28],[-3,-61],[26,-77],[15,-57],[11,-14],[10,-69],[13,-8],[11,-76],[16,-54],[59,-137],[20,-90],[3,-90],[8,-78],[-9,-36],[11,-85],[3,-65],[22,-69],[11,7],[11,32],[9,66],[19,4],[27,-45],[16,-5],[38,-82],[-2,-60],[-12,-29],[-13,-59],[10,-92],[-2,-37],[-22,-96],[-6,-99],[-17,-68],[-7,-52],[-1,-78],[5,-70],[18,-50],[20,-89],[25,-37],[11,-54],[8,0],[17,-60],[16,7],[3,-27],[-12,-24],[6,-50],[20,-5],[10,31],[13,-28],[1,-29],[15,-12],[23,-70],[-2,-40],[14,-3],[9,-42],[19,-24],[0,-57],[11,-68],[-13,-8],[2,-50],[26,-161],[-4,-62],[-15,-12],[-8,-56],[17,-53],[-1,-47],[13,-87],[11,-46],[-1,-53],[24,-56],[10,27],[-15,45],[14,12],[17,-56],[8,-53],[11,14]],[[25079,59990],[9,-21],[-5,-90],[-6,-46],[-10,-9],[-1,-38],[17,-37],[-3,-28],[-16,3],[-4,-44],[11,-58],[-8,-29],[-7,-71],[-13,-18],[-18,78],[-13,-13],[-13,-142]],[[24999,59427],[-8,-40],[-13,7],[2,31]],[[24980,59425],[6,38],[-5,49],[-21,2],[-4,-30],[9,-58]],[[24965,59426],[6,-22],[-7,-64],[10,-59],[-5,-37],[-24,-1],[0,-37],[21,-39],[1,-27],[-15,-15],[-30,16],[-3,-21],[28,-74],[1,-61],[-22,-40],[-3,-75],[-12,-23]],[[24911,58847],[-179,-6],[16,110],[23,58],[0,23],[15,53],[16,28],[3,43],[9,7],[5,133],[-22,44],[3,15],[-5,71],[-349,-1],[-323,1],[-141,0],[-222,1],[-210,1]],[[23358,63503],[-31,56],[8,79],[-24,76],[-2,77],[-20,19],[1,32],[-18,26],[-12,110],[1,39],[-11,34],[-1,40],[13,42],[-11,18],[-1,-33],[-20,3],[1,63]],[[26900,61666],[18,-20],[35,40],[23,11],[5,49],[3,98],[12,28],[16,-7],[6,30],[-3,101],[-10,105],[21,52],[0,67],[14,88],[12,27],[6,37],[13,-40],[11,-1],[12,-79],[-8,-40],[11,-20],[9,22],[3,42],[9,20],[9,-25],[4,111],[-10,29],[-3,43],[19,19],[-3,96],[8,41],[10,12],[3,55],[31,-7],[3,83],[25,76],[17,-19],[6,-52],[11,3],[21,47],[17,8],[11,54],[11,8],[8,48],[16,57],[30,89],[16,9],[4,83],[10,26],[-11,50],[12,48],[0,57],[10,23],[-4,60],[13,-11],[-2,52],[7,20],[0,122],[9,30],[0,58],[10,48],[5,61],[10,23],[5,65],[-3,95],[4,71],[-9,84],[-11,44],[9,50],[14,-1],[18,27]],[[27769,63178],[-3,-600],[10,7],[33,103],[12,-1],[10,67],[31,60],[13,75],[11,-2],[28,-36],[11,54],[38,158],[13,-10],[-13,-14],[13,-18],[2,-26],[20,-34],[17,1],[7,-18],[28,-4],[14,38],[-7,49],[13,-1],[-11,32],[14,-11],[9,37],[19,-23],[28,87],[24,-20],[17,-49],[8,-40],[18,20],[17,-23],[14,4],[0,-37],[-16,-15],[12,-69],[19,-41],[-2,-33],[9,-12],[5,-43],[-6,-63],[10,-14]],[[28258,62713],[-9,-45],[-21,-175],[-78,209],[-66,179],[-4,-62],[5,-28],[-6,-36],[7,-11],[-23,-106],[6,-15],[-11,-54],[10,-36],[-16,-62],[-7,-7],[-24,-88],[6,-16],[-14,-63],[-7,21],[-15,-66],[-10,-24],[0,36],[-23,-71],[-20,-130],[-35,101],[-9,-69],[-17,-82],[-1,-71],[-8,1],[-10,-57],[-15,-138],[-28,-94],[-46,53],[-17,109],[-31,47],[-14,-121],[3,-65],[-12,-60],[-22,-87],[6,-44],[-12,-21],[-25,-81],[-7,-56],[6,-29],[-8,-30],[-6,-60],[-10,-51],[-18,-51],[-30,-104],[-21,-112],[2,-36],[-12,-39],[4,-41],[17,-34],[-12,-40],[-18,-34],[-1,-32],[13,-4],[-4,-29],[-49,-99],[-10,68],[-12,-9],[-19,-47],[-41,-71],[-4,26],[-21,38],[-7,-51],[9,-43],[-19,-47],[-17,-5],[-37,-27],[-31,-51],[-27,75],[-11,45],[-8,-21],[-8,-55],[-23,-17],[-2,-30],[-13,-29],[-34,-7],[-19,48],[0,24],[-12,25],[-18,3],[-7,52],[-14,31],[-2,90],[-15,22],[-1,33],[18,34],[-11,29]],[[27075,60636],[-14,-4],[-28,30],[-3,37],[-8,1],[-7,40],[-9,-2],[-7,42],[-15,11],[-13,134],[-10,19],[-13,61],[1,34],[-15,19],[-8,39],[11,55],[-15,22],[-9,80],[-10,45],[-15,37],[0,38],[8,0],[3,55],[-4,20],[11,33],[1,58],[-8,36],[1,90]],[[24442,63943],[12,16],[-2,50],[4,90],[-11,35],[13,69],[31,43],[18,-1],[18,41],[1,61],[6,49],[1,67],[10,27],[14,66],[11,19],[6,106],[-1,98],[-13,75],[-13,6],[-20,85],[11,77],[2,74],[6,55],[19,21],[13,-15],[23,40],[31,-6],[24,17],[16,56],[10,13],[26,-1],[18,57],[16,21],[-1,66],[9,59],[0,52],[9,29],[28,49],[-1,41],[8,72],[-3,58],[7,61],[-7,37],[1,89],[-13,41],[-47,73],[-15,74],[3,60],[-16,63],[-22,37],[-2,26],[-22,35],[0,47]],[[24658,66423],[45,-2],[227,-2],[51,-5],[194,-11],[41,4],[152,1],[82,-5]],[[25450,66403],[-2,-124],[-8,-97],[10,-109],[21,-117],[12,-37],[3,-54],[13,-139],[4,-75],[14,-93],[8,-20],[2,-47]],[[25386,60941],[-8,-66],[-17,-35],[-11,-56],[7,-105],[20,-68],[-6,-50],[-48,-19],[-12,-11],[-18,-52],[-14,26],[-18,-44],[-2,-55],[-9,-65],[2,-25],[17,-65],[7,-66],[-10,-89],[-15,-10],[-13,13],[-19,52],[-35,40],[-14,39],[-31,42],[-19,5],[-13,-21],[-13,-42],[-9,-65],[-16,-52],[-4,-55],[14,-52]],[[20232,53938],[-214,0],[-254,0],[0,-524],[-234,-1]],[[24911,58847],[4,-38],[18,-49],[0,-45],[-24,23],[-9,-49],[20,-36],[-11,-33],[-11,-1],[-9,-52],[-17,-22],[-9,21],[-15,-41],[6,-68],[9,-17],[12,23],[3,-38],[-26,-42],[1,-53],[9,-10],[-3,-40],[-22,56],[-9,-9],[-5,-58],[9,-42],[-11,-75],[-8,88],[-23,-67],[-3,-46],[12,-6],[2,43],[15,-35],[-9,-47],[0,-45],[-16,-10],[4,-47],[15,-7],[6,-29],[-12,-43],[15,-58],[-10,-25],[-12,21],[-9,-26],[-9,-100],[-25,13],[-3,-49]],[[24751,57677],[17,-55],[0,-45],[-18,-44],[-31,-44],[-4,59],[-11,2],[-2,-29],[8,-44],[-5,-25],[6,-72],[-14,-19],[-5,34],[2,57],[-10,-27],[2,-35],[-7,-14],[6,-40],[20,-2],[2,-31],[-14,-50],[-11,18],[1,49],[-10,-21],[0,-64],[12,-61],[1,-27],[-13,-51],[6,-83],[-25,-57],[0,-63],[-10,1],[3,54],[-19,-1],[-5,-27],[8,-45],[-7,-30],[-19,-15],[-4,-71],[-16,43],[-9,-29],[14,-43],[20,1],[2,-25],[-13,-28],[-16,33],[-12,-32],[9,-51],[11,3],[3,-24],[-8,-61],[-24,-6],[7,-45],[-11,-16],[-5,43],[-16,-23],[-3,-29],[22,-34],[-18,-78],[7,-55],[16,-26],[-10,-34],[-8,18],[-24,-2],[-1,-59],[10,-26],[13,14],[8,-50],[-12,-18],[-16,22],[-7,35],[-17,-16],[-2,-28],[25,-51],[2,-33],[-28,-41],[13,-63],[-14,-80],[18,16],[-1,51],[14,-27],[-4,-54],[-17,-10],[-3,-19],[10,-24],[17,14],[10,73],[5,-32],[-23,-90],[0,-64],[12,-68],[3,42],[10,13],[2,-23],[-13,-52],[2,-75],[-3,-23],[-14,-8],[-11,14],[-5,-39],[23,-62],[-13,-59]],[[24512,55359],[-219,4],[-154,5],[-157,7],[-86,0],[-185,2]],[[16868,55911],[16,-5],[28,-53],[21,-22],[1,-25],[16,-61],[-5,-43],[-13,25],[-26,7],[-6,35],[0,74],[-20,16],[-12,52]],[[16867,55390],[9,4],[22,-117],[40,-130],[-10,4],[-11,-22],[-17,44],[-13,72],[-14,119],[-6,26]],[[16741,55926],[8,7],[1,-41],[-11,7],[2,27]],[[16637,56552],[8,-17],[11,14],[0,-30],[-17,-4],[-9,21],[7,16]],[[16596,55679],[14,7],[20,-35],[8,-31],[-13,-15],[-20,21],[-9,53]],[[16501,56608],[18,-7],[13,-22],[15,5],[19,-43],[19,-4],[7,39],[20,-20],[-11,-43],[-28,-11],[-17,-31],[-42,24],[-1,61],[-12,52]],[[16410,56520],[22,8],[9,21],[13,-8],[13,19],[0,-48],[18,-13],[1,-48],[-41,-54],[-16,37],[-19,86]],[[16354,56562],[16,17],[6,28],[6,-35],[13,-26],[-21,-6],[-20,22]],[[15305,65829],[155,-4],[9,6],[77,-1],[56,12],[28,-8],[115,2],[37,5],[95,-1],[45,-5],[154,-8],[114,-4],[197,0],[92,2]],[[16479,65825],[0,-1]],[[16479,65824],[0,-1448],[1,-34],[0,-756],[-1,-393],[-1,-13],[0,-457],[-1,-122],[2,-263],[26,-77],[115,-330],[114,-336],[63,-182],[99,-298],[125,-377],[62,-186],[127,-394],[313,-989],[234,-759],[70,-234],[147,-492]],[[17950,55027],[-416,-126],[-254,-89],[-3,98],[-9,62],[-8,20],[-14,-23],[-3,66],[1,71],[-8,41],[9,61],[-9,161],[-13,127],[-9,54],[-40,193],[-25,61],[-10,51],[-15,37],[-9,-2],[-19,95],[-26,59],[-14,15],[-20,57],[-25,88],[-24,39],[-2,-47],[-21,-23],[-18,14],[-10,25],[-15,6],[-4,38],[9,34],[1,43],[-14,116],[-11,64],[-17,50],[-35,1],[-22,-8],[-16,-36],[-14,38],[-28,16],[-37,59],[-12,2],[-24,53],[-17,141],[-10,10],[-17,53],[-4,-3],[-20,65],[-21,25],[-6,20],[-32,4],[-16,-24],[-18,25],[-22,-10],[-37,60],[-23,0],[-15,15],[-44,-7],[-48,-22],[-1,31],[-13,66],[-16,30],[-12,-4],[-6,32],[13,143],[-11,60],[8,119],[-17,54],[9,115],[1,140],[-18,56],[-14,7],[-3,-21],[-27,55],[-11,48],[10,131],[-2,50],[-11,53],[-27,14],[-27,102],[-18,101],[-24,25],[-17,66],[-5,81],[-16,47],[-7,37],[-14,35],[-6,99],[-5,35],[-20,29],[-15,104],[-25,94],[-33,64],[-11,45],[-8,80],[1,42],[-11,101],[2,92],[-11,16],[10,74],[18,-38],[9,30],[7,61],[8,141],[-21,149],[-12,43],[-10,11],[-9,-28],[-37,2],[-28,68],[-22,102],[-14,18],[-2,31],[-17,60],[-4,62],[5,129],[-12,89],[-2,52],[-12,14],[-6,33],[-1,64],[5,27],[2,77],[-6,134],[14,28],[16,8],[6,-24],[7,-88],[-9,-9],[11,-107],[-2,-27],[27,-23],[27,-80],[8,5],[14,-63],[12,3],[-6,40],[-12,19],[-10,87],[-7,109],[-21,54],[-2,46],[-22,26],[9,74],[-7,68],[-15,-1],[-14,68],[8,-9],[9,26],[0,40],[19,-2],[10,39],[-10,71],[-26,44],[-13,-30],[-14,-6],[2,-47],[-5,-46],[15,-51],[-12,-25],[-4,-44],[19,-56],[-7,-14],[-11,29],[7,-71],[-15,-16],[-9,38],[-26,61],[-13,-12],[-23,67],[-10,53],[-17,33],[-16,8],[-20,-33],[14,127],[3,48],[-12,92],[7,20],[-16,70],[-11,-10],[-1,67],[-17,106],[-20,51],[-14,19],[-22,64],[-37,176],[-14,29],[-8,41],[-31,90],[-24,116],[14,78],[-1,42],[-14,126],[-16,123],[-7,105],[3,99],[13,132],[-5,52],[0,65],[-14,92],[-4,108],[-16,36],[-6,55],[-35,133],[-7,6],[0,43],[-8,43],[-22,32],[-49,151],[4,63],[-4,70],[-13,74],[9,98],[14,109],[42,265],[11,95],[7,119],[-12,37],[-1,97],[4,2],[11,99],[12,244],[-5,126],[-15,128],[-8,96],[-9,-4],[-17,54],[10,74],[5,110],[-3,67]],[[28861,63044],[-1,28]],[[28874,63137],[-6,7],[-22,-81],[2,-39],[11,-31],[1,-49],[-8,-28],[0,-41],[14,-52],[7,-58],[21,-62],[10,-68],[3,-58],[-5,-35],[2,-126],[16,-48],[7,-43],[2,-74],[34,-137],[16,-29],[10,24],[4,-36],[5,-129],[4,-244]],[[29002,61700],[-105,1],[-74,9],[-2,72],[-25,1311],[0,86]],[[28426,62262],[21,70],[37,-118],[-36,-118]],[[28448,62096],[0,93],[-22,73]],[[6433,39922],[2,44],[19,76],[12,7],[13,93],[16,52],[3,58],[-17,94],[-4,45],[-1,105],[8,37],[18,-9],[18,-32],[3,-32],[22,-44],[15,-47],[12,6],[25,-32],[39,-77],[13,-19],[22,-61],[16,-57],[17,-76],[-3,-47],[1,-90],[8,-10],[16,12],[7,-57],[-1,-57],[22,-82],[22,-39],[5,-21],[-4,-44],[-13,-51],[-17,-47],[-14,-56],[-23,-38],[-20,-47],[-20,-18],[-16,15],[-9,-9],[-18,-66],[-16,-25],[-13,-48],[-14,-16],[-12,-59],[1,-33],[-8,-37],[-5,-59],[-20,-63],[-15,61],[-22,52],[-22,29],[-10,95],[5,113],[4,151],[-10,106],[1,46],[-9,12],[-5,114],[-7,66],[-9,8],[-8,108]],[[6254,41293],[5,69],[11,56],[14,6],[13,-33],[10,-78],[10,-50],[24,29],[18,35],[26,-21],[0,-16],[17,-51],[10,-15],[5,-40],[31,-37],[5,-32],[0,-52],[-8,-43],[-13,-40],[-6,3],[-17,-36],[-14,10],[-30,-53],[-21,-9],[-17,26],[-7,210],[-7,20],[-14,-24],[-26,50],[-13,58],[-6,58]],[[6253,40841],[7,29],[28,57],[10,-30],[-4,-44],[5,-17],[-13,-19],[-5,15],[-18,-23],[-10,32]],[[6153,41274],[7,27],[13,5],[26,-19],[17,-60],[8,-51],[-9,-65],[-19,-29],[-17,-5],[-7,60],[-3,73],[-14,32],[-2,32]],[[6084,41504],[6,52],[9,29],[-2,58],[17,-2],[3,-14],[54,-29],[10,34],[4,-42],[22,-13],[27,18],[17,-25],[-8,-55],[-18,-51],[-20,-21],[-35,32],[-26,31],[-15,-14],[-29,-5],[-16,17]],[[5814,42059],[43,9],[13,49],[4,35],[13,48],[14,15],[6,-27],[6,-70],[20,-84],[4,-52],[-4,-15],[3,-47],[18,-55],[3,57],[12,-2],[-4,-64],[8,-24],[-1,-29],[17,-70],[-12,-37],[-11,18],[-21,-29],[-6,26],[-17,31],[-25,11],[-30,-20],[-7,4],[-7,84],[-11,34],[-1,31],[-14,67],[0,61],[-13,45]],[[5394,42585],[1,40],[11,38],[4,49],[33,72],[8,26],[23,-18],[3,25],[16,-11],[8,14],[15,-20],[10,-37],[5,-45],[0,-46],[-11,-63],[1,-106],[-4,-28],[-28,-78],[-8,15],[-36,12],[-18,71],[-24,29],[-9,61]],[[5266,42374],[4,43],[12,44],[19,45],[2,38],[11,9],[2,-31],[-5,-57],[2,-36],[-20,-28],[-16,-97],[-12,30],[1,40]],[[24498,67577],[-5,-52],[10,-50],[-1,-74],[27,-41],[13,-76],[-18,-60],[-6,-52],[-9,-24],[1,-108],[8,-88],[0,-68],[12,-25],[13,-169],[33,-64],[47,-37],[17,-20],[18,-109],[0,-37]],[[23231,64184],[4,28],[-10,56],[-13,16],[-15,58],[2,37],[13,35],[-4,83],[10,51],[-7,27],[2,66],[-9,20],[1,42],[-7,30],[5,27],[-5,93],[12,17],[-24,24],[4,37],[-5,63],[13,41],[-20,27],[7,29],[-1,116],[-20,10],[2,77],[-9,1],[-2,-37],[-15,28],[3,56],[-11,39],[7,39],[-8,41],[11,18],[-6,54],[8,20],[3,46],[-12,23],[-1,38],[-14,61],[6,11],[3,66],[-16,6],[1,30],[-15,11],[5,16],[-15,25],[1,83],[-22,56],[-3,48],[10,25],[-14,103],[-11,29],[0,76],[9,44],[-4,44],[-14,8]],[[26280,62461],[18,48],[7,-2],[15,-54],[21,-28],[14,29],[14,-3],[8,29],[8,-8],[4,-69],[29,-32],[10,-84],[16,-83],[0,-66],[5,-26],[40,-41],[33,19],[29,-46],[3,-34],[15,-26],[5,-50],[28,-29],[14,66],[26,22],[15,-32],[28,-20],[11,-24],[5,-43],[13,24],[30,-1],[10,53],[18,34],[9,39],[15,0],[21,32],[7,-33],[-3,-44],[9,-111],[13,-37],[21,-6],[21,-79],[13,-35],[2,-44]],[[27075,60636],[-108,-317],[-37,-39],[-22,-41],[-19,-49],[-25,-45],[0,-86],[-16,-39],[-12,-2],[-12,-33],[3,-59],[-6,-45],[-25,-36],[-29,-4],[-16,-80],[-2,-50],[-16,-4],[-33,-35],[-39,-52],[-21,2],[-33,-49],[-8,-27]],[[26599,59546],[-4,-21],[-83,8],[-79,2],[-76,5],[-83,11],[-51,16],[-74,9],[-55,-14],[-96,8],[-56,10],[-83,22],[-49,4],[-16,-22],[-7,22],[-146,-12],[-92,-2],[-114,-8],[1,35],[-61,17],[10,-147],[-6,-64],[-137,6],[-126,0],[-84,6],[-33,-10]],[[24980,59425],[-15,1]],[[28739,61120],[-14,0]],[[28725,61120],[-1,72],[8,28],[11,-40],[-4,-60]],[[28711,61320],[2,79],[11,13],[7,-30],[5,-118],[-15,21],[4,27],[-14,8]],[[28627,62072],[5,20],[5,-46],[-10,26]],[[29002,61700],[-1,-43],[-9,-105],[-5,-15],[-20,-211],[-18,-120]],[[28949,61206],[-107,-38],[-6,-55],[-6,4]],[[28830,61117],[-13,30],[-19,-4],[-22,-64],[-9,-1],[-1,67],[7,70],[17,28],[-17,2],[2,45],[11,40],[-21,9],[-12,-33],[-4,28],[5,58],[26,27],[-6,39],[-9,-13],[-4,36],[15,112],[-15,-24],[-7,-47],[0,-60],[-8,-1],[-11,77],[11,9],[-1,53],[-8,10],[-4,-49],[-9,-33],[6,-27],[-9,-62],[-4,29],[-17,-23],[-9,12],[-16,83],[-9,13],[2,43],[-24,151],[20,14],[5,39],[-8,-7],[-9,51],[8,40],[12,22],[6,-25],[12,26],[1,-36],[22,-9],[13,-39],[4,10],[-16,69],[-17,14],[-8,42],[-7,-3],[-16,77],[-5,-28],[-12,20],[-1,-59],[-7,8],[3,101],[18,92],[14,-45],[8,10],[-3,124],[-8,17],[-17,-47],[-12,4],[1,-48],[-12,-17],[4,104],[16,101],[7,-51],[21,-11],[11,31],[-6,54],[11,55],[-16,-9],[-3,-52],[4,-31],[-12,17],[3,63],[-6,59],[-7,14],[16,136],[12,42],[-2,24],[14,25],[7,37],[30,-6],[-11,24],[18,70],[-10,6],[12,122],[-35,-24],[-6,-48],[12,-24],[4,-32],[-12,-14],[-34,-97],[-7,31],[7,54],[-8,28],[0,-44],[-9,-51],[8,-34],[-7,-46],[-6,96],[-15,14],[6,-103],[-8,8],[-6,-42],[12,-22],[-21,-44],[-7,-28],[-13,8],[-2,26],[-22,46],[3,-46],[9,-13],[2,-41],[27,-54],[2,-67],[-5,-25],[13,-48],[-23,-45],[7,-37],[-3,-40],[-9,4],[-7,-55],[6,-53],[-17,-58],[9,-50],[-2,-54],[6,-73],[-2,-89],[7,-65],[22,-80],[8,-62],[-9,-45],[-14,7],[9,-42],[9,22],[8,-14],[-7,-47],[4,-48],[18,-92],[-5,-22],[5,-97],[-9,19],[-11,58],[-8,4],[-5,64],[-8,-9],[-2,-57],[-7,38],[-8,-3],[-5,48],[-12,45],[-23,23],[-35,3],[-8,129],[-8,13],[-4,-31],[10,-68],[-2,-22],[-22,43],[-2,34],[-13,31],[-12,114],[-20,-44],[-33,-56],[-12,27],[-7,115],[11,82],[15,57],[20,30],[-5,10]],[[28423,61914],[-1,45],[7,27],[18,25],[1,85]],[[28426,62262],[-9,37],[-20,6],[-8,17],[1,48],[-26,42],[-34,15],[-6,39],[-10,13],[1,58],[9,18],[7,49],[-23,43],[-6,45],[-15,-1],[-16,25],[-13,-3]],[[26327,70327],[8,17],[9,-60],[65,-63],[-17,-58],[-23,18],[-14,61],[-28,85]],[[26120,70229],[5,40],[7,-20],[-12,-20]],[[26084,70289],[21,-39],[-4,-36],[-19,38],[2,37]],[[26055,70019],[7,48],[3,69],[6,15],[1,57],[18,-7],[-1,-85],[4,-83],[-19,-44],[-19,30]],[[26035,70180],[13,8],[-5,-54],[-7,1],[-1,45]],[[25984,69839],[13,-17],[1,-59],[-14,76]],[[25933,69486],[6,23],[19,-25],[-6,-96],[-17,52],[-2,46]],[[25908,69335],[11,44],[6,-47],[-17,3]],[[25759,70041],[20,-64],[-8,-22],[-4,36],[-14,43],[6,7]],[[25722,65552],[30,68],[27,87],[37,261],[34,146],[19,134],[10,99],[10,176],[-1,58],[6,87],[-1,163],[-6,182],[-11,120],[-35,230],[-11,94],[-12,138],[-17,119],[0,48],[22,102],[7,50],[1,77],[-9,134],[-14,90],[4,32],[20,51],[24,151],[21,112],[4,124],[9,134],[-11,112],[1,33],[27,43],[20,15],[6,93],[-2,74],[10,36],[13,-18],[16,80],[18,-35],[17,13],[8,32],[9,86],[10,16],[15,94],[11,47],[9,-7],[12,35],[3,-39],[-19,-32],[-3,-42],[12,-81],[-23,-81],[13,19],[0,-74],[-6,-7],[-8,-84],[7,-95],[8,-2],[19,145],[3,98],[13,20],[-8,-158],[-15,-44],[-6,-67],[14,-14],[8,65],[7,13],[22,135],[5,78],[-1,56],[4,82],[-6,85],[5,94],[17,49],[10,3],[18,48],[18,16],[25,-7],[26,14],[12,20],[-1,33],[-33,17],[-14,47],[-8,114],[16,75],[13,14],[20,69],[-2,31],[-18,27],[60,-15],[7,49],[61,-102],[26,-58],[13,20],[11,-16],[13,10],[32,-34],[24,-85],[3,-57],[17,-27],[33,4],[8,-9],[29,-77],[23,-7],[34,-71],[29,6],[21,-78],[11,-25],[-9,-27],[15,-96],[11,-30],[14,-133],[-20,21],[-16,34],[-15,-41],[4,-110],[12,-44],[21,-26],[5,-59],[1,-98],[7,-37],[-4,-71],[-8,-67],[2,-65],[-5,-111],[-1,-121],[-12,-15],[-14,-64],[-24,2],[-8,-30],[-8,-108],[-4,-115],[-19,-5],[-8,-19],[0,-49],[-42,-6],[-13,-35],[-9,-76],[-5,-124],[-8,-42],[13,-91],[16,-32],[9,33],[5,-38],[20,-21],[13,-38],[10,16],[28,120],[14,0],[7,25],[-7,51],[9,44],[9,87],[4,-50],[19,31],[5,29],[-21,31],[24,-3],[11,24],[5,41],[23,10],[34,28],[9,45],[31,30],[11,-30],[23,-25],[15,-39],[17,-123],[10,-37],[7,-97],[5,-208],[17,-178],[4,-247],[10,-143],[18,-110],[2,-48],[-11,-46],[-7,-145],[4,-47],[-12,-113],[-4,-67],[-18,-66],[-15,4],[-12,-42],[1,66],[-9,27],[10,16],[15,62],[-14,26],[-15,-5],[-19,-34],[-7,-32],[9,-27],[2,-45],[-15,4],[-11,-52],[1,-84],[-7,-77],[-17,-53],[-30,-25],[-18,-97],[2,-127],[-3,-44],[-15,-25],[-1,-70],[-16,-39],[-6,-39],[-13,-4],[-7,-65],[-11,-11],[-17,-72],[5,-79],[-8,-9]],[[26661,65520],[-86,-11],[-167,-20],[-124,-12]],[[25045,72671],[21,69],[95,141],[7,-2],[43,98],[31,42],[6,-11],[28,29],[-1,-28],[-12,-16],[-30,-80],[0,-30],[-25,-55],[-51,-53],[-42,-66],[2,-20],[23,0],[-59,-73],[-18,3],[-18,52]],[[24721,71146],[19,40],[12,3],[39,49],[38,34],[31,77],[19,64],[16,27],[33,17],[15,-17],[29,27],[22,-3],[52,75],[30,94],[22,5],[29,23],[10,39],[5,51],[25,65],[14,16],[30,82],[23,23],[21,56],[11,54],[20,52],[58,85],[56,25],[50,-7],[23,-39],[1,-45],[-11,5],[-17,-24],[-19,13],[-21,-10],[5,-47],[-32,-57],[-30,-95],[-19,-20],[-5,-74],[-7,9],[-7,-52],[-14,-26],[-5,-67],[-12,-48],[-9,-6],[-12,-164],[6,-52],[-9,-35],[11,3],[20,87],[3,44],[7,-13],[29,80],[28,43],[-12,-55],[-12,-24],[-15,-77],[30,84],[26,18],[14,-13],[37,1],[15,-30],[8,8],[17,-35],[8,-39],[15,11],[22,-63],[3,-61],[17,-49],[6,-47],[14,-49],[19,-15],[-2,-79],[11,-28],[26,-15],[42,10],[25,43],[11,-8],[14,-72],[12,-27],[19,-4],[8,46],[16,-7],[9,-38],[4,69],[-7,53],[16,20],[7,-32],[-6,-56],[17,-26],[26,72],[40,62],[59,110],[11,-21],[61,42],[46,-16],[35,-3],[30,7],[62,85],[24,12],[30,-7],[32,14],[-22,-84],[-2,-135],[2,-45],[-8,-19],[9,-51],[16,-8],[9,16],[6,-26],[15,3],[17,-28],[34,49],[13,-4],[11,-46],[-1,-35],[25,28],[7,-7],[10,65],[19,24],[23,-19],[11,9],[8,39],[27,-5],[5,-30],[-10,-100],[7,-120],[1,-95],[-29,-2],[-8,-65],[15,-12],[5,21],[15,-4],[8,-38],[19,-19],[-13,-40],[24,-75],[12,-1],[20,-45],[8,38],[14,-35],[8,26],[-16,100],[14,-15],[41,13],[12,-15],[14,-91],[16,-31],[-10,-64],[-14,-20],[-27,39],[-31,-16],[-31,42],[-11,-12],[-27,1],[-27,23],[-60,-26],[-13,-28],[-37,69],[-15,48],[-13,-7],[-13,30],[-10,-41],[2,-51],[-15,-32],[1,-45],[9,-63],[-12,-20],[-24,42],[-3,31],[-21,37],[-5,30],[-22,64],[-38,46],[-13,-7],[-33,49],[-18,-5],[-13,23],[-5,-20],[-19,11],[-25,-75],[-17,-73],[-9,-8],[-32,23],[-23,-15],[-8,-22],[2,-34],[-23,37],[-21,17],[-24,-14],[-10,11],[-23,-24],[-13,-42],[-2,-63],[-9,-72],[-14,4],[-7,-39],[-22,-15],[-6,-46],[-13,-3],[0,-45],[-12,-9],[4,-61],[-20,32],[-9,40],[12,27],[1,34],[11,31],[1,40],[13,-4],[15,87],[-3,43],[-12,10],[-18,-75],[-38,24],[3,-51],[-13,-47],[-5,-56],[-30,-31],[-5,-27],[-6,39],[3,55],[-4,67],[-8,32],[-10,-19],[-5,-120],[3,-12],[-31,-55],[-26,-129],[-17,-146],[-19,-65],[-20,-112],[-41,-174],[6,-33]],[[25508,69434],[-19,14],[-8,47],[-13,28],[-2,29],[15,118],[11,48],[-2,34],[-11,25],[-16,-47],[-27,-10]],[[25436,69720],[0,0]],[[25436,69720],[-7,47],[7,24],[-3,38],[13,34],[6,40],[-3,47],[8,69],[-14,75],[12,13],[-8,44],[-13,18],[-6,33],[-24,4],[-9,43],[-21,-18],[-18,45],[17,52],[-7,21],[0,47],[-40,48],[-14,-14],[-24,47],[-12,-15],[-21,21],[-2,25],[-27,-2],[-3,-32],[-14,0],[-4,29],[-17,16],[-12,-13],[-86,142],[-287,231],[1,27],[-28,167],[-27,16],[-10,24]],[[24739,71113],[0,0]],[[24739,71113],[-12,-6],[-6,39]],[[25252,52115],[30,-13],[-14,-20],[-12,9],[-4,24]],[[25179,52148],[16,13],[30,-29],[6,-15],[-24,5],[-28,26]],[[25119,52114],[15,7],[15,31],[-4,-29],[-21,-27],[-5,18]],[[25071,52140],[21,-1],[8,13],[-5,-43],[-10,-7],[-17,26],[3,12]],[[24751,57677],[229,-2],[156,1],[202,1]],[[25284,52292],[-4,-32],[-7,15],[-10,-40],[-18,27],[-13,-15],[-5,30],[-18,7],[-18,-23],[-23,49],[-2,-28],[-21,38],[-22,-3],[-31,-27],[-28,-42],[-30,-33],[4,54],[-10,30],[-14,-27],[9,-17],[1,-40],[-25,-57],[-8,-80],[-9,10],[-13,-16]],[[24969,52072],[-12,0],[-13,50],[-4,66],[0,69],[-15,77],[0,54],[-10,43],[-11,19],[-4,39],[-10,34],[-4,95],[-8,14],[10,88],[-4,36],[7,25],[9,125],[7,19],[-1,45],[7,22],[-7,36],[-165,-2],[-134,-1],[-226,0],[13,21],[7,58],[-16,50],[-1,28],[10,46],[-3,41],[-12,30],[1,38],[18,-7],[17,20],[2,43],[-12,37],[-1,45],[-7,16],[9,39],[4,-50],[8,-29],[9,7],[0,29],[-13,75],[-1,74],[20,18],[12,35],[-4,32],[-18,-13],[-9,30],[5,38],[10,-28],[18,0],[1,106],[11,35],[23,5],[4,18],[-29,11],[7,94],[12,11],[2,-43],[7,-17],[5,28],[-6,21],[24,78],[-2,50],[7,25],[19,14],[0,50],[-19,26],[5,25],[13,-39],[5,36],[12,22],[9,69],[-15,24],[2,-62],[-32,11],[2,79],[27,20],[7,27],[14,-31],[5,42],[-2,53],[12,-8],[16,79],[-4,18],[-6,-40],[-23,17],[0,58],[8,20],[-8,35],[-10,-20],[-23,49],[3,58],[5,1],[17,-48],[10,7],[-5,26],[-21,50],[14,31],[8,37],[-7,37],[-6,-46],[-20,-26],[-6,14],[-3,52],[9,38],[16,33],[2,27],[-31,30],[1,71],[5,37],[21,52],[2,39],[-9,72],[-11,-4],[1,-67],[-14,-26],[-9,22],[3,48],[10,50]],[[17580,73980],[234,-2],[232,3],[190,-5],[190,2],[348,-2],[211,0],[232,2],[328,0],[141,0],[292,0],[227,1],[143,-1],[294,0],[114,0],[167,1]],[[18973,68711],[-21,23],[-6,49],[-24,59],[2,43],[-28,117],[-17,36],[-8,-52],[-20,-3],[5,-33],[-16,-98],[15,-64],[-32,26],[-9,-16],[-24,13],[-3,-19],[-30,-40],[-13,63],[-22,-8],[-13,-25],[-10,13],[-21,-30],[-8,22],[-14,-8],[-12,35],[-16,7],[-9,-35],[-9,0],[-2,-61],[-8,-45],[-24,38],[-8,-20],[-11,24],[-33,2],[-17,22],[-17,-23],[-15,-72],[6,-53],[-9,-22],[-11,44],[-18,24],[-15,40],[-6,53],[5,34],[-21,81],[9,48],[-5,50],[-18,109],[-32,58],[-26,-44],[-4,40],[-28,53],[-11,97],[14,13],[2,55],[-4,61],[-19,39],[2,26],[-17,15],[-7,73],[-24,73],[-1,35],[-14,54],[2,70],[-8,19],[-6,57],[6,30],[-1,46],[-19,0],[7,95],[-15,25],[-12,-2],[2,26],[-10,44],[-15,26],[-9,-13],[2,-41],[-15,-35],[-19,-82],[-19,-26],[-13,12],[-3,-58],[-24,-42],[-5,36],[-14,22],[-13,60],[-25,0],[4,53],[-8,36],[18,37],[1,48],[-19,74],[18,89],[25,1],[7,44],[-13,54],[6,49],[-19,27],[-4,54],[9,58],[-17,33],[2,49],[19,7],[-1,79],[-6,30],[13,24],[1,116],[13,65],[-7,69],[12,3],[10,123],[-3,58],[-8,10],[-26,-23],[-4,-21],[-22,15],[-19,-5],[-8,39],[6,39],[-7,30],[-14,9],[-4,-30],[-15,-21],[-6,17],[6,55],[-34,58],[-16,59],[4,71],[-20,60],[-13,-1],[-6,60],[-19,82],[-17,54],[-12,13],[-5,37],[-11,7],[2,38],[-9,41],[-24,10],[-32,45],[-7,54],[-47,87],[-11,-2],[12,36],[22,8],[3,22],[-16,7],[-5,57],[-11,5],[2,34],[13,32],[-12,55],[2,63],[-13,24],[-7,47],[-8,-6],[-8,88],[-15,21],[-39,152],[-1,279],[1,109],[0,804]],[[29991,69339],[3,68],[18,64],[-3,15],[11,74],[-13,36],[18,11],[4,26],[22,42],[15,-61],[28,-5],[13,70]],[[30213,67064],[-30,-174],[-2,-44]],[[29724,66677],[-9,53],[-6,-10],[-12,102],[9,73],[1,57],[13,10],[8,45],[-6,52],[9,33],[-5,65],[4,138],[12,64],[-6,60],[10,135],[-5,35],[5,74],[15,33],[6,109],[9,44],[19,43],[6,44],[-1,64],[19,67],[0,85],[12,44],[12,69],[0,47],[-10,68],[6,57],[-6,34],[10,61],[35,32],[10,-13],[16,21],[5,52],[24,14],[14,39],[7,45],[16,22],[-6,59],[11,13],[2,73],[-10,38],[-11,102],[15,52],[4,64],[18,75],[-13,89],[11,30]],[[29842,64964],[3,18],[27,22],[-21,-43],[-9,3]],[[29812,64781],[5,20],[11,-16],[0,-50],[-6,35],[-10,11]],[[29792,64880],[16,16],[-12,-43],[-4,27]],[[29275,64272],[5,-67],[-9,-39],[-38,-78],[-11,-1]],[[28633,68013],[16,50],[-5,-45],[-11,-5]],[[28611,68032],[12,40],[9,-5],[-21,-35]],[[27689,66145],[33,53],[53,111],[29,91],[30,50],[26,25],[11,70],[13,36],[4,52],[36,56],[19,54],[-4,80],[-13,40],[2,43],[-7,37],[-23,35],[1,92],[-18,15],[9,77],[-5,125],[-3,13],[28,22],[38,42],[56,47],[40,20],[33,2],[38,-9],[36,8],[86,-42],[23,-19],[15,-47],[23,-46],[12,-10],[40,49],[35,1],[43,12],[21,-19],[23,-1],[14,25],[30,20],[18,40],[9,1],[19,80],[30,64],[10,8],[19,54],[14,5],[20,-15],[17,19],[9,53],[2,87],[-9,180],[-20,40],[11,50],[14,11],[2,-33],[21,41],[-3,43],[-19,47],[-22,-15],[5,29],[-15,51],[-15,1],[1,80],[16,115],[19,5],[23,42],[0,48],[18,22],[27,55],[9,-5],[16,29],[25,75],[4,46],[12,51],[41,121],[31,100],[56,141],[-1,12],[68,109],[26,62],[18,0],[22,37],[27,-29],[19,10],[91,-8],[53,-1],[107,14],[24,-1],[93,10]],[[29478,69336],[1,-109],[-7,-30],[-4,-63],[13,-57],[-10,-55],[-2,-92],[-4,-31],[4,-70],[19,-88],[4,-69],[-12,-80],[7,-114],[-4,-36],[-19,-63],[-5,-89],[-8,-79],[9,-27],[-1,-103],[10,-67],[-5,-64],[12,-57],[-16,-97],[-7,-114],[10,-26],[7,66],[19,0],[2,-53],[13,-29],[-2,-343],[-6,-422],[0,-74],[-4,-37],[8,-65]],[[29390,64649],[-7,-42],[-21,-42],[-2,-79],[-13,2],[9,-60],[18,87],[11,-15],[10,42],[21,27],[18,2],[4,33],[22,-30],[2,41],[9,-28],[20,-8],[18,-23],[23,28],[2,43],[17,8],[10,-12],[75,3],[39,20],[14,18],[30,63],[9,40],[12,13],[13,50],[21,21],[12,-2],[-18,-52],[-9,-6],[15,-31],[5,-44],[17,-12],[11,25],[16,-72],[15,17],[23,48],[2,28],[17,11],[12,-12],[-5,-21],[-67,-94],[-78,-123],[-50,-62],[-81,-93],[-53,-78],[-43,-41],[-27,-12],[-6,15],[-64,-60],[-61,10],[-46,-55],[3,38],[-23,-2],[3,25],[-11,39],[7,35],[-8,36]],[[26861,65369],[16,17],[-2,-36],[-14,19]],[[26831,65420],[6,90],[11,-35],[-3,-35],[-14,-42],[0,22]],[[26661,65520],[1,-26],[21,-28],[13,17],[37,-82],[25,-20],[11,-21],[18,-66],[19,-29],[18,23],[2,50],[7,13],[14,-55],[19,2],[-1,-37],[29,-96],[16,-33],[22,-21],[41,57],[22,4],[17,35],[51,60],[37,-38],[19,15],[20,-9],[29,61],[29,86],[8,10],[16,58],[44,102],[10,1],[67,108],[30,17],[24,34],[65,69],[17,24]],[[15490,70789],[21,10],[13,-45],[-1,-55],[17,-42],[25,-1],[32,51],[14,-4],[59,-119],[7,-61],[18,-81],[1,-57],[7,-52],[-3,-67],[10,-88],[-4,-41],[3,-50],[33,-54],[46,-35],[11,-19],[17,14],[13,-32],[18,-5],[23,39],[23,7],[54,83],[12,45],[15,16],[21,-15],[29,12],[28,26],[19,-30],[17,-9],[18,14],[34,-40],[9,-75],[14,4],[19,50],[34,4],[13,-16],[11,34],[47,51],[15,35],[21,-9],[21,-51],[22,6],[34,26],[20,5],[11,42],[28,27],[29,46],[46,27],[37,10],[13,57],[14,23],[24,-22],[64,39],[17,-14],[19,6],[28,42],[11,36],[163,1],[250,-3],[164,-3]],[[17338,70482],[16,-107],[11,-27],[16,-75],[18,5],[10,-47],[19,-2],[16,-48],[0,-53],[13,-49],[7,-54],[-24,-108],[-1,-55],[-10,-23],[-24,-150],[1,-36],[-9,-51],[-7,-116],[-13,-40],[-6,-53],[-14,-44],[-3,-51],[7,-58],[-9,-68],[-18,-76],[0,-21],[-32,-49],[-14,-93],[-8,-97],[-10,-66],[-18,-48],[3,-66],[-8,-36],[15,-69],[-8,-56],[13,-35],[19,25],[16,-59],[20,12],[2,-53],[18,-17],[1,-31],[-10,-62],[-12,-17],[1,-42],[11,-32],[-1,-43],[-12,-81],[0,-54],[-11,-11],[-2,-59],[0,-2105]],[[17307,65831],[-166,-2],[-273,-5],[-26,-3],[-143,2],[-220,2]],[[15305,65829],[-21,55],[-15,55],[-7,69],[2,33],[-14,81],[2,32],[-7,63],[-2,126],[13,147],[-7,107],[-17,87],[-11,2],[-11,123],[15,90],[12,96],[6,83],[0,52],[9,80],[6,99],[-6,42],[17,53],[8,43],[16,132],[15,193],[15,283],[7,225],[4,188],[-2,8],[10,197],[-1,69],[7,184],[0,92],[-5,39],[8,91],[12,227],[8,117],[4,157],[-3,66],[3,109],[-4,69],[5,24],[5,176],[-1,76],[-11,41],[6,87],[-2,83],[-7,45],[16,36],[1,109],[-19,193],[27,-79],[14,-14],[-3,38],[23,10],[7,17],[11,-28],[12,31],[15,0],[20,51]],[[26599,59546],[33,-4],[78,1],[5,-5],[157,-1],[61,3],[151,-2],[3,26],[77,-5],[-8,-28]],[[18139,65823],[61,-6],[262,13],[192,2],[5,-5],[196,3],[118,3]],[[18136,60011],[0,880],[1,11],[-1,272],[1,173],[-1,298],[1,318],[0,1661],[1,149],[0,628],[1,266],[0,1156]],[[28738,60998],[7,-15],[-7,-27],[0,42]],[[28949,61206],[-16,-79],[-15,-98],[-8,-27],[-5,21],[-15,-7],[-19,-78],[-12,-70],[-11,-126],[1,-64],[-23,-128],[7,-14],[-18,-91],[-12,-79],[-9,-11],[1,-57],[-11,-86],[-18,-64],[-16,2],[4,-35],[-9,-5],[-1,84],[-10,55],[-4,61],[2,70],[9,59],[3,89],[10,105],[4,76],[16,79],[18,110],[-4,34],[21,17],[15,65],[1,28],[-20,21],[25,54]],[[28739,61120],[-11,-44],[-3,44]],[[28423,61914],[-20,-21],[-13,21],[0,-52],[-18,-113],[-4,-52],[2,-76],[15,-59],[29,15],[6,26],[15,0],[12,38],[9,-30],[-6,-74],[19,-64],[0,-49],[35,-59],[25,-2],[7,-28],[6,21],[24,-9],[4,-44],[16,-39],[8,-59],[13,-15],[15,-54],[20,-23],[30,-68],[-5,-65],[-15,-24],[-2,-107],[4,-29],[-11,-46],[13,-23],[-19,-30],[-31,64],[-11,-27],[-7,25],[0,41],[-13,81],[-19,32],[-8,35],[-12,12],[-21,103],[-11,11],[-4,45],[-13,30],[-2,-30],[28,-89],[20,-114],[15,-24],[1,-25],[16,-14],[10,-96],[11,-53],[30,-4],[7,-36],[31,-24],[-14,-29],[-1,-37],[13,-8],[4,22],[8,-41],[5,-110],[-8,-90],[-18,63],[-21,45],[-9,-42],[11,-39],[7,-55],[9,-14],[-22,-24],[-18,-4],[6,-39],[22,11],[-2,-76],[14,12],[4,-31],[12,-20],[6,-49],[-9,-97],[-4,15],[-16,-18],[-15,-34],[-10,68],[-29,61],[-14,45],[4,48],[-13,71],[-22,-9],[-8,-25],[-10,46],[-18,11],[-4,23],[-21,-35],[11,-33],[12,8],[18,-13],[15,-55],[9,-2],[8,58],[8,-119],[1,-67],[22,-19],[25,-82],[1,-65],[27,4],[9,27],[1,-33],[9,-11],[-3,86],[17,6],[13,-29],[35,-36],[17,27],[11,-11],[8,-128],[12,-140],[9,-71],[7,-94]],[[15775,72069],[4,105],[10,72],[12,-52],[-2,-58],[19,-32],[-18,-27],[-5,-26],[-18,-12],[-2,30]],[[15740,73454],[0,40],[20,-41],[-17,-26],[-3,27]],[[15720,73667],[6,14],[26,-115],[-18,42],[-14,59]],[[15715,73495],[8,29],[12,-47],[-15,-33],[-5,51]],[[15707,73080],[13,89],[14,59],[2,55],[16,11],[7,-19],[0,-49],[19,-38],[3,-26],[-15,-19],[-17,15],[-1,-29],[-13,-34],[-14,-7],[3,-24],[23,10],[11,-42],[8,-84],[-4,-14],[10,-100],[8,27],[-5,67],[10,-3],[16,-57],[16,-13],[7,-94],[-8,-58],[-14,13],[-12,86],[-21,-25],[2,30],[-19,44],[3,93],[-5,56],[-18,-4],[-3,30],[-22,54]],[[15649,73739],[11,-4],[34,-53],[-8,-8],[-22,20],[-15,45]],[[15623,73630],[17,26],[2,-33],[-19,7]],[[15618,73982],[15,0],[4,-29],[-17,-2],[-2,31]],[[15586,73509],[7,30],[20,1],[2,-29],[15,-33],[17,-9],[-18,69],[37,108],[12,-2],[37,-58],[-19,-50],[11,-66],[-2,-62],[-11,-25],[4,-69],[-20,-12],[-15,50],[-9,-12],[-22,11],[-31,62],[-6,76],[-9,20]],[[15577,73617],[18,-10],[18,-54],[-30,41],[-6,23]],[[17306,73978],[-1,-290],[0,-441],[-2,-286],[0,-702],[1,-52],[0,-1247],[-7,-48],[20,-76],[8,-54],[0,-63],[12,-40],[-17,-93],[7,-11],[11,-93]],[[15490,70789],[-34,9],[-3,34],[-12,6],[-10,-31],[-13,10],[-19,-51],[-9,7],[-21,74],[-10,8],[-7,-47],[-10,-10],[6,139],[1,124],[-4,165],[13,-61],[-2,-100],[4,-137],[17,0],[1,37],[-10,40],[0,61],[12,-37],[14,83],[-19,116],[11,42],[25,53],[-17,37],[-6,-27],[-18,-2],[4,-23],[-16,4],[-20,44],[-1,55],[-11,130],[8,8],[6,-52],[11,31],[52,63],[-10,27],[-34,23],[-2,45],[-27,14],[-8,-24],[8,-90],[-16,-21],[3,38],[-4,206],[-14,176],[-24,80],[-9,207],[-5,77],[-15,162],[-14,36],[-4,55],[-14,23],[-5,31],[-19,29],[-12,110],[-8,101],[1,53],[-11,56],[12,58],[9,138],[-19,46],[3,22],[17,1],[40,-55],[32,-64],[10,-1],[25,-39],[6,12],[41,-55],[-1,-20],[35,-41],[56,-11],[21,13],[31,-37],[9,19],[10,-18],[24,7],[12,-32],[41,2],[32,71],[-3,-24],[22,-42],[7,-45],[17,17],[17,-5],[-3,-32],[14,-20],[1,-59],[10,6],[3,53],[-14,34],[0,40],[12,28],[21,10],[3,-31],[-15,-34],[10,-50],[7,6],[2,48],[10,14],[8,-100],[-15,-10],[11,-42],[8,-78],[13,-21],[-8,-25],[-16,2],[2,-42],[-17,-36],[-9,-113],[-14,-9],[11,113],[-6,17],[-19,-101],[-4,-53],[-21,-70],[-38,-183],[-13,-119],[12,8],[23,-13],[12,27],[21,17],[3,38],[-44,-62],[-17,27],[42,226],[31,74],[29,28],[3,73],[16,73],[31,68],[-9,97],[22,-40],[14,-187],[-22,0],[3,-40],[11,-14],[-4,-56],[7,-19],[0,-53],[-14,-38],[-1,-38],[15,-16],[-10,-48],[-6,-87],[4,-21],[-10,-57],[7,-49],[-15,-79],[-27,78],[8,96],[-16,-42],[-6,-63],[30,-83],[-10,-16],[1,-48],[-11,-26],[-16,46],[-20,105],[12,37],[1,61],[-7,25],[0,-51],[-12,-57],[7,-72],[-6,-48],[13,14],[11,-66],[27,-22],[11,37],[0,33],[13,16],[8,79],[10,53],[-2,30],[25,-58],[10,25],[-4,36],[27,34],[0,50],[-8,58],[-8,11],[6,35],[-10,40],[-7,71],[22,38],[-24,58],[16,82],[-6,91],[15,46],[9,119],[22,25],[-1,69],[-14,23],[-23,86],[1,74],[-10,49],[-15,4],[3,-24],[-11,-28],[10,-67],[18,-50],[1,-35],[-26,85],[-12,4],[-7,58],[2,77],[18,24],[16,-22],[10,42],[-10,45],[-28,45],[-13,48],[1,39],[-29,-33],[-7,33],[4,45],[-13,-17],[3,39],[24,28],[13,-15],[9,-49],[19,7],[-10,108],[17,6],[5,34],[-21,66],[-5,66],[8,44],[-13,30],[-17,-6],[-11,-41],[9,-44],[-19,40],[8,57],[-10,25],[-9,-14],[-1,65],[-21,54],[11,21],[-5,36],[-13,16],[16,54],[184,0],[97,-6],[145,5],[143,-2],[190,0],[169,0],[165,1],[178,0],[325,-2]],[[25685,69733],[6,80],[31,-17],[-23,-128],[-14,65]],[[25568,69555],[12,14],[2,-63],[-14,23],[0,26]],[[24707,71654],[8,83],[12,4],[-5,-75],[-15,-12]],[[24691,71507],[21,33],[-14,-47],[-7,14]],[[24655,71564],[5,21],[30,29],[5,-13],[-11,-48],[-24,-11],[-5,22]],[[24625,71464],[3,27],[20,41],[1,-19],[-24,-49]],[[24631,71609],[14,-54],[-13,-3],[-8,37],[7,20]],[[24621,71679],[35,36],[11,-55],[14,34],[2,-44],[-16,-9],[-17,-49],[-11,42],[-16,20],[-2,25]],[[24616,71401],[17,18],[32,86],[14,-32],[-30,-33],[5,-35],[-17,-4],[-20,-37],[-1,37]],[[24563,71635],[15,17],[-1,-44],[-14,27]],[[24276,71309],[20,-30],[34,11],[49,52],[19,27],[18,0],[48,70],[25,27],[6,26],[17,-22],[7,33],[25,10],[22,70],[14,-12],[14,35],[10,-4],[24,-81],[-14,-76],[-24,-78],[9,-73],[-16,-35],[-11,-77],[13,-16],[42,73],[5,54],[42,-108],[13,-22],[9,10],[25,-27]],[[25508,69434],[-10,-58],[-1,-80],[-37,-13],[-21,-40],[3,-47],[-11,-59],[-9,-15],[-11,-83],[-12,-42],[-7,-104],[3,-25],[-13,-50],[20,-42],[12,7],[7,53],[26,64],[10,3],[15,63],[0,36],[31,133],[26,36],[11,-7],[11,34],[15,-32],[-6,46],[12,97],[27,109],[7,100],[12,-5],[21,32],[1,59],[17,60],[22,-3],[-2,-87],[-16,-5],[-2,-142],[-12,-40],[-8,4],[-5,-53],[-14,-52],[5,-43],[-13,-39],[4,-26],[-18,-33],[-13,-62],[-8,-87],[-17,-107],[-9,-26],[-9,-62],[-21,-268],[9,-94],[-2,-71],[-12,-41],[-23,-46],[-3,-62],[-8,-37],[-14,-162],[2,-82],[8,-50],[-2,-102],[-21,-118],[-7,-136],[-20,-107],[-9,-156],[8,-76],[-5,-38],[8,-85],[-7,-57],[14,-62],[0,-85],[6,-63],[16,-59],[-4,-89],[-11,-107],[6,-145]],[[2682,386],[26,11],[1,-51],[-9,8],[-8,-28],[-10,60]],[[2636,452],[21,8],[-4,-21],[-13,-12],[-4,25]],[[2313,271],[13,35],[16,2],[19,68],[4,-20],[27,2],[4,-44],[-7,13],[-29,-30],[-23,-89],[-11,47],[-13,16]],[[90204,32599],[5,15],[34,16],[21,137],[6,65],[7,-11],[7,-43],[14,-11],[-10,-88],[-32,-109],[-9,-44],[-2,-111],[-12,-56],[-18,30],[-7,101],[8,50],[-12,59]],[[90597,35570],[10,43],[4,-16],[-8,-45],[-6,18]],[[90537,37432],[5,20],[1,-49],[-6,29]],[[90507,37973],[14,53],[0,59],[11,0],[0,-66],[-9,-13],[-10,-55],[-6,22]],[[90501,34555],[4,28],[2,101],[9,-12],[20,67],[5,-22],[-14,-80],[4,-63],[-13,7],[0,-73],[-12,18],[-5,29]],[[90487,38800],[6,39],[11,-28],[-1,-51],[-8,-23],[-7,25],[-1,38]],[[90486,35993],[20,2],[3,-36],[-19,-8],[-4,42]],[[90472,34420],[4,45],[13,54],[5,-54],[-4,-24],[7,-40],[-2,-61],[-9,-29],[-14,109]],[[90343,33382],[11,51],[21,35],[15,-9],[-2,-35],[-12,-13],[-8,-39],[-11,-6],[-5,23],[-9,-7]],[[28030,56345],[-13,-8],[-36,-51],[-27,-66],[-35,-121],[-18,-79],[-7,-45],[-16,-58],[-14,-93],[-13,-174],[3,-55],[-7,-48],[-14,-47],[-23,-41],[-9,-97],[-17,10],[-17,-16],[-11,39],[-16,-33],[-10,-63],[3,-31],[8,10],[0,-33],[-15,-20],[-18,-45],[-9,-52],[-34,-59],[-10,38],[-11,-7],[-1,-32],[17,-22],[-5,-59],[-25,-52],[-7,-40],[-10,5],[-24,-22],[-17,-59],[-6,18],[-36,-90],[-8,21],[-15,-28],[-2,30],[-13,-1],[-4,-42],[15,-83],[-7,-74],[-32,-62],[-19,-20],[-2,41],[-19,40],[-11,-22],[-2,-31],[12,-15],[14,-59],[-15,-65],[-25,-59],[-9,0],[-17,-67],[5,-21]],[[31708,38299],[11,-21],[12,13],[9,-36],[-17,-36],[-12,19],[-3,61]],[[31642,38028],[49,54],[35,-32],[-18,-26],[-21,-7],[-11,-24],[-8,12],[-17,-17],[-9,40]],[[31637,38350],[7,-14],[0,-44],[-7,58]],[[31170,38320],[15,18],[17,49],[-4,63],[7,32],[14,12],[20,-6],[17,-25],[50,2],[20,-22],[24,26],[18,-5],[25,-25],[8,20],[28,0],[27,-20],[16,1],[7,-19],[6,24],[37,-35],[4,19],[18,-18],[6,7],[31,-33],[14,-49],[7,13],[5,-27],[10,-6],[14,22],[-5,-40],[3,-84],[13,-30],[-7,-43],[-11,19],[3,-28],[-10,2],[-7,-32],[-13,1],[-11,-59],[-7,-83],[-8,-6],[-1,-44],[-25,-46],[-15,-9],[-12,12],[-7,-27],[-10,13],[-21,-43],[-10,9],[-9,-29],[-8,9],[-18,66],[-12,-10],[-7,-34],[-21,60],[-8,0],[-25,-33],[-14,24],[-12,-19],[-25,47],[-7,-39],[-14,-27],[-21,-3],[-12,-18],[-8,41],[-21,8],[-11,-32],[-19,19],[-12,-12],[1,53],[10,31],[-11,12],[3,65],[5,15],[1,75],[7,31],[-10,101],[-13,21],[-9,78]],[[30985,38023],[20,12],[5,-43],[-15,-38],[-12,32],[2,37]],[[31858,38286],[13,39],[11,-4],[15,-28],[-13,-4],[1,-49],[-9,20],[-13,-5],[-5,31]],[[31828,37522],[7,36],[-4,40],[7,30],[10,-13],[8,22],[17,3],[6,-29],[39,5],[2,-18],[-32,-48],[-41,-30],[-19,2]],[[31779,38288],[6,50],[10,-23],[12,26],[19,-21],[33,6],[-2,-23],[-14,-4],[9,-42],[-16,-11],[-15,23],[-7,-20],[-12,49],[-23,-10]],[[17306,73978],[171,1],[103,1]],[[18139,65823],[-119,3],[-36,-2],[-58,9],[-63,-7],[-79,0],[-293,0],[-184,5]],[[29478,69336],[71,5],[115,0],[40,-9],[62,-5],[57,2],[168,10]],[[25149,51924],[13,-63],[5,-76],[-3,-101],[-10,-105],[-4,3],[8,90],[4,100],[-1,46],[-12,106]],[[25020,51931],[11,38],[32,81],[2,-14],[-13,-63],[2,-28],[13,-33],[-15,-50],[-3,47],[-10,-10],[-17,10],[-2,22]],[[24941,51321],[17,10],[-9,-42],[-8,32]],[[24732,50824],[7,27],[13,-65],[-8,-14],[-12,52]],[[24681,50807],[39,-33],[-19,-8],[-20,41]],[[24628,50763],[25,19],[2,-17],[-26,-20],[-1,18]],[[24275,51386],[10,27],[12,-5],[3,26],[22,-6],[23,-61],[9,7],[6,-29],[-15,-36],[-1,-40],[-14,-19],[-59,115],[4,21]],[[24969,52072],[-17,-35],[-8,7],[-17,-56],[-2,-38],[-12,-15],[3,-40],[-28,17],[-11,-45],[5,-68],[18,-10],[13,25],[-4,-59],[8,-34],[15,-19],[13,11],[6,29],[5,101],[-2,13],[24,54],[3,44],[18,-34],[13,6],[0,-21],[-17,-34],[0,-34],[15,-17],[3,-61],[15,14],[11,82],[16,-25],[-4,-55],[-13,0],[-12,-44],[22,2],[-3,-29],[-31,-22],[13,-66],[11,22],[-7,-59],[-9,26],[-14,11],[-12,-55],[-1,-99],[-9,-5],[-6,86],[-11,1],[-2,-66],[13,-58],[-13,33],[-14,5],[-8,-17],[-15,6],[18,-39],[0,-32],[-23,49],[0,-25],[12,-32],[-12,-14],[1,-34],[11,-36],[20,-11],[-1,-22],[12,-24],[-1,-34],[7,-46],[9,30],[5,-21],[22,-2],[16,-34],[3,30],[20,-91],[11,44],[24,-111],[0,-59],[6,-13],[18,28],[7,-41],[-24,-15],[-2,-33],[16,-3],[-8,-52],[-11,24],[-12,-96],[2,-44],[-21,36],[-2,55],[-8,16],[-31,-138],[-15,-41],[7,67],[9,29],[5,48],[9,21],[0,54],[9,23],[-1,51],[-10,24],[-4,-62],[-16,-29],[-12,29],[-14,77],[-34,43],[-10,45],[-56,33],[-12,-14],[-48,-143],[-46,-115],[-7,10],[4,41],[-12,16],[-2,41],[6,3],[-12,100],[-11,27],[-9,-1],[1,-28],[-8,-36],[2,76],[-10,56],[-13,-64],[-14,14],[-7,-22],[-7,31],[-6,-27],[10,-63],[-12,4],[-7,-27],[-4,-54],[-8,7],[-5,-57],[-8,12],[-19,-33],[-6,-76],[-16,16],[5,21],[-13,67],[-18,57],[-11,-13],[-26,21],[-10,33],[-25,12],[-16,25],[-16,60],[12,14],[7,58],[8,-12],[12,-52],[7,22],[-1,-68],[15,-17],[-4,104],[-23,64],[0,42],[-11,7],[-9,-41],[-13,-13],[2,41],[-10,-7],[3,39],[9,28],[-10,40],[-29,-50],[-10,80],[-10,-8],[-6,118],[-26,1],[6,33],[1,85],[-32,16],[-13,-10],[-20,-38],[-7,57],[8,41],[8,-3],[-2,46],[-16,8],[-14,-22],[-9,20],[-2,-40],[-24,-36],[-14,-34],[-6,32],[-18,-16],[0,-32],[9,-30],[18,-8],[-9,-30],[8,-63],[20,21],[5,-18],[-13,-14],[6,-20],[-32,-6],[-26,-49],[-20,-9],[-82,63],[-35,42],[-57,101],[-23,32],[-41,40],[-33,5],[-14,-14],[-36,7],[-58,-25],[-17,-13],[-26,-53]],[[30097,65246],[-20,-46],[-6,102],[2,64],[-10,22],[2,-159],[-17,2],[-2,-35],[-10,-7],[-1,55],[16,95],[8,68],[17,46]],[[30029,65436],[5,7],[11,-52],[-5,-7],[-11,52]],[[30019,65203],[6,51],[-4,23],[5,57],[4,-20],[0,-85],[-11,-26]],[[29960,64853],[11,80],[5,-14],[1,-76],[-17,10]],[[30068,65494],[-3,-45],[-14,-41],[-6,42],[4,35],[-19,54],[-8,40],[5,-129],[-22,17],[12,-39],[1,-75],[-12,-11],[8,-53],[0,-72],[-10,-45],[-8,-73],[-12,6],[-27,-18],[-27,-34],[-38,-30],[-1,16]]]},Vat={AL:"01",Alabama:"01",AK:"02",Alaska:"02",AZ:"04",Arizona:"04",AR:"05",Arkansas:"05",CA:"06",California:"06",CO:"08",Colorado:"08",CT:"09",Connecticut:"09",DE:"10",Delaware:"10",DC:"11","District of Columbia":"11",FL:"12",Florida:"12",GA:"13",Georgia:"13",HI:"15",Hawaii:"12",ID:"16",Idaho:"16",IL:"17",Illinois:"17",IN:"18",Indiana:"18",IA:"19",Iowa:"19",KS:"20",Kansas:"20",KY:"21",Kentucky:"21",LA:"22",Louisiana:"22",ME:"23",Maine:"23",MD:"24",Maryland:"24",MA:"25",Massachusetts:"25",MI:"26",Michigan:"26",MN:"27",Minnesota:"27",MS:"28",Mississippi:"28",MO:"29",Missouri:"29",MT:"30",Montana:"30",NE:"31",Nebraska:"31",NV:"32",Nevada:"32",NH:"33","New Hampshire":"33",NJ:"34","New Jersey":"34",NM:"35","New Mexico":"35",NY:"36","New York":"36",NC:"37","North Carolina":"37",ND:"38","North Dakota":"38",OH:"39",Ohio:"39",OK:"40",Oklahoma:"40",OR:"41",Oregon:"41",PA:"42",Pennsylvania:"42",RI:"44","Rhode Island":"44",SC:"45","South Carolina":"45",SD:"46","South Dakota":"46",TN:"47",Tennessee:"47",TX:"48",Texas:"48",UT:"49",Utah:"49",VT:"50",Vermont:"50",VA:"51",Virginia:"51",WA:"53",Washington:"53",WV:"54","West Virginia":"54",WI:"55",Wisconsin:"55",WY:"56",Wyoming:"56",PR:"72","Puerto Rico":"72",VI:"78",AS:"60",MP:"69",GU:"66"};class Yat extends zR{getRegionField(e){return e.allFields[0]}getColorField(e){return e.allFields[1]}getDataValue(e){if(e.isNumber())return e.value;if(e.isString())if(e.field===this.getRegionField(e.field.parentExplore)){const n=Vat[e.value];return n===void 0?void 0:n}else return e.value;else{if(e.isNull())return;throw new Error("Invalid field type for shape map.")}}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"nominal";if(e.isString())return e===this.getRegionField(e.parentExplore)?"quantitative":"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for shape map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");if(!e.isArray())throw new Error("Invalid data for shape map");const n=this.getRegionField(e.field),r=this.getColorField(e.field),i=r?this.getDataType(r):void 0,s=r!==void 0?{field:r.name,type:i,axis:{title:Od(this.options,r,void 0,this.timezone)},scale:Jl(i,!1)}:void 0,o=this.mapData(e).filter(u=>u[n.name]!==void 0);return{...this.getSize(),data:{values:o},projection:{type:"albersUsa"},layer:[{data:{values:yP,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"#efefef",stroke:"white"}},{transform:[{lookup:n.name,from:{data:{values:yP,format:{type:"topojson",feature:"states"}},key:"id"},as:"geo"}],mark:"geoshape",encoding:{shape:{field:"geo",type:"geojson"},color:s}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}}const tO=class tO extends Nd{create(e,n,r,i,s,o){return new Yat(e,n,r,s,o)}get rendererName(){return"shape_map"}};tO.instance=new tO;let EP=tO;class Kat extends zR{getDataValue(e){if(e.isNull()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for segment map.")}getDataType(e){if(e.isAtomicField()){if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for segment map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");const n=e.field.allFields,r=n[0],i=n[1],s=n[2],o=n[3],u=n[4],a=u?this.getDataType(u):void 0,l=u!==void 0?{field:u.name,type:a,axis:{title:Od(this.options,u,void 0,this.timezone)},scale:Jl(a,!1)}:void 0;return{...this.getSize(),data:{values:this.mapData(e)},projection:{type:"albersUsa"},layer:[{data:{values:yP,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"lightgray",stroke:"white"}},{mark:"line",encoding:{latitude:{field:r.name,type:"quantitative"},longitude:{field:i.name,type:"quantitative"},latitude2:{field:s.name,type:"quantitative"},longitude2:{field:o.name,type:"quantitative"},color:l}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}}const nO=class nO extends Nd{create(e,n,r,i,s,o){return new Kat(e,n,r,s,o)}get rendererName(){return"segment_map"}};nO.instance=new nO;let AP=nO;var Xat=Gn("<div>");const Jat=[gP.instance,mP.instance,EP.instance,AP.instance];function Zat(t){const e=oA(),n=()=>{var i;return(i=Jat.find(s=>s.rendererName===t.type))==null?void 0:i.create(document,{size:oa(e.rootField)===oa(t.data.field)?"large":"medium"},{dataStyles:{}},t.data.field,{})};let r;return Ap(async()=>{if(r&&n()){const i=await n().render(t.data);r.replaceChildren(i)}}),(()=>{var i=Xat(),s=r;return typeof s=="function"?Sp(s,i):r=i,i})()}function cA(t,e=2){return`${"0".repeat(e-1)}${t}`.slice(-e)}function Fce(t){const e=t.getUTCFullYear(),n=cA(t.getUTCMonth()+1),r=cA(t.getUTCDate());return`${e}-${n}-${r}`}function elt({field:t,dataColumn:e}){if(!t.isAtomicField())throw new Error(`Time renderer error: field ${t.name} is not an atomic field`);if(!t.isDate()&&!t.isTimestamp())throw new Error(`Time renderer error: field ${t.name} is not a date or timestamp`);if(t.isDate()){const n=e.value;return Fce(n)}if(t.isTimestamp()){const n=e.value,r=Fce(n),i=cA(n.getUTCHours()),s=cA(n.getUTCMinutes()),o=cA(n.getUTCSeconds()),u=`${i}:${s}:${o}`;return`${r} ${u}`}return""}function VR(t,e){const n=e??t.tagParse().tag;return!t.isExplore()&&t.isAtomicField()?n.has("link")?"link":n.has("image")?"image":"cell":tB(n,"list","list_detail")?"list":tB(n,"bar_chart")?"chart":n.has("dashboard")?"dashboard":n.has("line_chart")?"line_chart":n.has("scatter_chart")?"scatter_chart":n.has("shape_map")?"shape_map":n.has("segment_map")?"segment_map":"table"}const YR="∅";function yp(t){const{field:e,dataColumn:n,resultMetadata:r,tag:i,customProps:s={}}=t,o=VR(e,i);let u="";const a=s[o]||{};switch(o){case"cell":{const l=n.value;qV(e,l)?u=yZe(e,l):l===null?u=YR:HV(e,l)?u=l:e.isAtomicField()&&(e.isDate()||e.isTimestamp())?u=elt(t):u=String(l);break}case"link":{u=AZe(e,n);break}case"list":{u=Bat(t);break}case"image":{u=Pat(t);break}case"chart":{u=Pt(hat,dO({field:e,get data(){return r.getData(n)},metadata:r},a));break}case"dashboard":{if(n.isArray())u=Pt(zat,{data:n});else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the dashboard renderer for field ${n.field.name}`);break}case"line_chart":case"scatter_chart":case"shape_map":case"segment_map":{if(n.isArray())u=Pt(Zat,{type:o,data:n});else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the ${o} renderer for field ${n.field.name}`);break}case"table":{if(n.isArray())u=Pt(Lat,dO({data:n},a));else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the table renderer for field ${n.field.name}`);break}default:try{u=String(n.value)}catch{console.warn("Couldnt get value for ",e,n)}}return{renderAs:o,renderValue:u}}function tlt(){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 nlt(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=oa(u);return e.set(u,a),a},r=tlt(),i=t.data.field,s={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>s.fields[n(u)],getData:r.get,modelTag:t.modelTag,resultTag:t.tagParse().tag,rootField:i},o=s.getFieldKey(i);return s.fields[o]={field:i,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null,renderAs:VR(i,t.tagParse().tag)},wce(t.data.field,s),Lce(t.data,s),Object.values(s.fields).forEach(u=>{const a=u.field;a.isExploreField()?Ice(a,a.tagParse().tag,s):a.isExplore()&&Ice(a,t.tagParse().tag,s)}),s}function wce(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,renderAs:VR(n)},n.isExploreField()&&wce(n,e)}}const Lce=(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(qV(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(HV(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);l.isArray()&&Lce(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function Ice(t,e,n){const r=n.field(t);if(tB(e,"bar","bar_chart")){const i=f7e(t,e);r.vegaChartProps=EKe(i,{field:t,metadata:n})}}function rlt(t,{element:e}){const n=xi(()=>t.result?t.result:t.queryResult&&t.modelDef?new zP.Result(t.queryResult,t.modelDef):null);return Pt(UP,{get when(){return n()},get children(){return Pt(ilt,{get result(){return n()},element:e})}})}function ilt(t){const e=xi(()=>nlt(t.result)),n=()=>{const i=e().modelTag,s=e().resultTag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};Ap(()=>{if(t.element){const i=slt(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>yp({field:t.result.resultExplore,dataColumn:t.result.data,resultMetadata:e(),tag:n().resultTag});return Pt(Ace.Provider,{get value(){return e()},get children(){return r().renderValue}})}function Fo(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 slt(t,e){const n={},r=Fo("tableRowHeight",e,t),i=Fo("tableBodyColor",e,t),s=Fo("tableFontSize",e,t),o=Fo("tableHeaderColor",e,t),u=Fo("tableHeaderWeight",e,t),a=Fo("tableBodyWeight",e,t),l=Fo("tableBorder",e,t),c=Fo("tableBackground",e,t),f=Fo("tableGutterSize",e,t),x=Fo("tablePinnedBackground",e,t),h=Fo("tablePinnedBorder",e,t),p=Fo("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 olt=`:host {
1338
+ `)}function use(t){return"["+t.map(ase).join(", ")+"]"}function ase(t){return _e(t)?"[…]":Qe(t)&&!Bx(t)?"{…}":t}function O$(t,e){const n=this;if(e=e||{},ry.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(AK(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||cd.Canvas,n._scenegraph=new mee;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||hWe,n._redraw=!0,n._handler=new jb().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=$Ge(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=sWe(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=sse(n,n._width),n._viewHeight=ose(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,uWe(n),CGe(n),bGe(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function a6(t,e){return Je(t._signals,e)?t._signals[e]:Se("Unrecognized signal name: "+Fe(e))}function lse(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function cse(t,e,n,r){let i=lse(n,r);return i||(i=C$(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function fse(t,e,n){const r=lse(e,n);return r&&e._targets.remove(r),t}De(O$,ry,{async evaluate(t,e,n){if(await ry.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,NGe(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&BC(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&&Gie(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=a6(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",tse(t)):tse(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?(J9(t)||Se("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&&(ry.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(a6(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:aWe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=C$(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 cse(this,t,a6(this,t),e)},removeSignalListener(t,e){return fse(this,a6(this,t),e)},addDataListener(t,e){return cse(this,t,r6(this,t).values,e)},removeDataListener(t,e){return fse(this,r6(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=_$(this,null);this._globalCursor=!!t,e&&_$(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:dWe,events:kGe,finalize:MGe,hover:PGe,data:TGe,change:i6,insert:RGe,remove:OGe,scale:oWe,initialize:ZGe,toImageURL:tWe,toCanvas:rWe,toSVG:iWe,getState:lWe,setState:xWe});const mWe="view",l6="[",c6="]",xse="{",dse="}",yWe=":",hse=",",EWe="@",AWe=">",vWe=/[[\]{}]/,SWe={"*":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 pse,gse;function Sd(t,e,n){return pse=e||mWe,gse=n||SWe,mse(t.trim()).map(N$)}function _We(t){return gse[t]}function _E(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 mse(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=_E(t,i,hse,l6+xse,c6+dse),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function N$(t){return t[0]==="["?CWe(t):bWe(t)}function CWe(t){const e=t.length;let n=1,r;if(n=_E(t,n,c6,l6,c6),n===e)throw"Empty between selector: "+t;if(r=mse(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==AWe)throw"Expected '>' after between selector: "+t;r=r.map(N$);const i=N$(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function bWe(t){const e={source:pse},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===dse){if(u=t.lastIndexOf(xse),u>=0){try{r=TWe(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]===EWe&&(i=++u),a=_E(t,u,yWe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=_E(t,u,l6),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=_E(t,u,c6),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==l6)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||vWe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):_We(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 TWe(t){const e=t.split(hse);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function RWe(t){return Qe(t)?t:{type:t||"pad"}}const CE=t=>+t||0,OWe=t=>({top:t,bottom:t,left:t,right:t});function NWe(t){return Qe(t)?t.signal?t:{top:CE(t.top),bottom:CE(t.bottom),left:CE(t.left),right:CE(t.right)}:OWe(CE(t))}const _r=t=>Qe(t)&&!_e(t)?ct({},t):{value:t};function yse(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 Pr(t,e,n){for(const r in e)yse(t,r,e[r]);for(const r in n)yse(t,r,n[r],"update")}function w1(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function L1(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const D$="mark",F$="frame",w$="scope",DWe="axis",FWe="axis-domain",wWe="axis-grid",LWe="axis-label",IWe="axis-tick",$We="axis-title",BWe="legend",kWe="legend-band",PWe="legend-entry",MWe="legend-gradient",Ese="legend-label",jWe="legend-symbol",UWe="legend-title",qWe="title",HWe="title-text",zWe="title-subtitle";function QWe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!L1(a,t)&&L$(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===F$?i.group:n===D$?ct({},i.mark,i[e]):null;for(a in c)l=L1(a,t)||(a==="fill"||a==="stroke")&&(L1("fill",t)||L1("stroke",t)),l||L$(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)L1(h,t)||L$(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 L$(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Ase=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:vse(t);function f6(t){if(t.gradient!=null)return WWe(t);let e=t.signal?`(${t.signal})`:t.color?GWe(t.color):t.field!=null?vse(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=VWe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${d6(t.exponent)})`),t.mult!=null&&(e+=`*${d6(t.mult)}`),t.offset!=null&&(e+=`+${d6(t.offset)}`),t.round&&(e=`round(${e})`),e}const x6=(t,e,n,r)=>`(${t}(${[e,n,r].map(f6).join(",")})+'')`;function GWe(t){return t.c?x6("hcl",t.h,t.c,t.l):t.h||t.s?x6("hsl",t.h,t.s,t.l):t.l||t.a?x6("lab",t.l,t.a,t.b):t.r||t.g||t.b?x6("rgb",t.r,t.g,t.b):null}function WWe(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(Ase(t.gradient)),`gradient(${e.join(",")})`}function d6(t){return Qe(t)?"("+f6(t)+")":t}function vse(t){return Sse(Qe(t)?t:{datum:t})}function Sse(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):Se("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?bl(r).map(Fe).join("]["):Sse(r)),e+"["+r+"]"}function VWe(t,e){const n=Ase(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?"":"*"+d6(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function YWe(t){let e="";return t.forEach(n=>{const r=f6(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function _se(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=QWe(t,e,n,r,i.config);for(const u in t)o[u]=KWe(t[u],e,s,i);return s}function KWe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=JWe(XWe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function XWe(t){return _e(t)?YWe(t):f6(t)}function JWe(t,e,n,r){const i=Oa(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const ZWe="outer",eVe=["value","update","init","react","bind"];function Cse(t,e){Se(t+' for "outer" push: '+Fe(e))}function bse(t,e){const n=t.name;if(t.push===ZWe)e.signals[n]||Cse("No prior signal definition",n),eVe.forEach(r=>{t[r]!==void 0&&Cse("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 I$(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function h6(t,e,n,r){return new I$(t,e,n,r)}function p6(t,e){return h6("operator",t,e)}function Xe(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function bE(t,e){return e?{$field:t,$name:e}:{$field:t}}const $$=bE("key");function Tse(t,e){return{$compare:t,$order:e}}function tVe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const nVe="ascending",rVe="descending";function iVe(t){return Qe(t)?(t.order===rVe?"-":"+")+g6(t.op,t.field):""}function g6(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const B$="scope",k$="view";function ir(t){return t&&t.signal}function sVe(t){return t&&t.expr}function m6(t){if(ir(t))return!0;if(Qe(t)){for(const e in t)if(m6(t[e]))return!0}return!1}function lu(t,e){return t??e}function _d(t){return t&&t.signal||t}const Rse="timer";function TE(t,e){return(t.merge?uVe:t.stream?aVe:t.type?lVe:Se("Invalid stream specification: "+Fe(t)))(t,e)}function oVe(t){return t===B$?k$:t||k$}function uVe(t,e){const n=t.merge.map(i=>TE(i,e)),r=P$({merge:n},t,e);return e.addStream(r).id}function aVe(t,e){const n=TE(t.stream,e),r=P$({stream:n},t,e);return e.addStream(r).id}function lVe(t,e){let n;t.type===Rse?(n=e.event(Rse,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(oVe(t.source),t.type);const r=P$({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function P$(t,e,n){let r=e.between;return r&&(r.length!==2&&Se('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[TE(r[0],n),TE(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(cVe(e.marktype,e.markname,e.markrole)),e.source===B$&&r.push("inScope(event.item)"),r.length&&(t.filter=Oa("("+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 cVe(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 fVe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function xVe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||Se("Signal update missing events specification."),je(s)&&(s=Sd(s,e.isSubscope()?B$:k$)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[hVe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&Se("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?Oa(o,e):o.expr!=null?Oa(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:fVe,$params:{$value:e.signalRef(o.signal)}}:Se("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(dVe(a,e),i)))}function dVe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):TE(t,e)}}function hVe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function pVe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?Se("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=Oa(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>xVe(i,e,n.id))}const Ut=t=>(e,n,r)=>h6(t,n,e||void 0,r),Ose=Ut("aggregate"),gVe=Ut("axisticks"),Nse=Ut("bound"),cu=Ut("collect"),Dse=Ut("compare"),mVe=Ut("datajoin"),Fse=Ut("encode"),yVe=Ut("expression"),EVe=Ut("facet"),AVe=Ut("field"),vVe=Ut("key"),SVe=Ut("legendentries"),_Ve=Ut("load"),CVe=Ut("mark"),bVe=Ut("multiextent"),TVe=Ut("multivalues"),RVe=Ut("overlap"),OVe=Ut("params"),wse=Ut("prefacet"),NVe=Ut("projection"),DVe=Ut("proxy"),FVe=Ut("relay"),Lse=Ut("render"),wVe=Ut("scale"),Cd=Ut("sieve"),LVe=Ut("sortitems"),Ise=Ut("viewlayout"),IVe=Ut("values");let $Ve=0;const $se={min:"min",max:"max",count:"sum"};function BVe(t,e){const n=t.type||"linear";mZ(n)||Se("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function kVe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Bse(t.domain,t,e),t.range!=null&&(n.range=Pse(t,e,n)),t.interpolate!=null&&WVe(t.interpolate,n),t.nice!=null&&(n.nice=GVe(t.nice)),t.bins!=null&&(n.bins=QVe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=_o(t[r],e))}function _o(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):Se("Unsupported object: "+Fe(t)):t}function y6(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>_o(n,e))}function E6(t){Se("Can not find data set: "+Fe(t))}function Bse(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&Se("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(_e(t)?PVe:t.fields?jVe:MVe)(t,e,n)}function PVe(t,e,n){return t.map(r=>_o(r,n))}function MVe(t,e,n){const r=n.getData(t.data);return r||E6(t.data),c1(e.type)?r.valuesRef(n,t.field,kse(t.sort,!1)):AZ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function jVe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:_e(o)||o.signal?UVe(o,n):o,s.push(o),s),[]);return(c1(e.type)?qVe:AZ(e.type)?HVe:zVe)(t,n,i)}function UVe(t,e){const n="_:vega:_"+$Ve++,r=cu({});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,Cd({})]),{data:n,field:"data"}}function qVe(t,e,n){const r=kse(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||E6(l.data),c.countsRef(e,l.field,r)}),u={groupby:$$,pulse:o};r&&(i=r.op||"count",s=r.field?g6(i,r.field):"count",u.ops=[$se[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Ose(u));const a=e.add(cu({pulse:Xe(i)}));return s=e.add(IVe({field:$$,sort:e.sortRef(r),pulse:Xe(a)})),Xe(s)}function kse(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?Se("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!$se[t.op]&&Se("Multiple domain scales can not be sorted using "+t.op)),t}function HVe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||E6(i.data),s.domainRef(e,i.field)});return Xe(e.add(TVe({values:r})))}function zVe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||E6(i.data),s.extentRef(e,i.field)});return Xe(e.add(bVe({extents:r})))}function QVe(t,e){return t.signal||_e(t)?y6(t,e):e.objectProperty(t)}function GVe(t){return Qe(t)?{interval:_o(t.interval),step:_o(t.step)}:_o(t)}function WVe(t,e){e.interpolate=_o(t.type||t),t.gamma!=null&&(e.interpolateGamma=_o(t.gamma))}function Pse(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]}),Pse(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=c1(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:Se("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=_e(i.scheme)?y6(i.scheme,e):_o(i.scheme,e),i.extent&&(n.schemeExtent=y6(i.extent,e)),i.count&&(n.schemeCount=_o(i.count,e));return}else if(i.step){n.rangeStep=_o(i.step,e);return}else{if(c1(t.type)&&!_e(i))return Bse(i,t,e);_e(i)||Se("Unsupported range type: "+Fe(i))}return i.map(s=>(_e(s)?y6:_o)(s,e))}function VVe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=M$(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=M$(n[i],i,e));e.addProjection(t.name,r)}function M$(t,e,n){return _e(t)?t.map(r=>M$(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:Se("Unsupported parameter object: "+Fe(t)):t}const fu="top",I1="left",$1="right",Pc="bottom",Mse="center",YVe="vertical",KVe="start",XVe="middle",JVe="end",j$="index",U$="label",ZVe="offset",B1="perc",eYe="perc2",Co="value",RE="guide-label",q$="guide-title",tYe="group-title",nYe="group-subtitle",jse="symbol",A6="gradient",H$="discrete",z$="size",Q$=[z$,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],OE={name:1,style:1,interactive:1},Ct={value:0},bo={value:1},v6="group",Use="rect",G$="rule",rYe="symbol",bd="text";function NE(t){return t.type=v6,t.interactive=t.interactive||!1,t}function ps(t,e){const n=(r,i)=>lu(t[r],lu(e[r],i));return n.isVertical=r=>YVe===lu(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>lu(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>lu(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>lu(t.columns,lu(e.columns,+n.isVertical(!0))),n}function qse(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 iYe(t,e,n){const r=e.config.style[n];return r&&r[t]}function S6(t,e,n){return`item.anchor === '${KVe}' ? ${t} : item.anchor === '${JVe}' ? ${e} : ${n}`}const W$=S6(Fe(I1),Fe($1),Fe(Mse));function sYe(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 Hse(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Hse(t.offset,e)}):{value:t,offset:e}:e:t}function zs(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=w1(t.encode,e,OE)):t.interactive=!1,t}function oYe(t,e,n,r){const i=ps(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:_r(f),height:_r(x)},update:ct({},a,{opacity:bo,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Pr(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),zs({type:Use,role:MWe,encode:h},r)}function uYe(t,e,n,r,i){const s=ps(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:Co}};p[l]={signal:h+"datum."+B1,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+eYe,mult:a},p[x]=_r(u);const m={enter:p,update:ct({},p,{opacity:bo}),exit:{opacity:Ct}};return Pr(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),zs({type:Use,role:kWe,key:Co,from:i,encode:m},r)}const aYe=`datum.${B1}<=0?"${I1}":datum.${B1}>=1?"${$1}":"${Mse}"`,lYe=`datum.${B1}<=0?"${Pc}":datum.${B1}>=1?"${fu}":"${XVe}"`;function zse(t,e,n,r){const i=ps(t,e),s=i.isVertical(),o=_r(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:bo,text:{field:U$}},exit:{opacity:Ct}};return Pr(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:lu(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:lYe},f="y",x="x",h="1-"):(l.align=c.align={signal:aYe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+B1,mult:u},l[x]=c[x]=o,o.offset=lu(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+j$}:void 0,zs({type:bd,role:Ese,style:RE,key:Co,from:r,encode:p,overlap:a},n)}function cYe(t,e,n,r,i){const s=ps(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.${ZVe} : datum.${z$}`,h=l?_r(l):{field:z$},p=`datum.${j$}`,m=`max(1, ${i})`;let g,y,E,A,v;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:bo,x:y.x,y:y.y},exit:{opacity:Ct}};let S=null,_=null;t.fill||(S=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Pr(g,{fill:s("symbolFillColor",S),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),Q$.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:Co})});const C=zs({type:rYe,role:jWe,key:Co,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=_r(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:bo,text:{field:U$},x:y.x,y:y.y},exit:{opacity:Ct}},Pr(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=zs({type:bd,role:Ese,style:RE,key:Co,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?_r(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:bo,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})`,v={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,v={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:j$}},NE({role:w$,from:r,encode:w1(g,o,OE),marks:[C,O],name:a,interactive:u,sort:v})}function fYe(t,e){const n=ps(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const V$='item.orient === "left"',Y$='item.orient === "right"',_6=`(${V$} || ${Y$})`,xYe=`datum.vgrad && ${_6}`,dYe=S6('"top"','"bottom"','"middle"'),hYe=S6('"right"','"left"','"center"'),pYe=`datum.vgrad && ${Y$} ? (${hYe}) : (${_6} && !(datum.vgrad && ${V$})) ? "left" : ${W$}`,gYe=`item._anchor || (${_6} ? "middle" : "start")`,mYe=`${xYe} ? (${V$} ? -90 : 90) : 0`,yYe=`${_6} ? (datum.vgrad ? (${Y$} ? "bottom" : "top") : ${dYe}) : "top"`;function EYe(t,e,n,r){const i=ps(t,e),s={enter:{opacity:Ct},update:{opacity:bo,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Pr(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:gYe},angle:{signal:mYe},align:{signal:pYe},baseline:{signal:yYe},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")}),zs({type:bd,role:UWe,style:q$,from:r,encode:s},n)}function AYe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Qse(t.path)+")":t.sphere&&(n="geoShape("+Qse(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Qse(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Gse(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===v6?w$:e||D$}function vYe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Gse(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function SYe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function K$(t,e){const n=xwe(t.type);n||Se("Unrecognized transform type: "+Fe(t.type));const r=h6(n.type.toLowerCase(),null,Wse(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Wse(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=_Ye(o,e,n)}return r}function _Ye(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return CYe(t,e,n);if(i===void 0){t.required&&Se("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return bYe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!ir(i)?i.map(s=>Vse(t,s,n)):Vse(t,i,n)}function Vse(t,e,n){const r=t.type;if(ir(e))return Kse(r)?Se("Expression references can not be signals."):X$(r)?n.fieldRef(e):Xse(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||X$(r);return i&&TYe(e)?n.exprRef(e.expr,e.as):i&&RYe(e)?bE(e.field,e.as):Kse(r)?Oa(e,n):OYe(r)?Xe(n.getData(e).values):X$(r)?bE(e):Xse(r)?n.compareRef(e):e}}function CYe(t,e,n){return je(e.from)||Se('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function bYe(t,e,n){const r=e[t.name];return t.array?(_e(r)||Se("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Yse(t,i,n))):Yse(t,r,n)}function Yse(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||Se("Unsupported parameter: "+Fe(e));const s=ct(Wse(i,e,n),i.key);return Xe(n.add(OVe(s)))}const TYe=t=>t&&t.expr,RYe=t=>t&&t.field,OYe=t=>t==="data",Kse=t=>t==="expr",X$=t=>t==="field",Xse=t=>t==="compare";function NYe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||Se("Only group marks can be faceted."),r.field!=null?o=u=C6(r,n):(t.data?u=Xe(n.getData(t.data).aggregate):(s=K$(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=C6(r,n),o=u=Xe(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Xe(n.add(cu(null,[{}]))),o||(o=C6(t,n)),{key:i,pulse:o,parent:u}}function C6(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Xe(e.getData(t.data).output)}function Td(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}Td.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=Xe(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new Td(t,s,i,r,o)};function Jse(t){return je(t)?t:null}function Zse(t,e,n){const r=g6(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 DE(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=iVe(s);let l=Jse(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:$$,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Xe(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(h6(r,void 0,x)),o&&(e.index[i]=f),c=Xe(f),l!=null&&(u[l]=c)}return c}Td.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=Jse(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&Zse(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Xe(r.output)},n&&n.field&&Zse(t,a,n),u=t.add(Ose(a)),o=t.add(cu({pulse:Xe(u)})),o={agg:u,ref:Xe(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Xe(this.values)},extentRef(t,e){return DE(t,this,"extent","extent",e,!1)},domainRef(t,e){return DE(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return DE(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return DE(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return DE(t,this,"indata","tupleindex",e,!0,!0)}};function DYe(t,e,n){const r=t.from.facet,i=r.name,s=C6(r,e);let o;r.name||Se("Facet must have a name: "+Fe(r)),r.data||Se("Facet must reference a data set: "+Fe(r)),r.field?o=e.add(wse({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add(EVe({key:e.keyRef(r.groupby),group:Xe(e.proxy(n.parent)),pulse:s})):Se("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(cu()),l=u.add(Cd({pulse:Xe(a)}));u.addData(i,new Td(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function FYe(t,e,n){const r=e.add(wse({pulse:n.pulse})),i=e.fork();i.add(Cd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function eoe(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(p6()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=Oa(l,e);a.update=c.$expr,a.params=c.$params}function b6(t,e){const n=Gse(t),r=t.type===v6,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===w$||n===F$,u,a,l,c,f,x,h;const p=n===D$||o||i,m=NYe(t.from,r,e);a=e.add(mVe({key:m.key||(t.key?bE(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Xe(a);a=l=e.add(cu({pulse:g})),a=e.add(CVe({markdef:vYe(t),interactive:SYe(t.interactive,e),clip:AYe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Xe(a)}));const y=Xe(a);a=c=e.add(Fse(_se(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=K$(_,e),b=C.metadata;(b.generates||b.changes)&&Se("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Xe(a),e.add(a=C)}),t.sort&&(a=e.add(LVe({sort:e.compareRef(t.sort),pulse:Xe(a)})));const E=Xe(a);(i||o)&&(o=e.add(Ise({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Xe(o));const A=e.add(Nse({mark:y,pulse:x||E}));h=Xe(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?DYe(t,e,m):p?FYe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=wYe(s,h,e));const v=e.add(Lse({pulse:h})),S=e.add(Cd({pulse:Xe(v)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new Td(e,l,v,S)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&Se("Marks only support modify triggers."),eoe(_,e,f)}))}function wYe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:ir(s)?n.signalRef(s.signal):s,method:ir(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=ir(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Xe(n.add(RVe(o)))}function LYe(t,e){const n=e.config.legend,r=t.encode||{},i=ps(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;Q$.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||Se("Missing valid scale for legend.");const p=IYe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Xe(e.add(cu(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Xe(e.add(SVe(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===A6?(h=[oYe(t,c,n,r.gradient),zse(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${_d(i.gradientLength())})/100))`)):p===H$?h=[uYe(t,c,n,r.gradient,E),zse(t,n,r.labels,E)]:(f=fYe(t,n),h=[cYe(t,n,r,E,_d(f.columns))],x.size=kYe(t,e,h[0].marks)),h=[NE({role:PWe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push(EYe(t,n,r.title,g)),b6(NE({role:BWe,from:g,encode:w1(BYe(i,t,n),s,OE),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function IYe(t,e){let n=t.type||jse;return!t.type&&$Ye(t)===1&&(t.fill||t.stroke)&&(n=o9(e)?A6:u9(e)?H$:jse),n!==A6?n:u9(e)?H$:A6}function $Ye(t){return Q$.reduce((e,n)=>e+(t[n]?1:0),0)}function BYe(t,e,n){const r={enter:{},update:{}};return Pr(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 kYe(t,e,n){const r=_d(toe("size",t,n)),i=_d(toe("strokeWidth",t,n)),s=_d(PYe(n[1].encode,e,RE));return Oa(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function toe(t,e,n){return e[t]?`scale("${e[t]}",datum)`:qse(t,n[0].encode)}function PYe(t,e,n){return qse("fontSize",t)||iYe("fontSize",e,n)}const MYe=`item.orient==="${I1}"?-90:item.orient==="${$1}"?90:0`;function jYe(t,e){t=je(t)?{text:t}:t;const n=ps(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Xe(e.add(cu(null,[l])));return a.push(HYe(t,n,UYe(t),c)),t.subtitle&&a.push(zYe(t,n,r.subtitle,c)),b6(NE({role:qWe,from:c,encode:qYe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function UYe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function qYe(t,e){const n={enter:{},update:{}};return Pr(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:W$},angle:{signal:MYe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),w1(n,e,OE)}function HYe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Pr(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")}),zs({type:bd,role:HWe,style:tYe,from:r,encode:o},n)}function zYe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Pr(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")}),zs({type:bd,role:zWe,style:nYe,from:r,encode:o},n)}function QYe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(K$(r,e))}),t.on&&t.on.forEach(r=>{eoe(r,e,t.name)}),e.addDataPipeline(t.name,GYe(t,e,n))}function GYe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?ir(t.values)||m6(t.format)?(r.push(noe(e,t)),r.push(i=Rd())):r.push(i=Rd({$ingest:t.values,$format:t.format})):t.url?m6(t.url)||m6(t.format)?(r.push(noe(e,t)),r.push(i=Rd())):r.push(i=Rd({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Xe(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=Rd()),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]=FVe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Rd())),i||r.push(Rd()),r.push(Cd({})),r}function Rd(t){const e=cu({},t);return e.metadata={source:!0},e}function noe(t,e){return _Ve({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 roe=t=>t===Pc||t===fu,T6=(t,e,n)=>ir(t)?KYe(t.signal,e,n):t===I1||t===fu?e:n,Cr=(t,e,n)=>ir(t)?VYe(t.signal,e,n):roe(t)?e:n,xu=(t,e,n)=>ir(t)?YYe(t.signal,e,n):roe(t)?n:e,ioe=(t,e,n)=>ir(t)?XYe(t.signal,e,n):t===fu?{value:e}:{value:n},WYe=(t,e,n)=>ir(t)?JYe(t.signal,e,n):t===$1?{value:e}:{value:n},VYe=(t,e,n)=>soe(`${t} === '${fu}' || ${t} === '${Pc}'`,e,n),YYe=(t,e,n)=>soe(`${t} !== '${fu}' && ${t} !== '${Pc}'`,e,n),KYe=(t,e,n)=>J$(`${t} === '${I1}' || ${t} === '${fu}'`,e,n),XYe=(t,e,n)=>J$(`${t} === '${fu}'`,e,n),JYe=(t,e,n)=>J$(`${t} === '${$1}'`,e,n),soe=(t,e,n)=>(e=e!=null?_r(e):e,n=n!=null?_r(n):n,ooe(e)&&ooe(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||[])),ooe=t=>t==null||Object.keys(t).length===1,J$=(t,e,n)=>({signal:`${t} ? (${k1(e)}) : (${k1(n)})`}),ZYe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${I1}' ? (${k1(r)}) : `:"")+(n!=null?`${t} === '${Pc}' ? (${k1(n)}) : `:"")+(i!=null?`${t} === '${$1}' ? (${k1(i)}) : `:"")+(e!=null?`${t} === '${fu}' ? (${k1(e)}) : `:"")+"(null)"}),k1=t=>ir(t)?t.signal:t==null?null:Fe(t),eKe=(t,e)=>e===0?0:ir(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},P1=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function M1(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[q$][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[RE][i]}return null}function uoe(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function tKe(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(ir(o)){const f=uoe([n.axisX,n.axisY]),x=uoe([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=Cr(o,M1(l,n.axisX,i,r),M1(l,n.axisY,i,r));a={};for(l of x)a[l]=ZYe(o.signal,M1(l,n.axisTop,i,r),M1(l,n.axisBottom,i,r),M1(l,n.axisLeft,i,r),M1(l,n.axisRight,i,r))}else u=o===fu||o===Pc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function nKe(t,e,n,r){const i=ps(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:bo},exit:{opacity:Ct}};Pr(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=aoe(t,0),c=aoe(t,1);return o.x=u.x=Cr(s,l,Ct),o.x2=u.x2=Cr(s,c),o.y=u.y=xu(s,l,Ct),o.y2=u.y2=xu(s,c),zs({type:G$,role:FWe,from:r,encode:a},n)}function aoe(t,e){return{scale:t.scale,range:e}}function rKe(t,e,n,r,i){const s=ps(t,e),o=t.orient,u=t.gridScale,a=T6(o,1,-1),l=iKe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:bo},exit:f={opacity:Ct}};Pr(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:Co,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=Cr(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=Cr(o,p,g),c.y=x.y=xu(o,p,g),c.x2=x.x2=xu(o,y),c.y2=x.y2=Cr(o,y),f.x=Cr(o,p),f.y=xu(o,p),zs({type:G$,role:wWe,key:Co,from:r,encode:h},n)}function iKe(t,e){if(e!==1)if(!Qe(t))t=ir(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=ir(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function sKe(t,e,n,r,i,s){const o=ps(t,e),u=t.orient,a=T6(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:bo},exit:c={opacity:Ct}};Pr(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=_r(i);h.mult=a;const p={scale:t.scale,field:Co,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=Cr(u,Ct,p),f.y2=l.y2=Cr(u,h),c.x=Cr(u,p),f.x=l.x=xu(u,Ct,p),f.x2=l.x2=xu(u,h),c.y=xu(u,p),zs({type:G$,role:IWe,key:Co,from:r,encode:x},n)}function Z$(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function oKe(t,e,n,r,i,s){const o=ps(t,e),u=t.orient,a=t.scale,l=T6(u,-1,1),c=_d(o("labelFlush")),f=_d(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=_r(i);g.mult=l,g.offset=_r(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:Co,band:.5,offset:Hse(s.offset,o("labelOffset"))},E=Cr(u,p?Z$(a,c,'"left"','"right"','"center"'):{value:"center"},WYe(u,"left","right")),A=Cr(u,ioe(u,"bottom","top"),p?Z$(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),v=Z$(a,c,`-(${f})`,f,0);p=p&&f;const S={opacity:Ct,x:Cr(u,y,g),y:xu(u,y,g)},_={enter:S,update:m={opacity:bo,text:{field:U$},x:S.x,y:S.y,align:E,baseline:A},exit:{opacity:Ct,x:S.x,y:S.y}};Pr(_,{dx:!x&&p?Cr(u,v):null,dy:!h&&p?xu(u,v):null}),Pr(_,{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=P1(m.align,E)),m.baseline!==A&&(m.baseline=P1(m.baseline,A)),zs({type:bd,role:LWe,style:RE,key:Co,from:r,encode:_,overlap:b},n)}function uKe(t,e,n,r){const i=ps(t,e),s=t.orient,o=T6(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:_r(i("titleAnchor",null)),align:{signal:W$}},update:a=ct({},u,{opacity:bo,text:_r(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${S6(0,1,.5)})`};return a.x=Cr(s,c),a.y=xu(s,c),u.angle=Cr(s,Ct,eKe(o,90)),u.baseline=Cr(s,ioe(s,Pc,fu),{value:Pc}),a.angle=u.angle,a.baseline=u.baseline,Pr(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")}),aKe(i,s,l,n),l.update.align=P1(l.update.align,u.align),l.update.angle=P1(l.update.angle,u.angle),l.update.baseline=P1(l.update.baseline,u.baseline),zs({type:bd,role:$We,style:q$,from:r,encode:l},n)}function aKe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=P1(_r(u),n.update[a]),!1):!L1(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?_r(o):Cr(e,_r(o),_r(s))}function lKe(t,e){const n=tKe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=ps(t,n),l=sYe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Xe(e.add(cu({},[c]))),x=Xe(e.add(gVe({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(rKe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(sKe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(oKe(t,n,r.labels,x,p,l))),c.domain&&h.push(nKe(t,n,r.domain,f)),c.title&&h.push(uKe(t,n,r.title,f)),b6(NE({role:DWe,from:f,encode:w1(cKe(a,t),i,OE),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function cKe(t,e){const n={enter:{},update:{}};return Pr(n,{orient:t("orient"),offset:t("offset")||0,position:lu(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 loe(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>bse(s,e)),Pe(t.projections).forEach(s=>VVe(s,e)),i.forEach(s=>BVe(s,e)),Pe(t.data).forEach(s=>QYe(s,e)),i.forEach(s=>kVe(s,e)),(n||r).forEach(s=>pVe(s,e)),Pe(t.axes).forEach(s=>lKe(s,e)),Pe(t.marks).forEach(s=>b6(s,e)),Pe(t.legends).forEach(s=>LYe(s,e)),t.title&&jYe(t.title,e),e.parseLambdas(),e}const fKe=t=>w1({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function xKe(t,e){const n=e.config,r=Xe(e.root=e.add(p6())),i=dKe(t,n);i.forEach(l=>bse(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(cu()),o=e.add(Fse(_se(fKe(t.encode),v6,F$,t.style,e,{pulse:Xe(s)}))),u=e.add(Ise({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Xe(o)}));e.operators.pop(),e.pushState(Xe(o),Xe(u),null),loe(t,e,i),e.operators.push(u);let a=e.add(Nse({mark:r,pulse:Xe(u)}));return a=e.add(Lse({pulse:Xe(a)})),a=e.add(Cd({pulse:Xe(a)})),e.addData("root",new Td(e,s,s,a)),e}function FE(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function dKe(t,e){const n=o=>lu(t[o],e[o]),r=[FE("background",n("background")),FE("autosize",RWe(n("autosize"))),FE("padding",NWe(n("padding"))),FE("width",n("width")||0),FE("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 coe(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 foe(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}coe.prototype=foe.prototype={parse(t){return loe(t,this)},fork(){return new foe(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 I$?Xe(t):t;return this.add(DVe({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(Xe(this.add(Cd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Xe(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 bE(t,e);t.signal||Se("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=Xe(this.add(AVe(i)))}return r},compareRef(t){let e=!1;const n=s=>ir(s)?(e=!0,this.signalRef(s.signal)):sVe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Xe(this.add(Dse({fields:r,orders:i}))):Tse(r,i)},keyRef(t,e){let n=!1;const r=s=>ir(s)?(n=!0,Xe(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Xe(this.add(vVe({fields:t,flat:e}))):tVe(t,e)},sortRef(t){if(!t)return t;const e=g6(t.op,t.field),n=t.order||nVe;return n.signal?Xe(this.add(Dse({fields:e,orders:this.signalRef(n.signal)}))):Tse(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)&&Se("Duplicate signal name: "+Fe(t));const n=e instanceof I$?e:this.add(p6(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||Se("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Xe(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(p6(null))),Xe(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=Oa(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||eB(t))},exprRef(t,e){const n={expr:Oa(t,this)};return e&&(n.expr.$name=e),Xe(this.add(yVe(n)))},addBinding(t,e){this.bindings||Se("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&Se("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,wVe(e))},addProjection(t,e){this.addScaleProj(t,NVe(e))},getScale(t){return this.scales[t]||Se("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Xe(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)&&Se("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||Se("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&Se("Duplicate data set name: "+Fe(t)),this.addData(t,Td.fromEntries(this,e))}};function eB(t){return(_e(t)?hKe:pKe)(t)}function hKe(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||eB(i):Fe(i))}return n+"]"}function pKe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||eB(i):Fe(i));return e+"}"}function gKe(){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 xoe(t,e,n){return Qe(t)||Se("Input Vega specification must be an object."),e=KF(gKe(),e,t.config),xKe(t,new coe(e,n)).toRuntime()}ct(sy,v9e,Jke,_Pe,aje,nUe,Nqe,aqe,Fqe,eHe,cHe,mHe);const mKe={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},R6=28;function yKe(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]=mKe[l],o=o*R6);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[oa(t)];let v=l!=="spark"?R6-1:0,S;const _=oa(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=AK().format(",")(z);f=zV(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);v=v-(xe-o),o=xe,S=ae}}if(y){const z=oa(n),Y=e.fields[z].maxString,Q=zV(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/R6)*R6;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:S,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:v+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 j1="#727883",U1="#E5E7EB";function EKe(t,e){const n=yKe(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:U1,tickColor:U1,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:j1,labelPadding:5,titleColor:j1,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:500,titlePadding:10,labelOverlap:!1},axisX:{gridColor:U1,tickColor:U1,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:j1,titleColor:j1,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:500,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 tB(t,...e){return e.some(n=>Array.isArray(n)?t.has(...n):t.has(n))}var O6=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(O6||{}),sr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(sr||{});function AKe(t){return Object.values(sr).includes(t)}var doe={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=[],v=0;for(v=5;v<=8;++v)A[v]=32+v;for(v=23;v<=26;++v)A[v]=0;for(v=27;v<=31;++v)A[v]=14;for(v=50;v<=58;++v)A[v]=14;for(v=59;v<=62;++v)A[v]=v-58;for(v=67;v<=68;++v)A[v]=v-58;for(v=72;v<=75;++v)A[v]=v-58;for(v=67;v<=68;++v)A[v]=v-57;for(v=76;v<=78;++v)A[v]=v-56;for(v=79;v<=81;++v)A[v]=v-34;var S=[];S[5]=S[63]='"$"#,##0_);\\("$"#,##0\\)',S[6]=S[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',S[7]=S[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',S[8]=S[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',S[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',S[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',S[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',S[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,K=0,ue=Math.floor(L);te<N&&(ue=Math.floor(L),V=ue*P+H,K=ue*te+fe,!(L-ue<5e-8));)L=1/(L-ue),H=P,P=V,fe=te,te=K;if(K>N&&(te>N?(K=fe,V=H):(K=te,V=P)),!$)return[0,q*V,K];var Be=Math.floor(q*V/K);return[Be,q*V-Be*K,K]}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 K=te<0?12:11,ue=$(te.toFixed(12));return ue.length<=K||(ue=te.toPrecision(10),ue.length<=K)?ue:te.toExponential(5)}function V(te){var K=$(te.toFixed(11));return K.length>(te<0?12:11)||K==="0"||K==="-0"?te.toPrecision(6):K}function fe(te){var K=Math.floor(Math.log(Math.abs(te))*Math.LOG10E),ue;return K>=-4&&K<=-1?ue=te.toPrecision(10+K):Math.abs(K)<=9?ue=P(te):K===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 K=te>0?u(fe,te):"";return K}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#]/,K=/\(###\) ###\\?-####/;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 X(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(Vs,xA){return"."+xA+o("0",ue(ce[1]).length-xA.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(Vs){return we<G.length?G.charAt(we++):Vs==="0"?"0":""}));if(J.match(K))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 Or=J.indexOf(".")-we,uf=J.length-G.length-Or;return ue(J.substr(0,Or)+G+J.substr(J.length-uf))}if(ce=J.match(/^00,000\.([#0]*0)$/))return we=ut(re,ce[1].length),re<0?"-"+se(Ee,J,-re):de(X(re)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Vs){return"00,"+(Vs.length<3?u(0,3-Vs.length):"")+Vs})+"."+u(we,ce[1].length);switch(J){case"###,##0.00":return se(Ee,"#,##0.00",re);case"###,###":case"##,###":case"#,###":var fA=de(h(nt,0));return fA!=="0"?yt+fA:"";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(Vs,xA){return"."+xA+o("0",ue(ce[1]).length-xA.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(Vs){return we<G.length?G.charAt(we++):Vs==="0"?"0":""}));if(J.match(K))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 Or=J.indexOf(".")-we,uf=J.length-G.length-Or;return ue(J.substr(0,Or)+G+J.substr(J.length-uf))}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(Vs){return"00,"+(Vs.length<3?u(0,3-Vs.length):"")+Vs})+"."+u(0,ce[1].length);switch(J){case"###,###":case"##,###":case"#,###":var fA=de(""+nt);return fA!=="0"?yt+fA:"";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,K,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 X={t:V,v:V};if(te==null&&(te=C(N,$)),T.substr(P,3).toUpperCase()==="A/P"?(te!=null&&(X.v=te.H>=12?"P":"A"),X.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(te!=null&&(X.v=te.H>=12?"PM":"AM"),X.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(te!=null&&(X.v=te.H>=12?"下午":"上午"),X.t="T",P+=5,Be="h"):(X.t="t",++P),te==null&&X.t==="T")return"";L[L.length]=X,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(K=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ee=L[P].v.substr(K+1);K>=0;--K)Ie>=0&&(L[P].v.charAt(K)==="0"||L[P].v.charAt(K)==="#")&&(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(K=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ee=L[P].v.substr(0,K);K<L[P].v.length;++K)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=S[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)})(doe);var N6=doe.exports;function vKe(t,e,n,r){var i=-1,s=t==null?0:t.length;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}var SKe=vKe;function _Ke(t){return function(e){return t==null?void 0:t[e]}}var CKe=_Ke,bKe=CKe,TKe={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},RKe=bKe(TKe),OKe=RKe,NKe=typeof F=="object"&&F&&F.Object===Object&&F,DKe=NKe,FKe=DKe,wKe=typeof self=="object"&&self&&self.Object===Object&&self,LKe=FKe||wKe||Function("return this")(),IKe=LKe,$Ke=IKe,BKe=$Ke.Symbol,nB=BKe;function kKe(t,e){for(var n=-1,r=t==null?0:t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}var PKe=kKe,MKe=Array.isArray,jKe=MKe,hoe=nB,poe=Object.prototype,UKe=poe.hasOwnProperty,qKe=poe.toString,wE=hoe?hoe.toStringTag:void 0;function HKe(t){var e=UKe.call(t,wE),n=t[wE];try{t[wE]=void 0;var r=!0}catch{}var i=qKe.call(t);return r&&(e?t[wE]=n:delete t[wE]),i}var zKe=HKe,QKe=Object.prototype,GKe=QKe.toString;function WKe(t){return GKe.call(t)}var VKe=WKe,goe=nB,YKe=zKe,KKe=VKe,XKe="[object Null]",JKe="[object Undefined]",moe=goe?goe.toStringTag:void 0;function ZKe(t){return t==null?t===void 0?JKe:XKe:moe&&moe in Object(t)?YKe(t):KKe(t)}var eXe=ZKe;function tXe(t){return t!=null&&typeof t=="object"}var nXe=tXe,rXe=eXe,iXe=nXe,sXe="[object Symbol]";function oXe(t){return typeof t=="symbol"||iXe(t)&&rXe(t)==sXe}var uXe=oXe,yoe=nB,aXe=PKe,lXe=jKe,cXe=uXe,fXe=1/0,Eoe=yoe?yoe.prototype:void 0,Aoe=Eoe?Eoe.toString:void 0;function voe(t){if(typeof t=="string")return t;if(lXe(t))return aXe(t,voe)+"";if(cXe(t))return Aoe?Aoe.call(t):"";var e=t+"";return e=="0"&&1/t==-fXe?"-0":e}var xXe=voe,dXe=xXe;function hXe(t){return t==null?"":dXe(t)}var rB=hXe,pXe=OKe,gXe=rB,mXe=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,yXe="\\u0300-\\u036f",EXe="\\ufe20-\\ufe2f",AXe="\\u20d0-\\u20ff",vXe=yXe+EXe+AXe,SXe="["+vXe+"]",_Xe=RegExp(SXe,"g");function CXe(t){return t=gXe(t),t&&t.replace(mXe,pXe).replace(_Xe,"")}var bXe=CXe,TXe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function RXe(t){return t.match(TXe)||[]}var OXe=RXe,NXe=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function DXe(t){return NXe.test(t)}var FXe=DXe,Soe="\\ud800-\\udfff",wXe="\\u0300-\\u036f",LXe="\\ufe20-\\ufe2f",IXe="\\u20d0-\\u20ff",$Xe=wXe+LXe+IXe,_oe="\\u2700-\\u27bf",Coe="a-z\\xdf-\\xf6\\xf8-\\xff",BXe="\\xac\\xb1\\xd7\\xf7",kXe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",PXe="\\u2000-\\u206f",MXe=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",boe="A-Z\\xc0-\\xd6\\xd8-\\xde",jXe="\\ufe0e\\ufe0f",Toe=BXe+kXe+PXe+MXe,Roe="['’]",Ooe="["+Toe+"]",UXe="["+$Xe+"]",Noe="\\d+",qXe="["+_oe+"]",Doe="["+Coe+"]",Foe="[^"+Soe+Toe+Noe+_oe+Coe+boe+"]",HXe="\\ud83c[\\udffb-\\udfff]",zXe="(?:"+UXe+"|"+HXe+")",QXe="[^"+Soe+"]",woe="(?:\\ud83c[\\udde6-\\uddff]){2}",Loe="[\\ud800-\\udbff][\\udc00-\\udfff]",q1="["+boe+"]",GXe="\\u200d",Ioe="(?:"+Doe+"|"+Foe+")",WXe="(?:"+q1+"|"+Foe+")",$oe="(?:"+Roe+"(?:d|ll|m|re|s|t|ve))?",Boe="(?:"+Roe+"(?:D|LL|M|RE|S|T|VE))?",koe=zXe+"?",Poe="["+jXe+"]?",VXe="(?:"+GXe+"(?:"+[QXe,woe,Loe].join("|")+")"+Poe+koe+")*",YXe="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",KXe="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",XXe=Poe+koe+VXe,JXe="(?:"+[qXe,woe,Loe].join("|")+")"+XXe,ZXe=RegExp([q1+"?"+Doe+"+"+$oe+"(?="+[Ooe,q1,"$"].join("|")+")",WXe+"+"+Boe+"(?="+[Ooe,q1+Ioe,"$"].join("|")+")",q1+"?"+Ioe+"+"+$oe,q1+"+"+Boe,KXe,YXe,Noe,JXe].join("|"),"g");function eJe(t){return t.match(ZXe)||[]}var tJe=eJe,nJe=OXe,rJe=FXe,iJe=rB,sJe=tJe;function oJe(t,e,n){return t=iJe(t),e=n?void 0:e,e===void 0?rJe(t)?sJe(t):nJe(t):t.match(e)||[]}var uJe=oJe,aJe=SKe,lJe=bXe,cJe=uJe,fJe="['’]",xJe=RegExp(fJe,"g");function dJe(t){return function(e){return aJe(cJe(lJe(e).replace(xJe,"")),t,"")}}var hJe=dJe;function pJe(t,e,n){var r=-1,i=t.length;e<0&&(e=-e>i?0:i+e),n=n>i?i:n,n<0&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var s=Array(i);++r<i;)s[r]=t[r+e];return s}var gJe=pJe,mJe=gJe;function yJe(t,e,n){var r=t.length;return n=n===void 0?r:n,!e&&n>=r?t:mJe(t,e,n)}var EJe=yJe,AJe="\\ud800-\\udfff",vJe="\\u0300-\\u036f",SJe="\\ufe20-\\ufe2f",_Je="\\u20d0-\\u20ff",CJe=vJe+SJe+_Je,bJe="\\ufe0e\\ufe0f",TJe="\\u200d",RJe=RegExp("["+TJe+AJe+CJe+bJe+"]");function OJe(t){return RJe.test(t)}var Moe=OJe;function NJe(t){return t.split("")}var DJe=NJe,joe="\\ud800-\\udfff",FJe="\\u0300-\\u036f",wJe="\\ufe20-\\ufe2f",LJe="\\u20d0-\\u20ff",IJe=FJe+wJe+LJe,$Je="\\ufe0e\\ufe0f",BJe="["+joe+"]",iB="["+IJe+"]",sB="\\ud83c[\\udffb-\\udfff]",kJe="(?:"+iB+"|"+sB+")",Uoe="[^"+joe+"]",qoe="(?:\\ud83c[\\udde6-\\uddff]){2}",Hoe="[\\ud800-\\udbff][\\udc00-\\udfff]",PJe="\\u200d",zoe=kJe+"?",Qoe="["+$Je+"]?",MJe="(?:"+PJe+"(?:"+[Uoe,qoe,Hoe].join("|")+")"+Qoe+zoe+")*",jJe=Qoe+zoe+MJe,UJe="(?:"+[Uoe+iB+"?",iB,qoe,Hoe,BJe].join("|")+")",qJe=RegExp(sB+"(?="+sB+")|"+UJe+jJe,"g");function HJe(t){return t.match(qJe)||[]}var zJe=HJe,QJe=DJe,GJe=Moe,WJe=zJe;function VJe(t){return GJe(t)?WJe(t):QJe(t)}var YJe=VJe,KJe=EJe,XJe=Moe,JJe=YJe,ZJe=rB;function eZe(t){return function(e){e=ZJe(e);var n=XJe(e)?JJe(e):void 0,r=n?n[0]:e.charAt(0),i=n?KJe(n,1).join(""):e.slice(1);return r[t]()+i}}var tZe=eZe,nZe=tZe,rZe=nZe("toUpperCase"),iZe=rZe,sZe=hJe,oZe=iZe,uZe=sZe(function(t,e,n){return t+(n?" ":"")+oZe(e)}),aZe=uZe;const lZe=OA(aZe);function Jl(t,e,n=!1){if(t!==void 0)switch(t){case"ordinal":return{range:["#C2D5EE","#1A73E8"]};case"temporal":case"quantitative":return e?n?{range:["#6BA4EE","#EEA361"]}:{range:["#1A73E8","#E8710A"]}:{range:["#C2D5EE","#1A73E8"]};case"nominal":return n?{range:["#6BA4EE","#66CEDC","#EC72B8","#EEA361","#F9C85B","#AACD85","#B87CED","#ACB0B3"]}:{range:["#1A73E8","#12B5CB","#E52592","#E8710A","#F9AB00","#7CB342","#9334E6","#80868B"]}}}function cZe(t,e){const n=FTe.fromJSDate(t,{zone:e??"UTC"});return new Date(n.year,n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond)}function fZe(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function xZe(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}function Od(t,e,n,r){var o;const i=((o=n==null?void 0:n.data)==null?void 0:o.label)||e.name;let s=t.titleCase?lZe(i):i;return e.isAtomicField()&&(e.isDate()||e.isTimestamp())&&r&&(s=`${s} (${r})`),s}function dZe(t,e=0){let n=t;for(;e>0&&n.parentRecord;)e-=1,n=n.parentRecord;return n}function hZe(t){const e=t.split("/"),n=e.filter(i=>i==="..").length+1,r=e.filter(i=>i!==".."&&i!=="");return{levelsUp:n,pathSegments:r}}function Goe({tag:t,data:e}){var n;try{const r=((n=t.tag("field"))==null?void 0:n.text())??"",{levelsUp:i,pathSegments:s}=hZe(r);let o=dZe(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 Nd{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 Woe{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 fZe(this.document,i)}if(n===null)return xZe(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const KR=class KR extends Nd{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new Woe(e)}get rendererName(){}};KR.instance=new KR;let Voe=KR;function Yoe(t,e,n={}){let r=e.toString();return n.terse?r=pZe.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?N6.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const pZe=new Map([[sr.Nanoseconds,"ns"],[sr.Microseconds,"µs"],[sr.Milliseconds,"ms"],[sr.Seconds,"s"],[sr.Minutes,"m"],[sr.Hours,"h"],[sr.Days,"d"]]),gZe=new Map([[sr.Nanoseconds,1e3],[sr.Microseconds,1e3],[sr.Milliseconds,1e3],[sr.Seconds,60],[sr.Minutes,60],[sr.Hours,24],[sr.Days,Number.MAX_VALUE]]);function Koe(t,e,n){const r=n.durationUnit&&AKe(n.durationUnit)?n.durationUnit:sr.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 gZe)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[Yoe(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):Yoe(0,r,{numFormat:s,terse:o})}class mZe extends Woe{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 Koe(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const XR=class XR extends Nd{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??sr.Seconds},this.rendererName)}create(e,n,r,i,s){return new mZe(e,s)}get rendererName(){return"duration"}};XR.instance=new XR;let Xoe=XR;function yZe(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case O6.Euros:i="€";break;case O6.Pounds:i="£";break;case O6.Dollars:break}n=N6.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=N6.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??sr.Seconds;return Koe(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=N6.format(r.text("number"),e):n=e.toLocaleString();return n}var EZe=Gn("<a target=_blank>");function AZe(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=Goe({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=EZe();return cf(l,"href",u),vn(l,a),l})()}function Tlt(t){return t}function Rlt(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 Joe={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 v(S,_){if(S===null)return null;if(_===0)return S;var C,b;if(typeof S!="object")return S;if(n(S,r))C=new r;else if(n(S,i))C=new i;else if(n(S,s))C=new s(function(de,ae){S.then(function(ie){de(v(ie,_-1))},function(ie){ae(v(ie,_-1))})});else if(o.__isArray(S))C=[];else if(o.__isRegExp(S))C=new RegExp(S.source,f(S)),S.lastIndex&&(C.lastIndex=S.lastIndex);else if(o.__isDate(S))C=new Date(S.getTime());else{if(A&&Buffer.isBuffer(S))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(S.length):C=new Buffer(S.length),S.copy(C),C;n(S,Error)?C=Object.create(S):typeof m>"u"?(b=Object.getPrototypeOf(S),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(S);if(O!=-1)return E[O];y.push(S),E.push(C)}n(S,r)&&S.forEach(function(de,ae){var ie=v(ae,_-1),le=v(de,_-1);C.set(ie,le)}),n(S,i)&&S.forEach(function(de){var ae=v(de,_-1);C.add(ae)});for(var R in S){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=v(S[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(S),R=0;R<M.length;R++){var z=M[R],Y=Object.getOwnPropertyDescriptor(S,z);Y&&!Y.enumerable&&!g||(C[z]=v(S[z],_-1),Y.enumerable||Object.defineProperty(C,z,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(S),R=0;R<Q.length;R++){var oe=Q[R],Y=Object.getOwnPropertyDescriptor(S,oe);Y&&Y.enumerable||(C[oe]=v(S[oe],_-1),Object.defineProperty(C,oe,{enumerable:!1}))}return C}return v(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)})(Joe);var vZe=Joe.exports;const SZe=OA(vZe);var _Ze=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 CZe=OA(_Ze);var bZe=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 oB=OA(bZe);function uB(t){return!!t.or}function aB(t){return!!t.and}function lB(t){return!!t.not}function D6(t,e){if(lB(t))D6(t.not,e);else if(aB(t))for(const n of t.and)D6(n,e);else if(uB(t))for(const n of t.or)D6(n,e);else e(t)}function H1(t,e){return lB(t)?{not:H1(t.not,e)}:aB(t)?{and:t.and.map(n=>H1(n,e))}:uB(t)?{or:t.or.map(n=>H1(n,e))}:e(t)}const Zl=CZe,ot=SZe;function TZe(t){throw new Error(t)}function LE(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function To(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=>oB(t)).join(",")})`};const on=oB;function bt(t){if(rn(t))return t;const e=je(t)?t:oB(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 Zoe(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function z1(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function eue(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function RZe(t,...e){for(const n of e)OZe(t,n??{});return t}function OZe(t,e){for(const n of be(e))hC(t,n,e[n],!0)}function e0(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 NZe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function tue(t,e){for(const n of t)if(e.has(n))return!0;return!1}function nue(t){const e=new Set;for(const n of t){const i=bl(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 rue(t,e){return t===void 0||e===void 0?!0:tue(nue(t),nue(e))}function Vt(t){return be(t).length===0}const be=Object.keys,Ui=Object.values,Dd=Object.entries;function F6(t){return t===!0||t===!1}function En(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function w6(t,e){return lB(t)?`!(${w6(t.not,e)})`:aB(t)?`(${t.and.map(n=>w6(n,e)).join(") && (")})`:uB(t)?`(${t.or.map(n=>w6(n,e)).join(") || (")})`:e(t)}function cB(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&cB(t[n],e)&&delete t[n],Vt(t)}function L6(t){return t.charAt(0).toUpperCase()+t.substr(1)}function iue(t,e="datum"){const n=bl(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 DZe(t,e="datum"){return`${e}[${Fe(bl(t).join("."))}]`}function FZe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function du(t){return`${bl(t).map(FZe).join("\\.")}`}function Q1(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function sue(t){return`${bl(t).join(".")}`}function IE(t){return t?bl(t).length:0}function or(...t){for(const e of t)if(e!==void 0)return e}let wZe=42;function LZe(t){const e=++wZe;return t?String(t)+e:e}function IZe(t){return $Ze(t)?t:`__${t}`}function $Ze(t){return t.startsWith("__")}function I6(t){if(t!==void 0)return(t%360+360)%360}function fB(t){return rn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var $E=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 t0="row",n0="column",$6="facet",An="x",br="y",hu="x2",Na="y2",Mc="xOffset",G1="yOffset",Da="radius",r0="radius2",pu="theta",i0="theta2",Fa="latitude",wa="longitude",gu="latitude2",Ro="longitude2",gs="color",La="fill",Ia="stroke",ms="shape",s0="size",Fd="angle",o0="opacity",jc="fillOpacity",Uc="strokeOpacity",qc="strokeWidth",Hc="strokeDash",BE="text",kE="order",PE="detail",B6="key",wd="tooltip",k6="href",P6="url",M6="description",BZe={x:1,y:1,x2:1,y2:1},oue={theta:1,theta2:1,radius:1,radius2:1};function uue(t){return t in oue}const xB={longitude:1,longitude2:1,latitude:1,latitude2:1};function kZe(t){switch(t){case Fa:return"y";case gu:return"y2";case wa:return"x";case Ro:return"x2"}}function PZe(t){return t in xB}const MZe=be(xB),dB=Object.assign(Object.assign(Object.assign(Object.assign({},BZe),oue),xB),{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 W1(t){return t===gs||t===La||t===Ia}const aue={row:1,column:1,facet:1},Oo=be(aue),hB=Object.assign(Object.assign({},dB),aue),jZe=be(hB),UZe=$E(hB,["order","detail","tooltip"]),qZe=$E(UZe,["row","column","facet"]);function HZe(t){return!!qZe[t]}function lue(t){return!!hB[t]}const zZe=[hu,Na,gu,Ro,i0,r0];function cue(t){return Ld(t)!==t}function Ld(t){switch(t){case hu:return An;case Na:return br;case gu:return Fa;case Ro:return wa;case i0:return pu;case r0:return Da}return t}function zc(t){if(uue(t))switch(t){case pu:return"startAngle";case i0:return"endAngle";case Da:return"outerRadius";case r0:return"innerRadius"}return t}function u0(t){switch(t){case An:return hu;case br:return Na;case Fa:return gu;case wa:return Ro;case pu:return i0;case Da:return r0}}function ys(t){switch(t){case An:case hu:return"width";case br:case Na:return"height"}}function QZe(t){switch(t){case An:return"xOffset";case br:return"yOffset";case hu:return"x2Offset";case Na:return"y2Offset";case pu:return"thetaOffset";case Da:return"radiusOffset";case i0:return"theta2Offset";case r0:return"radius2Offset"}}function fue(t){switch(t){case An:return"xOffset";case br:return"yOffset"}}function xue(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const GZe=be(dB),pB=$E(dB,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),WZe=be(pB),gB={x:1,y:1},$a=be(gB);function Mr(t){return t in gB}const mB={theta:1,radius:1},VZe=be(mB);function j6(t){return t==="width"?An:br}const due={xOffset:1,yOffset:1};function V1(t){return t in due}const hue=$E(pB,["text","tooltip","href","url","description","detail","key","order"]),YZe=be(hue);function KZe(t){return!!pB[t]}function XZe(t){switch(t){case gs:case La:case Ia:case s0:case ms:case o0:case qc:case Hc:return!0;case jc:case Uc:case Fd:return!1}}const pue=Object.assign(Object.assign(Object.assign(Object.assign({},gB),mB),due),hue),U6=be(pue);function Qc(t){return!!pue[t]}function JZe(t,e){return eet(t)[e]}const gue={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"},ZZe=$E(gue,["geoshape"]);function eet(t){switch(t){case gs:case La:case Ia:case M6:case PE:case B6:case wd:case k6:case kE:case o0:case jc:case Uc:case qc:case $6:case t0:case n0:return gue;case An:case br:case Mc:case G1:case Fa:case wa:return ZZe;case hu:case Na:case gu:case Ro:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case s0:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Hc:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case ms:return{point:"always",geoshape:"always"};case BE:return{text:"always"};case Fd:return{point:"always",square:"always",text:"always"};case P6:return{image:"always"};case pu:return{text:"always",arc:"always"};case Da:return{text:"always",arc:"always"};case i0:case r0:return{arc:"always"}}}function yB(t){switch(t){case An:case br:case pu:case Da:case Mc:case G1:case s0:case Fd:case qc:case o0:case jc:case Uc:case hu:case Na:case i0:case r0:return;case $6:case t0:case n0:case ms:case Hc:case BE:case wd:case k6:case P6:case M6:return"discrete";case gs:case La:case Ia:return"flexible";case Fa:case wa:case gu:case Ro:case PE:case B6:case kE:return}}const tet={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},net={count:1,min:1,max:1};function a0(t){return!!t&&!!t.argmin}function Gc(t){return!!t&&!!t.argmax}function EB(t){return je(t)&&!!tet[t]}const ret=new Set(["count","valid","missing","distinct"]);function mue(t){return je(t)&&ret.has(t)}function iet(t){return je(t)&&Tt(["min","max"],t)}const set=new Set(["count","sum","distinct","valid","missing"]),oet=new Set(["mean","average","median","q1","q3","min","max"]);function yue(t){return z2(t)&&(t=oR(t,void 0)),"bin"+be(t).map(e=>q6(t[e])?En(`_${e}_${Dd(t[e])}`):En(`_${e}_${t[e]}`)).join("")}function Jt(t){return t===!0||Id(t)&&!t.binned}function qi(t){return t==="binned"||Id(t)&&t.binned===!0}function Id(t){return Qe(t)}function q6(t){return t==null?void 0:t.param}function Eue(t){switch(t){case t0:case n0:case s0:case gs:case La:case Ia:case qc:case o0:case jc:case Uc:case ms:return 6;case Hc:return 4;default:return 10}}function ME(t){return t&&!!t.expr}function Es(t){const e=be(t||{}),n={};for(const r of e)n[r]=Qs(t[r]);return n}var uet=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 Aue(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=uet(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=LE(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Wc(t){return je(t)||_e(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function Vc(t){return!!t.step}function aet(t){return _e(t)?!1:"fields"in t&&!("data"in t)}function cet(t){return _e(t)?!1:"fields"in t&&"data"in t}function l0(t){return _e(t)?!1:"field"in t&&"data"in t}const fet=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}),xet={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},AB=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var vB=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 vue(t){const e=_e(t.condition)?t.condition.map(Sue):Sue(t.condition);return Object.assign(Object.assign({},Qs(t)),{condition:e})}function Qs(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return t}function Sue(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return t}function un(t){if(ME(t)){const{expr:e}=t,n=vB(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function det(t){return Ye(t)?t.signal:Fe(t)}function _ue(t){return Ye(t)?t.signal:Fe(t.value)}function c0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function het(t,e,n){for(const r of n){const i=$d(r,e.markDef,e.config);i!==void 0&&(t[r]=un(i))}return t}function Cue(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:$d(t,e,n,r)}function $d(t,e,n,{vgChannel:r}={}){return or(r?H6(t,e,n.style):void 0,H6(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function H6(t,e,n){return bue(t,Cue(e),n)}function bue(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 Tue(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 Rue(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Zl(i,r))return;n.push(r)}),n}function Oue(t,e){return Zl(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function Nue(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Wc(n)||Ye(n))&&(Wc(r)||Ye(r)))return{explicit:t.explicit,value:Oue(n,r)};if(Wc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Wc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Wc(n)&&!Ye(n)&&!Wc(r)&&!Ye(r))return{explicit:t.explicit,value:Rue(n,r)};throw new Error("It should never reach here")}function SB(t){return`Invalid specification ${on(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const pet='Autosize "fit" only works for single views and layered views.';function Due(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function Fue(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 wue(t){return t?`Dropping "fit-${t}" because spec has discrete ${ys(t)}.`:'Dropping "fit" because spec has discrete size.'}function _B(t){return`Unknown field for ${t}. Cannot calculate view size.`}function Lue(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function get(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function met(t){return`The "nearest" transform is not supported for ${t} marks.`}function Iue(t){return`Selection not supported for ${t} yet.`}function yet(t){return`Cannot find a selection named "${t}".`}const Eet="Scale bindings are currently only supported for scales with unbinned, continuous domains.",Aet="Legend bindings are only supported for selections over an individual field or encoding channel.";function vet(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function _et(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const Cet="The same selection must be used to override scale domains in a layered view.",bet='Interval selections should be initialized using "x" and/or "y" keys.';function Tet(t){return`Unknown repeated value "${t}".`}function $ue(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const Ret="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function Oet(t){return`Unrecognized parse "${t}".`}function Bue(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const Net="Attempt to add the same child twice.";function Det(t){return`Ignoring an invalid transform: ${on(t)}.`}const Fet='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 kue(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function wet(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${on(e)} is overridden by a child projection ${on(n)}.`}const Let="Arc marks uses theta channel rather than angle, replacing angle with theta.";function Iet(t){return`${t}Offset dropped because ${t} is continuous`}function $et(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function Bet(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${on(n)}}.`}function Pue(t){return`Invalid field type "${t}".`}function ket(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function Pet(t){return`Invalid aggregation operator "${t}".`}function Mue(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 Met(t){return`Position range does not support relative band size for ${t}.`}function CB(t,e){return`Dropping ${on(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const jet="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function z6(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function Uet(t){return`${t} encoding has no scale, so specified scale is ignored.`}function qet(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function Het(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function zet(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function Qet(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function bB(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function Get(t){return`The ${t} for range marks cannot be an expression`}function Wet(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 Vet(t,e){return`Specified orient "${t}" overridden with "${e}".`}function Yet(t){return`Cannot use the scale property "${t}" with non-color channel.`}function Ket(t){return`Cannot use the relative band size with ${t} scale.`}function Xet(t){return`Using unaggregated domain with raw field has no effect (${on(t)}).`}function Jet(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function Zet(t){return`Unaggregated domain is currently unsupported for log scale (${on(t)}).`}function ett(t){return`Cannot apply size to non-oriented mark "${t}".`}function ttt(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function ntt(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function jue(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function Uue(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function rtt(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${on(n)} and ${on(r)}). Using ${on(n)}.`}function itt(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${on(n)} and ${on(r)}). Using the union of the two domains.`}function stt(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 ott(t){return`Dropping sort property ${on(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const que="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",utt="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.",att="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.",ltt="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 ctt(t){return`Cannot stack "${t}" if there is already "${t}2".`}function ftt(t){return`Cannot stack non-linear scale (${t}).`}function xtt(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function Q6(t,e){return`Invalid ${t}: ${on(e)}.`}function dtt(t){return`Dropping day from datetime ${on(t)} as day cannot be combined with other units.`}function htt(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function ptt(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function gtt(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function Hue(t){return`1D error band does not support ${t}.`}function zue(t){return`Channel ${t} is required for "binned" bin.`}function mtt(t){return`Channel ${t} should not be used with "binned" bin.`}function ytt(t){return`Domain for ${t} is required for threshold scale.`}const Que=KV(YV);let Y1=Que;function Ett(t){return Y1=t,Y1}function Att(){return Y1=Que,Y1}function Te(...t){Y1.warn(...t)}function vtt(...t){Y1.debug(...t)}function Bd(t){if(t&&Qe(t)){for(const e of RB)if(e in t)return!0}return!1}const Gue=["january","february","march","april","may","june","july","august","september","october","november","december"],Stt=Gue.map(t=>t.substr(0,3)),Wue=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],_tt=Wue.map(t=>t.substr(0,3));function Ctt(t){if(fB(t)&&(t=+t),rn(t))return t>4&&Te(Q6("quarter",t)),t-1;throw new Error(Q6("quarter",t))}function btt(t){if(fB(t)&&(t=+t),rn(t))return t-1;{const e=t.toLowerCase(),n=Gue.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=Stt.indexOf(r);if(i!==-1)return i;throw new Error(Q6("month",t))}}function Ttt(t){if(fB(t)&&(t=+t),rn(t))return t%7;{const e=t.toLowerCase(),n=Wue.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=_tt.indexOf(r);if(i!==-1)return i;throw new Error(Q6("day",t))}}function TB(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(dtt(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?btt(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?Ctt(t.quarter):t.quarter;n.push(rn(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?Ttt(t.day):t.day;n.push(rn(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 jE(t){const n=TB(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function Rtt(t){const n=TB(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function Ott(t){const e=TB(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var Ntt=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 Vue={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},RB=be(Vue);function Dtt(t){return!!Vue[t]}function OB(t){return t.startsWith("utc")}function Ftt(t){return t.substr(3)}const wtt={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function NB(t){return RB.filter(e=>Yue(t,e))}function Yue(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 Ltt(t,e,{end:n}={end:!1}){const r=iue(e),i=OB(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of RB)Yue(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),Rtt(u)}function Kue(t){if(!t)return;const e=NB(t);return`timeUnitSpecifier(${on(e)}, ${on(wtt)})`}function Itt(t,e,n){if(!t)return;const r=Kue(t);return`${n||OB(t)?"utc":"time"}Format(${e}, ${r})`}function Hi(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}:{})),OB(e.unit)&&(e.utc=!0,e.unit=Ftt(e.unit)),e}function $tt(t){const e=Hi(t),{utc:n}=e,r=Ntt(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>En(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>En(`_${i}_${r[i]}`)).join("")}function Btt(t){return t==null?void 0:t.param}function DB(t){return t&&!!t.field&&t.equal!==void 0}function FB(t){return t&&!!t.field&&t.lt!==void 0}function wB(t){return t&&!!t.field&&t.lte!==void 0}function LB(t){return t&&!!t.field&&t.gt!==void 0}function IB(t){return t&&!!t.field&&t.gte!==void 0}function $B(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 BB(t){return t&&!!t.field&&(_e(t.oneOf)||_e(t.in))}function ktt(t){return t&&!!t.field&&t.valid!==void 0}function Xue(t){return BB(t)||DB(t)||$B(t)||FB(t)||LB(t)||wB(t)||IB(t)}function Ba(t,e){return uR(t,{timeUnit:e,wrapTime:!0})}function Ptt(t,e){return t.map(n=>Ba(n,e))}function Jue(t,e=!0){var n;const{field:r}=t,i=(n=Hi(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${Ltt(i,r)})`:$e(t,{expr:"datum"});if(DB(t))return`${s}===${Ba(t.equal,i)}`;if(FB(t)){const o=t.lt;return`${s}<${Ba(o,i)}`}else if(LB(t)){const o=t.gt;return`${s}>${Ba(o,i)}`}else if(wB(t)){const o=t.lte;return`${s}<=${Ba(o,i)}`}else if(IB(t)){const o=t.gte;return`${s}>=${Ba(o,i)}`}else{if(BB(t))return`indexof([${Ptt(t.oneOf,i).join(",")}], ${s}) !== -1`;if(ktt(t))return kB(s,t.valid);if($B(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+", ["+Ba(u,i)+", "+Ba(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Ba(u,i)}`),a!==null&&l.push(`${s} <= ${Ba(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${on(t)}`)}function kB(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function Mtt(t){var e;return Xue(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=Hi(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const UE={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function jtt(t){return t==="quantitative"||t==="temporal"}function Zue(t){return t==="ordinal"||t==="nominal"}const kd=UE.quantitative,PB=UE.ordinal,K1=UE.temporal,MB=UE.nominal,X1=UE.geojson;function Utt(t){if(t)switch(t=t.toLowerCase(),t){case"q":case kd:return"quantitative";case"t":case K1:return"temporal";case"o":case PB:return"ordinal";case"n":case MB:return"nominal";case X1:return"geojson"}}var qtt=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 As={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"},jB={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 Htt(t,e){const n=jB[t],r=jB[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const ztt={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 eae(t){return ztt[t]}const tae=new Set(["linear","log","pow","sqrt","symlog"]),nae=new Set([...tae,"time","utc"]);function rae(t){return tae.has(t)}const iae=new Set(["quantile","quantize","threshold"]),Qtt=new Set([...nae,...iae,"sequential","identity"]),Gtt=new Set(["ordinal","bin-ordinal","point","band"]);function Tr(t){return Gtt.has(t)}function Gs(t){return Qtt.has(t)}function mu(t){return nae.has(t)}function J1(t){return iae.has(t)}const Wtt={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 Vtt(t){return!je(t)&&!!t.name}function sae(t){return t==null?void 0:t.param}function Ytt(t){return t&&t.unionWith}function Ktt(t){return Qe(t)&&"field"in t}const Xtt=qtt({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"]),Jtt=be(Xtt);function UB(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 mu(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return mu(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 mu(t);case"nice":return mu(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return Gs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function oae(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return W1(t)?void 0:Yet(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 Ztt(t,e){return Tt([PB,MB],e)?t===void 0||Tr(t):e===K1?Tt([As.TIME,As.UTC,void 0],t):e===kd?rae(t)||J1(t)||t===void 0:!0}function ent(t,e,n=!1){if(!Qc(t))return!1;switch(t){case An:case br:case Mc:case G1:case pu:case Da:return mu(e)||e==="band"?!0:e==="point"?!n:!1;case s0:case qc:case o0:case jc:case Uc:case Fd:return mu(e)||J1(e)||Tt(["band","point","ordinal"],e);case gs:case La:case Ia:return e!=="band";case Hc:case ms:return e==="ordinal"||J1(e)}}const zi={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"},uae=zi.arc,G6=zi.area,W6=zi.bar,tnt=zi.image,V6=zi.line,Y6=zi.point,nnt=zi.rect,K6=zi.rule,aae=zi.text,qB=zi.tick,rnt=zi.trail,HB=zi.circle,zB=zi.square,lae=zi.geoshape;function Yc(t){return["line","area","trail"].includes(t)}function cae(t){return["rect","bar","image","arc"].includes(t)}const int=new Set(be(zi));function ka(t){return t.type}const snt=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],ont=["fill","fillOpacity"],unt=[...snt,...ont],fae=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),ant={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},lnt={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},xae=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 Z1(t){return t&&t.band!=null}const cnt={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},dae=5,fnt={binSpacing:1,continuousBandSize:dae,timeUnitBandPosition:.5},xnt={binSpacing:0,continuousBandSize:dae,timeUnitBandPosition:.5},dnt={thickness:1};function hnt(t){return ka(t)?t.type:t}function QB(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=WB(t);return Le(n)&&!mue(n.aggregate)&&i&&mu(i.get("type"))?pnt({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function pnt({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return Yc(n.type)?r:kt("invalid",n,i)===null?[gnt(t,e),r]:r}function gnt(t,e){const n=GB(t,!0),i=Ld(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function GB(t,e=!0){return kB(je(t)?t:$e(t,{expr:"datum"}),!e)}function mnt(t){const{datum:e}=t;return Bd(e)?jE(e):`${on(e)}`}function Pd(t,e,n,r){const i={};if(e&&(i.scale=e),Ma(t)){const{datum:s}=t;Bd(s)?i.signal=jE(s):Ye(s)?i.signal=s.signal:ME(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 X6({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 WB({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(No(e)){c??(c=bae({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Jt(h)||c&&p&&m===K1)return u!=null&&u.impute?Pd(e,s,{binSuffix:"mid"},{offset:a}):c&&!Tr(x)?X6({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Pd(e,s,QE(e,t)?{binSuffix:"range"}:{},{offset:a});if(qi(h)){if(Le(n))return X6({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(zue(t===An?hu:Na))}}return Pd(e,s,Tr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(yu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},qE(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function qE(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:un(e)}function Md(t){return t&&t!=="number"&&t!=="time"}function hae(t,e,n){return`${t}(${e}${n?`, ${on(n)}`:""})`}const ynt=" – ";function VB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Md(n))return YB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=pae(t,r,i);if(np(t)){const l=Ant(a,Le(t)?(o=Hi(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,jd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===As.UTC);return l?{signal:l}:void 0}if(e=yae(ZB(t),e,s),Le(t)&&Jt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:J6(a,l,e,n,s)}}else return e||ZB(t)==="quantitative"?{signal:`${Eae(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function pae(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):mnt(t)}function YB({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=pae(t,r,i)),Le(t)&&Jt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:J6(o,u,e,n,s)}}return{signal:hae(n,o,e)}}function gae(t,e,n,r,i,s){var o;if(!Md(r)){if(np(t)){const u=Le(t)?(o=Hi(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return Ent(n,u,i,s)}return yae(e,n,i)}}function mae(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(np(e)&&n!=="time"&&n!=="utc")return"time"}function yae(t,e,n){if(je(e))return e;if(t===kd)return n.numberFormat}function Ent(t,e,n,r){return t||(e?{signal:Kue(e)}:r?void 0:n.timeFormat)}function Eae(t,e){return`format(${t}, "${e||""}")`}function Aae(t,e,n,r){var i;return Md(n)?hae(n,t,e):Eae(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function J6(t,e,n,r,i){const s=Aae(t,n,r,i),o=Aae(e,n,r,i);return`${kB(t,!1)} ? "null" : ${s} + "${ynt}" + ${o}`}function Ant(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):Itt(e,t,i)}const Z6="min",vnt={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 vae(t){return t in vnt}function Sae(t){return!!t&&!!t.encoding}function Pa(t){return!!t&&(t.op==="count"||!!t.field)}function _ae(t){return!!t&&_e(t)}function HE(t){return"row"in t||"column"in t}function KB(t){return!!t&&"header"in t}function eR(t){return"facet"in t}var XB=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 Snt(t){return t.param}function _nt(t){return t&&!je(t)&&"repeat"in t}function Cae(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 JB(t){return"sort"in t}function bae({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 cae(n.type)?0:$d("timeUnitBandPosition",n,r);if(Jt(s))return .5}}function Tae({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=ys(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:$d("timeUnitBandSize",r,i)};if(Jt(h)&&!Tr(s))return{band:1}}if(cae(r.type))return s?Tr(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 Rae(t,e,n,r){return Jt(t.bin)||t.timeUnit&&No(t)&&t.type==="temporal"?bae({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function tR(t){return t&&"condition"in t}function nR(t){const e=t&&t.condition;return!!e&&!_e(e)&&Le(e)}function zE(t){const e=t&&t.condition;return!!e&&!_e(e)&&it(e)}function Cnt(t){const e=t&&t.condition;return!!e&&(_e(e)||yu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function ZB(t){return t&&t.type}function Ma(t){return t&&"datum"in t}function ja(t){return No(t)&&!rR(t)||ek(t)}function ek(t){return Ma(t)&&rn(t.datum)}function it(t){return Le(t)||Ma(t)}function No(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function yu(t){return t&&"value"in t&&"value"in t}function jd(t){return t&&("scale"in t||"sort"in t)}function tk(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function Oae(t){return t&&"legend"in t}function Nae(t){return t&&("format"in t||"formatType"in t)}function bnt(t){return To(t,["legend","axis","header","scale"])}function Tnt(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(Ont(t))s=IZe("count");else{let l;if(!e.nofn)if(Tnt(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Jt(c)?(l=yue(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?Gc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):a0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=$tt(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?sue(s):e.expr?DZe(s,e.expr)+a:du(s)+a}function rR(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(Pue(t.type))}function Rnt(t){var e;return jd(t)&&J1((e=t.scale)===null||e===void 0?void 0:e.type)}function Ont(t){return t.aggregate==="count"}function Nnt(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Jt(i))return`${r} (binned)`;if(s){const u=(n=Hi(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${NB(u).join("-")})`}else if(o)return Gc(o)?`${r} for max ${o.argmax}`:a0(o)?`${r} for min ${o.argmin}`:`${L6(o)} of ${r}`;return r}function Dnt(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(Gc(e))return`${i} for argmax(${e.argmax})`;if(a0(e))return`${i} for argmin(${e.argmin})`;const s=Hi(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Jt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const Dae=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return Dnt(t);default:return Nnt(t,e)}};let Fae=Dae;function wae(t){Fae=t}function Fnt(){wae(Dae)}function ep(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=nk(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?rk(u,e):void 0;return n?or(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function nk(t){if(tk(t)&&t.axis)return t.axis;if(Oae(t)&&t.legend)return t.legend;if(KB(t)&&t.header)return t.header}function rk(t,e){return Fae(t,e)}function iR(t){var e;if(Nae(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=nk(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function wnt(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(JB(t)&&_e(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!Gc(r)&&!a0(r))return"quantitative";if(jd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(jB[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ua(t){if(Le(t))return t;if(nR(t))return t.condition}function ur(t){if(it(t))return t;if(zE(t))return t.condition}function Lae(t,e,n,r={}){if(je(t)||rn(t)||z2(t)){const i=je(t)?"string":rn(t)?"number":"boolean";return Te(Bet(e,i,t)),{value:t}}return it(t)?sR(t,e,n,r):zE(t)?Object.assign(Object.assign({},t),{condition:sR(t.condition,e,n,r)}):t}function sR(t,e,n,r){if(Nae(t)){const{format:i,formatType:s}=t,o=XB(t,["format","formatType"]);if(Md(s)&&!n.customFormatTypes)return Te(kue(e)),sR(o,e,n,r)}else{const i=tk(t)?"axis":Oae(t)?"legend":KB(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=XB(s,["format","formatType"]);if(Md(u)&&!n.customFormatTypes)return Te(kue(e)),sR(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?ik(t,e,r):Lnt(t)}function Lnt(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=rn(n)?"quantitative":je(n)?"nominal":Bd(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function ik(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!EB(r)&&!Gc(r)&&!a0(r)&&(Te(Pet(r)),delete u.aggregate),i&&(u.timeUnit=Hi(i)),o&&(u.field=`${o}`),Jt(s)&&(u.bin=oR(s,e)),qi(s)&&!Mr(e)&&Te(mtt(e)),No(u)){const{type:a}=u,l=Utt(a);a!==l&&(u.type=l),a!=="quantitative"&&mue(r)&&(Te(ket(a,r)),u.type="quantitative")}else if(!cue(e)){const a=wnt(u,e);u.type=a}if(No(u)){const{compatible:a,warning:l}=Int(u,e)||{};a===!1&&Te(l)}if(JB(u)&&je(u.sort)){const{sort:a}=u;if(vae(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&vae(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(KB(u)){const{header:a}=u;if(a){const{orient:l}=a,c=XB(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 oR(t,e){return z2(t)?{maxbins:Eue(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:Eue(e)}):t}const tp={compatible:!0};function Int(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 t0:case n0:case $6:return rR(t)?tp:{compatible:!1,warning:Het(e)};case An:case br:case Mc:case G1:case gs:case La:case Ia:case BE:case PE:case B6:case wd:case k6:case P6:case Fd:case pu:case Da:case M6:return tp;case wa:case Ro:case Fa:case gu:return n!==kd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:tp;case o0:case jc:case Uc:case qc:case s0:case i0:case r0:case hu:case Na:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:tp;case ms:case Hc:return!rR(t)&&!Rnt(t)?{compatible:!1,warning:zet(e)}:tp;case kE:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:tp}}function np(t){const{formatType:e}=iR(t);return e==="time"||!e&&$nt(t)}function $nt(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function uR(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=Hi(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return ME(t)?a=t.expr:Ye(t)?a=t.signal:Bd(t)?(u=!0,a=jE(t)):(je(t)||rn(t))&&u&&(a=`datetime(${on(t)})`,Dtt(o)&&(rn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=jE({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:on(t)}function Iae(t,e){const{type:n}=t;return e.map(r=>{const i=uR(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function QE(t,e){return Jt(t.bin)?Qc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const $ae={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 GE(t){return t&&t.condition}const Bae=["domain","grid","labels","ticks","title"],Bnt={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"},kae={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},knt=Object.assign(Object.assign({},kae),{style:1,labelExpr:1,encoding:1});function Pae(t){return!!knt[t]}const Mae=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 f0(t){return"mark"in t}class aR{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return f0(e)?hnt(e.mark)===this.name:!1}}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 Ud(t,e){const n=t&&t[e];return n?_e(n)?z1(n,r=>!!r.field):Le(n)||nR(n):!1}function jae(t,e){const n=t&&t[e];return n?_e(n)?z1(n,r=>!!r.field):Le(n)||Ma(n)||zE(n):!1}function sk(t,e){if(Mr(e)){const n=t[e];if((Le(n)||Ma(n))&&Zue(n.type)){const r=fue(e);return jae(t,r)}}return!1}function ok(t){return z1(jZe,e=>{if(Ud(t,e)){const n=t[e];if(_e(n))return z1(n,r=>!!r.aggregate);{const r=Ua(n);return r&&!!r.aggregate}}return!1})}function Uae(t,e){const n=[],r=[],i=[],s=[],o={};return uk(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=Pnt(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=nk(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:ep(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(Gc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):a0(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),No(u)&&Jt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),QE(u,a)&&n.push($e(u,{binSuffix:"range"})),Mr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",cue(a)||(y.type=kd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=No(u)&&u.type!==K1&&"time";E&&(a===BE||a===wd?y.formatType=E:KZe(a)?y.legend=Object.assign({formatType:E},y.legend):Mr(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 Mnt(t,e,n){const r=JZe(e,n);if(r){if(r==="binned"){const i=t[e===hu?An:br];return!!(Le(i)&&Le(t[e])&&qi(i.bin))}}else return!1;return!0}function jnt(t,e,n,r){const i={};for(const s of be(t))lue(s)||Te(qet(s));for(let s of GZe){if(!t[s])continue;const o=t[s];if(V1(s)){const u=xue(s),a=i[u];if(Le(a)){if(jtt(a.type)&&Le(o)){Te(Iet(u));continue}}else s=u,Te($et(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(Let),s=pu),!Mnt(t,s,e)){Te(z6(s,e));continue}if(s===s0&&e==="line"){const u=Ua(t[s]);if(u!=null&&u.aggregate){Te(jet);continue}}if(s===gs&&(n?"fill"in t:"stroke"in t)){Te(Mue("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===PE||s===kE&&!_e(o)&&!yu(o)||s===wd&&_e(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(ik(a,s)):Te(CB(a,s)),u),[]));else{if(s===wd&&o===null)i[s]=null;else if(!Le(o)&&!Ma(o)&&!yu(o)&&!tR(o)&&!Ye(o)){Te(CB(o,s));continue}i[s]=Lae(o,s,r)}}return i}function lR(t,e){const n={};for(const r of be(t)){const i=Lae(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function Unt(t){const e=[];for(const n of be(t))if(Ud(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):nR(s)&&e.push(s.condition)}return e}function uk(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 qnt(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 qae(t,e){return be(e).reduce((n,r)=>{switch(r){case An:case br:case k6:case M6:case P6:case hu:case Na:case Mc:case G1:case pu:case i0:case Da:case r0:case Fa:case wa:case gu:case Ro:case BE:case ms:case Fd:case wd:return n;case kE:if(t==="line"||t==="trail")return n;case PE:case B6:{const i=e[r];if(_e(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case s0:if(t==="trail")return n;case gs:case La:case Ia:case o0:case jc:case Uc:case Hc:case qc:{const i=Ua(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var Hae=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 Hnt(t){const{tooltip:e}=t,n=Hae(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 ak(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 ${lk(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=Unt(n).map(bnt);return{tooltip:[...i,...e0(s,bt)]}}function lk(t){const{title:e,field:n}=t;return or(e,n)}function ck(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=lk(n);return zae(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 zae(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}:{}),ka(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),z2(t[e])?{}:t[e])})]:[]}function Qae(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:cR(s,n),continuousAxisChannelDef2:cR(o,n),continuousAxisChannelDefError:cR(u,n),continuousAxisChannelDefError2:cR(a,n),continuousAxis:i}}function cR(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=Hae(t,["aggregate"]);return n!==e&&Te(gtt(n,e)),r}else return t}function Gae(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(ka(n)&&n.orient)return n.orient;if(ja(i)){if(ja(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 np(s)&&!np(i)?"horizontal":"vertical"}return"horizontal"}else{if(ja(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var fR=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 xR="boxplot",znt=["box","median","outliers","rule","ticks"],Qnt=new aR(xR,Vae);function Wae(t){return rn(t)?"tukey":t}function Vae(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=fR(t,["mark","encoding","params","projection"]),l=ka(i)?i:{type:i};o&&Te(Iue("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=Wae(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:v,ticksOrient:S,boxOrient:_,customTooltipWithoutAggregatedField:C}=Gnt(t,c,e),{color:b,size:O}=v,R=fR(v,["color","size"]),I=V=>ck(l,y,g,V,e.boxplot),M=I(R),z=I(v),Y=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=ak([{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,v),oe={type:"tick",color:"black",opacity:1,orient:S,invalid:null,aria:!1},de=x==="min-max"?Q:ak([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,v),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:S,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:Yae(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=fR(R,["tooltip"]),{scale:T,axis:N}=g,$=lk(g),q=To(N,["title"]),L=zae(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}:{}),Vt(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 Yae(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function Gnt(t,e,n){const r=Gae(t,xR),{continuousAxisChannelDef:i,continuousAxis:s}=Qae(t,r,xR),o=i.field,u=Wae(e),a=[...Yae(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=fR(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=Hnt(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=Uae(p,n),v=r==="vertical"?"horizontal":"vertical",S=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:v,boxOrient:S,customTooltipWithoutAggregatedField:h}}var Kae=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 fk="errorbar",Wnt=["ticks","rule"],Vnt=new aR(fk,Xae);function Xae(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=Jae(t,fk,e);delete s.size;const c=ck(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 Ynt(t,e){const{encoding:n}=t;if(Knt(n))return{orient:Gae(t,e),inputType:"raw"};const r=Xnt(n),i=Jnt(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(ja(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(ja(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(ja(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(ja(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 Knt(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 Xnt(t){return it(t.x2)||it(t.y2)}function Jnt(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function Jae(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=Kae(t,["mark","encoding","params","projection"]),l=ka(i)?i:{type:i};o&&Te(Iue(e));const{orient:c,inputType:f}=Ynt(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=Qae(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:v}=Znt(l,x,h,p,m,f,e,n),S=s,_=g;S[_];const C=g==="x"?"x2":"y2";S[C];const b=g==="x"?"xError":"yError";S[b];const O=g==="x"?"xError2":"yError2";S[O];const R=Kae(S,[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}=Uae(R,n),oe=[...z,...y],de=f!=="raw"?[]:Y,ae=ak(A,x,Q,v);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 Znt(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(ptt(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:L6(h)},{fieldPrefix:"upper_",titlePrefix:Zae(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:Zae(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:ep({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:ep({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:ep({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(htt(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:Q1(Q1(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function Zae(t,e,n){return`${L6(t)} ${n} ${e}`}const xk="errorband",ert=["band","borders"],trt=new aR(xk,ele);function ele(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:lR(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=Jae(t,xk,e),l=o,c=ck(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(Hue("interpolate")):l.tension&&Te(Hue("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 tle={};function dk(t,e,n){const r=new aR(t,e);tle[t]={normalizer:r,parts:n}}function nrt(){return be(tle)}dk(xR,Vae,znt),dk(fk,Xae,Wnt),dk(xk,ele,ert);const rrt=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],nle={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"},rle={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"},irt=be(nle),srt=be(rle),ile=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),sle=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],ort={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},urt={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},WE="_vgsid_",art={point:{on:"click",fields:[WE],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 hk(t){return!!t&&(t==="legend"||!!t.legend)}function pk(t){return hk(t)&&Qe(t)}function gk(t){return!!t.select}var lrt=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 ole(t){const e=[];for(const n of t||[]){if(gk(n))continue;const{expr:r,bind:i}=n,s=lrt(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 crt(t){return dR(t)||yk(t)||mk(t)}function mk(t){return"concat"in t}function dR(t){return"vconcat"in t}function yk(t){return"hconcat"in t}function ule({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function qa(t){return Qe(t)&&t.step!==void 0}function ale(t){return t.view||t.width||t.height}const lle=20,frt=be({align:1,bounds:1,center:1,columns:1,spacing:1});function xrt(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&&(eR(t)&&!HE(t.facet)||mk(t))&&(o.columns=a),dR(t)&&(o.columns=1);for(const l of frt)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=rn(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 drt=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 Ek(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function hR(t,e){const n=pR(t,e);return qa(n)?n.step:cle}function pR(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return or(r,{step:t.step})}const cle=20,hrt={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:cle},mark:lnt,arc:{},area:{},bar:fnt,circle:{},geoshape:{},image:{},line:{},point:{},rect:xnt,rule:{color:"black"},square:{},text:{color:"black"},tick:dnt,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:Wtt,projection:{},legend:ort,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:art,style:{},title:{},facet:{spacing:lle},concat:{spacing:lle}},x0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],fle={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},xle={blue:x0[0],orange:x0[1],red:x0[2],teal:x0[3],green:x0[4],yellow:x0[5],purple:x0[6],pink:x0[7],brown:x0[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 prt(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},xle),t):xle}],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 grt(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},fle),t):fle}],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 mrt(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function dle(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=GE(i)?vue(i):Qs(i)}return n}function yrt(t){const e=be(t),n={};for(const r of e)n[r]=dle(t[r]);return n}const Ert=[...xae,...Mae,...ile,"background","padding","legend","lineBreak","scale","style","title","view"];function hle(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=drt(t,["color","font","fontSize","selection"]),o=KF({},ot(hrt),n?mrt(n):{},e?prt(e):{},r?grt(r):{},s||{});i&&hC(o,"selection",i,!0);const u=To(o,Ert);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=Qs(o[a]));for(const a of xae)o[a]&&(u[a]=Es(o[a]));for(const a of Mae)o[a]&&(u[a]=dle(o[a]));for(const a of ile)o[a]&&(u[a]=Es(o[a]));return o.legend&&(u.legend=Es(o.legend)),o.scale&&(u.scale=Es(o.scale)),o.style&&(u.style=yrt(o.style)),o.title&&(u.title=Es(o.title)),o.view&&(u.view=Es(o.view)),u}const Art=new Set(["view",...int]),vrt=["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"],Srt=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},ant);function _rt(t){t=ot(t);for(const e of vrt)delete t[e];if(t.axis)for(const e in t.axis)GE(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of rrt)delete t.legend[e];if(t.mark){for(const e of fae)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(ole(t.params)),delete t.params);for(const e of Art){for(const r of fae)delete t[e][r];const n=Srt[e];if(n)for(const r of n)delete t[e][r];brt(t,e)}for(const e of nrt())delete t[e];Crt(t);for(const e in t)Qe(t[e])&&Vt(t[e])&&delete t[e];return Vt(t)?void 0:t}function Crt(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=Aue(t.title);Vt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Vt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Vt(r)?delete t.title:t.title=r}function brt(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]);Vt(s)||(t.style[n??e]=s),r||delete t[e]}function gR(t){return"layer"in t}function Trt(t){return"repeat"in t}function Rrt(t){return!_e(t.repeat)&&t.repeat.layer}var Ort=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 Ak{map(e,n){return eR(e)?this.mapFacet(e,n):Trt(e)?this.mapRepeat(e,n):yk(e)?this.mapHConcat(e,n):dR(e)?this.mapVConcat(e,n):mk(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(gR(e))return this.mapLayer(e,n);if(f0(e))return this.mapUnit(e,n);throw new Error(SB(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=Ort(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 Nrt={zero:1,center:1,normalize:1};function Drt(t){return t in Nrt}const Frt=new Set([uae,W6,G6,K6,Y6,HB,zB,V6,aae,qB]),wrt=new Set([W6,G6,uae]);function rp(t){return Le(t)&&ZB(t)==="quantitative"&&!t.bin}function ple(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(rp(s)&&rp(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(rp(s))return e;if(rp(o))return i}else{if(rp(s))return e;if(rp(o))return i}}function Lrt(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function gle(t,e,n={}){var r,i;const s=ka(t)?t.type:t;if(!Frt.has(s))return null;const o=ple(e,"x")||ple(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=Lrt(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=WZe.reduce((p,m)=>{if(m!=="tooltip"&&Ud(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ua(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?z2(u.stack)?h=u.stack?"zero":null:h=u.stack:wrt.has(s)&&(h="zero"),!h||!Drt(h)||ok(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)!==As.LINEAR){if(n.disallowNonLinearStack)return null;Te(ftt(u.scale.type))}return it(e[u0(o)])?(u.stack!==void 0&&Te(ctt(o)),null):(Le(u)&&u.aggregate&&!set.has(u.aggregate)&&Te(xtt(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:Yc(s),stackBy:x,offset:h})}var mle=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 Irt(t){const e=mle(t,["point","line"]);return be(e).length>1?e:e.type}function $rt(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:To(t[e],["point","line"])}));return t}function vk(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 yle(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 Brt{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(f0(e)){const{mark:r,encoding:i}=e,s=ka(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!vk(s,n[s.type],i);case"area":return!!vk(s,n[s.type],i)||!!yle(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=mle(e,["params","projection","mark","encoding"]),c=lR(a,i),f=ka(u)?u:{type:u},x=vk(f,i[f.type],c),h=f.type==="area"&&yle(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:Irt(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:To(c,["shape"])})],m=gle(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"},LE(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},LE(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:$rt(i)}))}}var krt=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 Prt(t,e){return e?HE(t)?Sle(t,e):Ele(t,e):t}function Sk(t,e){return e?Sle(t,e):t}function _k(t,e,n){const r=e[t];if(_nt(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(Tet(r.repeat));return}return e}function Ele(t,e){if(t=_k("field",t,e),t!==void 0){if(t===null)return null;if(JB(t)&&Pa(t.sort)){const n=_k("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function Ale(t,e){if(Le(t))return Ele(t,e);{const n=_k("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function vle(t,e){if(it(t)){const n=Ale(t,e);if(n)return n;if(tR(t))return{condition:t.condition}}else{if(zE(t)){const n=Ale(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):krt(t,["condition"])}return t}}function Sle(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=>vle(s,e)).filter(s=>s);else{const s=vle(i,e);s!==void 0&&(n[r]=s)}}return n}class Mrt{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(f0(e)){const{encoding:n,mark:r}=e;if(r==="line"||ka(r)&&r.type==="line")for(const i of zZe){const s=Ld(i),o=n[s];if(n[i]&&(Le(o)&&!qi(o.bin)||Ma(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(Wet(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var Kc=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 jrt extends Ak{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[Qnt,Vnt,trt,new Brt,new Mrt]}map(e,n){if(f0(e)){const r=Ud(e.encoding,t0),i=Ud(e.encoding,n0),s=Ud(e.encoding,$6);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=Sk(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 Rrt(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=Kc(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_${En(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=Kc(e,["repeat","spec","data"]);!_e(i)&&e.columns&&(e=To(e,["columns"]),Te($ue("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)?`${En(m)}`:(i.row?`row_${En(g)}`:"")+(i.column?`column_${En(y)}`:"")),v=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));v.name=A,a.push(To(v,["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 HE(r)&&e.columns&&(e=To(e,["columns"]),Te($ue("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=Cle({parentProjection:o,projection:i}),l=_le({parentEncoding:s,encoding:Sk(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=Kc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=Kc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=Sk(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(Qet([...i?[t0]:[],...s?[n0]:[]]));const u={},a={};for(const l of[t0,n0]){const c=e[l];if(c){const f=Kc(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=Kc(o,["align","center","spacing","columns"]);return{facetMapping:Prt(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=Kc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=Kc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:_le({parentEncoding:r,encoding:o,layer:!0}),parentProjection:Cle({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function _le({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 zE(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||yu(u)||Ye(u)||it(u)||_e(u))&&(r[s]=u)}}else r=e;return!r||Vt(r)?void 0:r}function Cle(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(wet({parentProjection:e,projection:n})),n??e}function Ck(t){return"filter"in t}function Urt(t){return(t==null?void 0:t.stop)!==void 0}function ble(t){return"lookup"in t}function qrt(t){return"data"in t}function Hrt(t){return"param"in t}function zrt(t){return"pivot"in t}function Qrt(t){return"density"in t}function Grt(t){return"quantile"in t}function Wrt(t){return"regression"in t}function Vrt(t){return"loess"in t}function Yrt(t){return"sample"in t}function Krt(t){return"window"in t}function Xrt(t){return"joinaggregate"in t}function Jrt(t){return"flatten"in t}function Zrt(t){return"calculate"in t}function Tle(t){return"bin"in t}function eit(t){return"impute"in t}function tit(t){return"timeUnit"in t}function nit(t){return"aggregate"in t}function rit(t){return"stack"in t}function iit(t){return"fold"in t}function sit(t){return t.map(e=>Ck(e)?{filter:H1(e.filter,Mtt)}:e)}var Xc=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 oit extends Ak{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=Rle(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=Rle(e,n),e.encoding){const r={};for(const[i,s]of Dd(e.encoding))r[i]=Ole(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=Xc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Dd(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=Xc(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 Ui((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function Rle(t,e){const{transform:n}=t,r=Xc(t,["transform"]);if(n){const i=n.map(s=>{if(Ck(s))return{filter:bk(s,e)};if(Tle(s)&&Id(s.bin))return Object.assign(Object.assign({},s),{bin:Nle(s.bin)});if(ble(s)){const o=s.from,{selection:u}=o,a=Xc(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 Ole(t,e){var n,r;const i=ot(t);if(Le(i)&&Id(i.bin)&&(i.bin=Nle(i.bin)),jd(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=Xc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(tR(i))if(_e(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=Xc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:bk(s,e)})});else{const s=Ole(i.condition,e),{selection:o,param:u,test:a}=s,l=Xc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:bk(i.condition,e)})}return i}function Nle(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=Xc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function bk(t,e){const n=r=>H1(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):H1(t.test||t.filter,r=>r.selection?n(r.selection):r)}class Tk extends Ak{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!f0(e)){const s=[];for(const o of e.params)gk(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,Dle(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=Tk.prototype[t];Tk.prototype[t]=function(n,r){return e.call(this,n,Dle(n,r))}}function Dle(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 uit(t,e){e===void 0&&(e=hle(t.config));const n=fit(t,e),{width:r,height:i}=t,s=xit(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const ait=new jrt,lit=new oit,cit=new Tk;function fit(t,e={}){const n={config:e};return cit.map(ait.map(lit.map(t,n),n),n)}function Fle(t){return je(t)?{type:t}:t??{}}function xit(t,e,n){let{width:r,height:i}=e;const s=f0(t)||gR(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(Due("width")),r=void 0),i=="container"&&(Te(Due("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?Fle(n.autosize):{}),Fle(t.autosize));if(u.type==="fit"&&!s&&(Te(pet),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(Fue("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(Fue("height")),!Zl(u,{type:"pad"}))return u}function dit(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function hit(t){return t?`fit-${j6(t)}`:"fit"}const pit=["background","padding"];function wle(t,e){const n={};for(const r of pit)t&&t[r]!==void 0&&(n[r]=Qs(t[r]));return e&&(n.params=t.params),n}class d0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new d0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return or(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 Ha(t){return{explicit:!0,value:t}}function Ws(t){return{explicit:!1,value:t}}function Lle(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:mR(e,n,r,i)}}function mR(t,e,n,r){return t.explicit&&e.explicit&&Te(rtt(n,r,t.value,e.value)),t}function Jc(t,e,n,r,i=mR){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Zl(t.value,e.value)?t:i(t,e,n,r)}class git extends d0{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 ip(t){return"url"in t}function VE(t){return"values"in t}function Ile(t){return"name"in t&&!ip(t)&&!VE(t)&&!Zc(t)}function Zc(t){return t&&($le(t)||Ble(t)||Rk(t))}function $le(t){return"sequence"in t}function Ble(t){return"sphere"in t}function Rk(t){return"graticule"in t}var Zt;(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"})(Zt||(Zt={}));var mit=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 sp(t,e=!0,n=_i){if(_e(t)){const r=t.map(i=>sp(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Bd(t))return n(e?jE(t):Ott(t));return e?n(on(t)):t}function yit(t,e){var n;for(const r of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${nf}, ${r.resolve==="global"?"true":`{unit: ${ap(t)}}`}`;for(const o of SR)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+Xit,on:[{events:{signal:r.name+nf},update:`modify(${Fe(r.name+qd)}, ${s})`}]})}return Ok(e)}function Eit(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:Sd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return Ok(e)}function Ait(t,e){var n;let r=!1;for(const i of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+qd);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:`${s0e}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of SR)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"}]}),Ok(e)}function vit(t,e){var n;const r=[...e];for(const i of Ui((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+qd};if(i.init){const u=i.project.items.map(a=>mit(a,["signals"]));s.values=i.init.map(a=>({unit:ap(t,{escape:!1}),fields:u,values:sp(a,!1)}))}r.filter(u=>u.name===i.name+qd).length||r.push(s)}return r}function kle(t,e){var n;for(const r of Ui((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of SR)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function Sit(t,e){for(const n of t.children)Qn(n)&&(e=kle(n,e));return e}function _it(t,e,n,r){const i=c0e(t,e.param,e);return{signal:Gs(n.get("type"))&&_e(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function Ok(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class qt{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(Net);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 qt{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 ${LZe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var Ple=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 za extends qt{constructor(e,n){super(e),this.formula=n}clone(){return new za(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 Vt(r)?null:new za(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=Ple(r,["timeUnit"]),o=Hi(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new za(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 Dd(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Ui(this.formula).map(e=>e.as))}dependentFields(){return new Set(Ui(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Ui(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=Hi(s),{unit:u,utc:a}=o,l=Ple(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:du(r),type:"timeunit"},u?{units:NB(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var Cit=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 YE="_tuple_fields";class bit{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const Tit={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new bit,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=En(`${i}_${y}`);for(let A=1;a.has(E);A++)E=En(`${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))HZe(g)?(p||(p=[])).push(g):c==="interval"?(Te(bet),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(get(m,g.aggregate));continue}else if(!y){Te(Lue(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 v=t.getScaleComponent(m).get("type");Gs(v)&&(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(Lue(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))),Vt(u)||(s.timeUnit=new za(null,u))},signals:(t,e,n)=>{const r=e.name+YE;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=Cit(s,["signals","hasLegend"]);return o.field=du(o.field),o})})}},ef={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(!Qc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!Gs(o)){Te(Eet);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||Dk(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(s0e)>=0)i.update=`{${r.map(o=>`${Fe(du(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(du(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&&!Dk(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 Nk(t,e){return`domain(${Fe(t.scaleName(e))})`}function Dk(t){var e;return t.parent&&pp(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:Dk(t.parent.parent))}var Rit=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 op="_brush",Fk="_scale_trigger",Oit={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+YE,s=ef.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+op)}`;Mle(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!==An&&x!==br){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=Nit(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=Gs(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+Fk,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+Fk} : {}`}]});const l=`unit: ${ap(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+nf},o?{init:`{${l}: ${sp(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+qd)})`;if(ef.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 === ${ap(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=Rit(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+op}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+op,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 Nit(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=ef.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===An?"width":"height").signal,h=`${i}(unit)`,p=Mle(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+Fk},update:Gs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:sp(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:sp(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function Mle(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 Dit={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+YE,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: ${ap(t)}, fields: ${s}, values`,c=e.events,f=Ui((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+op):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+nf,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function up(t,e,n,r){const i=tR(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(Snt(a)){const{param:c,empty:f}=a,x=l0e(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=_R(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function wk(t,e="text"){const n=t.encoding[e];return up(t,n,e,r=>yR(r,t.config))}function yR(t,e,n="datum"){if(t){if(yu(t))return un(t.value);if(it(t)){const{format:r,formatType:i}=iR(t);return VB({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function jle(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(_e(o))return{tooltip:qle({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return up(t,o,"tooltip",a=>{const l=yR(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"?qle(n,s,i,e):{signal:u}})}}function Ule(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=Ld(c),x=No(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||rk(x,n),p=Pe(h).join(", ");let m;if(Mr(c)){const g=c==="x"?"x2":"y2",y=Ua(t[g]);if(qi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:v,formatType:S}=iR(x);m=J6(E,A,v,S,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=iR(x);m=VB({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=yR(x,n,s).signal),o.push({channel:c,key:p,value:m})}uk(t,(l,c)=>{Le(l)?u(l,c):nR(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 qle(t,e,n,{reactiveGeom:r}={}){const i=Ule(t,e,n,{reactiveGeom:r}),s=Dd(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function Fit(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),wit(t)),Lit(t))}function wit(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 xet?{}:{ariaRoleDescription:{value:e}}}function Lit(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return up(t,s,"description",a=>yR(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:un(o)};if(r.aria===!1)return{};const u=Ule(e,i,r);if(!Vt(u))return{description:{signal:Dd(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function Rr(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=un(a)));const l=i[t];return up(e,l,o??t,c=>WB({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function Hle(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:un(x)}:{}),h?{stroke:un(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(Mue("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),Rr("color",t,{vgChannel:p,defaultValue:c?x:h})),Rr("fill",t,{defaultValue:u.fill?x:void 0})),Rr("stroke",t,{defaultValue:u.stroke?h:void 0}))}function Iit(t){const{encoding:e,mark:n}=t,r=e.order;return!Yc(n)&&yu(r)?up(t,r,"zindex",i=>un(i.value)):{}}function KE({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:WB({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:un(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ci(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[u0(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=KE({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=Lk({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&Mr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:$it({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 $it(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 X6({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Pd(n,r,{suffix:"end"},{offset:s})}return QB(t)}function Lk({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=Ld(n),a=zc(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return qE(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([As.LOG,As.TIME,As.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[ys(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const Bit={left:"x",center:"xc",right:"x2"},kit={top:"y",middle:"yc",bottom:"y2"};function zle(t,e,n,r="middle"){if(t==="radius"||t==="theta")return zc(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(Get(i)),o=void 0):o=s,t==="x"?Bit[o||(r==="top"?"left":"center")]:kit[o||r]}function ER(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?Qle(t,e,{defaultPos:n,defaultPos2:r}):ci(t,e,{defaultPos:n})}function Qle(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=u0(t),u=ys(t),a=Pit(e,r,o),l=a[u]?zle(t,i,s):zc(t);return Object.assign(Object.assign({},ci(t,e,{defaultPos:n,vgChannel:l})),a)}function Pit(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=Ld(n),l=ys(n),c=zc(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?KE({channel:n,markDef:s,encoding:r,model:t}):KE({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=ys(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=Mit({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}:AR(n,s)||AR(n,{[n]:H6(n,s,u.style),[l]:H6(l,s,u.style)})||AR(n,u[i])||AR(n,u.mark)||{[c]:Lk({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function Mit({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)?Pd(e,s,{suffix:"start"},{offset:a}):QB({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function AR(t,e){const n=ys(t),r=zc(t);if(e[r]!==void 0)return{[r]:qE(t,e[r])};if(e[t]!==void 0)return{[r]:qE(t,e[t])};if(e[n]){const i=e[n];if(Z1(i))Te(Met(n));else return{[n]:qE(t,i)}}}function tf(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=u0(e),l=ys(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)&&(Jt(c.bin)||qi(c.bin)||c.timeUnit&&!f)&&!(m&&!Z1(m))&&!Tr(h)?qit({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Tr(h)||g)&&!f?Uit(c,e,t):Qle(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function jit(t,e,n,r,i){if(Z1(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(Ket(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(Vc(o)&&rn(o.step))return{value:o.step-2}}return{value:hR(r.view,t)-2}}function Uit(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=ys(e),f=u0(e),x=QZe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=Rr("size",n,{vgChannel:c,defaultRef:un(r.size)}):Te(ett(r.type)));const g=Tae({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:jit(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=zle(e,r,s,y),A=E==="xc"||E==="yc",{offset:v,offsetType:S}=KE({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=QB({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:v,defaultRef:Lk({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?S==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:Z1(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=zc(f),b=m[c],O=v?Object.assign(Object.assign({},b),{offset:v}):b;return{[E]:_,[C]:_e(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function XE(t,e,n,r,i){if(uue(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=c0(n),u=c0(i),a=c0(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 qit({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=Tae({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=Mr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=u0(n),A=zc(n),v=zc(E),{offset:S}=KE({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:Z1(p)?(1-p.band)/2:.5;if(Jt(t.bin)||t.timeUnit)return{[v]:Gle({fieldDef:t,scaleName:f,bandPosition:_,offset:XE(E,y,h,g,S)}),[A]:Gle({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:XE(n,y,h,g,S)})};if(qi(t.bin)){const C=Pd(t,f,{},{offset:XE(E,y,h,g,S)});if(Le(e))return{[v]:C,[A]:Pd(e,f,{},{offset:XE(n,y,h,g,S)})};if(Id(t.bin)&&t.bin.step)return{[v]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:XE(n,y,h,g,S)}}}Te(zue(E))}function Gle({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return X6({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const Hit=new Set(["aria","width","height"]);function Do(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?Hle(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({},zit(t.markDef,e)),Wle(t,"fill",n)),Wle(t,"stroke",r)),Rr("opacity",t)),Rr("fillOpacity",t)),Rr("strokeOpacity",t)),Rr("strokeWidth",t)),Rr("strokeDash",t)),Iit(t)),jle(t)),wk(t,"href")),Fit(t))}function Wle(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!Yc(i)){const u=Qit(t,{invalid:!0,channels:U6});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function zit(t,e){return fet.reduce((n,r)=>(!Hit.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=un(t[r])),n),{})}function Qit(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&&Gs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>GB(o,e)).join(` ${s} `)}}function Ik(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=Git(t,{channels:$a});if(i)return{defined:{signal:i}}}return{}}function Git(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&&Gs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>GB(o,e)).join(` ${s} `)}}function Vle(t,e){if(e!==void 0)return{[t]:un(e)}}const $k="voronoi",Yle={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName($k)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(Yc(s))return Te(met(s)),n;const o={name:t.getName($k),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}},jle(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($k)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},Kle={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!hk(t.bind),parse:(t,e,n)=>o0e(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=Yle.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=En(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:sp(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+nf)[0],o=r+YE,u=i.items.map(l=>En(`${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}},vR="_toggle",Xle={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+vR,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+nf,r=e.name+vR;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${ap(t)}}, `)+`${r} ? ${n} : null`}},Wit={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?Sd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(Kle.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===En(`${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+nf);r(i,"null"),Xle.defined(e)&&(i=n.findIndex(s=>s.name===e.name+vR),r(i,"false"))}return n}},Jle={defined:t=>{const e=t.resolve==="global"&&t.bind&&hk(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==WE;return e&&!n&&Te(Aet),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}),o0e(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=pk(e.bind)?e.bind.legend:"click",o=je(s)?Sd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=pk(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=`${En(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+nf),o=r+YE,u=i.items.filter(x=>x.hasLegend).map(x=>En(`${r}_${En(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+vR),f=pk(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 Vit(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 Ui((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&&Jle.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 Zle="_translate_anchor",e0e="_translate_delta",Yit={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=ef.defined(e),s=r+Zle,{x:o,y:u}=e.project.hasChannel;let a=Sd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+op,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?Nk(t,An):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?Nk(t,br):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+e0e,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&t0e(t,e,o,"width",n),u!==void 0&&t0e(t,e,u,"height",n),n}};function t0e(t,e,n,r,i){var s,o;const u=e.name,a=u+Zle,l=u+e0e,c=n.channel,f=ef.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===An?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,v=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",S=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}`:"":"",_=`${v}(${E}, ${A}${S})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const n0e="_zoom_anchor",r0e="_zoom_delta",Kit={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=ef.defined(e),s=r+r0e,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(An)),l=Fe(t.scaleName(br));let c=Sd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+op,f))),n.push({name:r+n0e,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&&i0e(t,e,o,"width",n),u!==void 0&&i0e(t,e,u,"height",n),n}};function i0e(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=ef.defined(e),c=i.filter(v=>v.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?Nk(t,a):c.name,m=u+r0e,g=`${u}${n0e}.${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 qd="_store",nf="_tuple",Xit="_modify",s0e="vlSelectionResolve",SR=[Dit,Oit,Tit,Xle,Kle,ef,Jle,Wit,Yit,Kit,Yle];function Jit(t){let e=t.parent;for(;e&&!vu(e);)e=e.parent;return e}function ap(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=Jit(t);if(r){const{facet:i}=r;for(const s of Oo)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Bk(t){var e;return Ui((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===WE),!1)}function o0e(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 kk(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...kk(t.object)),e.push(...kk(t.property))),e)}function u0e(t){return t.object.type==="MemberExpression"?u0e(t.object):t.object.name==="datum"}function a0e(t){const e=Aie(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&u0e(r)&&n.add(kk(r).slice(1).join("."))}),n}class lp extends qt{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=_R(this.model,this.filter,this),this._dependentFields=a0e(this.expr)}clone(){return new lp(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 Zit(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=En(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)?Sd(l.on,"scope"):Pe(ot(l.on))});for(const x of SR)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function l0e(t,e,n,r="datum"){const i=je(e)?e:e.param,s=En(i),o=Fe(s+qd);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 c0e(t,e,n){const r=En(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(du(s))}]`}function est(t,e){var n;for(const[r,i]of Dd((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 lp(e,t,{param:r}),s,Zt.Lookup,t.component.data.outputNodeRefCounts)}}function _R(t,e,n){return w6(e,r=>je(r)?r:Btt(r)?l0e(t,r,n):Jue(r))}var CR=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 tst(t,e){if(t)return _e(t)&&!Wc(t)?t.map(n=>rk(n,e)).join(", "):t}function Pk(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 JE(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=CR(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=Bnt[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(GE(g)){const{condition:y}=g,E=CR(g,["condition"]),A=Pe(y),v=$ae[p];if(v){const{vgProp:S,part:_}=v,C=[...A.map(b=>{const{test:O}=b,R=CR(b,["test"]);return Object.assign({test:_R(null,O)},R)}),E];Pk(h,_,S,C),delete h[p]}else if(v===null){const S={signal:A.map(_=>{const{test:C}=_,b=CR(_,["test"]);return`${_R(null,C)} ? ${_ue(b)} : `}).join("")+_ue(E)};h[p]=S}}else if(Ye(g)){const y=$ae[p];if(y){const{vgProp:E,part:A}=y;Pk(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}:{}),Vt(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:or(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=Q1(c,"datum.label",h.encode.labels.update.text.signal)),Pk(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of Bae)t.hasAxisPart(m)||delete h.encode[m];Vt(h.encode)&&delete h.encode}const p=tst(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:or(x,0)})}}}function f0e(t){const{axes:e}=t.component,n=[];for(const r of $a)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 nst(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>JE(i,"grid",e)),...r.map(i=>JE(i,"grid",e)),...n.map(i=>JE(i,"main",e)),...r.map(i=>JE(i,"main",e))].filter(i=>i)}function x0e(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}" ? ${c0(o[c])} : ${c0(u[c])}`};return l}return e[i]})])}function rst(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:rae(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${L6(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:x0e(u,r,t,n),vgAxisConfig:x0e(a,r,t,n),axisConfigStyle:ist([...a,...u],r)}}function ist(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 Mk(t,e,n,r={}){var i;const s=bue(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 d0e={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return gae(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return mae(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:sst(n,t)},gridScale:({model:t,channel:e})=>ost(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||p0e(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||h0e(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:ast(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:lst(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:fst({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=g0e(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return Rue(i?[Cae(i)]:[],Le(o)?[Cae(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>xst(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:dst(n,e)}};function sst(t,e){return!Tr(t)&&Le(e)&&!Jt(e==null?void 0:e.bin)&&!qi(e==null?void 0:e.bin)}function ost(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function ust(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:I6(s);{const{configValue:o}=Mk("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?I6(o):n===An&&Tt([MB,PB],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function jk(t){return`(((${t.signal} % 360) + 360) % 360)`}function h0e(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=jk(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=jk(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 p0e(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=jk(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 ast(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function lst(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function cst(t){return t==="x"?"bottom":"left"}function fst({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Tr(e)&&e!=="log"){if(Le(t)){if(Jt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=Hi(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function g0e(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 Oue(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function xst(t,e){const n=t.values;if(_e(n))return Iae(e,n);if(Ye(n))return n}function dst(t,e){return t==="rect"&&rR(e)?1:0}class cp extends qt{constructor(e,n){super(e),this.transform=n,this._dependentFields=a0e(this.transform.calculate)}clone(){return new cp(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(jd(r)&&_ae(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${Jue({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new cp(e,{calculate:a,as:fp(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 fp(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function bR(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function xp(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return or((e||{})[t],i[t],n.header[t])}function TR(t,e,n,r){const i={};for(const s of t){const o=xp(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const Uk=["row","column"],qk=["header","footer"];function hst(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}=TR(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=bR(e,u),l=I6(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"}),y0e(l,a)),m0e(a,l,s)),E0e(r,i,e,irt,nle))}}function m0e(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=p0e(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function y0e(t,e){const n=h0e(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function pst(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of qk)if(n[i])for(const s of n[i]){const o=mst(t,e,i,n,s);o!=null&&r.push(o)}return r}function gst(t,e){var n;const{sort:r}=t;return Pa(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:_e(r)?{field:fp(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function Hk(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=TR(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=VB({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=bR(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?Q1(Q1(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),y0e(s,c)),m0e(c,s,o)),E0e(n,t,e,srt,rle))}function mst(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}=TR(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=Hk(o,e,u))}const a=vu(t)&&!HE(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:gst(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 yst={column:{start:0,end:1},row:{start:1,end:0}};function Est(t,e){return yst[e][t]}function Ast(t,e){const n={};for(const r of Oo){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=TR(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=bR(r,o),a=Est(s,u);a!==void 0&&(n[u]=a)}}return Vt(n)?void 0:n}function E0e(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=xp(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function zk(t){return[...RR(t,"width"),...RR(t,"height"),...RR(t,"childWidth"),...RR(t,"childHeight")]}function RR(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(Tr(o)&&Vc(u)){const a=t.scaleName(n);return vu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[A0e(a,u)]:[A0e(a,u),{name:i,update:v0e(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=Ek(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 A0e(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function v0e(t,e,n){const r=e.get("type"),i=e.get("padding"),s=or(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${c0(o)}, ${c0(s)}) * ${t}_step`}function S0e(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function _0e(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),up(e,i,r,s=>un(s.value)))},{})}function C0e(t,e){if(vu(e))return t==="theta"?"independent":"shared";if(pp(e))return"shared";if(oP(e))return Mr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function Qk(t,e){const n=t.scale[e],r=Mr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(stt(e)),"independent"):t[r][e]||"shared"}const vst=Object.assign(Object.assign({},urt),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),b0e=be(vst);class Sst extends d0{}const T0e={symbols:_st,gradient:Cst,labels:bst,entries:Tst};function _st(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({},het({},n,unt)),Hle(n,{filled:E}));const v=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,S=(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=v===void 0?(l=R0e(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===gs)delete A.fill;else if(A.fill.field)S?delete A.fill:(A.fill=un((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=un(C??1));else if(_e(A.fill)){const b=(h=(x=Gk((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=un(b))}}if(A.stroke){if(r==="stroke"||!E&&r===gs)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(_e(A.stroke)){const b=or(Gk(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==o0){const b=Le(e)&&N0e(n,i,e);b?A.opacity=[Object.assign({test:b},un(C??1)),un(g.legend.unselectedOpacity)]:C&&(A.opacity=un(C))}return A=Object.assign(Object.assign({},A),t),Vt(A)?void 0:A}function Cst(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?R0e(u.opacity)||o.opacity:void 0;return c&&(a.opacity=un(c)),a=Object.assign(Object.assign({},a),t),Vt(a)?void 0:a}function bst(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?N0e(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Md(c)?YB({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 Vt(x)?void 0:x}function Tst(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function R0e(t){return O0e(t,(e,n)=>Math.max(e,n.value))}function Gk(t){return O0e(t,(e,n)=>or(e,n.value))}function O0e(t,e){if(Cnt(t))return Pe(t.condition).reduce(e,t.value);if(yu(t))return t.value}function N0e(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(En(s)+qd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const D0e={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return gae(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return mae(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:Lst(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:Ist(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:Ost(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>ep(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(W1(n)&&mu(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>Rst(e,t)};function Rst(t,e){const n=t.values;if(_e(n))return Iae(e,n);if(Ye(n))return n}function Ost(t,e,n,r){var i;if(e!=="shape"){const s=(i=Gk(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 Nst(t){const{legend:e}=t;return or(e.type,Dst(t))}function Dst({channel:t,timeUnit:e,scaleType:n}){if(W1(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(mu(n))return"gradient"}return"symbol"}function Fst({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:wst(n,e)}function wst(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 Lst({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(mu(i))return n==="horizontal"?r==="top"||r==="bottom"?F0e(e,"width",o,s):o:F0e(e,"height",a,u)}function F0e(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function Ist(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function w0e(t){const e=Qn(t)?$st(t):Mst(t);return t.component.legends=e,e}function $st(t){const{encoding:e}=t,n={};for(const r of[gs,...sle]){const i=ur(e[r]);!i||!t.getScaleComponent(r)||r===ms&&Le(i)&&i.type===X1||(n[r]=Pst(t,r))}return n}function Bst(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 kst(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 Pst(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new Sst({},Bst(t,e));Vit(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=ur(u[e]),p=Le(h)?(n=Hi(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=Nst({legend:s,channel:e,timeUnit:p,scaleType:x}),y=Fst({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 b0e){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in D0e?D0e[C](E):s[C];if(b!==void 0){const O=kst(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:{},v=c.get("selections"),S={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=_0e((i=A[C])!==null&&i!==void 0?i:{},t),O=C in T0e?T0e[C](b,_):b;O!==void 0&&!Vt(O)&&(S[C]=Object.assign(Object.assign(Object.assign({},v!=null&&v.length&&Le(h)?{name:`${En(h.field)}_legend_${C}`}:{}),v!=null&&v.length?{interactive:!!v}:{}),{update:O}))}return Vt(S)||c.set("encode",S,!!(s!=null&&s.encoding)),c}function Mst(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){w0e(r);for(const i of be(r.component.legends))n.legend[i]=Qk(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=L0e(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 L0e(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 b0e){const c=Jc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return jst(f,x);case"title":return Nue(f,x);case"type":return a=!0,Ws("symbol")}return mR(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&&cB(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&cB(t.explicit,["encode","gradient"])),t}function jst(t,e){return e.value==="circle"?e:t}var Ust=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 qst(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 I0e(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=on(s.get("domains"));if(n[o])for(const u of n[o])L0e(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Ui(n).flat().map(i=>Hst(i,t.config)).filter(i=>i!==void 0)}function Hst(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=Ust(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 sle)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=Q1(u,"datum.label",l.encode.labels.update.text.signal)),qst(l,"labels","text",{signal:c})}return l}}function zst(t){return pp(t)||oP(t)?Qst(t):$0e(t)}function Qst(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),$0e(t))}function $0e(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 Gst=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class B0e extends d0{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 k0e(t){t.component.projection=Qn(t)?Wst(t):Kst(t)}function Wst(t){var e;if(t.hasProjection){const n=Es(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?Vst(t):void 0,o=new B0e(t.projectionName(!0),Object.assign(Object.assign({},(e=Es(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function Vst(t){const e=[],{encoding:n}=t;for(const r of[[wa,Fa],[Ro,gu]])(ur(n[r[0]])||ur(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(ms)&&t.typedFieldDef(ms).type===X1&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Zt.Main)),e}function Yst(t,e){const n=eue(Gst,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Zl(t.get(i),e.get(i))));if(Zl(t.size,e.size)){if(n)return t;if(Zl(t.explicit,{}))return e;if(Zl(e.explicit,{}))return t}return null}function Kst(t){if(t.children.length===0)return;let e;for(const r of t.children)k0e(r);const n=eue(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=Yst(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 B0e(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 Xst=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 Jst(t,e,n,r){var i,s;if(QE(e,n)){const o=Qn(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:J6(u,a,o.format,o.formatType,r)}}return{}}function P0e(t,e){return`${yue(t)}_${e}`}function Zst(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function Wk(t,e,n){var r;const i=(r=oR(n,void 0))!==null&&r!==void 0?r:{},s=P0e(i,e);return t.getName(`${s}_bins`)}function eot(t){return"as"in t}function M0e(t,e,n){let r,i;eot(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({},oR(e,void 0)),o=P0e(s,t.field),{signal:u,extentSignal:a}=Zst(n,o);if(q6(s.extent)){const c=s.extent;i=c0e(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 Qa extends qt{constructor(e,n){super(e),this.bins=n}clone(){return new Qa(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(No(s)&&Jt(s.bin)){const{key:u,binComponent:a}=M0e(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),Jst(n,s,o,n.config))}return i},{});return Vt(r)?null:new Qa(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=M0e(n,n.bin,r);return new Qa(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=e0([...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(Ui(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Ui(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Ui(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=Xst(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:du(e.field),as:r,signal:e.signal},q6(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:du(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 tot(t,e,n,r){var i;const s=Qn(r)?r.encoding[u0(e)]:void 0;if(No(n)&&Qn(r)&&Rae(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&QE(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(PZe(e)){const o=kZe(e);t.add(r.getName(o))}else t.add($e(n));return jd(n)&&Ktt((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function not(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 Eu extends qt{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new Eu(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(a0(x)||Gc(x)){const p=a0(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})]);Qc(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 tot(s,u,o,n)}),s.size+be(i).length===0)?null:new Eu(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 Eu(e,o,u)}merge(e){return NZe(this.dimensions,e.dimensions)?(not(this.measures,e.measures),!0):(vtt("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:du(s));return{type:"aggregate",groupby:[...this.dimensions].map(du),ops:e,fields:n,as:r}}}class dp extends qt{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of Oo){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),...Jt(u)?[$e(o,{binSuffix:"end"})]:[]]},Pa(a)?{sortField:a}:_e(a)?{sortIndexField:fp(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of Oo)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of Oo)!((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 Oo)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 $a){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Tr(i)&&Vc(s)){const o=NR(this.childModel,n),u=rP(o);u?e[n]=u:Te(_B(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=Z6,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 Uk){for(const f of qk){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[n0,t0])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function j0e(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function rot(t,e){const n=iue(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=j0e(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=j0e(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(Oet(e)),null}function iot(t){const e={};return D6(t.filter,n=>{var r;if(Xue(n)){let i=null;DB(n)?i=Qs(n.equal):wB(n)?i=Qs(n.lte):FB(n)?i=Qs(n.lt):LB(n)?i=Qs(n.gt):IB(n)?i=Qs(n.gte):$B(n)?i=n.range[0]:BB(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Bd(i)?e[n.field]="date":rn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function sot(t){const e={};function n(r){np(r)?e[r.field]="date":r.type==="quantitative"&&iet(r.aggregate)?e[r.field]="number":IE(r.field)>1?r.field in e||(e[r.field]="flatten"):jd(r)&&Pa(r.sort)&&IE(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((Qn(t)||vu(t))&&t.forEachFieldDef((r,i)=>{if(No(r))n(r);else{const s=Ld(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),Qn(t)){const{mark:r,markDef:i,encoding:s}=t;if(Yc(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 oot(t){const e={};if(Qn(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&&IE(i.field)>1&&(e[i.field]="flatten")}return e}class fi extends qt{constructor(e,n){super(e),this._parse=n}clone(){return new fi(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!Zc(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(Bue(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(Bue(u,n[u],a)))}const s=new d0(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 fi(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];IE(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?IE(n)>1:!0).map(n=>{const r=rot(n,this._parse[n]);return r?{type:"formula",expr:r,as:sue(n)}:null}).filter(n=>n!==null)}}class rf extends qt{clone(){return new rf(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([WE])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:WE}}}class ZE extends qt{constructor(e,n){super(e),this.params=n}clone(){return new ZE(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 eA extends qt{constructor(e,n){super(e),this.params=n}clone(){return new eA(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 Hd extends qt{constructor(e){super(null),e??(e={name:"source"});let n;if(Zc(e)||(n=e.format?Object.assign({},To(e.format,["parse"])):{}),VE(e))this._data={values:e.values};else if(ip(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 Ble(e)?this._data={values:[{type:"Sphere"}]}:(Ile(e)||Zc(e))&&(this._data={});this._generator=Zc(e),e.name&&(this._name=e.name),n&&!Vt(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 U0e=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},uot=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)},tA;function Vk(t){return t instanceof Hd||t instanceof ZE||t instanceof eA}class Yk{constructor(){tA.set(this,void 0),U0e(this,tA,!1,"f")}setModified(){U0e(this,tA,!0,"f")}get modifiedFlag(){return uot(this,tA,"f")}}tA=new WeakMap;class zd extends Yk{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 Kk extends Yk{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class aot extends Kk{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 lot extends Kk{constructor(e){super(),this.requiresSelectionId=e&&Bk(e)}run(e){e instanceof rf&&(this.requiresSelectionId&&(Vk(e.parent)||e.parent instanceof Eu||e.parent instanceof fi)||(this.setModified(),e.remove()))}}class cot extends Yk{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof za&&(r=e.producedFields(),tue(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 fot extends Kk{constructor(){super()}run(e){e instanceof Qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class xot extends zd{run(e){if(!Vk(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof fi)if(e instanceof fi)this.setModified(),e.merge(n);else{if(rue(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class dot extends zd{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof fi);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(!Vt(i)){this.setModified();const o=new fi(e,i);for(const u of n){if(u instanceof fi)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof fi&&be(u.parse).length===0&&u.remove()}}}}}class hot extends zd{run(e){e instanceof Qi||e.numChildren()>0||e instanceof dp||e instanceof Hd||(this.setModified(),e.remove())}}class pot extends zd{run(e){const n=e.children.filter(i=>i instanceof za),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class got extends zd{run(e){const n=e.children.filter(i=>i instanceof Eu),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 mot extends zd{constructor(e){super(),this.model=e}run(e){const n=!(Vk(e)||e instanceof lp||e instanceof fi||e instanceof rf),r=[],i=[];for(const s of e.children)s instanceof Qa&&(n&&!rue(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 Qa?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 yot extends zd{run(e){const n=[...e.children];if(!z1(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 Qd extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new Qd(null,ot(this.transform))}addDimensions(e){this.transform.groupby=e0(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 Eot(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function Aot(t){return _e(t)&&t.every(e=>je(e))&&t.length>1}class h0 extends qt{constructor(e,n){super(e),this._stack=n}clone(){return new h0(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(or(f.order,"ascending"));const l={field:u,order:a};let c;return Aot(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new h0(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 Ua(p)}).filter(h=>!!h),c=Eot(n),f=n.encoding.order;let x;return _e(f)||Le(f)?x=Tue(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new h0(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 hp extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new hp(null,ot(this.transform))}addDimensions(e){this.transform.groupby=e0(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=>EB(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 vot(t){function e(n){if(!(n instanceof dp)){const r=n.clone();if(r instanceof Qi){const i=Jk+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof Eu||r instanceof h0||r instanceof hp||r instanceof Qd)&&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 Xk(t){if(t instanceof dp)if(t.numChildren()===1&&!(t.children[0]instanceof Qi)){const e=t.children[0];(e instanceof Eu||e instanceof h0||e instanceof hp||e instanceof Qd)&&e.addDimensions(t.fields),e.swapWithParent(),Xk(t)}else{const e=t.model.component.data.main;q0e(e);const n=vot(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(Xk)}function q0e(t){if(t instanceof Qi&&t.type===Zt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof dp||(e.swapWithParent(),q0e(t))}}const Jk="scale_",OR=5;function Zk(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!Zk(e.children))return!1}return!0}function Au(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function H0e(t,e,n){let r=t.sources,i=!1;return i=Au(new fot,r)||i,i=Au(new lot(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=Au(new hot,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=Au(new xot,r)||i,i=Au(new mot(e),r)||i,i=Au(new cot,r)||i,i=Au(new dot,r)||i,i=Au(new got,r)||i,i=Au(new pot,r)||i,i=Au(new aot,r)||i,i=Au(new yot,r)||i),t.sources=r,i}function Sot(t,e){Zk(t.sources);let n=0,r=0;for(let i=0;i<OR&&H0e(t,e,!0);i++)n++;t.sources.map(Xk);for(let i=0;i<OR&&H0e(t,e,!1);i++)r++;Zk(t.sources),Math.max(n,r)===OR&&Te(`Maximum optimization runs(${OR}) reached.`)}class vs{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new vs(()=>e(n))}}var _ot=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 z0e(t){Qn(t)?Cot(t):bot(t)}function Cot(t){const e=t.component.scales;for(const n of be(e)){const r=Rot(t,n);if(e[n].setWithExplicit("domains",r),Not(t,n),t.component.data.isFaceted){let s=t;for(;!vu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)l0(u)&&(u.data=Jk+u.data.replace(Jk,""))}}}function bot(t){for(const n of t.children)z0e(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=Jc(r,o.getWithExplicit("domains"),"domains","scale",nP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(Cet),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function Tot(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=Q0e(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=Q0e(e,n);if(i)return"unaggregated"}return t}function Rot(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=Tot(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"&&ur(r.x2)?ur(r.x)?Jc(sf(n,i,t,"x"),sf(n,i,t,"x2"),"domain","scale",nP):sf(n,i,t,"x2"):e==="y"&&ur(r.y2)?ur(r.y)?Jc(sf(n,i,t,"y"),sf(n,i,t,"y2"),"domain","scale",nP):sf(n,i,t,"y2"):sf(n,i,t,e)}function Oot(t,e,n){return t.map(r=>({signal:`{data: ${uR(r,{timeUnit:n,type:e})}}`}))}function eP(t,e,n){var r;const i=(r=Hi(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?Oot(t,e,i):[t]}function sf(t,e,n,r){const{encoding:i}=n,s=ur(i[r]),{type:o}=s,u=s.timeUnit;if(Ytt(e)){const f=sf(t,void 0,n,r),x=eP(e.unionWith,o,u);return Ha([...f.value,...x])}else{if(Ye(e))return Ha([e]);if(e&&e!=="unaggregated"&&!sae(e))return Ha(eP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return Ws([[0,1]]);const f=n.requestDataName(Zt.Main);return Ws([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=Qc(r)&&Le(s)?Dot(n,r,t):void 0;if(Ma(s)){const f=eP([s.datum],o,u);return Ws(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Zt.Main),{field:x}=s;return Ws([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Jt(c.bin)){if(Tr(t))return Ws(t==="bin-ordinal"?[]:[{data:F6(l)?n.requestDataName(Zt.Main):n.requestDataName(Zt.Raw),field:n.vgField(r,QE(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Jt(f)){const x=Wk(n,c.field,f);return Ws([new vs(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return Ws([{data:n.requestDataName(Zt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&Rae(c,Qn(n)?n.encoding[u0(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Zt.Main);return Ws([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return Ws(l?[{data:F6(l)?n.requestDataName(Zt.Main):n.requestDataName(Zt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Zt.Main),field:n.vgField(r)}])}function tP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":Z6)},r?{field:du(r)}:{}),i?{order:i}:{})}function Not(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=sae(i)&&i,u=Id(s)&&q6(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function Dot(t,e,n){if(!Tr(n))return;const r=t.fieldDef(e),i=r.sort;if(_ae(i))return{op:"min",field:fp(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(Pa(i)){const u=s&&!o.has(i.field);return tP(i,u)}else if(Sae(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(a0(c)||Gc(c))return tP({field:$e(l),order:a},x);if(EB(c)||!c)return tP({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 Q0e(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!oet.has(n)?{valid:!1,reason:Jet(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:Zet(t)}:{valid:!0}:{valid:!1,reason:Xet(t)}}function nP(t,e,n,r){return t.explicit&&e.explicit&&Te(itt(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function Fot(t){const e=e0(t.map(o=>l0(o)?_ot(o,["sort"]):o),bt),n=e0(t.map(o=>{if(l0(o)){const u=o.sort;return u!==void 0&&!F6(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(l0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(que),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=e0(n.map(o=>F6(o)||!("op"in o)||je(o.op)&&o.op in net?o:(Te(ott(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(que),i=!0);const s=e0(t.map(o=>l0(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 rP(t){if(l0(t)&&je(t.field))return t.field;if(aet(t)){let e;for(const n of t.fields)if(l0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(utt),e}return Te(att),e}else if(cet(t)){Te(ltt);const e=t.fields[0];return je(e)?e:void 0}}function NR(t,e){const r=t.component.scales[e].get("domains").map(i=>(l0(i)&&(i.data=t.lookupDataSource(i.data)),i));return Fot(r)}var wot=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 G0e(t){return pp(t)||oP(t)?t.children.reduce((e,n)=>e.concat(G0e(n)),W0e(t)):W0e(t)}function W0e(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=wot(i,["name","type","selectionExtent","domains","range","reverse"]),x=Lot(i.range,s,n,t),h=NR(t,n),p=u?_it(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 Lot(t,e,n,r){if(Mr(n)){if(Vc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&l0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class V0e extends d0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:z1(this.get("domains"),e=>_e(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const Iot=["range","scheme"];function $ot(t){const e=t.component.scales;for(const n of U6){const r=e[n];if(!r)continue;const i=Bot(n,t);r.setWithExplicit("range",i)}}function Y0e(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=ys(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new vs(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Jt(r)){const u=Wk(t,i,r);return new vs(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function Bot(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of Iot)if(n[f]!==void 0){const x=UB(s,f),h=oae(t,f);if(!x)Te(jue(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(_e(p)){if(Mr(t))return Ha(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return vs.fromName(y,g)}return m}))}else if(Qe(p))return Ha({data:e.requestDataName(Zt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Ha(p)}case"scheme":return Ha(kot(n[f]))}}const o=t===An||t==="xOffset"?"width":"height",u=r[o];if(qa(u)){if(Mr(t))if(Tr(s)){const f=K0e(u,e,t);if(f)return Ha({step:f})}else Te(Uue(o));else if(V1(t)){const f=t===Mc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=X0e(u,s);if(p)return Ha(p)}}}const{rangeMin:a,rangeMax:l}=n,c=Pot(t,e);return(a!==void 0||l!==void 0)&&UB(s,"rangeMin")&&_e(c)&&c.length===2?Ha([a??c[0],l??c[1]]):Ws(c)}function kot(t){return Vtt(t)?Object.assign({scheme:t.name},To(t,["name"])):{scheme:t}}function Pot(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=ur(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case An:case br:{if(Tt(["point","band"],l)){const p=J0e(t,n,r.view);if(qa(p))return{step:K0e(p,e,t)}}const x=ys(t),h=e.getName(x);return t===br&&Gs(l)?[vs.fromName(o,h),0]:[0,vs.fromName(o,h)]}case Mc:case G1:return Mot(t,e,l);case s0:{const x=e.component.scales[t].get("zero"),h=Z0e(i,x,r),p=qot(i,n,e,r);return J1(l)?Uot(h,p,jot(l,r,c,t)):[h,p]}case pu:return[0,Math.PI*2];case Fd:return[0,360];case Da:return[0,new vs(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case qc:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Hc:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case ms:return"symbol";case gs:case La:case Ia:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case o0:case jc:case Uc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function K0e(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=fue(n),f=a[c];if(ule({step:t,offsetIsDiscrete:it(f)&&Zue(f.type)})==="offset"&&jae(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-${det(g)})`}}else return t.step}function X0e(t,e){if(ule({step:t,offsetIsDiscrete:Tr(e)})==="offset")return{step:t.step}}function Mot(t,e,n){const r=t===Mc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=J0e(r,e.size,e.config.view);if(qa(u)){const a=X0e(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return TZe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function J0e(t,e,n){const r=t===An?"width":"height",i=e[r];return i||pR(n,r)}function jot(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(ytt(r)),3)}}function Uot(t,e,n){const r=()=>{const i=c0(e),s=c0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new vs(r):{signal:r()}}function Z0e(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${Z0e(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(z6("size",t))}const ece=.95;function qot(t,e,n,r){const i={x:Y0e(n,"x"),y:Y0e(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=tce(e,i,r.view);return rn(s)?s-1:new vs(()=>`${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=tce(e,i,r.view);return rn(s)?Math.pow(ece*s,2):new vs(()=>`pow(${ece} * ${s.signal}, 2)`)}}throw new Error(z6("size",t))}function tce(t,e,n){const r=qa(t.width)?t.width.step:hR(n,"width"),i=qa(t.height)?t.height.step:hR(n,"height");return e.x||e.y?new vs(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function nce(t,e){Qn(t)?Hot(t,e):sce(t,e)}function Hot(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=ur(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=UB(h,e),y=oae(u,e);if(x!==void 0&&(g?y&&Te(y):Te(jue(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Bd(a[e])||A==="temporal"||E?l.set(e,{signal:uR(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in rce?rce[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:sk(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const rce={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?zot(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>Qot(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>Got(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>Wot(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>Vot(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>Yot(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 Kot(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>Xot(t,e,n,r,i)};function ice(t){Qn(t)?$ot(t):sce(t,"range")}function sce(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?ice(r):nce(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=Jc(i,u,e,"scale",Lle((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function zot(t,e){const n=e.bin;if(Jt(n)){const r=Wk(t,e.field,n);return new vs(()=>t.getSignalName(r))}else if(qi(n)&&Id(n)&&n.step!==void 0)return{step:n.step}}function Qot(t,e){if(Tt([gs,La,Ia],t)&&e!=="nominal")return"hcl"}function Got(t,e,n,r,i,s){var o;if(!(!((o=Ua(s))===null||o===void 0)&&o.bin||_e(n)||i!=null||r!=null||Tt([As.TIME,As.UTC],t)))return Mr(e)?!0:void 0}function Wot(t,e,n,r,i,s){if(Mr(t)){if(mu(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===As.POINT)return n.pointPadding}}function Vot(t,e,n,r,i,s=!1){if(t===void 0){if(Mr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:or(o,n==="bar"?u:a)}else if(V1(e)&&r===As.BAND)return i.offsetBandPaddingInner}}function Yot(t,e,n,r,i,s=!1){if(t===void 0){if(Mr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===As.BAND)return or(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(V1(e)){if(n===As.POINT)return .5;if(n===As.BAND)return i.offsetBandPaddingOuter}}}function Kot(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return Gs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Gs(t)&&e==="descending")return!0}function Xot(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&Gs(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"&&!J1(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...$a,...VZe],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 Jot(t,e,n,r,i=!1){const s=Zot(e,n,r,i),{type:o}=t;return Qc(e)?o!==void 0?ent(e,o)?Le(n)&&!Ztt(o,n.type)?(Te(ntt(o,s)),s):o:(Te(ttt(e,o,s)),s):s:null}function Zot(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(W1(t)||yB(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(bB(t,"ordinal")),"ordinal";if(Mr(t)||V1(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in mB)return"band";const s=n[ys(t)];return Z1(s)||tk(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return W1(t)?"time":yB(t)==="discrete"?(Te(bB(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&Hi(e.timeUnit).utc?"utc":"time";case"quantitative":return W1(t)?Le(e)&&Jt(e.bin)?"bin-ordinal":"linear":yB(t)==="discrete"?(Te(bB(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(Pue(e.type))}function eut(t,{ignoreRange:e}={}){oce(t),z0e(t);for(const n of Jtt)nce(t,n);e||ice(t)}function oce(t){Qn(t)?t.component.scales=tut(t):t.component.scales=rut(t)}function tut(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of U6){const o=ur(e[s]);if(o&&n===lae&&s===ms&&o.type===X1)continue;let u=o&&o.scale;if(V1(s)){const a=xue(s);if(!sk(e,a)){u&&Te(Uet(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=sk(e,s),l=Jot(u,s,o,r,a);i[s]=new V0e(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const nut=Lle((t,e)=>eae(t)-eae(e));function rut(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){oce(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=C0e(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?Htt(a.value,l.value)?i[u]=Jc(a,l,"type","scale",nut):(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 V0e(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 iP=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 sP{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 Qn(t){return(t==null?void 0:t.type)==="unit"}function vu(t){return(t==null?void 0:t.type)==="facet"}function oP(t){return(t==null?void 0:t.type)==="concat"}function pp(t){return(t==null?void 0:t.type)==="layer"}class uP{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=Es(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Wc(e.title)?{text:e.title}:e.title?Es(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new sP,this.projectionNameMap=r?r.projectionNameMap:new sP,this.signalNameMap=r?r.signalNameMap:new sP,this.data=e.data,this.description=e.description,this.transforms=sit((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:xrt(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:eR(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new d0,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(){eut(this)}parseProjection(){k0e(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){w0e(this)}assembleEncodeFromView(e){const n=iP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=un(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=un(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Vt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=iP(e,["spacing"]),{component:i,config:s}=this,o=Ast(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 Oo)e[r].title&&n.push(hst(this,r));for(const r of Uk)n=n.concat(pst(this,r));return n}assembleAxes(){return nst(this.component.axes,this.config)}assembleLegends(){return I0e(this)}assembleProjections(){return zst(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=iP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},Aue(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"),Vt(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||vu(this.parent)?G0e(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 En((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Zt[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(vu(this.parent)){const n=S0e(e),r=j6(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Tr(s)&&Vc(o)){const u=i.get("name"),a=NR(this,r),l=rP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:v0e(u,i,c)}}else return Te(_B(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(lue(e)&&Qc(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(yet(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 uce extends uP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return qnt(this.getMapping(),(r,i,s)=>{const o=Ua(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){uk(this.getMapping(),(r,i)=>{const s=Ua(r);s&&e(s,i)},n)}}var iut=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 DR extends qt{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 DR(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=iut(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class nA extends qt{constructor(e,n){super(e),this.filter=n}clone(){return new nA(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=Qc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");Gs(x)&&l.aggregate!=="count"&&!Yc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new nA(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 FR extends qt{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 FR(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 wR extends qt{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 wR(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 gp extends qt{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new gp(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[[wa,Fa],[Ro,gu]]){const s=i.map(o=>{const u=ur(n.encoding[o]);return Le(u)?u.field:Ma(u)?{expr:`${u.datum}`}:yu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new gp(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(ms)){const i=n.typedFieldDef(ms);i.type===X1&&(e=new gp(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 rA extends qt{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new rA(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[wa,Fa],[Ro,gu]]){const i=r.map(o=>{const u=ur(n.encoding[o]);return Le(u)?u.field:Ma(u)?{expr:`${u.datum}`}:yu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===Ro?"2":"";(i[0]||i[1])&&(e=new rA(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 Gd extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new Gd(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 Gd(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=qae(n.mark,r);return new Gd(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:Urt(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 sut=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 LR extends qt{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 LR(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=sut(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class iA extends qt{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new iA(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(qrt(o)){let a=fce(o.data,s);a||(a=new Hd(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new Qi(a,l,Zt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(Hrt(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(En(a),a)}catch{throw new Error(vet(a))}if(u=l.materialized,!u)throw new Error(_et(a))}return new iA(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(Fet),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 out=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 IR extends qt{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 IR(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=out(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var uut=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 $R extends qt{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 $R(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=uut(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class BR extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new BR(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=e0(((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 kR extends qt{constructor(e,n){super(e),this.transform=n}clone(){return new kR(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 ace(t){let e=0;function n(r,i){var s;if(r instanceof Hd&&!r.isGenerator&&!ip(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof fi&&(r.parent instanceof Hd&&!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 dp){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 ZE||r instanceof eA||r instanceof nA||r instanceof lp||r instanceof cp||r instanceof rA||r instanceof Eu||r instanceof iA||r instanceof hp||r instanceof Qd||r instanceof wR||r instanceof FR||r instanceof DR||r instanceof LR||r instanceof IR||r instanceof $R||r instanceof rf||r instanceof kR||r instanceof BR)&&i.transform.push(r.assemble()),(r instanceof Qa||r instanceof za||r instanceof Gd||r instanceof h0||r instanceof gp)&&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 aut(t){const e=[],n=ace(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function lut(t,e){var n,r;const i=[],s=ace(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 cut(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function fut(t){for(const e of Oo)xut(t,e);cce(t,"x"),cce(t,"y")}function xut(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=xp("title",null,i,e);let l=ep(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=xp("labelOrient",u.header,i,e),f=u.header!==null?or((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"?[]:[lce(t,e,f)]}}}function lce(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 cce(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=Qk(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=cut(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[lce(t,o,!1)]);const c=JE(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function dut(t){aP(t),PR(t,"width"),PR(t,"height")}function hut(t){aP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";PR(t,e),PR(t,n)}function aP(t){for(const e of t.children)e.parseLayoutSize()}function PR(t,e){var n;const r=S0e(e),i=j6(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:C0e(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=Jc(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 put(t){const{size:e,component:n}=t;for(const r of $a){const i=ys(r);if(e[i]){const s=e[i];n.layoutSize.set(i,qa(s)?"step":s,!0)}else{const s=gut(t,i);n.layoutSize.set(i,s,!1)}}}function gut(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(Tr(s)){const u=pR(r.view,e);return Vc(o)||qa(u)?"step":u}else return Ek(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return Ek(r.view,e);{const s=pR(r.view,e);return qa(s)?s.step:s}}}function lP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class sA extends uce{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=hP(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!HE(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![t0,n0].includes(i)){Te(z6(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(CB(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=ik(e,n);return r.header?r.header=Es(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=MR(this),this.child.parseData()}parseLayoutSize(){aP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),fut(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 Oo)for(const o of qk){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=xp("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=bR(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 sA))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof sA?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 sA){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 $a){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Tr(o)&&Vc(u)){const a=NR(this.child,i),l=rP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(_B(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 Oo){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Jt(x)&&a.push($e(f,{binSuffix:"end"})),Pa(h)){const{field:p,op:m=Z6}=h,g=lP(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=fp(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?Pa(r.sort)?[lP(r,r.sort,{expr:"datum"})]:_e(r.sort)?[fp(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(Pa(i)?i.order:!_e(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return Hk(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of Uk)if(n[s]){const o=xp("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return Hk(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=aut(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:Oo.map(a=>this.facetSortFields(a)).flat(),order:Oo.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup(Eit(this,[])))]}getMapping(){return this.facet}}function mut(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(Pa(s.sort)){const{field:o,op:u=Z6}=s.sort;t=i=new Qd(t,{joinaggregate:[{op:u,field:o,as:lP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function fce(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(VE(t)&&VE(u)){if(Zl(t.values,u.values))return o}else if(ip(t)&&ip(u)){if(t.url===u.url)return o}else if(Ile(t)&&t.name===o.dataName)return o}}return null}function yut(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Hd({values:[]});return e.push(r),r}const n=fce(t.data,e);if(n)return Zc(t.data)||(n.data.format=RZe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Hd(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 Eut(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(Zrt(o))a=t=new cp(t,o),u="derived";else if(Ck(o)){const l=iot(o);a=t=(r=fi.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new lp(t,e,o.filter)}else if(Tle(o))a=t=Qa.makeFromTransform(t,o,e),u="number";else if(tit(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new fi(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=za.makeFromTransform(t,o);else if(nit(o))a=t=Eu.makeFromTransform(t,o),u="number",Bk(e)&&(t=new rf(t));else if(ble(o))a=t=iA.make(t,e,o,s++),u="derived";else if(Krt(o))a=t=new hp(t,o),u="number";else if(Xrt(o))a=t=new Qd(t,o),u="number";else if(rit(o))a=t=h0.makeFromTransform(t,o),u="derived";else if(iit(o))a=t=new wR(t,o),u="derived";else if(Jrt(o))a=t=new FR(t,o),u="derived";else if(zrt(o))a=t=new BR(t,o),u="derived";else if(Yrt(o))t=new kR(t,o);else if(eit(o))a=t=Gd.makeFromTransform(t,o),u="derived";else if(Qrt(o))a=t=new DR(t,o),u="derived";else if(Grt(o))a=t=new IR(t,o),u="derived";else if(Wrt(o))a=t=new $R(t,o),u="derived";else if(Vrt(o))a=t=new LR(t,o),u="derived";else{Te(Det(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 MR(t){var e,n,r,i,s,o,u,a,l,c;let f=yut(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(Zc(p)||ip(p)||VE(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new git;Zc(p)?($le(p)?f=new eA(f,p.sequence):Rk(p)&&(f=new ZE(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=fi.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new rf(f);const y=t.parent&&pp(t.parent);(Qn(t)||vu(t))&&y&&(f=(r=Qa.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=Eut(f,t,g));const E=oot(t),A=sot(t);f=(i=fi.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,Qn(t)&&(f=gp.parseAll(f,t),f=rA.parseAll(f,t)),(Qn(t)||vu(t))&&(y||(f=(s=Qa.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=za.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=cp.parseAllForSortIndex(f,t));const v=t.getDataName(Zt.Raw),S=new Qi(f,v,Zt.Raw,h);if(x[v]=S,f=S,Qn(t)){const O=Eu.makeFromEncoding(f,t);O&&(f=O,Bk(t)&&(f=new rf(f))),f=(u=Gd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=h0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}Qn(t)&&(f=(l=nA.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Zt.Main),C=new Qi(f,_,Zt.Main,h);x[_]=C,f=C,Qn(t)&&est(t,C);let b=null;if(vu(t)){const O=t.getName("facet");f=(c=mut(f,t.facet))!==null&&c!==void 0?c:f,b=new dp(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:S,main:C,facetRoot:b,ancestorParse:g})}class Aut extends uP{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(Ret),this.children=this.getChildren(e).map((l,c)=>hP(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=MR(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 dR(e)?e.vconcat:yk(e)?e.hconcat:e.concat}parseLayoutSize(){hut(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=zk(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 vut(t){return t===!1||t===null}const Sut=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},kae),{labelExpr:1,encode:1}),xce=be(Sut);class cP extends d0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new cP(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!vut(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function _ut(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=ur(i[e]))!==null&&r!==void 0?r:ur(i[u0(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Md(l)?Object.assign({text:YB({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function Cut(t){return $a.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[Fut(n,t)]),e),{})}const but={bottom:"top",top:"bottom",left:"right",right:"left"};function Tut(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]=Qk(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=Rut(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of $a){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=but[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 Rut(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]=Out(i,s)}}}else return e.map(n=>n.clone());return t}function Out(t,e){for(const n of xce){const r=Jc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return Nue(i,s);case"gridScale":return{explicit:i.explicit,value:or(i.value,s.value)}}return mR(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function Nut(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:I6(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===g0e(r,i))return!0}return t===n[e]}const Dut=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Fut(t,e){var n,r,i;let s=e.axis(t);const o=new cP,u=ur(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)||cst(t),f=e.getScaleComponent(t).get("type"),x=rst(t,f,c,e.config),h=s!==void 0?!s:Mk("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=ust(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 xce){const A=E in d0e?d0e[E](m):Pae(E)?s[E]:void 0,v=A!==void 0,S=Nut(A,E,s,e,t);if(v&&S)o.set(E,A,S);else{const{configValue:_=void 0,configFrom:C=void 0}=Pae(E)&&E!=="values"?Mk(E,l.style,s.style,x):{},b=_!==void 0;v&&!b?o.set(E,A,S):(C!=="vgAxisConfig"||Dut.has(E)&&b||GE(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=Bae.reduce((E,A)=>{var v;if(!o.hasAxisPart(A))return E;const S=_0e((v=g[A])!==null&&v!==void 0?v:{},e),_=A==="labels"?_ut(e,t,S):S;return _!==void 0&&!Vt(_)&&(E[A]={update:_}),E},{});return Vt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function wut({encoding:t,size:e}){for(const n of $a){const r=ys(n);qa(e[r])&&ja(t[n])&&(delete e[r],Te(Uue(r)))}return e}function Lut(t,e,n){const r=Es(t),i=kt("orient",r,n);if(r.orient=kut(r.type,e,i),i!==void 0&&i!==r.orient&&Te(Vet(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"]:cnt[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=$ut(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=Iut(r,e,n)),r}function Iut(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function $ut(t,e){if(Tt([Y6,qB,HB,zB],t)&&!ok(e))return .7}function But(t,e,{graticule:n}){if(n)return!1;const r=$d("filled",t,e),i=t.type;return or(r,i!==Y6&&i!==V6&&i!==K6)}function kut(t,e,n){switch(t){case Y6:case HB:case zB:case aae:case nnt:case tnt:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case W6:if(Le(r)&&(qi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(qi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===kd&&!Jt(r.bin)||ek(r)))return"horizontal";if(!o&&(Le(i)&&i.type===kd&&!Jt(i.bin)||ek(i)))return"vertical"}case K6:if(s&&!(Le(r)&&qi(r.bin))&&o&&!(Le(i)&&qi(i.bin)))return;case G6:if(o)return Le(i)&&qi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&qi(r.bin)?"vertical":"horizontal";if(t===K6){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case V6:case qB:{const u=ja(r),a=ja(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===K1,x=c.type===K1;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 Put={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),tf(t,"radius")),tf(t,"theta"))},Mut={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),ER("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),ER("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),Ik(t))},jut={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y"))},Uut={vgMark:"shape",encodeEntry:t=>Object.assign({},Do(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===X1?{field:$e(n,{expr:"datum"})}:{})]}},qut={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y")),wk(t,"url"))},Hut={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t,{vgChannel:"strokeWidth"})),Ik(t))},zut={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t)),Ik(t))};function fP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),Rr("size",t)),Rr("angle",t)),Qut(t,n,e))}function Qut(t,e,n){return n?{shape:{value:n}}:Rr("shape",t)}const Gut={vgMark:"symbol",encodeEntry:t=>fP(t)},Wut={vgMark:"symbol",encodeEntry:t=>fP(t,"circle")},Vut={vgMark:"symbol",encodeEntry:t=>fP(t,"square")},Yut={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),tf(t,"x")),tf(t,"y"))},Kut={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({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ER("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),ER("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),Rr("size",t,{vgChannel:"strokeWidth"}))}},Xut={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({},Do(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ci("x",t,{defaultPos:"mid"})),ci("y",t,{defaultPos:"mid"})),wk(t)),Rr("size",t,{vgChannel:"fontSize"})),Rr("angle",t)),Vle("align",Jut(t.markDef,n,e))),Vle("baseline",Zut(t.markDef,n,e))),ci("radius",t,{defaultPos:null})),ci("theta",t,{defaultPos:null}))}};function Jut(t,e,n){if(kt("align",t,n)===void 0)return"center"}function Zut(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const eat={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({},Do(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ci("x",t,{defaultPos:"mid",vgChannel:"xc"})),ci("y",t,{defaultPos:"mid",vgChannel:"yc"})),Rr("size",t,{defaultValue:tat(t),vgChannel:i})),{[s]:un(kt("thickness",n,e))})}};function tat(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&&Vc(a)&&rn(a.step)?a.step*3/4:hR(n.view,s)*3/4}}const jR={arc:Put,area:Mut,bar:jut,circle:Wut,geoshape:Uut,image:qut,line:Hut,point:Gut,rect:Yut,rule:Kut,square:Vut,text:Xut,tick:eat,trail:zut};function nat(t){if(Tt([V6,G6,rnt],t.mark)){const e=qae(t.mark,t.encoding);if(e.length>0)return rat(t,e)}else if(t.mark===W6){const e=AB.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return iat(t)}return xP(t)}const dce="faceted_path_";function rat(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:dce+t.requestDataName(Zt.Main),data:t.requestDataName(Zt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:xP(t,{fromPrefix:dce})}]}const hce="stack_group_";function iat(t){var e;const[n]=xP(t,{fromPrefix:hce}),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({},LE(n.encode.update,["y","yc","y2","height",...AB])),{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({},To(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},LE(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({},To(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of AB){const f=$d(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=un(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=$d(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:un(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Zt.Main),name:hce+t.requestDataName(Zt.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 sat(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!_e(u)&&yu(u)&&Zoe(u.value)||!u&&Zoe(kt("order",s,o)))){if((_e(u)||Le(u))&&!r)return Tue(u,{expr:"datum"});if(Yc(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(Pa(c))return{field:$e({aggregate:ok(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(Sae(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 xP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=or(r.clip,oat(t),uat(t)),u=Cue(r),a=i.key,l=sat(t),c=aat(t),f=kt("aria",r,s),x=jR[n].postEncodingTransform?jR[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:jR[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(Zt.Main)},encode:{update:jR[n].encodeEntry(t)}}),x?{transform:x}:{})]}function oat(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 uat(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function aat(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 pce extends uce{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,ale(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=ka(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=But(u,s,{graticule:e.data&&Rk(e.data)}));const l=this.encoding=jnt(e.encoding||{},a,u.filled,s);this.markDef=Lut(u,l,s),this.size=wut({encoding:l,size:ale(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=gle(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=>gk(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===lae,r=e&&MZe.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 U6.reduce((r,i)=>{var s;const o=ur(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=Es(e);return _e(n)&&(i.domain=n.map(Qs)),_e(r)&&(i.range=r.map(Qs)),i}initAxes(e){return $a.reduce((n,r)=>{const i=e[r];if(it(i)||r===An&&it(e.x2)||r===br&&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]=GE(s)?vue(s):Qs(s)}return r}initLegends(e){return YZe.reduce((n,r)=>{const i=ur(e[r]);if(i&&XZe(r)){const s=i.legend;n[r]=s&&Es(s)}return n},{})}parseData(){this.component.data=MR(this)}parseLayoutSize(){put(this)}parseSelections(){this.component.selection=Zit(this,this.selection)}parseMarkGroup(){this.component.mark=nat(this)}parseAxesAndHeaders(){this.component.axes=Cut(this)}assembleSelectionTopLevelSignals(e){return Ait(this,e)}assembleSignals(){return[...f0e(this),...yit(this,[])]}assembleSelectionData(e){return vit(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return zk(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!pp(this.parent))&&(n=kle(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 Ud(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ua(n)}typedFieldDef(e){const n=this.fieldDef(e);return No(n)?n:null}}class dP extends uP{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(gR(u))return new dP(u,this,this.getName(`layer_${a}`),o,s);if(f0(u))return new pce(u,this,this.getName(`layer_${a}`),o,s);throw new Error(SB(u))})}parseData(){this.component.data=MR(this);for(const e of this.children)e.parseData()}parseLayoutSize(){dut(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(){Tut(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),f0e(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),zk(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 Sit(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),I0e(this))}}function hP(t,e,n,r,i){if(eR(t))return new sA(t,e,n,i);if(gR(t))return new dP(t,e,n,r,i);if(f0(t))return new pce(t,e,n,r,i);if(crt(t))return new Aut(t,e,n,i);throw new Error(SB(t))}var lat=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 gce(t,e={}){e.logger&&Ett(e.logger),e.fieldTitle&&wae(e.fieldTitle);try{const n=hle(KF(e.config,t.config)),r=uit(t,n),i=hP(r,null,"",void 0,n);return i.parse(),Sot(i.component.data,i),{spec:fat(i,cat(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&Att(),e.fieldTitle&&Fnt()}}function cat(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&&dit(e.type)){if(i==="step"&&s==="step")Te(wue()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(wue(j6(o)));const u=o==="width"?"height":"width";e.type=hit(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),wle(n,!1)),wle(t,!0))}function fat(t,e,n={},r){const i=t.config?_rt(t.config):void 0,s=[].concat(t.assembleSelectionData([]),lut(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=lat(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([]),...ole(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var xat=Gn("<div>");function dat(t){let e,n=null;return Ap(()=>{n&&n.finalize();const r=t.type==="vega-lite"?gce(t.spec).spec:t.spec;n=new O$(xoe(r)).initialize(e).renderer("svg").hover(),n.run()}),Ap(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=xat(),i=e;return typeof i=="function"?Sp(i,r):e=r,r})()}function hat(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,Pt(dat,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}function mce(t){return t.tagParse().tag.has("hidden")}const yce={xs:28,sm:64,md:128,lg:256,xl:384,"2xl":512};function Ece(t,e=0,n=0,r=0){let i={};return t.allFields.forEach(s=>{if(!mce(s))if(!s.isExploreField())i[oa(s)]={abs:[e,e],rel:[n,n],depth:r},e++,n++;else{const[o,u,a]=Ece(s,e,0,r+1);i={...i,...o},i[oa(s)]={abs:[e,u-1],rel:[n,n+a-1],depth:r},e=u,n+=a}}),[i,e,n]}function pat(t,e){const[n]=Ece(e),r=Math.max(...Object.values(n).map(s=>s.abs[1]))+1;n[oa(e)]={abs:[0,r-1],rel:[0,r-1],depth:-1};const i={fields:{},fieldHeaderRangeMap:n,fieldLayout(s){return this.fields[oa(s)]},totalHeaderSize:r};for(const[s,o]of Object.entries(t.fields)){if(!(s in n))continue;const u=o.field,a={metadata:o,width:null,height:null,absoluteColumnRange:n[s].abs,relativeColumnRange:n[s].rel,depth:n[s].depth},{tag:l}=u.tagParse(),c=l.text("width");c&&yce[c]?a.width=yce[c]:l.numeric("width")&&(a.width=l.numeric("width")),l.numeric("height")&&(a.height=l.numeric("height")),i.fields[s]=a}return i}const Ace=FP(),oA=()=>{const t=wP(Ace);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t},vce=FP(),Wd=()=>wP(vce),pP=Symbol("store-raw"),mp=Symbol("store-node"),p0=Symbol("store-has"),Sce=Symbol("store-self");function _ce(t){let e=t[Su];if(!e&&(Object.defineProperty(t,Su,{value:e=new Proxy(t,yat)}),!Array.isArray(t))){const n=Object.keys(t),r=Object.getOwnPropertyDescriptors(t);for(let i=0,s=n.length;i<s;i++){const o=n[i];r[o].get&&Object.defineProperty(t,o,{enumerable:r[o].enumerable,get:r[o].get.bind(e)})}}return e}function UR(t){let e;return t!=null&&typeof t=="object"&&(t[Su]||!(e=Object.getPrototypeOf(t))||e===Object.prototype||Array.isArray(t))}function uA(t,e=new Set){let n,r,i,s;if(n=t!=null&&t[pP])return n;if(!UR(t)||e.has(t))return t;if(Array.isArray(t)){Object.isFrozen(t)?t=t.slice(0):e.add(t);for(let o=0,u=t.length;o<u;o++)i=t[o],(r=uA(i,e))!==i&&(t[o]=r)}else{Object.isFrozen(t)?t=Object.assign({},t):e.add(t);const o=Object.keys(t),u=Object.getOwnPropertyDescriptors(t);for(let a=0,l=o.length;a<l;a++)s=o[a],!u[s].get&&(i=t[s],(r=uA(i,e))!==i&&(t[s]=r))}return t}function qR(t,e){let n=t[e];return n||Object.defineProperty(t,e,{value:n=Object.create(null)}),n}function aA(t,e,n){if(t[e])return t[e];const[r,i]=Ep(n,{equals:!1,internal:!0});return r.$=i,t[e]=r}function gat(t,e){const n=Reflect.getOwnPropertyDescriptor(t,e);return!n||n.get||!n.configurable||e===Su||e===mp||(delete n.value,delete n.writable,n.get=()=>t[Su][e]),n}function Cce(t){lO()&&aA(qR(t,mp),Sce)()}function mat(t){return Cce(t),Reflect.ownKeys(t)}const yat={get(t,e,n){if(e===pP)return t;if(e===Su)return n;if(e===uO)return Cce(t),n;const r=qR(t,mp),i=r[e];let s=i?i():t[e];if(e===mp||e===p0||e==="__proto__")return s;if(!i){const o=Object.getOwnPropertyDescriptor(t,e);lO()&&(typeof s!="function"||t.hasOwnProperty(e))&&!(o&&o.get)&&(s=aA(r,e,s)())}return UR(s)?_ce(s):s},has(t,e){return e===pP||e===Su||e===uO||e===mp||e===p0||e==="__proto__"?!0:(lO()&&aA(qR(t,p0),e)(),e in t)},set(){return!0},deleteProperty(){return!0},ownKeys:mat,getOwnPropertyDescriptor:gat};function HR(t,e,n,r=!1){if(!r&&t[e]===n)return;const i=t[e],s=t.length;n===void 0?(delete t[e],t[p0]&&t[p0][e]&&i!==void 0&&t[p0][e].$()):(t[e]=n,t[p0]&&t[p0][e]&&i===void 0&&t[p0][e].$());let o=qR(t,mp),u;if((u=aA(o,e,i))&&u.$(()=>n),Array.isArray(t)&&t.length!==s){for(let a=t.length;a<s;a++)(u=o[a])&&u.$();(u=aA(o,"length",s))&&u.$(t.length)}(u=o[Sce])&&u.$()}function bce(t,e){const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const i=n[r];HR(t,i,e[i])}}function Eat(t,e){if(typeof e=="function"&&(e=e(t)),e=uA(e),Array.isArray(e)){if(t===e)return;let n=0,r=e.length;for(;n<r;n++){const i=e[n];t[n]!==i&&HR(t,n,i)}HR(t,"length",r)}else bce(t,e)}function lA(t,e,n=[]){let r,i=t;if(e.length>1){r=e.shift();const o=typeof r,u=Array.isArray(t);if(Array.isArray(r)){for(let a=0;a<r.length;a++)lA(t,[r[a]].concat(e),n);return}else if(u&&o==="function"){for(let a=0;a<t.length;a++)r(t[a],a)&&lA(t,[a].concat(e),n);return}else if(u&&o==="object"){const{from:a=0,to:l=t.length-1,by:c=1}=r;for(let f=a;f<=l;f+=c)lA(t,[f].concat(e),n);return}else if(e.length>1){lA(t[r],e,[r].concat(n));return}i=t[r],n=[r].concat(n)}let s=e[0];typeof s=="function"&&(s=s(i,n),s===i)||r===void 0&&s==null||(s=uA(s),r===void 0||UR(i)&&UR(s)&&!Array.isArray(s)?bce(i,s):HR(t,r,s))}function Aat(...[t,e]){const n=uA(t||{}),r=Array.isArray(n),i=_ce(n);function s(...o){Jce(()=>{r&&o.length===1?Eat(n,o[0]):lA(n,o)})}return[i,s]}var vat=Gn("<div class=cell-content>"),Sat=Gn('<div class="column-cell th">'),_at=Gn('<div class="column-cell td">'),Cat=Gn("<div style=position:sticky;left:0px;height:0px;visibility:hidden;>"),bat=Gn("<div style=position:sticky;top:0px;left:0px;height:0px;visibility:hidden;>"),Tat=Gn("<div class=pinned-header-row>"),Rat=Gn("<div class=malloy-table><div class=table-row>"),Oat=Gn("<div class=pinned-header-subrow>"),Nat=Gn("<div class=table-row>");const Dat=navigator.userAgent.toLowerCase().indexOf("chrome")>=0,Tce=t=>{const e=()=>{const n=Wd().layout,r=n.fieldLayout(t.field).width,i=n.fieldLayout(t.field).height,s={};return t.isHeader||r&&(s.width=`${r}px`,s["min-width"]=`${r}px`,s["max-width"]=`${r}px;`,typeof i=="number"&&(s.height=`${i}px;`)),s};return(()=>{var n=vat();return vn(n,()=>t.value),_u(r=>{var i=!!t.isHeader,s=!!t.hideStartGutter,o=!!t.hideEndGutter,u=!!t.tableGutterLeft,a=!!t.tableGutterRight,l=e(),c=typeof t.value=="string"?t.value:"";return i!==r.e&&n.classList.toggle("header",r.e=i),s!==r.t&&n.classList.toggle("hide-start-gutter",r.t=s),o!==r.a&&n.classList.toggle("hide-end-gutter",r.a=o),u!==r.o&&n.classList.toggle("table-gutter-left",r.o=u),a!==r.i&&n.classList.toggle("table-gutter-right",r.i=a),r.n=TA(n,l,r.n),c!==r.s&&cf(n,"title",r.s=c),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),n})()},Rce=t=>{const{layout:e}=Wd(),n=I3(t.field),r=I3(t.field.parentExplore),i=!t.field.parentExplore.isExploreField(),s=n&&(r||i),o=L3(t.field),u=L3(t.field.parentExplore),a=o&&(u||i),l=e.fieldLayout(t.field),c=t.isPinned?l.absoluteColumnRange:l.relativeColumnRange,f=l.depth>0&&I3(t.field)||l.metadata.renderAs==="table",x=l.depth>0&&L3(t.field)||l.depth===0&&l.metadata.renderAs==="table";return(()=>{var h=Sat();return vn(h,Pt(Tce,{get field(){return t.field},get value(){return t.field.name.replace(/_/g,"_​")},hideStartGutter:s,hideEndGutter:a,tableGutterLeft:f,tableGutterRight:x,isHeader:!0})),_u(p=>{var m=!!(t.field.isAtomicField()&&t.field.isNumber()),g=!!t.isPinned,y=`${c[0]+1} / span ${YF(c)}`,E=t.isPinned?void 0:`var(--malloy-render--table-header-height-${l.depth})`;return m!==p.e&&h.classList.toggle("numeric",p.e=m),g!==p.t&&h.classList.toggle("pinned-header",p.t=g),y!==p.a&&((p.a=y)!=null?h.style.setProperty("grid-column",y):h.style.removeProperty("grid-column")),E!==p.o&&((p.o=E)!=null?h.style.setProperty("height",E):h.style.removeProperty("height")),p},{e:void 0,t:void 0,a:void 0,o:void 0}),h})()},Fat=t=>{const e=Wd();let n="",r="";({renderValue:n,renderAs:r}=yp({field:t.field,dataColumn:t.row.cell(t.field),resultMetadata:oA(),tag:t.field.tagParse().tag,customProps:{table:{pinnedHeader:e.pinnedHeader,rowLimit:e.pinnedHeader?1:1/0}}})),e.pinnedHeader&&r!=="table"&&(n="");const s=Wd().layout.fieldLayout(t.field),o=s.relativeColumnRange,u={"grid-column":`${o[0]+1} / span ${YF(o)}`,height:"fit-content"};r==="table"?(u.display="grid",u.grid="auto / subgrid"):Dat&&t.field.isAtomicField()&&(u.position="sticky",u.top=`var(--malloy-render--table-header-cumulative-height-${s.depth})`);const a=s.depth>0&&I3(t.field),l=s.depth>0&&L3(t.field);return(()=>{var c=_at();return vn(c,Pt(lfe,{get children(){return[Pt(qP,{when:r==="table",children:n}),Pt(qP,{when:!0,get children(){return Pt(Tce,{get field(){return t.field},value:n,get hideStartGutter(){return I3(t.field)},get hideEndGutter(){return L3(t.field)},tableGutterLeft:a,tableGutterRight:l})}})]}})),_u(f=>{var x=!!(t.field.isAtomicField()&&t.field.isNumber()),h=u;return x!==f.e&&c.classList.toggle("numeric",f.e=x),f.t=TA(c,h,f.t),f},{e:void 0,t:void 0}),c})()},wat=t=>{const e=dO({rowLimit:1/0,pinnedHeader:!1},t),n=Wd(),r=oA(),i=xi(()=>Object.entries(n.layout.fieldHeaderRangeMap).sort((E,A)=>E[1].depth<A[1].depth?-1:E[1].depth>A[1].depth?1:E[1].abs[0]<A[1].abs[0]?-1:E[1].abs[0]>A[1].abs[0]?1:0).filter(([E,A])=>{const v=A.depth>=0,S=VR(r.fields[E].field.parentExplore)==="table";return v&&S}).map(([E,A])=>({fieldKey:E,field:r.fields[E].field,...A}))),s=()=>{const y=n.layout.fieldLayout(e.data.field).relativeColumnRange,E={"--table-row-span":YF(y)};if(n.root){let A=0;Object.entries(n.headerSizeStore[0]).sort(([v],[S])=>parseInt(v)-parseInt(S)).forEach(([v,S])=>{E[`--malloy-render--table-header-height-${v}`]=`${S}px`,A+=S,E[`--malloy-render--table-header-cumulative-height-${v}`]=`${A}px`}),E["--total-header-size"]=n.layout.totalHeaderSize}return E},o=xi(()=>{const y=[];let E=0;for(const A of e.data){if(E>=e.rowLimit)break;y.push(A),E++}return y}),u=()=>e.data.field.allFields.filter(y=>!mce(y)),a=()=>i().reduce((E,A)=>((E[A.depth]||(E[A.depth]=[])).push(A),E),[]);let l,c;const[f,x]=Ep(!1),[h,p]=Ep(!1),m=()=>f()&&!h();DP(()=>{l&&c&&(new IntersectionObserver(([A])=>{x(A.intersectionRatio<1)},{threshold:[1]}).observe(l),new IntersectionObserver(([A])=>{p(A.intersectionRatio<1)},{threshold:[1]}).observe(c))});const g=[];return DP(()=>{if(n.root){const[y,E]=n.headerSizeStore,A=new ResizeObserver(v=>{const S=v.reduce((_,C)=>{const b=C.target.getAttribute("data-depth"),O=C.contentRect.height;return typeof b=="string"&&y[b]!==O&&(_[b]=O),_},{});Object.entries(S).length>0&&E(_=>({..._,...S}))});g.forEach(v=>{A.observe(v)})}}),(()=>{var y=Rat(),E=y.firstChild;return vn(y,Pt(UP,{get when(){return n.root},get children(){return[(()=>{var A=Cat(),v=l;return typeof v=="function"?Sp(v,A):l=A,A})(),(()=>{var A=bat(),v=c;return typeof v=="function"?Sp(v,A):c=A,A})(),(()=>{var A=Tat();return vn(A,Pt(Wa,{get each(){return a()},children:(v,S)=>(()=>{var _=Oat();return Sp(C=>g[S()]=C,_),vn(_,Pt(Wa,{each:v,children:C=>Pt(Rce,{get field(){return C.field},isPinned:!0})})),_u(()=>cf(_,"data-depth",S())),_})()})),A})()]}}),E),vn(E,Pt(Wa,{get each(){return u()},children:A=>Pt(Rce,{field:A})})),vn(y,Pt(Wa,{get each(){return o()},children:A=>(()=>{var v=Nat();return vn(v,Pt(Wa,{get each(){return u()},children:S=>Pt(Fat,{field:S,row:A})})),v})()}),null),_u(A=>{var v=!!n.root,S=!!m(),_=n.root?"table-container":"",C=s();return v!==A.e&&y.classList.toggle("root",A.e=v),S!==A.t&&y.classList.toggle("pinned",A.t=S),_!==A.a&&cf(y,"part",A.a=_),A.o=TA(y,C,A.o),A},{e:void 0,t:void 0,a:void 0,o:void 0}),y})()},Lat=t=>{const e=oA(),n=!!Wd(),r=xi(()=>{if(n){const i=Wd();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout,headerSizeStore:i.headerSizeStore}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:pat(e,t.data.field),headerSizeStore:Aat({})}});return Pt(vce.Provider,{get value(){return r()},get children(){return Pt(wat,t)}})};var Iat=Gn('<div class=malloy-list style="text-wrap:wrap;line-height:calc(var(--malloy-render--table-row-height) * 5 / 7 - 1px);">'),$at=Gn("<span>");function Bat(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=Iat();return vn(u,Pt(Wa,{each:o,children:(a,l)=>(()=>{var c=$at();return vn(c,()=>yp({field:r,dataColumn:a.cell(r),resultMetadata:t.resultMetadata,tag:r.tagParse().tag}).renderValue,null),vn(c,()=>i&&s&&"("+yp({field:s,dataColumn:a.cell(s),resultMetadata:t.resultMetadata,tag:s.tagParse().tag}).renderValue+")",null),vn(c,()=>l()<o.length-1&&", ",null),c})()})),u})()}var kat=Gn("<img>");function Pat(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=Goe({tag:o,data:t.dataColumn})??o.text());let u;return t.dataColumn.isNull()||(u=t.dataColumn.value),(()=>{var a=kat();return TA(a,i),cf(a,"src",u),cf(a,"alt",s),a})()}var Mat=Gn("<div class=dashboard-item><div class=dashboard-item-title></div><div class=dashboard-item-value>"),jat=Gn("<div class=malloy-dashboard>"),Uat=Gn("<div class=dashboard-row><div class=dashboard-row-header><div class=dashboard-row-header-dimension-list></div><div class=dashboard-row-header-separator></div></div><div class=dashboard-row-body>"),qat=Gn("<div class=dashboard-dimension-wrapper><div class=dashboard-dimension-name></div><div class=dashboard-dimension-value>");function Hat(t){return(()=>{var e=Mat(),n=e.firstChild,r=n.nextSibling;return vn(n,()=>t.field.name),vn(r,()=>yp({field:t.field,dataColumn:t.row.cell(t.field),tag:t.field.tagParse().tag,resultMetadata:t.resultMetadata}).renderValue),_u(()=>r.classList.toggle("dashboard-item-value-measure",!!t.isMeasure)),e})()}function zat(t){const e=()=>t.data.field,n=()=>e().allFields.filter(o=>!o.tagParse().tag.has("hidden")&&o.isAtomicField()&&o.sourceWasDimension()),r=()=>{const o=[],u=[];for(const a of e().allFields)a.tagParse().tag.has("hidden")||(a.isAtomicField()&&a.sourceWasMeasureLike()?o.push(a):(!a.isAtomicField()||!a.sourceWasDimension())&&u.push(a));return[...o,...u]},i=xi(()=>{const o=[];for(const u of t.data)o.push(u);return o}),s=oA();return(()=>{var o=jat();return vn(o,Pt(Wa,{get each(){return i()},children:u=>(()=>{var a=Uat(),l=a.firstChild,c=l.firstChild,f=l.nextSibling;return vn(c,Pt(Wa,{get each(){return n()},children:x=>(()=>{var h=qat(),p=h.firstChild,m=p.nextSibling;return vn(p,()=>x.name),vn(m,()=>yp({field:x,dataColumn:u.cell(x),tag:x.tagParse().tag,resultMetadata:s}).renderValue),h})()})),vn(f,Pt(Wa,{get each(){return r()},children:x=>Pt(Hat,{field:x,row:u,resultMetadata:s,get isMeasure(){return xi(()=>!!x.isAtomicField())()&&x.sourceWasMeasureLike()}})})),a})()})),o})()}class zR{constructor(e,n,r,i={},s){this.document=e,this.styleDefaults=n,this.options=r,this.timezone=s,this.size=i.size||this.styleDefaults.size||"medium"}mapData(e){const n=[];for(const r of e){const i={};for(const s of e.field.allFields){let o=this.getDataValue(r.cell(s));o instanceof Date&&(o=cZe(o,this.timezone)),i[s.name]=o}n.push(i)}return n}getSize(){return this.size==="large"?{height:350,width:500}:{height:175,width:250}}async render(e){if(!e.isArray())throw new Error("Invalid type for chart renderer");const n=this.getVegaLiteSpec(e),r=gce(n,{logger:{level(o){return o!==void 0?this:0},info(){return this},error(){return this},warn(){return this},debug(){return this}}}).spec,i=new O$(xoe(r),{renderer:"none"});i.logger().level(-1);const s=this.document.createElement("div");return s.innerHTML=await i.toSVG(),s}}const QR={$schema:"https://vega.github.io/schema/vega-lite/v5.json",config:{params:[{name:"defaultFont",value:"var(--malloy-font-family, 'Inter')"},{name:"titleColor",value:`var(--malloy-title-color, ${j1})`},{name:"labelColor",value:`var(--malloy-label-color, ${j1})`}],background:void 0,color:{expr:"titleColor"},header:{labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500},text:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},mark:{font:{expr:"defaultFont"},color:{expr:"labelColor"}},title:{font:{expr:"defaultFont"},subtitleFont:{expr:"defaultFont"},fontWeight:500},axis:{labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"},titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12,gridColor:U1,tickColor:U1,labelPadding:5,titlePadding:10},legend:{titleFontWeight:500,titleColor:{expr:"titleColor"},titleFontSize:12,labelColor:{expr:"labelColor"},labelFont:{expr:"defaultFont"},titleFont:{expr:"defaultFont"}}}},of={config:QR.config,encoding:{y:{field:"#{1}",type:"nominal",axis:null,sort:null}},layer:[{mark:{type:"bar",color:"#aec7e8"},encoding:{x:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}},{mark:{type:"text",align:"left",x:5},encoding:{text:{field:"#{1}"}}}]},GR={...QR,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}};({...GR,encoding:{...GR.encoding,color:Jl("quantitative",!0,!0)}},{...GR,encoding:{...GR.encoding,color:Jl("nominal",!0,!0)}}),{...of,layer:({...of.layer[0],encoding:{...of.layer[0].encoding,color:Jl("nominal",!0,!0)}},of.layer[1])},{...of,layer:({...of.layer[0],encoding:{...of.layer[0].encoding,color:Jl("quantitative",!0,!0)}},of.layer[1])};const WR={...QR,mark:"bar",data:[],encoding:{x:{field:"#{1}",type:"nominal",sort:null},y:{field:"#{2}",type:"quantitative",sort:null},color:{value:"#4285F4"}}};({...WR,encoding:{...WR.encoding,color:Jl("nominal",!0)}},{...WR,encoding:{...WR.encoding,color:Jl("quantitative",!0)}});function Oce(t){return Array.isArray(t)||t!==null&&typeof t=="object"}class Qat extends zR{constructor(e,n,r,i,s){super(e,n,r);const o=s.spec;if(o)this.spec=o;else if(s.spec_name){const u=r.dataStyles[s.spec_name];if(u!==void 0&&u.renderer==="vega")if(u.spec)this.spec=u.spec;else throw new Error(`No spec defined on ${s.spec_name}`);else throw new Error(`No Vega renderer named ${s.spec_name}`)}else throw new Error(`No top level vega spec defined for ${i.name}`)}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for vega chart.")}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp()||e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for vega chart.")}translateField(e,n){const r=n.match(/#\{(\d+)\}/);return r&&r.groups?e.allFields[parseInt(r.groups[1])-1].name:n}translateFields(e,n){if(Array.isArray(e))for(const r of e)Oce(r)&&this.translateFields(r,n);else if(e&&typeof e=="object")for(const[r,i]of Object.entries(e))if(r==="field"&&typeof i=="string")e[r]=this.translateField(n,i);else if(r==="repeat"&&Array.isArray(i))for(const s of i.keys()){const o=i[s];typeof o=="string"&&(i[s]=this.translateField(n,o))}else Oce(i)&&this.translateFields(i,n)}getVegaLiteSpec(e){if(e.isNull()||!e.isArray())throw new Error("Expected struct value not to be null.");const n=structuredClone(this.spec);this.translateFields(n,e.field);const r={values:this.mapData(e)};return n.data=r,n}}const JR=class JR extends Nd{create(e,n,r,i,s){return new Qat(e,n,r,i,s)}get rendererName(){return"vega"}};JR.instance=new JR;let Nce=JR;class Dce extends zR{getVegaLiteSpec(e){const n=e.field.allFields,r=n[0],i=n[1],s=n[2],o=n[3],u=n[4],a=this.getDataType(r),l=this.getDataType(i),c=s?this.getDataType(s):void 0,f=o?this.getDataType(o):void 0,x=u?this.getDataType(u):void 0,h=this.getMark(),p=s!==void 0?{field:s.name,type:c,axis:{title:Od(this.options,s,void 0,this.timezone)},scale:Jl(c,h==="bar")}:{value:"#4285F4"},m=o?{field:o.name,type:f,axis:{title:Od(this.options,o,void 0,this.timezone)}}:void 0,g=u?{field:u.name,type:x,axis:{title:Od(this.options,u,void 0,this.timezone)}}:void 0,y=a==="nominal"?null:void 0,E=l==="nominal"?null:void 0,A={field:r.name,type:a,sort:y,axis:{title:Od(this.options,r,void 0,this.timezone)},scale:{zero:!1}},v={field:i.name,type:l,sort:E,axis:{title:Od(this.options,i,void 0,this.timezone)},scale:{zero:!1}};return{...QR,...this.getSize(),data:{values:this.mapData(e)},mark:h,encoding:{x:A,y:v,size:m,color:p,shape:g},background:"transparent"}}}class Gat extends Dce{getMark(){return"line"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for line chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for line chart.")}}const ZR=class ZR extends Nd{create(e,n,r,i,s,o){return new Gat(e,n,r,s,o)}get rendererName(){return"line_chart"}};ZR.instance=new ZR;let gP=ZR;class Wat extends Dce{getMark(){return"point"}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"temporal";if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for scatter chart.")}getDataValue(e){if(e.isNull())return null;if(e.isTimestamp()||e.isDate()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for scatter chart.")}}const eO=class eO extends Nd{create(e,n,r,i,s,o){return new Wat(e,n,r,s,o)}get rendererName(){return"scatter_chart"}};eO.instance=new eO;let mP=eO;const yP={type:"Topology",bbox:[-179.14733999999999,-14.552548999999999,179.77847,71.352561],transform:{scale:[.003589293992939929,.0008590596905969058],translate:[-179.14733999999999,-14.552548999999999]},objects:{states:{type:"GeometryCollection",geometries:[{type:"MultiPolygon",arcs:[[[0]],[[1,2,3,4,5]]],id:"01",properties:{name:"Alabama"}},{type:"MultiPolygon",arcs:[[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]],[[121]],[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]]],id:"02",properties:{name:"Alaska"}},{type:"Polygon",arcs:[[143,144,145,146,147]],id:"04",properties:{name:"Arizona"}},{type:"Polygon",arcs:[[148,149,150,151,152,153]],id:"08",properties:{name:"Colorado"}},{type:"MultiPolygon",arcs:[[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161]],[[162]],[[163,164,-4]]],id:"12",properties:{name:"Florida"}},{type:"Polygon",arcs:[[165,166,167,168,-164,-3]],id:"13",properties:{name:"Georgia"}},{type:"Polygon",arcs:[[169,170,171,172,173]],id:"18",properties:{name:"Indiana"}},{type:"Polygon",arcs:[[174,175,176,-151]],id:"20",properties:{name:"Kansas"}},{type:"MultiPolygon",arcs:[[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[184,185]]],id:"23",properties:{name:"Maine"}},{type:"MultiPolygon",arcs:[[[186]],[[187]],[[188,189,190,191,192,193,194,195]]],id:"25",properties:{name:"Massachusetts"}},{type:"Polygon",arcs:[[196,197,198,199,200]],id:"27",properties:{name:"Minnesota"}},{type:"Polygon",arcs:[[201,202,203,204,205,206,207,208]],id:"34",properties:{name:"New Jersey"}},{type:"MultiPolygon",arcs:[[[209]],[[210]],[[211,212,213,-167,214]]],id:"37",properties:{name:"North Carolina"}},{type:"Polygon",arcs:[[215,-201,216,217]],id:"38",properties:{name:"North Dakota"}},{type:"Polygon",arcs:[[-152,-177,218,219,220,221]],id:"40",properties:{name:"Oklahoma"}},{type:"Polygon",arcs:[[222,223,-204,224,225,226,227]],id:"42",properties:{name:"Pennsylvania"}},{type:"Polygon",arcs:[[228,-217,-200,229,230,231]],id:"46",properties:{name:"South Dakota"}},{type:"Polygon",arcs:[[-221,232,233,234,235,236,237]],id:"48",properties:{name:"Texas"}},{type:"Polygon",arcs:[[-232,238,-149,239,240,241]],id:"56",properties:{name:"Wyoming"}},{type:"Polygon",arcs:[[-195,242,243,244]],id:"09",properties:{name:"Connecticut"}},{type:"Polygon",arcs:[[245,246,247,248,249,250,251,-219,-176,252]],id:"29",properties:{name:"Missouri"}},{type:"Polygon",arcs:[[253,-227,254,255,256]],id:"54",properties:{name:"West Virginia"}},{type:"Polygon",arcs:[[257,258,259,-174,260,-247]],id:"17",properties:{name:"Illinois"}},{type:"Polygon",arcs:[[-153,-222,-238,261,-147]],id:"35",properties:{name:"New Mexico"}},{type:"Polygon",arcs:[[-252,262,263,264,-235,233,-233,-220]],id:"05",properties:{name:"Arkansas"}},{type:"MultiPolygon",arcs:[[[265]],[[266]],[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[273,274,275,-144,276]]],id:"06",properties:{name:"California"}},{type:"MultiPolygon",arcs:[[[-209,277]],[[-225,-203,278,279]]],id:"10",properties:{name:"Delaware"}},{type:"Polygon",arcs:[[280,281]],id:"11",properties:{name:"District of Columbia"}},{type:"MultiPolygon",arcs:[[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]]],id:"15",properties:{name:"Hawaii"}},{type:"Polygon",arcs:[[-199,290,-258,-246,291,-230]],id:"19",properties:{name:"Iowa"}},{type:"MultiPolygon",arcs:[[[-261,-173,292,-257,293,294,-248]],[[295,-250]]],id:"21",properties:{name:"Kentucky"}},{type:"MultiPolygon",arcs:[[[296,297]],[[298]],[[299]],[[-226,-280,300,301,302,303,-281,304,-255]]],id:"24",properties:{name:"Maryland"}},{type:"MultiPolygon",arcs:[[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[314,315,-171]],[[316]],[[317,318,319,320,321,322]]],id:"26",properties:{name:"Michigan"}},{type:"MultiPolygon",arcs:[[[323]],[[324]],[[325]],[[326]],[[-264,327,-6,328,329]]],id:"28",properties:{name:"Mississippi"}},{type:"Polygon",arcs:[[330,-218,-229,-242,331]],id:"30",properties:{name:"Montana"}},{type:"Polygon",arcs:[[332,-185,333,-190,334]],id:"33",properties:{name:"New Hampshire"}},{type:"MultiPolygon",arcs:[[[335]],[[336]],[[337]],[[338,-207]],[[339]],[[340]],[[341,342,-196,-245,343,-205,-224]]],id:"36",properties:{name:"New York"}},{type:"MultiPolygon",arcs:[[[344]],[[345]],[[-316,346,-228,-254,-293,-172]]],id:"39",properties:{name:"Ohio"}},{type:"Polygon",arcs:[[347,348,349,274,-275,-274,350]],id:"41",properties:{name:"Oregon"}},{type:"Polygon",arcs:[[-251,-296,-249,-295,351,-215,-166,-2,-328,-263]],id:"47",properties:{name:"Tennessee"}},{type:"Polygon",arcs:[[352,-240,-154,-146,353]],id:"49",properties:{name:"Utah"}},{type:"MultiPolygon",arcs:[[[354]],[[-302,355]],[[356,-297]],[[-256,-305,-282,-304,357,-212,-352,-294]]],id:"51",properties:{name:"Virginia"}},{type:"MultiPolygon",arcs:[[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[368,-348,369]]],id:"53",properties:{name:"Washington"}},{type:"MultiPolygon",arcs:[[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[380,-323,321,-321,319,-319,381,-259,-291,-198]]],id:"55",properties:{name:"Wisconsin"}},{type:"MultiPolygon",arcs:[[[382]],[[383]],[[384]]],id:"60",properties:{name:"American Samoa"}},{type:"MultiPolygon",arcs:[[[385]]],id:"66",properties:{name:"Guam"}},{type:"MultiPolygon",arcs:[[[386]],[[387]],[[388]],[[389]],[[390]],[[391]],[[392]],[[393]]],id:"69",properties:{name:"Commonwealth of the Northern Mariana Islands"}},{type:"Polygon",arcs:[[-231,-292,-253,-175,-150,-239]],id:"31",properties:{name:"Nebraska"}},{type:"Polygon",arcs:[[-214,394,-168]],id:"45",properties:{name:"South Carolina"}},{type:"MultiPolygon",arcs:[[[395]],[[396]],[[397]],[[398]],[[399]]],id:"72",properties:{name:"Puerto Rico"}},{type:"MultiPolygon",arcs:[[[400]],[[401]],[[402]]],id:"78",properties:{name:"United States Virgin Islands"}},{type:"Polygon",arcs:[[-369,403,-332,-241,-353,404,-349]],id:"16",properties:{name:"Idaho"}},{type:"Polygon",arcs:[[-275,-350,-405,-354,-145,-276]],id:"32",properties:{name:"Nevada"}},{type:"Polygon",arcs:[[405,-335,-189,-343]],id:"50",properties:{name:"Vermont"}},{type:"MultiPolygon",arcs:[[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[-265,-330,413,-236]]],id:"22",properties:{name:"Louisiana"}},{type:"MultiPolygon",arcs:[[[-192,414]],[[415]],[[416]],[[417]],[[-243,-194,418]]],id:"44",properties:{name:"Rhode Island"}}]},nation:{type:"GeometryCollection",geometries:[{type:"MultiPolygon",arcs:[[[0]],[[164,4,328,413,236,261,147,276,350,369,403,330,215,196,380,317,381,259,169,314,346,222,341,405,332,185,333,190,414,192,418,243,343,205,338,207,277,201,278,300,355,302,357,212,394,168]],[[6]],[[7]],[[8]],[[9]],[[10]],[[11]],[[12]],[[13]],[[14]],[[15]],[[16]],[[17]],[[18]],[[19]],[[20]],[[21]],[[22]],[[23]],[[24]],[[25]],[[26]],[[27]],[[28]],[[29]],[[30]],[[31]],[[32]],[[33]],[[34]],[[35]],[[36]],[[37]],[[38]],[[39]],[[40]],[[41]],[[42]],[[43]],[[44]],[[45]],[[46]],[[47]],[[48]],[[49]],[[50]],[[51]],[[52]],[[53]],[[54]],[[55]],[[56]],[[57]],[[58]],[[59]],[[60]],[[61]],[[62]],[[63]],[[64]],[[65]],[[66]],[[67]],[[68]],[[69]],[[70]],[[71]],[[72]],[[73]],[[74]],[[75]],[[76]],[[77]],[[78]],[[79]],[[80]],[[81]],[[82]],[[83]],[[84]],[[85]],[[86]],[[87]],[[88]],[[89]],[[90]],[[91]],[[92]],[[93]],[[94]],[[95]],[[96]],[[97]],[[98]],[[99]],[[100]],[[101]],[[102]],[[103]],[[104]],[[105]],[[106]],[[107]],[[108]],[[109]],[[110]],[[111]],[[112]],[[113]],[[114]],[[115]],[[116]],[[117]],[[118]],[[119]],[[120]],[[121]],[[122]],[[123]],[[124]],[[125]],[[126]],[[127]],[[128]],[[129]],[[130]],[[131]],[[132]],[[133]],[[134]],[[135]],[[136]],[[137]],[[138]],[[139]],[[140]],[[141]],[[142]],[[154]],[[155]],[[156]],[[157]],[[158]],[[159]],[[160]],[[161]],[[162]],[[177]],[[178]],[[179]],[[180]],[[181]],[[182]],[[183]],[[186]],[[187]],[[209]],[[210]],[[265]],[[266]],[[267]],[[268]],[[269]],[[270]],[[271]],[[272]],[[282]],[[283]],[[284]],[[285]],[[286]],[[287]],[[288]],[[289]],[[297,356]],[[298]],[[299]],[[305]],[[306]],[[307]],[[308]],[[309]],[[310]],[[311]],[[312]],[[313]],[[316]],[[323]],[[324]],[[325]],[[326]],[[335]],[[336]],[[337]],[[339]],[[340]],[[344]],[[345]],[[354]],[[358]],[[359]],[[360]],[[361]],[[362]],[[363]],[[364]],[[365]],[[366]],[[367]],[[370]],[[371]],[[372]],[[373]],[[374]],[[375]],[[376]],[[377]],[[378]],[[379]],[[382]],[[383]],[[384]],[[385]],[[386]],[[387]],[[388]],[[389]],[[390]],[[391]],[[392]],[[393]],[[395]],[[396]],[[397]],[[398]],[[399]],[[400]],[[401]],[[402]],[[406]],[[407]],[[408]],[[409]],[[410]],[[411]],[[412]],[[415]],[[416]],[[417]]]}]}},arcs:[[[25302,52136],[56,31],[1,25],[14,-40],[-9,-28],[-10,16],[-18,-2],[-20,-17],[-14,15]],[[25338,57677],[0,15],[150,-6],[63,0],[160,-13],[93,-2],[37,2],[159,-4],[61,-5]],[[26061,57664],[15,-321],[23,-443],[18,-379],[13,-294],[15,-311],[33,-713],[9,-32],[-4,-36],[13,-45],[5,-149],[10,-72],[17,-69],[3,-82],[9,-36],[-10,-117],[18,-28],[12,-40],[-10,-52],[-11,0],[2,-24],[-14,-21],[-13,-52],[3,-56],[-2,-86],[-7,-86],[-14,-72],[-3,-45],[6,-124],[-2,-44],[19,-87],[3,-120],[-7,-57],[2,-43],[-8,-80],[1,-79],[-7,-21],[5,-51],[-3,-54],[20,-91],[7,-64],[2,-61]],[[26229,53027],[-67,0],[-71,-5],[-110,-4],[-174,0],[-135,7],[-166,-2],[3,-38],[-13,-115],[2,-23],[23,-79],[3,-41],[36,-80],[3,-69],[-15,-102],[3,-55],[20,-51],[-18,-35],[-8,-82],[-9,-15],[7,-24],[-15,-26]],[[25528,52188],[-38,-35],[-40,-24],[-56,-4],[18,41],[12,-26],[35,27],[3,34],[-15,48],[-7,43],[-20,47],[-7,90],[9,74],[-3,76],[-7,48],[-20,32],[-15,-46],[2,-38],[-9,-57],[1,-41],[-6,-32],[-1,-144],[-8,-66],[-15,-4],[1,36],[-20,40],[-15,-16],[-5,23],[-18,-22]],[[25284,52292],[-3,222],[-3,357],[-6,423],[-10,773],[9,283],[21,710],[5,212],[33,1120],[6,160],[19,643],[12,362],[-16,35],[-13,85]],[[8053,88108],[6,38],[18,-11],[-20,-43],[-4,16]],[[7905,86007],[29,90],[15,-17],[-1,-46],[-28,-74],[-15,19],[0,28]],[[7695,85792],[26,-14],[-3,-36],[-23,50]],[[7642,85774],[22,-17],[-7,-33],[-14,14],[-1,36]],[[7602,85813],[20,-2],[-5,-34],[-15,36]],[[7594,84711],[8,45],[20,-13],[-8,-73],[-15,-17],[-5,58]],[[7543,85532],[12,28],[21,-40],[-33,-2],[0,14]],[[7540,87187],[29,79],[8,112],[31,-29],[-28,-64],[-9,-49],[5,-24],[-36,-25]],[[7464,85521],[14,55],[18,-28],[23,-4],[-33,-33],[-22,10]],[[7385,86976],[17,6],[5,-88],[-22,82]],[[7168,84530],[29,89],[15,6],[26,-66],[5,20],[-21,65],[6,54],[9,10],[27,-25],[21,19],[-29,54],[16,56],[29,-31],[15,4],[-14,56],[12,17],[20,-20],[14,45],[-18,6],[-13,33],[20,3],[22,67],[34,18],[-12,35],[-3,68],[27,66],[7,-31],[53,51],[7,-7],[-12,-118],[-13,-18],[-26,-103],[5,-84],[36,11],[2,69],[22,-9],[21,-71],[20,48],[12,-33],[-17,-117],[9,-22],[9,72],[27,47],[7,-25],[-3,-115],[-30,-89],[-32,23],[-11,81],[-21,-26],[13,-99],[-22,-20],[-39,13],[-16,-54],[-8,36],[2,74],[-10,2],[-9,-114],[-8,-24],[-31,-17],[2,-37],[-16,-22],[-45,-13],[-86,76],[-21,-13],[-15,29]],[[7129,86075],[41,28],[18,-43],[-5,-48],[-13,-16],[-29,-3],[-16,59],[4,23]],[[6962,82933],[31,45],[8,-48],[-37,-9],[-2,12]],[[6905,82759],[20,62],[19,20],[11,-11],[25,17],[5,-40],[19,-37],[36,16],[-2,-37],[-19,-31],[-46,-6],[-32,-13],[-32,25],[-4,35]],[[6789,83718],[20,17],[4,76],[18,75],[25,34],[5,44],[15,-8],[34,70],[33,36],[39,-15],[29,1],[0,-112],[26,-57],[4,45],[17,53],[-18,48],[6,25],[53,-14],[-3,35],[-52,44],[-19,-4],[-1,127],[31,61],[29,29],[20,-12],[22,-56],[6,-133],[15,13],[9,77],[-5,55],[35,-38],[7,47],[-37,36],[-21,58],[7,44],[17,-6],[51,-87],[9,4],[30,-41],[11,10],[-31,75],[-20,34],[-7,44],[17,0],[30,-58],[29,12],[41,-29],[7,49],[36,15],[-8,-63],[-39,-106],[-7,-83],[19,-36],[0,95],[16,43],[16,-49],[5,46],[17,32],[5,41],[14,10],[10,-31],[22,72],[17,8],[-4,-45],[28,-16],[-11,-38],[-11,20],[-18,-15],[19,-36],[-5,-49],[19,22],[11,-51],[27,1],[-24,-53],[-16,33],[-24,2],[-15,-48],[16,-9],[-8,-53],[26,-8],[-26,-89],[23,17],[13,47],[5,-35],[47,-4],[-3,-41],[-36,-78],[-13,-110],[-38,13],[-2,39],[-10,-41],[-23,42],[-17,-6],[-23,49],[-15,-13],[-24,19],[-8,-46],[27,1],[15,-17],[45,-87],[-8,-70],[-23,-52],[-11,36],[-19,-50],[-19,30],[-6,38],[-21,18],[-20,-12],[-17,-37],[29,2],[20,-49],[-38,-53],[-34,12],[-4,-20],[25,-34],[14,13],[35,1],[22,-43],[-11,-28],[-24,-8],[-34,-33],[-8,11],[-19,-29],[3,-49],[-27,-50],[-13,20],[7,34],[-23,50],[7,47],[27,62],[-8,24],[-15,-21],[-34,-105],[-3,-24],[-22,32],[-22,-10],[-5,-35],[26,-6],[10,-63],[-16,-61],[-25,-20],[1,-70],[-25,-41],[-12,13],[-23,-82],[-19,-30],[-18,21],[-31,-20],[22,116],[11,11],[26,71],[24,31],[-2,37],[-33,-23],[3,52],[22,102],[29,52],[-7,30],[-15,-45],[-34,-61],[-26,-112],[-24,-59],[-14,-11],[-5,-44],[-19,-30],[-4,84],[-26,58],[-33,27],[3,100],[-4,106],[-13,83],[-11,32],[-23,20],[-27,5],[14,30],[-15,37],[5,23]],[[6782,82633],[27,101],[51,97],[21,-4],[16,-54],[-12,-23],[-55,-73],[-29,-79],[-19,35]],[[6519,81925],[26,41],[5,38],[13,22],[8,-32],[-6,-43],[5,-68],[-7,-33],[-36,13],[-8,62]],[[6240,82171],[5,47],[14,25],[13,-59],[-13,-63],[-19,50]],[[6225,82357],[9,35],[3,-82],[-10,-1],[-2,48]],[[6080,82757],[21,48],[48,-3],[25,-54],[-35,23],[-16,-26],[-43,-6],[0,18]],[[5919,82533],[19,25],[11,-57],[-9,-11],[-21,43]],[[5642,81925],[8,64],[19,12],[27,-58],[-8,-18],[-21,37],[-25,-37]],[[5573,81984],[16,-49],[-27,12],[11,37]],[[5524,80844],[-1,36],[13,24],[20,-25],[-9,-59],[-19,-15],[-4,39]],[[5506,81836],[8,67],[10,10],[11,-62],[-29,-15]],[[5485,80904],[12,85],[-11,46],[31,-2],[4,-99],[-27,-38],[-9,8]],[[5445,80747],[10,13],[16,-42],[-1,-34],[-23,-4],[-2,67]],[[5429,81185],[17,-21],[5,49],[17,46],[5,-22],[-8,-58],[9,-13],[1,-44],[-10,-61],[13,-30],[-7,-19],[-17,22],[-2,-21],[-20,8],[-3,164]],[[5385,80755],[21,25],[11,-30],[-20,-26],[-12,31]],[[5377,81028],[9,39],[23,41],[5,-36],[-23,-38],[-9,-58],[-5,52]],[[5303,81352],[14,11],[5,-42],[-19,31]],[[5265,80882],[33,98],[15,27],[-5,18],[-22,0],[-4,76],[22,50],[27,-44],[-1,38],[-13,52],[30,-13],[18,114],[12,-23],[-2,-43],[-9,-2],[-5,-75],[12,-18],[0,33],[13,1],[-4,-60],[-11,-37],[-22,12],[-1,-45],[-28,-71],[-18,-24],[-31,-141],[-6,77]],[[5246,85264],[5,41],[14,-83],[-7,-25],[-12,67]],[[5238,81460],[22,42],[36,-14],[-1,-78],[-50,12],[-7,38]],[[5213,85252],[8,77],[5,-57],[-13,-20]],[[5096,81334],[16,74],[25,25],[18,-23],[-2,-46],[10,5],[12,47],[15,-32],[26,-26],[26,25],[7,-66],[-9,-60],[-14,40],[-22,3],[-14,23],[-3,40],[-10,-12],[0,-69],[11,-20],[11,-87],[-11,-60],[-36,35],[-10,59],[-18,-18],[-18,-90],[4,58],[-10,43],[0,104],[-4,28]],[[5033,85142],[7,131],[39,52],[21,6],[39,76],[5,-2],[-55,-273],[-22,-32],[-32,-4],[-2,46]],[[4937,81216],[27,3],[-4,-71],[-26,47],[3,21]],[[4863,81217],[10,31],[36,8],[-9,-51],[-37,-10],[0,22]],[[4804,81100],[4,51],[17,20],[25,-19],[12,-29],[35,-42],[6,-41],[-30,44],[-23,-57],[-28,74],[-11,-38],[-7,37]],[[4656,80881],[30,66],[26,-27],[0,-83],[-11,-53],[-13,-21],[-27,58],[-5,60]],[[4587,90956],[19,44],[21,16],[24,-17],[22,6],[9,-37],[-1,-50],[-75,-13],[-18,19],[-1,32]],[[4545,80324],[1,51],[68,-54],[19,-39],[26,0],[18,-28],[-20,-23],[-10,-33],[-22,40],[-17,-9],[-31,37],[-18,-29],[-22,57],[8,30]],[[4451,81463],[14,-1],[-5,-38],[-9,39]],[[3979,80040],[12,22],[16,-18],[-21,-37],[-7,33]],[[3880,79918],[22,34],[33,-11],[24,18],[5,-24],[-9,-45],[-26,-13],[-47,27],[-2,14]],[[3807,79887],[60,24],[9,-35],[-15,-32],[-13,37],[-34,-4],[-7,10]],[[3781,79848],[17,29],[7,-36],[-18,-14],[-6,21]],[[3751,80090],[13,56],[14,-15],[18,18],[12,-21],[-22,-33],[13,-48],[30,0],[1,-41],[-23,3],[-18,-79],[-23,24],[-2,78],[16,35],[-9,20],[-16,-21],[-4,24]],[[3635,79967],[5,36],[28,54],[30,-6],[3,-58],[20,6],[14,-15],[8,-44],[13,13],[-2,-41],[-26,-36],[-12,11],[-18,-45],[-6,28],[-25,1],[-17,-20],[-18,91],[3,25]],[[3608,79782],[7,15],[27,-33],[-32,-11],[-2,29]],[[3261,87028],[35,25],[57,0],[22,-20],[23,10],[9,-24],[21,10],[10,30],[-8,38],[34,68],[37,-11],[0,37],[25,46],[33,-40],[24,32],[23,9],[15,54],[19,-132],[27,-10],[29,34],[29,-20],[27,-40],[-12,-65],[11,-44],[-11,-40],[13,-11],[4,-65],[-13,-38],[21,-54],[2,-58],[21,10],[-11,-34],[2,-48],[-71,-21],[-6,-34],[-20,19],[-26,-18],[-28,-58],[8,-64],[-26,-8],[-23,71],[-38,47],[-57,-4],[-14,35],[-28,18],[-27,58],[-35,42],[-40,19],[-32,72],[-25,10],[-2,70],[-28,97]],[[3147,79003],[17,23],[22,53],[25,5],[37,40],[9,27],[28,-21],[14,19],[8,44],[22,-19],[3,72],[24,-11],[-17,106],[20,32],[8,-16],[15,18],[-18,35],[4,39],[17,23],[29,-1],[9,-68],[15,7],[-7,50],[13,31],[-53,47],[-14,-21],[-32,81],[0,46],[31,92],[42,50],[36,32],[6,-15],[23,13],[16,-63],[-16,-42],[7,-35],[17,-18],[14,53],[6,-33],[15,29],[-1,41],[18,63],[15,-58],[11,26],[20,-62],[-8,-56],[-23,-13],[-24,-70],[-40,-70],[2,-39],[34,54],[58,64],[4,22],[22,22],[7,-19],[-5,-72],[-16,-51],[-26,-34],[-6,-23],[-45,-51],[-30,-20],[12,-46],[-16,-1],[-4,-61],[-16,17],[-7,-70],[-20,25],[-4,-76],[-36,-13],[-22,30],[-10,-31],[-12,23],[-21,-37],[-6,11],[-44,-73],[-3,-31],[-23,4],[-16,-23],[-13,-60],[-28,23],[-9,-45],[-49,40],[-15,36]],[[3070,93368],[7,34],[34,50],[123,108],[63,74],[48,74],[45,56],[42,64],[84,105],[55,56],[146,167],[172,154],[133,90],[87,45],[135,15],[52,-11],[34,-31],[-41,-11],[7,-38],[-10,-71],[-31,-77],[1,-70],[12,-56],[-21,-59],[-49,-33],[-4,-20],[49,7],[42,-151],[40,-3],[36,32],[42,-1],[49,-30],[47,21],[69,15],[32,-58],[50,21],[18,-34],[52,32],[18,26],[84,-65],[18,59],[26,44],[37,150],[18,26],[40,-9],[8,-39],[32,-12],[31,27],[26,0],[-32,110],[-71,55],[-45,24],[-48,-1],[-60,-60],[13,112],[-3,83],[-62,114],[-22,91],[-26,35],[-59,14],[-8,56],[-32,90],[7,50],[27,18],[10,43],[16,-37],[24,28],[27,-89],[36,-91],[24,-10],[-19,-101],[3,-55],[28,-50],[57,-123],[53,-68],[39,18],[30,28],[9,49],[-45,2],[-10,45],[-56,70],[-53,112],[10,52],[0,60],[14,23],[1,57],[33,93],[30,-32],[22,3],[1,28],[-38,55],[-25,-8],[-28,57],[-87,-29],[-32,-37],[-34,0],[-39,-19],[-34,17],[-20,43],[-17,-16],[-21,23],[-4,-51],[-36,39],[-91,42],[-54,31],[-48,15],[-22,30],[1,98],[-22,163],[-52,216],[-20,58],[-36,62],[-91,101],[-145,228],[-21,24],[-51,87],[-50,49],[-54,37],[-51,23],[-29,35],[-19,70],[-54,84],[-45,40],[-81,41],[-42,-6],[37,40],[92,59],[20,46],[3,57],[19,76],[11,236],[-8,117],[179,-31],[68,6],[144,42],[79,28],[77,15],[77,63],[41,65],[29,30],[53,87],[81,192],[21,92],[7,79],[-2,186],[39,233],[84,183],[65,179],[37,77],[129,162],[96,-35],[69,-3],[68,40],[64,53],[93,104],[74,108],[44,86],[114,188],[33,31],[99,63],[7,-47],[55,-44],[82,-12],[68,15],[13,24],[32,-3],[61,17],[73,51],[74,85],[71,121],[36,88],[86,185],[68,76],[12,-68],[47,-38],[39,-2],[39,-20],[16,-82],[27,41],[99,-49],[15,-98],[-54,-71],[-35,-63],[-41,-4],[12,-146],[81,-15],[44,59],[-7,76],[16,8],[31,67],[23,12],[19,-48],[4,63],[-27,43],[35,55],[21,-47],[-3,65],[15,22],[71,-74],[45,-66],[13,-42],[-11,-33],[1,-109],[9,-49],[61,10],[35,-37],[16,-40],[48,62],[30,75],[112,0],[69,42],[53,-11],[40,-34],[84,-2],[61,-32],[45,-35],[9,-34],[-26,-11],[-26,-83],[-26,-30],[14,-93],[25,5],[19,-24],[45,-6],[10,-28],[69,-20],[33,9],[-17,-43],[9,-25],[-53,-26],[-8,-24],[20,-25],[89,6],[72,-41],[14,-33],[28,5],[44,86],[57,15],[24,-18],[10,34],[40,7],[29,-27],[15,-59],[42,27],[38,8],[58,83],[13,-22],[45,20],[21,-15],[34,26],[12,-30],[66,-8],[62,-72],[28,-1],[19,-24],[26,31],[24,-8],[37,-73],[0,-45],[35,-19],[41,51],[1,-63],[26,57],[81,-77],[14,-67],[24,-23],[49,1],[43,-15],[29,36],[23,-73],[48,-10],[29,45],[43,-12],[62,12],[66,-10],[49,-38],[50,-3],[17,28],[65,-95],[28,-8],[32,-54],[45,-16],[20,-30],[45,-12],[17,-26],[27,32],[66,-20],[45,77],[48,6],[9,20],[84,49],[18,24],[86,30],[42,-25],[48,32],[9,-18],[79,-73],[53,-37],[70,-80],[26,-67],[37,-11],[87,-97],[68,-40],[52,-62],[27,-47],[61,-13],[58,-45],[0,-9012],[2,-971],[-1,-889],[130,-95],[17,100],[135,-145],[81,180],[170,20],[1,-39],[-33,-272],[47,-112],[66,-76],[26,-22],[11,-116],[29,-80],[266,-580],[30,-299],[-8,-93],[22,4],[51,108],[111,158],[11,23],[68,8],[32,139],[-2,209],[30,-19],[18,19],[19,71],[-1,39],[-32,47],[45,48],[68,28],[131,158],[62,-115],[28,-88],[11,-2],[24,-70],[0,-104],[-12,-24],[1,-37],[16,-47],[-5,-42],[18,-76],[73,-38],[5,-66],[32,-73],[24,0],[29,-108],[-6,-69],[26,-20],[-6,-46],[22,-71],[114,-152],[32,-119],[46,-120],[50,-110],[-23,-49],[33,-134],[47,-140],[28,-176],[57,-182],[32,-161],[30,-111],[25,-123],[53,-180],[32,-155],[-33,-140],[89,-52],[-21,-205],[71,-81],[-8,-61],[11,-57],[7,-119],[71,14],[33,-77],[82,-115],[23,-48],[85,-47],[44,-115],[44,-33],[11,-116],[23,-15],[27,-36],[40,23],[28,-143],[-3,-90],[-20,-107],[-18,-67],[1,-60],[10,-38],[-5,-118],[12,-104],[11,-46],[6,-133],[12,-63],[-32,-100],[-24,-122],[-1,-33],[-20,-90],[-23,-77],[-37,-97],[-27,-55],[-19,-14],[3,-46],[-19,-23],[-12,40],[-1,56],[-13,24],[-1,-44],[-12,-22],[-18,18],[-13,52],[-4,108],[3,57],[-17,33],[8,103],[-9,6],[-16,56],[-6,64],[30,63],[17,63],[15,-8],[-3,75],[-11,82],[14,122],[-9,190],[-10,67],[-43,164],[-22,55],[-12,48],[-7,-34],[23,-62],[25,-85],[7,-72],[22,-90],[10,-131],[-16,-43],[-2,-79],[7,-92],[11,-62],[-9,-28],[-11,96],[-8,12],[3,-70],[-4,-74],[-36,-102],[-14,-5],[-24,49],[19,73],[11,73],[-3,38],[-25,-10],[10,-72],[-8,-42],[-33,-56],[-7,1],[-23,108],[-11,-45],[-25,54],[-17,18],[-12,50],[-28,68],[0,76],[31,31],[22,51],[-20,47],[7,75],[-9,39],[23,44],[3,24],[-18,1],[-3,74],[7,43],[-41,-17],[6,-45],[11,-16],[-1,-37],[-13,-85],[-1,-60],[-19,-73],[-18,13],[7,-93],[-10,-43],[-24,52],[-25,22],[-9,30],[-12,132],[-16,70],[21,-29],[7,75],[27,37],[12,147],[-8,102],[10,57],[6,-21],[12,42],[7,92],[-21,-11],[-4,-58],[-19,-30],[-21,-61],[13,-113],[-8,-42],[-33,3],[-12,-43],[3,-30],[-17,-14],[-7,34],[4,67],[-19,23],[-12,128],[-32,-17],[0,-48],[-28,118],[-3,123],[8,25],[25,1],[7,66],[13,49],[30,12],[16,-72],[7,63],[-15,168],[9,3],[30,-45],[4,-59],[11,-32],[6,23],[-9,77],[-22,35],[-19,48],[-3,53],[-11,13],[-12,-25],[-10,49],[-23,32],[-5,57],[12,23],[-4,64],[-22,28],[-37,66],[-13,69],[-15,33],[-13,79],[29,43],[-11,58],[-18,-47],[-19,18],[-2,-27],[-23,58],[-31,8],[-11,56],[-27,-28],[-54,76],[-8,75],[15,73],[18,-22],[33,4],[9,48],[-22,3],[-32,36],[2,35],[-18,125],[13,81],[-24,-10],[-15,19],[-16,53],[7,103],[20,2],[16,-36],[33,-24],[63,-89],[5,15],[-25,58],[-20,19],[-66,130],[-3,95],[-17,-15],[-2,-65],[-20,3],[-39,166],[-55,147],[-11,140],[9,65],[-2,52],[27,41],[-13,100],[-8,-2],[-9,-85],[-20,-30],[0,-42],[12,-22],[-13,-57],[-10,10],[-22,-20],[-25,11],[-36,34],[-7,-15],[-35,36],[-40,174],[-4,110],[-42,140],[-13,79],[19,1],[-11,174],[-19,-56],[1,-58],[-35,132],[-8,177],[-8,92],[-21,135],[-32,116],[-36,37],[-5,-16],[28,-38],[4,-41],[17,-39],[20,-131],[-15,11],[-34,140],[-22,36],[-22,10],[41,-92],[13,-85],[17,-29],[-7,-97],[9,-88],[13,-23],[-5,-24],[27,-124],[3,-55],[25,-139],[2,-32],[-14,11],[27,-204],[9,-85],[1,-69],[-12,8],[-1,-61],[12,-64],[-29,23],[-19,32],[-14,-4],[-18,43],[-15,66],[-10,84],[-22,-16],[-33,50],[-27,-37],[-50,-19],[3,81],[-25,16],[-4,19],[30,39],[-10,69],[5,53],[-28,109],[0,36],[-22,84],[13,24],[-2,90],[-19,64],[-12,10],[15,-131],[-12,-125],[-27,-5],[-42,70],[-26,30],[-15,150],[-11,-68],[-13,-22],[-44,54],[-14,-20],[-10,50],[-12,-18],[-3,-54],[45,-35],[7,7],[45,-44],[33,-66],[30,-104],[-11,-44],[-24,-44],[6,-11],[33,44],[7,30],[27,1],[7,-105],[26,-78],[16,-157],[-19,-44],[-43,-32],[-11,10],[9,47],[-18,16],[-12,-17],[7,-39],[-10,-37],[-43,22],[-11,-23],[5,-60],[-8,-35],[-29,5],[-8,78],[-36,35],[3,15],[-28,74],[-17,19],[-29,-19],[-35,70],[-16,15],[-56,107],[-51,75],[-2,50],[-30,70],[-37,64],[-5,28],[4,75],[-15,48],[-55,121],[-30,47],[-96,89],[-36,71],[-43,66],[-98,104],[-42,49],[-91,144],[-30,39],[5,29],[31,89],[24,-14],[-9,-27],[24,3],[0,43],[21,70],[-22,7],[2,77],[-14,116],[7,35],[22,41],[-5,34],[16,30],[-13,56],[-19,-51],[-2,-59],[-25,-21],[-21,-72],[-1,-49],[-107,-100],[-12,-28],[-28,-28],[-95,22],[-67,36],[-26,32],[-123,125],[-17,56],[18,-10],[34,24],[11,71],[-33,131],[3,42],[-20,-17],[-31,44],[6,-50],[45,-120],[-10,-21],[-54,-51],[-39,0],[-49,55],[-61,24],[-32,23],[-81,40],[-45,11],[-59,-4],[-63,-33],[-77,-12],[-80,-28],[-54,-48],[-39,39],[-45,-26],[-64,-120],[-46,-115],[6,65],[36,103],[62,117],[46,2],[-16,66],[-49,48],[-8,25],[-10,-82],[-26,84],[-26,30],[-17,-9],[-16,27],[-71,19],[9,28],[38,23],[-42,33],[-19,-6],[-2,25],[37,156],[-15,15],[-13,-36],[-29,-22],[-1,-57],[-20,-66],[-39,12],[-70,97],[1,31],[-26,36],[-39,26],[-41,-35],[-22,27],[13,29],[31,32],[25,74],[-14,10],[-18,-49],[-79,-93],[-29,-23],[-38,5],[1,-54],[60,27],[11,-24],[2,-53],[-17,2],[-28,-37],[-18,6],[-41,-38],[-41,-77],[-12,2],[-12,48],[47,77],[-37,-12],[-17,11],[-1,54],[23,83],[13,27],[18,2],[20,-31],[24,17],[22,41],[38,13],[57,58],[42,20],[-9,25],[-19,-2],[1,71],[-11,-49],[-19,-20],[1,30],[25,65],[1,21],[-33,-58],[-45,-47],[-19,-3],[-4,30],[63,112],[-6,38],[-29,-60],[-38,-14],[-12,26],[-15,-49],[-20,-14],[-54,13],[-10,58],[27,19],[11,-9],[18,25],[40,16],[29,28],[23,65],[-25,2],[-14,-46],[-23,-19],[-45,-2],[-18,68],[-12,3],[-17,-69],[-21,-8],[-4,59],[16,26],[17,-6],[-11,44],[-3,55],[13,34],[26,114],[96,6],[-7,38],[-91,-5],[-21,-63],[-27,-26],[-21,-77],[-31,-48],[-23,12],[20,36],[-10,113],[-12,53],[18,30],[-22,10],[-14,-23],[-1,-51],[12,-63],[-14,-63],[1,-41],[-13,-15],[-26,48],[-2,-67],[-27,-45],[-21,22],[0,52],[-11,19],[-7,-73],[-9,15],[4,129],[9,62],[-15,11],[-17,-130],[9,-111],[-4,-29],[-19,-9],[1,49],[-27,34],[-7,-46],[16,-65],[-13,-8],[-38,16],[-34,-48],[-28,9],[-5,31],[14,95],[42,151],[1,53],[49,123],[16,81],[-6,18],[-73,-211],[-1,-35],[-18,-58],[-8,8],[-8,69],[-12,-1],[-3,-81],[-11,-54],[-18,-42],[-3,-64],[-16,-68],[-21,27],[-7,-44],[24,-28],[-5,-91],[10,-8],[19,85],[37,6],[11,-22],[4,-91],[-14,-45],[-31,-32],[-22,-76],[1,-63],[21,20],[17,75],[30,44],[30,-89],[0,-44],[10,-43],[-23,-192],[-26,0],[-9,52],[-19,9],[1,-36],[-27,-44],[0,-17],[28,14],[23,-27],[61,-124],[26,-85],[-15,-77],[-13,-26],[-34,-35],[-17,16],[-14,-18],[-29,-6],[9,51],[-26,67],[9,60],[-17,63],[-16,-126],[0,-62],[-12,-41],[-19,69],[-9,-8],[-7,-59],[-18,-33],[-34,50],[-29,-40],[-15,52],[-27,-21],[-22,5],[-9,28],[24,74],[-9,14],[-27,-38],[-29,-175],[-30,-42],[-9,18],[14,55],[13,84],[-15,172],[-16,5],[-5,-28],[1,-81],[13,-53],[-10,-4],[-10,-72],[-17,11],[-8,-20],[-5,-68],[-11,-17],[4,-47],[25,-31],[-6,-74],[-27,32],[-12,127],[8,37],[-11,78],[-17,6],[6,-52],[-8,-49],[5,-196],[-5,-64],[-27,74],[-1,43],[-16,28],[-34,31],[3,-40],[24,-36],[-1,-63],[-69,-158],[-32,-91],[0,-36],[-16,-10],[-9,-86],[-12,2],[-3,70],[34,211],[0,29],[-26,-65],[-19,-111],[-12,11],[-9,142],[-13,-52],[-11,2],[16,-62],[-5,-80],[-39,0],[-8,-61],[-18,-24],[-22,-55],[7,-43],[-15,-41],[-16,-10],[0,54],[-16,36],[-13,-45],[-1,-53],[-22,-17],[-24,31],[-9,-23],[-21,38],[-7,43],[-12,-36],[-21,-27],[6,-35],[-20,0],[-5,-39],[-41,-7],[-6,76],[-22,-14],[-21,22],[3,22],[-21,8],[-3,70],[8,36],[16,18],[5,71],[32,31],[9,-11],[29,51],[33,3],[0,45],[33,21],[34,62],[31,-9],[-11,69],[22,26],[3,32],[37,102],[-13,15],[-24,-22],[-60,-109],[-30,-20],[-18,-39],[-39,16],[-43,67],[-15,40],[-5,46],[18,117],[13,45],[15,133],[27,79],[17,33],[35,99],[11,98],[0,71],[23,32],[5,156],[4,27],[-18,44],[-22,163],[39,35],[5,27],[63,27],[89,164],[92,118],[51,-161],[41,-16],[13,-27],[34,112],[30,8],[36,-45],[19,10],[63,-48],[65,-20],[30,-55],[-1,27],[-22,63],[-29,36],[-38,-14],[-51,63],[-24,-1],[-40,42],[-25,68],[-39,66],[-29,28],[18,55],[24,9],[31,124],[23,18],[8,60],[46,27],[30,45],[-32,50],[-20,4],[-43,-64],[-11,-49],[-19,-14],[-12,-70],[0,-70],[-18,-31],[-25,19],[-36,7],[-74,-17],[-26,43],[-28,16],[-14,-52],[-87,-84],[-39,-154],[-36,-12],[-19,-31],[-33,2],[-39,-63],[-48,-109],[-1,-29],[26,-124],[-2,-23],[-38,25],[-19,-18],[-30,-52],[-21,-92],[-27,-29],[-32,-74],[-6,-73],[8,-34],[19,-24],[-40,-56],[-9,-67],[-13,-4],[-28,-70],[-19,-7],[-9,28],[-25,-11],[4,-68],[16,-13],[-3,-30],[25,-42],[8,-35],[-12,-73],[-19,-47],[-7,-62],[-25,-21],[-4,-22],[-39,-2],[-15,12],[-40,-31],[-18,3],[-19,-60],[23,16],[15,-20],[15,30],[19,1],[7,-50],[-16,-116],[-19,-16],[-26,-51],[-28,37],[5,-34],[-13,-18],[-18,18],[7,35],[2,75],[-22,71],[3,-119],[-9,-55],[-18,-15],[-13,25],[-6,-35],[16,-28],[-9,-53],[-49,-10],[17,-93],[-8,-32],[-27,-21],[-10,8],[-24,-45],[-12,13],[-36,-37],[5,-26],[20,-18],[-23,-32],[-7,-43],[2,-61],[-12,-44],[-24,-35],[24,-26],[-6,-59],[10,-60],[27,63],[59,-23],[16,22],[12,-22],[15,25],[22,-78],[19,-27],[19,13],[23,-34],[18,-53],[8,-53],[15,-22],[-28,-14],[-14,-118],[-12,-39],[-30,-25],[-11,-55],[-24,-33],[-48,0],[-15,-17],[-4,-94],[-12,-33],[-27,1],[-5,-20],[10,-79],[11,-32],[-27,-36],[-20,15],[-2,-45],[20,-46],[-11,-81],[-21,-30],[-6,-33],[9,-24],[-23,0],[-14,-52],[-26,66],[-9,-7],[5,-57],[-4,-40],[-21,-3],[-12,-43],[-17,16],[0,27],[-20,-1],[-4,-39],[-22,-24],[-23,31],[-28,-17],[-35,-69],[15,-52],[-9,-51],[-40,-44],[-28,-2],[1,-53],[14,-25],[-6,-40],[-20,-16],[-36,59],[-10,30],[-20,-20],[-5,-63],[1,-69],[-26,-27],[-3,-97],[-65,-7],[-21,24],[-2,-74],[8,-71],[-20,0],[-12,37],[-21,3],[-4,-39],[-32,-27],[-39,-92],[-15,-12],[-5,-44],[13,-11],[47,64],[4,-50],[-6,-53],[-15,-7],[0,-31],[18,-38],[-10,-38],[-18,-26],[-2,-49],[-26,-44],[-8,-32],[2,-42],[-32,14],[-31,-28],[-4,-70],[-12,-12],[-19,75],[-8,-53],[-27,-42],[-11,-53],[-24,-6],[5,-50],[-17,-27],[-25,43],[-24,67],[-22,-16],[0,-51],[11,-5],[1,-36],[-29,-10],[-13,-67],[6,-32],[18,-6],[5,-52],[-36,-4],[-24,-15],[-17,77],[-51,-38],[-18,-51],[-16,-3],[-9,-49],[19,-1],[27,25],[20,-17],[6,-54],[-16,-47],[-43,44],[-23,11],[-5,-70],[-33,6],[-23,21],[-20,-33],[-27,-88],[2,-44],[47,-20],[32,-36],[-3,-29],[-32,-42],[1,-23],[18,-4],[25,31],[16,-7],[-55,-78],[-23,-63],[1,-52],[-13,50],[-10,-17],[16,-66],[-6,-50],[-7,39],[-10,-2],[-2,-53],[-25,80],[0,95],[-19,-60],[8,-73],[-4,-67],[-24,-6],[3,58],[-35,1],[-16,-80],[-25,-9],[-75,-43],[-29,-22],[-7,-22],[-3,-74],[-17,46],[5,80],[-23,-19],[10,-30],[1,-104],[-16,-71],[6,-46],[-24,-81],[-32,-30],[2,52],[24,4],[-1,40],[-10,4],[2,111],[18,72],[-29,39],[-28,12],[-13,-18],[3,-45],[-12,-21],[-13,22],[-25,-13],[-9,-82],[-35,-74],[-26,-20],[-37,28],[-6,-29],[11,-44],[-20,-81],[1,-31],[-21,-37],[-12,105],[-10,13],[-14,-37],[-11,14],[-18,-31],[31,-13],[-2,-68],[-32,-10],[-16,25],[5,39],[-13,24],[-22,-22],[-19,-90],[-61,-85],[-26,2],[-11,29],[-26,-29],[-13,4],[10,156],[29,96],[1,46],[-15,16],[-31,-2],[-24,-29],[-24,-101],[4,-129],[-40,-140],[-7,-12],[-14,-85],[-21,36],[-19,-12],[13,-65],[10,-17],[1,-56],[-25,-38],[-19,33],[0,45],[-16,15],[-13,-60],[10,-49],[-17,-47],[-14,27],[-32,-8],[-16,18],[-14,74],[32,6],[-21,47],[-8,104],[-21,56],[-11,7],[-16,-33],[-10,-65],[7,-27],[14,0],[18,-70],[-11,-46],[14,-95],[0,-52],[-22,30],[-20,-19],[3,-26],[-17,-30],[-18,-7],[-22,28],[-16,59],[4,36],[-13,56],[-21,37],[-31,-25],[-10,-56],[49,-85],[4,-31],[-50,-111],[-24,-21],[-20,-33],[16,-56],[27,2],[9,24],[22,-50],[13,-83],[-26,6],[8,34],[-17,6],[-10,-28],[-16,22],[-17,62],[-25,-39],[2,-69],[-18,-1],[-28,-50],[-23,18],[-37,10],[-45,-5],[-34,-14],[-41,-40],[-29,-71],[-4,-69],[-29,-53],[-51,-33],[-29,3],[-28,28],[-9,30],[-9,74],[-10,30],[-1,55],[8,29],[44,41],[14,25],[23,110],[19,110],[-1,29],[22,54],[14,13],[25,-46],[38,39],[25,49],[25,0],[37,81],[34,20],[36,-14],[31,5],[1,-37],[28,-72],[9,-61],[-5,-50],[27,24],[-8,52],[2,37],[30,-30],[-15,42],[2,77],[-10,109],[32,46],[26,21],[42,-15],[21,14],[10,69],[-16,4],[4,28],[18,10],[7,38],[18,-4],[26,99],[3,-32],[15,-20],[21,48],[-5,83],[-20,-9],[27,68],[64,206],[33,52],[23,62],[19,13],[27,42],[25,68],[27,14],[35,39],[37,20],[89,70],[30,-9],[10,18],[45,5],[10,-10],[-20,-27],[-1,-47],[14,-2],[-3,-49],[-29,-18],[-3,-85],[38,-98],[11,22],[27,-39],[4,19],[-29,53],[-3,85],[-6,32],[26,-28],[57,3],[7,-86],[23,7],[26,-36],[7,22],[-14,40],[27,15],[-56,89],[-32,36],[1,58],[-16,-7],[39,166],[15,123],[11,56],[23,44],[36,96],[18,13],[40,74],[30,81],[82,96],[41,74],[35,39],[68,106],[17,42],[29,-68],[19,-14],[31,19],[8,59],[-13,47],[-2,46],[15,122],[29,108],[41,130],[24,62],[22,37],[40,41],[21,52],[22,87],[14,15],[26,62],[30,25],[8,-74],[18,-15],[4,41],[-10,105],[-23,-2],[-6,34],[2,95],[9,59],[25,409],[14,42],[38,16],[12,53],[-20,-9],[-34,77],[-3,62],[9,97],[20,106],[27,33],[29,101],[49,102],[4,57],[19,93],[-5,45],[13,33],[-3,43],[13,38],[-20,0],[-11,-32],[0,-38],[-21,-53],[-28,-31],[-38,-27],[-21,-31],[-29,-22],[-5,-21],[-41,-28],[-44,-61],[-79,-73],[-26,5],[-28,53],[-5,73],[-20,49],[-40,38],[2,46],[11,17],[9,167],[-12,-3],[-25,-101],[-41,-54],[-6,-58],[5,-58],[-8,-37],[-14,-12],[-3,-32],[9,-80],[16,-91],[19,-76],[-26,-87],[-28,-21],[-42,32],[-39,161],[-47,208],[-26,73],[-23,42],[-31,13],[16,65],[-16,44],[-25,-9],[-6,-87],[-15,7],[1,-65],[-29,-30],[-24,79],[3,26],[-19,19],[-11,-30],[-16,6],[-1,59],[-22,-18],[-25,61],[18,47],[-17,89],[-44,-52],[-46,-72],[-31,-62],[-20,-95],[-13,57],[-36,-33],[-94,-124],[-10,-41],[0,-49],[-41,-38],[-8,-26],[-22,-10],[-15,-44],[-20,-15],[-4,55],[-29,45],[-54,-20],[-29,33],[49,47],[15,-39],[18,12],[5,50],[25,77],[3,60],[-8,85],[1,81],[-16,74],[5,21],[-16,20],[-29,97],[-20,139],[29,128],[21,23],[24,79],[24,26],[-15,77],[-18,44],[-15,64],[-10,107],[-50,162],[-3,74],[-25,67],[-10,63],[-30,85],[-10,44],[-22,9],[-11,-37],[-2,-74],[6,-37],[-8,-56],[-12,-21],[-27,-10],[-18,21],[-19,-54],[-36,-29],[-50,-68],[-73,-48],[-88,-28],[-75,10],[-51,38],[-13,32],[-13,99],[23,18],[-18,69],[-54,62],[-32,108],[-5,34],[-33,51],[-18,62],[-42,8],[-31,42],[-47,110],[23,32],[24,55],[-2,36],[-24,6],[-38,-54],[-48,10],[-16,51],[11,32],[32,1],[57,128],[10,-4],[17,45],[-16,34],[-4,41],[32,24],[-27,7],[5,70],[27,78],[-17,3],[-18,-48],[-40,42],[-6,40],[22,49],[27,-6],[19,23],[0,45],[-17,-21],[-30,32],[-16,54],[2,23],[-20,7],[-13,35],[-10,-14],[-12,-99],[-14,-6],[-38,16],[-10,21],[-10,66],[1,129],[-11,19],[-43,10],[-18,37],[-10,98],[42,44],[6,38],[-17,46],[-30,31],[-45,-27],[0,-46],[-21,23],[-9,88],[8,147],[6,11],[-2,-107],[92,47],[0,19],[-35,20],[-20,28],[-24,82],[2,18],[36,19],[55,-8],[33,25],[-29,134],[-4,46],[3,84],[21,77],[101,278],[4,29],[27,77],[29,61],[5,70],[18,67],[21,34],[19,-4],[9,23],[-11,115],[26,188],[18,70],[38,61],[-18,24],[4,22],[58,133],[60,46],[48,11],[42,-45],[43,-11],[32,-84],[24,-6],[6,-26],[54,-88],[73,24],[61,124],[4,47],[44,29],[63,172],[23,89],[23,39],[-9,58],[14,5],[28,-28],[22,-5],[13,-77],[52,0],[45,20],[26,-20],[77,28],[48,38],[9,51],[56,128],[38,135],[0,71],[-12,81],[-23,95],[-17,121],[-1,118],[-5,52],[-71,157],[-9,32],[-41,28],[-27,1],[10,97],[27,33],[14,-25],[35,-20],[51,7],[-10,45],[31,10],[41,81],[2,114],[-42,122],[-47,68],[-25,48],[-1,-32],[-27,-48],[-20,-86],[-42,-30],[-42,42],[-59,-93],[-81,-34],[-18,-71],[-85,-103],[-21,-70],[-5,-99],[-44,-70],[-4,93],[-15,110],[-23,50],[-28,-3],[4,34],[-32,46],[-9,36],[-38,-60],[16,-45],[21,-7],[16,-39],[24,11],[2,-48],[-22,-81],[-19,-11],[-22,82],[-55,76],[-41,33],[-64,13],[-41,-27],[-27,12],[-52,3],[-45,-22],[-108,-112],[-58,-17],[-111,74],[-94,45],[-47,14],[-88,40],[-49,79],[-20,96],[1,74],[20,36],[-6,64],[-28,63],[-45,56],[-1,59],[-46,64],[-10,56],[39,-33],[33,3],[9,27],[24,15],[16,32],[-3,55],[35,61],[-38,63],[-19,9],[-29,-16],[-39,15],[-64,52],[-104,21],[-49,52],[-38,63],[-55,60],[-46,30],[-15,93]],[[2812,78476],[27,27],[-1,59],[18,0],[10,36],[0,57],[21,33],[5,57],[-10,16],[11,87],[46,106],[16,-26],[27,16],[28,-3],[-9,65],[-12,5],[9,77],[-6,26],[18,76],[40,67],[54,37],[29,-53],[31,1],[2,-23],[-21,-74],[5,-60],[-55,-95],[-65,-72],[-19,-66],[-1,-36],[-28,-81],[-15,-58],[-25,-10],[-28,-71],[-15,-17],[-4,-51],[-15,21],[-27,-49],[-54,-69],[13,45]],[[2752,78371],[29,49],[-1,-45],[-26,-25],[-2,21]],[[2615,78610],[4,50],[19,16],[4,-44],[-9,-45],[-12,-8],[-6,31]],[[2607,82847],[50,-13],[29,5],[10,-14],[-27,-68],[-23,4],[-9,46],[-20,10],[-10,30]],[[2611,78728],[8,-39],[-15,13],[7,26]],[[2547,78457],[17,17],[23,-3],[-2,19],[27,23],[19,-10],[10,-25],[-17,-105],[-30,50],[-25,-29],[-19,14],[-3,49]],[[2517,78521],[8,26],[23,-16],[1,-31],[-14,-31],[-13,16],[-5,36]],[[2497,78313],[4,72],[33,-18],[-7,-57],[-30,3]],[[2431,83489],[9,43],[22,15],[12,-10],[29,22],[-2,-56],[-32,-62],[-5,31],[-33,17]],[[2316,78170],[5,42],[40,72],[31,-27],[1,-27],[-13,-58],[-19,2],[-17,-26],[-15,-48],[-15,21],[2,49]],[[2228,78152],[9,-32],[-16,2],[7,30]],[[2183,78046],[17,42],[16,-37],[-12,-55],[-19,-1],[-2,51]],[[2036,90914],[2,37],[25,87],[-3,75],[8,18],[-5,57],[21,3],[8,-42],[-4,-48],[12,-34],[64,-57],[77,-48],[55,-20],[58,87],[58,58],[58,-14],[29,-69],[23,-15],[15,-104],[-2,-38],[53,-56],[56,-14],[22,-32],[9,-35],[36,-20],[88,-20],[14,6],[102,-55],[-27,-131],[-22,-43],[-51,35],[-43,-1],[-50,-29],[-44,-89],[-10,-61],[1,-53],[-20,-46],[-30,22],[3,24],[-26,119],[-32,62],[-50,60],[-39,-5],[-11,69],[-17,55],[-54,80],[-86,69],[-65,11],[-47,-44],[-18,-58],[-36,-34],[-28,33],[-49,36],[-24,83],[-7,56],[3,73]],[[1818,77819],[15,59],[33,49],[12,-2],[27,-39],[-1,-41],[-28,-51],[-32,-27],[-22,-1],[-4,53]],[[1695,87369],[6,69],[25,52],[11,-3],[-4,-58],[12,-54],[33,-70],[48,-63],[22,-14],[25,13],[57,-94],[-21,-19],[-9,37],[-51,8],[-26,-17],[-33,46],[-58,136],[-37,31]],[[1687,87598],[8,-5],[5,-84],[-20,42],[7,47]],[[1421,77626],[35,0],[33,-31],[9,30],[14,-2],[33,27],[25,-1],[-6,-28],[10,-29],[8,15],[31,-24],[23,16],[10,-11],[32,11],[5,-12],[41,-7],[-25,-23],[-16,6],[-14,-22],[-44,-1],[-22,-35],[-8,16],[-16,-19],[-19,4],[-18,25],[-52,3],[-9,-15],[-29,19],[-10,49],[-11,-1],[-10,40]],[[1064,77503],[55,37],[11,-28],[25,50],[3,-22],[19,38],[5,29],[18,-29],[27,8],[8,34],[6,-24],[35,37],[1,42],[44,10],[-13,41],[43,-5],[13,34],[-1,36],[-32,7],[-23,29],[5,26],[21,-16],[12,36],[-2,39],[38,46],[33,-32],[22,-76],[1,-31],[-21,-85],[-34,8],[-4,-43],[33,-79],[-3,-24],[-15,21],[-17,-10],[-4,-27],[-16,-4],[-20,23],[-19,-95],[-25,31],[-64,-55],[-13,29],[-29,12],[-23,-6],[-13,-35],[-22,-8],[-33,6],[-32,25]],[[1013,77451],[17,17],[7,-29],[-22,-4],[-2,16]],[[1005,77685],[16,-19],[-11,-12],[-5,31]],[[949,77433],[5,9],[40,-3],[1,-26],[-19,3],[-22,-24],[-5,41]],[[890,77452],[11,14],[28,-1],[15,-90],[-16,5],[-17,49],[-21,23]],[[821,77563],[14,45],[26,-9],[23,-80],[-20,-38],[15,-56],[-13,-34],[-18,-2],[-18,22],[3,57],[-7,2],[-8,77],[3,16]],[[811,77269],[5,56],[12,10],[10,-27],[19,10],[-12,22],[34,30],[10,-23],[-2,-55],[-23,0],[13,-52],[-29,29],[2,-40],[-12,12],[-5,-39],[-7,45],[-15,22]],[[601,77040],[11,67],[15,16],[7,36],[-13,66],[4,27],[32,7],[7,59],[-13,69],[10,45],[15,4],[18,-20],[19,59],[9,-14],[3,-74],[-20,-29],[-2,-50],[13,-20],[19,4],[31,26],[30,5],[7,-64],[-7,-88],[-15,-12],[-36,18],[-13,-52],[-18,-12],[-13,-41],[-23,31],[-6,-25],[6,-48],[-11,17],[-13,-26],[-4,55],[-14,29],[-19,-108],[-14,11],[-2,32]],[[469,77371],[13,9],[2,-26],[-14,-17],[-1,34]],[[402,77131],[18,33],[24,-17],[26,34],[50,39],[21,43],[2,128],[12,16],[16,-10],[15,-44],[-26,-98],[5,-86],[-7,-38],[-33,-31],[-36,61],[-27,-33],[-40,-10],[-1,-43],[-10,5],[-9,51]],[[257,77332],[8,29],[29,17],[39,-5],[11,-42],[-2,-30],[19,-32],[15,17],[18,-17],[33,34],[-10,-40],[-41,-32],[-12,-71],[4,-31],[-12,-31],[-8,16],[-9,-44],[8,-57],[-8,-5],[-9,56],[-14,-24],[-16,48],[-13,8],[4,28],[41,25],[-3,64],[-20,1],[-13,34],[-39,66],[0,18]],[[130,77016],[32,-12],[-3,-18],[-27,7],[-2,23]],[[81,76979],[27,-17],[7,-23],[-25,5],[-9,35]],[[77,77233],[14,52],[20,-35],[0,-61],[-19,-10],[-15,54]],[[43,76751],[8,25],[10,-22],[5,-50],[-12,-2],[-10,-32],[-1,81]],[[3,76640],[12,18],[6,-59],[-18,-25],[0,66]],[[99917,77451],[12,-2],[12,35],[26,14],[31,-61],[-9,-68],[-24,-42],[-12,-5],[-25,29],[-11,29],[0,71]],[[99678,77049],[5,24],[26,-29],[19,3],[27,-24],[4,-31],[24,-42],[27,-78],[25,-26],[11,-57],[44,-11],[21,-33],[-18,-19],[-9,14],[-29,-16],[-15,41],[-41,72],[-30,101],[-30,43],[-17,-8],[-22,25],[-22,51]],[[99628,77446],[9,11],[20,-16],[11,-33],[-14,-49],[-10,-4],[-16,91]],[[99570,77271],[19,-7],[21,-67],[-22,15],[-18,59]],[[99530,77510],[7,22],[17,-22],[3,-34],[-17,-20],[-10,54]],[[99282,77351],[24,27],[15,50],[39,26],[6,63],[16,96],[11,18],[20,-52],[-12,-32],[-8,-57],[-20,-53],[21,-18],[0,-35],[-13,-10],[-42,17],[-17,-31],[-4,-70],[-11,2],[-25,40],[0,19]],[[98911,77903],[26,-13],[-18,-27],[-8,40]],[[98408,78327],[22,-8],[3,-26],[-24,15],[-1,19]],[[98376,78346],[14,-8],[0,-29],[-14,37]],[[98352,78374],[20,-27],[-12,-2],[-8,29]],[[98210,77943],[6,31],[19,27],[23,-6],[26,67],[41,5],[-17,-40],[-5,-37],[10,-104],[-21,0],[-17,52],[-35,-19],[-30,24]],[[97960,78551],[47,86],[33,11],[100,-20],[29,-63],[24,-15],[35,-94],[2,-18],[-35,-8],[-21,38],[-17,-71],[-9,-13],[-38,15],[-26,-41],[-27,32],[-12,40],[-3,63],[-32,56],[-35,-24],[-15,26]],[[13347,81071],[9,23],[10,-28],[-5,-52],[-16,34],[2,23]],[[13279,80906],[61,56],[7,-80],[13,-14],[-20,-68],[-24,-1],[-33,63],[-4,44]],[[13241,80901],[26,65],[8,-25],[-26,-58],[-8,18]],[[13234,81005],[16,62],[-2,43],[13,20],[-14,43],[-2,70],[5,39],[11,9],[19,-32],[5,-35],[13,-7],[17,-40],[0,-165],[-9,-34],[-27,-2],[-13,32],[-23,-36],[-9,33]],[[13172,81388],[4,66],[6,1],[52,-135],[-12,-28],[-1,-68],[-15,-111],[-23,74],[-9,113],[-2,88]],[[12999,82714],[4,48],[9,-30],[-13,-18]],[[12979,82569],[2,29],[21,40],[21,-38],[-1,-22],[-24,-37],[-19,28]],[[12954,82690],[20,33],[17,52],[-5,-50],[-18,-75],[-14,40]],[[12888,80934],[18,6],[-4,-53],[-14,47]],[[12850,82395],[7,53],[10,-24],[22,-97],[10,-68],[-13,-15],[-21,61],[-9,4],[-6,86]],[[12838,82543],[18,86],[21,30],[30,-20],[24,22],[28,-42],[4,-36],[-18,-53],[6,-82],[-16,-19],[-44,-22],[-23,65],[-24,29],[-6,42]],[[12768,81460],[21,27],[-2,-46],[-16,-11],[-3,30]],[[12700,80811],[9,0],[10,-128],[-15,29],[-4,99]],[[12674,81692],[9,23],[1,61],[20,-30],[1,-32],[-22,-72],[-9,50]],[[12659,81749],[12,9],[-1,-36],[-11,27]],[[12637,81497],[8,92],[8,25],[32,-9],[10,-16],[-2,-35],[-16,-42],[8,-16],[20,40],[5,43],[13,-19],[19,68],[19,-2],[16,-39],[-5,-60],[-15,-35],[-19,15],[-13,-35],[17,-22],[-2,-37],[-22,-21],[-22,-50],[-9,-97],[-23,78],[17,61],[-1,78],[-29,51],[-14,-16]],[[12629,82086],[11,22],[24,102],[28,10],[11,20],[-22,13],[-1,47],[15,-22],[9,34],[-36,62],[14,29],[-10,86],[23,49],[45,-24],[71,-17],[24,-82],[11,-73],[-5,-69],[14,-6],[13,-68],[17,-48],[17,5],[57,-119],[12,-52],[33,-111],[3,-126],[29,-29],[8,-82],[8,-32],[31,-50],[13,-58],[-10,-6],[-19,46],[-75,98],[-3,-31],[-23,-74],[11,-8],[14,47],[8,-19],[23,10],[5,-37],[20,-13],[10,-29],[-38,-14],[8,-36],[32,21],[14,-52],[16,-14],[11,-87],[8,-9],[-12,-49],[-20,9],[2,-32],[22,-22],[11,8],[3,46],[14,36],[9,-21],[5,-91],[-15,-34],[4,-36],[-22,-94],[-29,-40],[18,-23],[27,59],[15,-10],[0,-203],[7,-72],[-20,-105],[-37,-9],[-26,48],[-14,-19],[-17,38],[-1,37],[-38,-2],[17,53],[27,-10],[1,39],[-19,42],[-19,13],[-35,78],[9,38],[10,115],[-15,9],[-11,-58],[7,101],[8,28],[-11,39],[-5,-55],[-27,-21],[14,-103],[-18,-58],[-47,56],[-4,35],[17,58],[-18,100],[-20,-5],[-10,50],[-21,3],[12,-78],[18,-65],[6,-72],[-7,-36],[15,-17],[20,-145],[24,-26],[-4,58],[24,18],[28,-65],[4,-124],[-14,-16],[-18,74],[-7,-7],[23,-170],[-29,0],[-26,32],[-2,60],[-20,40],[-49,177],[-10,22],[-2,84],[-12,10],[-8,61],[29,8],[-27,33],[3,119],[-33,-28],[-10,26],[-18,-19],[-9,42],[6,84],[33,30],[11,-63],[17,20],[-13,29],[6,39],[14,20],[14,-14],[22,44],[-29,96],[14,12],[-16,32],[4,66],[-24,-21],[-49,87],[-4,28],[16,-1],[-9,50],[3,35],[-27,18],[6,-57],[-10,-13],[-32,39],[-16,58],[12,52],[28,14],[37,-54],[28,35],[-17,67],[-18,16],[-12,-20],[-9,17],[8,30],[-2,42],[7,63],[-5,16],[-13,-47],[-27,-65],[-22,-33],[-23,38],[-5,45]],[[12611,83642],[15,25],[14,-33],[-27,-31],[-2,39]],[[12594,82026],[14,28],[11,-6],[4,-52],[-8,-48],[-10,3],[-11,75]],[[12476,82024],[28,22],[1,-43],[31,33],[8,75],[7,-2],[-9,-101],[-22,-24],[-20,-56],[-18,17],[8,30],[-14,49]],[[12463,83115],[17,52],[16,17],[7,33],[33,-1],[1,26],[28,-40],[11,-83],[18,-54],[31,-2],[9,-21],[10,26],[-29,44],[-13,80],[-2,55],[-35,79],[11,53],[34,26],[51,-37],[25,-9],[47,-44],[31,-20],[7,14],[57,-11],[30,-74],[14,-82],[3,-56],[9,-23],[23,-11],[16,-48],[5,-46],[33,-52],[9,-64],[15,-34],[-31,-38],[-20,-42],[-26,-24],[-16,16],[-31,4],[-43,24],[5,-48],[-23,-51],[-40,25],[-19,29],[-12,-47],[-15,-20],[-25,-2],[-17,15],[-3,87],[-11,32],[-30,-64],[13,-29],[-2,-90],[-23,-3],[-2,-31],[10,-51],[-11,-51],[-2,-62],[-17,-50],[4,-39],[-9,-64],[-10,-11],[-25,15],[-14,-103],[-15,19],[-12,52],[-7,63],[-1,109],[-10,87],[2,75],[14,48],[-3,57],[15,101],[-12,28],[-22,-1],[5,77],[-20,56],[-8,75],[2,43],[-5,91]],[[12311,84926],[43,-96],[7,-47],[14,-9],[8,-130],[19,1],[21,38],[11,-23],[20,-2],[21,-29],[54,13],[-3,-89],[25,-75],[2,-52],[21,-52],[14,-87],[17,-55],[2,-142],[21,-60],[4,-65],[-9,-2],[-5,47],[-38,120],[-10,115],[-19,37],[-9,53],[-21,0],[26,-101],[4,-34],[-13,-23],[35,-121],[23,-49],[-2,-62],[24,-113],[-19,6],[15,-102],[0,-27],[-25,-62],[-20,26],[-17,-1],[4,-34],[-21,-104],[-38,-83],[-24,-25],[-2,-33],[-31,-65],[-29,3],[-9,89],[-4,135],[21,80],[15,23],[-16,31],[-1,69],[14,6],[12,-39],[6,23],[-40,141],[-1,58],[-18,60],[-5,82],[-11,43],[8,125],[-12,81],[-3,95],[-11,91],[4,44],[-20,93],[-17,45],[-9,77],[-6,101],[3,42]],[[12292,85061],[35,-45],[27,-125],[-10,-5],[-22,115],[-23,19],[-7,41]],[[12202,85643],[15,-71],[0,-46],[-10,29],[-5,88]],[[12106,83714],[16,11],[1,26],[28,65],[-4,68],[36,64],[18,-12],[25,-85],[15,10],[18,-58],[23,-24],[38,4],[22,-14],[12,-79],[-2,-49],[-20,35],[-19,-2],[-1,-22],[21,-25],[11,-46],[29,-278],[-1,-71],[12,-56],[0,-58],[18,-142],[5,-107],[-5,-112],[-11,1],[8,-81],[3,-240],[-9,-111],[-11,6],[-28,70],[-10,86],[-21,59],[-40,212],[4,48],[22,23],[-18,30],[-26,-31],[-14,88],[-11,-15],[-17,42],[-12,55],[2,34],[-14,-22],[-10,24],[-30,2],[-19,96],[19,3],[10,-29],[10,13],[-3,105],[19,53],[6,38],[-39,86],[24,63],[-4,22],[14,35],[4,53],[-33,16],[-21,-28],[-14,79],[-26,72]],[[12097,84881],[16,18],[19,-7],[16,-52],[-29,-6],[-22,47]],[[12062,83572],[4,48],[-3,66],[25,9],[34,-62],[15,-74],[12,-19],[17,30],[23,-10],[-16,-82],[-24,-14],[-27,-161],[-12,6],[-40,-30],[-9,8],[3,102],[25,47],[1,50],[-22,4],[2,29],[-13,31],[5,22]],[[11978,85151],[9,14],[7,-59],[-16,45]],[[11978,84786],[30,41],[3,-53],[-16,-19],[-17,31]],[[11861,84371],[5,174],[16,33],[8,-9],[29,60],[3,51],[-12,92],[32,-2],[0,-54],[12,-60],[28,61],[29,-6],[17,-20],[17,49],[36,50],[14,-55],[41,-30],[25,-53],[-12,-78],[-31,-76],[4,-49],[12,-5],[8,60],[32,108],[15,12],[34,-55],[46,-10],[11,-32],[29,-16],[15,-79],[-4,-67],[-22,-44],[-37,49],[-10,-8],[12,-40],[18,-18],[33,-75],[-21,-29],[-25,-2],[4,-28],[21,-13],[23,24],[7,-95],[14,-69],[12,-143],[-14,-42],[-42,-11],[-17,12],[-44,95],[-65,99],[-27,50],[-22,-26],[-9,29],[-4,-32],[30,-55],[22,-8],[-21,-31],[6,-25],[0,-72],[-9,-50],[-31,-87],[-51,47],[-1,38],[-42,85],[-20,90],[-12,-38],[-19,43],[-10,79],[4,25],[-18,86],[2,24],[-16,57],[-26,30],[-7,49],[-25,36]],[[9331,87212],[28,-14],[12,-44],[-27,-9],[-13,67]],[[9232,87245],[16,14],[58,-26],[-3,-31],[-21,-10],[-50,53]],[[8867,87809],[26,35],[27,3],[15,-16],[-18,-53],[-50,31]],[[8817,87545],[4,86],[28,16],[21,-89],[-11,-44],[-37,-10],[-5,41]],[[8816,87079],[2,14],[43,47],[1,-36],[-40,-59],[-6,34]],[[8698,86532],[8,21],[3,71],[23,12],[-3,42],[21,54],[16,7],[-3,41],[30,34],[9,30],[43,75],[22,118],[27,44],[-3,40],[10,71],[27,34],[4,-43],[24,2],[-17,-51],[9,-17],[24,28],[8,-22],[-11,-37],[-62,-118],[-49,-129],[-8,-80],[-33,-60],[30,-57],[-19,-42],[-23,-8],[-22,15],[-17,-57],[-9,6],[-45,-47],[-14,23]],[[8692,87068],[44,270],[11,-41],[12,13],[-4,66],[44,84],[0,-54],[-12,-32],[-3,-82],[-20,-37],[20,-42],[-24,-97],[2,-46],[-17,-104],[-24,45],[-3,25],[-25,7],[-1,25]],[[8672,87628],[15,31],[17,-19],[17,-48],[-24,-45],[-25,81]],[[17950,55027],[5,31],[24,-13],[25,26],[-2,40],[18,63],[1,79],[-15,136],[-16,8],[-7,-13],[-13,25],[-3,-17],[-14,68],[7,67],[2,142],[-15,41],[9,65],[-8,51],[19,9],[28,138],[9,24],[-4,46],[4,110],[8,12],[-2,74],[-7,64],[1,51],[6,6],[-2,55],[-7,20],[28,116],[0,69],[8,28],[23,29],[10,40],[17,21],[1,19],[25,65],[-1,49],[-11,54],[-14,19],[-31,100],[-13,7],[2,58],[-26,239],[-23,63],[-7,69],[-16,57],[1,147]],[[17974,57684],[6,95],[-10,22],[21,43],[0,72],[-9,178],[-6,65],[-11,47],[-4,58],[6,36],[0,103],[-9,38],[3,39],[-7,31],[3,51],[-5,59],[4,56],[9,24],[-10,31],[-12,97],[4,43],[-7,80],[25,31],[9,29],[5,-14],[12,25],[17,-1],[2,-25],[24,19],[13,-3],[18,-71],[-2,-28],[21,-51],[24,11],[24,183],[5,15],[1,230],[-2,272],[0,437]],[[18136,60011],[200,0],[222,0],[313,1],[97,1],[160,2],[6,-7],[235,0],[162,1]],[[19531,60009],[0,-1691],[-1,-237],[1,-30],[0,-925],[-1,-608],[1,-145],[-1,-113],[0,-2847]],[[19530,53413],[-64,2],[-201,-1],[-128,-1],[-172,0],[-359,476],[-212,269],[-102,136],[-368,471],[5,66],[-5,17],[1,60],[8,16],[17,103]],[[19530,64667],[242,0],[154,2],[327,0],[66,-5],[137,-1],[242,1],[7,2],[217,2]],[[20922,64668],[282,1],[135,0],[140,0],[0,-1163]],[[21479,63506],[1,-381],[0,-434],[1,-193],[0,-1270],[1,-137],[0,-1089]],[[21482,60002],[-183,3],[-22,5],[-62,1]],[[21215,60011],[-204,-3],[-169,-5],[-184,0],[-34,2],[-301,-1],[-186,-2],[-2,9],[-152,-1],[-230,-1],[-222,0]],[[19531,60009],[0,583],[1,36],[0,738],[-5,129],[0,517],[2,216],[0,1857],[1,46],[0,536]],[[27414,45876],[14,60],[5,-33],[-14,-44],[-5,17]],[[27386,45813],[9,39],[11,4],[-5,-33],[-15,-10]],[[27310,45701],[52,90],[6,-30],[-45,-80],[-13,20]],[[27118,45540],[19,106],[20,46],[25,43],[3,23],[36,66],[38,-67],[4,-52],[14,-43],[-4,-11],[-40,-48],[-3,27],[-27,-5],[-3,-24],[-46,-73],[-36,-15],[0,27]],[[27062,45510],[39,24],[-10,-43],[-17,-14],[-13,8],[1,25]],[[27020,45533],[6,35],[12,-10],[-5,-41],[-13,16]],[[26992,48019],[5,-18],[19,-211],[8,-28],[17,-26],[7,17],[14,-21],[-14,-31],[-9,-1],[-21,50],[-7,28],[-13,115],[-6,76],[0,50]],[[26806,45614],[15,13],[4,-23],[-20,-10],[1,20]],[[26322,51623],[29,47],[0,-29],[-16,-37],[-11,-6],[-2,25]],[[26229,53027],[6,-79],[11,-52],[2,-83],[6,-75],[14,-48],[136,-25],[261,-56],[206,-51],[135,-34],[-5,-14],[2,-57],[7,-26],[-3,-71],[11,-76],[37,13],[0,75],[6,47],[3,119],[-12,91],[4,60],[-1,49],[8,16],[-4,24],[12,-8],[9,59],[15,-7],[7,-33],[17,-3],[18,-28],[7,-25],[33,-19],[17,-18],[14,15],[13,-19]],[[27221,52688],[4,-13],[-4,-113],[3,-92],[-4,-22],[10,-25],[4,-95],[1,-113],[23,-389],[13,-129],[0,-51],[28,-302],[32,-288],[29,-229],[65,-412],[38,-200],[4,-63],[10,-83],[-18,-57],[-4,-54],[-1,-87],[5,-130],[6,-96],[16,-145],[35,-269],[15,-166],[5,-84],[5,-29],[11,-140],[17,-152],[9,-66],[6,-94],[13,-109],[17,-258],[-1,-235],[-7,-175],[-5,-210],[-3,-37],[-8,-286],[0,-169],[-3,-80],[-7,-81],[0,-44],[-6,23],[3,51],[-5,20],[-16,-25],[-10,-102],[-6,-17],[-1,-64],[-8,-40],[-2,-78],[5,-33],[-2,-46],[6,-16],[-8,-53],[-8,-13],[-1,-49],[21,39],[25,194],[7,41],[0,-41],[-8,-83],[-34,-222],[-9,-82],[-25,-93],[-34,-139],[-24,-66],[-3,12],[34,122],[14,40],[7,53],[3,81],[5,32],[-6,23],[-9,-11],[-7,26],[-6,-18],[-34,-22],[-14,-41],[-9,-6],[-18,45],[-18,-13],[-7,-41],[-27,-18],[-23,-6],[-17,52],[-8,68],[2,79],[6,60],[6,-3],[-2,49],[-12,97],[-11,47],[2,34],[-8,62],[-11,32],[-5,85],[-6,18],[-11,-15],[-9,101],[-24,31],[-1,16],[-21,38],[-21,55],[-11,-13],[-8,-39],[-16,126],[-15,148],[-5,173],[-7,109],[-7,57],[-28,113],[-11,9],[-1,52],[-12,23],[0,-64],[-14,-11],[-1,66],[-8,113],[-12,51],[3,24],[13,-3],[9,-39],[11,159],[-2,86],[-8,14],[0,40],[8,10],[-4,31],[-12,-4],[-5,-33],[-11,-11],[8,-148],[-9,-20],[-20,-11],[-5,-50],[0,75],[-6,50],[-17,94],[-26,177],[-9,94],[-19,140],[-27,149],[-14,56],[-4,58],[-10,61],[10,-19],[1,-30],[15,30],[10,72],[12,28],[13,98],[13,34],[-2,23],[14,26],[11,84],[-5,75],[-22,21],[5,-113],[-22,30],[6,34],[-1,65],[-5,39],[-38,71],[1,-65],[-11,-28],[11,-37],[16,-6],[11,-110],[-10,-42],[0,-62],[-4,-27],[-21,-6],[-3,-32],[7,-38],[-9,-30],[-4,40],[2,83],[-14,85],[-9,26],[-8,58],[6,182],[-5,66],[-4,164],[9,1],[0,-93],[4,-89],[9,-7],[-4,153],[9,37],[1,41],[8,44],[0,38],[7,50],[0,39],[9,47],[1,91],[5,83],[-6,66],[2,56],[-13,29],[4,42],[-9,109],[12,64],[-21,110],[3,31],[-8,55],[-10,3],[5,33],[-1,49],[-7,13],[-47,23],[-9,-51],[-7,-4],[-9,100],[3,45],[-14,32],[-12,9],[-2,63],[-7,58],[-11,45],[-15,6],[-5,44],[-24,48],[0,111],[-4,67],[-12,7],[-10,38],[-13,17],[-13,61],[0,42],[-9,35],[-5,51],[-14,44],[-28,62],[-40,72],[-26,75],[-11,-2],[-26,-33],[-31,29],[-1,-35],[-26,-69],[9,-99],[-3,-28],[-10,-7],[-15,15],[-5,26],[-24,-22],[-31,-73],[-65,-132],[-6,2],[7,44],[-10,12],[-7,-39],[-15,-41],[-36,1],[13,-49],[2,-38],[16,-22],[30,53],[29,40],[27,84],[3,-13],[-24,-82],[-28,-43],[-35,-66],[-12,-14],[-10,33],[-16,22],[-23,51],[-19,7],[-17,-28],[-13,94],[-5,119],[8,42],[0,-105],[6,-91],[7,-22],[10,39],[1,97],[-17,105],[-18,60],[-17,13],[-15,40],[-16,71],[-27,47],[-22,69],[-41,95],[-47,76],[-58,70],[-31,20],[-62,18],[-33,-5],[-47,-25],[-65,-49],[-32,-15],[-7,10],[-63,-51]],[[26061,57664],[39,-2],[136,6],[183,1]],[[26419,57669],[196,-2],[-1,6],[143,10]],[[26757,57683],[-3,-72],[-31,-68],[-26,-105],[1,-36],[-8,-26],[3,-64],[30,-82],[17,-7],[23,-104],[23,-51],[28,16],[8,-12],[8,-64],[3,-64],[12,-30],[3,-50],[11,-52],[0,-51],[7,-68],[12,-24],[8,-67],[14,-48],[11,-101],[9,-1],[19,-72],[29,-52],[29,-98],[4,-61],[9,-41],[1,-40],[13,-38],[12,-2],[17,-37],[18,-93],[15,-26],[4,-24],[-7,-43],[4,-39],[-4,-32],[28,-82],[-4,-30],[13,-42],[11,5],[-2,-41],[8,-45],[27,-55],[9,1],[16,-58],[19,-43],[-5,-67],[12,-64],[2,-49],[9,-15],[0,-85],[4,-32],[-5,-45],[6,-8],[4,-48],[-5,-41],[12,-48],[25,-26],[0,-23],[23,-81],[-4,-34],[15,-105],[4,4],[6,-76],[-10,-44],[11,-67],[-4,-26],[5,-62],[21,-34],[11,17],[22,-71],[9,-4]],[[27376,54230],[12,-12],[-5,-64],[-14,-29],[-10,15],[-6,-48],[10,-8],[-16,-60],[-21,23],[-3,-56],[11,-11],[-9,-59],[-17,-54],[-17,13],[-3,-16],[12,-33],[8,5],[-1,-84],[-7,-62],[-28,-26],[0,-22],[17,10],[6,-24],[-23,-131],[-6,-91],[7,-13],[-5,-30],[-5,-97],[-13,-22],[-8,-59],[-9,-3],[0,-71],[-7,-69],[-7,2],[-12,-44],[13,-24],[11,24],[1,-81],[-16,-161],[5,-70]],[[25527,65491],[15,-41],[12,20],[7,-15],[-6,-40],[27,-23],[29,1],[28,25],[52,75],[31,59]],[[25722,65552],[90,-1],[198,-1],[187,1],[87,1],[0,-75]],[[26284,65477],[1,-242],[0,-1380],[-3,-437],[0,-441],[-2,-278],[0,-238]],[[26280,62461],[-19,-45],[-2,-20],[16,-71],[2,-31],[-11,-38],[3,-37],[17,-7],[4,-25],[-13,-46],[6,-44],[-22,3],[-16,-23],[-9,5],[-35,-63],[-14,-39],[-19,10],[-10,43],[-26,-7],[-16,7],[-12,-33],[4,-125],[6,-71],[-16,-40],[-7,-44],[-30,-34],[-19,-161],[-19,-39],[-14,24],[-10,-13],[-6,-63],[-16,-72],[1,-87],[-5,-70],[-8,-24],[-23,-18],[-4,-36],[-13,58],[-22,1],[-26,55],[-1,94],[-21,67],[-8,-2],[1,-34],[13,-12],[-1,-25],[-13,-2],[-8,-29],[-8,23],[-9,-29],[9,-17],[-6,-42],[-18,-9],[-2,-94],[5,-38],[-23,-9],[-2,-63],[-11,-29],[-7,24],[5,51],[-10,10],[-10,-25],[-10,22],[-12,89],[-17,-2],[-14,-52],[-29,-27],[-10,-30],[-5,-97],[-7,-27],[-11,-3],[-8,62],[-18,13],[-22,57],[-22,44],[-20,6],[-14,-37],[-14,19],[-6,49],[-8,6],[-7,-66],[11,-64],[-13,-40],[-11,3],[3,56],[-5,30],[-42,-31],[-11,52],[-9,4],[-10,-40],[10,-91],[-12,-47],[-23,32]],[[25386,60941],[-11,2],[-4,34],[12,-9],[-16,92],[24,-8],[-15,29],[15,67],[1,60],[-8,26],[19,19],[2,38],[-12,-19],[22,73],[-14,60],[-4,59],[9,-10],[9,68],[5,-35],[7,41],[8,-33],[13,102],[8,9],[13,84],[-2,38],[24,42],[0,66],[9,83],[7,32],[14,12],[14,76],[-1,42],[-15,94],[11,111],[-18,40],[1,79],[-16,55],[-3,73],[19,60],[-9,50],[2,60],[6,32],[13,9],[0,347],[-1,0],[0,397],[1,12],[0,294],[1,247],[0,1196],[1,254]],[[21479,63506],[257,-1],[104,0],[263,-1],[273,1],[163,0],[279,-1],[263,-1],[144,0],[133,0]],[[23358,63503],[16,-60],[13,-11],[1,-43],[13,6],[5,-36],[26,-14],[8,41],[24,-13],[-4,-28],[7,-33],[11,-11],[-4,-42],[-9,-1],[3,-36],[12,16],[-1,-49],[-10,-6],[-13,24],[-5,-75],[-15,-19],[-7,-41],[2,-41],[-17,-24],[1,-48],[15,-41],[1,-29],[16,-31],[12,-61],[14,0],[5,-21],[-9,-25],[6,-79],[18,-52],[-3,-28],[15,-13],[5,-31],[14,-11],[9,16],[5,-31],[20,-3],[-5,-41],[0,-444],[-1,-120],[0,-696],[-1,-52],[0,-779],[-1,-97],[0,-281]],[[23550,60009],[-249,1],[-196,-1],[-169,0],[-218,0],[-208,-1],[-258,2],[-103,0],[-154,3],[-149,-4],[-209,-4],[-155,-3]],[[30863,68384],[14,7],[-7,-35],[-7,28]],[[30827,68345],[7,83],[6,-34],[19,-55],[-15,-45],[-5,34],[-12,17]],[[30819,68560],[3,42],[11,-71],[-14,29]],[[30732,68434],[14,2],[3,-41],[-17,39]],[[30712,67988],[8,37],[1,-75],[-9,38]],[[30703,68290],[8,41],[25,45],[11,-50],[-9,-8],[14,-78],[-11,-39],[-18,-13],[-12,24],[5,25],[-3,50],[-10,3]],[[30697,68452],[13,68],[2,64],[9,25],[6,-26],[-9,-35],[1,-36],[-8,-70],[-10,-29],[-4,39]],[[30213,67064],[-35,81],[0,69],[6,42],[-41,128],[-9,53],[8,101],[-4,10],[6,88],[-6,23],[-5,313],[0,89],[-11,861],[-15,757]],[[30107,69679],[21,15],[0,33],[25,-41],[-1,-38],[7,-43],[11,-15],[13,85],[2,86],[-6,28],[12,36],[8,-3],[12,-44],[21,-9],[1,39],[-24,83],[-1,32],[22,107],[14,27],[11,43],[8,-1],[15,41],[24,38],[-9,71],[21,66],[23,45],[5,56],[-7,28],[-14,0],[0,66],[10,38],[-8,14],[15,51],[5,46],[-15,44],[16,115],[8,18],[-1,37],[17,32],[14,59],[11,8],[17,324],[215,890],[13,-3],[27,-38],[11,4],[-3,-58],[1,-141],[4,-18],[37,-73],[25,43],[26,30],[28,2],[11,52],[30,11],[25,-12],[0,62],[16,23],[25,-6],[23,-36],[4,-32],[33,-68],[36,-132],[0,-15],[28,-51],[0,-545],[3,-693],[-1,-71],[9,-30],[-15,-39],[14,-70],[-15,-34],[1,-136],[23,-18],[3,20],[10,-57],[19,-28],[30,-23],[14,19],[8,-62],[1,-56],[-13,8],[-11,-22],[7,-68],[16,-63],[-9,-73],[-10,-41],[23,-116],[0,-23],[18,-40],[13,28],[1,46],[18,-30],[19,-3],[13,-56],[6,-51],[-8,-14],[10,-32],[12,-98],[15,-38],[1,-118],[-12,-50],[-10,2],[-4,-32],[-32,-113],[-24,-25],[4,-22],[-15,-8],[6,42],[-4,85],[-27,-30],[12,-58],[-12,-43],[-11,13],[-13,-58],[-13,18],[-10,-12],[2,-35],[16,-40],[-22,-57],[-13,46],[-6,57],[-13,-10],[-3,-38],[-8,3],[-7,59],[-7,-62],[-9,-14],[-8,-74],[-7,19],[-6,-48],[-4,42],[-20,-51],[-5,27],[-12,-92],[-16,39],[0,36],[-10,-21],[-11,9],[2,-66],[-16,-71],[11,-33],[-35,-16],[-23,32],[-16,107],[6,29],[22,27],[-9,45],[-13,-35],[2,44],[-10,-3],[1,-68],[-5,0],[0,64],[-24,-56],[5,-35],[-6,-43],[14,-67],[-3,-45],[-23,-77],[9,-11],[-12,-31],[11,-56],[-5,-69],[-16,-10],[-3,85],[6,4],[-3,55],[-17,45],[-4,64],[15,51],[-19,40],[6,26],[-10,10],[-18,-21],[1,113],[11,44],[1,50],[-7,14],[-7,-46],[-14,-40],[-11,33],[-7,-32],[-15,-4],[14,-81],[-3,-48],[-12,-23],[-10,-71],[-4,-72],[-13,-78],[19,-30],[-13,-28],[10,-57],[-10,-38],[-27,4],[-13,-72],[-15,-1],[-2,-58],[-11,-9],[0,52],[7,37],[-9,15],[-3,-30],[-12,-13],[5,65],[-18,-9],[1,-52],[-16,-37],[-5,-50],[-12,51],[-2,-47],[-15,-32],[-12,26],[-3,-66],[-13,51],[-13,-92],[-23,-27],[-5,-19],[-5,83],[-16,5],[-15,-42],[-5,-39],[-20,4],[-7,-49],[-20,4],[-10,-49],[-3,-50],[5,-29],[-8,-32],[-13,29],[-22,-31],[-9,-46],[6,-67],[-8,-43],[-10,-15],[3,-33],[-14,-24],[-14,4],[-10,-25],[-11,-98],[5,-19],[-14,-80],[1,-22],[-14,-74],[-9,-13]],[[30332,65028],[13,-24],[29,5],[18,17],[12,70],[16,-105],[-1,-30],[-10,-16],[-33,4],[-41,60],[-3,19]],[[30177,65078],[18,0],[19,90],[27,60],[11,-15],[7,-70],[15,-27],[10,40],[-1,-84],[-41,1],[-31,-9],[-18,-47],[-16,61]],[[29500,66699],[224,-22]],[[29724,66677],[199,-23],[126,-12],[10,46],[21,1],[-1,62],[15,36],[19,-18],[9,62],[36,32],[15,-30],[8,13]],[[30181,66846],[2,-72],[9,-136],[25,-47],[12,42],[14,-34],[-16,-90],[-23,-7],[-38,-35],[12,-50],[-18,-50],[-7,9],[-5,-59],[-4,41],[-11,-53],[11,-74],[-13,10],[-5,-28],[8,-26],[-5,-27],[14,-14],[6,36],[14,8],[9,-47],[24,-28],[12,-42],[2,-46],[21,-93],[-1,-50],[-7,-39],[-12,-5],[3,-24],[21,-51],[12,8],[8,-24],[8,-83],[-5,-50],[13,-48],[23,-35],[34,-12],[9,-23],[19,44],[19,8],[27,33],[6,25],[-1,79],[-6,61],[-13,-31],[0,97],[-5,55],[-15,34],[-9,-7],[-5,-39],[-11,59],[13,11],[21,-18],[23,-58],[18,-123],[9,-119],[2,-137],[-15,-129],[-2,-44],[-7,9],[12,112],[-7,23],[-26,-5],[-43,-40],[-30,8],[-7,-28],[-17,-7],[-15,-62],[-33,-10],[-34,-66],[-16,-47],[-21,-28],[-23,-15],[6,26],[35,34],[16,47],[24,49],[5,40],[-2,117],[6,41],[-26,26],[0,-59],[-7,14],[-4,-50],[-14,3],[2,-32],[-31,-11],[-7,-49],[2,-44],[-6,-29],[-25,-23],[-12,17],[-10,-14]],[[30097,65246],[-3,189],[-18,18]],[[30076,65453],[-8,41]],[[30068,65494],[-10,48],[-19,33],[-5,56],[2,81],[-12,-6],[0,147],[-116,-13]],[[29908,65840],[-1,18],[-202,13],[-22,-4],[-42,6],[-3,-39],[-14,-6],[1,45],[-54,3],[-118,14],[-15,-1]],[[29438,65889],[-6,42],[34,395],[34,373]],[[22823,73980],[83,-1],[266,0],[229,-1],[0,449],[27,-37],[28,20],[29,-53],[8,-35],[14,-202],[7,-25],[18,-251],[-6,-69],[4,-54],[14,-43],[29,-45],[24,-12],[8,19],[44,-11],[11,-58],[61,-7],[48,-21],[8,-66],[-3,-49],[6,-12],[42,2],[5,15],[22,-2],[23,20],[-1,48],[33,46],[39,18],[9,-22],[53,0],[72,-98],[26,4],[1,-49],[-19,-7],[-4,-37],[16,-31],[41,13],[15,-54],[-6,-34],[6,-49],[24,-127],[25,27],[-8,84],[13,45],[15,-11],[42,16],[16,-44],[-2,-65],[17,-41],[14,9],[9,-36],[41,-9],[5,-67],[-4,-31],[20,-21],[23,13],[-3,-75],[22,28],[14,-22],[19,24],[34,17],[46,113],[17,13],[13,32],[25,30],[14,-13],[0,-67],[17,-17],[-6,-26],[10,-48],[16,-3],[35,29],[6,-29],[25,15],[26,-18],[19,13],[48,8],[29,-28],[9,-66],[34,-53],[15,35],[20,9],[13,-20],[23,6],[11,-18],[25,22],[-27,-56],[-10,20],[-4,-34],[-17,-15],[-26,-58],[-37,-34],[-14,-37],[-52,-44],[-48,-54],[-15,-6],[-42,-45],[-4,-14],[-51,-77],[-37,-79],[-72,-183],[-17,-69],[-55,-178],[-26,-72],[-26,-41],[-26,-88],[-11,-11],[-28,-83],[-10,-10],[-61,-134],[-9,-25],[8,-50],[14,-46]],[[24276,71309],[-21,50],[-14,-11],[-3,-29],[-16,-14],[9,-19],[-11,-43],[-22,16],[0,-685],[-10,-10],[-6,-59],[-24,7],[-10,-56],[-14,13],[-8,-38],[-25,-23],[-20,-47],[-20,-148],[-22,-49],[-7,-114],[1,-53],[21,-21],[10,9],[14,-32],[-1,-31],[23,-85],[-1,-50],[-15,-47],[1,-29],[-17,-49],[2,-91],[-4,-32],[6,-91],[-16,-58],[11,-34],[-2,-65],[6,-41],[-7,-42],[3,-75],[-12,-80],[5,-36],[16,-27],[31,-87],[-1,-24],[14,-16],[9,-44],[50,-9],[12,-17],[10,-78],[14,-38],[50,-51],[22,-39],[14,-40],[0,-53],[8,-15],[5,-84],[17,-45],[27,-41],[3,-29],[36,-90],[39,-29],[15,-55],[30,-136],[9,-75],[-8,-113],[2,-71],[10,-37],[-4,-44],[8,-53]],[[24498,67577],[-204,0],[-224,0],[-116,-1],[-223,0],[-180,1],[-313,0],[-199,0]],[[23039,67577],[0,1215],[1,101],[-1,302],[0,479],[-10,65],[-36,59],[-18,4],[-14,55],[-9,73],[-26,98],[5,46],[25,62],[22,39],[12,63],[14,46],[4,128]],[[23008,70412],[-4,106],[6,37],[-11,188],[-1,129],[-13,27],[-20,98],[-5,49],[-4,119],[-11,57],[-2,39],[5,68],[-6,112],[5,17],[6,117],[-6,-11],[-11,51],[1,171],[-5,92],[-2,114],[3,50],[-7,103],[1,217],[-5,3],[-7,89],[-11,92],[-8,17],[-11,101],[-3,58],[-11,34],[-5,121],[-16,101],[-3,110],[7,53],[-8,93],[3,52],[-1,107],[-7,59],[7,76],[9,24],[3,62],[-15,80],[-8,124],[-6,24],[-11,98],[3,40]],[[28860,63072],[14,65]],[[28874,63137],[9,32],[5,61],[12,42]],[[28900,63272],[17,44],[38,25],[25,45],[0,69],[16,25],[7,33],[34,72],[18,15],[12,51],[10,-8],[17,39],[-14,71],[-20,41],[-7,52],[-21,54],[-7,68],[-25,19],[-4,45],[2,95],[-10,37],[-17,-5],[-9,14],[-2,83],[7,30],[-8,22],[9,100],[11,-5],[23,113],[-24,120],[13,48],[18,29],[16,56],[-4,24],[17,35],[11,49],[14,124],[22,69],[16,13]],[[29101,65083],[88,-173],[132,-246],[3,-19],[-20,-187],[-12,-65],[-4,-65],[-6,-22]],[[29282,64306],[-7,-34]],[[29275,64272],[-37,-35],[-4,-84],[-9,-16],[-3,-50]],[[29222,64087],[0,-43],[19,-28],[16,18],[24,-44],[14,-9],[4,44],[4,-90],[-3,-107],[-14,-182],[-13,-247],[-5,-173],[-40,-241],[-11,-48],[-9,-9],[3,-32],[-10,-55],[-20,-63],[-1,-19],[-31,-55],[-32,-108],[-21,-118],[-22,-149],[-20,-60],[-19,-14],[-11,14],[6,88],[15,97],[3,69],[-21,37],[-18,4],[-6,25],[-18,-3],[-7,-36],[-9,24],[-2,47],[-18,37],[-3,30],[-10,-12],[-15,68],[-7,-8],[-18,58],[-10,56],[-19,25],[6,140],[-12,29]],[[28861,63044],[-1,28]],[[28814,58772],[18,-19],[12,-74],[1,-47],[-15,9],[2,45],[-18,86]],[[28734,57762],[8,60],[8,0],[47,86],[15,12],[14,33],[12,2],[16,35],[13,10],[5,74],[11,252],[0,54],[-8,95],[-6,105],[3,-2],[11,-106],[5,-95],[-3,-136],[-15,-286],[-24,-8],[-50,-64],[-43,-78],[-19,-43]],[[27156,59531],[84,-16],[55,-3],[95,-15],[37,4],[114,-21],[48,-2],[170,-2],[279,0],[74,4],[264,0],[106,-1],[0,10],[31,-2],[120,0],[142,0]],[[28775,59487],[2,-58],[17,-245],[16,-158],[23,-156],[35,-271],[-9,14],[-18,146],[-14,80],[-13,11],[-9,174],[-16,155],[-8,23],[3,39],[-5,89],[-10,30],[-4,48],[-25,13],[-1,40],[-13,-20],[6,-61],[16,-48],[11,10],[0,-67],[15,-135],[9,-61],[-1,-26],[11,-75],[0,-47],[-19,64],[1,37],[-13,61],[-3,38],[-12,12],[6,-38],[-3,-28],[14,-39],[-31,25],[-32,118],[-15,12],[19,-97],[10,-17],[6,-52],[-9,-23],[-24,-14],[-21,71],[7,-63],[10,-27],[-7,-14],[-31,45],[-13,5],[-5,29],[-18,24],[23,-73],[21,-23],[-7,-19],[-24,-8],[-13,-62],[-16,-22],[-17,1],[-8,31],[-20,12],[-12,121],[0,61],[12,78],[-5,13],[-14,-76],[-2,-76],[8,-94],[11,-77],[-5,-42],[8,-34],[40,10],[37,47],[9,-49],[13,6],[13,30],[26,24],[32,-1],[14,-41],[0,-43],[-14,-78],[3,-55],[2,-164],[9,5],[7,115],[3,150],[14,40],[-6,33],[14,20],[25,-21],[16,-94],[7,-65],[-4,-52],[7,-98],[-8,-25],[4,-54],[-13,-54],[-17,-10],[-6,18],[-10,-16],[-6,-40],[-10,-9],[-3,-43],[-7,-11],[-7,-71],[-13,-15],[-3,-46],[-17,-25],[-3,-24],[-26,25],[-29,-4],[-26,18],[-5,25],[-10,-14],[-15,45],[-13,115],[31,3],[5,45],[-28,-25],[-12,11],[-9,-33],[9,-57],[6,-86],[-7,0],[-29,47],[-14,-10],[-20,34],[-31,30],[-23,48],[-1,-29],[17,-61],[21,-5],[63,-102],[46,-28],[8,-31],[1,-40],[-7,-56],[-13,-54],[1,-28],[-9,-53],[-15,-42],[-50,-112],[-50,112],[1,-65],[24,-55],[36,-43],[36,80],[13,2],[27,30],[4,62],[11,-14],[3,-66],[8,-31],[18,-5],[-9,75],[20,-29],[2,-85],[-17,-75],[-18,-13],[0,-34],[-11,-20],[-14,-84],[-7,-71],[-17,20],[1,80],[-10,19],[1,-82],[-16,-7],[42,-64],[23,123],[33,120],[24,75],[47,176],[8,-21],[-28,-83],[-26,-96],[-22,-62],[-21,-78],[-18,-82],[-21,-115],[-3,-32],[-4,67],[-35,55],[-39,1],[-60,-38],[-29,-33],[-20,-32],[-32,-81],[-39,-75],[-26,-63],[-37,-113],[-14,-55],[-25,-128],[-14,-111],[-10,-112],[-9,-69],[-4,-69],[-13,7],[-3,34],[-21,21],[-23,9],[-28,-2],[-30,-12],[-35,-42],[-8,-17]],[[28030,56345],[-93,330],[-104,362],[-31,116],[-88,302],[-61,1],[-74,7],[-178,10],[4,135],[-42,199],[-30,-73],[-5,21],[7,48],[-2,53],[-55,13],[-105,16],[-188,29],[-23,-20],[-5,39],[-12,-52],[-7,9],[-20,-27],[-6,5],[-29,-47],[-28,-60],[-7,21],[-91,-99]],[[26419,57669],[9,275],[22,48],[3,-26],[28,4],[22,63],[-5,57],[9,25],[-4,44],[17,62],[13,15],[8,48],[16,8],[15,45],[80,7],[11,50],[22,32],[5,26],[10,-7],[16,48],[4,35],[16,4],[8,40],[21,29],[24,-18],[26,115],[-3,63],[10,30],[15,-36],[20,98],[33,70],[10,-40],[-5,-70],[15,-20],[28,62],[15,93],[15,35],[17,21],[12,-5],[9,33],[19,-12],[4,-50],[15,0],[14,28],[33,200],[21,53],[11,12],[8,-23],[17,0],[-10,74],[7,65],[6,12],[-4,80],[9,60]],[[20923,73979],[188,-1],[322,0],[212,0],[92,0],[193,1],[160,-1],[135,0],[141,1],[256,1],[201,0]],[[23008,70412],[-210,-1],[-186,1],[-119,1],[-252,4],[-192,2],[-179,2],[-253,1],[-123,0],[-292,1],[-173,0],[-105,0]],[[20924,70423],[0,2828],[-1,17],[0,711]],[[23550,60009],[0,-581]],[[23550,59428],[6,-130],[7,-206],[6,-127],[14,-355],[4,-82],[15,-387],[-2,-319],[-3,-261],[-1,-235],[-2,-170],[-2,-417],[-5,-642]],[[23587,56097],[-9,-25],[-19,73],[-16,-13],[-1,23],[-17,-1],[-18,79],[-15,-16],[-12,5],[-21,78],[-7,58],[-22,2],[-23,85],[-27,28],[-7,-68],[-11,-32],[-13,-7],[-34,4],[0,15],[-21,-7],[-7,61],[-10,3],[-24,-52],[-20,3],[1,-45],[-13,9],[-9,-31],[-29,61],[-1,-30],[-30,-29],[-15,13],[1,-20],[-14,8],[-8,-90],[-14,-14],[-19,19],[-7,-81],[-12,-3],[-1,22],[-17,79],[-21,-6],[-8,57],[-11,-4],[-16,30],[12,58],[-25,16],[-8,-86],[-18,-9],[-4,42],[-13,14],[-6,-33],[-9,25],[-6,95],[-5,11],[-14,-27],[-6,15],[3,-73],[-16,-57],[-13,19],[11,-42],[-13,-22],[3,-64],[-11,-31],[-11,14],[-12,94],[10,30],[-2,66],[-9,28],[-10,-19],[-2,-42],[-13,19],[-9,-7],[-11,-64],[-20,5],[-5,30],[1,63],[-12,19],[-16,-27],[-11,25],[3,41],[-19,42],[-9,-3],[-12,-58],[-29,-92],[-12,-9],[-16,34],[-9,3],[4,65],[-5,-1],[7,60],[-7,20],[-13,-14],[-19,11],[-10,91],[8,35],[-4,50],[-17,-47],[-20,22],[-15,0],[-19,28],[-11,-40],[-3,-44],[-20,-26],[-24,96],[-21,23],[-12,-37],[-21,4],[-13,26],[-13,3],[-17,24],[-19,46],[-16,-27],[-9,15],[-12,-11],[-2,20],[-18,-3],[-5,140],[-18,56],[4,22],[-16,5],[-18,57],[-4,-92],[-12,-4],[-22,47],[-17,2],[-6,-49],[-30,15],[-24,78],[-37,143],[-20,-19],[0,2257],[-123,0],[-179,0],[-150,0],[-175,1],[-210,0]],[[21214,59429],[1,119],[0,463]],[[27478,65805],[48,61],[45,74],[9,24],[10,60],[13,3],[3,-28],[36,72],[47,74]],[[27689,66145],[0,-314],[1,-2],[247,-1],[77,3],[167,-2],[243,1],[105,3],[111,-4],[169,-1],[107,2],[14,-59],[5,4],[8,-100],[15,4],[27,-34],[10,-49],[-8,-32],[14,-21],[2,-159],[-8,-12],[25,-113],[1,-34],[11,5],[15,-33],[-2,-18],[25,3],[3,-22],[16,8],[-1,-30],[13,-55]],[[28900,63272],[-23,37],[-22,6],[-24,-20],[-15,-34],[-20,-82]],[[28796,63179],[-217,-1],[-118,-1],[-151,0],[-236,3],[-305,-2]],[[27769,63178],[-167,0],[-124,0],[0,1068]],[[27478,64246],[0,1559]],[[20920,69320],[5,4],[0,872],[-1,227]],[[23039,67577],[-40,0],[5,-22],[-7,-37],[22,-64],[-1,-110],[-14,-5],[8,-52],[-3,-31],[24,-3],[2,-83],[9,-35],[-7,-66],[-14,-16],[5,-56],[-8,-28],[6,-21],[-12,-46],[0,-80],[-11,-16],[-3,-52],[-11,-26],[1,-76],[15,-27],[17,-60],[10,-87],[-4,-45],[13,-31]],[[23041,66402],[-17,-7],[-5,30],[-24,-5],[-7,53],[-21,66],[7,52],[-11,16],[-21,3],[-1,40],[-28,35],[-12,-17],[-8,48],[-43,13],[-5,28],[-18,20],[-1,38],[-25,25],[-15,-14],[-15,13],[-7,-23],[-18,14],[-16,-13],[-16,11],[-18,-17],[-25,9],[-20,21],[-8,-11],[-9,-74],[-12,-29],[-19,-9],[-31,69],[-36,62],[-58,85],[-9,59],[-112,0],[-186,-1],[-153,1],[-214,-1],[-206,-2],[-62,4],[-178,0],[-143,1],[-293,1]],[[20922,66996],[0,345],[-1,8],[0,1828],[-1,143]],[[23587,56097],[8,8],[0,-54],[11,-25],[9,6],[-2,-36],[10,-9],[5,27],[8,-18],[3,29],[21,-27],[11,46],[12,-17],[5,-30],[6,21],[16,-22]],[[23710,55996],[0,0]],[[23710,55996],[1,-11],[0,-608]],[[23711,55377],[0,-1196],[8,-12],[11,-72],[18,-31],[9,-83],[15,-55],[-2,-34],[8,-56],[-7,-42],[3,-45],[-7,-28],[6,-51],[9,-32],[13,-6],[3,-35],[-6,-27],[14,-36],[-1,-32],[8,-15],[3,-49],[-6,-53],[12,-47],[6,2],[6,-113],[19,12],[-6,-102],[8,-31],[2,-54],[-13,-21],[-1,-33],[12,-55],[-9,-22],[-3,-38],[4,-63],[-9,-33],[-9,-63],[-3,-73],[-12,-25],[-2,-68],[-14,-30],[-3,-40],[7,-24],[5,-91],[-13,-51],[-6,-74],[16,-52],[1,-53],[-5,-39],[9,-79],[-12,-70],[9,-19],[-11,-51],[-14,-39],[-7,-78],[-13,-74],[-17,-45],[-2,-25],[9,-30],[17,-94]],[[23768,51502],[0,-14],[-46,3],[-37,-40],[-128,-208],[-28,-61],[-10,-54],[-15,7],[22,71],[9,47],[13,-1],[9,19],[8,46],[9,-16],[11,8],[-15,55],[-54,-54],[-8,26],[17,90],[4,80],[0,74],[-12,5],[-5,23],[-17,-29],[-10,-41],[-4,-50],[-15,-24],[-6,46],[-18,-45],[-2,-35],[9,-32],[-10,-50],[10,-55],[20,-17],[-6,-54],[11,-20],[2,-78],[-2,-67],[-8,-31],[-9,10],[-19,-71],[-22,-65],[-3,26],[-13,-8],[-2,-88],[6,-26],[13,44],[26,65],[3,19],[32,99],[15,23],[0,45],[26,-15],[-20,-61],[-62,-153],[-24,-69],[-4,-25],[-32,-91],[-40,-143],[-15,-8],[-69,-146],[-35,-80],[-53,-89],[-61,-112],[-34,-87],[-13,-42],[-15,-74],[-53,-111],[-24,-68],[-47,-155],[-32,-143],[-11,-83],[-14,-59],[-33,-221],[-24,-197],[-11,-127],[-10,-192],[-2,-108],[1,-103],[8,-205],[14,-207],[12,-134],[16,-229],[11,-260],[-7,47],[-5,147],[-12,189],[-11,152],[-24,16],[18,27],[-9,83],[-6,87],[-9,88],[-3,106],[1,138],[-1,122],[11,276],[16,180],[19,148],[14,70],[10,87],[8,35],[-2,47],[13,86],[18,38],[9,45],[18,127],[28,58],[8,53],[16,2],[35,105],[23,49],[24,23],[-4,43],[9,29],[-9,16],[-16,-41],[-20,-35],[-11,-40],[-17,-5],[-6,40],[0,60],[-18,12],[-6,-31],[0,-84],[-5,-25],[6,-41],[-4,-36],[-20,-56],[-17,-61],[-8,-1],[-18,30],[-3,43],[-32,-61],[-17,-67],[21,-22],[24,57],[8,-74],[-7,-23],[-38,-223],[-12,-2],[-6,55],[-21,-10],[-4,18],[-32,-11],[-11,12],[-6,-38],[12,-32],[15,-1],[11,17],[-4,-64],[7,-48],[15,-34],[17,-18],[-19,-146],[-13,-185],[-12,-106],[-20,-27],[-7,-27],[-11,18],[14,21],[3,59],[-8,3],[-6,-31],[-29,-75],[4,-32],[24,-16],[25,38],[8,2],[-5,-116],[3,-4],[-4,-202],[-6,-207],[-4,-3],[10,-230],[8,-65],[1,-84],[9,-1],[23,-215],[5,-29],[-9,-47],[4,-34],[-1,-62],[8,-72],[20,-11],[1,-35],[12,18],[2,-127],[-23,7],[-13,-8],[0,-19],[-21,-12],[-6,-99],[-20,11],[-7,40],[-15,3],[-6,55],[-11,4],[-18,98],[-31,12],[-11,33],[-17,-9],[-7,16],[-23,-17],[-4,18],[-13,-1],[-3,-29],[-10,31],[-20,-14],[-8,22],[-6,-22],[-14,20],[-8,30],[3,25],[-16,1],[-3,44],[-15,-1],[-21,75],[-9,-11],[-25,48],[-19,-22],[-13,35],[-15,69],[-10,8],[-2,33],[-8,12],[-18,-15],[-21,47],[-12,-3],[-8,20],[-12,-19],[-9,44],[6,50],[-10,56],[-11,13],[-3,98],[-6,42],[-3,79],[-8,25],[-1,49],[-7,64],[-17,43],[2,31],[-13,26],[-7,37],[5,20],[-11,46],[-9,7],[-1,52],[6,31],[-3,66],[4,29],[-4,86],[-16,25],[1,37],[-12,11],[9,30],[5,86],[-3,31],[4,60],[-13,10],[5,76],[-12,58],[-7,-14],[-7,46],[-9,-18],[-9,39],[-10,-6],[-18,90],[-9,11],[-3,38],[-8,-9],[-10,38],[0,50],[-7,26],[3,41],[-13,48],[2,47],[-17,16],[-7,81],[-10,23],[-8,70],[-35,53],[-4,53],[-7,-2],[-13,59],[2,38],[-17,100],[3,47],[-9,39],[9,29],[-12,11],[-9,47],[4,39],[-14,28],[1,33],[-15,28],[-4,51],[2,41],[-8,26],[-4,73],[-6,1],[-9,88],[-8,1],[-6,47],[1,76],[-7,106],[-18,46],[-10,40],[3,14],[-9,71],[-23,41],[-2,30],[-17,46],[-18,25],[-13,84],[0,21],[-26,21],[-6,44],[-23,7],[3,57],[-2,65],[-5,5],[-6,-67],[-6,27],[2,53],[-17,27],[-13,108],[-8,-4],[-9,32],[-13,-25],[-7,44],[-8,-27],[-37,-13],[-19,31],[-6,-8],[-15,22],[-22,-14],[-12,24],[-17,-7],[-4,-22],[-26,21],[-11,50],[-13,-3],[-20,40],[-14,-18],[-10,-111],[-34,19],[-9,-37],[-7,11],[-22,-32],[-7,10],[-8,-54],[2,-23],[-13,-40],[0,-50],[-7,0],[-2,-59],[-11,-30],[1,-33],[-7,-58],[2,-52],[-5,-48],[-10,-5],[-3,-72],[-5,-37],[10,-22],[-5,-38],[-18,-38],[-10,8],[-7,-67],[-17,-43],[-7,-36],[-4,-84],[-14,-8],[-17,15],[-15,-11],[-14,46],[-27,24],[-27,111],[-24,33],[-10,-8],[-22,38],[-18,77],[-13,24],[-39,21],[-17,28],[-19,61],[-11,12],[-19,81],[0,24],[-14,47],[-21,7],[-12,27],[-5,34],[-30,78],[-9,43],[-7,110],[-12,56],[-7,60],[-13,63],[0,59],[-7,57],[6,72],[-3,54],[2,55],[-7,68],[-11,30],[-3,44],[-13,39],[-1,30],[-13,34],[2,33],[-13,177],[-7,40],[-12,4],[-11,91],[-15,0],[-14,66],[-12,10],[-3,24],[-15,34],[-12,-4],[-7,28],[-31,39],[0,39],[-44,118],[-13,107],[-12,37],[-18,26],[-9,33],[-9,2],[-2,36],[-24,106],[-20,35],[-4,54],[-14,32],[-21,7],[-35,78],[-11,88],[-10,24],[-6,68],[-13,89],[-9,41],[-19,38],[-11,-19],[-11,41]],[[20232,53938],[-5,28],[-16,20],[1,23],[-10,25],[-3,38],[7,18],[1,101],[331,0],[250,-1],[226,0],[183,1],[0,1212],[2,254],[0,149],[2,417],[2,232],[0,1518],[1,434],[0,809],[-1,213],[11,0]],[[20922,66996],[0,-2328]],[[19530,64667],[-136,-2],[-143,-1],[-52,-3],[-133,1],[-93,2],[0,442],[1,219],[-1,508]],[[18973,65833],[0,676],[1,163],[0,1090],[-1,26],[0,516],[-1,267],[1,140]],[[18973,68711],[-2,175],[-1,282],[1,156],[75,2],[22,-12],[85,2],[11,8],[45,-5],[25,8],[87,-2],[194,5],[11,-7],[221,0],[316,0],[14,-4],[144,-2],[178,-1],[23,7],[132,0],[251,-2],[115,-1]],[[29908,65840],[0,-107],[3,-222],[0,-150],[-3,-209],[-12,-8],[3,-76],[-8,-29]],[[29891,65039],[-7,19],[-17,2],[-21,-24],[-18,3],[-13,-24],[-16,28],[-6,-37],[-49,-35],[-3,20],[-15,0],[-27,-33],[-6,21],[-26,1],[-7,-26],[-18,23],[-40,-27],[-3,60],[-9,-17],[-19,-82],[-12,0],[-22,-73],[-13,23],[-24,-58],[-7,13],[-23,-28],[5,-22],[-10,-32],[-29,-11],[-22,-54],[-9,15],[-15,-35]],[[29390,64649],[1,33],[-20,102],[68,130],[-19,97],[4,161],[5,295],[9,422]],[[23231,64184],[167,-9],[159,-8],[156,3],[130,8],[62,0],[197,12],[152,13],[101,14],[12,-38],[1,-33],[18,-14],[-1,-36],[16,-57],[10,-2],[1,-56],[11,-31],[19,-7]],[[24442,63943],[-8,-18],[-17,-144],[-2,-71],[6,-165],[14,-99],[7,-28],[-8,-66],[5,-38],[15,-34],[4,-28],[-3,-61],[26,-77],[15,-57],[11,-14],[10,-69],[13,-8],[11,-76],[16,-54],[59,-137],[20,-90],[3,-90],[8,-78],[-9,-36],[11,-85],[3,-65],[22,-69],[11,7],[11,32],[9,66],[19,4],[27,-45],[16,-5],[38,-82],[-2,-60],[-12,-29],[-13,-59],[10,-92],[-2,-37],[-22,-96],[-6,-99],[-17,-68],[-7,-52],[-1,-78],[5,-70],[18,-50],[20,-89],[25,-37],[11,-54],[8,0],[17,-60],[16,7],[3,-27],[-12,-24],[6,-50],[20,-5],[10,31],[13,-28],[1,-29],[15,-12],[23,-70],[-2,-40],[14,-3],[9,-42],[19,-24],[0,-57],[11,-68],[-13,-8],[2,-50],[26,-161],[-4,-62],[-15,-12],[-8,-56],[17,-53],[-1,-47],[13,-87],[11,-46],[-1,-53],[24,-56],[10,27],[-15,45],[14,12],[17,-56],[8,-53],[11,14]],[[25079,59990],[9,-21],[-5,-90],[-6,-46],[-10,-9],[-1,-38],[17,-37],[-3,-28],[-16,3],[-4,-44],[11,-58],[-8,-29],[-7,-71],[-13,-18],[-18,78],[-13,-13],[-13,-142]],[[24999,59427],[-8,-40],[-13,7],[2,31]],[[24980,59425],[6,38],[-5,49],[-21,2],[-4,-30],[9,-58]],[[24965,59426],[6,-22],[-7,-64],[10,-59],[-5,-37],[-24,-1],[0,-37],[21,-39],[1,-27],[-15,-15],[-30,16],[-3,-21],[28,-74],[1,-61],[-22,-40],[-3,-75],[-12,-23]],[[24911,58847],[-179,-6],[16,110],[23,58],[0,23],[15,53],[16,28],[3,43],[9,7],[5,133],[-22,44],[3,15],[-5,71],[-349,-1],[-323,1],[-141,0],[-222,1],[-210,1]],[[23358,63503],[-31,56],[8,79],[-24,76],[-2,77],[-20,19],[1,32],[-18,26],[-12,110],[1,39],[-11,34],[-1,40],[13,42],[-11,18],[-1,-33],[-20,3],[1,63]],[[26900,61666],[18,-20],[35,40],[23,11],[5,49],[3,98],[12,28],[16,-7],[6,30],[-3,101],[-10,105],[21,52],[0,67],[14,88],[12,27],[6,37],[13,-40],[11,-1],[12,-79],[-8,-40],[11,-20],[9,22],[3,42],[9,20],[9,-25],[4,111],[-10,29],[-3,43],[19,19],[-3,96],[8,41],[10,12],[3,55],[31,-7],[3,83],[25,76],[17,-19],[6,-52],[11,3],[21,47],[17,8],[11,54],[11,8],[8,48],[16,57],[30,89],[16,9],[4,83],[10,26],[-11,50],[12,48],[0,57],[10,23],[-4,60],[13,-11],[-2,52],[7,20],[0,122],[9,30],[0,58],[10,48],[5,61],[10,23],[5,65],[-3,95],[4,71],[-9,84],[-11,44],[9,50],[14,-1],[18,27]],[[27769,63178],[-3,-600],[10,7],[33,103],[12,-1],[10,67],[31,60],[13,75],[11,-2],[28,-36],[11,54],[38,158],[13,-10],[-13,-14],[13,-18],[2,-26],[20,-34],[17,1],[7,-18],[28,-4],[14,38],[-7,49],[13,-1],[-11,32],[14,-11],[9,37],[19,-23],[28,87],[24,-20],[17,-49],[8,-40],[18,20],[17,-23],[14,4],[0,-37],[-16,-15],[12,-69],[19,-41],[-2,-33],[9,-12],[5,-43],[-6,-63],[10,-14]],[[28258,62713],[-9,-45],[-21,-175],[-78,209],[-66,179],[-4,-62],[5,-28],[-6,-36],[7,-11],[-23,-106],[6,-15],[-11,-54],[10,-36],[-16,-62],[-7,-7],[-24,-88],[6,-16],[-14,-63],[-7,21],[-15,-66],[-10,-24],[0,36],[-23,-71],[-20,-130],[-35,101],[-9,-69],[-17,-82],[-1,-71],[-8,1],[-10,-57],[-15,-138],[-28,-94],[-46,53],[-17,109],[-31,47],[-14,-121],[3,-65],[-12,-60],[-22,-87],[6,-44],[-12,-21],[-25,-81],[-7,-56],[6,-29],[-8,-30],[-6,-60],[-10,-51],[-18,-51],[-30,-104],[-21,-112],[2,-36],[-12,-39],[4,-41],[17,-34],[-12,-40],[-18,-34],[-1,-32],[13,-4],[-4,-29],[-49,-99],[-10,68],[-12,-9],[-19,-47],[-41,-71],[-4,26],[-21,38],[-7,-51],[9,-43],[-19,-47],[-17,-5],[-37,-27],[-31,-51],[-27,75],[-11,45],[-8,-21],[-8,-55],[-23,-17],[-2,-30],[-13,-29],[-34,-7],[-19,48],[0,24],[-12,25],[-18,3],[-7,52],[-14,31],[-2,90],[-15,22],[-1,33],[18,34],[-11,29]],[[27075,60636],[-14,-4],[-28,30],[-3,37],[-8,1],[-7,40],[-9,-2],[-7,42],[-15,11],[-13,134],[-10,19],[-13,61],[1,34],[-15,19],[-8,39],[11,55],[-15,22],[-9,80],[-10,45],[-15,37],[0,38],[8,0],[3,55],[-4,20],[11,33],[1,58],[-8,36],[1,90]],[[24442,63943],[12,16],[-2,50],[4,90],[-11,35],[13,69],[31,43],[18,-1],[18,41],[1,61],[6,49],[1,67],[10,27],[14,66],[11,19],[6,106],[-1,98],[-13,75],[-13,6],[-20,85],[11,77],[2,74],[6,55],[19,21],[13,-15],[23,40],[31,-6],[24,17],[16,56],[10,13],[26,-1],[18,57],[16,21],[-1,66],[9,59],[0,52],[9,29],[28,49],[-1,41],[8,72],[-3,58],[7,61],[-7,37],[1,89],[-13,41],[-47,73],[-15,74],[3,60],[-16,63],[-22,37],[-2,26],[-22,35],[0,47]],[[24658,66423],[45,-2],[227,-2],[51,-5],[194,-11],[41,4],[152,1],[82,-5]],[[25450,66403],[-2,-124],[-8,-97],[10,-109],[21,-117],[12,-37],[3,-54],[13,-139],[4,-75],[14,-93],[8,-20],[2,-47]],[[25386,60941],[-8,-66],[-17,-35],[-11,-56],[7,-105],[20,-68],[-6,-50],[-48,-19],[-12,-11],[-18,-52],[-14,26],[-18,-44],[-2,-55],[-9,-65],[2,-25],[17,-65],[7,-66],[-10,-89],[-15,-10],[-13,13],[-19,52],[-35,40],[-14,39],[-31,42],[-19,5],[-13,-21],[-13,-42],[-9,-65],[-16,-52],[-4,-55],[14,-52]],[[20232,53938],[-214,0],[-254,0],[0,-524],[-234,-1]],[[24911,58847],[4,-38],[18,-49],[0,-45],[-24,23],[-9,-49],[20,-36],[-11,-33],[-11,-1],[-9,-52],[-17,-22],[-9,21],[-15,-41],[6,-68],[9,-17],[12,23],[3,-38],[-26,-42],[1,-53],[9,-10],[-3,-40],[-22,56],[-9,-9],[-5,-58],[9,-42],[-11,-75],[-8,88],[-23,-67],[-3,-46],[12,-6],[2,43],[15,-35],[-9,-47],[0,-45],[-16,-10],[4,-47],[15,-7],[6,-29],[-12,-43],[15,-58],[-10,-25],[-12,21],[-9,-26],[-9,-100],[-25,13],[-3,-49]],[[24751,57677],[17,-55],[0,-45],[-18,-44],[-31,-44],[-4,59],[-11,2],[-2,-29],[8,-44],[-5,-25],[6,-72],[-14,-19],[-5,34],[2,57],[-10,-27],[2,-35],[-7,-14],[6,-40],[20,-2],[2,-31],[-14,-50],[-11,18],[1,49],[-10,-21],[0,-64],[12,-61],[1,-27],[-13,-51],[6,-83],[-25,-57],[0,-63],[-10,1],[3,54],[-19,-1],[-5,-27],[8,-45],[-7,-30],[-19,-15],[-4,-71],[-16,43],[-9,-29],[14,-43],[20,1],[2,-25],[-13,-28],[-16,33],[-12,-32],[9,-51],[11,3],[3,-24],[-8,-61],[-24,-6],[7,-45],[-11,-16],[-5,43],[-16,-23],[-3,-29],[22,-34],[-18,-78],[7,-55],[16,-26],[-10,-34],[-8,18],[-24,-2],[-1,-59],[10,-26],[13,14],[8,-50],[-12,-18],[-16,22],[-7,35],[-17,-16],[-2,-28],[25,-51],[2,-33],[-28,-41],[13,-63],[-14,-80],[18,16],[-1,51],[14,-27],[-4,-54],[-17,-10],[-3,-19],[10,-24],[17,14],[10,73],[5,-32],[-23,-90],[0,-64],[12,-68],[3,42],[10,13],[2,-23],[-13,-52],[2,-75],[-3,-23],[-14,-8],[-11,14],[-5,-39],[23,-62],[-13,-59]],[[24512,55359],[-219,4],[-154,5],[-157,7],[-86,0],[-185,2]],[[16868,55911],[16,-5],[28,-53],[21,-22],[1,-25],[16,-61],[-5,-43],[-13,25],[-26,7],[-6,35],[0,74],[-20,16],[-12,52]],[[16867,55390],[9,4],[22,-117],[40,-130],[-10,4],[-11,-22],[-17,44],[-13,72],[-14,119],[-6,26]],[[16741,55926],[8,7],[1,-41],[-11,7],[2,27]],[[16637,56552],[8,-17],[11,14],[0,-30],[-17,-4],[-9,21],[7,16]],[[16596,55679],[14,7],[20,-35],[8,-31],[-13,-15],[-20,21],[-9,53]],[[16501,56608],[18,-7],[13,-22],[15,5],[19,-43],[19,-4],[7,39],[20,-20],[-11,-43],[-28,-11],[-17,-31],[-42,24],[-1,61],[-12,52]],[[16410,56520],[22,8],[9,21],[13,-8],[13,19],[0,-48],[18,-13],[1,-48],[-41,-54],[-16,37],[-19,86]],[[16354,56562],[16,17],[6,28],[6,-35],[13,-26],[-21,-6],[-20,22]],[[15305,65829],[155,-4],[9,6],[77,-1],[56,12],[28,-8],[115,2],[37,5],[95,-1],[45,-5],[154,-8],[114,-4],[197,0],[92,2]],[[16479,65825],[0,-1]],[[16479,65824],[0,-1448],[1,-34],[0,-756],[-1,-393],[-1,-13],[0,-457],[-1,-122],[2,-263],[26,-77],[115,-330],[114,-336],[63,-182],[99,-298],[125,-377],[62,-186],[127,-394],[313,-989],[234,-759],[70,-234],[147,-492]],[[17950,55027],[-416,-126],[-254,-89],[-3,98],[-9,62],[-8,20],[-14,-23],[-3,66],[1,71],[-8,41],[9,61],[-9,161],[-13,127],[-9,54],[-40,193],[-25,61],[-10,51],[-15,37],[-9,-2],[-19,95],[-26,59],[-14,15],[-20,57],[-25,88],[-24,39],[-2,-47],[-21,-23],[-18,14],[-10,25],[-15,6],[-4,38],[9,34],[1,43],[-14,116],[-11,64],[-17,50],[-35,1],[-22,-8],[-16,-36],[-14,38],[-28,16],[-37,59],[-12,2],[-24,53],[-17,141],[-10,10],[-17,53],[-4,-3],[-20,65],[-21,25],[-6,20],[-32,4],[-16,-24],[-18,25],[-22,-10],[-37,60],[-23,0],[-15,15],[-44,-7],[-48,-22],[-1,31],[-13,66],[-16,30],[-12,-4],[-6,32],[13,143],[-11,60],[8,119],[-17,54],[9,115],[1,140],[-18,56],[-14,7],[-3,-21],[-27,55],[-11,48],[10,131],[-2,50],[-11,53],[-27,14],[-27,102],[-18,101],[-24,25],[-17,66],[-5,81],[-16,47],[-7,37],[-14,35],[-6,99],[-5,35],[-20,29],[-15,104],[-25,94],[-33,64],[-11,45],[-8,80],[1,42],[-11,101],[2,92],[-11,16],[10,74],[18,-38],[9,30],[7,61],[8,141],[-21,149],[-12,43],[-10,11],[-9,-28],[-37,2],[-28,68],[-22,102],[-14,18],[-2,31],[-17,60],[-4,62],[5,129],[-12,89],[-2,52],[-12,14],[-6,33],[-1,64],[5,27],[2,77],[-6,134],[14,28],[16,8],[6,-24],[7,-88],[-9,-9],[11,-107],[-2,-27],[27,-23],[27,-80],[8,5],[14,-63],[12,3],[-6,40],[-12,19],[-10,87],[-7,109],[-21,54],[-2,46],[-22,26],[9,74],[-7,68],[-15,-1],[-14,68],[8,-9],[9,26],[0,40],[19,-2],[10,39],[-10,71],[-26,44],[-13,-30],[-14,-6],[2,-47],[-5,-46],[15,-51],[-12,-25],[-4,-44],[19,-56],[-7,-14],[-11,29],[7,-71],[-15,-16],[-9,38],[-26,61],[-13,-12],[-23,67],[-10,53],[-17,33],[-16,8],[-20,-33],[14,127],[3,48],[-12,92],[7,20],[-16,70],[-11,-10],[-1,67],[-17,106],[-20,51],[-14,19],[-22,64],[-37,176],[-14,29],[-8,41],[-31,90],[-24,116],[14,78],[-1,42],[-14,126],[-16,123],[-7,105],[3,99],[13,132],[-5,52],[0,65],[-14,92],[-4,108],[-16,36],[-6,55],[-35,133],[-7,6],[0,43],[-8,43],[-22,32],[-49,151],[4,63],[-4,70],[-13,74],[9,98],[14,109],[42,265],[11,95],[7,119],[-12,37],[-1,97],[4,2],[11,99],[12,244],[-5,126],[-15,128],[-8,96],[-9,-4],[-17,54],[10,74],[5,110],[-3,67]],[[28861,63044],[-1,28]],[[28874,63137],[-6,7],[-22,-81],[2,-39],[11,-31],[1,-49],[-8,-28],[0,-41],[14,-52],[7,-58],[21,-62],[10,-68],[3,-58],[-5,-35],[2,-126],[16,-48],[7,-43],[2,-74],[34,-137],[16,-29],[10,24],[4,-36],[5,-129],[4,-244]],[[29002,61700],[-105,1],[-74,9],[-2,72],[-25,1311],[0,86]],[[28426,62262],[21,70],[37,-118],[-36,-118]],[[28448,62096],[0,93],[-22,73]],[[6433,39922],[2,44],[19,76],[12,7],[13,93],[16,52],[3,58],[-17,94],[-4,45],[-1,105],[8,37],[18,-9],[18,-32],[3,-32],[22,-44],[15,-47],[12,6],[25,-32],[39,-77],[13,-19],[22,-61],[16,-57],[17,-76],[-3,-47],[1,-90],[8,-10],[16,12],[7,-57],[-1,-57],[22,-82],[22,-39],[5,-21],[-4,-44],[-13,-51],[-17,-47],[-14,-56],[-23,-38],[-20,-47],[-20,-18],[-16,15],[-9,-9],[-18,-66],[-16,-25],[-13,-48],[-14,-16],[-12,-59],[1,-33],[-8,-37],[-5,-59],[-20,-63],[-15,61],[-22,52],[-22,29],[-10,95],[5,113],[4,151],[-10,106],[1,46],[-9,12],[-5,114],[-7,66],[-9,8],[-8,108]],[[6254,41293],[5,69],[11,56],[14,6],[13,-33],[10,-78],[10,-50],[24,29],[18,35],[26,-21],[0,-16],[17,-51],[10,-15],[5,-40],[31,-37],[5,-32],[0,-52],[-8,-43],[-13,-40],[-6,3],[-17,-36],[-14,10],[-30,-53],[-21,-9],[-17,26],[-7,210],[-7,20],[-14,-24],[-26,50],[-13,58],[-6,58]],[[6253,40841],[7,29],[28,57],[10,-30],[-4,-44],[5,-17],[-13,-19],[-5,15],[-18,-23],[-10,32]],[[6153,41274],[7,27],[13,5],[26,-19],[17,-60],[8,-51],[-9,-65],[-19,-29],[-17,-5],[-7,60],[-3,73],[-14,32],[-2,32]],[[6084,41504],[6,52],[9,29],[-2,58],[17,-2],[3,-14],[54,-29],[10,34],[4,-42],[22,-13],[27,18],[17,-25],[-8,-55],[-18,-51],[-20,-21],[-35,32],[-26,31],[-15,-14],[-29,-5],[-16,17]],[[5814,42059],[43,9],[13,49],[4,35],[13,48],[14,15],[6,-27],[6,-70],[20,-84],[4,-52],[-4,-15],[3,-47],[18,-55],[3,57],[12,-2],[-4,-64],[8,-24],[-1,-29],[17,-70],[-12,-37],[-11,18],[-21,-29],[-6,26],[-17,31],[-25,11],[-30,-20],[-7,4],[-7,84],[-11,34],[-1,31],[-14,67],[0,61],[-13,45]],[[5394,42585],[1,40],[11,38],[4,49],[33,72],[8,26],[23,-18],[3,25],[16,-11],[8,14],[15,-20],[10,-37],[5,-45],[0,-46],[-11,-63],[1,-106],[-4,-28],[-28,-78],[-8,15],[-36,12],[-18,71],[-24,29],[-9,61]],[[5266,42374],[4,43],[12,44],[19,45],[2,38],[11,9],[2,-31],[-5,-57],[2,-36],[-20,-28],[-16,-97],[-12,30],[1,40]],[[24498,67577],[-5,-52],[10,-50],[-1,-74],[27,-41],[13,-76],[-18,-60],[-6,-52],[-9,-24],[1,-108],[8,-88],[0,-68],[12,-25],[13,-169],[33,-64],[47,-37],[17,-20],[18,-109],[0,-37]],[[23231,64184],[4,28],[-10,56],[-13,16],[-15,58],[2,37],[13,35],[-4,83],[10,51],[-7,27],[2,66],[-9,20],[1,42],[-7,30],[5,27],[-5,93],[12,17],[-24,24],[4,37],[-5,63],[13,41],[-20,27],[7,29],[-1,116],[-20,10],[2,77],[-9,1],[-2,-37],[-15,28],[3,56],[-11,39],[7,39],[-8,41],[11,18],[-6,54],[8,20],[3,46],[-12,23],[-1,38],[-14,61],[6,11],[3,66],[-16,6],[1,30],[-15,11],[5,16],[-15,25],[1,83],[-22,56],[-3,48],[10,25],[-14,103],[-11,29],[0,76],[9,44],[-4,44],[-14,8]],[[26280,62461],[18,48],[7,-2],[15,-54],[21,-28],[14,29],[14,-3],[8,29],[8,-8],[4,-69],[29,-32],[10,-84],[16,-83],[0,-66],[5,-26],[40,-41],[33,19],[29,-46],[3,-34],[15,-26],[5,-50],[28,-29],[14,66],[26,22],[15,-32],[28,-20],[11,-24],[5,-43],[13,24],[30,-1],[10,53],[18,34],[9,39],[15,0],[21,32],[7,-33],[-3,-44],[9,-111],[13,-37],[21,-6],[21,-79],[13,-35],[2,-44]],[[27075,60636],[-108,-317],[-37,-39],[-22,-41],[-19,-49],[-25,-45],[0,-86],[-16,-39],[-12,-2],[-12,-33],[3,-59],[-6,-45],[-25,-36],[-29,-4],[-16,-80],[-2,-50],[-16,-4],[-33,-35],[-39,-52],[-21,2],[-33,-49],[-8,-27]],[[26599,59546],[-4,-21],[-83,8],[-79,2],[-76,5],[-83,11],[-51,16],[-74,9],[-55,-14],[-96,8],[-56,10],[-83,22],[-49,4],[-16,-22],[-7,22],[-146,-12],[-92,-2],[-114,-8],[1,35],[-61,17],[10,-147],[-6,-64],[-137,6],[-126,0],[-84,6],[-33,-10]],[[24980,59425],[-15,1]],[[28739,61120],[-14,0]],[[28725,61120],[-1,72],[8,28],[11,-40],[-4,-60]],[[28711,61320],[2,79],[11,13],[7,-30],[5,-118],[-15,21],[4,27],[-14,8]],[[28627,62072],[5,20],[5,-46],[-10,26]],[[29002,61700],[-1,-43],[-9,-105],[-5,-15],[-20,-211],[-18,-120]],[[28949,61206],[-107,-38],[-6,-55],[-6,4]],[[28830,61117],[-13,30],[-19,-4],[-22,-64],[-9,-1],[-1,67],[7,70],[17,28],[-17,2],[2,45],[11,40],[-21,9],[-12,-33],[-4,28],[5,58],[26,27],[-6,39],[-9,-13],[-4,36],[15,112],[-15,-24],[-7,-47],[0,-60],[-8,-1],[-11,77],[11,9],[-1,53],[-8,10],[-4,-49],[-9,-33],[6,-27],[-9,-62],[-4,29],[-17,-23],[-9,12],[-16,83],[-9,13],[2,43],[-24,151],[20,14],[5,39],[-8,-7],[-9,51],[8,40],[12,22],[6,-25],[12,26],[1,-36],[22,-9],[13,-39],[4,10],[-16,69],[-17,14],[-8,42],[-7,-3],[-16,77],[-5,-28],[-12,20],[-1,-59],[-7,8],[3,101],[18,92],[14,-45],[8,10],[-3,124],[-8,17],[-17,-47],[-12,4],[1,-48],[-12,-17],[4,104],[16,101],[7,-51],[21,-11],[11,31],[-6,54],[11,55],[-16,-9],[-3,-52],[4,-31],[-12,17],[3,63],[-6,59],[-7,14],[16,136],[12,42],[-2,24],[14,25],[7,37],[30,-6],[-11,24],[18,70],[-10,6],[12,122],[-35,-24],[-6,-48],[12,-24],[4,-32],[-12,-14],[-34,-97],[-7,31],[7,54],[-8,28],[0,-44],[-9,-51],[8,-34],[-7,-46],[-6,96],[-15,14],[6,-103],[-8,8],[-6,-42],[12,-22],[-21,-44],[-7,-28],[-13,8],[-2,26],[-22,46],[3,-46],[9,-13],[2,-41],[27,-54],[2,-67],[-5,-25],[13,-48],[-23,-45],[7,-37],[-3,-40],[-9,4],[-7,-55],[6,-53],[-17,-58],[9,-50],[-2,-54],[6,-73],[-2,-89],[7,-65],[22,-80],[8,-62],[-9,-45],[-14,7],[9,-42],[9,22],[8,-14],[-7,-47],[4,-48],[18,-92],[-5,-22],[5,-97],[-9,19],[-11,58],[-8,4],[-5,64],[-8,-9],[-2,-57],[-7,38],[-8,-3],[-5,48],[-12,45],[-23,23],[-35,3],[-8,129],[-8,13],[-4,-31],[10,-68],[-2,-22],[-22,43],[-2,34],[-13,31],[-12,114],[-20,-44],[-33,-56],[-12,27],[-7,115],[11,82],[15,57],[20,30],[-5,10]],[[28423,61914],[-1,45],[7,27],[18,25],[1,85]],[[28426,62262],[-9,37],[-20,6],[-8,17],[1,48],[-26,42],[-34,15],[-6,39],[-10,13],[1,58],[9,18],[7,49],[-23,43],[-6,45],[-15,-1],[-16,25],[-13,-3]],[[26327,70327],[8,17],[9,-60],[65,-63],[-17,-58],[-23,18],[-14,61],[-28,85]],[[26120,70229],[5,40],[7,-20],[-12,-20]],[[26084,70289],[21,-39],[-4,-36],[-19,38],[2,37]],[[26055,70019],[7,48],[3,69],[6,15],[1,57],[18,-7],[-1,-85],[4,-83],[-19,-44],[-19,30]],[[26035,70180],[13,8],[-5,-54],[-7,1],[-1,45]],[[25984,69839],[13,-17],[1,-59],[-14,76]],[[25933,69486],[6,23],[19,-25],[-6,-96],[-17,52],[-2,46]],[[25908,69335],[11,44],[6,-47],[-17,3]],[[25759,70041],[20,-64],[-8,-22],[-4,36],[-14,43],[6,7]],[[25722,65552],[30,68],[27,87],[37,261],[34,146],[19,134],[10,99],[10,176],[-1,58],[6,87],[-1,163],[-6,182],[-11,120],[-35,230],[-11,94],[-12,138],[-17,119],[0,48],[22,102],[7,50],[1,77],[-9,134],[-14,90],[4,32],[20,51],[24,151],[21,112],[4,124],[9,134],[-11,112],[1,33],[27,43],[20,15],[6,93],[-2,74],[10,36],[13,-18],[16,80],[18,-35],[17,13],[8,32],[9,86],[10,16],[15,94],[11,47],[9,-7],[12,35],[3,-39],[-19,-32],[-3,-42],[12,-81],[-23,-81],[13,19],[0,-74],[-6,-7],[-8,-84],[7,-95],[8,-2],[19,145],[3,98],[13,20],[-8,-158],[-15,-44],[-6,-67],[14,-14],[8,65],[7,13],[22,135],[5,78],[-1,56],[4,82],[-6,85],[5,94],[17,49],[10,3],[18,48],[18,16],[25,-7],[26,14],[12,20],[-1,33],[-33,17],[-14,47],[-8,114],[16,75],[13,14],[20,69],[-2,31],[-18,27],[60,-15],[7,49],[61,-102],[26,-58],[13,20],[11,-16],[13,10],[32,-34],[24,-85],[3,-57],[17,-27],[33,4],[8,-9],[29,-77],[23,-7],[34,-71],[29,6],[21,-78],[11,-25],[-9,-27],[15,-96],[11,-30],[14,-133],[-20,21],[-16,34],[-15,-41],[4,-110],[12,-44],[21,-26],[5,-59],[1,-98],[7,-37],[-4,-71],[-8,-67],[2,-65],[-5,-111],[-1,-121],[-12,-15],[-14,-64],[-24,2],[-8,-30],[-8,-108],[-4,-115],[-19,-5],[-8,-19],[0,-49],[-42,-6],[-13,-35],[-9,-76],[-5,-124],[-8,-42],[13,-91],[16,-32],[9,33],[5,-38],[20,-21],[13,-38],[10,16],[28,120],[14,0],[7,25],[-7,51],[9,44],[9,87],[4,-50],[19,31],[5,29],[-21,31],[24,-3],[11,24],[5,41],[23,10],[34,28],[9,45],[31,30],[11,-30],[23,-25],[15,-39],[17,-123],[10,-37],[7,-97],[5,-208],[17,-178],[4,-247],[10,-143],[18,-110],[2,-48],[-11,-46],[-7,-145],[4,-47],[-12,-113],[-4,-67],[-18,-66],[-15,4],[-12,-42],[1,66],[-9,27],[10,16],[15,62],[-14,26],[-15,-5],[-19,-34],[-7,-32],[9,-27],[2,-45],[-15,4],[-11,-52],[1,-84],[-7,-77],[-17,-53],[-30,-25],[-18,-97],[2,-127],[-3,-44],[-15,-25],[-1,-70],[-16,-39],[-6,-39],[-13,-4],[-7,-65],[-11,-11],[-17,-72],[5,-79],[-8,-9]],[[26661,65520],[-86,-11],[-167,-20],[-124,-12]],[[25045,72671],[21,69],[95,141],[7,-2],[43,98],[31,42],[6,-11],[28,29],[-1,-28],[-12,-16],[-30,-80],[0,-30],[-25,-55],[-51,-53],[-42,-66],[2,-20],[23,0],[-59,-73],[-18,3],[-18,52]],[[24721,71146],[19,40],[12,3],[39,49],[38,34],[31,77],[19,64],[16,27],[33,17],[15,-17],[29,27],[22,-3],[52,75],[30,94],[22,5],[29,23],[10,39],[5,51],[25,65],[14,16],[30,82],[23,23],[21,56],[11,54],[20,52],[58,85],[56,25],[50,-7],[23,-39],[1,-45],[-11,5],[-17,-24],[-19,13],[-21,-10],[5,-47],[-32,-57],[-30,-95],[-19,-20],[-5,-74],[-7,9],[-7,-52],[-14,-26],[-5,-67],[-12,-48],[-9,-6],[-12,-164],[6,-52],[-9,-35],[11,3],[20,87],[3,44],[7,-13],[29,80],[28,43],[-12,-55],[-12,-24],[-15,-77],[30,84],[26,18],[14,-13],[37,1],[15,-30],[8,8],[17,-35],[8,-39],[15,11],[22,-63],[3,-61],[17,-49],[6,-47],[14,-49],[19,-15],[-2,-79],[11,-28],[26,-15],[42,10],[25,43],[11,-8],[14,-72],[12,-27],[19,-4],[8,46],[16,-7],[9,-38],[4,69],[-7,53],[16,20],[7,-32],[-6,-56],[17,-26],[26,72],[40,62],[59,110],[11,-21],[61,42],[46,-16],[35,-3],[30,7],[62,85],[24,12],[30,-7],[32,14],[-22,-84],[-2,-135],[2,-45],[-8,-19],[9,-51],[16,-8],[9,16],[6,-26],[15,3],[17,-28],[34,49],[13,-4],[11,-46],[-1,-35],[25,28],[7,-7],[10,65],[19,24],[23,-19],[11,9],[8,39],[27,-5],[5,-30],[-10,-100],[7,-120],[1,-95],[-29,-2],[-8,-65],[15,-12],[5,21],[15,-4],[8,-38],[19,-19],[-13,-40],[24,-75],[12,-1],[20,-45],[8,38],[14,-35],[8,26],[-16,100],[14,-15],[41,13],[12,-15],[14,-91],[16,-31],[-10,-64],[-14,-20],[-27,39],[-31,-16],[-31,42],[-11,-12],[-27,1],[-27,23],[-60,-26],[-13,-28],[-37,69],[-15,48],[-13,-7],[-13,30],[-10,-41],[2,-51],[-15,-32],[1,-45],[9,-63],[-12,-20],[-24,42],[-3,31],[-21,37],[-5,30],[-22,64],[-38,46],[-13,-7],[-33,49],[-18,-5],[-13,23],[-5,-20],[-19,11],[-25,-75],[-17,-73],[-9,-8],[-32,23],[-23,-15],[-8,-22],[2,-34],[-23,37],[-21,17],[-24,-14],[-10,11],[-23,-24],[-13,-42],[-2,-63],[-9,-72],[-14,4],[-7,-39],[-22,-15],[-6,-46],[-13,-3],[0,-45],[-12,-9],[4,-61],[-20,32],[-9,40],[12,27],[1,34],[11,31],[1,40],[13,-4],[15,87],[-3,43],[-12,10],[-18,-75],[-38,24],[3,-51],[-13,-47],[-5,-56],[-30,-31],[-5,-27],[-6,39],[3,55],[-4,67],[-8,32],[-10,-19],[-5,-120],[3,-12],[-31,-55],[-26,-129],[-17,-146],[-19,-65],[-20,-112],[-41,-174],[6,-33]],[[25508,69434],[-19,14],[-8,47],[-13,28],[-2,29],[15,118],[11,48],[-2,34],[-11,25],[-16,-47],[-27,-10]],[[25436,69720],[0,0]],[[25436,69720],[-7,47],[7,24],[-3,38],[13,34],[6,40],[-3,47],[8,69],[-14,75],[12,13],[-8,44],[-13,18],[-6,33],[-24,4],[-9,43],[-21,-18],[-18,45],[17,52],[-7,21],[0,47],[-40,48],[-14,-14],[-24,47],[-12,-15],[-21,21],[-2,25],[-27,-2],[-3,-32],[-14,0],[-4,29],[-17,16],[-12,-13],[-86,142],[-287,231],[1,27],[-28,167],[-27,16],[-10,24]],[[24739,71113],[0,0]],[[24739,71113],[-12,-6],[-6,39]],[[25252,52115],[30,-13],[-14,-20],[-12,9],[-4,24]],[[25179,52148],[16,13],[30,-29],[6,-15],[-24,5],[-28,26]],[[25119,52114],[15,7],[15,31],[-4,-29],[-21,-27],[-5,18]],[[25071,52140],[21,-1],[8,13],[-5,-43],[-10,-7],[-17,26],[3,12]],[[24751,57677],[229,-2],[156,1],[202,1]],[[25284,52292],[-4,-32],[-7,15],[-10,-40],[-18,27],[-13,-15],[-5,30],[-18,7],[-18,-23],[-23,49],[-2,-28],[-21,38],[-22,-3],[-31,-27],[-28,-42],[-30,-33],[4,54],[-10,30],[-14,-27],[9,-17],[1,-40],[-25,-57],[-8,-80],[-9,10],[-13,-16]],[[24969,52072],[-12,0],[-13,50],[-4,66],[0,69],[-15,77],[0,54],[-10,43],[-11,19],[-4,39],[-10,34],[-4,95],[-8,14],[10,88],[-4,36],[7,25],[9,125],[7,19],[-1,45],[7,22],[-7,36],[-165,-2],[-134,-1],[-226,0],[13,21],[7,58],[-16,50],[-1,28],[10,46],[-3,41],[-12,30],[1,38],[18,-7],[17,20],[2,43],[-12,37],[-1,45],[-7,16],[9,39],[4,-50],[8,-29],[9,7],[0,29],[-13,75],[-1,74],[20,18],[12,35],[-4,32],[-18,-13],[-9,30],[5,38],[10,-28],[18,0],[1,106],[11,35],[23,5],[4,18],[-29,11],[7,94],[12,11],[2,-43],[7,-17],[5,28],[-6,21],[24,78],[-2,50],[7,25],[19,14],[0,50],[-19,26],[5,25],[13,-39],[5,36],[12,22],[9,69],[-15,24],[2,-62],[-32,11],[2,79],[27,20],[7,27],[14,-31],[5,42],[-2,53],[12,-8],[16,79],[-4,18],[-6,-40],[-23,17],[0,58],[8,20],[-8,35],[-10,-20],[-23,49],[3,58],[5,1],[17,-48],[10,7],[-5,26],[-21,50],[14,31],[8,37],[-7,37],[-6,-46],[-20,-26],[-6,14],[-3,52],[9,38],[16,33],[2,27],[-31,30],[1,71],[5,37],[21,52],[2,39],[-9,72],[-11,-4],[1,-67],[-14,-26],[-9,22],[3,48],[10,50]],[[17580,73980],[234,-2],[232,3],[190,-5],[190,2],[348,-2],[211,0],[232,2],[328,0],[141,0],[292,0],[227,1],[143,-1],[294,0],[114,0],[167,1]],[[18973,68711],[-21,23],[-6,49],[-24,59],[2,43],[-28,117],[-17,36],[-8,-52],[-20,-3],[5,-33],[-16,-98],[15,-64],[-32,26],[-9,-16],[-24,13],[-3,-19],[-30,-40],[-13,63],[-22,-8],[-13,-25],[-10,13],[-21,-30],[-8,22],[-14,-8],[-12,35],[-16,7],[-9,-35],[-9,0],[-2,-61],[-8,-45],[-24,38],[-8,-20],[-11,24],[-33,2],[-17,22],[-17,-23],[-15,-72],[6,-53],[-9,-22],[-11,44],[-18,24],[-15,40],[-6,53],[5,34],[-21,81],[9,48],[-5,50],[-18,109],[-32,58],[-26,-44],[-4,40],[-28,53],[-11,97],[14,13],[2,55],[-4,61],[-19,39],[2,26],[-17,15],[-7,73],[-24,73],[-1,35],[-14,54],[2,70],[-8,19],[-6,57],[6,30],[-1,46],[-19,0],[7,95],[-15,25],[-12,-2],[2,26],[-10,44],[-15,26],[-9,-13],[2,-41],[-15,-35],[-19,-82],[-19,-26],[-13,12],[-3,-58],[-24,-42],[-5,36],[-14,22],[-13,60],[-25,0],[4,53],[-8,36],[18,37],[1,48],[-19,74],[18,89],[25,1],[7,44],[-13,54],[6,49],[-19,27],[-4,54],[9,58],[-17,33],[2,49],[19,7],[-1,79],[-6,30],[13,24],[1,116],[13,65],[-7,69],[12,3],[10,123],[-3,58],[-8,10],[-26,-23],[-4,-21],[-22,15],[-19,-5],[-8,39],[6,39],[-7,30],[-14,9],[-4,-30],[-15,-21],[-6,17],[6,55],[-34,58],[-16,59],[4,71],[-20,60],[-13,-1],[-6,60],[-19,82],[-17,54],[-12,13],[-5,37],[-11,7],[2,38],[-9,41],[-24,10],[-32,45],[-7,54],[-47,87],[-11,-2],[12,36],[22,8],[3,22],[-16,7],[-5,57],[-11,5],[2,34],[13,32],[-12,55],[2,63],[-13,24],[-7,47],[-8,-6],[-8,88],[-15,21],[-39,152],[-1,279],[1,109],[0,804]],[[29991,69339],[3,68],[18,64],[-3,15],[11,74],[-13,36],[18,11],[4,26],[22,42],[15,-61],[28,-5],[13,70]],[[30213,67064],[-30,-174],[-2,-44]],[[29724,66677],[-9,53],[-6,-10],[-12,102],[9,73],[1,57],[13,10],[8,45],[-6,52],[9,33],[-5,65],[4,138],[12,64],[-6,60],[10,135],[-5,35],[5,74],[15,33],[6,109],[9,44],[19,43],[6,44],[-1,64],[19,67],[0,85],[12,44],[12,69],[0,47],[-10,68],[6,57],[-6,34],[10,61],[35,32],[10,-13],[16,21],[5,52],[24,14],[14,39],[7,45],[16,22],[-6,59],[11,13],[2,73],[-10,38],[-11,102],[15,52],[4,64],[18,75],[-13,89],[11,30]],[[29842,64964],[3,18],[27,22],[-21,-43],[-9,3]],[[29812,64781],[5,20],[11,-16],[0,-50],[-6,35],[-10,11]],[[29792,64880],[16,16],[-12,-43],[-4,27]],[[29275,64272],[5,-67],[-9,-39],[-38,-78],[-11,-1]],[[28633,68013],[16,50],[-5,-45],[-11,-5]],[[28611,68032],[12,40],[9,-5],[-21,-35]],[[27689,66145],[33,53],[53,111],[29,91],[30,50],[26,25],[11,70],[13,36],[4,52],[36,56],[19,54],[-4,80],[-13,40],[2,43],[-7,37],[-23,35],[1,92],[-18,15],[9,77],[-5,125],[-3,13],[28,22],[38,42],[56,47],[40,20],[33,2],[38,-9],[36,8],[86,-42],[23,-19],[15,-47],[23,-46],[12,-10],[40,49],[35,1],[43,12],[21,-19],[23,-1],[14,25],[30,20],[18,40],[9,1],[19,80],[30,64],[10,8],[19,54],[14,5],[20,-15],[17,19],[9,53],[2,87],[-9,180],[-20,40],[11,50],[14,11],[2,-33],[21,41],[-3,43],[-19,47],[-22,-15],[5,29],[-15,51],[-15,1],[1,80],[16,115],[19,5],[23,42],[0,48],[18,22],[27,55],[9,-5],[16,29],[25,75],[4,46],[12,51],[41,121],[31,100],[56,141],[-1,12],[68,109],[26,62],[18,0],[22,37],[27,-29],[19,10],[91,-8],[53,-1],[107,14],[24,-1],[93,10]],[[29478,69336],[1,-109],[-7,-30],[-4,-63],[13,-57],[-10,-55],[-2,-92],[-4,-31],[4,-70],[19,-88],[4,-69],[-12,-80],[7,-114],[-4,-36],[-19,-63],[-5,-89],[-8,-79],[9,-27],[-1,-103],[10,-67],[-5,-64],[12,-57],[-16,-97],[-7,-114],[10,-26],[7,66],[19,0],[2,-53],[13,-29],[-2,-343],[-6,-422],[0,-74],[-4,-37],[8,-65]],[[29390,64649],[-7,-42],[-21,-42],[-2,-79],[-13,2],[9,-60],[18,87],[11,-15],[10,42],[21,27],[18,2],[4,33],[22,-30],[2,41],[9,-28],[20,-8],[18,-23],[23,28],[2,43],[17,8],[10,-12],[75,3],[39,20],[14,18],[30,63],[9,40],[12,13],[13,50],[21,21],[12,-2],[-18,-52],[-9,-6],[15,-31],[5,-44],[17,-12],[11,25],[16,-72],[15,17],[23,48],[2,28],[17,11],[12,-12],[-5,-21],[-67,-94],[-78,-123],[-50,-62],[-81,-93],[-53,-78],[-43,-41],[-27,-12],[-6,15],[-64,-60],[-61,10],[-46,-55],[3,38],[-23,-2],[3,25],[-11,39],[7,35],[-8,36]],[[26861,65369],[16,17],[-2,-36],[-14,19]],[[26831,65420],[6,90],[11,-35],[-3,-35],[-14,-42],[0,22]],[[26661,65520],[1,-26],[21,-28],[13,17],[37,-82],[25,-20],[11,-21],[18,-66],[19,-29],[18,23],[2,50],[7,13],[14,-55],[19,2],[-1,-37],[29,-96],[16,-33],[22,-21],[41,57],[22,4],[17,35],[51,60],[37,-38],[19,15],[20,-9],[29,61],[29,86],[8,10],[16,58],[44,102],[10,1],[67,108],[30,17],[24,34],[65,69],[17,24]],[[15490,70789],[21,10],[13,-45],[-1,-55],[17,-42],[25,-1],[32,51],[14,-4],[59,-119],[7,-61],[18,-81],[1,-57],[7,-52],[-3,-67],[10,-88],[-4,-41],[3,-50],[33,-54],[46,-35],[11,-19],[17,14],[13,-32],[18,-5],[23,39],[23,7],[54,83],[12,45],[15,16],[21,-15],[29,12],[28,26],[19,-30],[17,-9],[18,14],[34,-40],[9,-75],[14,4],[19,50],[34,4],[13,-16],[11,34],[47,51],[15,35],[21,-9],[21,-51],[22,6],[34,26],[20,5],[11,42],[28,27],[29,46],[46,27],[37,10],[13,57],[14,23],[24,-22],[64,39],[17,-14],[19,6],[28,42],[11,36],[163,1],[250,-3],[164,-3]],[[17338,70482],[16,-107],[11,-27],[16,-75],[18,5],[10,-47],[19,-2],[16,-48],[0,-53],[13,-49],[7,-54],[-24,-108],[-1,-55],[-10,-23],[-24,-150],[1,-36],[-9,-51],[-7,-116],[-13,-40],[-6,-53],[-14,-44],[-3,-51],[7,-58],[-9,-68],[-18,-76],[0,-21],[-32,-49],[-14,-93],[-8,-97],[-10,-66],[-18,-48],[3,-66],[-8,-36],[15,-69],[-8,-56],[13,-35],[19,25],[16,-59],[20,12],[2,-53],[18,-17],[1,-31],[-10,-62],[-12,-17],[1,-42],[11,-32],[-1,-43],[-12,-81],[0,-54],[-11,-11],[-2,-59],[0,-2105]],[[17307,65831],[-166,-2],[-273,-5],[-26,-3],[-143,2],[-220,2]],[[15305,65829],[-21,55],[-15,55],[-7,69],[2,33],[-14,81],[2,32],[-7,63],[-2,126],[13,147],[-7,107],[-17,87],[-11,2],[-11,123],[15,90],[12,96],[6,83],[0,52],[9,80],[6,99],[-6,42],[17,53],[8,43],[16,132],[15,193],[15,283],[7,225],[4,188],[-2,8],[10,197],[-1,69],[7,184],[0,92],[-5,39],[8,91],[12,227],[8,117],[4,157],[-3,66],[3,109],[-4,69],[5,24],[5,176],[-1,76],[-11,41],[6,87],[-2,83],[-7,45],[16,36],[1,109],[-19,193],[27,-79],[14,-14],[-3,38],[23,10],[7,17],[11,-28],[12,31],[15,0],[20,51]],[[26599,59546],[33,-4],[78,1],[5,-5],[157,-1],[61,3],[151,-2],[3,26],[77,-5],[-8,-28]],[[18139,65823],[61,-6],[262,13],[192,2],[5,-5],[196,3],[118,3]],[[18136,60011],[0,880],[1,11],[-1,272],[1,173],[-1,298],[1,318],[0,1661],[1,149],[0,628],[1,266],[0,1156]],[[28738,60998],[7,-15],[-7,-27],[0,42]],[[28949,61206],[-16,-79],[-15,-98],[-8,-27],[-5,21],[-15,-7],[-19,-78],[-12,-70],[-11,-126],[1,-64],[-23,-128],[7,-14],[-18,-91],[-12,-79],[-9,-11],[1,-57],[-11,-86],[-18,-64],[-16,2],[4,-35],[-9,-5],[-1,84],[-10,55],[-4,61],[2,70],[9,59],[3,89],[10,105],[4,76],[16,79],[18,110],[-4,34],[21,17],[15,65],[1,28],[-20,21],[25,54]],[[28739,61120],[-11,-44],[-3,44]],[[28423,61914],[-20,-21],[-13,21],[0,-52],[-18,-113],[-4,-52],[2,-76],[15,-59],[29,15],[6,26],[15,0],[12,38],[9,-30],[-6,-74],[19,-64],[0,-49],[35,-59],[25,-2],[7,-28],[6,21],[24,-9],[4,-44],[16,-39],[8,-59],[13,-15],[15,-54],[20,-23],[30,-68],[-5,-65],[-15,-24],[-2,-107],[4,-29],[-11,-46],[13,-23],[-19,-30],[-31,64],[-11,-27],[-7,25],[0,41],[-13,81],[-19,32],[-8,35],[-12,12],[-21,103],[-11,11],[-4,45],[-13,30],[-2,-30],[28,-89],[20,-114],[15,-24],[1,-25],[16,-14],[10,-96],[11,-53],[30,-4],[7,-36],[31,-24],[-14,-29],[-1,-37],[13,-8],[4,22],[8,-41],[5,-110],[-8,-90],[-18,63],[-21,45],[-9,-42],[11,-39],[7,-55],[9,-14],[-22,-24],[-18,-4],[6,-39],[22,11],[-2,-76],[14,12],[4,-31],[12,-20],[6,-49],[-9,-97],[-4,15],[-16,-18],[-15,-34],[-10,68],[-29,61],[-14,45],[4,48],[-13,71],[-22,-9],[-8,-25],[-10,46],[-18,11],[-4,23],[-21,-35],[11,-33],[12,8],[18,-13],[15,-55],[9,-2],[8,58],[8,-119],[1,-67],[22,-19],[25,-82],[1,-65],[27,4],[9,27],[1,-33],[9,-11],[-3,86],[17,6],[13,-29],[35,-36],[17,27],[11,-11],[8,-128],[12,-140],[9,-71],[7,-94]],[[15775,72069],[4,105],[10,72],[12,-52],[-2,-58],[19,-32],[-18,-27],[-5,-26],[-18,-12],[-2,30]],[[15740,73454],[0,40],[20,-41],[-17,-26],[-3,27]],[[15720,73667],[6,14],[26,-115],[-18,42],[-14,59]],[[15715,73495],[8,29],[12,-47],[-15,-33],[-5,51]],[[15707,73080],[13,89],[14,59],[2,55],[16,11],[7,-19],[0,-49],[19,-38],[3,-26],[-15,-19],[-17,15],[-1,-29],[-13,-34],[-14,-7],[3,-24],[23,10],[11,-42],[8,-84],[-4,-14],[10,-100],[8,27],[-5,67],[10,-3],[16,-57],[16,-13],[7,-94],[-8,-58],[-14,13],[-12,86],[-21,-25],[2,30],[-19,44],[3,93],[-5,56],[-18,-4],[-3,30],[-22,54]],[[15649,73739],[11,-4],[34,-53],[-8,-8],[-22,20],[-15,45]],[[15623,73630],[17,26],[2,-33],[-19,7]],[[15618,73982],[15,0],[4,-29],[-17,-2],[-2,31]],[[15586,73509],[7,30],[20,1],[2,-29],[15,-33],[17,-9],[-18,69],[37,108],[12,-2],[37,-58],[-19,-50],[11,-66],[-2,-62],[-11,-25],[4,-69],[-20,-12],[-15,50],[-9,-12],[-22,11],[-31,62],[-6,76],[-9,20]],[[15577,73617],[18,-10],[18,-54],[-30,41],[-6,23]],[[17306,73978],[-1,-290],[0,-441],[-2,-286],[0,-702],[1,-52],[0,-1247],[-7,-48],[20,-76],[8,-54],[0,-63],[12,-40],[-17,-93],[7,-11],[11,-93]],[[15490,70789],[-34,9],[-3,34],[-12,6],[-10,-31],[-13,10],[-19,-51],[-9,7],[-21,74],[-10,8],[-7,-47],[-10,-10],[6,139],[1,124],[-4,165],[13,-61],[-2,-100],[4,-137],[17,0],[1,37],[-10,40],[0,61],[12,-37],[14,83],[-19,116],[11,42],[25,53],[-17,37],[-6,-27],[-18,-2],[4,-23],[-16,4],[-20,44],[-1,55],[-11,130],[8,8],[6,-52],[11,31],[52,63],[-10,27],[-34,23],[-2,45],[-27,14],[-8,-24],[8,-90],[-16,-21],[3,38],[-4,206],[-14,176],[-24,80],[-9,207],[-5,77],[-15,162],[-14,36],[-4,55],[-14,23],[-5,31],[-19,29],[-12,110],[-8,101],[1,53],[-11,56],[12,58],[9,138],[-19,46],[3,22],[17,1],[40,-55],[32,-64],[10,-1],[25,-39],[6,12],[41,-55],[-1,-20],[35,-41],[56,-11],[21,13],[31,-37],[9,19],[10,-18],[24,7],[12,-32],[41,2],[32,71],[-3,-24],[22,-42],[7,-45],[17,17],[17,-5],[-3,-32],[14,-20],[1,-59],[10,6],[3,53],[-14,34],[0,40],[12,28],[21,10],[3,-31],[-15,-34],[10,-50],[7,6],[2,48],[10,14],[8,-100],[-15,-10],[11,-42],[8,-78],[13,-21],[-8,-25],[-16,2],[2,-42],[-17,-36],[-9,-113],[-14,-9],[11,113],[-6,17],[-19,-101],[-4,-53],[-21,-70],[-38,-183],[-13,-119],[12,8],[23,-13],[12,27],[21,17],[3,38],[-44,-62],[-17,27],[42,226],[31,74],[29,28],[3,73],[16,73],[31,68],[-9,97],[22,-40],[14,-187],[-22,0],[3,-40],[11,-14],[-4,-56],[7,-19],[0,-53],[-14,-38],[-1,-38],[15,-16],[-10,-48],[-6,-87],[4,-21],[-10,-57],[7,-49],[-15,-79],[-27,78],[8,96],[-16,-42],[-6,-63],[30,-83],[-10,-16],[1,-48],[-11,-26],[-16,46],[-20,105],[12,37],[1,61],[-7,25],[0,-51],[-12,-57],[7,-72],[-6,-48],[13,14],[11,-66],[27,-22],[11,37],[0,33],[13,16],[8,79],[10,53],[-2,30],[25,-58],[10,25],[-4,36],[27,34],[0,50],[-8,58],[-8,11],[6,35],[-10,40],[-7,71],[22,38],[-24,58],[16,82],[-6,91],[15,46],[9,119],[22,25],[-1,69],[-14,23],[-23,86],[1,74],[-10,49],[-15,4],[3,-24],[-11,-28],[10,-67],[18,-50],[1,-35],[-26,85],[-12,4],[-7,58],[2,77],[18,24],[16,-22],[10,42],[-10,45],[-28,45],[-13,48],[1,39],[-29,-33],[-7,33],[4,45],[-13,-17],[3,39],[24,28],[13,-15],[9,-49],[19,7],[-10,108],[17,6],[5,34],[-21,66],[-5,66],[8,44],[-13,30],[-17,-6],[-11,-41],[9,-44],[-19,40],[8,57],[-10,25],[-9,-14],[-1,65],[-21,54],[11,21],[-5,36],[-13,16],[16,54],[184,0],[97,-6],[145,5],[143,-2],[190,0],[169,0],[165,1],[178,0],[325,-2]],[[25685,69733],[6,80],[31,-17],[-23,-128],[-14,65]],[[25568,69555],[12,14],[2,-63],[-14,23],[0,26]],[[24707,71654],[8,83],[12,4],[-5,-75],[-15,-12]],[[24691,71507],[21,33],[-14,-47],[-7,14]],[[24655,71564],[5,21],[30,29],[5,-13],[-11,-48],[-24,-11],[-5,22]],[[24625,71464],[3,27],[20,41],[1,-19],[-24,-49]],[[24631,71609],[14,-54],[-13,-3],[-8,37],[7,20]],[[24621,71679],[35,36],[11,-55],[14,34],[2,-44],[-16,-9],[-17,-49],[-11,42],[-16,20],[-2,25]],[[24616,71401],[17,18],[32,86],[14,-32],[-30,-33],[5,-35],[-17,-4],[-20,-37],[-1,37]],[[24563,71635],[15,17],[-1,-44],[-14,27]],[[24276,71309],[20,-30],[34,11],[49,52],[19,27],[18,0],[48,70],[25,27],[6,26],[17,-22],[7,33],[25,10],[22,70],[14,-12],[14,35],[10,-4],[24,-81],[-14,-76],[-24,-78],[9,-73],[-16,-35],[-11,-77],[13,-16],[42,73],[5,54],[42,-108],[13,-22],[9,10],[25,-27]],[[25508,69434],[-10,-58],[-1,-80],[-37,-13],[-21,-40],[3,-47],[-11,-59],[-9,-15],[-11,-83],[-12,-42],[-7,-104],[3,-25],[-13,-50],[20,-42],[12,7],[7,53],[26,64],[10,3],[15,63],[0,36],[31,133],[26,36],[11,-7],[11,34],[15,-32],[-6,46],[12,97],[27,109],[7,100],[12,-5],[21,32],[1,59],[17,60],[22,-3],[-2,-87],[-16,-5],[-2,-142],[-12,-40],[-8,4],[-5,-53],[-14,-52],[5,-43],[-13,-39],[4,-26],[-18,-33],[-13,-62],[-8,-87],[-17,-107],[-9,-26],[-9,-62],[-21,-268],[9,-94],[-2,-71],[-12,-41],[-23,-46],[-3,-62],[-8,-37],[-14,-162],[2,-82],[8,-50],[-2,-102],[-21,-118],[-7,-136],[-20,-107],[-9,-156],[8,-76],[-5,-38],[8,-85],[-7,-57],[14,-62],[0,-85],[6,-63],[16,-59],[-4,-89],[-11,-107],[6,-145]],[[2682,386],[26,11],[1,-51],[-9,8],[-8,-28],[-10,60]],[[2636,452],[21,8],[-4,-21],[-13,-12],[-4,25]],[[2313,271],[13,35],[16,2],[19,68],[4,-20],[27,2],[4,-44],[-7,13],[-29,-30],[-23,-89],[-11,47],[-13,16]],[[90204,32599],[5,15],[34,16],[21,137],[6,65],[7,-11],[7,-43],[14,-11],[-10,-88],[-32,-109],[-9,-44],[-2,-111],[-12,-56],[-18,30],[-7,101],[8,50],[-12,59]],[[90597,35570],[10,43],[4,-16],[-8,-45],[-6,18]],[[90537,37432],[5,20],[1,-49],[-6,29]],[[90507,37973],[14,53],[0,59],[11,0],[0,-66],[-9,-13],[-10,-55],[-6,22]],[[90501,34555],[4,28],[2,101],[9,-12],[20,67],[5,-22],[-14,-80],[4,-63],[-13,7],[0,-73],[-12,18],[-5,29]],[[90487,38800],[6,39],[11,-28],[-1,-51],[-8,-23],[-7,25],[-1,38]],[[90486,35993],[20,2],[3,-36],[-19,-8],[-4,42]],[[90472,34420],[4,45],[13,54],[5,-54],[-4,-24],[7,-40],[-2,-61],[-9,-29],[-14,109]],[[90343,33382],[11,51],[21,35],[15,-9],[-2,-35],[-12,-13],[-8,-39],[-11,-6],[-5,23],[-9,-7]],[[28030,56345],[-13,-8],[-36,-51],[-27,-66],[-35,-121],[-18,-79],[-7,-45],[-16,-58],[-14,-93],[-13,-174],[3,-55],[-7,-48],[-14,-47],[-23,-41],[-9,-97],[-17,10],[-17,-16],[-11,39],[-16,-33],[-10,-63],[3,-31],[8,10],[0,-33],[-15,-20],[-18,-45],[-9,-52],[-34,-59],[-10,38],[-11,-7],[-1,-32],[17,-22],[-5,-59],[-25,-52],[-7,-40],[-10,5],[-24,-22],[-17,-59],[-6,18],[-36,-90],[-8,21],[-15,-28],[-2,30],[-13,-1],[-4,-42],[15,-83],[-7,-74],[-32,-62],[-19,-20],[-2,41],[-19,40],[-11,-22],[-2,-31],[12,-15],[14,-59],[-15,-65],[-25,-59],[-9,0],[-17,-67],[5,-21]],[[31708,38299],[11,-21],[12,13],[9,-36],[-17,-36],[-12,19],[-3,61]],[[31642,38028],[49,54],[35,-32],[-18,-26],[-21,-7],[-11,-24],[-8,12],[-17,-17],[-9,40]],[[31637,38350],[7,-14],[0,-44],[-7,58]],[[31170,38320],[15,18],[17,49],[-4,63],[7,32],[14,12],[20,-6],[17,-25],[50,2],[20,-22],[24,26],[18,-5],[25,-25],[8,20],[28,0],[27,-20],[16,1],[7,-19],[6,24],[37,-35],[4,19],[18,-18],[6,7],[31,-33],[14,-49],[7,13],[5,-27],[10,-6],[14,22],[-5,-40],[3,-84],[13,-30],[-7,-43],[-11,19],[3,-28],[-10,2],[-7,-32],[-13,1],[-11,-59],[-7,-83],[-8,-6],[-1,-44],[-25,-46],[-15,-9],[-12,12],[-7,-27],[-10,13],[-21,-43],[-10,9],[-9,-29],[-8,9],[-18,66],[-12,-10],[-7,-34],[-21,60],[-8,0],[-25,-33],[-14,24],[-12,-19],[-25,47],[-7,-39],[-14,-27],[-21,-3],[-12,-18],[-8,41],[-21,8],[-11,-32],[-19,19],[-12,-12],[1,53],[10,31],[-11,12],[3,65],[5,15],[1,75],[7,31],[-10,101],[-13,21],[-9,78]],[[30985,38023],[20,12],[5,-43],[-15,-38],[-12,32],[2,37]],[[31858,38286],[13,39],[11,-4],[15,-28],[-13,-4],[1,-49],[-9,20],[-13,-5],[-5,31]],[[31828,37522],[7,36],[-4,40],[7,30],[10,-13],[8,22],[17,3],[6,-29],[39,5],[2,-18],[-32,-48],[-41,-30],[-19,2]],[[31779,38288],[6,50],[10,-23],[12,26],[19,-21],[33,6],[-2,-23],[-14,-4],[9,-42],[-16,-11],[-15,23],[-7,-20],[-12,49],[-23,-10]],[[17306,73978],[171,1],[103,1]],[[18139,65823],[-119,3],[-36,-2],[-58,9],[-63,-7],[-79,0],[-293,0],[-184,5]],[[29478,69336],[71,5],[115,0],[40,-9],[62,-5],[57,2],[168,10]],[[25149,51924],[13,-63],[5,-76],[-3,-101],[-10,-105],[-4,3],[8,90],[4,100],[-1,46],[-12,106]],[[25020,51931],[11,38],[32,81],[2,-14],[-13,-63],[2,-28],[13,-33],[-15,-50],[-3,47],[-10,-10],[-17,10],[-2,22]],[[24941,51321],[17,10],[-9,-42],[-8,32]],[[24732,50824],[7,27],[13,-65],[-8,-14],[-12,52]],[[24681,50807],[39,-33],[-19,-8],[-20,41]],[[24628,50763],[25,19],[2,-17],[-26,-20],[-1,18]],[[24275,51386],[10,27],[12,-5],[3,26],[22,-6],[23,-61],[9,7],[6,-29],[-15,-36],[-1,-40],[-14,-19],[-59,115],[4,21]],[[24969,52072],[-17,-35],[-8,7],[-17,-56],[-2,-38],[-12,-15],[3,-40],[-28,17],[-11,-45],[5,-68],[18,-10],[13,25],[-4,-59],[8,-34],[15,-19],[13,11],[6,29],[5,101],[-2,13],[24,54],[3,44],[18,-34],[13,6],[0,-21],[-17,-34],[0,-34],[15,-17],[3,-61],[15,14],[11,82],[16,-25],[-4,-55],[-13,0],[-12,-44],[22,2],[-3,-29],[-31,-22],[13,-66],[11,22],[-7,-59],[-9,26],[-14,11],[-12,-55],[-1,-99],[-9,-5],[-6,86],[-11,1],[-2,-66],[13,-58],[-13,33],[-14,5],[-8,-17],[-15,6],[18,-39],[0,-32],[-23,49],[0,-25],[12,-32],[-12,-14],[1,-34],[11,-36],[20,-11],[-1,-22],[12,-24],[-1,-34],[7,-46],[9,30],[5,-21],[22,-2],[16,-34],[3,30],[20,-91],[11,44],[24,-111],[0,-59],[6,-13],[18,28],[7,-41],[-24,-15],[-2,-33],[16,-3],[-8,-52],[-11,24],[-12,-96],[2,-44],[-21,36],[-2,55],[-8,16],[-31,-138],[-15,-41],[7,67],[9,29],[5,48],[9,21],[0,54],[9,23],[-1,51],[-10,24],[-4,-62],[-16,-29],[-12,29],[-14,77],[-34,43],[-10,45],[-56,33],[-12,-14],[-48,-143],[-46,-115],[-7,10],[4,41],[-12,16],[-2,41],[6,3],[-12,100],[-11,27],[-9,-1],[1,-28],[-8,-36],[2,76],[-10,56],[-13,-64],[-14,14],[-7,-22],[-7,31],[-6,-27],[10,-63],[-12,4],[-7,-27],[-4,-54],[-8,7],[-5,-57],[-8,12],[-19,-33],[-6,-76],[-16,16],[5,21],[-13,67],[-18,57],[-11,-13],[-26,21],[-10,33],[-25,12],[-16,25],[-16,60],[12,14],[7,58],[8,-12],[12,-52],[7,22],[-1,-68],[15,-17],[-4,104],[-23,64],[0,42],[-11,7],[-9,-41],[-13,-13],[2,41],[-10,-7],[3,39],[9,28],[-10,40],[-29,-50],[-10,80],[-10,-8],[-6,118],[-26,1],[6,33],[1,85],[-32,16],[-13,-10],[-20,-38],[-7,57],[8,41],[8,-3],[-2,46],[-16,8],[-14,-22],[-9,20],[-2,-40],[-24,-36],[-14,-34],[-6,32],[-18,-16],[0,-32],[9,-30],[18,-8],[-9,-30],[8,-63],[20,21],[5,-18],[-13,-14],[6,-20],[-32,-6],[-26,-49],[-20,-9],[-82,63],[-35,42],[-57,101],[-23,32],[-41,40],[-33,5],[-14,-14],[-36,7],[-58,-25],[-17,-13],[-26,-53]],[[30097,65246],[-20,-46],[-6,102],[2,64],[-10,22],[2,-159],[-17,2],[-2,-35],[-10,-7],[-1,55],[16,95],[8,68],[17,46]],[[30029,65436],[5,7],[11,-52],[-5,-7],[-11,52]],[[30019,65203],[6,51],[-4,23],[5,57],[4,-20],[0,-85],[-11,-26]],[[29960,64853],[11,80],[5,-14],[1,-76],[-17,10]],[[30068,65494],[-3,-45],[-14,-41],[-6,42],[4,35],[-19,54],[-8,40],[5,-129],[-22,17],[12,-39],[1,-75],[-12,-11],[8,-53],[0,-72],[-10,-45],[-8,-73],[-12,6],[-27,-18],[-27,-34],[-38,-30],[-1,16]]]},Vat={AL:"01",Alabama:"01",AK:"02",Alaska:"02",AZ:"04",Arizona:"04",AR:"05",Arkansas:"05",CA:"06",California:"06",CO:"08",Colorado:"08",CT:"09",Connecticut:"09",DE:"10",Delaware:"10",DC:"11","District of Columbia":"11",FL:"12",Florida:"12",GA:"13",Georgia:"13",HI:"15",Hawaii:"12",ID:"16",Idaho:"16",IL:"17",Illinois:"17",IN:"18",Indiana:"18",IA:"19",Iowa:"19",KS:"20",Kansas:"20",KY:"21",Kentucky:"21",LA:"22",Louisiana:"22",ME:"23",Maine:"23",MD:"24",Maryland:"24",MA:"25",Massachusetts:"25",MI:"26",Michigan:"26",MN:"27",Minnesota:"27",MS:"28",Mississippi:"28",MO:"29",Missouri:"29",MT:"30",Montana:"30",NE:"31",Nebraska:"31",NV:"32",Nevada:"32",NH:"33","New Hampshire":"33",NJ:"34","New Jersey":"34",NM:"35","New Mexico":"35",NY:"36","New York":"36",NC:"37","North Carolina":"37",ND:"38","North Dakota":"38",OH:"39",Ohio:"39",OK:"40",Oklahoma:"40",OR:"41",Oregon:"41",PA:"42",Pennsylvania:"42",RI:"44","Rhode Island":"44",SC:"45","South Carolina":"45",SD:"46","South Dakota":"46",TN:"47",Tennessee:"47",TX:"48",Texas:"48",UT:"49",Utah:"49",VT:"50",Vermont:"50",VA:"51",Virginia:"51",WA:"53",Washington:"53",WV:"54","West Virginia":"54",WI:"55",Wisconsin:"55",WY:"56",Wyoming:"56",PR:"72","Puerto Rico":"72",VI:"78",AS:"60",MP:"69",GU:"66"};class Yat extends zR{getRegionField(e){return e.allFields[0]}getColorField(e){return e.allFields[1]}getDataValue(e){if(e.isNumber())return e.value;if(e.isString())if(e.field===this.getRegionField(e.field.parentExplore)){const n=Vat[e.value];return n===void 0?void 0:n}else return e.value;else{if(e.isNull())return;throw new Error("Invalid field type for shape map.")}}getDataType(e){if(e.isAtomicField()){if(e.isDate()||e.isTimestamp())return"nominal";if(e.isString())return e===this.getRegionField(e.parentExplore)?"quantitative":"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for shape map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");if(!e.isArray())throw new Error("Invalid data for shape map");const n=this.getRegionField(e.field),r=this.getColorField(e.field),i=r?this.getDataType(r):void 0,s=r!==void 0?{field:r.name,type:i,axis:{title:Od(this.options,r,void 0,this.timezone)},scale:Jl(i,!1)}:void 0,o=this.mapData(e).filter(u=>u[n.name]!==void 0);return{...this.getSize(),data:{values:o},projection:{type:"albersUsa"},layer:[{data:{values:yP,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"#efefef",stroke:"white"}},{transform:[{lookup:n.name,from:{data:{values:yP,format:{type:"topojson",feature:"states"}},key:"id"},as:"geo"}],mark:"geoshape",encoding:{shape:{field:"geo",type:"geojson"},color:s}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}}const tO=class tO extends Nd{create(e,n,r,i,s,o){return new Yat(e,n,r,s,o)}get rendererName(){return"shape_map"}};tO.instance=new tO;let EP=tO;class Kat extends zR{getDataValue(e){if(e.isNull()||e.isNumber()||e.isString())return e.value;throw new Error("Invalid field type for segment map.")}getDataType(e){if(e.isAtomicField()){if(e.isString())return"nominal";if(e.isNumber())return"quantitative"}throw new Error("Invalid field type for segment map.")}getVegaLiteSpec(e){if(e.isNull())throw new Error("Expected struct value not to be null.");const n=e.field.allFields,r=n[0],i=n[1],s=n[2],o=n[3],u=n[4],a=u?this.getDataType(u):void 0,l=u!==void 0?{field:u.name,type:a,axis:{title:Od(this.options,u,void 0,this.timezone)},scale:Jl(a,!1)}:void 0;return{...this.getSize(),data:{values:this.mapData(e)},projection:{type:"albersUsa"},layer:[{data:{values:yP,format:{type:"topojson",feature:"states"}},mark:{type:"geoshape",fill:"lightgray",stroke:"white"}},{mark:"line",encoding:{latitude:{field:r.name,type:"quantitative"},longitude:{field:i.name,type:"quantitative"},latitude2:{field:s.name,type:"quantitative"},longitude2:{field:o.name,type:"quantitative"},color:l}}],background:"transparent",config:{axis:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},legend:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500,titleColor:"var(--malloy-title-color, #505050)",labelColor:"var(--malloy-label-color, #000000)",titleFontSize:12},header:{labelFont:"var(--malloy-font-family, Roboto)",titleFont:"var(--malloy-font-family, Roboto)",titleFontWeight:500},mark:{font:"var(--malloy-font-family, Roboto)"},title:{font:"var(--malloy-font-family, Roboto)",subtitleFont:"var(--malloy-font-family, Roboto)",fontWeight:500}}}}}const nO=class nO extends Nd{create(e,n,r,i,s,o){return new Kat(e,n,r,s,o)}get rendererName(){return"segment_map"}};nO.instance=new nO;let AP=nO;var Xat=Gn("<div>");const Jat=[gP.instance,mP.instance,EP.instance,AP.instance];function Zat(t){const e=oA(),n=()=>{var i;return(i=Jat.find(s=>s.rendererName===t.type))==null?void 0:i.create(document,{size:oa(e.rootField)===oa(t.data.field)?"large":"medium"},{dataStyles:{}},t.data.field,{})};let r;return Ap(async()=>{if(r&&n()){const i=await n().render(t.data);r.replaceChildren(i)}}),(()=>{var i=Xat(),s=r;return typeof s=="function"?Sp(s,i):r=i,i})()}function cA(t,e=2){return`${"0".repeat(e-1)}${t}`.slice(-e)}function Fce(t){const e=t.getUTCFullYear(),n=cA(t.getUTCMonth()+1),r=cA(t.getUTCDate());return`${e}-${n}-${r}`}function elt({field:t,dataColumn:e}){if(!t.isAtomicField())throw new Error(`Time renderer error: field ${t.name} is not an atomic field`);if(!t.isDate()&&!t.isTimestamp())throw new Error(`Time renderer error: field ${t.name} is not a date or timestamp`);if(t.isDate()){const n=e.value;return Fce(n)}if(t.isTimestamp()){const n=e.value,r=Fce(n),i=cA(n.getUTCHours()),s=cA(n.getUTCMinutes()),o=cA(n.getUTCSeconds()),u=`${i}:${s}:${o}`;return`${r} ${u}`}return""}function VR(t,e){const n=e??t.tagParse().tag;return!t.isExplore()&&t.isAtomicField()?n.has("link")?"link":n.has("image")?"image":"cell":tB(n,"list","list_detail")?"list":tB(n,"bar_chart")?"chart":n.has("dashboard")?"dashboard":n.has("line_chart")?"line_chart":n.has("scatter_chart")?"scatter_chart":n.has("shape_map")?"shape_map":n.has("segment_map")?"segment_map":"table"}const YR="∅";function yp(t){const{field:e,dataColumn:n,resultMetadata:r,tag:i,customProps:s={}}=t,o=VR(e,i);let u="";const a=s[o]||{};switch(o){case"cell":{const l=n.value;qV(e,l)?u=yZe(e,l):l===null?u=YR:HV(e,l)?u=l:e.isAtomicField()&&(e.isDate()||e.isTimestamp())?u=elt(t):u=String(l);break}case"link":{u=AZe(e,n);break}case"list":{u=Bat(t);break}case"image":{u=Pat(t);break}case"chart":{u=Pt(hat,dO({field:e,get data(){return r.getData(n)},metadata:r},a));break}case"dashboard":{if(n.isArray())u=Pt(zat,{data:n});else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the dashboard renderer for field ${n.field.name}`);break}case"line_chart":case"scatter_chart":case"shape_map":case"segment_map":{if(n.isArray())u=Pt(Zat,{type:o,data:n});else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the ${o} renderer for field ${n.field.name}`);break}case"table":{if(n.isArrayOrRecord())u=Pt(Lat,dO({data:n},a));else if(n.isNull())u=YR;else throw new Error(`Malloy render: wrong data type passed to the table renderer for field ${n.field.name}`);break}default:try{u=String(n.value)}catch{console.warn("Couldnt get value for ",e,n)}}return{renderAs:o,renderValue:u}}function tlt(){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 nlt(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=oa(u);return e.set(u,a),a},r=tlt(),i=t.data.field,s={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>s.fields[n(u)],getData:r.get,modelTag:t.modelTag,resultTag:t.tagParse().tag,rootField:i},o=s.getFieldKey(i);return s.fields[o]={field:i,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null,renderAs:VR(i,t.tagParse().tag)},wce(t.data.field,s),Lce(t.data,s),Object.values(s.fields).forEach(u=>{const a=u.field;a.isExploreField()?Ice(a,a.tagParse().tag,s):a.isExplore()&&Ice(a,t.tagParse().tag,s)}),s}function wce(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,renderAs:VR(n)},n.isExploreField()&&wce(n,e)}}const Lce=(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(qV(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(HV(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);l.isArray()&&Lce(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function Ice(t,e,n){const r=n.field(t);if(tB(e,"bar","bar_chart")){const i=f7e(t,e);r.vegaChartProps=EKe(i,{field:t,metadata:n})}}function rlt(t,{element:e}){const n=xi(()=>t.result?t.result:t.queryResult&&t.modelDef?new zP.Result(t.queryResult,t.modelDef):null);return Pt(UP,{get when(){return n()},get children(){return Pt(ilt,{get result(){return n()},element:e})}})}function ilt(t){const e=xi(()=>nlt(t.result)),n=()=>{const i=e().modelTag,s=e().resultTag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};Ap(()=>{if(t.element){const i=slt(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>yp({field:t.result.resultExplore,dataColumn:t.result.data,resultMetadata:e(),tag:n().resultTag});return Pt(Ace.Provider,{get value(){return e()},get children(){return r().renderValue}})}function Fo(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 slt(t,e){const n={},r=Fo("tableRowHeight",e,t),i=Fo("tableBodyColor",e,t),s=Fo("tableFontSize",e,t),o=Fo("tableHeaderColor",e,t),u=Fo("tableHeaderWeight",e,t),a=Fo("tableBodyWeight",e,t),l=Fo("tableBorder",e,t),c=Fo("tableBackground",e,t),f=Fo("tableGutterSize",e,t),x=Fo("tablePinnedBackground",e,t),h=Fo("tablePinnedBorder",e,t),p=Fo("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 olt=`: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;