!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("vega-util"),require("vega-canvas"),require("vega-loader"),require("d3-shape"),require("d3-path")):"function"==typeof define&&define.amd?define(["exports","vega-util","vega-canvas","vega-loader","d3-shape","d3-path"],e):e((t=t||self).vega={},t.vega,t.vega,t.vega,t.d3,t.d3)}(this,(function(t,e,n,i,r,o){"use strict";function s(t){this.clear(),t&&this.union(t)}var a=s.prototype;a.clone=function(){return new s(this)},a.clear=function(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},a.empty=function(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},a.equals=function(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},a.set=function(t,e,n,i){return nthis.x2&&(this.x2=t),e>this.y2&&(this.y2=e),this},a.expand=function(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,this},a.round=function(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},a.translate=function(t,e){return this.x1+=t,this.x2+=t,this.y1+=e,this.y2+=e,this},a.rotate=function(t,e,n){const i=this.rotatedPoints(t,e,n);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},a.rotatedPoints=function(t,e,n){var{x1:i,y1:r,x2:o,y2:s}=this,a=Math.cos(t),u=Math.sin(t),l=e-e*a+n*u,h=n-e*u-n*a;return[a*i-u*r+l,u*i+a*r+h,a*i-u*s+l,u*i+a*s+h,a*o-u*r+l,u*o+a*r+h,a*o-u*s+l,u*o+a*s+h]},a.union=function(t){return t.x1this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},a.intersect=function(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},a.alignsWith=function(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},a.intersects=function(t){return t&&!(this.x2t.x2||this.y2t.y2)},a.contains=function(t,e){return!(tthis.x2||ethis.y2)},a.width=function(){return this.x2-this.x1},a.height=function(){return this.y2-this.y1};var u=0;const l="p_";function h(t){return t&&t.gradient}function c(t,e,n){let i=t.id,r=t.gradient,o="radial"===r?l:"";return i||(i=t.id="gradient_"+u++,"radial"===r?(t.x1=f(t.x1,.5),t.y1=f(t.y1,.5),t.r1=f(t.r1,0),t.x2=f(t.x2,.5),t.y2=f(t.y2,.5),t.r2=f(t.r2,.5),o=l):(t.x1=f(t.x1,0),t.y1=f(t.y1,0),t.x2=f(t.x2,1),t.y2=f(t.y2,0))),e[i]=t,"url("+(n||"")+"#"+o+i+")"}function f(t,e){return null!=t?t:e}function d(t){this.mark=t,this.bounds=this.bounds||new s}function v(t){d.call(this,t),this.items=this.items||[]}function g(t){this._pending=0,this._loader=t||i.loader()}e.inherits(v,d);var p=g.prototype;function y(t){t._pending+=1}function m(t){t._pending-=1}p.pending=function(){return this._pending},p.sanitizeURL=function(t){var e=this;return y(e),e._loader.sanitize(t,{context:"href"}).then((function(t){return m(e),t})).catch((function(){return m(e),null}))},p.loadImage=function(t){var e=this,i=n.image();return y(e),e._loader.sanitize(t,{context:"image"}).then((function(t){var n=t.href;if(!n||!i)throw{url:n};var r=new i;return r.onload=function(){m(e)},r.onerror=function(){m(e)},r.src=n,r})).catch((function(t){return m(e),{complete:!1,width:0,height:0,src:t&&t.url||""}}))},p.ready=function(){var t=this;return new Promise((function(e){!function n(i){t.pending()?setTimeout((function(){n(!0)}),10):e(i)}(!1)}))};var _={basis:{curve:r.curveBasis},"basis-closed":{curve:r.curveBasisClosed},"basis-open":{curve:r.curveBasisOpen},bundle:{curve:r.curveBundle,tension:"beta",value:.85},cardinal:{curve:r.curveCardinal,tension:"tension",value:0},"cardinal-open":{curve:r.curveCardinalOpen,tension:"tension",value:0},"cardinal-closed":{curve:r.curveCardinalClosed,tension:"tension",value:0},"catmull-rom":{curve:r.curveCatmullRom,tension:"alpha",value:.5},"catmull-rom-closed":{curve:r.curveCatmullRomClosed,tension:"alpha",value:.5},"catmull-rom-open":{curve:r.curveCatmullRomOpen,tension:"alpha",value:.5},linear:{curve:r.curveLinear},"linear-closed":{curve:r.curveLinearClosed},monotone:{horizontal:r.curveMonotoneY,vertical:r.curveMonotoneX},natural:{curve:r.curveNatural},step:{curve:r.curveStep},"step-after":{curve:r.curveStepAfter},"step-before":{curve:r.curveStepBefore}};function x(t,n,i){var r=e.hasOwnProperty(_,t)&&_[t],o=null;return r&&(o=r.curve||r[n||"vertical"],r.tension&&null!=i&&(o=o[r.tension](i))),o}var b={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},k=[/([MLHVCSQTAZmlhvcsqtaz])/g,/###/,/(\d)([-+])/g,/\s|,|###/];function w(t){var e,n,i,r,o,s,a,u,l,h,c,f=[];for(u=0,h=(e=t.slice().replace(k[0],"###$1").split(k[1]).slice(1)).length;ua)for(l=1,c=r.length;l1&&(n*=g=Math.sqrt(g),i*=g);var p=f/n,y=c/n,m=-c/i,_=f/i,x=p*a+y*u,b=m*a+_*u,k=p*t+y*e,w=m*t+_*e,A=1/((k-x)*(k-x)+(w-b)*(w-b))-.25;A<0&&(A=0);var C=Math.sqrt(A);o==r&&(C=-C);var P=.5*(x+k)-C*(w-b),S=.5*(b+w)+C*(k-x),N=Math.atan2(b-S,x-P),O=Math.atan2(w-S,k-P)-N;O<0&&1===o?O+=z:O>0&&0===o&&(O-=z);for(var q=Math.ceil(Math.abs(O/(M+.001))),E=[],D=0;D+t}function j(t,e,n){return Math.max(e,Math.min(t,n))}function F(){var t=H,e=W,n=G,i=U,r=X(0),s=r,a=r,u=r,l=null;function h(h,c,f){var d,v=null!=c?c:+t.call(this,h),g=null!=f?f:+e.call(this,h),p=+n.call(this,h),y=+i.call(this,h),m=Math.min(p,y)/2,_=j(+r.call(this,h),0,m),x=j(+s.call(this,h),0,m),b=j(+a.call(this,h),0,m),k=j(+u.call(this,h),0,m);if(l||(l=d=o.path()),_<=0&&x<=0&&b<=0&&k<=0)l.rect(v,g,p,y);else{var w=v+p,T=g+y;l.moveTo(v+_,g),l.lineTo(w-x,g),l.bezierCurveTo(w-V*x,g,w,g+V*x,w,g+x),l.lineTo(w,T-k),l.bezierCurveTo(w,T-V*k,w-V*k,T,w-k,T),l.lineTo(v+b,T),l.bezierCurveTo(v+V*b,T,v,T-V*b,v,T-b),l.lineTo(v,g+_),l.bezierCurveTo(v,g+V*_,v+V*_,g,v+_,g),l.closePath()}if(d)return l=null,d+""||null}return h.x=function(e){return arguments.length?(t=X(e),h):t},h.y=function(t){return arguments.length?(e=X(t),h):e},h.width=function(t){return arguments.length?(n=X(t),h):n},h.height=function(t){return arguments.length?(i=X(t),h):i},h.cornerRadius=function(t,e,n,i){return arguments.length?(r=X(t),s=null!=e?X(e):r,u=null!=n?X(n):r,a=null!=i?X(i):s,h):r},h.context=function(t){return arguments.length?(l=null==t?null:t,h):l},h}function J(){var t,e,n,i,r,s,a,u,l=null;function h(t,e,n){var i=n/2;if(r){var o=a-e,h=t-s;if(o||h){var c=Math.sqrt(o*o+h*h),f=(o/=c)*u,d=(h/=c)*u,v=Math.atan2(h,o);l.moveTo(s-f,a-d),l.lineTo(t-o*i,e-h*i),l.arc(t,e,i,v-Math.PI,v),l.lineTo(s+f,a+d),l.arc(s,a,u,v,v+Math.PI)}else l.arc(t,e,i,0,z);l.closePath()}else r=1;s=t,a=e,u=i}function c(s){var a,u,c,f=s.length,d=!1;for(null==l&&(l=c=o.path()),a=0;a<=f;++a)!(at.x||0,Z=t=>t.y||0,$=t=>!(!1===t.defined),K=r.arc().startAngle(t=>t.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),tt=r.area().x(Q).y1(Z).y0(t=>(t.y||0)+(t.height||0)).defined($),et=r.area().y(Z).x1(Q).x0(t=>(t.x||0)+(t.width||0)).defined($),nt=r.line().x(Q).y(Z).defined($),it=F().x(Q).y(Z).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>Y(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>Y(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>Y(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>Y(t.cornerRadiusBottomLeft,t.cornerRadius)||0),rt=r.symbol().type(t=>I(t.shape||"circle")).size(t=>Y(t.size,64)),ot=J().x(Q).y(Z).defined($).size(t=>t.size||1);function st(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function at(t,e,n,i){return it.context(t)(e,n,i)}function ut(t,e,n){if(e.stroke&&0!==e.opacity&&0!==e.strokeOpacity){const i=null!=e.strokeWidth?+e.strokeWidth:1;t.expand(i+(n?function(t,e){return t.strokeJoin&&"miter"!==t.strokeJoin?0:e}(e,i):0))}return t}var lt,ht,ct,ft=z-1e-8;function dt(t){return lt=t,dt}function vt(){}function gt(t,e){lt.add(t,e)}function pt(t,e){gt(ht=t,ct=e)}function yt(t){gt(t,lt.y1)}function mt(t){gt(lt.x1,t)}function _t(t,e,n,i){const r=(t-e)/(t+n-2*e);0A?(u=s*s+a*o,u>=0&&(u=Math.sqrt(u),l=(-s+u)/o,h=(-s-u)/o)):l=.5*a/s,0ft)gt(t-n,e-n),gt(t+n,e+n);else{const s=i=>gt(n*Math.cos(i)+t,n*Math.sin(i)+e);let a,u;if(s(i),s(r),r!==i)if((i%=z)<0&&(i+=z),(r%=z)<0&&(r+=z),rr;++u,a-=M)s(a);else for(a=i-i%M+M,u=0;u<4&&ap)return!1;d>g&&(g=d)}else if(c>0){if(d0&&(t.globalAlpha=n,t.fillStyle=Pt(t,e,e.fill),!0)}var St=[];function Nt(t,e,n){var i=null!=(i=e.strokeWidth)?i:1;return!(i<=0)&&((n*=null==e.strokeOpacity?1:e.strokeOpacity)>0&&(t.globalAlpha=n,t.strokeStyle=Pt(t,e,e.stroke),t.lineWidth=i,t.lineCap=e.strokeCap||"butt",t.lineJoin=e.strokeJoin||"miter",t.miterLimit=e.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(e.strokeDash||St),t.lineDashOffset=e.strokeDashOffset||0),!0))}function Ot(t,e){return t.zindex-e.zindex||t.index-e.index}function qt(t){if(!t.zdirty)return t.zitems;var e,n,i,r=t.items,o=[];for(n=0,i=r.length;n=0;)if(n=e(r[i]))return n;if(r===o)for(i=(r=t.items).length;--i>=0;)if(!r[i].zindex&&(n=e(r[i])))return n;return null}function It(t){return function(e,n,i){Et(n,(function(n){i&&!i.intersects(n.bounds)||Vt(t,e,n,n)}))}}function Bt(t){return function(e,n,i){!n.items.length||i&&!i.intersects(n.bounds)||Vt(t,e,n.items[0],n.items)}}function Vt(t,e,n,i){var r=null==n.opacity?1:n.opacity;0!==r&&(t(e,i)||(n.fill&&Lt(e,n,r)&&e.fill(),n.stroke&&Nt(e,n,r)&&e.stroke()))}function Ht(t){return t=t||e.truthy,function(e,n,i,r,o,s){return i*=e.pixelRatio,r*=e.pixelRatio,Dt(n,(function(n){var a=n.bounds;if((!a||a.contains(o,s))&&a)return t(e,n,i,r,o,s)?n:void 0}))}}function Wt(t,e){return function(n,i,r,o){var s,a,u=Array.isArray(i)?i[0]:i,l=null==e?u.fill:e,h=u.stroke&&n.isPointInStroke;return h&&(s=u.strokeWidth,a=u.strokeCap,n.lineWidth=null!=s?s:1,n.lineCap=null!=a?a:"butt"),!t(n,i)&&(l&&n.isPointInPath(r,o)||h&&n.isPointInStroke(r,o))}}function Gt(t){return Ht(Wt(t))}function Ut(t,e){return"translate("+t+","+e+")"}function Xt(t){return"rotate("+t+")"}function jt(t){return Ut(t.x||0,t.y||0)}function Ft(t){return Ut(t.x||0,t.y||0)+(t.angle?" "+Xt(t.angle):"")+(t.scaleX||t.scaleY?" "+(e=t.scaleX||1,n=t.scaleY||1,"scale("+e+","+n+")"):"");var e,n}function Jt(t,e,n){function i(t,n){var i=n.x||0,r=n.y||0,o=n.angle||0;t.translate(i,r),o&&t.rotate(o*=T),t.beginPath(),e(t,n),o&&t.rotate(-o),t.translate(-i,-r)}return{type:t,tag:"path",nested:!1,attr:function(t,n){t("transform",Ft(n)),t("d",e(null,n))},bound:function(t,n){var i=n.x||0,r=n.y||0;return e(dt(t),n),ut(t,n).translate(i,r),n.angle&&t.rotate(n.angle*T,i,r),t},draw:It(i),pick:Gt(i),isect:n||Tt(i)}}var Yt=Jt("arc",(function(t,e){return K.context(t)(e)}));function Qt(t,e,n){function i(t,n){t.beginPath(),e(t,n)}var r=Wt(i);return{type:t,tag:"path",nested:!0,attr:function(t,n){var i=n.mark.items;i.length&&t("d",e(null,i))},bound:function(t,n){var i=n.items;return 0===i.length?t:(e(dt(t),i),ut(t,i[0]))},draw:Bt(i),pick:function(t,e,n,i,o,s){var a=e.items,u=e.bounds;return!a||!a.length||u&&!u.contains(o,s)?null:(n*=t.pixelRatio,i*=t.pixelRatio,r(t,a,n,i)?a[0]:null)},isect:At,tip:n}}var Zt=Qt("area",(function(t,e){var n=e[0],i=n.interpolate||"linear";return("horizontal"===n.orient?et:tt).curve(x(i,n.orient,n.tension)).context(t)(e)}),(function(t,e){for(var n,i,r="horizontal"===t[0].orient?e[1]:e[0],o="horizontal"===t[0].orient?"y":"x",s=t.length,a=1/0;--s>=0;)!1!==t[s].defined&&(i=Math.abs(t[s][o]-r)).5&&e<1.5?.5-Math.abs(e-1):0}function ne(t,e){var n=ee(e);t("d",at(null,e,n,n))}function ie(t,e,n,i){var r=ee(e);t.beginPath(),at(t,e,(n||0)+r,(i||0)+r)}var re=Wt(ie),oe=Wt(ie,!1);var se={type:"group",tag:"g",nested:!1,attr:function(t,e){t("transform",jt(e))},bound:function(t,e){if(!e.clip&&e.items)for(var n=e.items,i=0,r=n.length;ig||op)))return t.save(),t.translate(d,v),d=r-d,v=o-v,m&&st(l)&&!re(t,l,a,u)?(t.restore(),null):(c=l.strokeForeground,(f=!1!==e.interactive)&&c&&l.stroke&&oe(t,l,a,u)?(t.restore(),l):(!(h=Dt(l,(function(t){return function(t,e,n){return(!1!==t.interactive||"group"===t.marktype)&&t.bounds&&t.bounds.contains(e,n)}(t,d,v)?s.pick(t,n,i,d,v):null})))&&f&&(l.fill||!c&&l.stroke)&&re(t,l,a,u)&&(h=l),t.restore(),h||null))}))},isect:Mt,content:function(t,e,n){t("clip-path",e.clip?te(n,e,e):null)},background:function(t,e){t("class","background"),ne(t,e)},foreground:function(t,e){t("class","foreground"),e.strokeForeground?ne(t,e):t("d","")}};function ae(t,e){var n=t.image;return(!n||t.url&&t.url!==n.url)&&(n={complete:!1,width:0,height:0},e.loadImage(t.url).then(e=>{t.image=e,t.image.url=t.url})),n}function ue(t,e){return null!=t.width?t.width:e&&e.width?!1!==t.aspect&&t.height?t.height*e.width/e.height:e.width:0}function le(t,e){return null!=t.height?t.height:e&&e.height?!1!==t.aspect&&t.width?t.width*e.height/e.width:e.height:0}function he(t,e){return"center"===t?e/2:"right"===t?e:0}function ce(t,e){return"middle"===t?e/2:"bottom"===t?e:0}var fe={type:"image",tag:"image",nested:!1,attr:function(t,e,n){var i=ae(e,n),r=e.x||0,o=e.y||0,s=ue(e,i),a=le(e,i),u=!1===e.aspect?"none":"xMidYMid";r-=he(e.align,s),o-=ce(e.baseline,a),!i.src&&i.toDataURL?t("href",i.toDataURL(),"http://www.w3.org/1999/xlink","xlink:href"):t("href",i.src||"","http://www.w3.org/1999/xlink","xlink:href"),t("transform",Ut(r,o)),t("width",s),t("height",a),t("preserveAspectRatio",u)},bound:function(t,e){var n=e.image,i=e.x||0,r=e.y||0,o=ue(e,n),s=le(e,n);return i-=he(e.align,o),r-=ce(e.baseline,s),t.set(i,r,i+o,r+s)},draw:function(t,e,n){var i=this;Et(e,(function(e){if(!n||n.intersects(e.bounds)){var r,o,s,a,u=ae(e,i),l=e.x||0,h=e.y||0,c=ue(e,u),f=le(e,u);l-=he(e.align,c),h-=ce(e.baseline,f),!1!==e.aspect&&(o=u.width/u.height,s=e.width/e.height,o==o&&s==s&&o!==s&&(s=0;)if(!1!==t[o].defined&&(n=t[o].x-e[0])*n+(i=t[o].y-e[1])*i1?n:n[0]:n;var n}function Se(t,e){return null==e?"":t.limit>0?function(t,e){var n,i=+t.limit,r=e+"";we.width===Me?(kt.font=Oe(t),n=ze):(_e=Ce(t),n=Ae);if(n(r)>>1,n(r.slice(o))>i?u=o+1:l=o;return s+r.slice(u)}for(;u>>1),n(r.slice(0,o))Math.max(t,we.width(n,e)),0)):r=we.width(n,f),"center"===s?h-=r/2:"right"===s&&(h-=r),t.set(h+=u,c+=l,h+r,c+o),n.angle&&!i)t.rotate(n.angle*T,u,l);else if(2===i)return t.rotatedPoints(n.angle*T,u,l);return t}var Ve={arc:Yt,area:Zt,group:se,image:fe,line:de,path:ge,rect:ye,rule:xe,shape:be,symbol:ke,text:{type:"text",tag:"text",nested:!1,attr:function(t,e){var n,i=e.dx||0,r=(e.dy||0)+qe(e),o=Ie(e),s=o.x1,a=o.y1,u=e.angle||0;t("text-anchor",Ee[e.align]||"start"),u?(n=Ut(s,a)+" "+Xt(u),(i||r)&&(n+=" "+Ut(i,r))):n=Ut(s+i,a+r),t("transform",n)},bound:Be,draw:function(t,n,i){Et(n,(function(n){var r,o,s,a,u,l,h,c=null==n.opacity?1:n.opacity;if(!(i&&!i.intersects(n.bounds)||0===c||n.fontSize<=0||null==n.text||0===n.text.length)){if(t.font=Oe(n),t.textAlign=n.align||"left",o=(r=Ie(n)).x1,s=r.y1,n.angle&&(t.save(),t.translate(o,s),t.rotate(n.angle*T),o=s=0),o+=n.dx||0,s+=(n.dy||0)+qe(n),l=Le(n),e.isArray(l))for(u=Pe(n),a=0;a=0;)if(!1!==t[r].defined&&(n=t[r].x-e[0])*n+(i=t[r].y-e[1])*i<(n=t[r].size||1)*n)return t[r];return null}))};function He(t,e,n){var i=Ve[t.mark.marktype],r=e||i.bound;return i.nested&&(t=t.mark),r(t.bounds||(t.bounds=new s),t,n)}var We={mark:null};function Ge(t,e,n){var i,r,o,a,u=Ve[t.marktype],l=u.bound,h=t.items,c=h&&h.length;if(u.nested)return c?o=h[0]:(We.mark=t,o=We),a=He(o,l,n),e=e&&e.union(a)||a;if(e=e||t.bounds&&t.bounds.clear()||new s,c)for(i=0,r=h.length;ie;)t.removeChild(n[--i]);return t}function tn(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function en(t,e){var n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}function nn(t,e){this._active=null,this._handlers={},this._loader=t||i.loader(),this._tooltip=e||rn}function rn(t,e,n,i){t.element().setAttribute("title",i||"")}Je.toJSON=function(t){return Xe(this.root,t||0)},Je.mark=function(t,e,n){var i=Ye(t,e=e||this.root.items[0]);return e.items[n]=i,i.zindex&&(i.group.zdirty=!0),i};var on=nn.prototype;function sn(t){this._el=null,this._bgcolor=null,this._loader=new g(t)}on.initialize=function(t,e,n){return this._el=t,this._obj=n||null,this.origin(e)},on.element=function(){return this._el},on.canvas=function(){return this._el&&this._el.firstChild},on.origin=function(t){return arguments.length?(this._origin=t||[0,0],this):this._origin.slice()},on.scene=function(t){return arguments.length?(this._scene=t,this):this._scene},on.on=function(){},on.off=function(){},on._handlerIndex=function(t,e,n){for(var i=t?t.length:0;--i>=0;)if(t[i].type===e&&(!n||t[i].handler===n))return i;return-1},on.handlers=function(t){var e,n=this._handlers,i=[];if(t)i.push.apply(i,n[this.eventName(t)]);else for(e in n)i.push.apply(i,n[e]);return i},on.eventName=function(t){var e=t.indexOf(".");return e<0?t:t.slice(0,e)},on.handleHref=function(t,e,n){this._loader.sanitize(n,{context:"href"}).then((function(e){var n=new MouseEvent(t.type,t),i=Qe(null,"a");for(var r in e)i.setAttribute(r,e[r]);i.dispatchEvent(n)})).catch((function(){}))},on.handleTooltip=function(t,e,n){if(e&&null!=e.tooltip){e=function(t,e,n,i){var r,o,s=t&&t.mark;if(s&&(r=Ve[s.marktype]).tip){for((o=en(e,n))[0]-=i[0],o[1]-=i[1];t=t.mark.group;)o[0]-=t.x||0,o[1]-=t.y||0;t=r.tip(s.items,o)}return t}(e,t,this.canvas(),this._origin);var i=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,i)}},on.getItemBoundingClientRect=function(t){if(e=this.canvas()){for(var e,n=e.getBoundingClientRect(),i=this._origin,r=t.bounds,o=r.x1+i[0]+n.left,s=r.y1+i[1]+n.top,a=r.width(),u=r.height();t.mark&&(t=t.mark.group);)o+=t.x||0,s+=t.y||0;return{x:o,y:s,width:a,height:u,left:o,top:s,right:o+a,bottom:s+u}}};var an=sn.prototype;an.initialize=function(t,e,n,i,r){return this._el=t,this.resize(e,n,i,r)},an.element=function(){return this._el},an.canvas=function(){return this._el&&this._el.firstChild},an.background=function(t){return 0===arguments.length?this._bgcolor:(this._bgcolor=t,this)},an.resize=function(t,e,n,i){return this._width=t,this._height=e,this._origin=n||[0,0],this._scale=i||1,this},an.dirty=function(){},an.render=function(t){var e=this;return e._call=function(){e._render(t)},e._call(),e._call=null,e},an._render=function(){},an.renderAsync=function(t){var e=this.render(t);return this._ready?this._ready.then((function(){return e})):Promise.resolve(e)},an._load=function(t,e){var n=this,i=n._loader[t](e);if(!n._ready){var r=n._call;n._ready=n._loader.ready().then((function(t){t&&r(),n._ready=null}))}return i},an.sanitizeURL=function(t){return this._load("sanitizeURL",t)},an.loadImage=function(t){return this._load("loadImage",t)};var un="mouseout";function ln(t,e){nn.call(this,t,e),this._down=null,this._touch=null,this._first=!0}var hn=e.inherits(ln,nn);function cn(t,e,n){return function(i){var r=this._active,o=this.pickEvent(i);o===r?this.fire(t,i):(r&&r.exit||this.fire(n,i),this._active=o,this.fire(e,i),this.fire(t,i))}}function fn(t){return function(e){this.fire(t,e),this._active=null}}hn.initialize=function(t,e,n){var i=this._canvas=t&&Ze(t,"canvas");if(i){var r=this;this.events.forEach((function(t){i.addEventListener(t,(function(e){hn[t]?hn[t].call(r,e):r.fire(t,e)}))}))}return nn.prototype.initialize.call(this,t,e,n)},hn.canvas=function(){return this._canvas},hn.context=function(){return this._canvas.getContext("2d")},hn.events=["keydown","keypress","keyup","dragenter","dragleave","dragover","mousedown","mouseup","mousemove","mouseout","mouseover","click","dblclick","wheel","mousewheel","touchstart","touchmove","touchend"],hn.DOMMouseScroll=function(t){this.fire("mousewheel",t)},hn.mousemove=cn("mousemove","mouseover","mouseout"),hn.dragover=cn("dragover","dragenter","dragleave"),hn.mouseout=fn("mouseout"),hn.dragleave=fn("dragleave"),hn.mousedown=function(t){this._down=this._active,this.fire("mousedown",t)},hn.click=function(t){this._down===this._active&&(this.fire("click",t),this._down=null)},hn.touchstart=function(t){this._touch=this.pickEvent(t.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire("touchstart",t,!0)},hn.touchmove=function(t){this.fire("touchmove",t,!0)},hn.touchend=function(t){this.fire("touchend",t,!0),this._touch=null},hn.fire=function(t,e,n){var i,r,o=n?this._touch:this._active,s=this._handlers[t];if(e.vegaType=t,"click"===t&&o&&o.href?this.handleHref(e,o,o.href):"mousemove"!==t&&t!==un||this.handleTooltip(e,o,t!==un),s)for(i=0,r=s.length;i=0&&i.splice(r,1),this},hn.pickEvent=function(t){var e=en(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},hn.pick=function(t,e,n,i,r){var o=this.context();return Ve[t.marktype].pick.call(this,o,t,e,n,i,r)};var dn="undefined"!=typeof window&&window.devicePixelRatio||1;function vn(t){sn.call(this,t),this._redraw=!1,this._dirty=new s}var gn=e.inherits(vn,sn),pn=sn.prototype,yn=new s;function mn(t,e,n){return yn.set(0,0,e,n).translate(-t[0],-t[1])}function _n(t,e){nn.call(this,t,e);var n=this;n._hrefHandler=bn(n,(function(t,e){e&&e.href&&n.handleHref(t,e,e.href)})),n._tooltipHandler=bn(n,(function(t,e){n.handleTooltip(t,e,t.type!==un)}))}gn.initialize=function(t,e,i,r,o,s){return this._options=s,this._canvas=n.canvas(1,1,s&&s.type),t&&(Ke(t,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),pn.initialize.call(this,t,e,i,r,o)},gn.resize=function(t,e,n,i){return pn.resize.call(this,t,e,n,i),function(t,e,n,i,r,o){var s,a="undefined"!=typeof HTMLElement&&t instanceof HTMLElement&&null!=t.parentNode,u=t.getContext("2d"),l=a?dn:r;for(s in t.width=e*l,t.height=n*l,o)u[s]=o[s];a&&1!==l&&(t.style.width=e+"px",t.style.height=n+"px"),u.pixelRatio=l,u.setTransform(l,0,0,l,l*i[0],l*i[1])}(this._canvas,this._width,this._height,this._origin,this._scale,this._options&&this._options.context),this._redraw=!0,this},gn.canvas=function(){return this._canvas},gn.context=function(){return this._canvas?this._canvas.getContext("2d"):null},gn.dirty=function(t){var e=function(t,e){if(null==e)return t;for(var n=yn.clear().union(t);null!=e;e=e.mark.group)n.translate(e.x||0,e.y||0);return n}(t.bounds,t.mark.group);this._dirty.union(e)},gn._render=function(t){var e=this.context(),n=this._origin,i=this._width,r=this._height,o=this._dirty;return e.save(),this._redraw||o.empty()?(this._redraw=!1,o=mn(n,i,r).expand(1)):o=function(t,e,n){return e.expand(1).round(),e.translate(-n[0]%1,-n[1]%1),t.beginPath(),t.rect(e.x1,e.y1,e.width(),e.height()),t.clip(),e}(e,o.intersect(mn(n,i,r)),n),this.clear(-n[0],-n[1],i,r),this.draw(e,t,o),e.restore(),this._dirty.clear(),this},gn.draw=function(t,n,i){var r=Ve[n.marktype];n.clip&&function(t,n){var i=n.clip;t.save(),e.isFunction(i)?(t.beginPath(),i(t),t.clip()):$t(t,n.group)}(t,n),r.draw.call(this,t,n,i),n.clip&&t.restore()},gn.clear=function(t,e,n,i){var r=this.context();r.clearRect(t,e,n,i),null!=this._bgcolor&&(r.fillStyle=this._bgcolor,r.fillRect(t,e,n,i))};var xn=e.inherits(_n,nn);function bn(t,e){return function(n){var i=n.target.__data__;n.vegaType=n.type,i=Array.isArray(i)?i[0]:i,e.call(t._obj,n,i)}}function kn(t,e,n){var i,r,o="<"+t;if(e)for(i in e)null!=(r=e[i])&&(o+=" "+i+'="'+r+'"');return n&&(o+=" "+n),o+">"}function wn(t){return""}xn.initialize=function(t,e,n){var i=this._svg;return i&&(i.removeEventListener("click",this._hrefHandler),i.removeEventListener("mousemove",this._tooltipHandler),i.removeEventListener(un,this._tooltipHandler)),this._svg=i=t&&Ze(t,"svg"),i&&(i.addEventListener("click",this._hrefHandler),i.addEventListener("mousemove",this._tooltipHandler),i.addEventListener(un,this._tooltipHandler)),nn.prototype.initialize.call(this,t,e,n)},xn.canvas=function(){return this._svg},xn.on=function(t,e){var n=this.eventName(t),i=this._handlers;if(this._handlerIndex(i[n],t,e)<0){var r={type:t,handler:e,listener:bn(this,e)};(i[n]||(i[n]=[])).push(r),this._svg&&this._svg.addEventListener(n,r.listener)}return this},xn.off=function(t,e){var n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);return r>=0&&(this._svg&&this._svg.removeEventListener(n,i[r].listener),i.splice(r,1)),this};var Tn={version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},An={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"},Mn=Object.keys(An),zn=Tn.xmlns;function Cn(t){sn.call(this,t),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}var Rn=e.inherits(Cn,sn),Pn=sn.prototype;function Ln(t,e,n){var i,r,o;if("radial"===e.gradient){var s=$e(t,n++,"pattern",zn);s.setAttribute("id",l+e.id),s.setAttribute("viewBox","0,0,1,1"),s.setAttribute("width","100%"),s.setAttribute("height","100%"),s.setAttribute("preserveAspectRatio","xMidYMid slice"),(s=$e(s,0,"rect",zn)).setAttribute("width","1"),s.setAttribute("height","1"),s.setAttribute("fill","url("+Vn()+"#"+e.id+")"),(t=$e(t,n++,"radialGradient",zn)).setAttribute("id",e.id),t.setAttribute("fx",e.x1),t.setAttribute("fy",e.y1),t.setAttribute("fr",e.r1),t.setAttribute("cx",e.x2),t.setAttribute("cy",e.y2),t.setAttribute("r",e.r2)}else(t=$e(t,n++,"linearGradient",zn)).setAttribute("id",e.id),t.setAttribute("x1",e.x1),t.setAttribute("x2",e.x2),t.setAttribute("y1",e.y1),t.setAttribute("y2",e.y2);for(i=0,r=e.stops.length;i1&&t.previousSibling!=e}(s,n))&&e.insertBefore(s,n?n.nextSibling:e.firstChild),s}Rn.initialize=function(t,e,n,i){return t&&(this._svg=$e(t,0,"svg",zn),this._svg.setAttribute("class","marks"),Ke(t,1),this._root=$e(this._svg,0,"g",zn),Ke(this._svg,1)),this._defs={gradient:{},clipping:{}},this.background(this._bgcolor),Pn.initialize.call(this,t,e,n,i)},Rn.background=function(t){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",t),Pn.background.apply(this,arguments)},Rn.resize=function(t,e,n,i){return Pn.resize.call(this,t,e,n,i),this._svg&&(this._svg.setAttribute("width",this._width*this._scale),this._svg.setAttribute("height",this._height*this._scale),this._svg.setAttribute("viewBox","0 0 "+this._width+" "+this._height),this._root.setAttribute("transform","translate("+this._origin+")")),this._dirty=[],this},Rn.canvas=function(){return this._svg},Rn.svg=function(){if(!this._svg)return null;var t={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var e in Tn)t[e]=Tn[e];var n=this._bgcolor?kn("rect",{width:this._width,height:this._height,style:"fill: "+this._bgcolor+";"})+wn("rect"):"";return kn("svg",t)+n+this._svg.innerHTML+wn("svg")},Rn._render=function(t){return this._dirtyCheck()&&(this._dirtyAll&&this._resetDefs(),this.draw(this._root,t),Ke(this._root,1)),this.updateDefs(),this._dirty=[],++this._dirtyID,this},Rn.updateDefs=function(){var t,e=this._svg,n=this._defs,i=n.el,r=0;for(t in n.gradient)i||(n.el=i=$e(e,0,"defs",zn)),r=Ln(i,n.gradient[t],r);for(t in n.clipping)i||(n.el=i=$e(e,0,"defs",zn)),r=Sn(i,n.clipping[t],r);i&&(0===r?(e.removeChild(i),n.el=null):Ke(i,r))},Rn._resetDefs=function(){var t=this._defs;t.gradient={},t.clipping={}},Rn.dirty=function(t){t.dirty!==this._dirtyID&&(t.dirty=this._dirtyID,this._dirty.push(t))},Rn.isDirty=function(t){return this._dirtyAll||!t._svg||t.dirty===this._dirtyID},Rn._dirtyCheck=function(){this._dirtyAll=!0;var t=this._dirty;if(!t.length||!this._dirtyID)return!0;var e,n,i,r,o,s,a,u=++this._dirtyID;for(o=0,s=t.length;oSe(i,t))).join("\n"))!==En.text&&(Ke(n,0),s=n.ownerDocument,a=Pe(i),o.forEach((t,e)=>{const r=Qe(s,"tspan",zn);r.__data__=i,r.textContent=t,e&&(r.setAttribute("x",0),r.setAttribute("dy",a)),n.appendChild(r)}),En.text=r):(o=Se(i,u))!==En.text&&(n.textContent=o,En.text=o),In(n,"font-family",Ne(i)),In(n,"font-size",Ce(i)+"px"),In(n,"font-style",i.fontStyle),In(n,"font-variant",i.fontVariant),In(n,"font-weight",i.fontWeight)}};function In(t,e,n){n!==En[e]&&(null==n?t.style.removeProperty(e):t.style.setProperty(e,n+""),En[e]=n)}function Bn(t,e,n){e!==En[t]&&(null!=e?n?qn.setAttributeNS(n,t,e):qn.setAttribute(t,e):n?qn.removeAttributeNS(n,t):qn.removeAttribute(t),En[t]=e)}function Vn(){var t;return"undefined"==typeof window?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function Hn(t){sn.call(this,t),this._text={head:"",bg:"",root:"",foot:"",defs:"",body:""},this._defs={gradient:{},clipping:{}}}Rn._update=function(t,e,n){qn=e,En=e.__values__,t.attr(Bn,n,this);var i=Dn[t.type];i&&i.call(this,t,e,n),qn&&this.style(qn,n)},Rn.style=function(t,e){var n,i,r,o,s;if(null!=e)for(n=0,i=Mn.length;n/g,">")}Gn.resize=function(t,e,n,i){Un.resize.call(this,t,e,n,i);var r=this._origin,o=this._text,s={class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:"0 0 "+this._width+" "+this._height};for(var a in Tn)s[a]=Tn[a];o.head=kn("svg",s);var u=this._bgcolor;return"transparent"!==u&&"none"!==u||(u=null),o.bg=u?kn("rect",{width:this._width,height:this._height,style:"fill: "+u+";"})+wn("rect"):"",o.root=kn("g",{transform:"translate("+r+")"}),o.foot=wn("g")+wn("svg"),this},Gn.background=function(){var t=Un.background.apply(this,arguments);return arguments.length&&this._text.head&&this.resize(this._width,this._height,this._origin,this._scale),t},Gn.svg=function(){var t=this._text;return t.head+t.bg+t.defs+t.root+t.body+t.foot},Gn._render=function(t){return this._text.body=this.mark(t),this._text.defs=this.buildDefs(),this},Gn.buildDefs=function(){var t,e,n,i,r,o=this._defs,s="";for(e in o.gradient){for(r=(n=o.gradient[e]).stops,"radial"===n.gradient?(s+=kn(i="pattern",{id:l+e,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),s+=kn("rect",{width:"1",height:"1",fill:"url(#"+e+")"})+wn("rect"),s+=wn(i),s+=kn(i="radialGradient",{id:e,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})):s+=kn(i="linearGradient",{id:e,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2}),t=0;t0?kn("defs")+s+wn("defs"):""},Gn.attributes=function(t,e){return Wn={},t(Xn,e,this),Wn},Gn.href=function(t){var e,n=this,i=t.href;if(i){if(e=n._hrefs&&n._hrefs[i])return e;n.sanitizeURL(i).then((function(t){t["xlink:href"]=t.href,t.href=null,(n._hrefs||(n._hrefs={}))[i]=t}))}return null},Gn.mark=function(t){var n,i=this,r=Ve[t.marktype],o=r.tag,s=this._defs,a="";function u(u){var l=i.href(u);if(l&&(a+=kn("a",l)),n="g"!==o?jn(u,t,o,s):null,a+=kn(o,i.attributes(r.attr,u),n),"text"===o){const t=Le(u);if(e.isArray(t)){const e={x:0,dy:Pe(u)};for(let n=0;n=0;i--)if(r[i]!=o[i])return!1;for(i=r.length-1;i>=0;i--)if(n=r[i],!ei(t[n],e[n],n))return!1;return typeof t==typeof e}(t,n):t==n)}function ni(t,e){return ei(w(t),w(e))}t.Bounds=s,t.CanvasHandler=ln,t.CanvasRenderer=vn,t.Gradient=function(t,e){var n,i=[];return n={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:i,stop:function(t,e){return i.push({offset:t,color:e}),n}}},t.GroupItem=v,t.Handler=nn,t.Item=d,t.Marks=Ve,t.RenderType=Jn,t.Renderer=sn,t.ResourceLoader=g,t.SVGHandler=_n,t.SVGRenderer=Cn,t.SVGStringRenderer=Hn,t.Scenegraph=Fe,t.boundClip=function(t){var n=t.clip;if(e.isFunction(n))n(dt(Kn.clear()));else{if(!n)return;Kn.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(Kn)},t.boundContext=dt,t.boundItem=He,t.boundMark=Ge,t.boundStroke=ut,t.closeTag=wn,t.domChild=$e,t.domClear=Ke,t.domCreate=Qe,t.domFind=Ze,t.font=Oe,t.fontFamily=Ne,t.fontSize=Ce,t.intersect=function(t,n,i){const r=[],o=(new s).union(n),a=t.marktype;return a?Qn(t,o,i,r):"group"===a?Zn(t,o,i,r):e.error("Intersect scene must be mark node or group item.")},t.intersectBoxLine=Ct,t.intersectPath=Tt,t.intersectPoint=At,t.intersectRule=zt,t.lineHeight=Pe,t.multiLineOffset=function(t){const n=Le(t);return(e.isArray(n)?n.length-1:0)*Pe(t)},t.openTag=kn,t.pathCurves=x,t.pathEqual=ni,t.pathParse=w,t.pathRectangle=F,t.pathRender=q,t.pathSymbols=I,t.pathTrail=J,t.point=en,t.renderModule=function(t,e){return t=String(t||"").toLowerCase(),arguments.length>1?(Yn[t]=e,this):Yn[t]},t.resetSVGClipId=function(){Kt=1},t.sceneEqual=ei,t.sceneFromJSON=je,t.scenePickVisit=Dt,t.sceneToJSON=Xe,t.sceneVisit=Et,t.sceneZOrder=qt,t.textMetrics=we,Object.defineProperty(t,"__esModule",{value:!0})}));