!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-util"),require("vega-expression"),require("vega-functions"),require("vega-event-selector"),require("vega-scale"),require("vega-dataflow")):"function"==typeof define&&define.amd?define(["exports","vega-util","vega-expression","vega-functions","vega-event-selector","vega-scale","vega-dataflow"],t):t((e=e||self).vega={},e.vega,e.vega,e.vega,e.vega,e.vega,e.vega)}(this,(function(e,t,n,i,a,r,l){"use strict";function o(e){return+e||0}var s="outer",u=["value","update","init","react","bind"];function d(e,n){t.error(e+' for "outer" push: '+t.stringValue(n))}function c(e,t){var n=e.name;if(e.push===s)t.signals[n]||d("No prior signal definition",n),u.forEach((function(t){void 0!==e[t]&&d("Invalid property ",t)}));else{var i=t.addSignal(n,e.value);!1===e.react&&(i.react=!1),e.bind&&t.addBinding(n,e.bind)}}function f(e,a,r){var l,o,s={};try{e=t.isString(e)?e:t.stringValue(e)+"",l=n.parse(e)}catch(n){t.error("Expression parse error: "+e)}return l.visit((function(e){if(e.type===n.CallExpression){var t=e.callee.name,r=i.codegenParams.visitors[t];r&&r(t,e.arguments,a,s)}})),(o=i.codeGenerator(l)).globals.forEach((function(e){var n=i.SignalPrefix+e;!t.hasOwnProperty(s,n)&&a.getSignal(e)&&(s[n]=a.signalRef(e))})),{$expr:r?r+"return("+o.code+");":o.code,$fields:o.fields,$params:s}}function p(e,t,n,i){this.id=-1,this.type=e,this.value=t,this.params=n,i&&(this.parent=i)}function g(e,t,n,i){return new p(e,t,n,i)}function m(e,t){return g("operator",e,t)}function h(e){var t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function y(e,t){return t?{$field:e,$name:t}:{$field:e}}var v=y("key");function b(e,t){return{$compare:e,$order:t}}var x="descending";function k(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}var S="scope",$="view";function O(e){return e&&e.signal}function R(e){if(O(e))return!0;if(t.isObject(e))for(var n in e)if(R(e[n]))return!0;return!1}function j(e,t){return null!=e?e:t}function w(e){return e&&e.signal||e}var z="timer";function V(e,n){return(e.merge?D:e.stream?P:e.type?_:t.error("Invalid stream specification: "+t.stringValue(e)))(e,n)}function D(e,t){var n=W({merge:e.merge.map(e=>V(e,t))},e,t);return t.addStream(n).id}function P(e,t){var n=W({stream:V(e.stream,t)},e,t);return t.addStream(n).id}function _(e,t){var n,i,a;return e.type===z?(n=t.event(z,e.throttle),e={between:e.between,filter:e.filter}):n=t.event((a=e.source)===S?$:a||$,e.type),i=W({stream:n},e,t),1===Object.keys(i).length?n:t.addStream(i).id}function W(e,n,i){var a,r,l,o,s=n.between;return s&&(2!==s.length&&t.error('Stream "between" parameter must have 2 entries: '+t.stringValue(n)),e.between=[V(s[0],i),V(s[1],i)]),s=n.filter?[].concat(n.filter):[],(n.marktype||n.markname||n.markrole)&&s.push((a=n.marktype,r=n.markname,l=n.markrole,(o="event.item")+(a&&"*"!==a?"&&"+o+".mark.marktype==='"+a+"'":"")+(l?"&&"+o+".mark.role==='"+l+"'":"")+(r?"&&"+o+".mark.name==='"+r+"'":""))),n.source===S&&s.push("inScope(event.item)"),s.length&&(e.filter=f("("+s.join(")&&(")+")").$expr),null!=(s=n.throttle)&&(e.throttle=+s),null!=(s=n.debounce)&&(e.debounce=+s),n.consume&&(e.consume=!0),e}var E="var datum=event.item&&event.item.datum;";function C(e,n,i){var r=e.events,l=e.update,o=e.encode,s=[],u={target:i};r||t.error("Signal update missing events specification."),t.isString(r)&&(r=a.selector(r,n.isSubscope()?S:$)),r=t.array(r).filter(e=>e.signal||e.scale?(s.push(e),0):1),s.length>1&&(s=[L(s)]),r.length&&s.push(r.length>1?{merge:r}:r[0]),null!=o&&(l&&t.error("Signal encode and update are mutually exclusive."),l="encode(item(),"+t.stringValue(o)+")"),u.update=t.isString(l)?f(l,n,E):null!=l.expr?f(l.expr,n,E):null!=l.value?l.value:null!=l.signal?{$expr:"_.value",$params:{value:n.signalRef(l.signal)}}:t.error("Invalid signal update specification."),e.force&&(u.options={force:!0}),s.forEach((function(e){n.addUpdate(t.extend(function(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):V(e,t)}}(e,n),u))}))}function L(e){return{signal:"["+e.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function A(e,n){var i=n.getSignal(e.name),a=e.update;e.init&&(a?t.error("Signals can not include both init and update expressions."):(a=e.init,i.initonly=!0)),a&&(a=f(a,n),i.update=a.$expr,i.params=a.$params),e.on&&e.on.forEach((function(e){C(e,n,i.id)}))}function F(e){return function(t,n,i){return g(e,n,t||void 0,i)}}var T=F("aggregate"),B=F("axisticks"),M=F("bound"),U=F("collect"),q=F("compare"),H=F("datajoin"),I=F("encode"),N=F("expression"),G=F("facet"),X=F("field"),Y=F("key"),Q=F("legendentries"),J=F("load"),K=F("mark"),Z=F("multiextent"),ee=F("multivalues"),te=F("overlap"),ne=F("params"),ie=F("prefacet"),ae=F("projection"),re=F("proxy"),le=F("relay"),oe=F("render"),se=F("scale"),ue=F("sieve"),de=F("sortitems"),ce=F("viewlayout"),fe=F("values"),pe=0,ge={min:"min",max:"max",count:"sum"};function me(e,n){var i,a,l=n.getScale(e.name).params;for(i in l.domain=be(e.domain,e,n),null!=e.range&&(l.range=function e(n,i,a){var l=n.range,o=i.config.range;if(l.signal)return i.signalRef(l.signal);if(t.isString(l)){if(o&&t.hasOwnProperty(o,l))return n=t.extend({},n,{range:o[l]}),e(n,i,a);"width"===l?l=[0,{signal:"width"}]:"height"===l?l=r.isDiscrete(n.type)?[0,{signal:"height"}]:[{signal:"height"},0]:t.error("Unrecognized scale range value: "+t.stringValue(l))}else{if(l.scheme)return a.scheme=t.isArray(l.scheme)?ye(l.scheme,i):he(l.scheme,i),l.extent&&(a.schemeExtent=ye(l.extent,i)),void(l.count&&(a.schemeCount=he(l.count,i)));if(l.step)return void(a.rangeStep=he(l.step,i));if(r.isDiscrete(n.type)&&!t.isArray(l))return be(l,n,i);t.isArray(l)||t.error("Unsupported range type: "+t.stringValue(l))}return l.map(e=>(t.isArray(e)?ye:he)(e,i))}(e,n,l)),null!=e.interpolate&&function(e,t){t.interpolate=he(e.type||e),null!=e.gamma&&(t.interpolateGamma=he(e.gamma))}(e.interpolate,l),null!=e.nice&&(l.nice=(a=e.nice,t.isObject(a)?{interval:he(a.interval),step:he(a.step)}:he(a))),null!=e.bins&&(l.bins=function(e,n){return e.signal||t.isArray(e)?ye(e,n):n.objectProperty(e)}(e.bins,n)),e)t.hasOwnProperty(l,i)||"name"===i||(l[i]=he(e[i],n))}function he(e,n){return t.isObject(e)?e.signal?n.signalRef(e.signal):t.error("Unsupported object: "+t.stringValue(e)):e}function ye(e,t){return e.signal?t.signalRef(e.signal):e.map(e=>he(e,t))}function ve(e){t.error("Can not find data set: "+t.stringValue(e))}function be(e,n,i){if(e)return e.signal?i.signalRef(e.signal):(t.isArray(e)?xe:e.fields?Se:ke)(e,n,i);null==n.domainMin&&null==n.domainMax||t.error("No scale domain defined for domainMin/domainMax to override.")}function xe(e,t,n){return e.map((function(e){return he(e,n)}))}function ke(e,t,n){var i=n.getData(e.data);return i||ve(e.data),r.isDiscrete(t.type)?i.valuesRef(n,e.field,Oe(e.sort,!1)):r.isQuantile(t.type)?i.domainRef(n,e.field):i.extentRef(n,e.field)}function Se(e,n,i){var a=e.data,l=e.fields.reduce((function(e,n){return n=t.isString(n)?{data:a,field:n}:t.isArray(n)||n.signal?function(e,n){var i="_:vega:_"+pe++,a=U({});if(t.isArray(e))a.value={$ingest:e};else if(e.signal){var r="setdata("+t.stringValue(i)+","+e.signal+")";a.params.input=n.signalRef(r)}return n.addDataPipeline(i,[a,ue({})]),{data:i,field:"data"}}(n,i):n,e.push(n),e}),[]);return(r.isDiscrete(n.type)?$e:r.isQuantile(n.type)?Re:je)(e,i,l)}function $e(e,t,n){var i,a,r,l,o,s=Oe(e.sort,!0);return i=n.map((function(e){var n=t.getData(e.data);return n||ve(e.data),n.countsRef(t,e.field,s)})),a={groupby:v,pulse:i},s&&(r=s.op||"count",o=s.field?k(r,s.field):"count",a.ops=[ge[r]],a.fields=[t.fieldRef(o)],a.as=[o]),r=t.add(T(a)),l=t.add(U({pulse:h(r)})),o=t.add(fe({field:v,sort:t.sortRef(s),pulse:h(l)})),h(o)}function Oe(e,n){return e&&(e.field||e.op?e.field||"count"===e.op?n&&e.field&&e.op&&!ge[e.op]&&t.error("Multiple domain scales can not be sorted using "+e.op):t.error("No field provided for sort aggregate op: "+e.op):t.isObject(e)?e.field="key":e={field:"key"}),e}function Re(e,t,n){var i=n.map((function(e){var n=t.getData(e.data);return n||ve(e.data),n.domainRef(t,e.field)}));return h(t.add(ee({values:i})))}function je(e,t,n){var i=n.map((function(e){var n=t.getData(e.data);return n||ve(e.data),n.extentRef(t,e.field)}));return h(t.add(Z({extents:i})))}function we(e,n,i){return t.isArray(e)?e.map((function(e){return we(e,n,i)})):t.isObject(e)?e.signal?i.signalRef(e.signal):"fit"===n?e:t.error("Unsupported parameter object: "+t.stringValue(e)):e}const ze="top",Ve="left",De="right",Pe="bottom",_e="vertical",We="start",Ee="end",Ce="index",Le="label",Ae="offset",Fe="perc",Te="perc2",Be="size",Me="value",Ue="guide-label",qe="guide-title",He="group-title",Ie="group-subtitle",Ne="symbol",Ge="gradient",Xe="discrete",Ye=["size","shape","fill","stroke","strokeWidth","strokeDash","opacity"],Qe={name:1,style:1,interactive:1},Je={value:0},Ke={value:1};var Ze=t.toSet(["rule"]),et=t.toSet(["group","image","rect"]);function tt(e,n,i,a){var r=f(e,n);return r.$fields.forEach((function(e){a[e]=1})),t.extend(i,r.$params),r.$expr}function nt(e,n,i,a){return function e(n,i,a,r){var l,o,s;if(n.signal)l="datum",s=tt(n.signal,i,a,r);else if(n.group||n.parent){for(o=Math.max(1,n.level||1),l="item";o-- >0;)l+=".mark.group";n.parent?(s=n.parent,l+=".datum"):s=n.group}else n.datum?(l="datum",s=n.datum):t.error("Invalid field reference: "+t.stringValue(n));n.signal||(t.isString(s)?(r[s]=1,s=t.splitAccessPath(s).map(t.stringValue).join("][")):s=e(s,i,a,r));return l+"["+s+"]"}(t.isObject(e)?e:{datum:e},n,i,a)}function it(e,n,i,a){return t.isObject(e)?"("+lt(null,e,n,i,a)+")":e}function at(e,n,i,a,r){var l,o,s,u=rt(e.scale,i,a,r);return null!=e.range?(o=u+".range()",n=0===(l=+e.range)?o+"[0]":"($="+o+","+(1===l?"$[$.length-1]":"$[0]+"+l+"*($[$.length-1]-$[0])")+")"):(void 0!==n&&(n=u+"("+n+")"),e.band&&(s=function(e,n){if(!t.isString(e))return-1;var i=n.scaleType(e);return"band"===i||"point"===i?1:0}(e.scale,i))&&(o=u+".bandwidth",l=e.band.signal?o+"()*"+it(e.band,i,a,r):o+"()"+(1===(l=+e.band)?"":"*"+l),s<0&&(l="("+o+"?"+l+":0)"),n=(n?n+"+":"")+l,e.extra&&(n="(datum.extra?"+u+"(datum.extra.value):"+n+")")),null==n&&(n="0")),n}function rt(e,n,a,r){var l;if(t.isString(e))l=i.ScalePrefix+e,t.hasOwnProperty(a,l)||(a[l]=n.scaleRef(e)),l=t.stringValue(l);else{for(l in n.scales)a[i.ScalePrefix+l]=n.scaleRef(l);l=t.stringValue(i.ScalePrefix)+"+"+(e.signal?"("+tt(e.signal,n,a,r)+")":nt(e,n,a,r))}return"_["+l+"]"}function lt(e,n,i,a,r){if(null!=n.gradient)return function(e,n,i,a){return"this.gradient("+rt(e.gradient,n,i,a)+","+t.stringValue(e.start)+","+t.stringValue(e.stop)+","+t.stringValue(e.count)+")"}(n,i,a,r);var l=n.signal?tt(n.signal,i,a,r):n.color?function(e,t,n,i){function a(e,a,r,l){return"this."+e+"("+[lt(null,a,t,n,i),lt(null,r,t,n,i),lt(null,l,t,n,i)].join(",")+").toString()"}return e.c?a("hcl",e.h,e.c,e.l):e.h||e.s?a("hsl",e.h,e.s,e.l):e.l||e.a?a("lab",e.l,e.a,e.b):e.r||e.g||e.b?a("rgb",e.r,e.g,e.b):null}(n.color,i,a,r):null!=n.field?nt(n.field,i,a,r):void 0!==n.value?t.stringValue(n.value):void 0;return null!=n.scale&&(l=at(n,l,i,a,r)),void 0===l&&(l=null),null!=n.exponent&&(l="Math.pow("+l+","+it(n.exponent,i,a,r)+")"),null!=n.mult&&(l+="*"+it(n.mult,i,a,r)),null!=n.offset&&(l+="+"+it(n.offset,i,a,r)),n.round&&(l="Math.round("+l+")"),l}function ot(e,n,i){const a=e+"["+t.stringValue(n)+"]";return`$=${i};if(${a}!==$)${a}=$,m=1;`}function st(e,n,i,a,r){var l="";return n.forEach((function(e){var t=lt(0,e,i,a,r);l+=e.test?tt(e.test,i,a,r)+"?"+t+":":t})),":"===t.peek(l)&&(l+="null"),ot("o",e,l)}function ut(e,n,i,a){var r,l,o={},s="var o=item,datum=o.datum,m=0,$;";for(r in e)l=e[r],t.isArray(l)?s+=st(r,l,a,i,o):s+=ot("o",r,lt(0,l,a,i,o));return s+=function(e,t){var n="";return Ze[t]?n:(e.x2&&(e.x?(et[t]&&(n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),n+="o.width=o.x2-o.x;"):n+="o.x=o.x2-(o.width||0);"),e.xc&&(n+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(et[t]&&(n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),n+="o.height=o.y2-o.y;"):n+="o.y=o.y2-(o.height||0);"),e.yc&&(n+="o.y=o.yc-(o.height||0)/2;"),n)}(e,n),{$expr:s+="return m;",$fields:Object.keys(o),$output:Object.keys(e)}}var dt="mark",ct="frame",ft="scope",pt="axis",gt="axis-domain",mt="axis-grid",ht="axis-label",yt="axis-tick",vt="axis-title",bt="legend",xt="legend-band",kt="legend-entry",St="legend-gradient",$t="legend-label",Ot="legend-symbol",Rt="legend-title",jt="title",wt="title-text",zt="title-subtitle";function Vt(e){return t.isObject(e)&&!t.isArray(e)?t.extend({},e):{value:e}}function Dt(e,n,i,a){return null!=i?(t.isObject(i)&&!t.isArray(i)?e.update[n]=i:e[a||"enter"][n]={value:i},1):0}function Pt(e,t,n){for(let n in t)Dt(e,n,t[n]);for(let t in n)Dt(e,t,n[t],"update")}function _t(e,n,i){for(var a in n)i&&t.hasOwnProperty(i,a)||(e[a]=t.extend(e[a]||{},n[a]));return e}function Wt(e,n,i,a,r,l){var o,s;for(s in(l=l||{}).encoders={$encode:o={}},e=function(e,n,i,a,r){var l,o,s,u={},d={};"legend"!=i&&0!==String(i).indexOf("axis")||(i=null);for(o in s=i===ct?r.group:i===dt?t.extend({},r.mark,r[n]):null)Ct(o,e)||("fill"===o||"stroke"===o)&&(Ct("fill",e)||Ct("stroke",e))||Et(u,o,s[o]);for(o in t.array(a).forEach((function(t){var n=r.style&&r.style[t];for(var i in n)Ct(i,e)||Et(u,i,n[i])})),e=t.extend({},e),u)(s=u[o]).signal?(l=l||{})[o]=s:d[o]=s;e.enter=t.extend(d,e.enter),l&&(e.update=t.extend(l,e.update));return e}(e,n,i,a,r.config))o[s]=ut(e[s],n,l,r);return l}function Et(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}function Ct(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}function Lt(e,t,n,i,a,r,l){return{type:e,name:l?l.name:void 0,role:t,style:l&&l.style||n,key:i,from:a,interactive:!(!l||!l.interactive),encode:_t(r,l,Qe)}}function At(e,t){const n=(n,i)=>j(e[n],j(t[n],i));return n.isVertical=n=>_e===j(e.direction,t.direction||(n?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>j(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>j(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>j(e.columns,j(t.columns,+n.isVertical(!0))),n}function Ft(e,t){var n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function Tt(e,t,n){return`item.anchor === "${We}" ? ${e} : item.anchor === "${Ee}" ? ${t} : ${n}`}const Bt=Tt(t.stringValue(Ve),t.stringValue(De),t.stringValue("center"));var Mt="group",Ut="rect",qt="rule",Ht="symbol",It="text";function Nt(e,n,i,a){var r,l,o,s,u,d,c=At(e,i),f=c.isVertical(),p=c.gradientThickness(),g=c.gradientLength();return f?(o=[0,1],s=[0,0],u=p,d=g):(o=[0,0],s=[1,0],u=g,d=p),Pt(r={enter:l={opacity:Je,x:Je,y:Je,width:Vt(u),height:Vt(d)},update:t.extend({},l,{opacity:Ke,fill:{gradient:n,start:o,stop:s}}),exit:{opacity:Je}},{stroke:c("gradientStrokeColor"),strokeWidth:c("gradientStrokeWidth")},{opacity:c("gradientOpacity")}),Lt(Ut,St,null,void 0,void 0,r,a)}function Gt(e,n,i,a,r){var l,o,s,u,d,c,f=At(e,i),p=f.isVertical(),g=f.gradientThickness(),m=f.gradientLength(),h="";return p?(s="y",d="y2",u="x",c="width",h="1-"):(s="x",d="x2",u="y",c="height"),(o={opacity:Je,fill:{scale:n,field:Me}})[s]={signal:h+"datum."+Fe,mult:m},o[u]=Je,o[d]={signal:h+"datum."+Te,mult:m},o[c]=Vt(g),Pt(l={enter:o,update:t.extend({},o,{opacity:Ke}),exit:{opacity:Je}},{stroke:f("gradientStrokeColor"),strokeWidth:f("gradientStrokeWidth")},{opacity:f("gradientOpacity")}),Lt(Ut,xt,null,Me,r,l,a)}const Xt=`datum.${Fe}<=0?"${Ve}":datum.${Fe}>=1?"${De}":"center"`,Yt=`datum.${Fe}<=0?"${Pe}":datum.${Fe}>=1?"${ze}":"middle"`;function Qt(e,t,n,i){var a,r,l,o,s,u=At(e,t),d=u.isVertical(),c=Vt(u.gradientThickness()),f=u.gradientLength(),p=u("labelOverlap"),g=u("labelSeparation"),m="";return Pt(a={enter:r={opacity:Je},update:l={opacity:Ke,text:{field:Le}},exit:{opacity:Je}},{fill:u("labelColor"),fillOpacity:u("labelOpacity"),font:u("labelFont"),fontSize:u("labelFontSize"),fontStyle:u("labelFontStyle"),fontWeight:u("labelFontWeight"),limit:j(e.labelLimit,t.gradientLabelLimit)}),d?(r.align={value:"left"},r.baseline=l.baseline={signal:Yt},o="y",s="x",m="1-"):(r.align=l.align={signal:Xt},r.baseline={value:"top"},o="x",s="y"),r[o]=l[o]={signal:m+"datum."+Fe,mult:f},r[s]=l[s]=c,c.offset=j(e.labelOffset,t.gradientLabelOffset)||0,e=Lt(It,$t,Ue,Me,i,a,n),p&&(e.overlap={separation:g,method:p,order:"datum."+Ce}),e}function Jt(e,t,n,i,a,r,l,o){return{type:Mt,name:n,role:e,style:t,from:i,interactive:a||!1,encode:r,marks:l,layout:o}}function Kt(e,t,n,i,a){var r,l,o,s,u,d,c,f=At(e,t),p=n.entries,g=!(!p||!p.interactive),m=p?p.name:void 0,h=f("clipHeight"),y=f("symbolOffset"),v={data:"value"},b={},x=`${a} ? datum.${Ae} : datum.${Be}`,k=h?Vt(h):{field:Be},S=`datum.${Ce}`,$=`max(1, ${a})`;k.mult=.5,b={enter:r={opacity:Je,x:{signal:x,mult:.5,offset:y},y:k},update:l={opacity:Ke,x:r.x,y:r.y},exit:{opacity:Je}};var O=null,R=null;return e.fill||(O=t.symbolBaseFillColor,R=t.symbolBaseStrokeColor),Pt(b,{fill:f("symbolFillColor",O),shape:f("symbolType"),size:f("symbolSize"),stroke:f("symbolStrokeColor",R),strokeDash:f("symbolDash"),strokeDashOffset:f("symbolDashOffset"),strokeWidth:f("symbolStrokeWidth")},{opacity:f("symbolOpacity")}),Ye.forEach((function(t){e[t]&&(l[t]=r[t]={scale:e[t],field:Me})})),s=Lt(Ht,Ot,null,Me,v,b,n.symbols),h&&(s.clip=!0),(o=Vt(y)).offset=f("labelOffset"),Pt(b={enter:r={opacity:Je,x:{signal:x,offset:o},y:k},update:l={opacity:Ke,text:{field:Le},x:r.x,y:r.y},exit:{opacity:Je}},{align:f("labelAlign"),baseline:f("labelBaseline"),fill:f("labelColor"),fillOpacity:f("labelOpacity"),font:f("labelFont"),fontSize:f("labelFontSize"),fontStyle:f("labelFontStyle"),fontWeight:f("labelFontWeight"),limit:f("labelLimit")}),u=Lt(It,$t,Ue,Me,v,b,n.labels),b={enter:{noBound:{value:!h},width:Je,height:h?Vt(h):Je,opacity:Je},exit:{opacity:Je},update:l={opacity:Ke,row:{signal:null},column:{signal:null}}},f.isVertical(!0)?(d=`ceil(item.mark.items.length / ${$})`,l.row.signal=`${S}%${d}`,l.column.signal=`floor(${S} / ${d})`,c={field:["row",S]}):(l.row.signal=`floor(${S} / ${$})`,l.column.signal=`${S} % ${$}`,c={field:S}),l.column.signal=`${a}?${l.column.signal}:${S}`,(e=Jt(ft,null,m,i={facet:{data:i,name:"value",groupby:Ce}},g,_t(b,p,Qe),[s,u])).sort=c,e}const Zt='item.orient === "left"',en='item.orient === "right"',tn=`(${Zt} || ${en})`,nn=`datum.vgrad && ${tn}`,an=Tt('"top"','"bottom"','"middle"'),rn=`datum.vgrad && ${en} ? (${Tt('"right"','"left"','"center"')}) : (${tn} && !(datum.vgrad && ${Zt})) ? "left" : ${Bt}`,ln=`item._anchor || (${tn} ? "middle" : "start")`,on=`${nn} ? (${Zt} ? -90 : 90) : 0`,sn=`${tn} ? (datum.vgrad ? (${en} ? "bottom" : "top") : ${an}) : "top"`;function un(e,n){var i;return t.isObject(e)&&(e.signal?i=e.signal:e.path?i="pathShape("+dn(e.path)+")":e.sphere&&(i="geoShape("+dn(e.sphere)+', {type: "Sphere"})')),i?n.signalRef(i):!!e}function dn(e){return t.isObject(e)&&e.signal?e.signal:t.stringValue(e)}function cn(e){var t=e.role||"";return t.indexOf("axis")&&t.indexOf("legend")&&t.indexOf("title")?e.type===Mt?ft:t||dt:t}function fn(e){return{marktype:e.type,name:e.name||void 0,role:e.role||cn(e),zindex:+e.zindex||void 0}}function pn(e,t){return e&&e.signal?t.signalRef(e.signal):!1!==e}function gn(e,n){var i=l.definition(e.type);i||t.error("Unrecognized transform type: "+t.stringValue(e.type));var a=g(i.type.toLowerCase(),null,mn(i,e,n));return e.signal&&n.addSignal(e.signal,n.proxy(a)),a.metadata=i.metadata||{},a}function mn(e,t,n){var i,a,r,l={};for(a=0,r=e.params.length;ac(e,n)),t.array(e.projections).forEach(e=>(function(e,t){var n=t.config.projection||{},i={};for(var a in e)"name"!==a&&(i[a]=we(e[a],a,t));for(a in n)null==i[a]&&(i[a]=we(n[a],a,t));t.addProjection(e.name,i)})(e,n)),l.forEach(e=>(function(e,n){var i=e.type||"linear";r.isValidScaleType(i)||t.error("Unrecognized scale type: "+t.stringValue(i)),n.addScale(e.name,{type:i,domain:void 0})})(e,n)),t.array(e.data).forEach(e=>En(e,n)),l.forEach(e=>me(e,n)),(i||a).forEach(e=>A(e,n)),t.array(e.axes).forEach(e=>Bn(e,n)),t.array(e.marks).forEach(e=>Vn(e,n)),t.array(e.legends).forEach(e=>Dn(e,n)),e.title&&Wn(e.title,n),n.parseLambdas(),n}var Un=t.toSet(["width","height","padding","autosize"]);function qn(e,n){var i,a,r,l,s,u,d=n.config;return n.background=e.background||d.background,n.eventConfig=d.events,s=h(n.root=n.add(m())),n.addSignal("width",e.width||0),n.addSignal("height",e.height||0),n.addSignal("padding",function(e,n){return e=e||n.padding,t.isObject(e)?{top:o(e.top),bottom:o(e.bottom),left:o(e.left),right:o(e.right)}:{top:i=o(e),bottom:i,left:i,right:i};var i}(e.padding,d)),n.addSignal("autosize",function(e,n){return e=e||n.autosize,t.isObject(e)?e:{type:e||"pad"}}(e.autosize,d)),n.legends=n.objectProperty(d.legend&&d.legend.layout),u=function(e,n,i){if(t.array(n).forEach(t=>{Un[t.name]||c(t,e)}),!i)return n;const a=t.array(n).slice();return t.array(i).forEach(t=>{e.hasOwnSignal(t.name)||(c(t,e),a.push(t))}),a}(n,e.signals,d.signals),a=n.add(U()),r=_t({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e.encode),r=n.add(I(Wt(r,Mt,ct,e.style,n,{pulse:h(a)}))),l=n.add(ce({layout:n.objectProperty(e.layout),legends:n.legends,autosize:n.signalRef("autosize"),mark:s,pulse:h(r)})),n.operators.pop(),n.pushState(h(r),h(l),null),Mn(e,n,u),n.operators.push(l),i=n.add(M({mark:s,pulse:h(l)})),i=n.add(oe({pulse:h(i)})),i=n.add(ue({pulse:h(i)})),n.addData("root",new $n(n,a,a,i)),n}function Hn(e){this.config=e,this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.background=null,this.eventConfig=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function In(e){this.config=e.config,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}var Nn=Hn.prototype=In.prototype;function Gn(e){return(t.isArray(e)?Xn:Yn)(e)}function Xn(e){for(var n,i="[",a=0,r=e.length;a0?",":"")+(t.isObject(n)?n.signal||Gn(n):t.stringValue(n));return i+"]"}function Yn(e){var n,i,a="{",r=0;for(n in e)i=e[n],a+=(++r>1?",":"")+t.stringValue(n)+":"+(t.isObject(i)?i.signal||Gn(i):t.stringValue(i));return a+"}"}Nn.fork=function(){return new In(this)},Nn.isSubscope=function(){return this._subid>0},Nn.toRuntime=function(){return this.finish(),{background:this.background,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig}},Nn.id=function(){return(this._subid?this._subid+":":0)+this._id++},Nn.add=function(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach((function(t){t.$ref=e.id})),e.refs=null),e},Nn.proxy=function(e){var t=e instanceof p?h(e):e;return this.add(re({value:t}))},Nn.addStream=function(e){return this.streams.push(e),e.id=this.id(),e},Nn.addUpdate=function(e){return this.updates.push(e),e},Nn.finish=function(){var e,t;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function n(e,t,n){var i;e&&((i=e.data||(e.data={}))[t]||(i[t]=[])).push(n)}for(e in this.data)for(var i in n((t=this.data[e]).input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values"),t.index)n(t.index[i],e,"index:"+i);return this},Nn.pushState=function(e,t,n){this._encode.push(h(this.add(ue({pulse:e})))),this._parent.push(t),this._lookup.push(n?h(this.proxy(n)):null),this._markpath.push(-1)},Nn.popState=function(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},Nn.parent=function(){return t.peek(this._parent)},Nn.encode=function(){return t.peek(this._encode)},Nn.lookup=function(){return t.peek(this._lookup)},Nn.markpath=function(){var e=this._markpath;return++e[e.length-1]},Nn.fieldRef=function(e,n){if(t.isString(e))return y(e,n);e.signal||t.error("Unsupported field reference: "+t.stringValue(e));var i,a=e.signal,r=this.field[a];return r||(i={name:this.signalRef(a)},n&&(i.as=n),this.field[a]=r=h(this.add(X(i)))),r},Nn.compareRef=function(e){function n(e){return O(e)?(a=!0,i.signalRef(e.signal)):function(e){return e&&e.expr}(e)?(a=!0,i.exprRef(e.expr)):e}var i=this,a=!1,r=t.array(e.field).map(n),l=t.array(e.order).map(n);return a?h(this.add(q({fields:r,orders:l}))):b(r,l)},Nn.keyRef=function(e,n){var i=this.signals,a=!1;return e=t.array(e).map((function(e){return O(e)?(a=!0,h(i[e.signal])):e})),a?h(this.add(Y({fields:e,flat:n}))):function(e,t){var n={$key:e};return t&&(n.$flat=!0),n}(e,n)},Nn.sortRef=function(e){if(!e)return e;var t=k(e.op,e.field),n=e.order||"ascending";return n.signal?h(this.add(q({fields:t,orders:this.signalRef(n.signal)}))):b(t,n)},Nn.event=function(e,t){var n=e+":"+t;if(!this.events[n]){var i=this.id();this.streams.push({id:i,source:e,type:t}),this.events[n]=i}return this.events[n]},Nn.hasOwnSignal=function(e){return t.hasOwnProperty(this.signals,e)},Nn.addSignal=function(e,n){this.hasOwnSignal(e)&&t.error("Duplicate signal name: "+t.stringValue(e));var i=n instanceof p?n:this.add(m(n));return this.signals[e]=i},Nn.getSignal=function(e){return this.signals[e]||t.error("Unrecognized signal name: "+t.stringValue(e)),this.signals[e]},Nn.signalRef=function(e){return this.signals[e]?h(this.signals[e]):(t.hasOwnProperty(this.lambdas,e)||(this.lambdas[e]=this.add(m(null))),h(this.lambdas[e]))},Nn.parseLambdas=function(){for(var e=Object.keys(this.lambdas),t=0,n=e.length;t