@marimo-team/frontend 0.17.3 → 0.17.5

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.
Files changed (73) hide show
  1. package/dist/assets/{CellStatus-C3bK7-wN.js → CellStatus-DjUtGUqj.js} +1 -1
  2. package/dist/assets/{ConnectedDataExplorerComponent-f8cXX1lE.js → ConnectedDataExplorerComponent-Bjfp6wiJ.js} +1 -1
  3. package/dist/assets/{ConsoleOutput-DWvKgTax.js → ConsoleOutput-C4nRvbNL.js} +1 -1
  4. package/dist/assets/{MarimoErrorOutput-BgZFHyAp.js → MarimoErrorOutput-DKtP9DfP.js} +1 -1
  5. package/dist/assets/{Output-C8n2C1Pu.js → Output-x6LACtkd.js} +1 -1
  6. package/dist/assets/RenderHTML-B4Xlxz9Q.js +1 -0
  7. package/dist/assets/{add-cell-with-ai-Bwg9bH8i.js → add-cell-with-ai-D94Om7DS.js} +1 -1
  8. package/dist/assets/{add-database-form-dbmUeWp4.js → add-database-form-BDX2uZCC.js} +1 -1
  9. package/dist/assets/{add-missing-import-qki9bte9.js → add-missing-import-Cy6g_y6i.js} +1 -1
  10. package/dist/assets/{agent-panel-Dhy20Enr.js → agent-panel-DPCsTGPU.js} +1 -1
  11. package/dist/assets/{app-config-button-CYwoclvk.js → app-config-button-C02qSaV5.js} +1 -1
  12. package/dist/assets/{cell-actions-c22Lh_IO.js → cell-actions-CNcpitg7.js} +1 -1
  13. package/dist/assets/{cell-editor-GZrtvFJW.js → cell-editor-oXchtd-2.js} +1 -1
  14. package/dist/assets/{cell-link-sTcnY1Ng.js → cell-link-d9BMXpwm.js} +1 -1
  15. package/dist/assets/{cells-ChcCEAp9.js → cells-CZmitpcp.js} +3 -6
  16. package/dist/assets/{chat-components-2Txp_uWE.js → chat-components-u_00E1Iv.js} +1 -1
  17. package/dist/assets/{chat-panel-B-aSH1sh.js → chat-panel-BBQVqm6k.js} +1 -1
  18. package/dist/assets/{client-DphVxIGq.js → client-Co0Fvwib.js} +1 -1
  19. package/dist/assets/{column-preview-CXzpLY8T.js → column-preview-BsCKvnq_.js} +1 -1
  20. package/dist/assets/{command-palette-DisdRO5p.js → command-palette-C9_cNlJc.js} +1 -1
  21. package/dist/assets/{common-D0IIv-_3.js → common-BWlM0NQw.js} +1 -1
  22. package/dist/assets/{datasources-panel-6PT8Bek6.js → datasources-panel-CRS3I41j.js} +1 -1
  23. package/dist/assets/{dependency-graph-panel-6gaUZ9_z.js → dependency-graph-panel-PEDmfewV.js} +1 -1
  24. package/dist/assets/{documentation-panel-CuORNaIe.js → documentation-panel-Caz5K_OT.js} +1 -1
  25. package/dist/assets/{edit-page-CF6ZT6DW.js → edit-page-DuRQ1eIB.js} +3 -3
  26. package/dist/assets/{error-panel-DsYYzWCa.js → error-panel-D0ZJmprT.js} +1 -1
  27. package/dist/assets/{file-explorer-panel-CPZ1gNhJ.js → file-explorer-panel-Jnmw434H.js} +1 -1
  28. package/dist/assets/{floating-outline-BjOLeg9Q.js → floating-outline-BXSB3SQ6.js} +1 -1
  29. package/dist/assets/{focus-BrbV9nqw.js → focus-CUS3ckCE.js} +1 -1
  30. package/dist/assets/{form-BogImzlM.js → form-BlnK1x-p.js} +1 -1
  31. package/dist/assets/{form-wmMKGeHm.js → form-nAUuUhu3.js} +1 -1
  32. package/dist/assets/{home-page-XcjCdiYR.js → home-page-DIYkvTFf.js} +1 -1
  33. package/dist/assets/{index-B6c28rYm.css → index-BmcO-QYJ.css} +1 -1
  34. package/dist/assets/{index-BXJ0L2ZN.js → index-DsdBxblV.js} +6 -6
  35. package/dist/assets/{kiosk-mode-DW0KYuDo.js → kiosk-mode-CHVximkk.js} +1 -1
  36. package/dist/assets/{layout-CNCmZJQH.js → layout-CRXL9551.js} +1 -1
  37. package/dist/assets/{lazy-tfeVHpGH.js → lazy-ijSQmhmN.js} +2 -2
  38. package/dist/assets/{logs-panel-KRi5a3Yd.js → logs-panel-9HAqKVuS.js} +1 -1
  39. package/dist/assets/{mode-47luhzpx.js → mode-CtH3Xe58.js} +1 -1
  40. package/dist/assets/{name-cell-input-iv2D5yrk.js → name-cell-input-DZWpmHYT.js} +1 -1
  41. package/dist/assets/{outline-panel-CwQOW3hr.js → outline-panel-D0DvfWbQ.js} +1 -1
  42. package/dist/assets/{packages-panel-bIuFo_yZ.js → packages-panel-DmqfeORQ.js} +1 -1
  43. package/dist/assets/react-vega-CoPJaJAh.js +194 -0
  44. package/dist/assets/{react-vega-5InfQEZl.js → react-vega-D5EPmHUL.js} +1 -1
  45. package/dist/assets/{readonly-python-code-DOMir81o.js → readonly-python-code-Ba_IF_mK.js} +1 -1
  46. package/dist/assets/{run-page-DcyDyVAW.js → run-page-Dtlg4eqe.js} +1 -1
  47. package/dist/assets/{scratchpad-panel-6URLLQyW.js → scratchpad-panel-5EljtEkX.js} +1 -1
  48. package/dist/assets/{snippets-panel-DQjHx5dH.js → snippets-panel-Cg9ksbKX.js} +1 -1
  49. package/dist/assets/{state-Ds5BCDZt.js → state-7Nd5UYc6.js} +1 -1
  50. package/dist/assets/{state-OU5IKSGK.js → state-BDyZ5-wH.js} +1 -1
  51. package/dist/assets/{storage-CCZ0kBEN.js → storage-DczTxxXy.js} +1 -1
  52. package/dist/assets/{tracing-DlcXZDiG.js → tracing-CbAnhOdo.js} +1 -1
  53. package/dist/assets/{tracing-panel-BNZEX5NU.js → tracing-panel-B3iny2EN.js} +2 -2
  54. package/dist/assets/{types-XAhA2qP3.js → types-h5wz3HYN.js} +1 -1
  55. package/dist/assets/{useAddCell-CG6KWlO3.js → useAddCell-CWXmrhes.js} +1 -1
  56. package/dist/assets/{useCellActionButton-DFWFWfvs.js → useCellActionButton-fVEGFa_R.js} +1 -1
  57. package/dist/assets/{useDeleteCell-BPNrZc-g.js → useDeleteCell-Bg8Hgk6e.js} +1 -1
  58. package/dist/assets/{useNotebookActions-DhHVJ3q5.js → useNotebookActions-BurReKKo.js} +1 -1
  59. package/dist/assets/{useRunCells-BmIxLPpn.js → useRunCells-BiWuvMY1.js} +1 -1
  60. package/dist/assets/{useSplitCell-CDjHCs8K.js → useSplitCell-DhhZ7xVP.js} +1 -1
  61. package/dist/assets/{utilities.esm-B_umFSka.js → utilities.esm-CCw2KKJk.js} +1 -1
  62. package/dist/assets/{variable-panel-E1eImuWQ.js → variable-panel-Dkhq2h3W.js} +1 -1
  63. package/dist/assets/{vega-component-B7kKQDi7.js → vega-component-CrZQsWq8.js} +1 -1
  64. package/dist/index.html +25 -25
  65. package/package.json +2 -2
  66. package/src/core/codemirror/language/__tests__/markdown.test.ts +36 -13
  67. package/src/core/codemirror/language/__tests__/utils.test.ts +6 -2
  68. package/src/css/md.css +6 -0
  69. package/src/plugins/core/__test__/sanitize.test.ts +27 -0
  70. package/src/plugins/core/sanitize.ts +1 -1
  71. package/src/plugins/layout/TexPlugin.tsx +33 -5
  72. package/dist/assets/RenderHTML-DockW4fh.js +0 -1
  73. package/dist/assets/react-vega-Kdht4Pfp.js +0 -192
@@ -1,192 +0,0 @@
1
- var p4=Object.defineProperty;var vx=e=>{throw TypeError(e)};var m4=(e,t,n)=>t in e?p4(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var R=(e,t,n)=>m4(e,typeof t!="symbol"?t+"":t,n),bx=(e,t,n)=>t.has(e)||vx("Cannot "+n);var xx=(e,t,n)=>(bx(e,t,"read from private field"),n?n.call(e):t.get(e)),wx=(e,t,n)=>t.has(e)?vx("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Ih=(e,t,n,r)=>(bx(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n);var Dl,qM,UM;import{r as Gt,s as _x}from"./chunk-DZLz74EQ.js";import{t as g4}from"./react-BcIddLXZ.js";import{t as y4}from"./jsx-runtime-mwDPpfh_.js";import{$ as kx,$t as jh,A as Ex,At as co,B as $x,Bt as Fu,C as Ax,Ct as qh,D as Dx,Dt as Cu,E as Sx,Et as Fx,F as Uh,Ft as Cx,Gt as lr,Ht as Mx,I as Ox,It as zx,J as fo,Jt as gn,Kt as Nx,L as Rx,Lt as Ae,M as Tx,Mt as Lx,N as Px,Nt as Bx,O as Ix,Ot as jx,P as qx,Pt as Ux,Q as Mu,Qt as Wh,R as Wx,Rt as Hx,S as v4,St as J,T as b4,Tt as Hh,U as Gh,Ut as Gx,V as H,Vt as ui,Wt as yn,X as qe,Xt as ci,Y as $t,Yt as Vx,Z as Q,Zt as Ou,_ as x4,_t as fi,a as zu,at as sr,b as w4,bt as _4,c as k4,ct as ho,d as E4,dt as K,en as Vh,et as Xh,f as $4,ft as Sl,g as A4,gt as N,ht as po,i as D4,it as he,j as Xx,jt as Fl,k as Yh,kt as Yx,l as Jx,lt as Tr,m as S4,mt as G,n as F4,nn as Jh,nt as Qh,o as Qx,ot as Kx,p as C4,pt as vn,qt as Zx,r as M4,rt as L,s as e2,st as di,t as O4,tn as Nu,tt as At,u as t2,ut as n2,v as z4,vt as aa,w as N4,wt as Y,x as R4,xt as we,y as T4,yt as de,z as r2,zt as L4}from"./vega-loader.browser-Cp1bHVeU.js";import{a as i2,c as Cl,o as a2,s as o2}from"./precisionRound-BLxyDkD7.js";import{a as Kh,c as l2,d as Ru,f as P4,l as B4,n as mo,o as hi,p as I4,r as j4,s as Zh,t as q4,u as ep}from"./linear-DJH0XBa7.js";import{n as s2,r as Tu,t as U4}from"./ordinal-DqAR8B4U.js";import{a as W4,i as H4,n as G4,o as tp,r as V4,s as oa,t as X4}from"./time-BCTJgqbM.js";import{t as nn}from"./range-BT9bu4c7.js";import{i as Y4,t as J4}from"./defaultLocale-DEWTIUVh.js";import{S as Q4,T as K4,_ as Z4,b as eO,l as tO,r as nO,s as rO,w as iO}from"./defaultLocale-B9-NA0ur.js";import{a as u2,b as aO,d as np,g as oO,h as lO,i as sO,n as uO,r as cO,t as fO,u as rp,v as dO,y as Lu}from"./timer-DPMc0rso.js";import{n as ip,r as Dt,t as c2}from"./path-BAcG87qb.js";import{f as hO,p as pO,u as mO}from"./math-DLEBRToQ.js";import{t as gO}from"./arc-BTae1mqv.js";import{t as yO}from"./array-6SpcN0ID.js";import{_ as vO,a as bO,c as xO,d as wO,f as _O,g as kO,h as EO,i as $O,l as AO,m as DO,n as SO,o as FO,p as CO,r as MO,s as OO,t as zO,u as NO,v as f2}from"./step-mihdlsAu.js";import{n as RO,r as TO,t as d2}from"./line-qKT-og2f.js";import{n as la,t as pi}from"./init-CRjlCkYX.js";import{t as ur}from"./colors-C4hWizf4.js";import{a as ap,c as h2,d as p2,f as LO,i as PO,l as BO,n as IO,o as Pu,p as jO,r as qO,s as UO,t as WO,u as Bu}from"./treemap-C00L9CMp.js";function HO(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(r=o-i,i+=r/++n,a+=r*(o-i));else{let o=-1;for(let l of e)(l=t(l,++o,e))!=null&&(l=+l)>=l&&(r=l-i,i+=r/++n,a+=r*(l-i))}if(n>1)return a/(n-1)}function GO(e,t){let n=HO(e,t);return n&&Math.sqrt(n)}var St=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let t=this._partials,n=0;for(let r=0;r<this._n&&r<32;r++){let i=t[r],a=e+i,o=Math.abs(e)<Math.abs(i)?e-(a-i):i-(a-e);o&&(t[n++]=o),e=a}return t[n]=e,this._n=n+1,this}valueOf(){let e=this._partials,t=this._n,n,r,i,a=0;if(t>0){for(a=e[--t];t>0&&(n=a,r=e[--t],a=n+r,i=r-(a-n),!i););t>0&&(i<0&&e[t-1]<0||i>0&&e[t-1]>0)&&(r=i*2,n=a+r,r==n-a&&(a=n))}return a}};function VO(e,t){return Array.from(t,n=>e[n])}function XO(e=Cl){if(e===Cl)return m2;if(typeof e!="function")throw TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function m2(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function g2(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?m2:XO(i);r>n;){if(r-n>600){let s=r-n+1,u=t-n+1,c=Math.log(s),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(s-f)/s)*(u-s/2<0?-1:1),h=Math.max(n,Math.floor(t-u*f/s+d)),p=Math.min(r,Math.floor(t+(s-u)*f/s+d));g2(e,t,h,p,i)}let a=e[t],o=n,l=r;for(Ml(e,n,t),i(e[r],a)>0&&Ml(e,n,r);o<l;){for(Ml(e,o,l),++o,--l;i(e[o],a)<0;)++o;for(;i(e[l],a)>0;)--l}i(e[n],a)===0?Ml(e,n,l):(++l,Ml(e,l,r)),l<=t&&(n=l+1),t<=l&&(r=l-1)}return e}function Ml(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function op(e,t,n){if(e=Float64Array.from(I4(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return tp(e);if(t>=1)return oa(e);var r,i=(r-1)*t,a=Math.floor(i),o=oa(g2(e,a).subarray(0,a+1));return o+(tp(e.subarray(a+1))-o)*(i-a)}}function y2(e,t,n=P4){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,a=Math.floor(i),o=+n(e[a],a,e);return o+(+n(e[a+1],a+1,e)-o)*(i-a)}}function YO(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function v2(e,t){return op(e,.5,t)}function*JO(e){for(let t of e)yield*t}function b2(e){return Array.from(JO(e))}function x2(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function QO(e,...t){e=new Tu(e),t=t.map(KO);e:for(let n of e)for(let r of t)if(!r.has(n)){e.delete(n);continue e}return e}function KO(e){return e instanceof Tu?e:new Tu(e)}function ZO(...e){let t=new Tu;for(let n of e)for(let r of n)t.add(r);return t}function e8(e,t,n){var r=new fO,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(a,o,l){o=+o,l=l==null?uO():+l,r._restart(function s(u){u+=i,r._restart(s,i+=o,l),a(u)},o,l)},r.restart(e,t,n),r)}var t8=/("(?:[^\\"]|\\.)*")|[:,]/g;function lp(e,t={}){let n=JSON.stringify([1],void 0,t.indent===void 0?2:t.indent).slice(2,-3),r=n===""?1/0:t.maxLength===void 0?80:t.maxLength,{replacer:i}=t;return(function a(o,l,s){o&&typeof o.toJSON=="function"&&(o=o.toJSON());let u=JSON.stringify(o,i);if(u===void 0)return u;let c=r-l.length-s;if(u.length<=c){let f=u.replace(t8,(d,h)=>h||`${d} `);if(f.length<=c)return f}if(i!=null&&(o=JSON.parse(u),i=void 0),typeof o=="object"&&o){let f=l+n,d=[],h=0,p,m;if(Array.isArray(o)){p="[",m="]";let{length:g}=o;for(;h<g;h++)d.push(a(o[h],f,h===g-1?0:1)||"null")}else{p="{",m="}";let g=Object.keys(o),{length:y}=g;for(;h<y;h++){let v=g[h],b=`${JSON.stringify(v)}: `,w=a(o[v],f,b.length+(h===y-1?0:1));w!==void 0&&d.push(b+w)}}if(d.length>0)return[p,n+d.join(`,
2
- ${f}`),m].join(`
3
- ${l}`)}return u})(e,"",0)}function Iu(e){let t=e||vn,n=[],r={};return n.add=i=>{let a=t(i);return r[a]||(r[a]=1,n.push(i)),n},n.remove=i=>{let a=t(i);if(r[a]){r[a]=0;let o=n.indexOf(i);o>=0&&n.splice(o,1)}return n},n}async function ju(e,t){try{await t(e)}catch(n){e.error(n)}}var w2=Symbol("vega_id"),n8=1;function qu(e){return!!(e&&te(e))}function te(e){return e[w2]}function _2(e,t){return e[w2]=t,e}function _e(e){let t=e===Object(e)?e:{data:e};return te(t)?t:_2(t,n8++)}function sp(e){return Uu(e,_e({}))}function Uu(e,t){for(let n in e)t[n]=e[n];return t}function k2(e,t){return _2(t,te(e))}function sa(e,t){return e?t?(n,r)=>e(n,r)||te(t(n))-te(t(r)):(n,r)=>e(n,r)||te(n)-te(r):null}function E2(e){return e&&e.constructor===ua}function ua(){let e=[],t=[],n=[],r=[],i=[],a=null,o=!1;return{constructor:ua,insert(l){let s=Q(l),u=s.length;for(let c=0;c<u;++c)e.push(s[c]);return this},remove(l){let s=de(l)?r:t,u=Q(l),c=u.length;for(let f=0;f<c;++f)s.push(u[f]);return this},modify(l,s,u){let c={field:s,value:At(u)};return de(l)?(c.filter=l,i.push(c)):(c.tuple=l,n.push(c)),this},encode(l,s){return de(l)?i.push({filter:l,field:s}):n.push({tuple:l,field:s}),this},clean(l){return a=l,this},reflow(){return o=!0,this},pulse(l,s){let u={},c={},f,d,h,p,m,g;for(f=0,d=s.length;f<d;++f)u[te(s[f])]=1;for(f=0,d=t.length;f<d;++f)m=t[f],u[te(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],s.forEach(v=>{p(v)&&(u[te(v)]=-1)});for(f=0,d=e.length;f<d;++f)m=e[f],g=te(m),u[g]?u[g]=1:l.add.push(_e(e[f]));for(f=0,d=s.length;f<d;++f)m=s[f],u[te(m)]<0&&l.rem.push(m);function y(v,b,w){w?v[b]=w(v):l.encode=b,o||(c[te(v)]=v)}for(f=0,d=n.length;f<d;++f)h=n[f],m=h.tuple,p=h.field,g=u[te(m)],g>0&&(y(m,p,h.value),l.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,s.forEach(v=>{p(v)&&u[te(v)]>0&&y(v,h.field,h.value)}),l.modifies(h.field);if(o)l.mod=t.length||r.length?s.filter(v=>u[te(v)]>0):s.slice();else for(g in c)l.mod.push(c[g]);return(a||a==null&&(t.length||r.length))&&l.clean(!0),l}}}var Wu="_:mod:_";function Hu(){Object.defineProperty(this,Wu,{writable:!0,value:{}})}Hu.prototype={set(e,t,n,r){let i=this,a=i[e],o=i[Wu];return t!=null&&t>=0?(a[t]!==n||r)&&(a[t]=n,o[t+":"+e]=-1,o[e]=-1):(a!==n||r)&&(i[e]=n,o[e]=N(n)?1+n.length:-1),i},modified(e,t){let n=this[Wu];if(arguments.length){if(N(e)){for(let r=0;r<e.length;++r)if(n[e[r]])return!0;return!1}}else{for(let r in n)if(n[r])return!0;return!1}return t!=null&&t>=0?t+1<n[e]||!!n[t+":"+e]:!!n[e]},clear(){return this[Wu]={},this}};var r8=0,i8="pulse",a8=new Hu,o8=1,l8=2;function Oe(e,t,n,r){this.id=++r8,this.value=e,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,t&&(this._update=t),n&&this.parameters(n,r)}function $2(e){return function(t){let n=this.flags;return arguments.length===0?!!(n&e):(this.flags=t?n|e:n&~e,this)}}Oe.prototype={targets(){return this._targets||(this._targets=Iu(Sl))},set(e){return this.value===e?0:(this.value=e,1)},skip:$2(o8),modified:$2(l8),parameters(e,t,n){t=t!==!1;let r=this._argval=this._argval||new Hu,i=this._argops=this._argops||[],a=[],o,l,s,u,c=(f,d,h)=>{h instanceof Oe?(h!==this&&(t&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in e)if(l=e[o],o===i8)Q(l).forEach(f=>{f instanceof Oe?f!==this&&(f.targets().add(this),a.push(f)):L("Pulse parameters must be operator instances.")}),this.source=l;else if(N(l))for(r.set(o,-1,Array(s=l.length)),u=0;u<s;++u)c(o,u,l[u]);else c(o,-1,l);return this.marshall().clear(),n&&(i.initonly=!0),a},marshall(e){let t=this._argval||a8,n=this._argops,r,i,a,o;if(n){let l=n.length;for(i=0;i<l;++i)r=n[i],a=r.op,o=a.modified()&&a.stamp===e,t.set(r.name,r.index,a.value,o);if(n.initonly){for(i=0;i<l;++i)r=n[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return t},detach(){let e=this._argops,t,n,r,i;if(e)for(t=0,n=e.length;t<n;++t)r=e[t],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(e){let t=this._update;if(t){let n=this.marshall(e.stamp),r=t.call(this,n,e);if(n.clear(),r!==this.value)this.value=r;else if(!this.modified())return e.StopPropagation}},run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?(this.skip(!1),t=0):t=this.evaluate(e),this.pulse=t||e}};function s8(e,t,n,r){let i=1,a;return e instanceof Oe?a=e:e&&e.prototype instanceof Oe?a=new e:de(e)?a=new Oe(null,e):(i=0,a=new Oe(e,t)),this.rank(a),i&&(r=n,n=t),n&&this.connect(a,a.parameters(n,r)),this.touch(a),a}function u8(e,t){let n=e.rank,r=t.length;for(let i=0;i<r;++i)if(n<t[i].rank){this.rerank(e);return}}var c8=0;function Gu(e,t,n){this.id=++c8,this.value=null,n&&(this.receive=n),e&&(this._filter=e),t&&(this._apply=t)}function mi(e,t,n){return new Gu(e,t,n)}Gu.prototype={_filter:gn,_apply:vn,targets(){return this._targets||(this._targets=Iu(Sl))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){let t=this.value=this._apply(e),n=this._targets,r=n?n.length:0;for(let i=0;i<r;++i)n[i].receive(t);this._consume&&(e.preventDefault(),e.stopPropagation())}},filter(e){let t=mi(e);return this.targets().add(t),t},apply(e){let t=mi(null,e);return this.targets().add(t),t},merge(){let e=mi();this.targets().add(e);for(let t=0,n=arguments.length;t<n;++t)arguments[t].targets().add(e);return e},throttle(e){let t=-1;return this.filter(()=>{let n=Date.now();return n-t>e?(t=n,1):0})},debounce(e){let t=mi();return this.targets().add(mi(null,null,Qh(e,n=>{let r=n.dataflow;t.receive(n),r&&r.run&&r.run()}))),t},between(e,t){let n=!1;return e.targets().add(mi(null,null,()=>n=!0)),t.targets().add(mi(null,null,()=>n=!1)),this.filter(()=>n)},detach(){this._filter=gn,this._targets=null}};function f8(e,t,n,r){let i=this,a=mi(n,r),o=function(u){u.dataflow=i;try{a.receive(u)}catch(c){i.error(c)}finally{i.run()}},l;l=typeof e=="string"&&typeof document<"u"?document.querySelectorAll(e):Q(e);let s=l.length;for(let u=0;u<s;++u)l[u].addEventListener(t,o);return a}function d8(e,t){let n=this.locale();return Qx(e,t,n.timeParse,n.utcParse)}function h8(e,t,n){return t=this.parse(t,n),this.pulse(e,this.changeset().insert(t))}async function p8(e,t){let n=this,r=0,i;try{i=await n.loader().load(e,{context:"dataflow",response:e2(t&&t.type)});try{i=n.parse(i,t)}catch(a){r=-2,n.warn("Data ingestion failed",e,a)}}catch(a){r=-1,n.warn("Loading failed",e,a)}return{data:i,status:r}}async function m8(e,t,n){let r=this,i=r._pending||g8(r);i.requests+=1;let a=await r.request(t,n);return r.pulse(e,r.changeset().remove(gn).insert(a.data||[])),i.done(),a}function g8(e){let t,n=new Promise(r=>t=r);return n.requests=0,n.done=()=>{--n.requests===0&&(e._pending=null,t(e))},e._pending=n}var y8={skip:!0};function v8(e,t,n,r,i){return(e instanceof Oe?x8:b8)(this,e,t,n,r,i),this}function b8(e,t,n,r,i,a){let o=he({},a,y8),l,s;de(n)||(n=At(n)),r===void 0?l=u=>e.touch(n(u)):de(r)?(s=new Oe(null,r,i,!1),l=u=>{s.evaluate(u);let c=n(u),f=s.value;E2(f)?e.pulse(c,f,a):e.update(c,f,o)}):l=u=>e.update(n(u),r,o),t.apply(l)}function x8(e,t,n,r,i,a){if(r===void 0)t.targets().add(n);else{let o=a||{},l=new Oe(null,w8(n,r),i,!1);l.modified(o.force),l.rank=t.rank,t.targets().add(l),n&&(l.skip(!0),l.value=n.value,l.targets().add(n),e.connect(n,[l]))}}function w8(e,t){return t=de(t)?t:At(t),e?function(n,r){let i=t(n,r);return e.skip()||(e.skip(i!==this.value).value=i),i}:t}function _8(e){e.rank=++this._rank}function k8(e){let t=[e],n,r,i;for(;t.length;)if(this.rank(n=t.pop()),r=n._targets)for(i=r.length;--i>=0;)t.push(n=r[i]),n===e&&L("Cycle detected in dataflow graph.")}var Vu={},Lr=1,gi=2,yi=4,E8=Lr|gi,A2=Lr|yi,go=gi|5,D2=8,Ol=16,S2=32,F2=64;function vi(e,t,n){this.dataflow=e,this.stamp=t??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=n||null}function up(e,t){let n=[];return ci(e,t,r=>n.push(r)),n}function C2(e,t){let n={};return e.visit(t,r=>{n[te(r)]=1}),r=>n[te(r)]?null:r}function Xu(e,t){return e?(n,r)=>e(n,r)&&t(n,r):t}vi.prototype={StopPropagation:Vu,ADD:Lr,REM:gi,MOD:yi,ADD_REM:E8,ADD_MOD:A2,ALL:go,REFLOW:D2,SOURCE:Ol,NO_SOURCE:S2,NO_FIELDS:F2,fork(e){return new vi(this.dataflow).init(this,e)},clone(){let e=this.fork(go);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(go|Ol)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new vi(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,t){let n=this;return n.stamp=e.stamp,n.encode=e.encode,e.fields&&!(t&F2)&&(n.fields=e.fields),t&Lr?(n.addF=e.addF,n.add=e.add):(n.addF=null,n.add=[]),t&gi?(n.remF=e.remF,n.rem=e.rem):(n.remF=null,n.rem=[]),t&yi?(n.modF=e.modF,n.mod=e.mod):(n.modF=null,n.mod=[]),t&S2?(n.srcF=null,n.source=null):(n.srcF=e.srcF,n.source=e.source,e.cleans&&(n.cleans=e.cleans)),n},runAfter(e){this.dataflow.runAfter(e)},changed(e){let t=e||go;return t&Lr&&this.add.length||t&gi&&this.rem.length||t&yi&&this.mod.length},reflow(e){if(e)return this.fork(go).reflow();let t=this.add.length,n=this.source&&this.source.length;return n&&n!==t&&(this.mod=this.source,t&&this.filter(yi,C2(this,Lr))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){let t=this.fields||(this.fields={});return N(e)?e.forEach(n=>t[n]=!0):t[e]=!0,this},modified(e,t){let n=this.fields;return(t||this.mod.length)&&n?arguments.length?N(e)?e.some(r=>n[r]):n[e]:!!n:!1},filter(e,t){let n=this;return e&Lr&&(n.addF=Xu(n.addF,t)),e&gi&&(n.remF=Xu(n.remF,t)),e&yi&&(n.modF=Xu(n.modF,t)),e&Ol&&(n.srcF=Xu(n.srcF,t)),n},materialize(e){e||(e=go);let t=this;return e&Lr&&t.addF&&(t.add=up(t.add,t.addF),t.addF=null),e&gi&&t.remF&&(t.rem=up(t.rem,t.remF),t.remF=null),e&yi&&t.modF&&(t.mod=up(t.mod,t.modF),t.modF=null),e&Ol&&t.srcF&&(t.source=t.source.filter(t.srcF),t.srcF=null),t},visit(e,t){let n=this,r=t;if(e&Ol)return ci(n.source,n.srcF,r),n;e&Lr&&ci(n.add,n.addF,r),e&gi&&ci(n.rem,n.remF,r),e&yi&&ci(n.mod,n.modF,r);let i=n.source;if(e&D2&&i){let a=n.add.length+n.mod.length;a===i.length||(a?ci(i,C2(n,A2),r):ci(i,n.srcF,r))}return n}};function cp(e,t,n,r){let i=this,a=0;this.dataflow=e,this.stamp=t,this.fields=null,this.encode=r||null,this.pulses=n;for(let o of n)if(o.stamp===t){if(o.fields){let l=i.fields||(i.fields={});for(let s in o.fields)l[s]=1}o.changed(i.ADD)&&(a|=i.ADD),o.changed(i.REM)&&(a|=i.REM),o.changed(i.MOD)&&(a|=i.MOD)}this.changes=a}G(cp,vi,{fork(e){let t=new vi(this.dataflow).init(this,e&this.NO_FIELDS);return e!==void 0&&(e&t.ADD&&this.visit(t.ADD,n=>t.add.push(n)),e&t.REM&&this.visit(t.REM,n=>t.rem.push(n)),e&t.MOD&&this.visit(t.MOD,n=>t.mod.push(n))),t},changed(e){return this.changes&e},modified(e){let t=this,n=t.fields;return n&&t.changes&t.MOD?N(e)?e.some(r=>n[r]):n[e]:0},filter(){L("MultiPulse does not support filtering.")},materialize(){L("MultiPulse does not support materialization.")},visit(e,t){let n=this,r=n.pulses,i=r.length,a=0;if(e&n.SOURCE)for(;a<i;++a)r[a].visit(e,t);else for(;a<i;++a)r[a].stamp===n.stamp&&r[a].visit(e,t);return n}});async function $8(e,t,n){let r=this,i=[];if(r._pulse)return M2(r);if(r._pending&&await r._pending,t&&await ju(r,t),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;let a=++r._clock;r._pulse=new vi(r,a,e),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Iu(Sl);let o=0,l,s,u;try{for(;r._heap.size()>0;){if(l=r._heap.pop(),l.rank!==l.qrank){r._enqueue(l,!0);continue}s=l.run(r._getPulse(l,e)),s.then?s=await s:s.async&&(i.push(s.async),s=Vu),s!==Vu&&l._targets&&l._targets.forEach(c=>r._enqueue(c)),++o}}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${o} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){let c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await ju(r,c[f].callback)}return n&&await ju(r,n),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r}async function A8(e,t,n){for(;this._running;)await this._running;let r=()=>this._running=null;return(this._running=this.evaluate(e,t,n)).then(r,r),this._running}function D8(e,t,n){return this._pulse?M2(this):(this.evaluate(e,t,n),this)}function S8(e,t,n){if(this._pulse||t)this._postrun.push({priority:n||0,callback:e});else try{e(this)}catch(r){this.error(r)}}function M2(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}function F8(e,t){let n=e.stamp<this._clock;n&&(e.stamp=this._clock),(n||t)&&(e.qrank=e.rank,this._heap.push(e))}function C8(e,t){let n=e.source,r=this._clock;return n&&N(n)?new cp(this,r,n.map(i=>i.pulse),t):this._input[e.id]||M8(this._pulse,n&&n.pulse)}function M8(e,t){return t&&t.stamp===e.stamp?t:(e=e.fork(),t&&t!==Vu&&(e.source=t.source),e)}var fp={skip:!1,force:!1};function O8(e,t){let n=t||fp;return this._pulse?this._enqueue(e):this._touched.add(e),n.skip&&e.skip(!0),this}function z8(e,t,n){let r=n||fp;return(e.set(t)||r.force)&&this.touch(e,r),this}function N8(e,t,n){this.touch(e,n||fp);let r=new vi(this,this._clock+(this._pulse?0:1)),i=e.pulse&&e.pulse.source||[];return r.target=e,this._input[e.id]=t.pulse(r,i),this}function R8(e){let t=[];return{clear:()=>t=[],size:()=>t.length,peek:()=>t[0],push:n=>(t.push(n),O2(t,0,t.length-1,e)),pop:()=>{let n=t.pop(),r;return t.length?(r=t[0],t[0]=n,T8(t,0,e)):r=n,r}}}function O2(e,t,n,r){let i,a,o=e[n];for(;n>t;){if(a=n-1>>1,i=e[a],r(o,i)<0){e[n]=i,n=a;continue}break}return e[n]=o}function T8(e,t,n){let r=t,i=e.length,a=e[t],o=(t<<1)+1,l;for(;o<i;)l=o+1,l<i&&n(e[o],e[l])>=0&&(o=l),e[t]=e[o],t=o,o=(t<<1)+1;return e[t]=a,O2(e,r,t,n)}function yo(){this.logger(Cu()),this.logLevel(1),this._clock=0,this._rank=0,this._locale=Jx();try{this._loader=zu()}catch{}this._touched=Iu(Sl),this._input={},this._pulse=null,this._heap=R8((e,t)=>e.qrank-t.qrank),this._postrun=[]}function zl(e){return function(){return this._log[e].apply(this,arguments)}}yo.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:zl("error"),warn:zl("warn"),info:zl("info"),debug:zl("debug"),logLevel:zl("level"),cleanThreshold:1e4,add:s8,connect:u8,rank:_8,rerank:k8,pulse:N8,touch:O8,update:z8,changeset:ua,ingest:h8,parse:d8,preload:m8,request:p8,events:f8,on:v8,evaluate:$8,run:D8,runAsync:A8,runAfter:S8,_enqueue:F8,_getPulse:C8};function O(e,t){Oe.call(this,e,null,t)}G(O,Oe,{run(e){if(e.stamp<this.stamp)return e.StopPropagation;let t;return this.skip()?this.skip(!1):t=this.evaluate(e),t||(t=e),t.then?t=t.then(n=>this.pulse=n):t!==e.StopPropagation&&(this.pulse=t),t},evaluate(e){let t=this.marshall(e.stamp),n=this.transform(t,e);return t.clear(),n},transform(){}});var vo={};function z2(e){let t=N2(e);return t&&t.Definition||null}function N2(e){return e&&(e=e.toLowerCase()),K(vo,e)?vo[e]:null}function*R2(e,t){if(t==null)for(let n of e)n!=null&&n!==""&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)r=t(r,++n,e),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function dp(e,t,n){let r=Float64Array.from(R2(e,n));return r.sort(Cl),t.map(i=>y2(r,i))}function hp(e,t){return dp(e,[.25,.5,.75],t)}function pp(e,t){let n=e.length,r=GO(e,t),i=hp(e,t),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*n**-.2}function T2(e){let t=e.maxbins||20,n=e.base||10,r=Math.log(n),i=e.divide||[5,2],a=e.extent[0],o=e.extent[1],l,s,u,c,f,d,h=e.span||o-a||Math.abs(a)||1;if(e.step)l=e.step;else if(e.steps){for(c=h/t,f=0,d=e.steps.length;f<d&&e.steps[f]<c;++f);l=e.steps[Math.max(0,f-1)]}else{for(s=Math.ceil(Math.log(t)/r),u=e.minstep||0,l=Math.max(u,n**+(Math.round(Math.log(h)/r)-s));Math.ceil(h/l)>t;)l*=n;for(f=0,d=i.length;f<d;++f)c=l/i[f],c>=u&&h/c<=t&&(l=c)}c=Math.log(l);let p=n**(-(c>=0?0:~~(-c/r)+1)-1);return(e.nice||e.nice===void 0)&&(c=Math.floor(a/l+p)*l,a=a<c?c-l:c,o=Math.ceil(o/l)*l),{start:a,stop:o===a?a+l:o,step:l}}var bn=Math.random;function L8(e){bn=e}function L2(e,t,n,r){if(!e.length)return[void 0,void 0];let i=Float64Array.from(R2(e,r)),a=i.length,o=t,l,s,u,c;for(u=0,c=Array(o);u<o;++u){for(l=0,s=0;s<a;++s)l+=i[~~(bn()*a)];c[u]=l/a}return c.sort(Cl),[op(c,n/2),op(c,1-n/2)]}function P2(e,t,n,r){r||(r=(d=>d));let i=e.length,a=new Float64Array(i),o=0,l=1,s=r(e[0]),u=s,c=s+t,f;for(;l<i;++l){if(f=r(e[l]),f>=c){for(u=(s+u)/2;o<l;++o)a[o]=u;c=f+t,s=f}u=f}for(u=(s+u)/2;o<l;++o)a[o]=u;return n?P8(a,t+t/4):a}function P8(e,t){let n=e.length,r=0,i=1,a,o;for(;e[r]===e[i];)++i;for(;i<n;){for(a=i+1;e[i]===e[a];)++a;if(e[i]-e[i-1]<t){for(o=i+(r+a-i-i>>1);o<i;)e[o++]=e[i];for(;o>i;)e[o--]=e[r]}r=i,i=a}return e}function B8(e){return function(){return e=(1103515245*e+12345)%2147483647,e/2147483647}}function I8(e,t){t??(t=e,e=0);let n,r,i,a={min(o){return arguments.length?(n=o||0,i=r-n,a):n},max(o){return arguments.length?(r=o||0,i=r-n,a):r},sample(){return n+Math.floor(i*bn())},pdf(o){return o===Math.floor(o)&&o>=n&&o<r?1/i:0},cdf(o){let l=Math.floor(o);return l<n?0:l>=r?1:(l-n+1)/i},icdf(o){return o>=0&&o<=1?n-1+Math.floor(o*i):NaN}};return a.min(e).max(t)}var B2=Math.sqrt(2*Math.PI),j8=Math.SQRT2,Nl=NaN;function Yu(e,t){e||(e=0),t??(t=1);let n=0,r=0,i,a;if(Nl===Nl)n=Nl,Nl=NaN;else{do n=bn()*2-1,r=bn()*2-1,i=n*n+r*r;while(i===0||i>1);a=Math.sqrt(-2*Math.log(i)/i),n*=a,Nl=r*a}return e+n*t}function mp(e,t,n){n??(n=1);let r=(e-(t||0))/n;return Math.exp(-.5*r*r)/(n*B2)}function Ju(e,t,n){t||(t=0),n??(n=1);let r=(e-t)/n,i=Math.abs(r),a;if(i>37)a=0;else{let o=Math.exp(-i*i/2),l;i<7.07106781186547?(l=.0352624965998911*i+.700383064443688,l=l*i+6.37396220353165,l=l*i+33.912866078383,l=l*i+112.079291497871,l=l*i+221.213596169931,l=l*i+220.206867912376,a=o*l,l=.0883883476483184*i+1.75566716318264,l=l*i+16.064177579207,l=l*i+86.7807322029461,l=l*i+296.564248779674,l=l*i+637.333633378831,l=l*i+793.826512519948,l=l*i+440.413735824752,a/=l):(l=i+.65,l=i+4/l,l=i+3/l,l=i+2/l,l=i+1/l,a=o/l/2.506628274631)}return r>0?1-a:a}function Qu(e,t,n){return e<0||e>1?NaN:(t||0)+(n??1)*j8*q8(2*e-1)}function q8(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}function gp(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Yu(n,r),pdf:a=>mp(a,n,r),cdf:a=>Ju(a,n,r),icdf:a=>Qu(a,n,r)};return i.mean(e).stdev(t)}function yp(e,t){let n=gp(),r=0,i={data(a){return arguments.length?(e=a,r=a?a.length:0,i.bandwidth(t)):e},bandwidth(a){return arguments.length?(t=a,!t&&e&&(t=pp(e)),i):t},sample(){return e[~~(bn()*r)]+t*n.sample()},pdf(a){let o=0,l=0;for(;l<r;++l)o+=n.pdf((a-e[l])/t);return o/t/r},cdf(a){let o=0,l=0;for(;l<r;++l)o+=n.cdf((a-e[l])/t);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(e)}function vp(e,t){return e||(e=0),t??(t=1),Math.exp(e+Yu()*t)}function bp(e,t,n){if(e<=0)return 0;t||(t=0),n??(n=1);let r=(Math.log(e)-t)/n;return Math.exp(-.5*r*r)/(n*B2*e)}function xp(e,t,n){return Ju(Math.log(e),t,n)}function wp(e,t,n){return Math.exp(Qu(e,t,n))}function I2(e,t){let n,r,i={mean(a){return arguments.length?(n=a||0,i):n},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>vp(n,r),pdf:a=>bp(a,n,r),cdf:a=>xp(a,n,r),icdf:a=>wp(a,n,r)};return i.mean(e).stdev(t)}function j2(e,t){let n=0,r;function i(o){let l=[],s=0,u;for(u=0;u<n;++u)s+=l[u]=o[u]==null?1:+o[u];for(u=0;u<n;++u)l[u]/=s;return l}let a={weights(o){return arguments.length?(r=i(t=o||[]),a):t},distributions(o){return arguments.length?(o?(n=o.length,e=o):(n=0,e=[]),a.weights(t)):e},sample(){let o=bn(),l=e[n-1],s=r[0],u=0;for(;u<n-1;s+=r[++u])if(o<s){l=e[u];break}return l.sample()},pdf(o){let l=0,s=0;for(;s<n;++s)l+=r[s]*e[s].pdf(o);return l},cdf(o){let l=0,s=0;for(;s<n;++s)l+=r[s]*e[s].cdf(o);return l},icdf(){throw Error("Mixture icdf not supported.")}};return a.distributions(e).weights(t)}function _p(e,t){return t??(t=e??1,e=0),e+(t-e)*bn()}function kp(e,t,n){return n??(n=t??1,t=0),e>=t&&e<=n?1/(n-t):0}function Ep(e,t,n){return n??(n=t??1,t=0),e<t?0:e>n?1:(e-t)/(n-t)}function $p(e,t,n){return n??(n=t??1,t=0),e>=0&&e<=1?t+e*(n-t):NaN}function q2(e,t){let n,r,i={min(a){return arguments.length?(n=a||0,i):n},max(a){return arguments.length?(r=a??1,i):r},sample:()=>_p(n,r),pdf:a=>kp(a,n,r),cdf:a=>Ep(a,n,r),icdf:a=>$p(a,n,r)};return t??(t=e??1,e=0),i.min(e).max(t)}function Ap(e,t,n){let r=0,i=0;for(let a of e){let o=n(a);t(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Rl(e,t,n,r){let i=r-e*e,a=Math.abs(i)<1e-24?0:(n-e*t)/i;return[t-a*e,a]}function Ku(e,t,n,r){e=e.filter(h=>{let p=t(h),m=n(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&e.sort((h,p)=>t(h)-t(p));let i=e.length,a=new Float64Array(i),o=new Float64Array(i),l=0,s=0,u=0,c,f,d;for(d of e)a[l]=c=+t(d),o[l]=f=+n(d),++l,s+=(c-s)/l,u+=(f-u)/l;for(l=0;l<i;++l)a[l]-=s,o[l]-=u;return[a,o,s,u]}function Tl(e,t,n,r){let i=-1,a,o;for(let l of e)a=t(l),o=n(l),a!=null&&(a=+a)>=a&&o!=null&&(o=+o)>=o&&r(a,o,++i)}function bo(e,t,n,r,i){let a=0,o=0;return Tl(e,t,n,(l,s)=>{let u=s-i(l),c=s-r;a+=u*u,o+=c*c}),1-a/o}function Dp(e,t,n){let r=0,i=0,a=0,o=0,l=0;Tl(e,t,n,(c,f)=>{++l,r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let s=Rl(r,i,a,o),u=c=>s[0]+s[1]*c;return{coef:s,predict:u,rSquared:bo(e,t,n,i,u)}}function U2(e,t,n){let r=0,i=0,a=0,o=0,l=0;Tl(e,t,n,(c,f)=>{++l,c=Math.log(c),r+=(c-r)/l,i+=(f-i)/l,a+=(c*f-a)/l,o+=(c*c-o)/l});let s=Rl(r,i,a,o),u=c=>s[0]+s[1]*Math.log(c);return{coef:s,predict:u,rSquared:bo(e,t,n,i,u)}}function W2(e,t,n){let[r,i,a,o]=Ku(e,t,n),l=0,s=0,u=0,c=0,f=0,d,h,p;Tl(e,t,n,(v,b)=>{d=r[f++],h=Math.log(b),p=d*b,l+=(b*h-l)/f,s+=(p-s)/f,u+=(p*h-u)/f,c+=(d*p-c)/f});let[m,g]=Rl(s/o,l/o,u/o,c/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:bo(e,t,n,o,y)}}function H2(e,t,n){let r=0,i=0,a=0,o=0,l=0,s=0;Tl(e,t,n,(f,d)=>{let h=Math.log(f),p=Math.log(d);++s,r+=(h-r)/s,i+=(p-i)/s,a+=(h*p-a)/s,o+=(h*h-o)/s,l+=(d-l)/s});let u=Rl(r,i,a,o),c=f=>u[0]*f**+u[1];return u[0]=Math.exp(u[0]),{coef:u,predict:c,rSquared:bo(e,t,n,l,c)}}function Sp(e,t,n){let[r,i,a,o]=Ku(e,t,n),l=r.length,s=0,u=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<l;)p=r[h],m=i[h++],g=p*p,s+=(g-s)/h,u+=(g*p-u)/h,c+=(g*g-c)/h,f+=(p*m-f)/h,d+=(g*m-d)/h;let y=c-s*s,v=s*y-u*u,b=(d*s-f*u)/v,w=(f*y-d*u)/v,_=-b*s,k=x=>(x-=a,b*x*x+w*x+_+o);return{coef:[_-w*a+b*a*a+o,w-2*b*a,b],predict:k,rSquared:bo(e,t,n,o,k)}}function G2(e,t,n,r){if(r===0)return Ap(e,t,n);if(r===1)return Dp(e,t,n);if(r===2)return Sp(e,t,n);let[i,a,o,l]=Ku(e,t,n),s=i.length,u=[],c=[],f=r+1,d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<s;++p)m+=i[p]**+d*a[p];for(u.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<s;++p)m+=i[p]**+(d+h);g[h]=m}c.push(g)}c.push(u);let y=W8(c),v=b=>{b-=o;let w=l+y[0]+y[1]*b+y[2]*b*b;for(d=3;d<f;++d)w+=y[d]*b**+d;return w};return{coef:U8(f,y,-o,l),predict:v,rSquared:bo(e,t,n,l,v)}}function U8(e,t,n,r){let i=Array(e),a,o,l,s;for(a=0;a<e;++a)i[a]=0;for(a=e-1;a>=0;--a)for(l=t[a],s=1,i[a]+=l,o=1;o<=a;++o)s*=(a+1-o)/o,i[a-o]+=l*n**+o*s;return i[0]+=r,i}function W8(e){let t=e.length-1,n=[],r,i,a,o,l;for(r=0;r<t;++r){for(o=r,i=r+1;i<t;++i)Math.abs(e[r][i])>Math.abs(e[r][o])&&(o=i);for(a=r;a<t+1;++a)l=e[a][r],e[a][r]=e[a][o],e[a][o]=l;for(i=r+1;i<t;++i)for(a=t;a>=r;a--)e[a][i]-=e[a][r]*e[r][i]/e[r][r]}for(i=t-1;i>=0;--i){for(l=0,a=i+1;a<t;++a)l+=e[a][i]*n[a];n[i]=(e[t][i]-l)/e[i][i]}return n}var V2=2,X2=1e-12;function Y2(e,t,n,r){let[i,a,o,l]=Ku(e,t,n,!0),s=i.length,u=Math.max(2,~~(r*s)),c=new Float64Array(s),f=new Float64Array(s),d=new Float64Array(s).fill(1);for(let h=-1;++h<=V2;){let p=[0,u-1];for(let g=0;g<s;++g){let y=i[g],v=p[0],b=p[1],w=y-i[v]>i[b]-y?v:b,_=0,k=0,x=0,E=0,$=0,D=1/Math.abs(i[w]-y||1);for(let S=v;S<=b;++S){let M=i[S],A=a[S],C=H8(Math.abs(y-M)*D)*d[S],P=M*C;_+=C,k+=P,x+=A*C,E+=A*P,$+=M*P}let[F,T]=Rl(k/_,x/_,E/_,$/_);c[g]=F+T*y,f[g]=Math.abs(a[g]-c[g]),G8(i,g+1,p)}if(h===V2)break;let m=v2(f);if(Math.abs(m)<X2)break;for(let g=0,y,v;g<s;++g)y=f[g]/(6*m),d[g]=y>=1?X2:(v=1-y*y)*v}return V8(i,c,o,l)}function H8(e){return(e=1-e*e*e)*e*e}function G8(e,t,n){let r=e[t],i=n[0],a=n[1]+1;if(!(a>=e.length))for(;t>i&&e[a]-r<=r-e[i];)n[0]=++i,n[1]=a,++a}function V8(e,t,n,r){let i=e.length,a=[],o=0,l=0,s=[],u;for(;o<i;++o)u=e[o]+n,s[0]===u?s[1]+=(t[o]-s[1])/++l:(l=0,s[1]+=r,s=[u,t[o]],a.push(s));return s[1]+=r,a}var X8=.5*Math.PI/180;function Zu(e,t,n,r){n||(n=25),r=Math.max(n,r||200);let i=m=>[m,e(m)],a=t[0],o=t[1],l=o-a,s=l/r,u=[i(a)],c=[];if(n===r){for(let m=1;m<r;++m)u.push(i(a+m/n*l));return u.push(i(o)),u}else{c.push(i(o));for(let m=n;--m>0;)c.push(i(a+m/n*l))}let f=u[0],d=c[c.length-1],h=1/l,p=Y8(f[1],c);for(;d;){let m=i((f[0]+d[0])/2);m[0]-f[0]>=s&&J8(f,m,d,h,p)>X8?c.push(m):(f=d,u.push(d),c.pop()),d=c[c.length-1]}return u}function Y8(e,t){let n=e,r=e,i=t.length;for(let a=0;a<i;++a){let o=t[a][1];o<n&&(n=o),o>r&&(r=o)}return 1/(r-n)}function J8(e,t,n,r,i){let a=Math.atan2(i*(n[1]-e[1]),r*(n[0]-e[0])),o=Math.atan2(i*(t[1]-e[1]),r*(t[0]-e[0]));return Math.abs(a-o)}var Q8=Gt({aggregate:()=>bi,bin:()=>Op,collect:()=>zp,compare:()=>tw,countpattern:()=>Np,cross:()=>Rp,density:()=>Tp,dotbin:()=>Pp,expression:()=>sw,extent:()=>Bp,facet:()=>ec,field:()=>uw,filter:()=>jp,flatten:()=>qp,fold:()=>Up,formula:()=>Wp,generate:()=>cw,impute:()=>Hp,joinaggregate:()=>Gp,kde:()=>Vp,key:()=>fw,load:()=>dw,lookup:()=>Yp,multiextent:()=>hw,multivalues:()=>pw,params:()=>mw,pivot:()=>Jp,prefacet:()=>gw,project:()=>Qp,proxy:()=>yw,quantile:()=>Kp,relay:()=>vw,sample:()=>Zp,sequence:()=>em,sieve:()=>bw,subflow:()=>Ip,timeunit:()=>tm,tupleindex:()=>ww,values:()=>_w,window:()=>nm});function K8(e){return t=>{let n=e.length,r=1,i=String(e[0](t));for(;r<n;++r)i+="|"+e[r](t);return i}}function Fp(e){return!e||!e.length?function(){return""}:e.length===1?e[0]:K8(e)}function J2(e,t,n){return n||e+(t?"_"+t:"")}var Cp=()=>{},Z8={init:Cp,add:Cp,rem:Cp,idx:0},Ll={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.valid?e.sum:void 0,add:(e,t)=>e.sum+=+t,rem:(e,t)=>e.sum-=t},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,t)=>e.product*=t,rem:(e,t)=>e.product/=t},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,t)=>(e.mean_d=t-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,t)=>(e.mean_d=t-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,t)=>e.dev+=e.mean_d*(t-e.mean),rem:(e,t)=>e.dev-=e.mean_d*(t-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,t)=>{(t<e.min||e.min===void 0)&&(e.min=t)},rem:(e,t)=>{t<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,t)=>{(t>e.max||e.max===void 0)&&(e.max=t)},rem:(e,t)=>{t>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,t,n)=>{t<e.min&&(e.argmin=n)},rem:(e,t)=>{t<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,t,n)=>{t>e.max&&(e.argmax=n)},rem:(e,t)=>{t>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,t)=>{e.exp=0,e.exp_r=t},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,t)=>e.exp=e.exp_r*e.exp+t,rem:(e,t)=>e.exp=(e.exp-t/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},Pl=Object.keys(Ll).filter(e=>e!=="__count__");function e9(e,t){return(n,r)=>he({name:e,aggregate_param:r,out:n||e},Z8,t)}[...Pl,"__count__"].forEach(e=>{Ll[e]=e9(e,Ll[e])});function Q2(e,t,n){return Ll[e](n,t)}function K2(e,t){return e.idx-t.idx}function t9(e){let t={};e.forEach(r=>t[r.name]=r);let n=r=>{r.req&&r.req.forEach(i=>{t[i]||n(t[i]=Ll[i]())})};return e.forEach(n),Object.values(t).sort(K2)}function n9(){this.valid=0,this.missing=0,this._ops.forEach(e=>e.aggregate_param==null?e.init(this):e.init(this,e.aggregate_param))}function r9(e,t){if(e==null||e===""){++this.missing;return}e===e&&(++this.valid,this._ops.forEach(n=>n.add(this,e,t)))}function i9(e,t){if(e==null||e===""){--this.missing;return}e===e&&(--this.valid,this._ops.forEach(n=>n.rem(this,e,t)))}function a9(e){return this._out.forEach(t=>e[t.out]=t.value(this)),e}function Z2(e,t){let n=t||vn,r=t9(e),i=e.slice().sort(K2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=n9,a.prototype.add=r9,a.prototype.rem=i9,a.prototype.set=a9,a.prototype.get=n,a.fields=e.map(o=>o.out),a}function Mp(e){this._key=e?Tr(e):te,this.reset()}var ct=Mp.prototype;ct.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},ct.add=function(e){this._add.push(e)},ct.rem=function(e){this._rem.push(e)},ct.values=function(){if(this._get=null,this._rem.length===0)return this._add;let e=this._add,t=this._rem,n=this._key,r=e.length,i=t.length,a=Array(r-i),o={},l,s,u;for(l=0;l<i;++l)o[n(t[l])]=1;for(l=0,s=0;l<r;++l)o[n(u=e[l])]?o[n(u)]=0:a[s++]=u;return this._rem=[],this._add=a},ct.distinct=function(e){let t=this.values(),n={},r=t.length,i=0,a;for(;--r>=0;)a=e(t[r])+"",K(n,a)||(n[a]=1,++i);return i},ct.extent=function(e){if(this._get!==e||!this._ext){let t=this.values(),n=Kx(t,e);this._ext=[t[n[0]],t[n[1]]],this._get=e}return this._ext},ct.argmin=function(e){return this.extent(e)[0]||{}},ct.argmax=function(e){return this.extent(e)[1]||{}},ct.min=function(e){let t=this.extent(e)[0];return t==null?void 0:e(t)},ct.max=function(e){let t=this.extent(e)[1];return t==null?void 0:e(t)},ct.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=hp(this.values(),e),this._get=e),this._q},ct.q1=function(e){return this.quartile(e)[0]},ct.q2=function(e){return this.quartile(e)[1]},ct.q3=function(e){return this.quartile(e)[2]},ct.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=L2(this.values(),1e3,.05,e),this._get=e),this._ci},ct.ci0=function(e){return this.ci(e)[0]},ct.ci1=function(e){return this.ci(e)[1]};function bi(e){O.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}bi.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:Pl},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},G(bi,O,{transform(e,t){let n=this,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.modified();return n.stamp=r.stamp,n.value&&(i||t.modified(n._inputs,!0))?(n._prev=n.value,n.value=i?n.init(e):Object.create(null),t.visit(t.SOURCE,a=>n.add(a))):(n.value=n.value||n.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),r.modifies(n._outputs),n._drop=e.drop!==!1,e.cross&&n._dims.length>1&&(n._drop=!1,n.cross()),t.clean()&&n._drop&&r.clean(!0).runAfter(()=>this.clean()),n.changes(r)},cross(){let e=this,t=e.value,n=e._dnames,r=n.map(()=>({})),i=n.length;function a(l){let s,u,c,f;for(s in l)for(c=l[s].tuple,u=0;u<i;++u)r[u][f=c[n[u]]]=f}a(e._prev),a(t);function o(l,s,u){let c=n[u],f=r[u++];for(let d in f){let h=l?l+"|"+d:d;s[c]=f[d],u<i?o(h,s,u):t[h]||e.cell(h,s)}}o("",{},0)},init(e){let t=this._inputs=[],n=this._outputs=[],r={};function i(v){let b=Q($t(v)),w=b.length,_=0,k;for(;_<w;++_)r[k=b[_]]||(r[k]=1,t.push(k))}this._dims=Q(e.groupby),this._dnames=this._dims.map(v=>{let b=qe(v);return i(v),n.push(b),b}),this.cellkey=e.key?e.key:Fp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];let a=e.fields||[null],o=e.ops||["count"],l=e.aggregate_params||[null],s=e.as||[],u=a.length,c={},f,d,h,p,m,g,y;for(u!==o.length&&L("Unmatched number of fields and aggregate ops."),y=0;y<u;++y){if(f=a[y],d=o[y],h=l[y]||null,f==null&&d!=="count"&&L("Null aggregate field specified."),m=qe(f),g=J2(d,m,s[y]),n.push(g),d==="count"){this._counts.push(g);continue}p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(Q2(d,h,g))}return this._measures=this._measures.map(v=>Z2(v,v.field)),Object.create(null)},cellkey:Fp(),cell(e,t){let n=this.value[e];return n?n.num===0&&this._drop&&n.stamp<this.stamp?(n.stamp=this.stamp,this._adds[this._alen++]=n):n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n):(n=this.value[e]=this.newcell(e,t),this._adds[this._alen++]=n),n},newcell(e,t){let n={key:e,num:0,agg:null,tuple:this.newtuple(t,this._prev&&this._prev[e]),stamp:this.stamp,store:!1};if(!this._countOnly){let r=this._measures,i=r.length;n.agg=Array(i);for(let a=0;a<i;++a)n.agg[a]=new r[a](n)}return n.store&&(n.data=new Mp),n},newtuple(e,t){let n=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[n[o]]=r[o](e);return t?k2(t.tuple,a):_e(a)},clean(){let e=this.value;for(let t in e)e[t].num===0&&delete e[t]},add(e){let t=this.cellkey(e),n=this.cell(t,e);if(n.num+=1,this._countOnly)return;n.store&&n.data.add(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(e),e)},rem(e){let t=this.cellkey(e),n=this.cell(t,e);if(--n.num,this._countOnly)return;n.store&&n.data.rem(e);let r=n.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(e),e)},celltuple(e){let t=e.tuple,n=this._counts;e.store&&e.data.values();for(let r=0,i=n.length;r<i;++r)t[n[r]]=e.num;if(!this._countOnly){let r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(t)}return t},changes(e){let t=this._adds,n=this._mods,r=this._prev,i=this._drop,a=e.add,o=e.rem,l=e.mod,s,u,c,f;if(r)for(u in r)s=r[u],(!i||s.num)&&o.push(s.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(t[c])),t[c]=null;for(c=0,f=this._mlen;c<f;++c)s=n[c],(s.num===0&&i?o:l).push(this.celltuple(s)),n[c]=null;return this._alen=this._mlen=0,this._prev=null,e}});var o9=1e-14;function Op(e){O.call(this,null,e)}Op.Definition={type:"Bin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:!0,default:[5,2]},{name:"extent",type:"number",array:!0,length:2,required:!0},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:!0},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:!0},{name:"name",type:"string"},{name:"as",type:"string",array:!0,length:2,default:["bin0","bin1"]}]},G(Op,O,{transform(e,t){let n=e.interval!==!1,r=this._bins(e),i=r.start,a=r.step,o=e.as||["bin0","bin1"],l=o[0],s=o[1],u;return e.modified()?(t=t.reflow(!0),u=t.SOURCE):u=t.modified($t(e.field))?t.ADD_MOD:t.ADD,t.visit(u,n?c=>{let f=r(c);c[l]=f,c[s]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[l]=r(c)),t.modifies(n?o:l)},_bins(e){if(this.value&&!e.modified())return this.value;let t=e.field,n=T2(e),r=n.step,i=n.start,a=i+Math.ceil((n.stop-i)/r)*r,o,l;(o=e.anchor)!=null&&(l=o-(i+r*Math.floor((o-i)/r)),i+=l,a+=l);let s=function(u){let c=yn(t(u));return c==null?null:c<i?-1/0:c>a?1/0:(c=Math.max(i,Math.min(c,a-r)),i+r*Math.floor(o9+(c-i)/r))};return s.start=i,s.stop=n.stop,s.step=r,this.value=fo(s,$t(t),e.name||"bin_"+qe(t))}});function ew(e,t,n){let r=e,i=t||[],a=n||[],o={},l=0;return{add:s=>a.push(s),remove:s=>o[r(s)]=++l,size:()=>i.length,data:(s,u)=>(l&&(l=(i=i.filter(c=>!o[r(c)]),o={},0)),u&&s&&i.sort(s),a.length&&(i=s?Yx(s,i,a.sort(s)):i.concat(a),a=[]),i)}}function zp(e){O.call(this,[],e)}zp.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},G(zp,O,{transform(e,t){let n=t.fork(t.ALL),r=ew(te,this.value,n.materialize(n.ADD).add),i=e.sort,a=t.changed()||i&&(e.modified("sort")||t.modified(i.fields));return n.visit(n.REM,r.remove),this.modified(a),this.value=n.source=r.data(sa(i),a),t.source&&t.source.root&&(this.value.root=t.source.root),n}});function tw(e){Oe.call(this,null,l9,e)}G(tw,Oe);function l9(e){return this.value&&!e.modified()?this.value:Xh(e.fields,e.orders)}function Np(e){O.call(this,null,e)}Np.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]};function s9(e,t,n){switch(t){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase();break}return e.match(n)}G(Np,O,{transform(e,t){let n=f=>d=>{for(var h=s9(l(d),e.case,a)||[],p,m=0,g=h.length;m<g;++m)o.test(p=h[m])||f(p)},r=this._parameterCheck(e,t),i=this._counts,a=this._match,o=this._stop,l=e.field,s=e.as||["text","count"],u=n(f=>i[f]=1+(i[f]||0)),c=n(f=>--i[f]);return r?t.visit(t.SOURCE,u):(t.visit(t.ADD,u),t.visit(t.REM,c)),this._finish(t,s)},_parameterCheck(e,t){let n=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=RegExp("^"+(e.stopwords||"")+"$","i"),n=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),n=!0),(e.modified("field")||t.modified(e.field.fields))&&(n=!0),n&&(this._counts={}),n},_finish(e,t){let n=this._counts,r=this._tuples||(this._tuples={}),i=t[0],a=t[1],o=e.fork(e.NO_SOURCE|e.NO_FIELDS),l,s,u;for(l in n)s=r[l],u=n[l]||0,!s&&u?(r[l]=s=_e({}),s[i]=l,s[a]=u,o.add.push(s)):u===0?(s&&o.rem.push(s),n[l]=null,r[l]=null):s[a]!==u&&(s[a]=u,o.mod.push(s));return o.modifies(t)}});function Rp(e){O.call(this,null,e)}Rp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},G(Rp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.as||["a","b"],i=r[0],a=r[1],o=!this.value||t.changed(t.ADD_REM)||e.modified("as")||e.modified("filter"),l=this.value;return o?(l&&(n.rem=l),l=t.materialize(t.SOURCE).source,n.add=this.value=u9(l,i,a,e.filter||gn)):n.mod=l,n.source=this.value,n.modifies(r)}});function u9(e,t,n,r){for(var i=[],a={},o=e.length,l=0,s,u;l<o;++l)for(a[t]=u=e[l],s=0;s<o;++s)a[n]=e[s],r(a)&&(i.push(_e(a)),a={},a[t]=u);return i}var nw={kde:yp,mixture:j2,normal:gp,lognormal:I2,uniform:q2},c9="distributions",rw="function",f9="field";function iw(e,t){let n=e[rw];K(nw,n)||L("Unknown distribution function: "+n);let r=nw[n]();for(let i in e)i===f9?r.data((e.from||t()).map(e[i])):i===c9?r[i](e[i].map(a=>iw(a,t))):typeof r[i]===rw&&r[i](e[i]);return r}function Tp(e){O.call(this,null,e)}var aw=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}],d9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:aw},{name:"weights",type:"number",array:!0}]};Tp.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:aw.concat(d9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},G(Tp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=iw(e.distribution,h9(t)),i=e.steps||e.minsteps||25,a=e.steps||e.maxsteps||200,o=e.method||"pdf";o!=="pdf"&&o!=="cdf"&&L("Invalid density method: "+o),!e.extent&&!r.data&&L("Missing density extent parameter."),o=r[o];let l=e.as||["value","density"],s=e.extent||sr(r.data()),u=Zu(o,s,i,a).map(c=>{let f={};return f[l[0]]=c[0],f[l[1]]=c[1],_e(f)});this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});function h9(e){return()=>e.materialize(e.SOURCE).source}function ow(e,t){return e?e.map((n,r)=>t[r]||qe(n)):null}function Lp(e,t,n){let r=[],i=f=>f(s),a,o,l,s,u,c;if(t==null)r.push(e.map(n));else for(a={},o=0,l=e.length;o<l;++o)s=e[o],u=t.map(i),c=a[u],c||(a[u]=c=[],c.dims=u,r.push(c)),c.push(n(s));return r}var lw="bin";function Pp(e){O.call(this,null,e)}Pp.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:lw}]};var p9=(e,t)=>Fu(sr(e,t))/30;G(Pp,O,{transform(e,t){if(this.value&&!(e.modified()||t.changed()))return t;let n=t.materialize(t.SOURCE).source,r=Lp(t.source,e.groupby,vn),i=e.smooth||!1,a=e.field,o=e.step||p9(n,a),l=sa((p,m)=>a(p)-a(m)),s=e.as||lw,u=r.length,c=1/0,f=-1/0,d=0,h;for(;d<u;++d){let p=r[d].sort(l);h=-1;for(let m of P2(p,o,i,a))m<c&&(c=m),m>f&&(f=m),p[++h][s]=m}return this.value={start:c,stop:f,step:o},t.reflow(!0).modifies(s)}});function sw(e){Oe.call(this,null,m9,e),this.modified(!0)}G(sw,Oe);function m9(e){let t=e.expr;return this.value&&!e.modified("expr")?this.value:fo(n=>t(n,e),$t(t),qe(t))}function Bp(e){O.call(this,[void 0,void 0],e)}Bp.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},G(Bp,O,{transform(e,t){let n=this.value,r=e.field,i=t.changed()||t.modified(r.fields)||e.modified("field"),a=n[0],o=n[1];if((i||a==null)&&(a=1/0,o=-1/0),t.visit(i?t.SOURCE:t.ADD,l=>{let s=yn(r(l));s!=null&&(s<a&&(a=s),s>o&&(o=s))}),!Number.isFinite(a)||!Number.isFinite(o)){let l=qe(r);l&&(l=` for field "${l}"`),t.dataflow.warn(`Infinite extent${l}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}});function Ip(e,t){Oe.call(this,e),this.parent=t,this.count=0}G(Ip,Oe,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){--this.count,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}});function ec(e){O.call(this,{},e),this._keys=ho();let t=this._targets=[];t.active=0,t.forEach=n=>{for(let r=0,i=t.active;r<i;++r)n(t[r],r,t)}}G(ec,O,{activate(e){this._targets[this._targets.active++]=e},subflow(e,t,n,r){let i=this.value,a=K(i,e)&&i[e],o,l;return a?a.value.stamp<n.stamp&&(a.init(n),this.activate(a)):(l=r||(l=this._group[e])&&l.tuple,o=n.dataflow,a=new Ip(n.fork(n.NO_SOURCE),this),o.add(a).connect(t(o,e,l)),i[e]=a,this.activate(a)),a},clean(){let e=this.value,t=0;for(let n in e)if(e[n].count===0){let r=e[n].detachSubflow;r&&r(),delete e[n],++t}if(t){let n=this._targets.filter(r=>r&&r.count>0);this.initTargets(n)}},initTargets(e){let t=this._targets,n=t.length,r=e?e.length:0,i=0;for(;i<r;++i)t[i]=e[i];for(;i<n&&t[i]!=null;++i)t[i]=null;t.active=r},transform(e,t){let n=t.dataflow,r=e.key,i=e.subflow,a=this._keys,o=e.modified("key"),l=s=>this.subflow(s,i,t);return this._group=e.group||{},this.initTargets(),t.visit(t.REM,s=>{let u=te(s),c=a.get(u);c!==void 0&&(a.delete(u),l(c).rem(s))}),t.visit(t.ADD,s=>{let u=r(s);a.set(te(s),u),l(u).add(s)}),o||t.modified(r.fields)?t.visit(t.MOD,s=>{let u=te(s),c=a.get(u),f=r(s);c===f?l(f).mod(s):(a.set(u,f),l(c).rem(s),l(f).add(s))}):t.changed(t.MOD)&&t.visit(t.MOD,s=>{l(a.get(te(s))).mod(s)}),o&&t.visit(t.REFLOW,s=>{let u=te(s),c=a.get(u),f=r(s);c!==f&&(a.set(u,f),l(c).rem(s),l(f).add(s))}),t.clean()?n.runAfter(()=>{this.clean(),a.clean()}):a.empty>n.cleanThreshold&&n.runAfter(a.clean),t}});function uw(e){Oe.call(this,null,g9,e)}G(uw,Oe);function g9(e){return this.value&&!e.modified()?this.value:N(e.name)?Q(e.name).map(t=>Tr(t)):Tr(e.name,e.as)}function jp(e){O.call(this,ho(),e)}jp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},G(jp,O,{transform(e,t){let n=t.dataflow,r=this.value,i=t.fork(),a=i.add,o=i.rem,l=i.mod,s=e.expr,u=!0;t.visit(t.REM,f=>{let d=te(f);r.has(d)?r.delete(d):o.push(f)}),t.visit(t.ADD,f=>{s(f,e)?a.push(f):r.set(te(f),1)});function c(f){let d=te(f),h=s(f,e),p=r.get(d);h&&p?(r.delete(d),a.push(f)):!h&&!p?(r.set(d,1),o.push(f)):u&&h&&!p&&l.push(f)}return t.visit(t.MOD,c),e.modified()&&(u=!1,t.visit(t.REFLOW,c)),r.empty>n.cleanThreshold&&n.runAfter(r.clean),i}});function qp(e){O.call(this,[],e)}qp.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},G(qp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=ow(r,e.as||[]),a=e.index||null,o=i.length;return n.rem=this.value,t.visit(t.SOURCE,l=>{let s=r.map(h=>h(l)),u=s.reduce((h,p)=>Math.max(h,p.length),0),c=0,f,d;for(;c<u;++c){for(d=sp(l),f=0;f<o;++f)d[i[f]]=s[f][c]??null;a&&(d[a]=c),n.add.push(d)}}),this.value=n.source=n.add,a&&n.modifies(a),n.modifies(i)}});function Up(e){O.call(this,[],e)}Up.Definition={type:"Fold",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0,length:2,default:["key","value"]}]},G(Up,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=r.map(qe),a=e.as||["key","value"],o=a[0],l=a[1],s=r.length;return n.rem=this.value,t.visit(t.SOURCE,u=>{for(let c=0,f;c<s;++c)f=sp(u),f[o]=i[c],f[l]=r[c](u),n.add.push(f)}),this.value=n.source=n.add,n.modifies(a)}});function Wp(e){O.call(this,null,e)}Wp.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},G(Wp,O,{transform(e,t){let n=e.expr,r=e.as,i=e.modified(),a=e.initonly?t.ADD:i?t.SOURCE:t.modified(n.fields)||t.modified(r)?t.ADD_MOD:t.ADD;return i&&(t=t.materialize().reflow(!0)),e.initonly||t.modifies(r),t.visit(a,o=>o[r]=n(o,e))}});function cw(e){O.call(this,[],e)}G(cw,O,{transform(e,t){let n=t.fork(t.ALL),r=e.generator,i=this.value,a=e.size-i.length,o,l,s;if(a>0){for(o=[];--a>=0;)o.push(s=_e(r(e))),i.push(s);n.add=n.add.length?n.materialize(n.ADD).add.concat(o):o}else l=i.slice(0,-a),n.rem=n.rem.length?n.materialize(n.REM).rem.concat(l):l,i=i.slice(-a);return n.source=this.value=i,n}});var tc={value:"value",median:v2,mean:YO,min:tp,max:oa},y9=[];function Hp(e){O.call(this,[],e)}Hp.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function v9(e){var t=e.method||tc.value,n;if(tc[t]==null)L("Unrecognized imputation method: "+t);else return t===tc.value?(n=e.value===void 0?0:e.value,()=>n):tc[t]}function b9(e){let t=e.field;return n=>n?t(n):NaN}G(Hp,O,{transform(e,t){var n=t.fork(t.ALL),r=v9(e),i=b9(e),a=qe(e.field),o=qe(e.key),l=(e.groupby||[]).map(qe),s=x9(t.source,e.groupby,e.key,e.keyvals),u=[],c=this.value,f=s.domain.length,d,h,p,m,g,y,v,b,w,_;for(g=0,b=s.length;g<b;++g)for(d=s[g],p=d.values,h=NaN,v=0;v<f;++v)if(d[v]==null){for(m=s.domain[v],_={_impute:!0},y=0,w=p.length;y<w;++y)_[l[y]]=p[y];_[o]=m,_[a]=Number.isNaN(h)?h=r(d,i):h,u.push(_e(_))}return u.length&&(n.add=n.materialize(n.ADD).add.concat(u)),c.length&&(n.rem=n.materialize(n.REM).rem.concat(c)),this.value=u,n}});function x9(e,t,n,r){var i=y=>y(g),a=[],o=r?r.slice():[],l={},s={},u,c,f,d,h,p,m,g;for(o.forEach((y,v)=>l[y]=v+1),d=0,m=e.length;d<m;++d)g=e[d],p=n(g),h=l[p]||(l[p]=o.push(p)),c=(u=t?t.map(i):y9)+"",(f=s[c])||(f=s[c]=[],a.push(f),f.values=u),f[h-1]=g;return a.domain=o,a}function Gp(e){bi.call(this,e)}Gp.Definition={type:"JoinAggregate",metadata:{modifies:!0},params:[{name:"groupby",type:"field",array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"ops",type:"enum",array:!0,values:Pl},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},G(Gp,bi,{transform(e,t){let n=this,r=e.modified(),i;return n.value&&(r||t.modified(n._inputs,!0))?(i=n.value=r?n.init(e):{},t.visit(t.SOURCE,a=>n.add(a))):(i=n.value=n.value||this.init(e),t.visit(t.REM,a=>n.rem(a)),t.visit(t.ADD,a=>n.add(a))),n.changes(),t.visit(t.SOURCE,a=>{he(a,i[n.cellkey(a)].tuple)}),t.reflow(r).modifies(this._outputs)},changes(){let e=this._adds,t=this._mods,n,r;for(n=0,r=this._alen;n<r;++n)this.celltuple(e[n]),e[n]=null;for(n=0,r=this._mlen;n<r;++n)this.celltuple(t[n]),t[n]=null;this._alen=this._mlen=0}});function Vp(e){O.call(this,null,e)}Vp.Definition={type:"KDE",metadata:{generates:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"cumulative",type:"boolean",default:!1},{name:"counts",type:"boolean",default:!1},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:!0,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:!0,default:["value","density"]}]},G(Vp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=Lp(r,e.groupby,e.field),a=(e.groupby||[]).map(qe),o=e.bandwidth,l=e.cumulative?"cdf":"pdf",s=e.as||["value","density"],u=[],c=e.extent,f=e.steps||e.minsteps||25,d=e.steps||e.maxsteps||200;l!=="pdf"&&l!=="cdf"&&L("Invalid density method: "+l),e.resolve==="shared"&&(c||(c=sr(r,e.field)),f=d=e.steps||d),i.forEach(h=>{let p=yp(h,o)[l],m=e.counts?h.length:1;Zu(p,c||sr(h),f,d).forEach(g=>{let y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[s[0]]=g[0],y[s[1]]=g[1]*m,u.push(_e(y))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=u}return n}});function fw(e){Oe.call(this,null,w9,e)}G(fw,Oe);function w9(e){return this.value&&!e.modified()?this.value:Hh(e.fields,e.flat)}function dw(e){O.call(this,[],e),this._pending=null}G(dw,O,{transform(e,t){let n=t.dataflow;return this._pending?Xp(this,t,this._pending):_9(e)?t.StopPropagation:e.values?Xp(this,t,n.parse(e.values,e.format)):e.async?{async:n.request(e.url,e.format).then(r=>(this._pending=Q(r.data),i=>i.touch(this)))}:n.request(e.url,e.format).then(r=>Xp(this,t,Q(r.data)))}});function _9(e){return e.modified("async")&&!(e.modified("values")||e.modified("url")||e.modified("format"))}function Xp(e,t,n){n.forEach(_e);let r=t.fork(t.NO_FIELDS&t.NO_SOURCE);return r.rem=e.value,e.value=r.source=r.add=n,e._pending=null,r.rem.length&&r.clean(!0),r}function Yp(e){O.call(this,{},e)}Yp.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},G(Yp,O,{transform(e,t){let n=e.fields,r=e.index,i=e.values,a=e.default==null?null:e.default,o=e.modified(),l=n.length,s=o?t.SOURCE:t.ADD,u=t,c=e.as,f,d,h;return i?(d=i.length,l>1&&!c&&L('Multi-field lookup requires explicit "as" parameter.'),c&&c.length!==l*d&&L('The "as" parameter has too few output field names.'),c||(c=i.map(qe)),f=function(p){for(var m=0,g=0,y,v;m<l;++m)if(v=r.get(n[m](p)),v==null)for(y=0;y<d;++y,++g)p[c[g]]=a;else for(y=0;y<d;++y,++g)p[c[g]]=i[y](v)}):(c||L("Missing output field names."),f=function(p){for(var m=0,g;m<l;++m)g=r.get(n[m](p)),p[c[m]]=g??a}),o?u=t.reflow(!0):(h=n.some(p=>t.modified(p.fields)),s|=h?t.MOD:0),t.visit(s,f),u.modifies(c)}});function hw(e){Oe.call(this,null,k9,e)}G(hw,Oe);function k9(e){if(this.value&&!e.modified())return this.value;let t=e.extents,n=t.length,r=1/0,i=-1/0,a,o;for(a=0;a<n;++a)o=t[a],o[0]<r&&(r=o[0]),o[1]>i&&(i=o[1]);return[r,i]}function pw(e){Oe.call(this,null,E9,e)}G(pw,Oe);function E9(e){return this.value&&!e.modified()?this.value:e.values.reduce((t,n)=>t.concat(n),[])}function mw(e){O.call(this,null,e)}G(mw,O,{transform(e,t){return this.modified(e.modified()),this.value=e,t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function Jp(e){bi.call(this,e)}Jp.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:Pl,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},G(Jp,bi,{_transform:bi.prototype.transform,transform(e,t){return this._transform($9(e,t),t)}});function $9(e,t){let n=e.field,r=e.value,i=(e.op==="count"?"__count__":e.op)||"sum",a=$t(n).concat($t(r)),o=D9(n,e.limit||0,t);return t.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:o.map(()=>i),fields:o.map(l=>A9(l,n,r,a)),as:o.map(l=>l+""),modified:e.modified.bind(e)}}function A9(e,t,n,r){return fo(i=>t(i)===e?n(i):NaN,r,e+"")}function D9(e,t,n){let r={},i=[];return n.visit(n.SOURCE,a=>{let o=e(a);r[o]||(r[o]=1,i.push(o))}),i.sort(Mu),t?i.slice(0,t):i}function gw(e){ec.call(this,e)}G(gw,ec,{transform(e,t){let n=e.subflow,r=e.field,i=a=>this.subflow(te(a),n,t,a);return(e.modified("field")||r&&t.modified($t(r)))&&L("PreFacet does not support field modification."),this.initTargets(),r?(t.visit(t.MOD,a=>{let o=i(a);r(a).forEach(l=>o.mod(l))}),t.visit(t.ADD,a=>{let o=i(a);r(a).forEach(l=>o.add(_e(l)))}),t.visit(t.REM,a=>{let o=i(a);r(a).forEach(l=>o.rem(l))})):(t.visit(t.MOD,a=>i(a).mod(a)),t.visit(t.ADD,a=>i(a).add(a)),t.visit(t.REM,a=>i(a).rem(a))),t.clean()&&t.runAfter(()=>this.clean()),t}});function Qp(e){O.call(this,null,e)}Qp.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},G(Qp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.fields,i=ow(e.fields,e.as||[]),a=r?(l,s)=>S9(l,s,r,i):Uu,o;return this.value?o=this.value:(t=t.addAll(),o=this.value={}),t.visit(t.REM,l=>{let s=te(l);n.rem.push(o[s]),o[s]=null}),t.visit(t.ADD,l=>{let s=a(l,_e({}));o[te(l)]=s,n.add.push(s)}),t.visit(t.MOD,l=>{n.mod.push(a(l,o[te(l)]))}),n}});function S9(e,t,n,r){for(let i=0,a=n.length;i<a;++i)t[r[i]]=n[i](e);return t}function yw(e){O.call(this,null,e)}G(yw,O,{transform(e,t){return this.value=e.value,e.modified("value")?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function Kp(e){O.call(this,null,e)}Kp.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]};var F9=1e-14;G(Kp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=e.as||["prob","value"];if(this.value&&!e.modified()&&!t.changed())return n.source=this.value,n;let i=t.materialize(t.SOURCE).source,a=Lp(i,e.groupby,e.field),o=(e.groupby||[]).map(qe),l=[],s=e.step||.01,u=e.probs||nn(s/2,1-F9,s),c=u.length;return a.forEach(f=>{let d=dp(f,u);for(let h=0;h<c;++h){let p={};for(let m=0;m<o.length;++m)p[o[m]]=f.dims[m];p[r[0]]=u[h],p[r[1]]=d[h],l.push(_e(p))}}),this.value&&(n.rem=this.value),this.value=n.add=n.source=l,n}});function vw(e){O.call(this,null,e)}G(vw,O,{transform(e,t){let n,r;return this.value?r=this.value:(n=t=t.addAll(),r=this.value={}),e.derive&&(n=t.fork(t.NO_SOURCE),t.visit(t.REM,i=>{let a=te(i);n.rem.push(r[a]),r[a]=null}),t.visit(t.ADD,i=>{let a=sp(i);r[te(i)]=a,n.add.push(a)}),t.visit(t.MOD,i=>{let a=r[te(i)];for(let o in i)a[o]=i[o],n.modifies(o);n.mod.push(a)})),n}});function Zp(e){O.call(this,[],e),this.count=0}Zp.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},G(Zp,O,{transform(e,t){let n=t.fork(t.NO_SOURCE),r=e.modified("size"),i=e.size,a=this.value.reduce((c,f)=>(c[te(f)]=1,c),{}),o=this.value,l=this.count,s=0;function u(c){let f,d;o.length<i?o.push(c):(d=~~((l+1)*bn()),d<o.length&&d>=s&&(f=o[d],a[te(f)]&&n.rem.push(f),o[d]=c)),++l}if(t.rem.length&&(t.visit(t.REM,c=>{let f=te(c);a[f]&&(a[f]=-1,n.rem.push(c)),--l}),o=o.filter(c=>a[te(c)]!==-1)),(t.rem.length||r)&&o.length<i&&t.source&&(s=l=o.length,t.visit(t.SOURCE,c=>{a[te(c)]||u(c)}),s=-1),r&&o.length>i){let c=o.length-i;for(let f=0;f<c;++f)a[te(o[f])]=-1,n.rem.push(o[f]);o=o.slice(c)}return t.mod.length&&t.visit(t.MOD,c=>{a[te(c)]&&n.mod.push(c)}),t.add.length&&t.visit(t.ADD,u),(t.add.length||s<0)&&(n.add=o.filter(c=>!a[te(c)])),this.count=l,this.value=n.source=o,n}});function em(e){O.call(this,null,e)}em.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},G(em,O,{transform(e,t){if(this.value&&!e.modified())return;let n=t.materialize().fork(t.MOD),r=e.as||"data";return n.rem=this.value?t.rem.concat(this.value):t.rem,this.value=nn(e.start,e.stop,e.step||1).map(i=>{let a={};return a[r]=i,_e(a)}),n.add=t.add.concat(this.value),n}});function bw(e){O.call(this,null,e),this.modified(!0)}G(bw,O,{transform(e,t){return this.value=t.source,t.changed()?t.fork(t.NO_SOURCE|t.NO_FIELDS):t.StopPropagation}});function tm(e){O.call(this,null,e)}var xw=["unit0","unit1"];tm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:Ax,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:xw}]},G(tm,O,{transform(e,t){let n=e.field,r=e.interval!==!1,i=e.timezone==="utc",a=this._floor(e,t),o=(i?Uh:Yh)(a.unit).offset,l=e.as||xw,s=l[0],u=l[1],c=a.step,f=a.start||1/0,d=a.stop||-1/0,h=t.ADD;return(e.modified()||t.changed(t.REM)||t.modified($t(n)))&&(t=t.reflow(!0),h=t.SOURCE,f=1/0,d=-1/0),t.visit(h,p=>{let m=n(p),g,y;m==null?(p[s]=null,r&&(p[u]=null)):(p[s]=g=y=a(m),r&&(p[u]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,t.modifies(r?l:s)},_floor(e,t){let n=e.timezone==="utc",{units:r,step:i}=e.units?{units:e.units,step:e.step||1}:Sx({extent:e.extent||sr(t.materialize(t.SOURCE).source,e.field),maxbins:e.maxbins}),a=Px(r),o=this.value||{},l=(n?qx:Ix)(a,i);return l.unit=Ae(a),l.units=a,l.step=i,l.start=o.start,l.stop=o.stop,this.value=l}});function ww(e){O.call(this,ho(),e)}G(ww,O,{transform(e,t){let n=t.dataflow,r=e.field,i=this.value,a=l=>i.set(r(l),l),o=!0;return e.modified("field")||t.modified(r.fields)?(i.clear(),t.visit(t.SOURCE,a)):t.changed()?(t.visit(t.REM,l=>i.delete(r(l))),t.visit(t.ADD,a)):o=!1,this.modified(o),i.empty>n.cleanThreshold&&n.runAfter(i.clean),t.fork()}});function _w(e){O.call(this,null,e)}G(_w,O,{transform(e,t){(!this.value||e.modified("field")||e.modified("sort")||t.changed()||e.sort&&t.modified(e.sort.fields))&&(this.value=(e.sort?t.source.slice().sort(sa(e.sort)):t.source).map(e.field))}});function C9(e,t,n,r){let i=Bl[e](t,n);return{init:i.init||Wh,update:function(a,o){o[r]=i.next(a)}}}var Bl={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?e=n+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:t=>{let n=t.index,r=t.data;return n&&t.compare(r[n-1],r[n])?++e:e}}},percent_rank:function(){let e=Bl.rank(),t=e.next;return{init:e.init,next:n=>(t(n)-1)/(n.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:t=>{let n=t.data,r=t.compare,i=t.index;if(e<i){for(;i+1<n.length&&!r(n[i],n[i+1]);)++i;e=i}return(1+e)/n.length}}},ntile:function(e,t){t=+t,t>0||L("ntile num must be greater than zero.");let n=Bl.cume_dist(),r=n.next;return{init:n.init,next:i=>Math.ceil(t*r(i))}},lag:function(e,t){return t=+t||1,{next:n=>{let r=n.index-t;return r>=0?e(n.data[r]):null}}},lead:function(e,t){return t=+t||1,{next:n=>{let r=n.index+t,i=n.data;return r<i.length?e(i[r]):null}}},first_value:function(e){return{next:t=>e(t.data[t.i0])}},last_value:function(e){return{next:t=>e(t.data[t.i1-1])}},nth_value:function(e,t){return t=+t,t>0||L("nth_value nth must be greater than zero."),{next:n=>{let r=n.i0+(t-1);return r<n.i1?e(n.data[r]):null}}},prev_value:function(e){let t;return{init:()=>t=null,next:n=>{let r=e(n.data[n.index]);return r==null?t:t=r}}},next_value:function(e){let t,n;return{init:()=>(t=null,n=-1),next:r=>{let i=r.data;return r.index<=n?t:(n=M9(e,i,r.index))<0?(n=i.length,t=null):t=e(i[n])}}}};function M9(e,t,n){for(let r=t.length;n<r;++n)if(e(t[n])!=null)return n;return-1}var O9=Object.keys(Bl);function kw(e){let t=Q(e.ops),n=Q(e.fields),r=Q(e.params),i=Q(e.aggregate_params),a=Q(e.as),o=this.outputs=[],l=this.windows=[],s={},u={},c=[],f=[],d=!0;function h(p){Q($t(p)).forEach(m=>s[m]=1)}h(e.sort),t.forEach((p,m)=>{let g=n[m],y=r[m],v=i[m]||null,b=qe(g),w=J2(p,b,a[m]);if(h(g),o.push(w),K(Bl,p))l.push(C9(p,g,y,w));else{if(g==null&&p!=="count"&&L("Null aggregate field specified."),p==="count"){c.push(w);return}d=!1;let _=u[b];_||(_=u[b]=[],_.field=g,f.push(_)),_.push(Q2(p,v,w))}}),(c.length||f.length)&&(this.cell=z9(f,c,d)),this.inputs=Object.keys(s)}var Ew=kw.prototype;Ew.init=function(){this.windows.forEach(e=>e.init()),this.cell&&this.cell.init()},Ew.update=function(e,t){let n=this.cell,r=this.windows,i=e.data,a=r&&r.length,o;if(n){for(o=e.p0;o<e.i0;++o)n.rem(i[o]);for(o=e.p1;o<e.i1;++o)n.add(i[o]);n.set(t)}for(o=0;o<a;++o)r[o].update(e,t)};function z9(e,t,n){e=e.map(s=>Z2(s,s.field));let r={num:0,agg:null,store:!1,count:t};if(!n)for(var i=e.length,a=r.agg=Array(i),o=0;o<i;++o)a[o]=new e[o](r);if(r.store)var l=r.data=new Mp;return r.add=function(s){if(r.num+=1,!n){l&&l.add(s);for(let u=0;u<i;++u)a[u].add(a[u].get(s),s)}},r.rem=function(s){if(--r.num,!n){l&&l.rem(s);for(let u=0;u<i;++u)a[u].rem(a[u].get(s),s)}},r.set=function(s){let u,c;for(l&&l.values(),u=0,c=t.length;u<c;++u)s[t[u]]=r.num;if(!n)for(u=0,c=a.length;u<c;++u)a[u].set(s)},r.init=function(){r.num=0,l&&l.reset();for(let s=0;s<i;++s)a[s].init()},r}function nm(e){O.call(this,{},e),this._mlen=0,this._mods=[]}nm.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:O9.concat(Pl)},{name:"params",type:"number",null:!0,array:!0},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"frame",type:"number",null:!0,array:!0,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:!1}]},G(nm,O,{transform(e,t){this.stamp=t.stamp;let n=e.modified(),r=sa(e.sort),i=Fp(e.groupby),a=l=>this.group(i(l)),o=this.state;(!o||n)&&(o=this.state=new kw(e)),n||t.modified(o.inputs)?(this.value={},t.visit(t.SOURCE,l=>a(l).add(l))):(t.visit(t.REM,l=>a(l).remove(l)),t.visit(t.ADD,l=>a(l).add(l)));for(let l=0,s=this._mlen;l<s;++l)N9(this._mods[l],o,r,e);return this._mlen=0,this._mods=[],t.reflow(n).modifies(o.outputs)},group(e){let t=this.value[e];return t||(t=this.value[e]=ew(te),t.stamp=-1),t.stamp<this.stamp&&(t.stamp=this.stamp,this._mods[this._mlen++]=t),t}});function N9(e,t,n,r){let i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],l=e.data(n),s=l.length,u=a?o2(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:l,compare:i||At(-1)};t.init();for(let f=0;f<s;++f)R9(c,o,f,s),a&&T9(c,u),t.update(c,l[f])}function R9(e,t,n,r){e.p0=e.i0,e.p1=e.i1,e.i0=t[0]==null?0:Math.max(0,n-Math.abs(t[0])),e.i1=t[1]==null?r:Math.min(r,n+Math.abs(t[1])+1),e.index=n}function T9(e,t){let n=e.i0,r=e.i1-1,i=e.compare,a=e.data,o=a.length-1;n>0&&!i(a[n],a[n-1])&&(e.i0=t.left(a,a[n])),r<o&&!i(a[r],a[r+1])&&(e.i1=t.right(a,a[r]))}function $w(e,t,n){var r=null,i=Dt(!0),a=null,o=f2,l=null,s=c2(u);e=typeof e=="function"?e:e===void 0?RO:Dt(+e),t=typeof t=="function"?t:Dt(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?TO:Dt(+n);function u(f){var d,h,p,m=(f=yO(f)).length,g,y=!1,v,b=Array(m),w=Array(m);for(a??(l=o(v=s())),d=0;d<=m;++d){if(!(d<m&&i(g=f[d],d,f))===y)if(y=!y)h=d,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=d-1;p>=h;--p)l.point(b[p],w[p]);l.lineEnd(),l.areaEnd()}y&&(b[d]=+e(g,d,f),w[d]=+t(g,d,f),l.point(r?+r(g,d,f):b[d],n?+n(g,d,f):w[d]))}if(v)return l=null,v+""||null}function c(){return d2().defined(i).curve(o).context(a)}return u.x=function(f){return arguments.length?(e=typeof f=="function"?f:Dt(+f),r=null,u):e},u.x0=function(f){return arguments.length?(e=typeof f=="function"?f:Dt(+f),u):e},u.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Dt(+f),u):r},u.y=function(f){return arguments.length?(t=typeof f=="function"?f:Dt(+f),n=null,u):t},u.y0=function(f){return arguments.length?(t=typeof f=="function"?f:Dt(+f),u):t},u.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Dt(+f),u):n},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(n)},u.lineX1=function(){return c().x(r).y(t)},u.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Dt(!!f),u):i},u.curve=function(f){return arguments.length?(o=f,a!=null&&(l=o(a)),u):o},u.context=function(f){return arguments.length?(f==null?a=l=null:l=o(a=f),u):a},u}var L9={draw(e,t){let n=hO(t/mO);e.moveTo(n,0),e.arc(0,0,n,0,pO)}};function P9(e,t){let n=null,r=c2(i);e=typeof e=="function"?e:Dt(e||L9),t=typeof t=="function"?t:Dt(t===void 0?64:+t);function i(){let a;if(n||(n=a=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),a)return n=null,a+""||null}return i.type=function(a){return arguments.length?(e=typeof a=="function"?a:Dt(a),i):e},i.size=function(a){return arguments.length?(t=typeof a=="function"?a:Dt(+a),i):t},i.context=function(a){return arguments.length?(n=a??null,i):n},i}function xi(e,t){if(typeof document<"u"&&document.createElement){let n=document.createElement("canvas");if(n&&n.getContext)return n.width=e,n.height=t,n}return null}var B9=()=>typeof Image<"u"?Image:null;function Aw(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,l2),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return Aw(e).unknown(t)},e=arguments.length?Array.from(e,l2):[0,1],mo(n)}function Dw(e){return Math.log(e)}function Sw(e){return Math.exp(e)}function I9(e){return-Math.log(-e)}function j9(e){return-Math.exp(-e)}function q9(e){return isFinite(e)?+("1e"+e):e<0?0:e}function U9(e){return e===10?q9:e===Math.E?Math.exp:t=>e**+t}function W9(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Fw(e){return(t,n)=>-e(-t,n)}function rm(e){let t=e(Dw,Sw),n=t.domain,r=10,i,a;function o(){return i=W9(r),a=U9(r),n()[0]<0?(i=Fw(i),a=Fw(a),e(I9,j9)):e(Dw,Sw),t}return t.base=function(l){return arguments.length?(r=+l,o()):r},t.domain=function(l){return arguments.length?(n(l),o()):n()},t.ticks=l=>{let s=n(),u=s[0],c=s[s.length-1],f=c<u;f&&([u,c]=[c,u]);let d=i(u),h=i(c),p,m,g=l==null?10:+l,y=[];if(!(r%1)&&h-d<g){if(d=Math.floor(d),h=Math.ceil(h),u>0){for(;d<=h;++d)for(p=1;p<r;++p)if(m=d<0?p/a(-d):p*a(d),!(m<u)){if(m>c)break;y.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/a(-d):p*a(d),!(m<u)){if(m>c)break;y.push(m)}y.length*2<g&&(y=a2(u,c,g))}else y=a2(d,h,Math.min(h-d,g)).map(a);return f?y.reverse():y},t.tickFormat=(l,s)=>{if(l??(l=10),s??(s=r===10?"s":","),typeof s!="function"&&(!(r%1)&&(s=Y4(s)).precision==null&&(s.trim=!0),s=J4(s)),l===1/0)return s;let u=Math.max(1,r*l/t.ticks().length);return c=>{let f=c/a(Math.round(i(c)));return f*r<r-.5&&(f*=r),f<=u?s(c):""}},t.nice=()=>n(V4(n(),{floor:l=>a(Math.floor(i(l))),ceil:l=>a(Math.ceil(i(l)))})),t}function Cw(){let e=rm(Zh()).domain([1,10]);return e.copy=()=>Kh(e,Cw()).base(e.base()),la.apply(e,arguments),e}function Mw(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Ow(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function im(e){var t=1,n=e(Mw(t),Ow(t));return n.constant=function(r){return arguments.length?e(Mw(t=+r),Ow(t)):t},mo(n)}function zw(){var e=im(Zh());return e.copy=function(){return Kh(e,zw()).constant(e.constant())},la.apply(e,arguments)}function Nw(e){return function(t){return t<0?-((-t)**+e):t**+e}}function H9(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function G9(e){return e<0?-e*e:e*e}function am(e){var t=e(hi,hi),n=1;function r(){return n===1?e(hi,hi):n===.5?e(H9,G9):e(Nw(n),Nw(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},mo(t)}function om(){var e=am(Zh());return e.copy=function(){return Kh(e,om()).exponent(e.exponent())},la.apply(e,arguments),e}function V9(){return om.apply(null,arguments).exponent(.5)}function Rw(){var e=[],t=[],n=[],r;function i(){var o=0,l=Math.max(1,t.length);for(n=Array(l-1);++o<l;)n[o-1]=y2(e,o/l);return a}function a(o){return o==null||isNaN(o=+o)?r:t[Ru(n,o)]}return a.invertExtent=function(o){var l=t.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:e[0],l<n.length?n[l]:e[e.length-1]]},a.domain=function(o){if(!arguments.length)return e.slice();e=[];for(let l of o)l!=null&&!isNaN(l=+l)&&e.push(l);return e.sort(Cl),i()},a.range=function(o){return arguments.length?(t=Array.from(o),i()):t.slice()},a.unknown=function(o){return arguments.length?(r=o,a):r},a.quantiles=function(){return n.slice()},a.copy=function(){return Rw().domain(e).range(t).unknown(r)},la.apply(a,arguments)}function Tw(){var e=0,t=1,n=1,r=[.5],i=[0,1],a;function o(s){return s!=null&&s<=s?i[Ru(r,s,0,n)]:a}function l(){var s=-1;for(r=Array(n);++s<n;)r[s]=((s+1)*t-(s-n)*e)/(n+1);return o}return o.domain=function(s){return arguments.length?([e,t]=s,e=+e,t=+t,l()):[e,t]},o.range=function(s){return arguments.length?(n=(i=Array.from(s)).length-1,l()):i.slice()},o.invertExtent=function(s){var u=i.indexOf(s);return u<0?[NaN,NaN]:u<1?[e,r[0]]:u>=n?[r[n-1],t]:[r[u-1],r[u]]},o.unknown=function(s){return arguments.length&&(a=s),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Tw().domain([e,t]).range(i).unknown(a)},la.apply(mo(o),arguments)}function Lw(){var e=[.5],t=[0,1],n,r=1;function i(a){return a!=null&&a<=a?t[Ru(e,a,0,r)]:n}return i.domain=function(a){return arguments.length?(e=Array.from(a),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(a){return arguments.length?(t=Array.from(a),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(a){var o=t.indexOf(a);return[e[o-1],e[o]]},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return Lw().domain(e).range(t).unknown(n)},la.apply(i,arguments)}function X9(){return la.apply(X4(W4,H4,rO,tO,Z4,eO,Q4,iO,K4,nO).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function nc(){var e=0,t=1,n,r,i,a,o=hi,l=!1,s;function u(f){return f==null||isNaN(f=+f)?s:o(i===0?.5:(f=(a(f)-n)*i,l?Math.max(0,Math.min(1,f)):f))}u.domain=function(f){return arguments.length?([e,t]=f,n=a(e=+e),r=a(t=+t),i=n===r?0:1/(r-n),u):[e,t]},u.clamp=function(f){return arguments.length?(l=!!f,u):l},u.interpolator=function(f){return arguments.length?(o=f,u):o};function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,o=f(h,p),u):[o(0),o(1)]}}return u.range=c(np),u.rangeRound=c(rp),u.unknown=function(f){return arguments.length?(s=f,u):s},function(f){return a=f,n=f(e),r=f(t),i=n===r?0:1/(r-n),u}}function wi(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function lm(){var e=mo(nc()(hi));return e.copy=function(){return wi(e,lm())},pi.apply(e,arguments)}function Pw(){var e=rm(nc()).domain([1,10]);return e.copy=function(){return wi(e,Pw()).base(e.base())},pi.apply(e,arguments)}function Bw(){var e=im(nc());return e.copy=function(){return wi(e,Bw()).constant(e.constant())},pi.apply(e,arguments)}function sm(){var e=am(nc());return e.copy=function(){return wi(e,sm()).exponent(e.exponent())},pi.apply(e,arguments)}function Y9(){return sm.apply(null,arguments).exponent(.5)}function rc(){var e=0,t=.5,n=1,r=1,i,a,o,l,s,u=hi,c,f=!1,d;function h(m){return isNaN(m=+m)?d:(m=.5+((m=+c(m))-a)*(r*m<r*a?l:s),u(f?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([e,t,n]=m,i=c(e=+e),a=c(t=+t),o=c(n=+n),l=i===a?0:.5/(a-i),s=a===o?0:.5/(o-a),r=a<i?-1:1,h):[e,t,n]},h.clamp=function(m){return arguments.length?(f=!!m,h):f},h.interpolator=function(m){return arguments.length?(u=m,h):u};function p(m){return function(g){var y,v,b;return arguments.length?([y,v,b]=g,u=u2(m,[y,v,b]),h):[u(0),u(.5),u(1)]}}return h.range=p(np),h.rangeRound=p(rp),h.unknown=function(m){return arguments.length?(d=m,h):d},function(m){return c=m,i=m(e),a=m(t),o=m(n),l=i===a?0:.5/(a-i),s=a===o?0:.5/(o-a),r=a<i?-1:1,h}}function Iw(){var e=mo(rc()(hi));return e.copy=function(){return wi(e,Iw())},pi.apply(e,arguments)}function jw(){var e=rm(rc()).domain([.1,1,10]);return e.copy=function(){return wi(e,jw()).base(e.base())},pi.apply(e,arguments)}function qw(){var e=im(rc());return e.copy=function(){return wi(e,qw()).constant(e.constant())},pi.apply(e,arguments)}function um(){var e=am(rc());return e.copy=function(){return wi(e,um()).exponent(e.exponent())},pi.apply(e,arguments)}function J9(){return um.apply(null,arguments).exponent(.5)}var Q9=ur("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),K9=ur("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Z9=ur("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),e7=ur("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),t7=ur("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),n7=ur("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),r7=ur("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),i7=ur("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),a7=ur("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),o7=ur("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function cm(e,t,n){let r=e-t+n*2;return e?r>0?r:1:0}var l7="identity",ic="linear",fm="sqrt",dm="symlog",s7="time",_i="sequential",xo="diverging",Il="quantile",hm="quantize",Uw="threshold",u7="ordinal",c7="point",f7="band",d7="bin-ordinal",Ze="continuous",jl="discrete",ql="discretizing",xn="interpolating",pm="temporal";function h7(e){return function(t){let n=t[0],r=t[1],i;return r<n&&(i=n,n=r,r=i),[e.invert(n),e.invert(r)]}}function p7(e){return function(t){let n=e.range(),r=t[0],i=t[1],a=-1,o,l,s,u;for(i<r&&(l=r,r=i,i=l),s=0,u=n.length;s<u;++s)n[s]>=r&&n[s]<=i&&(a<0&&(a=s),o=s);if(!(a<0))return r=e.invertExtent(n[a]),i=e.invertExtent(n[o]),[r[0]===void 0?r[1]:r[0],i[1]===void 0?i[0]:i[1]]}}function mm(){let e=s2().unknown(void 0),t=e.domain,n=e.range,r=[0,1],i,a,o=!1,l=0,s=0,u=.5;delete e.unknown;function c(){let f=t().length,d=r[1]<r[0],h=r[1-d],p=cm(f,l,s),m=r[d-0];i=(h-m)/(p||1),o&&(i=Math.floor(i)),m+=(h-m-i*(f-l))*u,a=i*(1-l),o&&(m=Math.round(m),a=Math.round(a));let g=nn(f).map(y=>m+i*y);return n(d?g.reverse():g)}return e.domain=function(f){return arguments.length?(t(f),c()):t()},e.range=function(f){return arguments.length?(r=[+f[0],+f[1]],c()):r.slice()},e.rangeRound=function(f){return r=[+f[0],+f[1]],o=!0,c()},e.bandwidth=function(){return a},e.step=function(){return i},e.round=function(f){return arguments.length?(o=!!f,c()):o},e.padding=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),l=s,c()):l},e.paddingInner=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},e.paddingOuter=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},e.align=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},e.invertRange=function(f){if(f[0]==null||f[1]==null)return;let d=r[1]<r[0],h=d?n().reverse():n(),p=h.length-1,m=+f[0],g=+f[1],y,v,b;if(!(m!==m||g!==g)&&(g<m&&(b=m,m=g,g=b),!(g<h[0]||m>r[1-d])))return y=Math.max(0,ep(h,m)-1),v=m===g?y:ep(h,g)-1,m-h[y]>a+1e-10&&++y,d&&(b=y,y=p-v,v=p-b),y>v?void 0:t().slice(y,v+1)},e.invert=function(f){let d=e.invertRange([f,f]);return d&&d[0]},e.copy=function(){return mm().domain(t()).range(r).round(o).paddingInner(l).paddingOuter(s).align(u)},c()}function Ww(e){let t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return Ww(t())},e}function m7(){return Ww(mm().paddingInner(1))}var g7=Array.prototype.map;function y7(e){return g7.call(e,yn)}var v7=Array.prototype.slice;function Hw(){let e=[],t=[];function n(r){return r==null||r!==r?void 0:t[(Ru(e,r)-1)%t.length]}return n.domain=function(r){return arguments.length?(e=y7(r),n):e.slice()},n.range=function(r){return arguments.length?(t=v7.call(r),n):t.slice()},n.tickFormat=function(r,i){return j4(e[0],Ae(e),r??10,i)},n.copy=function(){return Hw().domain(n.domain()).range(n.range())},n}var ac=new Map,Gw=Symbol("vega_scale");function Vw(e){return e[Gw]=!0,e}function Xw(e){return e&&e[Gw]===!0}function b7(e,t,n){let r=function(){let i=t();return i.invertRange||(i.invertRange=i.invert?h7(i):i.invertExtent?p7(i):void 0),i.type=e,Vw(i)};return r.metadata=lr(Q(n)),r}function ve(e,t,n){return arguments.length>1?(ac.set(e,b7(e,t,n)),this):Yw(e)?ac.get(e):void 0}ve(l7,Aw),ve(ic,q4,Ze),ve("log",Cw,[Ze,"log"]),ve("pow",om,Ze),ve(fm,V9,Ze),ve(dm,zw,Ze),ve(s7,G4,[Ze,pm]),ve("utc",X9,[Ze,pm]),ve(_i,lm,[Ze,xn]),ve(`${_i}-${ic}`,lm,[Ze,xn]),ve(`${_i}-log`,Pw,[Ze,xn,"log"]),ve(`${_i}-pow`,sm,[Ze,xn]),ve(`${_i}-${fm}`,Y9,[Ze,xn]),ve(`${_i}-${dm}`,Bw,[Ze,xn]),ve(`${xo}-${ic}`,Iw,[Ze,xn]),ve(`${xo}-log`,jw,[Ze,xn,"log"]),ve(`${xo}-pow`,um,[Ze,xn]),ve(`${xo}-${fm}`,J9,[Ze,xn]),ve(`${xo}-${dm}`,qw,[Ze,xn]),ve(Il,Rw,[ql,Il]),ve(hm,Tw,ql),ve(Uw,Lw,ql),ve(d7,Hw,[jl,ql]),ve(u7,s2,jl),ve(f7,mm,jl),ve(c7,m7,jl);function Yw(e){return ac.has(e)}function ca(e,t){let n=ac.get(e);return n&&n.metadata[t]}function gm(e){return ca(e,Ze)}function wo(e){return ca(e,jl)}function ym(e){return ca(e,ql)}function Jw(e){return ca(e,"log")}function x7(e){return ca(e,pm)}function Qw(e){return ca(e,xn)}function Kw(e){return ca(e,Il)}var w7=["clamp","base","constant","exponent"];function Zw(e,t){let n=t[0],r=Ae(t)-n;return function(i){return e(n+i*r)}}function oc(e,t,n){return u2(vm(t||"rgb",n),e)}function e_(e,t){let n=Array(t),r=t+1;for(let i=0;i<t;)n[i]=e(++i/r);return n}function t_(e,t,n){let r=n-t,i,a,o;return!r||!Number.isFinite(r)?At(.5):(i=(a=e.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=ve(a)().domain([t,n]).range([0,1]),w7.forEach(l=>e[l]?o[l](e[l]()):0),o)}function vm(e,t){let n=sO[_7(e)];return t!=null&&n&&n.gamma?n.gamma(t):n}function _7(e){return"interpolate"+e.toLowerCase().split("-").map(t=>t[0].toUpperCase()+t.slice(1)).join("")}var k7={blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},E7={accent:K9,category10:Q9,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Z9,observable10:e7,paired:t7,pastel1:n7,pastel2:r7,set1:i7,set2:a7,set3:o7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"};function n_(e){if(N(e))return e;let t=e.length/6|0,n=Array(t);for(let r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}function r_(e,t){for(let n in e)bm(n,t(e[n]))}var i_={};r_(E7,n_),r_(k7,e=>oc(n_(e)));function bm(e,t){return e&&(e=e.toLowerCase()),arguments.length>1?(i_[e]=t,this):i_[e]}var $7=e=>N(e)?e.map(t=>String(t)):String(e),A7=(e,t)=>e[1]-t[1],D7=(e,t)=>t[1]-e[1];function xm(e,t,n){let r;return we(t)&&(e.bins&&(t=Math.max(t,e.bins.length)),n!=null&&(t=Math.min(t,Math.floor(Fu(e.domain())/n||1)+1))),J(t)&&(r=t.step,t=t.interval),Y(t)&&(t=e.type==="time"?Yh(t):e.type=="utc"?Uh(t):L("Only time and utc scales accept interval strings."),r&&(t=t.every(r))),t}function a_(e,t,n){let r=e.range(),i=r[0],a=Ae(r),o=A7;if(i>a&&(r=a,a=i,i=r,o=D7),i=Math.floor(i),a=Math.ceil(a),t=t.map(l=>[l,e(l)]).filter(l=>i<=l[1]&&l[1]<=a).sort(o).map(l=>l[0]),n>0&&t.length>1){let l=[t[0],Ae(t)];for(;t.length>n&&t.length>=3;)t=t.filter((s,u)=>!(u%2));t.length<3&&(t=l)}return t}function wm(e,t){return e.bins?a_(e,e.bins,t):e.ticks?e.ticks(t):e.domain()}function o_(e,t,n,r,i,a){let o=t.type,l=$7;if(o==="time"||i==="time")l=e.timeFormat(r);else if(o==="utc"||i==="utc")l=e.utcFormat(r);else if(Jw(o)){let s=e.formatFloat(r);if(a||t.bins)l=s;else{let u=l_(t,n,!1);l=c=>u(c)?s(c):""}}else if(t.tickFormat){let s=t.domain();l=e.formatSpan(s[0],s[s.length-1],n,r)}else r&&(l=e.format(r));return l}function l_(e,t,n){let r=wm(e,t),i=e.base(),a=Math.log(i),o=Math.max(1,i*t/r.length),l=s=>{let u=s/i**+Math.round(Math.log(s)/a);return u*i<i-.5&&(u*=i),u<=o};return n?r.filter(l):l}var _m={[Il]:"quantiles",[hm]:"thresholds",[Uw]:"domain"},s_={[Il]:"quantiles",[hm]:"domain"};function u_(e,t){return e.bins?C7(e.bins):e.type==="log"?l_(e,t,!0):_m[e.type]?F7(e[_m[e.type]]()):wm(e,t)}function S7(e,t,n){let r=t[s_[t.type]](),i=r.length,a=i>1?r[1]-r[0]:r[0],o;for(o=1;o<i;++o)a=Math.min(a,r[o]-r[o-1]);return e.formatSpan(0,a,30,n)}function F7(e){let t=[-1/0].concat(e);return t.max=1/0,t}function C7(e){let t=e.slice(0,-1);return t.max=Ae(e),t}var M7=e=>_m[e.type]||e.bins;function c_(e,t,n,r,i,a,o){let l=s_[t.type]&&a!=="time"&&a!=="utc"?S7(e,t,i):o_(e,t,n,i,a,o);return r==="symbol"&&M7(t)?O7(l):r==="discrete"?z7(l):N7(l)}var O7=e=>(t,n,r)=>{let i=f_(r[n+1],f_(r.max,1/0)),a=d_(t,e),o=d_(i,e);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},f_=(e,t)=>e??t,z7=e=>(t,n)=>n?e(t):null,N7=e=>t=>e(t),d_=(e,t)=>Number.isFinite(e)?t(e):null;function R7(e){let t=e.domain(),n=t.length-1,r=+t[0],i=+Ae(t),a=i-r;if(e.type==="threshold"){let o=n?a/n:.1;r-=o,i+=o,a=i-r}return o=>(o-r)/a}function T7(e,t,n,r){let i=r||t.type;return Y(n)&&x7(i)&&(n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")),!n&&i==="time"?e.timeFormat("%A, %d %B %Y, %X"):!n&&i==="utc"?e.utcFormat("%A, %d %B %Y, %X UTC"):c_(e,t,5,null,n,r,!0)}function h_(e,t,n){n||(n={});let r=Math.max(3,n.maxlen||7),i=T7(e,t,n.format,n.formatType);if(ym(t.type)){let a=u_(t).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}else if(wo(t.type)){let a=t.domain(),o=a.length,l=o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ");return`${o} value${o===1?"":"s"}: ${l}`}else{let a=t.domain();return`values from ${i(a[0])} to ${i(Ae(a))}`}}var p_=0;function L7(){p_=0}var lc="p_";function km(e){return e&&e.gradient}function m_(e,t,n){let r=e.gradient,i=e.id,a=r==="radial"?lc:"";return i||(i=e.id="gradient_"+p_++,r==="radial"?(e.x1=cr(e.x1,.5),e.y1=cr(e.y1,.5),e.r1=cr(e.r1,0),e.x2=cr(e.x2,.5),e.y2=cr(e.y2,.5),e.r2=cr(e.r2,.5),a=lc):(e.x1=cr(e.x1,0),e.y1=cr(e.y1,0),e.x2=cr(e.x2,1),e.y2=cr(e.y2,0))),t[i]=e,"url("+(n||"")+"#"+a+i+")"}function cr(e,t){return e??t}function g_(e,t){var n=[],r;return r={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:t?t[0]:1,y2:t?t[1]:0,stops:n,stop:function(i,a){return n.push({offset:i,color:a}),r}}}var y_={basis:{curve:vO},"basis-closed":{curve:kO},"basis-open":{curve:EO},bundle:{curve:DO,tension:"beta",value:.85},cardinal:{curve:CO,tension:"tension",value:0},"cardinal-open":{curve:wO,tension:"tension",value:0},"cardinal-closed":{curve:_O,tension:"tension",value:0},"catmull-rom":{curve:NO,tension:"alpha",value:.5},"catmull-rom-closed":{curve:AO,tension:"alpha",value:.5},"catmull-rom-open":{curve:xO,tension:"alpha",value:.5},linear:{curve:f2},"linear-closed":{curve:OO},monotone:{horizontal:FO,vertical:bO},natural:{curve:$O},step:{curve:MO},"step-after":{curve:zO},"step-before":{curve:SO}};function Em(e,t,n){var r=K(y_,e)&&y_[e],i=null;return r&&(i=r.curve||r[t||"vertical"],r.tension&&n!=null&&(i=i[r.tension](n))),i}var P7={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},B7=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,I7=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,j7=/^((\s+,?\s*)|(,\s*))/,q7=/^[01]/;function _o(e){let t=[];return(e.match(B7)||[]).forEach(n=>{let r=n[0],i=r.toLowerCase(),a=P7[i],o=U7(i,a,n.slice(1).trim()),l=o.length;if(l<a||l&&l%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(t.push([r,...o.slice(0,a)]),l!==a){i==="m"&&(r=r==="M"?"L":"l");for(let s=a;s<l;s+=a)t.push([r,...o.slice(s,s+a)])}}),t}function U7(e,t,n){let r=[];for(let i=0;t&&i<n.length;)for(let a=0;a<t;++a){let o=e==="a"&&(a===3||a===4)?q7:I7,l=n.slice(i).match(o);if(l===null)throw Error("Invalid SVG path, incorrect parameter type");i+=l[0].length,r.push(+l[0]);let s=n.slice(i).match(j7);s!==null&&(i+=s[0].length)}return r}var ki=Math.PI/180,W7=1e-14,fa=Math.PI/2,fr=Math.PI*2,ko=Math.sqrt(3)/2,$m={},Am={},v_=[].join;function H7(e,t,n,r,i,a,o,l,s){let u=v_.call(arguments);if($m[u])return $m[u];let c=o*ki,f=Math.sin(c),d=Math.cos(c);n=Math.abs(n),r=Math.abs(r);let h=d*(l-e)*.5+f*(s-t)*.5,p=d*(s-t)*.5-f*(l-e)*.5,m=h*h/(n*n)+p*p/(r*r);m>1&&(m=Math.sqrt(m),n*=m,r*=m);let g=d/n,y=f/n,v=-f/r,b=d/r,w=g*l+y*s,_=v*l+b*s,k=g*e+y*t,x=v*e+b*t,E=1/((k-w)*(k-w)+(x-_)*(x-_))-.25;E<0&&(E=0);let $=Math.sqrt(E);a==i&&($=-$);let D=.5*(w+k)-$*(x-_),F=.5*(_+x)+$*(k-w),T=Math.atan2(_-F,w-D),S=Math.atan2(x-F,k-D)-T;S<0&&a===1?S+=fr:S>0&&a===0&&(S-=fr);let M=Math.ceil(Math.abs(S/(fa+.001))),A=[];for(let C=0;C<M;++C)A[C]=[D,F,T+C*S/M,T+(C+1)*S/M,n,r,f,d];return $m[u]=A}function G7(e){let t=v_.call(e);if(Am[t])return Am[t];var n=e[0],r=e[1],i=e[2],a=e[3],o=e[4],l=e[5],s=e[6],u=e[7];let c=u*o,f=-s*l,d=s*o,h=u*l,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),b=Math.sin(v*.5),w=8/3*b*b/Math.sin(v),_=n+p-w*m,k=r+m+w*p,x=n+g,E=r+y,$=x+w*y,D=E-w*g;return Am[t]=[c*_+f*k,d*_+h*k,c*$+f*D,d*$+h*D,c*x+f*E,d*x+h*E]}var wn=["l",0,0,0,0,0,0,0];function V7(e,t,n){let r=wn[0]=e[0];if(r==="a"||r==="A")wn[1]=t*e[1],wn[2]=n*e[2],wn[3]=e[3],wn[4]=e[4],wn[5]=e[5],wn[6]=t*e[6],wn[7]=n*e[7];else if(r==="h"||r==="H")wn[1]=t*e[1];else if(r==="v"||r==="V")wn[1]=n*e[1];else for(var i=1,a=e.length;i<a;++i)wn[i]=(i%2==1?t:n)*e[i];return wn}function Ul(e,t,n,r,i,a){var o,l=null,s=0,u=0,c=0,f=0,d,h,p,m,g=0,y=0;n??(n=0),r??(r=0),i??(i=1),a??(a=i),e.beginPath&&e.beginPath();for(var v=0,b=t.length;v<b;++v){switch(o=t[v],(i!==1||a!==1)&&(o=V7(o,i,a)),o[0]){case"l":s+=o[1],u+=o[2],e.lineTo(s+n,u+r);break;case"L":s=o[1],u=o[2],e.lineTo(s+n,u+r);break;case"h":s+=o[1],e.lineTo(s+n,u+r);break;case"H":s=o[1],e.lineTo(s+n,u+r);break;case"v":u+=o[1],e.lineTo(s+n,u+r);break;case"V":u=o[1],e.lineTo(s+n,u+r);break;case"m":s+=o[1],u+=o[2],g=s,y=u,e.moveTo(s+n,u+r);break;case"M":s=o[1],u=o[2],g=s,y=u,e.moveTo(s+n,u+r);break;case"c":d=s+o[5],h=u+o[6],c=s+o[3],f=u+o[4],e.bezierCurveTo(s+o[1]+n,u+o[2]+r,c+n,f+r,d+n,h+r),s=d,u=h;break;case"C":s=o[5],u=o[6],c=o[3],f=o[4],e.bezierCurveTo(o[1]+n,o[2]+r,c+n,f+r,s+n,u+r);break;case"s":d=s+o[3],h=u+o[4],c=2*s-c,f=2*u-f,e.bezierCurveTo(c+n,f+r,s+o[1]+n,u+o[2]+r,d+n,h+r),c=s+o[1],f=u+o[2],s=d,u=h;break;case"S":d=o[3],h=o[4],c=2*s-c,f=2*u-f,e.bezierCurveTo(c+n,f+r,o[1]+n,o[2]+r,d+n,h+r),s=d,u=h,c=o[1],f=o[2];break;case"q":d=s+o[3],h=u+o[4],c=s+o[1],f=u+o[2],e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h;break;case"Q":d=o[3],h=o[4],e.quadraticCurveTo(o[1]+n,o[2]+r,d+n,h+r),s=d,u=h,c=o[1],f=o[2];break;case"t":d=s+o[1],h=u+o[2],l[0].match(/[QqTt]/)===null?(c=s,f=u):l[0]==="t"?(c=2*s-p,f=2*u-m):l[0]==="q"&&(c=2*s-c,f=2*u-f),p=c,m=f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h,c=s+o[1],f=u+o[2];break;case"T":d=o[1],h=o[2],c=2*s-c,f=2*u-f,e.quadraticCurveTo(c+n,f+r,d+n,h+r),s=d,u=h;break;case"a":b_(e,s+n,u+r,[o[1],o[2],o[3],o[4],o[5],o[6]+s+n,o[7]+u+r]),s+=o[6],u+=o[7];break;case"A":b_(e,s+n,u+r,[o[1],o[2],o[3],o[4],o[5],o[6]+n,o[7]+r]),s=o[6],u=o[7];break;case"z":case"Z":s=g,u=y,e.closePath();break}l=o}}function b_(e,t,n,r){let i=H7(r[5],r[6],r[0],r[1],r[3],r[4],r[2],t,n);for(let a=0;a<i.length;++a){let o=G7(i[a]);e.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}var x_=.5773502691896257,w_={circle:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(n,0),e.arc(0,0,n,0,fr)}},cross:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/2.5;e.moveTo(-n,-r),e.lineTo(-n,r),e.lineTo(-r,r),e.lineTo(-r,n),e.lineTo(r,n),e.lineTo(r,r),e.lineTo(n,r),e.lineTo(n,-r),e.lineTo(r,-r),e.lineTo(r,-n),e.lineTo(-r,-n),e.lineTo(-r,-r),e.closePath()}},diamond:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.closePath()}},square:{draw:function(e,t){var n=Math.sqrt(t),r=-n/2;e.rect(r,r,n,n)}},arrow:{draw:function(e,t){var n=Math.sqrt(t)/2,r=n/7,i=n/2.5,a=n/8;e.moveTo(-r,n),e.lineTo(r,n),e.lineTo(r,-a),e.lineTo(i,-a),e.lineTo(0,-n),e.lineTo(-i,-a),e.lineTo(-r,-a),e.closePath()}},wedge:{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n,i=r-n*x_,a=n/4;e.moveTo(0,-r-i),e.lineTo(-a,r-i),e.lineTo(a,r-i),e.closePath()}},triangle:{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n,i=r-n*x_;e.moveTo(0,-r-i),e.lineTo(-n,r-i),e.lineTo(n,r-i),e.closePath()}},"triangle-up":{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n;e.moveTo(0,-r),e.lineTo(-n,r),e.lineTo(n,r),e.closePath()}},"triangle-down":{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n;e.moveTo(0,r),e.lineTo(-n,-r),e.lineTo(n,-r),e.closePath()}},"triangle-right":{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n;e.moveTo(r,0),e.lineTo(-r,-n),e.lineTo(-r,n),e.closePath()}},"triangle-left":{draw:function(e,t){var n=Math.sqrt(t)/2,r=ko*n;e.moveTo(-r,0),e.lineTo(r,-n),e.lineTo(r,n),e.closePath()}},stroke:{draw:function(e,t){let n=Math.sqrt(t)/2;e.moveTo(-n,0),e.lineTo(n,0)}}};function __(e){return K(w_,e)?w_[e]:X7(e)}var Dm={};function X7(e){if(!K(Dm,e)){let t=_o(e);Dm[e]={draw:function(n,r){Ul(n,t,0,0,Math.sqrt(r)/2)}}}return Dm[e]}var Ei=.448084975506;function Y7(e){return e.x}function J7(e){return e.y}function Q7(e){return e.width}function K7(e){return e.height}function Pr(e){return typeof e=="function"?e:()=>+e}function sc(e,t,n){return Math.max(t,Math.min(e,n))}function k_(){var e=Y7,t=J7,n=Q7,r=K7,i=Pr(0),a=i,o=i,l=i,s=null;function u(c,f,d){var h,p=f??+e.call(this,c),m=d??+t.call(this,c),g=+n.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,b=sc(+i.call(this,c),0,v),w=sc(+a.call(this,c),0,v),_=sc(+o.call(this,c),0,v),k=sc(+l.call(this,c),0,v);if(s||(s=h=ip()),b<=0&&w<=0&&_<=0&&k<=0)s.rect(p,m,g,y);else{var x=p+g,E=m+y;s.moveTo(p+b,m),s.lineTo(x-w,m),s.bezierCurveTo(x-Ei*w,m,x,m+Ei*w,x,m+w),s.lineTo(x,E-k),s.bezierCurveTo(x,E-Ei*k,x-Ei*k,E,x-k,E),s.lineTo(p+_,E),s.bezierCurveTo(p+Ei*_,E,p,E-Ei*_,p,E-_),s.lineTo(p,m+b),s.bezierCurveTo(p,m+Ei*b,p+Ei*b,m,p+b,m),s.closePath()}if(h)return s=null,h+""||null}return u.x=function(c){return arguments.length?(e=Pr(c),u):e},u.y=function(c){return arguments.length?(t=Pr(c),u):t},u.width=function(c){return arguments.length?(n=Pr(c),u):n},u.height=function(c){return arguments.length?(r=Pr(c),u):r},u.cornerRadius=function(c,f,d,h){return arguments.length?(i=Pr(c),a=f==null?i:Pr(f),l=d==null?i:Pr(d),o=h==null?a:Pr(h),u):i},u.context=function(c){return arguments.length?(s=c??null,u):s},u}function E_(){var e,t,n,r,i=null,a,o,l,s;function u(f,d,h){let p=h/2;if(a){var m=l-d,g=f-o;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,b=(g/=y)*s,w=Math.atan2(g,m);i.moveTo(o-v,l-b),i.lineTo(f-m*p,d-g*p),i.arc(f,d,p,w-Math.PI,w),i.lineTo(o+v,l+b),i.arc(o,l,s,w,w+Math.PI)}else i.arc(f,d,p,0,fr);i.closePath()}else a=1;o=f,l=d,s=p}function c(f){var d,h=f.length,p,m=!1,g;for(i??(i=g=ip()),d=0;d<=h;++d)!(d<h&&r(p=f[d],d,f))===m&&(m=!m)&&(a=0),m&&u(+e(p,d,f),+t(p,d,f),+n(p,d,f));if(g)return i=null,g+""||null}return c.x=function(f){return arguments.length?(e=f,c):e},c.y=function(f){return arguments.length?(t=f,c):t},c.size=function(f){return arguments.length?(n=f,c):n},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(i=f??null,c):i},c}function Wl(e,t){return e??t}var Hl=e=>e.x||0,Gl=e=>e.y||0,Z7=e=>e.width||0,ez=e=>e.height||0,tz=e=>(e.x||0)+(e.width||0),nz=e=>(e.y||0)+(e.height||0),rz=e=>e.startAngle||0,iz=e=>e.endAngle||0,az=e=>e.padAngle||0,oz=e=>e.innerRadius||0,lz=e=>e.outerRadius||0,sz=e=>e.cornerRadius||0,uz=e=>Wl(e.cornerRadiusTopLeft,e.cornerRadius)||0,cz=e=>Wl(e.cornerRadiusTopRight,e.cornerRadius)||0,fz=e=>Wl(e.cornerRadiusBottomRight,e.cornerRadius)||0,dz=e=>Wl(e.cornerRadiusBottomLeft,e.cornerRadius)||0,hz=e=>Wl(e.size,64),pz=e=>e.size||1,uc=e=>e.defined!==!1,mz=e=>__(e.shape||"circle"),gz=gO().startAngle(rz).endAngle(iz).padAngle(az).innerRadius(oz).outerRadius(lz).cornerRadius(sz),yz=$w().x(Hl).y1(Gl).y0(nz).defined(uc),vz=$w().y(Gl).x1(Hl).x0(tz).defined(uc),bz=d2().x(Hl).y(Gl).defined(uc),xz=k_().x(Hl).y(Gl).width(Z7).height(ez).cornerRadius(uz,cz,fz,dz),wz=P9().type(mz).size(hz),_z=E_().x(Hl).y(Gl).defined(uc).size(pz);function Sm(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function kz(e,t){return gz.context(e)(t)}function Ez(e,t){let n=t[0],r=n.interpolate||"linear";return(n.orient==="horizontal"?vz:yz).curve(Em(r,n.orient,n.tension)).context(e)(t)}function $z(e,t){let n=t[0],r=n.interpolate||"linear";return bz.curve(Em(r,n.orient,n.tension)).context(e)(t)}function Eo(e,t,n,r){return xz.context(e)(t,n,r)}function Az(e,t){return(t.mark.shape||t.shape).context(e)(t)}function Dz(e,t){return wz.context(e)(t)}function Sz(e,t){return _z.context(e)(t)}var $_=1;function Fz(){$_=1}function Fm(e,t,n){var r=t.clip,i=e._defs,a=t.clip_id||(t.clip_id="clip"+$_++),o=i.clipping[a]||(i.clipping[a]={id:a});return de(r)?o.path=r(null):Sm(n)?o.path=Eo(null,n,0,0):(o.width=n.width||0,o.height=n.height||0),"url(#"+a+")"}function Qe(e){this.clear(),e&&this.union(e)}Qe.prototype={clone(){return new Qe(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,t,n,r){return n<e?(this.x2=e,this.x1=n):(this.x1=e,this.x2=n),r<t?(this.y2=t,this.y1=r):(this.y1=t,this.y2=r),this},add(e,t){return e<this.x1&&(this.x1=e),t<this.y1&&(this.y1=t),e>this.x2&&(this.x2=e),t>this.y2&&(this.y2=t),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){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},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,t){return this.x1+=e,this.x2+=e,this.y1+=t,this.y2+=t,this},rotate(e,t,n){let r=this.rotatedPoints(e,t,n);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(e,t,n){var{x1:r,y1:i,x2:a,y2:o}=this,l=Math.cos(e),s=Math.sin(e),u=t-t*l+n*s,c=n-t*s-n*l;return[l*r-s*i+u,s*r+l*i+c,l*r-s*o+u,s*r+l*o+c,l*a-s*i+u,s*a+l*i+c,l*a-s*o+u,s*a+l*o+c]},union(e){return e.x1<this.x1&&(this.x1=e.x1),e.y1<this.y1&&(this.y1=e.y1),e.x2>this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2<this.x2&&(this.x2=e.x2),e.y2<this.y2&&(this.y2=e.y2),this},encloses(e){return e&&this.x1<=e.x1&&this.x2>=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2<e.x1||this.x1>e.x2||this.y2<e.y1||this.y1>e.y2)},contains(e,t){return!(e<this.x1||e>this.x2||t<this.y1||t>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function cc(e){this.mark=e,this.bounds=this.bounds||new Qe}function fc(e){cc.call(this,e),this.items=this.items||[]}G(fc,cc);var A_=class{constructor(e){this._pending=0,this._loader=e||zu()}pending(){return this._pending}sanitizeURL(e){let t=this;return D_(t),t._loader.sanitize(e,{context:"href"}).then(n=>(Vl(t),n)).catch(()=>(Vl(t),null))}loadImage(e){let t=this,n=B9();return D_(t),t._loader.sanitize(e,{context:"image"}).then(r=>{let i=r.href;if(!i||!n)throw{url:i};let a=new n,o=K(r,"crossOrigin")?r.crossOrigin:"anonymous";return o!=null&&(a.crossOrigin=o),a.onload=()=>Vl(t),a.onerror=()=>Vl(t),a.src=i,a}).catch(r=>(Vl(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))}ready(){let e=this;return new Promise(t=>{function n(r){e.pending()?setTimeout(()=>{n(!0)},10):t(r)}n(!1)})}};function D_(e){e._pending+=1}function Vl(e){--e._pending}function Br(e,t,n){if(t.stroke&&t.opacity!==0&&t.strokeOpacity!==0){let r=t.strokeWidth==null?1:+t.strokeWidth;e.expand(r+(n?Cz(t,r):0))}return e}function Cz(e,t){return e.strokeJoin&&e.strokeJoin!=="miter"?0:t}var Mz=fr-1e-8,dc,hc,pc,da,Cm,mc,Mm,Om,$i=(e,t)=>dc.add(e,t),gc=(e,t)=>$i(hc=e,pc=t),S_=e=>$i(e,dc.y1),F_=e=>$i(dc.x1,e),ha=(e,t)=>Cm*e+Mm*t,pa=(e,t)=>mc*e+Om*t,zm=(e,t)=>$i(ha(e,t),pa(e,t)),Nm=(e,t)=>gc(ha(e,t),pa(e,t));function Xl(e,t){return dc=e,t?(da=t*ki,Cm=Om=Math.cos(da),mc=Math.sin(da),Mm=-mc):(Cm=Om=1,da=mc=Mm=0),Oz}var Oz={beginPath(){},closePath(){},moveTo:Nm,lineTo:Nm,rect(e,t,n,r){da?(zm(e+n,t),zm(e+n,t+r),zm(e,t+r),Nm(e,t)):($i(e+n,t+r),gc(e,t))},quadraticCurveTo(e,t,n,r){let i=ha(e,t),a=pa(e,t),o=ha(n,r),l=pa(n,r);C_(hc,i,o,S_),C_(pc,a,l,F_),gc(o,l)},bezierCurveTo(e,t,n,r,i,a){let o=ha(e,t),l=pa(e,t),s=ha(n,r),u=pa(n,r),c=ha(i,a),f=pa(i,a);M_(hc,o,s,c,S_),M_(pc,l,u,f,F_),gc(c,f)},arc(e,t,n,r,i,a){if(r+=da,i+=da,hc=n*Math.cos(i)+e,pc=n*Math.sin(i)+t,Math.abs(i-r)>Mz)$i(e-n,t-n),$i(e+n,t+n);else{let o=u=>$i(n*Math.cos(u)+e,n*Math.sin(u)+t),l,s;if(o(r),o(i),i!==r)if(r%=fr,r<0&&(r+=fr),i%=fr,i<0&&(i+=fr),i<r&&(a=!a,l=r,r=i,i=l),a)for(i-=fr,l=r-r%fa,s=0;s<4&&l>i;++s,l-=fa)o(l);else for(l=r-r%fa+fa,s=0;s<4&&l<i;++s,l+=fa)o(l)}}};function C_(e,t,n,r){let i=(e-t)/(e+n-2*t);0<i&&i<1&&r(e+(t-e)*i)}function M_(e,t,n,r,i){let a=r-e+3*t-3*n,o=e+n-2*t,l=e-t,s=0,u=0,c;Math.abs(a)>W7?(c=o*o+l*a,c>=0&&(c=Math.sqrt(c),s=(-o+c)/a,u=(-o-c)/a)):s=.5*l/o,0<s&&s<1&&i(O_(s,e,t,n,r)),0<u&&u<1&&i(O_(u,e,t,n,r))}function O_(e,t,n,r,i){let a=1-e,o=a*a,l=e*e;return o*a*t+3*o*e*n+3*a*l*r+l*e*i}var Ai=(Ai=xi(1,1))?Ai.getContext("2d"):null,Rm=new Qe;function Tm(e){return function(t,n){if(!Ai)return!0;e(Ai,t),Rm.clear().union(t.bounds).intersect(n).round();let{x1:r,y1:i,x2:a,y2:o}=Rm;for(let l=i;l<=o;++l)for(let s=r;s<=a;++s)if(Ai.isPointInPath(s,l))return!0;return!1}}function Lm(e,t){return t.contains(e.x||0,e.y||0)}function z_(e,t){let n=e.x||0,r=e.y||0,i=e.width||0,a=e.height||0;return t.intersects(Rm.set(n,r,n+i,r+a))}function N_(e,t){let n=e.x||0,r=e.y||0;return $o(t,n,r,e.x2==null?n:e.x2,e.y2==null?r:e.y2)}function $o(e,t,n,r,i){let{x1:a,y1:o,x2:l,y2:s}=e,u=r-t,c=i-n,f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0&&(h=-u,p=-(a-t)),g===1&&(h=u,p=l-t),g===2&&(h=-c,p=-(o-n)),g===3&&(h=c,p=s-n),Math.abs(h)<1e-10&&p<0)return!1;if(m=p/h,h<0){if(m>d)return!1;m>f&&(f=m)}else if(h>0){if(m<f)return!1;m<d&&(d=m)}}return!0}function Ao(e,t){e.globalCompositeOperation=t.blend||"source-over"}function Nn(e,t){return e??t}function R_(e,t){let n=t.length;for(let r=0;r<n;++r)e.addColorStop(t[r].offset,t[r].color);return e}function zz(e,t,n){let r=n.width(),i=n.height(),a;if(t.gradient==="radial")a=e.createRadialGradient(n.x1+Nn(t.x1,.5)*r,n.y1+Nn(t.y1,.5)*i,Math.max(r,i)*Nn(t.r1,0),n.x1+Nn(t.x2,.5)*r,n.y1+Nn(t.y2,.5)*i,Math.max(r,i)*Nn(t.r2,.5));else{let o=Nn(t.x1,0),l=Nn(t.y1,0),s=Nn(t.x2,1),u=Nn(t.y2,0);if(o===s||l===u||r===i)a=e.createLinearGradient(n.x1+o*r,n.y1+l*i,n.x1+s*r,n.y1+u*i);else{let c=xi(Math.ceil(r),Math.ceil(i)),f=c.getContext("2d");return f.scale(r,i),f.fillStyle=R_(f.createLinearGradient(o,l,s,u),t.stops),f.fillRect(0,0,r,i),e.createPattern(c,"no-repeat")}}return R_(a,t.stops)}function T_(e,t,n){return km(n)?zz(e,n,t.bounds):n}function yc(e,t,n){return n*=t.fillOpacity==null?1:t.fillOpacity,n>0?(e.globalAlpha=n,e.fillStyle=T_(e,t,t.fill),!0):!1}var Nz=[];function Do(e,t,n){var r=(r=t.strokeWidth)??1;return r<=0?!1:(n*=t.strokeOpacity==null?1:t.strokeOpacity,n>0?(e.globalAlpha=n,e.strokeStyle=T_(e,t,t.stroke),e.lineWidth=r,e.lineCap=t.strokeCap||"butt",e.lineJoin=t.strokeJoin||"miter",e.miterLimit=t.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(t.strokeDash||Nz),e.lineDashOffset=t.strokeDashOffset||0),!0):!1)}function Rz(e,t){return e.zindex-t.zindex||e.index-t.index}function Pm(e){if(!e.zdirty)return e.zitems;var t=e.items,n=[],r,i,a;for(i=0,a=t.length;i<a;++i)r=t[i],r.index=i,r.zindex&&n.push(r);return e.zdirty=!1,e.zitems=n.sort(Rz)}function Rn(e,t){var n=e.items,r,i;if(!n||!n.length)return;let a=Pm(e);if(a&&a.length){for(r=0,i=n.length;r<i;++r)n[r].zindex||t(n[r]);n=a}for(r=0,i=n.length;r<i;++r)t(n[r])}function vc(e,t){var n=e.items,r,i;if(!n||!n.length)return null;let a=Pm(e);for(a&&a.length&&(n=a),i=n.length;--i>=0;)if(r=t(n[i]))return r;if(n===a){for(n=e.items,i=n.length;--i>=0;)if(!n[i].zindex&&(r=t(n[i])))return r}return null}function Bm(e){return function(t,n,r){Rn(n,i=>{(!r||r.intersects(i.bounds))&&L_(e,t,i,i)})}}function Tz(e){return function(t,n,r){n.items.length&&(!r||r.intersects(n.bounds))&&L_(e,t,n.items[0],n.items)}}function L_(e,t,n,r){var i=n.opacity==null?1:n.opacity;i!==0&&(e(t,r)||(Ao(t,n),n.fill&&yc(t,n,i)&&t.fill(),n.stroke&&Do(t,n,i)&&t.stroke()))}function bc(e){return e||(e=gn),function(t,n,r,i,a,o){return r*=t.pixelRatio,i*=t.pixelRatio,vc(n,l=>{let s=l.bounds;if(!(s&&!s.contains(a,o)||!s)&&e(t,l,r,i,a,o))return l})}}function Yl(e,t){return function(n,r,i,a){var o=Array.isArray(r)?r[0]:r,l=t??o.fill,s=o.stroke&&n.isPointInStroke,u,c;return s&&(u=o.strokeWidth,c=o.strokeCap,n.lineWidth=u??1,n.lineCap=c??"butt"),e(n,r)?!1:l&&n.isPointInPath(i,a)||s&&n.isPointInStroke(i,a)}}function Im(e){return bc(Yl(e))}function ma(e,t){return"translate("+e+","+t+")"}function jm(e){return"rotate("+e+")"}function Lz(e,t){return"scale("+e+","+t+")"}function P_(e){return ma(e.x||0,e.y||0)}function Pz(e){return ma(e.x||0,e.y||0)+(e.angle?" "+jm(e.angle):"")}function Bz(e){return ma(e.x||0,e.y||0)+(e.angle?" "+jm(e.angle):"")+(e.scaleX||e.scaleY?" "+Lz(e.scaleX||1,e.scaleY||1):"")}function qm(e,t,n){function r(o,l){o("transform",Pz(l)),o("d",t(null,l))}function i(o,l){return t(Xl(o,l.angle),l),Br(o,l).translate(l.x||0,l.y||0)}function a(o,l){var s=l.x||0,u=l.y||0,c=l.angle||0;o.translate(s,u),c&&o.rotate(c*=ki),o.beginPath(),t(o,l),c&&o.rotate(-c),o.translate(-s,-u)}return{type:e,tag:"path",nested:!1,attr:r,bound:i,draw:Bm(a),pick:Im(a),isect:n||Tm(a)}}var Iz=qm("arc",kz);function jz(e,t){for(var n=e[0].orient==="horizontal"?t[1]:t[0],r=e[0].orient==="horizontal"?"y":"x",i=e.length,a=1/0,o,l;--i>=0;)e[i].defined!==!1&&(l=Math.abs(e[i][r]-n),l<a&&(a=l,o=e[i]));return o}function qz(e,t){for(var n=(e[0].strokeWidth||1)**2,r=e.length,i,a,o;--r>=0;)if(e[r].defined!==!1&&(i=e[r].x-t[0],a=e[r].y-t[1],o=i*i+a*a,o<n))return e[r];return null}function Uz(e,t){for(var n=e.length,r,i,a;--n>=0;)if(e[n].defined!==!1&&(r=e[n].x-t[0],i=e[n].y-t[1],a=r*r+i*i,r=e[n].size||1,a<r*r))return e[n];return null}function Um(e,t,n){function r(s,u){var c=u.mark.items;c.length&&s("d",t(null,c))}function i(s,u){var c=u.items;return c.length===0?s:(t(Xl(s),c),Br(s,c[0]))}function a(s,u){s.beginPath(),t(s,u)}let o=Yl(a);function l(s,u,c,f,d,h){var p=u.items,m=u.bounds;return!p||!p.length||m&&!m.contains(d,h)?null:(c*=s.pixelRatio,f*=s.pixelRatio,o(s,p,c,f)?p[0]:null)}return{type:e,tag:"path",nested:!0,attr:r,bound:i,draw:Tz(a),pick:l,isect:Lm,tip:n}}var Wz=Um("area",Ez,jz);function Hz(e,t){var n=t.clip;e.save(),de(n)?(e.beginPath(),n(e),e.clip()):B_(e,t.group)}function B_(e,t){e.beginPath(),Sm(t)?Eo(e,t,0,0):e.rect(0,0,t.width||0,t.height||0),e.clip()}function I_(e){let t=Nn(e.strokeWidth,1);return e.strokeOffset==null?e.stroke&&t>.5&&t<1.5?.5-Math.abs(t-1):0:e.strokeOffset}function Gz(e,t){e("transform",P_(t))}function j_(e,t){let n=I_(t);e("d",Eo(null,t,n,n))}function Vz(e,t){e("class","background"),e("aria-hidden",!0),j_(e,t)}function Xz(e,t){e("class","foreground"),e("aria-hidden",!0),t.strokeForeground?j_(e,t):e("d","")}function Yz(e,t,n){e("clip-path",t.clip?Fm(n,t,t):null)}function Jz(e,t){if(!t.clip&&t.items){let n=t.items,r=n.length;for(let i=0;i<r;++i)e.union(n[i].bounds)}return(t.clip||t.width||t.height)&&!t.noBound&&e.add(0,0).add(t.width||0,t.height||0),Br(e,t),e.translate(t.x||0,t.y||0)}function Jl(e,t,n,r){let i=I_(t);e.beginPath(),Eo(e,t,(n||0)+i,(r||0)+i)}var Qz=Yl(Jl),Kz=Yl(Jl,!1),Zz=Yl(Jl,!0);function eN(e,t,n,r){Rn(t,i=>{let a=i.x||0,o=i.y||0,l=i.strokeForeground,s=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&s&&(Jl(e,i,a,o),Ao(e,i),i.fill&&yc(e,i,s)&&e.fill(),i.stroke&&!l&&Do(e,i,s)&&e.stroke()),e.save(),e.translate(a,o),i.clip&&B_(e,i),n&&n.translate(-a,-o),Rn(i,u=>{(u.marktype==="group"||r==null||r.includes(u.marktype))&&this.draw(e,u,n,r)}),n&&n.translate(a,o),e.restore(),l&&i.stroke&&s&&(Jl(e,i,a,o),Ao(e,i),Do(e,i,s)&&e.stroke())})}function tN(e,t,n,r,i,a){if(t.bounds&&!t.bounds.contains(i,a)||!t.items)return null;let o=n*e.pixelRatio,l=r*e.pixelRatio;return vc(t,s=>{let u,c,f,d=s.bounds;if(d&&!d.contains(i,a))return;c=s.x||0,f=s.y||0;let h=c+(s.width||0),p=f+(s.height||0),m=s.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(e.save(),e.translate(c,f),c=i-c,f=a-f,m&&Sm(s)&&!Zz(e,s,o,l))return e.restore(),null;let g=s.strokeForeground,y=t.interactive!==!1;return y&&g&&s.stroke&&Kz(e,s,o,l)?(e.restore(),s):(u=vc(s,v=>nN(v,c,f)?this.pick(v,n,r,c,f):null),!u&&y&&(s.fill||!g&&s.stroke)&&Qz(e,s,o,l)&&(u=s),e.restore(),u||null)})}function nN(e,t,n){return(e.interactive!==!1||e.marktype==="group")&&e.bounds&&e.bounds.contains(t,n)}var rN={type:"group",tag:"g",nested:!1,attr:Gz,bound:Jz,draw:eN,pick:tN,isect:z_,content:Yz,background:Vz,foreground:Xz},Ql={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function Wm(e,t){var n=e.image;return(!n||e.url&&e.url!==n.url)&&(n={complete:!1,width:0,height:0},t.loadImage(e.url).then(r=>{e.image=r,e.image.url=e.url})),n}function Hm(e,t){return e.width==null?!t||!t.width?0:e.aspect!==!1&&e.height?e.height*t.width/t.height:t.width:e.width}function Gm(e,t){return e.height==null?!t||!t.height?0:e.aspect!==!1&&e.width?e.width*t.height/t.width:t.height:e.height}function xc(e,t){return e==="center"?t/2:e==="right"?t:0}function wc(e,t){return e==="middle"?t/2:e==="bottom"?t:0}function iN(e,t,n){let r=Wm(t,n),i=Hm(t,r),a=Gm(t,r),o=(t.x||0)-xc(t.align,i),l=(t.y||0)-wc(t.baseline,a);e("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",Ql["xmlns:xlink"],"xlink:href"),e("transform",ma(o,l)),e("width",i),e("height",a),e("preserveAspectRatio",t.aspect===!1?"none":"xMidYMid")}function aN(e,t){let n=t.image,r=Hm(t,n),i=Gm(t,n),a=(t.x||0)-xc(t.align,r),o=(t.y||0)-wc(t.baseline,i);return e.set(a,o,a+r,o+i)}function oN(e,t,n){Rn(t,r=>{if(n&&!n.intersects(r.bounds))return;let i=Wm(r,this),a=Hm(r,i),o=Gm(r,i);if(a===0||o===0)return;let l=(r.x||0)-xc(r.align,a),s=(r.y||0)-wc(r.baseline,o),u,c,f;r.aspect!==!1&&(u=i.width/i.height,c=r.width/r.height,u===u&&c===c&&u!==c&&(c<u?(f=a/u,s+=(o-f)/2,o=f):(f=o*u,l+=(a-f)/2,a=f))),(i.complete||i.toDataURL)&&(Ao(e,r),e.globalAlpha=r.opacity??1,e.imageSmoothingEnabled=r.smooth!==!1,e.drawImage(i,l,s,a,o))})}var lN={type:"image",tag:"image",nested:!1,attr:iN,bound:aN,draw:oN,pick:bc(),isect:gn,get:Wm,xOffset:xc,yOffset:wc},sN=Um("line",$z,qz);function uN(e,t){var n=t.scaleX||1,r=t.scaleY||1;(n!==1||r!==1)&&e("vector-effect","non-scaling-stroke"),e("transform",Bz(t)),e("d",t.path)}function _c(e,t){var n=t.path;if(n==null)return!0;var r=t.x||0,i=t.y||0,a=t.scaleX||1,o=t.scaleY||1,l=(t.angle||0)*ki,s=t.pathCache;(!s||s.path!==n)&&((t.pathCache=s=_o(n)).path=n),l&&e.rotate&&e.translate?(e.translate(r,i),e.rotate(l),Ul(e,s,0,0,a,o),e.rotate(-l),e.translate(-r,-i)):Ul(e,s,r,i,a,o)}function cN(e,t){return _c(Xl(e,t.angle),t)?e.set(0,0,0,0):Br(e,t,!0)}var fN={type:"path",tag:"path",nested:!1,attr:uN,bound:cN,draw:Bm(_c),pick:Im(_c),isect:Tm(_c)};function dN(e,t){e("d",Eo(null,t))}function hN(e,t){var n,r;return Br(e.set(n=t.x||0,r=t.y||0,n+t.width||0,r+t.height||0),t)}function q_(e,t){e.beginPath(),Eo(e,t)}var pN={type:"rect",tag:"path",nested:!1,attr:dN,bound:hN,draw:Bm(q_),pick:Im(q_),isect:z_};function mN(e,t){e("transform",P_(t)),e("x2",t.x2==null?0:t.x2-(t.x||0)),e("y2",t.y2==null?0:t.y2-(t.y||0))}function gN(e,t){var n,r;return Br(e.set(n=t.x||0,r=t.y||0,t.x2==null?n:t.x2,t.y2==null?r:t.y2),t)}function U_(e,t,n){var r,i,a,o;return t.stroke&&Do(e,t,n)?(r=t.x||0,i=t.y||0,a=t.x2==null?r:t.x2,o=t.y2==null?i:t.y2,e.beginPath(),e.moveTo(r,i),e.lineTo(a,o),!0):!1}function yN(e,t,n){Rn(t,r=>{if(!(n&&!n.intersects(r.bounds))){var i=r.opacity==null?1:r.opacity;i&&U_(e,r,i)&&(Ao(e,r),e.stroke())}})}function vN(e,t,n,r){return e.isPointInStroke?U_(e,t,1)&&e.isPointInStroke(n,r):!1}var bN={type:"rule",tag:"line",nested:!1,attr:mN,bound:gN,draw:yN,pick:bc(vN),isect:N_},xN=qm("shape",Az),wN=qm("symbol",Dz,Lm),W_=jx(),rn={height:dr,measureWidth:Vm,estimateWidth:kc,width:kc,canvas:H_};H_(!0);function H_(e){rn.width=e&&Ai?Vm:kc}function kc(e,t){return G_(Si(e,t),dr(e))}function G_(e,t){return~~(.8*e.length*t)}function Vm(e,t){return dr(e)<=0||!(t=Si(e,t))?0:V_(t,Ec(e))}function V_(e,t){let n=`(${t}) ${e}`,r=W_.get(n);return r===void 0&&(Ai.font=t,r=Ai.measureText(e).width,W_.set(n,r)),r}function dr(e){return e.fontSize==null?11:+e.fontSize||0}function Di(e){return e.lineHeight==null?dr(e)+2:e.lineHeight}function _N(e){return N(e)?e.length>1?e:e[0]:e}function Kl(e){return _N(e.lineBreak&&e.text&&!N(e.text)?e.text.split(e.lineBreak):e.text)}function Xm(e){let t=Kl(e);return(N(t)?t.length-1:0)*Di(e)}function Si(e,t){let n=t==null?"":(t+"").trim();return e.limit>0&&n.length?EN(e,n):n}function kN(e){if(rn.width===Vm){let t=Ec(e);return n=>V_(n,t)}else if(rn.width===kc){let t=dr(e);return n=>G_(n,t)}else return t=>rn.width(e,t)}function EN(e,t){var n=+e.limit,r=kN(e);if(r(t)<n)return t;var i=e.ellipsis||"\u2026",a=e.dir==="rtl",o=0,l=t.length,s;if(n-=r(i),a){for(;o<l;)s=o+l>>>1,r(t.slice(s))>n?o=s+1:l=s;return i+t.slice(o)}else{for(;o<l;)s=1+(o+l>>>1),r(t.slice(0,s))<n?o=s:l=s-1;return t.slice(0,o)+i}}function Zl(e,t){var n=e.font;return(t&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function Ec(e,t){return(e.fontStyle?e.fontStyle+" ":"")+(e.fontVariant?e.fontVariant+" ":"")+(e.fontWeight?e.fontWeight+" ":"")+dr(e)+"px "+Zl(e,t)}function Ym(e){var t=e.baseline,n=dr(e);return Math.round(t==="top"?.79*n:t==="middle"?.3*n:t==="bottom"?-.21*n:t==="line-top"?.29*n+.5*Di(e):t==="line-bottom"?.29*n-.5*Di(e):0)}var $N={left:"start",center:"middle",right:"end"},es=new Qe;function $c(e){var t=e.x||0,n=e.y||0,r=e.radius||0,i;return r&&(i=(e.theta||0)-fa,t+=r*Math.cos(i),n+=r*Math.sin(i)),es.x1=t,es.y1=n,es}function AN(e,t){var n=t.dx||0,r=(t.dy||0)+Ym(t),i=$c(t),a=i.x1,o=i.y1,l=t.angle||0,s;e("text-anchor",$N[t.align]||"start"),l?(s=ma(a,o)+" "+jm(l),(n||r)&&(s+=" "+ma(n,r))):s=ma(a+n,o+r),e("transform",s)}function Jm(e,t,n){var r=rn.height(t),i=t.align,a=$c(t),o=a.x1,l=a.y1,s=t.dx||0,u=(t.dy||0)+Ym(t)-Math.round(.8*r),c=Kl(t),f;if(N(c)?(r+=Di(t)*(c.length-1),f=c.reduce((d,h)=>Math.max(d,rn.width(t,h)),0)):f=rn.width(t,c),i==="center"?s-=f/2:i==="right"&&(s-=f),e.set(s+=o,u+=l,s+f,u+r),t.angle&&!n)e.rotate(t.angle*ki,o,l);else if(n===2)return e.rotatedPoints(t.angle*ki,o,l);return e}function DN(e,t,n){Rn(t,r=>{var i=r.opacity==null?1:r.opacity,a,o,l,s,u,c,f;if(!(n&&!n.intersects(r.bounds)||i===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(e.font=Ec(r),e.textAlign=r.align||"left",a=$c(r),o=a.x1,l=a.y1,r.angle&&(e.save(),e.translate(o,l),e.rotate(r.angle*ki),o=l=0),o+=r.dx||0,l+=(r.dy||0)+Ym(r),c=Kl(r),Ao(e,r),N(c))for(u=Di(r),s=0;s<c.length;++s)f=Si(r,c[s]),r.fill&&yc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Do(e,r,i)&&e.strokeText(f,o,l),l+=u;else f=Si(r,c),r.fill&&yc(e,r,i)&&e.fillText(f,o,l),r.stroke&&Do(e,r,i)&&e.strokeText(f,o,l);r.angle&&e.restore()}})}function SN(e,t,n,r,i,a){if(t.fontSize<=0)return!1;if(!t.angle)return!0;var o=$c(t),l=o.x1,s=o.y1,u=Jm(es,t,1),c=-t.angle*ki,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(l-f*l+d*s),p=d*i+f*a+(s-d*l-f*s);return u.contains(h,p)}function FN(e,t){let n=Jm(es,e,2);return $o(t,n[0],n[1],n[2],n[3])||$o(t,n[0],n[1],n[4],n[5])||$o(t,n[4],n[5],n[6],n[7])||$o(t,n[2],n[3],n[6],n[7])}var an={arc:Iz,area:Wz,group:rN,image:lN,line:sN,path:fN,rect:pN,rule:bN,shape:xN,symbol:wN,text:{type:"text",tag:"text",nested:!1,attr:AN,bound:Jm,draw:DN,pick:bc(SN),isect:FN},trail:Um("trail",Sz,Uz)};function Qm(e,t,n){var r=an[e.mark.marktype],i=t||r.bound;return r.nested&&(e=e.mark),i(e.bounds||(e.bounds=new Qe),e,n)}var X_={mark:null};function Y_(e,t,n){var r=an[e.marktype],i=r.bound,a=e.items,o=a&&a.length,l,s,u,c;if(r.nested)return o?u=a[0]:(X_.mark=e,u=X_),c=Qm(u,i,n),t=t&&t.union(c)||c,t;if(t=t||e.bounds&&e.bounds.clear()||new Qe,o)for(l=0,s=a.length;l<s;++l)t.union(Qm(a[l],i,n));return e.bounds=t}var CN="marktype.name.role.interactive.clip.items.zindex.x.y.width.height.align.baseline.fill.fillOpacity.opacity.blend.stroke.strokeOpacity.strokeWidth.strokeCap.strokeDash.strokeDashOffset.strokeForeground.strokeOffset.startAngle.endAngle.innerRadius.outerRadius.cornerRadius.padAngle.cornerRadiusTopLeft.cornerRadiusTopRight.cornerRadiusBottomLeft.cornerRadiusBottomRight.interpolate.tension.orient.defined.url.aspect.smooth.path.scaleX.scaleY.x2.y2.size.shape.text.angle.theta.radius.dir.dx.dy.ellipsis.limit.lineBreak.lineHeight.font.fontSize.fontWeight.fontStyle.fontVariant.description.aria.ariaRole.ariaRoleDescription".split(".");function J_(e,t){return JSON.stringify(e,CN,t)}function Q_(e){return K_(typeof e=="string"?JSON.parse(e):e)}function K_(e){var t=e.marktype,n=e.items,r,i,a;if(n)for(i=0,a=n.length;i<a;++i)r=t?"mark":"group",n[i][r]=e,n[i].zindex&&(n[i][r].zdirty=!0),(t||r)==="group"&&K_(n[i]);return t&&Y_(e),e}var Z_=class{constructor(e){arguments.length?this.root=Q_(e):(this.root=ek({marktype:"group",name:"root",role:"frame"}),this.root.items=[new fc(this.root)])}toJSON(e){return J_(this.root,e||0)}mark(e,t,n){t||(t=this.root.items[0]);let r=ek(e,t);return t.items[n]=r,r.zindex&&(r.group.zdirty=!0),r}};function ek(e,t){let n={bounds:new Qe,clip:!!e.clip,group:t,interactive:e.interactive!==!1,items:[],marktype:e.marktype,name:e.name||void 0,role:e.role||void 0,zindex:e.zindex||0};return e.aria!=null&&(n.aria=e.aria),e.description&&(n.description=e.description),n}function Fi(e,t,n){return!e&&typeof document<"u"&&document.createElement&&(e=document),e?n?e.createElementNS(n,t):e.createElement(t):null}function Km(e,t){t=t.toLowerCase();for(var n=e.childNodes,r=0,i=n.length;r<i;++r)if(n[r].tagName.toLowerCase()===t)return n[r]}function et(e,t,n,r){var i=e.childNodes[t],a;return(!i||i.tagName.toLowerCase()!==n.toLowerCase())&&(a=i||null,i=Fi(e.ownerDocument,n,r),e.insertBefore(i,a)),i}function _n(e,t){for(var n=e.childNodes,r=n.length;r>t;)e.removeChild(n[--r]);return e}function tk(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function Ac(e,t){let n=t.getBoundingClientRect();return[e.clientX-n.left-(t.clientLeft||0),e.clientY-n.top-(t.clientTop||0)]}function MN(e,t,n,r){var i=e&&e.mark,a,o;if(i&&(a=an[i.marktype]).tip){for(o=Ac(t,n),o[0]-=r[0],o[1]-=r[1];e=e.mark.group;)o[0]-=e.x||0,o[1]-=e.y||0;e=a.tip(i.items,o)}return e}var Zm=class{constructor(e,t){this._active=null,this._handlers={},this._loader=e||zu(),this._tooltip=t||ON}initialize(e,t,n){return this._el=e,this._obj=n||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(e){return arguments.length?(this._origin=e||[0,0],this):this._origin.slice()}scene(e){return arguments.length?(this._scene=e,this):this._scene}on(){}off(){}_handlerIndex(e,t,n){for(let r=e?e.length:0;--r>=0;)if(e[r].type===t&&(!n||e[r].handler===n))return r;return-1}handlers(e){let t=this._handlers,n=[];if(e)n.push(...t[this.eventName(e)]);else for(let r in t)n.push(...t[r]);return n}eventName(e){let t=e.indexOf(".");return t<0?e:e.slice(0,t)}handleHref(e,t,n){this._loader.sanitize(n,{context:"href"}).then(r=>{let i=new MouseEvent(e.type,e),a=Fi(null,"a");for(let o in r)a.setAttribute(o,r[o]);a.dispatchEvent(i)}).catch(()=>{})}handleTooltip(e,t,n){if(t&&t.tooltip!=null){t=MN(t,e,this.canvas(),this._origin);let r=n&&t&&t.tooltip||null;this._tooltip.call(this._obj,this,e,t,r)}}getItemBoundingClientRect(e){let t=this.canvas();if(!t)return;let n=t.getBoundingClientRect(),r=this._origin,i=e.bounds,a=i.width(),o=i.height(),l=i.x1+r[0]+n.left,s=i.y1+r[1]+n.top;for(;e.mark&&(e=e.mark.group);)l+=e.x||0,s+=e.y||0;return{x:l,y:s,width:a,height:o,left:l,top:s,right:l+a,bottom:s+o}}};function ON(e,t,n,r){e.element().setAttribute("title",r||"")}var ts=class{constructor(e){this._el=null,this._bgcolor=null,this._loader=new A_(e)}initialize(e,t,n,r,i){return this._el=e,this.resize(t,n,r,i)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(e){return arguments.length===0?this._bgcolor:(this._bgcolor=e,this)}resize(e,t,n,r){return this._width=e,this._height=t,this._origin=n||[0,0],this._scale=r||1,this}dirty(){}render(e,t){let n=this;return n._call=function(){n._render(e,t)},n._call(),n._call=null,n}_render(){}renderAsync(e,t){let n=this.render(e,t);return this._ready?this._ready.then(()=>n):Promise.resolve(n)}_load(e,t){var n=this,r=n._loader[e](t);if(!n._ready){let i=n._call;n._ready=n._loader.ready().then(a=>{a&&i(),n._ready=null})}return r}sanitizeURL(e){return this._load("sanitizeURL",e)}loadImage(e){return this._load("loadImage",e)}},zN="keydown",NN="keypress",RN="keyup",nk="dragenter",Dc="dragleave",rk="dragover",eg="pointerdown",TN="pointerup",Sc="pointermove",Fc="pointerout",ik="pointerover",tg="mousedown",LN="mouseup",ak="mousemove",Cc="mouseout",ok="mouseover",Mc="click",PN="dblclick",BN="wheel",lk="mousewheel",Oc="touchstart",zc="touchmove",Nc="touchend",IN=[zN,NN,RN,nk,Dc,rk,eg,TN,Sc,Fc,ik,tg,LN,ak,Cc,ok,Mc,PN,BN,lk,Oc,zc,Nc],ng=Sc,ns=Cc,rg=Mc,rs=class extends Zm{constructor(e,t){super(e,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=IN,this.pointermove=uk([Sc,ak],[ik,ok],[Fc,Cc]),this.dragover=uk([rk],[nk],[Dc]),this.pointerout=ck([Fc,Cc]),this.dragleave=ck([Dc])}initialize(e,t,n){return this._canvas=e&&Km(e,"canvas"),[Mc,tg,eg,Sc,Fc,Dc].forEach(r=>sk(this,r)),super.initialize(e,t,n)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(e){this.fire(lk,e)}pointerdown(e){this._down=this._active,this.fire(eg,e)}mousedown(e){this._down=this._active,this.fire(tg,e)}click(e){this._down===this._active&&(this.fire(Mc,e),this._down=null)}touchstart(e){this._touch=this.pickEvent(e.changedTouches[0]),this._first&&(this._first=(this._active=this._touch,!1)),this.fire(Oc,e,!0)}touchmove(e){this.fire(zc,e,!0)}touchend(e){this.fire(Nc,e,!0),this._touch=null}fire(e,t,n){let r=n?this._touch:this._active,i=this._handlers[e];if(t.vegaType=e,e===rg&&r&&r.href?this.handleHref(t,r,r.href):(e===ng||e===ns)&&this.handleTooltip(t,r,e!==ns),i)for(let a=0,o=i.length;a<o;++a)i[a].handler.call(this._obj,t,r)}on(e,t){let n=this.eventName(e),r=this._handlers;return this._handlerIndex(r[n],e,t)<0&&(sk(this,e),(r[n]||(r[n]=[])).push({type:e,handler:t})),this}off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&r.splice(i,1),this}pickEvent(e){let t=Ac(e,this._canvas),n=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-n[0],t[1]-n[1])}pick(e,t,n,r,i){let a=this.context();return an[e.marktype].pick.call(this,a,e,t,n,r,i)}},jN=e=>e===Oc||e===zc||e===Nc?[Oc,zc,Nc]:[e];function sk(e,t){jN(t).forEach(n=>qN(e,n))}function qN(e,t){let n=e.canvas();n&&!e._events[t]&&(e._events[t]=1,n.addEventListener(t,e[t]?r=>e[t](r):r=>e.fire(t,r)))}function is(e,t,n){t.forEach(r=>e.fire(r,n))}function uk(e,t,n){return function(r){let i=this._active,a=this.pickEvent(r);a===i?is(this,e,r):((!i||!i.exit)&&is(this,n,r),this._active=a,is(this,t,r),is(this,e,r))}}function ck(e){return function(t){is(this,e,t),this._active=null}}function UN(){return typeof window<"u"&&window.devicePixelRatio||1}function WN(e,t,n,r,i,a){let o=typeof HTMLElement<"u"&&e instanceof HTMLElement&&e.parentNode!=null,l=e.getContext("2d"),s=o?UN():i;for(let u in e.width=t*s,e.height=n*s,a)l[u]=a[u];return o&&s!==1&&(e.style.width=t+"px",e.style.height=n+"px"),l.pixelRatio=s,l.setTransform(s,0,0,s,s*r[0],s*r[1]),e}var Rc=class extends ts{constructor(e){super(e),this._options={},this._redraw=!1,this._dirty=new Qe,this._tempb=new Qe}initialize(e,t,n,r,i,a){return this._options=a||{},this._canvas=this._options.externalContext?null:xi(1,1,this._options.type),e&&this._canvas&&(_n(e,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(e,t,n,r,i)}resize(e,t,n,r){if(super.resize(e,t,n,r),this._canvas)WN(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{let i=this._options.externalContext;i||L("CanvasRenderer is missing a valid canvas or context"),i.scale(this._scale,this._scale),i.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(e){let t=this._tempb.clear().union(e.bounds),n=e.mark.group;for(;n;)t.translate(n.x||0,n.y||0),n=n.mark.group;this._dirty.union(t)}_render(e,t){let n=this.context(),r=this._origin,i=this._width,a=this._height,o=this._dirty,l=HN(r,i,a);n.save();let s=this._redraw||o.empty()?(this._redraw=!1,l.expand(1)):GN(n,l.intersect(o),r);return this.clear(-r[0],-r[1],i,a),this.draw(n,e,s,t),n.restore(),o.clear(),this}draw(e,t,n,r){if(t.marktype!=="group"&&r!=null&&!r.includes(t.marktype))return;let i=an[t.marktype];t.clip&&Hz(e,t),i.draw.call(this,e,t,n,r),t.clip&&e.restore()}clear(e,t,n,r){let i=this._options,a=this.context();i.type!=="pdf"&&!i.externalContext&&a.clearRect(e,t,n,r),this._bgcolor!=null&&(a.fillStyle=this._bgcolor,a.fillRect(e,t,n,r))}},HN=(e,t,n)=>new Qe().set(0,0,t,n).translate(-e[0],-e[1]);function GN(e,t,n){return t.expand(1).round(),e.pixelRatio%1&&t.scale(e.pixelRatio).round().scale(1/e.pixelRatio),t.translate(-(n[0]%1),-(n[1]%1)),e.beginPath(),e.rect(t.x1,t.y1,t.width(),t.height()),e.clip(),t}var fk=class extends Zm{constructor(e,t){super(e,t);let n=this;n._hrefHandler=ig(n,(r,i)=>{i&&i.href&&n.handleHref(r,i,i.href)}),n._tooltipHandler=ig(n,(r,i)=>{n.handleTooltip(r,i,r.type!==ns)})}initialize(e,t,n){let r=this._svg;return r&&(r.removeEventListener(rg,this._hrefHandler),r.removeEventListener(ng,this._tooltipHandler),r.removeEventListener(ns,this._tooltipHandler)),this._svg=r=e&&Km(e,"svg"),r&&(r.addEventListener(rg,this._hrefHandler),r.addEventListener(ng,this._tooltipHandler),r.addEventListener(ns,this._tooltipHandler)),super.initialize(e,t,n)}canvas(){return this._svg}on(e,t){let n=this.eventName(e),r=this._handlers;if(this._handlerIndex(r[n],e,t)<0){let i={type:e,handler:t,listener:ig(this,t)};(r[n]||(r[n]=[])).push(i),this._svg&&this._svg.addEventListener(n,i.listener)}return this}off(e,t){let n=this.eventName(e),r=this._handlers[n],i=this._handlerIndex(r,e,t);return i>=0&&(this._svg&&this._svg.removeEventListener(n,r[i].listener),r.splice(i,1)),this}},ig=(e,t)=>n=>{let r=n.target.__data__;r=Array.isArray(r)?r[0]:r,n.vegaType=n.type,t.call(e._obj,n,r)},dk="aria-hidden",ag="aria-label",og="role",lg="aria-roledescription",hk="graphics-object",sg="graphics-symbol",pk=(e,t,n)=>({[og]:e,[lg]:t,[ag]:n||void 0}),VN=lr(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),mk={axis:{desc:"axis",caption:JN},legend:{desc:"legend",caption:QN},"title-text":{desc:"title",caption:e=>`Title text '${bk(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${bk(e)}'`}},gk={ariaRole:og,ariaRoleDescription:lg,description:ag};function yk(e,t){let n=t.aria===!1;if(e(dk,n||void 0),n||t.description==null)for(let r in gk)e(gk[r],void 0);else{let r=t.mark.marktype;e(ag,t.description),e(og,t.ariaRole||(r==="group"?hk:sg)),e(lg,t.ariaRoleDescription||`${r} mark`)}}function vk(e){return e.aria===!1?{[dk]:!0}:VN[e.role]?null:mk[e.role]?YN(e,mk[e.role]):XN(e)}function XN(e){let t=e.marktype;return pk(t==="group"||t==="text"||e.items.some(n=>n.description!=null&&n.aria!==!1)?hk:sg,`${t} mark container`,e.description)}function YN(e,t){try{let n=e.items[0],r=t.caption||(()=>"");return pk(t.role||sg,t.desc,n.description||r(n))}catch{return null}}function bk(e){return Q(e.text).join(" ")}function JN(e){let t=e.datum,n=e.orient,r=t.title?xk(e):null,i=e.context,a=i.scales[t.scale].value,o=i.dataflow.locale(),l=a.type;return`${n==="left"||n==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${wo(l)?"discrete":l} scale with ${h_(o,a,e)}`}function QN(e){let t=e.datum,n=t.title?xk(e):null,r=`${t.type||""} legend`.trim(),i=t.scales,a=Object.keys(i),o=e.context,l=o.scales[i[a[0]]].value,s=o.dataflow.locale();return ZN(r)+(n?` titled '${n}'`:"")+` for ${KN(a)} with ${h_(s,l,e)}`}function xk(e){try{return Q(Ae(e.items).items[0].text).join(" ")}catch{return null}}function KN(e){return e=e.map(t=>t+(t==="fill"||t==="stroke"?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Ae(e)}function ZN(e){return e.length?e[0].toUpperCase()+e.slice(1):e}var wk=e=>(e+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),eR=e=>wk(e).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;");function ug(){let e="",t="",n="",r=[],i=()=>t=n="",a=s=>{t&&(e+=`${t}>${n}`,i()),r.push(s)},o=(s,u)=>(u!=null&&(t+=` ${s}="${eR(u)}"`),l),l={open(s,...u){a(s),t="<"+s;for(let c of u)for(let f in c)o(f,c[f]);return l},close(){let s=r.pop();return t?e+=t+(n?`>${n}</${s}>`:"/>"):e+=`</${s}>`,i(),l},attr:o,text:s=>(n+=wk(s),l),toString:()=>e};return l}var _k=e=>kk(ug(),e)+"";function kk(e,t){if(e.open(t.tagName),t.hasAttributes()){let n=t.attributes,r=n.length;for(let i=0;i<r;++i)e.attr(n[i].name,n[i].value)}if(t.hasChildNodes()){let n=t.childNodes;for(let r of n)r.nodeType===3?e.text(r.nodeValue):kk(e,r)}return e.close()}var Tc={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"},Lc={blend:"mix-blend-mode"},Ek={fill:"none","stroke-miterlimit":10},as=0,$k="http://www.w3.org/2000/xmlns/",tt=Ql.xmlns,cg=class extends ts{constructor(e){super(e),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(e,t,n,r,i){return this._defs={},this._clearDefs(),e&&(this._svg=et(e,0,"svg",tt),this._svg.setAttributeNS($k,"xmlns",tt),this._svg.setAttributeNS($k,"xmlns:xlink",Ql["xmlns:xlink"]),this._svg.setAttribute("version",Ql.version),this._svg.setAttribute("class","marks"),_n(e,1),this._root=et(this._svg,as,"g",tt),Ci(this._root,Ek),_n(this._svg,as+1)),this.background(this._bgcolor),super.initialize(e,t,n,r,i)}background(e){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",e),super.background(...arguments)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svg&&(Ci(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}),this._root.setAttribute("transform",`translate(${this._origin})`)),this._dirty=[],this}canvas(){return this._svg}svg(){let e=this._svg,t=this._bgcolor;if(!e)return null;let n;t&&(e.removeAttribute("style"),n=et(e,as,"rect",tt),Ci(n,{width:this._width,height:this._height,fill:t}));let r=_k(e);return t&&(e.removeChild(n),this._svg.style.setProperty("background-color",t)),r}_render(e,t){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,e,void 0,t),_n(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(e){e.dirty!==this._dirtyID&&(e.dirty=this._dirtyID,this._dirty.push(e))}isDirty(e){return this._dirtyAll||!e._svg||!e._svg.ownerSVGElement||e.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;let e=this._dirty;if(!e.length||!this._dirtyID)return!0;let t=++this._dirtyID,n,r,i,a,o,l,s;for(o=0,l=e.length;o<l;++o)if(n=e[o],r=n.mark,r.marktype!==i&&(i=r.marktype,a=an[i]),r.zdirty&&r.dirty!==t&&(this._dirtyAll=!1,Ak(n,t),r.items.forEach(u=>{u.dirty=t})),!r.zdirty){if(n.exit){a.nested&&r.items.length?(s=r.items[0],s._svg&&this._update(a,s._svg,s)):n._svg&&(s=n._svg.parentNode,s&&s.removeChild(n._svg)),n._svg=null;continue}n=a.nested?r.items[0]:n,n._update!==t&&(!n._svg||!n._svg.ownerSVGElement?(this._dirtyAll=!1,Ak(n,t)):this._update(a,n._svg,n),n._update=t)}return!this._dirtyAll}mark(e,t,n,r){if(!this.isDirty(t))return t._svg;let i=this._svg,a=t.marktype,o=an[a],l=t.interactive===!1?"none":null,s=o.tag==="g",u=Dk(t,e,n,"g",i);if(a!=="group"&&r!=null&&!r.includes(a))return _n(u,0),t._svg;u.setAttribute("class",tk(t));let c=vk(t);for(let p in c)Ft(u,p,c[p]);s||Ft(u,"pointer-events",l),Ft(u,"clip-path",t.clip?Fm(this,t,t.group):null);let f=null,d=0,h=p=>{let m=this.isDirty(p),g=Dk(p,u,f,o.tag,i);m&&(this._update(o,g,p),s&&rR(this,g,p,r)),f=g,++d};return o.nested?t.items.length&&h(t.items[0]):Rn(t,h),_n(u,d),u}_update(e,t,n){Ir=t,vt=t.__values__,yk(os,n),e.attr(os,n,this);let r=aR[e.type];r&&r.call(this,e,t,n),Ir&&this.style(Ir,n)}style(e,t){if(t!=null){for(let n in Tc){let r=n==="font"?Zl(t):t[n];if(r===vt[n])continue;let i=Tc[n];r==null?e.removeAttribute(i):(km(r)&&(r=m_(r,this._defs.gradient,Sk())),e.setAttribute(i,r+"")),vt[n]=r}for(let n in Lc)Pc(e,Lc[n],t[n])}}defs(){let e=this._svg,t=this._defs,n=t.el,r=0;for(let i in t.gradient)n||(t.el=n=et(e,as+1,"defs",tt)),r=tR(n,t.gradient[i],r);for(let i in t.clipping)n||(t.el=n=et(e,as+1,"defs",tt)),r=nR(n,t.clipping[i],r);n&&(r===0?(e.removeChild(n),t.el=null):_n(n,r))}_clearDefs(){let e=this._defs;e.gradient={},e.clipping={}}};function Ak(e,t){for(;e&&e.dirty!==t;e=e.mark.group)if(e.dirty=t,e.mark&&e.mark.dirty!==t)e.mark.dirty=t;else return}function tR(e,t,n){let r,i,a;if(t.gradient==="radial"){let o=et(e,n++,"pattern",tt);Ci(o,{id:lc+t.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=et(o,0,"rect",tt),Ci(o,{width:1,height:1,fill:`url(${Sk()}#${t.id})`}),e=et(e,n++,"radialGradient",tt),Ci(e,{id:t.id,fx:t.x1,fy:t.y1,fr:t.r1,cx:t.x2,cy:t.y2,r:t.r2})}else e=et(e,n++,"linearGradient",tt),Ci(e,{id:t.id,x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2});for(r=0,i=t.stops.length;r<i;++r)a=et(e,r,"stop",tt),a.setAttribute("offset",t.stops[r].offset),a.setAttribute("stop-color",t.stops[r].color);return _n(e,r),n}function nR(e,t,n){let r;return e=et(e,n,"clipPath",tt),e.setAttribute("id",t.id),t.path?(r=et(e,0,"path",tt),r.setAttribute("d",t.path)):(r=et(e,0,"rect",tt),Ci(r,{x:0,y:0,width:t.width,height:t.height})),_n(e,1),n+1}function rR(e,t,n,r){t=t.lastChild.previousSibling;let i,a=0;Rn(n,o=>{i=e.mark(t,o,i,r),++a}),_n(t,1+a)}function Dk(e,t,n,r,i){let a=e._svg,o;if(!a&&(o=t.ownerDocument,a=Fi(o,r,tt),e._svg=a,e.mark&&(a.__data__=e,a.__values__={fill:"default"},r==="g"))){let l=Fi(o,"path",tt);a.appendChild(l),l.__data__=e;let s=Fi(o,"g",tt);a.appendChild(s),s.__data__=e;let u=Fi(o,"path",tt);a.appendChild(u),u.__data__=e,u.__values__={fill:"default"}}return(a.ownerSVGElement!==i||iR(a,n))&&t.insertBefore(a,n?n.nextSibling:t.firstChild),a}function iR(e,t){return e.parentNode&&e.parentNode.childNodes.length>1&&e.previousSibling!=t}var Ir=null,vt=null,aR={group(e,t,n){let r=Ir=t.childNodes[2];vt=r.__values__,e.foreground(os,n,this),vt=t.__values__,Ir=t.childNodes[1],e.content(os,n,this);let i=Ir=t.childNodes[0];e.background(os,n,this);let a=n.mark.interactive===!1?"none":null;if(a!==vt.events&&(Ft(r,"pointer-events",a),Ft(i,"pointer-events",a),vt.events=a),n.strokeForeground&&n.stroke){let o=n.fill;Ft(r,"display",null),this.style(i,n),Ft(i,"stroke",null),o&&(n.fill=null),vt=r.__values__,this.style(r,n),o&&(n.fill=o),Ir=null}else Ft(r,"display","none")},image(e,t,n){n.smooth===!1?(Pc(t,"image-rendering","optimizeSpeed"),Pc(t,"image-rendering","pixelated")):Pc(t,"image-rendering",null)},text(e,t,n){let r=Kl(n),i,a,o,l;N(r)?(a=r.map(s=>Si(n,s)),i=a.join(`
4
- `),i!==vt.text&&(_n(t,0),o=t.ownerDocument,l=Di(n),a.forEach((s,u)=>{let c=Fi(o,"tspan",tt);c.__data__=n,c.textContent=s,u&&(c.setAttribute("x",0),c.setAttribute("dy",l)),t.appendChild(c)}),vt.text=i)):(a=Si(n,r),a!==vt.text&&(t.textContent=a,vt.text=a)),Ft(t,"font-family",Zl(n)),Ft(t,"font-size",dr(n)+"px"),Ft(t,"font-style",n.fontStyle),Ft(t,"font-variant",n.fontVariant),Ft(t,"font-weight",n.fontWeight)}};function os(e,t,n){t!==vt[e]&&(n?oR(Ir,e,t,n):Ft(Ir,e,t),vt[e]=t)}function Pc(e,t,n){n!==vt[t]&&(n==null?e.style.removeProperty(t):e.style.setProperty(t,n+""),vt[t]=n)}function Ci(e,t){for(let n in t)Ft(e,n,t[n])}function Ft(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function oR(e,t,n,r){n==null?e.removeAttributeNS(r,t):e.setAttributeNS(r,t,n)}function Sk(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}var Fk=class extends ts{constructor(e){super(e),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(e){let t=ug();t.open("svg",he({},Ql,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));let n=this._bgcolor;return n&&n!=="transparent"&&n!=="none"&&t.open("rect",{width:this._width,height:this._height,fill:n}).close(),t.open("g",Ek,{transform:"translate("+this._origin+")"}),this.mark(t,e),t.close(),this.defs(t),this._text=t.close()+"",this}mark(e,t){let n=an[t.marktype],r=n.tag,i=[yk,n.attr];e.open("g",{class:tk(t),"clip-path":t.clip?Fm(this,t,t.group):null},vk(t),{"pointer-events":r!=="g"&&t.interactive===!1?"none":null});let a=o=>{let l=this.href(o);if(l&&e.open("a",l),e.open(r,this.attr(t,o,i,r==="g"?null:r)),r==="text"){let s=Kl(o);if(N(s)){let u={x:0,dy:Di(o)};for(let c=0;c<s.length;++c)e.open("tspan",c?u:null).text(Si(o,s[c])).close()}else e.text(Si(o,s))}else if(r==="g"){let s=o.strokeForeground,u=o.fill,c=o.stroke;s&&c&&(o.stroke=null),e.open("path",this.attr(t,o,n.background,"bgrect")).close(),e.open("g",this.attr(t,o,n.content)),Rn(o,f=>this.mark(e,f)),e.close(),s&&c?(u&&(o.fill=null),o.stroke=c,e.open("path",this.attr(t,o,n.foreground,"bgrect")).close(),u&&(o.fill=u)):e.open("path",this.attr(t,o,n.foreground,"bgfore")).close()}e.close(),l&&e.close()};return n.nested?t.items&&t.items.length&&a(t.items[0]):Rn(t,a),e.close()}href(e){let t=e.href,n;if(t){if(n=this._hrefs&&this._hrefs[t])return n;this.sanitizeURL(t).then(r=>{r["xlink:href"]=r.href,r.href=null,(this._hrefs||(this._hrefs={}))[t]=r})}return null}attr(e,t,n,r){let i={},a=(o,l,s,u)=>{i[u||o]=l};return Array.isArray(n)?n.forEach(o=>o(a,t,this)):n(a,t,this),r&&lR(i,t,e,r,this._defs),i}defs(e){let t=this._defs.gradient,n=this._defs.clipping;if(Object.keys(t).length+Object.keys(n).length!==0){for(let r in e.open("defs"),t){let i=t[r],a=i.stops;i.gradient==="radial"?(e.open("pattern",{id:lc+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),e.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close(),e.close(),e.open("radialGradient",{id:r,fx:i.x1,fy:i.y1,fr:i.r1,cx:i.x2,cy:i.y2,r:i.r2})):e.open("linearGradient",{id:r,x1:i.x1,x2:i.x2,y1:i.y1,y2:i.y2});for(let o=0;o<a.length;++o)e.open("stop",{offset:a[o].offset,"stop-color":a[o].color}).close();e.close()}for(let r in n){let i=n[r];e.open("clipPath",{id:r}),i.path?e.open("path",{d:i.path}).close():e.open("rect",{x:0,y:0,width:i.width,height:i.height}).close(),e.close()}e.close()}}};function lR(e,t,n,r,i){let a;if(t==null||(r==="bgrect"&&n.interactive===!1&&(e["pointer-events"]="none"),r==="bgfore"&&(n.interactive===!1&&(e["pointer-events"]="none"),e.display="none",t.fill!==null)))return e;for(let o in r==="image"&&t.smooth===!1&&(a=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),r==="text"&&(e["font-family"]=Zl(t),e["font-size"]=dr(t)+"px",e["font-style"]=t.fontStyle,e["font-variant"]=t.fontVariant,e["font-weight"]=t.fontWeight),Tc){let l=t[o],s=Tc[o];l==="transparent"&&(s==="fill"||s==="stroke")||l!=null&&(km(l)&&(l=m_(l,i.gradient,"")),e[s]=l)}for(let o in Lc){let l=t[o];l!=null&&(a||(a=[]),a.push(`${Lc[o]}: ${l};`))}return a&&(e.style=a.join(" ")),e}var Tn={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};function sR(e){Tn.svgMarkTypes=e.svgMarkTypes??["text"],Tn.svgOnTop=e.svgOnTop??!0,Tn.debug=e.debug??!1}var fg=class extends ts{constructor(e){super(e),this._svgRenderer=new cg(e),this._canvasRenderer=new Rc(e)}initialize(e,t,n,r,i){this._root_el=et(e,0,"div");let a=et(this._root_el,0,"div"),o=et(this._root_el,1,"div");return this._root_el.style.position="relative",Tn.debug||(a.style.height="100%",o.style.position="absolute",o.style.top="0",o.style.left="0",o.style.height="100%",o.style.width="100%"),this._svgEl=Tn.svgOnTop?o:a,this._canvasEl=Tn.svgOnTop?a:o,this._svgEl.style.pointerEvents="none",this._canvasRenderer.initialize(this._canvasEl,t,n,r,i),this._svgRenderer.initialize(this._svgEl,t,n,r,i),super.initialize(e,t,n,r,i)}dirty(e){return Tn.svgMarkTypes.includes(e.mark.marktype)?this._svgRenderer.dirty(e):this._canvasRenderer.dirty(e),this}_render(e,t){let n=(t??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(r=>!Tn.svgMarkTypes.includes(r));this._svgRenderer.render(e,Tn.svgMarkTypes),this._canvasRenderer.render(e,n)}resize(e,t,n,r){return super.resize(e,t,n,r),this._svgRenderer.resize(e,t,n,r),this._canvasRenderer.resize(e,t,n,r),this}background(e){return Tn.svgOnTop?this._canvasRenderer.background(e):this._svgRenderer.background(e),this}},Ck=class extends rs{constructor(e,t){super(e,t)}initialize(e,t,n){let r=et(et(e,0,"div"),Tn.svgOnTop?0:1,"div");return super.initialize(r,t,n)}},Mk="canvas",Ok="hybrid",zk="png",Nk="svg",Rk="none",Mi={Canvas:Mk,PNG:zk,SVG:Nk,Hybrid:Ok,None:Rk},ga={};ga[Mk]=ga[zk]={renderer:Rc,headless:Rc,handler:rs},ga[Nk]={renderer:cg,headless:Fk,handler:fk},ga[Ok]={renderer:fg,headless:fg,handler:Ck},ga[Rk]={};function Bc(e,t){return e=String(e||"").toLowerCase(),arguments.length>1?(ga[e]=t,this):ga[e]}function Tk(e,t,n){let r=[],i=new Qe().union(t),a=e.marktype;return a?Lk(e,i,n,r):a==="group"?Pk(e,i,n,r):L("Intersect scene must be mark node or group item.")}function Lk(e,t,n,r){if(uR(e,t,n)){let i=e.items,a=e.marktype,o=i.length,l=0;if(a==="group")for(;l<o;++l)Pk(i[l],t,n,r);else for(let s=an[a].isect;l<o;++l){let u=i[l];Bk(u,t,s)&&r.push(u)}}return r}function uR(e,t,n){return e.bounds&&t.intersects(e.bounds)&&(e.marktype==="group"||e.interactive!==!1&&(!n||n(e)))}function Pk(e,t,n,r){n&&n(e.mark)&&Bk(e,t,an.group.isect)&&r.push(e);let i=e.items,a=i&&i.length;if(a){let o=e.x||0,l=e.y||0;t.translate(-o,-l);for(let s=0;s<a;++s)Lk(i[s],t,n,r);t.translate(o,l)}return r}function Bk(e,t,n){let r=e.bounds;return t.encloses(r)||t.intersects(r)&&n(e,t)}var dg=new Qe;function Ik(e){let t=e.clip;if(de(t))t(Xl(dg.clear()));else if(t)dg.set(0,0,e.group.width,e.group.height);else return;e.bounds.intersect(dg)}var cR=1e-9;function hg(e,t,n){return e===t?!0:n==="path"?jk(e,t):e instanceof Date&&t instanceof Date?+e==+t:we(e)&&we(t)?Math.abs(e-t)<=cR:!e||!t||!J(e)&&!J(t)?e==t:fR(e,t)}function jk(e,t){return hg(_o(e),_o(t))}function fR(e,t){var n=Object.keys(e),r=Object.keys(t),i,a;if(n.length!==r.length)return!1;for(n.sort(),r.sort(),a=n.length-1;a>=0;a--)if(n[a]!=r[a])return!1;for(a=n.length-1;a>=0;a--)if(i=n[a],!hg(e[i],t[i],i))return!1;return typeof e==typeof t}function dR(){Fz(),L7()}var hR=Gt({bound:()=>Qk,identifier:()=>_g,mark:()=>Zk,overlap:()=>eE,render:()=>oE,viewlayout:()=>dE}),So="top",Ln="left",Pn="right",Oi="bottom",pR="top-left",mR="top-right",gR="bottom-left",yR="bottom-right",pg="start",mg="middle",Ct="end",vR="x",bR="y",Ic="group",gg="axis",yg="title",xR="frame",wR="scope",vg="legend",qk="row-header",Uk="row-footer",Wk="row-title",Hk="column-header",Gk="column-footer",Vk="column-title",_R="padding",kR="symbol",Xk="fit",Yk="fit-x",Jk="fit-y",ER="pad",bg="none",jc="all",xg="each",wg="flush",zi="column",Ni="row";function Qk(e){O.call(this,null,e)}G(Qk,O,{transform(e,t){let n=t.dataflow,r=e.mark,i=r.marktype,a=an[i],o=a.bound,l=r.bounds,s;if(a.nested)r.items.length&&n.dirty(r.items[0]),l=qc(r,o),r.items.forEach(u=>{u.bounds.clear().union(l)});else if(i===Ic||e.modified())switch(t.visit(t.MOD,u=>n.dirty(u)),l.clear(),r.items.forEach(u=>l.union(qc(u,o))),r.role){case gg:case vg:case yg:t.reflow()}else s=t.changed(t.REM),t.visit(t.ADD,u=>{l.union(qc(u,o))}),t.visit(t.MOD,u=>{s||(s=l.alignsWith(u.bounds)),n.dirty(u),l.union(qc(u,o))}),s&&(l.clear(),r.items.forEach(u=>l.union(u.bounds)));return Ik(r),t.modifies("bounds")}});function qc(e,t,n){return t(e.bounds.clear(),e,n)}var Kk=":vega_identifier:";function _g(e){O.call(this,0,e)}_g.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},G(_g,O,{transform(e,t){let n=$R(t.dataflow),r=e.as,i=n.value;return t.visit(t.ADD,a=>a[r]=a[r]||++i),n.set(this.value=i),t}});function $R(e){return e._signals[Kk]||(e._signals[Kk]=e.add(0))}function Zk(e){O.call(this,null,e)}G(Zk,O,{transform(e,t){let n=this.value;n||(n=t.dataflow.scenegraph().mark(e.markdef,AR(e),e.index),n.group.context=e.context,e.context.group||(e.context.group=n.group),n.source=this.source,n.clip=e.clip,n.interactive=e.interactive,this.value=n);let r=n.marktype===Ic?fc:cc;return t.visit(t.ADD,i=>r.call(i,n)),(e.modified("clip")||e.modified("interactive"))&&(n.clip=e.clip,n.interactive=!!e.interactive,n.zdirty=!0,t.reflow()),n.items=t.source,t}});function AR(e){let t=e.groups,n=e.parent;return t&&t.size===1?t.get(Object.keys(t.object)[0]):t&&n?t.lookup(n):null}function eE(e){O.call(this,null,e)}var tE={parity:e=>e.filter((t,n)=>n%2?t.opacity=0:1),greedy:(e,t)=>{let n;return e.filter((r,i)=>!i||!nE(n.bounds,r.bounds,t)?(n=r,1):r.opacity=0)}},nE=(e,t,n)=>n>Math.max(t.x1-e.x2,e.x1-t.x2,t.y1-e.y2,e.y1-t.y2),rE=(e,t)=>{for(var n=1,r=e.length,i=e[0].bounds,a;n<r;i=a,++n)if(nE(i,a=e[n].bounds,t))return!0},DR=e=>{let t=e.bounds;return t.width()>1&&t.height()>1},SR=(e,t,n)=>{var r=e.range(),i=new Qe;return t===So||t===Oi?i.set(r[0],-1/0,r[1],1/0):i.set(-1/0,r[0],1/0,r[1]),i.expand(n||1),a=>i.encloses(a.bounds)},iE=e=>(e.forEach(t=>t.opacity=1),e),aE=(e,t)=>e.reflow(t.modified()).modifies("opacity");G(eE,O,{transform(e,t){let n=tE[e.method]||tE.parity,r=e.separation||0,i=t.materialize(t.SOURCE).source,a,o;if(!i||!i.length)return;if(!e.method)return e.modified("method")&&(iE(i),t=aE(t,e)),t;if(i=i.filter(DR),!i.length)return;if(e.sort&&(i=i.slice().sort(e.sort)),a=iE(i),t=aE(t,e),a.length>=3&&rE(a,r)){do a=n(a,r);while(a.length>=3&&rE(a,r));a.length<3&&!Ae(i).opacity&&(a.length>1&&(Ae(a).opacity=0),Ae(i).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(o=SR(e.boundScale,e.boundOrient,+e.boundTolerance),i.forEach(s=>{o(s)||(s.opacity=0)}));let l=a[0].mark.bounds.clear();return i.forEach(s=>{s.opacity&&l.union(s.bounds)}),t}});function oE(e){O.call(this,null,e)}G(oE,O,{transform(e,t){let n=t.dataflow;if(t.visit(t.ALL,r=>n.dirty(r)),t.fields&&t.fields.zindex){let r=t.source&&t.source[0];r&&(r.mark.zdirty=!0)}}});var bt=new Qe;function Fo(e,t,n){return e[t]===n?0:(e[t]=n,1)}function FR(e){var t=e.items[0].orient;return t===Ln||t===Pn}function CR(e){let t=+e.grid;return[e.ticks?t++:-1,e.labels?t++:-1,t+ +e.domain]}function MR(e,t,n,r){var i=t.items[0],a=i.datum,o=i.translate==null?.5:i.translate,l=i.orient,s=CR(a),u=i.range,c=i.offset,f=i.position,d=i.minExtent,h=i.maxExtent,p=a.title&&i.items[s[2]].items[0],m=i.titlePadding,g=i.bounds,y=p&&Xm(p),v=0,b=0,w,_;switch(bt.clear().union(g),g.clear(),(w=s[0])>-1&&g.union(i.items[w].bounds),(w=s[1])>-1&&g.union(i.items[w].bounds),l){case So:v=f||0,b=-c,_=Math.max(d,Math.min(h,-g.y1)),g.add(0,-_).add(u,0),p&&Uc(e,p,_,m,y,0,-1,g);break;case Ln:v=-c,b=f||0,_=Math.max(d,Math.min(h,-g.x1)),g.add(-_,0).add(0,u),p&&Uc(e,p,_,m,y,1,-1,g);break;case Pn:v=n+c,b=f||0,_=Math.max(d,Math.min(h,g.x2)),g.add(0,0).add(_,u),p&&Uc(e,p,_,m,y,1,1,g);break;case Oi:v=f||0,b=r+c,_=Math.max(d,Math.min(h,g.y2)),g.add(0,0).add(u,_),p&&Uc(e,p,_,m,0,0,1,g);break;default:v=i.x,b=i.y}return Br(g.translate(v,b),i),Fo(i,"x",v+o)|Fo(i,"y",b+o)&&(i.bounds=bt,e.dirty(i),i.bounds=g,e.dirty(i)),i.mark.bounds.clear().union(g)}function Uc(e,t,n,r,i,a,o,l){let s=t.bounds;if(t.auto){let u=o*(n+i+r),c=0,f=0;e.dirty(t),a?c=(t.x||0)-(t.x=u):f=(t.y||0)-(t.y=u),t.mark.bounds.clear().union(s.translate(-c,-f)),e.dirty(t)}l.union(s)}var lE=(e,t)=>Math.floor(Math.min(e,t)),sE=(e,t)=>Math.ceil(Math.max(e,t));function OR(e){var t=e.items,n=t.length,r=0,i,a;let o={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;r<n;++r)if(i=t[r],a=i.items,i.marktype===Ic)switch(i.role){case gg:case vg:case yg:break;case qk:o.rowheaders.push(...a);break;case Uk:o.rowfooters.push(...a);break;case Hk:o.colheaders.push(...a);break;case Gk:o.colfooters.push(...a);break;case Wk:o.rowtitle=a[0];break;case Vk:o.coltitle=a[0];break;default:o.marks.push(...a)}return o}function zR(e){return new Qe().set(0,0,e.width||0,e.height||0)}function NR(e){let t=e.bounds.clone();return t.empty()?t.set(0,0,0,0):t.translate(-(e.x||0),-(e.y||0))}function Le(e,t,n){return(J(e)?e[t]:e)??(n===void 0?0:n)}function uE(e){return e<0?Math.ceil(-e):0}function cE(e,t,n){var r=!n.nodirty,i=n.bounds===wg?zR:NR,a=bt.set(0,0,0,0),o=Le(n.align,zi),l=Le(n.align,Ni),s=Le(n.padding,zi),u=Le(n.padding,Ni),c=n.columns||t.length,f=c<=0?1:Math.ceil(t.length/c),d=t.length,h=Array(d),p=Array(c),m=0,g=Array(d),y=Array(f),v=0,b=Array(d),w=Array(d),_=Array(d),k,x,E,$,D,F,T,S,M,A,C;for(x=0;x<c;++x)p[x]=0;for(x=0;x<f;++x)y[x]=0;for(x=0;x<d;++x)F=t[x],D=_[x]=i(F),F.x=F.x||0,b[x]=0,F.y=F.y||0,w[x]=0,E=x%c,$=~~(x/c),m=Math.max(m,T=Math.ceil(D.x2)),v=Math.max(v,S=Math.ceil(D.y2)),p[E]=Math.max(p[E],T),y[$]=Math.max(y[$],S),h[x]=s+uE(D.x1),g[x]=u+uE(D.y1),r&&e.dirty(t[x]);for(x=0;x<d;++x)x%c===0&&(h[x]=0),x<c&&(g[x]=0);if(o===xg)for(E=1;E<c;++E){for(C=0,x=E;x<d;x+=c)C<h[x]&&(C=h[x]);for(x=E;x<d;x+=c)h[x]=C+p[E-1]}else if(o===jc){for(C=0,x=0;x<d;++x)x%c&&C<h[x]&&(C=h[x]);for(x=0;x<d;++x)x%c&&(h[x]=C+m)}else for(o=!1,E=1;E<c;++E)for(x=E;x<d;x+=c)h[x]+=p[E-1];if(l===xg)for($=1;$<f;++$){for(C=0,x=$*c,k=x+c;x<k;++x)C<g[x]&&(C=g[x]);for(x=$*c;x<k;++x)g[x]=C+y[$-1]}else if(l===jc){for(C=0,x=c;x<d;++x)C<g[x]&&(C=g[x]);for(x=c;x<d;++x)g[x]=C+v}else for(l=!1,$=1;$<f;++$)for(x=$*c,k=x+c;x<k;++x)g[x]+=y[$-1];for(M=0,x=0;x<d;++x)M=h[x]+(x%c?M:0),b[x]+=M-t[x].x;for(E=0;E<c;++E)for(A=0,x=E;x<d;x+=c)A+=g[x],w[x]+=A-t[x].y;if(o&&Le(n.center,zi)&&f>1)for(x=0;x<d;++x)D=o===jc?m:p[x%c],M=D-_[x].x2-t[x].x-b[x],M>0&&(b[x]+=M/2);if(l&&Le(n.center,Ni)&&c!==1)for(x=0;x<d;++x)D=l===jc?v:y[~~(x/c)],A=D-_[x].y2-t[x].y-w[x],A>0&&(w[x]+=A/2);for(x=0;x<d;++x)a.union(_[x].translate(b[x],w[x]));switch(M=Le(n.anchor,vR),A=Le(n.anchor,bR),Le(n.anchor,zi)){case Ct:M-=a.width();break;case mg:M-=a.width()/2}switch(Le(n.anchor,Ni)){case Ct:A-=a.height();break;case mg:A-=a.height()/2}for(M=Math.round(M),A=Math.round(A),a.clear(),x=0;x<d;++x)t[x].mark.bounds.clear();for(x=0;x<d;++x)F=t[x],F.x+=b[x]+=M,F.y+=w[x]+=A,a.union(F.mark.bounds.union(F.bounds.translate(b[x],w[x]))),r&&e.dirty(F);return a}function RR(e,t,n){var r=OR(t),i=r.marks,a=n.bounds===wg?TR:LR,o=n.offset,l=n.columns||i.length,s=l<=0?1:Math.ceil(i.length/l),u=s*l,c,f,d,h,p,m,g;let y=cE(e,i,n);y.empty()&&y.set(0,0,0,0),r.rowheaders&&(m=Le(n.headerBand,Ni,null),c=Wc(e,r.rowheaders,i,l,s,-Le(o,"rowHeader"),lE,0,a,"x1",0,l,1,m)),r.colheaders&&(m=Le(n.headerBand,zi,null),f=Wc(e,r.colheaders,i,l,l,-Le(o,"columnHeader"),lE,1,a,"y1",0,1,l,m)),r.rowfooters&&(m=Le(n.footerBand,Ni,null),d=Wc(e,r.rowfooters,i,l,s,Le(o,"rowFooter"),sE,0,a,"x2",l-1,l,1,m)),r.colfooters&&(m=Le(n.footerBand,zi,null),h=Wc(e,r.colfooters,i,l,l,Le(o,"columnFooter"),sE,1,a,"y2",u-l,1,l,m)),r.rowtitle&&(p=Le(n.titleAnchor,Ni),g=Le(o,"rowTitle"),g=p===Ct?d+g:c-g,m=Le(n.titleBand,Ni,.5),fE(e,r.rowtitle,g,0,y,m)),r.coltitle&&(p=Le(n.titleAnchor,zi),g=Le(o,"columnTitle"),g=p===Ct?h+g:f-g,m=Le(n.titleBand,zi,.5),fE(e,r.coltitle,g,1,y,m))}function TR(e,t){return t==="x1"?e.x||0:t==="y1"?e.y||0:t==="x2"?(e.x||0)+(e.width||0):t==="y2"?(e.y||0)+(e.height||0):void 0}function LR(e,t){return e.bounds[t]}function Wc(e,t,n,r,i,a,o,l,s,u,c,f,d,h){var p=n.length,m=0,g=0,y,v,b,w,_,k,x,E,$;if(!p)return m;for(y=c;y<p;y+=f)n[y]&&(m=o(m,s(n[y],u)));if(!t.length)return m;for(t.length>i&&(e.warn("Grid headers exceed limit: "+i),t=t.slice(0,i)),m+=a,v=0,w=t.length;v<w;++v)e.dirty(t[v]),t[v].mark.bounds.clear();for(y=c,v=0,w=t.length;v<w;++v,y+=f){for(k=t[v],_=k.mark.bounds,b=y;b>=0&&(x=n[b])==null;b-=d);l?(E=h==null?x.x:Math.round(x.bounds.x1+h*x.bounds.width()),$=m):(E=m,$=h==null?x.y:Math.round(x.bounds.y1+h*x.bounds.height())),_.union(k.bounds.translate(E-(k.x||0),$-(k.y||0))),k.x=E,k.y=$,e.dirty(k),g=o(g,_[u])}return g}function fE(e,t,n,r,i,a){if(t){e.dirty(t);var o=n,l=n;r?o=Math.round(i.x1+a*i.width()):l=Math.round(i.y1+a*i.height()),t.bounds.translate(o-(t.x||0),l-(t.y||0)),t.mark.bounds.clear().union(t.bounds),t.x=o,t.y=l,e.dirty(t)}}function PR(e,t){let n=e[t]||{};return(r,i)=>n[r]==null?e[r]==null?i:e[r]:n[r]}function BR(e,t){let n=-1/0;return e.forEach(r=>{r.offset!=null&&(n=Math.max(n,r.offset))}),n>-1/0?n:t}function IR(e,t,n,r,i,a,o){let l=PR(n,t),s=BR(e,l("offset",0)),u=l("anchor",pg),c=u===Ct?1:u===mg?.5:0,f={align:xg,bounds:l("bounds",wg),columns:l("direction")==="vertical"?1:e.length,padding:l("margin",8),center:l("center"),nodirty:!0};switch(t){case Ln:f.anchor={x:Math.floor(r.x1)-s,column:Ct,y:c*(o||r.height()+2*r.y1),row:u};break;case Pn:f.anchor={x:Math.ceil(r.x2)+s,y:c*(o||r.height()+2*r.y1),row:u};break;case So:f.anchor={y:Math.floor(i.y1)-s,row:Ct,x:c*(a||i.width()+2*i.x1),column:u};break;case Oi:f.anchor={y:Math.ceil(i.y2)+s,x:c*(a||i.width()+2*i.x1),column:u};break;case pR:f.anchor={x:s,y:s};break;case mR:f.anchor={x:a-s,y:s,column:Ct};break;case gR:f.anchor={x:s,y:o-s,row:Ct};break;case yR:f.anchor={x:a-s,y:o-s,column:Ct,row:Ct};break}return f}function jR(e,t){var n=t.items[0],r=n.datum,i=n.orient,a=n.bounds,o=n.x,l=n.y,s,u;return n._bounds?n._bounds.clear().union(a):n._bounds=a.clone(),a.clear(),UR(e,n,n.items[0].items[0]),a=qR(n,a),s=2*n.padding,u=2*n.padding,a.empty()||(s=Math.ceil(a.width()+s),u=Math.ceil(a.height()+u)),r.type===kR&&WR(n.items[0].items[0].items[0].items),i!==bg&&(n.x=o=0,n.y=l=0),n.width=s,n.height=u,Br(a.set(o,l,o+s,l+u),n),n.mark.bounds.clear().union(a),n}function qR(e,t){return e.items.forEach(n=>t.union(n.bounds)),t.x1=e.padding,t.y1=e.padding,t}function UR(e,t,n){var r=t.padding,i=r-n.x,a=r-n.y;if(!t.datum.title)(i||a)&&ls(e,n,i,a);else{var o=t.items[1].items[0],l=o.anchor,s=t.titlePadding||0,u=r-o.x,c=r-o.y;switch(o.orient){case Ln:i+=Math.ceil(o.bounds.width())+s;break;case Pn:case Oi:break;default:a+=o.bounds.height()+s}switch((i||a)&&ls(e,n,i,a),o.orient){case Ln:c+=Co(t,n,o,l,1,1);break;case Pn:u+=Co(t,n,o,Ct,0,0)+s,c+=Co(t,n,o,l,1,1);break;case Oi:u+=Co(t,n,o,l,0,0),c+=Co(t,n,o,Ct,-1,0,1)+s;break;default:u+=Co(t,n,o,l,0,0)}(u||c)&&ls(e,o,u,c),(u=Math.round(o.bounds.x1-r))<0&&(ls(e,n,-u,0),ls(e,o,-u,0))}}function Co(e,t,n,r,i,a,o){let l=e.datum.type!=="symbol",s=n.datum.vgrad,u=(l&&(a||!s)&&!o?t.items[0]:t).bounds[i?"y2":"x2"]-e.padding,c=s&&a?u:0,f=s&&a?0:u,d=i<=0?0:Xm(n);return Math.round(r===pg?c:r===Ct?f-d:.5*(u-d))}function ls(e,t,n,r){t.x+=n,t.y+=r,t.bounds.translate(n,r),t.mark.bounds.translate(n,r),e.dirty(t)}function WR(e){let t=e.reduce((n,r)=>(n[r.column]=Math.max(r.bounds.x2-r.x,n[r.column]||0),n),{});e.forEach(n=>{n.width=t[n.column],n.height=n.bounds.y2-n.y})}function HR(e,t,n,r,i){var a=t.items[0],o=a.frame,l=a.orient,s=a.anchor,u=a.offset,c=a.padding,f=a.items[0].items[0],d=a.items[1]&&a.items[1].items[0],h=l===Ln||l===Pn?r:n,p=0,m=0,g=0,y=0,v=0,b;if(o===Ic?l===Ln&&(p=r,h=0):l===Ln?(p=i.y2,h=i.y1):l===Pn?(p=i.y1,h=i.y2):(p=i.x1,h=i.x2),b=s===pg?p:s===Ct?h:(p+h)/2,d&&d.text){switch(l){case So:case Oi:v=f.bounds.height()+c;break;case Ln:y=f.bounds.width()+c;break;case Pn:y=-f.bounds.width()-c;break}bt.clear().union(d.bounds),bt.translate(y-(d.x||0),v-(d.y||0)),Fo(d,"x",y)|Fo(d,"y",v)&&(e.dirty(d),d.bounds.clear().union(bt),d.mark.bounds.clear().union(bt),e.dirty(d)),bt.clear().union(d.bounds)}else bt.clear();switch(bt.union(f.bounds),l){case So:m=b,g=i.y1-bt.height()-u;break;case Ln:m=i.x1-bt.width()-u,g=b;break;case Pn:m=i.x2+bt.width()+u,g=b;break;case Oi:m=b,g=i.y2+u;break;default:m=a.x,g=a.y}return Fo(a,"x",m)|Fo(a,"y",g)&&(bt.translate(m,g),e.dirty(a),a.bounds.clear().union(bt),t.bounds.clear().union(bt),e.dirty(a)),a.bounds}function dE(e){O.call(this,null,e)}G(dE,O,{transform(e,t){let n=t.dataflow;return e.mark.items.forEach(r=>{e.layout&&RR(n,r,e.layout),VR(n,r,e)}),GR(e.mark.group)?t.reflow():t}});function GR(e){return e&&e.mark.role!=="legend-entry"}function VR(e,t,n){var r=t.items,i=Math.max(0,t.width||0),a=Math.max(0,t.height||0),o=new Qe().set(0,0,i,a),l=o.clone(),s=o.clone(),u=[],c,f,d,h,p,m;for(p=0,m=r.length;p<m;++p)switch(f=r[p],f.role){case gg:h=FR(f)?l:s,h.union(MR(e,f,i,a));break;case yg:c=f;break;case vg:u.push(jR(e,f));break;case xR:case wR:case qk:case Uk:case Wk:case Hk:case Gk:case Vk:l.union(f.bounds),s.union(f.bounds);break;default:o.union(f.bounds)}if(u.length){let g={};for(let y in u.forEach(v=>{d=v.orient||Pn,d!==bg&&(g[d]||(g[d]=[])).push(v)}),g){let v=g[y];cE(e,v,IR(v,y,n.legends,l,s,i,a))}u.forEach(y=>{let v=y.bounds;if(v.equals(y._bounds)||(y.bounds=y._bounds,e.dirty(y),y.bounds=v,e.dirty(y)),n.autosize&&(n.autosize.type===Xk||n.autosize.type===Yk||n.autosize.type===Jk))switch(y.orient){case Ln:case Pn:o.add(v.x1,0).add(v.x2,0);break;case So:case Oi:o.add(0,v.y1).add(0,v.y2)}else o.union(v)})}o.union(l).union(s),c&&o.union(HR(e,c,i,a,o)),t.clip&&o.set(0,0,t.width||0,t.height||0),XR(e,t,o,n)}function XR(e,t,n,r){let i=r.autosize||{},a=i.type;if(e._autosize<1||!a)return;let o=e._width,l=e._height,s=Math.max(0,t.width||0),u=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,t.height||0),f=Math.max(0,Math.ceil(-n.y1)),d=Math.max(0,Math.ceil(n.x2-s)),h=Math.max(0,Math.ceil(n.y2-c));if(i.contains===_R){let p=e.padding();o-=p.left+p.right,l-=p.top+p.bottom}a===bg?(u=0,f=0,s=o,c=l):a===Xk?(s=Math.max(0,o-u-d),c=Math.max(0,l-f-h)):a===Yk?(s=Math.max(0,o-u-d),l=c+f+h):a===Jk?(o=s+u+d,c=Math.max(0,l-f-h)):a===ER&&(o=s+u+d,l=c+f+h),e._resizeView(o,l,s,c,[u,f],i.resize)}var YR=Gt({axisticks:()=>hE,datajoin:()=>pE,encode:()=>mE,legendentries:()=>gE,linkpath:()=>kg,pie:()=>Eg,scale:()=>_E,sortitems:()=>$E,stack:()=>Ag});function hE(e){O.call(this,null,e)}G(hE,O,{transform(e,t){if(this.value&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.scale,o=xm(a,e.count==null?e.values?e.values.length:10:e.count,e.minstep),l=e.format||o_(n,a,o,e.formatSpecifier,e.formatType,!!e.values),s=e.values?a_(a,e.values,o):wm(a,o);return i&&(r.rem=i),i=s.map((u,c)=>_e({index:c/(s.length-1||1),value:u,label:l(u)})),e.extra&&i.length&&i.push(_e({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}});function pE(e){O.call(this,null,e)}function JR(){return _e({})}function QR(e){let t=ho().test(n=>n.exit);return t.lookup=n=>t.get(e(n)),t}G(pE,O,{transform(e,t){var n=t.dataflow,r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=e.item||JR,a=e.key||te,o=this.value;return N(r.encode)&&(r.encode=null),o&&(e.modified("key")||t.modified(a))&&L("DataJoin does not support modified key function or fields."),o||(t=t.addAll(),this.value=o=QR(a)),t.visit(t.ADD,l=>{let s=a(l),u=o.get(s);u?u.exit?(o.empty--,r.add.push(u)):r.mod.push(u):(u=i(l),o.set(s,u),r.add.push(u)),u.datum=l,u.exit=!1}),t.visit(t.MOD,l=>{let s=a(l),u=o.get(s);u&&(u.datum=l,r.mod.push(u))}),t.visit(t.REM,l=>{let s=a(l),u=o.get(s);l===u.datum&&!u.exit&&(r.rem.push(u),u.exit=!0,++o.empty)}),t.changed(t.ADD_MOD)&&r.modifies("datum"),(t.clean()||e.clean&&o.empty>n.cleanThreshold)&&n.runAfter(o.clean),r}});function mE(e){O.call(this,null,e)}G(mE,O,{transform(e,t){var n=t.fork(t.ADD_REM),r=e.mod||!1,i=e.encoders,a=t.encode;if(N(a))if(n.changed()||a.every(f=>i[f]))a=a[0],n.encode=null;else return t.StopPropagation;var o=a==="enter",l=i.update||di,s=i.enter||di,u=i.exit||di,c=(a&&!o?i[a]:l)||di;if(t.changed(t.ADD)&&(t.visit(t.ADD,f=>{s(f,e),l(f,e)}),n.modifies(s.output),n.modifies(l.output),c!==di&&c!==l&&(t.visit(t.ADD,f=>{c(f,e)}),n.modifies(c.output))),t.changed(t.REM)&&u!==di&&(t.visit(t.REM,f=>{u(f,e)}),n.modifies(u.output)),o||c!==di){let f=t.MOD|(e.modified()?t.REFLOW:0);o?(t.visit(f,d=>{let h=s(d,e)||r;(c(d,e)||h)&&n.mod.push(d)}),n.mod.length&&n.modifies(s.output)):t.visit(f,d=>{(c(d,e)||r)&&n.mod.push(d)}),n.mod.length&&n.modifies(c.output)}return n.changed()?n:t.StopPropagation}});function gE(e){O.call(this,[],e)}G(gE,O,{transform(e,t){if(this.value!=null&&!e.modified())return t.StopPropagation;var n=t.dataflow.locale(),r=t.fork(t.NO_SOURCE|t.NO_FIELDS),i=this.value,a=e.type||"symbol",o=e.scale,l=+e.limit,s=xm(o,e.count==null?5:e.count,e.minstep),u=!!e.values||a==="symbol",c=e.format||c_(n,o,s,a,e.formatSpecifier,e.formatType,u),f=e.values||u_(o,s),d,h,p,m,g;return i&&(r.rem=i),a==="symbol"?(l&&f.length>l?(t.dataflow.warn("Symbol legend count exceeds limit, filtering items."),i=f.slice(0,l-1),g=!0):i=f,de(p=e.size)?(!e.values&&o(i[0])===0&&(i=i.slice(1)),m=i.reduce((y,v)=>Math.max(y,p(v,e)),0)):p=At(m=p||8),i=i.map((y,v)=>_e({index:v,label:c(y,v,i),value:y,offset:m,size:p(y,e)})),g&&(g=f[i.length],i.push(_e({index:i.length,label:`\u2026${f.length-i.length} entries`,value:g,offset:m,size:p(g,e)})))):a==="gradient"?(d=o.domain(),h=t_(o,d[0],Ae(d)),f.length<3&&!e.values&&d[0]!==Ae(d)&&(f=[d[0],Ae(d)]),i=f.map((y,v)=>_e({index:v,label:c(y,v,f),value:y,perc:h(y)}))):(p=f.length-1,h=R7(o),i=f.map((y,v)=>_e({index:v,label:c(y,v,f),value:y,perc:v?h(y):0,perc2:v===p?1:h(f[v+1])}))),r.source=i,r.add=i,this.value=i,r}});var KR=e=>e.source.x,ZR=e=>e.source.y,eT=e=>e.target.x,tT=e=>e.target.y;function kg(e){O.call(this,{},e)}kg.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},G(kg,O,{transform(e,t){var n=e.sourceX||KR,r=e.sourceY||ZR,i=e.targetX||eT,a=e.targetY||tT,o=e.as||"path",l=e.orient||"vertical",s=e.shape||"line",u=xE.get(s+"-"+l)||xE.get(s);return u||L("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),t.visit(t.SOURCE,c=>{c[o]=u(n(c),r(c),i(c),a(c))}),t.reflow(e.modified()).modifies(o)}});var yE=(e,t,n,r)=>"M"+e+","+t+"L"+n+","+r,nT=(e,t,n,r)=>yE(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),vE=(e,t,n,r)=>{var i=n-e,a=r-t,o=Math.hypot(i,a)/2,l=180*Math.atan2(a,i)/Math.PI;return"M"+e+","+t+"A"+o+","+o+" "+l+" 0 1 "+n+","+r},rT=(e,t,n,r)=>vE(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),bE=(e,t,n,r)=>{let i=n-e,a=r-t,o=.2*(i+a),l=.2*(a-i);return"M"+e+","+t+"C"+(e+o)+","+(t+l)+" "+(n+l)+","+(r-o)+" "+n+","+r},iT=(e,t,n,r)=>bE(t*Math.cos(e),t*Math.sin(e),r*Math.cos(n),r*Math.sin(n)),aT=(e,t,n,r)=>"M"+e+","+t+"V"+r+"H"+n,oT=(e,t,n,r)=>"M"+e+","+t+"H"+n+"V"+r,lT=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=Math.abs(n-e)>Math.PI?n<=e:n>e;return"M"+t*i+","+t*a+"A"+t+","+t+" 0 0,"+(s?1:0)+" "+t*o+","+t*l+"L"+r*o+","+r*l},sT=(e,t,n,r)=>{let i=(e+n)/2;return"M"+e+","+t+"C"+i+","+t+" "+i+","+r+" "+n+","+r},uT=(e,t,n,r)=>{let i=(t+r)/2;return"M"+e+","+t+"C"+e+","+i+" "+n+","+i+" "+n+","+r},cT=(e,t,n,r)=>{let i=Math.cos(e),a=Math.sin(e),o=Math.cos(n),l=Math.sin(n),s=(t+r)/2;return"M"+t*i+","+t*a+"C"+s*i+","+s*a+" "+s*o+","+s*l+" "+r*o+","+r*l},xE=ho({line:yE,"line-radial":nT,arc:vE,"arc-radial":rT,curve:bE,"curve-radial":iT,"orthogonal-horizontal":aT,"orthogonal-vertical":oT,"orthogonal-radial":lT,"diagonal-horizontal":sT,"diagonal-vertical":uT,"diagonal-radial":cT});function Eg(e){O.call(this,null,e)}Eg.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},G(Eg,O,{transform(e,t){var n=e.as||["startAngle","endAngle"],r=n[0],i=n[1],a=e.field||Fl,o=e.startAngle||0,l=e.endAngle==null?2*Math.PI:e.endAngle,s=t.source,u=s.map(a),c=u.length,f=o,d=(l-o)/x2(u),h=nn(c),p,m,g;for(e.sort&&h.sort((y,v)=>u[y]-u[v]),p=0;p<c;++p)g=u[h[p]],m=s[h[p]],m[r]=f,m[i]=f+=g*d;return this.value=u,t.reflow(e.modified()).modifies(n)}});var fT=5;function dT(e){let t=e.type;return!e.bins&&(t==="linear"||t==="pow"||t==="sqrt")}function wE(e){return gm(e)&&e!=="sequential"}var hT=lr(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function _E(e){O.call(this,null,e),this.modified(!0)}G(_E,O,{transform(e,t){var n=t.dataflow,r=this.value,i=pT(e);for(i in(!r||i!==r.type)&&(this.value=r=ve(i)()),e)if(!hT[i]){if(i==="padding"&&wE(r.type))continue;de(r[i])?r[i](e[i]):n.warn("Unsupported scale property: "+i)}return xT(r,e,bT(r,e,gT(r,e,n))),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function pT(e){var t=e.type,n="",r;return t==="sequential"?_i+"-"+ic:(mT(e)&&(r=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(e.domainMid!=null):0,n=r===2?_i+"-":r===3?xo+"-":""),(n+t||"linear").toLowerCase())}function mT(e){let t=e.type;return gm(t)&&t!=="time"&&t!=="utc"&&(e.scheme||e.range&&e.range.length&&e.range.every(Y))}function gT(e,t,n){let r=yT(e,t.domainRaw,n);if(r>-1)return r;var i=t.domain,a=e.type,o=t.zero||t.zero===void 0&&dT(e),l,s;if(!i)return 0;if((o||t.domainMin!=null||t.domainMax!=null||t.domainMid!=null)&&(l=(i=i.slice()).length-1||1,o&&(i[0]>0&&(i[0]=0),i[l]<0&&(i[l]=0)),t.domainMin!=null&&(i[0]=t.domainMin),t.domainMax!=null&&(i[l]=t.domainMax),t.domainMid!=null)){s=t.domainMid;let u=s>i[l]?l+1:s<i[0]?0:l;u!==l&&n.warn("Scale domainMid exceeds domain min or max.",s),i.splice(u,0,s)}return wE(a)&&t.padding&&i[0]!==Ae(i)&&(i=vT(a,i,t.range,t.padding,t.exponent,t.constant)),e.domain(kE(a,i,n)),a==="ordinal"&&e.unknown(t.domainImplicit?U4:void 0),t.nice&&e.nice&&e.nice(t.nice!==!0&&xm(e,t.nice)||null),i.length}function yT(e,t,n){return t?(e.domain(kE(e.type,t,n)),t.length):-1}function vT(e,t,n,r,i,a){var o=Math.abs(Ae(n)-n[0]),l=o/(o-2*r),s=e==="log"?Vh(t,null,l):e==="sqrt"?Nu(t,null,l,.5):e==="pow"?Nu(t,null,l,i||1):e==="symlog"?Jh(t,null,l,a||1):jh(t,null,l);return t=t.slice(),t[0]=s[0],t[t.length-1]=s[1],t}function kE(e,t,n){return Jw(e)&&Math.abs(t.reduce((r,i)=>r+(i<0?-1:i>0?1:0),0))!==t.length&&n.warn("Log scale domain includes zero: "+H(t)),t}function bT(e,t,n){let r=t.bins;if(r&&!N(r)){let i=e.domain(),a=i[0],o=Ae(i),l=r.step,s=r.start==null?a:r.start,u=r.stop==null?o:r.stop;l||L("Scale bins parameter missing step property."),s<a&&(s=l*Math.ceil(a/l)),u>o&&(u=l*Math.floor(o/l)),r=nn(s,u+l/2,l)}return r?e.bins=r:e.bins&&delete e.bins,e.type==="bin-ordinal"&&(r?!t.domain&&!t.domainRaw&&(e.domain(r),n=r.length):e.bins=e.domain()),n}function xT(e,t,n){var r=e.type,i=t.round||!1,a=t.range;if(t.rangeStep!=null)a=wT(r,t,n);else if(t.scheme&&(a=_T(r,t,n),de(a))){if(e.interpolator)return e.interpolator(a);L(`Scale type ${r} does not support interpolating color schemes.`)}if(a&&Qw(r))return e.interpolator(oc($g(a,t.reverse),t.interpolate,t.interpolateGamma));a&&t.interpolate&&e.interpolate?e.interpolate(vm(t.interpolate,t.interpolateGamma)):de(e.round)?e.round(i):de(e.rangeRound)&&e.interpolate(i?rp:np),a&&e.range($g(a,t.reverse))}function wT(e,t,n){e!=="band"&&e!=="point"&&L("Only band and point scales support rangeStep.");var r=(t.paddingOuter==null?t.padding:t.paddingOuter)||0,i=e==="point"?1:(t.paddingInner==null?t.padding:t.paddingInner)||0;return[0,t.rangeStep*cm(n,i,r)]}function _T(e,t,n){var r=t.schemeExtent,i,a;return N(t.scheme)?a=oc(t.scheme,t.interpolate,t.interpolateGamma):(i=t.scheme.toLowerCase(),a=bm(i),a||L(`Unrecognized scheme name: ${t.scheme}`)),n=e==="threshold"?n+1:e==="bin-ordinal"?n-1:e==="quantile"||e==="quantize"?+t.schemeCount||fT:n,Qw(e)?EE(a,r,t.reverse):de(a)?e_(EE(a,r),n):e==="ordinal"?a:a.slice(0,n)}function EE(e,t,n){return de(e)&&(t||n)?Zw(e,$g(t||[0,1],n)):e}function $g(e,t){return t?e.slice().reverse():e}function $E(e){O.call(this,null,e)}G($E,O,{transform(e,t){let n=e.modified("sort")||t.changed(t.ADD)||t.modified(e.sort.fields)||t.modified("datum");return n&&t.source.sort(sa(e.sort)),this.modified(n),t}});var AE="zero",DE="center",SE="normalize",FE=["y0","y1"];function Ag(e){O.call(this,null,e)}Ag.Definition={type:"Stack",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:!0},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:AE,values:[AE,DE,SE]},{name:"as",type:"string",array:!0,length:2,default:FE}]},G(Ag,O,{transform(e,t){var n=e.as||FE,r=n[0],i=n[1],a=sa(e.sort),o=e.field||Fl,l=e.offset===DE?kT:e.offset===SE?ET:$T,s=AT(t.source,e.groupby,a,o),u,c,f;for(u=0,c=s.length,f=s.max;u<c;++u)l(s[u],f,o,r,i);return t.reflow(e.modified()).modifies(n)}});function kT(e,t,n,r,i){for(var a=(t-e.sum)/2,o=e.length,l=0,s;l<o;++l)s=e[l],s[r]=a,s[i]=a+=Math.abs(n(s))}function ET(e,t,n,r,i){for(var a=1/e.sum,o=0,l=e.length,s=0,u=0,c;s<l;++s)c=e[s],c[r]=o,c[i]=o=a*(u+=Math.abs(n(c)))}function $T(e,t,n,r,i){for(var a=0,o=0,l=e.length,s=0,u,c;s<l;++s)c=e[s],u=+n(c),u<0?(c[r]=o,c[i]=o+=u):(c[r]=a,c[i]=a+=u)}function AT(e,t,n,r){var i=[],a=m=>m(c),o,l,s,u,c,f,d,h,p;if(t==null)i.push(e.slice());else for(o={},l=0,s=e.length;l<s;++l)c=e[l],f=t.map(a),d=o[f],d||(o[f]=d=[],i.push(d)),d.push(c);for(f=0,p=0,u=i.length;f<u;++f){for(d=i[f],l=0,h=0,s=d.length;l<s;++l)h+=Math.abs(r(d[l]));d.sum=h,h>p&&(p=h),n&&d.sort(n)}return i.max=p,i}var De=1e-6,fe=Math.PI,Ue=fe/2,Hc=fe/4,Mt=fe*2,Ve=180/fe,ue=fe/180,me=Math.abs,Mo=Math.atan,kn=Math.atan2,ie=Math.cos,Gc=Math.ceil,CE=Math.exp,Dg=Math.hypot,Vc=Math.log,Sg=Math.pow,ne=Math.sin,En=Math.sign||function(e){return e>0?1:e<0?-1:0},Ot=Math.sqrt,Fg=Math.tan;function ME(e){return e>1?0:e<-1?fe:Math.acos(e)}function Vt(e){return e>1?Ue:e<-1?-Ue:Math.asin(e)}function ft(){}function Xc(e,t){e&&zE.hasOwnProperty(e.type)&&zE[e.type](e,t)}var OE={Feature:function(e,t){Xc(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Xc(n[r].geometry,t)}},zE={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Cg(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Cg(n[r],t,0)},Polygon:function(e,t){NE(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)NE(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Xc(n[r],t)}};function Cg(e,t,n){var r=-1,i=e.length-n,a;for(t.lineStart();++r<i;)a=e[r],t.point(a[0],a[1],a[2]);t.lineEnd()}function NE(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Cg(e[n],t,1);t.polygonEnd()}function jr(e,t){e&&OE.hasOwnProperty(e.type)?OE[e.type](e,t):Xc(e,t)}var Yc=new St,Jc=new St,RE,TE,Mg,Og,zg,hr={point:ft,lineStart:ft,lineEnd:ft,polygonStart:function(){Yc=new St,hr.lineStart=DT,hr.lineEnd=ST},polygonEnd:function(){var e=+Yc;Jc.add(e<0?Mt+e:e),this.lineStart=this.lineEnd=this.point=ft},sphere:function(){Jc.add(Mt)}};function DT(){hr.point=FT}function ST(){LE(RE,TE)}function FT(e,t){hr.point=LE,RE=e,TE=t,e*=ue,t*=ue,Mg=e,Og=ie(t=t/2+Hc),zg=ne(t)}function LE(e,t){e*=ue,t*=ue,t=t/2+Hc;var n=e-Mg,r=n>=0?1:-1,i=r*n,a=ie(t),o=ne(t),l=zg*o,s=Og*a+l*ie(i),u=l*r*ne(i);Yc.add(kn(u,s)),Mg=e,Og=a,zg=o}function CT(e){return Jc=new St,jr(e,hr),Jc*2}function Qc(e){return[kn(e[1],e[0]),Vt(e[2])]}function ya(e){var t=e[0],n=e[1],r=ie(n);return[r*ie(t),r*ne(t),ne(n)]}function Kc(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Oo(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Ng(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Zc(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ef(e){var t=Ot(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Ie,Xt,We,on,va,PE,BE,zo,ss,Ri,qr,Ur={point:Rg,lineStart:jE,lineEnd:qE,polygonStart:function(){Ur.point=UE,Ur.lineStart=MT,Ur.lineEnd=OT,ss=new St,hr.polygonStart()},polygonEnd:function(){hr.polygonEnd(),Ur.point=Rg,Ur.lineStart=jE,Ur.lineEnd=qE,Yc<0?(Ie=-(We=180),Xt=-(on=90)):ss>1e-6?on=90:ss<-1e-6&&(Xt=-90),qr[0]=Ie,qr[1]=We},sphere:function(){Ie=-(We=180),Xt=-(on=90)}};function Rg(e,t){Ri.push(qr=[Ie=e,We=e]),t<Xt&&(Xt=t),t>on&&(on=t)}function IE(e,t){var n=ya([e*ue,t*ue]);if(zo){var r=Oo(zo,n),i=Oo([r[1],-r[0],0],r);ef(i),i=Qc(i);var a=e-va,o=a>0?1:-1,l=i[0]*Ve*o,s,u=me(a)>180;u^(o*va<l&&l<o*e)?(s=i[1]*Ve,s>on&&(on=s)):(l=(l+360)%360-180,u^(o*va<l&&l<o*e)?(s=-i[1]*Ve,s<Xt&&(Xt=s)):(t<Xt&&(Xt=t),t>on&&(on=t))),u?e<va?ln(Ie,e)>ln(Ie,We)&&(We=e):ln(e,We)>ln(Ie,We)&&(Ie=e):We>=Ie?(e<Ie&&(Ie=e),e>We&&(We=e)):e>va?ln(Ie,e)>ln(Ie,We)&&(We=e):ln(e,We)>ln(Ie,We)&&(Ie=e)}else Ri.push(qr=[Ie=e,We=e]);t<Xt&&(Xt=t),t>on&&(on=t),zo=n,va=e}function jE(){Ur.point=IE}function qE(){qr[0]=Ie,qr[1]=We,Ur.point=Rg,zo=null}function UE(e,t){if(zo){var n=e-va;ss.add(me(n)>180?n+(n>0?360:-360):n)}else PE=e,BE=t;hr.point(e,t),IE(e,t)}function MT(){hr.lineStart()}function OT(){UE(PE,BE),hr.lineEnd(),me(ss)>1e-6&&(Ie=-(We=180)),qr[0]=Ie,qr[1]=We,zo=null}function ln(e,t){return(t-=e)<0?t+360:t}function zT(e,t){return e[0]-t[0]}function WE(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function NT(e){var t,n,r,i,a,o,l;if(on=We=-(Ie=Xt=1/0),Ri=[],jr(e,Ur),n=Ri.length){for(Ri.sort(zT),t=1,r=Ri[0],a=[r];t<n;++t)i=Ri[t],WE(r,i[0])||WE(r,i[1])?(ln(r[0],i[1])>ln(r[0],r[1])&&(r[1]=i[1]),ln(i[0],r[1])>ln(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=a.length-1,t=0,r=a[n];t<=n;r=i,++t)i=a[t],(l=ln(r[1],i[0]))>o&&(o=l,Ie=i[0],We=r[1])}return Ri=qr=null,Ie===1/0||Xt===1/0?[[NaN,NaN],[NaN,NaN]]:[[Ie,Xt],[We,on]]}var us,tf,nf,rf,af,of,lf,sf,Tg,Lg,Pg,HE,GE,zt,Nt,Rt,Bn={sphere:ft,point:Bg,lineStart:VE,lineEnd:XE,polygonStart:function(){Bn.lineStart=LT,Bn.lineEnd=PT},polygonEnd:function(){Bn.lineStart=VE,Bn.lineEnd=XE}};function Bg(e,t){e*=ue,t*=ue;var n=ie(t);cs(n*ie(e),n*ne(e),ne(t))}function cs(e,t,n){++us,nf+=(e-nf)/us,rf+=(t-rf)/us,af+=(n-af)/us}function VE(){Bn.point=RT}function RT(e,t){e*=ue,t*=ue;var n=ie(t);zt=n*ie(e),Nt=n*ne(e),Rt=ne(t),Bn.point=TT,cs(zt,Nt,Rt)}function TT(e,t){e*=ue,t*=ue;var n=ie(t),r=n*ie(e),i=n*ne(e),a=ne(t),o=kn(Ot((o=Nt*a-Rt*i)*o+(o=Rt*r-zt*a)*o+(o=zt*i-Nt*r)*o),zt*r+Nt*i+Rt*a);tf+=o,of+=o*(zt+(zt=r)),lf+=o*(Nt+(Nt=i)),sf+=o*(Rt+(Rt=a)),cs(zt,Nt,Rt)}function XE(){Bn.point=Bg}function LT(){Bn.point=BT}function PT(){YE(HE,GE),Bn.point=Bg}function BT(e,t){HE=e,GE=t,e*=ue,t*=ue,Bn.point=YE;var n=ie(t);zt=n*ie(e),Nt=n*ne(e),Rt=ne(t),cs(zt,Nt,Rt)}function YE(e,t){e*=ue,t*=ue;var n=ie(t),r=n*ie(e),i=n*ne(e),a=ne(t),o=Nt*a-Rt*i,l=Rt*r-zt*a,s=zt*i-Nt*r,u=Dg(o,l,s),c=Vt(u),f=u&&-c/u;Tg.add(f*o),Lg.add(f*l),Pg.add(f*s),tf+=c,of+=c*(zt+(zt=r)),lf+=c*(Nt+(Nt=i)),sf+=c*(Rt+(Rt=a)),cs(zt,Nt,Rt)}function IT(e){us=tf=nf=rf=af=of=lf=sf=0,Tg=new St,Lg=new St,Pg=new St,jr(e,Bn);var t=+Tg,n=+Lg,r=+Pg,i=Dg(t,n,r);return i<1e-12&&(t=of,n=lf,r=sf,tf<1e-6&&(t=nf,n=rf,r=af),i=Dg(t,n,r),i<1e-12)?[NaN,NaN]:[kn(n,t)*Ve,Vt(r/i)*Ve]}function Ig(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function jg(e,t){return me(e)>fe&&(e-=Math.round(e/Mt)*Mt),[e,t]}jg.invert=jg;function JE(e,t,n){return(e%=Mt)?t||n?Ig(KE(e),ZE(t,n)):KE(e):t||n?ZE(t,n):jg}function QE(e){return function(t,n){return t+=e,me(t)>fe&&(t-=Math.round(t/Mt)*Mt),[t,n]}}function KE(e){var t=QE(e);return t.invert=QE(-e),t}function ZE(e,t){var n=ie(e),r=ne(e),i=ie(t),a=ne(t);function o(l,s){var u=ie(s),c=ie(l)*u,f=ne(l)*u,d=ne(s),h=d*n+c*r;return[kn(f*i-h*a,c*n-d*r),Vt(h*i+f*a)]}return o.invert=function(l,s){var u=ie(s),c=ie(l)*u,f=ne(l)*u,d=ne(s),h=d*i-f*a;return[kn(f*i+d*a,c*n+h*r),Vt(h*n-c*r)]},o}function jT(e){e=JE(e[0]*ue,e[1]*ue,e.length>2?e[2]*ue:0);function t(n){return n=e(n[0]*ue,n[1]*ue),n[0]*=Ve,n[1]*=Ve,n}return t.invert=function(n){return n=e.invert(n[0]*ue,n[1]*ue),n[0]*=Ve,n[1]*=Ve,n},t}function qT(e,t,n,r,i,a){if(n){var o=ie(t),l=ne(t),s=r*n;i==null?(i=t+r*Mt,a=t-s/2):(i=e$(o,i),a=e$(o,a),(r>0?i<a:i>a)&&(i+=r*Mt));for(var u,c=i;r>0?c>a:c<a;c-=s)u=Qc([o,-l*ie(c),-l*ne(c)]),e.point(u[0],u[1])}}function e$(e,t){t=ya(t),t[0]-=e,ef(t);var n=ME(-t[1]);return((-t[2]<0?-n:n)+Mt-De)%Mt}function t$(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:ft,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function uf(e,t){return me(e[0]-t[0])<1e-6&&me(e[1]-t[1])<1e-6}function cf(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function n$(e,t,n,r,i){var a=[],o=[],l,s;if(e.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g=p[0],y=p[m],v;if(uf(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),l=0;l<m;++l)i.point((g=p[l])[0],g[1]);i.lineEnd();return}y[0]+=2*De}a.push(v=new cf(g,p,null,!0)),o.push(v.o=new cf(g,null,v,!1)),a.push(v=new cf(y,p,null,!1)),o.push(v.o=new cf(y,null,v,!0))}}),a.length){for(o.sort(t),r$(a),r$(o),l=0,s=o.length;l<s;++l)o[l].e=n=!n;for(var u=a[0],c,f;;){for(var d=u,h=!0;d.v;)if((d=d.n)===u)return;c=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(l=0,s=c.length;l<s;++l)i.point((f=c[l])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(c=d.p.z,l=c.length-1;l>=0;--l)i.point((f=c[l])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,c=d.z,h=!h}while(!d.v);i.lineEnd()}}}function r$(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function qg(e){return me(e[0])<=fe?e[0]:En(e[0])*((me(e[0])+fe)%Mt-fe)}function UT(e,t){var n=qg(t),r=t[1],i=ne(r),a=[ne(n),-ie(n),0],o=0,l=0,s=new St;i===1?r=Ue+De:i===-1&&(r=-Ue-De);for(var u=0,c=e.length;u<c;++u)if(d=(f=e[u]).length)for(var f,d,h=f[d-1],p=qg(h),m=h[1]/2+Hc,g=ne(m),y=ie(m),v=0;v<d;++v,p=w,g=k,y=x,h=b){var b=f[v],w=qg(b),_=b[1]/2+Hc,k=ne(_),x=ie(_),E=w-p,$=E>=0?1:-1,D=$*E,F=D>fe,T=g*k;if(s.add(kn(T*$*ne(D),y*x+T*ie(D))),o+=F?E+$*Mt:E,F^p>=n^w>=n){var S=Oo(ya(h),ya(b));ef(S);var M=Oo(a,S);ef(M);var A=(F^E>=0?-1:1)*Vt(M[2]);(r>A||r===A&&(S[0]||S[1]))&&(l+=F^E>=0?1:-1)}}return(o<-1e-6||o<1e-6&&s<-1e-12)^l&1}function i$(e,t,n,r){return function(i){var a=t(i),o=t$(),l=t(o),s=!1,u,c,f,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=v,d.lineEnd=b,c=[],u=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,c=b2(c);var w=UT(u,r);c.length?(s||(s=(i.polygonStart(),!0)),n$(c,HT,w,n,i)):w&&(s||(s=(i.polygonStart(),!0)),i.lineStart(),n(null,null,1,i),i.lineEnd()),s&&(s=(i.polygonEnd(),!1)),c=u=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(w,_){e(w,_)&&i.point(w,_)}function p(w,_){a.point(w,_)}function m(){d.point=p,a.lineStart()}function g(){d.point=h,a.lineEnd()}function y(w,_){f.push([w,_]),l.point(w,_)}function v(){l.lineStart(),f=[]}function b(){y(f[0][0],f[0][1]),l.lineEnd();var w=l.clean(),_=o.result(),k,x=_.length,E,$,D;if(f.pop(),u.push(f),f=null,x){if(w&1){if($=_[0],(E=$.length-1)>0){for(s||(s=(i.polygonStart(),!0)),i.lineStart(),k=0;k<E;++k)i.point((D=$[k])[0],D[1]);i.lineEnd()}return}x>1&&w&2&&_.push(_.pop().concat(_.shift())),c.push(_.filter(WT))}}return d}}function WT(e){return e.length>1}function HT(e,t){return((e=e.x)[0]<0?e[1]-Ue-De:Ue-e[1])-((t=t.x)[0]<0?t[1]-Ue-De:Ue-t[1])}var a$=i$(function(){return!0},GT,XT,[-fe,-Ue]);function GT(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var l=a>0?fe:-fe,s=me(a-t);me(s-fe)<1e-6?(e.point(t,n=(n+o)/2>0?Ue:-Ue),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),e.point(a,n),i=0):r!==l&&s>=fe&&(me(t-r)<1e-6&&(t-=r*De),me(a-l)<1e-6&&(a-=l*De),n=VT(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(l,n),i=0),e.point(t=a,n=o),r=l},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function VT(e,t,n,r){var i,a,o=ne(e-n);return me(o)>1e-6?Mo((ne(t)*(a=ie(r))*ne(n)-ne(r)*(i=ie(t))*ne(e))/(i*a*o)):(t+r)/2}function XT(e,t,n,r){var i;if(e==null)i=n*Ue,r.point(-fe,i),r.point(0,i),r.point(fe,i),r.point(fe,0),r.point(fe,-i),r.point(0,-i),r.point(-fe,-i),r.point(-fe,0),r.point(-fe,i);else if(me(e[0]-t[0])>1e-6){var a=e[0]<t[0]?fe:-fe;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function YT(e){var t=ie(e),n=2*ue,r=t>0,i=me(t)>De;function a(c,f,d,h){qT(h,e,n,d,c,f)}function o(c,f){return ie(c)*ie(f)>t}function l(c){var f,d,h,p,m;return{lineStart:function(){p=h=!1,m=1},point:function(g,y){var v=[g,y],b,w=o(g,y),_=r?w?0:u(g,y):w?u(g+(g<0?fe:-fe),y):0;if(!f&&(p=h=w)&&c.lineStart(),w!==h&&(b=s(f,v),(!b||uf(f,b)||uf(v,b))&&(v[2]=1)),w!==h)m=0,w?(c.lineStart(),b=s(v,f),c.point(b[0],b[1])):(b=s(f,v),c.point(b[0],b[1],2),c.lineEnd()),f=b;else if(i&&f&&r^w){var k;!(_&d)&&(k=s(v,f,!0))&&(m=0,r?(c.lineStart(),c.point(k[0][0],k[0][1]),c.point(k[1][0],k[1][1]),c.lineEnd()):(c.point(k[1][0],k[1][1]),c.lineEnd(),c.lineStart(),c.point(k[0][0],k[0][1],3)))}w&&(!f||!uf(f,v))&&c.point(v[0],v[1]),f=v,h=w,d=_},lineEnd:function(){h&&c.lineEnd(),f=null},clean:function(){return m|(p&&h)<<1}}}function s(c,f,d){var h=ya(c),p=ya(f),m=[1,0,0],g=Oo(h,p),y=Kc(g,g),v=g[0],b=y-v*v;if(!b)return!d&&c;var w=t*y/b,_=-t*v/b,k=Oo(m,g),x=Zc(m,w);Ng(x,Zc(g,_));var E=k,$=Kc(x,E),D=Kc(E,E),F=$*$-D*(Kc(x,x)-1);if(!(F<0)){var T=Ot(F),S=Zc(E,(-$-T)/D);if(Ng(S,x),S=Qc(S),!d)return S;var M=c[0],A=f[0],C=c[1],P=f[1],W;A<M&&(W=M,M=A,A=W);var V=A-M,ae=me(V-fe)<De,se=ae||V<1e-6;if(!ae&&P<C&&(W=C,C=P,P=W),se?ae?C+P>0^S[1]<(me(S[0]-M)<1e-6?C:P):C<=S[1]&&S[1]<=P:V>fe^(M<=S[0]&&S[0]<=A)){var xe=Zc(E,(-$+T)/D);return Ng(xe,x),[S,Qc(xe)]}}}function u(c,f){var d=r?e:fe-e,h=0;return c<-d?h|=1:c>d&&(h|=2),f<-d?h|=4:f>d&&(h|=8),h}return i$(o,l,a,r?[0,-e]:[-fe,e-fe])}function JT(e,t,n,r,i,a){var o=e[0],l=e[1],s=t[0],u=t[1],c=0,f=1,d=s-o,h=u-l,p=n-o;if(!(!d&&p>0)){if(p/=d,d<0){if(p<c)return;p<f&&(f=p)}else if(d>0){if(p>f)return;p>c&&(c=p)}if(p=i-o,!(!d&&p<0)){if(p/=d,d<0){if(p>f)return;p>c&&(c=p)}else if(d>0){if(p<c)return;p<f&&(f=p)}if(p=r-l,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<f&&(f=p)}else if(h>0){if(p>f)return;p>c&&(c=p)}if(p=a-l,!(!h&&p<0)){if(p/=h,h<0){if(p>f)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<f&&(f=p)}return c>0&&(e[0]=o+c*d,e[1]=l+c*h),f<1&&(t[0]=o+f*d,t[1]=l+f*h),!0}}}}}var fs=1e9,ff=-fs;function o$(e,t,n,r){function i(u,c){return e<=u&&u<=n&&t<=c&&c<=r}function a(u,c,f,d){var h=0,p=0;if(u==null||(h=o(u,f))!==(p=o(c,f))||s(u,c)<0^f>0)do d.point(h===0||h===3?e:n,h>1?r:t);while((h=(h+f+4)%4)!==p);else d.point(c[0],c[1])}function o(u,c){return me(u[0]-e)<1e-6?c>0?0:3:me(u[0]-n)<1e-6?c>0?2:1:me(u[1]-t)<1e-6?c>0?1:0:c>0?3:2}function l(u,c){return s(u.x,c.x)}function s(u,c){var f=o(u,1),d=o(c,1);return f===d?f===0?c[1]-u[1]:f===1?u[0]-c[0]:f===2?u[1]-c[1]:c[0]-u[0]:f-d}return function(u){var c=u,f=t$(),d,h,p,m,g,y,v,b,w,_,k,x={point:E,lineStart:T,lineEnd:S,polygonStart:D,polygonEnd:F};function E(A,C){i(A,C)&&c.point(A,C)}function $(){for(var A=0,C=0,P=h.length;C<P;++C)for(var W=h[C],V=1,ae=W.length,se=W[0],xe,ge,Ht=se[0],Et=se[1];V<ae;++V)xe=Ht,ge=Et,se=W[V],Ht=se[0],Et=se[1],ge<=r?Et>r&&(Ht-xe)*(r-ge)>(Et-ge)*(e-xe)&&++A:Et<=r&&(Ht-xe)*(r-ge)<(Et-ge)*(e-xe)&&--A;return A}function D(){c=f,d=[],h=[],k=!0}function F(){var A=$(),C=k&&A,P=(d=b2(d)).length;(C||P)&&(u.polygonStart(),C&&(u.lineStart(),a(null,null,1,u),u.lineEnd()),P&&n$(d,l,A,a,u),u.polygonEnd()),c=u,d=h=p=null}function T(){x.point=M,h&&h.push(p=[]),_=!0,w=!1,v=b=NaN}function S(){d&&(M(m,g),y&&w&&f.rejoin(),d.push(f.result())),x.point=E,w&&c.lineEnd()}function M(A,C){var P=i(A,C);if(h&&p.push([A,C]),_)m=A,g=C,y=P,_=!1,P&&(c.lineStart(),c.point(A,C));else if(P&&w)c.point(A,C);else{var W=[v=Math.max(ff,Math.min(fs,v)),b=Math.max(ff,Math.min(fs,b))],V=[A=Math.max(ff,Math.min(fs,A)),C=Math.max(ff,Math.min(fs,C))];JT(W,V,e,t,n,r)?(w||(c.lineStart(),c.point(W[0],W[1])),c.point(V[0],V[1]),P||c.lineEnd(),k=!1):P&&(c.lineStart(),c.point(A,C),k=!1)}v=A,b=C,w=P}return x}}function l$(e,t,n){var r=nn(e,t-De,n).concat(t);return function(i){return r.map(function(a){return[i,a]})}}function s$(e,t,n){var r=nn(e,t-De,n).concat(t);return function(i){return r.map(function(a){return[a,i]})}}function QT(){var e,t,n,r,i,a,o,l,s=10,u=s,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return nn(Gc(r/c)*c,n,c).map(p).concat(nn(Gc(l/f)*f,o,f).map(m)).concat(nn(Gc(t/s)*s,e,s).filter(function(b){return me(b%c)>De}).map(d)).concat(nn(Gc(a/u)*u,i,u).filter(function(b){return me(b%f)>De}).map(h))}return y.lines=function(){return v().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(o).slice(1),p(n).reverse().slice(1),m(l).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],l=+b[0][1],o=+b[1][1],r>n&&(b=r,r=n,n=b),l>o&&(b=l,l=o,o=b),y.precision(g)):[[r,l],[n,o]]},y.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],a=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),a>i&&(b=a,a=i,i=b),y.precision(g)):[[t,a],[e,i]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.stepMinor=function(b){return arguments.length?(s=+b[0],u=+b[1],y):[s,u]},y.precision=function(b){return arguments.length?(g=+b,d=l$(a,i,90),h=s$(t,e,g),p=l$(l,o,90),m=s$(r,n,g),y):g},y.extentMajor([[-180,-90+De],[180,90-De]]).extentMinor([[-180,-80-De],[180,80+De]])}var ds=e=>e,Ug=new St,Wg=new St,u$,c$,Hg,Gg,Ti={point:ft,lineStart:ft,lineEnd:ft,polygonStart:function(){Ti.lineStart=KT,Ti.lineEnd=eL},polygonEnd:function(){Ti.lineStart=Ti.lineEnd=Ti.point=ft,Ug.add(me(Wg)),Wg=new St},result:function(){var e=Ug/2;return Ug=new St,e}};function KT(){Ti.point=ZT}function ZT(e,t){Ti.point=f$,u$=Hg=e,c$=Gg=t}function f$(e,t){Wg.add(Gg*e-Hg*t),Hg=e,Gg=t}function eL(){f$(u$,c$)}var d$=Ti,No=1/0,df=No,hs=-No,hf=hs,tL={point:nL,lineStart:ft,lineEnd:ft,polygonStart:ft,polygonEnd:ft,result:function(){var e=[[No,df],[hs,hf]];return hs=hf=-(df=No=1/0),e}};function nL(e,t){e<No&&(No=e),e>hs&&(hs=e),t<df&&(df=t),t>hf&&(hf=t)}var pf=tL,Vg=0,Xg=0,ps=0,mf=0,gf=0,Ro=0,Yg=0,Jg=0,ms=0,h$,p$,pr,mr,In={point:ba,lineStart:m$,lineEnd:g$,polygonStart:function(){In.lineStart=aL,In.lineEnd=oL},polygonEnd:function(){In.point=ba,In.lineStart=m$,In.lineEnd=g$},result:function(){var e=ms?[Yg/ms,Jg/ms]:Ro?[mf/Ro,gf/Ro]:ps?[Vg/ps,Xg/ps]:[NaN,NaN];return Vg=Xg=ps=mf=gf=Ro=Yg=Jg=ms=0,e}};function ba(e,t){Vg+=e,Xg+=t,++ps}function m$(){In.point=rL}function rL(e,t){In.point=iL,ba(pr=e,mr=t)}function iL(e,t){var n=e-pr,r=t-mr,i=Ot(n*n+r*r);mf+=i*(pr+e)/2,gf+=i*(mr+t)/2,Ro+=i,ba(pr=e,mr=t)}function g$(){In.point=ba}function aL(){In.point=lL}function oL(){y$(h$,p$)}function lL(e,t){In.point=y$,ba(h$=pr=e,p$=mr=t)}function y$(e,t){var n=e-pr,r=t-mr,i=Ot(n*n+r*r);mf+=i*(pr+e)/2,gf+=i*(mr+t)/2,Ro+=i,i=mr*e-pr*t,Yg+=i*(pr+e),Jg+=i*(mr+t),ms+=i*3,ba(pr=e,mr=t)}var v$=In;function b$(e){this._context=e}b$.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Mt);break}},result:ft};var Qg=new St,Kg,x$,w$,gs,ys,yf={point:ft,lineStart:function(){yf.point=sL},lineEnd:function(){Kg&&_$(x$,w$),yf.point=ft},polygonStart:function(){Kg=!0},polygonEnd:function(){Kg=null},result:function(){var e=+Qg;return Qg=new St,e}};function sL(e,t){yf.point=_$,x$=gs=e,w$=ys=t}function _$(e,t){gs-=e,ys-=t,Qg.add(Ot(gs*gs+ys*ys)),gs=e,ys=t}var k$=yf,E$,vf,$$,A$,D$=class{constructor(e){this._append=e==null?S$:uL(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,t){switch(this._point){case 0:this._append`M${e},${t}`,this._point=1;break;case 1:this._append`L${e},${t}`;break;default:if(this._append`M${e},${t}`,this._radius!==$$||this._append!==vf){let n=this._radius,r=this._;this._="",this._append`m0,${n}a${n},${n} 0 1,1 0,${-2*n}a${n},${n} 0 1,1 0,${2*n}z`,$$=n,vf=this._append,A$=this._,this._=r}this._+=A$;break}}result(){let e=this._;return this._="",e.length?e:null}};function S$(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function uL(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return S$;if(t!==E$){let n=10**t;E$=t,vf=function(r){let i=1;this._+=r[0];for(let a=r.length;i<a;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}return vf}function F$(e,t){let n=3,r=4.5,i,a;function o(l){return l&&(typeof r=="function"&&a.pointRadius(+r.apply(this,arguments)),jr(l,i(a))),a.result()}return o.area=function(l){return jr(l,i(d$)),d$.result()},o.measure=function(l){return jr(l,i(k$)),k$.result()},o.bounds=function(l){return jr(l,i(pf)),pf.result()},o.centroid=function(l){return jr(l,i(v$)),v$.result()},o.projection=function(l){return arguments.length?(i=l==null?(e=null,ds):(e=l).stream,o):e},o.context=function(l){return arguments.length?(a=l==null?(t=null,new D$(n)):new b$(t=l),typeof r!="function"&&a.pointRadius(r),o):t},o.pointRadius=function(l){return arguments.length?(r=typeof l=="function"?l:(a.pointRadius(+l),+l),o):r},o.digits=function(l){if(!arguments.length)return n;if(l==null)n=null;else{let s=Math.floor(l);if(!(s>=0))throw RangeError(`invalid digits: ${l}`);n=s}return t===null&&(a=new D$(n)),o},o.projection(e).digits(n).context(t)}function bf(e){return function(t){var n=new Zg;for(var r in e)n[r]=e[r];return n.stream=t,n}}function Zg(){}Zg.prototype={constructor:Zg,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function e0(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),jr(n,e.stream(pf)),t(pf.result()),r!=null&&e.clipExtent(r),e}function xf(e,t,n){return e0(e,function(r){var i=t[1][0]-t[0][0],a=t[1][1]-t[0][1],o=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),l=+t[0][0]+(i-o*(r[1][0]+r[0][0]))/2,s=+t[0][1]+(a-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([l,s])},n)}function t0(e,t,n){return xf(e,[[0,0],t],n)}function n0(e,t,n){return e0(e,function(r){var i=+t,a=i/(r[1][0]-r[0][0]),o=(i-a*(r[1][0]+r[0][0]))/2,l=-a*r[0][1];e.scale(150*a).translate([o,l])},n)}function r0(e,t,n){return e0(e,function(r){var i=+t,a=i/(r[1][1]-r[0][1]),o=-a*r[0][0],l=(i-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([o,l])},n)}var C$=16,cL=ie(30*ue);function M$(e,t){return+t?dL(e,t):fL(e)}function fL(e){return bf({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function dL(e,t){function n(r,i,a,o,l,s,u,c,f,d,h,p,m,g){var y=u-r,v=c-i,b=y*y+v*v;if(b>4*t&&m--){var w=o+d,_=l+h,k=s+p,x=Ot(w*w+_*_+k*k),E=Vt(k/=x),$=me(me(k)-1)<1e-6||me(a-f)<1e-6?(a+f)/2:kn(_,w),D=e($,E),F=D[0],T=D[1],S=F-r,M=T-i,A=v*S-y*M;(A*A/b>t||me((y*S+v*M)/b-.5)>.3||o*d+l*h+s*p<cL)&&(n(r,i,a,o,l,s,F,T,$,w/=x,_/=x,k,m,g),g.point(F,T),n(F,T,$,w,_,k,u,c,f,d,h,p,m,g))}}return function(r){var i,a,o,l,s,u,c,f,d,h,p,m,g={point:y,lineStart:v,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=v}};function y(E,$){E=e(E,$),r.point(E[0],E[1])}function v(){f=NaN,g.point=b,r.lineStart()}function b(E,$){var D=ya([E,$]),F=e(E,$);n(f,d,c,h,p,m,f=F[0],d=F[1],c=E,h=D[0],p=D[1],m=D[2],C$,r),r.point(f,d)}function w(){g.point=y,r.lineEnd()}function _(){v(),g.point=k,g.lineEnd=x}function k(E,$){b(i=E,$),a=f,o=d,l=h,s=p,u=m,g.point=b}function x(){n(f,d,c,h,p,m,a,o,i,l,s,u,C$,r),g.lineEnd=w,w()}return g}}var hL=bf({point:function(e,t){this.stream.point(e*ue,t*ue)}});function pL(e){return bf({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function mL(e,t,n,r,i){function a(o,l){return o*=r,l*=i,[t+e*o,n-e*l]}return a.invert=function(o,l){return[(o-t)/e*r,(n-l)/e*i]},a}function O$(e,t,n,r,i,a){if(!a)return mL(e,t,n,r,i);var o=ie(a),l=ne(a),s=o*e,u=l*e,c=o/e,f=l/e,d=(l*n-o*t)/e,h=(l*t+o*n)/e;function p(m,g){return m*=r,g*=i,[s*m-u*g+t,n-u*m-s*g]}return p.invert=function(m,g){return[r*(c*m-f*g+d),i*(h-f*m-c*g)]},p}function gr(e){return z$(function(){return e})()}function z$(e){var t,n=150,r=480,i=250,a=0,o=0,l=0,s=0,u=0,c,f=0,d=1,h=1,p=null,m=a$,g=null,y,v,b,w=ds,_=.5,k,x,E,$,D;function F(A){return E(A[0]*ue,A[1]*ue)}function T(A){return A=E.invert(A[0],A[1]),A&&[A[0]*Ve,A[1]*Ve]}F.stream=function(A){return $&&D===A?$:$=hL(pL(c)(m(k(w(D=A)))))},F.preclip=function(A){return arguments.length?(m=A,p=void 0,M()):m},F.postclip=function(A){return arguments.length?(w=A,g=y=v=b=null,M()):w},F.clipAngle=function(A){return arguments.length?(m=+A?YT(p=A*ue):(p=null,a$),M()):p*Ve},F.clipExtent=function(A){return arguments.length?(w=A==null?(g=y=v=b=null,ds):o$(g=+A[0][0],y=+A[0][1],v=+A[1][0],b=+A[1][1]),M()):g==null?null:[[g,y],[v,b]]},F.scale=function(A){return arguments.length?(n=+A,S()):n},F.translate=function(A){return arguments.length?(r=+A[0],i=+A[1],S()):[r,i]},F.center=function(A){return arguments.length?(a=A[0]%360*ue,o=A[1]%360*ue,S()):[a*Ve,o*Ve]},F.rotate=function(A){return arguments.length?(l=A[0]%360*ue,s=A[1]%360*ue,u=A.length>2?A[2]%360*ue:0,S()):[l*Ve,s*Ve,u*Ve]},F.angle=function(A){return arguments.length?(f=A%360*ue,S()):f*Ve},F.reflectX=function(A){return arguments.length?(d=A?-1:1,S()):d<0},F.reflectY=function(A){return arguments.length?(h=A?-1:1,S()):h<0},F.precision=function(A){return arguments.length?(k=M$(x,_=A*A),M()):Ot(_)},F.fitExtent=function(A,C){return xf(F,A,C)},F.fitSize=function(A,C){return t0(F,A,C)},F.fitWidth=function(A,C){return n0(F,A,C)},F.fitHeight=function(A,C){return r0(F,A,C)};function S(){var A=O$(n,0,0,d,h,f).apply(null,t(a,o)),C=O$(n,r-A[0],i-A[1],d,h,f);return c=JE(l,s,u),x=Ig(t,C),E=Ig(c,x),k=M$(x,_),M()}function M(){return $=D=null,F}return function(){return t=e.apply(this,arguments),F.invert=t.invert&&T,S()}}function i0(e){var t=0,n=fe/3,r=z$(e),i=r(t,n);return i.parallels=function(a){return arguments.length?r(t=a[0]*ue,n=a[1]*ue):[t*Ve,n*Ve]},i}function gL(e){var t=ie(e);function n(r,i){return[r*t,ne(i)/t]}return n.invert=function(r,i){return[r/t,Vt(i*t)]},n}function yL(e,t){var n=ne(e),r=(n+ne(t))/2;if(me(r)<1e-6)return gL(e);var i=1+n*(2*r-n),a=Ot(i)/r;function o(l,s){var u=Ot(i-2*r*ne(s))/r;return[u*ne(l*=r),a-u*ie(l)]}return o.invert=function(l,s){var u=a-s,c=kn(l,me(u))*En(u);return u*r<0&&(c-=fe*En(l)*En(u)),[c/r,Vt((i-(l*l+u*u)*r*r)/(2*r))]},o}function wf(){return i0(yL).scale(155.424).center([0,33.6442])}function N$(){return wf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function vL(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function bL(){var e,t,n=N$(),r,i=wf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=wf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l,s,u={point:function(d,h){s=[d,h]}};function c(d){var h=d[0],p=d[1];return s=null,r.point(h,p),s||(a.point(h,p),s)||(l.point(h,p),s)}c.invert=function(d){var h=n.scale(),p=n.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?o:n).invert(d)},c.stream=function(d){return e&&t===d?e:e=vL([n.stream(t=d),i.stream(d),o.stream(d)])},c.precision=function(d){return arguments.length?(n.precision(d),i.precision(d),o.precision(d),f()):n.precision()},c.scale=function(d){return arguments.length?(n.scale(d),i.scale(d*.35),o.scale(d),c.translate(n.translate())):n.scale()},c.translate=function(d){if(!arguments.length)return n.translate();var h=n.scale(),p=+d[0],m=+d[1];return r=n.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(u),a=i.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+De,m+.12*h+De],[p-.214*h-De,m+.234*h-De]]).stream(u),l=o.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+De,m+.166*h+De],[p-.115*h-De,m+.234*h-De]]).stream(u),f()},c.fitExtent=function(d,h){return xf(c,d,h)},c.fitSize=function(d,h){return t0(c,d,h)},c.fitWidth=function(d,h){return n0(c,d,h)},c.fitHeight=function(d,h){return r0(c,d,h)};function f(){return e=t=null,c}return c.scale(1070)}function R$(e){return function(t,n){var r=ie(t),i=ie(n),a=e(r*i);return a===1/0?[2,0]:[a*i*ne(t),a*ne(n)]}}function vs(e){return function(t,n){var r=Ot(t*t+n*n),i=e(r),a=ne(i),o=ie(i);return[kn(t*a,r*o),Vt(r&&n*a/r)]}}var T$=R$(function(e){return Ot(2/(1+e))});T$.invert=vs(function(e){return 2*Vt(e/2)});function xL(){return gr(T$).scale(124.75).clipAngle(179.999)}var L$=R$(function(e){return(e=ME(e))&&e/ne(e)});L$.invert=vs(function(e){return e});function wL(){return gr(L$).scale(79.4188).clipAngle(179.999)}function _f(e,t){return[e,Vc(Fg((Ue+t)/2))]}_f.invert=function(e,t){return[e,2*Mo(CE(t))-Ue]};function _L(){return P$(_f).scale(961/Mt)}function P$(e){var t=gr(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,l,s,u;t.scale=function(f){return arguments.length?(r(f),c()):r()},t.translate=function(f){return arguments.length?(i(f),c()):i()},t.center=function(f){return arguments.length?(n(f),c()):n()},t.clipExtent=function(f){return arguments.length?(f==null?o=l=s=u=null:(o=+f[0][0],l=+f[0][1],s=+f[1][0],u=+f[1][1]),c()):o==null?null:[[o,l],[s,u]]};function c(){var f=fe*r(),d=t(jT(t.rotate()).invert([0,0]));return a(o==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===_f?[[Math.max(d[0]-f,o),l],[Math.min(d[0]+f,s),u]]:[[o,Math.max(d[1]-f,l)],[s,Math.min(d[1]+f,u)]])}return c()}function kf(e){return Fg((Ue+e)/2)}function kL(e,t){var n=ie(e),r=e===t?ne(e):Vc(n/ie(t))/Vc(kf(t)/kf(e)),i=n*Sg(kf(e),r)/r;if(!r)return _f;function a(o,l){i>0?l<-Ue+1e-6&&(l=-Ue+De):l>Ue-1e-6&&(l=Ue-De);var s=i/Sg(kf(l),r);return[s*ne(r*o),i-s*ie(r*o)]}return a.invert=function(o,l){var s=i-l,u=En(r)*Ot(o*o+s*s),c=kn(o,me(s))*En(s);return s*r<0&&(c-=fe*En(o)*En(s)),[c/r,2*Mo(Sg(i/u,1/r))-Ue]},a}function EL(){return i0(kL).scale(109.5).parallels([30,30])}function Ef(e,t){return[e,t]}Ef.invert=Ef;function $L(){return gr(Ef).scale(152.63)}function AL(e,t){var n=ie(e),r=e===t?ne(e):(n-ie(t))/(t-e),i=n/r+e;if(me(r)<1e-6)return Ef;function a(o,l){var s=i-l,u=r*o;return[s*ne(u),i-s*ie(u)]}return a.invert=function(o,l){var s=i-l,u=kn(o,me(s))*En(s);return s*r<0&&(u-=fe*En(o)*En(s)),[u/r,i-En(r)*Ot(o*o+s*s)]},a}function DL(){return i0(AL).scale(131.154).center([0,13.9389])}var bs=1.340264,xs=-.081106,ws=893e-6,_s=.003796,$f=Ot(3)/2,SL=12;function B$(e,t){var n=Vt($f*ne(t)),r=n*n,i=r*r*r;return[e*ie(n)/($f*(bs+3*xs*r+i*(7*ws+9*_s*r))),n*(bs+xs*r+i*(ws+_s*r))]}B$.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,l,s;a<SL&&(l=n*(bs+xs*r+i*(ws+_s*r))-t,s=bs+3*xs*r+i*(7*ws+9*_s*r),n-=o=l/s,r=n*n,i=r*r*r,!(me(o)<1e-12));++a);return[$f*e*(bs+3*xs*r+i*(7*ws+9*_s*r))/ie(n),Vt(ne(n)/$f)]};function FL(){return gr(B$).scale(177.158)}function I$(e,t){var n=ie(t),r=ie(e)*n;return[n*ne(e)/r,ne(t)/r]}I$.invert=vs(Mo);function CL(){return gr(I$).scale(144.049).clipAngle(60)}function ML(){var e=1,t=0,n=0,r=1,i=1,a=0,o,l,s=null,u,c,f,d=1,h=1,p=bf({point:function(w,_){var k=b([w,_]);this.stream.point(k[0],k[1])}}),m=ds,g,y;function v(){return d=e*r,h=e*i,g=y=null,b}function b(w){var _=w[0]*d,k=w[1]*h;if(a){var x=k*o-_*l;_=_*o+k*l,k=x}return[_+t,k+n]}return b.invert=function(w){var _=w[0]-t,k=w[1]-n;if(a){var x=k*o+_*l;_=_*o-k*l,k=x}return[_/d,k/h]},b.stream=function(w){return g&&y===w?g:g=p(m(y=w))},b.postclip=function(w){return arguments.length?(m=w,s=u=c=f=null,v()):m},b.clipExtent=function(w){return arguments.length?(m=w==null?(s=u=c=f=null,ds):o$(s=+w[0][0],u=+w[0][1],c=+w[1][0],f=+w[1][1]),v()):s==null?null:[[s,u],[c,f]]},b.scale=function(w){return arguments.length?(e=+w,v()):e},b.translate=function(w){return arguments.length?(t=+w[0],n=+w[1],v()):[t,n]},b.angle=function(w){return arguments.length?(a=w%360*ue,l=ne(a),o=ie(a),v()):a*Ve},b.reflectX=function(w){return arguments.length?(r=w?-1:1,v()):r<0},b.reflectY=function(w){return arguments.length?(i=w?-1:1,v()):i<0},b.fitExtent=function(w,_){return xf(b,w,_)},b.fitSize=function(w,_){return t0(b,w,_)},b.fitWidth=function(w,_){return n0(b,w,_)},b.fitHeight=function(w,_){return r0(b,w,_)},b}function j$(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}j$.invert=function(e,t){var n=t,r=25,i;do{var a=n*n,o=a*a;n-=i=(n*(1.007226+a*(.015085+o*(-.044475+.028874*a-.005916*o)))-t)/(1.007226+a*(.015085*3+o*(-.044475*7+.028874*9*a-.005916*11*o)))}while(me(i)>1e-6&&--r>0);return[e/(.8707+(a=n*n)*(-.131979+a*(-.013791+a*a*a*(.003971-.001529*a)))),n]};function OL(){return gr(j$).scale(175.295)}function q$(e,t){return[ie(t)*ne(e),ne(t)]}q$.invert=vs(Vt);function zL(){return gr(q$).scale(249.5).clipAngle(90+De)}function U$(e,t){var n=ie(t),r=1+ie(e)*n;return[n*ne(e)/r,ne(t)/r]}U$.invert=vs(function(e){return 2*Mo(e)});function NL(){return gr(U$).scale(250).clipAngle(142)}function W$(e,t){return[Vc(Fg((Ue+t)/2)),-e]}W$.invert=function(e,t){return[-t,2*Mo(CE(e))-Ue]};function RL(){var e=P$(W$),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}var TL=Math.abs,a0=Math.cos,Af=Math.sin,To=Math.PI,o0=To/2;To/4;var H$=LL(2);To*2,180/To,To/180;function G$(e){return e>1?o0:e<-1?-o0:Math.asin(e)}function LL(e){return e>0?Math.sqrt(e):0}function PL(e,t){var n=e*Af(t),r=30,i;do t-=i=(t+Af(t)-n)/(1+a0(t));while(TL(i)>1e-6&&--r>0);return t/2}function BL(e,t,n){function r(i,a){return[e*i*a0(a=PL(n,a)),t*Af(a)]}return r.invert=function(i,a){return a=G$(a/t),[i/(e*a0(a)),G$((2*a+Af(2*a))/n)]},r}var IL=BL(H$/o0,H$,To);function jL(){return gr(IL).scale(169.529)}var qL=F$(),l0=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function UL(e,t){return function n(){let r=t();return r.type=e,r.path=F$().projection(r),r.copy=r.copy||function(){let i=n();return l0.forEach(a=>{r[a]&&i[a](r[a]())}),i.path.pointRadius(r.path.pointRadius()),i},Vw(r)}}function s0(e,t){if(!e||typeof e!="string")throw Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(Df[e]=UL(e,t),this):Df[e]||null}function V$(e){return e&&e.path||qL}var Df={albers:N$,albersusa:bL,azimuthalequalarea:xL,azimuthalequidistant:wL,conicconformal:EL,conicequalarea:wf,conicequidistant:DL,equalEarth:FL,equirectangular:$L,gnomonic:CL,identity:ML,mercator:_L,mollweide:jL,naturalEarth1:OL,orthographic:zL,stereographic:NL,transversemercator:RL};for(let e in Df)s0(e,Df[e]);var WL=Gt({contour:()=>d0,geojson:()=>m0,geopath:()=>g0,geopoint:()=>y0,geoshape:()=>v0,graticule:()=>b0,heatmap:()=>x0,isocontour:()=>u0,kde2d:()=>f0,projection:()=>tA});function HL(){}var Wr=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function X$(){var e=1,t=1,n=l;function r(s,u){return u.map(c=>i(s,c))}function i(s,u){var c=[],f=[];return a(s,u,d=>{n(d,s,u),GL(d)>0?c.push([d]):f.push(d)}),f.forEach(d=>{for(var h=0,p=c.length,m;h<p;++h)if(VL((m=c[h])[0],d)!==-1){m.push(d);return}}),{type:"MultiPolygon",value:u,coordinates:c}}function a(s,u,c){var f=[],d=[],h=p=-1,p,m,g=s[0]>=u,y,v;for(Wr[g<<1].forEach(b);++h<e-1;)m=g,g=s[h+1]>=u,Wr[m|g<<1].forEach(b);for(Wr[g<<0].forEach(b);++p<t-1;){for(h=-1,g=s[p*e+e]>=u,y=s[p*e]>=u,Wr[g<<1|y<<2].forEach(b);++h<e-1;)m=g,g=s[p*e+e+h+1]>=u,v=y,y=s[p*e+h+1]>=u,Wr[m|g<<1|y<<2|v<<3].forEach(b);Wr[g|y<<3].forEach(b)}for(h=-1,y=s[p*e]>=u,Wr[y<<2].forEach(b);++h<e-1;)v=y,y=s[p*e+h+1]>=u,Wr[y<<2|v<<3].forEach(b);Wr[y<<3].forEach(b);function b(w){var _=[w[0][0]+h,w[0][1]+p],k=[w[1][0]+h,w[1][1]+p],x=o(_),E=o(k),$,D;($=d[x])?(D=f[E])?(delete d[$.end],delete f[D.start],$===D?($.ring.push(k),c($.ring)):f[$.start]=d[D.end]={start:$.start,end:D.end,ring:$.ring.concat(D.ring)}):(delete d[$.end],$.ring.push(k),d[$.end=E]=$):($=f[E])?(D=d[x])?(delete f[$.start],delete d[D.end],$===D?($.ring.push(k),c($.ring)):f[D.start]=d[$.end]={start:D.start,end:$.end,ring:D.ring.concat($.ring)}):(delete f[$.start],$.ring.unshift(_),f[$.start=x]=$):f[x]=d[E]={start:x,end:E,ring:[_,k]}}}function o(s){return s[0]*2+s[1]*(e+1)*4}function l(s,u,c){s.forEach(f=>{var d=f[0],h=f[1],p=d|0,m=h|0,g,y=u[m*e+p];d>0&&d<e&&p===d&&(g=u[m*e+p-1],f[0]=d+(c-g)/(y-g)-.5),h>0&&h<t&&m===h&&(g=u[(m-1)*e+p],f[1]=h+(c-g)/(y-g)-.5)})}return r.contour=i,r.size=function(s){if(!arguments.length)return[e,t];var u=Math.floor(s[0]),c=Math.floor(s[1]);return u>=0&&c>=0||L("invalid size"),e=u,t=c,r},r.smooth=function(s){return arguments.length?(n=s?l:HL,r):n===l},r}function GL(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}function VL(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=XL(e,t[n]))return i;return 0}function XL(e,t){for(var n=t[0],r=t[1],i=-1,a=0,o=e.length,l=o-1;a<o;l=a++){var s=e[a],u=s[0],c=s[1],f=e[l],d=f[0],h=f[1];if(YL(s,f,t))return 0;c>r!=h>r&&n<(d-u)*(r-c)/(h-c)+u&&(i=-i)}return i}function YL(e,t,n){var r;return JL(e,t,n)&&QL(e[r=+(e[0]===t[0])],n[r],t[r])}function JL(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function QL(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function Y$(e,t,n){return function(r){var i=sr(r),a=n?Math.min(i[0],0):i[0],o=i[1],l=o-a,s=t?i2(a,o,e):l/(e+1);return nn(a+s,o,s)}}function u0(e){O.call(this,null,e)}u0.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},G(u0,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=e.field||vn,a=X$().smooth(e.smooth!==!1),o=e.thresholds||KL(r,i,e),l=e.as===null?null:e.as||"contour",s=[];return r.forEach(u=>{let c=i(u),f=a.size([c.width,c.height])(c.values,N(o)?o:o(c.values));ZL(f,c,u,e),f.forEach(d=>{s.push(Uu(u,_e(l==null?d:{[l]:d})))})}),this.value&&(n.rem=this.value),this.value=n.source=n.add=s,n}});function KL(e,t,n){let r=Y$(n.levels||10,n.nice,n.zero!==!1);return n.resolve==="shared"?r(e.map(i=>oa(t(i).values))):r}function ZL(e,t,n,r){let i=r.scale||t.scale,a=r.translate||t.translate;if(de(i)&&(i=i(n,r)),de(a)&&(a=a(n,r)),(i===1||i==null)&&!a)return;let o=(we(i)?i:i[0])||1,l=(we(i)?i:i[1])||1,s=a&&a[0]||0,u=a&&a[1]||0;e.forEach(J$(t,o,l,s,u))}function J$(e,t,n,r,i){let a=e.x1||0,o=e.y1||0,l=t*n<0;function s(f){f.forEach(u)}function u(f){l&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-a)*t+r,f[1]=(f[1]-o)*n+i}return function(f){return f.coordinates.forEach(s),f}}function Q$(e,t,n){let r=e>=0?e:pp(t,n);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function c0(e){return de(e)?e:At(+e)}function K$(){var e=s=>s[0],t=s=>s[1],n=Fl,r=[-1,-1],i=960,a=500,o=2;function l(s,u){let c=Q$(r[0],s,e)>>o,f=Q$(r[1],s,t)>>o,d=c?c+2:0,h=f?f+2:0,p=2*d+(i>>o),m=2*h+(a>>o),g=new Float32Array(p*m),y=new Float32Array(p*m),v=g;s.forEach(w=>{let _=d+(+e(w)>>o),k=h+(+t(w)>>o);_>=0&&_<p&&k>=0&&k<m&&(g[_+k*p]+=+n(w))}),c>0&&f>0?(Lo(p,m,g,y,c),Po(p,m,y,g,f),Lo(p,m,g,y,c),Po(p,m,y,g,f),Lo(p,m,g,y,c),Po(p,m,y,g,f)):c>0?(Lo(p,m,g,y,c),Lo(p,m,y,g,c),Lo(p,m,g,y,c),v=y):f>0&&(Po(p,m,g,y,f),Po(p,m,y,g,f),Po(p,m,g,y,f),v=y);let b=u?2**(-2*o):1/x2(v);for(let w=0,_=p*m;w<_;++w)v[w]*=b;return{values:v,scale:1<<o,width:p,height:m,x1:d,y1:h,x2:d+(i>>o),y2:h+(a>>o)}}return l.x=function(s){return arguments.length?(e=c0(s),l):e},l.y=function(s){return arguments.length?(t=c0(s),l):t},l.weight=function(s){return arguments.length?(n=c0(s),l):n},l.size=function(s){if(!arguments.length)return[i,a];var u=+s[0],c=+s[1];return u>=0&&c>=0||L("invalid size"),i=u,a=c,l},l.cellSize=function(s){return arguments.length?((s=+s)>=1||L("invalid cell size"),o=Math.floor(Math.log(s)/Math.LN2),l):1<<o},l.bandwidth=function(s){return arguments.length?(s=Q(s),s.length===1&&(s=[+s[0],+s[0]]),s.length!==2&&L("invalid bandwidth"),r=s,l):r},l}function Lo(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<t;++o)for(let l=0,s=0;l<e+i;++l)l<e&&(s+=n[l+o*e]),l>=i&&(l>=a&&(s-=n[l-a+o*e]),r[l-i+o*e]=s/Math.min(l+1,e-1+a-l,a))}function Po(e,t,n,r,i){let a=(i<<1)+1;for(let o=0;o<e;++o)for(let l=0,s=0;l<t+i;++l)l<t&&(s+=n[o+l*e]),l>=i&&(l>=a&&(s-=n[o+(l-a)*e]),r[o+(l-i)*e]=s/Math.min(l+1,t-1+a-l,a))}function f0(e){O.call(this,null,e)}f0.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};var eP=["x","y","weight","size","cellSize","bandwidth"];function Z$(e,t){return eP.forEach(n=>t[n]==null?0:e[n](t[n])),e}G(f0,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=t.materialize(t.SOURCE).source,i=tP(r,e.groupby),a=(e.groupby||[]).map(qe),o=Z$(K$(),e),l=e.as||"grid",s=[];function u(c,f){for(let d=0;d<a.length;++d)c[a[d]]=f[d];return c}return s=i.map(c=>_e(u({[l]:o(c,e.counts)},c.dims))),this.value&&(n.rem=this.value),this.value=n.source=n.add=s,n}});function tP(e,t){var n=[],r=c=>c(l),i,a,o,l,s,u;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],s=t.map(r),u=i[s],u||(i[s]=u=[],u.dims=s,n.push(u)),u.push(l);return n}function d0(e){O.call(this,null,e)}d0.Definition={type:"Contour",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"values",type:"number",array:!0},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"thresholds",type:"number",array:!0},{name:"smooth",type:"boolean",default:!0}]},G(d0,O,{transform(e,t){if(this.value&&!t.changed()&&!e.modified())return t.StopPropagation;var n=t.fork(t.NO_SOURCE|t.NO_FIELDS),r=X$().smooth(e.smooth!==!1),i=e.values,a=e.thresholds||Y$(e.count||10,e.nice,!!i),o=e.size,l,s;return i||(i=(i=t.materialize(t.SOURCE).source,l=Z$(K$(),e)(i,!0),s=J$(l,l.scale||1,l.scale||1,0,0),o=[l.width,l.height],l.values)),a=N(a)?a:a(i),i=r.size(o)(i,a),s&&i.forEach(s),this.value&&(n.rem=this.value),this.value=n.source=n.add=(i||[]).map(_e),n}});var h0="Feature",p0="FeatureCollection",nP="MultiPoint";function m0(e){O.call(this,null,e)}m0.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},G(m0,O,{transform(e,t){var n=this._features,r=this._points,i=e.fields,a=i&&i[0],o=i&&i[1],l=e.geojson||!i&&vn,s=t.ADD,u=e.modified()||t.changed(t.REM)||t.modified($t(l))||a&&t.modified($t(a))||o&&t.modified($t(o));(!this.value||u)&&(s=t.SOURCE,this._features=n=[],this._points=r=[]),l&&t.visit(s,c=>n.push(l(c))),a&&o&&(t.visit(s,c=>{var f=a(c),d=o(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&r.push([f,d])}),n=n.concat({type:h0,geometry:{type:nP,coordinates:r}})),this.value={type:p0,features:n}}});function g0(e){O.call(this,null,e)}g0.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},G(g0,O,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.field||vn,a=e.as||"path",o=n.SOURCE;!r||e.modified()?(this.value=r=V$(e.projection),n.materialize().reflow()):o=i===vn||t.modified(i.fields)?n.ADD_MOD:n.ADD;let l=rP(r,e.pointRadius);return n.visit(o,s=>s[a]=r(i(s))),r.pointRadius(l),n.modifies(a)}});function rP(e,t){let n=e.pointRadius();return e.context(null),t!=null&&e.pointRadius(t),n}function y0(e){O.call(this,null,e)}y0.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},G(y0,O,{transform(e,t){var n=e.projection,r=e.fields[0],i=e.fields[1],a=e.as||["x","y"],o=a[0],l=a[1],s;function u(c){let f=n([r(c),i(c)]);f?(c[o]=f[0],c[l]=f[1]):(c[o]=void 0,c[l]=void 0)}return e.modified()?t=t.materialize().reflow(!0).visit(t.SOURCE,u):(s=t.modified(r.fields)||t.modified(i.fields),t.visit(s?t.ADD_MOD:t.ADD,u)),t.modifies(a)}});function v0(e){O.call(this,null,e)}v0.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},G(v0,O,{transform(e,t){var n=t.fork(t.ALL),r=this.value,i=e.as||"shape",a=n.ADD;return(!r||e.modified())&&(this.value=r=iP(V$(e.projection),e.field||Tr("datum"),e.pointRadius),n.materialize().reflow(),a=n.SOURCE),n.visit(a,o=>o[i]=r),n.modifies(i)}});function iP(e,t,n){let r=n==null?i=>e(t(i)):i=>{var a=e.pointRadius(),o=e.pointRadius(n)(t(i));return e.pointRadius(a),o};return r.context=i=>(e.context(i),r),r}function b0(e){O.call(this,[],e),this.generator=QT()}b0.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},G(b0,O,{transform(e,t){var n=this.value,r=this.generator,i;if(!n.length||e.modified())for(let a in e)de(r[a])&&r[a](e[a]);return i=r(),n.length?t.mod.push(k2(n[0],i)):t.add.push(_e(i)),n[0]=i,t}});function x0(e){O.call(this,null,e)}x0.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},G(x0,O,{transform(e,t){if(!t.changed()&&!e.modified())return t.StopPropagation;var n=t.materialize(t.SOURCE).source,r=e.resolve==="shared",i=e.field||vn,a=oP(e.opacity,e),o=aP(e.color,e),l=e.as||"image",s={$x:0,$y:0,$value:0,$max:r?oa(n.map(u=>oa(i(u).values))):0};return n.forEach(u=>{let c=i(u),f=he({},u,s);r||(f.$max=oa(c.values||[])),u[l]=lP(c,f,o.dep?o:At(o(f)),a.dep?a:At(a(f)))}),t.reflow(!0).modifies(l)}});function aP(e,t){let n;return de(e)?(n=r=>Lu(e(r,t)),n.dep=eA(e)):n=At(Lu(e||"#888")),n}function oP(e,t){let n;return de(e)?(n=r=>e(r,t),n.dep=eA(e)):e?n=At(e):(n=r=>r.$value/r.$max||0,n.dep=!0),n}function eA(e){if(!de(e))return!1;let t=lr($t(e));return t.$x||t.$y||t.$value||t.$max}function lP(e,t,n,r){let i=e.width,a=e.height,o=e.x1||0,l=e.y1||0,s=e.x2||i,u=e.y2||a,c=e.values,f=c?g=>c[g]:Wh,d=xi(s-o,u-l),h=d.getContext("2d"),p=h.getImageData(0,0,s-o,u-l),m=p.data;for(let g=l,y=0;g<u;++g){t.$y=g-l;for(let v=o,b=g*i;v<s;++v,y+=4){t.$x=v-o,t.$value=f(v+b);let w=n(t);m[y+0]=w.r,m[y+1]=w.g,m[y+2]=w.b,m[y+3]=~~(255*r(t))}}return h.putImageData(p,0,0),d}function tA(e){O.call(this,null,e),this.modified(!0)}G(tA,O,{transform(e,t){let n=this.value;return!n||e.modified("type")?(this.value=n=uP(e.type),l0.forEach(r=>{e[r]!=null&&nA(n,r,e[r])})):l0.forEach(r=>{e.modified(r)&&nA(n,r,e[r])}),e.pointRadius!=null&&n.path.pointRadius(e.pointRadius),e.fit&&sP(n,e),t.fork(t.NO_SOURCE|t.NO_FIELDS)}});function sP(e,t){let n=cP(t.fit);t.extent?e.fitExtent(t.extent,n):t.size&&e.fitSize(t.size,n)}function uP(e){let t=s0((e||"mercator").toLowerCase());return t||L("Unrecognized projection type: "+e),t()}function nA(e,t,n){de(e[t])&&e[t](n)}function cP(e){return e=Q(e),e.length===1?e[0]:{type:p0,features:e.reduce((t,n)=>t.concat(fP(n)),[])}}function fP(e){return e.type===p0?e.features:Q(e).filter(t=>t!=null).map(t=>t.type===h0?t:{type:h0,geometry:t})}function dP(e,t){var n,r=1;e??(e=0),t??(t=0);function i(){var a,o=n.length,l,s=0,u=0;for(a=0;a<o;++a)l=n[a],s+=l.x,u+=l.y;for(s=(s/o-e)*r,u=(u/o-t)*r,a=0;a<o;++a)l=n[a],l.x-=s,l.y-=u}return i.initialize=function(a){n=a},i.x=function(a){return arguments.length?(e=+a,i):e},i.y=function(a){return arguments.length?(t=+a,i):t},i.strength=function(a){return arguments.length?(r=+a,i):r},i}function hP(e){let t=+this._x.call(null,e),n=+this._y.call(null,e);return rA(this.cover(t,n),t,n,e)}function rA(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,a=e._root,o={data:r},l=e._x0,s=e._y0,u=e._x1,c=e._y1,f,d,h,p,m,g,y,v;if(!a)return e._root=o,e;for(;a.length;)if((m=t>=(f=(l+u)/2))?l=f:u=f,(g=n>=(d=(s+c)/2))?s=d:c=d,i=a,!(a=a[y=g<<1|m]))return i[y]=o,e;if(h=+e._x.call(null,a.data),p=+e._y.call(null,a.data),t===h&&n===p)return o.next=a,i?i[y]=o:e._root=o,e;do i=i?i[y]=[,,,,]:e._root=[,,,,],(m=t>=(f=(l+u)/2))?l=f:u=f,(g=n>=(d=(s+c)/2))?s=d:c=d;while((y=g<<1|m)==(v=(p>=d)<<1|h>=f));return i[v]=a,i[y]=o,e}function pP(e){var t,n,r=e.length,i,a,o=Array(r),l=Array(r),s=1/0,u=1/0,c=-1/0,f=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(a=+this._y.call(null,t))||(o[n]=i,l[n]=a,i<s&&(s=i),i>c&&(c=i),a<u&&(u=a),a>f&&(f=a));if(s>c||u>f)return this;for(this.cover(s,u).cover(c,f),n=0;n<r;++n)rA(this,o[n],l[n],e[n]);return this}function mP(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,a=(r=Math.floor(t))+1;else{for(var o=i-n||1,l=this._root,s,u;n>e||e>=i||r>t||t>=a;)switch(u=(t<r)<<1|e<n,s=[,,,,],s[u]=l,l=s,o*=2,u){case 0:i=n+o,a=r+o;break;case 1:n=i-o,a=r+o;break;case 2:i=n+o,r=a-o;break;case 3:n=i-o,r=a-o;break}this._root&&this._root.length&&(this._root=l)}return this._x0=n,this._y0=r,this._x1=i,this._y1=a,this}function gP(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function yP(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function Tt(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function vP(e,t,n){var r,i=this._x0,a=this._y0,o,l,s,u,c=this._x1,f=this._y1,d=[],h=this._root,p,m;for(h&&d.push(new Tt(h,i,a,c,f)),n==null?n=1/0:(i=e-n,a=t-n,c=e+n,f=t+n,n*=n);p=d.pop();)if(!(!(h=p.node)||(o=p.x0)>c||(l=p.y0)>f||(s=p.x1)<i||(u=p.y1)<a))if(h.length){var g=(o+s)/2,y=(l+u)/2;d.push(new Tt(h[3],g,y,s,u),new Tt(h[2],o,y,g,u),new Tt(h[1],g,l,s,y),new Tt(h[0],o,l,g,y)),(m=(t>=y)<<1|e>=g)&&(p=d[d.length-1],d[d.length-1]=d[d.length-1-m],d[d.length-1-m]=p)}else{var v=e-+this._x.call(null,h.data),b=t-+this._y.call(null,h.data),w=v*v+b*b;if(w<n){var _=Math.sqrt(n=w);i=e-_,a=t-_,c=e+_,f=t+_,r=h.data}}return r}function bP(e){if(isNaN(c=+this._x.call(null,e))||isNaN(f=+this._y.call(null,e)))return this;var t,n=this._root,r,i,a,o=this._x0,l=this._y0,s=this._x1,u=this._y1,c,f,d,h,p,m,g,y;if(!n)return this;if(n.length)for(;;){if((p=c>=(d=(o+s)/2))?o=d:s=d,(m=f>=(h=(l+u)/2))?l=h:u=h,t=n,!(n=n[g=m<<1|p]))return this;if(!n.length)break;(t[g+1&3]||t[g+2&3]||t[g+3&3])&&(r=t,y=g)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(a=n.next)&&delete n.next,i?(a?i.next=a:delete i.next,this):t?(a?t[g]=a:delete t[g],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=a,this)}function xP(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function wP(){return this._root}function _P(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function kP(e){var t=[],n,r=this._root,i,a,o,l,s;for(r&&t.push(new Tt(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,a=n.x0,o=n.y0,l=n.x1,s=n.y1)&&r.length){var u=(a+l)/2,c=(o+s)/2;(i=r[3])&&t.push(new Tt(i,u,c,l,s)),(i=r[2])&&t.push(new Tt(i,a,c,u,s)),(i=r[1])&&t.push(new Tt(i,u,o,l,c)),(i=r[0])&&t.push(new Tt(i,a,o,u,c))}return this}function EP(e){var t=[],n=[],r;for(this._root&&t.push(new Tt(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var a,o=r.x0,l=r.y0,s=r.x1,u=r.y1,c=(o+s)/2,f=(l+u)/2;(a=i[0])&&t.push(new Tt(a,o,l,c,f)),(a=i[1])&&t.push(new Tt(a,c,l,s,f)),(a=i[2])&&t.push(new Tt(a,o,f,c,u)),(a=i[3])&&t.push(new Tt(a,c,f,s,u))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function $P(e){return e[0]}function AP(e){return arguments.length?(this._x=e,this):this._x}function DP(e){return e[1]}function SP(e){return arguments.length?(this._y=e,this):this._y}function w0(e,t,n){var r=new _0(t??$P,n??DP,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function _0(e,t,n,r,i,a){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function iA(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var Lt=w0.prototype=_0.prototype;Lt.copy=function(){var e=new _0(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=iA(t),e;for(n=[{source:t,target:e._root=[,,,,]}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=[,,,,]}):t.target[i]=iA(r));return e},Lt.add=hP,Lt.addAll=pP,Lt.cover=mP,Lt.data=gP,Lt.extent=yP,Lt.find=vP,Lt.remove=bP,Lt.removeAll=xP,Lt.root=wP,Lt.size=_P,Lt.visit=kP,Lt.visitAfter=EP,Lt.x=AP,Lt.y=SP;function Pt(e){return function(){return e}}function Li(e){return(e()-.5)*1e-6}function FP(e){return e.x+e.vx}function CP(e){return e.y+e.vy}function MP(e){var t,n,r,i=1,a=1;typeof e!="function"&&(e=Pt(e==null?1:+e));function o(){for(var u,c=t.length,f,d,h,p,m,g,y=0;y<a;++y)for(f=w0(t,FP,CP).visitAfter(l),u=0;u<c;++u)d=t[u],m=n[d.index],g=m*m,h=d.x+d.vx,p=d.y+d.vy,f.visit(v);function v(b,w,_,k,x){var E=b.data,$=b.r,D=m+$;if(E){if(E.index>d.index){var F=h-E.x-E.vx,T=p-E.y-E.vy,S=F*F+T*T;S<D*D&&(F===0&&(F=Li(r),S+=F*F),T===0&&(T=Li(r),S+=T*T),S=(D-(S=Math.sqrt(S)))/S*i,d.vx+=(F*=S)*(D=($*=$)/(g+$)),d.vy+=(T*=S)*D,E.vx-=F*(D=1-D),E.vy-=T*D)}return}return w>h+D||k<h-D||_>p+D||x<p-D}}function l(u){if(u.data)return u.r=n[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function s(){if(t){var u,c=t.length,f;for(n=Array(c),u=0;u<c;++u)f=t[u],n[f.index]=+e(f,u,t)}}return o.initialize=function(u,c){t=u,r=c,s()},o.iterations=function(u){return arguments.length?(a=+u,o):a},o.strength=function(u){return arguments.length?(i=+u,o):i},o.radius=function(u){return arguments.length?(e=typeof u=="function"?u:Pt(+u),s(),o):e},o}function OP(e){return e.index}function aA(e,t){var n=e.get(t);if(!n)throw Error("node not found: "+t);return n}function zP(e){var t=OP,n=f,r,i=Pt(30),a,o,l,s,u,c=1;e??(e=[]);function f(g){return 1/Math.min(l[g.source.index],l[g.target.index])}function d(g){for(var y=0,v=e.length;y<c;++y)for(var b=0,w,_,k,x,E,$,D;b<v;++b)w=e[b],_=w.source,k=w.target,x=k.x+k.vx-_.x-_.vx||Li(u),E=k.y+k.vy-_.y-_.vy||Li(u),$=Math.sqrt(x*x+E*E),$=($-a[b])/$*g*r[b],x*=$,E*=$,k.vx-=x*(D=s[b]),k.vy-=E*D,_.vx+=x*(D=1-D),_.vy+=E*D}function h(){if(o){var g,y=o.length,v=e.length,b=new Map(o.map((_,k)=>[t(_,k,o),_])),w;for(g=0,l=Array(y);g<v;++g)w=e[g],w.index=g,typeof w.source!="object"&&(w.source=aA(b,w.source)),typeof w.target!="object"&&(w.target=aA(b,w.target)),l[w.source.index]=(l[w.source.index]||0)+1,l[w.target.index]=(l[w.target.index]||0)+1;for(g=0,s=Array(v);g<v;++g)w=e[g],s[g]=l[w.source.index]/(l[w.source.index]+l[w.target.index]);r=Array(v),p(),a=Array(v),m()}}function p(){if(o)for(var g=0,y=e.length;g<y;++g)r[g]=+n(e[g],g,e)}function m(){if(o)for(var g=0,y=e.length;g<y;++g)a[g]=+i(e[g],g,e)}return d.initialize=function(g,y){o=g,u=y,h()},d.links=function(g){return arguments.length?(e=g,h(),d):e},d.id=function(g){return arguments.length?(t=g,d):t},d.iterations=function(g){return arguments.length?(c=+g,d):c},d.strength=function(g){return arguments.length?(n=typeof g=="function"?g:Pt(+g),p(),d):n},d.distance=function(g){return arguments.length?(i=typeof g=="function"?g:Pt(+g),m(),d):i},d}var NP=1664525,RP=1013904223,oA=4294967296;function TP(){let e=1;return()=>(e=(NP*e+RP)%oA)/oA}function LP(e){return e.x}function PP(e){return e.y}var BP=10,IP=Math.PI*(3-Math.sqrt(5));function jP(e){var t,n=1,r=.001,i=1-r**(1/300),a=0,o=.6,l=new Map,s=cO(f),u=aO("tick","end"),c=TP();e??(e=[]);function f(){d(),u.call("tick",t),n<r&&(s.stop(),u.call("end",t))}function d(m){var g,y=e.length,v;m===void 0&&(m=1);for(var b=0;b<m;++b)for(n+=(a-n)*i,l.forEach(function(w){w(n)}),g=0;g<y;++g)v=e[g],v.fx==null?v.x+=v.vx*=o:(v.x=v.fx,v.vx=0),v.fy==null?v.y+=v.vy*=o:(v.y=v.fy,v.vy=0);return t}function h(){for(var m=0,g=e.length,y;m<g;++m){if(y=e[m],y.index=m,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var v=BP*Math.sqrt(.5+m),b=m*IP;y.x=v*Math.cos(b),y.y=v*Math.sin(b)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function p(m){return m.initialize&&m.initialize(e,c),m}return h(),t={tick:d,restart:function(){return s.restart(f),t},stop:function(){return s.stop(),t},nodes:function(m){return arguments.length?(e=m,h(),l.forEach(p),t):e},alpha:function(m){return arguments.length?(n=+m,t):n},alphaMin:function(m){return arguments.length?(r=+m,t):r},alphaDecay:function(m){return arguments.length?(i=+m,t):+i},alphaTarget:function(m){return arguments.length?(a=+m,t):a},velocityDecay:function(m){return arguments.length?(o=1-m,t):1-o},randomSource:function(m){return arguments.length?(c=m,l.forEach(p),t):c},force:function(m,g){return arguments.length>1?(g==null?l.delete(m):l.set(m,p(g)),t):l.get(m)},find:function(m,g,y){var v=0,b=e.length,w,_,k,x,E;for(y==null?y=1/0:y*=y,v=0;v<b;++v)x=e[v],w=m-x.x,_=g-x.y,k=w*w+_*_,k<y&&(E=x,y=k);return E},on:function(m,g){return arguments.length>1?(u.on(m,g),t):u.on(m)}}}function qP(){var e,t,n,r,i=Pt(-30),a,o=1,l=1/0,s=.81;function u(h){var p,m=e.length,g=w0(e,LP,PP).visitAfter(f);for(r=h,p=0;p<m;++p)t=e[p],g.visit(d)}function c(){if(e){var h,p=e.length,m;for(a=Array(p),h=0;h<p;++h)m=e[h],a[m.index]=+i(m,h,e)}}function f(h){var p=0,m,g,y=0,v,b,w;if(h.length){for(v=b=w=0;w<4;++w)(m=h[w])&&(g=Math.abs(m.value))&&(p+=m.value,y+=g,v+=g*m.x,b+=g*m.y);h.x=v/y,h.y=b/y}else{m=h,m.x=m.data.x,m.y=m.data.y;do p+=a[m.data.index];while(m=m.next)}h.value=p}function d(h,p,m,g){if(!h.value)return!0;var y=h.x-t.x,v=h.y-t.y,b=g-p,w=y*y+v*v;if(b*b/s<w)return w<l&&(y===0&&(y=Li(n),w+=y*y),v===0&&(v=Li(n),w+=v*v),w<o&&(w=Math.sqrt(o*w)),t.vx+=y*h.value*r/w,t.vy+=v*h.value*r/w),!0;if(!(h.length||w>=l)){(h.data!==t||h.next)&&(y===0&&(y=Li(n),w+=y*y),v===0&&(v=Li(n),w+=v*v),w<o&&(w=Math.sqrt(o*w)));do h.data!==t&&(b=a[h.data.index]*r/w,t.vx+=y*b,t.vy+=v*b);while(h=h.next)}}return u.initialize=function(h,p){e=h,n=p,c()},u.strength=function(h){return arguments.length?(i=typeof h=="function"?h:Pt(+h),c(),u):i},u.distanceMin=function(h){return arguments.length?(o=h*h,u):Math.sqrt(o)},u.distanceMax=function(h){return arguments.length?(l=h*h,u):Math.sqrt(l)},u.theta=function(h){return arguments.length?(s=h*h,u):Math.sqrt(s)},u}function UP(e){var t=Pt(.1),n,r,i;typeof e!="function"&&(e=Pt(e==null?0:+e));function a(l){for(var s=0,u=n.length,c;s<u;++s)c=n[s],c.vx+=(i[s]-c.x)*r[s]*l}function o(){if(n){var l,s=n.length;for(r=Array(s),i=Array(s),l=0;l<s;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Pt(+l),o(),a):t},a.x=function(l){return arguments.length?(e=typeof l=="function"?l:Pt(+l),o(),a):e},a}function WP(e){var t=Pt(.1),n,r,i;typeof e!="function"&&(e=Pt(e==null?0:+e));function a(l){for(var s=0,u=n.length,c;s<u;++s)c=n[s],c.vy+=(i[s]-c.y)*r[s]*l}function o(){if(n){var l,s=n.length;for(r=Array(s),i=Array(s),l=0;l<s;++l)r[l]=isNaN(i[l]=+e(n[l],l,n))?0:+t(n[l],l,n)}}return a.initialize=function(l){n=l,o()},a.strength=function(l){return arguments.length?(t=typeof l=="function"?l:Pt(+l),o(),a):t},a.y=function(l){return arguments.length?(e=typeof l=="function"?l:Pt(+l),o(),a):e},a}var HP=Gt({force:()=>E0}),lA={center:dP,collide:MP,nbody:qP,link:zP,x:UP,y:WP},ks="forces",k0=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],GP=["static","iterations"],sA=["x","y","vx","vy"];function E0(e){O.call(this,null,e)}E0.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:sA}]},G(E0,O,{transform(e,t){var n=this.value,r=t.changed(t.ADD_REM),i=e.modified(k0),a=e.iterations||300;if(n?(r&&(t.modifies("index"),n.nodes(t.source)),(i||t.changed(t.MOD))&&uA(n,e,0,t)):(this.value=n=XP(t.source,e),n.on("tick",VP(t.dataflow,this)),e.static||(r=!0,n.tick()),t.modifies("index")),i||r||e.modified(GP)||t.changed()&&e.restart){if(n.alpha(Math.max(n.alpha(),e.alpha||1)).alphaDecay(1-n.alphaMin()**(1/a)),e.static)for(n.stop();--a>=0;)n.tick();else if(n.stopped()&&n.restart(),!r)return t.StopPropagation}return this.finish(e,t)},finish(e,t){let n=t.dataflow;for(let l=this._argops,s=0,u=l.length,c;s<u;++s)if(c=l[s],!(c.name!==ks||c.op._argval.force!=="link")){for(var r=c.op._argops,i=0,a=r.length,o;i<a;++i)if(r[i].name==="links"&&(o=r[i].op.source)){n.pulse(o,n.changeset().reflow());break}}return t.reflow(e.modified()).modifies(sA)}});function VP(e,t){return()=>e.touch(t).run()}function XP(e,t){let n=jP(e),r=n.stop,i=n.restart,a=!1;return n.stopped=()=>a,n.restart=()=>(a=!1,i()),n.stop=()=>(a=!0,r()),uA(n,t,!0).on("end",()=>a=!0)}function uA(e,t,n,r){var i=Q(t.forces),a,o,l,s;for(a=0,o=k0.length;a<o;++a)l=k0[a],l!==ks&&t.modified(l)&&e[l](t[l]);for(a=0,o=i.length;a<o;++a)s=ks+a,l=n||t.modified(ks,a)?JP(i[a]):r&&YP(i[a],r)?e.force(s):null,l&&e.force(s,l);for(o=e.numForces||0;a<o;++a)e.force(ks+a,null);return e.numForces=i.length,e}function YP(e,t){var n,r;for(n in e)if(de(r=e[n])&&t.modified($t(r)))return 1;return 0}function JP(e){var t,n;for(n in K(lA,e.force)||L("Unrecognized force: "+e.force),t=lA[e.force](),e)de(t[n])&&QP(t[n],e[n],e);return t}function QP(e,t,n){e(de(t)?r=>t(r,n):t)}function KP(e,t){return e.parent===t.parent?1:2}function ZP(e){return e.reduce(eB,0)/e.length}function eB(e,t){return e+t.x}function tB(e){return 1+e.reduce(nB,0)}function nB(e,t){return Math.max(e,t.y)}function rB(e){for(var t;t=e.children;)e=t[0];return e}function iB(e){for(var t;t=e.children;)e=t[t.length-1];return e}function aB(){var e=KP,t=1,n=1,r=!1;function i(a){var o,l=0;a.eachAfter(function(d){var h=d.children;h?(d.x=ZP(h),d.y=tB(h)):(d.x=o?l+=e(d,o):0,d.y=0,o=d)});var s=rB(a),u=iB(a),c=s.x-e(s,u)/2,f=u.x+e(u,s)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*t,d.y=(a.y-d.y)*n}:function(d){d.x=(d.x-c)/(f-c)*t,d.y=(1-(a.y?d.y/a.y:1))*n})}return i.separation=function(a){return arguments.length?(e=a,i):e},i.size=function(a){return arguments.length?(r=!1,t=+a[0],n=+a[1],i):r?null:[t,n]},i.nodeSize=function(a){return arguments.length?(r=!0,t=+a[0],n=+a[1],i):r?[t,n]:null},i}var oB=1664525,lB=1013904223,cA=4294967296;function sB(){let e=1;return()=>(e=(oB*e+lB)%cA)/cA}function uB(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function cB(e,t){let n=e.length,r,i;for(;n;)i=t()*n--|0,r=e[n],e[n]=e[i],e[i]=r;return e}function fB(e,t){for(var n=0,r=(e=cB(Array.from(e),t)).length,i=[],a,o;n<r;)a=e[n],o&&fA(o,a)?++n:(o=hB(i=dB(i,a)),n=0);return o}function dB(e,t){var n,r;if($0(t,e))return[t];for(n=0;n<e.length;++n)if(Sf(t,e[n])&&$0(Es(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(Sf(Es(e[n],e[r]),t)&&Sf(Es(e[n],t),e[r])&&Sf(Es(e[r],t),e[n])&&$0(dA(e[n],e[r],t),e))return[e[n],e[r],t];throw Error()}function Sf(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function fA(e,t){var n=e.r-t.r+Math.max(e.r,t.r,1)*1e-9,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function $0(e,t){for(var n=0;n<t.length;++n)if(!fA(e,t[n]))return!1;return!0}function hB(e){switch(e.length){case 1:return pB(e[0]);case 2:return Es(e[0],e[1]);case 3:return dA(e[0],e[1],e[2])}}function pB(e){return{x:e.x,y:e.y,r:e.r}}function Es(e,t){var n=e.x,r=e.y,i=e.r,a=t.x,o=t.y,l=t.r,s=a-n,u=o-r,c=l-i,f=Math.sqrt(s*s+u*u);return{x:(n+a+s/f*c)/2,y:(r+o+u/f*c)/2,r:(f+i+l)/2}}function dA(e,t,n){var r=e.x,i=e.y,a=e.r,o=t.x,l=t.y,s=t.r,u=n.x,c=n.y,f=n.r,d=r-o,h=r-u,p=i-l,m=i-c,g=s-a,y=f-a,v=r*r+i*i-a*a,b=v-o*o-l*l+s*s,w=v-u*u-c*c+f*f,_=h*p-d*m,k=(p*w-m*b)/(_*2)-r,x=(m*g-p*y)/_,E=(h*b-d*w)/(_*2)-i,$=(d*y-h*g)/_,D=x*x+$*$-1,F=2*(a+k*x+E*$),T=k*k+E*E-a*a,S=-(Math.abs(D)>1e-6?(F+Math.sqrt(F*F-4*D*T))/(2*D):T/F);return{x:r+k+x*S,y:i+E+$*S,r:S}}function hA(e,t,n){var r=e.x-t.x,i,a,o=e.y-t.y,l,s,u=r*r+o*o;u?(a=t.r+n.r,a*=a,s=e.r+n.r,s*=s,a>s?(i=(u+s-a)/(2*u),l=Math.sqrt(Math.max(0,s/u-i*i)),n.x=e.x-i*r-l*o,n.y=e.y-i*o+l*r):(i=(u+a-s)/(2*u),l=Math.sqrt(Math.max(0,a/u-i*i)),n.x=t.x+i*r-l*o,n.y=t.y+i*o+l*r)):(n.x=t.x+n.r,n.y=t.y)}function pA(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function mA(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,a=(t.y*n.r+n.y*t.r)/r;return i*i+a*a}function Ff(e){this._=e,this.next=null,this.previous=null}function mB(e,t){if(!(a=(e=uB(e)).length))return 0;var n=e[0],r,i,a,o,l,s,u,c,f,d;if(n.x=0,n.y=0,!(a>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(a>2))return n.r+r.r;hA(r,n,i=e[2]),n=new Ff(n),r=new Ff(r),i=new Ff(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(s=3;s<a;++s){hA(n._,r._,i=e[s]),i=new Ff(i),u=r.next,c=n.previous,f=r._.r,d=n._.r;do if(f<=d){if(pA(u._,i._)){r=u,n.next=r,r.previous=n,--s;continue e}f+=u._.r,u=u.next}else{if(pA(c._,i._)){n=c,n.next=r,r.previous=n,--s;continue e}d+=c._.r,c=c.previous}while(u!==c.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,o=mA(n);(i=i.next)!==r;)(l=mA(i))<o&&(n=i,o=l);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=fB(n,t),s=0;s<a;++s)n=e[s],n.x-=i.x,n.y-=i.y;return i.r}function gB(e){return Math.sqrt(e.value)}function yB(){var e=null,t=1,n=1,r=h2;function i(a){let o=sB();return a.x=t/2,a.y=n/2,e?a.eachBefore(gA(e)).eachAfter(A0(r,.5,o)).eachBefore(yA(1)):a.eachBefore(gA(gB)).eachAfter(A0(h2,1,o)).eachAfter(A0(r,a.r/Math.min(t,n),o)).eachBefore(yA(Math.min(t,n)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(e=Bu(a),i):e},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(r=typeof a=="function"?a:BO(+a),i):r},i}function gA(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function A0(e,t,n){return function(r){if(i=r.children){var i,a,o=i.length,l=e(r)*t||0,s;if(l)for(a=0;a<o;++a)i[a].r+=l;if(s=mB(i,n),l)for(a=0;a<o;++a)i[a].r-=l;r.r=s+l}}}function yA(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function vB(){var e=1,t=1,n=0,r=!1;function i(o){var l=o.height+1;return o.x0=o.y0=n,o.x1=e,o.y1=t/l,o.eachBefore(a(t,l)),r&&o.eachBefore(UO),o}function a(o,l){return function(s){s.children&&Pu(s,s.x0,o*(s.depth+1)/l,s.x1,o*(s.depth+2)/l);var u=s.x0,c=s.y0,f=s.x1-n,d=s.y1-n;f<u&&(u=f=(u+f)/2),d<c&&(c=d=(c+d)/2),s.x0=u,s.y0=c,s.x1=f,s.y1=d}}return i.round=function(o){return arguments.length?(r=!!o,i):r},i.size=function(o){return arguments.length?(e=+o[0],t=+o[1],i):[e,t]},i.padding=function(o){return arguments.length?(n=+o,i):n},i}var bB={depth:-1},vA={},D0={};function xB(e){return e.id}function wB(e){return e.parentId}function bA(){var e=xB,t=wB,n;function r(i){var a=Array.from(i),o=e,l=t,s,u,c,f,d,h,p,m,g=new Map;if(n!=null){let y=a.map((w,_)=>_B(n(w,_,i))),v=y.map(xA),b=new Set(y).add("");for(let w of v)b.has(w)||(b.add(w),y.push(w),v.push(xA(w)),a.push(D0));o=(w,_)=>y[_],l=(w,_)=>v[_]}for(c=0,s=a.length;c<s;++c)u=a[c],h=a[c]=new p2(u),(p=o(u,c,i))!=null&&(p+="")&&(m=h.id=p,g.set(m,g.has(m)?vA:h)),(p=l(u,c,i))!=null&&(p+="")&&(h.parent=p);for(c=0;c<s;++c)if(h=a[c],p=h.parent){if(d=g.get(p),!d)throw Error("missing: "+p);if(d===vA)throw Error("ambiguous: "+p);d.children?d.children.push(h):d.children=[h],h.parent=d}else{if(f)throw Error("multiple roots");f=h}if(!f)throw Error("no root");if(n!=null){for(;f.data===D0&&f.children.length===1;)f=f.children[0],--s;for(let y=a.length-1;y>=0&&(h=a[y],h.data===D0);--y)h.data=null}if(f.parent=bB,f.eachBefore(function(y){y.depth=y.parent.depth+1,--s}).eachBefore(LO),f.parent=null,s>0)throw Error("cycle");return f}return r.id=function(i){return arguments.length?(e=Bu(i),r):e},r.parentId=function(i){return arguments.length?(t=Bu(i),r):t},r.path=function(i){return arguments.length?(n=Bu(i),r):n},r}function _B(e){e=`${e}`;let t=e.length;return S0(e,t-1)&&!S0(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function xA(e){let t=e.length;if(t<2)return"";for(;--t>1&&!S0(e,t););return e.slice(0,t)}function S0(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function kB(e,t){return e.parent===t.parent?1:2}function F0(e){var t=e.children;return t?t[0]:e.t}function C0(e){var t=e.children;return t?t[t.length-1]:e.t}function EB(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function $B(e){for(var t=0,n=0,r=e.children,i=r.length,a;--i>=0;)a=r[i],a.z+=t,a.m+=t,t+=a.s+(n+=a.c)}function AB(e,t,n){return e.a.parent===t.parent?e.a:n}function Cf(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}Cf.prototype=Object.create(p2.prototype);function DB(e){for(var t=new Cf(e,0),n,r=[t],i,a,o,l;n=r.pop();)if(a=n._.children)for(n.children=Array(l=a.length),o=l-1;o>=0;--o)r.push(i=n.children[o]=new Cf(a[o],o)),i.parent=n;return(t.parent=new Cf(null,0)).children=[t],t}function SB(){var e=kB,t=1,n=1,r=null;function i(u){var c=DB(u);if(c.eachAfter(a),c.parent.m=-c.z,c.eachBefore(o),r)u.eachBefore(s);else{var f=u,d=u,h=u;u.eachBefore(function(v){v.x<f.x&&(f=v),v.x>d.x&&(d=v),v.depth>h.depth&&(h=v)});var p=f===d?1:e(f,d)/2,m=p-f.x,g=t/(d.x+p+m),y=n/(h.depth||1);u.eachBefore(function(v){v.x=(v.x+m)*g,v.y=v.depth*y})}return u}function a(u){var c=u.children,f=u.parent.children,d=u.i?f[u.i-1]:null;if(c){$B(u);var h=(c[0].z+c[c.length-1].z)/2;d?(u.z=d.z+e(u._,d._),u.m=u.z-h):u.z=h}else d&&(u.z=d.z+e(u._,d._));u.parent.A=l(u,d,u.parent.A||f[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function l(u,c,f){if(c){for(var d=u,h=u,p=c,m=d.parent.children[0],g=d.m,y=h.m,v=p.m,b=m.m,w;p=C0(p),d=F0(d),p&&d;)m=F0(m),h=C0(h),h.a=u,w=p.z+v-d.z-g+e(p._,d._),w>0&&(EB(AB(p,u,f),u,w),g+=w,y+=w),v+=p.m,g+=d.m,b+=m.m,y+=h.m;p&&!C0(h)&&(h.t=p,h.m+=v-y),d&&!F0(m)&&(m.t=d,m.m+=g-b,f=u)}return f}function s(u){u.x*=t,u.y=u.depth*n}return i.separation=function(u){return arguments.length?(e=u,i):e},i.size=function(u){return arguments.length?(r=!1,t=+u[0],n=+u[1],i):r?null:[t,n]},i.nodeSize=function(u){return arguments.length?(r=!0,t=+u[0],n=+u[1],i):r?[t,n]:null},i}function FB(e,t,n,r,i){var a=e.children,o,l=a.length,s,u=Array(l+1);for(u[0]=s=o=0;o<l;++o)u[o+1]=s+=a[o].value;c(0,l,e.value,t,n,r,i);function c(f,d,h,p,m,g,y){if(f>=d-1){var v=a[f];v.x0=p,v.y0=m,v.x1=g,v.y1=y;return}for(var b=u[f],w=h/2+b,_=f+1,k=d-1;_<k;){var x=_+k>>>1;u[x]<w?_=x+1:k=x}w-u[_-1]<u[_]-w&&f+1<_&&--_;var E=u[_]-b,$=h-E;if(g-p>y-m){var D=h?(p*$+g*E)/h:g;c(f,_,E,p,m,D,y),c(_,d,$,D,m,g,y)}else{var F=h?(m*$+y*E)/h:y;c(f,_,E,p,m,g,F),c(_,d,$,p,F,g,y)}}}function CB(e,t,n,r,i){(e.depth&1?ap:Pu)(e,t,n,r,i)}var MB=(function e(t){function n(r,i,a,o,l){if((s=r._squarify)&&s.ratio===t)for(var s,u,c,f,d=-1,h,p=s.length,m=r.value;++d<p;){for(u=s[d],c=u.children,f=u.value=0,h=c.length;f<h;++f)u.value+=c[f].value;u.dice?Pu(u,i,a,o,m?a+=(l-a)*u.value/m:l):ap(u,i,a,m?i+=(o-i)*u.value/m:o,l),m-=u.value}else r._squarify=s=qO(t,r,i,a,o,l),s.ratio=t}return n.ratio=function(r){return e((r=+r)>1?r:1)},n})(IO),OB=Gt({nest:()=>O0,pack:()=>N0,partition:()=>T0,stratify:()=>L0,tree:()=>B0,treelinks:()=>I0,treemap:()=>q0});function M0(e,t,n){let r={};return e.each(i=>{let a=i.data;n(a)&&(r[t(a)]=i)}),e.lookup=r,e}function O0(e){O.call(this,null,e)}O0.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};var zB=e=>e.values;G(O0,O,{transform(e,t){t.source||L("Nest transform requires an upstream data source.");var n=e.generate,r=e.modified(),i=t.clone(),a=this.value;return(!a||r||t.changed())&&(a&&a.each(o=>{o.children&&qu(o.data)&&i.rem.push(o.data)}),this.value=a=jO({values:Q(e.keys).reduce((o,l)=>(o.key(l),o),NB()).entries(i.source)},zB),n&&a.each(o=>{o.children&&(o=_e(o.data),i.add.push(o),i.source.push(o))}),M0(a,te,te)),i.source.root=a,i}});function NB(){let e=[],t={entries:i=>r(n(i,0),0),key:i=>(e.push(i),t)};function n(i,a){if(a>=e.length)return i;let o=i.length,l=e[a++],s={},u={},c=-1,f,d,h;for(;++c<o;)f=l(d=i[c])+"",(h=s[f])?h.push(d):s[f]=[d];for(f in s)u[f]=n(s[f],a);return u}function r(i,a){if(++a>e.length)return i;let o=[];for(let l in i)o.push({key:l,values:r(i[l],a)});return o}return t}function Hr(e){O.call(this,null,e)}var RB=(e,t)=>e.parent===t.parent?1:2;G(Hr,O,{transform(e,t){(!t.source||!t.source.root)&&L(this.constructor.name+" transform requires a backing tree data source.");let n=this.layout(e.method),r=this.fields,i=t.source.root,a=e.as||r;e.field?i.sum(e.field):i.count(),e.sort&&i.sort(sa(e.sort,o=>o.data)),TB(n,this.params,e),n.separation&&n.separation(e.separation===!1?Fl:RB);try{this.value=n(i)}catch(o){L(o)}return i.each(o=>LB(o,r,a)),t.reflow(e.modified()).modifies(a).modifies("leaf")}});function TB(e,t,n){for(let r,i=0,a=t.length;i<a;++i)r=t[i],r in n&&e[r](n[r])}function LB(e,t,n){let r=e.data,i=t.length-1;for(let a=0;a<i;++a)r[n[a]]=e[t[a]];r[n[i]]=e.children?e.children.length:0}var z0=["x","y","r","depth","children"];function N0(e){Hr.call(this,e)}N0.Definition={type:"Pack",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:z0.length,default:z0}]},G(N0,Hr,{layout:yB,params:["radius","size","padding"],fields:z0});var R0=["x0","y0","x1","y1","depth","children"];function T0(e){Hr.call(this,e)}T0.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:R0.length,default:R0}]},G(T0,Hr,{layout:vB,params:["size","round","padding"],fields:R0});function L0(e){O.call(this,null,e)}L0.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},G(L0,O,{transform(e,t){t.source||L("Stratify transform requires an upstream data source.");let n=this.value,r=e.modified(),i=t.fork(t.ALL).materialize(t.SOURCE),a=!n||r||t.changed(t.ADD_REM)||t.modified(e.key.fields)||t.modified(e.parentKey.fields);return i.source=i.source.slice(),a&&(n=i.source.length?M0(bA().id(e.key).parentId(e.parentKey)(i.source),e.key,gn):M0(bA()([{}]),e.key,e.key)),i.source.root=this.value=n,i}});var wA={tidy:SB,cluster:aB},P0=["x","y","depth","children"];function B0(e){Hr.call(this,e)}B0.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:P0.length,default:P0}]},G(B0,Hr,{layout(e){let t=e||"tidy";if(K(wA,t))return wA[t]();L("Unrecognized Tree layout method: "+t)},params:["size","nodeSize"],fields:P0});function I0(e){O.call(this,[],e)}I0.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},G(I0,O,{transform(e,t){let n=this.value,r=t.source&&t.source.root,i=t.fork(t.NO_SOURCE),a={};return r||L("TreeLinks transform requires a tree data source."),t.changed(t.ADD_REM)?(i.rem=n,t.visit(t.SOURCE,o=>a[te(o)]=1),r.each(o=>{let l=o.data,s=o.parent&&o.parent.data;s&&a[te(l)]&&a[te(s)]&&i.add.push(_e({source:s,target:l}))}),this.value=i.add):t.changed(t.MOD)&&(t.visit(t.MOD,o=>a[te(o)]=1),n.forEach(o=>{(a[te(o.source)]||a[te(o.target)])&&i.mod.push(o)})),i}});var _A={binary:FB,dice:Pu,slice:ap,slicedice:CB,squarify:PO,resquarify:MB},j0=["x0","y0","x1","y1","depth","children"];function q0(e){Hr.call(this,e)}q0.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:j0.length,default:j0}]},G(q0,Hr,{layout(){let e=WO();return e.ratio=t=>{let n=e.tile();n.ratio&&e.tile(n.ratio(t))},e.method=t=>{K(_A,t)?e.tile(_A[t]):L("Unrecognized Treemap layout method: "+t)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:j0});var PB=Gt({label:()=>K0}),U0=4278190080;function BB(e,t){let n=e.bitmap();return(t||[]).forEach(r=>n.set(e(r.boundary[0]),e(r.boundary[3]))),[n,void 0]}function IB(e,t,n,r,i){let a=e.width,o=e.height,l=r||i,s=xi(a,o).getContext("2d"),u=xi(a,o).getContext("2d"),c=l&&xi(a,o).getContext("2d");n.forEach(E=>Mf(s,E,!1)),Mf(u,t,!1),l&&Mf(c,t,!0);let f=W0(s,a,o),d=W0(u,a,o),h=l&&W0(c,a,o),p=e.bitmap(),m=l&&e.bitmap(),g,y,v,b,w,_,k,x;for(y=0;y<o;++y)for(g=0;g<a;++g)w=y*a+g,_=f[w]&U0,x=d[w]&U0,k=l&&h[w]&U0,(_||k||x)&&(v=e(g),b=e(y),!i&&(_||x)&&p.set(v,b),l&&(_||k)&&m.set(v,b));return[p,m]}function W0(e,t,n){return new Uint32Array(e.getImageData(0,0,t,n).data.buffer)}function Mf(e,t,n){if(!t.length)return;let r=t[0].mark.marktype;r==="group"?t.forEach(i=>{i.items.forEach(a=>Mf(e,a.items,n))}):an[r].draw(e,{items:n?t.map(jB):t})}function jB(e){let t=Uu(e,{});return t.stroke&&t.strokeOpacity!==0||t.fill&&t.fillOpacity!==0?{...t,strokeOpacity:1,stroke:"#000",fillOpacity:0}:t}var Gr=5,Bt=31,$s=32,Pi=new Uint32Array($s+1),jn=new Uint32Array($s+1);jn[0]=0,Pi[0]=~jn[0];for(let e=1;e<=$s;++e)jn[e]=jn[e-1]<<1|1,Pi[e]=~jn[e];function qB(e,t){let n=new Uint32Array(~~((e*t+$s)/$s));function r(a,o){n[a]|=o}function i(a,o){n[a]&=o}return{array:n,get:(a,o)=>{let l=o*e+a;return n[l>>>Gr]&1<<(l&Bt)},set:(a,o)=>{let l=o*e+a;r(l>>>Gr,1<<(l&Bt))},clear:(a,o)=>{let l=o*e+a;i(l>>>Gr,~(1<<(l&Bt)))},getRange:(a,o,l,s)=>{let u=s,c,f,d,h;for(;u>=o;--u)if(c=u*e+a,f=u*e+l,d=c>>>Gr,h=f>>>Gr,d===h){if(n[d]&Pi[c&Bt]&jn[(f&Bt)+1])return!0}else{if(n[d]&Pi[c&Bt]||n[h]&jn[(f&Bt)+1])return!0;for(let p=d+1;p<h;++p)if(n[p])return!0}return!1},setRange:(a,o,l,s)=>{let u,c,f,d,h;for(;o<=s;++o)if(u=o*e+a,c=o*e+l,f=u>>>Gr,d=c>>>Gr,f===d)r(f,Pi[u&Bt]&jn[(c&Bt)+1]);else for(r(f,Pi[u&Bt]),r(d,jn[(c&Bt)+1]),h=f+1;h<d;++h)r(h,4294967295)},clearRange:(a,o,l,s)=>{let u,c,f,d,h;for(;o<=s;++o)if(u=o*e+a,c=o*e+l,f=u>>>Gr,d=c>>>Gr,f===d)i(f,jn[u&Bt]|Pi[(c&Bt)+1]);else for(i(f,jn[u&Bt]),i(d,Pi[(c&Bt)+1]),h=f+1;h<d;++h)i(h,0)},outOfBounds:(a,o,l,s)=>a<0||o<0||s>=t||l>=e}}function UB(e,t,n){let r=Math.max(1,Math.sqrt(e*t/1e6)),i=~~((e+2*n+r)/r),a=~~((t+2*n+r)/r),o=l=>~~((l+n)/r);return o.invert=l=>l*r-n,o.bitmap=()=>qB(i,a),o.ratio=r,o.padding=n,o.width=e,o.height=t,o}function WB(e,t,n,r){let i=e.width,a=e.height;return function(o){let l=o.datum.datum.items[r].items,s=l.length,u=o.datum.fontSize,c=rn.width(o.datum,o.datum.text),f=0,d,h,p,m,g,y,v;for(let b=0;b<s;++b)d=l[b].x,p=l[b].y,h=l[b].x2===void 0?d:l[b].x2,m=l[b].y2===void 0?p:l[b].y2,g=(d+h)/2,y=(p+m)/2,v=Math.abs(h-d+m-p),v>=f&&(f=v,o.x=g,o.y=y);return g=c/2,y=u/2,d=o.x-g,h=o.x+g,p=o.y-y,m=o.y+y,o.align="center",d<0&&h<=i?o.align="left":0<=d&&i<h&&(o.align="right"),o.baseline="middle",p<0&&m<=a?o.baseline="top":0<=p&&a<m&&(o.baseline="bottom"),!0}}function Of(e,t,n,r,i,a){let o=n/2;return e-o<0||e+o>i||t-(o=r/2)<0||t+o>a}function Bi(e,t,n,r,i,a,o,l){let s=i*a/(r*2),u=e(t-s),c=e(t+s),f=e(n-(a/=2)),d=e(n+a);return o.outOfBounds(u,f,c,d)||o.getRange(u,f,c,d)||l&&l.getRange(u,f,c,d)}function HB(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1];function s(u,c,f,d,h){let p=e.invert(u),m=e.invert(c),g=f,y=a,v;if(!Of(p,m,d,h,i,a)&&!Bi(e,p,m,h,d,g,o,l)&&!Bi(e,p,m,h,d,h,o,null)){for(;y-g>=1;)v=(g+y)/2,Bi(e,p,m,h,d,v,o,l)?y=v:g=v;if(g>f)return[p,m,g,!0]}}return function(u){let c=u.datum.datum.items[r].items,f=c.length,d=u.datum.fontSize,h=rn.width(u.datum,u.datum.text),p=n?d:0,m=!1,g=!1,y=0,v,b,w,_,k,x,E,$,D,F,T,S,M,A,C,P,W;for(let V=0;V<f;++V){for(v=c[V].x,w=c[V].y,b=c[V].x2===void 0?v:c[V].x2,_=c[V].y2===void 0?w:c[V].y2,v>b&&(W=v,v=b,b=W),w>_&&(W=w,w=_,_=W),D=e(v),T=e(b),F=~~((D+T)/2),S=e(w),A=e(_),M=~~((S+A)/2),E=F;E>=D;--E)for($=M;$>=S;--$)P=s(E,$,p,h,d),P&&([u.x,u.y,p,m]=P);for(E=F;E<=T;++E)for($=M;$<=A;++$)P=s(E,$,p,h,d),P&&([u.x,u.y,p,m]=P);!m&&!n&&(C=Math.abs(b-v+_-w),k=(v+b)/2,x=(w+_)/2,C>=y&&!Of(k,x,h,d,i,a)&&!Bi(e,k,x,d,h,d,o,null)&&(y=C,u.x=k,u.y=x,g=!0))}return m||g?(k=h/2,x=d/2,o.setRange(e(u.x-k),e(u.y-x),e(u.x+k),e(u.y+x)),u.align="center",u.baseline="middle",!0):!1}}var GB=[-1,-1,1,1],VB=[-1,1,-1,1];function XB(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],s=e.bitmap();return function(u){let c=u.datum.datum.items[r].items,f=c.length,d=u.datum.fontSize,h=rn.width(u.datum,u.datum.text),p=[],m=n?d:0,g=!1,y=!1,v=0,b,w,_,k,x,E,$,D,F,T,S,M;for(let A=0;A<f;++A){for(b=c[A].x,_=c[A].y,w=c[A].x2===void 0?b:c[A].x2,k=c[A].y2===void 0?_:c[A].y2,p.push([e((b+w)/2),e((_+k)/2)]);p.length;)if([$,D]=p.pop(),!(o.get($,D)||l.get($,D)||s.get($,D))){s.set($,D);for(let C=0;C<4;++C)x=$+GB[C],E=D+VB[C],s.outOfBounds(x,E,x,E)||p.push([x,E]);if(x=e.invert($),E=e.invert(D),F=m,T=a,!Of(x,E,h,d,i,a)&&!Bi(e,x,E,d,h,F,o,l)&&!Bi(e,x,E,d,h,d,o,null)){for(;T-F>=1;)S=(F+T)/2,Bi(e,x,E,d,h,S,o,l)?T=S:F=S;F>m&&(u.x=x,u.y=E,m=F,g=!0)}}!g&&!n&&(M=Math.abs(w-b+k-_),x=(b+w)/2,E=(_+k)/2,M>=v&&!Of(x,E,h,d,i,a)&&!Bi(e,x,E,d,h,d,o,null)&&(v=M,u.x=x,u.y=E,y=!0))}return g||y?(x=h/2,E=d/2,o.setRange(e(u.x-x),e(u.y-E),e(u.x+x),e(u.y+E)),u.align="center",u.baseline="middle",!0):!1}}var YB=["right","center","left"],JB=["bottom","middle","top"];function QB(e,t,n,r){let i=e.width,a=e.height,o=t[0],l=t[1],s=r.length;return function(u){let c=u.boundary,f=u.datum.fontSize;if(c[2]<0||c[5]<0||c[0]>i||c[3]>a)return!1;let d=u.textWidth??0,h,p,m,g,y,v,b,w,_,k,x,E,$,D,F;for(let T=0;T<s;++T){if(h=(n[T]&3)-1,p=(n[T]>>>2&3)-1,m=h===0&&p===0||r[T]<0,g=h&&p?Math.SQRT1_2:1,y=r[T]<0?-1:1,v=c[1+h]+r[T]*h*g,x=c[4+p]+y*f*p/2+r[T]*p*g,w=x-f/2,_=x+f/2,E=e(v),D=e(w),F=e(_),!d)if(kA(E,E,D,F,o,l,v,v,w,_,c,m))d=rn.width(u.datum,u.datum.text);else continue;if(k=v+y*d*h/2,v=k-d/2,b=k+d/2,E=e(v),$=e(b),kA(E,$,D,F,o,l,v,b,w,_,c,m))return u.x=h?h*y<0?b:v:k,u.y=p?p*y<0?_:w:x,u.align=YB[h*y+1],u.baseline=JB[p*y+1],o.setRange(E,D,$,F),!0}return!1}}function kA(e,t,n,r,i,a,o,l,s,u,c,f){return!(i.outOfBounds(e,n,t,r)||(f&&a||i).getRange(e,n,t,r))}var H0=0,G0=4,V0=8,X0=0,Y0=1,J0=2,KB={"top-left":H0+X0,top:H0+Y0,"top-right":H0+J0,left:G0+X0,middle:G0+Y0,right:G0+J0,"bottom-left":V0+X0,bottom:V0+Y0,"bottom-right":V0+J0},ZB={naive:WB,"reduced-search":HB,floodfill:XB};function eI(e,t,n,r,i,a,o,l,s,u,c){if(!e.length)return e;let f=Math.max(r.length,i.length),d=tI(r,f),h=nI(i,f),p=rI(e[0].datum),m=p==="group"&&e[0].datum.items[s].marktype,g=m==="area",y=iI(p,m,l,s),v=u===null||u===1/0,b=g&&c==="naive",w=-1,_=-1,k=e.map(D=>{let F=v?rn.width(D,D.text):void 0;return w=Math.max(w,F),_=Math.max(_,D.fontSize),{datum:D,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(D),textWidth:F}});u=u===null||u===1/0?Math.max(w,_)+Math.max(...r):u;let x=UB(t[0],t[1],u),E;if(!b){n&&k.sort((T,S)=>n(T.datum,S.datum));let D=!1;for(let T=0;T<h.length&&!D;++T)D=h[T]===5||d[T]<0;let F=(p&&o||g)&&e.map(T=>T.datum);E=a.length||F?IB(x,F||[],a,D,g):BB(x,o&&k)}let $=g?ZB[c](x,E,o,s):QB(x,E,h,d);return k.forEach(D=>D.opacity=+$(D)),k}function tI(e,t){let n=new Float64Array(t),r=e.length;for(let i=0;i<r;++i)n[i]=e[i]||0;for(let i=r;i<t;++i)n[i]=n[r-1];return n}function nI(e,t){let n=new Int8Array(t),r=e.length;for(let i=0;i<r;++i)n[i]|=KB[e[i]];for(let i=r;i<t;++i)n[i]=n[r-1];return n}function rI(e){return e&&e.mark&&e.mark.marktype}function iI(e,t,n,r){let i=a=>[a.x,a.x,a.x,a.y,a.y,a.y];return e?e==="line"||e==="area"?a=>i(a.datum):t==="line"?a=>{let o=a.datum.items[r].items;return i(o.length?o[n==="start"?0:o.length-1]:{x:NaN,y:NaN})}:a=>{let o=a.datum.bounds;return[o.x1,(o.x1+o.x2)/2,o.x2,o.y1,(o.y1+o.y2)/2,o.y2]}:i}var Q0=["x","y","opacity","align","baseline"],EA=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function K0(e){O.call(this,null,e)}K0.Definition={type:"Label",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:!0,default:EA},{name:"offset",type:"number",array:!0,default:[1]},{name:"padding",type:"number",default:0,null:!0},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:!0},{name:"avoidMarks",type:"data",array:!0},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:!0,length:Q0.length,default:Q0}]},G(K0,O,{transform(e,t){function n(a){let o=e[a];return de(o)&&t.modified(o.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||n("sort")))return;(!e.size||e.size.length!==2)&&L("Size parameter should be specified as a [width, height] array.");let i=e.as||Q0;return eI(t.materialize(t.SOURCE).source||[],e.size,e.sort,Q(e.offset==null?1:e.offset),Q(e.anchor||EA),e.avoidMarks||[],e.avoidBaseMark!==!1,e.lineAnchor||"end",e.markIndex||0,e.padding===void 0?0:e.padding,e.method||"naive").forEach(a=>{let o=a.datum;o[i[0]]=a.x,o[i[1]]=a.y,o[i[2]]=a.opacity,o[i[3]]=a.align,o[i[4]]=a.baseline}),t.reflow(r).modifies(i)}});var aI=Gt({loess:()=>Z0,regression:()=>t1});function $A(e,t){var n=[],r=function(c){return c(l)},i,a,o,l,s,u;if(t==null)n.push(e);else for(i={},a=0,o=e.length;a<o;++a)l=e[a],s=t.map(r),u=i[s],u||(i[s]=u=[],u.dims=s,n.push(u)),u.push(l);return n}function Z0(e){O.call(this,null,e)}Z0.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},G(Z0,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=$A(r,e.groupby),a=(e.groupby||[]).map(qe),o=a.length,l=e.as||[qe(e.x),qe(e.y)],s=[];i.forEach(u=>{Y2(u,e.x,e.y,e.bandwidth||.3).forEach(c=>{let f={};for(let d=0;d<o;++d)f[a[d]]=u.dims[d];f[l[0]]=c[0],f[l[1]]=c[1],s.push(_e(f))})}),this.value&&(n.rem=this.value),this.value=n.add=n.source=s}return n}});var e1={constant:Ap,linear:Dp,log:U2,exp:W2,pow:H2,quad:Sp,poly:G2},oI=(e,t)=>e==="poly"?t:e==="quad"?2:1;function t1(e){O.call(this,null,e)}t1.Definition={type:"Regression",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"string",default:"linear",values:Object.keys(e1)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:!0,length:2},{name:"params",type:"boolean",default:!1},{name:"as",type:"string",array:!0}]},G(t1,O,{transform(e,t){let n=t.fork(t.NO_SOURCE|t.NO_FIELDS);if(!this.value||t.changed()||e.modified()){let r=t.materialize(t.SOURCE).source,i=$A(r,e.groupby),a=(e.groupby||[]).map(qe),o=e.method||"linear",l=e.order==null?3:e.order,s=oI(o,l),u=e.as||[qe(e.x),qe(e.y)],c=e1[o],f=[],d=e.extent;K(e1,o)||L("Invalid regression method: "+o),d!=null&&o==="log"&&d[0]<=0&&(t.dataflow.warn("Ignoring extent with values <= 0 for log regression."),d=null),i.forEach(h=>{if(h.length<=s){t.dataflow.warn("Skipping regression with more parameters than data points.");return}let p=c(h,e.x,e.y,l);if(e.params){f.push(_e({keys:h.dims,coef:p.coef,rSquared:p.rSquared}));return}let m=d||sr(h,e.x),g=y=>{let v={};for(let b=0;b<a.length;++b)v[a[b]]=h.dims[b];v[u[0]]=y[0],v[u[1]]=y[1],f.push(_e(v))};o==="linear"||o==="constant"?m.forEach(y=>g([y,p.predict(y)])):Zu(p.predict,m,25,200).forEach(g)}),this.value&&(n.rem=this.value),this.value=n.add=n.source=f}return n}});const ke=11102230246251565e-32,xt=134217729;(3+8*ke)*ke;function n1(e,t,n,r,i){let a,o,l,s,u=t[0],c=r[0],f=0,d=0;c>u==c>-u?(a=u,u=t[++f]):(a=c,c=r[++d]);let h=0;if(f<e&&d<n)for(c>u==c>-u?(o=u+a,l=a-(o-u),u=t[++f]):(o=c+a,l=a-(o-c),c=r[++d]),a=o,l!==0&&(i[h++]=l);f<e&&d<n;)c>u==c>-u?(o=a+u,s=o-a,l=a-(o-s)+(u-s),u=t[++f]):(o=a+c,s=o-a,l=a-(o-s)+(c-s),c=r[++d]),a=o,l!==0&&(i[h++]=l);for(;f<e;)o=a+u,s=o-a,l=a-(o-s)+(u-s),u=t[++f],a=o,l!==0&&(i[h++]=l);for(;d<n;)o=a+c,s=o-a,l=a-(o-s)+(c-s),c=r[++d],a=o,l!==0&&(i[h++]=l);return(a!==0||h===0)&&(i[h++]=a),h}function lI(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function B(e){return new Float64Array(e)}var sI=(3+16*ke)*ke,uI=(2+12*ke)*ke,cI=(9+64*ke)*ke*ke,Bo=B(4),AA=B(8),DA=B(12),SA=B(16),It=B(4);function fI(e,t,n,r,i,a,o){let l,s,u,c,f,d,h,p,m,g,y,v,b,w,_,k,x,E,$=e-i,D=n-i,F=t-a,T=r-a;w=$*T,d=xt*$,h=d-(d-$),p=$-h,d=xt*T,m=d-(d-T),g=T-m,_=p*g-(w-h*m-p*m-h*g),k=F*D,d=xt*F,h=d-(d-F),p=F-h,d=xt*D,m=d-(d-D),g=D-m,x=p*g-(k-h*m-p*m-h*g),y=_-x,f=_-y,Bo[0]=_-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-k,f=b-y,Bo[1]=b-(y+f)+(f-k),E=v+y,f=E-v,Bo[2]=v-(E-f)+(y-f),Bo[3]=E;let S=lI(4,Bo),M=uI*o;if(S>=M||-S>=M||(f=e-$,l=e-($+f)+(f-i),f=n-D,u=n-(D+f)+(f-i),f=t-F,s=t-(F+f)+(f-a),f=r-T,c=r-(T+f)+(f-a),l===0&&s===0&&u===0&&c===0)||(M=cI*o+33306690738754706e-32*Math.abs(S),S+=$*c+T*l-(F*u+D*s),S>=M||-S>=M))return S;w=l*T,d=xt*l,h=d-(d-l),p=l-h,d=xt*T,m=d-(d-T),g=T-m,_=p*g-(w-h*m-p*m-h*g),k=s*D,d=xt*s,h=d-(d-s),p=s-h,d=xt*D,m=d-(d-D),g=D-m,x=p*g-(k-h*m-p*m-h*g),y=_-x,f=_-y,It[0]=_-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-k,f=b-y,It[1]=b-(y+f)+(f-k),E=v+y,f=E-v,It[2]=v-(E-f)+(y-f),It[3]=E;let A=n1(4,Bo,4,It,AA);w=$*c,d=xt*$,h=d-(d-$),p=$-h,d=xt*c,m=d-(d-c),g=c-m,_=p*g-(w-h*m-p*m-h*g),k=F*u,d=xt*F,h=d-(d-F),p=F-h,d=xt*u,m=d-(d-u),g=u-m,x=p*g-(k-h*m-p*m-h*g),y=_-x,f=_-y,It[0]=_-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-k,f=b-y,It[1]=b-(y+f)+(f-k),E=v+y,f=E-v,It[2]=v-(E-f)+(y-f),It[3]=E;let C=n1(A,AA,4,It,DA);return w=l*c,d=xt*l,h=d-(d-l),p=l-h,d=xt*c,m=d-(d-c),g=c-m,_=p*g-(w-h*m-p*m-h*g),k=s*u,d=xt*s,h=d-(d-s),p=s-h,d=xt*u,m=d-(d-u),g=u-m,x=p*g-(k-h*m-p*m-h*g),y=_-x,f=_-y,It[0]=_-(y+f)+(f-x),v=w+y,f=v-w,b=w-(v-f)+(y-f),y=b-k,f=b-y,It[1]=b-(y+f)+(f-k),E=v+y,f=E-v,It[2]=v-(E-f)+(y-f),It[3]=E,SA[n1(C,DA,4,It,SA)-1]}function zf(e,t,n,r,i,a){let o=(t-a)*(n-i),l=(e-i)*(r-a),s=o-l,u=Math.abs(o+l);return Math.abs(s)>=sI*u?s:-fI(e,t,n,r,i,a,u)}(7+56*ke)*ke,(3+28*ke)*ke,(26+288*ke)*ke*ke,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(8),B(8),B(8),B(4),B(8),B(8),B(8),B(12),B(192),B(192),(10+96*ke)*ke,(4+48*ke)*ke,(44+576*ke)*ke*ke,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(8),B(4),B(4),B(4),B(8),B(16),B(16),B(16),B(32),B(32),B(48),B(64),B(1152),B(1152),(16+224*ke)*ke,(5+72*ke)*ke,(71+1408*ke)*ke*ke,B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(4),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(24),B(1152),B(1152),B(1152),B(1152),B(1152),B(2304),B(2304),B(3456),B(5760),B(8),B(8),B(8),B(16),B(24),B(48),B(48),B(96),B(192),B(384),B(384),B(384),B(768),B(96),B(96),B(96),B(1152);var FA=2**-52,Nf=new Uint32Array(512),CA=class WM{static from(t,n=gI,r=yI){let i=t.length,a=new Float64Array(i*2);for(let o=0;o<i;o++){let l=t[o];a[2*o]=n(l),a[2*o+1]=r(l)}return new WM(a)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:a}=this,o=t.length>>1,l=1/0,s=1/0,u=-1/0,c=-1/0;for(let $=0;$<o;$++){let D=t[2*$],F=t[2*$+1];D<l&&(l=D),F<s&&(s=F),D>u&&(u=D),F>c&&(c=F),this._ids[$]=$}let f=(l+u)/2,d=(s+c)/2,h,p,m;for(let $=0,D=1/0;$<o;$++){let F=r1(f,d,t[2*$],t[2*$+1]);F<D&&(h=$,D=F)}let g=t[2*h],y=t[2*h+1];for(let $=0,D=1/0;$<o;$++){if($===h)continue;let F=r1(g,y,t[2*$],t[2*$+1]);F<D&&F>0&&(p=$,D=F)}let v=t[2*p],b=t[2*p+1],w=1/0;for(let $=0;$<o;$++){if($===h||$===p)continue;let D=pI(g,y,v,b,t[2*$],t[2*$+1]);D<w&&(m=$,w=D)}let _=t[2*m],k=t[2*m+1];if(w===1/0){for(let F=0;F<o;F++)this._dists[F]=t[2*F]-t[0]||t[2*F+1]-t[1];Io(this._ids,this._dists,0,o-1);let $=new Uint32Array(o),D=0;for(let F=0,T=-1/0;F<o;F++){let S=this._ids[F],M=this._dists[S];M>T&&($[D++]=S,T=M)}this.hull=$.subarray(0,D),this.triangles=new Uint32Array,this.halfedges=new Uint32Array;return}if(zf(g,y,v,b,_,k)<0){let $=p,D=v,F=b;p=m,v=_,b=k,m=$,_=D,k=F}let x=mI(g,y,v,b,_,k);this._cx=x.x,this._cy=x.y;for(let $=0;$<o;$++)this._dists[$]=r1(t[2*$],t[2*$+1],x.x,x.y);Io(this._ids,this._dists,0,o-1),this._hullStart=h;let E=3;r[h]=n[m]=p,r[p]=n[h]=m,r[m]=n[p]=h,i[h]=0,i[p]=1,i[m]=2,a.fill(-1),a[this._hashKey(g,y)]=h,a[this._hashKey(v,b)]=p,a[this._hashKey(_,k)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let $=0,D,F;$<this._ids.length;$++){let T=this._ids[$],S=t[2*T],M=t[2*T+1];if($>0&&Math.abs(S-D)<=FA&&Math.abs(M-F)<=FA||(D=S,F=M,T===h||T===p||T===m))continue;let A=0;for(let ae=0,se=this._hashKey(S,M);ae<this._hashSize&&(A=a[(se+ae)%this._hashSize],!(A!==-1&&A!==r[A]));ae++);A=n[A];let C=A,P;for(;P=r[C],zf(S,M,t[2*C],t[2*C+1],t[2*P],t[2*P+1])>=0;)if(C=P,C===A){C=-1;break}if(C===-1)continue;let W=this._addTriangle(C,T,r[C],-1,-1,i[C]);i[T]=this._legalize(W+2),i[C]=W,E++;let V=r[C];for(;P=r[V],zf(S,M,t[2*V],t[2*V+1],t[2*P],t[2*P+1])<0;)W=this._addTriangle(V,T,P,i[T],-1,i[V]),i[T]=this._legalize(W+2),r[V]=V,E--,V=P;if(C===A)for(;P=n[C],zf(S,M,t[2*P],t[2*P+1],t[2*C],t[2*C+1])<0;)W=this._addTriangle(P,T,C,-1,i[C],i[P]),this._legalize(W+2),i[P]=W,r[C]=C,E--,C=P;this._hullStart=n[T]=C,r[C]=n[V]=T,r[T]=V,a[this._hashKey(S,M)]=T,a[this._hashKey(t[2*C],t[2*C+1])]=C}this.hull=new Uint32Array(E);for(let $=0,D=this._hullStart;$<E;$++)this.hull[$]=D,D=r[D];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(dI(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,a=0,o=0;for(;;){let l=r[t],s=t-t%3;if(o=s+(t+2)%3,l===-1){if(a===0)break;t=Nf[--a];continue}let u=l-l%3,c=s+(t+1)%3,f=u+(l+2)%3,d=n[o],h=n[t],p=n[c],m=n[f];if(hI(i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){n[t]=m,n[l]=d;let g=r[f];if(g===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=t;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(t,g),this._link(l,r[o]),this._link(o,f);let y=u+(l+1)%3;a<Nf.length&&(Nf[a++]=y)}else{if(a===0)break;t=Nf[--a]}}return o}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,a,o){let l=this.trianglesLen;return this._triangles[l]=t,this._triangles[l+1]=n,this._triangles[l+2]=r,this._link(l,i),this._link(l+1,a),this._link(l+2,o),this.trianglesLen+=3,l}};function dI(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function r1(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function hI(e,t,n,r,i,a,o,l){let s=e-o,u=t-l,c=n-o,f=r-l,d=i-o,h=a-l,p=s*s+u*u,m=c*c+f*f,g=d*d+h*h;return s*(f*g-m*h)-u*(c*g-m*d)+p*(c*h-f*d)<0}function pI(e,t,n,r,i,a){let o=n-e,l=r-t,s=i-e,u=a-t,c=o*o+l*l,f=s*s+u*u,d=.5/(o*u-l*s),h=(u*c-l*f)*d,p=(o*f-s*c)*d;return h*h+p*p}function mI(e,t,n,r,i,a){let o=n-e,l=r-t,s=i-e,u=a-t,c=o*o+l*l,f=s*s+u*u,d=.5/(o*u-l*s);return{x:e+(u*c-l*f)*d,y:t+(o*f-s*c)*d}}function Io(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let a=e[i],o=t[a],l=i-1;for(;l>=n&&t[e[l]]>o;)e[l+1]=e[l--];e[l+1]=a}else{let i=n+r>>1,a=n+1,o=r;As(e,i,a),t[e[n]]>t[e[r]]&&As(e,n,r),t[e[a]]>t[e[r]]&&As(e,a,r),t[e[n]]>t[e[a]]&&As(e,n,a);let l=e[a],s=t[l];for(;;){do a++;while(t[e[a]]<s);do o--;while(t[e[o]]>s);if(o<a)break;As(e,a,o)}e[n+1]=e[o],e[o]=l,r-a+1>=o-n?(Io(e,t,a,r),Io(e,t,n,o-1)):(Io(e,t,n,o-1),Io(e,t,a,r))}}function As(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function gI(e){return e[0]}function yI(e){return e[1]}var MA=1e-6,xa=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error("negative radius");this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>MA||Math.abs(this._y1-i)>MA)&&(this._+="L"+r+","+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},i1=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},vI=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p<g;p+=3,m+=2){let b=n[p]*2,w=n[p+1]*2,_=n[p+2]*2,k=e[b],x=e[b+1],E=e[w],$=e[w+1],D=e[_],F=e[_+1],T=E-k,S=$-x,M=D-k,A=F-x,C=(T*A-S*M)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let W of t)i+=e[W*2],a+=e[W*2+1];i/=t.length,a/=t.length}let P=1e9*Math.sign((i-k)*A-(a-x)*M);y=(k+D)/2-P*A,v=(x+F)/2+P*M}else{let P=1/C,W=T*T+S*S,V=M*M+A*A;y=k+(A*W-S*V)*P,v=x+(T*V-M*W)*P}o[m]=y,o[m+1]=v}let l=t[t.length-1],s,u=l*4,c,f=e[2*l],d,h=e[2*l+1];r.fill(0);for(let p=0;p<t.length;++p)l=t[p],s=u,c=f,d=h,u=l*4,f=e[2*l],h=e[2*l+1],r[s+2]=r[u]=d-h,r[s+3]=r[u+1]=f-c}render(e){let t=e==null?e=new xa:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let u=0,c=n.length;u<c;++u){let f=n[u];if(f<u)continue;let d=Math.floor(u/3)*2,h=Math.floor(f/3)*2,p=a[d],m=a[d+1],g=a[h],y=a[h+1];this._renderSegment(p,m,g,y,e)}let l,s=i[i.length-1];for(let u=0;u<i.length;++u){l=s,s=i[u];let c=Math.floor(r[s]/3)*2,f=a[c],d=a[c+1],h=l*4,p=this._project(f,d,o[h+2],o[h+3]);p&&this._renderSegment(f,d,p[0],p[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new xa:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new xa:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let a=2;a<i;a+=2)(r[a]!==r[a-2]||r[a+1]!==r[a-1])&&t.lineTo(r[a],r[a+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let r=this.cellPolygon(t);r&&(r.index=t,yield r)}}cellPolygon(e){let t=new i1;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),l=this._regioncode(n,r);o===0&&l===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,l))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let r=this._clip(n);if(r){e:for(let i=0,a=t.length;i<a;i+=2)for(let o=0,l=r.length;o<l;o+=2)if(t[i]===r[o]&&t[i+1]===r[o+1]&&t[(i+2)%a]===r[(o+l-2)%l]&&t[(i+3)%a]===r[(o+l-1)%l]){yield n;break e}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],l=a;do{let s=Math.floor(l/3);if(o.push(t[s*2],t[s*2+1]),l=l%3==2?l-2:l+1,i[l]!==e)break;l=r[l]}while(l!==a&&l!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],l=t[n-1],s,u=this._regioncode(o,l),c,f=0;for(let d=0;d<n;d+=2)if(i=o,a=l,o=t[d],l=t[d+1],s=u,u=this._regioncode(o,l),s===0&&u===0)c=f,f=0,r?r.push(o,l):r=[o,l];else{let h,p,m,g,y;if(s===0){if((h=this._clipSegment(i,a,o,l,s,u))===null)continue;[p,m,g,y]=h}else{if((h=this._clipSegment(o,l,i,a,u,s))===null)continue;[g,y,p,m]=h,c=f,f=this._edgecode(p,m),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(p,m):r=[p,m]}c=f,f=this._edgecode(g,y),c&&f&&this._edge(e,c,f,r,r.length),r?r.push(g,y):r=[g,y]}if(r)c=f,f=this._edgecode(r[0],r[1]),c&&f&&this._edge(e,c,f,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let l,s,u=i||a;u&8?(l=e+(n-e)*(this.ymax-t)/(r-t),s=this.ymax):u&4?(l=e+(n-e)*(this.ymin-t)/(r-t),s=this.ymin):u&2?(s=t+(r-t)*(this.xmax-e)/(n-e),l=this.xmax):(s=t+(r-t)*(this.xmin-e)/(n-e),l=this.xmin),i?(e=l,t=s,i=this._regioncode(e,t)):(n=l,r=s,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),l;if((l=this._project(o[0],o[1],n,r))&&o.unshift(l[0],l[1]),(l=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(l[0],l[1]),o=this._clipFinite(e,o))for(let s=0,u=o.length,c,f=this._edgecode(o[u-2],o[u-1]);s<u;s+=2)c=f,f=this._edgecode(o[s],o[s+1]),c&&f&&(s=this._edge(e,c,f,o,s),u=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let a,o;switch(t){case 5:t=4;continue;case 4:t=6,a=this.xmax,o=this.ymin;break;case 6:t=2;continue;case 2:t=10,a=this.xmax,o=this.ymax;break;case 10:t=8;continue;case 8:t=9,a=this.xmin,o=this.ymax;break;case 9:t=1;continue;case 1:t=5,a=this.xmin,o=this.ymin;break}(r[i]!==a||r[i+1]!==o)&&this.contains(e,a,o)&&(r.splice(i,0,a,o),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,l;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(l=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(l=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,l=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,l=t+(i=a)*r)}return[o,l]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},bI=2*Math.PI,jo=Math.pow;function xI(e){return e[0]}function wI(e){return e[1]}function _I(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],a=2*t[r+1],o=2*t[r+2];if((n[o]-n[i])*(n[a+1]-n[i+1])-(n[a]-n[i])*(n[o+1]-n[i+1])>1e-10)return!1}return!0}function kI(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var EI=class HM{static from(t,n=xI,r=wI,i){return new HM("length"in t?$I(t,n,r,i):Float64Array.from(AI(t,n,r,i)))}constructor(t){this._delaunator=new CA(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&_I(t)){this.collinear=Int32Array.from({length:n.length/2},(d,h)=>h).sort((d,h)=>n[2*d]-n[2*h]||n[2*d+1]-n[2*h+1]);let s=this.collinear[0],u=this.collinear[this.collinear.length-1],c=[n[2*s],n[2*s+1],n[2*u],n[2*u+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,h=n.length/2;d<h;++d){let p=kI(n[2*d],n[2*d+1],f);n[2*d]=p[0],n[2*d+1]=p[1]}this._delaunator=new CA(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,a=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),l=this._hullIndex.fill(-1);for(let s=0,u=r.length;s<u;++s){let c=a[s%3==2?s-2:s+1];(r[s]===-1||o[c]===-1)&&(o[c]=s)}for(let s=0,u=i.length;s<u;++s)l[i[s]]=s;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],o[i[0]]=1,i.length===2&&(o[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new vI(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:a,triangles:o,collinear:l}=this;if(l){let f=l.indexOf(t);f>0&&(yield l[f-1]),f<l.length-1&&(yield l[f+1]);return}let s=n[t];if(s===-1)return;let u=s,c=-1;do{if(yield c=o[u],u=u%3==2?u-2:u+1,o[u]!==t)return;if(u=a[u],u===-1){let f=r[(i[t]+1)%r.length];f!==c&&(yield f);return}}while(u!==s)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,a;for(;(a=this._step(r,t,n))>=0&&a!==r&&a!==i;)r=a;return a}_step(t,n,r){let{inedges:i,hull:a,_hullIndex:o,halfedges:l,triangles:s,points:u}=this;if(i[t]===-1||!u.length)return(t+1)%(u.length>>1);let c=t,f=jo(n-u[t*2],2)+jo(r-u[t*2+1],2),d=i[t],h=d;do{let p=s[h],m=jo(n-u[p*2],2)+jo(r-u[p*2+1],2);if(m<f&&(f=m,c=p),h=h%3==2?h-2:h+1,s[h]!==t)break;if(h=l[h],h===-1){if(h=a[(o[t]+1)%a.length],h!==p&&jo(n-u[h*2],2)+jo(r-u[h*2+1],2)<f)return h;break}}while(h!==d);return c}render(t){let n=t==null?t=new xa:void 0,{points:r,halfedges:i,triangles:a}=this;for(let o=0,l=i.length;o<l;++o){let s=i[o];if(s<o)continue;let u=a[o]*2,c=a[s]*2;t.moveTo(r[u],r[u+1]),t.lineTo(r[c],r[c+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new xa:void 0,{points:i}=this;for(let a=0,o=i.length;a<o;a+=2){let l=i[a],s=i[a+1];t.moveTo(l+n,s),t.arc(l,s,n,0,bI)}return r&&r.value()}renderHull(t){let n=t==null?t=new xa:void 0,{hull:r,points:i}=this,a=r[0]*2,o=r.length;t.moveTo(i[a],i[a+1]);for(let l=1;l<o;++l){let s=2*r[l];t.lineTo(i[s],i[s+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new i1;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new xa:void 0,{points:i,triangles:a}=this,o=a[t*=3]*2,l=a[t+1]*2,s=a[t+2]*2;return n.moveTo(i[o],i[o+1]),n.lineTo(i[l],i[l+1]),n.lineTo(i[s],i[s+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new i1;return this.renderTriangle(t,n),n.value()}};function $I(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let l=e[o];a[o*2]=t.call(r,l,o,e),a[o*2+1]=n.call(r,l,o,e)}return a}function*AI(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}var DI=Gt({voronoi:()=>a1});function a1(e){O.call(this,null,e)}a1.Definition={type:"Voronoi",metadata:{modifies:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"size",type:"number",array:!0,length:2},{name:"extent",type:"array",array:!0,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:!0,length:2}},{name:"as",type:"string",default:"path"}]};var SI=[-1e5,-1e5,1e5,1e5];G(a1,O,{transform(e,t){let n=e.as||"path",r=t.source;if(!r||!r.length)return t;let i=e.size;i=i?[0,0,i[0],i[1]]:(i=e.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:SI;let a=this.value=EI.from(r,e.x,e.y).voronoi(i);for(let o=0,l=r.length;o<l;++o){let s=a.cellPolygon(o);r[o][n]=s&&!CI(s)?FI(s):null}return t.reflow(e.modified()).modifies(n)}});function FI(e){let t=e[0][0],n=e[0][1],r=e.length-1;for(;e[r][0]===t&&e[r][1]===n;--r);return"M"+e.slice(0,r+1).join("L")+"Z"}function CI(e){return e.length===2&&e[0][0]===e[1][0]&&e[0][1]===e[1][1]}var MI=Gt({wordcloud:()=>l1}),o1=Math.PI/180,Ds=64,Rf=2048;function OI(){var e=[256,256],t,n,r,i,a,o,l,s=OA,u=[],c=Math.random,f={};f.layout=function(){for(var p=d(xi()),m=PI((e[0]>>5)*e[1]),g=null,y=u.length,v=-1,b=[],w=u.map(k=>({text:t(k),font:n(k),style:i(k),weight:a(k),rotate:o(k),size:~~(r(k)+1e-14),padding:l(k),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:k})).sort((k,x)=>x.size-k.size);++v<y;){var _=w[v];_.x=e[0]*(c()+.5)>>1,_.y=e[1]*(c()+.5)>>1,zI(p,_,w,v),_.hasText&&h(m,_,g)&&(b.push(_),g?RI(g,_):g=[{x:_.x+_.x0,y:_.y+_.y0},{x:_.x+_.x1,y:_.y+_.y1}],_.x-=e[0]>>1,_.y-=e[1]>>1)}return b};function d(p){p.width=p.height=1;var m=Math.sqrt(p.getContext("2d").getImageData(0,0,1,1).data.length>>2);p.width=(Ds<<5)/m,p.height=Rf/m;var g=p.getContext("2d");return g.fillStyle=g.strokeStyle="red",g.textAlign="center",{context:g,ratio:m}}function h(p,m,g){for(var y=m.x,v=m.y,b=Math.hypot(e[0],e[1]),w=s(e),_=c()<.5?1:-1,k=-_,x,E,$;(x=w(k+=_))&&(E=~~x[0],$=~~x[1],!(Math.min(Math.abs(E),Math.abs($))>=b));)if(m.x=y+E,m.y=v+$,!(m.x+m.x0<0||m.y+m.y0<0||m.x+m.x1>e[0]||m.y+m.y1>e[1])&&(!g||!NI(m,p,e[0]))&&(!g||TI(m,g))){for(var D=m.sprite,F=m.width>>5,T=e[0]>>5,S=m.x-(F<<4),M=S&127,A=32-M,C=m.y1-m.y0,P=(m.y+m.y0)*T+(S>>5),W,V=0;V<C;V++){W=0;for(var ae=0;ae<=F;ae++)p[P+ae]|=W<<A|(ae<F?(W=D[V*F+ae])>>>M:0);P+=T}return m.sprite=null,!0}return!1}return f.words=function(p){return arguments.length?(u=p,f):u},f.size=function(p){return arguments.length?(e=[+p[0],+p[1]],f):e},f.font=function(p){return arguments.length?(n=wa(p),f):n},f.fontStyle=function(p){return arguments.length?(i=wa(p),f):i},f.fontWeight=function(p){return arguments.length?(a=wa(p),f):a},f.rotate=function(p){return arguments.length?(o=wa(p),f):o},f.text=function(p){return arguments.length?(t=wa(p),f):t},f.spiral=function(p){return arguments.length?(s=BI[p]||p,f):s},f.fontSize=function(p){return arguments.length?(r=wa(p),f):r},f.padding=function(p){return arguments.length?(l=wa(p),f):l},f.random=function(p){return arguments.length?(c=p,f):c},f}function zI(e,t,n,r){if(!t.sprite){var i=e.context,a=e.ratio;i.clearRect(0,0,(Ds<<5)/a,Rf/a);var o=0,l=0,s=0,u=n.length,c,f,d,h,p;for(--r;++r<u;){if(t=n[r],i.save(),i.font=t.style+" "+t.weight+" "+~~((t.size+1)/a)+"px "+t.font,c=i.measureText(t.text+"m").width*a,d=t.size<<1,t.rotate){var m=Math.sin(t.rotate*o1),g=Math.cos(t.rotate*o1),y=c*g,v=c*m,b=d*g,w=d*m;c=Math.max(Math.abs(y+w),Math.abs(y-w))+31>>5<<5,d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else c=c+31>>5<<5;if(d>s&&(s=d),o+c>=Ds<<5&&(o=0,l+=s,s=0),l+d>=Rf)break;i.translate((o+(c>>1))/a,(l+(d>>1))/a),t.rotate&&i.rotate(t.rotate*o1),i.fillText(t.text,0,0),t.padding&&(i.lineWidth=2*t.padding,i.strokeText(t.text,0,0)),i.restore(),t.width=c,t.height=d,t.xoff=o,t.yoff=l,t.x1=c>>1,t.y1=d>>1,t.x0=-t.x1,t.y0=-t.y1,t.hasText=!0,o+=c}for(var _=i.getImageData(0,0,(Ds<<5)/a,Rf/a).data,k=[];--r>=0;)if(t=n[r],t.hasText){for(c=t.width,f=c>>5,d=t.y1-t.y0,h=0;h<d*f;h++)k[h]=0;if(o=t.xoff,o==null)return;l=t.yoff;var x=0,E=-1;for(p=0;p<d;p++){for(h=0;h<c;h++){var $=f*p+(h>>5),D=_[(l+p)*(Ds<<5)+(o+h)<<2]?1<<31-h%32:0;k[$]|=D,x|=D}x?E=p:(t.y0++,d--,p--,l++)}t.y1=t.y0+E,t.sprite=k.slice(0,(t.y1-t.y0)*f)}}}function NI(e,t,n){n>>=5;for(var r=e.sprite,i=e.width>>5,a=e.x-(i<<4),o=a&127,l=32-o,s=e.y1-e.y0,u=(e.y+e.y0)*n+(a>>5),c,f=0;f<s;f++){c=0;for(var d=0;d<=i;d++)if((c<<l|(d<i?(c=r[f*i+d])>>>o:0))&t[u+d])return!0;u+=n}return!1}function RI(e,t){var n=e[0],r=e[1];t.x+t.x0<n.x&&(n.x=t.x+t.x0),t.y+t.y0<n.y&&(n.y=t.y+t.y0),t.x+t.x1>r.x&&(r.x=t.x+t.x1),t.y+t.y1>r.y&&(r.y=t.y+t.y1)}function TI(e,t){return e.x+e.x1>t[0].x&&e.x+e.x0<t[1].x&&e.y+e.y1>t[0].y&&e.y+e.y0<t[1].y}function OA(e){var t=e[0]/e[1];return function(n){return[t*(n*=.1)*Math.cos(n),n*Math.sin(n)]}}function LI(e){var t=4,n=t*e[0]/e[1],r=0,i=0;return function(a){var o=a<0?-1:1;switch(Math.sqrt(1+4*o*a)-o&3){case 0:r+=n;break;case 1:i+=t;break;case 2:r-=n;break;default:i-=t;break}return[r,i]}}function PI(e){for(var t=[],n=-1;++n<e;)t[n]=0;return t}function wa(e){return typeof e=="function"?e:function(){return e}}var BI={archimedean:OA,rectangular:LI},zA=["x","y","font","fontSize","fontStyle","fontWeight","angle"],II=["text","font","rotate","fontSize","fontStyle","fontWeight"];function l1(e){O.call(this,OI(),e)}l1.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:zA}]},G(l1,O,{transform(e,t){e.size&&!(e.size[0]&&e.size[1])&&L("Wordcloud size dimensions must be non-zero.");function n(p){let m=e[p];return de(m)&&t.modified(m.fields)}let r=e.modified();if(!(r||t.changed(t.ADD_REM)||II.some(n)))return;let i=t.materialize(t.SOURCE).source,a=this.value,o=e.as||zA,l=e.fontSize||14,s;if(de(l)?s=e.fontSizeRange:l=At(l),s){let p=l,m=ve("sqrt")().domain(sr(i,p)).range(s);l=g=>m(p(g))}i.forEach(p=>{p[o[0]]=NaN,p[o[1]]=NaN,p[o[3]]=0});let u=a.words(i).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(l).random(bn).layout(),c=a.size(),f=c[0]>>1,d=c[1]>>1,h=u.length;for(let p=0,m,g;p<h;++p)m=u[p],g=m.datum,g[o[0]]=m.x+f,g[o[1]]=m.y+d,g[o[2]]=m.font,g[o[3]]=m.size,g[o[4]]=m.style,g[o[5]]=m.weight,g[o[6]]=m.rotate;return t.reflow(r).modifies(o)}});var jI=Gt({crossfilter:()=>s1,resolvefilter:()=>u1}),qI=e=>new Uint8Array(e),UI=e=>new Uint16Array(e),Ss=e=>new Uint32Array(e);function WI(){let e=8,t=[],n=Ss(0),r=Tf(0,e),i=Tf(0,e);return{data:()=>t,seen:()=>n=HI(n,t.length),add(a){for(let o=0,l=t.length,s=a.length,u;o<s;++o)u=a[o],u._index=l++,t.push(u)},remove(a,o){let l=t.length,s=Array(l-a),u=t,c,f,d;for(f=0;!o[f]&&f<l;++f)s[f]=t[f],u[f]=f;for(d=f;f<l;++f)c=t[f],o[f]?u[f]=-1:(u[f]=d,r[d]=r[f],i[d]=i[f],s[d]=c,c._index=d++),r[f]=0;return t=s,u},size:()=>t.length,curr:()=>r,prev:()=>i,reset:a=>i[a]=r[a],all:()=>e<257?255:e<65537?65535:4294967295,set(a,o){r[a]|=o},clear(a,o){r[a]&=~o},resize(a,o){(a>r.length||o>e)&&(e=Math.max(o,e),r=Tf(a,e,r),i=Tf(a,e))}}}function HI(e,t,n){return e.length>=t?e:(n||(n=new e.constructor(t)),n.set(e),n)}function Tf(e,t,n){let r=(t<257?qI:t<65537?UI:Ss)(e);return n&&r.set(n),r}function NA(e,t,n){let r=1<<t;return{one:r,zero:~r,range:n.slice(),bisect:e.bisect,index:e.index,size:e.size,onAdd(i,a){let o=this,l=o.bisect(o.range,i.value),s=i.index,u=l[0],c=l[1],f=s.length,d;for(d=0;d<u;++d)a[s[d]]|=r;for(d=c;d<f;++d)a[s[d]]|=r;return o}}}function RA(){let e=Ss(0),t=[],n=0;function r(l,s,u){if(!s.length)return[];let c=n,f=s.length,d=Ss(f),h=Array(f),p,m,g;for(g=0;g<f;++g)h[g]=l(s[g]),d[g]=g;if(h=GI(h,d),c)p=t,m=e,t=Array(c+f),e=Ss(c+f),VI(u,p,m,c,h,d,f,t,e);else{if(u>0)for(g=0;g<f;++g)d[g]+=u;t=h,e=d}return n=c+f,{index:d,value:h}}function i(l,s){let u=n,c,f,d;for(f=0;!s[e[f]]&&f<u;++f);for(d=f;f<u;++f)s[c=e[f]]||(e[d]=c,t[d]=t[f],++d);n=u-l}function a(l){for(let s=0,u=n;s<u;++s)e[s]=l[e[s]]}function o(l,s){let u;return s?u=s.length:(s=t,u=n),[B4(s,l[0],0,u),ep(s,l[1],0,u)]}return{insert:r,remove:i,bisect:o,reindex:a,index:()=>e,size:()=>n}}function GI(e,t){return e.sort.call(t,(n,r)=>{let i=e[n],a=e[r];return i<a?-1:i>a?1:0}),VO(e,t)}function VI(e,t,n,r,i,a,o,l,s){let u=0,c=0,f;for(f=0;u<r&&c<o;++f)t[u]<i[c]?(l[f]=t[u],s[f]=n[u++]):(l[f]=i[c],s[f]=a[c++]+e);for(;u<r;++u,++f)l[f]=t[u],s[f]=n[u];for(;c<o;++c,++f)l[f]=i[c],s[f]=a[c]+e}function s1(e){O.call(this,WI(),e),this._indices=null,this._dims=null}s1.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},G(s1,O,{transform(e,t){return this._dims?e.modified("fields")||e.fields.some(n=>t.modified(n.fields))?this.reinit(e,t):this.eval(e,t):this.init(e,t)},init(e,t){let n=e.fields,r=e.query,i=this._indices={},a=this._dims=[],o=r.length,l=0,s,u;for(;l<o;++l)s=n[l].fname,u=i[s]||(i[s]=RA()),a.push(NA(u,l,r[l]));return this.eval(e,t)},reinit(e,t){let n=t.materialize().fork(),r=e.fields,i=e.query,a=this._indices,o=this._dims,l=this.value,s=l.curr(),u=l.prev(),c=l.all(),f=n.rem=n.add,d=n.mod,h=i.length,p={},m,g,y,v,b,w,_,k,x;if(u.set(s),t.rem.length&&(b=this.remove(e,t,n)),t.add.length&&l.add(t.add),t.mod.length)for(w={},v=t.mod,_=0,k=v.length;_<k;++_)w[v[_]._index]=1;for(_=0;_<h;++_)x=r[_],(!o[_]||e.modified("fields",_)||t.modified(x.fields))&&(y=x.fname,(m=p[y])||(a[y]=g=RA(),p[y]=m=g.insert(x,t.source,0)),o[_]=NA(g,_,i[_]).onAdd(m,s));for(_=0,k=l.data().length;_<k;++_)b[_]||(u[_]===s[_]?w[_]&&s[_]!==c&&d.push(_):f.push(_));return l.mask=(1<<h)-1,n},eval(e,t){let n=t.materialize().fork(),r=this._dims.length,i=0;return t.rem.length&&(this.remove(e,t,n),i|=(1<<r)-1),e.modified("query")&&!e.modified("fields")&&(i|=this.update(e,t,n)),t.add.length&&(this.insert(e,t,n),i|=(1<<r)-1),t.mod.length&&(this.modify(t,n),i|=(1<<r)-1),this.value.mask=i,n},insert(e,t,n){let r=t.add,i=this.value,a=this._dims,o=this._indices,l=e.fields,s={},u=n.add,c=i.size()+r.length,f=a.length,d=i.size(),h,p,m;i.resize(c,f),i.add(r);let g=i.curr(),y=i.prev(),v=i.all();for(h=0;h<f;++h)p=l[h].fname,m=s[p]||(s[p]=o[p].insert(l[h],r,d)),a[h].onAdd(m,g);for(;d<c;++d)y[d]=v,g[d]!==v&&u.push(d)},modify(e,t){let n=t.mod,r=this.value,i=r.curr(),a=r.all(),o=e.mod,l,s,u;for(l=0,s=o.length;l<s;++l)u=o[l]._index,i[u]!==a&&n.push(u)},remove(e,t,n){let r=this._indices,i=this.value,a=i.curr(),o=i.prev(),l=i.all(),s={},u=n.rem,c=t.rem,f,d,h,p;for(f=0,d=c.length;f<d;++f)h=c[f]._index,s[h]=1,o[h]=p=a[h],a[h]=l,p!==l&&u.push(h);for(h in r)r[h].remove(d,s);return this.reindex(t,d,s),s},reindex(e,t,n){let r=this._indices,i=this.value;e.runAfter(()=>{let a=i.remove(t,n);for(let o in r)r[o].reindex(a)})},update(e,t,n){let r=this._dims,i=e.query,a=t.stamp,o=r.length,l=0,s,u;for(n.filters=0,u=0;u<o;++u)e.modified("query",u)&&(s=u,++l);if(l===1)l=r[s].one,this.incrementOne(r[s],i[s],n.add,n.rem);else for(u=0,l=0;u<o;++u)e.modified("query",u)&&(l|=r[u].one,this.incrementAll(r[u],i[u],a,n.add),n.rem=n.add);return l},incrementAll(e,t,n,r){let i=this.value,a=i.seen(),o=i.curr(),l=i.prev(),s=e.index(),u=e.bisect(e.range),c=e.bisect(t),f=c[0],d=c[1],h=u[0],p=u[1],m=e.one,g,y,v;if(f<h)for(g=f,y=Math.min(h,d);g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(f>h)for(g=h,y=Math.min(f,p);g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;if(d>p)for(g=Math.max(f,p),y=d;g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;else if(d<p)for(g=Math.max(h,d),y=p;g<y;++g)v=s[g],a[v]!==n&&(l[v]=o[v],a[v]=n,r.push(v)),o[v]^=m;e.range=t.slice()},incrementOne(e,t,n,r){let i=this.value.curr(),a=e.index(),o=e.bisect(e.range),l=e.bisect(t),s=l[0],u=l[1],c=o[0],f=o[1],d=e.one,h,p,m;if(s<c)for(h=s,p=Math.min(c,u);h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(s>c)for(h=c,p=Math.min(s,f);h<p;++h)m=a[h],i[m]^=d,r.push(m);if(u>f)for(h=Math.max(s,f),p=u;h<p;++h)m=a[h],i[m]^=d,n.push(m);else if(u<f)for(h=Math.max(c,u),p=f;h<p;++h)m=a[h],i[m]^=d,r.push(m);e.range=t.slice()}});function u1(e){O.call(this,null,e)}u1.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:!0,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:!0,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]},G(u1,O,{transform(e,t){let n=~(e.ignore||0),r=e.filter,i=r.mask;if((i&n)===0)return t.StopPropagation;let a=t.fork(t.ALL),o=r.data(),l=r.curr(),s=r.prev(),u=c=>l[c]&n?null:o[c];return a.filter(a.MOD,u),i&i-1?(a.filter(a.ADD,c=>{let f=l[c]&n;return!f&&f^s[c]&n?o[c]:null}),a.filter(a.REM,c=>{let f=l[c]&n;return f&&!(f^(f^s[c]&n))?o[c]:null})):(a.filter(a.ADD,u),a.filter(a.REM,c=>(l[c]&n)===i?o[c]:null)),a.filter(a.SOURCE,c=>u(c._index))}});var XI="RawCode",YI="Literal",JI="Property",QI="Identifier",KI="ArrayExpression",ZI="BinaryExpression",ej="CallExpression",tj="ConditionalExpression",nj="LogicalExpression",rj="MemberExpression",ij="ObjectExpression",aj="UnaryExpression";function qn(e){this.type=e}qn.prototype.visit=function(e){let t,n,r;if(e(this))return 1;for(t=oj(this),n=0,r=t.length;n<r;++n)if(t[n].visit(e))return 1};function oj(e){switch(e.type){case KI:return e.elements;case ZI:case nj:return[e.left,e.right];case ej:return[e.callee].concat(e.arguments);case tj:return[e.test,e.consequent,e.alternate];case rj:return[e.object,e.property];case ij:return e.properties;case JI:return[e.key,e.value];case aj:return[e.argument];case QI:case YI:case XI:default:return[]}}var yr,Z,z,wt,Se,Lf=1,Fs=2,_a=3,Ii=4,Pf=5,ka=6,Yt=7,Cs=8,lj=9;yr={},yr[Lf]="Boolean",yr[Fs]="<end>",yr[_a]="Identifier",yr[Ii]="Keyword",yr[Pf]="Null",yr[ka]="Numeric",yr[Yt]="Punctuator",yr[Cs]="String",yr[lj]="RegularExpression";var sj="ArrayExpression",uj="BinaryExpression",cj="CallExpression",fj="ConditionalExpression",TA="Identifier",dj="Literal",hj="LogicalExpression",pj="MemberExpression",mj="ObjectExpression",gj="Property",yj="UnaryExpression",it="Unexpected token %0",vj="Unexpected number",bj="Unexpected string",xj="Unexpected identifier",wj="Unexpected reserved word",_j="Unexpected end of input",c1="Invalid regular expression",f1="Invalid regular expression: missing /",LA="Octal literals are not allowed in strict mode.",kj="Duplicate data property in object literal not allowed in strict mode",dt="ILLEGAL",Ms="Disabled.",Ej=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),$j=RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function Bf(e,t){if(!e)throw Error("ASSERT: "+t)}function Vr(e){return e>=48&&e<=57}function d1(e){return"0123456789abcdefABCDEF".includes(e)}function Os(e){return"01234567".includes(e)}function Aj(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function zs(e){return e===10||e===13||e===8232||e===8233}function Ns(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&Ej.test(String.fromCharCode(e))}function If(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&$j.test(String.fromCharCode(e))}var Dj={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function PA(){for(;z<wt;){let e=Z.charCodeAt(z);if(Aj(e)||zs(e))++z;else break}}function h1(e){var t,n,r,i=0;for(n=e==="u"?4:2,t=0;t<n;++t)z<wt&&d1(Z[z])?(r=Z[z++],i=i*16+"0123456789abcdef".indexOf(r.toLowerCase())):be({},it,dt);return String.fromCharCode(i)}function Sj(){var e=Z[z],t=0,n,r;for(e==="}"&&be({},it,dt);z<wt&&(e=Z[z++],d1(e));)t=t*16+"0123456789abcdef".indexOf(e.toLowerCase());return(t>1114111||e!=="}")&&be({},it,dt),t<=65535?String.fromCharCode(t):(n=(t-65536>>10)+55296,r=(t-65536&1023)+56320,String.fromCharCode(n,r))}function BA(){var e=Z.charCodeAt(z++),t=String.fromCharCode(e);for(e===92&&(Z.charCodeAt(z)!==117&&be({},it,dt),++z,e=h1("u"),(!e||e==="\\"||!Ns(e.charCodeAt(0)))&&be({},it,dt),t=e);z<wt&&(e=Z.charCodeAt(z),If(e));)++z,t+=String.fromCharCode(e),e===92&&(t=t.substr(0,t.length-1),Z.charCodeAt(z)!==117&&be({},it,dt),++z,e=h1("u"),(!e||e==="\\"||!If(e.charCodeAt(0)))&&be({},it,dt),t+=e);return t}function Fj(){for(var e=z++,t;z<wt;){if(t=Z.charCodeAt(z),t===92)return z=e,BA();if(If(t))++z;else break}return Z.slice(e,z)}function Cj(){var e=z,t=Z.charCodeAt(z)===92?BA():Fj();return{type:t.length===1?_a:Dj.hasOwnProperty(t)?Ii:t==="null"?Pf:t==="true"||t==="false"?Lf:_a,value:t,start:e,end:z}}function p1(){var e=z,t=Z.charCodeAt(z),n,r=Z[z],i,a,o;switch(t){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++z,{type:Yt,value:String.fromCharCode(t),start:e,end:z};default:if(n=Z.charCodeAt(z+1),n===61)switch(t){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return z+=2,{type:Yt,value:String.fromCharCode(t)+String.fromCharCode(n),start:e,end:z};case 33:case 61:return z+=2,Z.charCodeAt(z)===61&&++z,{type:Yt,value:Z.slice(e,z),start:e,end:z}}}if(o=Z.substr(z,4),o===">>>=")return z+=4,{type:Yt,value:o,start:e,end:z};if(a=o.substr(0,3),a===">>>"||a==="<<="||a===">>=")return z+=3,{type:Yt,value:a,start:e,end:z};if(i=a.substr(0,2),r===i[1]&&"+-<>&|".includes(r)||i==="=>")return z+=2,{type:Yt,value:i,start:e,end:z};if(i==="//"&&be({},it,dt),"<>=!+-*%&|^/".includes(r))return++z,{type:Yt,value:r,start:e,end:z};be({},it,dt)}function Mj(e){let t="";for(;z<wt&&d1(Z[z]);)t+=Z[z++];return t.length===0&&be({},it,dt),Ns(Z.charCodeAt(z))&&be({},it,dt),{type:ka,value:parseInt("0x"+t,16),start:e,end:z}}function Oj(e){let t="0"+Z[z++];for(;z<wt&&Os(Z[z]);)t+=Z[z++];return(Ns(Z.charCodeAt(z))||Vr(Z.charCodeAt(z)))&&be({},it,dt),{type:ka,value:parseInt(t,8),octal:!0,start:e,end:z}}function IA(){var e,t,n=Z[z];if(Bf(Vr(n.charCodeAt(0))||n===".","Numeric literal must start with a decimal digit or a decimal point"),t=z,e="",n!=="."){if(e=Z[z++],n=Z[z],e==="0"){if(n==="x"||n==="X")return++z,Mj(t);if(Os(n))return Oj(t);n&&Vr(n.charCodeAt(0))&&be({},it,dt)}for(;Vr(Z.charCodeAt(z));)e+=Z[z++];n=Z[z]}if(n==="."){for(e+=Z[z++];Vr(Z.charCodeAt(z));)e+=Z[z++];n=Z[z]}if(n==="e"||n==="E")if(e+=Z[z++],n=Z[z],(n==="+"||n==="-")&&(e+=Z[z++]),Vr(Z.charCodeAt(z)))for(;Vr(Z.charCodeAt(z));)e+=Z[z++];else be({},it,dt);return Ns(Z.charCodeAt(z))&&be({},it,dt),{type:ka,value:parseFloat(e),start:t,end:z}}function zj(){var e="",t,n,r,i,a=!1;for(t=Z[z],Bf(t==="'"||t==='"',"String literal must starts with a quote"),n=z,++z;z<wt;)if(r=Z[z++],r===t){t="";break}else if(r==="\\")if(r=Z[z++],!r||!zs(r.charCodeAt(0)))switch(r){case"u":case"x":Z[z]==="{"?(++z,e+=Sj()):e+=h1(r);break;case"n":e+=`
5
- `;break;case"r":e+="\r";break;case"t":e+=" ";break;case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:Os(r)?(i="01234567".indexOf(r),i!==0&&(a=!0),z<wt&&Os(Z[z])&&(a=!0,i=i*8+"01234567".indexOf(Z[z++]),"0123".includes(r)&&z<wt&&Os(Z[z])&&(i=i*8+"01234567".indexOf(Z[z++]))),e+=String.fromCharCode(i)):e+=r;break}else r==="\r"&&Z[z]===`
6
- `&&++z;else{if(zs(r.charCodeAt(0)))break;e+=r}return t!==""&&be({},it,dt),{type:Cs,value:e,octal:a,start:n,end:z}}function Nj(e,t){let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}/g,(r,i)=>{if(parseInt(i,16)<=1114111)return"x";be({},c1)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(n)}catch{be({},c1)}try{return new RegExp(e,t)}catch{return null}}function Rj(){var e=Z[z],t,n,r,i;for(Bf(e==="/","Regular expression literal must start with a slash"),t=Z[z++],n=!1,r=!1;z<wt;)if(e=Z[z++],t+=e,e==="\\")e=Z[z++],zs(e.charCodeAt(0))&&be({},f1),t+=e;else if(zs(e.charCodeAt(0)))be({},f1);else if(n)e==="]"&&(n=!1);else if(e==="/"){r=!0;break}else e==="["&&(n=!0);return r||be({},f1),i=t.substr(1,t.length-2),{value:i,literal:t}}function Tj(){for(var e,t="",n="";z<wt&&(e=Z[z],If(e.charCodeAt(0)));)++z,e==="\\"&&z<wt?be({},it,dt):(n+=e,t+=e);return n.search(/[^gimuy]/g)>=0&&be({},c1,n),{value:n,literal:t}}function Lj(){var e,t,n,r;return Se=null,PA(),e=z,t=Rj(),n=Tj(),r=Nj(t.value,n.value),{literal:t.literal+n.literal,value:r,regex:{pattern:t.value,flags:n.value},start:e,end:z}}function Pj(e){return e.type===_a||e.type===Ii||e.type===Lf||e.type===Pf}function jA(){if(PA(),z>=wt)return{type:Fs,start:z,end:z};let e=Z.charCodeAt(z);return Ns(e)?Cj():e===40||e===41||e===59?p1():e===39||e===34?zj():e===46?Vr(Z.charCodeAt(z+1))?IA():p1():Vr(e)?IA():p1()}function Jt(){let e=Se;return z=e.end,Se=jA(),z=e.end,e}function qA(){let e=z;Se=jA(),z=e}function Bj(e){let t=new qn(sj);return t.elements=e,t}function UA(e,t,n){let r=new qn(e==="||"||e==="&&"?hj:uj);return r.operator=e,r.left=t,r.right=n,r}function Ij(e,t){let n=new qn(cj);return n.callee=e,n.arguments=t,n}function jj(e,t,n){let r=new qn(fj);return r.test=e,r.consequent=t,r.alternate=n,r}function m1(e){let t=new qn(TA);return t.name=e,t}function Rs(e){let t=new qn(dj);return t.value=e.value,t.raw=Z.slice(e.start,e.end),e.regex&&(t.raw==="//"&&(t.raw="/(?:)/"),t.regex=e.regex),t}function WA(e,t,n){let r=new qn(pj);return r.computed=e==="[",r.object=t,r.property=n,r.computed||(n.member=!0),r}function qj(e){let t=new qn(mj);return t.properties=e,t}function HA(e,t,n){let r=new qn(gj);return r.key=t,r.value=n,r.kind=e,r}function Uj(e,t){let n=new qn(yj);return n.operator=e,n.argument=t,n.prefix=!0,n}function be(e,t){var n,r=Array.prototype.slice.call(arguments,2),i=t.replace(/%(\d)/g,(a,o)=>(Bf(o<r.length,"Message reference must be in range"),r[o]));throw n=Error(i),n.index=z,n.description=i,n}function jf(e){e.type===Fs&&be(e,_j),e.type===ka&&be(e,vj),e.type===Cs&&be(e,bj),e.type===_a&&be(e,xj),e.type===Ii&&be(e,wj),be(e,it,e.value)}function _t(e){let t=Jt();(t.type!==Yt||t.value!==e)&&jf(t)}function Re(e){return Se.type===Yt&&Se.value===e}function g1(e){return Se.type===Ii&&Se.value===e}function Wj(){let e=[];for(z=Se.start,_t("[");!Re("]");)Re(",")?(Jt(),e.push(null)):(e.push(Ea()),Re("]")||_t(","));return Jt(),Bj(e)}function GA(){z=Se.start;let e=Jt();return e.type===Cs||e.type===ka?(e.octal&&be(e,LA),Rs(e)):m1(e.value)}function Hj(){var e,t,n,r;if(z=Se.start,e=Se,e.type===_a)return n=GA(),_t(":"),r=Ea(),HA("init",n,r);if(e.type===Fs||e.type===Yt)jf(e);else return t=GA(),_t(":"),r=Ea(),HA("init",t,r)}function Gj(){var e=[],t,n,r,i={},a=String;for(z=Se.start,_t("{");!Re("}");)t=Hj(),n=t.key.type===TA?t.key.name:a(t.key.value),r="$"+n,Object.prototype.hasOwnProperty.call(i,r)?be({},kj):i[r]=!0,e.push(t),Re("}")||_t(",");return _t("}"),qj(e)}function Vj(){_t("(");let e=y1();return _t(")"),e}var Xj={if:1};function Yj(){var e,t,n;if(Re("("))return Vj();if(Re("["))return Wj();if(Re("{"))return Gj();if(e=Se.type,z=Se.start,e===_a||Xj[Se.value])n=m1(Jt().value);else if(e===Cs||e===ka)Se.octal&&be(Se,LA),n=Rs(Jt());else{if(e===Ii)throw Error(Ms);e===Lf?(t=Jt(),t.value=t.value==="true",n=Rs(t)):e===Pf?(t=Jt(),t.value=null,n=Rs(t)):Re("/")||Re("/=")?(n=Rs(Lj()),qA()):jf(Jt())}return n}function Jj(){let e=[];if(_t("("),!Re(")"))for(;z<wt&&(e.push(Ea()),!Re(")"));)_t(",");return _t(")"),e}function Qj(){z=Se.start;let e=Jt();return Pj(e)||jf(e),m1(e.value)}function Kj(){return _t("."),Qj()}function Zj(){_t("[");let e=y1();return _t("]"),e}function eq(){for(var e=Yj(),t,n;;)if(Re("."))n=Kj(),e=WA(".",e,n);else if(Re("("))t=Jj(),e=Ij(e,t);else if(Re("["))n=Zj(),e=WA("[",e,n);else break;return e}function VA(){let e=eq();if(Se.type===Yt&&(Re("++")||Re("--")))throw Error(Ms);return e}function qf(){var e,t;if(Se.type!==Yt&&Se.type!==Ii)t=VA();else{if(Re("++")||Re("--"))throw Error(Ms);if(Re("+")||Re("-")||Re("~")||Re("!"))e=Jt(),t=qf(),t=Uj(e.value,t);else{if(g1("delete")||g1("void")||g1("typeof"))throw Error(Ms);t=VA()}}return t}function XA(e){let t=0;if(e.type!==Yt&&e.type!==Ii)return 0;switch(e.value){case"||":t=1;break;case"&&":t=2;break;case"|":t=3;break;case"^":t=4;break;case"&":t=5;break;case"==":case"!=":case"===":case"!==":t=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":t=7;break;case"<<":case">>":case">>>":t=8;break;case"+":case"-":t=9;break;case"*":case"/":case"%":t=11;break}return t}function tq(){var e=Se,t,n,r,i,a,o,l,s=qf(),u;if(r=Se,i=XA(r),i===0)return s;for(r.prec=i,Jt(),t=[e,Se],o=qf(),a=[s,r,o];(i=XA(Se))>0;){for(;a.length>2&&i<=a[a.length-2].prec;)o=a.pop(),l=a.pop().value,s=a.pop(),t.pop(),n=UA(l,s,o),a.push(n);r=Jt(),r.prec=i,a.push(r),t.push(Se),n=qf(),a.push(n)}for(u=a.length-1,n=a[u],t.pop();u>1;)t.pop(),n=UA(a[u-1].value,a[u-2],n),u-=2;return n}function Ea(){var e=tq(),t,n;return Re("?")&&(Jt(),t=Ea(),_t(":"),n=Ea(),e=jj(e,t,n)),e}function y1(){let e=Ea();if(Re(","))throw Error(Ms);return e}function v1(e){Z=e,z=0,wt=Z.length,Se=null,qA();let t=y1();if(Se.type!==Fs)throw Error("Unexpect token after expression.");return t}var YA={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function JA(e){function t(o,l,s,u){let c=e(l[0]);return s&&(c=s+"("+c+")",s.lastIndexOf("new ",0)===0&&(c="("+c+")")),c+"."+o+(u<0?"":u===0?"()":"("+l.slice(1).map(e).join(",")+")")}function n(o,l,s){return u=>t(o,u,l,s)}let r="new Date",i="String",a="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(o){o.length<3&&L("Missing arguments to clamp function."),o.length>3&&L("Too many arguments to clamp function.");let l=o.map(e);return"Math.max("+l[1]+", Math.min("+l[2]+","+l[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:r,date:n("getDate",r,0),day:n("getDay",r,0),year:n("getFullYear",r,0),month:n("getMonth",r,0),hours:n("getHours",r,0),minutes:n("getMinutes",r,0),seconds:n("getSeconds",r,0),milliseconds:n("getMilliseconds",r,0),time:n("getTime",r,0),timezoneoffset:n("getTimezoneOffset",r,0),utcdate:n("getUTCDate",r,0),utcday:n("getUTCDay",r,0),utcyear:n("getUTCFullYear",r,0),utcmonth:n("getUTCMonth",r,0),utchours:n("getUTCHours",r,0),utcminutes:n("getUTCMinutes",r,0),utcseconds:n("getUTCSeconds",r,0),utcmilliseconds:n("getUTCMilliseconds",r,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",i,0),lower:n("toLowerCase",i,0),substring:n("substring",i),split:n("split",i),trim:n("trim",i,0),btoa:"btoa",atob:"atob",regexp:a,test:n("test",a),if:function(o){o.length<3&&L("Missing arguments to if function."),o.length>3&&L("Too many arguments to if function.");let l=o.map(e);return"("+l[0]+"?"+l[1]+":"+l[2]+")"}}}function nq(e){let t=e&&e.length-1;return t&&(e[0]==='"'&&e[t]==='"'||e[0]==="'"&&e[t]==="'")?e.slice(1,-1):e}function QA(e){e||(e={});let t=e.allowed?lr(e.allowed):{},n=e.forbidden?lr(e.forbidden):{},r=e.constants||YA,i=(e.functions||JA)(f),a=e.globalvar,o=e.fieldvar,l=de(a)?a:p=>`${a}["${p}"]`;[...Object.getOwnPropertyNames(Object.prototype).filter(p=>typeof Object.prototype[p]=="function")];let s={},u={},c=0;function f(p){if(Y(p))return p;let m=d[p.type];return m??L("Unsupported type: "+p.type),m(p)}let d={Literal:p=>p.raw,Identifier:p=>{let m=p.name;return c>0?m:K(n,m)?L("Illegal identifier: "+m):K(r,m)?r[m]:K(t,m)?m:(s[m]=1,l(m))},MemberExpression:p=>{let m=!p.computed,g=f(p.object);m&&(c+=1);let y=f(p.property);return g===o&&(u[nq(y)]=1),m&&--c,g+(m?"."+y:"["+y+"]")},CallExpression:p=>{p.callee.type!=="Identifier"&&L("Illegal callee type: "+p.callee.type);let m=p.callee.name,g=p.arguments,y=K(i,m)&&i[m];return y||L("Unrecognized function: "+m),de(y)?y(g):y+"("+g.map(f).join(",")+")"},ArrayExpression:p=>"["+p.elements.map(f).join(",")+"]",BinaryExpression:p=>"("+f(p.left)+" "+p.operator+" "+f(p.right)+")",UnaryExpression:p=>"("+p.operator+f(p.argument)+")",ConditionalExpression:p=>"("+f(p.test)+"?"+f(p.consequent)+":"+f(p.alternate)+")",LogicalExpression:p=>"("+f(p.left)+p.operator+f(p.right)+")",ObjectExpression:p=>{for(let m of p.properties){let g=m.key.name;Gh.has(g)&&L("Illegal property: "+g)}return"{"+p.properties.map(f).join(",")+"}"},Property:p=>{c+=1;let m=f(p.key);return--c,m+":"+f(p.value)}};function h(p){let m={code:f(p),globals:Object.keys(s),fields:Object.keys(u)};return s={},u={},m}return h.functions=i,h.constants=r,h}var KA=Symbol("vega_selection_getter");function ZA(e){return(!e.getter||!e.getter[KA])&&(e.getter=Tr(e.field),e.getter[KA]=!0),e.getter}var b1="intersect",eD="union",rq="vlMulti",iq="vlPoint",tD="or",aq="and",vr="_vgsid_",Ts=Tr(vr),oq="E",lq="R",sq="R-E",uq="R-LE",cq="R-RE",fq="E-LT",dq="E-LTE",hq="E-GT",pq="E-GTE",mq="E-VALID",gq="E-ONE",Uf="index:unit";function nD(e,t){for(var n=t.fields,r=t.values,i=n.length,a=0,o,l;a<i;++a)if(l=n[a],o=ZA(l)(e),aa(o)&&(o=yn(o)),aa(r[a])&&(r[a]=yn(r[a])),N(r[a])&&aa(r[a][0])&&(r[a]=r[a].map(yn)),l.type===oq){if(N(r[a])?!r[a].includes(o):o!==r[a])return!1}else if(l.type===lq){if(!po(o,r[a]))return!1}else if(l.type===cq){if(!po(o,r[a],!0,!1))return!1}else if(l.type===sq){if(!po(o,r[a],!1,!1))return!1}else if(l.type===uq){if(!po(o,r[a],!1,!0))return!1}else if(l.type===fq){if(o>=r[a])return!1}else if(l.type===dq){if(o>r[a])return!1}else if(l.type===hq){if(o<=r[a])return!1}else if(l.type===pq){if(o<r[a])return!1}else if(l.type===mq){if(o===null||isNaN(o))return!1}else if(l.type===gq&&r[a].indexOf(o)===-1)return!1;return!0}function yq(e,t,n){for(var r=this.context.data[e],i=r?r.values.value:[],a=r?r[Uf]&&r[Uf].value:void 0,o=n===b1,l=i.length,s=0,u,c,f,d,h;s<l;++s)if(u=i[s],a&&o){if(c||(c={}),f=c[d=u.unit]||0,f===-1)continue;if(h=nD(t,u),c[d]=h?-1:++f,h&&a.size===1)return!0;if(!h&&f===a.get(d).count)return!1}else if(h=nD(t,u),o^h)return h;return l&&o}var rD=o2(Ts),vq=rD.left,bq=rD.right;function xq(e,t,n){let r=this.context.data[e],i=r?r.values.value:[],a=r?r[Uf]&&r[Uf].value:void 0,o=n===b1,l=Ts(t),s=vq(i,l);if(s===i.length||Ts(i[s])!==l)return!1;if(a&&o){if(a.size===1)return!0;if(bq(i,l)-s<a.size)return!1}return!0}function wq(e,t){return e.map(n=>he(t.fields?{values:t.fields.map(r=>ZA(r)(n.datum))}:{[vr]:Ts(n.datum)},t))}function _q(e,t,n,r){for(var i=this.context.data[e],a=i?i.values.value:[],o={},l={},s={},u,c,f,d,h,p,m,g,y,v,b=a.length,w=0,_,k;w<b;++w)if(u=a[w],d=u.unit,c=u.fields,f=u.values,c&&f){for(_=0,k=c.length;_<k;++_)h=c[_],m=o[h.field]||(o[h.field]={}),g=m[d]||(m[d]=[]),s[h.field]=y=h.type.charAt(0),v=x1[`${y}_union`],m[d]=v(g,Q(f[_]));n&&(g=l[d]||(l[d]=[]),g.push(Q(f).reduce((x,E,$)=>(x[c[$].field]=E,x),{})))}else h=vr,p=Ts(u),m=o[h]||(o[h]={}),g=m[d]||(m[d]=[]),g.push(p),n&&(g=l[d]||(l[d]=[]),g.push({[vr]:p}));if(t||(t=eD),o[vr]?o[vr]=x1[`${vr}_${t}`](...Object.values(o[vr])):Object.keys(o).forEach(x=>{o[x]=Object.keys(o[x]).map(E=>o[x][E]).reduce((E,$)=>E===void 0?$:x1[`${s[x]}_${t}`](E,$))}),a=Object.keys(l),n&&a.length){let x=r?iq:rq;o[x]=t===eD?{[tD]:a.reduce((E,$)=>(E.push(...l[$]),E),[])}:{[aq]:a.map(E=>({[tD]:l[E]}))}}return o}var x1={[`${vr}_union`]:ZO,[`${vr}_intersect`]:QO,E_union:function(e,t){if(!e.length)return t;for(var n=0,r=t.length;n<r;++n)e.includes(t[n])||e.push(t[n]);return e},E_intersect:function(e,t){return e.length?e.filter(n=>t.includes(n)):t},R_union:function(e,t){var n=yn(t[0]),r=yn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?(e[0]>n&&(e[0]=n),e[1]<r&&(e[1]=r),e):[n,r]},R_intersect:function(e,t){var n=yn(t[0]),r=yn(t[1]);return n>r&&(n=t[1],r=t[0]),e.length?r<e[0]||e[1]<n?[]:(e[0]<n&&(e[0]=n),e[1]>r&&(e[1]=r),e):[n,r]}},kq=":",Eq="@";function w1(e,t,n,r){t[0].type!=="Literal"&&L("First argument to selection functions must be a string literal.");let i=t[0].value,a=t.length>=2&&Ae(t).value,o="unit",l=Eq+o,s=kq+i;a===b1&&!K(r,l)&&(r[l]=n.getData(i).indataRef(n,o)),K(r,s)||(r[s]=n.getData(i).tuplesRef())}function iD(e){let t=this.context.data[e];return t?t.values.value:[]}function $q(e,t,n){let r=this.context.data[e]["index:"+t],i=r?r.value.get(n):void 0;return i&&i.count}function Aq(e,t){let n=this.context.dataflow,r=this.context.data[e].input;return n.pulse(r,n.changeset().remove(gn).insert(t)),1}function Dq(e,t,n){if(e){let r=this.context.dataflow,i=e.mark.source;r.pulse(i,r.changeset().encode(e,t))}return n===void 0?e:n}var Ls=e=>function(t,n){let r=this.context.dataflow.locale();return t===null?"null":r[e](n)(t)},Sq=Ls("format"),aD=Ls("timeFormat"),Fq=Ls("utcFormat"),Cq=Ls("timeParse"),Mq=Ls("utcParse"),Wf=new Date(2e3,0,1);function Hf(e,t,n){return!Number.isInteger(e)||!Number.isInteger(t)?"":(Wf.setYear(2e3),Wf.setMonth(e),Wf.setDate(t),aD.call(this,Wf,n))}function Oq(e){return Hf.call(this,e,1,"%B")}function zq(e){return Hf.call(this,e,1,"%b")}function Nq(e){return Hf.call(this,0,2+e,"%A")}function Rq(e){return Hf.call(this,0,2+e,"%a")}function _1(e,t,n,r){t[0].type!=="Literal"&&L("First argument to data functions must be a string literal.");let i=t[0].value,a=":"+i;if(!K(a,r))try{r[a]=n.getData(i).tuplesRef()}catch{}}function Tq(e,t,n,r){t[0].type!=="Literal"&&L("First argument to indata must be a string literal."),t[1].type!=="Literal"&&L("Second argument to indata must be a string literal.");let i=t[0].value,a=t[1].value,o="@"+a;K(o,r)||(r[o]=n.getData(i).indataRef(n,a))}function jt(e,t,n,r){if(t[0].type==="Literal")oD(n,r,t[0].value);else for(e in n.scales)oD(n,r,e)}function oD(e,t,n){let r="%"+n;if(!K(t,r))try{t[r]=e.scaleRef(n)}catch{}}function br(e,t){if(Y(e)){let n=t.scales[e];return n&&Xw(n.value)?n.value:void 0}else if(de(e))return Xw(e)?e:void 0}function Lq(e,t,n){t.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,n._bandwidth=jt,n._range=jt,n._scale=jt;let r=i=>"_["+(i.type==="Literal"?H("%"+i.value):H("%")+"+"+e(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${e(i[1])})`}}function k1(e,t){return function(n,r,i){if(n){let a=br(n,(i||this).context);return a&&a.path[e](r)}else return t(r)}}var Pq=k1("area",CT),Bq=k1("bounds",NT),Iq=k1("centroid",IT);function jq(e,t){let n=br(e,(t||this).context);return n&&n.scale()}function qq(e){let t=this.context.group,n=!1;if(t)for(;e;){if(e===t){n=!0;break}e=e.mark.group}return n}function E1(e,t,n){try{e[t].apply(e,["EXPRESSION"].concat([].slice.call(n)))}catch(r){e.warn(r)}return n[n.length-1]}function Uq(){return E1(this.context.dataflow,"warn",arguments)}function Wq(){return E1(this.context.dataflow,"info",arguments)}function Hq(){return E1(this.context.dataflow,"debug",arguments)}function $1(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function A1(e){let t=Lu(e),n=$1(t.r),r=$1(t.g),i=$1(t.b);return .2126*n+.7152*r+.0722*i}function Gq(e,t){let n=A1(e),r=A1(t),i=Math.max(n,r),a=Math.min(n,r);return(i+.05)/(a+.05)}function Vq(){let e=[].slice.call(arguments);return e.unshift({}),he(...e)}function lD(e,t){return e===t||e!==e&&t!==t?!0:N(e)?N(t)&&e.length===t.length?Xq(e,t):!1:J(e)&&J(t)?sD(e,t):!1}function Xq(e,t){for(let n=0,r=e.length;n<r;++n)if(!lD(e[n],t[n]))return!1;return!0}function sD(e,t){for(let n in e)if(!lD(e[n],t[n]))return!1;return!0}function uD(e){return t=>sD(e,t)}function Yq(e,t,n,r,i,a){let o=this.context.dataflow,l=this.context.data[e],s=l.input,u=o.stamp(),c=l.changes,f,d;if(o._trigger===!1||!(s.value.length||t||r))return 0;if((!c||c.stamp<u)&&(l.changes=c=o.changeset(),c.stamp=u,o.runAfter(()=>{l.modified=!0,o.pulse(s,c).run()},!0,1)),n&&(f=n===!0?gn:N(n)||qu(n)?n:uD(n),c.remove(f)),t&&c.insert(t),r&&(f=uD(r),s.value.some(f)?c.remove(f):c.insert(r)),i)for(d in a)c.modify(i,d,a[d]);return 1}function Jq(e){let t=e.touches,n=t[0].clientX-t[1].clientX,r=t[0].clientY-t[1].clientY;return Math.hypot(n,r)}function Qq(e){let t=e.touches;return Math.atan2(t[0].clientY-t[1].clientY,t[0].clientX-t[1].clientX)}var cD={};function Kq(e,t){let n=cD[t]||(cD[t]=Tr(t));return N(e)?e.map(n):n(e)}function Gf(e){return N(e)||ArrayBuffer.isView(e)?e:null}function D1(e){return Gf(e)||(Y(e)?e:null)}function Zq(e,...t){return Gf(e).join(...t)}function eU(e,...t){return D1(e).indexOf(...t)}function tU(e,...t){return D1(e).lastIndexOf(...t)}function nU(e,...t){return D1(e).slice(...t)}function rU(e,t,n){return de(n)&&L("Function argument passed to replace."),!Y(t)&&!qh(t)&&L("Please pass a string or RegExp argument to replace."),String(e).replace(t,n)}function iU(e){return Gf(e).slice().reverse()}function aU(e){return Gf(e).slice().sort(Mu)}function oU(e,t,n){return cm(e||0,t||0,n||0)}function lU(e,t){let n=br(e,(t||this).context);return n&&n.bandwidth?n.bandwidth():0}function sU(e,t){let n=br(e,(t||this).context);return n?n.copy():void 0}function uU(e,t){let n=br(e,(t||this).context);return n?n.domain():[]}function cU(e,t,n){let r=br(e,(n||this).context);return r?N(t)?(r.invertRange||r.invert)(t):(r.invert||r.invertExtent)(t):void 0}function fU(e,t){let n=br(e,(t||this).context);return n&&n.range?n.range():[]}function dU(e,t,n){let r=br(e,(n||this).context);return r?r(t):void 0}function hU(e,t,n,r,i){e=br(e,(i||this).context);let a=g_(t,n),o=e.domain(),l=o[0],s=Ae(o),u=vn;return s-l?u=t_(e,l,s):e=(e.interpolator?ve("sequential")().interpolator(e.interpolator()):ve("linear")().interpolate(e.interpolate()).range(e.range())).domain([l=0,s=1]),e.ticks&&(o=e.ticks(+r||15),l!==o[0]&&o.unshift(l),s!==Ae(o)&&o.push(s)),o.forEach(c=>a.stop(u(c),e(c))),a}function pU(e,t,n){let r=br(e,(n||this).context);return function(i){return r?r.path.context(i)(t):""}}function mU(e){let t=null;return function(n){return n?Ul(n,t||(t=_o(e))):e}}var fD=e=>e.data;function dD(e,t){let n=iD.call(t,e);return n.root&&n.root.lookup||{}}function gU(e,t,n){let r=dD(e,this),i=r[t],a=r[n];return i&&a?i.path(a).map(fD):void 0}function yU(e,t){let n=dD(e,this)[t];return n?n.ancestors().map(fD):void 0}var hD=()=>typeof window<"u"&&window||null;function vU(){let e=hD();return e?e.screen:{}}function bU(){let e=hD();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]}function xU(){let e=this.context.dataflow,t=e.container&&e.container();return t?[t.clientWidth,t.clientHeight]:[void 0,void 0]}function pD(e,t,n){if(!e)return[];let[r,i]=e,a=new Qe().set(r[0],r[1],i[0],i[1]);return Tk(n||this.context.dataflow.scenegraph().root,a,wU(t))}function wU(e){let t=null;if(e){let n=Q(e.marktype),r=Q(e.markname);t=i=>(!n.length||n.some(a=>i.marktype===a))&&(!r.length||r.some(a=>i.name===a))}return t}function _U(e,t,n,r=5){e=Q(e);let i=e[e.length-1];return i===void 0||Math.hypot(i[0]-t,i[1]-n)>r?[...e,[t,n]]:e}function kU(e){return Q(e).reduce((t,[n,r],i)=>t+=i==0?`M ${n},${r} `:i===e.length-1?" Z":`L ${n},${r} `,"")}function EU(e,t,n){let{x:r,y:i,mark:a}=n,o=new Qe().set(2**53-1,2**53-1,-(2**53-1),-(2**53-1));for(let[l,s]of t)l<o.x1&&(o.x1=l),l>o.x2&&(o.x2=l),s<o.y1&&(o.y1=s),s>o.y2&&(o.y2=s);return o.translate(r,i),pD([[o.x1,o.y1],[o.x2,o.y2]],e,a).filter(l=>$U(l.x,l.y,t))}function $U(e,t,n){let r=0;for(let i=0,a=n.length-1;i<n.length;a=i++){let[o,l]=n[a],[s,u]=n[i];u>t!=l>t&&e<(o-s)*(t-u)/(l-u)+s&&r++}return r&1}var Ps={random(){return bn()},cumulativeNormal:Ju,cumulativeLogNormal:xp,cumulativeUniform:Ep,densityNormal:mp,densityLogNormal:bp,densityUniform:kp,quantileNormal:Qu,quantileLogNormal:wp,quantileUniform:$p,sampleNormal:Yu,sampleLogNormal:vp,sampleUniform:_p,isArray:N,isBoolean:fi,isDate:aa,isDefined(e){return e!==void 0},isNumber:we,isObject:J,isRegExp:qh,isString:Y,isTuple:qu,isValid(e){return e!=null&&e===e},toBoolean:Mx,toDate(e){return Gx(e)},toNumber:yn,toString:Nx,indexof:eU,join:Zq,lastindexof:tU,replace:rU,reverse:iU,sort:aU,slice:nU,flush:n2,lerp:Fx,merge:Vq,pad:Lx,peek:Ae,pluck:Kq,span:Fu,inrange:po,truncate:Zx,rgb:Lu,lab:oO,hcl:lO,hsl:dO,luminance:A1,contrast:Gq,sequence:nn,format:Sq,utcFormat:Fq,utcParse:Mq,utcOffset:Ox,utcSequence:Rx,timeFormat:aD,timeParse:Cq,timeOffset:Ex,timeSequence:Xx,timeUnitSpecifier:Tx,monthFormat:Oq,monthAbbrevFormat:zq,dayFormat:Nq,dayAbbrevFormat:Rq,quarter:Hx,utcquarter:Vx,week:$x,utcweek:r2,dayofyear:Dx,utcdayofyear:Wx,warn:Uq,info:Wq,debug:Hq,extent(e){return sr(e)},inScope:qq,intersect:pD,clampRange:kx,pinchDistance:Jq,pinchAngle:Qq,screen:vU,containerSize:xU,windowSize:bU,bandspace:oU,setdata:Aq,pathShape:mU,panLinear:Bx,panLog:Ux,panPow:Cx,panSymlog:zx,zoomLinear:jh,zoomLog:Vh,zoomPow:Nu,zoomSymlog:Jh,encode:Dq,modify:Yq,lassoAppend:_U,lassoPath:kU,intersectLasso:EU},AU=["view","item","group","xy","x","y"],DU="event.vega.",mD="this.",S1={},gD={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${H("$"+e)}]`,functions:SU,constants:YA,visitors:S1},F1=QA(gD);function SU(e){let t=JA(e);for(let n in AU.forEach(r=>t[r]=DU+r),Ps)t[n]=mD+n;return he(t,Lq(e,Ps,S1)),t}function Xe(e,t,n){return arguments.length===1?Ps[e]:(Ps[e]=t,n&&(S1[e]=n),F1&&(F1.functions[e]=mD+e),this)}Xe("bandwidth",lU,jt),Xe("copy",sU,jt),Xe("domain",uU,jt),Xe("range",fU,jt),Xe("invert",cU,jt),Xe("scale",dU,jt),Xe("gradient",hU,jt),Xe("geoArea",Pq,jt),Xe("geoBounds",Bq,jt),Xe("geoCentroid",Iq,jt),Xe("geoShape",pU,jt),Xe("geoScale",jq,jt),Xe("indata",$q,Tq),Xe("data",iD,_1),Xe("treePath",gU,_1),Xe("treeAncestors",yU,_1),Xe("vlSelectionTest",yq,w1),Xe("vlSelectionIdTest",xq,w1),Xe("vlSelectionResolve",_q,w1),Xe("vlSelectionTuples",wq);function xr(e,t){let n={},r;try{e=Y(e)?e:H(e)+"",r=v1(e)}catch{L("Expression parse error: "+e)}r.visit(a=>{if(a.type!=="CallExpression")return;let o=a.callee.name,l=gD.visitors[o];l&&l(o,a.arguments,t,n)});let i=F1(r);return i.globals.forEach(a=>{let o="$"+a;!K(n,o)&&t.getSignal(a)&&(n[o]=t.signalRef(a))}),{$expr:he({code:i.code},t.options.ast?{ast:r}:null),$fields:i.fields,$params:n}}function FU(e){let t=this,n=e.operators||[];return e.background&&(t.background=e.background),e.eventConfig&&(t.eventConfig=e.eventConfig),e.locale&&(t.locale=e.locale),n.forEach(r=>t.parseOperator(r)),n.forEach(r=>t.parseOperatorParameters(r)),(e.streams||[]).forEach(r=>t.parseStream(r)),(e.updates||[]).forEach(r=>t.parseUpdate(r)),t.resolve()}var CU=lr(["rule"]),yD=lr(["group","image","rect"]);function MU(e,t){let n="";return CU[t]||(e.x2&&(e.x?(yD[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?(yD[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}function C1(e){return(e+"").toLowerCase()}function OU(e){return C1(e)==="operator"}function zU(e){return C1(e)==="collect"}function Bs(e,t,n){n.endsWith(";")||(n="return("+n+");");let r=Function(...t.concat(n));return e&&e.functions?r.bind(e.functions):r}function NU(e,t,n,r){return`((u = ${e}) < (v = ${t}) || u == null) && v != null ? ${n}
7
- : (u > v || v == null) && u != null ? ${r}
8
- : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
9
- : v !== v && u === u ? ${r} : `}var RU={operator:(e,t)=>Bs(e,["_"],t.code),parameter:(e,t)=>Bs(e,["datum","_"],t.code),event:(e,t)=>Bs(e,["event"],t.code),handler:(e,t)=>Bs(e,["_","event"],`var datum=event.item&&event.item.datum;return ${t.code};`),encode:(e,t)=>{let{marktype:n,channels:r}=t,i="var o=item,datum=o.datum,m=0,$;";for(let a in r){let o="o["+H(a)+"]";i+=`$=${r[a].code};if(${o}!==$)${o}=$,m=1;`}return i+=MU(r,n),i+="return m;",Bs(e,["item","_"],i)},codegen:{get(e){let t=`[${e.map(H).join("][")}]`,n=Function("_",`return _${t};`);return n.path=t,n},comparator(e,t){let n,r=Function("a","b","var u, v; return "+e.map((i,a)=>{let o=t[a],l,s;return i.path?(l=`a${i.path}`,s=`b${i.path}`):((n||(n={}))["f"+a]=i,l=`this.f${a}(a)`,s=`this.f${a}(b)`),NU(l,s,-o,o)}).join("")+"0;");return n?r.bind(n):r}}};function TU(e){let t=this;OU(e.type)||!e.type?t.operator(e,e.update?t.operatorExpression(e.update):null):t.transform(e,e.type)}function LU(e){let t=this;if(e.params){let n=t.get(e.id);n||L("Invalid operator id: "+e.id),t.dataflow.connect(n,n.parameters(t.parseParameters(e.params),e.react,e.initonly))}}function PU(e,t){t||(t={});let n=this;for(let r in e){let i=e[r];t[r]=N(i)?i.map(a=>vD(a,n,t)):vD(i,n,t)}return t}function vD(e,t,n){if(!e||!J(e))return e;for(let r=0,i=bD.length,a;r<i;++r)if(a=bD[r],K(e,a.key))return a.parse(e,t,n);return e}var bD=[{key:"$ref",parse:BU},{key:"$key",parse:jU},{key:"$expr",parse:IU},{key:"$field",parse:qU},{key:"$encode",parse:WU},{key:"$compare",parse:UU},{key:"$context",parse:HU},{key:"$subflow",parse:GU},{key:"$tupleid",parse:VU}];function BU(e,t){return t.get(e.$ref)||L("Operator not defined: "+e.$ref)}function IU(e,t,n){e.$params&&t.parseParameters(e.$params,n);let r="e:"+e.$expr.code;return t.fn[r]||(t.fn[r]=fo(t.parameterExpression(e.$expr),e.$fields))}function jU(e,t){let n="k:"+e.$key+"_"+!!e.$flat;return t.fn[n]||(t.fn[n]=Hh(e.$key,e.$flat,t.expr.codegen))}function qU(e,t){if(!e.$field)return null;let n="f:"+e.$field+"_"+e.$name;return t.fn[n]||(t.fn[n]=Tr(e.$field,e.$name,t.expr.codegen))}function UU(e,t){let n="c:"+e.$compare+"_"+e.$order,r=Q(e.$compare).map(i=>i&&i.$tupleid?te:i);return t.fn[n]||(t.fn[n]=Xh(r,e.$order,t.expr.codegen))}function WU(e,t){let n=e.$encode,r={};for(let i in n){let a=n[i];r[i]=fo(t.encodeExpression(a.$expr),a.$fields),r[i].output=a.$output}return r}function HU(e,t){return t}function GU(e,t){let n=e.$subflow;return function(r,i,a){let o=t.fork().parse(n),l=o.get(n.operators[0].id),s=o.signals.parent;return s&&s.set(a),l.detachSubflow=()=>t.detach(o),l}}function VU(){return te}function XU(e){var t=this,n=e.filter==null?void 0:t.eventExpression(e.filter),r=e.stream==null?void 0:t.get(e.stream),i;e.source?r=t.events(e.source,e.type,n):e.merge&&(i=e.merge.map(a=>t.get(a)),r=i[0].merge.apply(i[0],i.slice(1))),e.between&&(i=e.between.map(a=>t.get(a)),r=r.between(i[0],i[1])),e.filter&&(r=r.filter(n)),e.throttle!=null&&(r=r.throttle(+e.throttle)),e.debounce!=null&&(r=r.debounce(+e.debounce)),r??L("Invalid stream definition: "+JSON.stringify(e)),e.consume&&r.consume(!0),t.stream(e,r)}function YU(e){var t=this,n=J(n=e.source)?n.$ref:n,r=t.get(n),i=null,a=e.update,o=void 0;r||L("Source not defined: "+e.source),i=e.target&&e.target.$expr?t.eventExpression(e.target.$expr):t.get(e.target),a&&a.$expr&&(a.$params&&(o=t.parseParameters(a.$params)),a=t.handlerExpression(a.$expr)),t.update(e,r,i,a,o)}var JU={skip:!0};function QU(e){var t=this,n={};if(e.signals){var r=n.signals={};Object.keys(t.signals).forEach(a=>{let o=t.signals[a];e.signals(a,o)&&(r[a]=o.value)})}if(e.data){var i=n.data={};Object.keys(t.data).forEach(a=>{let o=t.data[a];e.data(a,o)&&(i[a]=o.input.value)})}return t.subcontext&&e.recurse!==!1&&(n.subcontext=t.subcontext.map(a=>a.getState(e))),n}function KU(e){var t=this,n=t.dataflow,r=e.data,i=e.signals;Object.keys(i||{}).forEach(a=>{n.update(t.signals[a],i[a],JU)}),Object.keys(r||{}).forEach(a=>{n.pulse(t.data[a].input,n.changeset().remove(gn).insert(r[a]))}),(e.subcontext||[]).forEach((a,o)=>{let l=t.subcontext[o];l&&l.setState(a)})}function xD(e,t,n,r){return new wD(e,t,n,r)}function wD(e,t,n,r){this.dataflow=e,this.transforms=t,this.events=e.events.bind(e),this.expr=r||RU,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function _D(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}wD.prototype=_D.prototype={fork(){let e=new _D(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(n=>n!==e);let t=Object.keys(e.nodes);for(let n of t)e.nodes[n]._targets=null;for(let n of t)e.nodes[n].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,t){return this.nodes[e]=t},add(e,t){let n=this,r=n.dataflow,i=e.value;if(n.set(e.id,t),zU(e.type)&&i&&(i.$ingest?r.ingest(t,i.$ingest,i.$format):i.$request?r.preload(t,i.$request,i.$format):r.pulse(t,r.changeset().insert(i))),e.root&&(n.root=t),e.parent){let a=n.get(e.parent.$ref);a?(r.connect(a,[t]),t.targets().add(a)):(n.unresolved=n.unresolved||[]).push(()=>{a=n.get(e.parent.$ref),r.connect(a,[t]),t.targets().add(a)})}if(e.signal&&(n.signals[e.signal]=t),e.scale&&(n.scales[e.scale]=t),e.data)for(let a in e.data){let o=n.data[a]||(n.data[a]={});e.data[a].forEach(l=>o[l]=t)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,t){this.add(e,this.dataflow.add(e.value,t))},transform(e,t){this.add(e,this.dataflow.add(this.transforms[C1(t)]))},stream(e,t){this.set(e.id,t)},update(e,t,n,r,i){this.dataflow.on(t,n,r,i,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:FU,parseOperator:TU,parseOperatorParameters:LU,parseParameters:PU,parseStream:XU,parseUpdate:YU,getState:QU,setState:KU};function ZU(e){let t=e.container();t&&(t.setAttribute("role","graphics-document"),t.setAttribute("aria-roleDescription","visualization"),kD(t,e.description()))}function kD(e,t){e&&(t==null?e.removeAttribute("aria-label"):e.setAttribute("aria-label",t))}function eW(e){e.add(null,t=>(e._background=t.bg,e._resize=1,t.bg),{bg:e._signals.background})}var M1="default";function tW(e){let t=e._signals.cursor||(e._signals.cursor=e.add({user:M1,item:null}));e.on(e.events("view","pointermove"),t,(n,r)=>{let i=t.value,a=i?Y(i)?i:i.user:M1,o=r.item&&r.item.cursor||null;return i&&a===i.user&&o==i.item?i:{user:a,item:o}}),e.add(null,function(n){let r=n.cursor,i=this.value;return Y(r)||(i=r.item,r=r.user),O1(e,r&&r!==M1?r:i||r),i},{cursor:t})}function O1(e,t){let n=e.globalCursor()?typeof document<"u"&&document.body:e.container();if(n)return t==null?n.style.removeProperty("cursor"):n.style.cursor=t}function Vf(e,t){var n=e._runtime.data;return K(n,t)||L("Unrecognized data set: "+t),n[t]}function nW(e,t){return arguments.length<2?Vf(this,e).values.value:Xf.call(this,e,ua().remove(gn).insert(t))}function Xf(e,t){E2(t)||L("Second argument to changes must be a changeset.");let n=Vf(this,e);return n.modified=!0,this.pulse(n.input,t)}function rW(e,t){return Xf.call(this,e,ua().insert(t))}function iW(e,t){return Xf.call(this,e,ua().remove(t))}function ED(e){var t=e.padding();return Math.max(0,e._viewWidth+t.left+t.right)}function $D(e){var t=e.padding();return Math.max(0,e._viewHeight+t.top+t.bottom)}function Yf(e){var t=e.padding(),n=e._origin;return[t.left+n[0],t.top+n[1]]}function aW(e){var t=Yf(e),n=ED(e),r=$D(e);e._renderer.background(e.background()),e._renderer.resize(n,r,t),e._handler.origin(t),e._resizeListeners.forEach(i=>{try{i(n,r)}catch(a){e.error(a)}})}function oW(e,t,n){var r=e._renderer,i=r&&r.canvas(),a,o,l;return i&&(l=Yf(e),o=t.changedTouches?t.changedTouches[0]:t,a=Ac(o,i),a[0]-=l[0],a[1]-=l[1]),t.dataflow=e,t.item=n,t.vega=lW(e,n,a),t}function lW(e,t,n){let r=t?t.mark.marktype==="group"?t:t.mark.group:null;function i(o){var l=r,s;if(o){for(s=t;s;s=s.mark.group)if(s.mark.name===o){l=s;break}}return l&&l.mark&&l.mark.interactive?l:{}}function a(o){if(!o)return n;Y(o)&&(o=i(o));let l=n.slice();for(;o;)l[0]-=o.x||0,l[1]-=o.y||0,o=o.mark&&o.mark.group;return l}return{view:At(e),item:At(t||{}),group:i,xy:a,x:o=>a(o)[0],y:o=>a(o)[1]}}var AD="view",sW="timer",uW="window",cW={trap:!1};function fW(e){let t=he({defaults:{}},e),n=(r,i)=>{i.forEach(a=>{N(r[a])&&(r[a]=lr(r[a]))})};return n(t.defaults,["prevent","allow"]),n(t,["view","window","selector"]),t}function DD(e,t,n,r){e._eventListeners.push({type:n,sources:Q(t),handler:r})}function dW(e,t){var n=e._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[t]:i?!i[t]:e.preventDefault()}function Jf(e,t,n){let r=e._eventConfig&&e._eventConfig[t];return r===!1||J(r)&&!r[n]?(e.warn(`Blocked ${t} ${n} event listener.`),!1):!0}function hW(e,t,n){var r=this,i=new Gu(n),a=function(u,c){r.runAsync(null,()=>{e===AD&&dW(r,t)&&u.preventDefault(),i.receive(oW(r,u,c))})},o;if(e===sW)Jf(r,"timer",t)&&r.timer(a,t);else if(e===AD)Jf(r,"view",t)&&r.addEventListener(t,a,cW);else if(e===uW?Jf(r,"window",t)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&Jf(r,"selector",t)&&(o=Array.from(document.querySelectorAll(e))),!o)r.warn("Can not resolve event source: "+e);else{for(var l=0,s=o.length;l<s;++l)o[l].addEventListener(t,a);DD(r,o,t,a)}return i}function SD(e){return e.item}function FD(e){return e.item.mark.source}function CD(e){return function(t,n){return n.vega.view().changeset().encode(n.item,e)}}function pW(e,t){return e=[e||"hover"],t=[t||"update",e[0]],this.on(this.events("view","pointerover",SD),FD,CD(e)),this.on(this.events("view","pointerout",SD),FD,CD(t)),this}function mW(){for(var e=this._tooltip,t=this._timers,n=this._handler.handlers(),r=this._eventListeners,i=t.length,a,o,l,s;--i>=0;)t[i].stop();for(i=r.length;--i>=0;)for(o=r[i],a=o.sources.length;--a>=0;)o.sources[a].removeEventListener(o.type,o.handler);for(e&&e.call(this,this._handler,null,null,null),i=n.length;--i>=0;)s=n[i].type,l=n[i].handler,this._handler.off(s,l);return this}function sn(e,t,n){let r=document.createElement(e);for(let i in t)r.setAttribute(i,t[i]);return n!=null&&(r.textContent=n),r}var gW="vega-bind",yW="vega-bind-name",vW="vega-bind-radio";function bW(e,t,n){if(!t)return;let r=n.param,i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:a=>{a!=e.signal(r.signal)&&e.runAsync(null,()=>{i.source=!0,e.signal(r.signal,a)})}},r.debounce&&(i.update=Qh(r.debounce,i.update))),(r.input==null&&r.element?xW:_W)(i,t,r,e),i.active||(i.active=(e.on(e._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(e.signal(r.signal))}),!0)),i}function xW(e,t,n,r){let i=n.event||"input",a=()=>e.update(t.value);r.signal(n.signal,t.value),t.addEventListener(i,a),DD(r,t,i,a),e.set=o=>{t.value=o,t.dispatchEvent(wW(i))}}function wW(e){return typeof Event<"u"?new Event(e):{type:e}}function _W(e,t,n,r){let i=r.signal(n.signal),a=sn("div",{class:gW}),o=n.input==="radio"?a:a.appendChild(sn("label"));o.appendChild(sn("span",{class:yW},n.name||n.signal)),t.appendChild(a);let l=kW;switch(n.input){case"checkbox":l=EW;break;case"select":l=$W;break;case"radio":l=AW;break;case"range":l=DW;break}l(e,o,n,i)}function kW(e,t,n,r){let i=sn("input");for(let a in n)a!=="signal"&&a!=="element"&&i.setAttribute(a==="input"?"type":a,n[a]);i.setAttribute("name",n.signal),i.value=r,t.appendChild(i),i.addEventListener("input",()=>e.update(i.value)),e.elements=[i],e.set=a=>i.value=a}function EW(e,t,n,r){let i={type:"checkbox",name:n.signal};r&&(i.checked=!0);let a=sn("input",i);t.appendChild(a),a.addEventListener("change",()=>e.update(a.checked)),e.elements=[a],e.set=o=>a.checked=!!o||null}function $W(e,t,n,r){let i=sn("select",{name:n.signal}),a=n.labels||[];n.options.forEach((o,l)=>{let s={value:o};Qf(o,r)&&(s.selected=!0),i.appendChild(sn("option",s,(a[l]||o)+""))}),t.appendChild(i),i.addEventListener("change",()=>{e.update(n.options[i.selectedIndex])}),e.elements=[i],e.set=o=>{for(let l=0,s=n.options.length;l<s;++l)if(Qf(n.options[l],o)){i.selectedIndex=l;return}}}function AW(e,t,n,r){let i=sn("span",{class:vW}),a=n.labels||[];t.appendChild(i),e.elements=n.options.map((o,l)=>{let s={type:"radio",name:n.signal,value:o};Qf(o,r)&&(s.checked=!0);let u=sn("input",s);u.addEventListener("change",()=>e.update(o));let c=sn("label",{},(a[l]||o)+"");return c.prepend(u),i.appendChild(c),u}),e.set=o=>{let l=e.elements,s=l.length;for(let u=0;u<s;++u)Qf(l[u].value,o)&&(l[u].checked=!0)}}function DW(e,t,n,r){r=r===void 0?(+n.max+ +n.min)/2:r;let i=n.max==null?Math.max(100,+r)||100:n.max,a=n.min||Math.min(0,i,+r)||0,o=n.step||i2(a,i,100),l=sn("input",{type:"range",name:n.signal,min:a,max:i,step:o});l.value=r;let s=sn("span",{},+r);t.appendChild(l),t.appendChild(s);let u=()=>{s.textContent=l.value,e.update(+l.value)};l.addEventListener("input",u),l.addEventListener("change",u),e.elements=[l],e.set=c=>{l.value=c,s.textContent=c}}function Qf(e,t){return e===t||e+""==t+""}function MD(e,t,n,r,i,a){return t||(t=new r(e.loader())),t.initialize(n,ED(e),$D(e),Yf(e),i,a).background(e.background())}function z1(e,t){return t?function(){try{t.apply(this,arguments)}catch(n){e.error(n)}}:null}function SW(e,t,n,r){let i=new r(e.loader(),z1(e,e.tooltip())).scene(e.scenegraph().root).initialize(n,Yf(e),e);return t&&t.handlers().forEach(a=>{i.on(a.type,a.handler)}),i}function FW(e,t){let n=this,r=n._renderType,i=n._eventConfig.bind,a=Bc(r);e=n._el=e?N1(n,e,!0):null,ZU(n),a||n.error("Unrecognized renderer type: "+r);let o=a.handler||rs,l=e?a.renderer:a.headless;return n._renderer=l?MD(n,n._renderer,e,l):null,n._handler=SW(n,n._handler,e,o),n._redraw=!0,e&&i!=="none"&&(t=t?n._elBind=N1(n,t,!0):e.appendChild(sn("form",{class:"vega-bindings"})),n._bind.forEach(s=>{s.param.element&&i!=="container"&&(s.element=N1(n,s.param.element,!!s.param.input))}),n._bind.forEach(s=>{bW(n,s.element||t,s)})),n}function N1(e,t,n){if(typeof t=="string")if(typeof document<"u"){if(t=document.querySelector(t),!t)return e.error("Signal bind element not found: "+t),null}else return e.error("DOM document instance not found."),null;if(t&&n)try{t.textContent=""}catch(r){t=null,e.error(r)}return t}var Is=e=>+e||0,CW=e=>({top:e,bottom:e,left:e,right:e});function OD(e){return J(e)?{top:Is(e.top),bottom:Is(e.bottom),left:Is(e.left),right:Is(e.right)}:CW(Is(e))}async function R1(e,t,n,r){let i=Bc(t),a=i&&i.headless;return a||L("Unrecognized renderer type: "+t),await e.runAsync(),MD(e,null,null,a,n,r).renderAsync(e._scenegraph.root)}async function MW(e,t){e!==Mi.Canvas&&e!==Mi.SVG&&e!==Mi.PNG&&L("Unrecognized image type: "+e);let n=await R1(this,e,t);return e===Mi.SVG?OW(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function OW(e,t){let n=new Blob([e],{type:t});return window.URL.createObjectURL(n)}async function zW(e,t){return(await R1(this,Mi.Canvas,e,t)).canvas()}async function NW(e){return(await R1(this,Mi.SVG,e)).svg()}function RW(e,t,n){return xD(e,vo,Ps,n).parse(t)}function TW(e){var t=this._runtime.scales;return K(t,e)||L("Unrecognized scale or projection: "+e),t[e].value}var zD="width",ND="height",T1="padding",RD={skip:!0};function TD(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===T1?r.left+r.right:0)}function LD(e,t){var n=e.autosize(),r=e.padding();return t-(n&&n.contains===T1?r.top+r.bottom:0)}function LW(e){var t=e._signals,n=t[zD],r=t[ND],i=t[T1];function a(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,l=>{e._width=l.size,e._viewWidth=TD(e,l.size),a()},{size:n}),e._resizeHeight=e.add(null,l=>{e._height=l.size,e._viewHeight=LD(e,l.size),a()},{size:r});let o=e.add(null,a,{pad:i});e._resizeWidth.rank=n.rank+1,e._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}function PW(e,t,n,r,i,a){this.runAfter(o=>{let l=0;o._autosize=0,o.width()!==n&&(l=1,o.signal(zD,n,RD),o._resizeWidth.skip(!0)),o.height()!==r&&(l=1,o.signal(ND,r,RD),o._resizeHeight.skip(!0)),o._viewWidth!==e&&(o._resize=1,o._viewWidth=e),o._viewHeight!==t&&(o._resize=1,o._viewHeight=t),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),l&&o.run("enter"),a&&o.runAfter(s=>s.resize())},!1,1)}function BW(e){return this._runtime.getState(e||{data:IW,signals:jW,recurse:!0})}function IW(e,t){return t.modified&&N(t.input.value)&&!e.startsWith("_:vega:_")}function jW(e,t){return!(e==="parent"||t instanceof vo.proxy)}function qW(e){return this.runAsync(null,t=>{t._trigger=!1,t._runtime.setState(e)},t=>{t._trigger=!0}),this}function UW(e,t){function n(r){e({timestamp:Date.now(),elapsed:r})}this._timers.push(e8(n,t))}function WW(e,t,n,r){let i=e.element();i&&i.setAttribute("title",HW(r))}function HW(e){return e==null?"":N(e)?PD(e):J(e)&&!aa(e)?GW(e):e+""}function GW(e){return Object.keys(e).map(t=>{let n=e[t];return t+": "+(N(n)?PD(n):BD(n))}).join(`
10
- `)}function PD(e){return"["+e.map(BD).join(", ")+"]"}function BD(e){return N(e)?"[\u2026]":J(e)&&!aa(e)?"{\u2026}":e}function VW(){if(this.renderer()==="canvas"&&this._renderer._canvas){let e=null,t=()=>{e==null||e();let n=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);n.addEventListener("change",t),e=()=>{n.removeEventListener("change",t)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};t()}}function ID(e,t){let n=this;if(t||(t={}),yo.call(n),t.loader&&n.loader(t.loader),t.logger&&n.logger(t.logger),t.logLevel!=null&&n.logLevel(t.logLevel),t.locale||e.locale){let a=he({},e.locale,t.locale);n.locale(t2(a.number,a.time))}n._el=null,n._elBind=null,n._renderType=t.renderer||Mi.Canvas,n._scenegraph=new Z_;let r=n._scenegraph.root;n._renderer=null,n._tooltip=t.tooltip||WW,n._redraw=!0,n._handler=new rs().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=fW(e.eventConfig),n.globalCursor(n._eventConfig.globalCursor);let i=RW(n,e,t.expr);n._runtime=i,n._signals=i.signals,n._bind=(e.bindings||[]).map(a=>({state:null,param:he({},a)})),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=TD(n,n._width),n._viewHeight=LD(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,LW(n),eW(n),tW(n),n.description(e.description),t.hover&&n.hover(),t.container&&n.initialize(t.container,t.bind),t.watchPixelRatio&&n._watchPixelRatio()}function Kf(e,t){return K(e._signals,t)?e._signals[t]:L("Unrecognized signal name: "+H(t))}function jD(e,t){let n=(e._targets||[]).filter(r=>r._update&&r._update.handler===t);return n.length?n[0]:null}function qD(e,t,n,r){let i=jD(n,r);return i||(i=z1(e,()=>r(t,n.value)),i.handler=r,e.on(n,null,i)),e}function UD(e,t,n){let r=jD(t,n);return r&&t._targets.remove(r),e}G(ID,yo,{async evaluate(e,t,n){if(await yo.prototype.evaluate.call(this,e,t),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,aW(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&ju(this,n),this},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){let t=e==null?null:e+"";return t!==this._desc&&kD(this._el,this._desc=t),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,t,n){let r=Kf(this,e);return arguments.length===1?r.value:this.update(r,t,n)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",OD(e)):OD(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(Bc(e)||L("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(yo.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(Kf(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:PW,addEventListener(e,t,n){let r=t;return n&&n.trap===!1||(r=z1(this,t),r.raw=t),this._handler.on(e,r),this},removeEventListener(e,t){for(var n=this._handler.handlers(e),r=n.length,i,a;--r>=0;)if(a=n[r].type,i=n[r].handler,e===a&&(t===i||t===i.raw)){this._handler.off(a,i);break}return this},addResizeListener(e){let t=this._resizeListeners;return t.includes(e)||t.push(e),this},removeResizeListener(e){var t=this._resizeListeners,n=t.indexOf(e);return n>=0&&t.splice(n,1),this},addSignalListener(e,t){return qD(this,e,Kf(this,e),t)},removeSignalListener(e,t){return UD(this,Kf(this,e),t)},addDataListener(e,t){return qD(this,e,Vf(this,e).values,t)},removeDataListener(e,t){return UD(this,Vf(this,e).values,t)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){let t=O1(this,null);this._globalCursor=!!e,t&&O1(this,t)}return this}else return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:UW,events:hW,finalize:mW,hover:pW,data:nW,change:Xf,insert:rW,remove:iW,scale:TW,initialize:FW,toImageURL:MW,toCanvas:zW,toSVG:NW,getState:BW,setState:qW,_watchPixelRatio:VW});var XW="view",Zf="[",ed="]",WD="{",HD="}",YW=":",GD=",",JW="@",QW=">",KW=/[[\]{}]/,ZW={"*":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},VD,XD;function ji(e,t,n){return VD=t||XW,XD=n||ZW,YD(e.trim()).map(L1)}function eH(e){return XD[e]}function js(e,t,n,r,i){let a=e.length,o=0,l;for(;t<a;++t){if(l=e[t],!o&&l===n)return t;i&&i.includes(l)?--o:r&&r.includes(l)&&++o}return t}function YD(e){let t=[],n=e.length,r=0,i=0;for(;i<n;)i=js(e,i,GD,Zf+WD,ed+HD),t.push(e.substring(r,i).trim()),r=++i;if(t.length===0)throw"Empty event selector: "+e;return t}function L1(e){return e[0]==="["?tH(e):nH(e)}function tH(e){let t=e.length,n=1,r;if(n=js(e,n,ed,Zf,ed),n===t)throw"Empty between selector: "+e;if(r=YD(e.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+e;if(e=e.slice(n+1).trim(),e[0]!==QW)throw"Expected '>' after between selector: "+e;r=r.map(L1);let i=L1(e.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function nH(e){let t={source:VD},n=[],r=[0,0],i=0,a=0,o=e.length,l=0,s,u;if(e[o-1]===HD){if(l=e.lastIndexOf(WD),l>=0){try{r=rH(e.substring(l+1,o-1))}catch{throw"Invalid throttle specification: "+e}e=e.slice(0,l).trim(),o=e.length}else throw"Unmatched right brace: "+e;l=0}if(!o)throw e;if(e[0]===JW&&(i=++l),s=js(e,l,YW),s<o&&(n.push(e.substring(a,s).trim()),a=l=++s),l=js(e,l,Zf),l===o)n.push(e.substring(a,o).trim());else if(n.push(e.substring(a,l).trim()),u=[],a=++l,a===o)throw"Unmatched left bracket: "+e;for(;l<o;){if(l=js(e,l,ed),l===o)throw"Unmatched left bracket: "+e;if(u.push(e.substring(a,l).trim()),l<o-1&&e[++l]!==Zf)throw"Expected left bracket: "+e;a=++l}if(!(o=n.length)||KW.test(n[o-1]))throw"Invalid event selector: "+e;return o>1?(t.type=n[1],i?t.markname=n[0].slice(1):eH(n[0])?t.marktype=n[0]:t.source=n[0]):t.type=n[0],t.type.slice(-1)==="!"&&(t.consume=!0,t.type=t.type.slice(0,-1)),u!=null&&(t.filter=u),r[0]&&(t.throttle=r[0]),r[1]&&(t.debounce=r[1]),t}function rH(e){let t=e.split(GD);if(!e.length||t.length>2)throw e;return t.map(n=>{let r=+n;if(r!==r)throw e;return r})}function iH(e){return J(e)?e:{type:e||"pad"}}var qs=e=>+e||0,aH=e=>({top:e,bottom:e,left:e,right:e});function oH(e){return J(e)?e.signal?e:{top:qs(e.top),bottom:qs(e.bottom),left:qs(e.left),right:qs(e.right)}:aH(qs(e))}var at=e=>J(e)&&!N(e)?he({},e):{value:e};function JD(e,t,n,r){return n==null?0:(J(n)&&!N(n)||N(n)&&n.length&&J(n[0])?e.update[t]=n:e[r||"enter"][t]={value:n},1)}function ht(e,t,n){for(let r in t)JD(e,r,t[r]);for(let r in n)JD(e,r,n[r],"update")}function qo(e,t,n){for(let r in t)n&&K(n,r)||(e[r]=he(e[r]||{},t[r]));return e}function Uo(e,t){return t&&(t.enter&&t.enter[e]||t.update&&t.update[e])}var lH="frame",QD="scope",sH="axis",uH="axis-domain",cH="axis-grid",fH="axis-label",dH="axis-tick",hH="axis-title",pH="legend",mH="legend-band",gH="legend-entry",yH="legend-gradient",KD="legend-label",vH="legend-symbol",bH="legend-title",xH="title",wH="title-text",_H="title-subtitle";function kH(e,t,n,r,i){let a={},o={},l,s,u,c;for(s in s="lineBreak",t==="text"&&i[s]!=null&&!Uo(s,e)&&P1(a,s,i[s]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n==="frame"?i.group:n==="mark"?he({},i.mark,i[t]):null,c)u=Uo(s,e)||(s==="fill"||s==="stroke")&&(Uo("fill",e)||Uo("stroke",e)),u||P1(a,s,c[s]);for(s in Q(r).forEach(f=>{let d=i.style&&i.style[f];for(let h in d)Uo(h,e)||P1(a,h,d[h])}),e=he({},e),a)c=a[s],c.signal?(l||(l={}))[s]=c:o[s]=c;return e.enter=he(o,e.enter),l&&(e.update=he(l,e.update)),e}function P1(e,t,n){e[t]=n&&n.signal?{signal:n.signal}:{value:n}}var ZD=e=>Y(e)?H(e):e.signal?`(${e.signal})`:eS(e);function td(e){if(e.gradient!=null)return $H(e);let t=e.signal?`(${e.signal})`:e.color?EH(e.color):e.field==null?e.value===void 0?void 0:H(e.value):eS(e.field);return e.scale!=null&&(t=AH(e,t)),t===void 0&&(t=null),e.exponent!=null&&(t=`pow(${t},${rd(e.exponent)})`),e.mult!=null&&(t+=`*${rd(e.mult)}`),e.offset!=null&&(t+=`+${rd(e.offset)}`),e.round&&(t=`round(${t})`),t}var nd=(e,t,n,r)=>`(${e}(${[t,n,r].map(td).join(",")})+'')`;function EH(e){return e.c?nd("hcl",e.h,e.c,e.l):e.h||e.s?nd("hsl",e.h,e.s,e.l):e.l||e.a?nd("lab",e.l,e.a,e.b):e.r||e.g||e.b?nd("rgb",e.r,e.g,e.b):null}function $H(e){let t=[e.start,e.stop,e.count].map(n=>n==null?null:H(n));for(;t.length&&Ae(t)==null;)t.pop();return t.unshift(ZD(e.gradient)),`gradient(${t.join(",")})`}function rd(e){return J(e)?"("+td(e)+")":e}function eS(e){return tS(J(e)?e:{datum:e})}function tS(e){let t,n,r;if(e.signal)t="datum",r=e.signal;else if(e.group||e.parent){for(n=Math.max(1,e.level||1),t="item";n-- >0;)t+=".mark.group";e.parent?(r=e.parent,t+=".datum"):r=e.group}else e.datum?(t="datum",r=e.datum):L("Invalid field reference: "+H(e));return e.signal||(r=Y(r)?ui(r).map(H).join("]["):tS(r)),t+"["+r+"]"}function AH(e,t){let n=ZD(e.scale);return e.range==null?(t!==void 0&&(t=`_scale(${n}, ${t})`),e.band&&(t=(t?t+"+":"")+`_bandwidth(${n})`+(+e.band==1?"":"*"+rd(e.band)),e.extra&&(t=`(datum.extra ? _scale(${n}, datum.extra.value) : ${t})`)),t??(t="0")):t=`lerp(_range(${n}), ${+e.range})`,t}function DH(e){let t="";return e.forEach(n=>{let r=td(n);t+=n.test?`(${n.test})?${r}:`:r}),Ae(t)===":"&&(t+="null"),t}function nS(e,t,n,r,i,a){let o={};for(let l in a||(a={}),a.encoders={$encode:o},e=kH(e,t,n,r,i.config),e)o[l]=SH(e[l],t,a,i);return a}function SH(e,t,n,r){let i={},a={};for(let o in e)e[o]!=null&&(i[o]=CH(FH(e[o]),r,n,a));return{$expr:{marktype:t,channels:i},$fields:Object.keys(a),$output:Object.keys(e)}}function FH(e){return N(e)?DH(e):td(e)}function CH(e,t,n,r){let i=xr(e,t);return i.$fields.forEach(a=>r[a]=1),he(n,i.$params),i.$expr}var MH="outer",OH=["value","update","init","react","bind"];function rS(e,t){L(e+' for "outer" push: '+H(t))}function iS(e,t){let n=e.name;if(e.push===MH)t.signals[n]||rS("No prior signal definition",n),OH.forEach(r=>{e[r]!==void 0&&rS("Invalid property ",r)});else{let r=t.addSignal(n,e.value);e.react===!1&&(r.react=!1),e.bind&&t.addBinding(n,e.bind)}}function B1(e,t,n,r){this.id=-1,this.type=e,this.value=t,this.params=n,r&&(this.parent=r)}function id(e,t,n,r){return new B1(e,t,n,r)}function ad(e,t){return id("operator",e,t)}function re(e){let t={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(t),t}function Us(e,t){return t?{$field:e,$name:t}:{$field:e}}var I1=Us("key");function aS(e,t){return{$compare:e,$order:t}}function zH(e,t){let n={$key:e};return t&&(n.$flat=!0),n}var NH="ascending",RH="descending";function TH(e){return J(e)?(e.order===RH?"-":"+")+od(e.op,e.field):""}function od(e,t){return(e&&e.signal?"$"+e.signal:e||"")+(e&&t?"_":"")+(t&&t.signal?"$"+t.signal:t||"")}var j1="scope",q1="view";function nt(e){return e&&e.signal}function LH(e){return e&&e.expr}function ld(e){if(nt(e))return!0;if(J(e)){for(let t in e)if(ld(e[t]))return!0}return!1}function Un(e,t){return e??t}function $a(e){return e&&e.signal||e}var oS="timer";function Ws(e,t){return(e.merge?BH:e.stream?IH:e.type?jH:L("Invalid stream specification: "+H(e)))(e,t)}function PH(e){return e===j1?q1:e||q1}function BH(e,t){let n=U1({merge:e.merge.map(r=>Ws(r,t))},e,t);return t.addStream(n).id}function IH(e,t){let n=U1({stream:Ws(e.stream,t)},e,t);return t.addStream(n).id}function jH(e,t){let n;e.type===oS?(n=t.event(oS,e.throttle),e={between:e.between,filter:e.filter}):n=t.event(PH(e.source),e.type);let r=U1({stream:n},e,t);return Object.keys(r).length===1?n:t.addStream(r).id}function U1(e,t,n){let r=t.between;return r&&(r.length!==2&&L('Stream "between" parameter must have 2 entries: '+H(t)),e.between=[Ws(r[0],n),Ws(r[1],n)]),r=t.filter?[].concat(t.filter):[],(t.marktype||t.markname||t.markrole)&&r.push(qH(t.marktype,t.markname,t.markrole)),t.source===j1&&r.push("inScope(event.item)"),r.length&&(e.filter=xr("("+r.join(")&&(")+")",n).$expr),(r=t.throttle)!=null&&(e.throttle=+r),(r=t.debounce)!=null&&(e.debounce=+r),t.consume&&(e.consume=!0),e}function qH(e,t,n){let r="event.item";return r+(e&&e!=="*"?"&&"+r+".mark.marktype==='"+e+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(t?"&&"+r+".mark.name==='"+t+"'":"")}var UH={code:"_.$value",ast:{type:"Identifier",value:"value"}};function WH(e,t,n){let r=e.encode,i={target:n},a=e.events,o=e.update,l=[];a||L("Signal update missing events specification."),Y(a)&&(a=ji(a,t.isSubscope()?j1:q1)),a=Q(a).filter(s=>s.signal||s.scale?(l.push(s),0):1),l.length>1&&(l=[GH(l)]),a.length&&l.push(a.length>1?{merge:a}:a[0]),r!=null&&(o&&L("Signal encode and update are mutually exclusive."),o="encode(item(),"+H(r)+")"),i.update=Y(o)?xr(o,t):o.expr==null?o.value==null?o.signal==null?L("Invalid signal update specification."):{$expr:UH,$params:{$value:t.signalRef(o.signal)}}:o.value:xr(o.expr,t),e.force&&(i.options={force:!0}),l.forEach(s=>t.addUpdate(he(HH(s,t),i)))}function HH(e,t){return{source:e.signal?t.signalRef(e.signal):e.scale?t.scaleRef(e.scale):Ws(e,t)}}function GH(e){return{signal:"["+e.map(t=>t.scale?'scale("'+t.scale+'")':t.signal)+"]"}}function VH(e,t){let n=t.getSignal(e.name),r=e.update;e.init&&(r?L("Signals can not include both init and update expressions."):(r=e.init,n.initonly=!0)),r&&(r=xr(r,t),n.update=r.$expr,n.params=r.$params),e.on&&e.on.forEach(i=>WH(i,t,n.id))}var Me=e=>(t,n,r)=>id(e,n,t||void 0,r),lS=Me("aggregate"),XH=Me("axisticks"),sS=Me("bound"),Wn=Me("collect"),uS=Me("compare"),YH=Me("datajoin"),cS=Me("encode"),JH=Me("expression"),QH=Me("facet"),KH=Me("field"),ZH=Me("key"),eG=Me("legendentries"),tG=Me("load"),nG=Me("mark"),rG=Me("multiextent"),iG=Me("multivalues"),aG=Me("overlap"),oG=Me("params"),fS=Me("prefacet"),lG=Me("projection"),sG=Me("proxy"),uG=Me("relay"),dS=Me("render"),cG=Me("scale"),Aa=Me("sieve"),fG=Me("sortitems"),hS=Me("viewlayout"),dG=Me("values"),hG=0,pS={min:"min",max:"max",count:"sum"};function pG(e,t){let n=e.type||"linear";Yw(n)||L("Unrecognized scale type: "+H(n)),t.addScale(e.name,{type:n,domain:void 0})}function mG(e,t){let n=t.getScale(e.name).params,r;for(r in n.domain=mS(e.domain,e,t),e.range!=null&&(n.range=yS(e,t,n)),e.interpolate!=null&&$G(e.interpolate,n),e.nice!=null&&(n.nice=EG(e.nice,t)),e.bins!=null&&(n.bins=kG(e.bins,t)),e)K(n,r)||r==="name"||(n[r]=$n(e[r],t))}function $n(e,t){return J(e)?e.signal?t.signalRef(e.signal):L("Unsupported object: "+H(e)):e}function sd(e,t){return e.signal?t.signalRef(e.signal):e.map(n=>$n(n,t))}function ud(e){L("Can not find data set: "+H(e))}function mS(e,t,n){if(!e){(t.domainMin!=null||t.domainMax!=null)&&L("No scale domain defined for domainMin/domainMax to override.");return}return e.signal?n.signalRef(e.signal):(N(e)?gG:e.fields?vG:yG)(e,t,n)}function gG(e,t,n){return e.map(r=>$n(r,n))}function yG(e,t,n){let r=n.getData(e.data);return r||ud(e.data),wo(t.type)?r.valuesRef(n,e.field,gS(e.sort,!1)):Kw(t.type)?r.domainRef(n,e.field):r.extentRef(n,e.field)}function vG(e,t,n){let r=e.data,i=e.fields.reduce((a,o)=>(o=Y(o)?{data:r,field:o}:N(o)||o.signal?bG(o,n):o,a.push(o),a),[]);return(wo(t.type)?xG:Kw(t.type)?wG:_G)(e,n,i)}function bG(e,t){let n="_:vega:_"+hG++,r=Wn({});if(N(e))r.value={$ingest:e};else if(e.signal){let i="setdata("+H(n)+","+e.signal+")";r.params.input=t.signalRef(i)}return t.addDataPipeline(n,[r,Aa({})]),{data:n,field:"data"}}function xG(e,t,n){let r=gS(e.sort,!0),i,a,o={groupby:I1,pulse:n.map(s=>{let u=t.getData(s.data);return u||ud(s.data),u.countsRef(t,s.field,r)})};r&&(i=r.op||"count",a=r.field?od(i,r.field):"count",o.ops=[pS[i]],o.fields=[t.fieldRef(a)],o.as=[a]),i=t.add(lS(o));let l=t.add(Wn({pulse:re(i)}));return a=t.add(dG({field:I1,sort:t.sortRef(r),pulse:re(l)})),re(a)}function gS(e,t){return e&&(!e.field&&!e.op?J(e)?e.field="key":e={field:"key"}:!e.field&&e.op!=="count"?L("No field provided for sort aggregate op: "+e.op):t&&e.field&&e.op&&!pS[e.op]&&L("Multiple domain scales can not be sorted using "+e.op)),e}function wG(e,t,n){let r=n.map(i=>{let a=t.getData(i.data);return a||ud(i.data),a.domainRef(t,i.field)});return re(t.add(iG({values:r})))}function _G(e,t,n){let r=n.map(i=>{let a=t.getData(i.data);return a||ud(i.data),a.extentRef(t,i.field)});return re(t.add(rG({extents:r})))}function kG(e,t){return e.signal||N(e)?sd(e,t):t.objectProperty(e)}function EG(e,t){return e.signal?t.signalRef(e.signal):J(e)?{interval:$n(e.interval),step:$n(e.step)}:$n(e)}function $G(e,t){t.interpolate=$n(e.type||e),e.gamma!=null&&(t.interpolateGamma=$n(e.gamma))}function yS(e,t,n){let r=t.config.range,i=e.range;if(i.signal)return t.signalRef(i.signal);if(Y(i)){if(r&&K(r,i))return e=he({},e,{range:r[i]}),yS(e,t,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=wo(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:L("Unrecognized scale range value: "+H(i))}else if(i.scheme){n.scheme=N(i.scheme)?sd(i.scheme,t):$n(i.scheme,t),i.extent&&(n.schemeExtent=sd(i.extent,t)),i.count&&(n.schemeCount=$n(i.count,t));return}else if(i.step){n.rangeStep=$n(i.step,t);return}else{if(wo(e.type)&&!N(i))return mS(i,e,t);N(i)||L("Unsupported range type: "+H(i))}return i.map(a=>(N(a)?sd:$n)(a,t))}function AG(e,t){let n=t.config.projection||{},r={};for(let i in e)i!=="name"&&(r[i]=W1(e[i],i,t));for(let i in n)r[i]??(r[i]=W1(n[i],i,t));t.addProjection(e.name,r)}function W1(e,t,n){return N(e)?e.map(r=>W1(r,t,n)):J(e)?e.signal?n.signalRef(e.signal):t==="fit"?e:L("Unsupported parameter object: "+H(e)):e}var Hn="top",Wo="left",Ho="right",qi="bottom",vS="center",DG="vertical",SG="start",FG="middle",CG="end",H1="index",G1="label",MG="offset",cd="perc",An="value",Hs="guide-label",V1="guide-title",OG="group-title",zG="group-subtitle",bS="symbol",fd="gradient",X1="discrete",Y1="size",J1=[Y1,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],Gs={name:1,style:1,interactive:1},ye={value:0},Dn={value:1},dd="group",xS="rect",Q1="rule",NG="symbol",Da="text";function Vs(e){return e.type=dd,e.interactive=e.interactive||!1,e}function Qt(e,t){let n=(r,i)=>Un(e[r],Un(t[r],i));return n.isVertical=r=>DG===Un(e.direction,t.direction||(r?t.symbolDirection:t.gradientDirection)),n.gradientLength=()=>Un(e.gradientLength,t.gradientLength||t.gradientWidth),n.gradientThickness=()=>Un(e.gradientThickness,t.gradientThickness||t.gradientHeight),n.entryColumns=()=>Un(e.columns,Un(t.columns,+n.isVertical(!0))),n}function wS(e,t){let n=t&&(t.update&&t.update[e]||t.enter&&t.enter[e]);return n&&n.signal?n:n?n.value:null}function RG(e,t,n){let r=t.config.style[n];return r&&r[e]}function hd(e,t,n){return`item.anchor === '${SG}' ? ${e} : item.anchor === '${CG}' ? ${t} : ${n}`}var K1=hd(H(Wo),H(Ho),H(vS));function TG(e){let t=e("tickBand"),n=e("tickOffset"),r,i;return t?t.signal?(r={signal:`(${t.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${t.signal}) === 'extent'`},J(n)||(n={signal:`(${t.signal}) === 'extent' ? 0 : ${n}`})):t==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=e("bandPosition"),i=e("tickExtra")),{extra:i,band:r,offset:n}}function _S(e,t){return t?e?J(e)?Object.assign({},e,{offset:_S(e.offset,t)}):{value:e,offset:t}:t:e}function un(e,t){return t?(e.name=t.name,e.style=t.style||e.style,e.interactive=!!t.interactive,e.encode=qo(e.encode,t,Gs)):e.interactive=!1,e}function LG(e,t,n,r){let i=Qt(e,n),a=i.isVertical(),o=i.gradientThickness(),l=i.gradientLength(),s,u,c,f,d;a?(u=[0,1],c=[0,0],f=o,d=l):(u=[0,0],c=[1,0],f=l,d=o);let h={enter:s={opacity:ye,x:ye,y:ye,width:at(f),height:at(d)},update:he({},s,{opacity:Dn,fill:{gradient:t,start:u,stop:c}}),exit:{opacity:ye}};return ht(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),un({type:xS,role:yH,encode:h},r)}function PG(e,t,n,r,i){let a=Qt(e,n),o=a.isVertical(),l=a.gradientThickness(),s=a.gradientLength(),u,c,f,d,h="";o?(u="y",f="y2",c="x",d="width",h="1-"):(u="x",f="x2",c="y",d="height");let p={opacity:ye,fill:{scale:t,field:An}};p[u]={signal:h+"datum.perc",mult:s},p[c]=ye,p[f]={signal:h+"datum.perc2",mult:s},p[d]=at(l);let m={enter:p,update:he({},p,{opacity:Dn}),exit:{opacity:ye}};return ht(m,{stroke:a("gradientStrokeColor"),strokeWidth:a("gradientStrokeWidth")},{opacity:a("gradientOpacity")}),un({type:xS,role:mH,key:An,from:i,encode:m},r)}var BG=`datum.${cd}<=0?"${Wo}":datum.${cd}>=1?"${Ho}":"${vS}"`,IG=`datum.${cd}<=0?"${qi}":datum.${cd}>=1?"${Hn}":"${FG}"`;function kS(e,t,n,r){let i=Qt(e,t),a=i.isVertical(),o=at(i.gradientThickness()),l=i.gradientLength(),s=i("labelOverlap"),u,c,f,d,h="",p={enter:u={opacity:ye},update:c={opacity:Dn,text:{field:G1}},exit:{opacity:ye}};return ht(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:Un(e.labelLimit,t.gradientLabelLimit)}),a?(u.align={value:"left"},u.baseline=c.baseline={signal:IG},f="y",d="x",h="1-"):(u.align=c.align={signal:BG},u.baseline={value:"top"},f="x",d="y"),u[f]=c[f]={signal:h+"datum.perc",mult:l},u[d]=c[d]=o,o.offset=Un(e.labelOffset,t.gradientLabelOffset)||0,s=s?{separation:i("labelSeparation"),method:s,order:"datum."+H1}:void 0,un({type:Da,role:KD,style:Hs,key:An,from:r,encode:p,overlap:s},n)}function jG(e,t,n,r,i){let a=Qt(e,t),o=n.entries,l=!!(o&&o.interactive),s=o?o.name:void 0,u=a("clipHeight"),c=a("symbolOffset"),f={data:"value"},d=`(${i}) ? datum.${MG} : datum.${Y1}`,h=u?at(u):{field:Y1},p=`datum.${H1}`,m=`max(1, ${i})`,g,y,v,b,w;h.mult=.5,g={enter:y={opacity:ye,x:{signal:d,mult:.5,offset:c},y:h},update:v={opacity:Dn,x:y.x,y:y.y},exit:{opacity:ye}};let _=null,k=null;e.fill||(_=t.symbolBaseFillColor,k=t.symbolBaseStrokeColor),ht(g,{fill:a("symbolFillColor",_),shape:a("symbolType"),size:a("symbolSize"),stroke:a("symbolStrokeColor",k),strokeDash:a("symbolDash"),strokeDashOffset:a("symbolDashOffset"),strokeWidth:a("symbolStrokeWidth")},{opacity:a("symbolOpacity")}),J1.forEach(D=>{e[D]&&(v[D]=y[D]={scale:e[D],field:An})});let x=un({type:NG,role:vH,key:An,from:f,clip:u?!0:void 0,encode:g},n.symbols),E=at(c);E.offset=a("labelOffset"),g={enter:y={opacity:ye,x:{signal:d,offset:E},y:h},update:v={opacity:Dn,text:{field:G1},x:y.x,y:y.y},exit:{opacity:ye}},ht(g,{align:a("labelAlign"),baseline:a("labelBaseline"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontStyle:a("labelFontStyle"),fontWeight:a("labelFontWeight"),limit:a("labelLimit")});let $=un({type:Da,role:KD,style:Hs,key:An,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!u},width:ye,height:u?at(u):ye,opacity:ye},exit:{opacity:ye},update:v={opacity:Dn,row:{signal:null},column:{signal:null}}},a.isVertical(!0)?(b=`ceil(item.mark.items.length / ${m})`,v.row.signal=`${p}%${b}`,v.column.signal=`floor(${p} / ${b})`,w={field:["row",p]}):(v.row.signal=`floor(${p} / ${m})`,v.column.signal=`${p} % ${m}`,w={field:p}),v.column.signal=`(${i})?${v.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:H1}},Vs({role:QD,from:r,encode:qo(g,o,Gs),marks:[x,$],name:s,interactive:l,sort:w})}function qG(e,t){let n=Qt(e,t);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}var Z1='item.orient === "left"',ey='item.orient === "right"',pd=`(${Z1} || ${ey})`,UG=`datum.vgrad && ${pd}`,WG=hd('"top"','"bottom"','"middle"'),HG=`datum.vgrad && ${ey} ? (${hd('"right"','"left"','"center"')}) : (${pd} && !(datum.vgrad && ${Z1})) ? "left" : ${K1}`,GG=`item._anchor || (${pd} ? "middle" : "start")`,VG=`${UG} ? (${Z1} ? -90 : 90) : 0`,XG=`${pd} ? (datum.vgrad ? (${ey} ? "bottom" : "top") : ${WG}) : "top"`;function YG(e,t,n,r){let i=Qt(e,t),a={enter:{opacity:ye},update:{opacity:Dn,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:ye}};return ht(a,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:GG},angle:{signal:VG},align:{signal:HG},baseline:{signal:XG},text:e.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")}),un({type:Da,role:bH,style:V1,from:r,encode:a},n)}function JG(e,t){let n;return J(e)&&(e.signal?n=e.signal:e.path?n="pathShape("+ES(e.path)+")":e.sphere&&(n="geoShape("+ES(e.sphere)+', {type: "Sphere"})')),n?t.signalRef(n):!!e}function ES(e){return J(e)&&e.signal?e.signal:H(e)}function $S(e){let t=e.role||"";return t.startsWith("axis")||t.startsWith("legend")||t.startsWith("title")?t:e.type===dd?QD:t||"mark"}function QG(e){return{marktype:e.type,name:e.name||void 0,role:e.role||$S(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function KG(e,t){return e&&e.signal?t.signalRef(e.signal):e!==!1}function ty(e,t){let n=z2(e.type);n||L("Unrecognized transform type: "+H(e.type));let r=id(n.type.toLowerCase(),null,AS(n,e,t));return e.signal&&t.addSignal(e.signal,t.proxy(r)),r.metadata=n.metadata||{},r}function AS(e,t,n){let r={},i=e.params.length;for(let a=0;a<i;++a){let o=e.params[a];r[o.name]=ZG(o,t,n)}return r}function ZG(e,t,n){let r=e.type,i=t[e.name];if(r==="index")return eV(e,t,n);if(i===void 0){e.required&&L("Missing required "+H(t.type)+" parameter: "+H(e.name));return}else{if(r==="param")return tV(e,t,n);if(r==="projection")return n.projectionRef(t[e.name])}return e.array&&!nt(i)?i.map(a=>DS(e,a,n)):DS(e,i,n)}function DS(e,t,n){let r=e.type;if(nt(t))return FS(r)?L("Expression references can not be signals."):ny(r)?n.fieldRef(t):CS(r)?n.compareRef(t):n.signalRef(t.signal);{let i=e.expr||ny(r);return i&&nV(t)?n.exprRef(t.expr,t.as):i&&rV(t)?Us(t.field,t.as):FS(r)?xr(t,n):iV(r)?re(n.getData(t).values):ny(r)?Us(t):CS(r)?n.compareRef(t):t}}function eV(e,t,n){return Y(t.from)||L('Lookup "from" parameter must be a string literal.'),n.getData(t.from).lookupRef(n,t.key)}function tV(e,t,n){let r=t[e.name];return e.array?(N(r)||L("Expected an array of sub-parameters. Instead: "+H(r)),r.map(i=>SS(e,i,n))):SS(e,r,n)}function SS(e,t,n){let r=e.params.length,i;for(let o=0;o<r;++o){for(let l in i=e.params[o],i.key)if(i.key[l]!==t[l]){i=null;break}if(i)break}i||L("Unsupported parameter: "+H(t));let a=he(AS(i,t,n),i.key);return re(n.add(oG(a)))}var nV=e=>e&&e.expr,rV=e=>e&&e.field,iV=e=>e==="data",FS=e=>e==="expr",ny=e=>e==="field",CS=e=>e==="compare";function aV(e,t,n){let r,i,a,o,l;return e?(r=e.facet)&&(t||L("Only group marks can be faceted."),r.field==null?(e.data?l=re(n.getData(e.data).aggregate):(a=ty(he({type:"aggregate",groupby:Q(r.groupby)},r.aggregate),n),a.params.key=n.keyRef(r.groupby),a.params.pulse=md(r,n),o=l=re(n.add(a))),i=n.keyRef(r.groupby,!0)):o=l=md(r,n)):o=re(n.add(Wn(null,[{}]))),o||(o=md(e,n)),{key:i,pulse:o,parent:l}}function md(e,t){return e.$ref?e:e.data&&e.data.$ref?e.data:re(t.getData(e.data).output)}function Sa(e,t,n,r,i){this.scope=e,this.input=t,this.output=n,this.values=r,this.aggregate=i,this.index={}}Sa.fromEntries=function(e,t){let n=t.length,r=t[n-1],i=t[n-2],a=t[0],o=null,l=1;for(a&&a.type==="load"&&(a=t[1]),e.add(t[0]);l<n;++l)t[l].params.pulse=re(t[l-1]),e.add(t[l]),t[l].type==="aggregate"&&(o=t[l]);return new Sa(e,a,i,r,o)};function MS(e){return Y(e)?e:null}function OS(e,t,n){let r=od(n.op,n.field),i;if(t.ops){for(let a=0,o=t.as.length;a<o;++a)if(t.as[a]===r)return}else t.ops=["count"],t.fields=[null],t.as=["count"];n.op&&(t.ops.push((i=n.op.signal)?e.signalRef(i):n.op),t.fields.push(e.fieldRef(n.field)),t.as.push(r))}function Xs(e,t,n,r,i,a,o){let l=t[n]||(t[n]={}),s=TH(a),u=MS(i),c,f;if(u!=null&&(e=t.scope,u+=s?"|"+s:"",c=l[u]),!c){let d=a?{field:I1,pulse:t.countsRef(e,i,a)}:{field:e.fieldRef(i),pulse:re(t.output)};s&&(d.sort=e.sortRef(a)),f=e.add(id(r,void 0,d)),o&&(t.index[i]=f),c=re(f),u!=null&&(l[u]=c)}return c}Sa.prototype={countsRef(e,t,n){let r=this,i=r.counts||(r.counts={}),a=MS(t),o,l,s;return a!=null&&(e=r.scope,o=i[a]),o?n&&n.field&&OS(e,o.agg.params,n):(s={groupby:e.fieldRef(t,"key"),pulse:re(r.output)},n&&n.field&&OS(e,s,n),l=e.add(lS(s)),o=e.add(Wn({pulse:re(l)})),o={agg:l,ref:re(o)},a!=null&&(i[a]=o)),o.ref},tuplesRef(){return re(this.values)},extentRef(e,t){return Xs(e,this,"extent","extent",t,!1)},domainRef(e,t){return Xs(e,this,"domain","values",t,!1)},valuesRef(e,t,n){return Xs(e,this,"vals","values",t,n||!0)},lookupRef(e,t){return Xs(e,this,"lookup","tupleindex",t,!1)},indataRef(e,t){return Xs(e,this,"indata","tupleindex",t,!0,!0)}};function oV(e,t,n){let r=e.from.facet,i=r.name,a=md(r,t),o;r.name||L("Facet must have a name: "+H(r)),r.data||L("Facet must reference a data set: "+H(r)),r.field?o=t.add(fS({field:t.fieldRef(r.field),pulse:a})):r.groupby?o=t.add(QH({key:t.keyRef(r.groupby),group:re(t.proxy(n.parent)),pulse:a})):L("Facet must specify groupby or field: "+H(r));let l=t.fork(),s=l.add(Wn()),u=l.add(Aa({pulse:re(s)}));l.addData(i,new Sa(l,s,s,u)),l.addSignal("parent",null),o.params.subflow={$subflow:l.parse(e).toRuntime()}}function lV(e,t,n){let r=t.add(fS({pulse:n.pulse})),i=t.fork();i.add(Aa()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(e).toRuntime()}}function zS(e,t,n){let r=e.remove,i=e.insert,a=e.toggle,o=e.modify,l=e.values,s=t.add(ad()),u=xr("if("+e.trigger+',modify("'+n+'",'+[i,r,a,o,l].map(c=>c??"null").join(",")+"),0)",t);s.update=u.$expr,s.params=u.$params}function gd(e,t){let n=$S(e),r=e.type===dd,i=e.from&&e.from.facet,a=e.overlap,o=e.layout||n==="scope"||n==="frame",l,s,u,c,f,d,h,p=n==="mark"||o||i,m=aV(e.from,r,t);s=t.add(YH({key:m.key||(e.key?Us(e.key):void 0),pulse:m.pulse,clean:!r}));let g=re(s);s=u=t.add(Wn({pulse:g})),s=t.add(nG({markdef:QG(e),interactive:KG(e.interactive,t),clip:JG(e.clip,t),context:{$context:!0},groups:t.lookup(),parent:t.signals.parent?t.signalRef("parent"):null,index:t.markpath(),pulse:re(s)}));let y=re(s);s=c=t.add(cS(nS(e.encode,e.type,n,e.style,t,{mod:!1,pulse:y}))),s.params.parent=t.encode(),e.transform&&e.transform.forEach(k=>{let x=ty(k,t),E=x.metadata;(E.generates||E.changes)&&L("Mark transforms should not generate new data."),E.nomod||(c.params.mod=!0),x.params.pulse=re(s),t.add(s=x)}),e.sort&&(s=t.add(fG({sort:t.compareRef(e.sort),pulse:re(s)})));let v=re(s);(i||o)&&(o=t.add(hS({layout:t.objectProperty(e.layout),legends:t.legends,mark:y,pulse:v})),d=re(o));let b=t.add(sS({mark:y,pulse:d||v}));h=re(b),r&&(p&&(l=t.operators,l.pop(),o&&l.pop()),t.pushState(v,d||h,g),i?oV(e,t,m):p?lV(e,t,m):t.parse(e),t.popState(),p&&(o&&l.push(o),l.push(b))),a&&(h=sV(a,h,t));let w=t.add(dS({pulse:h})),_=t.add(Aa({pulse:re(w)},void 0,t.parent()));e.name!=null&&(f=e.name,t.addData(f,new Sa(t,u,w,_)),e.on&&e.on.forEach(k=>{(k.insert||k.remove||k.toggle)&&L("Marks only support modify triggers."),zS(k,t,f)}))}function sV(e,t,n){let r=e.method,i=e.bound,a=e.separation,o={separation:nt(a)?n.signalRef(a.signal):a,method:nt(r)?n.signalRef(r.signal):r,pulse:t};if(e.order&&(o.sort=n.compareRef({field:e.order})),i){let l=i.tolerance;o.boundTolerance=nt(l)?n.signalRef(l.signal):+l,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return re(n.add(aG(o)))}function uV(e,t){let n=t.config.legend,r=e.encode||{},i=Qt(e,n),a=r.legend||{},o=a.name||void 0,l=a.interactive,s=a.style,u={},c=0,f,d,h;J1.forEach(b=>e[b]?(u[b]=e[b],c||(c=e[b])):0),c||L("Missing valid scale for legend.");let p=cV(e,t.scaleType(c)),m={title:e.title!=null,scales:u,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=re(t.add(Wn(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},v=re(t.add(eG(d={type:p,scale:t.scaleRef(c),count:t.objectProperty(i("tickCount")),limit:t.property(i("symbolLimit")),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)})));return p===fd?(h=[LG(e,c,n,r.gradient),kS(e,n,r.labels,v)],d.count=d.count||t.signalRef(`max(2,2*floor((${$a(i.gradientLength())})/100))`)):p===X1?h=[PG(e,c,n,r.gradient,v),kS(e,n,r.labels,v)]:(f=qG(e,n),h=[jG(e,n,r,v,$a(f.columns))],d.size=hV(e,t,h[0].marks)),h=[Vs({role:gH,from:g,encode:y,marks:h,layout:f,interactive:l})],m.title&&h.push(YG(e,n,r.title,g)),gd(Vs({role:pH,from:g,encode:qo(dV(i,e,n),a,Gs),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:l,style:s}),t)}function cV(e,t){let n=e.type||bS;return!e.type&&fV(e)===1&&(e.fill||e.stroke)&&(n=gm(t)?fd:ym(t)?X1:bS),n===fd?ym(t)?X1:fd:n}function fV(e){return J1.reduce((t,n)=>t+(e[n]?1:0),0)}function dV(e,t,n){let r={enter:{},update:{}};return ht(r,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:e("legendX"),y:e("legendY"),format:t.format,formatType:t.formatType}),r}function hV(e,t,n){return xr(`max(ceil(sqrt(${$a(NS("size",e,n))})+${$a(NS("strokeWidth",e,n))}),${$a(pV(n[1].encode,t,Hs))})`,t)}function NS(e,t,n){return t[e]?`scale("${t[e]}",datum)`:wS(e,n[0].encode)}function pV(e,t,n){return wS("fontSize",e)||RG("fontSize",t,n)}var mV=`item.orient==="${Wo}"?-90:item.orient==="${Ho}"?90:0`;function gV(e,t){e=Y(e)?{text:e}:e;let n=Qt(e,t.config.title),r=e.encode||{},i=r.group||{},a=i.name||void 0,o=i.interactive,l=i.style,s=[],u=re(t.add(Wn(null,[{}])));return s.push(bV(e,n,yV(e),u)),e.subtitle&&s.push(xV(e,n,r.subtitle,u)),gd(Vs({role:xH,from:u,encode:vV(n,i),marks:s,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:a,interactive:o,style:l}),t)}function yV(e){let t=e.encode;return t&&t.title||he({name:e.name,interactive:e.interactive,style:e.style},t)}function vV(e,t){let n={enter:{},update:{}};return ht(n,{orient:e("orient"),anchor:e("anchor"),align:{signal:K1},angle:{signal:mV},limit:e("limit"),frame:e("frame"),offset:e("offset")||0,padding:e("subtitlePadding")}),qo(n,t,Gs)}function bV(e,t,n,r){let i={value:0},a=e.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return ht(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("color"),font:t("font"),fontSize:t("fontSize"),fontStyle:t("fontStyle"),fontWeight:t("fontWeight"),lineHeight:t("lineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),un({type:Da,role:wH,style:OG,from:r,encode:o},n)}function xV(e,t,n,r){let i={value:0},a=e.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return ht(o,{text:a,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:t("dx"),dy:t("dy"),fill:t("subtitleColor"),font:t("subtitleFont"),fontSize:t("subtitleFontSize"),fontStyle:t("subtitleFontStyle"),fontWeight:t("subtitleFontWeight"),lineHeight:t("subtitleLineHeight")},{align:t("align"),angle:t("angle"),baseline:t("baseline")}),un({type:Da,role:_H,style:zG,from:r,encode:o},n)}function wV(e,t){let n=[];e.transform&&e.transform.forEach(r=>{n.push(ty(r,t))}),e.on&&e.on.forEach(r=>{zS(r,t,e.name)}),t.addDataPipeline(e.name,_V(e,t,n))}function _V(e,t,n){let r=[],i=null,a=!1,o=!1,l,s,u,c,f;for(e.values?nt(e.values)||ld(e.format)?(r.push(RS(t,e)),r.push(i=Fa())):r.push(i=Fa({$ingest:e.values,$format:e.format})):e.url?ld(e.url)||ld(e.format)?(r.push(RS(t,e)),r.push(i=Fa())):r.push(i=Fa({$request:e.url,$format:e.format})):e.source&&(i=l=Q(e.source).map(d=>re(t.getData(d).output)),r.push(null)),s=0,u=n.length;s<u;++s)c=n[s],f=c.metadata,!i&&!f.source&&r.push(i=Fa()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(a=!0),f.source?i=c:f.changes&&(i=null);return l&&(u=l.length-1,r[0]=uG({derive:a,pulse:u?l:l[0]}),(a||u)&&r.splice(1,0,Fa())),i||r.push(Fa()),r.push(Aa({})),r}function Fa(e){let t=Wn({},e);return t.metadata={source:!0},t}function RS(e,t){return tG({url:t.url?e.property(t.url):void 0,async:t.async?e.property(t.async):void 0,values:t.values?e.property(t.values):void 0,format:e.objectProperty(t.format)})}var TS=e=>e===qi||e===Hn,yd=(e,t,n)=>nt(e)?AV(e.signal,t,n):e===Wo||e===Hn?t:n,ot=(e,t,n)=>nt(e)?EV(e.signal,t,n):TS(e)?t:n,Gn=(e,t,n)=>nt(e)?$V(e.signal,t,n):TS(e)?n:t,LS=(e,t,n)=>nt(e)?DV(e.signal,t,n):e===Hn?{value:t}:{value:n},kV=(e,t,n)=>nt(e)?SV(e.signal,t,n):e===Ho?{value:t}:{value:n},EV=(e,t,n)=>PS(`${e} === '${Hn}' || ${e} === '${qi}'`,t,n),$V=(e,t,n)=>PS(`${e} !== '${Hn}' && ${e} !== '${qi}'`,t,n),AV=(e,t,n)=>ry(`${e} === '${Wo}' || ${e} === '${Hn}'`,t,n),DV=(e,t,n)=>ry(`${e} === '${Hn}'`,t,n),SV=(e,t,n)=>ry(`${e} === '${Ho}'`,t,n),PS=(e,t,n)=>(t=t==null?t:at(t),n=n==null?n:at(n),BS(t)&&BS(n)?(t=t?t.signal||H(t.value):null,n=n?n.signal||H(n.value):null,{signal:`${e} ? (${t}) : (${n})`}):[he({test:e},t)].concat(n||[])),BS=e=>e==null||Object.keys(e).length===1,ry=(e,t,n)=>({signal:`${e} ? (${Go(t)}) : (${Go(n)})`}),FV=(e,t,n,r,i)=>({signal:(r==null?"":`${e} === '${Wo}' ? (${Go(r)}) : `)+(n==null?"":`${e} === '${qi}' ? (${Go(n)}) : `)+(i==null?"":`${e} === '${Ho}' ? (${Go(i)}) : `)+(t==null?"":`${e} === '${Hn}' ? (${Go(t)}) : `)+"(null)"}),Go=e=>nt(e)?e.signal:e==null?null:H(e),CV=(e,t)=>t===0?0:nt(e)?{signal:`(${e.signal}) * ${t}`}:{value:e*t},Vo=(e,t)=>{let n=e.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+t.signal}:e};function Xo(e,t,n,r){let i;if(t&&K(t,e))return t[e];if(K(n,e))return n[e];if(e.startsWith("title")){switch(e){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=e[5].toLowerCase()+e.slice(6)}return r[V1][i]}else if(e.startsWith("label")){switch(e){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=e[5].toLowerCase()+e.slice(6)}return r[Hs][i]}return null}function IS(e){let t={};for(let n of e)if(n)for(let r in n)t[r]=1;return Object.keys(t)}function MV(e,t){var n=t.config,r=n.style,i=n.axis,a=t.scaleType(e.scale)==="band"&&n.axisBand,o=e.orient,l,s,u;if(nt(o)){let c=IS([n.axisX,n.axisY]),f=IS([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);l={};for(u of c)l[u]=ot(o,Xo(u,n.axisX,i,r),Xo(u,n.axisY,i,r));s={};for(u of f)s[u]=FV(o.signal,Xo(u,n.axisTop,i,r),Xo(u,n.axisBottom,i,r),Xo(u,n.axisLeft,i,r),Xo(u,n.axisRight,i,r))}else l=o===Hn||o===qi?n.axisX:n.axisY,s=n["axis"+o[0].toUpperCase()+o.slice(1)];return l||s||a?he({},i,l,s,a):i}function OV(e,t,n,r){let i=Qt(e,t),a=e.orient,o,l,s={enter:o={opacity:ye},update:l={opacity:Dn},exit:{opacity:ye}};ht(s,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});let u=jS(e,0),c=jS(e,1);return o.x=l.x=ot(a,u,ye),o.x2=l.x2=ot(a,c),o.y=l.y=Gn(a,u,ye),o.y2=l.y2=Gn(a,c),un({type:Q1,role:uH,from:r,encode:s},n)}function jS(e,t){return{scale:e.scale,range:t}}function zV(e,t,n,r,i){let a=Qt(e,t),o=e.orient,l=e.gridScale,s=yd(o,1,-1),u=NV(e.offset,s),c,f,d,h={enter:c={opacity:ye},update:d={opacity:Dn},exit:f={opacity:ye}};ht(h,{stroke:a("gridColor"),strokeCap:a("gridCap"),strokeDash:a("gridDash"),strokeDashOffset:a("gridDashOffset"),strokeOpacity:a("gridOpacity"),strokeWidth:a("gridWidth")});let p={scale:e.scale,field:An,band:i.band,extra:i.extra,offset:i.offset,round:a("tickRound")},m=ot(o,{signal:"height"},{signal:"width"}),g=l?{scale:l,range:0,mult:s,offset:u}:{value:0,offset:u},y=l?{scale:l,range:1,mult:s,offset:u}:he(m,{mult:s,offset:u});return c.x=d.x=ot(o,p,g),c.y=d.y=Gn(o,p,g),c.x2=d.x2=Gn(o,y),c.y2=d.y2=ot(o,y),f.x=ot(o,p),f.y=Gn(o,p),un({type:Q1,role:cH,key:An,from:r,encode:h},n)}function NV(e,t){if(t!==1)if(!J(e))e=nt(t)?{signal:`(${t.signal}) * (${e||0})`}:t*(e||0);else{let n=e=he({},e);for(;n.mult!=null;)if(J(n.mult))n=n.mult=he({},n.mult);else return n.mult=nt(t)?{signal:`(${n.mult}) * (${t.signal})`}:n.mult*t,e;n.mult=t}return e}function RV(e,t,n,r,i,a){let o=Qt(e,t),l=e.orient,s=yd(l,-1,1),u,c,f,d={enter:u={opacity:ye},update:f={opacity:Dn},exit:c={opacity:ye}};ht(d,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});let h=at(i);h.mult=s;let p={scale:e.scale,field:An,band:a.band,extra:a.extra,offset:a.offset,round:o("tickRound")};return f.y=u.y=ot(l,ye,p),f.y2=u.y2=ot(l,h),c.x=ot(l,p),f.x=u.x=Gn(l,ye,p),f.x2=u.x2=Gn(l,h),c.y=Gn(l,p),un({type:Q1,role:dH,key:An,from:r,encode:d},n)}function iy(e,t,n,r,i){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+t+","+n+","+r+","+i+")"}}function TV(e,t,n,r,i,a){let o=Qt(e,t),l=e.orient,s=e.scale,u=yd(l,-1,1),c=$a(o("labelFlush")),f=$a(o("labelFlushOffset")),d=o("labelAlign"),h=o("labelBaseline"),p=c===0||!!c,m,g=at(i);g.mult=u,g.offset=at(o("labelPadding")||0),g.offset.mult=u;let y={scale:s,field:An,band:.5,offset:_S(a.offset,o("labelOffset"))},v=ot(l,p?iy(s,c,'"left"','"right"','"center"'):{value:"center"},kV(l,"left","right")),b=ot(l,LS(l,"bottom","top"),p?iy(s,c,'"top"','"bottom"','"middle"'):{value:"middle"}),w=iy(s,c,`-(${f})`,f,0);p&&(p=f);let _={opacity:ye,x:ot(l,y,g),y:Gn(l,y,g)},k={enter:_,update:m={opacity:Dn,text:{field:G1},x:_.x,y:_.y,align:v,baseline:b},exit:{opacity:ye,x:_.x,y:_.y}};ht(k,{dx:!d&&p?ot(l,w):null,dy:!h&&p?Gn(l,w):null}),ht(k,{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:d,baseline:h});let x=o("labelBound"),E=o("labelOverlap");return E=E||x?{separation:o("labelSeparation"),method:E,order:"datum.index",bound:x?{scale:s,orient:l,tolerance:x}:null}:void 0,m.align!==v&&(m.align=Vo(m.align,v)),m.baseline!==b&&(m.baseline=Vo(m.baseline,b)),un({type:Da,role:fH,style:Hs,key:An,from:r,encode:k,overlap:E},n)}function LV(e,t,n,r){let i=Qt(e,t),a=e.orient,o=yd(a,-1,1),l,s,u={enter:l={opacity:ye,anchor:at(i("titleAnchor",null)),align:{signal:K1}},update:s=he({},l,{opacity:Dn,text:at(e.title)}),exit:{opacity:ye}},c={signal:`lerp(range("${e.scale}"), ${hd(0,1,.5)})`};return s.x=ot(a,c),s.y=Gn(a,c),l.angle=ot(a,ye,CV(o,90)),l.baseline=ot(a,LS(a,qi,Hn),{value:qi}),s.angle=l.angle,s.baseline=l.baseline,ht(u,{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")}),PV(i,a,u,n),u.update.align=Vo(u.update.align,l.align),u.update.angle=Vo(u.update.angle,l.angle),u.update.baseline=Vo(u.update.baseline,l.baseline),un({type:Da,role:hH,style:V1,from:r,encode:u},n)}function PV(e,t,n,r){let i=(l,s)=>l==null?!Uo(s,r):(n.update[s]=Vo(at(l),n.update[s]),!1),a=i(e("titleX"),"x"),o=i(e("titleY"),"y");n.enter.auto=o===a?at(o):ot(t,at(o),at(a))}function BV(e,t){let n=MV(e,t),r=e.encode||{},i=r.axis||{},a=i.name||void 0,o=i.interactive,l=i.style,s=Qt(e,n),u=TG(s),c={scale:e.scale,ticks:!!s("ticks"),labels:!!s("labels"),grid:!!s("grid"),domain:!!s("domain"),title:e.title!=null},f=re(t.add(Wn({},[c]))),d=re(t.add(XH({scale:t.scaleRef(e.scale),extra:t.property(u.extra),count:t.objectProperty(e.tickCount),values:t.objectProperty(e.values),minstep:t.property(e.tickMinStep),formatType:t.property(e.formatType),formatSpecifier:t.property(e.format)}))),h=[],p;return c.grid&&h.push(zV(e,n,r.grid,d,u)),c.ticks&&(p=s("tickSize"),h.push(RV(e,n,r.ticks,d,p,u))),c.labels&&(p=c.ticks?p:0,h.push(TV(e,n,r.labels,d,p,u))),c.domain&&h.push(OV(e,n,r.domain,f)),c.title&&h.push(LV(e,n,r.title,f)),gd(Vs({role:sH,from:f,encode:qo(IV(s,e),i,Gs),marks:h,aria:s("aria"),description:s("description"),zindex:s("zindex"),name:a,interactive:o,style:l}),t)}function IV(e,t){let n={enter:{},update:{}};return ht(n,{orient:e("orient"),offset:e("offset")||0,position:Un(t.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${t.scale}")))`},translate:e("translate"),format:t.format,formatType:t.formatType}),n}function qS(e,t,n){let r=Q(e.signals),i=Q(e.scales);return n||r.forEach(a=>iS(a,t)),Q(e.projections).forEach(a=>AG(a,t)),i.forEach(a=>pG(a,t)),Q(e.data).forEach(a=>wV(a,t)),i.forEach(a=>mG(a,t)),(n||r).forEach(a=>VH(a,t)),Q(e.axes).forEach(a=>BV(a,t)),Q(e.marks).forEach(a=>gd(a,t)),Q(e.legends).forEach(a=>uV(a,t)),e.title&&gV(e.title,t),t.parseLambdas(),t}var jV=e=>qo({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function qV(e,t){let n=t.config,r=re(t.root=t.add(ad())),i=UV(e,n);i.forEach(u=>iS(u,t)),t.description=e.description||n.description,t.eventConfig=n.events,t.legends=t.objectProperty(n.legend&&n.legend.layout),t.locale=n.locale;let a=t.add(Wn()),o=t.add(cS(nS(jV(e.encode),dd,lH,e.style,t,{pulse:re(a)}))),l=t.add(hS({layout:t.objectProperty(e.layout),legends:t.legends,autosize:t.signalRef("autosize"),mark:r,pulse:re(o)}));t.operators.pop(),t.pushState(re(o),re(l),null),qS(e,t,i),t.operators.push(l);let s=t.add(sS({mark:r,pulse:re(l)}));return s=t.add(dS({pulse:re(s)})),s=t.add(Aa({pulse:re(s)})),t.addData("root",new Sa(t,a,a,s)),t}function Ys(e,t){return t&&t.signal?{name:e,update:t.signal}:{name:e,value:t}}function UV(e,t){let n=o=>Un(e[o],t[o]),r=[Ys("background",n("background")),Ys("autosize",iH(n("autosize"))),Ys("padding",oH(n("padding"))),Ys("width",n("width")||0),Ys("height",n("height")||0)],i=r.reduce((o,l)=>(o[l.name]=l,o),{}),a={};return Q(e.signals).forEach(o=>{K(i,o.name)?o=he(i[o.name],o):r.push(o),a[o.name]=o}),Q(t.signals).forEach(o=>{!K(a,o.name)&&!K(i,o.name)&&r.push(o)}),r}function US(e,t){this.config=e||{},this.options=t||{},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 WS(e){this.config=e.config,this.options=e.options,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}US.prototype=WS.prototype={parse(e){return qS(e,this)},fork(){return new WS(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(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs=(e.refs.forEach(t=>{t.$ref=e.id}),null)),e},proxy(e){let t=e instanceof B1?re(e):e;return this.add(sG({value:t}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let 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(r,i,a){let o,l;r&&(o=r.data||(r.data={}),l=o[i]||(o[i]=[]),l.push(a))}for(e in this.data)for(let r in t=this.data[e],n(t.input,e,"input"),n(t.output,e,"output"),n(t.values,e,"values"),t.index)n(t.index[r],e,"index:"+r);return this},pushState(e,t,n){this._encode.push(re(this.add(Aa({pulse:e})))),this._parent.push(t),this._lookup.push(n?re(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return Ae(this._parent)},encode(){return Ae(this._encode)},lookup(){return Ae(this._lookup)},markpath(){let e=this._markpath;return++e[e.length-1]},fieldRef(e,t){if(Y(e))return Us(e,t);e.signal||L("Unsupported field reference: "+H(e));let n=e.signal,r=this.field[n];if(!r){let i={name:this.signalRef(n)};t&&(i.as=t),this.field[n]=r=re(this.add(KH(i)))}return r},compareRef(e){let t=!1,n=a=>nt(a)?(t=!0,this.signalRef(a.signal)):LH(a)?(t=!0,this.exprRef(a.expr)):a,r=Q(e.field).map(n),i=Q(e.order).map(n);return t?re(this.add(uS({fields:r,orders:i}))):aS(r,i)},keyRef(e,t){let n=!1,r=a=>nt(a)?(n=!0,re(i[a.signal])):a,i=this.signals;return e=Q(e).map(r),n?re(this.add(ZH({fields:e,flat:t}))):zH(e,t)},sortRef(e){if(!e)return e;let t=od(e.op,e.field),n=e.order||NH;return n.signal?re(this.add(uS({fields:t,orders:this.signalRef(n.signal)}))):aS(t,n)},event(e,t){let n=e+":"+t;if(!this.events[n]){let r=this.id();this.streams.push({id:r,source:e,type:t}),this.events[n]=r}return this.events[n]},hasOwnSignal(e){return K(this.signals,e)},addSignal(e,t){this.hasOwnSignal(e)&&L("Duplicate signal name: "+H(e));let n=t instanceof B1?t:this.add(ad(t));return this.signals[e]=n},getSignal(e){return this.signals[e]||L("Unrecognized signal name: "+H(e)),this.signals[e]},signalRef(e){return this.signals[e]?re(this.signals[e]):(K(this.lambdas,e)||(this.lambdas[e]=this.add(ad(null))),re(this.lambdas[e]))},parseLambdas(){let e=Object.keys(this.lambdas);for(let t=0,n=e.length;t<n;++t){let r=e[t],i=xr(r,this),a=this.lambdas[r];a.params=i.$params,a.update=i.$expr}},property(e){return e&&e.signal?this.signalRef(e.signal):e},objectProperty(e){return!e||!J(e)?e:this.signalRef(e.signal||ay(e))},exprRef(e,t){let n={expr:xr(e,this)};return t&&(n.expr.$name=t),re(this.add(JH(n)))},addBinding(e,t){this.bindings||L("Nested signals do not support binding: "+H(e)),this.bindings.push(he({signal:e},t))},addScaleProj(e,t){K(this.scales,e)&&L("Duplicate scale or projection name: "+H(e)),this.scales[e]=this.add(t)},addScale(e,t){this.addScaleProj(e,cG(t))},addProjection(e,t){this.addScaleProj(e,lG(t))},getScale(e){return this.scales[e]||L("Unrecognized scale name: "+H(e)),this.scales[e]},scaleRef(e){return re(this.getScale(e))},scaleType(e){return this.getScale(e).params.type},projectionRef(e){return this.scaleRef(e)},projectionType(e){return this.scaleType(e)},addData(e,t){return K(this.data,e)&&L("Duplicate data set name: "+H(e)),this.data[e]=t},getData(e){return this.data[e]||L("Undefined data set name: "+H(e)),this.data[e]},addDataPipeline(e,t){return K(this.data,e)&&L("Duplicate data set name: "+H(e)),this.addData(e,Sa.fromEntries(this,t))}};function ay(e){return(N(e)?WV:HV)(e)}function WV(e){let t=e.length,n="[";for(let r=0;r<t;++r){let i=e[r];n+=(r>0?",":"")+(J(i)?i.signal||ay(i):H(i))}return n+"]"}function HV(e){let t="{",n=0,r,i;for(r in e)i=e[r],t+=(++n>1?",":"")+H(r)+":"+(J(i)?i.signal||ay(i):H(i));return t+"}"}function GV(){let e="sans-serif",t="#4c78a8",n="#000",r="#888",i="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:t},area:{fill:t},image:null,line:{stroke:t,strokeWidth:2},path:{stroke:t},rect:{fill:t},rule:{stroke:n},shape:{stroke:t},symbol:{fill:t,size:64},text:{fill:n,font:e,fontSize:11},trail:{fill:t,size:2},style:{"guide-label":{fill:n,font:e,fontSize:10},"guide-title":{fill:n,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:n,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:n,font:e,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:i},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:r,grid:!1,gridWidth:1,gridColor:i,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:r,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:i,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:r,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 VV(e,t,n){return J(e)||L("Input Vega specification must be an object."),t=co(GV(),t,e.config),qV(e,new US(t,n)).toRuntime()}var XV=Gt({Bounds:()=>Qe,CanvasHandler:()=>rs,CanvasRenderer:()=>Rc,DATE:()=>S4,DAY:()=>"day",DAYOFYEAR:()=>A4,Dataflow:()=>yo,Debug:()=>4,DisallowedObjectProperties:()=>Gh,Error:()=>1,EventStream:()=>Gu,Gradient:()=>g_,GroupItem:()=>fc,HOURS:()=>x4,Handler:()=>Zm,HybridHandler:()=>Ck,HybridRenderer:()=>fg,Info:()=>3,Item:()=>cc,MILLISECONDS:()=>z4,MINUTES:()=>T4,MONTH:()=>w4,Marks:()=>an,MultiPulse:()=>cp,None:()=>0,Operator:()=>Oe,Parameters:()=>Hu,Pulse:()=>vi,QUARTER:()=>R4,RenderType:()=>Mi,Renderer:()=>ts,ResourceLoader:()=>A_,SECONDS:()=>v4,SVGHandler:()=>fk,SVGRenderer:()=>cg,SVGStringRenderer:()=>Fk,Scenegraph:()=>Z_,TIME_UNITS:()=>Ax,Transform:()=>O,View:()=>ID,WEEK:()=>N4,Warn:()=>2,YEAR:()=>b4,accessor:()=>fo,accessorFields:()=>$t,accessorName:()=>qe,array:()=>Q,ascending:()=>Mu,bandwidthNRD:()=>pp,bin:()=>T2,bootstrapCI:()=>L2,boundClip:()=>Ik,boundContext:()=>Xl,boundItem:()=>Qm,boundMark:()=>Y_,boundStroke:()=>Br,changeset:()=>ua,clampRange:()=>kx,codegenExpression:()=>QA,compare:()=>Xh,constant:()=>At,cumulativeLogNormal:()=>xp,cumulativeNormal:()=>Ju,cumulativeUniform:()=>Ep,dayofyear:()=>Dx,debounce:()=>Qh,defaultLocale:()=>Jx,definition:()=>z2,densityLogNormal:()=>bp,densityNormal:()=>mp,densityUniform:()=>kp,domChild:()=>et,domClear:()=>_n,domCreate:()=>Fi,domFind:()=>Km,dotbin:()=>P2,error:()=>L,expressionFunction:()=>Xe,extend:()=>he,extent:()=>sr,extentIndex:()=>Kx,falsy:()=>di,fastmap:()=>ho,field:()=>Tr,flush:()=>n2,font:()=>Ec,fontFamily:()=>Zl,fontSize:()=>dr,format:()=>O4,formatLocale:()=>E4,formats:()=>F4,hasOwnProperty:()=>K,id:()=>Sl,identity:()=>vn,inferType:()=>M4,inferTypes:()=>D4,ingest:()=>_e,inherits:()=>G,inrange:()=>po,interpolate:()=>vm,interpolateColors:()=>oc,interpolateRange:()=>Zw,intersect:()=>Tk,intersectBoxLine:()=>$o,intersectPath:()=>Tm,intersectPoint:()=>Lm,intersectRule:()=>N_,isArray:()=>N,isBoolean:()=>fi,isDate:()=>aa,isFunction:()=>de,isIterable:()=>_4,isNumber:()=>we,isObject:()=>J,isRegExp:()=>qh,isString:()=>Y,isTuple:()=>qu,key:()=>Hh,lerp:()=>Fx,lineHeight:()=>Di,loader:()=>zu,locale:()=>t2,logger:()=>Cu,lruCache:()=>jx,markup:()=>ug,merge:()=>Yx,mergeConfig:()=>co,multiLineOffset:()=>Xm,one:()=>Fl,pad:()=>Lx,panLinear:()=>Bx,panLog:()=>Ux,panPow:()=>Cx,panSymlog:()=>zx,parse:()=>VV,parseExpression:()=>v1,parseSelector:()=>ji,path:()=>ip,pathCurves:()=>Em,pathEqual:()=>jk,pathParse:()=>_o,pathRectangle:()=>k_,pathRender:()=>Ul,pathSymbols:()=>__,pathTrail:()=>E_,peek:()=>Ae,point:()=>Ac,projection:()=>s0,quantileLogNormal:()=>wp,quantileNormal:()=>Qu,quantileUniform:()=>$p,quantiles:()=>dp,quantizeInterpolator:()=>e_,quarter:()=>Hx,quartiles:()=>hp,random:()=>bn,randomInteger:()=>I8,randomKDE:()=>yp,randomLCG:()=>B8,randomLogNormal:()=>I2,randomMixture:()=>j2,randomNormal:()=>gp,randomUniform:()=>q2,read:()=>Qx,regressionConstant:()=>Ap,regressionExp:()=>W2,regressionLinear:()=>Dp,regressionLoess:()=>Y2,regressionLog:()=>U2,regressionPoly:()=>G2,regressionPow:()=>H2,regressionQuad:()=>Sp,renderModule:()=>Bc,repeat:()=>L4,resetDefaultLocale:()=>$4,resetSVGDefIds:()=>dR,responseType:()=>e2,runtimeContext:()=>xD,sampleCurve:()=>Zu,sampleLogNormal:()=>vp,sampleNormal:()=>Yu,sampleUniform:()=>_p,scale:()=>ve,sceneEqual:()=>hg,sceneFromJSON:()=>Q_,scenePickVisit:()=>vc,sceneToJSON:()=>J_,sceneVisit:()=>Rn,sceneZOrder:()=>Pm,scheme:()=>bm,serializeXML:()=>_k,setHybridRendererOptions:()=>sR,setRandom:()=>L8,span:()=>Fu,splitAccessPath:()=>ui,stringValue:()=>H,textMetrics:()=>rn,timeBin:()=>Sx,timeFloor:()=>Ix,timeFormatLocale:()=>C4,timeInterval:()=>Yh,timeOffset:()=>Ex,timeSequence:()=>Xx,timeUnitSpecifier:()=>Tx,timeUnits:()=>Px,toBoolean:()=>Mx,toDate:()=>Gx,toNumber:()=>yn,toSet:()=>lr,toString:()=>Nx,transform:()=>N2,transforms:()=>vo,truncate:()=>Zx,truthy:()=>gn,tupleid:()=>te,typeParsers:()=>k4,utcFloor:()=>qx,utcInterval:()=>Uh,utcOffset:()=>Ox,utcSequence:()=>Rx,utcdayofyear:()=>Wx,utcquarter:()=>Vx,utcweek:()=>r2,version:()=>JV,visitArray:()=>ci,week:()=>$x,writeConfig:()=>Ou,zero:()=>Wh,zoomLinear:()=>jh,zoomLog:()=>Vh,zoomPow:()=>Nu,zoomSymlog:()=>Jh}),YV="6.2.0";he(vo,Q8,hR,YR,WL,HP,PB,OB,aI,DI,MI,jI);var JV=YV;function QV(e,t,n){let r;t.x2&&(t.x?(n&&e.x>e.x2&&(r=e.x,e.x=e.x2,e.x2=r),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),t.xc&&(e.x=e.xc-(e.width||0)/2),t.y2&&(t.y?(n&&e.y>e.y2&&(r=e.y,e.y=e.y2,e.y2=r),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),t.yc&&(e.y=e.yc-(e.height||0)/2)}var KV={NaN:NaN,E:Math.E,LN2:Math.LN2,LN10:Math.LN10,LOG2E:Math.LOG2E,LOG10E:Math.LOG10E,PI:Math.PI,SQRT1_2:Math.SQRT1_2,SQRT2:Math.SQRT2,MIN_VALUE:Number.MIN_VALUE,MAX_VALUE:Number.MAX_VALUE},ZV={"*":(e,t)=>e*t,"+":(e,t)=>e+t,"-":(e,t)=>e-t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,">":(e,t)=>e>t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,">=":(e,t)=>e>=t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,"===":(e,t)=>e===t,"!==":(e,t)=>e!==t,"&":(e,t)=>e&t,"|":(e,t)=>e|t,"^":(e,t)=>e^t,"<<":(e,t)=>e<<t,">>":(e,t)=>e>>t,">>>":(e,t)=>e>>>t},eX={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e},tX=Array.prototype.slice,Ca=(e,t,n)=>{let r=n?n(t[0]):t[0];return r[e].apply(r,tX.call(t,1))},nX={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,t,n)=>Math.max(t,Math.min(n,e)),now:Date.now,utc:Date.UTC,datetime:(e,t=0,n=1,r=0,i=0,a=0,o=0)=>Y(e)?new Date(e):new Date(e,t,n,r,i,a,o),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return Ca("join",arguments)},indexof:function(){return Ca("indexOf",arguments)},lastindexof:function(){return Ca("lastIndexOf",arguments)},slice:function(){return Ca("slice",arguments)},reverse:e=>e.slice().reverse(),sort:e=>e.slice().sort(Mu),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return Ca("substring",arguments,String)},split:function(){return Ca("split",arguments,String)},replace:function(){return Ca("replace",arguments,String)},trim:e=>String(e).trim(),btoa:e=>btoa(e),atob:e=>atob(e),regexp:RegExp,test:(e,t)=>RegExp(e).test(t)},rX=["view","item","group","xy","x","y"],oy=new Set([Function,eval,setTimeout,setInterval]);typeof setImmediate=="function"&&oy.add(setImmediate);var iX={Literal:(e,t)=>t.value,Identifier:(e,t)=>{let n=t.name;return e.memberDepth>0?n:n==="datum"?e.datum:n==="event"?e.event:n==="item"?e.item:KV[n]||e.params["$"+n]},MemberExpression:(e,t)=>{let n=!t.computed,r=e(t.object);n&&(e.memberDepth+=1);let i=e(t.property);if(n&&--e.memberDepth,oy.has(r[i])){console.error(`Prevented interpretation of member "${i}" which could lead to insecure code execution`);return}return r[i]},CallExpression:(e,t)=>{let n=t.arguments,r=t.callee.name;return r.startsWith("_")&&(r=r.slice(1)),r==="if"?e(n[0])?e(n[1]):e(n[2]):(e.fn[r]||nX[r]).apply(e.fn,n.map(e))},ArrayExpression:(e,t)=>t.elements.map(e),BinaryExpression:(e,t)=>ZV[t.operator](e(t.left),e(t.right)),UnaryExpression:(e,t)=>eX[t.operator](e(t.argument)),ConditionalExpression:(e,t)=>e(t.test)?e(t.consequent):e(t.alternate),LogicalExpression:(e,t)=>t.operator==="&&"?e(t.left)&&e(t.right):e(t.left)||e(t.right),ObjectExpression:(e,t)=>t.properties.reduce((n,r)=>{e.memberDepth+=1;let i=e(r.key);--e.memberDepth;let a=e(r.value);return Gh.has(i)?console.error(`Prevented interpretation of property "${i}" which could lead to insecure code execution`):oy.has(a)?console.error(`Prevented interpretation of method "${i}" which could lead to insecure code execution`):n[i]=a,n},{})};function Js(e,t,n,r,i,a){let o=l=>iX[l.type](o,l);return o.memberDepth=0,o.fn=Object.create(t),o.params=n,o.datum=r,o.event=i,o.item=a,rX.forEach(l=>o.fn[l]=(...s)=>i.vega[l](...s)),o(e)}var aX={operator(e,t){let n=t.ast,r=e.functions;return i=>Js(n,r,i)},parameter(e,t){let n=t.ast,r=e.functions;return(i,a)=>Js(n,r,a,i)},event(e,t){let n=t.ast,r=e.functions;return i=>Js(n,r,void 0,void 0,i)},handler(e,t){let n=t.ast,r=e.functions;return(i,a)=>Js(n,r,i,a.item&&a.item.datum,a)},encode(e,t){let{marktype:n,channels:r}=t,i=e.functions,a=n==="group"||n==="image"||n==="rect";return(o,l)=>{let s=o.datum,u=0,c;for(let f in r)c=Js(r[f].ast,i,l,s,void 0,o),o[f]!==c&&(o[f]=c,u=1);return n!=="rule"&&QV(o,r,a),u}}},oX=Gt({accessPathDepth:()=>Zo,accessPathWithDatum:()=>my,accessWithDatumToUnescapedPath:()=>Fe,compile:()=>P6,contains:()=>ce,deepEqual:()=>fn,deleteNestedProperty:()=>bd,duplicate:()=>oe,entries:()=>Ui,every:()=>fy,fieldIntersection:()=>py,flatAccessWithDatum:()=>XS,getFirstDefined:()=>Ye,hasIntersection:()=>dy,hasProperty:()=>j,hash:()=>pe,internalField:()=>KS,isBoolean:()=>Qs,isEmpty:()=>ze,isEqual:()=>uX,isInternalField:()=>ZS,isNullOrFalse:()=>cy,isNumeric:()=>xd,keys:()=>I,logicalExpr:()=>Ks,mergeDeep:()=>GS,never:()=>HS,normalize:()=>F3,normalizeAngle:()=>eu,omit:()=>cn,pick:()=>Jo,prefixGenerator:()=>hy,removePathFromField:()=>Ko,replaceAll:()=>Ma,replacePathInField:()=>Sn,resetIdCounter:()=>fX,setEqual:()=>VS,some:()=>Qo,stringify:()=>Ee,titleCase:()=>Zs,unescapeSingleQuoteAndPathDot:()=>YS,unique:()=>wr,uniqueId:()=>QS,vals:()=>Ke,varName:()=>Pe,version:()=>Dne}),lX={version:"6.4.1"};function ly(e){return j(e,"or")}function sy(e){return j(e,"and")}function uy(e){return j(e,"not")}function vd(e,t){if(uy(e))vd(e.not,t);else if(sy(e))for(let n of e.and)vd(n,t);else if(ly(e))for(let n of e.or)vd(n,t);else t(e)}function Yo(e,t){return uy(e)?{not:Yo(e.not,t)}:sy(e)?{and:e.and.map(n=>Yo(n,t))}:ly(e)?{or:e.or.map(n=>Yo(n,t))}:t(e)}var oe=structuredClone;function HS(e){throw Error(e)}function Jo(e,t){let n={};for(let r of t)K(e,r)&&(n[r]=e[r]);return n}function cn(e,t){let n={...e};for(let r of t)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>Ee(e)).join(",")})`};function pe(e){if(we(e))return e;let t=Y(e)?e:Ee(e);if(t.length<250)return t;let n=0;for(let r=0;r<t.length;r++){let i=t.charCodeAt(r);n=(n<<5)-n+i,n&=n}return n}function cy(e){return e===!1||e===null}function ce(e,t){return e.includes(t)}function Qo(e,t){let n=0;for(let[r,i]of e.entries())if(t(i,r,n++))return!0;return!1}function fy(e,t){let n=0;for(let[r,i]of e.entries())if(!t(i,r,n++))return!1;return!0}function GS(e,...t){for(let n of t)sX(e,n??{});return e}function sX(e,t){for(let n of I(t))Ou(e,n,t[n],!0)}function wr(e,t){let n=[],r={},i;for(let a of e)i=t(a),!(i in r)&&(r[i]=1,n.push(a));return n}function uX(e,t){let n=I(e),r=I(t);if(n.length!==r.length)return!1;for(let i of n)if(e[i]!==t[i])return!1;return!0}function VS(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function dy(e,t){for(let n of e)if(t.has(n))return!0;return!1}function hy(e){let t=new Set;for(let n of e){let r=ui(n).map((a,o)=>o===0?a:`[${a}]`),i=r.map((a,o)=>r.slice(0,o+1).join(""));for(let a of i)t.add(a)}return t}function py(e,t){return e===void 0||t===void 0?!0:dy(hy(e),hy(t))}function ze(e){return I(e).length===0}var I=Object.keys,Ke=Object.values,Ui=Object.entries;function Qs(e){return e===!0||e===!1}function Pe(e){let t=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+t}function Ks(e,t){return uy(e)?`!(${Ks(e.not,t)})`:sy(e)?`(${e.and.map(n=>Ks(n,t)).join(") && (")})`:ly(e)?`(${e.or.map(n=>Ks(n,t)).join(") || (")})`:t(e)}function bd(e,t){if(t.length===0)return!0;let n=t.shift();return n in e&&bd(e[n],t)&&delete e[n],ze(e)}function Zs(e){return e.charAt(0).toUpperCase()+e.substr(1)}function my(e,t="datum"){let n=ui(e),r=[];for(let i=1;i<=n.length;i++){let a=`[${n.slice(0,i).map(H).join("][")}]`;r.push(`${t}${a}`)}return r.join(" && ")}function XS(e,t="datum"){return`${t}[${H(ui(e).join("."))}]`}function Fe(e){return`datum['${e.replaceAll("'","\\'")}']`}function YS(e){return e.replaceAll("\\'","'").replaceAll("\\.",".")}function cX(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function Sn(e){return`${ui(e).map(cX).join("\\.")}`}function Ma(e,t,n){return e.replace(new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function Ko(e){return`${ui(e).join(".")}`}function Zo(e){return e?ui(e).length:0}function Ye(...e){return e.find(t=>t!==void 0)}var JS=42;function QS(e){let t=++JS;return e?String(e)+t:t}function fX(){JS=42}function KS(e){return ZS(e)?e:`__${e}`}function ZS(e){return e.startsWith("__")}function eu(e){if(e!==void 0)return(e%360+360)%360}function xd(e){return we(e)?!0:!isNaN(e)&&!isNaN(parseFloat(e))}var eF=Object.getPrototypeOf(structuredClone({}));function fn(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor.name!==t.constructor.name)return!1;let n,r;if(Array.isArray(e)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(!fn(e[r],t[r]))return!1;return!0}if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;for(let a of e.entries())if(!fn(a[1],t.get(a[0])))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let a of e.entries())if(!t.has(a[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){if(n=e.length,n!=t.length)return!1;for(r=n;r--!==0;)if(e[r]!==t[r])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==eF.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==eF.toString)return e.toString()===t.toString();let i=Object.keys(e);if(n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let a=i[r];if(!fn(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function Ee(e){let t=[];return(function n(r){if(r!=null&&r.toJSON&&typeof r.toJSON=="function"&&(r=r.toJSON()),r===void 0)return;if(typeof r=="number")return isFinite(r)?`${r}`:"null";if(typeof r!="object")return JSON.stringify(r);let i,a;if(Array.isArray(r)){for(a="[",i=0;i<r.length;i++)i&&(a+=","),a+=n(r[i])||"null";return`${a}]`}if(r===null)return"null";if(t.includes(r))throw TypeError("Converting circular structure to JSON");let o=t.push(r)-1,l=Object.keys(r).sort();for(a="",i=0;i<l.length;i++){let s=l[i],u=n(r[s]);u&&(a&&(a+=","),a+=`${JSON.stringify(s)}:${u}`)}return t.splice(o,1),`{${a}}`})(e)}function j(e,t){return J(e)&&K(e,t)&&e[t]!==void 0}var Xr="row",Yr="column",wd="facet",Be="x",lt="y",Vn="x2",_r="y2",Wi="xOffset",el="yOffset",Xn="radius",Jr="radius2",Fn="theta",Qr="theta2",Yn="latitude",Jn="longitude",Qn="latitude2",Cn="longitude2",Hi="time",Kt="color",kr="fill",Er="stroke",Zt="shape",Kr="size",Oa="angle",Zr="opacity",Gi="fillOpacity",Vi="strokeOpacity",Xi="strokeWidth",Yi="strokeDash",tu="text",tl="order",nu="detail",_d="key",za="tooltip",kd="href",Ed="url",$d="description",dX={x:1,y:1,x2:1,y2:1},tF={theta:1,theta2:1,radius:1,radius2:1};function nF(e){return K(tF,e)}var gy={longitude:1,longitude2:1,latitude:1,latitude2:1};function rF(e){switch(e){case Yn:return"y";case Qn:return"y2";case Jn:return"x";case Cn:return"x2"}}function iF(e){return K(gy,e)}var hX=I(gy),yy={...dX,...tF,...gy,xOffset:1,yOffset:1,color:1,fill:1,stroke:1,time: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 nl(e){return e===Kt||e===kr||e===Er}var aF={row:1,column:1,facet:1},Mn=I(aF),vy={...yy,...aF},pX=I(vy),{order:Uie,detail:Wie,tooltip:Hie,...mX}=vy,{row:Gie,column:Vie,facet:Xie,...gX}=mX;function yX(e){return K(gX,e)}function oF(e){return K(vy,e)}var vX=[Vn,_r,Qn,Cn,Qr,Jr];function lF(e){return Na(e)!==e}function Na(e){switch(e){case Vn:return Be;case _r:return lt;case Qn:return Yn;case Cn:return Jn;case Qr:return Fn;case Jr:return Xn}return e}function Ji(e){if(nF(e))switch(e){case Fn:return"startAngle";case Qr:return"endAngle";case Xn:return"outerRadius";case Jr:return"innerRadius"}return e}function $r(e){switch(e){case Be:return Vn;case lt:return _r;case Yn:return Qn;case Jn:return Cn;case Fn:return Qr;case Xn:return Jr}}function en(e){switch(e){case Be:case Vn:return"width";case lt:case _r:return"height"}}function sF(e){switch(e){case Be:return"xOffset";case lt:return"yOffset";case Vn:return"x2Offset";case _r:return"y2Offset";case Fn:return"thetaOffset";case Xn:return"radiusOffset";case Qr:return"theta2Offset";case Jr:return"radius2Offset"}}function by(e){switch(e){case Be:return"xOffset";case lt:return"yOffset"}}function bX(e){switch(e){case"xOffset":return"x";case"yOffset":return"y"}}var xX=I(yy),{x:Yie,y:Jie,x2:Qie,y2:Kie,xOffset:Zie,yOffset:eae,latitude:tae,longitude:nae,latitude2:rae,longitude2:iae,theta:aae,theta2:oae,radius:lae,radius2:sae,...xy}=yy,wX=I(xy),wy={x:1,y:1},ei=I(wy);function Je(e){return K(wy,e)}var _y={theta:1,radius:1},_X=I(_y);function Ad(e){return e==="width"?Be:lt}var uF={xOffset:1,yOffset:1};function ru(e){return K(uF,e)}var kX={time:1};function ky(e){return e in kX}var{text:uae,tooltip:cae,href:fae,url:dae,description:hae,detail:pae,key:mae,order:gae,...cF}=xy,EX=I(cF);function $X(e){return K(xy,e)}function AX(e){switch(e){case Kt:case kr:case Er:case Kr:case Zt:case Zr:case Xi:case Yi:return!0;case Gi:case Vi:case Oa:case Hi:return!1}}var fF={...wy,..._y,...uF,...cF},Ey=I(fF);function Ar(e){return K(fF,e)}function DX(e,t){return FX(e)[t]}var dF={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"},{geoshape:yae,...SX}=dF;function FX(e){switch(e){case Kt:case kr:case Er:case $d:case nu:case _d:case za:case kd:case tl:case Zr:case Gi:case Vi:case Xi:case wd:case Xr:case Yr:return dF;case Be:case lt:case Wi:case el:case Yn:case Jn:case Hi:return SX;case Vn:case _r:case Qn:case Cn:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Kr:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Yi:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case Zt:return{point:"always",geoshape:"always"};case tu:return{text:"always"};case Oa:return{point:"always",square:"always",text:"always"};case Ed:return{image:"always"};case Fn:return{text:"always",arc:"always"};case Xn:return{text:"always",arc:"always"};case Qr:case Jr:return{arc:"always"}}}function $y(e){switch(e){case Be:case lt:case Fn:case Xn:case Wi:case el:case Kr:case Oa:case Xi:case Zr:case Gi:case Vi:case Hi:case Vn:case _r:case Qr:case Jr:return;case wd:case Xr:case Yr:case Zt:case Yi:case tu:case za:case kd:case Ed:case $d:return"discrete";case Kt:case kr:case Er:return"flexible";case Yn:case Jn:case Qn:case Cn:case nu:case _d:case tl:return}}var CX={argmax:1,argmin:1,average:1,count:1,distinct:1,exponential:1,exponentialb: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},MX={count:1,min:1,max:1};function ti(e){return j(e,"argmin")}function Qi(e){return j(e,"argmax")}function Ay(e){return Y(e)&&K(CX,e)}var OX=new Set(["count","valid","missing","distinct"]);function Dd(e){return Y(e)&&OX.has(e)}function zX(e){return Y(e)&&ce(["min","max"],e)}var NX=new Set(["count","sum","distinct","valid","missing"]),RX=new Set(["mean","average","median","q1","q3","min","max"]);function hF(e){return fi(e)&&(e=Gd(e,void 0)),`bin${I(e).map(t=>Sd(e[t])?Pe(`_${t}_${Ui(e[t])}`):Pe(`_${t}_${e[t]}`)).join("")}`}function Ne(e){return e===!0||Ra(e)&&!e.binned}function pt(e){return e==="binned"||Ra(e)&&e.binned===!0}function Ra(e){return J(e)}function Sd(e){return j(e,"param")}function pF(e){switch(e){case Xr:case Yr:case Kr:case Kt:case kr:case Er:case Xi:case Zr:case Gi:case Vi:case Zt:return 6;case Yi:return 4;default:return 10}}function iu(e){return j(e,"expr")}function mt(e,{level:t}={level:0}){let n=I(e||{}),r={};for(let i of n)r[i]=t===0?dn(e[i]):mt(e[i],{level:t-1});return r}function mF(e){let{anchor:t,frame:n,offset:r,orient:i,angle:a,limit:o,color:l,subtitleColor:s,subtitleFont:u,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:d,subtitleLineHeight:h,subtitlePadding:p,...m}=e,g={...m,...l?{fill:l}:{}},y={...t?{anchor:t}:{},...n?{frame:n}:{},...r?{offset:r}:{},...i?{orient:i}:{},...a===void 0?{}:{angle:a},...o===void 0?{}:{limit:o}},v={...s?{subtitleColor:s}:{},...u?{subtitleFont:u}:{},...c?{subtitleFontSize:c}:{},...f?{subtitleFontStyle:f}:{},...d?{subtitleFontWeight:d}:{},...h?{subtitleLineHeight:h}:{},...p?{subtitlePadding:p}:{}};return{titleMarkConfig:g,subtitleMarkConfig:Jo(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:y,subtitle:v}}function Ki(e){return Y(e)||N(e)&&Y(e[0])}function ee(e){return j(e,"signal")}function Ta(e){return j(e,"step")}function TX(e){return N(e)?!1:j(e,"fields")&&!j(e,"data")}function LX(e){return N(e)?!1:j(e,"fields")&&j(e,"data")}function ni(e){return N(e)?!1:j(e,"field")&&j(e,"data")}var PX=I({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}),BX={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},Dy=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"],IX=" \u2013 ";function gF(e){let t=N(e.condition)?e.condition.map(yF):yF(e.condition);return{...dn(e),condition:t}}function dn(e){if(iu(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function yF(e){if(iu(e)){let{expr:t,...n}=e;return{signal:t,...n}}return e}function Te(e){if(iu(e)){let{expr:t,...n}=e;return{signal:t,...n}}return ee(e)?e:e===void 0?void 0:{value:e}}function jX(e){return ee(e)?e.signal:H(e)}function vF(e){return ee(e)?e.signal:H(e.value)}function Kn(e){return ee(e)?e.signal:e==null?null:H(e)}function qX(e,t,n){for(let r of n){let i=Dr(r,t.markDef,t.config);i!==void 0&&(e[r]=Te(i))}return e}function bF(e){return[].concat(e.type,e.style??[])}function $e(e,t,n,r={}){let{vgChannel:i,ignoreVgConfig:a}=r;return i&&j(t,i)?t[i]:t[e]===void 0?a&&(!i||i===e)?void 0:Dr(e,t,n,r):t[e]}function Dr(e,t,n,{vgChannel:r}={}){let i=Sy(e,t,n.style);return Ye(r?i:void 0,i,r?n[t.type][r]:void 0,n[t.type][e],r?n.mark[r]:n.mark[e])}function Sy(e,t,n){return xF(e,bF(t),n)}function xF(e,t,n){t=Q(t);let r;for(let i of t){let a=n[i];j(a,e)&&(r=a[e])}return r}function wF(e,t){return Q(e).reduce((n,r)=>(n.field.push(X(r,t)),n.order.push(r.sort??"ascending"),n),{field:[],order:[]})}function _F(e,t){let n=[...e];return t.forEach(r=>{for(let i of n)if(fn(i,r))return;n.push(r)}),n}function kF(e,t){return fn(e,t)||!t?e:e?[...Q(e),...Q(t)].join(", "):t}function EF(e,t){let n=e.value,r=t.value;if(n==null||r===null)return{explicit:e.explicit,value:null};if((Ki(n)||ee(n))&&(Ki(r)||ee(r)))return{explicit:e.explicit,value:kF(n,r)};if(Ki(n)||ee(n))return{explicit:e.explicit,value:n};if(Ki(r)||ee(r))return{explicit:e.explicit,value:r};if(!Ki(n)&&!ee(n)&&!Ki(r)&&!ee(r))return{explicit:e.explicit,value:_F(n,r)};throw Error("It should never reach here")}function Fy(e){return`Invalid specification ${Ee(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}var UX='Autosize "fit" only works for single views and layered views.';function $F(e){return`${e=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function AF(e){return`${e=="width"?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${e=="width"?"x":"y"}".`}function DF(e){return e?`Dropping "fit-${e}" because spec has discrete ${en(e)}.`:'Dropping "fit" because spec has discrete size.'}function Cy(e){return`Unknown field for ${e}. Cannot calculate view size.`}function SF(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function WX(e,t){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${t}").`}function HX(e){return`The "nearest" transform is not supported for ${e} marks.`}function FF(e){return`Selection not supported for ${e} yet.`}function GX(e){return`Cannot find a selection named "${e}".`}var VX="Scale bindings are currently only supported for scales with unbinned, continuous domains.",XX="Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc",YX="Legend bindings are only supported for selections over an individual field or encoding channel.";function JX(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}function QX(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}var KX="The same selection must be used to override scale domains in a layered view.",ZX='Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.';function eY(e){return`Unknown repeated value "${e}".`}function CF(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}var tY="Multiple timer selections in one unit spec are not supported. Ignoring all but the first.",My="Animation involving facet, layer, or concat is currently unsupported.";function nY(e){return`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${H(e)}.`}function rY(e,t,n,r){return`${e.length?"Multiple ":"No "}matching ${H(t)} encoding found for selection ${H(n.param)}. Using "field": ${H(r)}.`}var iY="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function aY(e){return`Unrecognized parse "${e}".`}function MF(e,t,n){return`An ancestor parsed field "${e}" as ${n} but a child wants to parse the field as ${t}.`}var oY="Attempt to add the same child twice.";function lY(e){return`Ignoring an invalid transform: ${Ee(e)}.`}var sY='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 OF(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function uY(e){let{parentProjection:t,projection:n}=e;return`Layer's shared projection ${Ee(t)} is overridden by a child projection ${Ee(n)}.`}var cY="Arc marks uses theta channel rather than angle, replacing angle with theta.";function fY(e){return`${e}Offset dropped because ${e} is continuous`}function dY(e,t,n){return`Channel ${e} is a ${t}. Converted to {value: ${Ee(n)}}.`}function zF(e){return`Invalid field type "${e}".`}function hY(e,t){return`Invalid field type "${e}" for aggregate: "${t}", using "quantitative" instead.`}function pY(e){return`Invalid aggregation operator "${e}".`}function NF(e,t){let{fill:n,stroke:r}=t;return`Dropping color ${e} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function mY(e){return`Position range does not support relative band size for ${e}.`}function Oy(e,t){return`Dropping ${Ee(e)} from channel "${t}" since it does not contain any data field, datum, value, or signal.`}var gY="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function Fd(e,t,n){return`${e} dropped as it is incompatible with "${t}".`}function yY(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function vY(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function bY(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function xY(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`}function zy(e,t){return`Using discrete channel "${e}" to encode "${t}" field can be misleading as it does not encode ${t==="ordinal"?"order":"magnitude"}.`}function wY(e){return`The ${e} for range marks cannot be an expression`}function _Y(e,t){return`Line mark is for continuous lines and thus cannot be used with ${e&&t?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function kY(e,t){return`Specified orient "${e}" overridden with "${t}".`}function EY(e){return`Cannot use the scale property "${e}" with non-color channel.`}function $Y(e){return`Cannot use the relative band size with ${e} scale.`}function AY(e){return`Using unaggregated domain with raw field has no effect (${Ee(e)}).`}function DY(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function SY(e){return`Unaggregated domain is currently unsupported for log scale (${Ee(e)}).`}function FY(e){return`Cannot apply size to non-oriented mark "${e}".`}function CY(e,t,n){return`Channel "${e}" does not work with "${t}" scale. We are using "${n}" scale instead.`}function MY(e,t){return`FieldDef does not work with "${e}" scale. We are using "${t}" scale instead.`}function RF(e,t,n){return`${n}-scale's "${t}" is dropped as it does not work with ${e} scale.`}function TF(e){return`The step for "${e}" is dropped because the ${e==="width"?"x":"y"} is continuous.`}function OY(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Ee(n)} and ${Ee(r)}). Using ${Ee(n)}.`}function zY(e,t,n,r){return`Conflicting ${t.toString()} property "${e.toString()}" (${Ee(n)} and ${Ee(r)}). Using the union of the two domains.`}function NY(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}function RY(e){return`Dropping sort property ${Ee(e)} as unioned domains only support boolean or op "count", "min", and "max".`}var LF="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",TY="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.",LY="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.",PY="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 BY(e){return`Cannot stack "${e}" if there is already "${e}2".`}function IY(e){return`Stack is applied to a non-linear scale (${e}).`}function jY(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}function Cd(e,t){return`Invalid ${e}: ${Ee(t)}.`}function qY(e){return`Dropping day from datetime ${Ee(e)} as day cannot be combined with other units.`}function UY(e,t){return`${t?"extent ":""}${t&&e?"and ":""}${e?"center ":""}${t&&e?"are ":"is "}not needed when data are aggregated.`}function WY(e,t,n){return`${e} is not usually used with ${t} for ${n}.`}function HY(e,t){return`Continuous axis should not have customized aggregation function ${e}; ${t} already agregates the axis.`}function PF(e){return`1D error band does not support ${e}.`}function BF(e){return`Channel ${e} is required for "binned" bin.`}function GY(e){return`Channel ${e} should not be used with "binned" bin.`}function VY(e){return`Domain for ${e} is required for threshold scale.`}var IF=Cu(2),La=IF;function XY(e){return La=e,La}function YY(){return La=IF,La}function Ny(...e){La.error(...e)}function q(...e){La.warn(...e)}function JY(...e){La.debug(...e)}function Pa(e){if(e&&J(e)){for(let t of Ty)if(j(e,t))return!0}return!1}var jF=["january","february","march","april","may","june","july","august","september","october","november","december"],QY=jF.map(e=>e.substr(0,3)),qF=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],KY=qF.map(e=>e.substr(0,3));function ZY(e){if(xd(e)&&(e=+e),we(e))return e>4&&q(Cd("quarter",e)),e-1;throw Error(Cd("quarter",e))}function eJ(e){if(xd(e)&&(e=+e),we(e))return e-1;{let t=e.toLowerCase(),n=jF.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=QY.indexOf(r);if(i!==-1)return i;throw Error(Cd("month",e))}}function tJ(e){if(xd(e)&&(e=+e),we(e))return e%7;{let t=e.toLowerCase(),n=qF.indexOf(t);if(n!==-1)return n;let r=t.substr(0,3),i=KY.indexOf(r);if(i!==-1)return i;throw Error(Cd("day",e))}}function Ry(e,t){let n=[];if(t&&e.day!==void 0&&I(e).length>1&&(q(qY(e)),e=oe(e),delete e.day),e.year===void 0?n.push(2012):n.push(e.year),e.month!==void 0){let r=t?eJ(e.month):e.month;n.push(r)}else if(e.quarter!==void 0){let r=t?ZY(e.quarter):e.quarter;n.push(we(r)?r*3:`${r}*3`)}else n.push(0);if(e.date!==void 0)n.push(e.date);else if(e.day!==void 0){let r=t?tJ(e.day):e.day;n.push(we(r)?r+1:`${r}+1`)}else n.push(1);for(let r of["hours","minutes","seconds","milliseconds"]){let i=e[r];n.push(i===void 0?0:i)}return n}function Ba(e){let t=Ry(e,!0).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}function nJ(e){let t=Ry(e,!1).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}function rJ(e){let t=Ry(e,!0);return e.utc?+new Date(Date.UTC(...t)):+new Date(...t)}var UF={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},Ty=I(UF);function iJ(e){return K(UF,e)}function Ia(e){return J(e)?e.binned:WF(e)}function WF(e){return e==null?void 0:e.startsWith("binned")}function Ly(e){return e.startsWith("utc")}function aJ(e){return e.substring(3)}var oJ={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function Md(e){return Ty.filter(t=>GF(e,t))}function HF(e){let t=Md(e);return t[t.length-1]}function GF(e,t){let n=e.indexOf(t);return!(n<0||n>0&&t==="seconds"&&e.charAt(n-1)==="i"||e.length>n+3&&t==="day"&&e.charAt(n+3)==="o"||n>0&&t==="year"&&e.charAt(n-1)==="f")}function lJ(e,t,{end:n}={end:!1}){let r=my(t),i=Ly(e)?"utc":"";function a(s){return s==="quarter"?`(${i}quarter(${r})-1)`:`${i}${s}(${r})`}let o,l={};for(let s of Ty)GF(e,s)&&(l[s]=a(s),o=s);return n&&(l[o]+="+1"),nJ(l)}function VF(e){if(e)return`timeUnitSpecifier(${Ee(Md(e))}, ${Ee(oJ)})`}function sJ(e,t,n){if(!e)return;let r=VF(e);return`${n||Ly(e)?"utc":"time"}Format(${t}, ${r})`}function st(e){if(!e)return;let t;return Y(e)?t=WF(e)?{unit:e.substring(6),binned:!0}:{unit:e}:J(e)&&(t={...e,...e.unit?{unit:e.unit}:{}}),Ly(t.unit)&&(t.utc=!0,t.unit=aJ(t.unit)),t}function uJ(e){let{utc:t,...n}=st(e);return n.unit?(t?"utc":"")+I(n).map(r=>Pe(`${r==="unit"?"":`_${r}_`}${n[r]}`)).join(""):`${t?"utc":""}timeunit${I(n).map(r=>Pe(`_${r}_${n[r]}`)).join("")}`}function XF(e,t=n=>n){let n=st(e),r=HF(n.unit);if(r&&r!=="day"){let i={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:a,part:o}=YF(r,n.step);return`${t(Ba({...i,[o]:+i[o]+a}))} - ${t(Ba(i))}`}}var cJ={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function fJ(e){return K(cJ,e)}function YF(e,t=1){if(fJ(e))return{part:e,step:t};switch(e){case"day":case"dayofyear":return{part:"date",step:t};case"quarter":return{part:"month",step:t*3};case"week":return{part:"date",step:t*7}}}function dJ(e){return j(e,"param")}function Py(e){return!!(e!=null&&e.field)&&e.equal!==void 0}function By(e){return!!(e!=null&&e.field)&&e.lt!==void 0}function Iy(e){return!!(e!=null&&e.field)&&e.lte!==void 0}function jy(e){return!!(e!=null&&e.field)&&e.gt!==void 0}function qy(e){return!!(e!=null&&e.field)&&e.gte!==void 0}function Uy(e){return!!(e!=null&&e.field&&(N(e.range)&&e.range.length===2||ee(e.range)))}function Wy(e){return!!(e!=null&&e.field)&&(N(e.oneOf)||N(e.in))}function hJ(e){return!!(e!=null&&e.field)&&e.valid!==void 0}function JF(e){return Wy(e)||Py(e)||Uy(e)||By(e)||jy(e)||Iy(e)||qy(e)}function Sr(e,t){return Vd(e,{timeUnit:t,wrapTime:!0})}function pJ(e,t){return e.map(n=>Sr(n,t))}function QF(e,t=!0){let{field:n}=e,{unit:r,binned:i}=st(e.timeUnit)||{},a=X(e,{expr:"datum"}),o=r?`time(${i?a:lJ(r,n)})`:a;if(Py(e))return`${o}===${Sr(e.equal,r)}`;if(By(e)){let l=e.lt;return`${o}<${Sr(l,r)}`}else if(jy(e)){let l=e.gt;return`${o}>${Sr(l,r)}`}else if(Iy(e)){let l=e.lte;return`${o}<=${Sr(l,r)}`}else if(qy(e)){let l=e.gte;return`${o}>=${Sr(l,r)}`}else{if(Wy(e))return`indexof([${pJ(e.oneOf,r).join(",")}], ${o}) !== -1`;if(hJ(e))return Od(o,e.valid);if(Uy(e)){let{range:l}=mt(e),s=ee(l)?{signal:`${l.signal}[0]`}:l[0],u=ee(l)?{signal:`${l.signal}[1]`}:l[1];if(s!==null&&u!==null&&t)return`inrange(${o}, [${Sr(s,r)}, ${Sr(u,r)}])`;let c=[];return s!==null&&c.push(`${o} >= ${Sr(s,r)}`),u!==null&&c.push(`${o} <= ${Sr(u,r)}`),c.length>0?c.join(" && "):"true"}}throw Error(`Invalid field predicate: ${Ee(e)}`)}function Od(e,t=!0){return t?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function mJ(e){return JF(e)&&e.timeUnit?{...e,timeUnit:st(e.timeUnit)}:e}var au={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function gJ(e){return e==="quantitative"||e==="temporal"}function Hy(e){return e==="ordinal"||e==="nominal"}var ja=au.quantitative,Gy=au.ordinal,rl=au.temporal,Vy=au.nominal,il=au.geojson;function yJ(e){if(e)switch(e=e.toLowerCase(),e){case"q":case ja:return"quantitative";case"t":case rl:return"temporal";case"o":case Gy:return"ordinal";case"n":case Vy:return"nominal";case il:return"geojson"}}var gt={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",TIME:"time",UTC:"utc",POINT:"point",BAND:"band"},Xy={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 vJ(e,t){let n=Xy[e],r=Xy[t];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}var bJ={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 KF(e){return bJ[e]}var ZF=new Set(["linear","log","pow","sqrt","symlog"]),eC=new Set([...ZF,"time","utc"]);function tC(e){return ZF.has(e)}var nC=new Set(["quantile","quantize","threshold"]),xJ=new Set([...eC,...nC,"sequential","identity"]),wJ=new Set(["ordinal","bin-ordinal","point","band"]);function ut(e){return wJ.has(e)}function Zn(e){return xJ.has(e)}function Fr(e){return eC.has(e)}function al(e){return nC.has(e)}var _J={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0,framesPerSecond:2,animationDuration:5};function kJ(e){return!Y(e)&&j(e,"name")}function rC(e){return j(e,"param")}function EJ(e){return j(e,"unionWith")}function $J(e){return J(e)&&"field"in e}var{type:vae,domain:bae,range:xae,rangeMax:wae,rangeMin:_ae,scheme:kae,...AJ}={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw: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},DJ=I(AJ);function Yy(e,t){switch(t){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return Fr(e)||e==="band"||e==="point";case"padding":case"rangeMin":case"rangeMax":return Fr(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return e==="band";case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return Fr(e);case"nice":return Fr(e)||e==="quantize"||e==="threshold";case"exponent":return e==="pow";case"base":return e==="log";case"constant":return e==="symlog";case"zero":return Zn(e)&&!ce(["log","time","utc","threshold","quantile"],e)}}function iC(e,t){switch(t){case"interpolate":case"scheme":case"domainMid":return nl(e)?void 0:EY(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":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 SJ(e,t){return ce([Gy,Vy],t)?e===void 0||ut(e):t===rl?ce([gt.TIME,gt.UTC,void 0],e):t===ja?tC(e)||al(e)||e===void 0:!0}function FJ(e,t,n=!1){if(!Ar(e))return!1;switch(e){case Be:case lt:case Wi:case el:case Fn:case Xn:return Fr(t)||t==="band"?!0:t==="point"?!n:!1;case Hi:return ce(["linear","band"],t);case Kr:case Xi:case Zr:case Gi:case Vi:case Oa:return Fr(t)||al(t)||ce(["band","point","ordinal"],t);case Kt:case kr:case Er:return t!=="band";case Yi:case Zt:return t==="ordinal"||al(t)}}function CJ(e){return J(e)&&"value"in e}var qt={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"},aC=qt.arc,zd=qt.area,Nd=qt.bar,MJ=qt.image,Rd=qt.line,Td=qt.point,OJ=qt.rect,Ld=qt.rule,oC=qt.text,Jy=qt.tick,zJ=qt.trail,Qy=qt.circle,Ky=qt.square,lC=qt.geoshape;function Zi(e){return["line","area","trail"].includes(e)}function ou(e){return["rect","bar","image","arc","tick"].includes(e)}var NJ=new Set(I(qt));function Cr(e){return j(e,"type")}var RJ=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],TJ=["fill","fillOpacity"],LJ=[...RJ,...TJ],sC=I({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Zy=["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],PJ={area:["line","point"],bar:Zy,rect:Zy,line:["point"],tick:["bandSize","thickness",...Zy]},BJ={color:"#4c78a8",invalid:"break-paths-show-path-domains",timeUnitBandSize:1},uC=I({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 qa(e){return j(e,"band")}var IJ={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},ev={binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},jJ={...ev,binSpacing:1},qJ={...ev,thickness:1};function UJ(e){return Cr(e)?e.type:e}function cC(e,{isPath:t}){return e===void 0||e==="break-paths-show-path-domains"?t?"break-paths-show-domains":"filter":e===null?"show":e}function tv({markDef:e,config:t,scaleChannel:n,scaleType:r,isCountAggregate:i}){var o,l;if(!r||!Zn(r)||i)return"always-valid";let a=cC($e("invalid",e,t),{isPath:Zi(e.type)});return((l=(o=t.scale)==null?void 0:o.invalid)==null?void 0:l[n])===void 0?a:"show"}function WJ(e){return e==="break-paths-filter-domains"||e==="break-paths-show-domains"}function fC({scaleName:e,scale:t,mode:n}){let r=`domain('${e}')`;if(!t||!e)return;let i=`${r}[0]`,a=`peek(${r})`,o=t.domainHasZero();return o==="definitely"?{scale:e,value:0}:o==="maybe"?{signal:`scale('${e}', inrange(0, ${r}) ? 0 : ${n==="zeroOrMin"?i:a})`}:{signal:`scale('${e}', ${n==="zeroOrMin"?i:a})`}}function dC({scaleChannel:e,channelDef:t,scale:n,scaleName:r,markDef:i,config:a}){var u;let o=n==null?void 0:n.get("type"),l=nr(t),s=tv({scaleChannel:e,markDef:i,config:a,scaleType:o,isCountAggregate:Dd(l==null?void 0:l.aggregate)});if(l&&s==="show"){let c=((u=a.scale.invalid)==null?void 0:u[e])??"zero-or-min";return{test:Od(X(l,{expr:"datum"}),!1),...HJ(c,n,r)}}}function HJ(e,t,n){if(CJ(e)){let{value:r}=e;return ee(r)?{signal:r.signal}:{value:r}}return fC({scale:t,scaleName:n,mode:"zeroOrMin"})}function nv(e){let{channel:t,channelDef:n,markDef:r,scale:i,scaleName:a,config:o}=e,l=Na(t),s=rv(e),u=dC({scaleChannel:l,channelDef:n,scale:i,scaleName:a,markDef:r,config:o});return u===void 0?s:[u,s]}function GJ(e){let{datum:t}=e;return Pa(t)?Ba(t):`${Ee(t)}`}function Ua(e,t,n,r){let i={};if(t&&(i.scale=t),Mr(e)){let{datum:a}=e;Pa(a)?i.signal=Ba(a):ee(a)?i.signal=a.signal:iu(a)?i.signal=a.expr:i.value=a}else i.field=X(e,n);if(r){let{offset:a,band:o}=r;a&&(i.offset=a),o&&(i.band=o)}return i}function Pd({scaleName:e,fieldOrDatumDef:t,fieldOrDatumDef2:n,offset:r,startSuffix:i,endSuffix:a="end",bandPosition:o=.5}){let l=!ee(o)&&0<o&&o<1?"datum":void 0,s=X(t,{expr:l,suffix:i}),u=n===void 0?X(t,{suffix:a,expr:l}):X(n,{expr:l}),c={};return o===0||o===1?(c.scale=e,c.field=o===0?s:u):c.signal=`scale("${e}", ${ee(o)?`(1-${o.signal}) * ${s} + ${o.signal} * ${u}`:`${1-o} * ${s} + ${o} * ${u}`})`,r&&(c.offset=r),c}function VJ({scaleName:e,fieldDef:t}){let n=X(t,{expr:"datum"});return`abs(scale("${e}", ${X(t,{expr:"datum",suffix:"end"})}) - scale("${e}", ${n}))`}function rv({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:s,defaultRef:u,bandPosition:c}){if(t){if(le(t)){let f=o==null?void 0:o.get("type");if(Ut(t)){c??(c=ea({fieldDef:t,fieldDef2:n,markDef:r,config:i}));let{bin:d,timeUnit:h,type:p}=t;if(Ne(d)||c&&h&&p===rl)return l!=null&&l.impute?Ua(t,a,{binSuffix:"mid"},{offset:s}):c&&!ut(f)?Pd({scaleName:a,fieldOrDatumDef:t,bandPosition:c,offset:s}):Ua(t,a,du(t,e)?{binSuffix:"range"}:{},{offset:s});if(pt(d)){if(U(n))return Pd({scaleName:a,fieldOrDatumDef:t,fieldOrDatumDef2:n,bandPosition:c,offset:s});q(BF(e===Be?Vn:_r))}}return Ua(t,a,ut(f)?{binSuffix:"range"}:{},{offset:s,band:f==="band"?c??t.bandPosition??.5:void 0})}else if(tr(t)){let f=t.value,d=s?{offset:s}:{};return{...lu(e,f),...d}}}return de(u)&&(u=u()),u&&{...u,...s?{offset:s}:{}}}function lu(e,t){return ce(["x","x2"],e)&&t==="width"?{field:{group:"width"}}:ce(["y","y2"],e)&&t==="height"?{field:{group:"height"}}:Te(t)}function Wa(e){return e&&e!=="number"&&e!=="time"}function hC(e,t,n){return`${e}(${t}${n?`, ${Ee(n)}`:""})`}function iv({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a}){var u;if(Wa(n))return er({fieldOrDatumDef:e,format:t,formatType:n,expr:r,config:a});let o=pC(e,r,i),l=ol(e);if(t===void 0&&n===void 0&&a.customFormatTypes){if(l==="quantitative"){if(i&&a.normalizedNumberFormatType)return er({fieldOrDatumDef:e,format:a.normalizedNumberFormat,formatType:a.normalizedNumberFormatType,expr:r,config:a});if(a.numberFormatType)return er({fieldOrDatumDef:e,format:a.numberFormat,formatType:a.numberFormatType,expr:r,config:a})}if(l==="temporal"&&a.timeFormatType&&U(e)&&e.timeUnit===void 0)return er({fieldOrDatumDef:e,format:a.timeFormat,formatType:a.timeFormatType,expr:r,config:a})}function s(c){return U(c)?st(c.timeUnit)||{}:{unit:void 0,utc:void 0}}if(cl(e)){let{unit:c,utc:f}=s(e),d=YJ({field:o,timeUnit:c,format:t,formatType:a.timeFormatType,rawTimeFormat:a.timeFormat,isUTCScale:f||Ha(e)&&((u=e.scale)==null?void 0:u.type)===gt.UTC});return d?{signal:d}:void 0}return t=av({type:l,specifiedFormat:t,config:a,normalizeStack:i}),U(e)&&Ne(e.bin)?{signal:su(o,X(e,{expr:r,binSuffix:"end"}),t,n,a)}:t||ol(e)==="quantitative"?{signal:`${yC(o,t)}`}:{signal:`isValid(${o}) ? ${o} : ""+${o}`}}function pC(e,t,n){return U(e)?n?`${X(e,{expr:t,suffix:"end"})}-${X(e,{expr:t,suffix:"start"})}`:X(e,{expr:t}):GJ(e)}function er({fieldOrDatumDef:e,format:t,formatType:n,expr:r,normalizeStack:i,config:a,field:o}){if(o??(o=pC(e,r,i)),o!=="datum.value"&&U(e)&&Ne(e.bin)){let l=X(e,{expr:r,binSuffix:"end"});return{signal:su(o,l,t,n,a)}}return{signal:hC(n,o,t)}}function mC(e,t,n,r,i,a){var o;if(!(Y(r)&&Wa(r))&&!(n===void 0&&r===void 0&&i.customFormatTypes&&ol(e)==="quantitative"&&(i.normalizedNumberFormatType&&ll(e)&&e.stack==="normalize"||i.numberFormatType))){if(ll(e)&&e.stack==="normalize"&&i.normalizedNumberFormat)return av({type:"quantitative",config:i,normalizeStack:!0});if(cl(e)){let l=U(e)?(o=st(e.timeUnit))==null?void 0:o.unit:void 0;return l===void 0&&i.customFormatTypes&&i.timeFormatType?void 0:XJ({specifiedFormat:n,timeUnit:l,config:i,omitTimeFormatConfig:a})}return av({type:t,specifiedFormat:n,config:i})}}function gC(e,t,n){var r;if(e&&(ee(e)||e==="number"||e==="time"))return e;if(cl(t)&&n!=="time"&&n!=="utc")return U(t)&&((r=st(t==null?void 0:t.timeUnit))!=null&&r.utc)?"utc":"time"}function av({type:e,specifiedFormat:t,config:n,normalizeStack:r}){if(Y(t))return t;if(e===ja)return r?n.normalizedNumberFormat:n.numberFormat}function XJ({specifiedFormat:e,timeUnit:t,config:n,omitTimeFormatConfig:r}){return e||(t?{signal:VF(t)}:r?void 0:n.timeFormat)}function yC(e,t){return`format(${e}, "${t||""}")`}function vC(e,t,n,r){return Wa(n)?hC(n,e,t):yC(e,(Y(t)?t:void 0)??r.numberFormat)}function su(e,t,n,r,i){if(n===void 0&&r===void 0&&i.customFormatTypes&&i.numberFormatType)return su(e,t,i.numberFormat,i.numberFormatType,i);let a=vC(e,n,r,i),o=vC(t,n,r,i);return`${Od(e,!1)} ? "null" : ${a} + "${IX}" + ${o}`}function YJ({field:e,timeUnit:t,format:n,formatType:r,rawTimeFormat:i,isUTCScale:a}){return!t||n?!t&&r?`${r}(${e}, ${Ee(n)})`:(n=Y(n)?n:i,`${a?"utc":"time"}Format(${e}, ${Ee(n)})`):sJ(t,e,a)}var Bd="min",JJ={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 bC(e){return K(JJ,e)}function QJ(e){return j(e,"encoding")}function ri(e){return e&&(e.op==="count"||j(e,"field"))}function xC(e){return e&&N(e)}function uu(e){return j(e,"row")||j(e,"column")}function ov(e){return j(e,"header")}function Id(e){return j(e,"facet")}function KJ(e){return j(e,"param")}function ZJ(e){return!Y(e)&&j(e,"repeat")}function wC(e){let{field:t,timeUnit:n,bin:r,aggregate:i}=e;return{...n?{timeUnit:n}:{},...r?{bin:r}:{},...i?{aggregate:i}:{},field:t}}function lv(e){return j(e,"sort")}function ea({fieldDef:e,fieldDef2:t,markDef:n,config:r}){if(le(e)&&e.bandPosition!==void 0)return e.bandPosition;if(U(e)){let{timeUnit:i,bin:a}=e;if(i&&!t)return Dr("timeUnitBandPosition",n,r);if(Ne(a))return .5}}function _C({channel:e,fieldDef:t,fieldDef2:n,markDef:r,config:i,scaleType:a,useVlSizeChannel:o}){var u,c,f;let l=en(e),s=$e(o?"size":l,r,i,{vgChannel:l});if(s!==void 0)return s;if(U(t)){let{timeUnit:d,bin:h}=t;if(d&&!n)return{band:Dr("timeUnitBandSize",r,i)};if(Ne(h)&&!ut(a))return{band:1}}if(ou(r.type))return a?ut(a)?((u=i[r.type])==null?void 0:u.discreteBandSize)||{band:1}:(c=i[r.type])==null?void 0:c.continuousBandSize:(f=i[r.type])==null?void 0:f.discreteBandSize}function kC(e,t,n,r){return Ne(e.bin)||e.timeUnit&&Ut(e)&&e.type==="temporal"?ea({fieldDef:e,fieldDef2:t,markDef:n,config:r})!==void 0:!1}function EC(e){return j(e,"sort")&&!j(e,"field")}function cu(e){return j(e,"condition")}function jd(e){let t=e==null?void 0:e.condition;return!!t&&!N(t)&&U(t)}function fu(e){let t=e==null?void 0:e.condition;return!!t&&!N(t)&&le(t)}function eQ(e){let t=e==null?void 0:e.condition;return!!t&&(N(t)||tr(t))}function U(e){return j(e,"field")||(e==null?void 0:e.aggregate)==="count"}function ol(e){return e==null?void 0:e.type}function Mr(e){return j(e,"datum")}function ta(e){return Ut(e)&&!Ud(e)||qd(e)}function $C(e){return Ut(e)&&e.type==="quantitative"&&!e.bin||qd(e)}function qd(e){return Mr(e)&&we(e.datum)}function le(e){return U(e)||Mr(e)}function Ut(e){return e&&(j(e,"field")||e.aggregate==="count")&&j(e,"type")}function tr(e){return j(e,"value")}function Ha(e){return j(e,"scale")||j(e,"sort")}function ll(e){return j(e,"axis")||j(e,"stack")||j(e,"impute")}function AC(e){return j(e,"legend")}function DC(e){return j(e,"format")||j(e,"formatType")}function tQ(e){return cn(e,["legend","axis","header","scale"])}function nQ(e){return j(e,"op")}function X(e,t={}){let n=e.field,r=t.prefix,i=t.suffix,a="";if(iQ(e))n=KS("count");else{let o;if(!t.nofn)if(nQ(e))o=e.op;else{let{bin:l,aggregate:s,timeUnit:u}=e;Ne(l)?(o=hF(l),i=(t.binSuffix??"")+(t.suffix??"")):s?Qi(s)?(a=`["${n}"]`,n=`argmax_${s.argmax}`):ti(s)?(a=`["${n}"]`,n=`argmin_${s.argmin}`):o=String(s):u&&!Ia(u)&&(o=uJ(u),i=(!["range","mid"].includes(t.binSuffix)&&t.binSuffix||"")+(t.suffix??""))}o&&(n=n?`${o}_${n}`:o)}return i&&(n=`${n}_${i}`),r&&(n=`${r}_${n}`),t.forAs?Ko(n):t.expr?XS(n,t.expr)+a:Sn(n)+a}function Ud(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return U(e)&&!!e.bin;case"temporal":return!1}throw Error(zF(e.type))}function rQ(e){var t;return Ha(e)&&al((t=e.scale)==null?void 0:t.type)}function iQ(e){return e.aggregate==="count"}function aQ(e,t){var o;let{field:n,bin:r,timeUnit:i,aggregate:a}=e;if(a==="count")return t.countTitle;if(Ne(r))return`${n} (binned)`;if(i&&!Ia(i)){let l=(o=st(i))==null?void 0:o.unit;if(l)return`${n} (${Md(l).join("-")})`}else if(a)return Qi(a)?`${n} for max ${a.argmax}`:ti(a)?`${n} for min ${a.argmin}`:`${Zs(a)} of ${n}`;return n}function oQ(e){let{aggregate:t,bin:n,timeUnit:r,field:i}=e;if(Qi(t))return`${i} for argmax(${t.argmax})`;if(ti(t))return`${i} for argmin(${t.argmin})`;let a=r&&!Ia(r)?st(r):void 0,o=t||(a==null?void 0:a.unit)||(a==null?void 0:a.maxbins)&&"timeunit"||Ne(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}var SC=(e,t)=>{switch(t.fieldTitle){case"plain":return e.field;case"functional":return oQ(e);default:return aQ(e,t)}},FC=SC;function CC(e){FC=e}function lQ(){CC(SC)}function sl(e,t,{allowDisabling:n,includeDefault:r=!0}){var l;let i=(l=sv(e))==null?void 0:l.title;if(!U(e))return i??e.title;let a=e,o=r?uv(a,t):void 0;return n?Ye(i,a.title,o):i??a.title??o}function sv(e){if(ll(e)&&e.axis)return e.axis;if(AC(e)&&e.legend)return e.legend;if(ov(e)&&e.header)return e.header}function uv(e,t){return FC(e,t)}function Wd(e){if(DC(e)){let{format:t,formatType:n}=e;return{format:t,formatType:n}}else{let{format:t,formatType:n}=sv(e)??{};return{format:t,formatType:n}}}function sQ(e,t){var a;switch(t){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(lv(e)&&N(e.sort))return"ordinal";let{aggregate:n,bin:r,timeUnit:i}=e;if(i)return"temporal";if(r||n&&!Qi(n)&&!ti(n))return"quantitative";if(Ha(e)&&((a=e.scale)!=null&&a.type))switch(Xy[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function nr(e){if(U(e))return e;if(jd(e))return e.condition}function rt(e){if(le(e))return e;if(fu(e))return e.condition}function MC(e,t,n,r={}){return Y(e)||we(e)||fi(e)?(q(dY(t,Y(e)?"string":we(e)?"number":"boolean",e)),{value:e}):le(e)?Hd(e,t,n,r):fu(e)?{...e,condition:Hd(e.condition,t,n,r)}:e}function Hd(e,t,n,r){if(DC(e)){let{format:i,formatType:a,...o}=e;if(Wa(a)&&!n.customFormatTypes)return q(OF(t)),Hd(o,t,n,r)}else{let i=ll(e)?"axis":AC(e)?"legend":ov(e)?"header":null;if(i&&e[i]){let{format:a,formatType:o,...l}=e[i];if(Wa(o)&&!n.customFormatTypes)return q(OF(t)),Hd({...e,[i]:l},t,n,r)}}return U(e)?cv(e,t,r):uQ(e)}function uQ(e){let t=e.type;if(t)return e;let{datum:n}=e;return t=we(n)?"quantitative":Y(n)?"nominal":Pa(n)?"temporal":void 0,{...e,type:t}}function cv(e,t,{compositeMark:n=!1}={}){let{aggregate:r,timeUnit:i,bin:a,field:o}=e,l={...e};if(!n&&r&&!Ay(r)&&!Qi(r)&&!ti(r)&&(q(pY(r)),delete l.aggregate),i&&(l.timeUnit=st(i)),o&&(l.field=`${o}`),Ne(a)&&(l.bin=Gd(a,t)),pt(a)&&!Je(t)&&q(GY(t)),Ut(l)){let{type:s}=l,u=yJ(s);s!==u&&(l.type=u),s!=="quantitative"&&Dd(r)&&(q(hY(s,r)),l.type="quantitative")}else lF(t)||(l.type=sQ(l,t));if(Ut(l)){let{compatible:s,warning:u}=cQ(l,t)||{};s===!1&&q(u)}if(lv(l)&&Y(l.sort)){let{sort:s}=l;if(bC(s))return{...l,sort:{encoding:s}};let u=s.substring(1);if(s.charAt(0)==="-"&&bC(u))return{...l,sort:{encoding:u,order:"descending"}}}if(ov(l)){let{header:s}=l;if(s){let{orient:u,...c}=s;if(u)return{...l,header:{...c,labelOrient:s.labelOrient||u,titleOrient:s.titleOrient||u}}}}return l}function Gd(e,t){return fi(e)?{maxbins:pF(t)}:e==="binned"?{binned:!0}:!e.maxbins&&!e.step?{...e,maxbins:pF(t)}:e}var ul={compatible:!0};function cQ(e,t){let n=e.type;if(n==="geojson"&&t!=="shape")return{compatible:!1,warning:`Channel ${t} should not be used with a geojson data.`};switch(t){case Xr:case Yr:case wd:return Ud(e)?ul:{compatible:!1,warning:vY(t)};case Be:case lt:case Wi:case el:case Kt:case kr:case Er:case tu:case nu:case _d:case za:case kd:case Ed:case Oa:case Fn:case Xn:case $d:return ul;case Jn:case Cn:case Yn:case Qn:return n===ja?ul:{compatible:!1,warning:`Channel ${t} should be used with a quantitative field only, not ${e.type} field.`};case Zr:case Gi:case Vi:case Xi:case Kr:case Qr:case Jr:case Vn:case _r:case Hi:return n==="nominal"&&!e.sort?{compatible:!1,warning:`Channel ${t} should not be used with an unsorted discrete field.`}:ul;case Zt:case Yi:return!Ud(e)&&!rQ(e)?{compatible:!1,warning:bY(t)}:ul;case tl:return e.type==="nominal"&&!("sort"in e)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:ul}}function cl(e){let{formatType:t}=Wd(e);return t==="time"||!t&&fQ(e)}function fQ(e){return e&&(e.type==="temporal"||U(e)&&!!e.timeUnit)}function Vd(e,{timeUnit:t,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;let a=t&&((s=st(t))==null?void 0:s.unit),o=a||n==="temporal",l;return iu(e)?l=e.expr:ee(e)?l=e.signal:Pa(e)?(o=!0,l=Ba(e)):(Y(e)||we(e))&&o&&(l=`datetime(${Ee(e)})`,iJ(a)&&(we(e)&&e<1e4||Y(e)&&isNaN(Date.parse(e)))&&(l=Ba({[a]:e}))),l?r&&o?`time(${l})`:l:i?void 0:Ee(e)}function OC(e,t){let{type:n}=e;return t.map(r=>{let i=Vd(r,{timeUnit:U(e)&&!Ia(e.timeUnit)?e.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i===void 0?r:{signal:i}})}function du(e,t){return Ne(e.bin)?Ar(t)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}var zC={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 hu(e){return e==null?void 0:e.condition}var NC=["domain","grid","labels","ticks","title"],dQ={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"},RC={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},hQ={...RC,style:1,labelExpr:1,encoding:1};function TC(e){return K(hQ,e)}var LC=I({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 ii(e){return j(e,"mark")}var Xd=class{constructor(e,t){R(this,"name");R(this,"run");this.name=e,this.run=t}hasMatchingType(e){return ii(e)?UJ(e.mark)===this.name:!1}};function Ga(e,t){let n=e==null?void 0:e[t];return n?N(n)?Qo(n,r=>!!r.field):U(n)||jd(n):!1}function PC(e,t){let n=e==null?void 0:e[t];return n?N(n)?Qo(n,r=>!!r.field):U(n)||Mr(n)||fu(n):!1}function BC(e,t){if(Je(t)){let n=e[t];if((U(n)||Mr(n))&&(Hy(n.type)||U(n)&&n.timeUnit))return PC(e,by(t))}return!1}function IC(e){return Qo(pX,t=>{if(Ga(e,t)){let n=e[t];if(N(n))return Qo(n,r=>!!r.aggregate);{let r=nr(n);return r&&!!r.aggregate}}return!1})}function jC(e,t){let n=[],r=[],i=[],a=[],o={};return fv(e,(l,s)=>{var u;if(U(l)){let{field:c,aggregate:f,bin:d,timeUnit:h,...p}=l;if(f||h||d){let m=(u=sv(l))==null?void 0:u.title,g=X(l,{forAs:!0}),y={...m?[]:{title:sl(l,t,{allowDisabling:!0})},...p,field:g};if(f){let v;if(Qi(f)?(v="argmax",g=X({op:"argmax",field:f.argmax},{forAs:!0}),y.field=`${g}.${c}`):ti(f)?(v="argmin",g=X({op:"argmin",field:f.argmin},{forAs:!0}),y.field=`${g}.${c}`):f!=="boxplot"&&f!=="errorbar"&&f!=="errorband"&&(v=f),v){let b={op:v,as:g};c&&(b.field=c),a.push(b)}}else if(n.push(g),Ut(l)&&Ne(d)){if(r.push({bin:d,field:c,as:g}),n.push(X(l,{binSuffix:"end"})),du(l,s)&&n.push(X(l,{binSuffix:"range"})),Je(s)){let v={field:`${g}_end`};o[`${s}2`]=v}y.bin="binned",lF(s)||(y.type=ja)}else if(h&&!Ia(h)){i.push({timeUnit:h,field:c,as:g});let v=Ut(l)&&l.type!==rl&&"time";v&&(s===tu||s===za?y.formatType=v:$X(s)?y.legend={formatType:v,...y.legend}:Je(s)&&(y.axis={formatType:v,...y.axis}))}o[s]=y}else n.push(c),o[s]=e[s]}else o[s]=e[s]}),{bins:r,timeUnits:i,aggregate:a,groupby:n,encoding:o}}function pQ(e,t,n){let r=DX(t,n);if(r){if(r==="binned"){let i=e[t===Vn?Be:lt];return!!(U(i)&&U(e[t])&&pt(i.bin))}}else return!1;return!0}function mQ(e,t,n,r){var a;let i={};for(let o of I(e))oF(o)||q(yY(o));for(let o of xX){if(!e[o])continue;let l=e[o];if(ru(o)){let s=bX(o),u=i[s];if(U(u)&&gJ(u.type)&&U(l)&&!u.timeUnit){q(fY(s));continue}}if(o==="angle"&&t==="arc"&&!e.theta&&(q(cY),o=Fn),!pQ(e,o,t)){q(Fd(o,t));continue}if(o===Kr&&t==="line"&&((a=nr(e[o]))!=null&&a.aggregate)){q(gY);continue}if(o===Kt&&(n?"fill"in e:"stroke"in e)){q(NF("encoding",{fill:"fill"in e,stroke:"stroke"in e}));continue}if(o===nu||o===tl&&!N(l)&&!tr(l)||o===za&&N(l)){if(l){if(o===tl){let s=e[o];if(EC(s)){i[o]=s;continue}}i[o]=Q(l).reduce((s,u)=>(U(u)?s.push(cv(u,o)):q(Oy(u,o)),s),[])}}else{if(o===za&&l===null)i[o]=null;else if(!U(l)&&!Mr(l)&&!tr(l)&&!cu(l)&&!ee(l)){q(Oy(l,o));continue}i[o]=MC(l,o,r)}}return i}function Yd(e,t){let n={};for(let r of I(e))n[r]=MC(e[r],r,t,{compositeMark:!0});return n}function gQ(e){let t=[];for(let n of I(e))if(Ga(e,n)){let r=e[n],i=Q(r);for(let a of i)U(a)?t.push(a):jd(a)&&t.push(a.condition)}return t}function fv(e,t,n){if(e)for(let r of I(e)){let i=e[r];if(N(i))for(let a of i)t.call(n,a,r);else t.call(n,i,r)}}function yQ(e,t,n,r){return e?I(e).reduce((i,a)=>{let o=e[a];return N(o)?o.reduce((l,s)=>t.call(r,l,s,a),i):t.call(r,i,o,a)},n):n}function qC(e,t){return I(t).reduce((n,r)=>{switch(r){case Be:case lt:case kd:case $d:case Ed:case Vn:case _r:case Wi:case el:case Fn:case Qr:case Xn:case Jr:case Hi:case Yn:case Jn:case Qn:case Cn:case tu:case Zt:case Oa:case za:return n;case tl:if(e==="line"||e==="trail")return n;case nu:case _d:{let i=t[r];if(N(i)||U(i))for(let a of Q(i))a.aggregate||n.push(X(a,{}));return n}case Kr:if(e==="trail")return n;case Kt:case kr:case Er:case Zr:case Gi:case Vi:case Yi:case Xi:{let i=nr(t[r]);return i&&!i.aggregate&&n.push(X(i,{})),n}}},[])}function vQ(e){let{tooltip:t,...n}=e;if(!t)return{filteredEncoding:n};let r,i;if(N(t)){for(let a of t)a.aggregate?(r||(r=[]),r.push(a)):(i||(i=[]),i.push(a));r&&(n.tooltip=r)}else t.aggregate?n.tooltip=t:i=t;return N(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function dv(e,t,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};let i=e.map(({fieldPrefix:o,titlePrefix:l})=>{let s=r?` of ${hv(t)}`:"";return{field:o+t.field,type:t.type,title:ee(l)?{signal:`${l}"${escape(s)}"`}:l+s}}),a=gQ(n).map(tQ);return{tooltip:[...i,...wr(a,pe)]}}function hv(e){let{title:t,field:n}=e;return Ye(t,n)}function pv(e,t,n,r,i){let{scale:a,axis:o}=n;return({partName:l,mark:s,positionPrefix:u,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{let d=hv(n);return UC(e,l,i,{mark:s,encoding:{[t]:{field:`${u}_${n.field}`,type:n.type,...d===void 0?{}:{title:d},...a===void 0?{}:{scale:a},...o===void 0?{}:{axis:o}},...Y(c)?{[`${t}2`]:{field:`${c}_${n.field}`}}:{},...r,...f}})}}function UC(e,t,n,r){let{clip:i,color:a,opacity:o}=e,l=e.type;return e[t]||e[t]===void 0&&n[t]?[{...r,mark:{...n[t],...i?{clip:i}:{},...a?{color:a}:{},...o?{opacity:o}:{},...Cr(r.mark)?r.mark:{type:r.mark},style:`${l}-${String(t)}`,...fi(e[t])?{}:e[t]}}]:[]}function WC(e,t,n){let{encoding:r}=e,i=t==="vertical"?"y":"x",a=r[i],o=r[`${i}2`],l=r[`${i}Error`],s=r[`${i}Error2`];return{continuousAxisChannelDef:Jd(a,n),continuousAxisChannelDef2:Jd(o,n),continuousAxisChannelDefError:Jd(l,n),continuousAxisChannelDefError2:Jd(s,n),continuousAxis:i}}function Jd(e,t){if(e!=null&&e.aggregate){let{aggregate:n,...r}=e;return n!==t&&q(HY(n,t)),r}else return e}function HC(e,t){let{mark:n,encoding:r}=e,{x:i,y:a}=r;if(Cr(n)&&n.orient)return n.orient;if(ta(i)){if(ta(a)){let o=U(i)&&i.aggregate,l=U(a)&&a.aggregate;if(!o&&l===t)return"vertical";if(!l&&o===t)return"horizontal";if(o===t&&l===t)throw Error("Both x and y cannot have aggregate");return cl(a)&&!cl(i)?"horizontal":"vertical"}return"horizontal"}else{if(ta(a))return"vertical";throw Error(`Need a valid continuous axis for ${t}s`)}}var Qd="boxplot",bQ=["box","median","outliers","rule","ticks"],xQ=new Xd(Qd,VC);function GC(e){return we(e)?"tukey":e}function VC(e,{config:t}){e={...e,encoding:Yd(e.encoding,t)};let{mark:n,encoding:r,params:i,projection:a,...o}=e,l=Cr(n)?n:{type:n};i&&q(FF("boxplot"));let s=l.extent??t.boxplot.extent,u=$e("size",l,t),c=l.invalid,f=GC(s),{bins:d,timeUnits:h,transform:p,continuousAxisChannelDef:m,continuousAxis:g,groupby:y,aggregate:v,encodingWithoutContinuousAxis:b,ticksOrient:w,boxOrient:_,customTooltipWithoutAggregatedField:k}=wQ(e,s,t),x=Ko(m.field),{color:E,size:$,...D}=b,F=h4=>pv(l,g,m,h4,t.boxplot),T=F(D),S=F(b),M=(J(t.boxplot.box)?t.boxplot.box.color:t.mark.color)||"#4c78a8",A=F({...D,...$?{size:$}:{},color:{condition:{test:`${Fe(`lower_box_${m.field}`)} >= ${Fe(`upper_box_${m.field}`)}`,...E||{value:M}}}}),C=dv([{fieldPrefix:f==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:f==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],m,b),P={type:"tick",color:"black",opacity:1,orient:w,invalid:c,aria:!1},W=f==="min-max"?C:dv([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],m,b),V=[...T({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:W}),...T({partName:"rule",mark:{type:"rule",invalid:c,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:W}),...T({partName:"ticks",mark:P,positionPrefix:"lower_whisker",extraEncoding:W}),...T({partName:"ticks",mark:P,positionPrefix:"upper_whisker",extraEncoding:W})],ae=[...f==="tukey"?[]:V,...S({partName:"box",mark:{type:"bar",...u?{size:u}:{},orient:_,invalid:c,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:C}),...A({partName:"median",mark:{type:"tick",invalid:c,...J(t.boxplot.median)&&t.boxplot.median.color?{color:t.boxplot.median.color}:{},...u?{size:u}:{},orient:w,aria:!1},positionPrefix:"mid_box",extraEncoding:C})];if(f==="min-max")return{...o,transform:(o.transform??[]).concat(p),layer:ae};let se=Fe(`lower_box_${m.field}`),xe=Fe(`upper_box_${m.field}`),ge=`(${xe} - ${se})`,Ht=`${se} - ${s} * ${ge}`,Et=`${xe} + ${s} * ${ge}`,Du=Fe(m.field),f4={joinaggregate:XC(m.field),groupby:y},dx={transform:[{filter:`(${Ht} <= ${Du}) && (${Du} <= ${Et})`},{aggregate:[{op:"min",field:m.field,as:`lower_whisker_${x}`},{op:"max",field:m.field,as:`upper_whisker_${x}`},{op:"min",field:`lower_box_${m.field}`,as:`lower_box_${x}`},{op:"max",field:`upper_box_${m.field}`,as:`upper_box_${x}`},...v],groupby:y}],layer:V},{tooltip:pie,...d4}=D,{scale:hx,axis:px}=m,mx=hv(m),gx=UC(l,"outliers",t.boxplot,{transform:[{filter:`(${Du} < ${Ht}) || (${Du} > ${Et})`}],mark:"point",encoding:{[g]:{field:m.field,type:m.type,...mx===void 0?{}:{title:mx},...hx===void 0?{}:{scale:hx},...px===void 0?{}:{axis:px}},...d4,...E?{color:E}:{},...k?{tooltip:k}:{}}})[0],Su,yx=[...d,...h,f4];return gx?Su={transform:yx,layer:[gx,dx]}:(Su=dx,Su.transform.unshift(...yx)),{...o,layer:[Su,{transform:p,layer:ae}]}}function XC(e){let t=Ko(e);return[{op:"q1",field:e,as:`lower_box_${t}`},{op:"q3",field:e,as:`upper_box_${t}`}]}function wQ(e,t,n){let r=HC(e,Qd),{continuousAxisChannelDef:i,continuousAxis:a}=WC(e,r,Qd),o=i.field,l=Ko(o),s=GC(t),u=[...XC(o),{op:"median",field:o,as:`mid_box_${l}`},{op:"min",field:o,as:(s==="min-max"?"lower_whisker_":"min_")+l},{op:"max",field:o,as:(s==="min-max"?"upper_whisker_":"max_")+l}],c=s==="min-max"||s==="tukey"?[]:[{calculate:`${Fe(`upper_box_${l}`)} - ${Fe(`lower_box_${l}`)}`,as:`iqr_${l}`},{calculate:`min(${Fe(`upper_box_${l}`)} + ${Fe(`iqr_${l}`)} * ${t}, ${Fe(`max_${l}`)})`,as:`upper_whisker_${l}`},{calculate:`max(${Fe(`lower_box_${l}`)} - ${Fe(`iqr_${l}`)} * ${t}, ${Fe(`min_${l}`)})`,as:`lower_whisker_${l}`}],{[a]:f,...d}=e.encoding,{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=vQ(d),{bins:m,timeUnits:g,aggregate:y,groupby:v,encoding:b}=jC(p,n),w=r==="vertical"?"horizontal":"vertical",_=r;return{bins:m,timeUnits:g,transform:[...m,...g,{aggregate:[...y,...u],groupby:v},...c],groupby:v,aggregate:y,continuousAxisChannelDef:i,continuousAxis:a,encodingWithoutContinuousAxis:b,ticksOrient:w,boxOrient:_,customTooltipWithoutAggregatedField:h}}var mv="errorbar",_Q=["ticks","rule"],kQ=new Xd(mv,YC);function YC(e,{config:t}){e={...e,encoding:Yd(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,ticksOrient:o,markDef:l,outerSpec:s,tooltipEncoding:u}=JC(e,mv,t);delete a.size;let c=pv(l,i,r,a,t.errorbar),f=l.thickness,d=l.size,h={type:"tick",orient:o,aria:!1,...f===void 0?{}:{thickness:f},...d===void 0?{}:{size:d}},p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:u}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:u}),...c({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...f===void 0?{}:{size:f}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:u})];return{...s,transform:n,...p.length>1?{layer:p}:{...p[0]}}}function EQ(e,t){let{encoding:n}=e;if($Q(n))return{orient:HC(e,t),inputType:"raw"};let r=AQ(n),i=DQ(n),a=n.x,o=n.y;if(r){if(i)throw Error(`${t} cannot be both type aggregated-upper-lower and aggregated-error`);let l=n.x2,s=n.y2;if(le(l)&&le(s))throw Error(`${t} cannot have both x2 and y2`);if(le(l)){if(ta(a))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw Error(`Both x and x2 have to be quantitative in ${t}`)}else if(le(s)){if(ta(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw Error(`Both y and y2 have to be quantitative in ${t}`)}throw Error("No ranged axis")}else{let l=n.xError,s=n.xError2,u=n.yError,c=n.yError2;if(le(s)&&!le(l))throw Error(`${t} cannot have xError2 without xError`);if(le(c)&&!le(u))throw Error(`${t} cannot have yError2 without yError`);if(le(l)&&le(u))throw Error(`${t} cannot have both xError and yError with both are quantiative`);if(le(l)){if(ta(a))return{orient:"horizontal",inputType:"aggregated-error"};throw Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(le(u)){if(ta(o))return{orient:"vertical",inputType:"aggregated-error"};throw Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw Error("No ranged axis")}}function $Q(e){return(le(e.x)||le(e.y))&&!le(e.x2)&&!le(e.y2)&&!le(e.xError)&&!le(e.xError2)&&!le(e.yError)&&!le(e.yError2)}function AQ(e){return le(e.x2)||le(e.y2)}function DQ(e){return le(e.xError)||le(e.xError2)||le(e.yError)||le(e.yError2)}function JC(e,t,n){let{mark:r,encoding:i,params:a,projection:o,...l}=e,s=Cr(r)?r:{type:r};a&&q(FF(t));let{orient:u,inputType:c}=EQ(e,t),{continuousAxisChannelDef:f,continuousAxisChannelDef2:d,continuousAxisChannelDefError:h,continuousAxisChannelDefError2:p,continuousAxis:m}=WC(e,u,t),{errorBarSpecificAggregate:g,postAggregateCalculates:y,tooltipSummary:v,tooltipTitleWithFieldName:b}=SQ(s,f,d,h,p,c,t,n),{[m]:w,[m==="x"?"x2":"y2"]:_,[m==="x"?"xError":"yError"]:k,[m==="x"?"xError2":"yError2"]:x,...E}=i,{bins:$,timeUnits:D,aggregate:F,groupby:T,encoding:S}=jC(E,n),M=[...F,...g],A=c==="raw"?T:[],C=dv(v,f,S,b);return{transform:[...l.transform??[],...$,...D,...M.length===0?[]:[{aggregate:M,groupby:A}],...y],groupby:A,continuousAxisChannelDef:f,continuousAxis:m,encodingWithoutContinuousAxis:S,ticksOrient:u==="vertical"?"horizontal":"vertical",markDef:s,outerSpec:l,tooltipEncoding:C}}function SQ(e,t,n,r,i,a,o,l){let s=[],u=[],c=t.field,f,d=!1;if(a==="raw"){let h=e.center?e.center:e.extent?e.extent==="iqr"?"median":"mean":l.errorbar.center,p=e.extent?e.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&q(WY(h,p,o)),p==="stderr"||p==="stdev")s=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],u=[{calculate:`${Fe(`center_${c}`)} + ${Fe(`extent_${c}`)}`,as:`upper_${c}`},{calculate:`${Fe(`center_${c}`)} - ${Fe(`extent_${c}`)}`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:Zs(h)},{fieldPrefix:"upper_",titlePrefix:QC(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:QC(h,p,"-")}],d=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),s=[{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:sl({field:c,aggregate:y,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:sl({field:c,aggregate:g,type:"quantitative"},l,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:sl({field:c,aggregate:m,type:"quantitative"},l,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&q(UY(e.center,e.extent)),a==="aggregated-upper-lower"?(f=[],u=[{calculate:Fe(n.field),as:`upper_${c}`},{calculate:Fe(c),as:`lower_${c}`}]):a==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],u=[{calculate:`${Fe(c)} + ${Fe(r.field)}`,as:`upper_${c}`}],i?u.push({calculate:`${Fe(c)} + ${Fe(i.field)}`,as:`lower_${c}`}):u.push({calculate:`${Fe(c)} - ${Fe(r.field)}`,as:`lower_${c}`}));for(let h of u)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:Ma(Ma(h.calculate,"datum['",""),"']","")})}return{postAggregateCalculates:u,errorBarSpecificAggregate:s,tooltipSummary:f,tooltipTitleWithFieldName:d}}function QC(e,t,n){return`${Zs(e)} ${n} ${t}`}var gv="errorband",FQ=["band","borders"],CQ=new Xd(gv,KC);function KC(e,{config:t}){e={...e,encoding:Yd(e.encoding,t)};let{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:a,markDef:o,outerSpec:l,tooltipEncoding:s}=JC(e,gv,t),u=o,c=pv(u,i,r,a,t.errorband),f=e.encoding.x!==void 0&&e.encoding.y!==void 0,d={type:f?"area":"rect"},h={type:f?"line":"rule"},p={...u.interpolate?{interpolate:u.interpolate}:{},...u.tension&&u.interpolate?{tension:u.tension}:{}};return f?(d={...d,...p,ariaRoleDescription:"errorband"},h={...h,...p,aria:!1}):u.interpolate?q(PF("interpolate")):u.tension&&q(PF("tension")),{...l,transform:n,layer:[...c({partName:"band",mark:d,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:s}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:s}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:s})]}}var ZC={};function yv(e,t,n){ZC[e]={normalizer:new Xd(e,t),parts:n}}function MQ(){return I(ZC)}yv(Qd,VC,bQ),yv(mv,YC,_Q),yv(gv,KC,FQ);var OQ=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],e3={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"},t3={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"},zQ=I(e3),NQ=I(t3),n3=I({header:1,headerRow:1,headerColumn:1,headerFacet:1}),r3=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],RQ={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},TQ={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},rr="_vgsid_",LQ={point:{on:"click",fields:[rr],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function vv(e){return e==="legend"||!!(e!=null&&e.legend)}function bv(e){return vv(e)&&J(e)}function xv(e){return!!(e!=null&&e.select)}function i3(e){let t=[];for(let n of e||[]){if(xv(n))continue;let{expr:r,bind:i,...a}=n;if(i&&r){let o={...a,bind:i,init:r};t.push(o)}else{let o={...a,...r?{update:r}:{},...i?{bind:i}:{}};t.push(o)}}return t}function PQ(e){return Kd(e)||_v(e)||wv(e)}function wv(e){return j(e,"concat")}function Kd(e){return j(e,"vconcat")}function _v(e){return j(e,"hconcat")}function a3({step:e,offsetIsDiscrete:t}){return t?e.for??"offset":"position"}function Or(e){return j(e,"step")}function o3(e){return j(e,"view")||j(e,"width")||j(e,"height")}var l3=20,BQ=I({align:1,bounds:1,center:1,columns:1,spacing:1});function IQ(e,t,n){let r=n[t],i={},{spacing:a,columns:o}=r;a!==void 0&&(i.spacing=a),o!==void 0&&(Id(e)&&!uu(e.facet)||wv(e))&&(i.columns=o),Kd(e)&&(i.columns=1);for(let l of BQ)if(e[l]!==void 0)if(l==="spacing"){let s=e[l];i[l]=we(s)?s:{row:s.row??a,column:s.column??a}}else i[l]=e[l];return i}function kv(e,t){return e[t]??e[t==="width"?"continuousWidth":"continuousHeight"]}function Ev(e,t){let n=Zd(e,t);return Or(n)?n.step:s3}function Zd(e,t){return Ye(e[t]??e[t==="width"?"discreteWidth":"discreteHeight"],{step:e.step})}var s3=20,jQ={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:300,continuousHeight:300,step:s3},mark:BJ,arc:{},area:{},bar:jJ,circle:{},geoshape:{},image:{},line:{},point:{},rect:ev,rule:{color:"black"},square:{},text:{color:"black"},tick:qJ,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:_J,projection:{},legend:RQ,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:LQ,style:{},title:{},facet:{spacing:l3},concat:{spacing:l3},normalizedNumberFormat:".0%"},ai=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],u3={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},c3={blue:ai[0],orange:ai[1],red:ai[2],teal:ai[3],green:ai[4],yellow:ai[5],purple:ai[6],pink:ai[7],brown:ai[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 qQ(e={}){return{signals:[{name:"color",value:J(e)?{...c3,...e}:c3}],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 UQ(e){return{signals:[{name:"fontSize",value:J(e)?{...u3,...e}:u3}],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 WQ(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}function f3(e){let t=I(e||{}),n={};for(let r of t){let i=e[r];n[r]=hu(i)?gF(i):dn(i)}return n}function HQ(e){let t=I(e),n={};for(let r of t)n[r]=f3(e[r]);return n}var GQ=[...uC,...LC,...n3,"background","padding","legend","lineBreak","scale","style","title","view"];function d3(e={}){let{color:t,font:n,fontSize:r,selection:i,...a}=e,o=co({},oe(jQ),n?WQ(n):{},t?qQ(t):{},r?UQ(r):{},a||{});i&&Ou(o,"selection",i,!0);let l=cn(o,GQ);for(let s of["background","lineBreak","padding"])o[s]&&(l[s]=dn(o[s]));for(let s of uC)o[s]&&(l[s]=mt(o[s]));for(let s of LC)o[s]&&(l[s]=f3(o[s]));for(let s of n3)o[s]&&(l[s]=mt(o[s]));if(o.legend&&(l.legend=mt(o.legend)),o.scale){let{invalid:s,...u}=o.scale,c=mt(s,{level:1});l.scale={...mt(u),...I(c).length>0?{invalid:c}:{}}}return o.style&&(l.style=HQ(o.style)),o.title&&(l.title=mt(o.title)),o.view&&(l.view=mt(o.view)),l}var VQ=new Set(["view",...NJ]),XQ="color.fontSize.background.padding.facet.concat.numberFormat.numberFormatType.normalizedNumberFormat.normalizedNumberFormatType.timeFormat.countTitle.header.axisQuantitative.axisTemporal.axisDiscrete.axisPoint.axisXBand.axisXPoint.axisXDiscrete.axisXQuantitative.axisXTemporal.axisYBand.axisYPoint.axisYDiscrete.axisYQuantitative.axisYTemporal.scale.selection.overlay".split("."),YQ={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],...PJ};function JQ(e){e=oe(e);for(let t of XQ)delete e[t];if(e.axis)for(let t in e.axis)hu(e.axis[t])&&delete e.axis[t];if(e.legend)for(let t of OQ)delete e.legend[t];if(e.mark){for(let t of sC)delete e.mark[t];e.mark.tooltip&&J(e.mark.tooltip)&&delete e.mark.tooltip}e.params&&(e.signals=(e.signals||[]).concat(i3(e.params)),delete e.params);for(let t of VQ){for(let r of sC)delete e[t][r];let n=YQ[t];if(n)for(let r of n)delete e[t][r];KQ(e,t)}for(let t of MQ())delete e[t];for(let t in QQ(e),e)J(e[t])&&ze(e[t])&&delete e[t];return ze(e)?void 0:e}function QQ(e){let{titleMarkConfig:t,subtitleMarkConfig:n,subtitle:r}=mF(e.title);ze(t)||(e.style["group-title"]={...e.style["group-title"],...t}),ze(n)||(e.style["group-subtitle"]={...e.style["group-subtitle"],...n}),ze(r)?delete e.title:e.title=r}function KQ(e,t,n,r){let i=e[t];t==="view"&&(n="cell");let a={...i,...e.style[n??t]};ze(a)||(e.style[n??t]=a),delete e[t]}function eh(e){return j(e,"layer")}function ZQ(e){return j(e,"repeat")}function eK(e){return!N(e.repeat)&&j(e.repeat,"layer")}var $v=class{map(e,t){return Id(e)?this.mapFacet(e,t):ZQ(e)?this.mapRepeat(e,t):_v(e)?this.mapHConcat(e,t):Kd(e)?this.mapVConcat(e,t):wv(e)?this.mapConcat(e,t):this.mapLayerOrUnit(e,t)}mapLayerOrUnit(e,t){if(eh(e))return this.mapLayer(e,t);if(ii(e))return this.mapUnit(e,t);throw Error(Fy(e))}mapLayer(e,t){return{...e,layer:e.layer.map(n=>this.mapLayerOrUnit(n,t))}}mapHConcat(e,t){return{...e,hconcat:e.hconcat.map(n=>this.map(n,t))}}mapVConcat(e,t){return{...e,vconcat:e.vconcat.map(n=>this.map(n,t))}}mapConcat(e,t){let{concat:n,...r}=e;return{...r,concat:n.map(i=>this.map(i,t))}}mapFacet(e,t){return{...e,spec:this.map(e.spec,t)}}mapRepeat(e,t){return{...e,spec:this.map(e.spec,t)}}},tK={zero:1,center:1,normalize:1};function nK(e){return K(tK,e)}var rK=new Set([aC,Nd,zd,Ld,Td,Qy,Ky,Rd,oC,Jy]),iK=new Set([Nd,zd,aC]);function fl(e){return U(e)&&ol(e)==="quantitative"&&!e.bin}function h3(e,t,{orient:n,type:r}){let i=t==="x"?"y":"radius",a=t==="x"&&["bar","area"].includes(r),o=e[t],l=e[i];if(U(o)&&U(l))if(fl(o)&&fl(l)){if(o.stack)return t;if(l.stack)return i;let s=U(o)&&!!o.aggregate;if(s!==(U(l)&&!!l.aggregate))return s?t:i;if(a){if(n==="vertical")return i;if(n==="horizontal")return t}}else{if(fl(o))return t;if(fl(l))return i}else{if(fl(o))return a&&n==="vertical"?void 0:t;if(fl(l))return a&&n==="horizontal"?void 0:i}}function aK(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function p3(e,t){var m,g;let n=Cr(e)?e:{type:e},r=n.type;if(!rK.has(r))return null;let i=h3(t,"x",n)||h3(t,"theta",n);if(!i)return null;let a=t[i],o=U(a)?X(a,{}):void 0,l=aK(i),s=[],u=new Set;if(t[l]){let y=t[l],v=U(y)?X(y,{}):void 0;v&&v!==o&&(s.push(l),u.add(v))}let c=l==="x"?"xOffset":"yOffset",f=t[c],d=U(f)?X(f,{}):void 0;d&&d!==o&&(s.push(c),u.add(d));let h=wX.reduce((y,v)=>{if(v!=="tooltip"&&Ga(t,v)){let b=t[v];for(let w of Q(b)){let _=nr(w);if(_.aggregate)continue;let k=X(_,{});(!k||!u.has(k))&&y.push({channel:v,fieldDef:_})}}return y},[]),p;return a.stack===void 0?iK.has(r)&&(p="zero"):p=fi(a.stack)?a.stack?"zero":null:a.stack,!p||!nK(p)||IC(t)&&h.length===0?null:((m=a==null?void 0:a.scale)!=null&&m.type&&((g=a==null?void 0:a.scale)==null?void 0:g.type)!==gt.LINEAR&&(a!=null&&a.stack)&&q(IY(a.scale.type)),le(t[$r(i)])?(a.stack!==void 0&&q(BY(i)),null):(U(a)&&a.aggregate&&!NX.has(a.aggregate)&&q(jY(a.aggregate)),{groupbyChannels:s,groupbyFields:u,fieldChannel:i,impute:a.impute===null?!1:Zi(r),stackBy:h,offset:p}))}function m3(e,t,n){let r=mt(e),i=$e("orient",r,n);if(r.orient=uK(r.type,t,i),i!==void 0&&i!==r.orient&&q(kY(r.orient,i)),r.type==="bar"&&r.orient){let l=$e("cornerRadiusEnd",r,n);if(l!==void 0){let s=r.orient==="horizontal"&&t.x2||r.orient==="vertical"&&t.y2?["cornerRadius"]:IJ[r.orient];for(let u of s)r[u]=l;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}let a=$e("opacity",r,n),o=$e("fillOpacity",r,n);return a===void 0&&o===void 0&&(r.opacity=lK(r.type,t)),$e("cursor",r,n)===void 0&&(r.cursor=oK(r,t,n)),r}function oK(e,t,n){return t.href||e.href||$e("href",e,n)?"pointer":e.cursor}var g3=.7;function lK(e,t){if(ce([Td,Jy,Qy,Ky],e)&&!IC(t))return g3}function sK(e,t,{graticule:n}){if(n)return!1;let r=Dr("filled",e,t),i=e.type;return Ye(r,i!==Td&&i!==Rd&&i!==Ld)}function uK(e,t,n){switch(e){case Td:case Qy:case Ky:case OJ:case MJ:return}let{x:r,y:i,x2:a,y2:o}=t;switch(e){case oC:case Nd:if(U(r)&&(pt(r.bin)||U(i)&&i.aggregate&&!r.aggregate))return"vertical";if(U(i)&&(pt(i.bin)||U(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||a){if(n)return n;if(!a)return(U(r)&&r.type===ja&&!Ne(r.bin)||qd(r))&&U(i)&&pt(i.bin)?"horizontal":"vertical";if(!o)return(U(i)&&i.type===ja&&!Ne(i.bin)||qd(i))&&U(r)&&pt(r.bin)?"vertical":"horizontal"}case Ld:if(a&&!(U(r)&&pt(r.bin))&&o&&!(U(i)&&pt(i.bin)))return;case zd:if(o)return U(i)&&pt(i.bin)?"horizontal":"vertical";if(a)return U(r)&&pt(r.bin)?"vertical":"horizontal";if(e===Ld){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case Rd:case Jy:{let l=$C(r),s=$C(i);if(n)return n;if(l&&!s)return e==="tick"?"vertical":"horizontal";if(!l&&s)return e==="tick"?"horizontal":"vertical";if(l&&s)return"vertical";{let u=Ut(r)&&r.type===rl,c=Ut(i)&&i.type===rl;if(u&&!c)return"vertical";if(!u&&c)return"horizontal"}return}}return"vertical"}function cK(e){let{point:t,line:n,...r}=e;return I(r).length>1?r:r.type}function fK(e){for(let t of["line","area","rule","trail"])e[t]&&(e={...e,[t]:cn(e[t],["point","line"])});return e}function Av(e,t={},n){return e.point==="transparent"?{opacity:0}:e.point?J(e.point)?e.point:{}:e.point===void 0?t.point||n.shape?J(t.point)?t.point:{}:void 0:null}function y3(e,t={}){return e.line?e.line===!0?{}:e.line:e.line===void 0?t.line?t.line===!0?{}:t.line:void 0:null}var dK=class{constructor(){R(this,"name","path-overlay")}hasMatchingType(e,t){if(ii(e)){let{mark:n,encoding:r}=e,i=Cr(n)?n:{type:n};switch(i.type){case"line":case"rule":case"trail":return!!Av(i,t[i.type],r);case"area":return!!Av(i,t[i.type],r)||!!y3(i,t[i.type])}}return!1}run(e,t,n){let{config:r}=t,{params:i,projection:a,mark:o,name:l,encoding:s,...u}=e,c=Yd(s,r),f=Cr(o)?o:{type:o},d=Av(f,r[f.type],c),h=f.type==="area"&&y3(f,r[f.type]),p=[{name:l,...i?{params:i}:{},mark:cK({...f.type==="area"&&$e("opacity",f,r)==null&&$e("fillOpacity",f,r)==null?{opacity:g3}:{},...f}),encoding:cn(c,["shape"])}],m=p3(m3(f,c,r),c),g=c;if(m){let{fieldChannel:y,offset:v}=m;g={...c,[y]:{...c[y],...v?{stack:v}:{}}}}return g=cn(g,["y2","x2"]),h&&p.push({...a?{projection:a}:{},mark:{type:"line",...Jo(f,["clip","interpolate","tension","tooltip"]),...h},encoding:g}),d&&p.push({...a?{projection:a}:{},mark:{type:"point",opacity:1,filled:!0,...Jo(f,["clip","tooltip"]),...d},encoding:g}),n({...u,layer:p},{...t,config:fK(r)})}};function hK(e,t){return t?uu(e)?w3(e,t):v3(e,t):e}function Dv(e,t){return t?w3(e,t):e}function Sv(e,t,n){let r=t[e];if(ZJ(r)){if(r.repeat in n)return{...t,[e]:n[r.repeat]};q(eY(r.repeat));return}return t}function v3(e,t){if(e=Sv("field",e,t),e!==void 0){if(e===null)return null;if(lv(e)&&ri(e.sort)){let n=Sv("field",e.sort,t);e={...e,...n?{sort:n}:{}}}return e}}function b3(e,t){if(U(e))return v3(e,t);{let n=Sv("datum",e,t);return n!==e&&!n.type&&(n.type="nominal"),n}}function x3(e,t){if(le(e)){let n=b3(e,t);if(n)return n;if(cu(e))return{condition:e.condition}}else{if(fu(e)){let n=b3(e.condition,t);if(n)return{...e,condition:n};{let{condition:r,...i}=e;return i}}return e}}function w3(e,t){let n={};for(let r in e)if(j(e,r)){let i=e[r];if(N(i))n[r]=i.map(a=>x3(a,t)).filter(a=>a);else{let a=x3(i,t);a!==void 0&&(n[r]=a)}}return n}var pK=class{constructor(){R(this,"name","RuleForRangedLine")}hasMatchingType(e){if(ii(e)){let{encoding:t,mark:n}=e;if(n==="line"||Cr(n)&&n.type==="line")for(let r of vX){let i=t[Na(r)];if(t[r]&&(U(i)&&!pt(i.bin)||Mr(i)))return!0}}return!1}run(e,t,n){let{encoding:r,mark:i}=e;return q(_Y(!!r.x2,!!r.y2)),n({...e,mark:J(i)?{...i,type:"rule"}:"rule"},t)}},mK=class extends $v{constructor(){super(...arguments);R(this,"nonFacetUnitNormalizers",[xQ,kQ,CQ,new dK,new pK])}map(t,n){if(ii(t)){let r=Ga(t.encoding,Xr),i=Ga(t.encoding,Yr),a=Ga(t.encoding,wd);if(r||i||a)return this.mapFacetedUnit(t,n)}return super.map(t,n)}mapUnit(t,n){let{parentEncoding:r,parentProjection:i}=n,a=Dv(t.encoding,n.repeater),o={...t,...t.name?{name:[n.repeaterPrefix,t.name].filter(s=>s).join("_")}:{},...a?{encoding:a}:{}};if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);let l=this.mapLayerOrUnit.bind(this);for(let s of this.nonFacetUnitNormalizers)if(s.hasMatchingType(o,n.config))return s.run(o,n,l);return o}mapRepeat(t,n){return eK(t)?this.mapLayerRepeat(t,n):this.mapNonLayerRepeat(t,n)}mapLayerRepeat(t,n){let{repeat:r,spec:i,...a}=t,{row:o,column:l,layer:s}=r,{repeater:u={},repeaterPrefix:c=""}=n;return o||l?this.mapRepeat({...t,repeat:{...o?{row:o}:{},...l?{column:l}:{}},spec:{repeat:{layer:s},spec:i}},n):{...a,layer:s.map(f=>{let d={...u,layer:f},h=`${(i.name?`${i.name}_`:"")+c}child__layer_${Pe(f)}`,p=this.mapLayerOrUnit(i,{...n,repeater:d,repeaterPrefix:h});return p.name=h,p})}}mapNonLayerRepeat(t,n){let{repeat:r,spec:i,data:a,...o}=t;!N(r)&&t.columns&&(t=cn(t,["columns"]),q(CF("repeat")));let l=[],{repeater:s={},repeaterPrefix:u=""}=n,c=!N(r)&&r.row||[s?s.row:null],f=!N(r)&&r.column||[s?s.column:null],d=N(r)&&r||[s?s.repeat:null];for(let p of d)for(let m of c)for(let g of f){let y={repeat:p,row:m,column:g,layer:s.layer},v=`${(i.name?`${i.name}_`:"")+u}child__${N(r)?`${Pe(p)}`:(r.row?`row_${Pe(m)}`:"")+(r.column?`column_${Pe(g)}`:"")}`,b=this.map(i,{...n,repeater:y,repeaterPrefix:v});b.name=v,l.push(cn(b,["data"]))}let h=N(r)?t.columns:r.column?r.column.length:1;return{data:i.data??a,align:"all",...o,columns:h,concat:l}}mapFacet(t,n){let{facet:r}=t;return uu(r)&&t.columns&&(t=cn(t,["columns"]),q(CF("facet"))),super.mapFacet(t,n)}mapUnitWithParentEncodingOrProjection(t,n){let{encoding:r,projection:i}=t,{parentEncoding:a,parentProjection:o,config:l}=n,s=k3({parentProjection:o,projection:i}),u=_3({parentEncoding:a,encoding:Dv(r,n.repeater)});return this.mapUnit({...t,...s?{projection:s}:{},...u?{encoding:u}:{}},{config:l})}mapFacetedUnit(t,n){let{row:r,column:i,facet:a,...o}=t.encoding,{mark:l,width:s,projection:u,height:c,view:f,params:d,encoding:h,...p}=t,{facetMapping:m,layout:g}=this.getFacetMappingAndLayout({row:r,column:i,facet:a},n),y=Dv(o,n.repeater);return this.mapFacet({...p,...g,facet:m,spec:{...s?{width:s}:{},...c?{height:c}:{},...f?{view:f}:{},...u?{projection:u}:{},mark:l,encoding:y,...d?{params:d}:{}}},n)}getFacetMappingAndLayout(t,n){let{row:r,column:i,facet:a}=t;if(r||i){a&&q(xY([...r?[Xr]:[],...i?[Yr]:[]]));let o={},l={};for(let s of[Xr,Yr]){let u=t[s];if(u){let{align:c,center:f,spacing:d,columns:h,...p}=u;o[s]=p;for(let m of["align","center","spacing"])u[m]!==void 0&&(l[m]??(l[m]={}),l[m][s]=u[m])}}return{facetMapping:o,layout:l}}else{let{align:o,center:l,spacing:s,columns:u,...c}=a;return{facetMapping:hK(c,n.repeater),layout:{...o?{align:o}:{},...l?{center:l}:{},...s?{spacing:s}:{},...u?{columns:u}:{}}}}}mapLayer(t,{parentEncoding:n,parentProjection:r,...i}){let{encoding:a,projection:o,...l}=t,s={...i,parentEncoding:_3({parentEncoding:n,encoding:a,layer:!0}),parentProjection:k3({parentProjection:r,projection:o})};return super.mapLayer({...l,...t.name?{name:[s.repeaterPrefix,t.name].filter(u=>u).join("_")}:{}},s)}};function _3({parentEncoding:e,encoding:t={},layer:n}){let r={};if(e){let i=new Set([...I(e),...I(t)]);for(let a of i){let o=t[a],l=e[a];le(o)?r[a]={...l,...o}:fu(o)?r[a]={...o,condition:{...l,...o.condition}}:o||o===null?r[a]=o:(n||tr(l)||ee(l)||le(l)||N(l))&&(r[a]=l)}}else r=t;return!r||ze(r)?void 0:r}function k3(e){let{parentProjection:t,projection:n}=e;return t&&n&&q(uY({parentProjection:t,projection:n})),n??t}function Fv(e){return j(e,"filter")}function gK(e){return j(e,"stop")}function E3(e){return j(e,"lookup")}function yK(e){return j(e,"data")}function vK(e){return j(e,"param")}function bK(e){return j(e,"pivot")}function xK(e){return j(e,"density")}function wK(e){return j(e,"quantile")}function _K(e){return j(e,"regression")}function kK(e){return j(e,"loess")}function EK(e){return j(e,"sample")}function $K(e){return j(e,"window")}function AK(e){return j(e,"joinaggregate")}function DK(e){return j(e,"flatten")}function SK(e){return j(e,"calculate")}function $3(e){return j(e,"bin")}function FK(e){return j(e,"impute")}function CK(e){return j(e,"timeUnit")}function MK(e){return j(e,"aggregate")}function OK(e){return j(e,"stack")}function zK(e){return j(e,"fold")}function NK(e){return j(e,"extent")&&!j(e,"density")&&!j(e,"regression")}function RK(e){return e.map(t=>Fv(t)?{filter:Yo(t.filter,mJ)}:t)}var TK=class extends $v{map(e,t){return t.emptySelections??(t.emptySelections={}),t.selectionPredicates??(t.selectionPredicates={}),e=A3(e,t),super.map(e,t)}mapLayerOrUnit(e,t){if(e=A3(e,t),e.encoding){let n={};for(let[r,i]of Ui(e.encoding))n[r]=D3(i,t);e={...e,encoding:n}}return super.mapLayerOrUnit(e,t)}mapUnit(e,t){let{selection:n,...r}=e;return n?{...r,params:Ui(n).map(([i,a])=>{let{init:o,bind:l,empty:s,...u}=a;u.type==="single"?(u.type="point",u.toggle=!1):u.type==="multi"&&(u.type="point"),t.emptySelections[i]=s!=="none";for(let c of Ke(t.selectionPredicates[i]??{}))c.empty=s!=="none";return{name:i,value:o,select:u,bind:l}})}:e}};function A3(e,t){let{transform:n,...r}=e;if(n){let i=n.map(a=>{if(Fv(a))return{filter:Cv(a,t)};if($3(a)&&Ra(a.bin))return{...a,bin:S3(a.bin)};if(E3(a)){let{selection:o,...l}=a.from;return o?{...a,from:{param:o,...l}}:a}return a});return{...r,transform:i}}return e}function D3(e,t){var r,i;let n=oe(e);if(U(n)&&Ra(n.bin)&&(n.bin=S3(n.bin)),Ha(n)&&((i=(r=n.scale)==null?void 0:r.domain)==null?void 0:i.selection)){let{selection:a,...o}=n.scale.domain;n.scale.domain={...o,...a?{param:a}:{}}}if(cu(n))if(N(n.condition))n.condition=n.condition.map(a=>{let{selection:o,param:l,test:s,...u}=a;return l?a:{...u,test:Cv(a,t)}});else{let{selection:a,param:o,test:l,...s}=D3(n.condition,t);n.condition=o?n.condition:{...s,test:Cv(n.condition,t)}}return n}function S3(e){let t=e.extent;if(t!=null&&t.selection){let{selection:n,...r}=t;return{...e,extent:{...r,param:n}}}return e}function Cv(e,t){let n=r=>Yo(r,i=>{var o;let a={param:i,empty:t.emptySelections[i]??!0};return(o=t.selectionPredicates)[i]??(o[i]=[]),t.selectionPredicates[i].push(a),a});return e.selection?n(e.selection):Yo(e.test||e.filter,r=>r.selection?n(r.selection):r)}var Mv=class extends $v{map(e,t){let n=t.selections??[];if(e.params&&!ii(e)){let r=[];for(let i of e.params)xv(i)?n.push(i):r.push(i);e.params=r}return t.selections=n,super.map(e,t)}mapUnit(e,t){let n=t.selections;if(!n||!n.length)return e;let r=(t.path??[]).concat(e.name),i=[];for(let a of n)if(!a.views||!a.views.length)i.push(a);else for(let o of a.views)(Y(o)&&(o===e.name||r.includes(o))||N(o)&&o.map(l=>r.indexOf(l)).every((l,s,u)=>l!==-1&&(s===0||l>u[s-1])))&&i.push(a);return i.length&&(e.params=i),e}};for(let e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){let t=Mv.prototype[e];Mv.prototype[e]=function(n,r){return t.call(this,n,LK(n,r))}}function LK(e,t){return e.name?{...t,path:(t.path??[]).concat(e.name)}:t}function F3(e,t){t===void 0&&(t=d3(e.config));let n=jK(e,t),{width:r,height:i}=e,a=qK(n,{width:r,height:i,autosize:e.autosize},t);return{...n,...a?{autosize:a}:{}}}var PK=new mK,BK=new TK,IK=new Mv;function jK(e,t={}){let n={config:t};return IK.map(PK.map(BK.map(e,n),n),n)}function C3(e){return Y(e)?{type:e}:e??{}}function qK(e,t,n){let{width:r,height:i}=t,a=ii(e)||eh(e),o={};a?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"&&(q($F("width")),r=void 0),i=="container"&&(q($F("height")),i=void 0));let l={type:"pad",...o,...n?C3(n.autosize):{},...C3(e.autosize)};if(l.type==="fit"&&!a&&(q(UX),l.type="pad"),r=="container"&&!(l.type=="fit"||l.type=="fit-x")&&q(AF("width")),i=="container"&&!(l.type=="fit"||l.type=="fit-y")&&q(AF("height")),!fn(l,{type:"pad"}))return l}function UK(e){return["fit","fit-x","fit-y"].includes(e)}function WK(e){return e?`fit-${Ad(e)}`:"fit"}var HK=["background","padding"];function M3(e,t){let n={};for(let r of HK)e&&e[r]!==void 0&&(n[r]=dn(e[r]));return t&&(n.params=e.params),n}var Va=class GM{constructor(t={},n={}){R(this,"explicit");R(this,"implicit");this.explicit=t,this.implicit=n}clone(){return new GM(oe(this.explicit),oe(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(t){return Ye(this.explicit[t],this.implicit[t])}getWithExplicit(t){return this.explicit[t]===void 0?this.implicit[t]===void 0?{explicit:!1,value:void 0}:{explicit:!1,value:this.implicit[t]}:{explicit:!0,value:this.explicit[t]}}setWithExplicit(t,{value:n,explicit:r}){n!==void 0&&this.set(t,n,r)}set(t,n,r){return delete this[r?"implicit":"explicit"][t],this[r?"explicit":"implicit"][t]=n,this}copyKeyFromSplit(t,{explicit:n,implicit:r}){n[t]===void 0?r[t]!==void 0&&this.set(t,r[t],!1):this.set(t,n[t],!0)}copyKeyFromObject(t,n){n[t]!==void 0&&this.set(t,n[t],!0)}copyAll(t){for(let n of I(t.combine())){let r=t.getWithExplicit(n);this.setWithExplicit(n,r)}}};function zr(e){return{explicit:!0,value:e}}function ir(e){return{explicit:!1,value:e}}function O3(e){return(t,n,r,i)=>{let a=e(t.value,n.value);return a>0?t:a<0?n:th(t,n,r,i)}}function th(e,t,n,r){return e.explicit&&t.explicit&&q(OY(n,r,e.value,t.value)),e}function na(e,t,n,r,i=th){return e===void 0||e.value===void 0?t:e.explicit&&!t.explicit?e:t.explicit&&!e.explicit?t:fn(e.value,t.value)?e:i(e,t,n,r)}var GK=class extends Va{constructor(t={},n={},r=!1){super(t,n);R(this,"explicit");R(this,"implicit");R(this,"parseNothing");this.explicit=t,this.implicit=n,this.parseNothing=r}clone(){let t=super.clone();return t.parseNothing=this.parseNothing,t}};function dl(e){return j(e,"url")}function pu(e){return j(e,"values")}function z3(e){return j(e,"name")&&!dl(e)&&!pu(e)&&!ra(e)}function ra(e){return e&&(N3(e)||R3(e)||Ov(e))}function N3(e){return j(e,"sequence")}function R3(e){return j(e,"sphere")}function Ov(e){return j(e,"graticule")}var He;(function(e){e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e[e.PreFilterInvalid=5]="PreFilterInvalid",e[e.PostFilterInvalid=6]="PostFilterInvalid"})(He||(He={}));function T3({invalid:e,isPath:t}){switch(cC(e,{isPath:t})){case"filter":return{marks:"exclude-invalid-values",scales:"exclude-invalid-values"};case"break-paths-show-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"include-invalid-values"};case"break-paths-filter-domains":return{marks:t?"include-invalid-values":"exclude-invalid-values",scales:"exclude-invalid-values"};case"show":return{marks:"include-invalid-values",scales:"include-invalid-values"}}}function VK(e){let{marks:t,scales:n}=T3(e);return t===n?He.Main:n==="include-invalid-values"?He.PreFilterInvalid:He.PostFilterInvalid}var Ce=class{constructor(e,t){R(this,"debugName");R(this,"_children",[]);R(this,"_parent",null);R(this,"_hash");this.debugName=t,e&&(this.parent=e)}clone(){throw 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,t){if(this._children.includes(e)){q(oY);return}t===void 0?this._children.push(e):this._children.splice(t,0,e)}removeChild(e){let t=this._children.indexOf(e);return this._children.splice(t,1),t}remove(){let e=this._parent.removeChild(this);for(let t of this._children)t._parent=this._parent,this._parent.addChild(t,e++)}insertAsParentOf(e){let t=e.parent;t.removeChild(this),this.parent=t,e.parent=this}swapWithParent(){let e=this._parent,t=e.parent;for(let r of this._children)r.parent=e;this._children=[],e.removeChild(this);let n=e.parent.removeChild(e);this._parent=t,t.addChild(this,n),e.parent=this}},tn=class extends Ce{constructor(t,n,r,i){super(t,n);R(this,"type");R(this,"refCounts");R(this,"_source");R(this,"_name");this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){let t=new this.constructor;return t.debugName=`clone_${this.debugName}`,t._source=this._source,t._name=`clone_${this._name}`,t.type=this.type,t.refCounts=this.refCounts,t.refCounts[t._name]=0,t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${QS()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(t){this._source=t}};function zv(e){return e.as!==void 0}function L3(e){return`${e}_end`}var hl=class zh extends Ce{constructor(n,r){super(n);R(this,"timeUnits");this.timeUnits=r}clone(){return new zh(null,oe(this.timeUnits))}static makeFromEncoding(n,r){let i=r.reduceFieldDef((a,o,l)=>{let{field:s,timeUnit:u}=o;if(u){let c;if(Ia(u)){if(je(r)){let{mark:f,markDef:d,config:h}=r,p=ea({fieldDef:o,markDef:d,config:h});(ou(f)||p)&&(c={timeUnit:st(u),field:s})}}else c={as:X(o,{forAs:!0}),field:s,timeUnit:u};if(je(r)){let{mark:f,markDef:d,config:h}=r,p=ea({fieldDef:o,markDef:d,config:h});ou(f)&&Je(l)&&p!==.5&&(c.rectBandPosition=p)}c&&(a[pe(c)]=c)}return a},{});return ze(i)?null:new zh(n,i)}static makeFromTransform(n,r){let{timeUnit:i,...a}={...r},o=st(i),l={...a,timeUnit:o};return new zh(n,{[pe(l)]:l})}merge(n){for(let r in this.timeUnits={...this.timeUnits},n.timeUnits)this.timeUnits[r]||(this.timeUnits[r]=n.timeUnits[r]);for(let r of n.children)n.removeChild(r),r.parent=this;n.remove()}removeFormulas(n){let r={};for(let[i,a]of Ui(this.timeUnits)){let o=zv(a)?a.as:`${a.field}_end`;n.has(o)||(r[i]=a)}this.timeUnits=r}producedFields(){return new Set(Ke(this.timeUnits).map(n=>zv(n)?n.as:L3(n.field)))}dependentFields(){return new Set(Ke(this.timeUnits).map(n=>n.field))}hash(){return`TimeUnit ${pe(this.timeUnits)}`}assemble(){let n=[];for(let r of Ke(this.timeUnits)){let{rectBandPosition:i}=r,a=st(r.timeUnit);if(zv(r)){let{field:o,as:l}=r,{unit:s,utc:u,...c}=a,f=[l,`${l}_end`];n.push({field:Sn(o),type:"timeunit",...s?{units:Md(s)}:{},...u?{timezone:"utc"}:{},...c,as:f}),n.push(...B3(f,i,a))}else if(r){let{field:o}=r,l=YS(o),s=P3({timeUnit:a,field:l}),u=L3(l);n.push({type:"formula",expr:s,as:u}),n.push(...B3([l,u],i,a))}}return n}},nh="offsetted_rect_start",rh="offsetted_rect_end";function P3({timeUnit:e,field:t,reverse:n}){let{unit:r,utc:i}=e,{part:a,step:o}=YF(HF(r),e.step);return`${i?"utcOffset":"timeOffset"}('${a}', ${Fe(t)}, ${n?-o:o})`}function B3([e,t],n,r){if(n!==void 0&&n!==.5){let i=Fe(e),a=Fe(t);return[{type:"formula",expr:I3([P3({timeUnit:r,field:e,reverse:!0}),i],n+.5),as:`${e}_${nh}`},{type:"formula",expr:I3([i,a],n+.5),as:`${e}_${rh}`}]}return[]}function I3([e,t],n){return`${1-n} * ${e} + ${n} * ${t}`}var mu="_tuple_fields",XK=class{constructor(...e){R(this,"hasChannel");R(this,"hasField");R(this,"hasSelectionId");R(this,"timeUnit");R(this,"items");this.items=e,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}},YK={defined:()=>!0,parse:(e,t,n)=>{let r=t.name,i=t.project??(t.project=new XK),a={},o={},l=new Set,s=(p,m)=>{let g=m==="visual"?p.channel:p.field,y=Pe(`${r}_${g}`);for(let v=1;l.has(y);v++)y=Pe(`${r}_${g}_${v}`);return l.add(y),{[m]:y}},u=t.type,c=e.config.selection[u],f=n.value===void 0?null:Q(n.value),{fields:d,encodings:h}=J(n.select)?n.select:{};if(!d&&!h&&f){for(let p of f)if(J(p))for(let m of I(p))yX(m)?(h||(h=[])).push(m):u==="interval"?(q(ZX),h=c.encodings):(d??(d=[])).push(m)}!d&&!h&&(h=c.encodings,"fields"in c&&(d=c.fields));for(let p of h??[]){let m=e.fieldDef(p);if(m){let g=m.field;if(m.aggregate){q(WX(p,m.aggregate));continue}else if(!g){q(SF(p));continue}if(m.timeUnit&&!Ia(m.timeUnit)){g=e.vgField(p);let y={timeUnit:m.timeUnit,as:g,field:m.field};o[pe(y)]=y}if(!a[g]){let y=u==="interval"&&Ar(p)&&Zn(e.getScaleComponent(p).get("type"))?"R":m.bin?"R-RE":"E",v={field:g,channel:p,type:y,index:i.items.length};v.signals={...s(v,"data"),...s(v,"visual")},i.items.push(a[g]=v),i.hasField[g]=a[g],i.hasSelectionId=i.hasSelectionId||g===rr,iF(p)?(v.geoChannel=p,v.channel=rF(p),i.hasChannel[v.channel]=a[g]):i.hasChannel[p]=a[g]}}else q(SF(p))}for(let p of d??[]){if(i.hasField[p])continue;let m={type:"E",field:p,index:i.items.length};m.signals={...s(m,"data")},i.items.push(m),i.hasField[p]=m,i.hasSelectionId=i.hasSelectionId||p===rr}f&&(t.init=f.map(p=>i.items.map(m=>J(p)?p[m.geoChannel||m.channel]===void 0?p[m.field]:p[m.geoChannel||m.channel]:p))),ze(o)||(i.timeUnit=new hl(null,o))},signals:(e,t,n)=>{let r=t.name+mu;return n.filter(i=>i.name===r).length>0||t.project.hasSelectionId?n:n.concat({name:r,value:t.project.items.map(W3)})}},j3="_curr",ih="anim_value",pl="anim_clock",Nv="eased_anim_clock",q3="min_extent",U3="max_range_extent",Rv="last_tick_at",Tv="is_playing",JK=1/60*1e3,QK=(e,t)=>[{name:Nv,update:pl},{name:`${e}_domain`,init:`domain('${t}')`},{name:q3,init:`extent(${e}_domain)[0]`},{name:U3,init:`extent(range('${t}'))[1]`},{name:ih,update:`invert('${t}', ${Nv})`}],KK={defined:e=>e.type==="point",topLevelSignals:(e,t,n)=>(Nr(t)&&(n=n.concat([{name:pl,init:"0",on:[{events:{type:"timer",throttle:JK},update:`${Tv} ? (${pl} + (now() - ${Rv}) > ${U3} ? 0 : ${pl} + (now() - ${Rv})) : ${pl}`}]},{name:Rv,init:"now()",on:[{events:[{signal:pl},{signal:Tv}],update:"now()"}]},{name:Tv,init:"true"}])),n),signals:(e,t,n)=>{let r=t.name,i=r+mu,a=t.project,o="(item().isVoronoi ? datum.datum : datum)",l=Ke(e.component.selection??{}).reduce((c,f)=>f.type==="interval"?c.concat(f.name+ml):c,[]).map(c=>`indexof(item().mark.name, '${c}') < 0`).join(" && "),s=`datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0${l?` && ${l}`:""}`,u=`unit: ${Ja(e)}, `;if(t.project.hasSelectionId)u+=`${rr}: ${o}[${H(rr)}]`;else if(Nr(t))u+=`fields: ${i}, values: [${ih} ? ${ih} : ${q3}]`;else{let c=a.items.map(f=>{var d;return(d=e.fieldDef(f.channel))!=null&&d.bin?`[${o}[${H(e.vgField(f.channel,{}))}], ${o}[${H(e.vgField(f.channel,{binSuffix:"end"}))}]]`:`${o}[${H(f.field)}]`}).join(", ");u+=`fields: ${i}, values: [${c}]`}if(Nr(t))return n.concat(QK(t.name,e.scaleName(Hi)),[{name:r+si,on:[{events:[{signal:Nv},{signal:ih}],update:`{${u}}`,force:!0}]}]);{let c=t.events;return n.concat([{name:r+si,on:c?[{events:c,update:`${s} ? {${u}} : null`,force:!0}]:[]}])}}};function W3(e){let{signals:t,hasLegend:n,index:r,...i}=e;return i.field=Sn(i.field),i}function Xa(e,t=!0,n=vn){if(N(e)){let r=e.map(i=>Xa(i,t,n));return t?`[${r.join(", ")}]`:r}else if(Pa(e))return n(t?Ba(e):rJ(e));return t?n(Ee(e)):e}function ZK(e,t){for(let n of Ke(e.component.selection??{})){let r=n.name,i=`${r}${si}, ${n.resolve==="global"?"true":`{unit: ${Ja(e)}}`}`;for(let a of sh)a.defined(n)&&(a.signals&&(t=a.signals(e,n,t)),a.modifyExpr&&(i=a.modifyExpr(e,n,i)));t.push({name:r+AZ,on:[{events:{signal:n.name+si},update:`modify(${H(n.name+Ya)}, ${i})`}]})}return Lv(t)}function eZ(e,t){if(e.component.selection&&I(e.component.selection).length){let n=H(e.getName("cell"));t.unshift({name:"facet",value:{},on:[{events:ji("pointermove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return Lv(t)}function tZ(e,t){let n=!1;for(let r of Ke(e.component.selection??{})){let i=r.name,a=H(i+Ya);if(t.filter(o=>o.name===i).length===0){let o=r.resolve==="global"?"union":r.resolve,l=r.type==="point"?", true, true)":")";t.push({name:r.name,update:`${g5}(${a}, ${H(o)}${l}`})}n=!0;for(let o of sh)o.defined(r)&&o.topLevelSignals&&(t=o.topLevelSignals(e,r,t))}return n&&t.filter(r=>r.name==="unit").length===0&&t.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),Lv(t)}function nZ(e,t){let n=[],r=[],i=Ja(e,{escape:!1});for(let a of Ke(e.component.selection??{})){let o={name:a.name+Ya};if(a.project.hasSelectionId&&(o.transform=[{type:"collect",sort:{field:rr}}]),a.init){let l=a.project.items.map(W3);o.values=a.project.hasSelectionId?a.init.map(s=>({unit:i,[rr]:Xa(s,!1)[0]})):a.init.map(s=>({unit:i,fields:l,values:Xa(s,!1)}))}if([...n,...t].filter(l=>l.name===a.name+Ya).length||n.push(o),Nr(a)&&t.length){let l=e.lookupDataSource(e.getDataName(He.Main)),s=t.find(c=>c.name===l),u=s.transform.find(c=>c.type==="filter"&&c.expr.includes("vlSelectionTest"));if(u){s.transform=s.transform.filter(f=>f!==u);let c={name:s.name+j3,source:s.name,transform:[u]};r.push(c)}}}return n.concat(t,r)}function H3(e,t){for(let n of Ke(e.component.selection??{}))for(let r of sh)r.defined(n)&&r.marks&&(t=r.marks(e,n,t));return t}function rZ(e,t){for(let n of e.children)je(n)&&(t=H3(n,t));return t}function iZ(e,t,n,r){let i=w5(e,t.param,t);return{signal:Zn(n.get("type"))&&N(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function Lv(e){return e.map(t=>(t.on&&!t.on.length&&delete t.on,t))}var oi={defined:e=>e.type==="interval"&&e.resolve==="global"&&e.bind&&e.bind==="scales",parse:(e,t)=>{let n=t.scales=[];for(let r of t.project.items){let i=r.channel;if(!Ar(i))continue;let a=e.getScaleComponent(i),o=a?a.get("type"):void 0;if(o=="sequential"&&q(XX),!a||!Zn(o)){q(VX);continue}a.set("selectionExtent",{param:t.name,field:r.field},!0),n.push(r)}},topLevelSignals:(e,t,n)=>{let r=t.scales.filter(o=>n.filter(l=>l.name===o.signals.data).length===0);if(!e.parent||Bv(e)||r.length===0)return n;let i=n.find(o=>o.name===t.name),a=i.update;if(a.includes(g5))i.update=`{${r.map(o=>`${H(Sn(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(let o of r){let l=`${H(Sn(o.field))}: ${o.signals.data}`;a.includes(l)||(a=`${a.substring(0,a.length-1)}, ${l}}`)}i.update=a}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(e,t,n)=>{if(e.parent&&!Bv(e))for(let r of t.scales){let i=n.find(a=>a.name===r.signals.data);i.push="outer",delete i.value,delete i.update}return n}};function Pv(e,t){return`domain(${H(e.scaleName(t))})`}function Bv(e){return e.parent&&kl(e.parent)&&(!e.parent.parent||Bv(e.parent.parent))}var ml="_brush",G3="_scale_trigger",gu="geo_interval_init_tick",V3="_init",aZ="_center",oZ={defined:e=>e.type==="interval",parse:(e,t,n)=>{var r;if(e.hasProjection){let i={...J(n.select)?n.select:{}};i.fields=[rr],i.encodings||(i.encodings=n.value?I(n.value):[Jn,Yn]),n.select={type:"interval",...i}}if(t.translate&&!oi.defined(t)){let i=`!event.item || event.item.mark.name !== ${H(t.name+ml)}`;for(let a of t.events){if(!a.between){q(`${a} is not an ordered event stream for interval selections.`);continue}let o=Q((r=a.between[0]).filter??(r.filter=[]));o.includes(i)||o.push(i)}}},signals:(e,t,n)=>{let r=t.name,i=r+si,a=Ke(t.project.hasChannel).filter(l=>l.channel===Be||l.channel===lt),o=t.init?t.init[0]:null;if(n.push(...a.reduce((l,s)=>l.concat(lZ(e,t,s,o==null?void 0:o[s.index])),[])),e.hasProjection){let l=H(e.projectionName()),s=e.projectionName()+aZ,{x:u,y:c}=t.project.hasChannel,f=u==null?void 0:u.signals.visual,d=c==null?void 0:c.signals.visual,h=u?o==null?void 0:o[u.index]:`${s}[0]`,p=c?o==null?void 0:o[c.index]:`${s}[1]`,m=b=>e.getSizeSignalRef(b).signal,g=`[[${f?`${f}[0]`:"0"}, ${d?`${d}[0]`:"0"}],[${f?`${f}[1]`:m("width")}, ${d?`${d}[1]`:m("height")}]]`;o&&(n.unshift({name:r+V3,init:`[scale(${l}, [${u?h[0]:h}, ${c?p[0]:p}]), scale(${l}, [${u?h[1]:h}, ${c?p[1]:p}])]`}),(!u||!c)&&(n.find(b=>b.name===s)||n.unshift({name:s,update:`invert(${l}, [${m("width")}/2, ${m("height")}/2])`})));let y=`vlSelectionTuples(${`intersect(${g}, {markname: ${H(e.getName("marks"))}}, unit.mark)`}, ${`{unit: ${Ja(e)}}`})`,v=a.map(b=>b.signals.visual);return n.concat({name:i,on:[{events:[...v.length?[{signal:v.join(" || ")}]:[],...o?[{signal:gu}]:[]],update:y}]})}else{if(!oi.defined(t)){let u=r+G3,c=a.map(f=>{let d=f.channel,{data:h,visual:p}=f.signals,m=H(e.scaleName(d)),g=Zn(e.getScaleComponent(d).get("type"))?"+":"";return`(!isArray(${h}) || (${g}invert(${m}, ${p})[0] === ${g}${h}[0] && ${g}invert(${m}, ${p})[1] === ${g}${h}[1]))`});c.length&&n.push({name:u,value:{},on:[{events:a.map(f=>({scale:e.scaleName(f.channel)})),update:`${c.join(" && ")} ? ${u} : {}`}]})}let l=a.map(u=>u.signals.data),s=`unit: ${Ja(e)}, fields: ${r+mu}, values`;return n.concat({name:i,...o?{init:`{${s}: ${Xa(o)}}`}:{},...l.length?{on:[{events:[{signal:l.join(" || ")}],update:`${l.join(" && ")} ? {${s}: [${l}]} : null`}]}:{}})}},topLevelSignals:(e,t,n)=>(je(e)&&e.hasProjection&&t.init&&(n.filter(r=>r.name===gu).length||n.unshift({name:gu,value:null,on:[{events:"timer{1}",update:`${gu} === null ? {} : ${gu}`}]})),n),marks:(e,t,n)=>{let r=t.name,{x:i,y:a}=t.project.hasChannel,o=i==null?void 0:i.signals.visual,l=a==null?void 0:a.signals.visual,s=`data(${H(t.name+Ya)})`;if(oi.defined(t)||!i&&!a)return n;let u={x:i===void 0?{value:0}:{signal:`${o}[0]`},y:a===void 0?{value:0}:{signal:`${l}[0]`},x2:i===void 0?{field:{group:"width"}}:{signal:`${o}[1]`},y2:a===void 0?{field:{group:"height"}}:{signal:`${l}[1]`}};if(t.resolve==="global")for(let g of I(u))u[g]=[{test:`${s}.length && ${s}[0].unit === ${Ja(e)}`,...u[g]},{value:0}];let{fill:c,fillOpacity:f,cursor:d,...h}=t.mark,p=I(h).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,a!==void 0&&`${l}[0] !== ${l}[1]`].filter(v=>v).join(" && "),value:h[y]},{value:null}],g),{}),m=d??(t.translate?"move":null);return[{name:`${r+ml}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:c},fillOpacity:{value:f}},update:u}},...n,{name:r+ml,type:"rect",clip:!0,encode:{enter:{...m?{cursor:{value:m}}:{},fill:{value:"transparent"}},update:{...u,...p}}}]}};function lZ(e,t,n,r){let i=!e.hasProjection,a=n.channel,o=n.signals.visual,l=H(i?e.scaleName(a):e.projectionName()),s=d=>`scale(${l}, ${d})`,u=e.getSizeSignalRef(a===Be?"width":"height").signal,c=`${a}(unit)`,f=t.events.reduce((d,h)=>[...d,{events:h.between[0],update:`[${c}, ${c}]`},{events:h,update:`[${o}[0], clamp(${c}, 0, ${u})]`}],[]);if(i){let d=n.signals.data,h=oi.defined(t),p=e.getScaleComponent(a),m=p?p.get("type"):void 0,g=r?{init:Xa(r,!0,s)}:{value:[]};return f.push({events:{signal:t.name+G3},update:Zn(m)?`[${s(`${d}[0]`)}, ${s(`${d}[1]`)}]`:"[0, 0]"}),h?[{name:d,on:[]}]:[{name:o,...g,on:f},{name:d,...r?{init:Xa(r)}:{},on:[{events:{signal:o},update:`${o}[0] === ${o}[1] ? null : invert(${l}, ${o})`}]}]}else{let d=a===Be?0:1,h=t.name+V3;return[{name:o,...r?{init:`[${h}[0][${d}], ${h}[1][${d}]]`}:{value:[]},on:f}]}}function gl({model:e,channelDef:t,vgChannel:n,invalidValueRef:r,mainRefFn:i}){let a=cu(t)&&t.condition,o=[];a&&(o=Q(a).map(s=>{let u=i(s);if(KJ(s)){let{param:c,empty:f}=s;return{test:x5(e,{param:c,empty:f}),...u}}else return{test:ch(e,s.test),...u}})),r!==void 0&&o.push(r);let l=i(t);return l!==void 0&&o.push(l),o.length>1||o.length===1&&o[0].test?{[n]:o}:o.length===1?{[n]:o[0]}:{}}function Iv(e,t="text"){let n=e.encoding[t];return gl({model:e,channelDef:n,vgChannel:t,mainRefFn:r=>jv(r,e.config),invalidValueRef:void 0})}function jv(e,t,n="datum"){if(e){if(tr(e))return Te(e.value);if(le(e)){let{format:r,formatType:i}=Wd(e);return iv({fieldOrDatumDef:e,format:r,formatType:i,expr:n,config:t})}}}function X3(e,t={}){let{encoding:n,markDef:r,config:i,stack:a}=e,o=n.tooltip;if(N(o))return{tooltip:J3({tooltip:o},a,i,t)};{let l=t.reactiveGeom?"datum.datum":"datum";return gl({model:e,channelDef:o,vgChannel:"tooltip",mainRefFn:s=>{let u=Q3(s,i,l);if(u)return u;if(s===null)return;let c=$e("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),Y(c))return{value:c};if(J(c))return ee(c)?c:c.content==="encoding"?J3(n,a,i,t):{signal:l}},invalidValueRef:void 0})}}function Y3(e,t,n,{reactiveGeom:r}={}){let i={...n,...n.tooltipFormat},a=new Set,o=r?"datum.datum":"datum",l=[];function s(c,f){let d=Na(f),h=Ut(c)?c:{...c,type:e[d].type},p=Q(h.title||uv(h,i)).join(", ").replaceAll(/"/g,'\\"'),m;if(Je(f)){let g=f==="x"?"x2":"y2",y=nr(e[g]);if(pt(h.bin)&&y){let v=X(h,{expr:o}),b=X(y,{expr:o}),{format:w,formatType:_}=Wd(h);m=su(v,b,w,_,i),a.add(g)}}if((Je(f)||f===Fn||f===Xn)&&t&&t.fieldChannel===f&&t.offset==="normalize"){let{format:g,formatType:y}=Wd(h);m=iv({fieldOrDatumDef:h,format:g,formatType:y,expr:o,config:i,normalizeStack:!0}).signal}m??(m=Q3(h,i,o).signal),l.push({channel:f,key:p,value:m})}fv(e,(c,f)=>{U(c)?s(c,f):jd(c)&&s(c.condition,f)});let u={};for(let{channel:c,key:f,value:d}of l)!a.has(c)&&!u[f]&&(u[f]=d);return u}function J3(e,t,n,{reactiveGeom:r}={}){let i=Ui(Y3(e,t,n,{reactiveGeom:r})).map(([a,o])=>`"${a}": ${o}`);return i.length>0?{signal:`{${i.join(", ")}}`}:void 0}function Q3(e,t,n="datum"){if(U(e)&&Hy(e.type)&&!j(e,"format")){let r=`datum["${e.field}"]`;return{signal:`isValid(${r}) ? isArray(${r}) ? join(${r}, '\\n') : ${r} : ""+${r}`}}return jv(e,t,n)}function sZ(e){let{markDef:t,config:n}=e,r=$e("aria",t,n);return r===!1?{}:{...r?{aria:r}:{},...uZ(e),...cZ(e)}}function uZ(e){let{mark:t,markDef:n,config:r}=e;if(r.aria===!1)return{};let i=$e("ariaRoleDescription",n,r);return i==null?K(BX,t)?{}:{ariaRoleDescription:{value:t}}:{ariaRoleDescription:{value:i}}}function cZ(e){let{encoding:t,markDef:n,config:r,stack:i}=e,a=t.description;if(a)return gl({model:e,channelDef:a,vgChannel:"description",mainRefFn:s=>jv(s,e.config),invalidValueRef:void 0});let o=$e("description",n,r);if(o!=null)return{description:Te(o)};if(r.aria===!1)return{};let l=Y3(t,i,r);if(!ze(l))return{description:{signal:Ui(l).filter(([s])=>!s.startsWith("_")).map(([s,u])=>[s,u.replaceAll("\\n"," ")]).map(([s,u],c)=>`"${c>0?"; ":""}${s}: " + (${u})`).join(" + ")}}}function yt(e,t,n={}){let{markDef:r,encoding:i,config:a}=t,{vgChannel:o}=n,{defaultRef:l,defaultValue:s}=n,u=i[e];l===void 0&&(s??(s=$e(e,r,a,{vgChannel:o,ignoreVgConfig:!cu(u)})),s!==void 0&&(l=Te(s)));let c={markDef:r,config:a,scaleName:t.scaleName(e),scale:t.getScaleComponent(e)},f=dC({...c,scaleChannel:e,channelDef:u});return gl({model:t,channelDef:u,vgChannel:o??e,invalidValueRef:f,mainRefFn:d=>rv({...c,channel:e,channelDef:d,stack:null,defaultRef:l})})}function K3(e,t={filled:void 0}){let{markDef:n,encoding:r,config:i}=e,{type:a}=n,o=t.filled??$e("filled",n,i),l=ce(["bar","point","circle","square","geoshape"],a)?"transparent":void 0,s=$e(o===!0?"color":void 0,n,i,{vgChannel:"fill"})??i.mark[o===!0&&"color"]??l,u=$e(o===!1?"color":void 0,n,i,{vgChannel:"stroke"})??i.mark[o===!1&&"color"],c=o?"fill":"stroke",f={...s?{fill:Te(s)}:{},...u?{stroke:Te(u)}:{}};return n.color&&(o?n.fill:n.stroke)&&q(NF("property",{fill:"fill"in n,stroke:"stroke"in n})),{...f,...yt("color",e,{vgChannel:c,defaultValue:o?s:u}),...yt("fill",e,{defaultValue:r.fill?s:void 0}),...yt("stroke",e,{defaultValue:r.stroke?u:void 0})}}function fZ(e){let{encoding:t,mark:n}=e,r=t.order;return!Zi(n)&&tr(r)?gl({model:e,channelDef:r,vgChannel:"zindex",mainRefFn:i=>Te(i.value),invalidValueRef:void 0}):{}}function yl({channel:e,markDef:t,encoding:n={},model:r,bandPosition:i}){let a=`${e}Offset`,o=t[a],l=n[a];if((a==="xOffset"||a==="yOffset")&&l)return{offsetType:"encoding",offset:rv({channel:a,channelDef:l,markDef:t,config:r==null?void 0:r.config,scaleName:r.scaleName(a),scale:r.getScaleComponent(a),stack:null,defaultRef:Te(o),bandPosition:i})};let s=t[a];return s?{offsetType:"visual",offset:s}:{}}function Wt(e,t,{defaultPos:n,vgChannel:r}){let{encoding:i,markDef:a,config:o,stack:l}=t,s=i[e],u=i[$r(e)],c=t.scaleName(e),f=t.getScaleComponent(e),{offset:d,offsetType:h}=yl({channel:e,markDef:a,encoding:i,model:t,bandPosition:.5}),p=qv({model:t,defaultPos:n,channel:e,scaleName:c,scale:f}),m=!s&&Je(e)&&(i.latitude||i.longitude)?{field:t.getName(e)}:dZ({channel:e,channelDef:s,channel2Def:u,markDef:a,config:o,scaleName:c,scale:f,stack:l,offset:d,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||e]:m}:void 0}function dZ(e){let{channel:t,channelDef:n,scaleName:r,stack:i,offset:a,markDef:o}=e;if(le(n)&&i&&t===i.fieldChannel){if(U(n)){let l=n.bandPosition;if(l===void 0&&o.type==="text"&&(t==="radius"||t==="theta")&&(l=.5),l!==void 0)return Pd({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:l,offset:a})}return Ua(n,r,{suffix:"end"},{offset:a})}return nv(e)}function qv({model:e,defaultPos:t,channel:n,scaleName:r,scale:i}){let{markDef:a,config:o}=e;return()=>{let l=Na(n),s=$e(n,a,o,{vgChannel:Ji(n)});if(s!==void 0)return lu(n,s);switch(t){case"zeroOrMin":return Z3({scaleName:r,scale:i,mode:"zeroOrMin",mainChannel:l,config:o});case"zeroOrMax":return Z3({scaleName:r,scale:i,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:l,config:o});case"mid":return{...e[en(n)],mult:.5}}}}function Z3({mainChannel:e,config:t,...n}){let r=fC(n),{mode:i}=n;if(r)return r;switch(e){case"radius":{if(i==="zeroOrMin")return{value:0};let{widthSignal:a,heightSignal:o}=i.zeroOrMax;return{signal:`min(${a},${o})/2`}}case"theta":return i==="zeroOrMin"?{value:0}:{signal:"2*PI"};case"x":return i==="zeroOrMin"?{value:0}:{field:{group:"width"}};case"y":return i==="zeroOrMin"?{field:{group:"height"}}:{value:0}}}var hZ={left:"x",center:"xc",right:"x2"},pZ={top:"y",middle:"yc",bottom:"y2"};function e5(e,t,n,r="middle"){if(e==="radius"||e==="theta")return Ji(e);let i=e==="x"?"align":"baseline",a=$e(i,t,n),o;return ee(a)?(q(wY(i)),o=void 0):o=a,e==="x"?hZ[o||(r==="top"?"left":"center")]:pZ[o||r]}function ah(e,t,{defaultPos:n,defaultPos2:r,range:i}){return i?t5(e,t,{defaultPos:n,defaultPos2:r}):Wt(e,t,{defaultPos:n})}function t5(e,t,{defaultPos:n,defaultPos2:r}){let{markDef:i,config:a}=t,o=$r(e),l=en(e),s=mZ(t,r,o);return{...Wt(e,t,{defaultPos:n,vgChannel:s[l]?e5(e,i,a):Ji(e)}),...s}}function mZ(e,t,n){let{encoding:r,mark:i,markDef:a,stack:o,config:l}=e,s=Na(n),u=en(n),c=Ji(n),f=r[s],d=e.scaleName(s),h=e.getScaleComponent(s),{offset:p}=n in r||n in a?yl({channel:n,markDef:a,encoding:r,model:e}):yl({channel:s,markDef:a,encoding:r,model:e});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){let g=en(n),y=e.markDef[g];return y==null?{[c]:{field:e.getName(n)}}:{[g]:{value:y}}}let m=gZ({channel:n,channelDef:f,channel2Def:r[n],markDef:a,config:l,scaleName:d,scale:h,stack:o,offset:p,defaultRef:void 0});return m===void 0?oh(n,a)||oh(n,{[n]:Sy(n,a,l.style),[u]:Sy(u,a,l.style)})||oh(n,l[i])||oh(n,l.mark)||{[c]:qv({model:e,defaultPos:t,channel:n,scaleName:d,scale:h})()}:{[c]:m}}function gZ({channel:e,channelDef:t,channel2Def:n,markDef:r,config:i,scaleName:a,scale:o,stack:l,offset:s,defaultRef:u}){return le(t)&&l&&e.charAt(0)===l.fieldChannel.charAt(0)?Ua(t,a,{suffix:"start"},{offset:s}):nv({channel:e,channelDef:n,scaleName:a,scale:o,stack:l,markDef:r,config:i,offset:s,defaultRef:u})}function oh(e,t){let n=en(e),r=Ji(e);if(t[r]!==void 0)return{[r]:lu(e,t[r])};if(t[e]!==void 0)return{[r]:lu(e,t[e])};if(t[n]){let i=t[n];if(qa(i))q(mY(n));else return{[n]:lu(e,i)}}}function li(e,t){let{config:n,encoding:r,markDef:i}=e,a=i.type,o=$r(t),l=en(t),s=r[t],u=r[o],c=e.getScaleComponent(t),f=c?c.get("type"):void 0,d=i.orient,h=r[l]??r.size??$e("size",i,n,{vgChannel:l}),p=sF(t),m=a==="bar"&&(t==="x"?d==="vertical":d==="horizontal")||a==="tick"&&(t==="y"?d==="vertical":d==="horizontal");return U(s)&&(Ne(s.bin)||pt(s.bin)||s.timeUnit&&!u)&&!(h&&!qa(h))&&!r[p]&&!ut(f)?bZ({fieldDef:s,fieldDef2:u,channel:t,model:e}):(le(s)&&ut(f)||m)&&!u?vZ(s,t,e):t5(t,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function yZ(e,t,n,r,i,a,o){if(qa(i))if(n){let l=n.get("type");if(l==="band"){let s=`bandwidth('${t}')`;i.band!==1&&(s=`${i.band} * ${s}`);let u=Dr("minBandSize",{type:o},r);return{signal:u?`max(${Kn(u)}, ${s})`:s}}else i.band!==1&&(q($Y(l)),i=void 0)}else return{mult:i.band,field:{group:e}};else{if(ee(i))return i;if(i)return{value:i}}if(n){let l=n.get("range");if(Ta(l)&&we(l.step))return{value:l.step-2}}if(!a){let{bandPaddingInner:l,barBandPaddingInner:s,rectBandPaddingInner:u,tickBandPaddingInner:c}=r.scale,f=Ye(l,o==="tick"?c:o==="bar"?s:u);if(ee(f))return{signal:`(1 - (${f.signal})) * ${e}`};if(we(f))return{signal:`${1-f} * ${e}`}}return{value:Ev(r.view,e)-2}}function vZ(e,t,n){var E,$;let{markDef:r,encoding:i,config:a,stack:o}=n,l=r.orient,s=n.scaleName(t),u=n.getScaleComponent(t),c=en(t),f=$r(t),d=sF(t),h=n.scaleName(d),p=n.getScaleComponent(by(t)),m=r.type==="tick"||l==="horizontal"&&t==="y"||l==="vertical"&&t==="x",g;(i.size||r.size)&&(m?g=yt("size",n,{vgChannel:c,defaultRef:Te(r.size)}):q(FY(r.type)));let y=!!g,v=_C({channel:t,fieldDef:e,markDef:r,config:a,scaleType:(E=u||p)==null?void 0:E.get("type"),useVlSizeChannel:m});g||(g={[c]:yZ(c,h||s,p||u,a,v,!!e,r.type)});let b=e5(t,r,a,(($=u||p)==null?void 0:$.get("type"))==="band"&&qa(v)&&!y?"top":"middle"),w=b==="xc"||b==="yc",{offset:_,offsetType:k}=yl({channel:t,markDef:r,encoding:i,model:n,bandPosition:w?.5:0}),x=nv({channel:t,channelDef:e,markDef:r,config:a,scaleName:s,scale:u,stack:o,offset:_,defaultRef:qv({model:n,defaultPos:"mid",channel:t,scaleName:s,scale:u}),bandPosition:w?k==="encoding"?0:.5:ee(v)?{signal:`(1-${v})/2`}:qa(v)?(1-v.band)/2:0});if(c)return{[b]:x,...g};{let D=Ji(f),F=g[c],T=_?{...F,offset:_}:F;return{[b]:x,[D]:N(x)?[x[0],{...x[1],offset:T}]:{...x,offset:T}}}}function n5(e,t,n,r,i,a,o){if(nF(e))return 0;let l=e==="x"||e==="y2",s=l?-t/2:t/2;if(ee(n)||ee(i)||ee(r)||a){let u=Kn(n),c=Kn(i),f=Kn(r),d=Kn(a),h=a?`(${o} < ${d} ? ${l?"":"-"}0.5 * (${d} - (${o})) : ${s})`:s,p=f?`${f} + `:"",m=u?`(${u} ? -1 : 1) * `:"",g=c?`(${c} + ${h})`:h;return{signal:p+m+g}}else return i||(i=0),r+(n?-i-s:+i+s)}function bZ({fieldDef:e,fieldDef2:t,channel:n,model:r}){var $,D;let{config:i,markDef:a,encoding:o}=r,l=r.getScaleComponent(n),s=r.scaleName(n),u=l?l.get("type"):void 0,c=l.get("reverse"),f=_C({channel:n,fieldDef:e,markDef:a,config:i,scaleType:u}),d=((D=($=r.component.axes[n])==null?void 0:$[0])==null?void 0:D.get("translate"))??.5,h=Je(n)?$e("binSpacing",a,i)??0:0,p=$r(n),m=Ji(n),g=Ji(p),y=Dr("minBandSize",a,i),{offset:v}=yl({channel:n,markDef:a,encoding:o,model:r,bandPosition:0}),{offset:b}=yl({channel:p,markDef:a,encoding:o,model:r,bandPosition:0}),w=VJ({fieldDef:e,scaleName:s}),_=n5(n,h,c,d,v,y,w),k=n5(p,h,c,d,b??v,y,w),x=ee(f)?{signal:`(1-${f.signal})/2`}:qa(f)?(1-f.band)/2:.5,E=ea({fieldDef:e,fieldDef2:t,markDef:a,config:i});if(Ne(e.bin)||e.timeUnit){let F=e.timeUnit&&E!==.5;return{[g]:r5({fieldDef:e,scaleName:s,bandPosition:x,offset:k,useRectOffsetField:F}),[m]:r5({fieldDef:e,scaleName:s,bandPosition:ee(x)?{signal:`1-${x.signal}`}:1-x,offset:_,useRectOffsetField:F})}}else if(pt(e.bin)){let F=Ua(e,s,{},{offset:k});if(U(t))return{[g]:F,[m]:Ua(t,s,{},{offset:_})};if(Ra(e.bin)&&e.bin.step)return{[g]:F,[m]:{signal:`scale("${s}", ${X(e,{expr:"datum"})} + ${e.bin.step})`,offset:_}}}q(BF(p))}function r5({fieldDef:e,scaleName:t,bandPosition:n,offset:r,useRectOffsetField:i}){return Pd({scaleName:t,fieldOrDatumDef:e,bandPosition:n,offset:r,...i?{startSuffix:nh,endSuffix:rh}:{}})}var xZ=new Set(["aria","width","height"]);function On(e,t){let{fill:n=void 0,stroke:r=void 0}=t.color==="include"?K3(e):{};return{...wZ(e.markDef,t),...i5("fill",n),...i5("stroke",r),...yt("opacity",e),...yt("fillOpacity",e),...yt("strokeOpacity",e),...yt("strokeWidth",e),...yt("strokeDash",e),...fZ(e),...X3(e),...Iv(e,"href"),...sZ(e)}}function i5(e,t){return t?{[e]:t}:{}}function wZ(e,t){return PX.reduce((n,r)=>(!xZ.has(r)&&j(e,r)&&t[r]!=="ignore"&&(n[r]=Te(e[r])),n),{})}function Uv(e){let{config:t,markDef:n}=e,r=new Set;if(e.forEachFieldDef((i,a)=>{var s;let o;if(!Ar(a)||!(o=e.getScaleType(a)))return;let l=Dd(i.aggregate);if(WJ(tv({scaleChannel:a,markDef:n,config:t,scaleType:o,isCountAggregate:l}))){let u=e.vgField(a,{expr:"datum",binSuffix:(s=e.stack)!=null&&s.impute?"mid":void 0});u&&r.add(u)}}),r.size>0)return{defined:{signal:[...r].map(i=>Od(i,!0)).join(" && ")}}}function a5(e,t){if(t!==void 0)return{[e]:Te(t)}}var Wv="voronoi",o5={defined:e=>e.type==="point"&&e.nearest,parse:(e,t)=>{if(t.events)for(let n of t.events)n.markname=e.getName(Wv)},marks:(e,t,n)=>{let{x:r,y:i}=t.project.hasChannel,a=e.mark;if(Zi(a))return q(HX(a)),n;let o={name:e.getName(Wv),type:"path",interactive:!0,aria:!1,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...X3(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]},l=0,s=!1;return n.forEach((u,c)=>{let f=u.name??"";f===e.component.mark[0].name?l=c:f.includes(Wv)&&(s=!0)}),s||n.splice(l+1,0,o),n}},l5={defined:e=>e.type==="point"&&e.resolve==="global"&&e.bind&&e.bind!=="scales"&&!vv(e.bind),parse:(e,t,n)=>y5(t,n),topLevelSignals:(e,t,n)=>{var s;let r=t.name,i=t.project,a=t.bind,o=(s=t.init)==null?void 0:s[0],l=o5.defined(t)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((u,c)=>{let f=Pe(`${r}_${u.field}`);n.filter(d=>d.name===f).length||n.unshift({name:f,...o?{init:Xa(o[c])}:{value:null},on:t.events?[{events:t.events,update:`datum && item().mark.marktype !== 'group' ? ${l}[${H(u.field)}] : null`}]:[],bind:a[u.field]??a[u.channel]??a})}),n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(u=>u.name===r+si),o=r+mu,l=i.items.map(u=>Pe(`${r}_${u.field}`)),s=l.map(u=>`${u} !== null`).join(" && ");return l.length&&(a.update=`${s} ? {fields: ${o}, values: [${l.join(", ")}]} : null`),delete a.value,delete a.on,n}},lh="_toggle",s5={defined:e=>e.type==="point"&&!Nr(e)&&!!e.toggle,signals:(e,t,n)=>n.concat({name:t.name+lh,value:!1,on:[{events:t.events,update:t.toggle}]}),modifyExpr:(e,t)=>{let n=t.name+si,r=t.name+lh;return`${r} ? null : ${n}, ${t.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${Ja(e)}}, `}${r} ? ${n} : null`}},_Z={defined:e=>e.clear!==void 0&&e.clear!==!1&&!Nr(e),parse:(e,t)=>{t.clear&&(t.clear=Y(t.clear)?ji(t.clear,"view"):t.clear)},topLevelSignals:(e,t,n)=>{if(l5.defined(t))for(let r of t.project.items){let i=n.findIndex(a=>a.name===Pe(`${t.name}_${r.field}`));i!==-1&&n[i].on.push({events:t.clear,update:"null"})}return n},signals:(e,t,n)=>{function r(i,a){i!==-1&&n[i].on&&n[i].on.push({events:t.clear,update:a})}if(t.type==="interval")for(let i of t.project.items){let a=n.findIndex(o=>o.name===i.signals.visual);r(a,"[0, 0]"),a===-1&&r(n.findIndex(o=>o.name===i.signals.data),"null")}else{let i=n.findIndex(a=>a.name===t.name+si);r(i,"null"),s5.defined(t)&&(i=n.findIndex(a=>a.name===t.name+lh),r(i,"false"))}return n}},u5={defined:e=>{let t=e.resolve==="global"&&e.bind&&vv(e.bind),n=e.project.items.length===1&&e.project.items[0].field!==rr;return t&&!n&&q(YX),t&&n},parse:(e,t,n)=>{let r=oe(n);if(r.select=Y(r.select)?{type:r.select,toggle:t.toggle}:{...r.select,toggle:t.toggle},y5(t,r),J(n.select)&&(n.select.on||n.select.clear)){let a='event.item && indexof(event.item.mark.role, "legend") < 0';for(let o of t.events)o.filter=Q(o.filter??[]),o.filter.includes(a)||o.filter.push(a)}let i=bv(t.bind)?t.bind.legend:"click";t.bind={legend:{merge:Y(i)?ji(i,"view"):Q(i)}}},topLevelSignals:(e,t,n)=>{let r=t.name,i=bv(t.bind)&&t.bind.legend,a=o=>l=>{let s=oe(l);return s.markname=o,s};for(let o of t.project.items){if(!o.hasLegend)continue;let l=`${Pe(o.field)}_legend`,s=`${r}_${l}`;if(n.filter(u=>u.name===s).length===0){let u=i.merge.map(a(`${l}_symbols`)).concat(i.merge.map(a(`${l}_labels`))).concat(i.merge.map(a(`${l}_entries`)));n.unshift({name:s,...t.init?{}:{value:null},on:[{events:u,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${s}`,force:!0}]})}}return n},signals:(e,t,n)=>{let r=t.name,i=t.project,a=n.find(f=>f.name===r+si),o=r+mu,l=i.items.filter(f=>f.hasLegend).map(f=>Pe(`${r}_${Pe(f.field)}_legend`)),s=`${l.map(f=>`${f} !== null`).join(" && ")} ? {fields: ${o}, values: [${l.join(", ")}]} : null`;t.events&&l.length>0?a.on.push({events:l.map(f=>({signal:f})),update:s}):l.length>0&&(a.update=s,delete a.value,delete a.on);let u=n.find(f=>f.name===r+lh),c=bv(t.bind)&&t.bind.legend;return u&&(t.events?u.on.push({...u.on[0],events:c}):u.on[0].events=c),n}};function kZ(e,t,n){var i;let r=(i=e.fieldDef(t))==null?void 0:i.field;for(let a of Ke(e.component.selection??{})){let o=a.project.hasField[r]??a.project.hasChannel[t];if(o&&u5.defined(a)){let l=n.get("selections")??[];l.push(a.name),n.set("selections",l,!1),o.hasLegend=!0}}}var c5="_translate_anchor",f5="_translate_delta",EZ={defined:e=>e.type==="interval"&&e.translate,signals:(e,t,n)=>{let r=t.name,i=oi.defined(t),a=r+c5,{x:o,y:l}=t.project.hasChannel,s=ji(t.translate,"scope");return i||(s=s.map(u=>(u.between[0].markname=r+ml,u))),n.push({name:a,value:{},on:[{events:s.map(u=>u.between[0]),update:`{x: x(unit), y: y(unit)${o===void 0?"":`, extent_x: ${i?Pv(e,Be):`slice(${o.signals.visual})`}`}${l===void 0?"":`, extent_y: ${i?Pv(e,lt):`slice(${l.signals.visual})`}`}}`}]},{name:r+f5,value:{},on:[{events:s,update:`{x: ${a}.x - x(unit), y: ${a}.y - y(unit)}`}]}),o!==void 0&&d5(e,t,o,"width",n),l!==void 0&&d5(e,t,l,"height",n),n}};function d5(e,t,n,r,i){let a=t.name,o=a+c5,l=a+f5,s=n.channel,u=oi.defined(t),c=i.find(b=>b.name===n.signals[u?"data":"visual"]),f=e.getSizeSignalRef(r).signal,d=e.getScaleComponent(s),h=d==null?void 0:d.get("type"),p=d==null?void 0:d.get("reverse"),m=u?s===Be?p?"":"-":p?"-":"":"",g=`${o}.extent_${s}`,y=`${m}${l}.${s} / ${u?`${f}`:`span(${g})`}`,v=`${!u||!d?"panLinear":h==="log"?"panLog":h==="symlog"?"panSymlog":h==="pow"?"panPow":"panLinear"}(${g}, ${y}${u?h==="pow"?`, ${d.get("exponent")??1}`:h==="symlog"?`, ${d.get("constant")??1}`:"":""})`;c.on.push({events:{signal:l},update:u?v:`clampRange(${v}, 0, ${f})`})}var h5="_zoom_anchor",p5="_zoom_delta",$Z={defined:e=>e.type==="interval"&&e.zoom,signals:(e,t,n)=>{let r=t.name,i=oi.defined(t),a=r+p5,{x:o,y:l}=t.project.hasChannel,s=H(e.scaleName(Be)),u=H(e.scaleName(lt)),c=ji(t.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+ml,f))),n.push({name:r+h5,on:[{events:c,update:i?`{${[s?`x: invert(${s}, x(unit))`:"",u?`y: invert(${u}, y(unit))`:""].filter(f=>f).join(", ")}}`:"{x: x(unit), y: y(unit)}"}]},{name:a,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&m5(e,t,o,"width",n),l!==void 0&&m5(e,t,l,"height",n),n}};function m5(e,t,n,r,i){let a=t.name,o=n.channel,l=oi.defined(t),s=i.find(g=>g.name===n.signals[l?"data":"visual"]),u=e.getSizeSignalRef(r).signal,c=e.getScaleComponent(o),f=c==null?void 0:c.get("type"),d=l?Pv(e,o):s.name,h=a+p5,p=`${a}${h5}.${o}`,m=`${!l||!c?"zoomLinear":f==="log"?"zoomLog":f==="symlog"?"zoomSymlog":f==="pow"?"zoomPow":"zoomLinear"}(${d}, ${p}, ${h}${l?f==="pow"?`, ${c.get("exponent")??1}`:f==="symlog"?`, ${c.get("constant")??1}`:"":""})`;s.on.push({events:{signal:h},update:l?m:`clampRange(${m}, 0, ${u})`})}var Ya="_store",si="_tuple",AZ="_modify",g5="vlSelectionResolve",sh=[KK,oZ,YK,s5,l5,oi,u5,_Z,EZ,$Z,o5];function DZ(e){let t=e.parent;for(;t&&!pn(t);)t=t.parent;return t}function Ja(e,{escape:t}={escape:!0}){let n=t?H(e.name):e.name,r=DZ(e);if(r){let{facet:i}=r;for(let a of Mn)i[a]&&(n+=` + '__facet_${a}_' + (facet[${H(r.vgField(a))}])`)}return n}function Hv(e){return Ke(e.component.selection??{}).reduce((t,n)=>t||n.project.hasSelectionId,!1)}function y5(e,t){(Y(t.select)||!t.select.on)&&delete e.events,(Y(t.select)||!t.select.clear)&&delete e.clear,(Y(t.select)||!t.select.toggle)&&delete e.toggle}function Nr(e){var t;return(t=e.events)==null?void 0:t.find(n=>"type"in n&&n.type==="timer")}function Gv(e){let t=[];return e.type==="Identifier"?[e.name]:e.type==="Literal"?[e.value]:(e.type==="MemberExpression"&&(t.push(...Gv(e.object)),t.push(...Gv(e.property))),t)}function v5(e){return e.object.type==="MemberExpression"?v5(e.object):e.object.name==="datum"}function b5(e){let t=v1(e),n=new Set;return t.visit(r=>{r.type==="MemberExpression"&&v5(r)&&n.add(Gv(r).slice(1).join("."))}),n}var uh=class VM extends Ce{constructor(n,r,i){super(n);R(this,"model");R(this,"filter");R(this,"expr");R(this,"_dependentFields");this.model=r,this.filter=i,this.expr=ch(this.model,this.filter,this),this._dependentFields=b5(this.expr)}clone(){return new VM(null,this.model,oe(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}};function SZ(e,t){let n={},r=e.config.selection;if(!t||!t.length)return n;let i=0;for(let a of t){let o=Pe(a.name),l=a.select,s=Y(l)?l:l.type,u=J(l)?oe(l):{type:s},c=r[s];for(let h in c)h==="fields"||h==="encodings"||(h==="mark"&&(u.mark={...c.mark,...u.mark}),(u[h]===void 0||u[h]===!0)&&(u[h]=oe(c[h]??u[h])));let f=n[o]={...u,name:o,type:s,init:a.value,bind:a.bind,events:Y(u.on)?ji(u.on,"scope"):Q(oe(u.on))};if(Nr(f)&&(i++,i>1)){delete n[o];continue}let d=oe(a);for(let h of sh)h.defined(f)&&h.parse&&h.parse(e,f,d)}return i>1&&q(tY),n}function x5(e,t,n,r="datum"){let i=Y(t)?t:t.param,a=Pe(i),o=H(a+Ya),l;try{l=e.getSelectionComponent(a,i)}catch{return`!!${a}`}if(l.project.timeUnit){let c=n??e.component.data.raw,f=l.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}let s=`${l.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest("}${o}, ${r}${l.resolve==="global"?")":`, ${H(l.resolve)})`}`,u=`length(data(${o}))`;return t.empty===!1?`${u} && ${s}`:`!${u} || ${s}`}function w5(e,t,n){let r=Pe(t),i=n.encoding,a=n.field,o;try{o=e.getSelectionComponent(r,t)}catch{return r}if(!i&&!a)a=o.project.items[0].field,o.project.items.length>1&&q(nY(a));else if(i&&!a){let l=o.project.items.filter(s=>s.channel===i);!l.length||l.length>1?(a=o.project.items[0].field,q(rY(l,i,n,a))):a=l[0].field}return`${o.name}[${H(Sn(a))}]`}function FZ(e,t){for(let[n,r]of Ui(e.component.selection??{})){let i=e.getName(`lookup_${n}`);e.component.data.outputNodes[i]=r.materialized=new tn(new uh(t,e,{param:n}),i,He.Lookup,e.component.data.outputNodeRefCounts)}}function ch(e,t,n){return Ks(t,r=>Y(r)?r:dJ(r)?x5(e,r,n):QF(r))}function CZ(e,t){if(e)return N(e)&&!Ki(e)?e.map(n=>uv(n,t)).join(", "):e}function Vv(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function yu(e,t,n,r={header:!1}){var f,d;let{disable:i,orient:a,scale:o,labelExpr:l,title:s,zindex:u,...c}=e.combine();if(!i){for(let h in c){let p=h,m=dQ[p],g=c[p];if(m&&m!==t&&m!=="both")delete c[p];else if(hu(g)){let{condition:y,...v}=g,b=Q(y),w=zC[p];if(w){let{vgProp:_,part:k}=w;Vv(c,k,_,[...b.map(x=>{let{test:E,...$}=x;return{test:ch(null,E),...$}}),v]),delete c[p]}else w===null&&(c[p]={signal:b.map(_=>{let{test:k,...x}=_;return`${ch(null,k)} ? ${vF(x)} : `}).join("")+vF(v)})}else if(ee(g)){let y=zC[p];if(y){let{vgProp:v,part:b}=y;Vv(c,b,v,g),delete c[p]}}ce(["labelAlign","labelBaseline"],p)&&c[p]===null&&delete c[p]}if(t==="grid"){if(!c.grid)return;if(c.encode){let{grid:h}=c.encode;c.encode={...h?{grid:h}:{}},ze(c.encode)&&delete c.encode}return{scale:o,orient:a,...c,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Ye(u,0)}}else{if(!r.header&&e.mainExtracted)return;if(l!==void 0){let p=l;(d=(f=c.encode)==null?void 0:f.labels)!=null&&d.update&&ee(c.encode.labels.update.text)&&(p=Ma(l,"datum.label",c.encode.labels.update.text.signal)),Vv(c,"labels","text",{signal:p})}if(c.labelAlign===null&&delete c.labelAlign,c.encode){for(let p of NC)e.hasAxisPart(p)||delete c.encode[p];ze(c.encode)&&delete c.encode}let h=CZ(s,n);return{scale:o,orient:a,grid:!1,...h?{title:h}:{},...c,...n.aria===!1?{aria:!1}:{},zindex:Ye(u,0)}}}}function _5(e){let{axes:t}=e.component,n=[];for(let r of ei)if(t[r]){for(let i of t[r])if(!i.get("disable")&&!i.get("gridScale")){let a=r==="x"?"height":"width",o=e.getSizeSignalRef(a).signal;a!==o&&n.push({name:a,update:o})}}return n}function MZ(e,t){let{x:n=[],y:r=[]}=e;return[...n.map(i=>yu(i,"grid",t)),...r.map(i=>yu(i,"grid",t)),...n.map(i=>yu(i,"main",t)),...r.map(i=>yu(i,"main",t))].filter(i=>i)}function k5(e,t,n,r){return Object.assign.apply(null,[{},...e.map(i=>{if(i==="axisOrient"){let a=n==="x"?"bottom":"left",o=t[n==="x"?"axisBottom":"axisLeft"]||{},l=t[n==="x"?"axisTop":"axisRight"]||{},s=new Set([...I(o),...I(l)]),u={};for(let c of s.values())u[c]={signal:`${r.signal} === "${a}" ? ${Kn(o[c])} : ${Kn(l[c])}`};return u}return t[i]})])}function OZ(e,t,n,r){let i=t==="band"?["axisDiscrete","axisBand"]:t==="point"?["axisDiscrete","axisPoint"]:tC(t)?["axisQuantitative"]:t==="time"||t==="utc"?["axisTemporal"]:[],a=e==="x"?"axisX":"axisY",o=ee(n)?"axisOrient":`axis${Zs(n)}`,l=[...i,...i.map(u=>a+u.substr(4))],s=["axis",o,a];return{vlOnlyAxisConfig:k5(l,r,e,n),vgAxisConfig:k5(s,r,e,n),axisConfigStyle:zZ([...s,...l],r)}}function zZ(e,t){var r;let n=[{}];for(let i of e){let a=(r=t[i])==null?void 0:r.style;if(a){a=Q(a);for(let o of a)n.push(t.style[o])}}return Object.assign.apply(null,n)}function Xv(e,t,n,r={}){var a;let i=xF(e,n,t);if(i!==void 0)return{configFrom:"style",configValue:i};for(let o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((a=r[o])==null?void 0:a[e])!==void 0)return{configFrom:o,configValue:r[o][e]};return{}}var E5={scale:({model:e,channel:t})=>e.scaleName(t),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:t,scaleType:n})=>t.grid??NZ(n,e),gridScale:({model:e,channel:t})=>RZ(e,t),labelAlign:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelAlign||A5(t,n,r),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:t,orient:n,channel:r})=>e.labelBaseline||$5(t,n,r),labelFlush:({axis:e,fieldOrDatumDef:t,channel:n})=>e.labelFlush??LZ(t.type,n),labelOverlap:({axis:e,fieldOrDatumDef:t,scaleType:n})=>e.labelOverlap??PZ(t.type,n,U(t)&&!!t.timeUnit,U(t)?t.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:t,axis:n,fieldOrDatumDef:r,scaleType:i})=>{let a=e==="x"?"width":e==="y"?"height":void 0,o=a?t.getSizeSignalRef(a):void 0;return n.tickCount??IZ({fieldOrDatumDef:r,scaleType:i,size:o,values:n.values})},tickMinStep:({axis:e,format:t,fieldOrDatumDef:n})=>e.tickMinStep??jZ({format:t,fieldOrDatumDef:n}),title:({axis:e,model:t,channel:n})=>{if(e.title!==void 0)return e.title;let r=D5(t,n);if(r!==void 0)return r;let i=t.typedFieldDef(n),a=n==="x"?"x2":"y2",o=t.fieldDef(a);return _F(i?[wC(i)]:[],U(o)?[wC(o)]:[])},values:({axis:e,fieldOrDatumDef:t})=>qZ(e,t),zindex:({axis:e,fieldOrDatumDef:t,mark:n})=>e.zindex??UZ(n,t)};function NZ(e,t){return!ut(e)&&U(t)&&!Ne(t==null?void 0:t.bin)&&!pt(t==null?void 0:t.bin)}function RZ(e,t){let n=t==="x"?"y":"x";if(e.getScaleComponent(n))return e.scaleName(n)}function TZ(e,t,n,r,i){let a=t==null?void 0:t.labelAngle;if(a!==void 0)return ee(a)?a:eu(a);{let{configValue:o}=Xv("labelAngle",r,t==null?void 0:t.style,i);return o===void 0?n===Be&&ce([Vy,Gy],e.type)&&!(U(e)&&e.timeUnit)?270:void 0:eu(o)}}function Yv(e){return`(((${e.signal} % 360) + 360) % 360)`}function $5(e,t,n,r){if(e!==void 0)if(n==="x"){if(ee(e)){let i=Yv(e);return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${ee(t)?`(${t.signal} === "top")`:t==="top"} ? "bottom" : "top"`}}if(45<e&&e<135||225<e&&e<315)return"middle";if(ee(t)){let i=e<=45||315<=e?"===":"!==";return{signal:`${t.signal} ${i} "top" ? "bottom" : "top"`}}return(e<=45||315<=e)==(t==="top")?"bottom":"top"}else{if(ee(e)){let i=Yv(e),a=ee(t)?`(${t.signal} === "left")`:t==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${a} ? "top" : "bottom"`}}if(e<=45||315<=e||135<=e&&e<=225)return r?"middle":null;if(ee(t)){let i=45<=e&&e<=135?"===":"!==";return{signal:`${t.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=e&&e<=135)==(t==="left")?"top":"bottom"}}function A5(e,t,n){if(e===void 0)return;let r=n==="x",i=r?0:90,a=r?"bottom":"left";if(ee(e)){let o=Yv(e),l=ee(t)?`(${t.signal} === "${a}")`:t===a;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${l} ? "left" : "right"`}}if((e+i)%180==0)return r?null:"center";if(ee(t)){let o=i<e&&e<180+i?"===":"!==";return{signal:`${`${t.signal} ${o} "${a}"`} ? "left" : "right"`}}return(i<e&&e<180+i)==(t===a)?"left":"right"}function LZ(e,t){if(t==="x"&&ce(["quantitative","temporal"],e))return!0}function PZ(e,t,n,r){if(n&&!J(r)||e!=="nominal"&&e!=="ordinal")return t==="log"||t==="symlog"?"greedy":!0}function BZ(e){return e==="x"?"bottom":"left"}function IZ({fieldOrDatumDef:e,scaleType:t,size:n,values:r}){var i;if(!r&&!ut(t)&&t!=="log"){if(U(e)){if(Ne(e.bin))return{signal:`ceil(${n.signal}/10)`};if(e.timeUnit&&ce(["month","hours","day","quarter"],(i=st(e.timeUnit))==null?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function jZ({format:e,fieldOrDatumDef:t}){if(e==="d")return 1;if(U(t)){let{timeUnit:n}=t;if(n){let r=XF(n);if(r)return{signal:r}}}}function D5(e,t){let n=t==="x"?"x2":"y2",r=e.fieldDef(t),i=e.fieldDef(n),a=r?r.title:void 0,o=i?i.title:void 0;if(a&&o)return kF(a,o);if(a)return a;if(o)return o;if(a!==void 0)return a;if(o!==void 0)return o}function qZ(e,t){let n=e.values;if(N(n))return OC(t,n);if(ee(n))return n}function UZ(e,t){return e==="rect"&&Ud(t)?1:0}var Jv=class lx extends Ce{constructor(n,r){super(n);R(this,"transform");R(this,"_dependentFields");this.transform=r,this._dependentFields=b5(this.transform.calculate)}clone(){return new lx(null,oe(this.transform))}static parseAllForSortIndex(n,r){return r.forEachFieldDef((i,a)=>{if(Ha(i)&&xC(i.sort)){let{field:o,timeUnit:l}=i,s=i.sort,u=s.map((c,f)=>`${QF({field:o,timeUnit:l,equal:c})} ? ${f} : `).join("")+s.length;n=new lx(n,{calculate:u,as:vl(i,a,{forAs:!0})})}}),n}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 ${pe(this.transform)}`}};function vl(e,t,n){return X(e,{prefix:t,suffix:"sort_index",...n})}function fh(e,t){return ce(["top","bottom"],t)?"column":ce(["left","right"],t)||e==="row"?"row":"column"}function bl(e,t,n,r){let i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return Ye((t||{})[e],i[e],n.header[e])}function dh(e,t,n,r){let i={};for(let a of e){let o=bl(a,t||{},n,r);o!==void 0&&(i[a]=o)}return i}var Qv=["row","column"],Kv=["header","footer"];function WZ(e,t){let n=e.component.layoutHeaders[t].title,r=e.config?e.config:void 0,i=e.component.layoutHeaders[t].facetFieldDef?e.component.layoutHeaders[t].facetFieldDef:void 0,{titleAnchor:a,titleAngle:o,titleOrient:l}=dh(["titleAnchor","titleAngle","titleOrient"],i.header,r,t),s=fh(t,l),u=eu(o);return{name:`${t}-title`,type:"group",role:`${s}-title`,title:{text:n,...t==="row"?{orient:"left"}:{},style:"guide-title",...F5(u,s),...S5(s,u,a),...C5(r,i,t,zQ,e3)}}}function S5(e,t,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}let r=A5(t,e==="row"?"left":"top",e==="row"?"y":"x");return r?{align:r}:{}}function F5(e,t){let n=$5(e,t==="row"?"left":"top",t==="row"?"y":"x",!0);return n?{baseline:n}:{}}function HZ(e,t){let n=e.component.layoutHeaders[t],r=[];for(let i of Kv)if(n[i])for(let a of n[i]){let o=VZ(e,t,i,n,a);o!=null&&r.push(o)}return r}function GZ(e,t){let{sort:n}=e;return ri(n)?{field:X(n,{expr:"datum"}),order:n.order??"ascending"}:N(n)?{field:vl(e,t,{expr:"datum"}),order:"ascending"}:{field:X(e,{expr:"datum"}),order:n??"ascending"}}function Zv(e,t,n){let{format:r,formatType:i,labelAngle:a,labelAnchor:o,labelOrient:l,labelExpr:s}=dh(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,n,t),u=iv({fieldOrDatumDef:e,format:r,formatType:i,expr:"parent",config:n}).signal,c=fh(t,l);return{text:{signal:s?Ma(Ma(s,"datum.label",u),"datum.value",X(e,{expr:"parent"})):u},...t==="row"?{orient:"left"}:{},style:"guide-label",frame:"group",...F5(a,c),...S5(c,a,o),...C5(n,e,t,NQ,t3)}}function VZ(e,t,n,r,i){if(i){let a=null,{facetFieldDef:o}=r,l=e.config?e.config:void 0;if(o&&i.labels){let{labelOrient:f}=dh(["labelOrient"],o.header,l,t);(t==="row"&&!ce(["top","bottom"],f)||t==="column"&&!ce(["left","right"],f))&&(a=Zv(o,t,l))}let s=pn(e)&&!uu(e.facet),u=i.axes,c=(u==null?void 0:u.length)>0;if(a||c){let f=t==="row"?"height":"width";return{name:e.getName(`${t}_${n}`),type:"group",role:`${t}-${n}`,...r.facetFieldDef?{from:{data:e.getName(`${t}_domain`)},sort:GZ(o,t)}:{},...c&&s?{from:{data:e.getName(`facet_domain_${t}`)}}:{},...a?{title:a}:{},...i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{},...c?{axes:u}:{}}}}return null}var XZ={column:{start:0,end:1},row:{start:1,end:0}};function YZ(e,t){return XZ[t][e]}function JZ(e,t){let n={};for(let r of Mn){let i=e[r];if(i!=null&&i.facetFieldDef){let{titleAnchor:a,titleOrient:o}=dh(["titleAnchor","titleOrient"],i.facetFieldDef.header,t,r),l=fh(r,o),s=YZ(a,l);s!==void 0&&(n[l]=s)}}return ze(n)?void 0:n}function C5(e,t,n,r,i){let a={};for(let o of r){if(!i[o])continue;let l=bl(o,t==null?void 0:t.header,e,n);l!==void 0&&(a[i[o]]=l)}return a}function eb(e){return[...hh(e,"width"),...hh(e,"height"),...hh(e,"childWidth"),...hh(e,"childHeight")]}function hh(e,t){let n=t==="width"?"x":"y",r=e.component.layoutSize.get(t);if(r==null||r==="merged")return[];let i=e.getSizeSignalRef(t).signal;if(r==="step"){let a=e.getScaleComponent(n);if(a){let o=a.get("type"),l=a.get("range");if(ut(o)&&Ta(l)){let s=e.scaleName(n);return pn(e.parent)&&e.parent.component.resolve.scale[n]==="independent"?[M5(s,l)]:[M5(s,l),{name:i,update:O5(s,a,`domain('${s}').length`)}]}}throw Error("layout size is step although width/height is not step.")}else if(r=="container"){let a=i.endsWith("width"),o=a?"containerSize()[0]":"containerSize()[1]",l=`isFinite(${o}) ? ${o} : ${kv(e.config.view,a?"width":"height")}`;return[{name:i,init:l,on:[{update:l,events:"window:resize"}]}]}else return[{name:i,value:r}]}function M5(e,t){let n=`${e}_step`;return ee(t.step)?{name:n,update:t.step.signal}:{name:n,value:t.step}}function O5(e,t,n){let r=t.get("type"),i=t.get("padding"),a=Ye(t.get("paddingOuter"),i),o=t.get("paddingInner");return o=r==="band"?o===void 0?i:o:1,`bandspace(${n}, ${Kn(o)}, ${Kn(a)}) * ${e}_step`}function z5(e){return e==="childWidth"?"width":e==="childHeight"?"height":e}function N5(e,t){return I(e).reduce((n,r)=>({...n,...gl({model:t,channelDef:e[r],vgChannel:r,mainRefFn:i=>Te(i.value),invalidValueRef:void 0})}),{})}function R5(e,t){if(pn(t))return e==="theta"?"independent":"shared";if(kl(t))return"shared";if(bb(t))return Je(e)||e==="theta"||e==="radius"?"independent":"shared";throw Error("invalid model type for resolve")}function tb(e,t){let n=e.scale[t],r=Je(t)?"axis":"legend";return n==="independent"?(e[r][t]==="shared"&&q(NY(t)),"independent"):e[r][t]||"shared"}var T5=I({...TQ,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),QZ=class extends Va{},L5={symbols:KZ,gradient:ZZ,labels:eee,entries:tee};function KZ(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i,legendType:a}){if(a!=="symbol")return;let{markDef:o,encoding:l,config:s,mark:u}=n,c=o.filled&&u!=="trail",f={...qX({},n,LJ),...K3(n,{filled:c})},d=i.get("symbolOpacity")??s.legend.symbolOpacity,h=i.get("symbolFillColor")??s.legend.symbolFillColor,p=i.get("symbolStrokeColor")??s.legend.symbolStrokeColor,m=d===void 0?P5(l.opacity)??o.opacity:void 0;if(f.fill){if(r==="fill"||c&&r===Kt)delete f.fill;else if(j(f.fill,"field"))h?delete f.fill:(f.fill=Te(s.legend.symbolBaseFillColor??"black"),f.fillOpacity=Te(m??1));else if(N(f.fill)){let g=nb(l.fill??l.color)??o.fill??(c&&o.color);g&&(f.fill=Te(g))}}if(f.stroke){if(r==="stroke"||!c&&r===Kt)delete f.stroke;else if(j(f.stroke,"field")||p)delete f.stroke;else if(N(f.stroke)){let g=Ye(nb(l.stroke||l.color),o.stroke,c?o.color:void 0);g&&(f.stroke={value:g})}}if(r!==Zr){let g=U(t)&&I5(n,i,t);g?f.opacity=[{test:g,...Te(m??1)},Te(s.legend.unselectedOpacity)]:m&&(f.opacity=Te(m))}return f={...f,...e},ze(f)?void 0:f}function ZZ(e,{model:t,legendType:n,legendCmpt:r}){if(n!=="gradient")return;let{config:i,markDef:a,encoding:o}=t,l={},s=(r.get("gradientOpacity")??i.legend.gradientOpacity)===void 0?P5(o.opacity)||a.opacity:void 0;return s&&(l.opacity=Te(s)),l={...l,...e},ze(l)?void 0:l}function eee(e,{fieldOrDatumDef:t,model:n,channel:r,legendCmpt:i}){let a=n.legend(r)||{},o=n.config,l=U(t)?I5(n,i,t):void 0,s=l?[{test:l,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:u,formatType:c}=a,f;Wa(c)?f=er({fieldOrDatumDef:t,field:"datum.value",format:u,formatType:c,config:o}):u===void 0&&c===void 0&&o.customFormatTypes&&(t.type==="quantitative"&&o.numberFormatType?f=er({fieldOrDatumDef:t,field:"datum.value",format:o.numberFormat,formatType:o.numberFormatType,config:o}):t.type==="temporal"&&o.timeFormatType&&U(t)&&t.timeUnit===void 0&&(f=er({fieldOrDatumDef:t,field:"datum.value",format:o.timeFormat,formatType:o.timeFormatType,config:o})));let d={...s?{opacity:s}:{},...f?{text:f}:{},...e};return ze(d)?void 0:d}function tee(e,{legendCmpt:t}){var n;return(n=t.get("selections"))!=null&&n.length?{...e,fill:{value:"transparent"}}:e}function P5(e){return B5(e,(t,n)=>Math.max(t,n.value))}function nb(e){return B5(e,(t,n)=>Ye(t,n.value))}function B5(e,t){if(eQ(e))return Q(e.condition).reduce(t,e.value);if(tr(e))return e.value}function I5(e,t,n){let r=t.get("selections");if(!(r!=null&&r.length))return;let i=H(n.field);return r.map(a=>`(!length(data(${H(Pe(a)+Ya)})) || (${a}[${i}] && indexof(${a}[${i}], datum.value) >= 0))`).join(" || ")}var j5={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:t,config:n})=>{let{format:r,formatType:i}=t;return mC(e,e.type,r,i,n,!1)},formatType:({legend:e,fieldOrDatumDef:t,scaleType:n})=>{let{formatType:r}=e;return gC(r,t,n)},gradientLength:e=>{let{legend:t,legendConfig:n}=e;return t.gradientLength??n.gradientLength??see(e)},labelOverlap:({legend:e,legendConfig:t,scaleType:n})=>e.labelOverlap??t.labelOverlap??uee(n),symbolType:({legend:e,markDef:t,channel:n,encoding:r})=>e.symbolType??ree(t.type,n,r.shape,t.shape),title:({fieldOrDatumDef:e,config:t})=>sl(e,t,{allowDisabling:!0}),type:({legendType:e,scaleType:t,channel:n})=>{if(nl(n)&&Fr(t)){if(e==="gradient")return}else if(e==="symbol")return;return e},values:({fieldOrDatumDef:e,legend:t})=>nee(t,e)};function nee(e,t){let n=e.values;if(N(n))return OC(t,n);if(ee(n))return n}function ree(e,t,n,r){if(t!=="shape"){let i=nb(n)??r;if(i)return i}switch(e){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 iee(e){let{legend:t}=e;return Ye(t.type,aee(e))}function aee({channel:e,timeUnit:t,scaleType:n}){if(nl(e)){if(ce(["quarter","month","day"],t))return"symbol";if(Fr(n))return"gradient"}return"symbol"}function oee({legendConfig:e,legendType:t,orient:n,legend:r}){return r.direction??e[t?"gradientDirection":"symbolDirection"]??lee(n,t)}function lee(e,t){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return t==="gradient"?"horizontal":void 0}}function see({legendConfig:e,model:t,direction:n,orient:r,scaleType:i}){let{gradientHorizontalMaxLength:a,gradientHorizontalMinLength:o,gradientVerticalMaxLength:l,gradientVerticalMinLength:s}=e;if(Fr(i))return n==="horizontal"?r==="top"||r==="bottom"?q5(t,"width",o,a):o:q5(t,"height",s,l)}function q5(e,t,n,r){return{signal:`clamp(${e.getSizeSignalRef(t).signal}, ${n}, ${r})`}}function uee(e){if(ce(["quantile","threshold","log","symlog"],e))return"greedy"}function U5(e){let t=je(e)?cee(e):pee(e);return e.component.legends=t,t}function cee(e){let{encoding:t}=e,n={};for(let r of[Kt,...r3]){let i=rt(t[r]);!i||!e.getScaleComponent(r)||r===Zt&&U(i)&&i.type===il||(n[r]=hee(e,r))}return n}function fee(e,t){let n=e.scaleName(t);if(e.mark==="trail"){if(t==="color")return{stroke:n};if(t==="size")return{strokeWidth:n}}return t==="color"?e.markDef.filled?{fill:n}:{stroke:n}:{[t]:n}}function dee(e,t,n,r){switch(t){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(t==="title"&&e===(r==null?void 0:r.title))return!0}return e===(n||{})[t]}function hee(e,t){var w;let n=e.legend(t),{markDef:r,encoding:i,config:a}=e,o=a.legend,l=new QZ({},fee(e,t));kZ(e,t,l);let s=n===void 0?o.disable:!n;if(l.set("disable",s,n!==void 0),s)return l;n||(n={});let u=e.getScaleComponent(t).get("type"),c=rt(i[t]),f=U(c)?(w=st(c.timeUnit))==null?void 0:w.unit:void 0,d=n.orient||a.legend.orient||"right",h=iee({legend:n,channel:t,timeUnit:f,scaleType:u}),p=oee({legend:n,legendType:h,orient:d,legendConfig:o}),m={legend:n,channel:t,model:e,markDef:r,encoding:i,fieldOrDatumDef:c,legendConfig:o,config:a,scaleType:u,orient:d,legendType:h,direction:p};for(let _ of T5){if(h==="gradient"&&_.startsWith("symbol")||h==="symbol"&&_.startsWith("gradient"))continue;let k=_ in j5?j5[_](m):n[_];if(k!==void 0){let x=dee(k,_,n,e.fieldDef(t));(x||a.legend[_]===void 0)&&l.set(_,k,x)}}let g=(n==null?void 0:n.encoding)??{},y=l.get("selections"),v={},b={fieldOrDatumDef:c,model:e,channel:t,legendCmpt:l,legendType:h};for(let _ of["labels","legend","title","symbols","gradient","entries"]){let k=N5(g[_]??{},e),x=_ in L5?L5[_](k,b):k;x!==void 0&&!ze(x)&&(v[_]={...y!=null&&y.length&&U(c)?{name:`${Pe(c.field)}_legend_${_}`}:{},...y!=null&&y.length?{interactive:!0}:{},update:y!=null&&y.length?{...x,cursor:{value:"pointer"}}:x})}return ze(v)||l.set("encode",v,!!(n!=null&&n.encoding)),l}function pee(e){let{legends:t,resolve:n}=e.component;for(let r of e.children){U5(r);for(let i of I(r.component.legends))n.legend[i]=tb(e.component.resolve,i),n.legend[i]==="shared"&&(t[i]=W5(t[i],r.component.legends[i]),t[i]||(n.legend[i]="independent",delete t[i]))}for(let r of I(t))for(let i of e.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return t}function W5(e,t){var a,o,l,s;if(!e)return t.clone();let n=e.getWithExplicit("orient"),r=t.getWithExplicit("orient");if(n.explicit&&r.explicit&&n.value!==r.value)return;let i=!1;for(let u of T5){let c=na(e.getWithExplicit(u),t.getWithExplicit(u),u,"legend",(f,d)=>{switch(u){case"symbolType":return mee(f,d);case"title":return EF(f,d);case"type":return i=!0,ir("symbol")}return th(f,d,u,"legend")});e.setWithExplicit(u,c)}return i&&((o=(a=e.implicit)==null?void 0:a.encode)!=null&&o.gradient&&bd(e.implicit,["encode","gradient"]),(s=(l=e.explicit)==null?void 0:l.encode)!=null&&s.gradient&&bd(e.explicit,["encode","gradient"])),e}function mee(e,t){return t.value==="circle"?t:e}function gee(e,t,n,r){var i,a;e.encode??(e.encode={}),(i=e.encode)[t]??(i[t]={}),(a=e.encode[t]).update??(a.update={}),e.encode[t].update[n]=r}function H5(e){let t=e.component.legends,n={};for(let r of I(t)){let i=Ee(e.getScaleComponent(r).get("domains"));if(n[i])for(let a of n[i])W5(a,t[r])||n[i].push(t[r]);else n[i]=[t[r].clone()]}return Ke(n).flat().map(r=>yee(r,e.config)).filter(r=>r!==void 0)}function yee(e,t){var o,l,s;let{disable:n,labelExpr:r,selections:i,...a}=e.combine();if(!n){if(t.aria===!1&&a.aria==null&&(a.aria=!1),(o=a.encode)==null?void 0:o.symbols){let u=a.encode.symbols.update;u.fill&&u.fill.value!=="transparent"&&!u.stroke&&!a.stroke&&(u.stroke={value:"transparent"});for(let c of r3)a[c]&&delete u[c]}if(a.title||delete a.title,r!==void 0){let u=r;(s=(l=a.encode)==null?void 0:l.labels)!=null&&s.update&&ee(a.encode.labels.update.text)&&(u=Ma(r,"datum.label",a.encode.labels.update.text.signal)),gee(a,"labels","text",{signal:u})}return a}}function vee(e){return kl(e)||bb(e)?bee(e):G5(e)}function bee(e){return e.children.reduce((t,n)=>t.concat(n.assembleProjections()),G5(e))}function G5(e){let t=e.component.projection;if(!t||t.merged)return[];let n=t.combine(),{name:r}=n;if(t.data){let i={signal:`[${t.size.map(o=>o.signal).join(", ")}]`},a=t.data.reduce((o,l)=>{let s=ee(l)?l.signal:`data('${e.lookupDataSource(l)}')`;return ce(o,s)||o.push(s),o},[]);if(a.length<=0)throw Error("Projection's fit didn't find any data sources");return[{name:r,size:i,fit:{signal:a.length>1?`[${a.join(", ")}]`:a[0]},...n}]}else return[{name:r,translate:{signal:"[width / 2, height / 2]"},...n}]}var xee=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"],V5=class extends Va{constructor(t,n,r,i){super({...n},{name:t});R(this,"specifiedProjection");R(this,"size");R(this,"data");R(this,"merged",!1);this.specifiedProjection=n,this.size=r,this.data=i}get isFit(){return!!this.data}};function X5(e){e.component.projection=je(e)?wee(e):Eee(e)}function wee(e){if(e.hasProjection){let t=mt(e.specifiedProjection),n=!(t&&(t.scale!=null||t.translate!=null)),r=n?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,i=n?_ee(e):void 0,a=new V5(e.projectionName(!0),{...mt(e.config.projection),...t},r,i);return a.get("type")||a.set("type","equalEarth",!1),a}}function _ee(e){let t=[],{encoding:n}=e;for(let r of[[Jn,Yn],[Cn,Qn]])(rt(n[r[0]])||rt(n[r[1]]))&&t.push({signal:e.getName(`geojson_${t.length}`)});return e.channelHasField(Zt)&&e.typedFieldDef(Zt).type===il&&t.push({signal:e.getName(`geojson_${t.length}`)}),t.length===0&&t.push(e.requestDataName(He.Main)),t}function kee(e,t){let n=fy(xee,r=>!!(!K(e.explicit,r)&&!K(t.explicit,r)||K(e.explicit,r)&&K(t.explicit,r)&&fn(e.get(r),t.get(r))));if(fn(e.size,t.size)){if(n)return e;if(fn(e.explicit,{}))return t;if(fn(t.explicit,{}))return e}return null}function Eee(e){if(e.children.length===0)return;let t;for(let r of e.children)X5(r);let n=fy(e.children,r=>{let i=r.component.projection;if(i)if(t){let a=kee(t,i);return a&&(t=a),!!a}else return t=i,!0;else return!0});if(t&&n){let r=e.projectionName(!0),i=new V5(r,t.specifiedProjection,t.size,oe(t.data));for(let a of e.children){let o=a.component.projection;o&&(o.isFit&&i.data.push(...a.component.projection.data),a.renameProjection(o.get("name"),r),o.merged=!0)}return i}}function $ee(e,t,n,r){if(du(t,n)){let i=je(e)?e.axis(n)??e.legend(n)??{}:{},a=X(t,{expr:"datum"}),o=X(t,{expr:"datum",binSuffix:"end"});return{formulaAs:X(t,{binSuffix:"range",forAs:!0}),formula:su(a,o,i.format,i.formatType,r)}}return{}}function Y5(e,t){return`${hF(e)}_${t}`}function Aee(e,t){return{signal:e.getName(`${t}_bins`),extentSignal:e.getName(`${t}_extent`)}}function rb(e,t,n){let r=Y5(Gd(n,void 0)??{},t);return e.getName(`${r}_bins`)}function Dee(e){return"as"in e}function J5(e,t,n){let r,i;r=Dee(e)?Y(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[X(e,{forAs:!0}),X(e,{binSuffix:"end",forAs:!0})];let a={...Gd(t,void 0)},o=Y5(a,e.field),{signal:l,extentSignal:s}=Aee(n,o);if(Sd(a.extent)){let u=a.extent;i=w5(n,u.param,u),delete a.extent}return{key:o,binComponent:{bin:a,field:e.field,as:[r],...l?{signal:l}:{},...s?{extentSignal:s}:{},...i?{span:i}:{}}}}var xl=class Nh extends Ce{constructor(n,r){super(n);R(this,"bins");this.bins=r}clone(){return new Nh(null,oe(this.bins))}static makeFromEncoding(n,r){let i=r.reduceFieldDef((a,o,l)=>{if(Ut(o)&&Ne(o.bin)){let{key:s,binComponent:u}=J5(o,o.bin,r);a[s]={...u,...a[s],...$ee(r,o,l,r.config)}}return a},{});return ze(i)?null:new Nh(n,i)}static makeFromTransform(n,r,i){let{key:a,binComponent:o}=J5(r,r.bin,i);return new Nh(n,{[a]:o})}merge(n,r){for(let i of I(n.bins))i in this.bins?(r(n.bins[i].signal,this.bins[i].signal),this.bins[i].as=wr([...this.bins[i].as,...n.bins[i].as],pe)):this.bins[i]=n.bins[i];for(let i of n.children)n.removeChild(i),i.parent=this;n.remove()}producedFields(){return new Set(Ke(this.bins).map(n=>n.as).flat(2))}dependentFields(){return new Set(Ke(this.bins).map(n=>n.field))}hash(){return`Bin ${pe(this.bins)}`}assemble(){return Ke(this.bins).flatMap(n=>{let r=[],[i,...a]=n.as,{extent:o,...l}=n.bin,s={type:"bin",field:Sn(n.field),as:i,signal:n.signal,...Sd(o)?{extent:null}:{extent:o},...n.span?{span:{signal:`span(${n.span})`}}:{},...l};!o&&n.extentSignal&&(r.push({type:"extent",field:Sn(n.field),signal:n.extentSignal}),s.extent={signal:n.extentSignal}),r.push(s);for(let u of a)for(let c=0;c<2;c++)r.push({type:"formula",expr:X({field:i[c]},{expr:"datum"}),as:u[c]});return n.formula&&r.push({type:"formula",expr:n.formula,as:n.formulaAs}),r})}};function See(e,t,n,r){var a;let i=je(r)?r.encoding[$r(t)]:void 0;if(Ut(n)&&je(r)&&kC(n,i,r.markDef,r.config)){e.add(X(n,{})),e.add(X(n,{suffix:"end"}));let{mark:o,markDef:l,config:s}=r,u=ea({fieldDef:n,markDef:l,config:s});ou(o)&&u!==.5&&Je(t)&&(e.add(X(n,{suffix:nh})),e.add(X(n,{suffix:rh}))),n.bin&&du(n,t)&&e.add(X(n,{binSuffix:"range"}))}else if(iF(t)){let o=rF(t);e.add(r.getName(o))}else e.add(X(n));return Ha(n)&&$J((a=n.scale)==null?void 0:a.range)&&e.add(n.scale.range.field),e}function Fee(e,t){for(let n of I(t)){let r=t[n];for(let i of I(r))n in e?e[n][i]=new Set([...e[n][i]??[],...r[i]]):e[n]={[i]:r[i]}}}var Qa=class Rh extends Ce{constructor(n,r,i){super(n);R(this,"dimensions");R(this,"measures");this.dimensions=r,this.measures=i}clone(){return new Rh(null,new Set(this.dimensions),oe(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(n,r){let i=!1;r.forEachFieldDef(l=>{l.aggregate&&(i=!0)});let a={},o=new Set;return!i||(r.forEachFieldDef((l,s)=>{let{aggregate:u,field:c}=l;if(u)if(u==="count")a["*"]??(a["*"]={}),a["*"].count=new Set([X(l,{forAs:!0})]);else{if(ti(u)||Qi(u)){let f=ti(u)?"argmin":"argmax",d=u[f];a[d]??(a[d]={}),a[d][f]=new Set([X({op:f,field:d},{forAs:!0})])}else a[c]??(a[c]={}),a[c][u]=new Set([X(l,{forAs:!0})]);Ar(s)&&r.scaleDomain(s)==="unaggregated"&&(a[c]??(a[c]={}),a[c].min=new Set([X({field:c,aggregate:"min"},{forAs:!0})]),a[c].max=new Set([X({field:c,aggregate:"max"},{forAs:!0})]))}else See(o,s,l,r)}),o.size+I(a).length===0)?null:new Rh(n,o,a)}static makeFromTransform(n,r){var o;let i=new Set,a={};for(let l of r.aggregate){let{op:s,field:u,as:c}=l;s&&(s==="count"?(a["*"]??(a["*"]={}),a["*"].count=new Set([c||X(l,{forAs:!0})])):(a[u]??(a[u]={}),(o=a[u])[s]??(o[s]=new Set),a[u][s].add(c||X(l,{forAs:!0}))))}for(let l of r.groupby??[])i.add(l);return i.size+I(a).length===0?null:new Rh(n,i,a)}merge(n){return VS(this.dimensions,n.dimensions)?(Fee(this.measures,n.measures),!0):(JY("different dimensions, cannot merge"),!1)}addDimensions(n){n.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...I(this.measures)])}producedFields(){let n=new Set;for(let r of I(this.measures))for(let i of I(this.measures[r])){let a=this.measures[r][i];a.size===0?n.add(`${i}_${r}`):a.forEach(n.add,n)}return n}hash(){return`Aggregate ${pe({dimensions:this.dimensions,measures:this.measures})}`}assemble(){let n=[],r=[],i=[];for(let a of I(this.measures))for(let o of I(this.measures[a]))for(let l of this.measures[a][o])i.push(l),n.push(o),r.push(a==="*"?null:Sn(a));return{type:"aggregate",groupby:[...this.dimensions].map(Sn),ops:n,fields:r,as:i}}},wl=class extends Ce{constructor(t,n,r,i){super(t);R(this,"model");R(this,"name");R(this,"data");R(this,"column");R(this,"row");R(this,"facet");R(this,"childModel");this.model=n,this.name=r,this.data=i;for(let a of Mn){let o=n.facet[a];if(o){let{bin:l,sort:s}=o;this[a]={name:n.getName(`${a}_domain`),fields:[X(o),...Ne(l)?[X(o,{binSuffix:"end"})]:[]],...ri(s)?{sortField:s}:N(s)?{sortIndexField:vl(o,a)}:{}}}}this.childModel=n.child}hash(){let t="Facet";for(let n of Mn)this[n]&&(t+=` ${n.charAt(0)}:${pe(this[n])}`);return t}get fields(){var n;let t=[];for(let r of Mn)(n=this[r])!=null&&n.fields&&t.push(...this[r].fields);return t}dependentFields(){let t=new Set(this.fields);for(let n of Mn)this[n]&&(this[n].sortField&&t.add(this[n].sortField.field),this[n].sortIndexField&&t.add(this[n].sortIndexField));return t}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){let t={};for(let n of ei){let r=this.childModel.component.scales[n];if(r&&!r.merged){let i=r.get("type"),a=r.get("range");if(ut(i)&&Ta(a)){let o=yb(gh(this.childModel,n));o?t[n]=o:q(Cy(n))}}}return t}assembleRowColumnHeaderData(t,n,r){let i={row:"y",column:"x",facet:void 0}[t],a=[],o=[],l=[];i&&r&&r[i]&&(n?(a.push(`distinct_${r[i]}`),o.push("max")):(a.push(r[i]),o.push("distinct")),l.push(`distinct_${r[i]}`));let{sortField:s,sortIndexField:u}=this[t];if(s){let{op:c=Bd,field:f}=s;a.push(f),o.push(c),l.push(X(s,{forAs:!0}))}else u&&(a.push(u),o.push("max"),l.push(u));return{name:this[t].name,source:n??this.data,transform:[{type:"aggregate",groupby:this[t].fields,...a.length?{fields:a,ops:o,as:l}:{}}]}}assembleFacetHeaderData(t){var s,u;let{columns:n}=this.model.layout,{layoutHeaders:r}=this.model.component,i=[],a={};for(let c of Qv){for(let f of Kv){let d=((s=r[c])==null?void 0:s[f])??[];for(let h of d)if(((u=h.axes)==null?void 0:u.length)>0){a[c]=!0;break}}if(a[c]){let f=`length(data("${this.facet.name}"))`,d=c==="row"?n?{signal:`ceil(${f} / ${n})`}:1:n?{signal:`min(${f}, ${n})`}:{signal:f};i.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:d}]})}}let{row:o,column:l}=a;return(o||l)&&i.unshift(this.assembleRowColumnHeaderData("facet",null,t)),i}assemble(){let t=[],n=null,r=this.getChildIndependentFieldsWithStep(),{column:i,row:a,facet:o}=this;if(i&&a&&(r.x||r.y)){n=`cross_${this.column.name}_${this.row.name}`;let l=[].concat(r.x??[],r.y??[]),s=l.map(()=>"distinct");t.push({name:n,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:s}]})}for(let l of[Yr,Xr])this[l]&&t.push(this.assembleRowColumnHeaderData(l,n,r));if(o){let l=this.assembleFacetHeaderData(r);l&&t.push(...l)}return t}};function Q5(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Cee(e,t){let n=my(e);return t==="number"?`toNumber(${n})`:t==="boolean"?`toBoolean(${n})`:t==="string"?`toString(${n})`:t==="date"?`toDate(${n})`:t==="flatten"?n:t.startsWith("date:")?`timeParse(${n},'${Q5(t.slice(5,t.length))}')`:t.startsWith("utc:")?`utcParse(${n},'${Q5(t.slice(4,t.length))}')`:(q(aY(t)),null)}function Mee(e){let t={};return vd(e.filter,n=>{if(JF(n)){let r=null;Py(n)?r=dn(n.equal):Iy(n)?r=dn(n.lte):By(n)?r=dn(n.lt):jy(n)?r=dn(n.gt):qy(n)?r=dn(n.gte):Uy(n)?r=n.range[0]:Wy(n)&&(r=(n.oneOf??n.in)[0]),r&&(Pa(r)?t[n.field]="date":we(r)?t[n.field]="number":Y(r)&&(t[n.field]="string")),n.timeUnit&&(t[n.field]="date")}}),t}function Oee(e){let t={};function n(r){cl(r)?t[r.field]="date":r.type==="quantitative"&&zX(r.aggregate)?t[r.field]="number":Zo(r.field)>1?r.field in t||(t[r.field]="flatten"):Ha(r)&&ri(r.sort)&&Zo(r.sort.field)>1&&(r.sort.field in t||(t[r.sort.field]="flatten"))}if((je(e)||pn(e))&&e.forEachFieldDef((r,i)=>{if(Ut(r))n(r);else{let a=Na(i),o=e.fieldDef(a);n({...r,type:o.type})}}),je(e)){let{mark:r,markDef:i,encoding:a}=e;if(Zi(r)&&!e.encoding.order){let o=a[i.orient==="horizontal"?"y":"x"];U(o)&&o.type==="quantitative"&&!(o.field in t)&&(t[o.field]="number")}}return t}function zee(e){let t={};if(je(e)&&e.component.selection)for(let n of I(e.component.selection)){let r=e.component.selection[n];for(let i of r.project.items)!i.channel&&Zo(i.field)>1&&(t[i.field]="flatten")}return t}var hn=class sx extends Ce{constructor(n,r){super(n);R(this,"_parse");this._parse=r}clone(){return new sx(null,oe(this._parse))}hash(){return`Parse ${pe(this._parse)}`}static makeExplicit(n,r,i){var l;let a={},o=r.data;return!ra(o)&&((l=o==null?void 0:o.format)!=null&&l.parse)&&(a=o.format.parse),this.makeWithAncestors(n,a,{},i)}static makeWithAncestors(n,r,i,a){for(let s of I(i)){let u=a.getWithExplicit(s);u.value!==void 0&&(u.explicit||u.value===i[s]||u.value==="derived"||i[s]==="flatten"?delete i[s]:q(MF(s,i[s],u.value)))}for(let s of I(r)){let u=a.get(s);u!==void 0&&(u===r[s]?delete r[s]:q(MF(s,r[s],u)))}let o=new Va(r,i);a.copyAll(o);let l={};for(let s of I(o.combine())){let u=o.get(s);u!==null&&(l[s]=u)}return I(l).length===0||a.parseNothing?null:new sx(n,l)}get parse(){return this._parse}merge(n){this._parse={...this._parse,...n.parse},n.remove()}assembleFormatParse(){let n={};for(let r of I(this._parse)){let i=this._parse[r];Zo(r)===1&&(n[r]=i)}return n}producedFields(){return new Set(I(this._parse))}dependentFields(){return new Set(I(this._parse))}assembleTransforms(n=!1){return I(this._parse).filter(r=>n?Zo(r)>1:!0).map(r=>{let i=Cee(r,this._parse[r]);return i?{type:"formula",expr:i,as:Ko(r)}:null}).filter(r=>r!==null)}},_l=class XM extends Ce{clone(){return new XM(null)}constructor(t){super(t)}dependentFields(){return new Set}producedFields(){return new Set([rr])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:rr}}},ib=class YM extends Ce{constructor(n,r){super(n);R(this,"params");this.params=r}clone(){return new YM(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${pe(this.params)}`}assemble(){return{type:"graticule",...this.params===!0?{}:this.params}}},ab=class JM extends Ce{constructor(n,r){super(n);R(this,"params");this.params=r}clone(){return new JM(null,this.params)}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${pe(this.params)}`}assemble(){return{type:"sequence",...this.params}}},Ka=class extends Ce{constructor(t){super(null);R(this,"_data");R(this,"_name");R(this,"_generator");t??(t={name:"source"});let n;if(ra(t)||(n=t.format?{...cn(t.format,["parse"])}:{}),pu(t))this._data={values:t.values};else if(dl(t)){if(this._data={url:t.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(t.url)[1];ce(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else R3(t)?this._data={values:[{type:"Sphere"}]}:(z3(t)||ra(t))&&(this._data={});this._generator=ra(t),t.name&&(this._name=t.name),n&&!ze(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(t){this._name=t}set parent(t){throw Error("Source nodes have to be roots.")}remove(){throw Error("Source nodes are roots and cannot be removed.")}hash(){throw Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}};function ob(e){return e instanceof Ka||e instanceof ib||e instanceof ab}var lb=(qM=class{constructor(){wx(this,Dl);Ih(this,Dl,!1)}setModified(){Ih(this,Dl,!0)}get modifiedFlag(){return xx(this,Dl)}},Dl=new WeakMap,qM),Za=class extends lb{getNodeDepths(e,t,n){n.set(e,t);for(let r of e.children)this.getNodeDepths(r,t+1,n);return n}optimize(e){let t=[...this.getNodeDepths(e,0,new Map).entries()].sort((n,r)=>r[1]-n[1]);for(let n of t)this.run(n[0]);return this.modifiedFlag}},sb=class extends lb{optimize(e){this.run(e);for(let t of e.children)this.optimize(t);return this.modifiedFlag}},Nee=class extends sb{mergeNodes(e,t){let n=t.shift();for(let r of t)e.removeChild(r),r.parent=n,r.remove()}run(e){let t=e.children.map(r=>r.hash()),n={};for(let r=0;r<t.length;r++)n[t[r]]===void 0?n[t[r]]=[e.children[r]]:n[t[r]].push(e.children[r]);for(let r of I(n))n[r].length>1&&(this.setModified(),this.mergeNodes(e,n[r]))}},Ree=class extends sb{constructor(t){super();R(this,"requiresSelectionId");this.requiresSelectionId=t&&Hv(t)}run(t){t instanceof _l&&(this.requiresSelectionId&&(ob(t.parent)||t.parent instanceof Qa||t.parent instanceof hn)||(this.setModified(),t.remove()))}},Tee=class extends lb{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,t){let n=new Set;e instanceof hl&&(n=e.producedFields(),dy(n,t)&&(this.setModified(),e.removeFormulas(t),e.producedFields.length===0&&e.remove()));for(let r of e.children)this.run(r,new Set([...t,...n]))}},Lee=class extends sb{constructor(){super()}run(e){e instanceof tn&&!e.isRequired()&&(this.setModified(),e.remove())}},Pee=class extends Za{run(e){if(!ob(e)&&!(e.numChildren()>1)){for(let t of e.children)if(t instanceof hn)if(e instanceof hn)this.setModified(),e.merge(t);else{if(py(e.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}},Bee=class extends Za{run(e){let t=[...e.children],n=e.children.filter(r=>r instanceof hn);if(e.numChildren()>1&&n.length>=1){let r={},i=new Set;for(let a of n){let o=a.parse;for(let l of I(o))l in r?r[l]!==o[l]&&i.add(l):r[l]=o[l]}for(let a of i)delete r[a];if(!ze(r)){this.setModified();let a=new hn(e,r);for(let o of t){if(o instanceof hn)for(let l of I(r))delete o.parse[l];e.removeChild(o),o.parent=a,o instanceof hn&&I(o.parse).length===0&&o.remove()}}}}},Iee=class extends Za{run(e){e instanceof tn||e.numChildren()>0||e instanceof wl||e instanceof Ka||(this.setModified(),e.remove())}},jee=class extends Za{run(e){let t=e.children.filter(r=>r instanceof hl),n=t.pop();for(let r of t)this.setModified(),n.merge(r)}},qee=class extends Za{run(e){let t=e.children.filter(r=>r instanceof Qa),n={};for(let r of t){let i=pe(r.groupBy);i in n||(n[i]=[]),n[i].push(r)}for(let r of I(n)){let i=n[r];if(i.length>1){let a=i.pop();for(let o of i)a.merge(o)&&(e.removeChild(o),o.parent=a,o.remove(),this.setModified())}}}},Uee=class extends Za{constructor(t){super();R(this,"model");this.model=t}run(t){let n=!(ob(t)||t instanceof uh||t instanceof hn||t instanceof _l),r=[],i=[];for(let a of t.children)a instanceof xl&&(n&&!py(t.producedFields(),a.dependentFields())?r.push(a):i.push(a));if(r.length>0){let a=r.pop();for(let o of r)a.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),t instanceof xl?t.merge(a,this.model.renameSignal.bind(this.model)):a.swapWithParent()}if(i.length>1){let a=i.pop();for(let o of i)a.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}},Wee=class extends Za{run(e){let t=[...e.children];if(!Qo(t,i=>i instanceof tn)||e.numChildren()<=1)return;let n=[],r;for(let i of t)if(i instanceof tn){let a=i;for(;a.numChildren()===1;){let[o]=a.children;if(o instanceof tn)a=o;else break}n.push(...a.children),r?(e.removeChild(i),i.parent=r.parent,r.parent.removeChild(r),r.parent=a,this.setModified()):r=a}else n.push(i);if(n.length){this.setModified();for(let i of n)i.parent.removeChild(i),i.parent=r}}},vu=class QM extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r}clone(){return new QM(null,oe(this.transform))}addDimensions(n){this.transform.groupby=wr(this.transform.groupby.concat(n),r=>r)}dependentFields(){let n=new Set;return this.transform.groupby&&this.transform.groupby.forEach(n.add,n),this.transform.joinaggregate.map(r=>r.field).filter(r=>r!==void 0).forEach(n.add,n),n}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(n){return n.as??X(n)}hash(){return`JoinAggregateTransform ${pe(this.transform)}`}assemble(){let n=[],r=[],i=[];for(let o of this.transform.joinaggregate)r.push(o.op),i.push(this.getDefaultName(o)),n.push(o.field===void 0?null:o.field);let a=this.transform.groupby;return{type:"joinaggregate",as:i,ops:r,fields:n,...a===void 0?{}:{groupby:a}}}},ub=class ux extends Ce{constructor(n,r){super(n);R(this,"filter");this.filter=r}clone(){return new ux(null,{...this.filter})}static make(n,r,i){let{config:a,markDef:o}=r,{marks:l,scales:s}=i;if(l==="include-invalid-values"&&s==="include-invalid-values")return null;let u=r.reduceFieldDef((c,f,d)=>{let h=Ar(d)&&r.getScaleComponent(d);if(h){let p=h.get("type"),{aggregate:m}=f,g=tv({scaleChannel:d,markDef:o,config:a,scaleType:p,isCountAggregate:Dd(m)});g!=="show"&&g!=="always-valid"&&(c[f.field]=f)}return c},{});return I(u).length?new ux(n,u):null}dependentFields(){return new Set(I(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${pe(this.filter)}`}assemble(){let n=I(this.filter).reduce((r,i)=>{let a=this.filter[i],o=X(a,{expr:"datum"});return a!==null&&(a.type==="temporal"?r.push(`(isDate(${o}) || (${cb(o)}))`):a.type==="quantitative"&&r.push(cb(o))),r},[]);return n.length>0?{type:"filter",expr:n.join(" && ")}:null}};function cb(e){return`isValid(${e}) && isFinite(+${e})`}function Hee(e){return e.stack.stackBy.reduce((t,n)=>{let r=n.fieldDef,i=X(r);return i&&t.push(i),t},[])}function Gee(e){return N(e)&&e.every(t=>Y(t))&&e.length>1}var bu=class Th extends Ce{constructor(n,r){super(n);R(this,"_stack");this._stack=r}clone(){return new Th(null,oe(this._stack))}static makeFromTransform(n,r){let{stack:i,groupby:a,as:o,offset:l="zero"}=r,s=[],u=[];if(r.sort!==void 0)for(let d of r.sort)s.push(d.field),u.push(Ye(d.order,"ascending"));let c={field:s,order:u},f;return f=Gee(o)?o:Y(o)?[o,`${o}_end`]:[`${r.stack}_start`,`${r.stack}_end`],new Th(n,{dimensionFieldDefs:[],stackField:i,groupby:a,offset:l,sort:c,facetby:[],as:f})}static makeFromEncoding(n,r){let i=r.stack,{encoding:a}=r;if(!i)return null;let{groupbyChannels:o,fieldChannel:l,offset:s,impute:u}=i,c=o.map(p=>{let m=a[p];return nr(m)}).filter(p=>!!p),f=Hee(r),d=r.encoding.order,h;if(N(d)||U(d))h=wF(d);else{let p=EC(d)?d.sort:l==="y"?"descending":"ascending";h=f.reduce((m,g)=>(m.field.includes(g)||(m.field.push(g),m.order.push(p)),m),{field:[],order:[]})}return new Th(n,{dimensionFieldDefs:c,stackField:r.vgField(l),facetby:[],stackby:f,sort:h,offset:s,impute:u,as:[r.vgField(l,{suffix:"start",forAs:!0}),r.vgField(l,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(n){this._stack.facetby.push(...n)}dependentFields(){let n=new Set;return n.add(this._stack.stackField),this.getGroupbyFields().forEach(n.add,n),this._stack.facetby.forEach(n.add,n),this._stack.sort.field.forEach(n.add,n),n}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${pe(this._stack)}`}getGroupbyFields(){let{dimensionFieldDefs:n,impute:r,groupby:i}=this._stack;return n.length>0?n.map(a=>a.bin?r?[X(a,{binSuffix:"mid"})]:[X(a,{}),X(a,{binSuffix:"end"})]:[X(a)]).flat():i??[]}assemble(){let n=[],{facetby:r,dimensionFieldDefs:i,stackField:a,stackby:o,sort:l,offset:s,impute:u,as:c}=this._stack;if(u)for(let f of i){let{bandPosition:d=.5,bin:h}=f;if(h){let p=X(f,{expr:"datum"}),m=X(f,{expr:"datum",binSuffix:"end"});n.push({type:"formula",expr:`${cb(p)} ? ${d}*${p}+${1-d}*${m} : ${p}`,as:X(f,{binSuffix:"mid",forAs:!0})})}n.push({type:"impute",field:a,groupby:[...o,...r],key:X(f,{binSuffix:"mid"}),method:"value",value:0})}return n.push({type:"stack",groupby:[...this.getGroupbyFields(),...r],field:a,sort:l,as:c,offset:s}),n}},ph=class KM extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r}clone(){return new KM(null,oe(this.transform))}addDimensions(n){this.transform.groupby=wr(this.transform.groupby.concat(n),r=>r)}dependentFields(){let n=new Set;return(this.transform.groupby??[]).forEach(n.add,n),(this.transform.sort??[]).forEach(r=>n.add(r.field)),this.transform.window.map(r=>r.field).filter(r=>r!==void 0).forEach(n.add,n),n}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(n){return n.as??X(n)}hash(){return`WindowTransform ${pe(this.transform)}`}assemble(){let n=[],r=[],i=[],a=[];for(let d of this.transform.window)r.push(d.op),i.push(this.getDefaultName(d)),a.push(d.param===void 0?null:d.param),n.push(d.field===void 0?null:d.field);let o=this.transform.frame,l=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(d=>Ay(d)))return{type:"joinaggregate",as:i,ops:r,fields:n,...l===void 0?{}:{groupby:l}};let s=[],u=[];if(this.transform.sort!==void 0)for(let d of this.transform.sort)s.push(d.field),u.push(d.order??"ascending");let c={field:s,order:u},f=this.transform.ignorePeers;return{type:"window",params:a,as:i,ops:r,fields:n,sort:c,...f===void 0?{}:{ignorePeers:f},...l===void 0?{}:{groupby:l},...o===void 0?{}:{frame:o}}}};function Vee(e){function t(n){if(!(n instanceof wl)){let r=n.clone();if(r instanceof tn){let i=db+r.getSource();r.setSource(i),e.model.component.data.outputNodes[i]=r}else(r instanceof Qa||r instanceof bu||r instanceof ph||r instanceof vu)&&r.addDimensions(e.fields);for(let i of n.children.flatMap(t))i.parent=r;return[r]}return n.children.flatMap(t)}return t}function fb(e){if(e instanceof wl)if(e.numChildren()===1&&!(e.children[0]instanceof tn)){let t=e.children[0];(t instanceof Qa||t instanceof bu||t instanceof ph||t instanceof vu)&&t.addDimensions(e.fields),t.swapWithParent(),fb(e)}else{let t=e.model.component.data.main;K5(t);let n=Vee(e),r=e.children.map(n).flat();for(let i of r)i.parent=t}else e.children.map(fb)}function K5(e){if(e instanceof tn&&e.type===He.Main&&e.numChildren()===1){let t=e.children[0];t instanceof wl||(t.swapWithParent(),K5(e))}}var db="scale_",mh=5;function hb(e){for(let t of e){for(let n of t.children)if(n.parent!==t)return!1;if(!hb(t.children))return!1}return!0}function ar(e,t){let n=!1;for(let r of t)n=e.optimize(r)||n;return n}function Z5(e,t,n){let r=e.sources,i=!1;return i=ar(new Lee,r)||i,i=ar(new Ree(t),r)||i,r=r.filter(a=>a.numChildren()>0),i=ar(new Iee,r)||i,r=r.filter(a=>a.numChildren()>0),n||(i=ar(new Pee,r)||i,i=ar(new Uee(t),r)||i,i=ar(new Tee,r)||i,i=ar(new Bee,r)||i,i=ar(new qee,r)||i,i=ar(new jee,r)||i,i=ar(new Nee,r)||i,i=ar(new Wee,r)||i),e.sources=r,i}function Xee(e,t){hb(e.sources);let n=0,r=0;for(let i=0;i<mh&&Z5(e,t,!0);i++)n++;e.sources.map(fb);for(let i=0;i<mh&&Z5(e,t,!1);i++)r++;hb(e.sources),Math.max(n,r)===mh&&q(`Maximum optimization runs(${mh}) reached.`)}var kt=class ZM{constructor(t){R(this,"signal");Object.defineProperty(this,"signal",{enumerable:!0,get:t})}static fromName(t,n){return new ZM(()=>t(n))}};function e6(e){je(e)?Yee(e):Jee(e)}function Yee(e){let t=e.component.scales;for(let n of I(t)){let r=Kee(e,n);if(t[n].setWithExplicit("domains",r),ete(e,n),e.component.data.isFaceted){let i=e;for(;!pn(i)&&i.parent;)i=i.parent;if(i.component.resolve.scale[n]==="shared")for(let a of r.value)ni(a)&&(a.data=db+a.data.replace(db,""))}}}function Jee(e){for(let n of e.children)e6(n);let t=e.component.scales;for(let n of I(t)){let r,i=null;for(let a of e.children){let o=a.component.scales[n];if(o){r=r===void 0?o.getWithExplicit("domains"):na(r,o.getWithExplicit("domains"),"domains","scale",gb);let l=o.get("selectionExtent");i&&l&&i.param!==l.param&&q(KX),i=l}}t[n].setWithExplicit("domains",r),i&&t[n].set("selectionExtent",i,!0)}}function Qee(e,t,n,r){if(e==="unaggregated"){let{valid:i,reason:a}=t6(t,n);if(!i){q(a);return}}else if(e===void 0&&r.useUnaggregatedDomain){let{valid:i}=t6(t,n);if(i)return"unaggregated"}return e}function Kee(e,t){let n=e.getScaleComponent(t).get("type"),{encoding:r}=e,i=Qee(e.scaleDomain(t),e.typedFieldDef(t),n,e.config.scale);return i!==e.scaleDomain(t)&&(e.specifiedScales[t]={...e.specifiedScales[t],domain:i}),t==="x"&&rt(r.x2)?rt(r.x)?na(ia(n,i,e,"x"),ia(n,i,e,"x2"),"domain","scale",gb):ia(n,i,e,"x2"):t==="y"&&rt(r.y2)?rt(r.y)?na(ia(n,i,e,"y"),ia(n,i,e,"y2"),"domain","scale",gb):ia(n,i,e,"y2"):ia(n,i,e,t)}function Zee(e,t,n){return e.map(r=>({signal:`{data: ${Vd(r,{timeUnit:n,type:t})}}`}))}function pb(e,t,n){var i;let r=(i=st(n))==null?void 0:i.unit;return t==="temporal"||r?Zee(e,t,r):[e]}function ia(e,t,n,r){let{encoding:i,markDef:a,mark:o,config:l,stack:s}=n,u=rt(i[r]),{type:c}=u,f=u.timeUnit,d=VK({invalid:Dr("invalid",a,l),isPath:Zi(o)});if(EJ(t)){let m=ia(e,void 0,n,r);return zr([...pb(t.unionWith,c,f),...m.value])}else{if(ee(t))return zr([t]);if(t&&t!=="unaggregated"&&!rC(t))return zr(pb(t,c,f))}if(s&&r===s.fieldChannel){if(s.offset==="normalize")return ir([[0,1]]);let m=n.requestDataName(d);return ir([{data:m,field:n.vgField(r,{suffix:"start"})},{data:m,field:n.vgField(r,{suffix:"end"})}])}let h=Ar(r)&&U(u)?tte(n,r,e):void 0;if(Mr(u))return ir(pb([u.datum],c,f));let p=u;if(t==="unaggregated"){let{field:m}=u;return ir([{data:n.requestDataName(d),field:X({field:m,aggregate:"min"})},{data:n.requestDataName(d),field:X({field:m,aggregate:"max"})}])}else if(Ne(p.bin)){if(ut(e))return ir(e==="bin-ordinal"?[]:[{data:Qs(h)?n.requestDataName(d):n.requestDataName(He.Raw),field:n.vgField(r,du(p,r)?{binSuffix:"range"}:{}),sort:h===!0||!J(h)?{field:n.vgField(r,{}),op:"min"}:h}]);{let{bin:m}=p;if(Ne(m)){let g=rb(n,p.field,m);return ir([new kt(()=>{let y=n.getSignalName(g);return`[${y}.start, ${y}.stop]`})])}else return ir([{data:n.requestDataName(d),field:n.vgField(r,{})}])}}else if(p.timeUnit&&ce(["time","utc"],e)){let m=i[$r(r)];if(kC(p,m,a,l)){let g=n.requestDataName(d),y=ea({fieldDef:p,fieldDef2:m,markDef:a,config:l}),v=ou(o)&&y!==.5&&Je(r);return ir([{data:g,field:n.vgField(r,v?{suffix:nh}:{})},{data:g,field:n.vgField(r,{suffix:v?rh:"end"})}])}}return ir(h?[{data:Qs(h)?n.requestDataName(d):n.requestDataName(He.Raw),field:n.vgField(r),sort:h}]:[{data:n.requestDataName(d),field:n.vgField(r)}])}function mb(e,t){let{op:n,field:r,order:i}=e;return{op:n??(t?"sum":Bd),...r?{field:Sn(r)}:{},...i?{order:i}:{}}}function ete(e,t){var l;let n=e.component.scales[t],r=e.specifiedScales[t].domain,i=(l=e.fieldDef(t))==null?void 0:l.bin,a=rC(r)?r:void 0,o=Ra(i)&&Sd(i.extent)?i.extent:void 0;(a||o)&&n.set("selectionExtent",a??o,!0)}function tte(e,t,n){if(!ut(n))return;let r=e.fieldDef(t),i=r.sort;if(xC(i))return{op:"min",field:vl(r,t),order:"ascending"};let{stack:a}=e,o=a?new Set([...a.groupbyFields,...a.stackBy.map(l=>l.fieldDef.field)]):void 0;if(ri(i))return mb(i,a&&!o.has(i.field));if(QJ(i)){let{encoding:l,order:s}=i,u=e.fieldDef(l),{aggregate:c,field:f}=u,d=a&&!o.has(f);if(ti(c)||Qi(c))return mb({field:X(u),order:s},d);if(Ay(c)||!c)return mb({op:c,field:f,order:s},d)}else{if(i==="descending")return{op:"min",field:e.vgField(t),order:"descending"};if(ce(["ascending",void 0],i))return!0}}function t6(e,t){let{aggregate:n,type:r}=e;return n?Y(n)&&!RX.has(n)?{valid:!1,reason:DY(n)}:r==="quantitative"&&t==="log"?{valid:!1,reason:SY(e)}:{valid:!0}:{valid:!1,reason:AY(e)}}function gb(e,t,n,r){return e.explicit&&t.explicit&&q(zY(n,r,e.value,t.value)),{explicit:e.explicit,value:[...e.value,...t.value]}}function nte(e){let t=wr(e.map(o=>{if(ni(o)){let{sort:l,...s}=o;return s}return o}),pe),n=wr(e.map(o=>{if(ni(o)){let l=o.sort;return l!==void 0&&!Qs(l)&&("op"in l&&l.op==="count"&&delete l.field,l.order==="ascending"&&delete l.order),l}}).filter(o=>o!==void 0),pe);if(t.length===0)return;if(t.length===1){let o=e[0];if(ni(o)&&n.length>0){let l=n[0];if(n.length>1){q(LF);let s=n.filter(u=>J(u)&&"op"in u&&u.op!=="min");l=n.every(u=>J(u)&&"op"in u)&&s.length===1?s[0]:!0}else if(J(l)&&"field"in l){let s=l.field;o.field===s&&(l=l.order?{order:l.order}:!0)}return{...o,sort:l}}return o}let r=wr(n.map(o=>Qs(o)||!("op"in o)||Y(o.op)&&K(MX,o.op)?o:(q(RY(o)),!0)),pe),i;r.length===1?i=r[0]:r.length>1&&(q(LF),i=!0);let a=wr(e.map(o=>ni(o)?o.data:null),o=>o);return a.length===1&&a[0]!==null?{data:a[0],fields:t.map(o=>o.field),...i?{sort:i}:{}}:{fields:t,...i?{sort:i}:{}}}function yb(e){if(ni(e)&&Y(e.field))return e.field;if(TX(e)){let t;for(let n of e.fields)if(ni(n)&&Y(n.field)){if(!t)t=n.field;else if(t!==n.field)return q(TY),t}return q(LY),t}else if(LX(e)){q(PY);let t=e.fields[0];return Y(t)?t:void 0}}function gh(e,t){return nte(e.component.scales[t].get("domains").map(n=>(ni(n)&&(n.data=e.lookupDataSource(n.data)),n)))}function n6(e){return kl(e)||bb(e)?e.children.reduce((t,n)=>t.concat(n6(n)),r6(e)):r6(e)}function r6(e){return I(e.component.scales).reduce((t,n)=>{let r=e.component.scales[n];if(r.merged)return t;let i=r.combine(),{name:a,type:o,selectionExtent:l,domains:s,range:u,reverse:c,...f}=i,d=rte(i.range,a,n,e),h=gh(e,n),p=l?iZ(e,l,r,h):null;return t.push({name:a,type:o,...h?{domain:h}:{},...p?{domainRaw:p}:{},range:d,...c===void 0?{}:{reverse:c},...f}),t},[])}function rte(e,t,n,r){if(Je(n)){if(Ta(e))return{step:{signal:`${t}_step`}}}else if(J(e)&&ni(e))return{...e,data:r.lookupDataSource(e.data)};return e}var i6=class extends Va{constructor(t,n){super({},{name:t});R(this,"merged",!1);this.setWithExplicit("type",n)}domainHasZero(){let t=this.get("type");if(ce([gt.LOG,gt.TIME,gt.UTC],t))return"definitely-not";let n=this.get("zero");if(n===!0||n===void 0&&ce([gt.LINEAR,gt.SQRT,gt.POW],t))return"definitely";let r=this.get("domains");if(r.length>0){let i=!1,a=!1,o=!1;for(let l of r){if(N(l)){let s=l[0],u=l[l.length-1];if(we(s)&&we(u))if(s<=0&&u>=0){i=!0;continue}else{a=!0;continue}}o=!0}if(i)return"definitely";if(a&&!o)return"definitely-not"}return"maybe"}},ite=["range","scheme"];function ate(e){let t=e.component.scales;for(let n of Ey){let r=t[n];if(!r)continue;let i=ote(n,e);r.setWithExplicit("range",i)}}function a6(e,t){let n=e.fieldDef(t);if(n!=null&&n.bin){let{bin:r,field:i}=n,a=en(t),o=e.getName(a);if(J(r)&&r.binned&&r.step!==void 0)return new kt(()=>{let l=e.scaleName(t),s=`(domain("${l}")[1] - domain("${l}")[0]) / ${r.step}`;return`${e.getSignalName(o)} / (${s})`});if(Ne(r)){let l=rb(e,i,r);return new kt(()=>{let s=e.getSignalName(l),u=`(${s}.stop - ${s}.start) / ${s}.step`;return`${e.getSignalName(o)} / (${u})`})}}}function ote(e,t){let n=t.specifiedScales[e],{size:r}=t,i=t.getScaleComponent(e).get("type");for(let c of ite)if(n[c]!==void 0){let f=Yy(i,c),d=iC(e,c);if(!f)q(RF(i,c,e));else if(d)q(d);else switch(c){case"range":{let h=n.range;if(N(h)){if(Je(e))return zr(h.map(p=>{if(p==="width"||p==="height"){let m=t.getName(p),g=t.getSignalName.bind(t);return kt.fromName(g,m)}return p}))}else if(J(h))return zr({data:t.requestDataName(He.Main),field:h.field,sort:{op:"min",field:t.vgField(e)}});return zr(h)}case"scheme":return zr(lte(n[c]))}}let a=e===Be||e==="xOffset"?"width":"height",o=r[a];if(Or(o)){if(Je(e))if(ut(i)){let c=l6(o,t,e);if(c)return zr({step:c})}else q(TF(a));else if(ru(e)){let c=e===Wi?"x":"y";if(t.getScaleComponent(c).get("type")==="band"){let f=s6(o,i);if(f)return zr(f)}}}let{rangeMin:l,rangeMax:s}=n,u=ste(e,t);return(l!==void 0||s!==void 0)&&Yy(i,"rangeMin")&&N(u)&&u.length===2?zr([l??u[0],s??u[1]]):ir(u)}function lte(e){return kJ(e)?{scheme:e.name,...cn(e,["name"])}:{scheme:e}}function o6(e,t,n,{center:r}={}){let i=en(e),a=t.getName(i),o=t.getSignalName.bind(t);return e===lt&&Zn(n)?r?[kt.fromName(l=>`${o(l)}/2`,a),kt.fromName(l=>`-${o(l)}/2`,a)]:[kt.fromName(o,a),0]:r?[kt.fromName(l=>`-${o(l)}/2`,a),kt.fromName(l=>`${o(l)}/2`,a)]:[0,kt.fromName(o,a)]}function ste(e,t){let{size:n,config:r,mark:i,encoding:a}=t,{type:o}=rt(a[e]),l=t.getScaleComponent(e).get("type"),{domain:s,domainMid:u}=t.specifiedScales[e];switch(e){case Be:case lt:if(ce(["point","band"],l)){let c=u6(e,n,r.view);if(Or(c))return{step:l6(c,t,e)}}return o6(e,t,l);case Wi:case el:return ute(e,t,l);case Kr:{let c=dte(i,r),f=hte(i,n,t,r);return al(l)?fte(c,f,cte(l,r,s,e)):[c,f]}case Fn:return[0,Math.PI*2];case Oa:return[0,360];case Xn:return[0,new kt(()=>`min(${t.getSignalName(pn(t.parent)?"child_width":"width")},${t.getSignalName(pn(t.parent)?"child_height":"height")})/2`)];case Hi:return{step:1e3/r.scale.framesPerSecond};case Xi:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Yi:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case Zt:return"symbol";case Kt:case kr:case Er:return l==="ordinal"?o==="nominal"?"category":"ordinal":u===void 0?i==="rect"||i==="geoshape"?"heatmap":"ramp":"diverging";case Zr:case Gi:case Vi:return[r.scale.minOpacity,r.scale.maxOpacity]}}function l6(e,t,n){let{encoding:r}=t,i=t.getScaleComponent(n),a=by(n),o=r[a];if(a3({step:e,offsetIsDiscrete:le(o)&&Hy(o.type)})==="offset"&&PC(r,a)){let l=t.getScaleComponent(a),s=`domain('${t.scaleName(a)}').length`;if(l.get("type")==="band"){let c=l.get("paddingInner")??l.get("padding")??0,f=l.get("paddingOuter")??l.get("padding")??0;s=`bandspace(${s}, ${c}, ${f})`}let u=i.get("paddingInner")??i.get("padding");return{signal:`${e.step} * ${s} / (1-${jX(u)})`}}else return e.step}function s6(e,t){if(a3({step:e,offsetIsDiscrete:ut(t)})==="offset")return{step:e.step}}function ute(e,t,n){let r=e===Wi?"x":"y",i=t.getScaleComponent(r);if(!i)return o6(r,t,n,{center:!0});let a=i.get("type"),o=t.scaleName(r),{markDef:l,config:s}=t;if(a==="band"){let u=u6(r,t.size,t.config.view);if(Or(u)){let c=s6(u,n);if(c)return c}return[0,{signal:`bandwidth('${o}')`}]}else{let u=t.encoding[r];if(U(u)&&u.timeUnit){let c=XF(u.timeUnit,p=>`scale('${o}', ${p})`),f=t.config.scale.bandWithNestedOffsetPaddingInner,d=ea({fieldDef:u,markDef:l,config:s})-.5,h=d===0?"":` + ${d}`;if(f){let p=ee(f)?`${f.signal}/2${h}`:`${f/2+d}`,m=ee(f)?`(1 - ${f.signal}/2)${h}`:`${1-f/2+d}`;return[{signal:`${p} * (${c})`},{signal:`${m} * (${c})`}]}return[0,{signal:c}]}return HS(`Cannot use ${e} scale if ${r} scale is not discrete.`)}}function u6(e,t,n){let r=e===Be?"width":"height",i=t[r];return i===void 0?Zd(n,r):i}function cte(e,t,n,r){switch(e){case"quantile":return t.scale.quantileCount;case"quantize":return t.scale.quantizeCount;case"threshold":return n!==void 0&&N(n)?n.length+1:(q(VY(r)),3)}}function fte(e,t,n){let r=()=>{let i=Kn(t),a=Kn(e),o=`(${i} - ${a}) / (${n} - 1)`;return`sequence(${a}, ${i} + ${o}, ${o})`};return ee(t)?new kt(r):{signal:r()}}function dte(e,t){switch(e){case"bar":case"tick":return t.scale.minBandSize;case"line":case"trail":case"rule":return t.scale.minStrokeWidth;case"text":return t.scale.minFontSize;case"point":case"square":case"circle":return t.scale.minSize}throw Error(Fd("size",e))}var c6=.95;function hte(e,t,n,r){let i={x:a6(n,"x"),y:a6(n,"y")};switch(e){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;let a=f6(t,i,r.view);return we(a)?a-1:new kt(()=>`${a.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;let a=f6(t,i,r.view);return we(a)?(c6*a)**2:new kt(()=>`pow(${c6} * ${a.signal}, 2)`)}}throw Error(Fd("size",e))}function f6(e,t,n){let r=Or(e.width)?e.width.step:Ev(n,"width"),i=Or(e.height)?e.height.step:Ev(n,"height");return t.x||t.y?new kt(()=>`min(${[t.x?t.x.signal:r,t.y?t.y.signal:i].join(", ")})`):Math.min(r,i)}function d6(e,t){je(e)?pte(e,t):m6(e,t)}function pte(e,t){let n=e.component.scales,{config:r,encoding:i,markDef:a,specifiedScales:o}=e;for(let l of I(n)){let s=o[l],u=n[l],c=e.getScaleComponent(l),f=rt(i[l]),d=s[t],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=Yy(h,t),y=iC(l,t);if(d!==void 0&&(g?y&&q(y):q(RF(h,t,l))),g&&y===void 0)if(d!==void 0){let v=f.timeUnit,b=f.type;switch(t){case"domainMax":case"domainMin":Pa(s[t])||b==="temporal"||v?u.set(t,{signal:Vd(s[t],{type:b,timeUnit:v})},!0):u.set(t,s[t],!0);break;default:u.copyKeyFromObject(t,s)}}else{let v=j(h6,t)?h6[t]({model:e,channel:l,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:s.domain,domainMin:s.domainMin,domainMax:s.domainMax,markDef:a,config:r,hasNestedOffsetScale:BC(i,l),hasSecondaryRangeChannel:!!i[$r(l)]}):r.scale[t];v!==void 0&&u.set(t,v,!1)}}}var h6={bins:({model:e,fieldOrDatumDef:t})=>U(t)?mte(e,t):void 0,interpolate:({channel:e,fieldOrDatumDef:t})=>gte(e,t.type),nice:({scaleType:e,channel:t,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:a})=>yte(e,t,n,r,i,a),padding:({channel:e,scaleType:t,fieldOrDatumDef:n,markDef:r,config:i})=>vte(e,t,i.scale,n,r,i.bar),paddingInner:({scalePadding:e,channel:t,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:a})=>bte(e,t,n.type,r,i.scale,a),paddingOuter:({scalePadding:e,channel:t,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:a})=>xte(e,t,n,r,i.scale,a),reverse:({fieldOrDatumDef:e,scaleType:t,channel:n,config:r})=>wte(t,U(e)?e.sort:void 0,n,r.scale),zero:({channel:e,fieldOrDatumDef:t,domain:n,markDef:r,scaleType:i,config:a,hasSecondaryRangeChannel:o})=>_te(e,t,n,r,i,a.scale,o)};function p6(e){je(e)?ate(e):m6(e,"range")}function m6(e,t){let n=e.component.scales;for(let r of e.children)t==="range"?p6(r):d6(r,t);for(let r of I(n)){let i;for(let a of e.children){let o=a.component.scales[r];if(o){let l=o.getWithExplicit(t);i=na(i,l,t,"scale",O3((s,u)=>{switch(t){case"range":return s.step&&u.step?s.step-u.step:0}return 0}))}}n[r].setWithExplicit(t,i)}}function mte(e,t){let n=t.bin;if(Ne(n)){let r=rb(e,t.field,n);return new kt(()=>e.getSignalName(r))}else if(pt(n)&&Ra(n)&&n.step!==void 0)return{step:n.step}}function gte(e,t){if(ce([Kt,kr,Er],e)&&t!=="nominal")return"hcl"}function yte(e,t,n,r,i,a){var o;if(!((o=nr(a))!=null&&o.bin||N(n)||i!=null||r!=null||ce([gt.TIME,gt.UTC],e)))return Je(t)?!0:void 0}function vte(e,t,n,r,i,a){if(Je(e)){if(Fr(t)){if(n.continuousPadding!==void 0)return n.continuousPadding;let{type:o,orient:l}=i;if(o==="bar"&&!(U(r)&&(r.bin||r.timeUnit))&&(l==="vertical"&&e==="x"||l==="horizontal"&&e==="y"))return a.continuousBandSize}if(t===gt.POINT)return n.pointPadding}}function bte(e,t,n,r,i,a=!1){if(e===void 0){if(Je(t)){let{bandPaddingInner:o,barBandPaddingInner:l,rectBandPaddingInner:s,tickBandPaddingInner:u,bandWithNestedOffsetPaddingInner:c}=i;return a?c:Ye(o,n==="bar"?l:n==="tick"?u:s)}else if(ru(t)&&r===gt.BAND)return i.offsetBandPaddingInner}}function xte(e,t,n,r,i,a=!1){if(e===void 0){if(Je(t)){let{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:l}=i;if(a)return l;if(n===gt.BAND)return Ye(o,ee(r)?{signal:`${r.signal}/2`}:r/2)}else if(ru(t)){if(n===gt.POINT)return .5;if(n===gt.BAND)return i.offsetBandPaddingOuter}}}function wte(e,t,n,r){if(n==="x"&&r.xReverse!==void 0)return Zn(e)&&t==="descending"?ee(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Zn(e)&&t==="descending")return!0}function _te(e,t,n,r,i,a,o){if(n&&n!=="unaggregated"&&Zn(i)){if(N(n)){let l=n[0],s=n[n.length-1];if(we(l)&&l<=0&&we(s)&&s>=0)return!0}return!1}if(e==="size"&&t.type==="quantitative"&&!al(i))return!0;if(!(U(t)&&t.bin)&&ce([...ei,..._X],e)){let{orient:l,type:s}=r;return ce(["bar","area","line","trail"],s)&&(l==="horizontal"&&e==="y"||l==="vertical"&&e==="x")?!1:ce(["bar","area"],s)&&!o?!0:a==null?void 0:a.zero}return!1}function kte(e,t,n,r,i=!1){let a=Ete(t,n,r,i),{type:o}=e;return Ar(t)?o===void 0?a:FJ(t,o)?U(n)&&!SJ(o,n.type)?(q(MY(o,a)),a):o:(q(CY(t,o,a)),a):null}function Ete(e,t,n,r){var i;switch(t.type){case"nominal":case"ordinal":{if(nl(e)||$y(e)==="discrete")return e==="shape"&&t.type==="ordinal"&&q(zy(e,"ordinal")),"ordinal";if(ky(e))return"band";if(Je(e)||ru(e)){if(ce(["rect","bar","image","rule","tick"],n.type)||r)return"band"}else if(n.type==="arc"&&e in _y)return"band";let a=n[en(e)];return qa(a)||ll(t)&&((i=t.axis)!=null&&i.tickBand)?"band":"point"}case"temporal":return nl(e)?"time":$y(e)==="discrete"?(q(zy(e,"temporal")),"ordinal"):U(t)&&t.timeUnit&&st(t.timeUnit).utc?"utc":ky(e)?"band":"time";case"quantitative":return nl(e)?U(t)&&Ne(t.bin)?"bin-ordinal":"linear":$y(e)==="discrete"?(q(zy(e,"quantitative")),"ordinal"):ky(e)?"band":"linear";case"geojson":return}throw Error(zF(t.type))}function $te(e,{ignoreRange:t}={}){g6(e),e6(e);for(let n of DJ)d6(e,n);t||p6(e)}function g6(e){je(e)?e.component.scales=Ate(e):e.component.scales=Ste(e)}function Ate(e){let{encoding:t,mark:n,markDef:r}=e,i={};for(let a of Ey){let o=rt(t[a]);if(o&&n===lC&&a===Zt&&o.type===il)continue;let l=o&&o.scale;if(o&&l!==null&&l!==!1){l??(l={});let s=BC(t,a),u=kte(l,a,o,r,s);i[a]=new i6(e.scaleName(`${a}`,!0),{value:u,explicit:l.type===u})}}return i}var Dte=O3((e,t)=>KF(e)-KF(t));function Ste(e){var i;let t=e.component.scales={},n={},r=e.component.resolve;for(let a of e.children){g6(a);for(let o of I(a.component.scales))if((i=r.scale)[o]??(i[o]=R5(o,e)),r.scale[o]==="shared"){let l=n[o],s=a.component.scales[o].getWithExplicit("type");l?vJ(l.value,s.value)?n[o]=na(l,s,"type","scale",Dte):(r.scale[o]="independent",delete n[o]):n[o]=s}}for(let a of I(n)){let o=e.scaleName(a,!0),l=n[a];t[a]=new i6(o,l);for(let s of e.children){let u=s.component.scales[a];u&&(s.renameScale(u.get("name"),o),u.merged=!0)}}return t}var vb=class{constructor(){R(this,"nameMap");this.nameMap={}}rename(e,t){this.nameMap[e]=t}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 je(e){return(e==null?void 0:e.type)==="unit"}function pn(e){return(e==null?void 0:e.type)==="facet"}function bb(e){return(e==null?void 0:e.type)==="concat"}function kl(e){return(e==null?void 0:e.type)==="layer"}var xb=class{constructor(e,t,n,r,i,a,o){R(this,"type");R(this,"parent");R(this,"config");R(this,"name");R(this,"size");R(this,"title");R(this,"description");R(this,"data");R(this,"transforms");R(this,"layout");R(this,"scaleNameMap");R(this,"projectionNameMap");R(this,"signalNameMap");R(this,"component");R(this,"view");this.type=t,this.parent=n,this.config=i,this.parent=n,this.config=i,this.view=mt(o),this.name=e.name??r,this.title=Ki(e.title)?{text:e.title}:e.title?mt(e.title):void 0,this.scaleNameMap=n?n.scaleNameMap:new vb,this.projectionNameMap=n?n.projectionNameMap:new vb,this.signalNameMap=n?n.signalNameMap:new vb,this.data=e.data,this.description=e.description,this.transforms=RK(e.transform??[]),this.layout=t==="layer"||t==="unit"?{}:IQ(e,t,i),this.component={data:{sources:n?n.component.data.sources:[],outputNodes:n?n.component.data.outputNodes:{},outputNodeRefCounts:n?n.component.data.outputNodeRefCounts:{},isFaceted:Id(e)||(n==null?void 0:n.component.data.isFaceted)&&e.data===void 0},layoutSize:new Va,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?oe(a):{}},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(){$te(this)}parseProjection(){X5(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){U5(this)}assembleEncodeFromView(e){let{style:t,...n}=e,r={};for(let i of I(n)){let a=n[i];a!==void 0&&(r[i]=Te(a))}return r}assembleGroupEncodeEntry(e){let t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(t.description=Te(this.description)),this.type==="unit"||this.type==="layer")?{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t}:ze(t)?void 0:t}assembleLayout(){if(!this.layout)return;let{spacing:e,...t}=this.layout,{component:n,config:r}=this,i=JZ(n.layoutHeaders,r);return{padding:e,...this.assembleDefaultLayout(),...t,...i?{titleBand:i}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){let{layoutHeaders:e}=this.component,t=[];for(let n of Mn)e[n].title&&t.push(WZ(this,n));for(let n of Qv)t=t.concat(HZ(this,n));return t}assembleAxes(){return MZ(this.component.axes,this.config)}assembleLegends(){return H5(this)}assembleProjections(){return vee(this)}assembleTitle(){let{encoding:e,...t}=this.title??{},n={...mF(this.config.title).nonMarkTitleProperties,...t,...e?{encode:{update:e}}:{}};if(n.text)return ce(["unit","layer"],this.type)?ce(["middle",void 0],n.anchor)&&(n.frame??(n.frame="group")):n.anchor??(n.anchor="start"),ze(n)?void 0:n}assembleGroup(e=[]){let t={};e=e.concat(this.assembleSignals()),e.length>0&&(t.signals=e);let n=this.assembleLayout();n&&(t.layout=n),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());let r=!this.parent||pn(this.parent)?n6(this):[];r.length>0&&(t.scales=r);let i=this.assembleAxes();i.length>0&&(t.axes=i);let a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(e){return Pe((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(He[e].toLowerCase())}requestDataName(e){let t=this.getDataName(e),n=this.component.data.outputNodeRefCounts;return n[t]=(n[t]||0)+1,t}getSizeSignalRef(e){if(pn(this.parent)){let t=Ad(z5(e)),n=this.component.scales[t];if(n&&!n.merged){let r=n.get("type"),i=n.get("range");if(ut(r)&&Ta(i)){let a=n.get("name"),o=yb(gh(this,t));return o?{signal:O5(a,n,X({aggregate:"distinct",field:o},{expr:"datum"}))}:(q(Cy(t)),null)}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){let t=this.component.data.outputNodes[e];return t?t.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,t){this.signalNameMap.rename(e,t)}renameScale(e,t){this.scaleNameMap.rename(e,t)}renameProjection(e,t){this.projectionNameMap.rename(e,t)}scaleName(e,t){if(t)return this.getName(e);if(oF(e)&&Ar(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 Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");let t=this.component.scales[e];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(e):void 0}getScaleType(e){let t=this.getScaleComponent(e);return t?t.get("type"):void 0}getSelectionComponent(e,t){let n=this.component.selection[e];if(!n&&this.parent&&(n=this.parent.getSelectionComponent(e,t)),!n)throw Error(GX(t));return n}hasAxisOrientSignalRef(){var e,t;return((e=this.component.axes.x)==null?void 0:e.some(n=>n.hasOrientSignalRef()))||((t=this.component.axes.y)==null?void 0:t.some(n=>n.hasOrientSignalRef()))}},y6=class extends xb{vgField(e,t={}){let n=this.fieldDef(e);if(n)return X(n,t)}reduceFieldDef(e,t){return yQ(this.getMapping(),(n,r,i)=>{let a=nr(r);return a?e(n,a,i):n},t)}forEachFieldDef(e,t){fv(this.getMapping(),(n,r)=>{let i=nr(n);i&&e(i,r)},t)}},v6=class e4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"value",i[1]??"density"];let a=this.transform.resolve??"shared";this.transform.resolve=a}clone(){return new e4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${pe(this.transform)}`}assemble(){let{density:n,...r}=this.transform,i={type:"kde",field:n,...r};return i.resolve=this.transform.resolve,i}},b6=class t4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r)}clone(){return new t4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${pe(this.transform)}`}assemble(){let{extent:n,param:r}=this.transform;return{type:"extent",field:n,signal:r}}},x6=class n4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let{flatten:i,as:a=[]}=this.transform;this.transform.as=i.map((o,l)=>a[l]??o)}clone(){return new n4(this.parent,oe(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${pe(this.transform)}`}assemble(){let{flatten:n,as:r}=this.transform;return{type:"flatten",fields:n,as:r}}},w6=class r4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"key",i[1]??"value"]}clone(){return new r4(null,oe(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${pe(this.transform)}`}assemble(){let{fold:n,as:r}=this.transform;return{type:"fold",fields:n,as:r}}},_6=class Lh extends Ce{constructor(n,r,i,a){super(n);R(this,"fields");R(this,"geojson");R(this,"signal");this.fields=r,this.geojson=i,this.signal=a}clone(){return new Lh(null,oe(this.fields),this.geojson,this.signal)}static parseAll(n,r){if(r.component.projection&&!r.component.projection.isFit)return n;let i=0;for(let a of[[Jn,Yn],[Cn,Qn]]){let o=a.map(l=>{let s=rt(r.encoding[l]);return U(s)?s.field:Mr(s)?{expr:`${s.datum}`}:tr(s)?{expr:`${s.value}`}:void 0});(o[0]||o[1])&&(n=new Lh(n,o,null,r.getName(`geojson_${i++}`)))}if(r.channelHasField(Zt)){let a=r.typedFieldDef(Zt);a.type===il&&(n=new Lh(n,null,a.field,r.getName(`geojson_${i++}`)))}return n}dependentFields(){let n=(this.fields??[]).filter(Y);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${pe(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}},k6=class cx extends Ce{constructor(n,r,i,a){super(n);R(this,"projection");R(this,"fields");R(this,"as");this.projection=r,this.fields=i,this.as=a}clone(){return new cx(null,this.projection,oe(this.fields),oe(this.as))}static parseAll(n,r){if(!r.projectionName())return n;for(let i of[[Jn,Yn],[Cn,Qn]]){let a=i.map(l=>{let s=rt(r.encoding[l]);return U(s)?s.field:Mr(s)?{expr:`${s.datum}`}:tr(s)?{expr:`${s.value}`}:void 0}),o=i[0]===Cn?"2":"";(a[0]||a[1])&&(n=new cx(n,r.projectionName(),a,[r.getName(`x${o}`),r.getName(`y${o}`)]))}return n}dependentFields(){return new Set(this.fields.filter(Y))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${pe(this.fields)} ${pe(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}},wb=class Ph extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r}clone(){return new Ph(null,oe(this.transform))}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(n){let{start:r=0,stop:i,step:a}=n;return{signal:`sequence(${[r,i,...a?[a]:[]].join(",")})`}}static makeFromTransform(n,r){return new Ph(n,r)}static makeFromEncoding(n,r){let i=r.encoding,a=i.x,o=i.y;if(U(a)&&U(o)){let l=a.impute?a:o.impute?o:void 0;if(l===void 0)return;let s=a.impute?o:o.impute?a:void 0,{method:u,value:c,frame:f,keyvals:d}=l.impute,h=qC(r.mark,i);return new Ph(n,{impute:l.field,key:s.field,...u?{method:u}:{},...c===void 0?{}:{value:c},...f?{frame:f}:{},...d===void 0?{}:{keyvals:d},...h.length?{groupby:h}:{}})}return null}hash(){return`Impute ${pe(this.transform)}`}assemble(){let{impute:n,key:r,keyvals:i,method:a,groupby:o,value:l,frame:s=[null,null]}=this.transform,u={type:"impute",field:n,key:r,...i?{keyvals:gK(i)?this.processSequence(i):i}:{},method:"value",...o?{groupby:o}:{},value:!a||a==="value"?l:null};return a&&a!=="value"?[u,{type:"window",as:[`imputed_${n}_value`],ops:[a],fields:[n],frame:s,ignorePeers:!1,...o?{groupby:o}:{}},{type:"formula",expr:`datum.${n} === null ? datum.imputed_${n}_value : datum.${n}`,as:n}]:[u]}},E6=class i4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??r.on,i[1]??r.loess]}clone(){return new i4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${pe(this.transform)}`}assemble(){let{loess:n,on:r,...i}=this.transform;return{type:"loess",x:r,y:n,...i}}},$6=class fx extends Ce{constructor(n,r,i){super(n);R(this,"transform");R(this,"secondary");this.transform=r,this.secondary=i}clone(){return new fx(null,oe(this.transform),this.secondary)}static make(n,r,i,a){let o=r.component.data.sources,{from:l}=i,s=null;if(yK(l)){let u=z6(l.data,o);u||(u=new Ka(l.data),o.push(u));let c=r.getName(`lookup_${a}`);s=new tn(u,c,He.Lookup,r.component.data.outputNodeRefCounts),r.component.data.outputNodes[c]=s}else if(vK(l)){let u=l.param;i={as:u,...i};let c;try{c=r.getSelectionComponent(Pe(u),u)}catch{throw Error(JX(u))}if(s=c.materialized,!s)throw Error(QX(u))}return new fx(n,i,s.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Q(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${pe({transform:this.transform,secondary:this.secondary})}`}assemble(){let n;if(this.transform.from.fields)n={values:this.transform.from.fields,...this.transform.as?{as:Q(this.transform.as)}:{}};else{let r=this.transform.as;Y(r)||(q(sY),r="_lookup"),n={as:[r]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...n,...this.transform.default?{default:this.transform.default}:{}}}},A6=class a4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"prob",i[1]??"value"]}clone(){return new a4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${pe(this.transform)}`}assemble(){let{quantile:n,...r}=this.transform;return{type:"quantile",field:n,...r}}},D6=class o4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r,this.transform=oe(r);let i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??r.on,i[1]??r.regression]}clone(){return new o4(null,oe(this.transform))}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${pe(this.transform)}`}assemble(){let{regression:n,on:r,...i}=this.transform;return{type:"regression",x:r,y:n,...i}}},S6=class l4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r}clone(){return new l4(null,oe(this.transform))}addDimensions(n){this.transform.groupby=wr((this.transform.groupby??[]).concat(n),r=>r)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${pe(this.transform)}`}assemble(){let{pivot:n,value:r,groupby:i,limit:a,op:o}=this.transform;return{type:"pivot",field:n,value:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{op:o},...i===void 0?{}:{groupby:i}}}},F6=class s4 extends Ce{constructor(n,r){super(n);R(this,"transform");this.transform=r}clone(){return new s4(null,oe(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${pe(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}};function C6(e){let t=0;function n(r,i){if(r instanceof Ka&&!r.isGenerator&&!dl(r.data)&&(e.push(i),i={name:null,source:i.name,transform:[]}),r instanceof hn&&(r.parent instanceof Ka&&!i.source?(i.format={...i.format,parse:r.assembleFormatParse()},i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof wl){i.name||(i.name=`data_${t++}`),!i.source||i.transform.length>0?(e.push(i),r.data=i.name):r.data=i.source,e.push(...r.assemble());return}switch((r instanceof ib||r instanceof ab||r instanceof ub||r instanceof uh||r instanceof Jv||r instanceof k6||r instanceof Qa||r instanceof $6||r instanceof ph||r instanceof vu||r instanceof w6||r instanceof x6||r instanceof v6||r instanceof E6||r instanceof A6||r instanceof D6||r instanceof _l||r instanceof F6||r instanceof S6||r instanceof b6)&&i.transform.push(r.assemble()),(r instanceof xl||r instanceof hl||r instanceof wb||r instanceof bu||r instanceof _6)&&i.transform.push(...r.assemble()),r instanceof tn&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof tn?r.setSource(i.name):(i.name||(i.name=`data_${t++}`),r.setSource(i.name),r.numChildren()===1&&(e.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof tn&&(!i.source||i.transform.length>0)&&e.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${t++}`);let a=i.name;!i.source||i.transform.length>0?e.push(i):a=i.source;for(let o of r.children)n(o,{name:null,source:a,transform:[]});break}}}return n}function Fte(e){let t=[],n=C6(t);for(let r of e.children)n(r,{source:e.name,name:null,transform:[]});return t}function Cte(e,t){let n=[],r=C6(n),i=0;for(let o of e.sources)o.hasName()||(o.dataName=`source_${i++}`),r(o,o.assemble());for(let o of n)o.transform.length===0&&delete o.transform;let a=0;for(let[o,l]of n.entries())(l.transform??[]).length===0&&!l.source&&n.splice(a++,0,n.splice(o,1)[0]);for(let o of n)for(let l of o.transform??[])l.type==="lookup"&&(l.from=e.outputNodes[l.from].getSource());for(let o of n)o.name in t&&(o.values=t[o.name]);return n}function Mte(e){return e==="top"||e==="left"||ee(e)?"header":"footer"}function Ote(e){for(let t of Mn)zte(e,t);O6(e,"x"),O6(e,"y")}function zte(e,t){var o;let{facet:n,config:r,child:i,component:a}=e;if(e.channelHasField(t)){let l=n[t],s=bl("title",null,r,t),u=sl(l,r,{allowDisabling:!0,includeDefault:s===void 0||!!s});i.component.layoutHeaders[t].title&&(u=N(u)?u.join(", "):u,u+=` / ${i.component.layoutHeaders[t].title}`,i.component.layoutHeaders[t].title=null);let c=bl("labelOrient",l.header,r,t),f=l.header===null?!1:Ye((o=l.header)==null?void 0:o.labels,r.header.labels,!0),d=ce(["bottom","right"],c)?"footer":"header";a.layoutHeaders[t]={title:l.header===null?null:u,facetFieldDef:l,[d]:t==="facet"?[]:[M6(e,t,f)]}}}function M6(e,t,n){let r=t==="row"?"height":"width";return{labels:n,sizeSignal:e.child.component.layoutSize.get(r)?e.child.getSizeSignalRef(r):void 0,axes:[]}}function O6(e,t){let{child:n}=e;if(n.component.axes[t]){let{layoutHeaders:r,resolve:i}=e.component;if(i.axis[t]=tb(i,t),i.axis[t]==="shared"){let a=t==="x"?"column":"row",o=r[a];for(let l of n.component.axes[t]){let s=Mte(l.get("orient"));o[s]??(o[s]=[M6(e,a,!1)]);let u=yu(l,"main",e.config,{header:!0});u&&o[s][0].axes.push(u),l.mainExtracted=!0}}}}function Nte(e){_b(e),yh(e,"width"),yh(e,"height")}function Rte(e){_b(e);let t=e.layout.columns===1?"width":"childWidth",n=e.layout.columns===void 0?"height":"childHeight";yh(e,t),yh(e,n)}function _b(e){for(let t of e.children)t.parseLayoutSize()}function yh(e,t){let n=z5(t),r=Ad(n),i=e.component.resolve,a=e.component.layoutSize,o;for(let l of e.children){let s=l.component.layoutSize.getWithExplicit(n),u=i.scale[r]??R5(r,e);if(u==="independent"&&s.value==="step"){o=void 0;break}if(o){if(u==="independent"&&o.value!==s.value){o=void 0;break}o=na(o,s,n,"")}else o=s}if(o){for(let l of e.children)e.renameSignal(l.getName(n),e.getName(t)),l.component.layoutSize.set(n,"merged",!1);a.setWithExplicit(t,o)}else a.setWithExplicit(t,{explicit:!1,value:void 0})}function Tte(e){let{size:t,component:n}=e;for(let r of ei){let i=en(r);if(t[i]!=null&&t[i]!=null){let a=t[i];n.layoutSize.set(i,Or(a)?"step":a,!0)}else{let a=Lte(e,i);n.layoutSize.set(i,a,!1)}}}function Lte(e,t){let n=t==="width"?"x":"y",r=e.config,i=e.getScaleComponent(n);if(i){let a=i.get("type"),o=i.get("range");if(ut(a)){let l=Zd(r.view,t);return Ta(o)||Or(l)?"step":l}else return kv(r.view,t)}else{if(e.hasProjection||e.mark==="arc")return kv(r.view,t);{let a=Zd(r.view,t);return Or(a)?a.step:a}}}function kb(e,t,n){return X(t,{suffix:`by_${X(e)}`,...n})}var Pte=class Bh extends y6{constructor(n,r,i,a){super(n,"facet",r,i,a,n.resolve);R(this,"facet");R(this,"child");R(this,"children");this.child=Ab(n.spec,this,this.getName("child"),void 0,a),this.children=[this.child],this.facet=this.initFacet(n.facet)}initFacet(n){if(!uu(n))return{facet:this.initFacetFieldDef(n,"facet")};let r=I(n),i={};for(let a of r){if(![Xr,Yr].includes(a)){q(Fd(a,"facet"));break}let o=n[a];if(o.field===void 0){q(Oy(o,a));break}i[a]=this.initFacetFieldDef(o,a)}return i}initFacetFieldDef(n,r){let i=cv(n,r);return i.header?i.header=mt(i.header):i.header===null&&(i.header=null),i}channelHasField(n){return j(this.facet,n)}fieldDef(n){return this.facet[n]}parseData(){this.component.data=vh(this),this.child.parseData()}parseLayoutSize(){_b(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection,Ke(this.component.selection).some(n=>Nr(n))&&Ny(My)}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Ote(this)}assembleSelectionTopLevelSignals(n){return this.child.assembleSelectionTopLevelSignals(n)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(n){return this.child.assembleSelectionData(n)}getHeaderLayoutMixins(){let n={};for(let r of Mn)for(let i of Kv){let a=this.component.layoutHeaders[r],o=a[i],{facetFieldDef:l}=a;if(l){let s=bl("titleOrient",l.header,this.config,r);if(["right","bottom"].includes(s)){let u=fh(r,s);n.titleAnchor??(n.titleAnchor={}),n.titleAnchor[u]="end"}}if(o!=null&&o[0]){let s=r==="row"?"height":"width",u=i==="header"?"headerBand":"footerBand";r!=="facet"&&!this.child.component.layoutSize.get(s)&&(n[u]??(n[u]={}),n[u][r]=.5),a.title&&(n.offset??(n.offset={}),n.offset[r==="row"?"rowTitle":"columnTitle"]=10)}}return n}assembleDefaultLayout(){let{column:n,row:r}=this.facet,i=n?this.columnDistinctSignal():r?1:void 0,a="all";return(!r&&this.component.resolve.scale.x==="independent"||!n&&this.component.resolve.scale.y==="independent")&&(a="none"),{...this.getHeaderLayoutMixins(),...i?{columns:i}:{},bounds:"full",align:a}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof Bh))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(n){return this.parent&&this.parent instanceof Bh?{...this.channelHasField("column")?{encode:{update:{columns:{field:X(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(n)}:super.assembleGroup(n)}getCardinalityAggregateForChild(){let n=[],r=[],i=[];if(this.child instanceof Bh){if(this.child.channelHasField("column")){let a=X(this.child.facet.column);n.push(a),r.push("distinct"),i.push(`distinct_${a}`)}}else for(let a of ei){let o=this.child.component.scales[a];if(o&&!o.merged){let l=o.get("type"),s=o.get("range");if(ut(l)&&Ta(s)){let u=yb(gh(this.child,a));u?(n.push(u),r.push("distinct"),i.push(`distinct_${u}`)):q(Cy(a))}}}return{fields:n,ops:r,as:i}}assembleFacet(){let{name:n,data:r}=this.component.data.facetRoot,{row:i,column:a}=this.facet,{fields:o,ops:l,as:s}=this.getCardinalityAggregateForChild(),u=[];for(let f of Mn){let d=this.facet[f];if(d){u.push(X(d));let{bin:h,sort:p}=d;if(Ne(h)&&u.push(X(d,{binSuffix:"end"})),ri(p)){let{field:m,op:g=Bd}=p,y=kb(d,p);i&&a?(o.push(y),l.push("max"),s.push(y)):(o.push(m),l.push(g),s.push(y))}else if(N(p)){let m=vl(d,f);o.push(m),l.push("max"),s.push(m)}}}let c=!!i&&!!a;return{name:n,data:r,groupby:u,...c||o.length>0?{aggregate:{...c?{cross:c}:{},...o.length?{fields:o,ops:l,as:s}:{}}}:{}}}facetSortFields(n){let{facet:r}=this,i=r[n];return i?ri(i.sort)?[kb(i,i.sort,{expr:"datum"})]:N(i.sort)?[vl(i,n,{expr:"datum"})]:[X(i,{expr:"datum"})]:[]}facetSortOrder(n){let{facet:r}=this,i=r[n];if(i){let{sort:a}=i;return[(ri(a)?a.order:!N(a)&&a)||"ascending"]}return[]}assembleLabelTitle(){var a;let{facet:n,config:r}=this;if(n.facet)return Zv(n.facet,"facet",r);let i={row:["top","bottom"],column:["left","right"]};for(let o of Qv)if(n[o]){let l=bl("labelOrient",(a=n[o])==null?void 0:a.header,r,o);if(i[o].includes(l))return Zv(n[o],o,r)}}assembleMarks(){let{child:n}=this,r=this.component.data.facetRoot,i=Fte(r),a=n.assembleGroupEncodeEntry(!1),o=this.assembleLabelTitle()||n.assembleTitle(),l=n.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...o?{title:o}:{},...l?{style:l}:{},from:{facet:this.assembleFacet()},sort:{field:Mn.map(s=>this.facetSortFields(s)).flat(),order:Mn.map(s=>this.facetSortOrder(s)).flat()},...i.length>0?{data:i}:{},...a?{encode:{update:a}}:{},...n.assembleGroup(eZ(this,[]))}]}getMapping(){return this.facet}};function Bte(e,t){let{row:n,column:r}=t;if(n&&r){let i=null;for(let a of[n,r])if(ri(a.sort)){let{field:o,op:l=Bd}=a.sort;e=i=new vu(e,{joinaggregate:[{op:l,field:o,as:kb(a,a.sort,{forAs:!0})}],groupby:[X(a)]})}return i}return null}function z6(e,t){var n,r,i,a;for(let o of t){let l=o.data;if(e.name&&o.hasName()&&e.name!==o.dataName)continue;let s=(n=e.format)==null?void 0:n.mesh,u=(r=l.format)==null?void 0:r.feature;if(s&&u)continue;let c=(i=e.format)==null?void 0:i.feature;if((c||u)&&c!==u)continue;let f=(a=l.format)==null?void 0:a.mesh;if(!((s||f)&&s!==f)){if(pu(e)&&pu(l)){if(fn(e.values,l.values))return o}else if(dl(e)&&dl(l)){if(e.url===l.url)return o}else if(z3(e)&&e.name===o.dataName)return o}}return null}function Ite(e,t){if(e.data||!e.parent){if(e.data===null){let r=new Ka({values:[]});return t.push(r),r}let n=z6(e.data,t);if(n)return ra(e.data)||(n.data.format=GS({},e.data.format,n.data.format)),!n.hasName()&&e.data.name&&(n.dataName=e.data.name),n;{let r=new Ka(e.data);return t.push(r),r}}else return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}function jte(e,t,n){let r=0;for(let i of t.transforms){let a,o;if(SK(i))o=e=new Jv(e,i),a="derived";else if(Fv(i)){let l=Mee(i);o=e=hn.makeWithAncestors(e,{},l,n)??e,e=new uh(e,t,i.filter)}else if($3(i))o=e=xl.makeFromTransform(e,i,t),a="number";else if(CK(i))a="date",n.getWithExplicit(i.field).value===void 0&&(e=new hn(e,{[i.field]:a}),n.set(i.field,a,!1)),o=e=hl.makeFromTransform(e,i);else if(MK(i))o=e=Qa.makeFromTransform(e,i),a="number",Hv(t)&&(e=new _l(e));else if(E3(i))o=e=$6.make(e,t,i,r++),a="derived";else if($K(i))o=e=new ph(e,i),a="number";else if(AK(i))o=e=new vu(e,i),a="number";else if(OK(i))o=e=bu.makeFromTransform(e,i),a="derived";else if(zK(i))o=e=new w6(e,i),a="derived";else if(NK(i))o=e=new b6(e,i),a="derived";else if(DK(i))o=e=new x6(e,i),a="derived";else if(bK(i))o=e=new S6(e,i),a="derived";else if(EK(i))e=new F6(e,i);else if(FK(i))o=e=wb.makeFromTransform(e,i),a="derived";else if(xK(i))o=e=new v6(e,i),a="derived";else if(wK(i))o=e=new A6(e,i),a="derived";else if(_K(i))o=e=new D6(e,i),a="derived";else if(kK(i))o=e=new E6(e,i),a="derived";else{q(lY(i));continue}if(o&&a!==void 0)for(let l of o.producedFields()??[])n.set(l,a,!1)}return e}function vh(e){var m;let t=Ite(e,e.component.data.sources),{outputNodes:n,outputNodeRefCounts:r}=e.component.data,i=e.data,a=!(i&&(ra(i)||dl(i)||pu(i)))&&e.parent?e.parent.component.data.ancestorParse.clone():new GK;ra(i)?(N3(i)?t=new ab(t,i.sequence):Ov(i)&&(t=new ib(t,i.graticule)),a.parseNothing=!0):((m=i==null?void 0:i.format)==null?void 0:m.parse)===null&&(a.parseNothing=!0),t=hn.makeExplicit(t,e,a)??t,t=new _l(t);let o=e.parent&&kl(e.parent);(je(e)||pn(e))&&o&&(t=xl.makeFromEncoding(t,e)??t),e.transforms.length>0&&(t=jte(t,e,a));let l=zee(e),s=Oee(e);t=hn.makeWithAncestors(t,{},{...l,...s},a)??t,je(e)&&(t=_6.parseAll(t,e),t=k6.parseAll(t,e)),(je(e)||pn(e))&&(o||(t=xl.makeFromEncoding(t,e)??t),t=hl.makeFromEncoding(t,e)??t,t=Jv.parseAllForSortIndex(t,e));let u=t=bh(He.Raw,e,t);if(je(e)){let g=Qa.makeFromEncoding(t,e);g&&(t=g,Hv(e)&&(t=new _l(t))),t=wb.makeFromEncoding(t,e)??t,t=bu.makeFromEncoding(t,e)??t}let c,f;if(je(e)){let{markDef:g,mark:y,config:v}=e,{marks:b,scales:w}=f=T3({invalid:$e("invalid",g,v),isPath:Zi(y)});b!==w&&w==="include-invalid-values"&&(c=t=bh(He.PreFilterInvalid,e,t)),b==="exclude-invalid-values"&&(t=ub.make(t,e,f)??t)}let d=t=bh(He.Main,e,t),h;if(je(e)&&f){let{marks:g,scales:y}=f;g==="include-invalid-values"&&y==="exclude-invalid-values"&&(t=ub.make(t,e,f)??t,h=t=bh(He.PostFilterInvalid,e,t))}je(e)&&FZ(e,d);let p=null;if(pn(e)){let g=e.getName("facet");t=Bte(t,e.facet)??t,p=new wl(t,e,g,d.getSource()),n[g]=p}return{...e.component.data,outputNodes:n,outputNodeRefCounts:r,raw:u,main:d,facetRoot:p,ancestorParse:a,preFilterInvalid:c,postFilterInvalid:h}}function bh(e,t,n){let{outputNodes:r,outputNodeRefCounts:i}=t.component.data,a=t.getDataName(e),o=new tn(n,a,e,i);return r[a]=o,o}var qte=class extends xb{constructor(t,n,r,i){var a,o,l,s;super(t,"concat",n,r,i,t.resolve);R(this,"children");(((o=(a=t.resolve)==null?void 0:a.axis)==null?void 0:o.x)==="shared"||((s=(l=t.resolve)==null?void 0:l.axis)==null?void 0:s.y)==="shared")&&q(iY),this.children=this.getChildren(t).map((u,c)=>Ab(u,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=vh(this);for(let t of this.children)t.parseData()}parseSelections(){this.component.selection={};for(let t of this.children){t.parseSelections();for(let n of I(t.component.selection))this.component.selection[n]=t.component.selection[n]}Ke(this.component.selection).some(t=>Nr(t))&&Ny(My)}parseMarkGroup(){for(let t of this.children)t.parseMarkGroup()}parseAxesAndHeaders(){for(let t of this.children)t.parseAxesAndHeaders()}getChildren(t){return Kd(t)?t.vconcat:_v(t)?t.hconcat:t.concat}parseLayoutSize(){Rte(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(t){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),t)}assembleSignals(){return this.children.forEach(t=>t.assembleSignals()),[]}assembleLayoutSignals(){let t=eb(this);for(let n of this.children)t.push(...n.assembleLayoutSignals());return t}assembleSelectionData(t){return this.children.reduce((n,r)=>r.assembleSelectionData(n),t)}assembleMarks(){return this.children.map(t=>{let n=t.assembleTitle(),r=t.assembleGroupStyle(),i=t.assembleGroupEncodeEntry(!1);return{type:"group",name:t.getName("group"),...n?{title:n}:{},...r?{style:r}:{},...i?{encode:{update:i}}:{},...t.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){let t=this.layout.columns;return{...t==null?{}:{columns:t},bounds:"full",align:"each"}}};function Ute(e){return e===!1||e===null}var N6=I({disable:1,gridScale:1,scale:1,...RC,labelExpr:1,encode:1}),Wte=class u4 extends Va{constructor(n={},r={},i=!1){super();R(this,"explicit");R(this,"implicit");R(this,"mainExtracted");this.explicit=n,this.implicit=r,this.mainExtracted=i}clone(){return new u4(oe(this.explicit),oe(this.implicit),this.mainExtracted)}hasAxisPart(n){return n==="axis"?!0:n==="grid"||n==="title"?!!this.get(n):!Ute(this.get(n))}hasOrientSignalRef(){return ee(this.explicit.orient)}};function Hte(e,t,n){let{encoding:r,config:i}=e,a=rt(r[t])??rt(r[$r(t)]),{format:o,formatType:l}=e.axis(t)||{};if(Wa(l))return{text:er({fieldOrDatumDef:a,field:"datum.value",format:o,formatType:l,config:i}),...n};if(o===void 0&&l===void 0&&i.customFormatTypes){if(ol(a)==="quantitative"){if(ll(a)&&a.stack==="normalize"&&i.normalizedNumberFormatType)return{text:er({fieldOrDatumDef:a,field:"datum.value",format:i.normalizedNumberFormat,formatType:i.normalizedNumberFormatType,config:i}),...n};if(i.numberFormatType)return{text:er({fieldOrDatumDef:a,field:"datum.value",format:i.numberFormat,formatType:i.numberFormatType,config:i}),...n}}if(ol(a)==="temporal"&&i.timeFormatType&&U(a)&&!a.timeUnit)return{text:er({fieldOrDatumDef:a,field:"datum.value",format:i.timeFormat,formatType:i.timeFormatType,config:i}),...n}}return n}function Gte(e){return ei.reduce((t,n)=>(e.component.scales[n]&&(t[n]=[Zte(n,e)]),t),{})}var Vte={bottom:"top",top:"bottom",left:"right",right:"left"};function Xte(e){let{axes:t,resolve:n}=e.component,r={top:0,bottom:0,right:0,left:0};for(let i of e.children){i.parseAxesAndHeaders();for(let a of I(i.component.axes))n.axis[a]=tb(e.component.resolve,a),n.axis[a]==="shared"&&(t[a]=Yte(t[a],i.component.axes[a]),t[a]||(n.axis[a]="independent",delete t[a]))}for(let i of ei){for(let a of e.children)if(a.component.axes[i]){if(n.axis[i]==="independent"){t[i]=(t[i]??[]).concat(a.component.axes[i]);for(let o of a.component.axes[i]){let{value:l,explicit:s}=o.getWithExplicit("orient");if(!ee(l)){if(r[l]>0&&!s){let u=Vte[l];r[l]>r[u]&&o.set("orient",u,!1)}r[l]++}}}delete a.component.axes[i]}if(n.axis[i]==="independent"&&t[i]&&t[i].length>1)for(let[a,o]of(t[i]||[]).entries())a>0&&o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function Yte(e,t){if(e){if(e.length!==t.length)return;let n=e.length;for(let r=0;r<n;r++){let i=e[r],a=t[r];if(!!i!=!!a)return;if(i&&a){let o=i.getWithExplicit("orient"),l=a.getWithExplicit("orient");if(o.explicit&&l.explicit&&o.value!==l.value)return;e[r]=Jte(i,a)}}}else return t.map(n=>n.clone());return e}function Jte(e,t){for(let n of N6){let r=na(e.getWithExplicit(n),t.getWithExplicit(n),n,"axis",(i,a)=>{switch(n){case"title":return EF(i,a);case"gridScale":return{explicit:i.explicit,value:Ye(i.value,a.value)}}return th(i,a,n,"axis")});e.setWithExplicit(n,r)}return e}function Qte(e,t,n,r,i){if(t==="disable")return n!==void 0;switch(n||(n={}),t){case"titleAngle":case"labelAngle":return e===(ee(n.labelAngle)?n.labelAngle:eu(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(e===D5(r,i))return!0}return e===n[t]}var Kte=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Zte(e,t){var y,v;let n=t.axis(e),r=new Wte,i=rt(t.encoding[e]),{mark:a,config:o}=t,l=(n==null?void 0:n.orient)||((y=o[e==="x"?"axisX":"axisY"])==null?void 0:y.orient)||((v=o.axis)==null?void 0:v.orient)||BZ(e),s=t.getScaleComponent(e).get("type"),u=OZ(e,s,l,t.config),c=n===void 0?Xv("disable",o.style,n==null?void 0:n.style,u).configValue:!n;if(r.set("disable",c,n!==void 0),c)return r;n||(n={});let f=TZ(i,n,e,o.style,u),d=gC(n.formatType,i,s),h=mC(i,i.type,n.format,n.formatType,o,!0),p={fieldOrDatumDef:i,axis:n,channel:e,model:t,scaleType:s,orient:l,labelAngle:f,format:h,formatType:d,mark:a,config:o};for(let b of N6){let w=b in E5?E5[b](p):TC(b)?n[b]:void 0,_=w!==void 0,k=Qte(w,b,n,t,e);if(_&&k)r.set(b,w,k);else{let{configValue:x=void 0,configFrom:E=void 0}=TC(b)&&b!=="values"?Xv(b,o.style,n.style,u):{},$=x!==void 0;_&&!$?r.set(b,w,k):(E!=="vgAxisConfig"||Kte.has(b)&&$||hu(x)||ee(x))&&r.set(b,x,!1)}}let m=n.encoding??{},g=NC.reduce((b,w)=>{if(!r.hasAxisPart(w))return b;let _=N5(m[w]??{},t),k=w==="labels"?Hte(t,e,_):_;return k!==void 0&&!ze(k)&&(b[w]={update:k}),b},{});return ze(g)||r.set("encode",g,!!n.encoding||n.labelAngle!==void 0),r}function ene({encoding:e,size:t}){for(let n of ei){let r=en(n);Or(t[r])&&ta(e[n])&&(delete t[r],q(TF(r)))}return t}var tne={vgMark:"arc",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Wt("x",e,{defaultPos:"mid"}),...Wt("y",e,{defaultPos:"mid"}),...li(e,"radius"),...li(e,"theta")})},nne={vgMark:"area",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...ah("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="horizontal"}),...ah("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:e.markDef.orient==="vertical"}),...Uv(e)})},rne={vgMark:"rect",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...li(e,"x"),...li(e,"y")})},ine={vgMark:"shape",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{let{encoding:t}=e,n=t.shape;return[{type:"geoshape",projection:e.projectionName(),...n&&U(n)&&n.type===il?{field:X(n,{expr:"datum"})}:{}}]}},ane={vgMark:"image",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...li(e,"x"),...li(e,"y"),...Iv(e,"url")})},one={vgMark:"line",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...Wt("x",e,{defaultPos:"mid"}),...Wt("y",e,{defaultPos:"mid"}),...yt("size",e,{vgChannel:"strokeWidth"}),...Uv(e)})},lne={vgMark:"trail",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Wt("x",e,{defaultPos:"mid"}),...Wt("y",e,{defaultPos:"mid"}),...yt("size",e),...Uv(e)})};function Eb(e,t){let{config:n}=e;return{...On(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...Wt("x",e,{defaultPos:"mid"}),...Wt("y",e,{defaultPos:"mid"}),...yt("size",e),...yt("angle",e),...sne(e,n,t)}}function sne(e,t,n){return n?{shape:{value:n}}:yt("shape",e)}var une={vgMark:"symbol",encodeEntry:e=>Eb(e)},cne={vgMark:"symbol",encodeEntry:e=>Eb(e,"circle")},fne={vgMark:"symbol",encodeEntry:e=>Eb(e,"square")},dne={vgMark:"rect",encodeEntry:e=>({...On(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...li(e,"x"),...li(e,"y")})},hne={vgMark:"rule",encodeEntry:e=>{let{markDef:t}=e,n=t.orient;return!e.encoding.x&&!e.encoding.y&&!e.encoding.latitude&&!e.encoding.longitude?{}:{...On(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...ah("x",e,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"}),...ah("y",e,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"}),...yt("size",e,{vgChannel:"strokeWidth"})}}},pne={vgMark:"text",encodeEntry:e=>{let{config:t,encoding:n}=e;return{...On(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...Wt("x",e,{defaultPos:"mid"}),...Wt("y",e,{defaultPos:"mid"}),...Iv(e),...yt("size",e,{vgChannel:"fontSize"}),...yt("angle",e),...a5("align",mne(e.markDef,n,t)),...a5("baseline",gne(e.markDef,n,t)),...Wt("radius",e,{defaultPos:null}),...Wt("theta",e,{defaultPos:null})}}};function mne(e,t,n){if($e("align",e,n)===void 0)return"center"}function gne(e,t,n){if($e("baseline",e,n)===void 0)return"middle"}var xh={arc:tne,area:nne,bar:rne,circle:cne,geoshape:ine,image:ane,line:one,point:une,rect:dne,rule:hne,square:fne,text:pne,tick:{vgMark:"rect",encodeEntry:e=>{let{config:t,markDef:n}=e,r=n.orient,i=r==="horizontal"?"x":"y",a=r==="horizontal"?"y":"x",o=r==="horizontal"?"height":"width";return{...On(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...li(e,i),...Wt(a,e,{defaultPos:"mid",vgChannel:a==="y"?"yc":"xc"}),[o]:Te($e("thickness",n,t))}}},trail:lne};function yne(e){if(ce([Rd,zd,zJ],e.mark)){let t=qC(e.mark,e.encoding);if(t.length>0)return vne(e,t)}else if(e.mark===Nd){let t=Dy.some(n=>$e(n,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&t)return bne(e)}return $b(e)}var R6="faceted_path_";function vne(e,t){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:R6+e.requestDataName(He.Main),data:e.requestDataName(He.Main),groupby:t}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:$b(e,{fromPrefix:R6})}]}var T6="stack_group_";function bne(e){var s;let[t]=$b(e,{fromPrefix:T6}),n=e.scaleName(e.stack.fieldChannel),r=(u={})=>e.vgField(e.stack.fieldChannel,u),i=(u,c)=>`${u}(${[r({prefix:"min",suffix:"start",expr:c}),r({prefix:"max",suffix:"start",expr:c}),r({prefix:"min",suffix:"end",expr:c}),r({prefix:"max",suffix:"end",expr:c})].map(f=>`scale('${n}',${f})`).join(",")})`,a,o;e.stack.fieldChannel==="x"?(a={...Jo(t.encode.update,["y","yc","y2","height",...Dy]),x:{signal:i("min","datum")},x2:{signal:i("max","datum")},clip:{value:!0}},o={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},t.encode.update={...cn(t.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(a={...Jo(t.encode.update,["x","xc","x2","width"]),y:{signal:i("min","datum")},y2:{signal:i("max","datum")},clip:{value:!0}},o={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},t.encode.update={...cn(t.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(let u of Dy){let c=Dr(u,e.markDef,e.config);t.encode.update[u]?(a[u]=t.encode.update[u],delete t.encode.update[u]):c&&(a[u]=Te(c)),c&&(t.encode.update[u]={value:0})}let l=[];if(((s=e.stack.groupbyChannels)==null?void 0:s.length)>0)for(let u of e.stack.groupbyChannels){let c=e.fieldDef(u),f=X(c);f&&l.push(f),(c!=null&&c.bin||c!=null&&c.timeUnit)&&l.push(X(c,{binSuffix:"end"}))}return a=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((u,c)=>{if(t.encode.update[c])return{...u,[c]:t.encode.update[c]};{let f=Dr(c,e.markDef,e.config);return f===void 0?u:{...u,[c]:Te(f)}}},a),a.stroke&&(a.strokeForeground={value:!0},a.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(He.Main),name:T6+e.requestDataName(He.Main),groupby:l,aggregate:{fields:[r({suffix:"start"}),r({suffix:"start"}),r({suffix:"end"}),r({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:a},marks:[{type:"group",encode:{update:o},marks:[t]}]}]}function xne(e){let{encoding:t,stack:n,mark:r,markDef:i,config:a}=e,o=t.order;if(!(!N(o)&&tr(o)&&cy(o.value)||!o&&cy($e("order",i,a)))){if((N(o)||U(o))&&!n)return wF(o,{expr:"datum"});if(Zi(r)){let l=i.orient==="horizontal"?"y":"x",s=t[l];if(U(s))return{field:l}}}}function $b(e,t={fromPrefix:""}){var h;let{mark:n,markDef:r,encoding:i,config:a}=e,o=Ye(r.clip,wne(e),_ne(e)),l=bF(r),s=i.key,u=xne(e),c=kne(e);c&&Object.values(e.component.selection).some(p=>p.type==="point"&&!p.bind&&p.on!=="pointerover")&&((h=e.markDef).cursor??(h.cursor="pointer"));let f=$e("aria",r,a),d=xh[n].postEncodingTransform?xh[n].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:xh[n].vgMark,...o?{clip:o}:{},...l?{style:l}:{},...s?{key:s.field}:{},...u?{sort:u}:{},...c||{},...f===!1?{aria:f}:{},from:{data:t.fromPrefix+e.requestDataName(He.Main)},encode:{update:xh[n].encodeEntry(e)},...d?{transform:d}:{}}]}function wne(e){let t=e.getScaleComponent("x"),n=e.getScaleComponent("y");return t!=null&&t.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function _ne(e){let t=e.component.projection;return t&&!t.isFit?!0:void 0}function kne(e){if(!e.component.selection)return null;let t=I(e.component.selection).length,n=t,r=e.parent;for(;r&&n===0;)n=I(r.component.selection).length,r=r.parent;return n?{interactive:t>0||e.mark==="geoshape"||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}var L6=class extends y6{constructor(t,n,r,i={},a){super(t,"unit",n,r,a,void 0,o3(t)?t.view:void 0);R(this,"markDef");R(this,"encoding");R(this,"specifiedScales",{});R(this,"stack");R(this,"specifiedAxes",{});R(this,"specifiedLegends",{});R(this,"specifiedProjection",{});R(this,"selection",[]);R(this,"children",[]);R(this,"correctDataNames",t=>{var n,r,i;return(n=t.from)!=null&&n.data&&(t.from.data=this.lookupDataSource(t.from.data),"time"in this.encoding&&(t.from.data=t.from.data+j3)),(i=(r=t.from)==null?void 0:r.facet)!=null&&i.data&&(t.from.facet.data=this.lookupDataSource(t.from.facet.data)),t});let o=Cr(t.mark)?{...t.mark}:{type:t.mark},l=o.type;o.filled===void 0&&(o.filled=sK(o,a,{graticule:t.data&&Ov(t.data)}));let s=this.encoding=mQ(t.encoding||{},l,o.filled,a);this.markDef=m3(o,s,a),this.size=ene({encoding:s,size:o3(t)?{...i,...t.width===void 0?{}:{width:t.width},...t.height===void 0?{}:{height:t.height}}:i}),this.stack=p3(this.markDef,s),this.specifiedScales=this.initScales(l,s),this.specifiedAxes=this.initAxes(s),this.specifiedLegends=this.initLegends(s),this.specifiedProjection=t.projection,this.selection=(t.params??[]).filter(u=>xv(u)),this.alignStackOrderWithColorDomain()}get hasProjection(){let{encoding:t}=this,n=this.mark===lC,r=t&&hX.some(i=>le(t[i]));return n||r}scaleDomain(t){let n=this.specifiedScales[t];return n?n.domain:void 0}axis(t){return this.specifiedAxes[t]}legend(t){return this.specifiedLegends[t]}initScales(t,n){return Ey.reduce((r,i)=>{let a=rt(n[i]);return a&&(r[i]=this.initScale(a.scale??{})),r},{})}initScale(t){let{domain:n,range:r}=t,i=mt(t);return N(n)&&(i.domain=n.map(dn)),N(r)&&(i.range=r.map(dn)),i}initAxes(t){return ei.reduce((n,r)=>{let i=t[r];if(le(i)||r===Be&&le(t.x2)||r===lt&&le(t.y2)){let a=le(i)?i.axis:void 0;n[r]=a&&this.initAxis({...a})}return n},{})}initAxis(t){let n=I(t),r={};for(let i of n){let a=t[i];r[i]=hu(a)?gF(a):dn(a)}return r}initLegends(t){return EX.reduce((n,r)=>{let i=rt(t[r]);if(i&&AX(r)){let a=i.legend;n[r]=a&&mt(a)}return n},{})}alignStackOrderWithColorDomain(){var m;let{color:t,fill:n,order:r,xOffset:i,yOffset:a}=this.encoding,o=n||t,l=U(o)?o:void 0,s=l==null?void 0:l.field,u=l==null?void 0:l.scale,c=l==null?void 0:l.type,f=u==null?void 0:u.domain,d=i||a,h=U(d)?d:void 0,p=`_${s}_sort_index`;if(!r&&Array.isArray(f)&&typeof s=="string"&&c==="nominal")if(h&&!h.sort)h.sort=f;else{if(!this.stack)return;let g=`indexof(${H(f)}, datum['${s}'])`,y=((m=this.markDef)==null?void 0:m.orient)==="horizontal"?"ascending":"descending";this.transforms.push({calculate:g,as:p}),this.encoding.order={field:p,type:"quantitative",sort:y}}}parseData(){this.component.data=vh(this)}parseLayoutSize(){Tte(this)}parseSelections(){this.component.selection=SZ(this,this.selection)}parseMarkGroup(){this.component.mark=yne(this)}parseAxesAndHeaders(){this.component.axes=Gte(this)}assembleSelectionTopLevelSignals(t){return tZ(this,t)}assembleSignals(){return[..._5(this),...ZK(this,[])]}assembleSelectionData(t){return nZ(this,t)}assembleLayout(){return null}assembleLayoutSignals(){return eb(this)}assembleMarks(){let t=this.component.mark??[];return(!this.parent||!kl(this.parent))&&(t=H3(this,t)),t.map(this.correctDataNames)}assembleGroupStyle(){let{style:t}=this.view||{};return t===void 0?this.encoding.x||this.encoding.y?"cell":"view":t}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(t){return Ga(this.encoding,t)}fieldDef(t){let n=this.encoding[t];return nr(n)}typedFieldDef(t){let n=this.fieldDef(t);return Ut(n)?n:null}},Ene=class c4 extends xb{constructor(n,r,i,a,o){super(n,"layer",r,i,o,n.resolve,n.view);R(this,"children");let l={...a,...n.width?{width:n.width}:{},...n.height?{height:n.height}:{}};this.children=n.layer.map((s,u)=>{if(eh(s))return new c4(s,this,this.getName(`layer_${u}`),l,o);if(ii(s))return new L6(s,this,this.getName(`layer_${u}`),l,o);throw Error(Fy(s))})}parseData(){this.component.data=vh(this);for(let n of this.children)n.parseData()}parseLayoutSize(){Nte(this)}parseSelections(){this.component.selection={};for(let n of this.children){n.parseSelections();for(let r of I(n.component.selection))this.component.selection[r]=n.component.selection[r]}Ke(this.component.selection).some(n=>Nr(n))&&Ny(My)}parseMarkGroup(){for(let n of this.children)n.parseMarkGroup()}parseAxesAndHeaders(){Xte(this)}assembleSelectionTopLevelSignals(n){return this.children.reduce((r,i)=>i.assembleSelectionTopLevelSignals(r),n)}assembleSignals(){return this.children.reduce((n,r)=>n.concat(r.assembleSignals()),_5(this))}assembleLayoutSignals(){return this.children.reduce((n,r)=>n.concat(r.assembleLayoutSignals()),eb(this))}assembleSelectionData(n){return this.children.reduce((r,i)=>i.assembleSelectionData(r),n)}assembleGroupStyle(){let n=new Set;for(let i of this.children)for(let a of Q(i.assembleGroupStyle()))n.add(a);let r=Array.from(n);return r.length>1?r:r.length===1?r[0]:void 0}assembleTitle(){let n=super.assembleTitle();if(n)return n;for(let r of this.children)if(n=r.assembleTitle(),n)return n}assembleLayout(){return null}assembleMarks(){return rZ(this,this.children.flatMap(n=>n.assembleMarks()))}assembleLegends(){return this.children.reduce((n,r)=>n.concat(r.assembleLegends()),H5(this))}};function Ab(e,t,n,r,i){if(Id(e))return new Pte(e,t,n,i);if(eh(e))return new Ene(e,t,n,r,i);if(ii(e))return new L6(e,t,n,r,i);if(PQ(e))return new qte(e,t,n,i);throw Error(Fy(e))}function P6(e,t={}){t.logger&&XY(t.logger),t.fieldTitle&&CC(t.fieldTitle);try{let n=d3(co(t.config,e.config)),r=F3(e,n),i=Ab(r,null,"",void 0,n);return i.parse(),Xee(i.component.data,i),{spec:Ane(i,$ne(e,r.autosize,n,i),e.datasets,e.usermeta),normalized:r}}finally{t.logger&&YY(),t.fieldTitle&&lQ()}}function $ne(e,t,n,r){let i=r.component.layoutSize.get("width"),a=r.component.layoutSize.get("height");if(t===void 0?(t={type:"pad"},r.hasAxisOrientSignalRef()&&(t.resize=!0)):Y(t)&&(t={type:t}),i&&a&&UK(t.type)){if(i==="step"&&a==="step")q(DF()),t.type="pad";else if(i==="step"||a==="step"){let o=i==="step"?"width":"height";q(DF(Ad(o))),t.type=WK(o==="width"?"height":"width")}}return{...I(t).length===1&&t.type?t.type==="pad"?{}:{autosize:t.type}:{autosize:t},...M3(n,!1),...M3(e,!0)}}function Ane(e,t,n={},r){let i=e.config?JQ(e.config):void 0,a=Cte(e.component.data,n),o=e.assembleSelectionData(a),l=e.assembleProjections(),s=e.assembleTitle(),u=e.assembleGroupStyle(),c=e.assembleGroupEncodeEntry(!0),f=e.assembleLayoutSignals();f=f.filter(p=>(p.name==="width"||p.name==="height")&&p.value!==void 0?(t[p.name]=+p.value,!1):!0);let{params:d,...h}=t;return{$schema:"https://vega.github.io/schema/vega/v6.json",...e.description?{description:e.description}:{},...h,...s?{title:s}:{},...u?{style:u}:{},...c?{encode:{update:c}}:{},data:o,...l.length>0?{projections:l}:{},...e.assembleGroup([...f,...e.assembleSelectionTopLevelSignals([]),...i3(d)]),...i?{config:i}:{},...r?{usermeta:r}:{}}}var Dne=lX.version;function B6(e){let[t,n]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:t,version:n}}var Sne=Gt({carbong10:()=>lre,carbong100:()=>ure,carbong90:()=>sre,carbonwhite:()=>ore,dark:()=>Cne,excel:()=>Mne,fivethirtyeight:()=>Nne,ggplot2:()=>Rne,googlecharts:()=>Vne,latimes:()=>Bne,powerbi:()=>nre,quartz:()=>Ine,urbaninstitute:()=>Gne,version:()=>cre,vox:()=>jne}),Fne={version:"3.0.0"},El="#fff",I6="#888",Cne={background:"#333",view:{stroke:I6},title:{color:El,subtitleColor:El},style:{"guide-label":{fill:El},"guide-title":{fill:El}},axis:{domainColor:El,gridColor:I6,tickColor:El}},eo="#4572a7",Mne={background:"#fff",arc:{fill:eo},area:{fill:eo},line:{stroke:eo,strokeWidth:2},path:{stroke:eo},rect:{fill:eo},shape:{stroke:eo},symbol:{fill:eo,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},to="#30a2da",Db="#cbcbcb",One="#999",zne="#333",j6="#f0f0f0",q6="#333",Nne={arc:{fill:to},area:{fill:to},axis:{domainColor:Db,grid:!0,gridColor:Db,gridWidth:1,labelColor:One,labelFontSize:10,titleColor:zne,tickColor:Db,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:j6,group:{fill:j6},legend:{labelColor:q6,labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:q6,titleFontSize:14,titlePadding:10},line:{stroke:to,strokeWidth:2},path:{stroke:to,strokeWidth:.5},rect:{fill:to},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:to},bar:{binSpacing:2,fill:to,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},no="#000",Rne={group:{fill:"#e5e5e5"},arc:{fill:no},area:{fill:no},line:{stroke:no},path:{stroke:no},rect:{fill:no},shape:{stroke:no},symbol:{fill:no,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},Tne=22,Lne="normal",U6="Benton Gothic, sans-serif",W6=11.5,Pne="normal",ro="#82c6df",Sb="Benton Gothic Bold, sans-serif",H6="normal",G6=13,xu={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"]},Bne={background:"#ffffff",title:{anchor:"start",color:"#000000",font:Sb,fontSize:Tne,fontWeight:Lne},arc:{fill:ro},area:{fill:ro},line:{stroke:ro,strokeWidth:2},path:{stroke:ro},rect:{fill:ro},shape:{stroke:ro},symbol:{fill:ro,size:30},axis:{labelFont:U6,labelFontSize:W6,labelFontWeight:Pne,titleFont:Sb,titleFontSize:G6,titleFontWeight:H6},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:U6,labelFontSize:W6,symbolType:"square",titleFont:Sb,titleFontSize:G6,titleFontWeight:H6},range:{category:xu["category-6"],diverging:xu["fireandice-6"],heatmap:xu["fire-7"],ordinal:xu["fire-7"],ramp:xu["fire-7"]}},io="#ab5787",wh="#979797",Ine={background:"#f9f9f9",arc:{fill:io},area:{fill:io},line:{stroke:io},path:{stroke:io},rect:{fill:io},shape:{stroke:io},symbol:{fill:io,size:30},axis:{domainColor:wh,domainWidth:.5,gridWidth:.2,labelColor:wh,tickColor:wh,tickWidth:.2,titleColor:wh},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},ao="#3e5c69",jne={background:"#fff",arc:{fill:ao},area:{fill:ao},line:{stroke:ao},path:{stroke:ao},rect:{fill:ao},shape:{stroke:ao},symbol:{fill:ao},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},zn="#1696d2",V6="#000000",qne="#FFFFFF",_h="Lato",Fb="Lato",Une="Lato",Wne="#DEDDDD",Hne=18,wu={"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},Gne={background:qne,title:{anchor:"start",fontSize:Hne,font:_h},axisX:{domain:!0,domainColor:V6,domainWidth:1,grid:!1,labelFontSize:12,labelFont:Fb,labelAngle:0,tickColor:V6,tickSize:5,titleFontSize:12,titlePadding:10,titleFont:_h},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:Wne,gridWidth:1,labelFontSize:12,labelFont:Fb,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:_h,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:Fb,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:_h,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:wu["six-groups-cat-1"],diverging:wu["diverging-colors"],heatmap:wu["diverging-colors"],ordinal:wu["six-groups-seq"],ramp:wu["shades-blue"]},area:{fill:zn},rect:{fill:zn},line:{color:zn,stroke:zn,strokeWidth:5},trail:{color:zn,stroke:zn,strokeWidth:0,size:1},path:{stroke:zn,strokeWidth:.5},point:{filled:!0},text:{font:Une,color:zn,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:zn,stroke:null}},arc:{fill:zn},shape:{stroke:zn},symbol:{fill:zn,size:30}},oo="#3366CC",X6="#ccc",kh="Arial, sans-serif",Vne={arc:{fill:oo},area:{fill:oo},path:{stroke:oo},rect:{fill:oo},shape:{stroke:oo},symbol:{stroke:oo},circle:{fill:oo},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:kh,fontSize:12},"guide-title":{font:kh,fontSize:12},"group-title":{font:kh,fontSize:12}},title:{font:kh,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:X6,tickColor:X6,domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},Cb=e=>e*1.3333333333333333,Y6=Cb(9),J6=Cb(10),Q6=Cb(12),_u="Segoe UI",K6="wf_standard-font, helvetica, arial, sans-serif",Z6="#252423",ku="#605E5C",eM="transparent",Xne="#C8C6C4",or="#118DFF",Yne="#12239E",Jne="#E66C37",Qne="#6B007B",Kne="#E044A7",Zne="#744EC2",ere="#D9B300",tre="#D64550",tM=or,nM="#DEEFFF",rM=[nM,tM],nre={view:{stroke:eM},background:eM,font:_u,header:{titleFont:K6,titleFontSize:Q6,titleColor:Z6,labelFont:_u,labelFontSize:J6,labelColor:ku},axis:{ticks:!1,grid:!1,domain:!1,labelColor:ku,labelFontSize:Y6,titleFont:K6,titleColor:Z6,titleFontSize:Q6,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:Xne,gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:or},line:{stroke:or,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:_u,fontSize:Y6,fill:ku},arc:{fill:or},area:{fill:or,line:!0,opacity:.6},path:{stroke:or},rect:{fill:or},point:{fill:or,filled:!0,size:75},shape:{stroke:or},symbol:{fill:or,strokeWidth:1.5,size:50},legend:{titleFont:_u,titleFontWeight:"bold",titleColor:ku,labelFont:_u,labelFontSize:J6,labelColor:ku,symbolType:"circle",symbolSize:75},range:{category:[or,Yne,Jne,Qne,Kne,Zne,ere,tre],diverging:rM,heatmap:rM,ordinal:[nM,"#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",tM]}},Mb='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',rre='IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif',Ob=400,Eh={textPrimary:{g90:"#f4f4f4",g100:"#f4f4f4",white:"#161616",g10:"#161616"},textSecondary:{g90:"#c6c6c6",g100:"#c6c6c6",white:"#525252",g10:"#525252"},layerAccent01:{white:"#e0e0e0",g10:"#e0e0e0",g90:"#525252",g100:"#393939"},gridBg:{white:"#ffffff",g10:"#ffffff",g90:"#161616",g100:"#161616"}},ire=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],are=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function $h({theme:e,background:t}){let n=["white","g10"].includes(e)?"light":"dark",r=Eh.gridBg[e],i=Eh.textPrimary[e],a=Eh.textSecondary[e],o=n==="dark"?ire:are,l=n==="dark"?"#d4bbff":"#6929c4";return{background:t,arc:{fill:l},area:{fill:l},path:{stroke:l},rect:{fill:l},shape:{stroke:l},symbol:{stroke:l},circle:{fill:l},view:{fill:r,stroke:r},group:{fill:r},title:{color:i,anchor:"start",dy:-15,fontSize:16,font:Mb,fontWeight:600},axis:{labelColor:a,labelFontSize:12,labelFont:rre,labelFontWeight:Ob,titleColor:i,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:Eh.layerAccent01[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:Mb,fill:a,fontWeight:Ob},"guide-title":{font:Mb,fill:a,fontWeight:Ob}},range:{category:o,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}var ore=$h({theme:"white",background:"#ffffff"}),lre=$h({theme:"g10",background:"#f4f4f4"}),sre=$h({theme:"g90",background:"#262626"}),ure=$h({theme:"g100",background:"#161616"}),cre=Fne.version,fre={version:"1.0.0"};function dre(e,t,n,r){if(N(e))return`[${e.map(i=>t(Y(i)?i:iM(i,n))).join(", ")}]`;if(J(e)){let i="",{title:a,image:o,...l}=e;a&&(i+=`<h2>${t(a)}</h2>`),o&&(i+=`<img src="${new URL(t(o),r||location.href).href}">`);let s=Object.keys(l);if(s.length>0){i+="<table>";for(let u of s){let c=l[u];c!==void 0&&(J(c)&&(c=iM(c,n)),i+=`<tr><td class="key">${t(u)}</td><td class="value">${t(c)}</td></tr>`)}i+="</table>"}return i||"{}"}return t(e)}function hre(e){let t=[];return function(n,r){return typeof r!="object"||!r?r:(t.length=t.indexOf(this)+1,t.length>e?"[Object]":t.indexOf(r)>=0?"[Circular]":(t.push(r),r))}}function iM(e,t){return JSON.stringify(e,hre(t))}var pre=`#vg-tooltip-element {
11
- visibility: hidden;
12
- padding: 8px;
13
- position: fixed;
14
- z-index: 1000;
15
- font-family: sans-serif;
16
- font-size: 11px;
17
- border-radius: 3px;
18
- box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
19
- /* The default theme is the light theme. */
20
- background-color: rgba(255, 255, 255, 0.95);
21
- border: 1px solid #d9d9d9;
22
- color: black;
23
- }
24
- #vg-tooltip-element.visible {
25
- visibility: visible;
26
- }
27
- #vg-tooltip-element h2 {
28
- margin-top: 0;
29
- margin-bottom: 10px;
30
- font-size: 13px;
31
- }
32
- #vg-tooltip-element table {
33
- border-spacing: 0;
34
- }
35
- #vg-tooltip-element table tr {
36
- border: none;
37
- }
38
- #vg-tooltip-element table tr td {
39
- overflow: hidden;
40
- text-overflow: ellipsis;
41
- padding-top: 2px;
42
- padding-bottom: 2px;
43
- }
44
- #vg-tooltip-element table tr td.key {
45
- color: #808080;
46
- max-width: 150px;
47
- text-align: right;
48
- padding-right: 4px;
49
- }
50
- #vg-tooltip-element table tr td.value {
51
- display: block;
52
- max-width: 300px;
53
- max-height: 7em;
54
- text-align: left;
55
- }
56
- #vg-tooltip-element.dark-theme {
57
- background-color: rgba(32, 32, 32, 0.9);
58
- border: 1px solid #f5f5f5;
59
- color: white;
60
- }
61
- #vg-tooltip-element.dark-theme td.key {
62
- color: #bfbfbf;
63
- }
64
- `,aM="vg-tooltip-element",mre={offsetX:10,offsetY:10,id:aM,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:gre,maxDepth:2,formatTooltip:dre,baseURL:"",anchor:"cursor",position:["top","bottom","left","right","top-left","top-right","bottom-left","bottom-right"]};function gre(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;")}function yre(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw Error("Invalid HTML ID");return pre.toString().replaceAll(aM,e)}function oM(e,t,{offsetX:n,offsetY:r}){let i=lM({x1:e.clientX,x2:e.clientX,y1:e.clientY,y2:e.clientY},t,n,r);for(let a of["bottom-right","bottom-left","top-right","top-left"])if(sM(i[a],t))return i[a];return i["top-left"]}function vre(e,t,n,r,i){let{position:a,offsetX:o,offsetY:l}=i,s=e._el.getBoundingClientRect(),u=e._origin,c=lM(bre(s,u,n),r,o,l),f=Array.isArray(a)?a:[a];for(let d of f)if(sM(c[d],r)&&!xre(t,c[d],r))return c[d];return oM(t,r,i)}function bre(e,t,n){let r=n.isVoronoi?n.datum.bounds:n.bounds,i=e.left+t[0]+r.x1,a=e.top+t[1]+r.y1,o=n;for(;o.mark.group;)o=o.mark.group,i+=o.x??0,a+=o.y??0;let l=r.x2-r.x1,s=r.y2-r.y1;return{x1:i,x2:i+l,y1:a,y2:a+s}}function lM(e,t,n,r){let i=(e.x1+e.x2)/2,a=(e.y1+e.y2)/2,o=e.x1-t.width-n,l=i-t.width/2,s=e.x2+n,u=e.y1-t.height-r,c=a-t.height/2,f=e.y2+r;return{top:{x:l,y:u},bottom:{x:l,y:f},left:{x:o,y:c},right:{x:s,y:c},"top-left":{x:o,y:u},"top-right":{x:s,y:u},"bottom-left":{x:o,y:f},"bottom-right":{x:s,y:f}}}function sM(e,t){return e.x>=0&&e.y>=0&&e.x+t.width<=window.innerWidth&&e.y+t.height<=window.innerHeight}function xre(e,t,n){return e.clientX>=t.x&&e.clientX<=t.x+n.width&&e.clientY>=t.y&&e.clientY<=t.y+n.height}var wre=class{constructor(e){R(this,"call");R(this,"options");R(this,"el");this.options={...mre,...e};let t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){let n=document.createElement("style");n.setAttribute("id",this.options.styleId),n.innerHTML=yre(t);let r=document.head;r.childNodes.length>0?r.insertBefore(n,r.childNodes[0]):r.appendChild(n)}}tooltipHandler(e,t,n,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),(document.fullscreenElement??document.body).appendChild(this.el)),r==null||r===""){this.el.classList.remove("visible",`${this.options.theme}-theme`);return}this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add("visible",`${this.options.theme}-theme`);let{x:i,y:a}=this.options.anchor==="mark"?vre(e,t,n,this.el.getBoundingClientRect(),this.options):oM(t,this.el.getBoundingClientRect(),this.options);this.el.style.top=`${a}px`,this.el.style.left=`${i}px`}};fre.version;/*!
65
- * https://github.com/Starcounter-Jack/JSON-Patch
66
- * (c) 2017-2022 Joachim Wester
67
- * MIT licensed
68
- */var _re=(function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var a in i)i.hasOwnProperty(a)&&(r[a]=i[a])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}})(),kre=Object.prototype.hasOwnProperty;function zb(e,t){return kre.call(e,t)}function Nb(e){if(Array.isArray(e)){for(var t=Array(e.length),n=0;n<t.length;n++)t[n]=""+n;return t}if(Object.keys)return Object.keys(e);var r=[];for(var i in e)zb(e,i)&&r.push(i);return r}function mn(e){switch(typeof e){case"object":return JSON.parse(JSON.stringify(e));case"undefined":return null;default:return e}}function Rb(e){for(var t=0,n=e.length,r;t<n;){if(r=e.charCodeAt(t),r>=48&&r<=57){t++;continue}return!1}return!0}function lo(e){return e.indexOf("/")===-1&&e.indexOf("~")===-1?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function uM(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function Tb(e){if(e===void 0)return!0;if(e){if(Array.isArray(e)){for(var t=0,n=e.length;t<n;t++)if(Tb(e[t]))return!0}else if(typeof e=="object"){for(var r=Nb(e),i=r.length,a=0;a<i;a++)if(Tb(e[r[a]]))return!0}}return!1}function cM(e,t){var n=[e];for(var r in t){var i=typeof t[r]=="object"?JSON.stringify(t[r],null,2):t[r];i!==void 0&&n.push(r+": "+i)}return n.join(`
69
- `)}var fM=(function(e){_re(t,e);function t(n,r,i,a,o){var l=this.constructor,s=e.call(this,cM(n,{name:r,index:i,operation:a,tree:o}))||this;return s.name=r,s.index=i,s.operation=a,s.tree=o,Object.setPrototypeOf(s,l.prototype),s.message=cM(n,{name:r,index:i,operation:a,tree:o}),s}return t})(Error),Ge=fM,Ere=mn,$l={add:function(e,t,n){return e[t]=this.value,{newDocument:n}},remove:function(e,t,n){var r=e[t];return delete e[t],{newDocument:n,removed:r}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:function(e,t,n){var r=Ah(n,this.path);r&&(r=mn(r));var i=so(n,{op:"remove",path:this.from}).removed;return so(n,{op:"add",path:this.path,value:i}),{newDocument:n,removed:r}},copy:function(e,t,n){var r=Ah(n,this.from);return so(n,{op:"add",path:this.path,value:mn(r)}),{newDocument:n}},test:function(e,t,n){return{newDocument:n,test:Eu(e[t],this.value)}},_get:function(e,t,n){return this.value=e[t],{newDocument:n}}},$re={add:function(e,t,n){return Rb(t)?e.splice(t,0,this.value):e[t]=this.value,{newDocument:n,index:t}},remove:function(e,t,n){return{newDocument:n,removed:e.splice(t,1)[0]}},replace:function(e,t,n){var r=e[t];return e[t]=this.value,{newDocument:n,removed:r}},move:$l.move,copy:$l.copy,test:$l.test,_get:$l._get};function Ah(e,t){if(t=="")return e;var n={op:"_get",path:t};return so(e,n),n.value}function so(e,t,n,r,i,a){if(n===void 0&&(n=!1),r===void 0&&(r=!0),i===void 0&&(i=!0),a===void 0&&(a=0),n&&(typeof n=="function"?n(t,0,e,t.path):Sh(t,0)),t.path===""){var o={newDocument:e};if(t.op==="add")return o.newDocument=t.value,o;if(t.op==="replace")return o.newDocument=t.value,o.removed=e,o;if(t.op==="move"||t.op==="copy")return o.newDocument=Ah(e,t.from),t.op==="move"&&(o.removed=e),o;if(t.op==="test"){if(o.test=Eu(e,t.value),o.test===!1)throw new Ge("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o.newDocument=e,o}else{if(t.op==="remove")return o.removed=e,o.newDocument=null,o;if(t.op==="_get")return t.value=e,o;if(n)throw new Ge("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",a,t,e);return o}}else{r||(e=mn(e));var l=(t.path||"").split("/"),s=e,u=1,c=l.length,f=void 0,d=void 0,h=void 0;for(h=typeof n=="function"?n:Sh;;){if(d=l[u],d&&d.indexOf("~")!=-1&&(d=uM(d)),i&&(d=="__proto__"||d=="prototype"&&u>0&&l[u-1]=="constructor"))throw TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(n&&f===void 0&&(s[d]===void 0?f=l.slice(0,u).join("/"):u==c-1&&(f=t.path),f!==void 0&&h(t,0,e,f)),u++,Array.isArray(s)){if(d==="-")d=s.length;else{if(n&&!Rb(d))throw new Ge("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",a,t,e);Rb(d)&&(d=~~d)}if(u>=c){if(n&&t.op==="add"&&d>s.length)throw new Ge("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",a,t,e);var o=$re[t.op].call(t,s,d,e);if(o.test===!1)throw new Ge("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}}else if(u>=c){var o=$l[t.op].call(t,s,d,e);if(o.test===!1)throw new Ge("Test operation failed","TEST_OPERATION_FAILED",a,t,e);return o}if(s=s[d],n&&u<c&&(!s||typeof s!="object"))throw new Ge("Cannot perform operation at the desired path","OPERATION_PATH_UNRESOLVABLE",a,t,e)}}}function Dh(e,t,n,r,i){if(r===void 0&&(r=!0),i===void 0&&(i=!0),n&&!Array.isArray(t))throw new Ge("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");r||(e=mn(e));for(var a=Array(t.length),o=0,l=t.length;o<l;o++)a[o]=so(e,t[o],n,!0,i,o),e=a[o].newDocument;return a.newDocument=e,a}function Are(e,t,n){var r=so(e,t);if(r.test===!1)throw new Ge("Test operation failed","TEST_OPERATION_FAILED",n,t,e);return r.newDocument}function Sh(e,t,n,r){if(typeof e!="object"||!e||Array.isArray(e))throw new Ge("Operation is not an object","OPERATION_NOT_AN_OBJECT",t,e,n);if($l[e.op]){if(typeof e.path!="string")throw new Ge("Operation `path` property is not a string","OPERATION_PATH_INVALID",t,e,n);if(e.path.indexOf("/")!==0&&e.path.length>0)throw new Ge('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",t,e,n);if((e.op==="move"||e.op==="copy")&&typeof e.from!="string")throw new Ge("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&e.value===void 0)throw new Ge("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",t,e,n);if((e.op==="add"||e.op==="replace"||e.op==="test")&&Tb(e.value))throw new Ge("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",t,e,n);if(n){if(e.op=="add"){var i=e.path.split("/").length,a=r.split("/").length;if(i!==a+1&&i!==a)throw new Ge("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",t,e,n)}else if(e.op==="replace"||e.op==="remove"||e.op==="_get"){if(e.path!==r)throw new Ge("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",t,e,n)}else if(e.op==="move"||e.op==="copy"){var o=dM([{op:"_get",path:e.from,value:void 0}],n);if(o&&o.name==="OPERATION_PATH_UNRESOLVABLE")throw new Ge("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",t,e,n)}}}else throw new Ge("Operation `op` property is not one of operations defined in RFC-6902","OPERATION_OP_INVALID",t,e,n)}function dM(e,t,n){try{if(!Array.isArray(e))throw new Ge("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(t)Dh(mn(t),mn(e),n||!0);else{n||(n=Sh);for(var r=0;r<e.length;r++)n(e[r],r,t,void 0)}}catch(i){if(i instanceof Ge)return i;throw i}}function Eu(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){var n=Array.isArray(e),r=Array.isArray(t),i,a,o;if(n&&r){if(a=e.length,a!=t.length)return!1;for(i=a;i--!==0;)if(!Eu(e[i],t[i]))return!1;return!0}if(n!=r)return!1;var l=Object.keys(e);if(a=l.length,a!==Object.keys(t).length)return!1;for(i=a;i--!==0;)if(!t.hasOwnProperty(l[i]))return!1;for(i=a;i--!==0;)if(o=l[i],!Eu(e[o],t[o]))return!1;return!0}return e!==e&&t!==t}var Dre=Object.freeze({__proto__:null,JsonPatchError:Ge,_areEquals:Eu,applyOperation:so,applyPatch:Dh,applyReducer:Are,deepClone:Ere,getValueByPointer:Ah,validate:dM,validator:Sh}),Lb=new WeakMap,Sre=(function(){function e(t){this.observers=new Map,this.obj=t}return e})(),Fre=(function(){function e(t,n){this.callback=t,this.observer=n}return e})();function Cre(e){return Lb.get(e)}function Mre(e,t){return e.observers.get(t)}function Ore(e,t){e.observers.delete(t.callback)}function zre(e,t){t.unobserve()}function Nre(e,t){var n=[],r,i=Cre(e);if(!i)i=new Sre(e),Lb.set(e,i);else{var a=Mre(i,t);r=a&&a.observer}if(r)return r;if(r={},i.value=mn(e),t){r.callback=t,r.next=null;var o=function(){Pb(r)},l=function(){clearTimeout(r.next),r.next=setTimeout(o)};typeof window<"u"&&(window.addEventListener("mouseup",l),window.addEventListener("keyup",l),window.addEventListener("mousedown",l),window.addEventListener("keydown",l),window.addEventListener("change",l))}return r.patches=n,r.object=e,r.unobserve=function(){Pb(r),clearTimeout(r.next),Ore(i,r),typeof window<"u"&&(window.removeEventListener("mouseup",l),window.removeEventListener("keyup",l),window.removeEventListener("mousedown",l),window.removeEventListener("keydown",l),window.removeEventListener("change",l))},i.observers.set(t,new Fre(t,r)),r}function Pb(e,t){t===void 0&&(t=!1);var n=Lb.get(e.object);Bb(n.value,e.object,e.patches,"",t),e.patches.length&&Dh(n.value,e.patches);var r=e.patches;return r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function Bb(e,t,n,r,i){if(t!==e){typeof t.toJSON=="function"&&(t=t.toJSON());for(var a=Nb(t),o=Nb(e),l=!1,s=o.length-1;s>=0;s--){var u=o[s],c=e[u];if(zb(t,u)&&!(t[u]===void 0&&c!==void 0&&Array.isArray(t)===!1)){var f=t[u];typeof c=="object"&&c&&typeof f=="object"&&f&&Array.isArray(c)===Array.isArray(f)?Bb(c,f,n,r+"/"+lo(u),i):c!==f&&(i&&n.push({op:"test",path:r+"/"+lo(u),value:mn(c)}),n.push({op:"replace",path:r+"/"+lo(u),value:mn(f)}))}else Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+lo(u),value:mn(c)}),n.push({op:"remove",path:r+"/"+lo(u)}),l=!0):(i&&n.push({op:"test",path:r,value:e}),n.push({op:"replace",path:r,value:t}))}if(!(!l&&a.length==o.length))for(var s=0;s<a.length;s++){var u=a[s];!zb(e,u)&&t[u]!==void 0&&n.push({op:"add",path:r+"/"+lo(u),value:mn(t[u])})}}}function Rre(e,t,n){n===void 0&&(n=!1);var r=[];return Bb(e,t,r,"",n),r}var Tre=Object.freeze({__proto__:null,compare:Rre,generate:Pb,observe:Nre,unobserve:zre});Object.assign({},Dre,Tre,{JsonPatchError:fM,deepClone:mn,escapePathComponent:lo,unescapePathComponent:uM});function Lre(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ib,hM;function Pre(){if(hM)return Ib;hM=1;class e{constructor(){this.max=1e3,this.map=new Map}get(n){let r=this.map.get(n);if(r!==void 0)return this.map.delete(n),this.map.set(n,r),r}delete(n){return this.map.delete(n)}set(n,r){if(!this.delete(n)&&r!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(n,r)}return this}}return Ib=e,Ib}var jb,pM;function qb(){if(pM)return jb;pM=1;let e=Object.freeze({loose:!0}),t=Object.freeze({});return jb=n=>n?typeof n=="object"?n:e:t,jb}var Fh={exports:{}},Ub,mM;function Wb(){return mM||(mM=1,Ub={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:2**53-1||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}),Ub}var Hb,gM;function Ch(){return gM||(gM=1,Hb=typeof process=="object"&&{}.NODE_DEBUG&&/\bsemver\b/i.test({}.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{}),Hb}var yM;function Gb(){return yM||(yM=1,(function(e,t){let{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=Wb(),a=Ch();t=e.exports={};let o=t.re=[],l=t.safeRe=[],s=t.src=[],u=t.safeSrc=[],c=t.t={},f=0,d="[a-zA-Z0-9-]",h=[["\\s",1],["\\d",i],[d,r]],p=g=>{for(let[y,v]of h)g=g.split(`${y}*`).join(`${y}{0,${v}}`).split(`${y}+`).join(`${y}{1,${v}}`);return g},m=(g,y,v)=>{let b=p(y),w=f++;a(g,w,y),c[g]=w,s[w]=y,u[w]=b,o[w]=new RegExp(y,v?"g":void 0),l[w]=new RegExp(b,v?"g":void 0)};m("NUMERICIDENTIFIER","0|[1-9]\\d*"),m("NUMERICIDENTIFIERLOOSE","\\d+"),m("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),m("MAINVERSION",`(${s[c.NUMERICIDENTIFIER]})\\.(${s[c.NUMERICIDENTIFIER]})\\.(${s[c.NUMERICIDENTIFIER]})`),m("MAINVERSIONLOOSE",`(${s[c.NUMERICIDENTIFIERLOOSE]})\\.(${s[c.NUMERICIDENTIFIERLOOSE]})\\.(${s[c.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASEIDENTIFIER",`(?:${s[c.NONNUMERICIDENTIFIER]}|${s[c.NUMERICIDENTIFIER]})`),m("PRERELEASEIDENTIFIERLOOSE",`(?:${s[c.NONNUMERICIDENTIFIER]}|${s[c.NUMERICIDENTIFIERLOOSE]})`),m("PRERELEASE",`(?:-(${s[c.PRERELEASEIDENTIFIER]}(?:\\.${s[c.PRERELEASEIDENTIFIER]})*))`),m("PRERELEASELOOSE",`(?:-?(${s[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[c.PRERELEASEIDENTIFIERLOOSE]})*))`),m("BUILDIDENTIFIER",`${d}+`),m("BUILD",`(?:\\+(${s[c.BUILDIDENTIFIER]}(?:\\.${s[c.BUILDIDENTIFIER]})*))`),m("FULLPLAIN",`v?${s[c.MAINVERSION]}${s[c.PRERELEASE]}?${s[c.BUILD]}?`),m("FULL",`^${s[c.FULLPLAIN]}$`),m("LOOSEPLAIN",`[v=\\s]*${s[c.MAINVERSIONLOOSE]}${s[c.PRERELEASELOOSE]}?${s[c.BUILD]}?`),m("LOOSE",`^${s[c.LOOSEPLAIN]}$`),m("GTLT","((?:<|>)?=?)"),m("XRANGEIDENTIFIERLOOSE",`${s[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),m("XRANGEIDENTIFIER",`${s[c.NUMERICIDENTIFIER]}|x|X|\\*`),m("XRANGEPLAIN",`[v=\\s]*(${s[c.XRANGEIDENTIFIER]})(?:\\.(${s[c.XRANGEIDENTIFIER]})(?:\\.(${s[c.XRANGEIDENTIFIER]})(?:${s[c.PRERELEASE]})?${s[c.BUILD]}?)?)?`),m("XRANGEPLAINLOOSE",`[v=\\s]*(${s[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[c.XRANGEIDENTIFIERLOOSE]})(?:${s[c.PRERELEASELOOSE]})?${s[c.BUILD]}?)?)?`),m("XRANGE",`^${s[c.GTLT]}\\s*${s[c.XRANGEPLAIN]}$`),m("XRANGELOOSE",`^${s[c.GTLT]}\\s*${s[c.XRANGEPLAINLOOSE]}$`),m("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),m("COERCE",`${s[c.COERCEPLAIN]}(?:$|[^\\d])`),m("COERCEFULL",s[c.COERCEPLAIN]+`(?:${s[c.PRERELEASE]})?(?:${s[c.BUILD]})?(?:$|[^\\d])`),m("COERCERTL",s[c.COERCE],!0),m("COERCERTLFULL",s[c.COERCEFULL],!0),m("LONETILDE","(?:~>?)"),m("TILDETRIM",`(\\s*)${s[c.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",m("TILDE",`^${s[c.LONETILDE]}${s[c.XRANGEPLAIN]}$`),m("TILDELOOSE",`^${s[c.LONETILDE]}${s[c.XRANGEPLAINLOOSE]}$`),m("LONECARET","(?:\\^)"),m("CARETTRIM",`(\\s*)${s[c.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",m("CARET",`^${s[c.LONECARET]}${s[c.XRANGEPLAIN]}$`),m("CARETLOOSE",`^${s[c.LONECARET]}${s[c.XRANGEPLAINLOOSE]}$`),m("COMPARATORLOOSE",`^${s[c.GTLT]}\\s*(${s[c.LOOSEPLAIN]})$|^$`),m("COMPARATOR",`^${s[c.GTLT]}\\s*(${s[c.FULLPLAIN]})$|^$`),m("COMPARATORTRIM",`(\\s*)${s[c.GTLT]}\\s*(${s[c.LOOSEPLAIN]}|${s[c.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",m("HYPHENRANGE",`^\\s*(${s[c.XRANGEPLAIN]})\\s+-\\s+(${s[c.XRANGEPLAIN]})\\s*$`),m("HYPHENRANGELOOSE",`^\\s*(${s[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[c.XRANGEPLAINLOOSE]})\\s*$`),m("STAR","(<|>)?=?\\s*\\*"),m("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),m("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(Fh,Fh.exports)),Fh.exports}var Vb,vM;function Bre(){if(vM)return Vb;vM=1;let e=/^[0-9]+$/,t=(n,r)=>{let i=e.test(n),a=e.test(r);return i&&a&&(n=+n,r=+r),n===r?0:i&&!a?-1:a&&!i?1:n<r?-1:1};return Vb={compareIdentifiers:t,rcompareIdentifiers:(n,r)=>t(r,n)},Vb}var Xb,bM;function Yb(){if(bM)return Xb;bM=1;let e=Ch(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=Wb(),{safeRe:r,t:i}=Gb(),a=qb(),{compareIdentifiers:o}=Bre();class l{constructor(u,c){if(c=a(c),u instanceof l){if(u.loose===!!c.loose&&u.includePrerelease===!!c.includePrerelease)return u;u=u.version}else if(typeof u!="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof u}".`);if(u.length>t)throw TypeError(`version is longer than ${t} characters`);e("SemVer",u,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;let f=u.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!f)throw TypeError(`Invalid Version: ${u}`);if(this.raw=u,this.major=+f[1],this.minor=+f[2],this.patch=+f[3],this.major>n||this.major<0)throw TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw TypeError("Invalid patch version");f[4]?this.prerelease=f[4].split(".").map(d=>{if(/^[0-9]+$/.test(d)){let h=+d;if(h>=0&&h<n)return h}return d}):this.prerelease=[],this.build=f[5]?f[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(u){if(e("SemVer.compare",this.version,this.options,u),!(u instanceof l)){if(typeof u=="string"&&u===this.version)return 0;u=new l(u,this.options)}return u.version===this.version?0:this.compareMain(u)||this.comparePre(u)}compareMain(u){return u instanceof l||(u=new l(u,this.options)),o(this.major,u.major)||o(this.minor,u.minor)||o(this.patch,u.patch)}comparePre(u){if(u instanceof l||(u=new l(u,this.options)),this.prerelease.length&&!u.prerelease.length)return-1;if(!this.prerelease.length&&u.prerelease.length)return 1;if(!this.prerelease.length&&!u.prerelease.length)return 0;let c=0;do{let f=this.prerelease[c],d=u.prerelease[c];if(e("prerelease compare",c,f,d),f===void 0&&d===void 0)return 0;if(d===void 0)return 1;if(f===void 0)return-1;if(f!==d)return o(f,d)}while(++c)}compareBuild(u){u instanceof l||(u=new l(u,this.options));let c=0;do{let f=this.build[c],d=u.build[c];if(e("build compare",c,f,d),f===void 0&&d===void 0)return 0;if(d===void 0)return 1;if(f===void 0)return-1;if(f!==d)return o(f,d)}while(++c)}inc(u,c,f){if(u.startsWith("pre")){if(!c&&f===!1)throw Error("invalid increment argument: identifier is empty");if(c){let d=`-${c}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!d||d[1]!==c)throw Error(`invalid identifier: ${c}`)}}switch(u){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",c,f);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",c,f);break;case"prepatch":this.prerelease.length=0,this.inc("patch",c,f),this.inc("pre",c,f);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",c,f),this.inc("pre",c,f);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let d=Number(f)?1:0;if(this.prerelease.length===0)this.prerelease=[d];else{let h=this.prerelease.length;for(;--h>=0;)typeof this.prerelease[h]=="number"&&(this.prerelease[h]++,h=-2);if(h===-1){if(c===this.prerelease.join(".")&&f===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(d)}}if(c){let h=[c,d];f===!1&&(h=[c]),o(this.prerelease[0],c)===0?isNaN(this.prerelease[1])&&(this.prerelease=h):this.prerelease=h}break}default:throw Error(`invalid increment argument: ${u}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return Xb=l,Xb}var Jb,xM;function Al(){if(xM)return Jb;xM=1;let e=Yb();return Jb=(t,n,r)=>new e(t,r).compare(new e(n,r)),Jb}var Qb,wM;function Ire(){if(wM)return Qb;wM=1;let e=Al();return Qb=(t,n,r)=>e(t,n,r)===0,Qb}var Kb,_M;function jre(){if(_M)return Kb;_M=1;let e=Al();return Kb=(t,n,r)=>e(t,n,r)!==0,Kb}var Zb,kM;function qre(){if(kM)return Zb;kM=1;let e=Al();return Zb=(t,n,r)=>e(t,n,r)>0,Zb}var ex,EM;function Ure(){if(EM)return ex;EM=1;let e=Al();return ex=(t,n,r)=>e(t,n,r)>=0,ex}var tx,$M;function Wre(){if($M)return tx;$M=1;let e=Al();return tx=(t,n,r)=>e(t,n,r)<0,tx}var nx,AM;function Hre(){if(AM)return nx;AM=1;let e=Al();return nx=(t,n,r)=>e(t,n,r)<=0,nx}var rx,DM;function Gre(){if(DM)return rx;DM=1;let e=Ire(),t=jre(),n=qre(),r=Ure(),i=Wre(),a=Hre();return rx=(o,l,s,u)=>{switch(l){case"===":return typeof o=="object"&&(o=o.version),typeof s=="object"&&(s=s.version),o===s;case"!==":return typeof o=="object"&&(o=o.version),typeof s=="object"&&(s=s.version),o!==s;case"":case"=":case"==":return e(o,s,u);case"!=":return t(o,s,u);case">":return n(o,s,u);case">=":return r(o,s,u);case"<":return i(o,s,u);case"<=":return a(o,s,u);default:throw TypeError(`Invalid operator: ${l}`)}},rx}var ix,SM;function Vre(){if(SM)return ix;SM=1;let e=Symbol("SemVer ANY");class t{static get ANY(){return e}constructor(c,f){if(f=n(f),c instanceof t){if(c.loose===!!f.loose)return c;c=c.value}c=c.trim().split(/\s+/).join(" "),o("comparator",c,f),this.options=f,this.loose=!!f.loose,this.parse(c),this.semver===e?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}parse(c){let f=this.options.loose?r[i.COMPARATORLOOSE]:r[i.COMPARATOR],d=c.match(f);if(!d)throw TypeError(`Invalid comparator: ${c}`);this.operator=d[1]===void 0?"":d[1],this.operator==="="&&(this.operator=""),d[2]?this.semver=new l(d[2],this.options.loose):this.semver=e}toString(){return this.value}test(c){if(o("Comparator.test",c,this.options.loose),this.semver===e||c===e)return!0;if(typeof c=="string")try{c=new l(c,this.options)}catch{return!1}return a(c,this.operator,this.semver,this.options)}intersects(c,f){if(!(c instanceof t))throw TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new s(c.value,f).test(this.value):c.operator===""?c.value===""?!0:new s(this.value,f).test(c.semver):(f=n(f),f.includePrerelease&&(this.value==="<0.0.0-0"||c.value==="<0.0.0-0")||!f.includePrerelease&&(this.value.startsWith("<0.0.0")||c.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&c.operator.startsWith(">")||this.operator.startsWith("<")&&c.operator.startsWith("<")||this.semver.version===c.semver.version&&this.operator.includes("=")&&c.operator.includes("=")||a(this.semver,"<",c.semver,f)&&this.operator.startsWith(">")&&c.operator.startsWith("<")||a(this.semver,">",c.semver,f)&&this.operator.startsWith("<")&&c.operator.startsWith(">")))}}ix=t;let n=qb(),{safeRe:r,t:i}=Gb(),a=Gre(),o=Ch(),l=Yb(),s=CM();return ix}var ax,FM;function CM(){if(FM)return ax;FM=1;let e=/\s+/g;class t{constructor(M,A){if(A=r(A),M instanceof t)return M.loose===!!A.loose&&M.includePrerelease===!!A.includePrerelease?M:new t(M.raw,A);if(M instanceof i)return this.raw=M.value,this.set=[[M]],this.formatted=void 0,this;if(this.options=A,this.loose=!!A.loose,this.includePrerelease=!!A.includePrerelease,this.raw=M.trim().replace(e," "),this.set=this.raw.split("||").map(C=>this.parseRange(C.trim())).filter(C=>C.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let C=this.set[0];if(this.set=this.set.filter(P=>!p(P[0])),this.set.length===0)this.set=[C];else if(this.set.length>1){for(let P of this.set)if(P.length===1&&m(P[0])){this.set=[P];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let M=0;M<this.set.length;M++){M>0&&(this.formatted+="||");let A=this.set[M];for(let C=0;C<A.length;C++)C>0&&(this.formatted+=" "),this.formatted+=A[C].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(M){let A=((this.options.includePrerelease&&d)|(this.options.loose&&h))+":"+M,C=n.get(A);if(C)return C;let P=this.options.loose,W=P?l[s.HYPHENRANGELOOSE]:l[s.HYPHENRANGE];M=M.replace(W,F(this.options.includePrerelease)),a("hyphen replace",M),M=M.replace(l[s.COMPARATORTRIM],u),a("comparator trim",M),M=M.replace(l[s.TILDETRIM],c),a("tilde trim",M),M=M.replace(l[s.CARETTRIM],f),a("caret trim",M);let V=M.split(" ").map(ge=>y(ge,this.options)).join(" ").split(/\s+/).map(ge=>D(ge,this.options));P&&(V=V.filter(ge=>(a("loose invalid filter",ge,this.options),!!ge.match(l[s.COMPARATORLOOSE])))),a("range list",V);let ae=new Map,se=V.map(ge=>new i(ge,this.options));for(let ge of se){if(p(ge))return[ge];ae.set(ge.value,ge)}ae.size>1&&ae.has("")&&ae.delete("");let xe=[...ae.values()];return n.set(A,xe),xe}intersects(M,A){if(!(M instanceof t))throw TypeError("a Range is required");return this.set.some(C=>g(C,A)&&M.set.some(P=>g(P,A)&&C.every(W=>P.every(V=>W.intersects(V,A)))))}test(M){if(!M)return!1;if(typeof M=="string")try{M=new o(M,this.options)}catch{return!1}for(let A=0;A<this.set.length;A++)if(T(this.set[A],M,this.options))return!0;return!1}}ax=t;let n=new(Pre()),r=qb(),i=Vre(),a=Ch(),o=Yb(),{safeRe:l,t:s,comparatorTrimReplace:u,tildeTrimReplace:c,caretTrimReplace:f}=Gb(),{FLAG_INCLUDE_PRERELEASE:d,FLAG_LOOSE:h}=Wb(),p=S=>S.value==="<0.0.0-0",m=S=>S.value==="",g=(S,M)=>{let A=!0,C=S.slice(),P=C.pop();for(;A&&C.length;)A=C.every(W=>P.intersects(W,M)),P=C.pop();return A},y=(S,M)=>(a("comp",S,M),S=_(S,M),a("caret",S),S=b(S,M),a("tildes",S),S=x(S,M),a("xrange",S),S=$(S,M),a("stars",S),S),v=S=>!S||S.toLowerCase()==="x"||S==="*",b=(S,M)=>S.trim().split(/\s+/).map(A=>w(A,M)).join(" "),w=(S,M)=>{let A=M.loose?l[s.TILDELOOSE]:l[s.TILDE];return S.replace(A,(C,P,W,V,ae)=>{a("tilde",S,C,P,W,V,ae);let se;return v(P)?se="":v(W)?se=`>=${P}.0.0 <${+P+1}.0.0-0`:v(V)?se=`>=${P}.${W}.0 <${P}.${+W+1}.0-0`:ae?(a("replaceTilde pr",ae),se=`>=${P}.${W}.${V}-${ae} <${P}.${+W+1}.0-0`):se=`>=${P}.${W}.${V} <${P}.${+W+1}.0-0`,a("tilde return",se),se})},_=(S,M)=>S.trim().split(/\s+/).map(A=>k(A,M)).join(" "),k=(S,M)=>{a("caret",S,M);let A=M.loose?l[s.CARETLOOSE]:l[s.CARET],C=M.includePrerelease?"-0":"";return S.replace(A,(P,W,V,ae,se)=>{a("caret",S,P,W,V,ae,se);let xe;return v(W)?xe="":v(V)?xe=`>=${W}.0.0${C} <${+W+1}.0.0-0`:v(ae)?xe=W==="0"?`>=${W}.${V}.0${C} <${W}.${+V+1}.0-0`:`>=${W}.${V}.0${C} <${+W+1}.0.0-0`:se?(a("replaceCaret pr",se),xe=W==="0"?V==="0"?`>=${W}.${V}.${ae}-${se} <${W}.${V}.${+ae+1}-0`:`>=${W}.${V}.${ae}-${se} <${W}.${+V+1}.0-0`:`>=${W}.${V}.${ae}-${se} <${+W+1}.0.0-0`):(a("no pr"),xe=W==="0"?V==="0"?`>=${W}.${V}.${ae}${C} <${W}.${V}.${+ae+1}-0`:`>=${W}.${V}.${ae}${C} <${W}.${+V+1}.0-0`:`>=${W}.${V}.${ae} <${+W+1}.0.0-0`),a("caret return",xe),xe})},x=(S,M)=>(a("replaceXRanges",S,M),S.split(/\s+/).map(A=>E(A,M)).join(" ")),E=(S,M)=>{S=S.trim();let A=M.loose?l[s.XRANGELOOSE]:l[s.XRANGE];return S.replace(A,(C,P,W,V,ae,se)=>{a("xRange",S,C,P,W,V,ae,se);let xe=v(W),ge=xe||v(V),Ht=ge||v(ae),Et=Ht;return P==="="&&Et&&(P=""),se=M.includePrerelease?"-0":"",xe?C=P===">"||P==="<"?"<0.0.0-0":"*":P&&Et?(ge&&(V=0),ae=0,P===">"?(P=">=",ge?(W=+W+1,V=0,ae=0):(V=+V+1,ae=0)):P==="<="&&(P="<",ge?W=+W+1:V=+V+1),P==="<"&&(se="-0"),C=`${P+W}.${V}.${ae}${se}`):ge?C=`>=${W}.0.0${se} <${+W+1}.0.0-0`:Ht&&(C=`>=${W}.${V}.0${se} <${W}.${+V+1}.0-0`),a("xRange return",C),C})},$=(S,M)=>(a("replaceStars",S,M),S.trim().replace(l[s.STAR],"")),D=(S,M)=>(a("replaceGTE0",S,M),S.trim().replace(l[M.includePrerelease?s.GTE0PRE:s.GTE0],"")),F=S=>(M,A,C,P,W,V,ae,se,xe,ge,Ht,Et)=>(A=v(C)?"":v(P)?`>=${C}.0.0${S?"-0":""}`:v(W)?`>=${C}.${P}.0${S?"-0":""}`:V?`>=${A}`:`>=${A}${S?"-0":""}`,se=v(xe)?"":v(ge)?`<${+xe+1}.0.0-0`:v(Ht)?`<${xe}.${+ge+1}.0-0`:Et?`<=${xe}.${ge}.${Ht}-${Et}`:S?`<${xe}.${ge}.${+Ht+1}-0`:`<=${se}`,`${A} ${se}`.trim()),T=(S,M,A)=>{for(let C=0;C<S.length;C++)if(!S[C].test(M))return!1;if(M.prerelease.length&&!A.includePrerelease){for(let C=0;C<S.length;C++)if(a(S[C].semver),S[C].semver!==i.ANY&&S[C].semver.prerelease.length>0){let P=S[C].semver;if(P.major===M.major&&P.minor===M.minor&&P.patch===M.patch)return!0}return!1}return!0};return ax}var ox,MM;function Xre(){if(MM)return ox;MM=1;let e=CM();return ox=(t,n,r)=>{try{n=new e(n,r)}catch{return!1}return n.test(t)},ox}var OM=Lre(Xre());function Yre(e,t,n){let r=e.open(t),{origin:i}=new URL(t),a=40;function o(s){s.source===r&&(a=0,e.removeEventListener("message",o,!1))}e.addEventListener("message",o,!1);function l(){a<=0||(r.postMessage(n,i),setTimeout(l,250),--a)}setTimeout(l,250)}var Jre=`.vega-embed {
70
- position: relative;
71
- display: inline-block;
72
- box-sizing: border-box;
73
- }
74
- .vega-embed.has-actions {
75
- padding-right: 38px;
76
- }
77
- .vega-embed details:not([open]) > :not(summary) {
78
- display: none !important;
79
- }
80
- .vega-embed summary {
81
- list-style: none;
82
- position: absolute;
83
- top: 0;
84
- right: 0;
85
- padding: 6px;
86
- z-index: 1000;
87
- background: white;
88
- box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
89
- color: #1b1e23;
90
- border: 1px solid #aaa;
91
- border-radius: 999px;
92
- opacity: 0.2;
93
- transition: opacity 0.4s ease-in;
94
- cursor: pointer;
95
- line-height: 0px;
96
- }
97
- .vega-embed summary::-webkit-details-marker {
98
- display: none;
99
- }
100
- .vega-embed summary:active {
101
- box-shadow: #aaa 0px 0px 0px 1px inset;
102
- }
103
- .vega-embed summary svg {
104
- width: 14px;
105
- height: 14px;
106
- }
107
- .vega-embed details[open] summary {
108
- opacity: 0.7;
109
- }
110
- .vega-embed:hover summary, .vega-embed:focus-within summary {
111
- opacity: 1 !important;
112
- transition: opacity 0.2s ease;
113
- }
114
- .vega-embed .vega-actions {
115
- position: absolute;
116
- z-index: 1001;
117
- top: 35px;
118
- right: -9px;
119
- display: flex;
120
- flex-direction: column;
121
- padding-bottom: 8px;
122
- padding-top: 8px;
123
- border-radius: 4px;
124
- box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);
125
- border: 1px solid #d9d9d9;
126
- background: white;
127
- animation-duration: 0.15s;
128
- animation-name: scale-in;
129
- animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);
130
- text-align: left;
131
- }
132
- .vega-embed .vega-actions a {
133
- padding: 8px 16px;
134
- font-family: sans-serif;
135
- font-size: 14px;
136
- font-weight: 600;
137
- white-space: nowrap;
138
- color: #434a56;
139
- text-decoration: none;
140
- }
141
- .vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {
142
- background-color: #f7f7f9;
143
- color: black;
144
- }
145
- .vega-embed .vega-actions::before, .vega-embed .vega-actions::after {
146
- content: "";
147
- display: inline-block;
148
- position: absolute;
149
- }
150
- .vega-embed .vega-actions::before {
151
- left: auto;
152
- right: 14px;
153
- top: -16px;
154
- border: 8px solid rgba(0, 0, 0, 0);
155
- border-bottom-color: #d9d9d9;
156
- }
157
- .vega-embed .vega-actions::after {
158
- left: auto;
159
- right: 15px;
160
- top: -14px;
161
- border: 7px solid rgba(0, 0, 0, 0);
162
- border-bottom-color: #fff;
163
- }
164
- .vega-embed .chart-wrapper.fit-x {
165
- width: 100%;
166
- }
167
- .vega-embed .chart-wrapper.fit-y {
168
- height: 100%;
169
- }
170
-
171
- .vega-embed-wrapper {
172
- max-width: 100%;
173
- overflow: auto;
174
- padding-right: 14px;
175
- }
176
-
177
- @keyframes scale-in {
178
- from {
179
- opacity: 0;
180
- transform: scale(0.6);
181
- }
182
- to {
183
- opacity: 1;
184
- transform: scale(1);
185
- }
186
- }
187
- `;function zM(e,...t){for(let n of t)Qre(e,n);return e}function Qre(e,t){for(let n of Object.keys(t))Ou(e,n,t[n],!0)}var Rr=XV,$u=oX,Mh=typeof window<"u"?window:void 0;$u===void 0&&((UM=Mh==null?void 0:Mh.vl)!=null&&UM.compile)&&($u=Mh.vl);var Kre={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},Zre={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},Au={vega:"Vega","vega-lite":"Vega-Lite"},Oh={vega:Rr.version,"vega-lite":$u?$u.version:"not available"},eie={vega:e=>e,"vega-lite":(e,t,n)=>$u.compile(e,{config:n,logger:t}).spec},tie=`
188
- <svg viewBox="0 0 16 16" fill="currentColor" stroke="none" stroke-width="1" stroke-linecap="round" stroke-linejoin="round">
189
- <circle r="2" cy="8" cx="2"></circle>
190
- <circle r="2" cy="8" cx="8"></circle>
191
- <circle r="2" cy="8" cx="14"></circle>
192
- </svg>`,nie="chart-wrapper";function rie(e){return typeof e=="function"}function NM(e,t,n,r){let i=`<html><head>${t}</head><body><pre><code class="json">`,a=`</code></pre>${n}</body></html>`,o=window.open("");o.document.write(i+e+a),o.document.title=`${Au[r]} JSON Source`}function iie(e,t,n){if(e.$schema){let r=B6(e.$schema);n&&n!==r.library&&t.warn(`The given visualization spec is written in ${Au[r.library]}, but mode argument sets ${Au[n]??n}.`);let i=r.library;return OM(Oh[i],`^${r.version.slice(1)}`)||t.warn(`The input spec uses ${Au[i]} ${r.version}, but the current version of ${Au[i]} is v${Oh[i]}.`),i}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":n??"vega"}function RM(e){return!!(e&&"load"in e)}function TM(e){return RM(e)?e:Rr.loader(e)}function aie(e){var n;let t=((n=e.usermeta)==null?void 0:n.embedOptions)??{};return Y(t.defaultStyle)&&(t.defaultStyle=!1),t}async function oie(e,t,n={}){let r,i;Y(t)?(i=TM(n.loader),r=JSON.parse(await i.load(t))):r=t;let a=aie(r),o=a.loader;(!i||o)&&(i=TM(n.loader??o));let l=await LM(a,i),s=await LM(n,i),u={...zM(s,l),config:co(s.config??{},l.config??{})};return await sie(e,r,u,i)}async function LM(e,t){let n=Y(e.config)?JSON.parse(await t.load(e.config)):e.config??{},r=Y(e.patch)?JSON.parse(await t.load(e.patch)):e.patch;return{...e,...r?{patch:r}:{},...n?{config:n}:{}}}function lie(e){let t=e.getRootNode?e.getRootNode():document;return t instanceof ShadowRoot?{root:t,rootContainer:t}:{root:document,rootContainer:document.head??document.body}}async function sie(e,t,n={},r){let i=n.theme?co(Sne[n.theme],n.config??{}):n.config,a=fi(n.actions)?n.actions:zM({},Kre,n.actions??{}),o={...Zre,...n.i18n},l=n.renderer??"svg",s=n.logger??Cu(Rr.Warn);n.logLevel!==void 0&&s.level(n.logLevel);let u=n.downloadFileName??"visualization",c=typeof e=="string"?document.querySelector(e):e;if(!c)throw Error(`${e} does not exist`);if(n.defaultStyle!==!1){let _="vega-embed-style",{root:k,rootContainer:x}=lie(c);if(!k.getElementById(_)){let E=document.createElement("style");E.id=_,E.innerHTML=n.defaultStyle===void 0||n.defaultStyle===!0?Jre.toString():n.defaultStyle,x.appendChild(E)}}let f=iie(t,s,n.mode),d=eie[f](t,s,i);if(f==="vega-lite"&&d.$schema){let _=B6(d.$schema);OM(Oh.vega,`^${_.version.slice(1)}`)||s.warn(`The compiled spec uses Vega ${_.version}, but current version is v${Oh.vega}.`)}c.classList.add("vega-embed"),a&&c.classList.add("has-actions"),c.innerHTML="";let h=c;if(a){let _=document.createElement("div");_.classList.add(nie),c.appendChild(_),h=_}let p=n.patch;if(p&&(d=p instanceof Function?p(d):Dh(d,p,!0,!1).newDocument),n.formatLocale&&Rr.formatLocale(n.formatLocale),n.timeFormatLocale&&Rr.timeFormatLocale(n.timeFormatLocale),n.expressionFunctions)for(let _ in n.expressionFunctions){let k=n.expressionFunctions[_];"fn"in k?Rr.expressionFunction(_,k.fn,k.visitor):k instanceof Function&&Rr.expressionFunction(_,k)}let{ast:m}=n,g=Rr.parse(d,f==="vega-lite"?{}:i,{ast:m}),y=new(n.viewClass||Rr.View)(g,{loader:r,logger:s,renderer:l,...m?{expr:Rr.expressionInterpreter??n.expr??aX}:{}});if(y.addSignalListener("autosize",(_,k)=>{let{type:x}=k;x=="fit-x"?(h.classList.add("fit-x"),h.classList.remove("fit-y")):x=="fit-y"?(h.classList.remove("fit-x"),h.classList.add("fit-y")):x=="fit"?h.classList.add("fit-x","fit-y"):h.classList.remove("fit-x","fit-y")}),n.tooltip!==!1){let{loader:_,tooltip:k}=n,x=_&&!RM(_)?_==null?void 0:_.baseURL:void 0,E=rie(k)?k:new wre({baseURL:x,...k===!0?{}:k}).call;y.tooltip(E)}let{hover:v}=n;if(v===void 0&&(v=f==="vega"),v){let{hoverSet:_,updateSet:k}=typeof v=="boolean"?{}:v;y.hover(_,k)}n&&(n.width!=null&&y.width(n.width),n.height!=null&&y.height(n.height),n.padding!=null&&y.padding(n.padding)),await y.initialize(h,n.bind).runAsync();let b;if(a!==!1){let _=c;if(n.defaultStyle!==!1||n.forceActionsMenu){let x=document.createElement("details");x.title=o.CLICK_TO_VIEW_ACTIONS,c.append(x),_=x;let E=document.createElement("summary");E.innerHTML=tie,x.append(E),b=$=>{x.contains($.target)||x.removeAttribute("open")},document.addEventListener("click",b)}let k=document.createElement("div");if(_.append(k),k.classList.add("vega-actions"),a===!0||a.export!==!1){for(let x of["svg","png"])if(a===!0||a.export===!0||a.export[x]){let E=o[`${x.toUpperCase()}_ACTION`],$=document.createElement("a"),D=J(n.scaleFactor)?n.scaleFactor[x]:n.scaleFactor;$.text=E,$.href="#",$.target="_blank",$.download=`${u}.${x}`,$.addEventListener("mousedown",async function(F){F.preventDefault(),this.href=await y.toImageURL(x,D)}),k.append($)}}if(a===!0||a.source!==!1){let x=document.createElement("a");x.text=o.SOURCE_ACTION,x.href="#",x.addEventListener("click",function(E){NM(lp(t),n.sourceHeader??"",n.sourceFooter??"",f),E.preventDefault()}),k.append(x)}if(f==="vega-lite"&&(a===!0||a.compiled!==!1)){let x=document.createElement("a");x.text=o.COMPILED_ACTION,x.href="#",x.addEventListener("click",function(E){NM(lp(d),n.sourceHeader??"",n.sourceFooter??"","vega"),E.preventDefault()}),k.append(x)}if(a===!0||a.editor!==!1){let x=n.editorUrl??"https://vega.github.io/editor/",E=document.createElement("a");E.text=o.EDITOR_ACTION,E.href="#",E.addEventListener("click",function($){Yre(window,x,{config:i,mode:p?"vega":f,renderer:l,spec:lp(p?d:t)}),$.preventDefault()}),k.append(E)}}function w(){b&&document.removeEventListener("click",b),y.finalize()}return{view:y,spec:t,vgSpec:d,finalize:w,embedOptions:n}}var uie=_x(y4(),1),uo=_x(g4(),1);function cie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var PM,BM;function fie(){return BM||(BM=1,PM=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t=="object"&&typeof n=="object"){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if(r=t.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if(a=Object.keys(t),r=a.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!==t&&n!==n}),PM}var die=cie(fie());function IM(e){let[t,n]=uo.useState(null),{ref:r,spec:i,onEmbed:a,onError:o,options:l={}}=e;return hie(()=>{let s=!1,u=null;return(async()=>{if(!(!r.current||s))try{if(u=await oie(r.current,i,l),s){u.finalize();return}n(u),a==null||a(u)}catch(c){console.error(`[react-vega] Error creating view: ${c}`),o==null||o(c)}})(),()=>{s=!0,u==null||u.finalize()}},[i,l]),t}function hie(e,t){let n=uo.useRef(null),r=uo.useRef(0);(!n.current||!die(t,n.current))&&(r.current+=1),n.current=t,uo.useEffect(e,[r.current])}var jM=uo.forwardRef((e,t)=>{let{spec:n,options:r,onEmbed:i,onError:a,...o}=e,l=uo.useRef(null);return uo.useImperativeHandle(t,()=>{if(!l.current)throw Error("VegaEmbed: ref is not attached to a div element");return l.current},[]),IM({ref:l,spec:n,onEmbed:i,onError:a,options:r}),(0,uie.jsx)("div",{ref:l,...o})});jM.displayName="VegaEmbed";export{ce as i,jM as n,P6 as r,IM as t};