@marimo-team/frontend 0.14.11-dev7 → 0.14.11-dev9

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 (90) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-C0P31a5y.js → ConnectedDataExplorerComponent-uXz93dNS.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-DXDeGx2f.js → ImageComparisonComponent-BKnsl2Lw.js} +1 -1
  3. package/dist/assets/{VegaLite-CUqFyetE.js → VegaLite-BaImNNv3.js} +1 -1
  4. package/dist/assets/{_baseEach-BHb51vC7.js → _baseEach-_Aph8Tu3.js} +1 -1
  5. package/dist/assets/_baseMap-DLvObhA2.js +1 -0
  6. package/dist/assets/{_baseUniq-CABXtSlj.js → _baseUniq-ydsgt4N4.js} +1 -1
  7. package/dist/assets/{_createAggregator-SoA2y5HH.js → _createAggregator-UP8Yzte5.js} +1 -1
  8. package/dist/assets/{any-language-editor-Bw2cdBsS.js → any-language-editor-DRrR5rXm.js} +1 -1
  9. package/dist/assets/{architectureDiagram-IEHRJDOE-rGoAHYH8.js → architectureDiagram-IEHRJDOE-uFOQEO33.js} +1 -1
  10. package/dist/assets/{blockDiagram-JOT3LUYC-ZBJWq8Z_.js → blockDiagram-JOT3LUYC-DEvMFeRP.js} +1 -1
  11. package/dist/assets/{c4Diagram-VJAJSXHY-BHtN7uMz.js → c4Diagram-VJAJSXHY-CUi9TQC0.js} +1 -1
  12. package/dist/assets/channel-0q_RQ8BB.js +1 -0
  13. package/dist/assets/{chunk-4BMEZGHF-BO5DiwLV.js → chunk-4BMEZGHF-D2t_7m-l.js} +1 -1
  14. package/dist/assets/{chunk-A2AXSNBT-B07L-F60.js → chunk-A2AXSNBT-eJyrTwta.js} +1 -1
  15. package/dist/assets/{chunk-AEK57VVT-DN2-tsCz.js → chunk-AEK57VVT-DBCcQUkl.js} +1 -1
  16. package/dist/assets/{chunk-D6G4REZN-CbYGlbyQ.js → chunk-D6G4REZN-PEhYQ7FV.js} +1 -1
  17. package/dist/assets/{chunk-RZ5BOZE2-DVex9AD8.js → chunk-RZ5BOZE2-Ww9F4D19.js} +1 -1
  18. package/dist/assets/{chunk-XZIHB7SX-COKmet6t.js → chunk-XZIHB7SX-DVug_9TW.js} +1 -1
  19. package/dist/assets/{circle-play-DSXPiHO0.js → circle-play-Do5wdxBG.js} +1 -1
  20. package/dist/assets/classDiagram-GIVACNV2-CtATtfTL.js +1 -0
  21. package/dist/assets/classDiagram-v2-COTLJTTW-CtATtfTL.js +1 -0
  22. package/dist/assets/clone-WlurXIwI.js +1 -0
  23. package/dist/assets/{compile-DEz1Y6_F.js → compile-CS53SapK.js} +1 -1
  24. package/dist/assets/{dagre-OKDRZEBW-CymbL2JX.js → dagre-OKDRZEBW-BnZptSaW.js} +1 -1
  25. package/dist/assets/{data-editor-CTGVBJdC.js → data-editor-CkjuKdYe.js} +1 -1
  26. package/dist/assets/{diagram-SSKATNLV-DY5vs_Bj.js → diagram-SSKATNLV-B1pf0a7a.js} +1 -1
  27. package/dist/assets/{diagram-VNBRO52H-ZuQiOKh8.js → diagram-VNBRO52H-Dwersrui.js} +1 -1
  28. package/dist/assets/{edit-page-DcQ6ZhfW.js → edit-page-FmqkTE0k.js} +3 -3
  29. package/dist/assets/{erDiagram-Q7BY3M3F-l-V_9Yws.js → erDiagram-Q7BY3M3F-B6F7ju5f.js} +1 -1
  30. package/dist/assets/{flowDiagram-4HSFHLVR-BsHIJJTe.js → flowDiagram-4HSFHLVR-BZFM8dwO.js} +1 -1
  31. package/dist/assets/{ganttDiagram-APWFNJXF-2gy5YbWU.js → ganttDiagram-APWFNJXF-C5tnuAdQ.js} +1 -1
  32. package/dist/assets/{gitGraphDiagram-7IBYFJ6S-B_ELHLbw.js → gitGraphDiagram-7IBYFJ6S-CfB_wvgD.js} +1 -1
  33. package/dist/assets/{graph-DpLAfWzk.js → graph-wIsv4ssO.js} +1 -1
  34. package/dist/assets/{home-page-6auHzaGk.js → home-page-C4EqZnZ_.js} +1 -1
  35. package/dist/assets/{index-kmp97oxc.js → index-B6FmCnnO.js} +1 -1
  36. package/dist/assets/{index-DAMc4rP9.js → index-BRUyjTC9.js} +1 -1
  37. package/dist/assets/{index-Bz3Lb65G.js → index-BRhVM8bV.js} +1 -1
  38. package/dist/assets/{index-DDVWq6NK.js → index-Brn5h-MN.js} +68 -68
  39. package/dist/assets/{index-DZWCSqpf.js → index-C2wmC6fr.js} +1 -1
  40. package/dist/assets/{index-Czo055fo.js → index-CAMhb73a.js} +1 -1
  41. package/dist/assets/{index-Cig6xGYH.js → index-CNd6d_Hy.js} +1 -1
  42. package/dist/assets/{index-C9EPiaCd.js → index-CUP2IjKA.js} +1 -1
  43. package/dist/assets/{index-DP4HiwTU.js → index-Cpkva4YR.js} +1 -1
  44. package/dist/assets/{index-CxQo8Qlm.js → index-CwKyWSy1.js} +1 -1
  45. package/dist/assets/{index-FYYNNs_X.js → index-D6dKte92.js} +1 -1
  46. package/dist/assets/{index-BuqjbKw0.js → index-D8WfHeCN.js} +1 -1
  47. package/dist/assets/{index-DQwFB8dN.js → index-DGgaTWAE.js} +1 -1
  48. package/dist/assets/{index-Cs9jrmWP.js → index-DNQQBv-I.js} +1 -1
  49. package/dist/assets/{index-N67HDT2u.js → index-DnFPJYjY.js} +1 -1
  50. package/dist/assets/{index-CmVTfWOx.js → index-RZfe2xwT.js} +1 -1
  51. package/dist/assets/{index-B-mClP__.js → index-bmSr8I3W.js} +1 -1
  52. package/dist/assets/{index-C9EbJL5c.js → index-gobDTezl.js} +1 -1
  53. package/dist/assets/{index-DbunLlvf.js → index-qUTVxT1L.js} +1 -1
  54. package/dist/assets/infoDiagram-PH2N3AL5-BOyAI4Oa.js +2 -0
  55. package/dist/assets/{journeyDiagram-U35MCT3I-NKSvtlZA.js → journeyDiagram-U35MCT3I-BmSDnsgn.js} +1 -1
  56. package/dist/assets/{kanban-definition-NDS4AKOZ-Cw4Vh4wD.js → kanban-definition-NDS4AKOZ-CHQtWsik.js} +1 -1
  57. package/dist/assets/{layout-DodQLUx6.js → layout-DkXQ4_M1.js} +1 -1
  58. package/dist/assets/{linear-B_OPGLLI.js → linear-CKa6tYxf.js} +1 -1
  59. package/dist/assets/{mermaid-CVRC4Ruz.js → mermaid-CKYMkzSc.js} +4 -4
  60. package/dist/assets/{min-VmgWsmJ_.js → min-DPzXE2V0.js} +1 -1
  61. package/dist/assets/{mindmap-definition-ALO5MXBD-C0KGo_i_.js → mindmap-definition-ALO5MXBD-B1X_X_4_.js} +1 -1
  62. package/dist/assets/{pieDiagram-IB7DONF6-DCnELF9y.js → pieDiagram-IB7DONF6-BgMOnu-h.js} +1 -1
  63. package/dist/assets/{quadrantDiagram-7GDLP6J5-D0cP5ixt.js → quadrantDiagram-7GDLP6J5-BjE1BJSG.js} +1 -1
  64. package/dist/assets/{radar-MK3ICKWK-D8LhkSau.js → radar-MK3ICKWK-BGF1Bvyn.js} +1 -1
  65. package/dist/assets/{react-plotly-BmDAcz3M.js → react-plotly-Hgniu5d7.js} +1 -1
  66. package/dist/assets/{requirementDiagram-KVF5MWMF-BTksN04O.js → requirementDiagram-KVF5MWMF-DAYTGE0Y.js} +1 -1
  67. package/dist/assets/{run-page-17VQxU3e.js → run-page-DH3oskJG.js} +1 -1
  68. package/dist/assets/{sankeyDiagram-QLVOVGJD-DECOJIMC.js → sankeyDiagram-QLVOVGJD-Dskrs1np.js} +1 -1
  69. package/dist/assets/{sequenceDiagram-X6HHIX6F-C5eDWwoH.js → sequenceDiagram-X6HHIX6F-CjFOqeNr.js} +1 -1
  70. package/dist/assets/{shutdown-button-QvkERkPd.js → shutdown-button-T9XyTVKT.js} +1 -1
  71. package/dist/assets/{slides-component-DchvPU9C.js → slides-component-B5LFcBlv.js} +1 -1
  72. package/dist/assets/{sortBy-7ke7bFD2.js → sortBy-w86K0CWQ.js} +1 -1
  73. package/dist/assets/{stateDiagram-DGXRK772-D6Kwy963.js → stateDiagram-DGXRK772-CPPjYL76.js} +1 -1
  74. package/dist/assets/stateDiagram-v2-YXO3MK2T-3iPgv_dT.js +1 -0
  75. package/dist/assets/{storage-BeNhlsrY.js → storage-BSuExvg_.js} +3 -3
  76. package/dist/assets/{terminal-MtCDBvKs.js → terminal-BwkkP8Z5.js} +1 -1
  77. package/dist/assets/{time-BoP93jle.js → time-4AULYytW.js} +1 -1
  78. package/dist/assets/{timeline-definition-BDJGKUSR-T1la59d1.js → timeline-definition-BDJGKUSR-CAO3o0Eo.js} +1 -1
  79. package/dist/assets/{tracing-CCltm96L.js → tracing-DV52BG1x.js} +2 -2
  80. package/dist/assets/{vega-component-j1BDb2QJ.js → vega-component-DbwTp9Hj.js} +1 -1
  81. package/dist/assets/{xychartDiagram-VJFVF3MP-CoJqer7_.js → xychartDiagram-VJFVF3MP-Q0piBnso.js} +1 -1
  82. package/dist/index.html +1 -1
  83. package/package.json +1 -1
  84. package/dist/assets/_baseMap--rH4lBFQ.js +0 -1
  85. package/dist/assets/channel-C96bdTqW.js +0 -1
  86. package/dist/assets/classDiagram-GIVACNV2-CehC5H1T.js +0 -1
  87. package/dist/assets/classDiagram-v2-COTLJTTW-CehC5H1T.js +0 -1
  88. package/dist/assets/clone-H0gxlZXI.js +0 -1
  89. package/dist/assets/infoDiagram-PH2N3AL5-BwbaSo89.js +0 -2
  90. package/dist/assets/stateDiagram-v2-YXO3MK2T-Bk10XR94.js +0 -1
@@ -1,4 +1,4 @@
1
- import{cx as Ws,gA as Kh,gB as Kb,gC as Qb,gD as Hl,gE as bt,gF as In,gG as K,gH as tt,gI as Me,cI as P,gJ as j,gK as Hs,gL as Be,gM as ka,gN as V,gO as Zb,gP as tx,gQ as xt,gR as Qh,gS as en,gT as Wn,gU as Do,gV as ze,gW as kr,cH as Zh,gX as nx,gY as ex,gZ as rx,g_ as ix,g$ as Bt,h0 as tp,h1 as np,by as ax,h2 as ei,h3 as ox,h4 as Gl,h5 as Fo,h6 as ep,h7 as rp,h8 as ip,h9 as sx,ha as ux,cE as lx,cy as h6,cD as p6,hb as m6,bz as g6,bP as y6,bQ as v6,hc as b6,bS as x6,bT as w6,bU as A6,hd as Dr,cJ as Q,he as $t,cK as Z,hf as cx,hg as Oi,hh as Gs,hi as ap,hj as Vl,hk as op,hl as sp,hm as G,bH as fx,hn as Da,ho as Co,hp as dx,hq as hx,hr as px,hs as mx,ht as gx,hu as yx,hv as vx,hw as bx,hx as xx,hy as wx,hz as Ax,hA as _x,hB as kx,hC as Dx,hD as Fx,hE as Cx,hF as Ex,hG as $x,hH as Sx,hI as Mx,hJ as Bx,hK as zx,hL as up,cM as Fa,hM as Ox,hN as Nx,cL as Yl,hO as Ni,hP as _6,hQ as k6,hR as D6,hS as F6,hT as C6,hU as E6,hV as $6,hW as S6,hX as M6,hY as B6,hZ as z6,h_ as O6,h$ as N6,i0 as Rx,i1 as R6,i2 as T6,i3 as P6,aK as j6,i4 as L6,i5 as q6,i6 as U6,i7 as I6,i8 as W6,i9 as H6,ia as G6,cN as lp}from"./index-DDVWq6NK.js";import{m as cp,a as Ca,d as V6,r as Y6,l as fp,i as X6,h as J6,n as K6,c as Q6,u as Z6,b as t8,t as n8,e as e8}from"./time-BoP93jle.js";import{n as r8,b as i8,i as Vs,d as a8,e as o8,f as s8,o as u8,g as Xl,h as Tx,j as Eo,t as dp,a as hp,k as Ri,m as Ea,l as l8,p as c8,q as f8}from"./linear-B_OPGLLI.js";import{r as xe}from"./range-CtcPcB_L.js";import{R as Px,r as d8,d as h8,e as p8,m as jx,o as Lx,C as m8,h as pp,p as mp,n as Oe,q as g8,s as y8,i as v8,a as b8,u as x8,v as w8,b as A8,k as _8,j as k8,w as Jl,T as D8,l as F8,t as C8,g as E8}from"./timer-Bqd5yn_a.js";import{i as $8}from"./zoom-COrs4lFh.js";import{i as $a,a as Ti}from"./init-DLRA0X12.js";import{I as Kl,o as qx,i as S8}from"./ordinal-DDUp3AbE.js";import{c as Fr}from"./colors-bszWmPJw.js";import{w as Ux,n as M8,z as Ix,a as Hn,J as B8,K as z8,l as Wx,b as O8,t as N8,p as R8,o as T8,q as P8,r as j8,u as L8,x as q8,v as U8,y as I8,B as W8,C as H8,A as G8,F as V8,E as Y8,D as X8,G as J8,H as K8,I as Q8,k as Z8,L as gp}from"./step-BwsUM5iJ.js";import{d as t9}from"./arc-CfyY4LWz.js";class Gn{constructor(){this._partials=new Float64Array(32),this._n=0}add(n){const e=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const a=e[i],o=n+a,s=Math.abs(n)<Math.abs(a)?n-(o-a):a-(o-n);s&&(e[r++]=s),n=o}return e[r]=n,this._n=r+1,this}valueOf(){const n=this._partials;let e,r,i,a=this._n,o=0;if(a>0){for(o=n[--a];a>0&&(e=o,r=n[--a],o=e+r,i=r-(o-e),!i););a>0&&(i<0&&n[a-1]<0||i>0&&n[a-1]>0)&&(r=2*i,e=o+r,r==e-o&&(o=e))}return o}}function Hx(t,n){return(t==null||!(t>=t))-(n==null||!(n>=n))||(t<n?-1:t>n?1:0)}function Gx(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=i===void 0?Hx:function(a=Ws){if(a===Ws)return Hx;if(typeof a!="function")throw new TypeError("compare is not a function");return(o,s)=>{const u=a(o,s);return u||u===0?u:(a(s,s)===0)-(a(o,o)===0)}}(i);r>e;){if(r-e>600){const u=r-e+1,l=n-e+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1);Gx(t,n,Math.max(e,Math.floor(n-l*f/u+d)),Math.min(r,Math.floor(n+(u-l)*f/u+d)),i)}const a=t[n];let o=e,s=r;for(Ys(t,e,n),i(t[r],a)>0&&Ys(t,e,r);o<s;){for(Ys(t,o,s),++o,--s;i(t[o],a)<0;)++o;for(;i(t[s],a)>0;)--s}i(t[e],a)===0?Ys(t,e,s):(++s,Ys(t,s,r)),s<=n&&(e=s+1),n<=s&&(r=s-1)}return t}function Ys(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function yp(t,n,e){if((r=(t=Float64Array.from(r8(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return cp(t);if(n>=1)return Ca(t);var r,i=(r-1)*n,a=Math.floor(i),o=Ca(Gx(t,a).subarray(0,a+1));return o+(cp(t.subarray(a+1))-o)*(i-a)}}function Vx(t,n,e=i8){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),o=+e(t[a],a,t);return o+(+e(t[a+1],a+1,t)-o)*(i-a)}}function Yx(t,n){return yp(t,.5,n)}function Xx(t){return Array.from(function*(n){for(const e of n)yield*e}(t))}function Jx(t,n){let e=0;for(let r of t)(r=+r)&&(e+=r);return e}function n9(t){return t instanceof Kl?t:new Kl(t)}function Ql(t){const n=t||Me,e=[],r={};return e.add=i=>{const a=n(i);return r[a]||(r[a]=1,e.push(i)),e},e.remove=i=>{const a=n(i);if(r[a]){r[a]=0;const o=e.indexOf(i);o>=0&&e.splice(o,1)}return e},e}async function Zl(t,n){try{await n(t)}catch(e){t.error(e)}}const Kx=Symbol("vega_id");let e9=1;function tc(t){return!(!t||!st(t))}function st(t){return t[Kx]}function Qx(t,n){return t[Kx]=n,t}function St(t){const n=t===Object(t)?t:{data:t};return st(n)?n:Qx(n,e9++)}function vp(t){return nc(t,St({}))}function nc(t,n){for(const e in t)n[e]=t[e];return n}function Zx(t,n){return Qx(n,st(t))}function Sa(t,n){return t?n?(e,r)=>t(e,r)||st(n(e))-st(n(r)):(e,r)=>t(e,r)||st(e)-st(r):null}function t2(t){return t&&t.constructor===Ma}function Ma(){const t=[],n=[],e=[],r=[],i=[];let a=null,o=!1;return{constructor:Ma,insert(s){const u=K(s),l=u.length;for(let c=0;c<l;++c)t.push(u[c]);return this},remove(s){const u=bt(s)?r:n,l=K(s),c=l.length;for(let f=0;f<c;++f)u.push(l[f]);return this},modify(s,u,l){const c={field:u,value:In(l)};return bt(s)?(c.filter=s,i.push(c)):(c.tuple=s,e.push(c)),this},encode(s,u){return bt(s)?i.push({filter:s,field:u}):e.push({tuple:s,field:u}),this},clean(s){return a=s,this},reflow(){return o=!0,this},pulse(s,u){const l={},c={};let f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)l[st(u[f])]=1;for(f=0,d=n.length;f<d;++f)m=n[f],l[st(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(l[st(v)]=-1)});for(f=0,d=t.length;f<d;++f)m=t[f],g=st(m),l[g]?l[g]=1:s.add.push(St(t[f]));for(f=0,d=u.length;f<d;++f)m=u[f],l[st(m)]<0&&s.rem.push(m);function y(v,x,b){b?v[x]=b(v):s.encode=x,o||(c[st(v)]=v)}for(f=0,d=e.length;f<d;++f)h=e[f],m=h.tuple,p=h.field,g=l[st(m)],g>0&&(y(m,p,h.value),s.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&l[st(v)]>0&&y(v,h.field,h.value)}),s.modifies(h.field);if(o)s.mod=n.length||r.length?u.filter(v=>l[st(v)]>0):u.slice();else for(g in c)s.mod.push(c[g]);return(a||a==null&&(n.length||r.length))&&s.clean(!0),s}}}const ec="_:mod:_";function rc(){Object.defineProperty(this,ec,{writable:!0,value:{}})}rc.prototype={set(t,n,e,r){const i=this,a=i[t],o=i[ec];return n!=null&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=P(e)?1+e.length:-1),i},modified(t,n){const e=this[ec];if(!arguments.length){for(const r in e)if(e[r])return!0;return!1}if(P(t)){for(let r=0;r<t.length;++r)if(e[t[r]])return!0;return!1}return n!=null&&n>=0?n+1<e[t]||!!e[n+":"+t]:!!e[t]},clear(){return this[ec]={},this}};let r9=0;const i9=new rc;function Ut(t,n,e,r){this.id=++r9,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}function n2(t){return function(n){const e=this.flags;return arguments.length===0?!!(e&t):(this.flags=n?e|t:e&~t,this)}}Ut.prototype={targets(){return this._targets||(this._targets=Ql(Hs))},set(t){return this.value!==t?(this.value=t,1):0},skip:n2(1),modified:n2(2),parameters(t,n,e){n=n!==!1;const r=this._argval=this._argval||new rc,i=this._argops=this._argops||[],a=[];let o,s,u,l;const c=(f,d,h)=>{h instanceof Ut?(h!==this&&(n&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in t)if(s=t[o],o==="pulse")K(s).forEach(f=>{f instanceof Ut?f!==this&&(f.targets().add(this),a.push(f)):j("Pulse parameters must be operator instances.")}),this.source=s;else if(P(s))for(r.set(o,-1,Array(u=s.length)),l=0;l<u;++l)c(o,l,s[l]);else c(o,-1,s);return this.marshall().clear(),e&&(i.initonly=!0),a},marshall(t){const n=this._argval||i9,e=this._argops;let r,i,a,o;if(e){const s=e.length;for(i=0;i<s;++i)r=e[i],a=r.op,o=a.modified()&&a.stamp===t,n.set(r.name,r.index,a.value,o);if(e.initonly){for(i=0;i<s;++i)r=e[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return n},detach(){const t=this._argops;let n,e,r,i;if(t)for(n=0,e=t.length;n<e;++n)r=t[n],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(t){const n=this._update;if(n){const e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.pulse=n||t}};let a9=0;function ic(t,n,e){this.id=++a9,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Pi(t,n,e){return new ic(t,n,e)}ic.prototype={_filter:Be,_apply:Me,targets(){return this._targets||(this._targets=Ql(Hs))},consume(t){return arguments.length?(this._consume=!!t,this):!!this._consume},receive(t){if(this._filter(t)){const n=this.value=this._apply(t),e=this._targets,r=e?e.length:0;for(let i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},filter(t){const n=Pi(t);return this.targets().add(n),n},apply(t){const n=Pi(null,t);return this.targets().add(n),n},merge(){const t=Pi();this.targets().add(t);for(let n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},throttle(t){let n=-1;return this.filter(()=>{const e=Date.now();return e-n>t?(n=e,1):0})},debounce(t){const n=Pi();return this.targets().add(Pi(null,null,Qh(t,e=>{const r=e.dataflow;n.receive(e),r&&r.run&&r.run()}))),n},between(t,n){let e=!1;return t.targets().add(Pi(null,null,()=>e=!0)),n.targets().add(Pi(null,null,()=>e=!1)),this.filter(()=>e)},detach(){this._filter=Be,this._targets=null}};const o9={skip:!0};function s9(t,n,e,r,i,a){const o=xt({},a,o9);let s,u;bt(e)||(e=In(e)),r===void 0?s=l=>t.touch(e(l)):bt(r)?(u=new Ut(null,r,i,!1),s=l=>{u.evaluate(l);const c=e(l),f=u.value;t2(f)?t.pulse(c,f,a):t.update(c,f,o)}):s=l=>t.update(e(l),r,o),n.apply(s)}function u9(t,n,e,r,i,a){if(r===void 0)n.targets().add(e);else{const o=a||{},s=new Ut(null,function(u,l){return l=bt(l)?l:In(l),u?function(c,f){const d=l(c,f);return u.skip()||(u.skip(d!==this.value).value=d),d}:l}(e,r),i,!1);s.modified(o.force),s.rank=n.rank,n.targets().add(s),e&&(s.skip(!0),s.value=e.value,s.targets().add(e),t.connect(e,[s]))}}const ac={};function ji(t,n,e){this.dataflow=t,this.stamp=n??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}function bp(t,n){const e=[];return ka(t,n,r=>e.push(r)),e}function e2(t,n){const e={};return t.visit(n,r=>{e[st(r)]=1}),r=>e[st(r)]?null:r}function oc(t,n){return t?(e,r)=>t(e,r)&&n(e,r):n}function xp(t,n,e,r){const i=this;let a=0;this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e;for(const o of e)if(o.stamp===n){if(o.fields){const s=i.fields||(i.fields={});for(const u in o.fields)s[u]=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}function r2(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}ji.prototype={StopPropagation:ac,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(t){return new ji(this.dataflow).init(this,t)},clone(){const t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},addAll(){let t=this;return!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length||(t=new ji(this.dataflow).init(this),t.add=t.source,t.rem=[]),t},init(t,n){const e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source,t.cleans&&(e.cleans=t.cleans)),e},runAfter(t){this.dataflow.runAfter(t)},changed(t){const n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},reflow(t){if(t)return this.fork(7).reflow();const n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,e2(this,1))),this},clean(t){return arguments.length?(this.cleans=!!t,this):this.cleans},modifies(t){const n=this.fields||(this.fields={});return P(t)?t.forEach(e=>n[e]=!0):n[t]=!0,this},modified(t,n){const e=this.fields;return!(!n&&!this.mod.length||!e)&&(arguments.length?P(t)?t.some(r=>e[r]):e[t]:!!e)},filter(t,n){const e=this;return 1&t&&(e.addF=oc(e.addF,n)),2&t&&(e.remF=oc(e.remF,n)),4&t&&(e.modF=oc(e.modF,n)),16&t&&(e.srcF=oc(e.srcF,n)),e},materialize(t){const n=this;return 1&(t=t||7)&&n.addF&&(n.add=bp(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=bp(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=bp(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},visit(t,n){const e=this,r=n;if(16&t)return ka(e.source,e.srcF,r),e;1&t&&ka(e.add,e.addF,r),2&t&&ka(e.rem,e.remF,r),4&t&&ka(e.mod,e.modF,r);const i=e.source;if(8&t&&i){const a=e.add.length+e.mod.length;a===i.length||ka(i,a?e2(e,5):e.srcF,r)}return e}},V(xp,ji,{fork(t){const n=new ji(this.dataflow).init(this,t&this.NO_FIELDS);return t!==void 0&&(t&n.ADD&&this.visit(n.ADD,e=>n.add.push(e)),t&n.REM&&this.visit(n.REM,e=>n.rem.push(e)),t&n.MOD&&this.visit(n.MOD,e=>n.mod.push(e))),n},changed(t){return this.changes&t},modified(t){const n=this,e=n.fields;return e&&n.changes&n.MOD?P(t)?t.some(r=>e[r]):e[t]:0},filter(){j("MultiPulse does not support filtering.")},materialize(){j("MultiPulse does not support materialization.")},visit(t,n){const e=this,r=e.pulses,i=r.length;let a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e}});const wp={skip:!1,force:!1};function l9(t){let n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),i2(n,0,n.length-1,t)),pop:()=>{const e=n.pop();let r;return n.length?(r=n[0],n[0]=e,function(i,a,o){const s=a,u=i.length,l=i[a];let c,f=1+(a<<1);for(;f<u;)c=f+1,c<u&&o(i[f],i[c])>=0&&(f=c),i[a]=i[f],f=1+((a=f)<<1);i[a]=l,i2(i,s,a,o)}(n,0,t)):r=e,r}}}function i2(t,n,e,r){let i,a;const o=t[e];for(;e>n&&(a=e-1>>1,i=t[a],r(o,i)<0);)t[e]=i,e=a;return t[e]=o}function $o(){this.logger(Kh()),this.logLevel(Kb),this._clock=0,this._rank=0,this._locale=Qb();try{this._loader=Hl()}catch{}this._touched=Ql(Hs),this._input={},this._pulse=null,this._heap=l9((t,n)=>t.qrank-n.qrank),this._postrun=[]}function Xs(t){return function(){return this._log[t].apply(this,arguments)}}function O(t,n){Ut.call(this,t,null,n)}$o.prototype={stamp(){return this._clock},loader(t){return arguments.length?(this._loader=t,this):this._loader},locale(t){return arguments.length?(this._locale=t,this):this._locale},logger(t){return arguments.length?(this._log=t,this):this._log},error:Xs("error"),warn:Xs("warn"),info:Xs("info"),debug:Xs("debug"),logLevel:Xs("level"),cleanThreshold:1e4,add:function(t,n,e,r){let i,a=1;return t instanceof Ut?i=t:t&&t.prototype instanceof Ut?i=new t:bt(t)?i=new Ut(null,t):(a=0,i=new Ut(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},connect:function(t,n){const e=t.rank,r=n.length;for(let i=0;i<r;++i)if(e<n[i].rank)return void this.rerank(t)},rank:function(t){t.rank=++this._rank},rerank:function(t){const n=[t];let e,r,i;for(;n.length;)if(this.rank(e=n.pop()),r=e._targets)for(i=r.length;--i>=0;)n.push(e=r[i]),e===t&&j("Cycle detected in dataflow graph.")},pulse:function(t,n,e){this.touch(t,e||wp);const r=new ji(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=n.pulse(r,i),this},touch:function(t,n){const e=n||wp;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},update:function(t,n,e){const r=e||wp;return(t.set(n)||r.force)&&this.touch(t,r),this},changeset:Ma,ingest:function(t,n,e){return n=this.parse(n,e),this.pulse(t,this.changeset().insert(n))},parse:function(t,n){const e=this.locale();return tx(t,n,e.timeParse,e.utcParse)},preload:async function(t,n,e){const r=this,i=r._pending||function(o){let s;const u=new Promise(l=>s=l);return u.requests=0,u.done=()=>{--u.requests===0&&(o._pending=null,s(o))},o._pending=u}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(Be).insert(a.data||[])),i.done(),a},request:async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Zb(n&&n.type)});try{r=e.parse(r,n)}catch(a){i=-2,e.warn("Data ingestion failed",t,a)}}catch(a){i=-1,e.warn("Loading failed",t,a)}return{data:r,status:i}},events:function(t,n,e,r){const i=this,a=Pi(e,r),o=function(l){l.dataflow=i;try{a.receive(l)}catch(c){i.error(c)}finally{i.run()}};let s;s=typeof t=="string"&&typeof document<"u"?document.querySelectorAll(t):K(t);const u=s.length;for(let l=0;l<u;++l)s[l].addEventListener(n,o);return a},on:function(t,n,e,r,i){return(t instanceof Ut?u9:s9)(this,t,n,e,r,i),this},evaluate:async function(t,n,e){const r=this,i=[];if(r._pulse)return r2(r);if(r._pending&&await r._pending,n&&await Zl(r,n),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new ji(r,a,t),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ql(Hs);let o,s,u,l=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(s=o.run(r._getPulse(o,t)),s.then?s=await s:s.async&&(i.push(s.async),s=ac),s!==ac&&o._targets&&o._targets.forEach(c=>r._enqueue(c)),++l):r._enqueue(o,!0)}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await Zl(r,c[f].callback)}return e&&await Zl(r,e),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r},run:function(t,n,e){return this._pulse?r2(this):(this.evaluate(t,n,e),this)},runAsync:async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},runAfter:function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(r){this.error(r)}},_enqueue:function(t,n){const e=t.stamp<this._clock;e&&(t.stamp=this._clock),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},_getPulse:function(t,n){const e=t.source,r=this._clock;return e&&P(e)?new xp(this,r,e.map(i=>i.pulse),n):this._input[t.id]||function(i,a){return a&&a.stamp===i.stamp?a:(i=i.fork(),a&&a!==ac&&(i.source=a.source),i)}(this._pulse,e&&e.pulse)}},V(O,Ut,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,n.then?n=n.then(e=>this.pulse=e):n!==t.StopPropagation&&(this.pulse=n),n},evaluate(t){const n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},transform(){}});const So={};function a2(t){const n=o2(t);return n&&n.Definition||null}function o2(t){return t=t&&t.toLowerCase(),tt(So,t)?So[t]:null}function*s2(t,n){if(n==null)for(let e of t)e!=null&&e!==""&&(e=+e)>=e&&(yield e);else{let e=-1;for(let r of t)r=n(r,++e,t),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function Ap(t,n,e){const r=Float64Array.from(s2(t,e));return r.sort(Ws),n.map(i=>Vx(r,i))}function _p(t,n){return Ap(t,[.25,.5,.75],n)}function kp(t,n){const e=t.length,r=function(o,s){const u=function(l,c){let f,d=0,h=0,p=0;if(c===void 0)for(let m of l)m!=null&&(m=+m)>=m&&(f=m-h,h+=f/++d,p+=f*(m-h));else{let m=-1;for(let g of l)(g=c(g,++m,l))!=null&&(g=+g)>=g&&(f=g-h,h+=f/++d,p+=f*(g-h))}if(d>1)return p/(d-1)}(o,s);return u&&Math.sqrt(u)}(t,n),i=_p(t,n),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*Math.pow(e,-.2)}function u2(t){const n=t.maxbins||20,e=t.base||10,r=Math.log(e),i=t.divide||[5,2];let a,o,s,u,l,c,f=t.extent[0],d=t.extent[1];const h=t.span||d-f||Math.abs(f)||1;if(t.step)a=t.step;else if(t.steps){for(u=h/n,l=0,c=t.steps.length;l<c&&t.steps[l]<u;++l);a=t.steps[Math.max(0,l-1)]}else{for(o=Math.ceil(Math.log(n)/r),s=t.minstep||0,a=Math.max(s,Math.pow(e,Math.round(Math.log(h)/r)-o));Math.ceil(h/a)>n;)a*=e;for(l=0,c=i.length;l<c;++l)u=a/i[l],u>=s&&h/u<=n&&(a=u)}u=Math.log(a);const p=u>=0?0:1+~~(-u/r),m=Math.pow(e,-p-1);return(t.nice||t.nice===void 0)&&(u=Math.floor(f/a+m)*a,f=f<u?u-a:u,d=Math.ceil(d/a)*a),{start:f,stop:d===f?f+a:d,step:a}}var Ne=Math.random;function l2(t,n,e,r){if(!t.length)return[void 0,void 0];const i=Float64Array.from(s2(t,r)),a=i.length,o=n;let s,u,l,c;for(l=0,c=Array(o);l<o;++l){for(s=0,u=0;u<a;++u)s+=i[~~(Ne()*a)];c[l]=s/a}return c.sort(Ws),[yp(c,e/2),yp(c,1-e/2)]}function c2(t,n,e,r){r=r||(d=>d);const i=t.length,a=new Float64Array(i);let o,s=0,u=1,l=r(t[0]),c=l,f=l+n;for(;u<i;++u){if(o=r(t[u]),o>=f){for(c=(l+c)/2;s<u;++s)a[s]=c;f=o+n,l=o}c=o}for(c=(l+c)/2;s<u;++s)a[s]=c;return e?function(d,h){const p=d.length;let m,g,y=0,v=1;for(;d[y]===d[v];)++v;for(;v<p;){for(m=v+1;d[v]===d[m];)++m;if(d[v]-d[v-1]<h){for(g=v+(y+m-v-v>>1);g<v;)d[g++]=d[v];for(;g>v;)d[g--]=d[y]}y=v,v=m}return d}(a,n+n/4):a}const f2=Math.sqrt(2*Math.PI),c9=Math.SQRT2;let Js=NaN;function sc(t,n){t=t||0,n=n??1;let e,r,i=0,a=0;if(Js==Js)i=Js,Js=NaN;else{do i=2*Ne()-1,a=2*Ne()-1,e=i*i+a*a;while(e===0||e>1);r=Math.sqrt(-2*Math.log(e)/e),i*=r,Js=a*r}return t+i*n}function Dp(t,n,e){const r=(t-(n||0))/(e=e??1);return Math.exp(-.5*r*r)/(e*f2)}function uc(t,n,e){const r=(t-(n=n||0))/(e=e??1),i=Math.abs(r);let a;if(i>37)a=0;else{const o=Math.exp(-i*i/2);let s;i<7.07106781186547?(s=.0352624965998911*i+.700383064443688,s=s*i+6.37396220353165,s=s*i+33.912866078383,s=s*i+112.079291497871,s=s*i+221.213596169931,s=s*i+220.206867912376,a=o*s,s=.0883883476483184*i+1.75566716318264,s=s*i+16.064177579207,s=s*i+86.7807322029461,s=s*i+296.564248779674,s=s*i+637.333633378831,s=s*i+793.826512519948,s=s*i+440.413735824752,a/=s):(s=i+.65,s=i+4/s,s=i+3/s,s=i+2/s,s=i+1/s,a=o/s/2.506628274631)}return r>0?1-a:a}function lc(t,n,e){return t<0||t>1?NaN:(n||0)+(e??1)*c9*function(r){let i,a=-Math.log((1-r)*(1+r));return a<6.25?(a-=3.125,i=-364441206401782e-35,i=i*a-16850591381820166e-35,i=128584807152564e-32+i*a,i=11157877678025181e-33+i*a,i=i*a-1333171662854621e-31,i=20972767875968562e-33+i*a,i=6637638134358324e-30+i*a,i=i*a-4054566272975207e-29,i=i*a-8151934197605472e-29,i=26335093153082323e-28+i*a,i=i*a-12975133253453532e-27,i=i*a-5415412054294628e-26,i=10512122733215323e-25+i*a,i=i*a-4112633980346984e-24,i=i*a-29070369957882005e-24,i=42347877827932404e-23+i*a,i=i*a-13654692000834679e-22,i=i*a-13882523362786469e-21,i=.00018673420803405714+i*a,i=i*a-.000740702534166267,i=i*a-.006033670871430149,i=.24015818242558962+i*a,i=1.6536545626831027+i*a):a<16?(a=Math.sqrt(a)-3.25,i=22137376921775787e-25,i=9075656193888539e-23+i*a,i=i*a-27517406297064545e-23,i=18239629214389228e-24+i*a,i=15027403968909828e-22+i*a,i=i*a-4013867526981546e-21,i=29234449089955446e-22+i*a,i=12475304481671779e-21+i*a,i=i*a-47318229009055734e-21,i=6828485145957318e-20+i*a,i=24031110387097894e-21+i*a,i=i*a-.0003550375203628475,i=.0009532893797373805+i*a,i=i*a-.0016882755560235047,i=.002491442096107851+i*a,i=i*a-.003751208507569241,i=.005370914553590064+i*a,i=1.0052589676941592+i*a,i=3.0838856104922208+i*a):Number.isFinite(a)?(a=Math.sqrt(a)-5,i=-27109920616438573e-27,i=i*a-2555641816996525e-25,i=15076572693500548e-25+i*a,i=i*a-3789465440126737e-24,i=761570120807834e-23+i*a,i=i*a-1496002662714924e-23,i=2914795345090108e-23+i*a,i=i*a-6771199775845234e-23,i=22900482228026655e-23+i*a,i=i*a-99298272942317e-20,i=4526062597223154e-21+i*a,i=i*a-1968177810553167e-20,i=7599527703001776e-20+i*a,i=i*a-.00021503011930044477,i=i*a-.00013871931833623122,i=1.0103004648645344+i*a,i=4.849906401408584+i*a):i=1/0,i*r}(2*t-1)}function Fp(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>sc(e,r),pdf:a=>Dp(a,e,r),cdf:a=>uc(a,e,r),icdf:a=>lc(a,e,r)};return i.mean(t).stdev(n)}function Cp(t,n){const e=Fp();let r=0;const i={data(a){return arguments.length?(t=a,r=a?a.length:0,i.bandwidth(n)):t},bandwidth(a){return arguments.length?(!(n=a)&&t&&(n=kp(t)),i):n},sample:()=>t[~~(Ne()*r)]+n*e.sample(),pdf(a){let o=0,s=0;for(;s<r;++s)o+=e.pdf((a-t[s])/n);return o/n/r},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e.cdf((a-t[s])/n);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(t)}function Ep(t,n){return t=t||0,n=n??1,Math.exp(t+sc()*n)}function $p(t,n,e){if(t<=0)return 0;n=n||0,e=e??1;const r=(Math.log(t)-n)/e;return Math.exp(-.5*r*r)/(e*f2*t)}function Sp(t,n,e){return uc(Math.log(t),n,e)}function Mp(t,n,e){return Math.exp(lc(t,n,e))}function d2(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Ep(e,r),pdf:a=>$p(a,e,r),cdf:a=>Sp(a,e,r),icdf:a=>Mp(a,e,r)};return i.mean(t).stdev(n)}function h2(t,n){let e,r=0;const i={weights(a){return arguments.length?(e=function(o){const s=[];let u,l=0;for(u=0;u<r;++u)l+=s[u]=o[u]==null?1:+o[u];for(u=0;u<r;++u)s[u]/=l;return s}(n=a||[]),i):n},distributions(a){return arguments.length?(a?(r=a.length,t=a):(r=0,t=[]),i.weights(n)):t},sample(){const a=Ne();let o=t[r-1],s=e[0],u=0;for(;u<r-1;s+=e[++u])if(a<s){o=t[u];break}return o.sample()},pdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].pdf(a);return o},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].cdf(a);return o},icdf(){throw Error("Mixture icdf not supported.")}};return i.distributions(t).weights(n)}function Bp(t,n){return n==null&&(n=t??1,t=0),t+(n-t)*Ne()}function zp(t,n,e){return e==null&&(e=n??1,n=0),t>=n&&t<=e?1/(e-n):0}function Op(t,n,e){return e==null&&(e=n??1,n=0),t<n?0:t>e?1:(t-n)/(e-n)}function Np(t,n,e){return e==null&&(e=n??1,n=0),t>=0&&t<=1?n+t*(e-n):NaN}function p2(t,n){let e,r;const i={min(a){return arguments.length?(e=a||0,i):e},max(a){return arguments.length?(r=a??1,i):r},sample:()=>Bp(e,r),pdf:a=>zp(a,e,r),cdf:a=>Op(a,e,r),icdf:a=>Np(a,e,r)};return n==null&&(n=t??1,t=0),i.min(t).max(n)}function Rp(t,n,e){let r=0,i=0;for(const a of t){const o=e(a);n(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Ks(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function cc(t,n,e,r){t=t.filter(h=>{let p=n(h),m=e(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&t.sort((h,p)=>n(h)-n(p));const i=t.length,a=new Float64Array(i),o=new Float64Array(i);let s,u,l,c=0,f=0,d=0;for(l of t)a[c]=s=+n(l),o[c]=u=+e(l),++c,f+=(s-f)/c,d+=(u-d)/c;for(c=0;c<i;++c)a[c]-=f,o[c]-=d;return[a,o,f,d]}function Qs(t,n,e,r){let i,a,o=-1;for(const s of t)i=n(s),a=e(s),i!=null&&(i=+i)>=i&&a!=null&&(a=+a)>=a&&r(i,a,++o)}function Mo(t,n,e,r,i){let a=0,o=0;return Qs(t,n,e,(s,u)=>{const l=u-i(s),c=u-r;a+=l*l,o+=c*c}),1-a/o}function Tp(t,n,e){let r=0,i=0,a=0,o=0,s=0;Qs(t,n,e,(c,f)=>{++s,r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Ks(r,i,a,o),l=c=>u[0]+u[1]*c;return{coef:u,predict:l,rSquared:Mo(t,n,e,i,l)}}function m2(t,n,e){let r=0,i=0,a=0,o=0,s=0;Qs(t,n,e,(c,f)=>{++s,c=Math.log(c),r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Ks(r,i,a,o),l=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:l,rSquared:Mo(t,n,e,i,l)}}function g2(t,n,e){const[r,i,a,o]=cc(t,n,e);let s,u,l,c=0,f=0,d=0,h=0,p=0;Qs(t,n,e,(v,x)=>{s=r[p++],u=Math.log(x),l=s*x,c+=(x*u-c)/p,f+=(l-f)/p,d+=(l*u-d)/p,h+=(s*l-h)/p});const[m,g]=Ks(f/o,c/o,d/o,h/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:Mo(t,n,e,o,y)}}function y2(t,n,e){let r=0,i=0,a=0,o=0,s=0,u=0;Qs(t,n,e,(f,d)=>{const h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,s+=(d-s)/u});const l=Ks(r,i,a,o),c=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Mo(t,n,e,s,c)}}function Pp(t,n,e){const[r,i,a,o]=cc(t,n,e),s=r.length;let u,l,c,f,d=0,h=0,p=0,m=0,g=0;for(u=0;u<s;)l=r[u],c=i[u++],f=l*l,d+=(f-d)/u,h+=(f*l-h)/u,p+=(f*f-p)/u,m+=(l*c-m)/u,g+=(f*c-g)/u;const y=p-d*d,v=d*y-h*h,x=(g*d-m*h)/v,b=(m*y-g*h)/v,w=-x*d,A=_=>x*(_-=a)*_+b*_+w+o;return{coef:[w-b*a+x*a*a+o,b-2*x*a,x],predict:A,rSquared:Mo(t,n,e,o,A)}}function v2(t,n,e,r){if(r===0)return Rp(t,n,e);if(r===1)return Tp(t,n,e);if(r===2)return Pp(t,n,e);const[i,a,o,s]=cc(t,n,e),u=i.length,l=[],c=[],f=r+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d)*a[p];for(l.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d+h);g[h]=m}c.push(g)}c.push(l);const y=function(x){const b=x.length-1,w=[];let A,_,k,F,C;for(A=0;A<b;++A){for(F=A,_=A+1;_<b;++_)Math.abs(x[A][_])>Math.abs(x[A][F])&&(F=_);for(k=A;k<b+1;++k)C=x[k][A],x[k][A]=x[k][F],x[k][F]=C;for(_=A+1;_<b;++_)for(k=b;k>=A;k--)x[k][_]-=x[k][A]*x[A][_]/x[A][A]}for(_=b-1;_>=0;--_){for(C=0,k=_+1;k<b;++k)C+=x[k][_]*w[k];w[_]=(x[b][_]-C)/x[_][_]}return w}(c),v=x=>{x-=o;let b=s+y[0]+y[1]*x+y[2]*x*x;for(d=3;d<f;++d)b+=y[d]*Math.pow(x,d);return b};return{coef:f9(f,y,-o,s),predict:v,rSquared:Mo(t,n,e,s,v)}}function f9(t,n,e,r){const i=Array(t);let a,o,s,u;for(a=0;a<t;++a)i[a]=0;for(a=t-1;a>=0;--a)for(s=n[a],u=1,i[a]+=s,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=s*Math.pow(e,o)*u;return i[0]+=r,i}function b2(t,n,e,r){const[i,a,o,s]=cc(t,n,e,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=2;){const p=[0,l-1];for(let g=0;g<u;++g){const y=i[g],v=p[0],x=p[1],b=y-i[v]>i[x]-y?v:x;let w=0,A=0,_=0,k=0,F=0;const C=1/Math.abs(i[b]-y||1);for(let $=v;$<=x;++$){const M=i[$],S=a[$],B=d9(Math.abs(y-M)*C)*d[$],z=M*B;w+=B,A+=z,_+=S*B,k+=S*z,F+=M*z}const[D,E]=Ks(A/w,_/w,k/w,F/w);c[g]=D+E*y,f[g]=Math.abs(a[g]-c[g]),h9(i,g+1,p)}if(h===2)break;const m=Yx(f);if(Math.abs(m)<1e-12)break;for(let g,y,v=0;v<u;++v)g=f[v]/(6*m),d[v]=g>=1?1e-12:(y=1-g*g)*y}return function(h,p,m,g){const y=h.length,v=[];let x,b=0,w=0,A=[];for(;b<y;++b)x=h[b]+m,A[0]===x?A[1]+=(p[b]-A[1])/++w:(w=0,A[1]+=g,A=[x,p[b]],v.push(A));return A[1]+=g,v}(i,c,o,s)}function d9(t){return(t=1-t*t*t)*t*t}function h9(t,n,e){const r=t[n];let i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const p9=.5*Math.PI/180;function fc(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=m=>[m,t(m)],a=n[0],o=n[1],s=o-a,u=s/r,l=[i(a)],c=[];if(e===r){for(let m=1;m<r;++m)l.push(i(a+m/e*s));return l.push(i(o)),l}c.push(i(o));for(let m=e;--m>0;)c.push(i(a+m/e*s));let f=l[0],d=c[c.length-1];const h=1/s,p=function(m,g){let y=m,v=m;const x=g.length;for(let b=0;b<x;++b){const w=g[b][1];w<y&&(y=w),w>v&&(v=w)}return 1/(v-y)}(f[1],c);for(;d;){const m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&m9(f,m,d,h,p)>p9?c.push(m):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l}function m9(t,n,e,r,i){const a=Math.atan2(i*(e[1]-t[1]),r*(e[0]-t[0])),o=Math.atan2(i*(n[1]-t[1]),r*(n[0]-t[0]));return Math.abs(a-o)}function jp(t){return t&&t.length?t.length===1?t[0]:(n=t,e=>{const r=n.length;let i=1,a=String(n[0](e));for(;i<r;++i)a+="|"+n[i](e);return a}):function(){return""};var n}function x2(t,n,e){return e||t+(n?"_"+n:"")}const Lp=()=>{},g9={init:Lp,add:Lp,rem:Lp,idx:0},Zs={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:void 0,add:(t,n)=>t.sum+=+n,rem:(t,n)=>t.sum-=n},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,n)=>t.product*=n,rem:(t,n)=>t.product/=n},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,n)=>(t.mean_d=n-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,n)=>(t.mean_d=n-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,n)=>t.dev+=t.mean_d*(n-t.mean),rem:(t,n)=>t.dev-=t.mean_d*(n-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,n)=>{(n<t.min||t.min===void 0)&&(t.min=n)},rem:(t,n)=>{n<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,n)=>{(n>t.max||t.max===void 0)&&(t.max=n)},rem:(t,n)=>{n>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,n,e)=>{n<t.min&&(t.argmin=e)},rem:(t,n)=>{n<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,n,e)=>{n>t.max&&(t.argmax=e)},rem:(t,n)=>{n>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(t,n)=>{t.exp=0,t.exp_r=n},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):void 0,add:(t,n)=>t.exp=t.exp_r*t.exp+n,rem:(t,n)=>t.exp=(t.exp-n/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):void 0,req:["exponential"],idx:1}},tu=Object.keys(Zs).filter(t=>t!=="__count__");function w2(t,n,e){return Zs[t](e,n)}function A2(t,n){return t.idx-n.idx}function y9(){this.valid=0,this.missing=0,this._ops.forEach(t=>t.aggregate_param==null?t.init(this):t.init(this,t.aggregate_param))}function v9(t,n){t!=null&&t!==""?t==t&&(++this.valid,this._ops.forEach(e=>e.add(this,t,n))):++this.missing}function b9(t,n){t!=null&&t!==""?t==t&&(--this.valid,this._ops.forEach(e=>e.rem(this,t,n))):--this.missing}function x9(t){return this._out.forEach(n=>t[n.out]=n.value(this)),t}function _2(t,n){const e=n||Me,r=function(o){const s={};o.forEach(l=>s[l.name]=l);const u=l=>{l.req&&l.req.forEach(c=>{s[c]||u(s[c]=Zs[c]())})};return o.forEach(u),Object.values(s).sort(A2)}(t),i=t.slice().sort(A2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=y9,a.prototype.add=v9,a.prototype.rem=b9,a.prototype.set=x9,a.prototype.get=e,a.fields=t.map(o=>o.out),a}function qp(t){this._key=t?ei(t):st,this.reset()}[...tu,"__count__"].forEach(t=>{Zs[t]=function(n,e){return(r,i)=>xt({name:n,aggregate_param:i,out:r||n},g9,e)}(t,Zs[t])});const kn=qp.prototype;function Li(t){O.call(this,null,t),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}kn.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},kn.add=function(t){this._add.push(t)},kn.rem=function(t){this._rem.push(t)},kn.values=function(){if(this._get=null,this._rem.length===0)return this._add;const t=this._add,n=this._rem,e=this._key,r=t.length,i=n.length,a=Array(r-i),o={};let s,u,l;for(s=0;s<i;++s)o[e(n[s])]=1;for(s=0,u=0;s<r;++s)o[e(l=t[s])]?o[e(l)]=0:a[u++]=l;return this._rem=[],this._add=a},kn.distinct=function(t){const n=this.values(),e={};let r,i=n.length,a=0;for(;--i>=0;)r=t(n[i])+"",tt(e,r)||(e[r]=1,++a);return a},kn.extent=function(t){if(this._get!==t||!this._ext){const n=this.values(),e=sx(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},kn.argmin=function(t){return this.extent(t)[0]||{}},kn.argmax=function(t){return this.extent(t)[1]||{}},kn.min=function(t){const n=this.extent(t)[0];return n!=null?t(n):void 0},kn.max=function(t){const n=this.extent(t)[1];return n!=null?t(n):void 0},kn.quartile=function(t){return this._get===t&&this._q||(this._q=_p(this.values(),t),this._get=t),this._q},kn.q1=function(t){return this.quartile(t)[0]},kn.q2=function(t){return this.quartile(t)[1]},kn.q3=function(t){return this.quartile(t)[2]},kn.ci=function(t){return this._get===t&&this._ci||(this._ci=l2(this.values(),1e3,.05,t),this._get=t),this._ci},kn.ci0=function(t){return this.ci(t)[0]},kn.ci1=function(t){return this.ci(t)[1]},Li.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:tu},{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"}]},V(Li,O,{transform(t,n){const e=this,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.modified();return e.stamp=r.stamp,e.value&&(i||n.modified(e._inputs,!0))?(e._prev=e.value,e.value=i?e.init(t):Object.create(null),n.visit(n.SOURCE,a=>e.add(a))):(e.value=e.value||e.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),r.modifies(e._outputs),e._drop=t.drop!==!1,t.cross&&e._dims.length>1&&(e._drop=!1,e.cross()),n.clean()&&e._drop&&r.clean(!0).runAfter(()=>this.clean()),e.changes(r)},cross(){const t=this,n=t.value,e=t._dnames,r=e.map(()=>({})),i=e.length;function a(o){let s,u,l,c;for(s in o)for(l=o[s].tuple,u=0;u<i;++u)r[u][c=l[e[u]]]=c}a(t._prev),a(n),function o(s,u,l){const c=e[l],f=r[l++];for(const d in f){const h=s?s+"|"+d:d;u[c]=f[d],l<i?o(h,u,l):n[h]||t.cell(h,u)}}("",{},0)},init(t){const n=this._inputs=[],e=this._outputs=[],r={};function i(v){const x=K(Wn(v)),b=x.length;let w,A=0;for(;A<b;++A)r[w=x[A]]||(r[w]=1,n.push(w))}this._dims=K(t.groupby),this._dnames=this._dims.map(v=>{const x=en(v);return i(v),e.push(x),x}),this.cellkey=t.key?t.key:jp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const a=t.fields||[null],o=t.ops||["count"],s=t.aggregate_params||[null],u=t.as||[],l=a.length,c={};let f,d,h,p,m,g,y;for(l!==o.length&&j("Unmatched number of fields and aggregate ops."),y=0;y<l;++y)f=a[y],d=o[y],h=s[y]||null,f==null&&d!=="count"&&j("Null aggregate field specified."),m=en(f),g=x2(d,m,u[y]),e.push(g),d!=="count"?(p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(w2(d,h,g))):this._counts.push(g);return this._measures=this._measures.map(v=>_2(v,v.field)),Object.create(null)},cellkey:jp(),cell(t,n){let e=this.value[t];return e?e.num===0&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},newcell(t,n){const e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){const r=this._measures,i=r.length;e.agg=Array(i);for(let a=0;a<i;++a)e.agg[a]=new r[a](e)}return e.store&&(e.data=new qp),e},newtuple(t,n){const e=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[e[o]]=r[o](t);return n?Zx(n.tuple,a):St(a)},clean(){const t=this.value;for(const n in t)t[n].num===0&&delete t[n]},add(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num+=1,this._countOnly)return;e.store&&e.data.add(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(t),t)},rem(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num-=1,this._countOnly)return;e.store&&e.data.rem(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(t),t)},celltuple(t){const n=t.tuple,e=this._counts;t.store&&t.data.values();for(let r=0,i=e.length;r<i;++r)n[e[r]]=t.num;if(!this._countOnly){const r=t.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(n)}return n},changes(t){const n=this._adds,e=this._mods,r=this._prev,i=this._drop,a=t.add,o=t.rem,s=t.mod;let u,l,c,f;if(r)for(l in r)u=r[l],i&&!u.num||o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(n[c])),n[c]=null;for(c=0,f=this._mlen;c<f;++c)u=e[c],(u.num===0&&i?o:s).push(this.celltuple(u)),e[c]=null;return this._alen=this._mlen=0,this._prev=null,t}});function Up(t){O.call(this,null,t)}function k2(t,n,e){const r=t;let i=n||[],a=e||[],o={},s=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++s,size:()=>i.length,data:(u,l)=>(s&&(i=i.filter(c=>!o[r(c)]),o={},s=0),l&&u&&i.sort(u),a.length&&(i=u?ox(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Ip(t){O.call(this,[],t)}function D2(t){Ut.call(this,null,w9,t)}function w9(t){return this.value&&!t.modified()?this.value:ep(t.fields,t.orders)}function Wp(t){O.call(this,null,t)}function Hp(t){O.call(this,null,t)}Up.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"]}]},V(Up,O,{transform(t,n){const e=t.interval!==!1,r=this._bins(t),i=r.start,a=r.step,o=t.as||["bin0","bin1"],s=o[0],u=o[1];let l;return l=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(Wn(t.field))?n.ADD_MOD:n.ADD,n.visit(l,e?c=>{const f=r(c);c[s]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[s]=r(c)),n.modifies(e?o:s)},_bins(t){if(this.value&&!t.modified())return this.value;const n=t.field,e=u2(t),r=e.step;let i,a,o=e.start,s=o+Math.ceil((e.stop-o)/r)*r;(i=t.anchor)!=null&&(a=i-(o+r*Math.floor((i-o)/r)),o+=a,s+=a);const u=function(l){let c=ze(n(l));return c==null?null:c<o?-1/0:c>s?1/0:(c=Math.max(o,Math.min(c,s-r)),o+r*Math.floor(1e-14+(c-o)/r))};return u.start=o,u.stop=e.stop,u.step=r,this.value=Do(u,Wn(n),t.name||"bin_"+en(n))}}),Ip.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},V(Ip,O,{transform(t,n){const e=n.fork(n.ALL),r=k2(st,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(Sa(i),a),n.source&&n.source.root&&(this.value.root=n.source.root),e}}),V(D2,Ut),Wp.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"]}]},V(Wp,O,{transform(t,n){const e=f=>d=>{for(var h,p=function(y,v,x){switch(v){case"upper":y=y.toUpperCase();break;case"lower":y=y.toLowerCase()}return y.match(x)}(s(d),t.case,a)||[],m=0,g=p.length;m<g;++m)o.test(h=p[m])||f(h)},r=this._parameterCheck(t,n),i=this._counts,a=this._match,o=this._stop,s=t.field,u=t.as||["text","count"],l=e(f=>i[f]=1+(i[f]||0)),c=e(f=>i[f]-=1);return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,u)},_parameterCheck(t,n){let e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},_finish(t,n){const e=this._counts,r=this._tuples||(this._tuples={}),i=n[0],a=n[1],o=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,u,l;for(s in e)u=r[s],l=e[s]||0,!u&&l?(r[s]=u=St({}),u[i]=s,u[a]=l,o.add.push(u)):l===0?(u&&o.rem.push(u),e[s]=null,r[s]=null):u[a]!==l&&(u[a]=l,o.mod.push(u));return o.modifies(n)}}),Hp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},V(Hp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.as||["a","b"],i=r[0],a=r[1],o=!this.value||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;return o?(s&&(e.rem=s),s=n.materialize(n.SOURCE).source,e.add=this.value=function(u,l,c,f){for(var d,h,p=[],m={},g=u.length,y=0;y<g;++y)for(m[l]=h=u[y],d=0;d<g;++d)m[c]=u[d],f(m)&&(p.push(St(m)),(m={})[l]=h);return p}(s,i,a,t.filter||Be)):e.mod=s,e.source=this.value,e.modifies(r)}});const F2={kde:Cp,mixture:h2,normal:Fp,lognormal:d2,uniform:p2},C2="function";function E2(t,n){const e=t[C2];tt(F2,e)||j("Unknown distribution function: "+e);const r=F2[e]();for(const i in t)i==="field"?r.data((t.from||n()).map(t[i])):i==="distributions"?r[i](t[i].map(a=>E2(a,n))):typeof r[i]===C2&&r[i](t[i]);return r}function Gp(t){O.call(this,null,t)}const $2=[{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}]}],A9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:$2},{name:"weights",type:"number",array:!0}]};function S2(t,n){return t?t.map((e,r)=>n[r]||en(e)):null}function Vp(t,n,e){const r=[],i=f=>f(u);let a,o,s,u,l,c;if(n==null)r.push(t.map(e));else for(a={},o=0,s=t.length;o<s;++o)u=t[o],l=n.map(i),c=a[l],c||(a[l]=c=[],c.dims=l,r.push(c)),c.push(e(u));return r}Gp.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:$2.concat(A9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(Gp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=E2(t.distribution,function(l){return()=>l.materialize(l.SOURCE).source}(n)),i=t.steps||t.minsteps||25,a=t.steps||t.maxsteps||200;let o=t.method||"pdf";o!=="pdf"&&o!=="cdf"&&j("Invalid density method: "+o),t.extent||r.data||j("Missing density extent parameter."),o=r[o];const s=t.as||["value","density"],u=fc(o,t.extent||kr(r.data()),i,a).map(l=>{const c={};return c[s[0]]=l[0],c[s[1]]=l[1],St(c)});this.value&&(e.rem=this.value),this.value=e.add=e.source=u}return e}});function Yp(t){O.call(this,null,t)}Yp.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:"bin"}]};function M2(t){Ut.call(this,null,_9,t),this.modified(!0)}function _9(t){const n=t.expr;return this.value&&!t.modified("expr")?this.value:Do(e=>n(e,t),Wn(n),en(n))}function Xp(t){O.call(this,[void 0,void 0],t)}function Jp(t,n){Ut.call(this,t),this.parent=n,this.count=0}function dc(t){O.call(this,{},t),this._keys=Fo();const n=this._targets=[];n.active=0,n.forEach=e=>{for(let r=0,i=n.active;r<i;++r)e(n[r],r,n)}}function B2(t){Ut.call(this,null,k9,t)}function k9(t){return this.value&&!t.modified()?this.value:P(t.name)?K(t.name).map(n=>ei(n)):ei(t.name,t.as)}function Kp(t){O.call(this,Fo(),t)}function Qp(t){O.call(this,[],t)}function Zp(t){O.call(this,[],t)}function tm(t){O.call(this,null,t)}function z2(t){O.call(this,[],t)}V(Yp,O,{transform(t,n){if(this.value&&!t.modified()&&!n.changed())return n;const e=n.materialize(n.SOURCE).source,r=Vp(n.source,t.groupby,Me),i=t.smooth||!1,a=t.field,o=t.step||((p,m)=>Gl(kr(p,m))/30)(e,a),s=Sa((p,m)=>a(p)-a(m)),u=t.as||"bin",l=r.length;let c,f=1/0,d=-1/0,h=0;for(;h<l;++h){const p=r[h].sort(s);c=-1;for(const m of c2(p,o,i,a))m<f&&(f=m),m>d&&(d=m),p[++c][u]=m}return this.value={start:f,stop:d,step:o},n.reflow(!0).modifies(u)}}),V(M2,Ut),Xp.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},V(Xp,O,{transform(t,n){const e=this.value,r=t.field,i=n.changed()||n.modified(r.fields)||t.modified("field");let a=e[0],o=e[1];if((i||a==null)&&(a=1/0,o=-1/0),n.visit(i?n.SOURCE:n.ADD,s=>{const u=ze(r(s));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let s=en(r);s&&(s=` for field "${s}"`),n.dataflow.warn(`Infinite extent${s}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),V(Jp,Ut,{connect(t){return this.detachSubflow=t.detachSubflow,this.targets().add(t),t.source=this},add(t){this.count+=1,this.value.add.push(t)},rem(t){this.count-=1,this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}}),V(dc,O,{activate(t){this._targets[this._targets.active++]=t},subflow(t,n,e,r){const i=this.value;let a,o,s=tt(i,t)&&i[t];return s?s.value.stamp<e.stamp&&(s.init(e),this.activate(s)):(o=r||(o=this._group[t])&&o.tuple,a=e.dataflow,s=new Jp(e.fork(e.NO_SOURCE),this),a.add(s).connect(n(a,t,o)),i[t]=s,this.activate(s)),s},clean(){const t=this.value;let n=0;for(const e in t)if(t[e].count===0){const r=t[e].detachSubflow;r&&r(),delete t[e],++n}if(n){const e=this._targets.filter(r=>r&&r.count>0);this.initTargets(e)}},initTargets(t){const n=this._targets,e=n.length,r=t?t.length:0;let i=0;for(;i<r;++i)n[i]=t[i];for(;i<e&&n[i]!=null;++i)n[i]=null;n.active=r},transform(t,n){const e=n.dataflow,r=t.key,i=t.subflow,a=this._keys,o=t.modified("key"),s=u=>this.subflow(u,i,n);return this._group=t.group||{},this.initTargets(),n.visit(n.REM,u=>{const l=st(u),c=a.get(l);c!==void 0&&(a.delete(l),s(c).rem(u))}),n.visit(n.ADD,u=>{const l=r(u);a.set(st(u),l),s(l).add(u)}),o||n.modified(r.fields)?n.visit(n.MOD,u=>{const l=st(u),c=a.get(l),f=r(u);c===f?s(f).mod(u):(a.set(l,f),s(c).rem(u),s(f).add(u))}):n.changed(n.MOD)&&n.visit(n.MOD,u=>{s(a.get(st(u))).mod(u)}),o&&n.visit(n.REFLOW,u=>{const l=st(u),c=a.get(l),f=r(u);c!==f&&(a.set(l,f),s(c).rem(u),s(f).add(u))}),n.clean()?e.runAfter(()=>{this.clean(),a.clean()}):a.empty>e.cleanThreshold&&e.runAfter(a.clean),n}}),V(B2,Ut),Kp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},V(Kp,O,{transform(t,n){const e=n.dataflow,r=this.value,i=n.fork(),a=i.add,o=i.rem,s=i.mod,u=t.expr;let l=!0;function c(f){const d=st(f),h=u(f,t),p=r.get(d);h&&p?(r.delete(d),a.push(f)):h||p?l&&h&&!p&&s.push(f):(r.set(d,1),o.push(f))}return n.visit(n.REM,f=>{const d=st(f);r.has(d)?r.delete(d):o.push(f)}),n.visit(n.ADD,f=>{u(f,t)?a.push(f):r.set(st(f),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i}}),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}]},V(Qp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=S2(r,t.as||[]),a=t.index||null,o=i.length;return e.rem=this.value,n.visit(n.SOURCE,s=>{const u=r.map(p=>p(s)),l=u.reduce((p,m)=>Math.max(p,m.length),0);let c,f,d,h=0;for(;h<l;++h){for(f=vp(s),c=0;c<o;++c)f[i[c]]=(d=u[c][h])==null?null:d;a&&(f[a]=h),e.add.push(f)}}),this.value=e.source=e.add,a&&e.modifies(a),e.modifies(i)}}),Zp.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"]}]},V(Zp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=r.map(en),a=t.as||["key","value"],o=a[0],s=a[1],u=r.length;return e.rem=this.value,n.visit(n.SOURCE,l=>{for(let c,f=0;f<u;++f)c=vp(l),c[o]=i[f],c[s]=r[f](l),e.add.push(c)}),this.value=e.source=e.add,e.modifies(a)}}),tm.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},V(tm,O,{transform(t,n){const e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)||n.modified(r)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,o=>o[r]=e(o,t))}}),V(z2,O,{transform(t,n){const e=n.fork(n.ALL),r=t.generator;let i,a,o,s=this.value,u=t.size-s.length;if(u>0){for(i=[];--u>=0;)i.push(o=St(r(t))),s.push(o);e.add=e.add.length?e.materialize(e.ADD).add.concat(i):i}else a=s.slice(0,-u),e.rem=e.rem.length?e.materialize(e.REM).rem.concat(a):a,s=s.slice(-u);return e.source=this.value=s,e}});const hc={value:"value",median:Yx,mean:function(t,n){let e=0,r=0;if(n===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++e,r+=i);else{let i=-1;for(let a of t)(a=n(a,++i,t))!=null&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:cp,max:Ca},D9=[];function nm(t){O.call(this,[],t)}function em(t){Li.call(this,t)}function rm(t){O.call(this,null,t)}function O2(t){Ut.call(this,null,F9,t)}function F9(t){return this.value&&!t.modified()?this.value:rp(t.fields,t.flat)}function N2(t){O.call(this,[],t),this._pending=null}function im(t,n,e){e.forEach(St);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.source=r.add=e,t._pending=null,r.rem.length&&r.clean(!0),r}function am(t){O.call(this,{},t)}function R2(t){Ut.call(this,null,C9,t)}function C9(t){if(this.value&&!t.modified())return this.value;const n=t.extents,e=n.length;let r,i,a=1/0,o=-1/0;for(r=0;r<e;++r)i=n[r],i[0]<a&&(a=i[0]),i[1]>o&&(o=i[1]);return[a,o]}function T2(t){Ut.call(this,null,E9,t)}function E9(t){return this.value&&!t.modified()?this.value:t.values.reduce((n,e)=>n.concat(e),[])}function P2(t){O.call(this,null,t)}function om(t){Li.call(this,t)}function j2(t){dc.call(this,t)}function sm(t){O.call(this,null,t)}function L2(t){O.call(this,null,t)}function um(t){O.call(this,null,t)}nm.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}]},V(nm,O,{transform(t,n){var e,r,i,a,o,s,u,l,c,f,d=n.fork(n.ALL),h=function(A){var _,k=A.method||hc.value;if(hc[k]!=null)return k===hc.value?(_=A.value!==void 0?A.value:0,()=>_):hc[k];j("Unrecognized imputation method: "+k)}(t),p=function(A){const _=A.field;return k=>k?_(k):NaN}(t),m=en(t.field),g=en(t.key),y=(t.groupby||[]).map(en),v=function(A,_,k,F){var C,D,E,$,M,S,B,z,N=ot=>ot(z),W=[],X=F?F.slice():[],L={},et={};for(X.forEach((ot,nt)=>L[ot]=nt+1),$=0,B=A.length;$<B;++$)S=k(z=A[$]),M=L[S]||(L[S]=X.push(S)),(E=et[D=(C=_?_.map(N):D9)+""])||(E=et[D]=[],W.push(E),E.values=C),E[M-1]=z;return W.domain=X,W}(n.source,t.groupby,t.key,t.keyvals),x=[],b=this.value,w=v.domain.length;for(o=0,l=v.length;o<l;++o)for(i=(e=v[o]).values,r=NaN,u=0;u<w;++u)if(e[u]==null){for(a=v.domain[u],f={_impute:!0},s=0,c=i.length;s<c;++s)f[y[s]]=i[s];f[g]=a,f[m]=Number.isNaN(r)?r=h(e,p):r,x.push(St(f))}return x.length&&(d.add=d.materialize(d.ADD).add.concat(x)),b.length&&(d.rem=d.materialize(d.REM).rem.concat(b)),this.value=x,d}}),em.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:tu},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},V(em,Li,{transform(t,n){const e=this,r=t.modified();let i;return e.value&&(r||n.modified(e._inputs,!0))?(i=e.value=r?e.init(t):{},n.visit(n.SOURCE,a=>e.add(a))):(i=e.value=e.value||this.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),e.changes(),n.visit(n.SOURCE,a=>{xt(a,i[e.cellkey(a)].tuple)}),n.reflow(r).modifies(this._outputs)},changes(){const t=this._adds,n=this._mods;let e,r;for(e=0,r=this._alen;e<r;++e)this.celltuple(t[e]),t[e]=null;for(e=0,r=this._mlen;e<r;++e)this.celltuple(n[e]),n[e]=null;this._alen=this._mlen=0}}),rm.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"]}]},V(rm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=n.materialize(n.SOURCE).source,i=Vp(r,t.groupby,t.field),a=(t.groupby||[]).map(en),o=t.bandwidth,s=t.cumulative?"cdf":"pdf",u=t.as||["value","density"],l=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;s!=="pdf"&&s!=="cdf"&&j("Invalid density method: "+s),t.resolve==="shared"&&(c||(c=kr(r,t.field)),f=d=t.steps||d),i.forEach(h=>{const p=Cp(h,o)[s],m=t.counts?h.length:1;fc(p,c||kr(h),f,d).forEach(g=>{const y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[u[0]]=g[0],y[u[1]]=g[1]*m,l.push(St(y))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e}}),V(O2,Ut),V(N2,O,{transform(t,n){const e=n.dataflow;return this._pending?im(this,n,this._pending):function(r){return r.modified("async")&&!(r.modified("values")||r.modified("url")||r.modified("format"))}(t)?n.StopPropagation:t.values?im(this,n,e.parse(t.values,t.format)):t.async?{async:e.request(t.url,t.format).then(i=>(this._pending=K(i.data),a=>a.touch(this)))}:e.request(t.url,t.format).then(r=>im(this,n,K(r.data)))}}),am.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}]},V(am,O,{transform(t,n){const e=t.fields,r=t.index,i=t.values,a=t.default==null?null:t.default,o=t.modified(),s=e.length;let u,l,c,f=o?n.SOURCE:n.ADD,d=n,h=t.as;return i?(l=i.length,s>1&&!h&&j('Multi-field lookup requires explicit "as" parameter.'),h&&h.length!==s*l&&j('The "as" parameter has too few output field names.'),h=h||i.map(en),u=function(p){for(var m,g,y=0,v=0;y<s;++y)if((g=r.get(e[y](p)))==null)for(m=0;m<l;++m,++v)p[h[v]]=a;else for(m=0;m<l;++m,++v)p[h[v]]=i[m](g)}):(h||j("Missing output field names."),u=function(p){for(var m,g=0;g<s;++g)m=r.get(e[g](p)),p[h[g]]=m??a}),o?d=n.reflow(!0):(c=e.some(p=>n.modified(p.fields)),f|=c?n.MOD:0),n.visit(f,u),d.modifies(h)}}),V(R2,Ut),V(T2,Ut),V(P2,O,{transform(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),om.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:tu,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},V(om,Li,{_transform:Li.prototype.transform,transform(t,n){return this._transform(function(e,r){const i=e.field,a=e.value,o=(e.op==="count"?"__count__":e.op)||"sum",s=Wn(i).concat(Wn(a)),u=function(l,c,f){const d={},h=[];return f.visit(f.SOURCE,p=>{const m=l(p);d[m]||(d[m]=1,h.push(m))}),h.sort(Zh),c?h.slice(0,c):h}(i,e.limit||0,r);return r.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:u.map(()=>o),fields:u.map(l=>function(c,f,d,h){return Do(p=>f(p)===c?d(p):NaN,h,c+"")}(l,i,a,s)),as:u.map(l=>l+""),modified:e.modified.bind(e)}}(t,n),n)}}),V(j2,dc,{transform(t,n){const e=t.subflow,r=t.field,i=a=>this.subflow(st(a),e,n,a);return(t.modified("field")||r&&n.modified(Wn(r)))&&j("PreFacet does not support field modification."),this.initTargets(),r?(n.visit(n.MOD,a=>{const o=i(a);r(a).forEach(s=>o.mod(s))}),n.visit(n.ADD,a=>{const o=i(a);r(a).forEach(s=>o.add(St(s)))}),n.visit(n.REM,a=>{const o=i(a);r(a).forEach(s=>o.rem(s))})):(n.visit(n.MOD,a=>i(a).mod(a)),n.visit(n.ADD,a=>i(a).add(a)),n.visit(n.REM,a=>i(a).rem(a))),n.clean()&&n.runAfter(()=>this.clean()),n}}),sm.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},V(sm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=S2(t.fields,t.as||[]),a=r?(s,u)=>function(l,c,f,d){for(let h=0,p=f.length;h<p;++h)c[d[h]]=f[h](l);return c}(s,u,r,i):nc;let o;return this.value?o=this.value:(n=n.addAll(),o=this.value={}),n.visit(n.REM,s=>{const u=st(s);e.rem.push(o[u]),o[u]=null}),n.visit(n.ADD,s=>{const u=a(s,St({}));o[st(s)]=u,e.add.push(u)}),n.visit(n.MOD,s=>{e.mod.push(a(s,o[st(s)]))}),e}}),V(L2,O,{transform(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}}),um.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"]}]};function q2(t){O.call(this,null,t)}function lm(t){O.call(this,[],t),this.count=0}function cm(t){O.call(this,null,t)}function U2(t){O.call(this,null,t),this.modified(!0)}function fm(t){O.call(this,null,t)}V(um,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=t.as||["prob","value"];if(this.value&&!t.modified()&&!n.changed())return e.source=this.value,e;const i=Vp(n.materialize(n.SOURCE).source,t.groupby,t.field),a=(t.groupby||[]).map(en),o=[],s=t.step||.01,u=t.probs||xe(s/2,1-1e-14,s),l=u.length;return i.forEach(c=>{const f=Ap(c,u);for(let d=0;d<l;++d){const h={};for(let p=0;p<a.length;++p)h[a[p]]=c.dims[p];h[r[0]]=u[d],h[r[1]]=f[d],o.push(St(h))}}),this.value&&(e.rem=this.value),this.value=e.add=e.source=o,e}}),V(q2,O,{transform(t,n){let e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,i=>{const a=st(i);e.rem.push(r[a]),r[a]=null}),n.visit(n.ADD,i=>{const a=vp(i);r[st(i)]=a,e.add.push(a)}),n.visit(n.MOD,i=>{const a=r[st(i)];for(const o in i)a[o]=i[o],e.modifies(o);e.mod.push(a)})),e}}),lm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},V(lm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.modified("size"),i=t.size,a=this.value.reduce((c,f)=>(c[st(f)]=1,c),{});let o=this.value,s=this.count,u=0;function l(c){let f,d;o.length<i?o.push(c):(d=~~((s+1)*Ne()),d<o.length&&d>=u&&(f=o[d],a[st(f)]&&e.rem.push(f),o[d]=c)),++s}if(n.rem.length&&(n.visit(n.REM,c=>{const f=st(c);a[f]&&(a[f]=-1,e.rem.push(c)),--s}),o=o.filter(c=>a[st(c)]!==-1)),(n.rem.length||r)&&o.length<i&&n.source&&(u=s=o.length,n.visit(n.SOURCE,c=>{a[st(c)]||l(c)}),u=-1),r&&o.length>i){const c=o.length-i;for(let f=0;f<c;++f)a[st(o[f])]=-1,e.rem.push(o[f]);o=o.slice(c)}return n.mod.length&&n.visit(n.MOD,c=>{a[st(c)]&&e.mod.push(c)}),n.add.length&&n.visit(n.ADD,l),(n.add.length||u<0)&&(e.add=o.filter(c=>!a[st(c)])),this.count=s,this.value=e.source=o,e}}),cm.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"}]},V(cm,O,{transform(t,n){if(this.value&&!t.modified())return;const e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=xe(t.start,t.stop,t.step||1).map(i=>{const a={};return a[r]=i,St(a)}),e.add=n.add.concat(this.value),e}}),V(U2,O,{transform(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}});const I2=["unit0","unit1"];function W2(t){O.call(this,Fo(),t)}function H2(t){O.call(this,null,t)}fm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:ux,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:I2}]},V(fm,O,{transform(t,n){const e=t.field,r=t.interval!==!1,i=t.timezone==="utc",a=this._floor(t,n),o=(i?tp:np)(a.unit).offset,s=t.as||I2,u=s[0],l=s[1],c=a.step;let f=a.start||1/0,d=a.stop||-1/0,h=n.ADD;return(t.modified()||n.changed(n.REM)||n.modified(Wn(e)))&&(h=(n=n.reflow(!0)).SOURCE,f=1/0,d=-1/0),n.visit(h,p=>{const m=e(p);let g,y;m==null?(p[u]=null,r&&(p[l]=null)):(p[u]=g=y=a(m),r&&(p[l]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,n.modifies(r?s:u)},_floor(t,n){const e=t.timezone==="utc",{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:nx({extent:t.extent||kr(n.materialize(n.SOURCE).source,t.field),maxbins:t.maxbins}),a=ex(r),o=this.value||{},s=(e?rx:ix)(a,i);return s.unit=Bt(a),s.units=a,s.step=i,s.start=o.start,s.stop=o.stop,this.value=s}}),V(W2,O,{transform(t,n){const e=n.dataflow,r=t.field,i=this.value,a=s=>i.set(r(s),s);let o=!0;return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,a)):n.changed()?(n.visit(n.REM,s=>i.delete(r(s))),n.visit(n.ADD,a)):o=!1,this.modified(o),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()}}),V(H2,O,{transform(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(Sa(t.sort)):n.source).map(t.field))}});const nu={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){const t=nu.rank(),n=t.next;return{init:t.init,next:e=>(n(e)-1)/(e.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{const e=n.data,r=n.compare;let i=n.index;if(t<i){for(;i+1<e.length&&!r(e[i],e[i+1]);)++i;t=i}return(1+t)/e.length}}},ntile:function(t,n){(n=+n)>0||j("ntile num must be greater than zero.");const e=nu.cume_dist(),r=e.next;return{init:e.init,next:i=>Math.ceil(n*r(i))}},lag:function(t,n){return n=+n||1,{next:e=>{const r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{const r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||j("nth_value nth must be greater than zero."),{next:e=>{const r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n;return{init:()=>n=null,next:e=>{const r=t(e.data[e.index]);return r!=null?n=r:n}}},next_value:function(t){let n,e;return{init:()=>(n=null,e=-1),next:r=>{const i=r.data;return r.index<=e?n:(e=function(a,o,s){for(let u=o.length;s<u;++s)if(a(o[s])!=null)return s;return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}},$9=Object.keys(nu);function G2(t){const n=K(t.ops),e=K(t.fields),r=K(t.params),i=K(t.aggregate_params),a=K(t.as),o=this.outputs=[],s=this.windows=[],u={},l={},c=[],f=[];let d=!0;function h(p){K(Wn(p)).forEach(m=>u[m]=1)}h(t.sort),n.forEach((p,m)=>{const g=e[m],y=r[m],v=i[m]||null,x=en(g),b=x2(p,x,a[m]);if(h(g),o.push(b),tt(nu,p))s.push(function(w,A,_,k){const F=nu[w](A,_);return{init:F.init||ip,update:function(C,D){D[k]=F.next(C)}}}(p,g,y,b));else{if(g==null&&p!=="count"&&j("Null aggregate field specified."),p==="count")return void c.push(b);d=!1;let w=l[x];w||(w=l[x]=[],w.field=g,f.push(w)),w.push(w2(p,v,b))}}),(c.length||f.length)&&(this.cell=function(p,m,g){p=p.map(A=>_2(A,A.field));const y={num:0,agg:null,store:!1,count:m};if(!g)for(var v=p.length,x=y.agg=Array(v),b=0;b<v;++b)x[b]=new p[b](y);if(y.store)var w=y.data=new qp;return y.add=function(A){if(y.num+=1,!g){w&&w.add(A);for(let _=0;_<v;++_)x[_].add(x[_].get(A),A)}},y.rem=function(A){if(y.num-=1,!g){w&&w.rem(A);for(let _=0;_<v;++_)x[_].rem(x[_].get(A),A)}},y.set=function(A){let _,k;for(w&&w.values(),_=0,k=m.length;_<k;++_)A[m[_]]=y.num;if(!g)for(_=0,k=x.length;_<k;++_)x[_].set(A)},y.init=function(){y.num=0,w&&w.reset();for(let A=0;A<v;++A)x[A].init()},y}(f,c,d)),this.inputs=Object.keys(u)}const V2=G2.prototype;function dm(t){O.call(this,{},t),this._mlen=0,this._mods=[]}function S9(t,n,e,r){const i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=t.data(e),u=s.length,l=a?ax(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||In(-1)};n.init();for(let f=0;f<u;++f)M9(c,o,f,u),a&&B9(c,l),n.update(c,s[f])}function M9(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=n[0]==null?0:Math.max(0,e-Math.abs(n[0])),t.i1=n[1]==null?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function B9(t,n){const e=t.i0,r=t.i1-1,i=t.compare,a=t.data,o=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<o&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}V2.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},V2.update=function(t,n){const e=this.cell,r=this.windows,i=t.data,a=r&&r.length;let o;if(e){for(o=t.p0;o<t.i0;++o)e.rem(i[o]);for(o=t.p1;o<t.i1;++o)e.add(i[o]);e.set(n)}for(o=0;o<a;++o)r[o].update(t,n)},dm.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:$9.concat(tu)},{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}]},V(dm,O,{transform(t,n){this.stamp=n.stamp;const e=t.modified(),r=Sa(t.sort),i=jp(t.groupby),a=s=>this.group(i(s));let o=this.state;o&&!e||(o=this.state=new G2(t)),e||n.modified(o.inputs)?(this.value={},n.visit(n.SOURCE,s=>a(s).add(s))):(n.visit(n.REM,s=>a(s).remove(s)),n.visit(n.ADD,s=>a(s).add(s)));for(let s=0,u=this._mlen;s<u;++s)S9(this._mods[s],o,r,t);return this._mlen=0,this._mods=[],n.reflow(e).modifies(o.outputs)},group(t){let n=this.value[t];return n||(n=this.value[t]=k2(st),n.stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n}});const z9=Object.freeze(Object.defineProperty({__proto__:null,aggregate:Li,bin:Up,collect:Ip,compare:D2,countpattern:Wp,cross:Hp,density:Gp,dotbin:Yp,expression:M2,extent:Xp,facet:dc,field:B2,filter:Kp,flatten:Qp,fold:Zp,formula:tm,generate:z2,impute:nm,joinaggregate:em,kde:rm,key:O2,load:N2,lookup:am,multiextent:R2,multivalues:T2,params:P2,pivot:om,prefacet:j2,project:sm,proxy:L2,quantile:um,relay:q2,sample:lm,sequence:cm,sieve:U2,subflow:Jp,timeunit:fm,tupleindex:W2,values:H2,window:dm},Symbol.toStringTag,{value:"Module"}));function Y2(t,n,e){var r=null,i=Hn(!0),a=null,o=Ix,s=null,u=Ux(l);function l(f){var d,h,p,m,g,y=(f=M8(f)).length,v=!1,x=new Array(y),b=new Array(y);for(a==null&&(s=o(g=u())),d=0;d<=y;++d){if(!(d<y&&i(m=f[d],d,f))===v)if(v=!v)h=d,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),p=d-1;p>=h;--p)s.point(x[p],b[p]);s.lineEnd(),s.areaEnd()}v&&(x[d]=+t(m,d,f),b[d]=+n(m,d,f),s.point(r?+r(m,d,f):x[d],e?+e(m,d,f):b[d]))}if(g)return s=null,g+""||null}function c(){return Wx().defined(i).curve(o).context(a)}return t=typeof t=="function"?t:t===void 0?B8:Hn(+t),n=typeof n=="function"?n:Hn(n===void 0?0:+n),e=typeof e=="function"?e:e===void 0?z8:Hn(+e),l.x=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),r=null,l):t},l.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),l):t},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Hn(+f),l):r},l.y=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),e=null,l):n},l.y0=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),l):n},l.y1=function(f){return arguments.length?(e=f==null?null:typeof f=="function"?f:Hn(+f),l):e},l.lineX0=l.lineY0=function(){return c().x(t).y(n)},l.lineY1=function(){return c().x(t).y(e)},l.lineX1=function(){return c().x(r).y(n)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Hn(!!f),l):i},l.curve=function(f){return arguments.length?(o=f,a!=null&&(s=o(a)),l):o},l.context=function(f){return arguments.length?(f==null?a=s=null:s=o(a=f),l):a},l}const O9={draw(t,n){const e=O8(n/R8);t.moveTo(e,0),t.arc(0,0,e,0,N8)}};function qi(t,n){if(typeof document<"u"&&document.createElement){const e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}const N9=()=>typeof Image<"u"?Image:null;var X2=-.14861,hm=1.78277,pm=-.29227,pc=-.90649,eu=1.97294,J2=eu*pc,K2=eu*hm,Q2=hm*pm-pc*X2;function mm(t,n,e,r){return arguments.length===1?function(i){if(i instanceof Ba)return new Ba(i.h,i.s,i.l,i.opacity);i instanceof Px||(i=d8(i));var a=i.r/255,o=i.g/255,s=i.b/255,u=(Q2*s+J2*a-K2*o)/(Q2+J2-K2),l=s-u,c=(eu*(o-u)-pm*l)/pc,f=Math.sqrt(c*c+l*l)/(eu*u*(1-u)),d=f?Math.atan2(c,l)*V6-120:NaN;return new Ba(d<0?d+360:d,f,u,i.opacity)}(t):new Ba(t,n,e,r??1)}function Ba(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Z2(t){return function(n,e){var r=t((n=mp(n)).h,(e=mp(e)).h),i=Oe(n.s,e.s),a=Oe(n.l,e.l),o=Oe(n.opacity,e.opacity);return function(s){return n.h=r(s),n.s=i(s),n.l=a(s),n.opacity=o(s),n+""}}}h8(Ba,mm,p8(m8,{brighter(t){return t=t==null?Lx:Math.pow(Lx,t),new Ba(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?jx:Math.pow(jx,t),new Ba(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Y6,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Px(255*(n+e*(X2*r+hm*i)),255*(n+e*(pm*r+pc*i)),255*(n+e*(eu*r)),this.opacity)}}));const R9=Z2(pp);var T9=Z2(Oe);function tw(t){return function n(e){function r(i,a){var o=t((i=mm(i)).h,(a=mm(a)).h),s=Oe(i.s,a.s),u=Oe(i.l,a.l),l=Oe(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=u(Math.pow(c,e)),i.opacity=l(c),i+""}}return e=+e,r.gamma=n,r}(1)}const P9=tw(pp);var j9=tw(Oe);function gm(t,n){n===void 0&&(n=t,t=Vs);for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(o){var s=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return a[s](o-s)}}const L9=Object.freeze(Object.defineProperty({__proto__:null,interpolate:Vs,interpolateArray:a8,interpolateBasis:g8,interpolateBasisClosed:y8,interpolateCubehelix:P9,interpolateCubehelixLong:j9,interpolateDate:o8,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHcl:X6,interpolateHclLong:J6,interpolateHsl:R9,interpolateHslLong:T9,interpolateHue:function(t,n){var e=pp(+t,+n);return function(r){var i=e(r);return i-360*Math.floor(i/360)}},interpolateLab:function(t,n){var e=Oe((t=fp(t)).l,(n=fp(n)).l),r=Oe(t.a,n.a),i=Oe(t.b,n.b),a=Oe(t.opacity,n.opacity);return function(o){return t.l=e(o),t.a=r(o),t.b=i(o),t.opacity=a(o),t+""}},interpolateNumber:v8,interpolateNumberArray:s8,interpolateObject:u8,interpolateRgb:b8,interpolateRgbBasis:x8,interpolateRgbBasisClosed:w8,interpolateRound:Xl,interpolateString:A8,interpolateTransformCss:_8,interpolateTransformSvg:k8,interpolateZoom:$8,piecewise:gm,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}},Symbol.toStringTag,{value:"Module"}));function nw(t){return Math.log(t)}function ew(t){return Math.exp(t)}function q9(t){return-Math.log(-t)}function U9(t){return-Math.exp(-t)}function I9(t){return isFinite(t)?+("1e"+t):t<0?0:t}function rw(t){return(n,e)=>-t(-n,e)}function ym(t){const n=t(nw,ew),e=n.domain;let r,i,a=10;function o(){return r=function(s){return s===Math.E?Math.log:s===10&&Math.log10||s===2&&Math.log2||(s=Math.log(s),u=>Math.log(u)/s)}(a),i=function(s){return s===10?I9:s===Math.E?Math.exp:u=>Math.pow(s,u)}(a),e()[0]<0?(r=rw(r),i=rw(i),t(q9,U9)):t(nw,ew),n}return n.base=function(s){return arguments.length?(a=+s,o()):a},n.domain=function(s){return arguments.length?(e(s),o()):e()},n.ticks=s=>{const u=e();let l=u[0],c=u[u.length-1];const f=c<l;f&&([l,c]=[c,l]);let d,h,p=r(l),m=r(c);const g=s==null?10:+s;let y=[];if(!(a%1)&&m-p<g){if(p=Math.floor(p),m=Math.ceil(m),l>0){for(;p<=m;++p)for(d=1;d<a;++d)if(h=p<0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}}else for(;p<=m;++p)for(d=a-1;d>=1;--d)if(h=p>0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}2*y.length<g&&(y=lx(l,c,g))}else y=lx(p,m,Math.min(m-p,g)).map(i);return f?y.reverse():y},n.tickFormat=(s,u)=>{if(s==null&&(s=10),u==null&&(u=a===10?"s":","),typeof u!="function"&&(a%1||(u=h6(u)).precision!=null||(u.trim=!0),u=p6(u)),s===1/0)return u;const l=Math.max(1,a*s/n.ticks().length);return c=>{let f=c/i(Math.round(r(c)));return f*a<a-.5&&(f*=a),f<=l?u(c):""}},n.nice=()=>e(K6(e(),{floor:s=>i(Math.floor(r(s))),ceil:s=>i(Math.ceil(r(s)))})),n}function iw(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function aw(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function vm(t){var n=1,e=t(iw(n),aw(n));return e.constant=function(r){return arguments.length?t(iw(n=+r),aw(n)):n},Eo(e)}function ow(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function W9(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function H9(t){return t<0?-t*t:t*t}function bm(t){var n=t(Ri,Ri),e=1;return n.exponent=function(r){return arguments.length?(e=+r)==1?t(Ri,Ri):e===.5?t(W9,H9):t(ow(e),ow(1/e)):e},Eo(n)}function xm(){var t=bm(dp());return t.copy=function(){return hp(t,xm()).exponent(t.exponent())},$a.apply(t,arguments),t}function mc(){var t,n,e,r,i,a=0,o=1,s=Ri,u=!1;function l(f){return f==null||isNaN(f=+f)?i:s(e===0?.5:(f=(r(f)-t)*e,u?Math.max(0,Math.min(1,f)):f))}function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,s=f(h,p),l):[s(0),s(1)]}}return l.domain=function(f){return arguments.length?([a,o]=f,t=r(a=+a),n=r(o=+o),e=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(f){return arguments.length?(u=!!f,l):u},l.interpolator=function(f){return arguments.length?(s=f,l):s},l.range=c(Vs),l.rangeRound=c(Xl),l.unknown=function(f){return arguments.length?(i=f,l):i},function(f){return r=f,t=f(a),n=f(o),e=t===n?0:1/(n-t),l}}function Ui(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function wm(){var t=Eo(mc()(Ri));return t.copy=function(){return Ui(t,wm())},Ti.apply(t,arguments)}function Am(){var t=bm(mc());return t.copy=function(){return Ui(t,Am()).exponent(t.exponent())},Ti.apply(t,arguments)}function gc(){var t,n,e,r,i,a,o,s=0,u=.5,l=1,c=1,f=Ri,d=!1;function h(m){return isNaN(m=+m)?o:(m=.5+((m=+a(m))-n)*(c*m<c*n?r:i),f(d?Math.max(0,Math.min(1,m)):m))}function p(m){return function(g){var y,v,x;return arguments.length?([y,v,x]=g,f=gm(m,[y,v,x]),h):[f(0),f(.5),f(1)]}}return h.domain=function(m){return arguments.length?([s,u,l]=m,t=a(s=+s),n=a(u=+u),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h):[s,u,l]},h.clamp=function(m){return arguments.length?(d=!!m,h):d},h.interpolator=function(m){return arguments.length?(f=m,h):f},h.range=p(Vs),h.rangeRound=p(Xl),h.unknown=function(m){return arguments.length?(o=m,h):o},function(m){return a=m,t=m(s),n=m(u),e=m(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h}}function _m(){var t=bm(gc());return t.copy=function(){return Ui(t,_m()).exponent(t.exponent())},Ti.apply(t,arguments)}const G9=Fr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),V9=Fr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Y9=Fr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),X9=Fr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),J9=Fr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),K9=Fr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),Q9=Fr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Z9=Fr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),t7=Fr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),n7=Fr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function km(t,n,e){const r=t-n+2*e;return t?r>0?r:1:0}const Bo="linear",ri="log",ru="pow",iu="sqrt",yc="symlog",za="time",Oa="utc",Cr="sequential",zo="diverging",Oo="quantile",vc="quantize",bc="threshold",Dm="ordinal",Fm="point",sw="band",Cm="bin-ordinal",fn="continuous",au="discrete",ou="discretizing",Re="interpolating",Em="temporal";function $m(){const t=qx().unknown(void 0),n=t.domain,e=t.range;let r,i,a=[0,1],o=!1,s=0,u=0,l=.5;function c(){const f=n().length,d=a[1]<a[0],h=a[1-d],p=km(f,s,u);let m=a[d-0];r=(h-m)/(p||1),o&&(r=Math.floor(r)),m+=(h-m-r*(f-s))*l,i=r*(1-s),o&&(m=Math.round(m),i=Math.round(i));const g=xe(f).map(y=>m+r*y);return e(d?g.reverse():g)}return delete t.unknown,t.domain=function(f){return arguments.length?(n(f),c()):n()},t.range=function(f){return arguments.length?(a=[+f[0],+f[1]],c()):a.slice()},t.rangeRound=function(f){return a=[+f[0],+f[1]],o=!0,c()},t.bandwidth=function(){return i},t.step=function(){return r},t.round=function(f){return arguments.length?(o=!!f,c()):o},t.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),s=u,c()):s},t.paddingInner=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},t.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},t.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},t.invertRange=function(f){if(f[0]==null||f[1]==null)return;const d=a[1]<a[0],h=d?e().reverse():e(),p=h.length-1;let m,g,y,v=+f[0],x=+f[1];return v!=v||x!=x||(x<v&&(y=v,v=x,x=y),x<h[0]||v>a[1-d])?void 0:(m=Math.max(0,Ea(h,v)-1),g=v===x?m:Ea(h,x)-1,v-h[m]>i+1e-10&&++m,d&&(y=m,m=p-g,g=p-y),m>g?void 0:n().slice(m,g+1))},t.invert=function(f){const d=t.invertRange([f,f]);return d&&d[0]},t.copy=function(){return $m().domain(n()).range(a).round(o).paddingInner(s).paddingOuter(u).align(l)},c()}function uw(t){const n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return uw(n())},t}var e7=Array.prototype.map;const r7=Array.prototype.slice,xc=new Map,lw=Symbol("vega_scale");function cw(t){return t[lw]=!0,t}function fw(t){return t&&t[lw]===!0}function Dt(t,n,e){return arguments.length>1?(xc.set(t,function(r,i,a){const o=function(){const s=i();return s.invertRange||(s.invertRange=s.invert?function(u){return function(l){let c,f=l[0],d=l[1];return d<f&&(c=f,f=d,d=c),[u.invert(f),u.invert(d)]}}(s):s.invertExtent?function(u){return function(l){const c=u.range();let f,d,h,p,m=l[0],g=l[1],y=-1;for(g<m&&(d=m,m=g,g=d),h=0,p=c.length;h<p;++h)c[h]>=m&&c[h]<=g&&(y<0&&(y=h),f=h);if(!(y<0))return m=u.invertExtent(c[y]),g=u.invertExtent(c[f]),[m[0]===void 0?m[1]:m[0],g[1]===void 0?g[0]:g[1]]}}(s):void 0),s.type=r,cw(s)};return o.metadata=Dr(K(a)),o}(t,n,e)),this):dw(t)?xc.get(t):void 0}function dw(t){return xc.has(t)}function Na(t,n){const e=xc.get(t);return e&&e.metadata[n]}function Sm(t){return Na(t,fn)}function No(t){return Na(t,au)}function Mm(t){return Na(t,ou)}function hw(t){return Na(t,ri)}function pw(t){return Na(t,Re)}function mw(t){return Na(t,Oo)}Dt("identity",function t(n){var e;function r(i){return i==null||isNaN(i=+i)?e:i}return r.invert=r,r.domain=r.range=function(i){return arguments.length?(n=Array.from(i,Tx),r):n.slice()},r.unknown=function(i){return arguments.length?(e=i,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,Tx):[0,1],Eo(r)}),Dt(Bo,l8,fn),Dt(ri,function t(){const n=ym(dp()).domain([1,10]);return n.copy=()=>hp(n,t()).base(n.base()),$a.apply(n,arguments),n},[fn,ri]),Dt(ru,xm,fn),Dt(iu,function(){return xm.apply(null,arguments).exponent(.5)},fn),Dt(yc,function t(){var n=vm(dp());return n.copy=function(){return hp(n,t()).constant(n.constant())},$a.apply(n,arguments)},fn),Dt(za,n8,[fn,Em]),Dt(Oa,function(){return $a.apply(Q6(t8,Z6,A6,w6,x6,b6,v6,y6,g6,m6).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[fn,Em]),Dt(Cr,wm,[fn,Re]),Dt(`${Cr}-${Bo}`,wm,[fn,Re]),Dt(`${Cr}-${ri}`,function t(){var n=ym(mc()).domain([1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Cr}-${ru}`,Am,[fn,Re]),Dt(`${Cr}-${iu}`,function(){return Am.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Cr}-${yc}`,function t(){var n=vm(mc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${zo}-${Bo}`,function t(){var n=Eo(gc()(Ri));return n.copy=function(){return Ui(n,t())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${zo}-${ri}`,function t(){var n=ym(gc()).domain([.1,1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${zo}-${ru}`,_m,[fn,Re]),Dt(`${zo}-${iu}`,function(){return _m.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${zo}-${yc}`,function t(){var n=vm(gc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(Oo,function t(){var n,e=[],r=[],i=[];function a(){var s=0,u=Math.max(1,r.length);for(i=new Array(u-1);++s<u;)i[s-1]=Vx(e,s/u);return o}function o(s){return s==null||isNaN(s=+s)?n:r[Ea(i,s)]}return o.invertExtent=function(s){var u=r.indexOf(s);return u<0?[NaN,NaN]:[u>0?i[u-1]:e[0],u<i.length?i[u]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let u of s)u==null||isNaN(u=+u)||e.push(u);return e.sort(Ws),a()},o.range=function(s){return arguments.length?(r=Array.from(s),a()):r.slice()},o.unknown=function(s){return arguments.length?(n=s,o):n},o.quantiles=function(){return i.slice()},o.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(o,arguments)},[ou,Oo]),Dt(vc,function t(){var n,e=0,r=1,i=1,a=[.5],o=[0,1];function s(l){return l!=null&&l<=l?o[Ea(a,l,0,i)]:n}function u(){var l=-1;for(a=new Array(i);++l<i;)a[l]=((l+1)*r-(l-i)*e)/(i+1);return s}return s.domain=function(l){return arguments.length?([e,r]=l,e=+e,r=+r,u()):[e,r]},s.range=function(l){return arguments.length?(i=(o=Array.from(l)).length-1,u()):o.slice()},s.invertExtent=function(l){var c=o.indexOf(l);return c<0?[NaN,NaN]:c<1?[e,a[0]]:c>=i?[a[i-1],r]:[a[c-1],a[c]]},s.unknown=function(l){return arguments.length&&(n=l),s},s.thresholds=function(){return a.slice()},s.copy=function(){return t().domain([e,r]).range(o).unknown(n)},$a.apply(Eo(s),arguments)},ou),Dt(bc,function t(){var n,e=[.5],r=[0,1],i=1;function a(o){return o!=null&&o<=o?r[Ea(e,o,0,i)]:n}return a.domain=function(o){return arguments.length?(e=Array.from(o),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(o){return arguments.length?(r=Array.from(o),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(o){var s=r.indexOf(o);return[e[s-1],e[s]]},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(a,arguments)},ou),Dt(Cm,function t(){let n=[],e=[];function r(i){return i==null||i!=i?void 0:e[(Ea(n,i)-1)%e.length]}return r.domain=function(i){return arguments.length?(n=function(a){return e7.call(a,ze)}(i),r):n.slice()},r.range=function(i){return arguments.length?(e=r7.call(i),r):e.slice()},r.tickFormat=function(i,a){return c8(n[0],Bt(n),i??10,a)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[au,ou]),Dt(Dm,qx,au),Dt(sw,$m,au),Dt(Fm,function(){return uw($m().paddingInner(1))},au);const i7=["clamp","base","constant","exponent"];function gw(t,n){const e=n[0],r=Bt(n)-e;return function(i){return t(e+i*r)}}function wc(t,n,e){return gm(Bm(n||"rgb",e),t)}function yw(t,n){const e=new Array(n),r=n+1;for(let i=0;i<n;)e[i]=t(++i/r);return e}function vw(t,n,e){const r=e-n;let i,a,o;return r&&Number.isFinite(r)?(i=(a=t.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=Dt(a)().domain([n,e]).range([0,1]),i7.forEach(s=>t[s]?o[s](t[s]()):0),o):In(.5)}function Bm(t,n){const e=L9[function(r){return"interpolate"+r.toLowerCase().split("-").map(i=>i[0].toUpperCase()+i.slice(1)).join("")}(t)];return n!=null&&e&&e.gamma?e.gamma(n):e}function bw(t){if(P(t))return t;const n=t.length/6|0,e=new Array(n);for(let r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function xw(t,n){for(const e in t)zm(e,n(t[e]))}const ww={};function zm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(ww[t]=n,this):ww[t]}xw({accent:V9,category10:G9,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Y9,observable10:X9,paired:J9,pastel1:K9,pastel2:Q9,set1:Z9,set2:t7,set3:n7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},bw),xw({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"},t=>wc(bw(t)));const Ac="symbol",a7=t=>P(t)?t.map(n=>String(n)):String(t),o7=(t,n)=>t[1]-n[1],s7=(t,n)=>n[1]-t[1];function Om(t,n,e){let r;return $t(n)&&(t.bins&&(n=Math.max(n,t.bins.length)),e!=null&&(n=Math.min(n,Math.floor(Gl(t.domain())/e||1)+1))),Z(n)&&(r=n.step,n=n.interval),Q(n)&&(n=t.type===za?np(n):t.type==Oa?tp(n):j("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function Aw(t,n,e){let r=t.range(),i=r[0],a=Bt(r),o=o7;if(i>a&&(r=a,a=i,i=r,o=s7),i=Math.floor(i),a=Math.ceil(a),n=n.map(s=>[s,t(s)]).filter(s=>i<=s[1]&&s[1]<=a).sort(o).map(s=>s[0]),e>0&&n.length>1){const s=[n[0],Bt(n)];for(;n.length>e&&n.length>=3;)n=n.filter((u,l)=>!(l%2));n.length<3&&(n=s)}return n}function Nm(t,n){return t.bins?Aw(t,t.bins,n):t.ticks?t.ticks(n):t.domain()}function _w(t,n,e,r,i,a){const o=n.type;let s=a7;if(o===za||i===za)s=t.timeFormat(r);else if(o===Oa||i===Oa)s=t.utcFormat(r);else if(hw(o)){const u=t.formatFloat(r);if(a||n.bins)s=u;else{const l=kw(n,e,!1);s=c=>l(c)?u(c):""}}else if(n.tickFormat){const u=n.domain();s=t.formatSpan(u[0],u[u.length-1],e,r)}else r&&(s=t.format(r));return s}function kw(t,n,e){const r=Nm(t,n),i=t.base(),a=Math.log(i),o=Math.max(1,i*n/r.length),s=u=>{let l=u/Math.pow(i,Math.round(Math.log(u)/a));return l*i<i-.5&&(l*=i),l<=o};return e?r.filter(s):s}const Rm={[Oo]:"quantiles",[vc]:"thresholds",[bc]:"domain"},Dw={[Oo]:"quantiles",[vc]:"domain"};function Fw(t,n){return t.bins?function(e){const r=e.slice(0,-1);return r.max=Bt(e),r}(t.bins):t.type===ri?kw(t,n,!0):Rm[t.type]?function(e){const r=[-1/0].concat(e);return r.max=1/0,r}(t[Rm[t.type]]()):Nm(t,n)}function Cw(t,n,e,r,i,a,o){const s=Dw[n.type]&&a!==za&&a!==Oa?function(u,l,c){const f=l[Dw[l.type]](),d=f.length;let h,p=d>1?f[1]-f[0]:f[0];for(h=1;h<d;++h)p=Math.min(p,f[h]-f[h-1]);return u.formatSpan(0,p,30,c)}(t,n,i):_w(t,n,e,i,a,o);return r===Ac&&(u=>Rm[u.type]||u.bins)(n)?u7(s):r==="discrete"?l7(s):c7(s)}const u7=t=>(n,e,r)=>{const i=Ew(r[e+1],Ew(r.max,1/0)),a=$w(n,t),o=$w(i,t);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Ew=(t,n)=>t??n,l7=t=>(n,e)=>e?t(n):null,c7=t=>n=>t(n),$w=(t,n)=>Number.isFinite(t)?n(t):null;function f7(t,n,e,r){const i=r||n.type;return Q(e)&&function(a){return Na(a,Em)}(i)&&(e=e.replace(/%a/g,"%A").replace(/%b/g,"%B")),e||i!==za?e||i!==Oa?Cw(t,n,5,null,e,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function Sw(t,n,e){e=e||{};const r=Math.max(3,e.maxlen||7),i=f7(t,n,e.format,e.formatType);if(Mm(n.type)){const a=Fw(n).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}if(No(n.type)){const a=n.domain(),o=a.length;return`${o} value${o===1?"":"s"}: ${o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ")}`}{const a=n.domain();return`values from ${i(a[0])} to ${i(Bt(a))}`}}let Mw=0;const _c="p_";function Tm(t){return t&&t.gradient}function Bw(t,n,e){const r=t.gradient;let i=t.id,a=r==="radial"?_c:"";return i||(i=t.id="gradient_"+Mw++,r==="radial"?(t.x1=Er(t.x1,.5),t.y1=Er(t.y1,.5),t.r1=Er(t.r1,0),t.x2=Er(t.x2,.5),t.y2=Er(t.y2,.5),t.r2=Er(t.r2,.5),a=_c):(t.x1=Er(t.x1,0),t.y1=Er(t.y1,0),t.x2=Er(t.x2,1),t.y2=Er(t.y2,0))),n[i]=t,"url("+(e||"")+"#"+a+i+")"}function Er(t,n){return t??n}function zw(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(i,a){return r.push({offset:i,color:a}),e}}}const Ow={basis:{curve:Z8},"basis-closed":{curve:Q8},"basis-open":{curve:K8},bundle:{curve:J8,tension:"beta",value:.85},cardinal:{curve:X8,tension:"tension",value:0},"cardinal-open":{curve:Y8,tension:"tension",value:0},"cardinal-closed":{curve:V8,tension:"tension",value:0},"catmull-rom":{curve:G8,tension:"alpha",value:.5},"catmull-rom-closed":{curve:H8,tension:"alpha",value:.5},"catmull-rom-open":{curve:W8,tension:"alpha",value:.5},linear:{curve:Ix},"linear-closed":{curve:I8},monotone:{horizontal:U8,vertical:q8},natural:{curve:L8},step:{curve:j8},"step-after":{curve:P8},"step-before":{curve:T8}};function Pm(t,n,e){var r=tt(Ow,t)&&Ow[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&e!=null&&(i=i[r.tension](e))),i}const d7={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},h7=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,p7=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,m7=/^((\s+,?\s*)|(,\s*))/,g7=/^[01]/;function Ro(t){const n=[];return(t.match(h7)||[]).forEach(e=>{let r=e[0];const i=r.toLowerCase(),a=d7[i],o=function(u,l,c){const f=[];for(let d=0;l&&d<c.length;)for(let h=0;h<l;++h){const p=u!=="a"||h!==3&&h!==4?p7:g7,m=c.slice(d).match(p);if(m===null)throw Error("Invalid SVG path, incorrect parameter type");d+=m[0].length,f.push(+m[0]);const g=c.slice(d).match(m7);g!==null&&(d+=g[0].length)}return f}(i,a,e.slice(1).trim()),s=o.length;if(s<a||s&&s%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(n.push([r,...o.slice(0,a)]),s!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<s;u+=a)n.push([r,...o.slice(u,u+a)])}}),n}const Ii=Math.PI/180,Ra=Math.PI/2,$r=2*Math.PI,To=Math.sqrt(3)/2;var jm={},Lm={},Nw=[].join;function y7(t){const n=Nw.call(t);if(Lm[n])return Lm[n];var e=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7];const c=l*o,f=-u*s,d=u*o,h=l*s,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),x=Math.sin(.5*v),b=8/3*x*x/Math.sin(v),w=e+p-b*m,A=r+m+b*p,_=e+g,k=r+y,F=_+b*y,C=k-b*g;return Lm[n]=[c*w+f*A,d*w+h*A,c*F+f*C,d*F+h*C,c*_+f*k,d*_+h*k]}const Te=["l",0,0,0,0,0,0,0];function v7(t,n,e){const r=Te[0]=t[0];if(r==="a"||r==="A")Te[1]=n*t[1],Te[2]=e*t[2],Te[3]=t[3],Te[4]=t[4],Te[5]=t[5],Te[6]=n*t[6],Te[7]=e*t[7];else if(r==="h"||r==="H")Te[1]=n*t[1];else if(r==="v"||r==="V")Te[1]=e*t[1];else for(var i=1,a=t.length;i<a;++i)Te[i]=(i%2==1?n:e)*t[i];return Te}function su(t,n,e,r,i,a){var o,s,u,l,c,f=null,d=0,h=0,p=0,m=0,g=0,y=0;e==null&&(e=0),r==null&&(r=0),i==null&&(i=1),a==null&&(a=i),t.beginPath&&t.beginPath();for(var v=0,x=n.length;v<x;++v){switch(o=n[v],i===1&&a===1||(o=v7(o,i,a)),o[0]){case"l":d+=o[1],h+=o[2],t.lineTo(d+e,h+r);break;case"L":d=o[1],h=o[2],t.lineTo(d+e,h+r);break;case"h":d+=o[1],t.lineTo(d+e,h+r);break;case"H":d=o[1],t.lineTo(d+e,h+r);break;case"v":h+=o[1],t.lineTo(d+e,h+r);break;case"V":h=o[1],t.lineTo(d+e,h+r);break;case"m":g=d+=o[1],y=h+=o[2],t.moveTo(d+e,h+r);break;case"M":g=d=o[1],y=h=o[2],t.moveTo(d+e,h+r);break;case"c":s=d+o[5],u=h+o[6],p=d+o[3],m=h+o[4],t.bezierCurveTo(d+o[1]+e,h+o[2]+r,p+e,m+r,s+e,u+r),d=s,h=u;break;case"C":d=o[5],h=o[6],p=o[3],m=o[4],t.bezierCurveTo(o[1]+e,o[2]+r,p+e,m+r,d+e,h+r);break;case"s":s=d+o[3],u=h+o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,d+o[1]+e,h+o[2]+r,s+e,u+r),p=d+o[1],m=h+o[2],d=s,h=u;break;case"S":s=o[3],u=o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"q":s=d+o[3],u=h+o[4],p=d+o[1],m=h+o[2],t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"Q":s=o[3],u=o[4],t.quadraticCurveTo(o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"t":s=d+o[1],u=h+o[2],f[0].match(/[QqTt]/)===null?(p=d,m=h):f[0]==="t"?(p=2*d-l,m=2*h-c):f[0]==="q"&&(p=2*d-p,m=2*h-m),l=p,c=m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),h=u,p=(d=s)+o[1],m=h+o[2];break;case"T":s=o[1],u=o[2],p=2*d-p,m=2*h-m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"a":Rw(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+d+e,o[7]+h+r]),d+=o[6],h+=o[7];break;case"A":Rw(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+e,o[7]+r]),d=o[6],h=o[7];break;case"z":case"Z":d=g,h=y,t.closePath()}f=o}}function Rw(t,n,e,r){const i=function(a,o,s,u,l,c,f,d,h){const p=Nw.call(arguments);if(jm[p])return jm[p];const m=f*Ii,g=Math.sin(m),y=Math.cos(m),v=y*(d-a)*.5+g*(h-o)*.5,x=y*(h-o)*.5-g*(d-a)*.5;let b=v*v/((s=Math.abs(s))*s)+x*x/((u=Math.abs(u))*u);b>1&&(b=Math.sqrt(b),s*=b,u*=b);const w=y/s,A=g/s,_=-g/u,k=y/u,F=w*d+A*h,C=_*d+k*h,D=w*a+A*o,E=_*a+k*o;let $=1/((D-F)*(D-F)+(E-C)*(E-C))-.25;$<0&&($=0);let M=Math.sqrt($);c==l&&(M=-M);const S=.5*(F+D)-M*(E-C),B=.5*(C+E)+M*(D-F),z=Math.atan2(C-B,F-S);let N=Math.atan2(E-B,D-S)-z;N<0&&c===1?N+=$r:N>0&&c===0&&(N-=$r);const W=Math.ceil(Math.abs(N/(Ra+.001))),X=[];for(let L=0;L<W;++L){const et=z+L*N/W,ot=z+(L+1)*N/W;X[L]=[S,B,et,ot,s,u,g,y]}return jm[p]=X}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e);for(let a=0;a<i.length;++a){const o=y7(i[a]);t.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}const Tw=.5773502691896257,Pw={circle:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,$r)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e,i=r-e*Tw,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e,i=r-e*Tw;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function jw(t){return tt(Pw,t)?Pw[t]:function(n){if(!tt(qm,n)){const e=Ro(n);qm[n]={draw:function(r,i){su(r,e,0,0,Math.sqrt(i)/2)}}}return qm[n]}(t)}var qm={};const Wi=.448084975506;function b7(t){return t.x}function x7(t){return t.y}function w7(t){return t.width}function A7(t){return t.height}function ii(t){return typeof t=="function"?t:()=>+t}function kc(t,n,e){return Math.max(n,Math.min(t,e))}function Lw(){var t=b7,n=x7,e=w7,r=A7,i=ii(0),a=i,o=i,s=i,u=null;function l(c,f,d){var h,p=f??+t.call(this,c),m=d??+n.call(this,c),g=+e.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,x=kc(+i.call(this,c),0,v),b=kc(+a.call(this,c),0,v),w=kc(+o.call(this,c),0,v),A=kc(+s.call(this,c),0,v);if(u||(u=h=gp()),x<=0&&b<=0&&w<=0&&A<=0)u.rect(p,m,g,y);else{var _=p+g,k=m+y;u.moveTo(p+x,m),u.lineTo(_-b,m),u.bezierCurveTo(_-Wi*b,m,_,m+Wi*b,_,m+b),u.lineTo(_,k-A),u.bezierCurveTo(_,k-Wi*A,_-Wi*A,k,_-A,k),u.lineTo(p+w,k),u.bezierCurveTo(p+Wi*w,k,p,k-Wi*w,p,k-w),u.lineTo(p,m+x),u.bezierCurveTo(p,m+Wi*x,p+Wi*x,m,p+x,m),u.closePath()}if(h)return u=null,h+""||null}return l.x=function(c){return arguments.length?(t=ii(c),l):t},l.y=function(c){return arguments.length?(n=ii(c),l):n},l.width=function(c){return arguments.length?(e=ii(c),l):e},l.height=function(c){return arguments.length?(r=ii(c),l):r},l.cornerRadius=function(c,f,d,h){return arguments.length?(i=ii(c),a=f!=null?ii(f):i,s=d!=null?ii(d):i,o=h!=null?ii(h):a,l):i},l.context=function(c){return arguments.length?(u=c??null,l):u},l}function qw(){var t,n,e,r,i,a,o,s,u=null;function l(f,d,h){const p=h/2;if(i){var m=o-d,g=f-a;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,x=(g/=y)*s,b=Math.atan2(g,m);u.moveTo(a-v,o-x),u.lineTo(f-m*p,d-g*p),u.arc(f,d,p,b-Math.PI,b),u.lineTo(a+v,o+x),u.arc(a,o,s,b,b+Math.PI)}else u.arc(f,d,p,0,$r);u.closePath()}else i=1;a=f,o=d,s=p}function c(f){var d,h,p,m=f.length,g=!1;for(u==null&&(u=p=gp()),d=0;d<=m;++d)!(d<m&&r(h=f[d],d,f))===g&&(g=!g)&&(i=0),g&&l(+t(h,d,f),+n(h,d,f),+e(h,d,f));if(p)return u=null,p+""||null}return c.x=function(f){return arguments.length?(t=f,c):t},c.y=function(f){return arguments.length?(n=f,c):n},c.size=function(f){return arguments.length?(e=f,c):e},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(u=f??null,c):u},c}function uu(t,n){return t??n}const lu=t=>t.x||0,cu=t=>t.y||0,Dc=t=>t.defined!==!1,_7=t9().startAngle(t=>t.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),k7=Y2().x(lu).y1(cu).y0(t=>(t.y||0)+(t.height||0)).defined(Dc),D7=Y2().y(cu).x1(lu).x0(t=>(t.x||0)+(t.width||0)).defined(Dc),F7=Wx().x(lu).y(cu).defined(Dc),C7=Lw().x(lu).y(cu).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>uu(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>uu(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>uu(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>uu(t.cornerRadiusBottomLeft,t.cornerRadius)||0),E7=function(t,n){let e=null,r=Ux(i);function i(){let a;if(e||(e=a=r()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),a)return e=null,a+""||null}return t=typeof t=="function"?t:Hn(t||O9),n=typeof n=="function"?n:Hn(n===void 0?64:+n),i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Hn(a),i):t},i.size=function(a){return arguments.length?(n=typeof a=="function"?a:Hn(+a),i):n},i.context=function(a){return arguments.length?(e=a??null,i):e},i}().type(t=>jw(t.shape||"circle")).size(t=>uu(t.size,64)),$7=qw().x(lu).y(cu).defined(Dc).size(t=>t.size||1);function Um(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function Po(t,n,e,r){return C7.context(t)(n,e,r)}var Uw=1;function Iw(){Uw=1}function Im(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Uw++),o=i.clipping[a]||(i.clipping[a]={id:a});return bt(r)?o.path=r(null):Um(e)?o.path=Po(null,e,0,0):(o.width=e.width||0,o.height=e.height||0),"url(#"+a+")"}function cn(t){this.clear(),t&&this.union(t)}function Fc(t){this.mark=t,this.bounds=this.bounds||new cn}function Cc(t){Fc.call(this,t),this.items=this.items||[]}cn.prototype={clone(){return new cn(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(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},add(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},expand(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,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(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},translate(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},rotate(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(t,n,e){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(t),u=Math.sin(t),l=n-n*s+e*u,c=e-n*u-e*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*o+l,u*r+s*o+c,s*a-u*i+l,u*a+s*i+c,s*a-u*o+l,u*a+s*o+c]},union(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},intersect(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},V(Cc,Fc);class Ww{constructor(n){this._pending=0,this._loader=n||Hl()}pending(){return this._pending}sanitizeURL(n){const e=this;return Hw(e),e._loader.sanitize(n,{context:"href"}).then(r=>(fu(e),r)).catch(()=>(fu(e),null))}loadImage(n){const e=this,r=N9();return Hw(e),e._loader.sanitize(n,{context:"image"}).then(i=>{const a=i.href;if(!a||!r)throw{url:a};const o=new r,s=tt(i,"crossOrigin")?i.crossOrigin:"anonymous";return s!=null&&(o.crossOrigin=s),o.onload=()=>fu(e),o.onerror=()=>fu(e),o.src=a,o}).catch(i=>(fu(e),{complete:!1,width:0,height:0,src:i&&i.url||""}))}ready(){const n=this;return new Promise(e=>{(function r(i){n.pending()?setTimeout(()=>{r(!0)},10):e(i)})(!1)})}}function Hw(t){t._pending+=1}function fu(t){t._pending-=1}function ai(t,n,e){if(n.stroke&&n.opacity!==0&&n.strokeOpacity!==0){const r=n.strokeWidth!=null?+n.strokeWidth:1;t.expand(r+(e?function(i,a){return i.strokeJoin&&i.strokeJoin!=="miter"?0:a}(n,r):0))}return t}const S7=$r-1e-8;let Ec,$c,Sc,Ta,Wm,Mc,Hm,Gm;const Hi=(t,n)=>Ec.add(t,n),Bc=(t,n)=>Hi($c=t,Sc=n),Gw=t=>Hi(t,Ec.y1),Vw=t=>Hi(Ec.x1,t),Pa=(t,n)=>Wm*t+Hm*n,ja=(t,n)=>Mc*t+Gm*n,Vm=(t,n)=>Hi(Pa(t,n),ja(t,n)),Ym=(t,n)=>Bc(Pa(t,n),ja(t,n));function du(t,n){return Ec=t,n?(Ta=n*Ii,Wm=Gm=Math.cos(Ta),Mc=Math.sin(Ta),Hm=-Mc):(Wm=Gm=1,Ta=Mc=Hm=0),M7}const M7={beginPath(){},closePath(){},moveTo:Ym,lineTo:Ym,rect(t,n,e,r){Ta?(Vm(t+e,n),Vm(t+e,n+r),Vm(t,n+r),Ym(t,n)):(Hi(t+e,n+r),Bc(t,n))},quadraticCurveTo(t,n,e,r){const i=Pa(t,n),a=ja(t,n),o=Pa(e,r),s=ja(e,r);Yw($c,i,o,Gw),Yw(Sc,a,s,Vw),Bc(o,s)},bezierCurveTo(t,n,e,r,i,a){const o=Pa(t,n),s=ja(t,n),u=Pa(e,r),l=ja(e,r),c=Pa(i,a),f=ja(i,a);Xw($c,o,u,c,Gw),Xw(Sc,s,l,f,Vw),Bc(c,f)},arc(t,n,e,r,i,a){if(r+=Ta,i+=Ta,$c=e*Math.cos(i)+t,Sc=e*Math.sin(i)+n,Math.abs(i-r)>S7)Hi(t-e,n-e),Hi(t+e,n+e);else{const o=l=>Hi(e*Math.cos(l)+t,e*Math.sin(l)+n);let s,u;if(o(r),o(i),i!==r)if((r%=$r)<0&&(r+=$r),(i%=$r)<0&&(i+=$r),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=$r,s=r-r%Ra,u=0;u<4&&s>i;++u,s-=Ra)o(s);else for(s=r-r%Ra+Ra,u=0;u<4&&s<i;++u,s+=Ra)o(s)}}};function Yw(t,n,e,r){const i=(t-n)/(t+e-2*n);0<i&&i<1&&r(t+(n-t)*i)}function Xw(t,n,e,r,i){const a=r-t+3*n-3*e,o=t+e-2*n,s=t-n;let u,l=0,c=0;Math.abs(a)>1e-14?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),l=(-o+u)/a,c=(-o-u)/a)):l=.5*s/o,0<l&&l<1&&i(Jw(l,t,n,e,r)),0<c&&c<1&&i(Jw(c,t,n,e,r))}function Jw(t,n,e,r,i){const a=1-t,o=a*a,s=t*t;return o*a*n+3*o*t*e+3*a*s*r+s*t*i}var Gi=(Gi=qi(1,1))?Gi.getContext("2d"):null;const Xm=new cn;function Jm(t){return function(n,e){if(!Gi)return!0;t(Gi,n),Xm.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:o}=Xm;for(let s=i;s<=o;++s)for(let u=r;u<=a;++u)if(Gi.isPointInPath(u,s))return!0;return!1}}function Km(t,n){return n.contains(t.x||0,t.y||0)}function Kw(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(Xm.set(e,r,e+i,r+a))}function Qw(t,n){const e=t.x||0,r=t.y||0;return jo(n,e,r,t.x2!=null?t.x2:e,t.y2!=null?t.y2:r)}function jo(t,n,e,r,i){const{x1:a,y1:o,x2:s,y2:u}=t,l=r-n,c=i-e;let f,d,h,p,m=0,g=1;for(p=0;p<4;++p){if(p===0&&(f=-l,d=-(a-n)),p===1&&(f=l,d=s-n),p===2&&(f=-c,d=-(o-e)),p===3&&(f=c,d=u-e),Math.abs(f)<1e-10&&d<0)return!1;if(h=d/f,f<0){if(h>g)return!1;h>m&&(m=h)}else if(f>0){if(h<m)return!1;h<g&&(g=h)}}return!0}function Lo(t,n){t.globalCompositeOperation=n.blend||"source-over"}function Ke(t,n){return t??n}function Zw(t,n){const e=n.length;for(let r=0;r<e;++r)t.addColorStop(n[r].offset,n[r].color);return t}function tA(t,n,e){return Tm(e)?function(r,i,a){const o=a.width(),s=a.height();let u;if(i.gradient==="radial")u=r.createRadialGradient(a.x1+Ke(i.x1,.5)*o,a.y1+Ke(i.y1,.5)*s,Math.max(o,s)*Ke(i.r1,0),a.x1+Ke(i.x2,.5)*o,a.y1+Ke(i.y2,.5)*s,Math.max(o,s)*Ke(i.r2,.5));else{const l=Ke(i.x1,0),c=Ke(i.y1,0),f=Ke(i.x2,1),d=Ke(i.y2,0);if(l!==f&&c!==d&&o!==s){const h=qi(Math.ceil(o),Math.ceil(s)),p=h.getContext("2d");return p.scale(o,s),p.fillStyle=Zw(p.createLinearGradient(l,c,f,d),i.stops),p.fillRect(0,0,o,s),r.createPattern(h,"no-repeat")}u=r.createLinearGradient(a.x1+l*o,a.y1+c*s,a.x1+f*o,a.y1+d*s)}return Zw(u,i.stops)}(t,e,n.bounds):e}function zc(t,n,e){return(e*=n.fillOpacity==null?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=tA(t,n,n.fill),!0)}var B7=[];function qo(t,n,e){var r=(r=n.strokeWidth)!=null?r:1;return!(r<=0)&&(e*=n.strokeOpacity==null?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=tA(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||B7),t.lineDashOffset=n.strokeDashOffset||0),!0)}function z7(t,n){return t.zindex-n.zindex||t.index-n.index}function Qm(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(z7)}function Qe(t,n){var e,r,i=t.items;if(!i||!i.length)return;const a=Qm(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}function Oc(t,n){var e,r,i=t.items;if(!i||!i.length)return null;const a=Qm(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a){for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e}return null}function Zm(t){return function(n,e,r){Qe(e,i=>{r&&!r.intersects(i.bounds)||nA(t,n,i,i)})}}function O7(t){return function(n,e,r){!e.items.length||r&&!r.intersects(e.bounds)||nA(t,n,e.items[0],e.items)}}function nA(t,n,e,r){var i=e.opacity==null?1:e.opacity;i!==0&&(t(n,r)||(Lo(n,e),e.fill&&zc(n,e,i)&&n.fill(),e.stroke&&qo(n,e,i)&&n.stroke()))}function Nc(t){return t=t||Be,function(n,e,r,i,a,o){return r*=n.pixelRatio,i*=n.pixelRatio,Oc(e,s=>{const u=s.bounds;if((!u||u.contains(a,o))&&u)return t(n,s,r,i,a,o)?s:void 0})}}function hu(t,n){return function(e,r,i,a){var o,s,u=Array.isArray(r)?r[0]:r,l=n??u.fill,c=u.stroke&&e.isPointInStroke;return c&&(o=u.strokeWidth,s=u.strokeCap,e.lineWidth=o??1,e.lineCap=s??"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function t0(t){return Nc(hu(t))}function La(t,n){return"translate("+t+","+n+")"}function n0(t){return"rotate("+t+")"}function eA(t){return La(t.x||0,t.y||0)}function e0(t,n,e){function r(i,a){var o=a.x||0,s=a.y||0,u=a.angle||0;i.translate(o,s),u&&i.rotate(u*=Ii),i.beginPath(),n(i,a),u&&i.rotate(-u),i.translate(-o,-s)}return{type:t,tag:"path",nested:!1,attr:function(i,a){i("transform",function(o){return La(o.x||0,o.y||0)+(o.angle?" "+n0(o.angle):"")}(a)),i("d",n(null,a))},bound:function(i,a){return n(du(i,a.angle),a),ai(i,a).translate(a.x||0,a.y||0)},draw:Zm(r),pick:t0(r),isect:e||Jm(r)}}var N7=e0("arc",function(t,n){return _7.context(t)(n)});function r0(t,n,e){function r(a,o){a.beginPath(),n(a,o)}const i=hu(r);return{type:t,tag:"path",nested:!0,attr:function(a,o){var s=o.mark.items;s.length&&a("d",n(null,s))},bound:function(a,o){var s=o.items;return s.length===0?a:(n(du(a),s),ai(a,s[0]))},draw:O7(r),pick:function(a,o,s,u,l,c){var f=o.items,d=o.bounds;return!f||!f.length||d&&!d.contains(l,c)?null:(s*=a.pixelRatio,u*=a.pixelRatio,i(a,f,s,u)?f[0]:null)},isect:Km,tip:e}}var R7=r0("area",function(t,n){const e=n[0],r=e.interpolate||"linear";return(e.orient==="horizontal"?D7:k7).curve(Pm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=t[0].orient==="horizontal"?n[1]:n[0],a=t[0].orient==="horizontal"?"y":"x",o=t.length,s=1/0;--o>=0;)t[o].defined!==!1&&(r=Math.abs(t[o][a]-i))<s&&(s=r,e=t[o]);return e});function rA(t,n){t.beginPath(),Um(n)?Po(t,n,0,0):t.rect(0,0,n.width||0,n.height||0),t.clip()}function iA(t){const n=Ke(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&n>.5&&n<1.5?.5-Math.abs(n-1):0}function aA(t,n){const e=iA(n);t("d",Po(null,n,e,e))}function pu(t,n,e,r){const i=iA(n);t.beginPath(),Po(t,n,(e||0)+i,(r||0)+i)}const T7=hu(pu),P7=hu(pu,!1),j7=hu(pu,!0);var L7={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",eA(n))},bound:function(t,n){if(!n.clip&&n.items){const e=n.items,r=e.length;for(let i=0;i<r;++i)t.union(e[i].bounds)}return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),ai(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e,r){Qe(n,i=>{const a=i.x||0,o=i.y||0,s=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(pu(t,i,a,o),Lo(t,i),i.fill&&zc(t,i,u)&&t.fill(),i.stroke&&!s&&qo(t,i,u)&&t.stroke()),t.save(),t.translate(a,o),i.clip&&rA(t,i),e&&e.translate(-a,-o),Qe(i,l=>{(l.marktype==="group"||r==null||r.includes(l.marktype))&&this.draw(t,l,e,r)}),e&&e.translate(a,o),t.restore(),s&&i.stroke&&u&&(pu(t,i,a,o),Lo(t,i),qo(t,i,u)&&t.stroke())})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;const o=e*t.pixelRatio,s=r*t.pixelRatio;return Oc(n,u=>{let l,c,f;const d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;const h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(t.save(),t.translate(c,f),c=i-c,f=a-f,m&&Um(u)&&!j7(t,u,o,s))return t.restore(),null;const g=u.strokeForeground,y=n.interactive!==!1;return y&&g&&u.stroke&&P7(t,u,o,s)?(t.restore(),u):(l=Oc(u,v=>function(x,b,w){return(x.interactive!==!1||x.marktype==="group")&&x.bounds&&x.bounds.contains(b,w)}(v,c,f)?this.pick(v,e,r,c,f):null),!l&&y&&(u.fill||!g&&u.stroke)&&T7(t,u,o,s)&&(l=u),t.restore(),l||null)})},isect:Kw,content:function(t,n,e){t("clip-path",n.clip?Im(e,n,n):null)},background:function(t,n){t("class","background"),t("aria-hidden",!0),aA(t,n)},foreground:function(t,n){t("class","foreground"),t("aria-hidden",!0),n.strokeForeground?aA(t,n):t("d","")}},mu={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function i0(t,n){var e=t.image;return(!e||t.url&&t.url!==e.url)&&(e={complete:!1,width:0,height:0},n.loadImage(t.url).then(r=>{t.image=r,t.image.url=t.url})),e}function a0(t,n){return t.width!=null?t.width:n&&n.width?t.aspect!==!1&&t.height?t.height*n.width/n.height:n.width:0}function o0(t,n){return t.height!=null?t.height:n&&n.height?t.aspect!==!1&&t.width?t.width*n.height/n.width:n.height:0}function Rc(t,n){return t==="center"?n/2:t==="right"?n:0}function Tc(t,n){return t==="middle"?n/2:t==="bottom"?n:0}var q7={type:"image",tag:"image",nested:!1,attr:function(t,n,e){const r=i0(n,e),i=a0(n,r),a=o0(n,r),o=(n.x||0)-Rc(n.align,i),s=(n.y||0)-Tc(n.baseline,a);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",mu["xmlns:xlink"],"xlink:href"),t("transform",La(o,s)),t("width",i),t("height",a),t("preserveAspectRatio",n.aspect===!1?"none":"xMidYMid")},bound:function(t,n){const e=n.image,r=a0(n,e),i=o0(n,e),a=(n.x||0)-Rc(n.align,r),o=(n.y||0)-Tc(n.baseline,i);return t.set(a,o,a+r,o+i)},draw:function(t,n,e){Qe(n,r=>{if(e&&!e.intersects(r.bounds))return;const i=i0(r,this);let a=a0(r,i),o=o0(r,i);if(a===0||o===0)return;let s,u,l,c,f=(r.x||0)-Rc(r.align,a),d=(r.y||0)-Tc(r.baseline,o);r.aspect!==!1&&(u=i.width/i.height,l=r.width/r.height,u==u&&l==l&&u!==l&&(l<u?(c=a/u,d+=(o-c)/2,o=c):(c=o*u,f+=(a-c)/2,a=c))),(i.complete||i.toDataURL)&&(Lo(t,r),t.globalAlpha=(s=r.opacity)!=null?s:1,t.imageSmoothingEnabled=r.smooth!==!1,t.drawImage(i,f,d,a,o))})},pick:Nc(),isect:Be,get:i0,xOffset:Rc,yOffset:Tc},U7=r0("line",function(t,n){const e=n[0],r=e.interpolate||"linear";return F7.curve(Pm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(t[a].defined!==!1&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null});function Pc(t,n){var e=n.path;if(e==null)return!0;var r=n.x||0,i=n.y||0,a=n.scaleX||1,o=n.scaleY||1,s=(n.angle||0)*Ii,u=n.pathCache;u&&u.path===e||((n.pathCache=u=Ro(e)).path=e),s&&t.rotate&&t.translate?(t.translate(r,i),t.rotate(s),su(t,u,0,0,a,o),t.rotate(-s),t.translate(-r,-i)):su(t,u,r,i,a,o)}var I7={type:"path",tag:"path",nested:!1,attr:function(t,n){var e=n.scaleX||1,r=n.scaleY||1;e===1&&r===1||t("vector-effect","non-scaling-stroke"),t("transform",function(i){return La(i.x||0,i.y||0)+(i.angle?" "+n0(i.angle):"")+(i.scaleX||i.scaleY?" "+function(a,o){return"scale("+a+","+o+")"}(i.scaleX||1,i.scaleY||1):"")}(n)),t("d",n.path)},bound:function(t,n){return Pc(du(t,n.angle),n)?t.set(0,0,0,0):ai(t,n,!0)},draw:Zm(Pc),pick:t0(Pc),isect:Jm(Pc)};function oA(t,n){t.beginPath(),Po(t,n)}var W7={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",Po(null,n))},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Zm(oA),pick:t0(oA),isect:Kw};function sA(t,n,e){var r,i,a,o;return!(!n.stroke||!qo(t,n,e))&&(r=n.x||0,i=n.y||0,a=n.x2!=null?n.x2:r,o=n.y2!=null?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,o),!0)}var H7={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",eA(n)),t("x2",n.x2!=null?n.x2-(n.x||0):0),t("y2",n.y2!=null?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,n.x2!=null?n.x2:e,n.y2!=null?n.y2:r),n)},draw:function(t,n,e){Qe(n,r=>{if(!e||e.intersects(r.bounds)){var i=r.opacity==null?1:r.opacity;i&&sA(t,r,i)&&(Lo(t,r),t.stroke())}})},pick:Nc(function(t,n,e,r){return!!t.isPointInStroke&&sA(t,n,1)&&t.isPointInStroke(e,r)}),isect:Qw},G7=e0("shape",function(t,n){return(n.mark.shape||n.shape).context(t)(n)}),V7=e0("symbol",function(t,n){return E7.context(t)(n)},Km);const uA=cx();var we={height:Sr,measureWidth:s0,estimateWidth:jc,width:jc,canvas:lA};function lA(t){we.width=t&&Gi?s0:jc}function jc(t,n){return cA(Yi(t,n),Sr(t))}function cA(t,n){return~~(.8*t.length*n)}function s0(t,n){return Sr(t)<=0||!(n=Yi(t,n))?0:fA(n,Lc(t))}function fA(t,n){const e=`(${n}) ${t}`;let r=uA.get(e);return r===void 0&&(Gi.font=n,r=Gi.measureText(t).width,uA.set(e,r)),r}function Sr(t){return t.fontSize!=null?+t.fontSize||0:11}function Vi(t){return t.lineHeight!=null?t.lineHeight:Sr(t)+2}function gu(t){return n=t.lineBreak&&t.text&&!P(t.text)?t.text.split(t.lineBreak):t.text,P(n)?n.length>1?n:n[0]:n;var n}function u0(t){const n=gu(t);return(P(n)?n.length-1:0)*Vi(t)}function Yi(t,n){const e=n==null?"":(n+"").trim();return t.limit>0&&e.length?function(r,i){var a=+r.limit,o=function(d){if(we.width===s0){const h=Lc(d);return p=>fA(p,h)}if(we.width===jc){const h=Sr(d);return p=>cA(p,h)}return h=>we.width(d,h)}(r);if(o(i)<a)return i;var s,u=r.ellipsis||"\u2026",l=r.dir==="rtl",c=0,f=i.length;if(a-=o(u),l){for(;c<f;)s=c+f>>>1,o(i.slice(s))>a?c=s+1:f=s;return u+i.slice(c)}for(;c<f;)s=1+(c+f>>>1),o(i.slice(0,s))<a?c=s:f=s-1;return i.slice(0,c)+u}(t,e):e}function yu(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function Lc(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Sr(t)+"px "+yu(t,n)}function l0(t){var n=t.baseline,e=Sr(t);return Math.round(n==="top"?.79*e:n==="middle"?.3*e:n==="bottom"?-.21*e:n==="line-top"?.29*e+.5*Vi(t):n==="line-bottom"?.29*e-.5*Vi(t):0)}lA(!0);const Y7={left:"start",center:"middle",right:"end"},vu=new cn;function qc(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-Ra,e+=i*Math.cos(n),r+=i*Math.sin(n)),vu.x1=e,vu.y1=r,vu}function c0(t,n,e){var r,i=we.height(n),a=n.align,o=qc(n),s=o.x1,u=o.y1,l=n.dx||0,c=(n.dy||0)+l0(n)-Math.round(.8*i),f=gu(n);if(P(f)?(i+=Vi(n)*(f.length-1),r=f.reduce((d,h)=>Math.max(d,we.width(n,h)),0)):r=we.width(n,f),a==="center"?l-=r/2:a==="right"&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),n.angle&&!e)t.rotate(n.angle*Ii,s,u);else if(e===2)return t.rotatedPoints(n.angle*Ii,s,u);return t}var X7={type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+l0(n),a=qc(n),o=a.x1,s=a.y1,u=n.angle||0;t("text-anchor",Y7[n.align]||"start"),u?(e=La(o,s)+" "+n0(u),(r||i)&&(e+=" "+La(r,i))):e=La(o+r,s+i),t("transform",e)},bound:c0,draw:function(t,n,e){Qe(n,r=>{var i,a,o,s,u,l,c,f=r.opacity==null?1:r.opacity;if(!(e&&!e.intersects(r.bounds)||f===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(t.font=Lc(r),t.textAlign=r.align||"left",a=(i=qc(r)).x1,o=i.y1,r.angle&&(t.save(),t.translate(a,o),t.rotate(r.angle*Ii),a=o=0),a+=r.dx||0,o+=(r.dy||0)+l0(r),l=gu(r),Lo(t,r),P(l))for(u=Vi(r),s=0;s<l.length;++s)c=Yi(r,l[s]),r.fill&&zc(t,r,f)&&t.fillText(c,a,o),r.stroke&&qo(t,r,f)&&t.strokeText(c,a,o),o+=u;else c=Yi(r,l),r.fill&&zc(t,r,f)&&t.fillText(c,a,o),r.stroke&&qo(t,r,f)&&t.strokeText(c,a,o);r.angle&&t.restore()}})},pick:Nc(function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var o=qc(n),s=o.x1,u=o.y1,l=c0(vu,n,1),c=-n.angle*Ii,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(s-f*s+d*u),p=d*i+f*a+(u-d*s-f*u);return l.contains(h,p)}),isect:function(t,n){const e=c0(vu,t,2);return jo(n,e[0],e[1],e[2],e[3])||jo(n,e[0],e[1],e[4],e[5])||jo(n,e[4],e[5],e[6],e[7])||jo(n,e[2],e[3],e[6],e[7])}},J7=r0("trail",function(t,n){return $7.context(t)(n)},function(t,n){for(var e,r,i=t.length;--i>=0;)if(t[i].defined!==!1&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null}),Ae={arc:N7,area:R7,group:L7,image:q7,line:U7,path:I7,rect:W7,rule:H7,shape:G7,symbol:V7,text:X7,trail:J7};function f0(t,n,e){var r=Ae[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new cn),t,e)}var dA={mark:null};function hA(t,n,e){var r,i,a,o,s=Ae[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?a=l[0]:(dA.mark=t,a=dA),o=f0(a,u,e),n=n&&n.union(o)||o;if(n=n||t.bounds&&t.bounds.clear()||new cn,c)for(r=0,i=l.length;r<i;++r)n.union(f0(l[r],u,e));return t.bounds=n}const K7=["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"];function pA(t,n){return JSON.stringify(t,K7,n)}function mA(t){return gA(typeof t=="string"?JSON.parse(t):t)}function gA(t){var n,e,r,i=t.marktype,a=t.items;if(a)for(e=0,r=a.length;e<r;++e)n=i?"mark":"group",a[e][n]=t,a[e].zindex&&(a[e][n].zdirty=!0),(i||n)==="group"&&gA(a[e]);return i&&hA(t),t}class yA{constructor(n){arguments.length?this.root=mA(n):(this.root=vA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Cc(this.root)])}toJSON(n){return pA(this.root,n||0)}mark(n,e,r){const i=vA(n,e=e||this.root.items[0]);return e.items[r]=i,i.zindex&&(i.group.zdirty=!0),i}}function vA(t,n){const e={bounds:new cn,clip:!!t.clip,group:n,interactive:t.interactive!==!1,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0};return t.aria!=null&&(e.aria=t.aria),t.description&&(e.description=t.description),e}function Xi(t,n,e){return!t&&typeof document<"u"&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function d0(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function dn(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Xi(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Pe(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function bA(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Uc(t,n){const e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}class h0{constructor(n,e){this._active=null,this._handlers={},this._loader=n||Hl(),this._tooltip=e||Q7}initialize(n,e,r){return this._el=n,this._obj=r||null,this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(n){return arguments.length?(this._origin=n||[0,0],this):this._origin.slice()}scene(n){return arguments.length?(this._scene=n,this):this._scene}on(){}off(){}_handlerIndex(n,e,r){for(let i=n?n.length:0;--i>=0;)if(n[i].type===e&&(!r||n[i].handler===r))return i;return-1}handlers(n){const e=this._handlers,r=[];if(n)r.push(...e[this.eventName(n)]);else for(const i in e)r.push(...e[i]);return r}eventName(n){const e=n.indexOf(".");return e<0?n:n.slice(0,e)}handleHref(n,e,r){this._loader.sanitize(r,{context:"href"}).then(i=>{const a=new MouseEvent(n.type,n),o=Xi(null,"a");for(const s in i)o.setAttribute(s,i[s]);o.dispatchEvent(a)}).catch(()=>{})}handleTooltip(n,e,r){if(e&&e.tooltip!=null){e=function(a,o,s,u){var l,c,f=a&&a.mark;if(f&&(l=Ae[f.marktype]).tip){for((c=Uc(o,s))[0]-=u[0],c[1]-=u[1];a=a.mark.group;)c[0]-=a.x||0,c[1]-=a.y||0;a=l.tip(f.items,c)}return a}(e,n,this.canvas(),this._origin);const i=r&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,n,e,i)}}getItemBoundingClientRect(n){const e=this.canvas();if(!e)return;const r=e.getBoundingClientRect(),i=this._origin,a=n.bounds,o=a.width(),s=a.height();let u=a.x1+i[0]+r.left,l=a.y1+i[1]+r.top;for(;n.mark&&(n=n.mark.group);)u+=n.x||0,l+=n.y||0;return{x:u,y:l,width:o,height:s,left:u,top:l,right:u+o,bottom:l+s}}}function Q7(t,n,e,r){t.element().setAttribute("title",r||"")}class bu{constructor(n){this._el=null,this._bgcolor=null,this._loader=new Ww(n)}initialize(n,e,r,i,a){return this._el=n,this.resize(e,r,i,a)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(n){return arguments.length===0?this._bgcolor:(this._bgcolor=n,this)}resize(n,e,r,i){return this._width=n,this._height=e,this._origin=r||[0,0],this._scale=i||1,this}dirty(){}render(n,e){const r=this;return r._call=function(){r._render(n,e)},r._call(),r._call=null,r}_render(){}renderAsync(n,e){const r=this.render(n,e);return this._ready?this._ready.then(()=>r):Promise.resolve(r)}_load(n,e){var r=this,i=r._loader[n](e);if(!r._ready){const a=r._call;r._ready=r._loader.ready().then(o=>{o&&a(),r._ready=null})}return i}sanitizeURL(n){return this._load("sanitizeURL",n)}loadImage(n){return this._load("loadImage",n)}}const xA="dragenter",Ic="dragleave",wA="dragover",p0="pointerdown",Wc="pointermove",Hc="pointerout",AA="pointerover",m0="mousedown",_A="mousemove",Gc="mouseout",kA="mouseover",Vc="click",DA="mousewheel",Yc="touchstart",Xc="touchmove",Jc="touchend",Z7=["keydown","keypress","keyup",xA,Ic,wA,p0,"pointerup",Wc,Hc,AA,m0,"mouseup",_A,Gc,kA,Vc,"dblclick","wheel",DA,Yc,Xc,Jc],g0=Wc,xu=Gc,y0=Vc;class wu extends h0{constructor(n,e){super(n,e),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Z7,this.pointermove=CA([Wc,_A],[AA,kA],[Hc,Gc]),this.dragover=CA([wA],[xA],[Ic]),this.pointerout=EA([Hc,Gc]),this.dragleave=EA([Ic])}initialize(n,e,r){return this._canvas=n&&d0(n,"canvas"),[Vc,m0,p0,Wc,Hc,Ic].forEach(i=>FA(this,i)),super.initialize(n,e,r)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(n){this.fire(DA,n)}pointerdown(n){this._down=this._active,this.fire(p0,n)}mousedown(n){this._down=this._active,this.fire(m0,n)}click(n){this._down===this._active&&(this.fire(Vc,n),this._down=null)}touchstart(n){this._touch=this.pickEvent(n.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(Yc,n,!0)}touchmove(n){this.fire(Xc,n,!0)}touchend(n){this.fire(Jc,n,!0),this._touch=null}fire(n,e,r){const i=r?this._touch:this._active,a=this._handlers[n];if(e.vegaType=n,n===y0&&i&&i.href?this.handleHref(e,i,i.href):n!==g0&&n!==xu||this.handleTooltip(e,i,n!==xu),a)for(let o=0,s=a.length;o<s;++o)a[o].handler.call(this._obj,e,i)}on(n,e){const r=this.eventName(n),i=this._handlers;return this._handlerIndex(i[r],n,e)<0&&(FA(this,n),(i[r]||(i[r]=[])).push({type:n,handler:e})),this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&i.splice(a,1),this}pickEvent(n){const e=Uc(n,this._canvas),r=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-r[0],e[1]-r[1])}pick(n,e,r,i,a){const o=this.context();return Ae[n.marktype].pick.call(this,o,n,e,r,i,a)}}const t4=t=>t===Yc||t===Xc||t===Jc?[Yc,Xc,Jc]:[t];function FA(t,n){t4(n).forEach(e=>function(r,i){const a=r.canvas();a&&!r._events[i]&&(r._events[i]=1,a.addEventListener(i,r[i]?o=>r[i](o):o=>r.fire(i,o)))}(t,e))}function Kc(t,n,e){n.forEach(r=>t.fire(r,e))}function CA(t,n,e){return function(r){const i=this._active,a=this.pickEvent(r);a===i||(i&&i.exit||Kc(this,e,r),this._active=a,Kc(this,n,r)),Kc(this,t,r)}}function EA(t){return function(n){Kc(this,t,n),this._active=null}}function n4(t,n,e,r,i,a){const o=typeof HTMLElement<"u"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),u=o?typeof window<"u"&&window.devicePixelRatio||1:i;t.width=n*u,t.height=e*u;for(const l in a)s[l]=a[l];return o&&u!==1&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=u,s.setTransform(u,0,0,u,u*r[0],u*r[1]),t}class Qc extends bu{constructor(n){super(n),this._options={},this._redraw=!1,this._dirty=new cn,this._tempb=new cn}initialize(n,e,r,i,a,o){return this._options=o||{},this._canvas=this._options.externalContext?null:qi(1,1,this._options.type),n&&this._canvas&&(Pe(n,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(n,e,r,i,a)}resize(n,e,r,i){if(super.resize(n,e,r,i),this._canvas)n4(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const a=this._options.externalContext;a||j("CanvasRenderer is missing a valid canvas or context"),a.scale(this._scale,this._scale),a.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(n){const e=this._tempb.clear().union(n.bounds);let r=n.mark.group;for(;r;)e.translate(r.x||0,r.y||0),r=r.mark.group;this._dirty.union(e)}_render(n,e){const r=this.context(),i=this._origin,a=this._width,o=this._height,s=this._dirty,u=e4(i,a,o);r.save();const l=this._redraw||s.empty()?(this._redraw=!1,u.expand(1)):function(c,f,d){return f.expand(1).round(),c.pixelRatio%1&&f.scale(c.pixelRatio).round().scale(1/c.pixelRatio),f.translate(-d[0]%1,-d[1]%1),c.beginPath(),c.rect(f.x1,f.y1,f.width(),f.height()),c.clip(),f}(r,u.intersect(s),i);return this.clear(-i[0],-i[1],a,o),this.draw(r,n,l,e),r.restore(),s.clear(),this}draw(n,e,r,i){if(e.marktype!=="group"&&i!=null&&!i.includes(e.marktype))return;const a=Ae[e.marktype];e.clip&&function(o,s){var u=s.clip;o.save(),bt(u)?(o.beginPath(),u(o),o.clip()):rA(o,s.group)}(n,e),a.draw.call(this,n,e,r,i),e.clip&&n.restore()}clear(n,e,r,i){const a=this._options,o=this.context();a.type==="pdf"||a.externalContext||o.clearRect(n,e,r,i),this._bgcolor!=null&&(o.fillStyle=this._bgcolor,o.fillRect(n,e,r,i))}}const e4=(t,n,e)=>new cn().set(0,0,n,e).translate(-t[0],-t[1]);class $A extends h0{constructor(n,e){super(n,e);const r=this;r._hrefHandler=v0(r,(i,a)=>{a&&a.href&&r.handleHref(i,a,a.href)}),r._tooltipHandler=v0(r,(i,a)=>{r.handleTooltip(i,a,i.type!==xu)})}initialize(n,e,r){let i=this._svg;return i&&(i.removeEventListener(y0,this._hrefHandler),i.removeEventListener(g0,this._tooltipHandler),i.removeEventListener(xu,this._tooltipHandler)),this._svg=i=n&&d0(n,"svg"),i&&(i.addEventListener(y0,this._hrefHandler),i.addEventListener(g0,this._tooltipHandler),i.addEventListener(xu,this._tooltipHandler)),super.initialize(n,e,r)}canvas(){return this._svg}on(n,e){const r=this.eventName(n),i=this._handlers;if(this._handlerIndex(i[r],n,e)<0){const a={type:n,handler:e,listener:v0(this,e)};(i[r]||(i[r]=[])).push(a),this._svg&&this._svg.addEventListener(r,a.listener)}return this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&(this._svg&&this._svg.removeEventListener(r,i[a].listener),i.splice(a,1)),this}}const v0=(t,n)=>e=>{let r=e.target.__data__;r=Array.isArray(r)?r[0]:r,e.vegaType=e.type,n.call(t._obj,e,r)},SA="aria-hidden",b0="aria-label",x0="role",w0="aria-roledescription",MA="graphics-object",A0="graphics-symbol",BA=(t,n,e)=>({[x0]:t,[w0]:n,[b0]:e||void 0}),r4=Dr(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),zA={axis:{desc:"axis",caption:function(t){const n=t.datum,e=t.orient,r=n.title?PA(t):null,i=t.context,a=i.scales[n.scale].value,o=i.dataflow.locale(),s=a.type;return`${e==="left"||e==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${No(s)?"discrete":s} scale with ${Sw(o,a,t)}`}},legend:{desc:"legend",caption:function(t){const n=t.datum,e=n.title?PA(t):null,r=`${n.type||""} legend`.trim(),i=n.scales,a=Object.keys(i),o=t.context,s=o.scales[i[a[0]]].value,u=o.dataflow.locale();return l=r,(l.length?l[0].toUpperCase()+l.slice(1):l)+(e?` titled '${e}'`:"")+` for ${function(c){return c=c.map(f=>f+(f==="fill"||f==="stroke"?" color":"")),c.length<2?c[0]:c.slice(0,-1).join(", ")+" and "+Bt(c)}(a)} with ${Sw(u,s,t)}`;var l}},"title-text":{desc:"title",caption:t=>`Title text '${TA(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${TA(t)}'`}},OA={ariaRole:x0,ariaRoleDescription:w0,description:b0};function NA(t,n){const e=n.aria===!1;if(t(SA,e||void 0),e||n.description==null)for(const r in OA)t(OA[r],void 0);else{const r=n.mark.marktype;t(b0,n.description),t(x0,n.ariaRole||(r==="group"?MA:A0)),t(w0,n.ariaRoleDescription||`${r} mark`)}}function RA(t){return t.aria===!1?{[SA]:!0}:r4[t.role]?null:zA[t.role]?function(n,e){try{const r=n.items[0],i=e.caption||(()=>"");return BA(e.role||A0,e.desc,r.description||i(r))}catch{return null}}(t,zA[t.role]):function(n){const e=n.marktype,r=e==="group"||e==="text"||n.items.some(i=>i.description!=null&&i.aria!==!1);return BA(r?MA:A0,`${e} mark container`,n.description)}(t)}function TA(t){return K(t.text).join(" ")}function PA(t){try{return K(Bt(t.items).items[0].text).join(" ")}catch{return null}}const jA=t=>(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");function _0(){let t="",n="",e="";const r=[],i=()=>n=e="",a=(s,u)=>{var l;return u!=null&&(n+=` ${s}="${l=u,jA(l).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")}"`),o},o={open(s){(f=>{n&&(t+=`${n}>${e}`,i()),r.push(f)})(s),n="<"+s;for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c<u;c++)l[c-1]=arguments[c];for(const f of l)for(const d in f)a(d,f[d]);return o},close(){const s=r.pop();return t+=n?n+(e?`>${e}</${s}>`:"/>"):`</${s}>`,i(),o},attr:a,text:s=>(e+=jA(s),o),toString:()=>t};return o}const LA=t=>qA(_0(),t)+"";function qA(t,n){if(t.open(n.tagName),n.hasAttributes()){const e=n.attributes,r=e.length;for(let i=0;i<r;++i)t.attr(e[i].name,e[i].value)}if(n.hasChildNodes()){const e=n.childNodes;for(const r of e)r.nodeType===3?t.text(r.nodeValue):qA(t,r)}return t.close()}const Zc={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"},tf={blend:"mix-blend-mode"},UA={fill:"none","stroke-miterlimit":10},IA="http://www.w3.org/2000/xmlns/",hn=mu.xmlns;class k0 extends bu{constructor(n){super(n),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(n,e,r,i,a){return this._defs={},this._clearDefs(),n&&(this._svg=dn(n,0,"svg",hn),this._svg.setAttributeNS(IA,"xmlns",hn),this._svg.setAttributeNS(IA,"xmlns:xlink",mu["xmlns:xlink"]),this._svg.setAttribute("version",mu.version),this._svg.setAttribute("class","marks"),Pe(n,1),this._root=dn(this._svg,0,"g",hn),Ji(this._root,UA),Pe(this._svg,1)),this.background(this._bgcolor),super.initialize(n,e,r,i,a)}background(n){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",n),super.background(...arguments)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svg&&(Ji(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(){const n=this._svg,e=this._bgcolor;if(!n)return null;let r;e&&(n.removeAttribute("style"),r=dn(n,0,"rect",hn),Ji(r,{width:this._width,height:this._height,fill:e}));const i=LA(n);return e&&(n.removeChild(r),this._svg.style.setProperty("background-color",e)),i}_render(n,e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,n,void 0,e),Pe(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(n){n.dirty!==this._dirtyID&&(n.dirty=this._dirtyID,this._dirty.push(n))}isDirty(n){return this._dirtyAll||!n._svg||!n._svg.ownerSVGElement||n.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;const n=this._dirty;if(!n.length||!this._dirtyID)return!0;const e=++this._dirtyID;let r,i,a,o,s,u,l;for(s=0,u=n.length;s<u;++s)r=n[s],i=r.mark,i.marktype!==a&&(a=i.marktype,o=Ae[a]),i.zdirty&&i.dirty!==e&&(this._dirtyAll=!1,WA(r,e),i.items.forEach(c=>{c.dirty=e})),i.zdirty||(r.exit?(o.nested&&i.items.length?(l=i.items[0],l._svg&&this._update(o,l._svg,l)):r._svg&&(l=r._svg.parentNode,l&&l.removeChild(r._svg)),r._svg=null):(r=o.nested?i.items[0]:r,r._update!==e&&(r._svg&&r._svg.ownerSVGElement?this._update(o,r._svg,r):(this._dirtyAll=!1,WA(r,e)),r._update=e)));return!this._dirtyAll}mark(n,e,r,i){if(!this.isDirty(e))return e._svg;const a=this._svg,o=e.marktype,s=Ae[o],u=e.interactive===!1?"none":null,l=s.tag==="g",c=HA(e,n,r,"g",a);if(o!=="group"&&i!=null&&!i.includes(o))return Pe(c,0),e._svg;c.setAttribute("class",bA(e));const f=RA(e);for(const m in f)Vn(c,m,f[m]);l||Vn(c,"pointer-events",u),Vn(c,"clip-path",e.clip?Im(this,e,e.group):null);let d=null,h=0;const p=m=>{const g=this.isDirty(m),y=HA(m,c,d,s.tag,a);g&&(this._update(s,y,m),l&&function(v,x,b,w){x=x.lastChild.previousSibling;let A,_=0;Qe(b,k=>{A=v.mark(x,k,A,w),++_}),Pe(x,1+_)}(this,y,m,i)),d=y,++h};return s.nested?e.items.length&&p(e.items[0]):Qe(e,p),Pe(c,h),c}_update(n,e,r){oi=e,On=e.__values__,NA(Au,r),n.attr(Au,r,this);const i=o4[n.type];i&&i.call(this,n,e,r),oi&&this.style(oi,r)}style(n,e){if(e!=null){for(const r in Zc){let i=r==="font"?yu(e):e[r];if(i===On[r])continue;const a=Zc[r];i==null?n.removeAttribute(a):(Tm(i)&&(i=Bw(i,this._defs.gradient,GA())),n.setAttribute(a,i+"")),On[r]=i}for(const r in tf)nf(n,tf[r],e[r])}}defs(){const n=this._svg,e=this._defs;let r=e.el,i=0;for(const a in e.gradient)r||(e.el=r=dn(n,1,"defs",hn)),i=i4(r,e.gradient[a],i);for(const a in e.clipping)r||(e.el=r=dn(n,1,"defs",hn)),i=a4(r,e.clipping[a],i);r&&(i===0?(n.removeChild(r),e.el=null):Pe(r,i))}_clearDefs(){const n=this._defs;n.gradient={},n.clipping={}}}function WA(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function i4(t,n,e){let r,i,a;if(n.gradient==="radial"){let o=dn(t,e++,"pattern",hn);Ji(o,{id:_c+n.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=dn(o,0,"rect",hn),Ji(o,{width:1,height:1,fill:`url(${GA()}#${n.id})`}),Ji(t=dn(t,e++,"radialGradient",hn),{id:n.id,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else Ji(t=dn(t,e++,"linearGradient",hn),{id:n.id,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2});for(r=0,i=n.stops.length;r<i;++r)a=dn(t,r,"stop",hn),a.setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Pe(t,r),e}function a4(t,n,e){let r;return(t=dn(t,e,"clipPath",hn)).setAttribute("id",n.id),n.path?(r=dn(t,0,"path",hn),r.setAttribute("d",n.path)):(r=dn(t,0,"rect",hn),Ji(r,{x:0,y:0,width:n.width,height:n.height})),Pe(t,1),e+1}function HA(t,n,e,r,i){let a,o=t._svg;if(!o&&(a=n.ownerDocument,o=Xi(a,r,hn),t._svg=o,t.mark&&(o.__data__=t,o.__values__={fill:"default"},r==="g"))){const s=Xi(a,"path",hn);o.appendChild(s),s.__data__=t;const u=Xi(a,"g",hn);o.appendChild(u),u.__data__=t;const l=Xi(a,"path",hn);o.appendChild(l),l.__data__=t,l.__values__={fill:"default"}}return(o.ownerSVGElement!==i||function(s,u){return s.parentNode&&s.parentNode.childNodes.length>1&&s.previousSibling!=u}(o,e))&&n.insertBefore(o,e?e.nextSibling:n.firstChild),o}let oi=null,On=null;const o4={group(t,n,e){const r=oi=n.childNodes[2];On=r.__values__,t.foreground(Au,e,this),On=n.__values__,oi=n.childNodes[1],t.content(Au,e,this);const i=oi=n.childNodes[0];t.background(Au,e,this);const a=e.mark.interactive===!1?"none":null;if(a!==On.events&&(Vn(r,"pointer-events",a),Vn(i,"pointer-events",a),On.events=a),e.strokeForeground&&e.stroke){const o=e.fill;Vn(r,"display",null),this.style(i,e),Vn(i,"stroke",null),o&&(e.fill=null),On=r.__values__,this.style(r,e),o&&(e.fill=o),oi=null}else Vn(r,"display","none")},image(t,n,e){e.smooth===!1?(nf(n,"image-rendering","optimizeSpeed"),nf(n,"image-rendering","pixelated")):nf(n,"image-rendering",null)},text(t,n,e){const r=gu(e);let i,a,o,s;P(r)?(a=r.map(u=>Yi(e,u)),i=a.join(`
1
+ import{cx as Ws,gA as Kh,gB as Kb,gC as Qb,gD as Hl,gE as bt,gF as In,gG as K,gH as tt,gI as Me,cI as P,gJ as j,gK as Hs,gL as Be,gM as ka,gN as V,gO as Zb,gP as tx,gQ as xt,gR as Qh,gS as en,gT as Wn,gU as Do,gV as ze,gW as kr,cH as Zh,gX as nx,gY as ex,gZ as rx,g_ as ix,g$ as Bt,h0 as tp,h1 as np,by as ax,h2 as ei,h3 as ox,h4 as Gl,h5 as Fo,h6 as ep,h7 as rp,h8 as ip,h9 as sx,ha as ux,cE as lx,cy as h6,cD as p6,hb as m6,bz as g6,bP as y6,bQ as v6,hc as b6,bS as x6,bT as w6,bU as A6,hd as Dr,cJ as Q,he as $t,cK as Z,hf as cx,hg as Oi,hh as Gs,hi as ap,hj as Vl,hk as op,hl as sp,hm as G,bH as fx,hn as Da,ho as Co,hp as dx,hq as hx,hr as px,hs as mx,ht as gx,hu as yx,hv as vx,hw as bx,hx as xx,hy as wx,hz as Ax,hA as _x,hB as kx,hC as Dx,hD as Fx,hE as Cx,hF as Ex,hG as $x,hH as Sx,hI as Mx,hJ as Bx,hK as zx,hL as up,cM as Fa,hM as Ox,hN as Nx,cL as Yl,hO as Ni,hP as _6,hQ as k6,hR as D6,hS as F6,hT as C6,hU as E6,hV as $6,hW as S6,hX as M6,hY as B6,hZ as z6,h_ as O6,h$ as N6,i0 as Rx,i1 as R6,i2 as T6,i3 as P6,aK as j6,i4 as L6,i5 as q6,i6 as U6,i7 as I6,i8 as W6,i9 as H6,ia as G6,cN as lp}from"./index-Brn5h-MN.js";import{m as cp,a as Ca,d as V6,r as Y6,l as fp,i as X6,h as J6,n as K6,c as Q6,u as Z6,b as t8,t as n8,e as e8}from"./time-4AULYytW.js";import{n as r8,b as i8,i as Vs,d as a8,e as o8,f as s8,o as u8,g as Xl,h as Tx,j as Eo,t as dp,a as hp,k as Ri,m as Ea,l as l8,p as c8,q as f8}from"./linear-CKa6tYxf.js";import{r as xe}from"./range-CtcPcB_L.js";import{R as Px,r as d8,d as h8,e as p8,m as jx,o as Lx,C as m8,h as pp,p as mp,n as Oe,q as g8,s as y8,i as v8,a as b8,u as x8,v as w8,b as A8,k as _8,j as k8,w as Jl,T as D8,l as F8,t as C8,g as E8}from"./timer-Bqd5yn_a.js";import{i as $8}from"./zoom-COrs4lFh.js";import{i as $a,a as Ti}from"./init-DLRA0X12.js";import{I as Kl,o as qx,i as S8}from"./ordinal-DDUp3AbE.js";import{c as Fr}from"./colors-bszWmPJw.js";import{w as Ux,n as M8,z as Ix,a as Hn,J as B8,K as z8,l as Wx,b as O8,t as N8,p as R8,o as T8,q as P8,r as j8,u as L8,x as q8,v as U8,y as I8,B as W8,C as H8,A as G8,F as V8,E as Y8,D as X8,G as J8,H as K8,I as Q8,k as Z8,L as gp}from"./step-BwsUM5iJ.js";import{d as t9}from"./arc-CfyY4LWz.js";class Gn{constructor(){this._partials=new Float64Array(32),this._n=0}add(n){const e=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const a=e[i],o=n+a,s=Math.abs(n)<Math.abs(a)?n-(o-a):a-(o-n);s&&(e[r++]=s),n=o}return e[r]=n,this._n=r+1,this}valueOf(){const n=this._partials;let e,r,i,a=this._n,o=0;if(a>0){for(o=n[--a];a>0&&(e=o,r=n[--a],o=e+r,i=r-(o-e),!i););a>0&&(i<0&&n[a-1]<0||i>0&&n[a-1]>0)&&(r=2*i,e=o+r,r==e-o&&(o=e))}return o}}function Hx(t,n){return(t==null||!(t>=t))-(n==null||!(n>=n))||(t<n?-1:t>n?1:0)}function Gx(t,n,e=0,r=1/0,i){if(n=Math.floor(n),e=Math.floor(Math.max(0,e)),r=Math.floor(Math.min(t.length-1,r)),!(e<=n&&n<=r))return t;for(i=i===void 0?Hx:function(a=Ws){if(a===Ws)return Hx;if(typeof a!="function")throw new TypeError("compare is not a function");return(o,s)=>{const u=a(o,s);return u||u===0?u:(a(s,s)===0)-(a(o,o)===0)}}(i);r>e;){if(r-e>600){const u=r-e+1,l=n-e+1,c=Math.log(u),f=.5*Math.exp(2*c/3),d=.5*Math.sqrt(c*f*(u-f)/u)*(l-u/2<0?-1:1);Gx(t,n,Math.max(e,Math.floor(n-l*f/u+d)),Math.min(r,Math.floor(n+(u-l)*f/u+d)),i)}const a=t[n];let o=e,s=r;for(Ys(t,e,n),i(t[r],a)>0&&Ys(t,e,r);o<s;){for(Ys(t,o,s),++o,--s;i(t[o],a)<0;)++o;for(;i(t[s],a)>0;)--s}i(t[e],a)===0?Ys(t,e,s):(++s,Ys(t,s,r)),s<=n&&(e=s+1),n<=s&&(r=s-1)}return t}function Ys(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function yp(t,n,e){if((r=(t=Float64Array.from(r8(t,e))).length)&&!isNaN(n=+n)){if(n<=0||r<2)return cp(t);if(n>=1)return Ca(t);var r,i=(r-1)*n,a=Math.floor(i),o=Ca(Gx(t,a).subarray(0,a+1));return o+(cp(t.subarray(a+1))-o)*(i-a)}}function Vx(t,n,e=i8){if((r=t.length)&&!isNaN(n=+n)){if(n<=0||r<2)return+e(t[0],0,t);if(n>=1)return+e(t[r-1],r-1,t);var r,i=(r-1)*n,a=Math.floor(i),o=+e(t[a],a,t);return o+(+e(t[a+1],a+1,t)-o)*(i-a)}}function Yx(t,n){return yp(t,.5,n)}function Xx(t){return Array.from(function*(n){for(const e of n)yield*e}(t))}function Jx(t,n){let e=0;for(let r of t)(r=+r)&&(e+=r);return e}function n9(t){return t instanceof Kl?t:new Kl(t)}function Ql(t){const n=t||Me,e=[],r={};return e.add=i=>{const a=n(i);return r[a]||(r[a]=1,e.push(i)),e},e.remove=i=>{const a=n(i);if(r[a]){r[a]=0;const o=e.indexOf(i);o>=0&&e.splice(o,1)}return e},e}async function Zl(t,n){try{await n(t)}catch(e){t.error(e)}}const Kx=Symbol("vega_id");let e9=1;function tc(t){return!(!t||!st(t))}function st(t){return t[Kx]}function Qx(t,n){return t[Kx]=n,t}function St(t){const n=t===Object(t)?t:{data:t};return st(n)?n:Qx(n,e9++)}function vp(t){return nc(t,St({}))}function nc(t,n){for(const e in t)n[e]=t[e];return n}function Zx(t,n){return Qx(n,st(t))}function Sa(t,n){return t?n?(e,r)=>t(e,r)||st(n(e))-st(n(r)):(e,r)=>t(e,r)||st(e)-st(r):null}function t2(t){return t&&t.constructor===Ma}function Ma(){const t=[],n=[],e=[],r=[],i=[];let a=null,o=!1;return{constructor:Ma,insert(s){const u=K(s),l=u.length;for(let c=0;c<l;++c)t.push(u[c]);return this},remove(s){const u=bt(s)?r:n,l=K(s),c=l.length;for(let f=0;f<c;++f)u.push(l[f]);return this},modify(s,u,l){const c={field:u,value:In(l)};return bt(s)?(c.filter=s,i.push(c)):(c.tuple=s,e.push(c)),this},encode(s,u){return bt(s)?i.push({filter:s,field:u}):e.push({tuple:s,field:u}),this},clean(s){return a=s,this},reflow(){return o=!0,this},pulse(s,u){const l={},c={};let f,d,h,p,m,g;for(f=0,d=u.length;f<d;++f)l[st(u[f])]=1;for(f=0,d=n.length;f<d;++f)m=n[f],l[st(m)]=-1;for(f=0,d=r.length;f<d;++f)p=r[f],u.forEach(v=>{p(v)&&(l[st(v)]=-1)});for(f=0,d=t.length;f<d;++f)m=t[f],g=st(m),l[g]?l[g]=1:s.add.push(St(t[f]));for(f=0,d=u.length;f<d;++f)m=u[f],l[st(m)]<0&&s.rem.push(m);function y(v,x,b){b?v[x]=b(v):s.encode=x,o||(c[st(v)]=v)}for(f=0,d=e.length;f<d;++f)h=e[f],m=h.tuple,p=h.field,g=l[st(m)],g>0&&(y(m,p,h.value),s.modifies(p));for(f=0,d=i.length;f<d;++f)h=i[f],p=h.filter,u.forEach(v=>{p(v)&&l[st(v)]>0&&y(v,h.field,h.value)}),s.modifies(h.field);if(o)s.mod=n.length||r.length?u.filter(v=>l[st(v)]>0):u.slice();else for(g in c)s.mod.push(c[g]);return(a||a==null&&(n.length||r.length))&&s.clean(!0),s}}}const ec="_:mod:_";function rc(){Object.defineProperty(this,ec,{writable:!0,value:{}})}rc.prototype={set(t,n,e,r){const i=this,a=i[t],o=i[ec];return n!=null&&n>=0?(a[n]!==e||r)&&(a[n]=e,o[n+":"+t]=-1,o[t]=-1):(a!==e||r)&&(i[t]=e,o[t]=P(e)?1+e.length:-1),i},modified(t,n){const e=this[ec];if(!arguments.length){for(const r in e)if(e[r])return!0;return!1}if(P(t)){for(let r=0;r<t.length;++r)if(e[t[r]])return!0;return!1}return n!=null&&n>=0?n+1<e[t]||!!e[n+":"+t]:!!e[t]},clear(){return this[ec]={},this}};let r9=0;const i9=new rc;function Ut(t,n,e,r){this.id=++r9,this.value=t,this.stamp=-1,this.rank=-1,this.qrank=-1,this.flags=0,n&&(this._update=n),e&&this.parameters(e,r)}function n2(t){return function(n){const e=this.flags;return arguments.length===0?!!(e&t):(this.flags=n?e|t:e&~t,this)}}Ut.prototype={targets(){return this._targets||(this._targets=Ql(Hs))},set(t){return this.value!==t?(this.value=t,1):0},skip:n2(1),modified:n2(2),parameters(t,n,e){n=n!==!1;const r=this._argval=this._argval||new rc,i=this._argops=this._argops||[],a=[];let o,s,u,l;const c=(f,d,h)=>{h instanceof Ut?(h!==this&&(n&&h.targets().add(this),a.push(h)),i.push({op:h,name:f,index:d})):r.set(f,d,h)};for(o in t)if(s=t[o],o==="pulse")K(s).forEach(f=>{f instanceof Ut?f!==this&&(f.targets().add(this),a.push(f)):j("Pulse parameters must be operator instances.")}),this.source=s;else if(P(s))for(r.set(o,-1,Array(u=s.length)),l=0;l<u;++l)c(o,l,s[l]);else c(o,-1,s);return this.marshall().clear(),e&&(i.initonly=!0),a},marshall(t){const n=this._argval||i9,e=this._argops;let r,i,a,o;if(e){const s=e.length;for(i=0;i<s;++i)r=e[i],a=r.op,o=a.modified()&&a.stamp===t,n.set(r.name,r.index,a.value,o);if(e.initonly){for(i=0;i<s;++i)r=e[i],r.op.targets().remove(this);this._argops=null,this._update=null}}return n},detach(){const t=this._argops;let n,e,r,i;if(t)for(n=0,e=t.length;n<e;++n)r=t[n],i=r.op,i._targets&&i._targets.remove(this);this.pulse=null,this.source=null},evaluate(t){const n=this._update;if(n){const e=this.marshall(t.stamp),r=n.call(this,e,t);if(e.clear(),r!==this.value)this.value=r;else if(!this.modified())return t.StopPropagation}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?(this.skip(!1),n=0):n=this.evaluate(t),this.pulse=n||t}};let a9=0;function ic(t,n,e){this.id=++a9,this.value=null,e&&(this.receive=e),t&&(this._filter=t),n&&(this._apply=n)}function Pi(t,n,e){return new ic(t,n,e)}ic.prototype={_filter:Be,_apply:Me,targets(){return this._targets||(this._targets=Ql(Hs))},consume(t){return arguments.length?(this._consume=!!t,this):!!this._consume},receive(t){if(this._filter(t)){const n=this.value=this._apply(t),e=this._targets,r=e?e.length:0;for(let i=0;i<r;++i)e[i].receive(n);this._consume&&(t.preventDefault(),t.stopPropagation())}},filter(t){const n=Pi(t);return this.targets().add(n),n},apply(t){const n=Pi(null,t);return this.targets().add(n),n},merge(){const t=Pi();this.targets().add(t);for(let n=0,e=arguments.length;n<e;++n)arguments[n].targets().add(t);return t},throttle(t){let n=-1;return this.filter(()=>{const e=Date.now();return e-n>t?(n=e,1):0})},debounce(t){const n=Pi();return this.targets().add(Pi(null,null,Qh(t,e=>{const r=e.dataflow;n.receive(e),r&&r.run&&r.run()}))),n},between(t,n){let e=!1;return t.targets().add(Pi(null,null,()=>e=!0)),n.targets().add(Pi(null,null,()=>e=!1)),this.filter(()=>e)},detach(){this._filter=Be,this._targets=null}};const o9={skip:!0};function s9(t,n,e,r,i,a){const o=xt({},a,o9);let s,u;bt(e)||(e=In(e)),r===void 0?s=l=>t.touch(e(l)):bt(r)?(u=new Ut(null,r,i,!1),s=l=>{u.evaluate(l);const c=e(l),f=u.value;t2(f)?t.pulse(c,f,a):t.update(c,f,o)}):s=l=>t.update(e(l),r,o),n.apply(s)}function u9(t,n,e,r,i,a){if(r===void 0)n.targets().add(e);else{const o=a||{},s=new Ut(null,function(u,l){return l=bt(l)?l:In(l),u?function(c,f){const d=l(c,f);return u.skip()||(u.skip(d!==this.value).value=d),d}:l}(e,r),i,!1);s.modified(o.force),s.rank=n.rank,n.targets().add(s),e&&(s.skip(!0),s.value=e.value,s.targets().add(e),t.connect(e,[s]))}}const ac={};function ji(t,n,e){this.dataflow=t,this.stamp=n??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=e||null}function bp(t,n){const e=[];return ka(t,n,r=>e.push(r)),e}function e2(t,n){const e={};return t.visit(n,r=>{e[st(r)]=1}),r=>e[st(r)]?null:r}function oc(t,n){return t?(e,r)=>t(e,r)&&n(e,r):n}function xp(t,n,e,r){const i=this;let a=0;this.dataflow=t,this.stamp=n,this.fields=null,this.encode=r||null,this.pulses=e;for(const o of e)if(o.stamp===n){if(o.fields){const s=i.fields||(i.fields={});for(const u in o.fields)s[u]=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}function r2(t){return t.error("Dataflow already running. Use runAsync() to chain invocations."),t}ji.prototype={StopPropagation:ac,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(t){return new ji(this.dataflow).init(this,t)},clone(){const t=this.fork(7);return t.add=t.add.slice(),t.rem=t.rem.slice(),t.mod=t.mod.slice(),t.source&&(t.source=t.source.slice()),t.materialize(23)},addAll(){let t=this;return!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length||(t=new ji(this.dataflow).init(this),t.add=t.source,t.rem=[]),t},init(t,n){const e=this;return e.stamp=t.stamp,e.encode=t.encode,!t.fields||64&n||(e.fields=t.fields),1&n?(e.addF=t.addF,e.add=t.add):(e.addF=null,e.add=[]),2&n?(e.remF=t.remF,e.rem=t.rem):(e.remF=null,e.rem=[]),4&n?(e.modF=t.modF,e.mod=t.mod):(e.modF=null,e.mod=[]),32&n?(e.srcF=null,e.source=null):(e.srcF=t.srcF,e.source=t.source,t.cleans&&(e.cleans=t.cleans)),e},runAfter(t){this.dataflow.runAfter(t)},changed(t){const n=t||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},reflow(t){if(t)return this.fork(7).reflow();const n=this.add.length,e=this.source&&this.source.length;return e&&e!==n&&(this.mod=this.source,n&&this.filter(4,e2(this,1))),this},clean(t){return arguments.length?(this.cleans=!!t,this):this.cleans},modifies(t){const n=this.fields||(this.fields={});return P(t)?t.forEach(e=>n[e]=!0):n[t]=!0,this},modified(t,n){const e=this.fields;return!(!n&&!this.mod.length||!e)&&(arguments.length?P(t)?t.some(r=>e[r]):e[t]:!!e)},filter(t,n){const e=this;return 1&t&&(e.addF=oc(e.addF,n)),2&t&&(e.remF=oc(e.remF,n)),4&t&&(e.modF=oc(e.modF,n)),16&t&&(e.srcF=oc(e.srcF,n)),e},materialize(t){const n=this;return 1&(t=t||7)&&n.addF&&(n.add=bp(n.add,n.addF),n.addF=null),2&t&&n.remF&&(n.rem=bp(n.rem,n.remF),n.remF=null),4&t&&n.modF&&(n.mod=bp(n.mod,n.modF),n.modF=null),16&t&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},visit(t,n){const e=this,r=n;if(16&t)return ka(e.source,e.srcF,r),e;1&t&&ka(e.add,e.addF,r),2&t&&ka(e.rem,e.remF,r),4&t&&ka(e.mod,e.modF,r);const i=e.source;if(8&t&&i){const a=e.add.length+e.mod.length;a===i.length||ka(i,a?e2(e,5):e.srcF,r)}return e}},V(xp,ji,{fork(t){const n=new ji(this.dataflow).init(this,t&this.NO_FIELDS);return t!==void 0&&(t&n.ADD&&this.visit(n.ADD,e=>n.add.push(e)),t&n.REM&&this.visit(n.REM,e=>n.rem.push(e)),t&n.MOD&&this.visit(n.MOD,e=>n.mod.push(e))),n},changed(t){return this.changes&t},modified(t){const n=this,e=n.fields;return e&&n.changes&n.MOD?P(t)?t.some(r=>e[r]):e[t]:0},filter(){j("MultiPulse does not support filtering.")},materialize(){j("MultiPulse does not support materialization.")},visit(t,n){const e=this,r=e.pulses,i=r.length;let a=0;if(t&e.SOURCE)for(;a<i;++a)r[a].visit(t,n);else for(;a<i;++a)r[a].stamp===e.stamp&&r[a].visit(t,n);return e}});const wp={skip:!1,force:!1};function l9(t){let n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:e=>(n.push(e),i2(n,0,n.length-1,t)),pop:()=>{const e=n.pop();let r;return n.length?(r=n[0],n[0]=e,function(i,a,o){const s=a,u=i.length,l=i[a];let c,f=1+(a<<1);for(;f<u;)c=f+1,c<u&&o(i[f],i[c])>=0&&(f=c),i[a]=i[f],f=1+((a=f)<<1);i[a]=l,i2(i,s,a,o)}(n,0,t)):r=e,r}}}function i2(t,n,e,r){let i,a;const o=t[e];for(;e>n&&(a=e-1>>1,i=t[a],r(o,i)<0);)t[e]=i,e=a;return t[e]=o}function $o(){this.logger(Kh()),this.logLevel(Kb),this._clock=0,this._rank=0,this._locale=Qb();try{this._loader=Hl()}catch{}this._touched=Ql(Hs),this._input={},this._pulse=null,this._heap=l9((t,n)=>t.qrank-n.qrank),this._postrun=[]}function Xs(t){return function(){return this._log[t].apply(this,arguments)}}function O(t,n){Ut.call(this,t,null,n)}$o.prototype={stamp(){return this._clock},loader(t){return arguments.length?(this._loader=t,this):this._loader},locale(t){return arguments.length?(this._locale=t,this):this._locale},logger(t){return arguments.length?(this._log=t,this):this._log},error:Xs("error"),warn:Xs("warn"),info:Xs("info"),debug:Xs("debug"),logLevel:Xs("level"),cleanThreshold:1e4,add:function(t,n,e,r){let i,a=1;return t instanceof Ut?i=t:t&&t.prototype instanceof Ut?i=new t:bt(t)?i=new Ut(null,t):(a=0,i=new Ut(t,n)),this.rank(i),a&&(r=e,e=n),e&&this.connect(i,i.parameters(e,r)),this.touch(i),i},connect:function(t,n){const e=t.rank,r=n.length;for(let i=0;i<r;++i)if(e<n[i].rank)return void this.rerank(t)},rank:function(t){t.rank=++this._rank},rerank:function(t){const n=[t];let e,r,i;for(;n.length;)if(this.rank(e=n.pop()),r=e._targets)for(i=r.length;--i>=0;)n.push(e=r[i]),e===t&&j("Cycle detected in dataflow graph.")},pulse:function(t,n,e){this.touch(t,e||wp);const r=new ji(this,this._clock+(this._pulse?0:1)),i=t.pulse&&t.pulse.source||[];return r.target=t,this._input[t.id]=n.pulse(r,i),this},touch:function(t,n){const e=n||wp;return this._pulse?this._enqueue(t):this._touched.add(t),e.skip&&t.skip(!0),this},update:function(t,n,e){const r=e||wp;return(t.set(n)||r.force)&&this.touch(t,r),this},changeset:Ma,ingest:function(t,n,e){return n=this.parse(n,e),this.pulse(t,this.changeset().insert(n))},parse:function(t,n){const e=this.locale();return tx(t,n,e.timeParse,e.utcParse)},preload:async function(t,n,e){const r=this,i=r._pending||function(o){let s;const u=new Promise(l=>s=l);return u.requests=0,u.done=()=>{--u.requests===0&&(o._pending=null,s(o))},o._pending=u}(r);i.requests+=1;const a=await r.request(n,e);return r.pulse(t,r.changeset().remove(Be).insert(a.data||[])),i.done(),a},request:async function(t,n){const e=this;let r,i=0;try{r=await e.loader().load(t,{context:"dataflow",response:Zb(n&&n.type)});try{r=e.parse(r,n)}catch(a){i=-2,e.warn("Data ingestion failed",t,a)}}catch(a){i=-1,e.warn("Loading failed",t,a)}return{data:r,status:i}},events:function(t,n,e,r){const i=this,a=Pi(e,r),o=function(l){l.dataflow=i;try{a.receive(l)}catch(c){i.error(c)}finally{i.run()}};let s;s=typeof t=="string"&&typeof document<"u"?document.querySelectorAll(t):K(t);const u=s.length;for(let l=0;l<u;++l)s[l].addEventListener(n,o);return a},on:function(t,n,e,r,i){return(t instanceof Ut?u9:s9)(this,t,n,e,r,i),this},evaluate:async function(t,n,e){const r=this,i=[];if(r._pulse)return r2(r);if(r._pending&&await r._pending,n&&await Zl(r,n),!r._touched.length)return r.debug("Dataflow invoked, but nothing to do."),r;const a=++r._clock;r._pulse=new ji(r,a,t),r._touched.forEach(c=>r._enqueue(c,!0)),r._touched=Ql(Hs);let o,s,u,l=0;try{for(;r._heap.size()>0;)o=r._heap.pop(),o.rank===o.qrank?(s=o.run(r._getPulse(o,t)),s.then?s=await s:s.async&&(i.push(s.async),s=ac),s!==ac&&o._targets&&o._targets.forEach(c=>r._enqueue(c)),++l):r._enqueue(o,!0)}catch(c){r._heap.clear(),u=c}if(r._input={},r._pulse=null,r.debug(`Pulse ${a}: ${l} operators`),u&&(r._postrun=[],r.error(u)),r._postrun.length){const c=r._postrun.sort((f,d)=>d.priority-f.priority);r._postrun=[];for(let f=0;f<c.length;++f)await Zl(r,c[f].callback)}return e&&await Zl(r,e),i.length&&Promise.all(i).then(c=>r.runAsync(null,()=>{c.forEach(f=>{try{f(r)}catch(d){r.error(d)}})})),r},run:function(t,n,e){return this._pulse?r2(this):(this.evaluate(t,n,e),this)},runAsync:async function(t,n,e){for(;this._running;)await this._running;const r=()=>this._running=null;return(this._running=this.evaluate(t,n,e)).then(r,r),this._running},runAfter:function(t,n,e){if(this._pulse||n)this._postrun.push({priority:e||0,callback:t});else try{t(this)}catch(r){this.error(r)}},_enqueue:function(t,n){const e=t.stamp<this._clock;e&&(t.stamp=this._clock),(e||n)&&(t.qrank=t.rank,this._heap.push(t))},_getPulse:function(t,n){const e=t.source,r=this._clock;return e&&P(e)?new xp(this,r,e.map(i=>i.pulse),n):this._input[t.id]||function(i,a){return a&&a.stamp===i.stamp?a:(i=i.fork(),a&&a!==ac&&(i.source=a.source),i)}(this._pulse,e&&e.pulse)}},V(O,Ut,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let n;return this.skip()?this.skip(!1):n=this.evaluate(t),n=n||t,n.then?n=n.then(e=>this.pulse=e):n!==t.StopPropagation&&(this.pulse=n),n},evaluate(t){const n=this.marshall(t.stamp),e=this.transform(n,t);return n.clear(),e},transform(){}});const So={};function a2(t){const n=o2(t);return n&&n.Definition||null}function o2(t){return t=t&&t.toLowerCase(),tt(So,t)?So[t]:null}function*s2(t,n){if(n==null)for(let e of t)e!=null&&e!==""&&(e=+e)>=e&&(yield e);else{let e=-1;for(let r of t)r=n(r,++e,t),r!=null&&r!==""&&(r=+r)>=r&&(yield r)}}function Ap(t,n,e){const r=Float64Array.from(s2(t,e));return r.sort(Ws),n.map(i=>Vx(r,i))}function _p(t,n){return Ap(t,[.25,.5,.75],n)}function kp(t,n){const e=t.length,r=function(o,s){const u=function(l,c){let f,d=0,h=0,p=0;if(c===void 0)for(let m of l)m!=null&&(m=+m)>=m&&(f=m-h,h+=f/++d,p+=f*(m-h));else{let m=-1;for(let g of l)(g=c(g,++m,l))!=null&&(g=+g)>=g&&(f=g-h,h+=f/++d,p+=f*(g-h))}if(d>1)return p/(d-1)}(o,s);return u&&Math.sqrt(u)}(t,n),i=_p(t,n),a=(i[2]-i[0])/1.34;return 1.06*(Math.min(r,a)||r||Math.abs(i[0])||1)*Math.pow(e,-.2)}function u2(t){const n=t.maxbins||20,e=t.base||10,r=Math.log(e),i=t.divide||[5,2];let a,o,s,u,l,c,f=t.extent[0],d=t.extent[1];const h=t.span||d-f||Math.abs(f)||1;if(t.step)a=t.step;else if(t.steps){for(u=h/n,l=0,c=t.steps.length;l<c&&t.steps[l]<u;++l);a=t.steps[Math.max(0,l-1)]}else{for(o=Math.ceil(Math.log(n)/r),s=t.minstep||0,a=Math.max(s,Math.pow(e,Math.round(Math.log(h)/r)-o));Math.ceil(h/a)>n;)a*=e;for(l=0,c=i.length;l<c;++l)u=a/i[l],u>=s&&h/u<=n&&(a=u)}u=Math.log(a);const p=u>=0?0:1+~~(-u/r),m=Math.pow(e,-p-1);return(t.nice||t.nice===void 0)&&(u=Math.floor(f/a+m)*a,f=f<u?u-a:u,d=Math.ceil(d/a)*a),{start:f,stop:d===f?f+a:d,step:a}}var Ne=Math.random;function l2(t,n,e,r){if(!t.length)return[void 0,void 0];const i=Float64Array.from(s2(t,r)),a=i.length,o=n;let s,u,l,c;for(l=0,c=Array(o);l<o;++l){for(s=0,u=0;u<a;++u)s+=i[~~(Ne()*a)];c[l]=s/a}return c.sort(Ws),[yp(c,e/2),yp(c,1-e/2)]}function c2(t,n,e,r){r=r||(d=>d);const i=t.length,a=new Float64Array(i);let o,s=0,u=1,l=r(t[0]),c=l,f=l+n;for(;u<i;++u){if(o=r(t[u]),o>=f){for(c=(l+c)/2;s<u;++s)a[s]=c;f=o+n,l=o}c=o}for(c=(l+c)/2;s<u;++s)a[s]=c;return e?function(d,h){const p=d.length;let m,g,y=0,v=1;for(;d[y]===d[v];)++v;for(;v<p;){for(m=v+1;d[v]===d[m];)++m;if(d[v]-d[v-1]<h){for(g=v+(y+m-v-v>>1);g<v;)d[g++]=d[v];for(;g>v;)d[g--]=d[y]}y=v,v=m}return d}(a,n+n/4):a}const f2=Math.sqrt(2*Math.PI),c9=Math.SQRT2;let Js=NaN;function sc(t,n){t=t||0,n=n??1;let e,r,i=0,a=0;if(Js==Js)i=Js,Js=NaN;else{do i=2*Ne()-1,a=2*Ne()-1,e=i*i+a*a;while(e===0||e>1);r=Math.sqrt(-2*Math.log(e)/e),i*=r,Js=a*r}return t+i*n}function Dp(t,n,e){const r=(t-(n||0))/(e=e??1);return Math.exp(-.5*r*r)/(e*f2)}function uc(t,n,e){const r=(t-(n=n||0))/(e=e??1),i=Math.abs(r);let a;if(i>37)a=0;else{const o=Math.exp(-i*i/2);let s;i<7.07106781186547?(s=.0352624965998911*i+.700383064443688,s=s*i+6.37396220353165,s=s*i+33.912866078383,s=s*i+112.079291497871,s=s*i+221.213596169931,s=s*i+220.206867912376,a=o*s,s=.0883883476483184*i+1.75566716318264,s=s*i+16.064177579207,s=s*i+86.7807322029461,s=s*i+296.564248779674,s=s*i+637.333633378831,s=s*i+793.826512519948,s=s*i+440.413735824752,a/=s):(s=i+.65,s=i+4/s,s=i+3/s,s=i+2/s,s=i+1/s,a=o/s/2.506628274631)}return r>0?1-a:a}function lc(t,n,e){return t<0||t>1?NaN:(n||0)+(e??1)*c9*function(r){let i,a=-Math.log((1-r)*(1+r));return a<6.25?(a-=3.125,i=-364441206401782e-35,i=i*a-16850591381820166e-35,i=128584807152564e-32+i*a,i=11157877678025181e-33+i*a,i=i*a-1333171662854621e-31,i=20972767875968562e-33+i*a,i=6637638134358324e-30+i*a,i=i*a-4054566272975207e-29,i=i*a-8151934197605472e-29,i=26335093153082323e-28+i*a,i=i*a-12975133253453532e-27,i=i*a-5415412054294628e-26,i=10512122733215323e-25+i*a,i=i*a-4112633980346984e-24,i=i*a-29070369957882005e-24,i=42347877827932404e-23+i*a,i=i*a-13654692000834679e-22,i=i*a-13882523362786469e-21,i=.00018673420803405714+i*a,i=i*a-.000740702534166267,i=i*a-.006033670871430149,i=.24015818242558962+i*a,i=1.6536545626831027+i*a):a<16?(a=Math.sqrt(a)-3.25,i=22137376921775787e-25,i=9075656193888539e-23+i*a,i=i*a-27517406297064545e-23,i=18239629214389228e-24+i*a,i=15027403968909828e-22+i*a,i=i*a-4013867526981546e-21,i=29234449089955446e-22+i*a,i=12475304481671779e-21+i*a,i=i*a-47318229009055734e-21,i=6828485145957318e-20+i*a,i=24031110387097894e-21+i*a,i=i*a-.0003550375203628475,i=.0009532893797373805+i*a,i=i*a-.0016882755560235047,i=.002491442096107851+i*a,i=i*a-.003751208507569241,i=.005370914553590064+i*a,i=1.0052589676941592+i*a,i=3.0838856104922208+i*a):Number.isFinite(a)?(a=Math.sqrt(a)-5,i=-27109920616438573e-27,i=i*a-2555641816996525e-25,i=15076572693500548e-25+i*a,i=i*a-3789465440126737e-24,i=761570120807834e-23+i*a,i=i*a-1496002662714924e-23,i=2914795345090108e-23+i*a,i=i*a-6771199775845234e-23,i=22900482228026655e-23+i*a,i=i*a-99298272942317e-20,i=4526062597223154e-21+i*a,i=i*a-1968177810553167e-20,i=7599527703001776e-20+i*a,i=i*a-.00021503011930044477,i=i*a-.00013871931833623122,i=1.0103004648645344+i*a,i=4.849906401408584+i*a):i=1/0,i*r}(2*t-1)}function Fp(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>sc(e,r),pdf:a=>Dp(a,e,r),cdf:a=>uc(a,e,r),icdf:a=>lc(a,e,r)};return i.mean(t).stdev(n)}function Cp(t,n){const e=Fp();let r=0;const i={data(a){return arguments.length?(t=a,r=a?a.length:0,i.bandwidth(n)):t},bandwidth(a){return arguments.length?(!(n=a)&&t&&(n=kp(t)),i):n},sample:()=>t[~~(Ne()*r)]+n*e.sample(),pdf(a){let o=0,s=0;for(;s<r;++s)o+=e.pdf((a-t[s])/n);return o/n/r},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e.cdf((a-t[s])/n);return o/r},icdf(){throw Error("KDE icdf not supported.")}};return i.data(t)}function Ep(t,n){return t=t||0,n=n??1,Math.exp(t+sc()*n)}function $p(t,n,e){if(t<=0)return 0;n=n||0,e=e??1;const r=(Math.log(t)-n)/e;return Math.exp(-.5*r*r)/(e*f2*t)}function Sp(t,n,e){return uc(Math.log(t),n,e)}function Mp(t,n,e){return Math.exp(lc(t,n,e))}function d2(t,n){let e,r;const i={mean(a){return arguments.length?(e=a||0,i):e},stdev(a){return arguments.length?(r=a??1,i):r},sample:()=>Ep(e,r),pdf:a=>$p(a,e,r),cdf:a=>Sp(a,e,r),icdf:a=>Mp(a,e,r)};return i.mean(t).stdev(n)}function h2(t,n){let e,r=0;const i={weights(a){return arguments.length?(e=function(o){const s=[];let u,l=0;for(u=0;u<r;++u)l+=s[u]=o[u]==null?1:+o[u];for(u=0;u<r;++u)s[u]/=l;return s}(n=a||[]),i):n},distributions(a){return arguments.length?(a?(r=a.length,t=a):(r=0,t=[]),i.weights(n)):t},sample(){const a=Ne();let o=t[r-1],s=e[0],u=0;for(;u<r-1;s+=e[++u])if(a<s){o=t[u];break}return o.sample()},pdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].pdf(a);return o},cdf(a){let o=0,s=0;for(;s<r;++s)o+=e[s]*t[s].cdf(a);return o},icdf(){throw Error("Mixture icdf not supported.")}};return i.distributions(t).weights(n)}function Bp(t,n){return n==null&&(n=t??1,t=0),t+(n-t)*Ne()}function zp(t,n,e){return e==null&&(e=n??1,n=0),t>=n&&t<=e?1/(e-n):0}function Op(t,n,e){return e==null&&(e=n??1,n=0),t<n?0:t>e?1:(t-n)/(e-n)}function Np(t,n,e){return e==null&&(e=n??1,n=0),t>=0&&t<=1?n+t*(e-n):NaN}function p2(t,n){let e,r;const i={min(a){return arguments.length?(e=a||0,i):e},max(a){return arguments.length?(r=a??1,i):r},sample:()=>Bp(e,r),pdf:a=>zp(a,e,r),cdf:a=>Op(a,e,r),icdf:a=>Np(a,e,r)};return n==null&&(n=t??1,t=0),i.min(t).max(n)}function Rp(t,n,e){let r=0,i=0;for(const a of t){const o=e(a);n(a)==null||o==null||isNaN(o)||(r+=(o-r)/++i)}return{coef:[r],predict:()=>r,rSquared:0}}function Ks(t,n,e,r){const i=r-t*t,a=Math.abs(i)<1e-24?0:(e-t*n)/i;return[n-a*t,a]}function cc(t,n,e,r){t=t.filter(h=>{let p=n(h),m=e(h);return p!=null&&(p=+p)>=p&&m!=null&&(m=+m)>=m}),r&&t.sort((h,p)=>n(h)-n(p));const i=t.length,a=new Float64Array(i),o=new Float64Array(i);let s,u,l,c=0,f=0,d=0;for(l of t)a[c]=s=+n(l),o[c]=u=+e(l),++c,f+=(s-f)/c,d+=(u-d)/c;for(c=0;c<i;++c)a[c]-=f,o[c]-=d;return[a,o,f,d]}function Qs(t,n,e,r){let i,a,o=-1;for(const s of t)i=n(s),a=e(s),i!=null&&(i=+i)>=i&&a!=null&&(a=+a)>=a&&r(i,a,++o)}function Mo(t,n,e,r,i){let a=0,o=0;return Qs(t,n,e,(s,u)=>{const l=u-i(s),c=u-r;a+=l*l,o+=c*c}),1-a/o}function Tp(t,n,e){let r=0,i=0,a=0,o=0,s=0;Qs(t,n,e,(c,f)=>{++s,r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Ks(r,i,a,o),l=c=>u[0]+u[1]*c;return{coef:u,predict:l,rSquared:Mo(t,n,e,i,l)}}function m2(t,n,e){let r=0,i=0,a=0,o=0,s=0;Qs(t,n,e,(c,f)=>{++s,c=Math.log(c),r+=(c-r)/s,i+=(f-i)/s,a+=(c*f-a)/s,o+=(c*c-o)/s});const u=Ks(r,i,a,o),l=c=>u[0]+u[1]*Math.log(c);return{coef:u,predict:l,rSquared:Mo(t,n,e,i,l)}}function g2(t,n,e){const[r,i,a,o]=cc(t,n,e);let s,u,l,c=0,f=0,d=0,h=0,p=0;Qs(t,n,e,(v,x)=>{s=r[p++],u=Math.log(x),l=s*x,c+=(x*u-c)/p,f+=(l-f)/p,d+=(l*u-d)/p,h+=(s*l-h)/p});const[m,g]=Ks(f/o,c/o,d/o,h/o),y=v=>Math.exp(m+g*(v-a));return{coef:[Math.exp(m-g*a),g],predict:y,rSquared:Mo(t,n,e,o,y)}}function y2(t,n,e){let r=0,i=0,a=0,o=0,s=0,u=0;Qs(t,n,e,(f,d)=>{const h=Math.log(f),p=Math.log(d);++u,r+=(h-r)/u,i+=(p-i)/u,a+=(h*p-a)/u,o+=(h*h-o)/u,s+=(d-s)/u});const l=Ks(r,i,a,o),c=f=>l[0]*Math.pow(f,l[1]);return l[0]=Math.exp(l[0]),{coef:l,predict:c,rSquared:Mo(t,n,e,s,c)}}function Pp(t,n,e){const[r,i,a,o]=cc(t,n,e),s=r.length;let u,l,c,f,d=0,h=0,p=0,m=0,g=0;for(u=0;u<s;)l=r[u],c=i[u++],f=l*l,d+=(f-d)/u,h+=(f*l-h)/u,p+=(f*f-p)/u,m+=(l*c-m)/u,g+=(f*c-g)/u;const y=p-d*d,v=d*y-h*h,x=(g*d-m*h)/v,b=(m*y-g*h)/v,w=-x*d,A=_=>x*(_-=a)*_+b*_+w+o;return{coef:[w-b*a+x*a*a+o,b-2*x*a,x],predict:A,rSquared:Mo(t,n,e,o,A)}}function v2(t,n,e,r){if(r===0)return Rp(t,n,e);if(r===1)return Tp(t,n,e);if(r===2)return Pp(t,n,e);const[i,a,o,s]=cc(t,n,e),u=i.length,l=[],c=[],f=r+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d)*a[p];for(l.push(m),g=new Float64Array(f),h=0;h<f;++h){for(p=0,m=0;p<u;++p)m+=Math.pow(i[p],d+h);g[h]=m}c.push(g)}c.push(l);const y=function(x){const b=x.length-1,w=[];let A,_,k,F,C;for(A=0;A<b;++A){for(F=A,_=A+1;_<b;++_)Math.abs(x[A][_])>Math.abs(x[A][F])&&(F=_);for(k=A;k<b+1;++k)C=x[k][A],x[k][A]=x[k][F],x[k][F]=C;for(_=A+1;_<b;++_)for(k=b;k>=A;k--)x[k][_]-=x[k][A]*x[A][_]/x[A][A]}for(_=b-1;_>=0;--_){for(C=0,k=_+1;k<b;++k)C+=x[k][_]*w[k];w[_]=(x[b][_]-C)/x[_][_]}return w}(c),v=x=>{x-=o;let b=s+y[0]+y[1]*x+y[2]*x*x;for(d=3;d<f;++d)b+=y[d]*Math.pow(x,d);return b};return{coef:f9(f,y,-o,s),predict:v,rSquared:Mo(t,n,e,s,v)}}function f9(t,n,e,r){const i=Array(t);let a,o,s,u;for(a=0;a<t;++a)i[a]=0;for(a=t-1;a>=0;--a)for(s=n[a],u=1,i[a]+=s,o=1;o<=a;++o)u*=(a+1-o)/o,i[a-o]+=s*Math.pow(e,o)*u;return i[0]+=r,i}function b2(t,n,e,r){const[i,a,o,s]=cc(t,n,e,!0),u=i.length,l=Math.max(2,~~(r*u)),c=new Float64Array(u),f=new Float64Array(u),d=new Float64Array(u).fill(1);for(let h=-1;++h<=2;){const p=[0,l-1];for(let g=0;g<u;++g){const y=i[g],v=p[0],x=p[1],b=y-i[v]>i[x]-y?v:x;let w=0,A=0,_=0,k=0,F=0;const C=1/Math.abs(i[b]-y||1);for(let $=v;$<=x;++$){const M=i[$],S=a[$],B=d9(Math.abs(y-M)*C)*d[$],z=M*B;w+=B,A+=z,_+=S*B,k+=S*z,F+=M*z}const[D,E]=Ks(A/w,_/w,k/w,F/w);c[g]=D+E*y,f[g]=Math.abs(a[g]-c[g]),h9(i,g+1,p)}if(h===2)break;const m=Yx(f);if(Math.abs(m)<1e-12)break;for(let g,y,v=0;v<u;++v)g=f[v]/(6*m),d[v]=g>=1?1e-12:(y=1-g*g)*y}return function(h,p,m,g){const y=h.length,v=[];let x,b=0,w=0,A=[];for(;b<y;++b)x=h[b]+m,A[0]===x?A[1]+=(p[b]-A[1])/++w:(w=0,A[1]+=g,A=[x,p[b]],v.push(A));return A[1]+=g,v}(i,c,o,s)}function d9(t){return(t=1-t*t*t)*t*t}function h9(t,n,e){const r=t[n];let i=e[0],a=e[1]+1;if(!(a>=t.length))for(;n>i&&t[a]-r<=r-t[i];)e[0]=++i,e[1]=a,++a}const p9=.5*Math.PI/180;function fc(t,n,e,r){e=e||25,r=Math.max(e,r||200);const i=m=>[m,t(m)],a=n[0],o=n[1],s=o-a,u=s/r,l=[i(a)],c=[];if(e===r){for(let m=1;m<r;++m)l.push(i(a+m/e*s));return l.push(i(o)),l}c.push(i(o));for(let m=e;--m>0;)c.push(i(a+m/e*s));let f=l[0],d=c[c.length-1];const h=1/s,p=function(m,g){let y=m,v=m;const x=g.length;for(let b=0;b<x;++b){const w=g[b][1];w<y&&(y=w),w>v&&(v=w)}return 1/(v-y)}(f[1],c);for(;d;){const m=i((f[0]+d[0])/2);m[0]-f[0]>=u&&m9(f,m,d,h,p)>p9?c.push(m):(f=d,l.push(d),c.pop()),d=c[c.length-1]}return l}function m9(t,n,e,r,i){const a=Math.atan2(i*(e[1]-t[1]),r*(e[0]-t[0])),o=Math.atan2(i*(n[1]-t[1]),r*(n[0]-t[0]));return Math.abs(a-o)}function jp(t){return t&&t.length?t.length===1?t[0]:(n=t,e=>{const r=n.length;let i=1,a=String(n[0](e));for(;i<r;++i)a+="|"+n[i](e);return a}):function(){return""};var n}function x2(t,n,e){return e||t+(n?"_"+n:"")}const Lp=()=>{},g9={init:Lp,add:Lp,rem:Lp,idx:0},Zs={values:{init:t=>t.cell.store=!0,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.valid?t.sum:void 0,add:(t,n)=>t.sum+=+n,rem:(t,n)=>t.sum-=n},product:{init:t=>t.product=1,value:t=>t.valid?t.product:void 0,add:(t,n)=>t.product*=n,rem:(t,n)=>t.product/=n},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:void 0,add:(t,n)=>(t.mean_d=n-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,n)=>(t.mean_d=n-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:void 0,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):void 0,add:(t,n)=>t.dev+=t.mean_d*(n-t.mean),rem:(t,n)=>t.dev-=t.mean_d*(n-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:void 0,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):void 0,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=void 0,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,n)=>{(n<t.min||t.min===void 0)&&(t.min=n)},rem:(t,n)=>{n<=t.min&&(t.min=NaN)},req:["values"],idx:4},max:{init:t=>t.max=void 0,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,n)=>{(n>t.max||t.max===void 0)&&(t.max=n)},rem:(t,n)=>{n>=t.max&&(t.max=NaN)},req:["values"],idx:4},argmin:{init:t=>t.argmin=void 0,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,n,e)=>{n<t.min&&(t.argmin=e)},rem:(t,n)=>{n<=t.min&&(t.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=void 0,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,n,e)=>{n>t.max&&(t.argmax=e)},rem:(t,n)=>{n>=t.max&&(t.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(t,n)=>{t.exp=0,t.exp_r=n},value:t=>t.valid?t.exp*(1-t.exp_r)/(1-t.exp_r**t.valid):void 0,add:(t,n)=>t.exp=t.exp_r*t.exp+n,rem:(t,n)=>t.exp=(t.exp-n/t.exp_r**(t.valid-1))/t.exp_r},exponentialb:{value:t=>t.valid?t.exp*(1-t.exp_r):void 0,req:["exponential"],idx:1}},tu=Object.keys(Zs).filter(t=>t!=="__count__");function w2(t,n,e){return Zs[t](e,n)}function A2(t,n){return t.idx-n.idx}function y9(){this.valid=0,this.missing=0,this._ops.forEach(t=>t.aggregate_param==null?t.init(this):t.init(this,t.aggregate_param))}function v9(t,n){t!=null&&t!==""?t==t&&(++this.valid,this._ops.forEach(e=>e.add(this,t,n))):++this.missing}function b9(t,n){t!=null&&t!==""?t==t&&(--this.valid,this._ops.forEach(e=>e.rem(this,t,n))):--this.missing}function x9(t){return this._out.forEach(n=>t[n.out]=n.value(this)),t}function _2(t,n){const e=n||Me,r=function(o){const s={};o.forEach(l=>s[l.name]=l);const u=l=>{l.req&&l.req.forEach(c=>{s[c]||u(s[c]=Zs[c]())})};return o.forEach(u),Object.values(s).sort(A2)}(t),i=t.slice().sort(A2);function a(o){this._ops=r,this._out=i,this.cell=o,this.init()}return a.prototype.init=y9,a.prototype.add=v9,a.prototype.rem=b9,a.prototype.set=x9,a.prototype.get=e,a.fields=t.map(o=>o.out),a}function qp(t){this._key=t?ei(t):st,this.reset()}[...tu,"__count__"].forEach(t=>{Zs[t]=function(n,e){return(r,i)=>xt({name:n,aggregate_param:i,out:r||n},g9,e)}(t,Zs[t])});const kn=qp.prototype;function Li(t){O.call(this,null,t),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}kn.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},kn.add=function(t){this._add.push(t)},kn.rem=function(t){this._rem.push(t)},kn.values=function(){if(this._get=null,this._rem.length===0)return this._add;const t=this._add,n=this._rem,e=this._key,r=t.length,i=n.length,a=Array(r-i),o={};let s,u,l;for(s=0;s<i;++s)o[e(n[s])]=1;for(s=0,u=0;s<r;++s)o[e(l=t[s])]?o[e(l)]=0:a[u++]=l;return this._rem=[],this._add=a},kn.distinct=function(t){const n=this.values(),e={};let r,i=n.length,a=0;for(;--i>=0;)r=t(n[i])+"",tt(e,r)||(e[r]=1,++a);return a},kn.extent=function(t){if(this._get!==t||!this._ext){const n=this.values(),e=sx(n,t);this._ext=[n[e[0]],n[e[1]]],this._get=t}return this._ext},kn.argmin=function(t){return this.extent(t)[0]||{}},kn.argmax=function(t){return this.extent(t)[1]||{}},kn.min=function(t){const n=this.extent(t)[0];return n!=null?t(n):void 0},kn.max=function(t){const n=this.extent(t)[1];return n!=null?t(n):void 0},kn.quartile=function(t){return this._get===t&&this._q||(this._q=_p(this.values(),t),this._get=t),this._q},kn.q1=function(t){return this.quartile(t)[0]},kn.q2=function(t){return this.quartile(t)[1]},kn.q3=function(t){return this.quartile(t)[2]},kn.ci=function(t){return this._get===t&&this._ci||(this._ci=l2(this.values(),1e3,.05,t),this._get=t),this._ci},kn.ci0=function(t){return this.ci(t)[0]},kn.ci1=function(t){return this.ci(t)[1]},Li.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:tu},{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"}]},V(Li,O,{transform(t,n){const e=this,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.modified();return e.stamp=r.stamp,e.value&&(i||n.modified(e._inputs,!0))?(e._prev=e.value,e.value=i?e.init(t):Object.create(null),n.visit(n.SOURCE,a=>e.add(a))):(e.value=e.value||e.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),r.modifies(e._outputs),e._drop=t.drop!==!1,t.cross&&e._dims.length>1&&(e._drop=!1,e.cross()),n.clean()&&e._drop&&r.clean(!0).runAfter(()=>this.clean()),e.changes(r)},cross(){const t=this,n=t.value,e=t._dnames,r=e.map(()=>({})),i=e.length;function a(o){let s,u,l,c;for(s in o)for(l=o[s].tuple,u=0;u<i;++u)r[u][c=l[e[u]]]=c}a(t._prev),a(n),function o(s,u,l){const c=e[l],f=r[l++];for(const d in f){const h=s?s+"|"+d:d;u[c]=f[d],l<i?o(h,u,l):n[h]||t.cell(h,u)}}("",{},0)},init(t){const n=this._inputs=[],e=this._outputs=[],r={};function i(v){const x=K(Wn(v)),b=x.length;let w,A=0;for(;A<b;++A)r[w=x[A]]||(r[w]=1,n.push(w))}this._dims=K(t.groupby),this._dnames=this._dims.map(v=>{const x=en(v);return i(v),e.push(x),x}),this.cellkey=t.key?t.key:jp(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const a=t.fields||[null],o=t.ops||["count"],s=t.aggregate_params||[null],u=t.as||[],l=a.length,c={};let f,d,h,p,m,g,y;for(l!==o.length&&j("Unmatched number of fields and aggregate ops."),y=0;y<l;++y)f=a[y],d=o[y],h=s[y]||null,f==null&&d!=="count"&&j("Null aggregate field specified."),m=en(f),g=x2(d,m,u[y]),e.push(g),d!=="count"?(p=c[m],p||(i(f),p=c[m]=[],p.field=f,this._measures.push(p)),d!=="count"&&(this._countOnly=!1),p.push(w2(d,h,g))):this._counts.push(g);return this._measures=this._measures.map(v=>_2(v,v.field)),Object.create(null)},cellkey:jp(),cell(t,n){let e=this.value[t];return e?e.num===0&&this._drop&&e.stamp<this.stamp?(e.stamp=this.stamp,this._adds[this._alen++]=e):e.stamp<this.stamp&&(e.stamp=this.stamp,this._mods[this._mlen++]=e):(e=this.value[t]=this.newcell(t,n),this._adds[this._alen++]=e),e},newcell(t,n){const e={key:t,num:0,agg:null,tuple:this.newtuple(n,this._prev&&this._prev[t]),stamp:this.stamp,store:!1};if(!this._countOnly){const r=this._measures,i=r.length;e.agg=Array(i);for(let a=0;a<i;++a)e.agg[a]=new r[a](e)}return e.store&&(e.data=new qp),e},newtuple(t,n){const e=this._dnames,r=this._dims,i=r.length,a={};for(let o=0;o<i;++o)a[e[o]]=r[o](t);return n?Zx(n.tuple,a):St(a)},clean(){const t=this.value;for(const n in t)t[n].num===0&&delete t[n]},add(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num+=1,this._countOnly)return;e.store&&e.data.add(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].add(r[i].get(t),t)},rem(t){const n=this.cellkey(t),e=this.cell(n,t);if(e.num-=1,this._countOnly)return;e.store&&e.data.rem(t);const r=e.agg;for(let i=0,a=r.length;i<a;++i)r[i].rem(r[i].get(t),t)},celltuple(t){const n=t.tuple,e=this._counts;t.store&&t.data.values();for(let r=0,i=e.length;r<i;++r)n[e[r]]=t.num;if(!this._countOnly){const r=t.agg;for(let i=0,a=r.length;i<a;++i)r[i].set(n)}return n},changes(t){const n=this._adds,e=this._mods,r=this._prev,i=this._drop,a=t.add,o=t.rem,s=t.mod;let u,l,c,f;if(r)for(l in r)u=r[l],i&&!u.num||o.push(u.tuple);for(c=0,f=this._alen;c<f;++c)a.push(this.celltuple(n[c])),n[c]=null;for(c=0,f=this._mlen;c<f;++c)u=e[c],(u.num===0&&i?o:s).push(this.celltuple(u)),e[c]=null;return this._alen=this._mlen=0,this._prev=null,t}});function Up(t){O.call(this,null,t)}function k2(t,n,e){const r=t;let i=n||[],a=e||[],o={},s=0;return{add:u=>a.push(u),remove:u=>o[r(u)]=++s,size:()=>i.length,data:(u,l)=>(s&&(i=i.filter(c=>!o[r(c)]),o={},s=0),l&&u&&i.sort(u),a.length&&(i=u?ox(u,i,a.sort(u)):i.concat(a),a=[]),i)}}function Ip(t){O.call(this,[],t)}function D2(t){Ut.call(this,null,w9,t)}function w9(t){return this.value&&!t.modified()?this.value:ep(t.fields,t.orders)}function Wp(t){O.call(this,null,t)}function Hp(t){O.call(this,null,t)}Up.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"]}]},V(Up,O,{transform(t,n){const e=t.interval!==!1,r=this._bins(t),i=r.start,a=r.step,o=t.as||["bin0","bin1"],s=o[0],u=o[1];let l;return l=t.modified()?(n=n.reflow(!0)).SOURCE:n.modified(Wn(t.field))?n.ADD_MOD:n.ADD,n.visit(l,e?c=>{const f=r(c);c[s]=f,c[u]=f==null?null:i+a*(1+(f-i)/a)}:c=>c[s]=r(c)),n.modifies(e?o:s)},_bins(t){if(this.value&&!t.modified())return this.value;const n=t.field,e=u2(t),r=e.step;let i,a,o=e.start,s=o+Math.ceil((e.stop-o)/r)*r;(i=t.anchor)!=null&&(a=i-(o+r*Math.floor((i-o)/r)),o+=a,s+=a);const u=function(l){let c=ze(n(l));return c==null?null:c<o?-1/0:c>s?1/0:(c=Math.max(o,Math.min(c,s-r)),o+r*Math.floor(1e-14+(c-o)/r))};return u.start=o,u.stop=e.stop,u.step=r,this.value=Do(u,Wn(n),t.name||"bin_"+en(n))}}),Ip.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},V(Ip,O,{transform(t,n){const e=n.fork(n.ALL),r=k2(st,this.value,e.materialize(e.ADD).add),i=t.sort,a=n.changed()||i&&(t.modified("sort")||n.modified(i.fields));return e.visit(e.REM,r.remove),this.modified(a),this.value=e.source=r.data(Sa(i),a),n.source&&n.source.root&&(this.value.root=n.source.root),e}}),V(D2,Ut),Wp.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"]}]},V(Wp,O,{transform(t,n){const e=f=>d=>{for(var h,p=function(y,v,x){switch(v){case"upper":y=y.toUpperCase();break;case"lower":y=y.toLowerCase()}return y.match(x)}(s(d),t.case,a)||[],m=0,g=p.length;m<g;++m)o.test(h=p[m])||f(h)},r=this._parameterCheck(t,n),i=this._counts,a=this._match,o=this._stop,s=t.field,u=t.as||["text","count"],l=e(f=>i[f]=1+(i[f]||0)),c=e(f=>i[f]-=1);return r?n.visit(n.SOURCE,l):(n.visit(n.ADD,l),n.visit(n.REM,c)),this._finish(n,u)},_parameterCheck(t,n){let e=!1;return!t.modified("stopwords")&&this._stop||(this._stop=new RegExp("^"+(t.stopwords||"")+"$","i"),e=!0),!t.modified("pattern")&&this._match||(this._match=new RegExp(t.pattern||"[\\w']+","g"),e=!0),(t.modified("field")||n.modified(t.field.fields))&&(e=!0),e&&(this._counts={}),e},_finish(t,n){const e=this._counts,r=this._tuples||(this._tuples={}),i=n[0],a=n[1],o=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,u,l;for(s in e)u=r[s],l=e[s]||0,!u&&l?(r[s]=u=St({}),u[i]=s,u[a]=l,o.add.push(u)):l===0?(u&&o.rem.push(u),e[s]=null,r[s]=null):u[a]!==l&&(u[a]=l,o.mod.push(u));return o.modifies(n)}}),Hp.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},V(Hp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.as||["a","b"],i=r[0],a=r[1],o=!this.value||n.changed(n.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;return o?(s&&(e.rem=s),s=n.materialize(n.SOURCE).source,e.add=this.value=function(u,l,c,f){for(var d,h,p=[],m={},g=u.length,y=0;y<g;++y)for(m[l]=h=u[y],d=0;d<g;++d)m[c]=u[d],f(m)&&(p.push(St(m)),(m={})[l]=h);return p}(s,i,a,t.filter||Be)):e.mod=s,e.source=this.value,e.modifies(r)}});const F2={kde:Cp,mixture:h2,normal:Fp,lognormal:d2,uniform:p2},C2="function";function E2(t,n){const e=t[C2];tt(F2,e)||j("Unknown distribution function: "+e);const r=F2[e]();for(const i in t)i==="field"?r.data((t.from||n()).map(t[i])):i==="distributions"?r[i](t[i].map(a=>E2(a,n))):typeof r[i]===C2&&r[i](t[i]);return r}function Gp(t){O.call(this,null,t)}const $2=[{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}]}],A9={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:$2},{name:"weights",type:"number",array:!0}]};function S2(t,n){return t?t.map((e,r)=>n[r]||en(e)):null}function Vp(t,n,e){const r=[],i=f=>f(u);let a,o,s,u,l,c;if(n==null)r.push(t.map(e));else for(a={},o=0,s=t.length;o<s;++o)u=t[o],l=n.map(i),c=a[l],c||(a[l]=c=[],c.dims=l,r.push(c)),c.push(e(u));return r}Gp.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:$2.concat(A9)},{name:"as",type:"string",array:!0,default:["value","density"]}]},V(Gp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=E2(t.distribution,function(l){return()=>l.materialize(l.SOURCE).source}(n)),i=t.steps||t.minsteps||25,a=t.steps||t.maxsteps||200;let o=t.method||"pdf";o!=="pdf"&&o!=="cdf"&&j("Invalid density method: "+o),t.extent||r.data||j("Missing density extent parameter."),o=r[o];const s=t.as||["value","density"],u=fc(o,t.extent||kr(r.data()),i,a).map(l=>{const c={};return c[s[0]]=l[0],c[s[1]]=l[1],St(c)});this.value&&(e.rem=this.value),this.value=e.add=e.source=u}return e}});function Yp(t){O.call(this,null,t)}Yp.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:"bin"}]};function M2(t){Ut.call(this,null,_9,t),this.modified(!0)}function _9(t){const n=t.expr;return this.value&&!t.modified("expr")?this.value:Do(e=>n(e,t),Wn(n),en(n))}function Xp(t){O.call(this,[void 0,void 0],t)}function Jp(t,n){Ut.call(this,t),this.parent=n,this.count=0}function dc(t){O.call(this,{},t),this._keys=Fo();const n=this._targets=[];n.active=0,n.forEach=e=>{for(let r=0,i=n.active;r<i;++r)e(n[r],r,n)}}function B2(t){Ut.call(this,null,k9,t)}function k9(t){return this.value&&!t.modified()?this.value:P(t.name)?K(t.name).map(n=>ei(n)):ei(t.name,t.as)}function Kp(t){O.call(this,Fo(),t)}function Qp(t){O.call(this,[],t)}function Zp(t){O.call(this,[],t)}function tm(t){O.call(this,null,t)}function z2(t){O.call(this,[],t)}V(Yp,O,{transform(t,n){if(this.value&&!t.modified()&&!n.changed())return n;const e=n.materialize(n.SOURCE).source,r=Vp(n.source,t.groupby,Me),i=t.smooth||!1,a=t.field,o=t.step||((p,m)=>Gl(kr(p,m))/30)(e,a),s=Sa((p,m)=>a(p)-a(m)),u=t.as||"bin",l=r.length;let c,f=1/0,d=-1/0,h=0;for(;h<l;++h){const p=r[h].sort(s);c=-1;for(const m of c2(p,o,i,a))m<f&&(f=m),m>d&&(d=m),p[++c][u]=m}return this.value={start:f,stop:d,step:o},n.reflow(!0).modifies(u)}}),V(M2,Ut),Xp.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},V(Xp,O,{transform(t,n){const e=this.value,r=t.field,i=n.changed()||n.modified(r.fields)||t.modified("field");let a=e[0],o=e[1];if((i||a==null)&&(a=1/0,o=-1/0),n.visit(i?n.SOURCE:n.ADD,s=>{const u=ze(r(s));u!=null&&(u<a&&(a=u),u>o&&(o=u))}),!Number.isFinite(a)||!Number.isFinite(o)){let s=en(r);s&&(s=` for field "${s}"`),n.dataflow.warn(`Infinite extent${s}: [${a}, ${o}]`),a=o=void 0}this.value=[a,o]}}),V(Jp,Ut,{connect(t){return this.detachSubflow=t.detachSubflow,this.targets().add(t),t.source=this},add(t){this.count+=1,this.value.add.push(t)},rem(t){this.count-=1,this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}}),V(dc,O,{activate(t){this._targets[this._targets.active++]=t},subflow(t,n,e,r){const i=this.value;let a,o,s=tt(i,t)&&i[t];return s?s.value.stamp<e.stamp&&(s.init(e),this.activate(s)):(o=r||(o=this._group[t])&&o.tuple,a=e.dataflow,s=new Jp(e.fork(e.NO_SOURCE),this),a.add(s).connect(n(a,t,o)),i[t]=s,this.activate(s)),s},clean(){const t=this.value;let n=0;for(const e in t)if(t[e].count===0){const r=t[e].detachSubflow;r&&r(),delete t[e],++n}if(n){const e=this._targets.filter(r=>r&&r.count>0);this.initTargets(e)}},initTargets(t){const n=this._targets,e=n.length,r=t?t.length:0;let i=0;for(;i<r;++i)n[i]=t[i];for(;i<e&&n[i]!=null;++i)n[i]=null;n.active=r},transform(t,n){const e=n.dataflow,r=t.key,i=t.subflow,a=this._keys,o=t.modified("key"),s=u=>this.subflow(u,i,n);return this._group=t.group||{},this.initTargets(),n.visit(n.REM,u=>{const l=st(u),c=a.get(l);c!==void 0&&(a.delete(l),s(c).rem(u))}),n.visit(n.ADD,u=>{const l=r(u);a.set(st(u),l),s(l).add(u)}),o||n.modified(r.fields)?n.visit(n.MOD,u=>{const l=st(u),c=a.get(l),f=r(u);c===f?s(f).mod(u):(a.set(l,f),s(c).rem(u),s(f).add(u))}):n.changed(n.MOD)&&n.visit(n.MOD,u=>{s(a.get(st(u))).mod(u)}),o&&n.visit(n.REFLOW,u=>{const l=st(u),c=a.get(l),f=r(u);c!==f&&(a.set(l,f),s(c).rem(u),s(f).add(u))}),n.clean()?e.runAfter(()=>{this.clean(),a.clean()}):a.empty>e.cleanThreshold&&e.runAfter(a.clean),n}}),V(B2,Ut),Kp.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},V(Kp,O,{transform(t,n){const e=n.dataflow,r=this.value,i=n.fork(),a=i.add,o=i.rem,s=i.mod,u=t.expr;let l=!0;function c(f){const d=st(f),h=u(f,t),p=r.get(d);h&&p?(r.delete(d),a.push(f)):h||p?l&&h&&!p&&s.push(f):(r.set(d,1),o.push(f))}return n.visit(n.REM,f=>{const d=st(f);r.has(d)?r.delete(d):o.push(f)}),n.visit(n.ADD,f=>{u(f,t)?a.push(f):r.set(st(f),1)}),n.visit(n.MOD,c),t.modified()&&(l=!1,n.visit(n.REFLOW,c)),r.empty>e.cleanThreshold&&e.runAfter(r.clean),i}}),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}]},V(Qp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=S2(r,t.as||[]),a=t.index||null,o=i.length;return e.rem=this.value,n.visit(n.SOURCE,s=>{const u=r.map(p=>p(s)),l=u.reduce((p,m)=>Math.max(p,m.length),0);let c,f,d,h=0;for(;h<l;++h){for(f=vp(s),c=0;c<o;++c)f[i[c]]=(d=u[c][h])==null?null:d;a&&(f[a]=h),e.add.push(f)}}),this.value=e.source=e.add,a&&e.modifies(a),e.modifies(i)}}),Zp.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"]}]},V(Zp,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=r.map(en),a=t.as||["key","value"],o=a[0],s=a[1],u=r.length;return e.rem=this.value,n.visit(n.SOURCE,l=>{for(let c,f=0;f<u;++f)c=vp(l),c[o]=i[f],c[s]=r[f](l),e.add.push(c)}),this.value=e.source=e.add,e.modifies(a)}}),tm.Definition={type:"Formula",metadata:{modifies:!0},params:[{name:"expr",type:"expr",required:!0},{name:"as",type:"string",required:!0},{name:"initonly",type:"boolean"}]},V(tm,O,{transform(t,n){const e=t.expr,r=t.as,i=t.modified(),a=t.initonly?n.ADD:i?n.SOURCE:n.modified(e.fields)||n.modified(r)?n.ADD_MOD:n.ADD;return i&&(n=n.materialize().reflow(!0)),t.initonly||n.modifies(r),n.visit(a,o=>o[r]=e(o,t))}}),V(z2,O,{transform(t,n){const e=n.fork(n.ALL),r=t.generator;let i,a,o,s=this.value,u=t.size-s.length;if(u>0){for(i=[];--u>=0;)i.push(o=St(r(t))),s.push(o);e.add=e.add.length?e.materialize(e.ADD).add.concat(i):i}else a=s.slice(0,-u),e.rem=e.rem.length?e.materialize(e.REM).rem.concat(a):a,s=s.slice(-u);return e.source=this.value=s,e}});const hc={value:"value",median:Yx,mean:function(t,n){let e=0,r=0;if(n===void 0)for(let i of t)i!=null&&(i=+i)>=i&&(++e,r+=i);else{let i=-1;for(let a of t)(a=n(a,++i,t))!=null&&(a=+a)>=a&&(++e,r+=a)}if(e)return r/e},min:cp,max:Ca},D9=[];function nm(t){O.call(this,[],t)}function em(t){Li.call(this,t)}function rm(t){O.call(this,null,t)}function O2(t){Ut.call(this,null,F9,t)}function F9(t){return this.value&&!t.modified()?this.value:rp(t.fields,t.flat)}function N2(t){O.call(this,[],t),this._pending=null}function im(t,n,e){e.forEach(St);const r=n.fork(n.NO_FIELDS&n.NO_SOURCE);return r.rem=t.value,t.value=r.source=r.add=e,t._pending=null,r.rem.length&&r.clean(!0),r}function am(t){O.call(this,{},t)}function R2(t){Ut.call(this,null,C9,t)}function C9(t){if(this.value&&!t.modified())return this.value;const n=t.extents,e=n.length;let r,i,a=1/0,o=-1/0;for(r=0;r<e;++r)i=n[r],i[0]<a&&(a=i[0]),i[1]>o&&(o=i[1]);return[a,o]}function T2(t){Ut.call(this,null,E9,t)}function E9(t){return this.value&&!t.modified()?this.value:t.values.reduce((n,e)=>n.concat(e),[])}function P2(t){O.call(this,null,t)}function om(t){Li.call(this,t)}function j2(t){dc.call(this,t)}function sm(t){O.call(this,null,t)}function L2(t){O.call(this,null,t)}function um(t){O.call(this,null,t)}nm.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}]},V(nm,O,{transform(t,n){var e,r,i,a,o,s,u,l,c,f,d=n.fork(n.ALL),h=function(A){var _,k=A.method||hc.value;if(hc[k]!=null)return k===hc.value?(_=A.value!==void 0?A.value:0,()=>_):hc[k];j("Unrecognized imputation method: "+k)}(t),p=function(A){const _=A.field;return k=>k?_(k):NaN}(t),m=en(t.field),g=en(t.key),y=(t.groupby||[]).map(en),v=function(A,_,k,F){var C,D,E,$,M,S,B,z,N=ot=>ot(z),W=[],X=F?F.slice():[],L={},et={};for(X.forEach((ot,nt)=>L[ot]=nt+1),$=0,B=A.length;$<B;++$)S=k(z=A[$]),M=L[S]||(L[S]=X.push(S)),(E=et[D=(C=_?_.map(N):D9)+""])||(E=et[D]=[],W.push(E),E.values=C),E[M-1]=z;return W.domain=X,W}(n.source,t.groupby,t.key,t.keyvals),x=[],b=this.value,w=v.domain.length;for(o=0,l=v.length;o<l;++o)for(i=(e=v[o]).values,r=NaN,u=0;u<w;++u)if(e[u]==null){for(a=v.domain[u],f={_impute:!0},s=0,c=i.length;s<c;++s)f[y[s]]=i[s];f[g]=a,f[m]=Number.isNaN(r)?r=h(e,p):r,x.push(St(f))}return x.length&&(d.add=d.materialize(d.ADD).add.concat(x)),b.length&&(d.rem=d.materialize(d.REM).rem.concat(b)),this.value=x,d}}),em.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:tu},{name:"as",type:"string",null:!0,array:!0},{name:"key",type:"field"}]},V(em,Li,{transform(t,n){const e=this,r=t.modified();let i;return e.value&&(r||n.modified(e._inputs,!0))?(i=e.value=r?e.init(t):{},n.visit(n.SOURCE,a=>e.add(a))):(i=e.value=e.value||this.init(t),n.visit(n.REM,a=>e.rem(a)),n.visit(n.ADD,a=>e.add(a))),e.changes(),n.visit(n.SOURCE,a=>{xt(a,i[e.cellkey(a)].tuple)}),n.reflow(r).modifies(this._outputs)},changes(){const t=this._adds,n=this._mods;let e,r;for(e=0,r=this._alen;e<r;++e)this.celltuple(t[e]),t[e]=null;for(e=0,r=this._mlen;e<r;++e)this.celltuple(n[e]),n[e]=null;this._alen=this._mlen=0}}),rm.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"]}]},V(rm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=n.materialize(n.SOURCE).source,i=Vp(r,t.groupby,t.field),a=(t.groupby||[]).map(en),o=t.bandwidth,s=t.cumulative?"cdf":"pdf",u=t.as||["value","density"],l=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;s!=="pdf"&&s!=="cdf"&&j("Invalid density method: "+s),t.resolve==="shared"&&(c||(c=kr(r,t.field)),f=d=t.steps||d),i.forEach(h=>{const p=Cp(h,o)[s],m=t.counts?h.length:1;fc(p,c||kr(h),f,d).forEach(g=>{const y={};for(let v=0;v<a.length;++v)y[a[v]]=h.dims[v];y[u[0]]=g[0],y[u[1]]=g[1]*m,l.push(St(y))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=l}return e}}),V(O2,Ut),V(N2,O,{transform(t,n){const e=n.dataflow;return this._pending?im(this,n,this._pending):function(r){return r.modified("async")&&!(r.modified("values")||r.modified("url")||r.modified("format"))}(t)?n.StopPropagation:t.values?im(this,n,e.parse(t.values,t.format)):t.async?{async:e.request(t.url,t.format).then(i=>(this._pending=K(i.data),a=>a.touch(this)))}:e.request(t.url,t.format).then(r=>im(this,n,K(r.data)))}}),am.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}]},V(am,O,{transform(t,n){const e=t.fields,r=t.index,i=t.values,a=t.default==null?null:t.default,o=t.modified(),s=e.length;let u,l,c,f=o?n.SOURCE:n.ADD,d=n,h=t.as;return i?(l=i.length,s>1&&!h&&j('Multi-field lookup requires explicit "as" parameter.'),h&&h.length!==s*l&&j('The "as" parameter has too few output field names.'),h=h||i.map(en),u=function(p){for(var m,g,y=0,v=0;y<s;++y)if((g=r.get(e[y](p)))==null)for(m=0;m<l;++m,++v)p[h[v]]=a;else for(m=0;m<l;++m,++v)p[h[v]]=i[m](g)}):(h||j("Missing output field names."),u=function(p){for(var m,g=0;g<s;++g)m=r.get(e[g](p)),p[h[g]]=m??a}),o?d=n.reflow(!0):(c=e.some(p=>n.modified(p.fields)),f|=c?n.MOD:0),n.visit(f,u),d.modifies(h)}}),V(R2,Ut),V(T2,Ut),V(P2,O,{transform(t,n){return this.modified(t.modified()),this.value=t,n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),om.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:tu,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},V(om,Li,{_transform:Li.prototype.transform,transform(t,n){return this._transform(function(e,r){const i=e.field,a=e.value,o=(e.op==="count"?"__count__":e.op)||"sum",s=Wn(i).concat(Wn(a)),u=function(l,c,f){const d={},h=[];return f.visit(f.SOURCE,p=>{const m=l(p);d[m]||(d[m]=1,h.push(m))}),h.sort(Zh),c?h.slice(0,c):h}(i,e.limit||0,r);return r.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:u.map(()=>o),fields:u.map(l=>function(c,f,d,h){return Do(p=>f(p)===c?d(p):NaN,h,c+"")}(l,i,a,s)),as:u.map(l=>l+""),modified:e.modified.bind(e)}}(t,n),n)}}),V(j2,dc,{transform(t,n){const e=t.subflow,r=t.field,i=a=>this.subflow(st(a),e,n,a);return(t.modified("field")||r&&n.modified(Wn(r)))&&j("PreFacet does not support field modification."),this.initTargets(),r?(n.visit(n.MOD,a=>{const o=i(a);r(a).forEach(s=>o.mod(s))}),n.visit(n.ADD,a=>{const o=i(a);r(a).forEach(s=>o.add(St(s)))}),n.visit(n.REM,a=>{const o=i(a);r(a).forEach(s=>o.rem(s))})):(n.visit(n.MOD,a=>i(a).mod(a)),n.visit(n.ADD,a=>i(a).add(a)),n.visit(n.REM,a=>i(a).rem(a))),n.clean()&&n.runAfter(()=>this.clean()),n}}),sm.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},V(sm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.fields,i=S2(t.fields,t.as||[]),a=r?(s,u)=>function(l,c,f,d){for(let h=0,p=f.length;h<p;++h)c[d[h]]=f[h](l);return c}(s,u,r,i):nc;let o;return this.value?o=this.value:(n=n.addAll(),o=this.value={}),n.visit(n.REM,s=>{const u=st(s);e.rem.push(o[u]),o[u]=null}),n.visit(n.ADD,s=>{const u=a(s,St({}));o[st(s)]=u,e.add.push(u)}),n.visit(n.MOD,s=>{e.mod.push(a(s,o[st(s)]))}),e}}),V(L2,O,{transform(t,n){return this.value=t.value,t.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}}),um.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"]}]};function q2(t){O.call(this,null,t)}function lm(t){O.call(this,[],t),this.count=0}function cm(t){O.call(this,null,t)}function U2(t){O.call(this,null,t),this.modified(!0)}function fm(t){O.call(this,null,t)}V(um,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=t.as||["prob","value"];if(this.value&&!t.modified()&&!n.changed())return e.source=this.value,e;const i=Vp(n.materialize(n.SOURCE).source,t.groupby,t.field),a=(t.groupby||[]).map(en),o=[],s=t.step||.01,u=t.probs||xe(s/2,1-1e-14,s),l=u.length;return i.forEach(c=>{const f=Ap(c,u);for(let d=0;d<l;++d){const h={};for(let p=0;p<a.length;++p)h[a[p]]=c.dims[p];h[r[0]]=u[d],h[r[1]]=f[d],o.push(St(h))}}),this.value&&(e.rem=this.value),this.value=e.add=e.source=o,e}}),V(q2,O,{transform(t,n){let e,r;return this.value?r=this.value:(e=n=n.addAll(),r=this.value={}),t.derive&&(e=n.fork(n.NO_SOURCE),n.visit(n.REM,i=>{const a=st(i);e.rem.push(r[a]),r[a]=null}),n.visit(n.ADD,i=>{const a=vp(i);r[st(i)]=a,e.add.push(a)}),n.visit(n.MOD,i=>{const a=r[st(i)];for(const o in i)a[o]=i[o],e.modifies(o);e.mod.push(a)})),e}}),lm.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},V(lm,O,{transform(t,n){const e=n.fork(n.NO_SOURCE),r=t.modified("size"),i=t.size,a=this.value.reduce((c,f)=>(c[st(f)]=1,c),{});let o=this.value,s=this.count,u=0;function l(c){let f,d;o.length<i?o.push(c):(d=~~((s+1)*Ne()),d<o.length&&d>=u&&(f=o[d],a[st(f)]&&e.rem.push(f),o[d]=c)),++s}if(n.rem.length&&(n.visit(n.REM,c=>{const f=st(c);a[f]&&(a[f]=-1,e.rem.push(c)),--s}),o=o.filter(c=>a[st(c)]!==-1)),(n.rem.length||r)&&o.length<i&&n.source&&(u=s=o.length,n.visit(n.SOURCE,c=>{a[st(c)]||l(c)}),u=-1),r&&o.length>i){const c=o.length-i;for(let f=0;f<c;++f)a[st(o[f])]=-1,e.rem.push(o[f]);o=o.slice(c)}return n.mod.length&&n.visit(n.MOD,c=>{a[st(c)]&&e.mod.push(c)}),n.add.length&&n.visit(n.ADD,l),(n.add.length||u<0)&&(e.add=o.filter(c=>!a[st(c)])),this.count=s,this.value=e.source=o,e}}),cm.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"}]},V(cm,O,{transform(t,n){if(this.value&&!t.modified())return;const e=n.materialize().fork(n.MOD),r=t.as||"data";return e.rem=this.value?n.rem.concat(this.value):n.rem,this.value=xe(t.start,t.stop,t.step||1).map(i=>{const a={};return a[r]=i,St(a)}),e.add=n.add.concat(this.value),e}}),V(U2,O,{transform(t,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}});const I2=["unit0","unit1"];function W2(t){O.call(this,Fo(),t)}function H2(t){O.call(this,null,t)}fm.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:ux,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:I2}]},V(fm,O,{transform(t,n){const e=t.field,r=t.interval!==!1,i=t.timezone==="utc",a=this._floor(t,n),o=(i?tp:np)(a.unit).offset,s=t.as||I2,u=s[0],l=s[1],c=a.step;let f=a.start||1/0,d=a.stop||-1/0,h=n.ADD;return(t.modified()||n.changed(n.REM)||n.modified(Wn(e)))&&(h=(n=n.reflow(!0)).SOURCE,f=1/0,d=-1/0),n.visit(h,p=>{const m=e(p);let g,y;m==null?(p[u]=null,r&&(p[l]=null)):(p[u]=g=y=a(m),r&&(p[l]=y=o(g,c)),g<f&&(f=g),y>d&&(d=y))}),a.start=f,a.stop=d,n.modifies(r?s:u)},_floor(t,n){const e=t.timezone==="utc",{units:r,step:i}=t.units?{units:t.units,step:t.step||1}:nx({extent:t.extent||kr(n.materialize(n.SOURCE).source,t.field),maxbins:t.maxbins}),a=ex(r),o=this.value||{},s=(e?rx:ix)(a,i);return s.unit=Bt(a),s.units=a,s.step=i,s.start=o.start,s.stop=o.stop,this.value=s}}),V(W2,O,{transform(t,n){const e=n.dataflow,r=t.field,i=this.value,a=s=>i.set(r(s),s);let o=!0;return t.modified("field")||n.modified(r.fields)?(i.clear(),n.visit(n.SOURCE,a)):n.changed()?(n.visit(n.REM,s=>i.delete(r(s))),n.visit(n.ADD,a)):o=!1,this.modified(o),i.empty>e.cleanThreshold&&e.runAfter(i.clean),n.fork()}}),V(H2,O,{transform(t,n){(!this.value||t.modified("field")||t.modified("sort")||n.changed()||t.sort&&n.modified(t.sort.fields))&&(this.value=(t.sort?n.source.slice().sort(Sa(t.sort)):n.source).map(t.field))}});const nu={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?t=e+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:n=>{const e=n.index,r=n.data;return e&&n.compare(r[e-1],r[e])?++t:t}}},percent_rank:function(){const t=nu.rank(),n=t.next;return{init:t.init,next:e=>(n(e)-1)/(e.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:n=>{const e=n.data,r=n.compare;let i=n.index;if(t<i){for(;i+1<e.length&&!r(e[i],e[i+1]);)++i;t=i}return(1+t)/e.length}}},ntile:function(t,n){(n=+n)>0||j("ntile num must be greater than zero.");const e=nu.cume_dist(),r=e.next;return{init:e.init,next:i=>Math.ceil(n*r(i))}},lag:function(t,n){return n=+n||1,{next:e=>{const r=e.index-n;return r>=0?t(e.data[r]):null}}},lead:function(t,n){return n=+n||1,{next:e=>{const r=e.index+n,i=e.data;return r<i.length?t(i[r]):null}}},first_value:function(t){return{next:n=>t(n.data[n.i0])}},last_value:function(t){return{next:n=>t(n.data[n.i1-1])}},nth_value:function(t,n){return(n=+n)>0||j("nth_value nth must be greater than zero."),{next:e=>{const r=e.i0+(n-1);return r<e.i1?t(e.data[r]):null}}},prev_value:function(t){let n;return{init:()=>n=null,next:e=>{const r=t(e.data[e.index]);return r!=null?n=r:n}}},next_value:function(t){let n,e;return{init:()=>(n=null,e=-1),next:r=>{const i=r.data;return r.index<=e?n:(e=function(a,o,s){for(let u=o.length;s<u;++s)if(a(o[s])!=null)return s;return-1}(t,i,r.index))<0?(e=i.length,n=null):n=t(i[e])}}}},$9=Object.keys(nu);function G2(t){const n=K(t.ops),e=K(t.fields),r=K(t.params),i=K(t.aggregate_params),a=K(t.as),o=this.outputs=[],s=this.windows=[],u={},l={},c=[],f=[];let d=!0;function h(p){K(Wn(p)).forEach(m=>u[m]=1)}h(t.sort),n.forEach((p,m)=>{const g=e[m],y=r[m],v=i[m]||null,x=en(g),b=x2(p,x,a[m]);if(h(g),o.push(b),tt(nu,p))s.push(function(w,A,_,k){const F=nu[w](A,_);return{init:F.init||ip,update:function(C,D){D[k]=F.next(C)}}}(p,g,y,b));else{if(g==null&&p!=="count"&&j("Null aggregate field specified."),p==="count")return void c.push(b);d=!1;let w=l[x];w||(w=l[x]=[],w.field=g,f.push(w)),w.push(w2(p,v,b))}}),(c.length||f.length)&&(this.cell=function(p,m,g){p=p.map(A=>_2(A,A.field));const y={num:0,agg:null,store:!1,count:m};if(!g)for(var v=p.length,x=y.agg=Array(v),b=0;b<v;++b)x[b]=new p[b](y);if(y.store)var w=y.data=new qp;return y.add=function(A){if(y.num+=1,!g){w&&w.add(A);for(let _=0;_<v;++_)x[_].add(x[_].get(A),A)}},y.rem=function(A){if(y.num-=1,!g){w&&w.rem(A);for(let _=0;_<v;++_)x[_].rem(x[_].get(A),A)}},y.set=function(A){let _,k;for(w&&w.values(),_=0,k=m.length;_<k;++_)A[m[_]]=y.num;if(!g)for(_=0,k=x.length;_<k;++_)x[_].set(A)},y.init=function(){y.num=0,w&&w.reset();for(let A=0;A<v;++A)x[A].init()},y}(f,c,d)),this.inputs=Object.keys(u)}const V2=G2.prototype;function dm(t){O.call(this,{},t),this._mlen=0,this._mods=[]}function S9(t,n,e,r){const i=r.sort,a=i&&!r.ignorePeers,o=r.frame||[null,0],s=t.data(e),u=s.length,l=a?ax(i):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:i||In(-1)};n.init();for(let f=0;f<u;++f)M9(c,o,f,u),a&&B9(c,l),n.update(c,s[f])}function M9(t,n,e,r){t.p0=t.i0,t.p1=t.i1,t.i0=n[0]==null?0:Math.max(0,e-Math.abs(n[0])),t.i1=n[1]==null?r:Math.min(r,e+Math.abs(n[1])+1),t.index=e}function B9(t,n){const e=t.i0,r=t.i1-1,i=t.compare,a=t.data,o=a.length-1;e>0&&!i(a[e],a[e-1])&&(t.i0=n.left(a,a[e])),r<o&&!i(a[r],a[r+1])&&(t.i1=n.right(a,a[r]))}V2.init=function(){this.windows.forEach(t=>t.init()),this.cell&&this.cell.init()},V2.update=function(t,n){const e=this.cell,r=this.windows,i=t.data,a=r&&r.length;let o;if(e){for(o=t.p0;o<t.i0;++o)e.rem(i[o]);for(o=t.p1;o<t.i1;++o)e.add(i[o]);e.set(n)}for(o=0;o<a;++o)r[o].update(t,n)},dm.Definition={type:"Window",metadata:{modifies:!0},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:$9.concat(tu)},{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}]},V(dm,O,{transform(t,n){this.stamp=n.stamp;const e=t.modified(),r=Sa(t.sort),i=jp(t.groupby),a=s=>this.group(i(s));let o=this.state;o&&!e||(o=this.state=new G2(t)),e||n.modified(o.inputs)?(this.value={},n.visit(n.SOURCE,s=>a(s).add(s))):(n.visit(n.REM,s=>a(s).remove(s)),n.visit(n.ADD,s=>a(s).add(s)));for(let s=0,u=this._mlen;s<u;++s)S9(this._mods[s],o,r,t);return this._mlen=0,this._mods=[],n.reflow(e).modifies(o.outputs)},group(t){let n=this.value[t];return n||(n=this.value[t]=k2(st),n.stamp=-1),n.stamp<this.stamp&&(n.stamp=this.stamp,this._mods[this._mlen++]=n),n}});const z9=Object.freeze(Object.defineProperty({__proto__:null,aggregate:Li,bin:Up,collect:Ip,compare:D2,countpattern:Wp,cross:Hp,density:Gp,dotbin:Yp,expression:M2,extent:Xp,facet:dc,field:B2,filter:Kp,flatten:Qp,fold:Zp,formula:tm,generate:z2,impute:nm,joinaggregate:em,kde:rm,key:O2,load:N2,lookup:am,multiextent:R2,multivalues:T2,params:P2,pivot:om,prefacet:j2,project:sm,proxy:L2,quantile:um,relay:q2,sample:lm,sequence:cm,sieve:U2,subflow:Jp,timeunit:fm,tupleindex:W2,values:H2,window:dm},Symbol.toStringTag,{value:"Module"}));function Y2(t,n,e){var r=null,i=Hn(!0),a=null,o=Ix,s=null,u=Ux(l);function l(f){var d,h,p,m,g,y=(f=M8(f)).length,v=!1,x=new Array(y),b=new Array(y);for(a==null&&(s=o(g=u())),d=0;d<=y;++d){if(!(d<y&&i(m=f[d],d,f))===v)if(v=!v)h=d,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),p=d-1;p>=h;--p)s.point(x[p],b[p]);s.lineEnd(),s.areaEnd()}v&&(x[d]=+t(m,d,f),b[d]=+n(m,d,f),s.point(r?+r(m,d,f):x[d],e?+e(m,d,f):b[d]))}if(g)return s=null,g+""||null}function c(){return Wx().defined(i).curve(o).context(a)}return t=typeof t=="function"?t:t===void 0?B8:Hn(+t),n=typeof n=="function"?n:Hn(n===void 0?0:+n),e=typeof e=="function"?e:e===void 0?z8:Hn(+e),l.x=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),r=null,l):t},l.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Hn(+f),l):t},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Hn(+f),l):r},l.y=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),e=null,l):n},l.y0=function(f){return arguments.length?(n=typeof f=="function"?f:Hn(+f),l):n},l.y1=function(f){return arguments.length?(e=f==null?null:typeof f=="function"?f:Hn(+f),l):e},l.lineX0=l.lineY0=function(){return c().x(t).y(n)},l.lineY1=function(){return c().x(t).y(e)},l.lineX1=function(){return c().x(r).y(n)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Hn(!!f),l):i},l.curve=function(f){return arguments.length?(o=f,a!=null&&(s=o(a)),l):o},l.context=function(f){return arguments.length?(f==null?a=s=null:s=o(a=f),l):a},l}const O9={draw(t,n){const e=O8(n/R8);t.moveTo(e,0),t.arc(0,0,e,0,N8)}};function qi(t,n){if(typeof document<"u"&&document.createElement){const e=document.createElement("canvas");if(e&&e.getContext)return e.width=t,e.height=n,e}return null}const N9=()=>typeof Image<"u"?Image:null;var X2=-.14861,hm=1.78277,pm=-.29227,pc=-.90649,eu=1.97294,J2=eu*pc,K2=eu*hm,Q2=hm*pm-pc*X2;function mm(t,n,e,r){return arguments.length===1?function(i){if(i instanceof Ba)return new Ba(i.h,i.s,i.l,i.opacity);i instanceof Px||(i=d8(i));var a=i.r/255,o=i.g/255,s=i.b/255,u=(Q2*s+J2*a-K2*o)/(Q2+J2-K2),l=s-u,c=(eu*(o-u)-pm*l)/pc,f=Math.sqrt(c*c+l*l)/(eu*u*(1-u)),d=f?Math.atan2(c,l)*V6-120:NaN;return new Ba(d<0?d+360:d,f,u,i.opacity)}(t):new Ba(t,n,e,r??1)}function Ba(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Z2(t){return function(n,e){var r=t((n=mp(n)).h,(e=mp(e)).h),i=Oe(n.s,e.s),a=Oe(n.l,e.l),o=Oe(n.opacity,e.opacity);return function(s){return n.h=r(s),n.s=i(s),n.l=a(s),n.opacity=o(s),n+""}}}h8(Ba,mm,p8(m8,{brighter(t){return t=t==null?Lx:Math.pow(Lx,t),new Ba(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?jx:Math.pow(jx,t),new Ba(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Y6,n=+this.l,e=isNaN(this.s)?0:this.s*n*(1-n),r=Math.cos(t),i=Math.sin(t);return new Px(255*(n+e*(X2*r+hm*i)),255*(n+e*(pm*r+pc*i)),255*(n+e*(eu*r)),this.opacity)}}));const R9=Z2(pp);var T9=Z2(Oe);function tw(t){return function n(e){function r(i,a){var o=t((i=mm(i)).h,(a=mm(a)).h),s=Oe(i.s,a.s),u=Oe(i.l,a.l),l=Oe(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=u(Math.pow(c,e)),i.opacity=l(c),i+""}}return e=+e,r.gamma=n,r}(1)}const P9=tw(pp);var j9=tw(Oe);function gm(t,n){n===void 0&&(n=t,t=Vs);for(var e=0,r=n.length-1,i=n[0],a=new Array(r<0?0:r);e<r;)a[e]=t(i,i=n[++e]);return function(o){var s=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return a[s](o-s)}}const L9=Object.freeze(Object.defineProperty({__proto__:null,interpolate:Vs,interpolateArray:a8,interpolateBasis:g8,interpolateBasisClosed:y8,interpolateCubehelix:P9,interpolateCubehelixLong:j9,interpolateDate:o8,interpolateDiscrete:function(t){var n=t.length;return function(e){return t[Math.max(0,Math.min(n-1,Math.floor(e*n)))]}},interpolateHcl:X6,interpolateHclLong:J6,interpolateHsl:R9,interpolateHslLong:T9,interpolateHue:function(t,n){var e=pp(+t,+n);return function(r){var i=e(r);return i-360*Math.floor(i/360)}},interpolateLab:function(t,n){var e=Oe((t=fp(t)).l,(n=fp(n)).l),r=Oe(t.a,n.a),i=Oe(t.b,n.b),a=Oe(t.opacity,n.opacity);return function(o){return t.l=e(o),t.a=r(o),t.b=i(o),t.opacity=a(o),t+""}},interpolateNumber:v8,interpolateNumberArray:s8,interpolateObject:u8,interpolateRgb:b8,interpolateRgbBasis:x8,interpolateRgbBasisClosed:w8,interpolateRound:Xl,interpolateString:A8,interpolateTransformCss:_8,interpolateTransformSvg:k8,interpolateZoom:$8,piecewise:gm,quantize:function(t,n){for(var e=new Array(n),r=0;r<n;++r)e[r]=t(r/(n-1));return e}},Symbol.toStringTag,{value:"Module"}));function nw(t){return Math.log(t)}function ew(t){return Math.exp(t)}function q9(t){return-Math.log(-t)}function U9(t){return-Math.exp(-t)}function I9(t){return isFinite(t)?+("1e"+t):t<0?0:t}function rw(t){return(n,e)=>-t(-n,e)}function ym(t){const n=t(nw,ew),e=n.domain;let r,i,a=10;function o(){return r=function(s){return s===Math.E?Math.log:s===10&&Math.log10||s===2&&Math.log2||(s=Math.log(s),u=>Math.log(u)/s)}(a),i=function(s){return s===10?I9:s===Math.E?Math.exp:u=>Math.pow(s,u)}(a),e()[0]<0?(r=rw(r),i=rw(i),t(q9,U9)):t(nw,ew),n}return n.base=function(s){return arguments.length?(a=+s,o()):a},n.domain=function(s){return arguments.length?(e(s),o()):e()},n.ticks=s=>{const u=e();let l=u[0],c=u[u.length-1];const f=c<l;f&&([l,c]=[c,l]);let d,h,p=r(l),m=r(c);const g=s==null?10:+s;let y=[];if(!(a%1)&&m-p<g){if(p=Math.floor(p),m=Math.ceil(m),l>0){for(;p<=m;++p)for(d=1;d<a;++d)if(h=p<0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}}else for(;p<=m;++p)for(d=a-1;d>=1;--d)if(h=p>0?d/i(-p):d*i(p),!(h<l)){if(h>c)break;y.push(h)}2*y.length<g&&(y=lx(l,c,g))}else y=lx(p,m,Math.min(m-p,g)).map(i);return f?y.reverse():y},n.tickFormat=(s,u)=>{if(s==null&&(s=10),u==null&&(u=a===10?"s":","),typeof u!="function"&&(a%1||(u=h6(u)).precision!=null||(u.trim=!0),u=p6(u)),s===1/0)return u;const l=Math.max(1,a*s/n.ticks().length);return c=>{let f=c/i(Math.round(r(c)));return f*a<a-.5&&(f*=a),f<=l?u(c):""}},n.nice=()=>e(K6(e(),{floor:s=>i(Math.floor(r(s))),ceil:s=>i(Math.ceil(r(s)))})),n}function iw(t){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/t))}}function aw(t){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*t}}function vm(t){var n=1,e=t(iw(n),aw(n));return e.constant=function(r){return arguments.length?t(iw(n=+r),aw(n)):n},Eo(e)}function ow(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function W9(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function H9(t){return t<0?-t*t:t*t}function bm(t){var n=t(Ri,Ri),e=1;return n.exponent=function(r){return arguments.length?(e=+r)==1?t(Ri,Ri):e===.5?t(W9,H9):t(ow(e),ow(1/e)):e},Eo(n)}function xm(){var t=bm(dp());return t.copy=function(){return hp(t,xm()).exponent(t.exponent())},$a.apply(t,arguments),t}function mc(){var t,n,e,r,i,a=0,o=1,s=Ri,u=!1;function l(f){return f==null||isNaN(f=+f)?i:s(e===0?.5:(f=(r(f)-t)*e,u?Math.max(0,Math.min(1,f)):f))}function c(f){return function(d){var h,p;return arguments.length?([h,p]=d,s=f(h,p),l):[s(0),s(1)]}}return l.domain=function(f){return arguments.length?([a,o]=f,t=r(a=+a),n=r(o=+o),e=t===n?0:1/(n-t),l):[a,o]},l.clamp=function(f){return arguments.length?(u=!!f,l):u},l.interpolator=function(f){return arguments.length?(s=f,l):s},l.range=c(Vs),l.rangeRound=c(Xl),l.unknown=function(f){return arguments.length?(i=f,l):i},function(f){return r=f,t=f(a),n=f(o),e=t===n?0:1/(n-t),l}}function Ui(t,n){return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function wm(){var t=Eo(mc()(Ri));return t.copy=function(){return Ui(t,wm())},Ti.apply(t,arguments)}function Am(){var t=bm(mc());return t.copy=function(){return Ui(t,Am()).exponent(t.exponent())},Ti.apply(t,arguments)}function gc(){var t,n,e,r,i,a,o,s=0,u=.5,l=1,c=1,f=Ri,d=!1;function h(m){return isNaN(m=+m)?o:(m=.5+((m=+a(m))-n)*(c*m<c*n?r:i),f(d?Math.max(0,Math.min(1,m)):m))}function p(m){return function(g){var y,v,x;return arguments.length?([y,v,x]=g,f=gm(m,[y,v,x]),h):[f(0),f(.5),f(1)]}}return h.domain=function(m){return arguments.length?([s,u,l]=m,t=a(s=+s),n=a(u=+u),e=a(l=+l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h):[s,u,l]},h.clamp=function(m){return arguments.length?(d=!!m,h):d},h.interpolator=function(m){return arguments.length?(f=m,h):f},h.range=p(Vs),h.rangeRound=p(Xl),h.unknown=function(m){return arguments.length?(o=m,h):o},function(m){return a=m,t=m(s),n=m(u),e=m(l),r=t===n?0:.5/(n-t),i=n===e?0:.5/(e-n),c=n<t?-1:1,h}}function _m(){var t=bm(gc());return t.copy=function(){return Ui(t,_m()).exponent(t.exponent())},Ti.apply(t,arguments)}const G9=Fr("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),V9=Fr("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),Y9=Fr("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),X9=Fr("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),J9=Fr("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),K9=Fr("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),Q9=Fr("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),Z9=Fr("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),t7=Fr("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),n7=Fr("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");function km(t,n,e){const r=t-n+2*e;return t?r>0?r:1:0}const Bo="linear",ri="log",ru="pow",iu="sqrt",yc="symlog",za="time",Oa="utc",Cr="sequential",zo="diverging",Oo="quantile",vc="quantize",bc="threshold",Dm="ordinal",Fm="point",sw="band",Cm="bin-ordinal",fn="continuous",au="discrete",ou="discretizing",Re="interpolating",Em="temporal";function $m(){const t=qx().unknown(void 0),n=t.domain,e=t.range;let r,i,a=[0,1],o=!1,s=0,u=0,l=.5;function c(){const f=n().length,d=a[1]<a[0],h=a[1-d],p=km(f,s,u);let m=a[d-0];r=(h-m)/(p||1),o&&(r=Math.floor(r)),m+=(h-m-r*(f-s))*l,i=r*(1-s),o&&(m=Math.round(m),i=Math.round(i));const g=xe(f).map(y=>m+r*y);return e(d?g.reverse():g)}return delete t.unknown,t.domain=function(f){return arguments.length?(n(f),c()):n()},t.range=function(f){return arguments.length?(a=[+f[0],+f[1]],c()):a.slice()},t.rangeRound=function(f){return a=[+f[0],+f[1]],o=!0,c()},t.bandwidth=function(){return i},t.step=function(){return r},t.round=function(f){return arguments.length?(o=!!f,c()):o},t.padding=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),s=u,c()):s},t.paddingInner=function(f){return arguments.length?(s=Math.max(0,Math.min(1,f)),c()):s},t.paddingOuter=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),c()):u},t.align=function(f){return arguments.length?(l=Math.max(0,Math.min(1,f)),c()):l},t.invertRange=function(f){if(f[0]==null||f[1]==null)return;const d=a[1]<a[0],h=d?e().reverse():e(),p=h.length-1;let m,g,y,v=+f[0],x=+f[1];return v!=v||x!=x||(x<v&&(y=v,v=x,x=y),x<h[0]||v>a[1-d])?void 0:(m=Math.max(0,Ea(h,v)-1),g=v===x?m:Ea(h,x)-1,v-h[m]>i+1e-10&&++m,d&&(y=m,m=p-g,g=p-y),m>g?void 0:n().slice(m,g+1))},t.invert=function(f){const d=t.invertRange([f,f]);return d&&d[0]},t.copy=function(){return $m().domain(n()).range(a).round(o).paddingInner(s).paddingOuter(u).align(l)},c()}function uw(t){const n=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,t.copy=function(){return uw(n())},t}var e7=Array.prototype.map;const r7=Array.prototype.slice,xc=new Map,lw=Symbol("vega_scale");function cw(t){return t[lw]=!0,t}function fw(t){return t&&t[lw]===!0}function Dt(t,n,e){return arguments.length>1?(xc.set(t,function(r,i,a){const o=function(){const s=i();return s.invertRange||(s.invertRange=s.invert?function(u){return function(l){let c,f=l[0],d=l[1];return d<f&&(c=f,f=d,d=c),[u.invert(f),u.invert(d)]}}(s):s.invertExtent?function(u){return function(l){const c=u.range();let f,d,h,p,m=l[0],g=l[1],y=-1;for(g<m&&(d=m,m=g,g=d),h=0,p=c.length;h<p;++h)c[h]>=m&&c[h]<=g&&(y<0&&(y=h),f=h);if(!(y<0))return m=u.invertExtent(c[y]),g=u.invertExtent(c[f]),[m[0]===void 0?m[1]:m[0],g[1]===void 0?g[0]:g[1]]}}(s):void 0),s.type=r,cw(s)};return o.metadata=Dr(K(a)),o}(t,n,e)),this):dw(t)?xc.get(t):void 0}function dw(t){return xc.has(t)}function Na(t,n){const e=xc.get(t);return e&&e.metadata[n]}function Sm(t){return Na(t,fn)}function No(t){return Na(t,au)}function Mm(t){return Na(t,ou)}function hw(t){return Na(t,ri)}function pw(t){return Na(t,Re)}function mw(t){return Na(t,Oo)}Dt("identity",function t(n){var e;function r(i){return i==null||isNaN(i=+i)?e:i}return r.invert=r,r.domain=r.range=function(i){return arguments.length?(n=Array.from(i,Tx),r):n.slice()},r.unknown=function(i){return arguments.length?(e=i,r):e},r.copy=function(){return t(n).unknown(e)},n=arguments.length?Array.from(n,Tx):[0,1],Eo(r)}),Dt(Bo,l8,fn),Dt(ri,function t(){const n=ym(dp()).domain([1,10]);return n.copy=()=>hp(n,t()).base(n.base()),$a.apply(n,arguments),n},[fn,ri]),Dt(ru,xm,fn),Dt(iu,function(){return xm.apply(null,arguments).exponent(.5)},fn),Dt(yc,function t(){var n=vm(dp());return n.copy=function(){return hp(n,t()).constant(n.constant())},$a.apply(n,arguments)},fn),Dt(za,n8,[fn,Em]),Dt(Oa,function(){return $a.apply(Q6(t8,Z6,A6,w6,x6,b6,v6,y6,g6,m6).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[fn,Em]),Dt(Cr,wm,[fn,Re]),Dt(`${Cr}-${Bo}`,wm,[fn,Re]),Dt(`${Cr}-${ri}`,function t(){var n=ym(mc()).domain([1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${Cr}-${ru}`,Am,[fn,Re]),Dt(`${Cr}-${iu}`,function(){return Am.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${Cr}-${yc}`,function t(){var n=vm(mc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${zo}-${Bo}`,function t(){var n=Eo(gc()(Ri));return n.copy=function(){return Ui(n,t())},Ti.apply(n,arguments)},[fn,Re]),Dt(`${zo}-${ri}`,function t(){var n=ym(gc()).domain([.1,1,10]);return n.copy=function(){return Ui(n,t()).base(n.base())},Ti.apply(n,arguments)},[fn,Re,ri]),Dt(`${zo}-${ru}`,_m,[fn,Re]),Dt(`${zo}-${iu}`,function(){return _m.apply(null,arguments).exponent(.5)},[fn,Re]),Dt(`${zo}-${yc}`,function t(){var n=vm(gc());return n.copy=function(){return Ui(n,t()).constant(n.constant())},Ti.apply(n,arguments)},[fn,Re]),Dt(Oo,function t(){var n,e=[],r=[],i=[];function a(){var s=0,u=Math.max(1,r.length);for(i=new Array(u-1);++s<u;)i[s-1]=Vx(e,s/u);return o}function o(s){return s==null||isNaN(s=+s)?n:r[Ea(i,s)]}return o.invertExtent=function(s){var u=r.indexOf(s);return u<0?[NaN,NaN]:[u>0?i[u-1]:e[0],u<i.length?i[u]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let u of s)u==null||isNaN(u=+u)||e.push(u);return e.sort(Ws),a()},o.range=function(s){return arguments.length?(r=Array.from(s),a()):r.slice()},o.unknown=function(s){return arguments.length?(n=s,o):n},o.quantiles=function(){return i.slice()},o.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(o,arguments)},[ou,Oo]),Dt(vc,function t(){var n,e=0,r=1,i=1,a=[.5],o=[0,1];function s(l){return l!=null&&l<=l?o[Ea(a,l,0,i)]:n}function u(){var l=-1;for(a=new Array(i);++l<i;)a[l]=((l+1)*r-(l-i)*e)/(i+1);return s}return s.domain=function(l){return arguments.length?([e,r]=l,e=+e,r=+r,u()):[e,r]},s.range=function(l){return arguments.length?(i=(o=Array.from(l)).length-1,u()):o.slice()},s.invertExtent=function(l){var c=o.indexOf(l);return c<0?[NaN,NaN]:c<1?[e,a[0]]:c>=i?[a[i-1],r]:[a[c-1],a[c]]},s.unknown=function(l){return arguments.length&&(n=l),s},s.thresholds=function(){return a.slice()},s.copy=function(){return t().domain([e,r]).range(o).unknown(n)},$a.apply(Eo(s),arguments)},ou),Dt(bc,function t(){var n,e=[.5],r=[0,1],i=1;function a(o){return o!=null&&o<=o?r[Ea(e,o,0,i)]:n}return a.domain=function(o){return arguments.length?(e=Array.from(o),i=Math.min(e.length,r.length-1),a):e.slice()},a.range=function(o){return arguments.length?(r=Array.from(o),i=Math.min(e.length,r.length-1),a):r.slice()},a.invertExtent=function(o){var s=r.indexOf(o);return[e[s-1],e[s]]},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return t().domain(e).range(r).unknown(n)},$a.apply(a,arguments)},ou),Dt(Cm,function t(){let n=[],e=[];function r(i){return i==null||i!=i?void 0:e[(Ea(n,i)-1)%e.length]}return r.domain=function(i){return arguments.length?(n=function(a){return e7.call(a,ze)}(i),r):n.slice()},r.range=function(i){return arguments.length?(e=r7.call(i),r):e.slice()},r.tickFormat=function(i,a){return c8(n[0],Bt(n),i??10,a)},r.copy=function(){return t().domain(r.domain()).range(r.range())},r},[au,ou]),Dt(Dm,qx,au),Dt(sw,$m,au),Dt(Fm,function(){return uw($m().paddingInner(1))},au);const i7=["clamp","base","constant","exponent"];function gw(t,n){const e=n[0],r=Bt(n)-e;return function(i){return t(e+i*r)}}function wc(t,n,e){return gm(Bm(n||"rgb",e),t)}function yw(t,n){const e=new Array(n),r=n+1;for(let i=0;i<n;)e[i]=t(++i/r);return e}function vw(t,n,e){const r=e-n;let i,a,o;return r&&Number.isFinite(r)?(i=(a=t.type).indexOf("-"),a=i<0?a:a.slice(i+1),o=Dt(a)().domain([n,e]).range([0,1]),i7.forEach(s=>t[s]?o[s](t[s]()):0),o):In(.5)}function Bm(t,n){const e=L9[function(r){return"interpolate"+r.toLowerCase().split("-").map(i=>i[0].toUpperCase()+i.slice(1)).join("")}(t)];return n!=null&&e&&e.gamma?e.gamma(n):e}function bw(t){if(P(t))return t;const n=t.length/6|0,e=new Array(n);for(let r=0;r<n;)e[r]="#"+t.slice(6*r,6*++r);return e}function xw(t,n){for(const e in t)zm(e,n(t[e]))}const ww={};function zm(t,n){return t=t&&t.toLowerCase(),arguments.length>1?(ww[t]=n,this):ww[t]}xw({accent:V9,category10:G9,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:Y9,observable10:X9,paired:J9,pastel1:K9,pastel2:Q9,set1:Z9,set2:t7,set3:n7,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},bw),xw({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"},t=>wc(bw(t)));const Ac="symbol",a7=t=>P(t)?t.map(n=>String(n)):String(t),o7=(t,n)=>t[1]-n[1],s7=(t,n)=>n[1]-t[1];function Om(t,n,e){let r;return $t(n)&&(t.bins&&(n=Math.max(n,t.bins.length)),e!=null&&(n=Math.min(n,Math.floor(Gl(t.domain())/e||1)+1))),Z(n)&&(r=n.step,n=n.interval),Q(n)&&(n=t.type===za?np(n):t.type==Oa?tp(n):j("Only time and utc scales accept interval strings."),r&&(n=n.every(r))),n}function Aw(t,n,e){let r=t.range(),i=r[0],a=Bt(r),o=o7;if(i>a&&(r=a,a=i,i=r,o=s7),i=Math.floor(i),a=Math.ceil(a),n=n.map(s=>[s,t(s)]).filter(s=>i<=s[1]&&s[1]<=a).sort(o).map(s=>s[0]),e>0&&n.length>1){const s=[n[0],Bt(n)];for(;n.length>e&&n.length>=3;)n=n.filter((u,l)=>!(l%2));n.length<3&&(n=s)}return n}function Nm(t,n){return t.bins?Aw(t,t.bins,n):t.ticks?t.ticks(n):t.domain()}function _w(t,n,e,r,i,a){const o=n.type;let s=a7;if(o===za||i===za)s=t.timeFormat(r);else if(o===Oa||i===Oa)s=t.utcFormat(r);else if(hw(o)){const u=t.formatFloat(r);if(a||n.bins)s=u;else{const l=kw(n,e,!1);s=c=>l(c)?u(c):""}}else if(n.tickFormat){const u=n.domain();s=t.formatSpan(u[0],u[u.length-1],e,r)}else r&&(s=t.format(r));return s}function kw(t,n,e){const r=Nm(t,n),i=t.base(),a=Math.log(i),o=Math.max(1,i*n/r.length),s=u=>{let l=u/Math.pow(i,Math.round(Math.log(u)/a));return l*i<i-.5&&(l*=i),l<=o};return e?r.filter(s):s}const Rm={[Oo]:"quantiles",[vc]:"thresholds",[bc]:"domain"},Dw={[Oo]:"quantiles",[vc]:"domain"};function Fw(t,n){return t.bins?function(e){const r=e.slice(0,-1);return r.max=Bt(e),r}(t.bins):t.type===ri?kw(t,n,!0):Rm[t.type]?function(e){const r=[-1/0].concat(e);return r.max=1/0,r}(t[Rm[t.type]]()):Nm(t,n)}function Cw(t,n,e,r,i,a,o){const s=Dw[n.type]&&a!==za&&a!==Oa?function(u,l,c){const f=l[Dw[l.type]](),d=f.length;let h,p=d>1?f[1]-f[0]:f[0];for(h=1;h<d;++h)p=Math.min(p,f[h]-f[h-1]);return u.formatSpan(0,p,30,c)}(t,n,i):_w(t,n,e,i,a,o);return r===Ac&&(u=>Rm[u.type]||u.bins)(n)?u7(s):r==="discrete"?l7(s):c7(s)}const u7=t=>(n,e,r)=>{const i=Ew(r[e+1],Ew(r.max,1/0)),a=$w(n,t),o=$w(i,t);return a&&o?a+" \u2013 "+o:o?"< "+o:"\u2265 "+a},Ew=(t,n)=>t??n,l7=t=>(n,e)=>e?t(n):null,c7=t=>n=>t(n),$w=(t,n)=>Number.isFinite(t)?n(t):null;function f7(t,n,e,r){const i=r||n.type;return Q(e)&&function(a){return Na(a,Em)}(i)&&(e=e.replace(/%a/g,"%A").replace(/%b/g,"%B")),e||i!==za?e||i!==Oa?Cw(t,n,5,null,e,r,!0):t.utcFormat("%A, %d %B %Y, %X UTC"):t.timeFormat("%A, %d %B %Y, %X")}function Sw(t,n,e){e=e||{};const r=Math.max(3,e.maxlen||7),i=f7(t,n,e.format,e.formatType);if(Mm(n.type)){const a=Fw(n).slice(1).map(i),o=a.length;return`${o} boundar${o===1?"y":"ies"}: ${a.join(", ")}`}if(No(n.type)){const a=n.domain(),o=a.length;return`${o} value${o===1?"":"s"}: ${o>r?a.slice(0,r-2).map(i).join(", ")+", ending with "+a.slice(-1).map(i):a.map(i).join(", ")}`}{const a=n.domain();return`values from ${i(a[0])} to ${i(Bt(a))}`}}let Mw=0;const _c="p_";function Tm(t){return t&&t.gradient}function Bw(t,n,e){const r=t.gradient;let i=t.id,a=r==="radial"?_c:"";return i||(i=t.id="gradient_"+Mw++,r==="radial"?(t.x1=Er(t.x1,.5),t.y1=Er(t.y1,.5),t.r1=Er(t.r1,0),t.x2=Er(t.x2,.5),t.y2=Er(t.y2,.5),t.r2=Er(t.r2,.5),a=_c):(t.x1=Er(t.x1,0),t.y1=Er(t.y1,0),t.x2=Er(t.x2,1),t.y2=Er(t.y2,0))),n[i]=t,"url("+(e||"")+"#"+a+i+")"}function Er(t,n){return t??n}function zw(t,n){var e,r=[];return e={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:r,stop:function(i,a){return r.push({offset:i,color:a}),e}}}const Ow={basis:{curve:Z8},"basis-closed":{curve:Q8},"basis-open":{curve:K8},bundle:{curve:J8,tension:"beta",value:.85},cardinal:{curve:X8,tension:"tension",value:0},"cardinal-open":{curve:Y8,tension:"tension",value:0},"cardinal-closed":{curve:V8,tension:"tension",value:0},"catmull-rom":{curve:G8,tension:"alpha",value:.5},"catmull-rom-closed":{curve:H8,tension:"alpha",value:.5},"catmull-rom-open":{curve:W8,tension:"alpha",value:.5},linear:{curve:Ix},"linear-closed":{curve:I8},monotone:{horizontal:U8,vertical:q8},natural:{curve:L8},step:{curve:j8},"step-after":{curve:P8},"step-before":{curve:T8}};function Pm(t,n,e){var r=tt(Ow,t)&&Ow[t],i=null;return r&&(i=r.curve||r[n||"vertical"],r.tension&&e!=null&&(i=i[r.tension](e))),i}const d7={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},h7=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,p7=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,m7=/^((\s+,?\s*)|(,\s*))/,g7=/^[01]/;function Ro(t){const n=[];return(t.match(h7)||[]).forEach(e=>{let r=e[0];const i=r.toLowerCase(),a=d7[i],o=function(u,l,c){const f=[];for(let d=0;l&&d<c.length;)for(let h=0;h<l;++h){const p=u!=="a"||h!==3&&h!==4?p7:g7,m=c.slice(d).match(p);if(m===null)throw Error("Invalid SVG path, incorrect parameter type");d+=m[0].length,f.push(+m[0]);const g=c.slice(d).match(m7);g!==null&&(d+=g[0].length)}return f}(i,a,e.slice(1).trim()),s=o.length;if(s<a||s&&s%a!==0)throw Error("Invalid SVG path, incorrect parameter count");if(n.push([r,...o.slice(0,a)]),s!==a){i==="m"&&(r=r==="M"?"L":"l");for(let u=a;u<s;u+=a)n.push([r,...o.slice(u,u+a)])}}),n}const Ii=Math.PI/180,Ra=Math.PI/2,$r=2*Math.PI,To=Math.sqrt(3)/2;var jm={},Lm={},Nw=[].join;function y7(t){const n=Nw.call(t);if(Lm[n])return Lm[n];var e=t[0],r=t[1],i=t[2],a=t[3],o=t[4],s=t[5],u=t[6],l=t[7];const c=l*o,f=-u*s,d=u*o,h=l*s,p=Math.cos(i),m=Math.sin(i),g=Math.cos(a),y=Math.sin(a),v=.5*(a-i),x=Math.sin(.5*v),b=8/3*x*x/Math.sin(v),w=e+p-b*m,A=r+m+b*p,_=e+g,k=r+y,F=_+b*y,C=k-b*g;return Lm[n]=[c*w+f*A,d*w+h*A,c*F+f*C,d*F+h*C,c*_+f*k,d*_+h*k]}const Te=["l",0,0,0,0,0,0,0];function v7(t,n,e){const r=Te[0]=t[0];if(r==="a"||r==="A")Te[1]=n*t[1],Te[2]=e*t[2],Te[3]=t[3],Te[4]=t[4],Te[5]=t[5],Te[6]=n*t[6],Te[7]=e*t[7];else if(r==="h"||r==="H")Te[1]=n*t[1];else if(r==="v"||r==="V")Te[1]=e*t[1];else for(var i=1,a=t.length;i<a;++i)Te[i]=(i%2==1?n:e)*t[i];return Te}function su(t,n,e,r,i,a){var o,s,u,l,c,f=null,d=0,h=0,p=0,m=0,g=0,y=0;e==null&&(e=0),r==null&&(r=0),i==null&&(i=1),a==null&&(a=i),t.beginPath&&t.beginPath();for(var v=0,x=n.length;v<x;++v){switch(o=n[v],i===1&&a===1||(o=v7(o,i,a)),o[0]){case"l":d+=o[1],h+=o[2],t.lineTo(d+e,h+r);break;case"L":d=o[1],h=o[2],t.lineTo(d+e,h+r);break;case"h":d+=o[1],t.lineTo(d+e,h+r);break;case"H":d=o[1],t.lineTo(d+e,h+r);break;case"v":h+=o[1],t.lineTo(d+e,h+r);break;case"V":h=o[1],t.lineTo(d+e,h+r);break;case"m":g=d+=o[1],y=h+=o[2],t.moveTo(d+e,h+r);break;case"M":g=d=o[1],y=h=o[2],t.moveTo(d+e,h+r);break;case"c":s=d+o[5],u=h+o[6],p=d+o[3],m=h+o[4],t.bezierCurveTo(d+o[1]+e,h+o[2]+r,p+e,m+r,s+e,u+r),d=s,h=u;break;case"C":d=o[5],h=o[6],p=o[3],m=o[4],t.bezierCurveTo(o[1]+e,o[2]+r,p+e,m+r,d+e,h+r);break;case"s":s=d+o[3],u=h+o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,d+o[1]+e,h+o[2]+r,s+e,u+r),p=d+o[1],m=h+o[2],d=s,h=u;break;case"S":s=o[3],u=o[4],p=2*d-p,m=2*h-m,t.bezierCurveTo(p+e,m+r,o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"q":s=d+o[3],u=h+o[4],p=d+o[1],m=h+o[2],t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"Q":s=o[3],u=o[4],t.quadraticCurveTo(o[1]+e,o[2]+r,s+e,u+r),d=s,h=u,p=o[1],m=o[2];break;case"t":s=d+o[1],u=h+o[2],f[0].match(/[QqTt]/)===null?(p=d,m=h):f[0]==="t"?(p=2*d-l,m=2*h-c):f[0]==="q"&&(p=2*d-p,m=2*h-m),l=p,c=m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),h=u,p=(d=s)+o[1],m=h+o[2];break;case"T":s=o[1],u=o[2],p=2*d-p,m=2*h-m,t.quadraticCurveTo(p+e,m+r,s+e,u+r),d=s,h=u;break;case"a":Rw(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+d+e,o[7]+h+r]),d+=o[6],h+=o[7];break;case"A":Rw(t,d+e,h+r,[o[1],o[2],o[3],o[4],o[5],o[6]+e,o[7]+r]),d=o[6],h=o[7];break;case"z":case"Z":d=g,h=y,t.closePath()}f=o}}function Rw(t,n,e,r){const i=function(a,o,s,u,l,c,f,d,h){const p=Nw.call(arguments);if(jm[p])return jm[p];const m=f*Ii,g=Math.sin(m),y=Math.cos(m),v=y*(d-a)*.5+g*(h-o)*.5,x=y*(h-o)*.5-g*(d-a)*.5;let b=v*v/((s=Math.abs(s))*s)+x*x/((u=Math.abs(u))*u);b>1&&(b=Math.sqrt(b),s*=b,u*=b);const w=y/s,A=g/s,_=-g/u,k=y/u,F=w*d+A*h,C=_*d+k*h,D=w*a+A*o,E=_*a+k*o;let $=1/((D-F)*(D-F)+(E-C)*(E-C))-.25;$<0&&($=0);let M=Math.sqrt($);c==l&&(M=-M);const S=.5*(F+D)-M*(E-C),B=.5*(C+E)+M*(D-F),z=Math.atan2(C-B,F-S);let N=Math.atan2(E-B,D-S)-z;N<0&&c===1?N+=$r:N>0&&c===0&&(N-=$r);const W=Math.ceil(Math.abs(N/(Ra+.001))),X=[];for(let L=0;L<W;++L){const et=z+L*N/W,ot=z+(L+1)*N/W;X[L]=[S,B,et,ot,s,u,g,y]}return jm[p]=X}(r[5],r[6],r[0],r[1],r[3],r[4],r[2],n,e);for(let a=0;a<i.length;++a){const o=y7(i[a]);t.bezierCurveTo(o[0],o[1],o[2],o[3],o[4],o[5])}}const Tw=.5773502691896257,Pw={circle:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(e,0),t.arc(0,0,e,0,$r)}},cross:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/2.5;t.moveTo(-e,-r),t.lineTo(-e,r),t.lineTo(-r,r),t.lineTo(-r,e),t.lineTo(r,e),t.lineTo(r,r),t.lineTo(e,r),t.lineTo(e,-r),t.lineTo(r,-r),t.lineTo(r,-e),t.lineTo(-r,-e),t.lineTo(-r,-r),t.closePath()}},diamond:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(0,-e),t.lineTo(e,0),t.lineTo(0,e),t.closePath()}},square:{draw:function(t,n){var e=Math.sqrt(n),r=-e/2;t.rect(r,r,e,e)}},arrow:{draw:function(t,n){var e=Math.sqrt(n)/2,r=e/7,i=e/2.5,a=e/8;t.moveTo(-r,e),t.lineTo(r,e),t.lineTo(r,-a),t.lineTo(i,-a),t.lineTo(0,-e),t.lineTo(-i,-a),t.lineTo(-r,-a),t.closePath()}},wedge:{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e,i=r-e*Tw,a=e/4;t.moveTo(0,-r-i),t.lineTo(-a,r-i),t.lineTo(a,r-i),t.closePath()}},triangle:{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e,i=r-e*Tw;t.moveTo(0,-r-i),t.lineTo(-e,r-i),t.lineTo(e,r-i),t.closePath()}},"triangle-up":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(0,-r),t.lineTo(-e,r),t.lineTo(e,r),t.closePath()}},"triangle-down":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(0,r),t.lineTo(-e,-r),t.lineTo(e,-r),t.closePath()}},"triangle-right":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(r,0),t.lineTo(-r,-e),t.lineTo(-r,e),t.closePath()}},"triangle-left":{draw:function(t,n){var e=Math.sqrt(n)/2,r=To*e;t.moveTo(-r,0),t.lineTo(r,-e),t.lineTo(r,e),t.closePath()}},stroke:{draw:function(t,n){const e=Math.sqrt(n)/2;t.moveTo(-e,0),t.lineTo(e,0)}}};function jw(t){return tt(Pw,t)?Pw[t]:function(n){if(!tt(qm,n)){const e=Ro(n);qm[n]={draw:function(r,i){su(r,e,0,0,Math.sqrt(i)/2)}}}return qm[n]}(t)}var qm={};const Wi=.448084975506;function b7(t){return t.x}function x7(t){return t.y}function w7(t){return t.width}function A7(t){return t.height}function ii(t){return typeof t=="function"?t:()=>+t}function kc(t,n,e){return Math.max(n,Math.min(t,e))}function Lw(){var t=b7,n=x7,e=w7,r=A7,i=ii(0),a=i,o=i,s=i,u=null;function l(c,f,d){var h,p=f??+t.call(this,c),m=d??+n.call(this,c),g=+e.call(this,c),y=+r.call(this,c),v=Math.min(g,y)/2,x=kc(+i.call(this,c),0,v),b=kc(+a.call(this,c),0,v),w=kc(+o.call(this,c),0,v),A=kc(+s.call(this,c),0,v);if(u||(u=h=gp()),x<=0&&b<=0&&w<=0&&A<=0)u.rect(p,m,g,y);else{var _=p+g,k=m+y;u.moveTo(p+x,m),u.lineTo(_-b,m),u.bezierCurveTo(_-Wi*b,m,_,m+Wi*b,_,m+b),u.lineTo(_,k-A),u.bezierCurveTo(_,k-Wi*A,_-Wi*A,k,_-A,k),u.lineTo(p+w,k),u.bezierCurveTo(p+Wi*w,k,p,k-Wi*w,p,k-w),u.lineTo(p,m+x),u.bezierCurveTo(p,m+Wi*x,p+Wi*x,m,p+x,m),u.closePath()}if(h)return u=null,h+""||null}return l.x=function(c){return arguments.length?(t=ii(c),l):t},l.y=function(c){return arguments.length?(n=ii(c),l):n},l.width=function(c){return arguments.length?(e=ii(c),l):e},l.height=function(c){return arguments.length?(r=ii(c),l):r},l.cornerRadius=function(c,f,d,h){return arguments.length?(i=ii(c),a=f!=null?ii(f):i,s=d!=null?ii(d):i,o=h!=null?ii(h):a,l):i},l.context=function(c){return arguments.length?(u=c??null,l):u},l}function qw(){var t,n,e,r,i,a,o,s,u=null;function l(f,d,h){const p=h/2;if(i){var m=o-d,g=f-a;if(m||g){var y=Math.hypot(m,g),v=(m/=y)*s,x=(g/=y)*s,b=Math.atan2(g,m);u.moveTo(a-v,o-x),u.lineTo(f-m*p,d-g*p),u.arc(f,d,p,b-Math.PI,b),u.lineTo(a+v,o+x),u.arc(a,o,s,b,b+Math.PI)}else u.arc(f,d,p,0,$r);u.closePath()}else i=1;a=f,o=d,s=p}function c(f){var d,h,p,m=f.length,g=!1;for(u==null&&(u=p=gp()),d=0;d<=m;++d)!(d<m&&r(h=f[d],d,f))===g&&(g=!g)&&(i=0),g&&l(+t(h,d,f),+n(h,d,f),+e(h,d,f));if(p)return u=null,p+""||null}return c.x=function(f){return arguments.length?(t=f,c):t},c.y=function(f){return arguments.length?(n=f,c):n},c.size=function(f){return arguments.length?(e=f,c):e},c.defined=function(f){return arguments.length?(r=f,c):r},c.context=function(f){return arguments.length?(u=f??null,c):u},c}function uu(t,n){return t??n}const lu=t=>t.x||0,cu=t=>t.y||0,Dc=t=>t.defined!==!1,_7=t9().startAngle(t=>t.startAngle||0).endAngle(t=>t.endAngle||0).padAngle(t=>t.padAngle||0).innerRadius(t=>t.innerRadius||0).outerRadius(t=>t.outerRadius||0).cornerRadius(t=>t.cornerRadius||0),k7=Y2().x(lu).y1(cu).y0(t=>(t.y||0)+(t.height||0)).defined(Dc),D7=Y2().y(cu).x1(lu).x0(t=>(t.x||0)+(t.width||0)).defined(Dc),F7=Wx().x(lu).y(cu).defined(Dc),C7=Lw().x(lu).y(cu).width(t=>t.width||0).height(t=>t.height||0).cornerRadius(t=>uu(t.cornerRadiusTopLeft,t.cornerRadius)||0,t=>uu(t.cornerRadiusTopRight,t.cornerRadius)||0,t=>uu(t.cornerRadiusBottomRight,t.cornerRadius)||0,t=>uu(t.cornerRadiusBottomLeft,t.cornerRadius)||0),E7=function(t,n){let e=null,r=Ux(i);function i(){let a;if(e||(e=a=r()),t.apply(this,arguments).draw(e,+n.apply(this,arguments)),a)return e=null,a+""||null}return t=typeof t=="function"?t:Hn(t||O9),n=typeof n=="function"?n:Hn(n===void 0?64:+n),i.type=function(a){return arguments.length?(t=typeof a=="function"?a:Hn(a),i):t},i.size=function(a){return arguments.length?(n=typeof a=="function"?a:Hn(+a),i):n},i.context=function(a){return arguments.length?(e=a??null,i):e},i}().type(t=>jw(t.shape||"circle")).size(t=>uu(t.size,64)),$7=qw().x(lu).y(cu).defined(Dc).size(t=>t.size||1);function Um(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function Po(t,n,e,r){return C7.context(t)(n,e,r)}var Uw=1;function Iw(){Uw=1}function Im(t,n,e){var r=n.clip,i=t._defs,a=n.clip_id||(n.clip_id="clip"+Uw++),o=i.clipping[a]||(i.clipping[a]={id:a});return bt(r)?o.path=r(null):Um(e)?o.path=Po(null,e,0,0):(o.width=e.width||0,o.height=e.height||0),"url(#"+a+")"}function cn(t){this.clear(),t&&this.union(t)}function Fc(t){this.mark=t,this.bounds=this.bounds||new cn}function Cc(t){Fc.call(this,t),this.items=this.items||[]}cn.prototype={clone(){return new cn(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(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,n,e,r){return e<t?(this.x2=t,this.x1=e):(this.x1=t,this.x2=e),r<n?(this.y2=n,this.y1=r):(this.y1=n,this.y2=r),this},add(t,n){return t<this.x1&&(this.x1=t),n<this.y1&&(this.y1=n),t>this.x2&&(this.x2=t),n>this.y2&&(this.y2=n),this},expand(t){return this.x1-=t,this.y1-=t,this.x2+=t,this.y2+=t,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(t){return this.x1*=t,this.y1*=t,this.x2*=t,this.y2*=t,this},translate(t,n){return this.x1+=t,this.x2+=t,this.y1+=n,this.y2+=n,this},rotate(t,n,e){const r=this.rotatedPoints(t,n,e);return this.clear().add(r[0],r[1]).add(r[2],r[3]).add(r[4],r[5]).add(r[6],r[7])},rotatedPoints(t,n,e){var{x1:r,y1:i,x2:a,y2:o}=this,s=Math.cos(t),u=Math.sin(t),l=n-n*s+e*u,c=e-n*u-e*s;return[s*r-u*i+l,u*r+s*i+c,s*r-u*o+l,u*r+s*o+c,s*a-u*i+l,u*a+s*i+c,s*a-u*o+l,u*a+s*o+c]},union(t){return t.x1<this.x1&&(this.x1=t.x1),t.y1<this.y1&&(this.y1=t.y1),t.x2>this.x2&&(this.x2=t.x2),t.y2>this.y2&&(this.y2=t.y2),this},intersect(t){return t.x1>this.x1&&(this.x1=t.x1),t.y1>this.y1&&(this.y1=t.y1),t.x2<this.x2&&(this.x2=t.x2),t.y2<this.y2&&(this.y2=t.y2),this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,n){return!(t<this.x1||t>this.x2||n<this.y1||n>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},V(Cc,Fc);class Ww{constructor(n){this._pending=0,this._loader=n||Hl()}pending(){return this._pending}sanitizeURL(n){const e=this;return Hw(e),e._loader.sanitize(n,{context:"href"}).then(r=>(fu(e),r)).catch(()=>(fu(e),null))}loadImage(n){const e=this,r=N9();return Hw(e),e._loader.sanitize(n,{context:"image"}).then(i=>{const a=i.href;if(!a||!r)throw{url:a};const o=new r,s=tt(i,"crossOrigin")?i.crossOrigin:"anonymous";return s!=null&&(o.crossOrigin=s),o.onload=()=>fu(e),o.onerror=()=>fu(e),o.src=a,o}).catch(i=>(fu(e),{complete:!1,width:0,height:0,src:i&&i.url||""}))}ready(){const n=this;return new Promise(e=>{(function r(i){n.pending()?setTimeout(()=>{r(!0)},10):e(i)})(!1)})}}function Hw(t){t._pending+=1}function fu(t){t._pending-=1}function ai(t,n,e){if(n.stroke&&n.opacity!==0&&n.strokeOpacity!==0){const r=n.strokeWidth!=null?+n.strokeWidth:1;t.expand(r+(e?function(i,a){return i.strokeJoin&&i.strokeJoin!=="miter"?0:a}(n,r):0))}return t}const S7=$r-1e-8;let Ec,$c,Sc,Ta,Wm,Mc,Hm,Gm;const Hi=(t,n)=>Ec.add(t,n),Bc=(t,n)=>Hi($c=t,Sc=n),Gw=t=>Hi(t,Ec.y1),Vw=t=>Hi(Ec.x1,t),Pa=(t,n)=>Wm*t+Hm*n,ja=(t,n)=>Mc*t+Gm*n,Vm=(t,n)=>Hi(Pa(t,n),ja(t,n)),Ym=(t,n)=>Bc(Pa(t,n),ja(t,n));function du(t,n){return Ec=t,n?(Ta=n*Ii,Wm=Gm=Math.cos(Ta),Mc=Math.sin(Ta),Hm=-Mc):(Wm=Gm=1,Ta=Mc=Hm=0),M7}const M7={beginPath(){},closePath(){},moveTo:Ym,lineTo:Ym,rect(t,n,e,r){Ta?(Vm(t+e,n),Vm(t+e,n+r),Vm(t,n+r),Ym(t,n)):(Hi(t+e,n+r),Bc(t,n))},quadraticCurveTo(t,n,e,r){const i=Pa(t,n),a=ja(t,n),o=Pa(e,r),s=ja(e,r);Yw($c,i,o,Gw),Yw(Sc,a,s,Vw),Bc(o,s)},bezierCurveTo(t,n,e,r,i,a){const o=Pa(t,n),s=ja(t,n),u=Pa(e,r),l=ja(e,r),c=Pa(i,a),f=ja(i,a);Xw($c,o,u,c,Gw),Xw(Sc,s,l,f,Vw),Bc(c,f)},arc(t,n,e,r,i,a){if(r+=Ta,i+=Ta,$c=e*Math.cos(i)+t,Sc=e*Math.sin(i)+n,Math.abs(i-r)>S7)Hi(t-e,n-e),Hi(t+e,n+e);else{const o=l=>Hi(e*Math.cos(l)+t,e*Math.sin(l)+n);let s,u;if(o(r),o(i),i!==r)if((r%=$r)<0&&(r+=$r),(i%=$r)<0&&(i+=$r),i<r&&(a=!a,s=r,r=i,i=s),a)for(i-=$r,s=r-r%Ra,u=0;u<4&&s>i;++u,s-=Ra)o(s);else for(s=r-r%Ra+Ra,u=0;u<4&&s<i;++u,s+=Ra)o(s)}}};function Yw(t,n,e,r){const i=(t-n)/(t+e-2*n);0<i&&i<1&&r(t+(n-t)*i)}function Xw(t,n,e,r,i){const a=r-t+3*n-3*e,o=t+e-2*n,s=t-n;let u,l=0,c=0;Math.abs(a)>1e-14?(u=o*o+s*a,u>=0&&(u=Math.sqrt(u),l=(-o+u)/a,c=(-o-u)/a)):l=.5*s/o,0<l&&l<1&&i(Jw(l,t,n,e,r)),0<c&&c<1&&i(Jw(c,t,n,e,r))}function Jw(t,n,e,r,i){const a=1-t,o=a*a,s=t*t;return o*a*n+3*o*t*e+3*a*s*r+s*t*i}var Gi=(Gi=qi(1,1))?Gi.getContext("2d"):null;const Xm=new cn;function Jm(t){return function(n,e){if(!Gi)return!0;t(Gi,n),Xm.clear().union(n.bounds).intersect(e).round();const{x1:r,y1:i,x2:a,y2:o}=Xm;for(let s=i;s<=o;++s)for(let u=r;u<=a;++u)if(Gi.isPointInPath(u,s))return!0;return!1}}function Km(t,n){return n.contains(t.x||0,t.y||0)}function Kw(t,n){const e=t.x||0,r=t.y||0,i=t.width||0,a=t.height||0;return n.intersects(Xm.set(e,r,e+i,r+a))}function Qw(t,n){const e=t.x||0,r=t.y||0;return jo(n,e,r,t.x2!=null?t.x2:e,t.y2!=null?t.y2:r)}function jo(t,n,e,r,i){const{x1:a,y1:o,x2:s,y2:u}=t,l=r-n,c=i-e;let f,d,h,p,m=0,g=1;for(p=0;p<4;++p){if(p===0&&(f=-l,d=-(a-n)),p===1&&(f=l,d=s-n),p===2&&(f=-c,d=-(o-e)),p===3&&(f=c,d=u-e),Math.abs(f)<1e-10&&d<0)return!1;if(h=d/f,f<0){if(h>g)return!1;h>m&&(m=h)}else if(f>0){if(h<m)return!1;h<g&&(g=h)}}return!0}function Lo(t,n){t.globalCompositeOperation=n.blend||"source-over"}function Ke(t,n){return t??n}function Zw(t,n){const e=n.length;for(let r=0;r<e;++r)t.addColorStop(n[r].offset,n[r].color);return t}function tA(t,n,e){return Tm(e)?function(r,i,a){const o=a.width(),s=a.height();let u;if(i.gradient==="radial")u=r.createRadialGradient(a.x1+Ke(i.x1,.5)*o,a.y1+Ke(i.y1,.5)*s,Math.max(o,s)*Ke(i.r1,0),a.x1+Ke(i.x2,.5)*o,a.y1+Ke(i.y2,.5)*s,Math.max(o,s)*Ke(i.r2,.5));else{const l=Ke(i.x1,0),c=Ke(i.y1,0),f=Ke(i.x2,1),d=Ke(i.y2,0);if(l!==f&&c!==d&&o!==s){const h=qi(Math.ceil(o),Math.ceil(s)),p=h.getContext("2d");return p.scale(o,s),p.fillStyle=Zw(p.createLinearGradient(l,c,f,d),i.stops),p.fillRect(0,0,o,s),r.createPattern(h,"no-repeat")}u=r.createLinearGradient(a.x1+l*o,a.y1+c*s,a.x1+f*o,a.y1+d*s)}return Zw(u,i.stops)}(t,e,n.bounds):e}function zc(t,n,e){return(e*=n.fillOpacity==null?1:n.fillOpacity)>0&&(t.globalAlpha=e,t.fillStyle=tA(t,n,n.fill),!0)}var B7=[];function qo(t,n,e){var r=(r=n.strokeWidth)!=null?r:1;return!(r<=0)&&(e*=n.strokeOpacity==null?1:n.strokeOpacity)>0&&(t.globalAlpha=e,t.strokeStyle=tA(t,n,n.stroke),t.lineWidth=r,t.lineCap=n.strokeCap||"butt",t.lineJoin=n.strokeJoin||"miter",t.miterLimit=n.strokeMiterLimit||10,t.setLineDash&&(t.setLineDash(n.strokeDash||B7),t.lineDashOffset=n.strokeDashOffset||0),!0)}function z7(t,n){return t.zindex-n.zindex||t.index-n.index}function Qm(t){if(!t.zdirty)return t.zitems;var n,e,r,i=t.items,a=[];for(e=0,r=i.length;e<r;++e)(n=i[e]).index=e,n.zindex&&a.push(n);return t.zdirty=!1,t.zitems=a.sort(z7)}function Qe(t,n){var e,r,i=t.items;if(!i||!i.length)return;const a=Qm(t);if(a&&a.length){for(e=0,r=i.length;e<r;++e)i[e].zindex||n(i[e]);i=a}for(e=0,r=i.length;e<r;++e)n(i[e])}function Oc(t,n){var e,r,i=t.items;if(!i||!i.length)return null;const a=Qm(t);for(a&&a.length&&(i=a),r=i.length;--r>=0;)if(e=n(i[r]))return e;if(i===a){for(r=(i=t.items).length;--r>=0;)if(!i[r].zindex&&(e=n(i[r])))return e}return null}function Zm(t){return function(n,e,r){Qe(e,i=>{r&&!r.intersects(i.bounds)||nA(t,n,i,i)})}}function O7(t){return function(n,e,r){!e.items.length||r&&!r.intersects(e.bounds)||nA(t,n,e.items[0],e.items)}}function nA(t,n,e,r){var i=e.opacity==null?1:e.opacity;i!==0&&(t(n,r)||(Lo(n,e),e.fill&&zc(n,e,i)&&n.fill(),e.stroke&&qo(n,e,i)&&n.stroke()))}function Nc(t){return t=t||Be,function(n,e,r,i,a,o){return r*=n.pixelRatio,i*=n.pixelRatio,Oc(e,s=>{const u=s.bounds;if((!u||u.contains(a,o))&&u)return t(n,s,r,i,a,o)?s:void 0})}}function hu(t,n){return function(e,r,i,a){var o,s,u=Array.isArray(r)?r[0]:r,l=n??u.fill,c=u.stroke&&e.isPointInStroke;return c&&(o=u.strokeWidth,s=u.strokeCap,e.lineWidth=o??1,e.lineCap=s??"butt"),!t(e,r)&&(l&&e.isPointInPath(i,a)||c&&e.isPointInStroke(i,a))}}function t0(t){return Nc(hu(t))}function La(t,n){return"translate("+t+","+n+")"}function n0(t){return"rotate("+t+")"}function eA(t){return La(t.x||0,t.y||0)}function e0(t,n,e){function r(i,a){var o=a.x||0,s=a.y||0,u=a.angle||0;i.translate(o,s),u&&i.rotate(u*=Ii),i.beginPath(),n(i,a),u&&i.rotate(-u),i.translate(-o,-s)}return{type:t,tag:"path",nested:!1,attr:function(i,a){i("transform",function(o){return La(o.x||0,o.y||0)+(o.angle?" "+n0(o.angle):"")}(a)),i("d",n(null,a))},bound:function(i,a){return n(du(i,a.angle),a),ai(i,a).translate(a.x||0,a.y||0)},draw:Zm(r),pick:t0(r),isect:e||Jm(r)}}var N7=e0("arc",function(t,n){return _7.context(t)(n)});function r0(t,n,e){function r(a,o){a.beginPath(),n(a,o)}const i=hu(r);return{type:t,tag:"path",nested:!0,attr:function(a,o){var s=o.mark.items;s.length&&a("d",n(null,s))},bound:function(a,o){var s=o.items;return s.length===0?a:(n(du(a),s),ai(a,s[0]))},draw:O7(r),pick:function(a,o,s,u,l,c){var f=o.items,d=o.bounds;return!f||!f.length||d&&!d.contains(l,c)?null:(s*=a.pixelRatio,u*=a.pixelRatio,i(a,f,s,u)?f[0]:null)},isect:Km,tip:e}}var R7=r0("area",function(t,n){const e=n[0],r=e.interpolate||"linear";return(e.orient==="horizontal"?D7:k7).curve(Pm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=t[0].orient==="horizontal"?n[1]:n[0],a=t[0].orient==="horizontal"?"y":"x",o=t.length,s=1/0;--o>=0;)t[o].defined!==!1&&(r=Math.abs(t[o][a]-i))<s&&(s=r,e=t[o]);return e});function rA(t,n){t.beginPath(),Um(n)?Po(t,n,0,0):t.rect(0,0,n.width||0,n.height||0),t.clip()}function iA(t){const n=Ke(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&n>.5&&n<1.5?.5-Math.abs(n-1):0}function aA(t,n){const e=iA(n);t("d",Po(null,n,e,e))}function pu(t,n,e,r){const i=iA(n);t.beginPath(),Po(t,n,(e||0)+i,(r||0)+i)}const T7=hu(pu),P7=hu(pu,!1),j7=hu(pu,!0);var L7={type:"group",tag:"g",nested:!1,attr:function(t,n){t("transform",eA(n))},bound:function(t,n){if(!n.clip&&n.items){const e=n.items,r=e.length;for(let i=0;i<r;++i)t.union(e[i].bounds)}return(n.clip||n.width||n.height)&&!n.noBound&&t.add(0,0).add(n.width||0,n.height||0),ai(t,n),t.translate(n.x||0,n.y||0)},draw:function(t,n,e,r){Qe(n,i=>{const a=i.x||0,o=i.y||0,s=i.strokeForeground,u=i.opacity==null?1:i.opacity;(i.stroke||i.fill)&&u&&(pu(t,i,a,o),Lo(t,i),i.fill&&zc(t,i,u)&&t.fill(),i.stroke&&!s&&qo(t,i,u)&&t.stroke()),t.save(),t.translate(a,o),i.clip&&rA(t,i),e&&e.translate(-a,-o),Qe(i,l=>{(l.marktype==="group"||r==null||r.includes(l.marktype))&&this.draw(t,l,e,r)}),e&&e.translate(a,o),t.restore(),s&&i.stroke&&u&&(pu(t,i,a,o),Lo(t,i),qo(t,i,u)&&t.stroke())})},pick:function(t,n,e,r,i,a){if(n.bounds&&!n.bounds.contains(i,a)||!n.items)return null;const o=e*t.pixelRatio,s=r*t.pixelRatio;return Oc(n,u=>{let l,c,f;const d=u.bounds;if(d&&!d.contains(i,a))return;c=u.x||0,f=u.y||0;const h=c+(u.width||0),p=f+(u.height||0),m=u.clip;if(m&&(i<c||i>h||a<f||a>p))return;if(t.save(),t.translate(c,f),c=i-c,f=a-f,m&&Um(u)&&!j7(t,u,o,s))return t.restore(),null;const g=u.strokeForeground,y=n.interactive!==!1;return y&&g&&u.stroke&&P7(t,u,o,s)?(t.restore(),u):(l=Oc(u,v=>function(x,b,w){return(x.interactive!==!1||x.marktype==="group")&&x.bounds&&x.bounds.contains(b,w)}(v,c,f)?this.pick(v,e,r,c,f):null),!l&&y&&(u.fill||!g&&u.stroke)&&T7(t,u,o,s)&&(l=u),t.restore(),l||null)})},isect:Kw,content:function(t,n,e){t("clip-path",n.clip?Im(e,n,n):null)},background:function(t,n){t("class","background"),t("aria-hidden",!0),aA(t,n)},foreground:function(t,n){t("class","foreground"),t("aria-hidden",!0),n.strokeForeground?aA(t,n):t("d","")}},mu={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function i0(t,n){var e=t.image;return(!e||t.url&&t.url!==e.url)&&(e={complete:!1,width:0,height:0},n.loadImage(t.url).then(r=>{t.image=r,t.image.url=t.url})),e}function a0(t,n){return t.width!=null?t.width:n&&n.width?t.aspect!==!1&&t.height?t.height*n.width/n.height:n.width:0}function o0(t,n){return t.height!=null?t.height:n&&n.height?t.aspect!==!1&&t.width?t.width*n.height/n.width:n.height:0}function Rc(t,n){return t==="center"?n/2:t==="right"?n:0}function Tc(t,n){return t==="middle"?n/2:t==="bottom"?n:0}var q7={type:"image",tag:"image",nested:!1,attr:function(t,n,e){const r=i0(n,e),i=a0(n,r),a=o0(n,r),o=(n.x||0)-Rc(n.align,i),s=(n.y||0)-Tc(n.baseline,a);t("href",!r.src&&r.toDataURL?r.toDataURL():r.src||"",mu["xmlns:xlink"],"xlink:href"),t("transform",La(o,s)),t("width",i),t("height",a),t("preserveAspectRatio",n.aspect===!1?"none":"xMidYMid")},bound:function(t,n){const e=n.image,r=a0(n,e),i=o0(n,e),a=(n.x||0)-Rc(n.align,r),o=(n.y||0)-Tc(n.baseline,i);return t.set(a,o,a+r,o+i)},draw:function(t,n,e){Qe(n,r=>{if(e&&!e.intersects(r.bounds))return;const i=i0(r,this);let a=a0(r,i),o=o0(r,i);if(a===0||o===0)return;let s,u,l,c,f=(r.x||0)-Rc(r.align,a),d=(r.y||0)-Tc(r.baseline,o);r.aspect!==!1&&(u=i.width/i.height,l=r.width/r.height,u==u&&l==l&&u!==l&&(l<u?(c=a/u,d+=(o-c)/2,o=c):(c=o*u,f+=(a-c)/2,a=c))),(i.complete||i.toDataURL)&&(Lo(t,r),t.globalAlpha=(s=r.opacity)!=null?s:1,t.imageSmoothingEnabled=r.smooth!==!1,t.drawImage(i,f,d,a,o))})},pick:Nc(),isect:Be,get:i0,xOffset:Rc,yOffset:Tc},U7=r0("line",function(t,n){const e=n[0],r=e.interpolate||"linear";return F7.curve(Pm(r,e.orient,e.tension)).context(t)(n)},function(t,n){for(var e,r,i=Math.pow(t[0].strokeWidth||1,2),a=t.length;--a>=0;)if(t[a].defined!==!1&&(e=t[a].x-n[0])*e+(r=t[a].y-n[1])*r<i)return t[a];return null});function Pc(t,n){var e=n.path;if(e==null)return!0;var r=n.x||0,i=n.y||0,a=n.scaleX||1,o=n.scaleY||1,s=(n.angle||0)*Ii,u=n.pathCache;u&&u.path===e||((n.pathCache=u=Ro(e)).path=e),s&&t.rotate&&t.translate?(t.translate(r,i),t.rotate(s),su(t,u,0,0,a,o),t.rotate(-s),t.translate(-r,-i)):su(t,u,r,i,a,o)}var I7={type:"path",tag:"path",nested:!1,attr:function(t,n){var e=n.scaleX||1,r=n.scaleY||1;e===1&&r===1||t("vector-effect","non-scaling-stroke"),t("transform",function(i){return La(i.x||0,i.y||0)+(i.angle?" "+n0(i.angle):"")+(i.scaleX||i.scaleY?" "+function(a,o){return"scale("+a+","+o+")"}(i.scaleX||1,i.scaleY||1):"")}(n)),t("d",n.path)},bound:function(t,n){return Pc(du(t,n.angle),n)?t.set(0,0,0,0):ai(t,n,!0)},draw:Zm(Pc),pick:t0(Pc),isect:Jm(Pc)};function oA(t,n){t.beginPath(),Po(t,n)}var W7={type:"rect",tag:"path",nested:!1,attr:function(t,n){t("d",Po(null,n))},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,e+n.width||0,r+n.height||0),n)},draw:Zm(oA),pick:t0(oA),isect:Kw};function sA(t,n,e){var r,i,a,o;return!(!n.stroke||!qo(t,n,e))&&(r=n.x||0,i=n.y||0,a=n.x2!=null?n.x2:r,o=n.y2!=null?n.y2:i,t.beginPath(),t.moveTo(r,i),t.lineTo(a,o),!0)}var H7={type:"rule",tag:"line",nested:!1,attr:function(t,n){t("transform",eA(n)),t("x2",n.x2!=null?n.x2-(n.x||0):0),t("y2",n.y2!=null?n.y2-(n.y||0):0)},bound:function(t,n){var e,r;return ai(t.set(e=n.x||0,r=n.y||0,n.x2!=null?n.x2:e,n.y2!=null?n.y2:r),n)},draw:function(t,n,e){Qe(n,r=>{if(!e||e.intersects(r.bounds)){var i=r.opacity==null?1:r.opacity;i&&sA(t,r,i)&&(Lo(t,r),t.stroke())}})},pick:Nc(function(t,n,e,r){return!!t.isPointInStroke&&sA(t,n,1)&&t.isPointInStroke(e,r)}),isect:Qw},G7=e0("shape",function(t,n){return(n.mark.shape||n.shape).context(t)(n)}),V7=e0("symbol",function(t,n){return E7.context(t)(n)},Km);const uA=cx();var we={height:Sr,measureWidth:s0,estimateWidth:jc,width:jc,canvas:lA};function lA(t){we.width=t&&Gi?s0:jc}function jc(t,n){return cA(Yi(t,n),Sr(t))}function cA(t,n){return~~(.8*t.length*n)}function s0(t,n){return Sr(t)<=0||!(n=Yi(t,n))?0:fA(n,Lc(t))}function fA(t,n){const e=`(${n}) ${t}`;let r=uA.get(e);return r===void 0&&(Gi.font=n,r=Gi.measureText(t).width,uA.set(e,r)),r}function Sr(t){return t.fontSize!=null?+t.fontSize||0:11}function Vi(t){return t.lineHeight!=null?t.lineHeight:Sr(t)+2}function gu(t){return n=t.lineBreak&&t.text&&!P(t.text)?t.text.split(t.lineBreak):t.text,P(n)?n.length>1?n:n[0]:n;var n}function u0(t){const n=gu(t);return(P(n)?n.length-1:0)*Vi(t)}function Yi(t,n){const e=n==null?"":(n+"").trim();return t.limit>0&&e.length?function(r,i){var a=+r.limit,o=function(d){if(we.width===s0){const h=Lc(d);return p=>fA(p,h)}if(we.width===jc){const h=Sr(d);return p=>cA(p,h)}return h=>we.width(d,h)}(r);if(o(i)<a)return i;var s,u=r.ellipsis||"\u2026",l=r.dir==="rtl",c=0,f=i.length;if(a-=o(u),l){for(;c<f;)s=c+f>>>1,o(i.slice(s))>a?c=s+1:f=s;return u+i.slice(c)}for(;c<f;)s=1+(c+f>>>1),o(i.slice(0,s))<a?c=s:f=s-1;return i.slice(0,c)+u}(t,e):e}function yu(t,n){var e=t.font;return(n&&e?String(e).replace(/"/g,"'"):e)||"sans-serif"}function Lc(t,n){return(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+Sr(t)+"px "+yu(t,n)}function l0(t){var n=t.baseline,e=Sr(t);return Math.round(n==="top"?.79*e:n==="middle"?.3*e:n==="bottom"?-.21*e:n==="line-top"?.29*e+.5*Vi(t):n==="line-bottom"?.29*e-.5*Vi(t):0)}lA(!0);const Y7={left:"start",center:"middle",right:"end"},vu=new cn;function qc(t){var n,e=t.x||0,r=t.y||0,i=t.radius||0;return i&&(n=(t.theta||0)-Ra,e+=i*Math.cos(n),r+=i*Math.sin(n)),vu.x1=e,vu.y1=r,vu}function c0(t,n,e){var r,i=we.height(n),a=n.align,o=qc(n),s=o.x1,u=o.y1,l=n.dx||0,c=(n.dy||0)+l0(n)-Math.round(.8*i),f=gu(n);if(P(f)?(i+=Vi(n)*(f.length-1),r=f.reduce((d,h)=>Math.max(d,we.width(n,h)),0)):r=we.width(n,f),a==="center"?l-=r/2:a==="right"&&(l-=r),t.set(l+=s,c+=u,l+r,c+i),n.angle&&!e)t.rotate(n.angle*Ii,s,u);else if(e===2)return t.rotatedPoints(n.angle*Ii,s,u);return t}var X7={type:"text",tag:"text",nested:!1,attr:function(t,n){var e,r=n.dx||0,i=(n.dy||0)+l0(n),a=qc(n),o=a.x1,s=a.y1,u=n.angle||0;t("text-anchor",Y7[n.align]||"start"),u?(e=La(o,s)+" "+n0(u),(r||i)&&(e+=" "+La(r,i))):e=La(o+r,s+i),t("transform",e)},bound:c0,draw:function(t,n,e){Qe(n,r=>{var i,a,o,s,u,l,c,f=r.opacity==null?1:r.opacity;if(!(e&&!e.intersects(r.bounds)||f===0||r.fontSize<=0||r.text==null||r.text.length===0)){if(t.font=Lc(r),t.textAlign=r.align||"left",a=(i=qc(r)).x1,o=i.y1,r.angle&&(t.save(),t.translate(a,o),t.rotate(r.angle*Ii),a=o=0),a+=r.dx||0,o+=(r.dy||0)+l0(r),l=gu(r),Lo(t,r),P(l))for(u=Vi(r),s=0;s<l.length;++s)c=Yi(r,l[s]),r.fill&&zc(t,r,f)&&t.fillText(c,a,o),r.stroke&&qo(t,r,f)&&t.strokeText(c,a,o),o+=u;else c=Yi(r,l),r.fill&&zc(t,r,f)&&t.fillText(c,a,o),r.stroke&&qo(t,r,f)&&t.strokeText(c,a,o);r.angle&&t.restore()}})},pick:Nc(function(t,n,e,r,i,a){if(n.fontSize<=0)return!1;if(!n.angle)return!0;var o=qc(n),s=o.x1,u=o.y1,l=c0(vu,n,1),c=-n.angle*Ii,f=Math.cos(c),d=Math.sin(c),h=f*i-d*a+(s-f*s+d*u),p=d*i+f*a+(u-d*s-f*u);return l.contains(h,p)}),isect:function(t,n){const e=c0(vu,t,2);return jo(n,e[0],e[1],e[2],e[3])||jo(n,e[0],e[1],e[4],e[5])||jo(n,e[4],e[5],e[6],e[7])||jo(n,e[2],e[3],e[6],e[7])}},J7=r0("trail",function(t,n){return $7.context(t)(n)},function(t,n){for(var e,r,i=t.length;--i>=0;)if(t[i].defined!==!1&&(e=t[i].x-n[0])*e+(r=t[i].y-n[1])*r<(e=t[i].size||1)*e)return t[i];return null}),Ae={arc:N7,area:R7,group:L7,image:q7,line:U7,path:I7,rect:W7,rule:H7,shape:G7,symbol:V7,text:X7,trail:J7};function f0(t,n,e){var r=Ae[t.mark.marktype],i=n||r.bound;return r.nested&&(t=t.mark),i(t.bounds||(t.bounds=new cn),t,e)}var dA={mark:null};function hA(t,n,e){var r,i,a,o,s=Ae[t.marktype],u=s.bound,l=t.items,c=l&&l.length;if(s.nested)return c?a=l[0]:(dA.mark=t,a=dA),o=f0(a,u,e),n=n&&n.union(o)||o;if(n=n||t.bounds&&t.bounds.clear()||new cn,c)for(r=0,i=l.length;r<i;++r)n.union(f0(l[r],u,e));return t.bounds=n}const K7=["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"];function pA(t,n){return JSON.stringify(t,K7,n)}function mA(t){return gA(typeof t=="string"?JSON.parse(t):t)}function gA(t){var n,e,r,i=t.marktype,a=t.items;if(a)for(e=0,r=a.length;e<r;++e)n=i?"mark":"group",a[e][n]=t,a[e].zindex&&(a[e][n].zdirty=!0),(i||n)==="group"&&gA(a[e]);return i&&hA(t),t}class yA{constructor(n){arguments.length?this.root=mA(n):(this.root=vA({marktype:"group",name:"root",role:"frame"}),this.root.items=[new Cc(this.root)])}toJSON(n){return pA(this.root,n||0)}mark(n,e,r){const i=vA(n,e=e||this.root.items[0]);return e.items[r]=i,i.zindex&&(i.group.zdirty=!0),i}}function vA(t,n){const e={bounds:new cn,clip:!!t.clip,group:n,interactive:t.interactive!==!1,items:[],marktype:t.marktype,name:t.name||void 0,role:t.role||void 0,zindex:t.zindex||0};return t.aria!=null&&(e.aria=t.aria),t.description&&(e.description=t.description),e}function Xi(t,n,e){return!t&&typeof document<"u"&&document.createElement&&(t=document),t?e?t.createElementNS(e,n):t.createElement(n):null}function d0(t,n){n=n.toLowerCase();for(var e=t.childNodes,r=0,i=e.length;r<i;++r)if(e[r].tagName.toLowerCase()===n)return e[r]}function dn(t,n,e,r){var i,a=t.childNodes[n];return a&&a.tagName.toLowerCase()===e.toLowerCase()||(i=a||null,a=Xi(t.ownerDocument,e,r),t.insertBefore(a,i)),a}function Pe(t,n){for(var e=t.childNodes,r=e.length;r>n;)t.removeChild(e[--r]);return t}function bA(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Uc(t,n){const e=n.getBoundingClientRect();return[t.clientX-e.left-(n.clientLeft||0),t.clientY-e.top-(n.clientTop||0)]}class h0{constructor(n,e){this._active=null,this._handlers={},this._loader=n||Hl(),this._tooltip=e||Q7}initialize(n,e,r){return this._el=n,this._obj=r||null,this.origin(e)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(n){return arguments.length?(this._origin=n||[0,0],this):this._origin.slice()}scene(n){return arguments.length?(this._scene=n,this):this._scene}on(){}off(){}_handlerIndex(n,e,r){for(let i=n?n.length:0;--i>=0;)if(n[i].type===e&&(!r||n[i].handler===r))return i;return-1}handlers(n){const e=this._handlers,r=[];if(n)r.push(...e[this.eventName(n)]);else for(const i in e)r.push(...e[i]);return r}eventName(n){const e=n.indexOf(".");return e<0?n:n.slice(0,e)}handleHref(n,e,r){this._loader.sanitize(r,{context:"href"}).then(i=>{const a=new MouseEvent(n.type,n),o=Xi(null,"a");for(const s in i)o.setAttribute(s,i[s]);o.dispatchEvent(a)}).catch(()=>{})}handleTooltip(n,e,r){if(e&&e.tooltip!=null){e=function(a,o,s,u){var l,c,f=a&&a.mark;if(f&&(l=Ae[f.marktype]).tip){for((c=Uc(o,s))[0]-=u[0],c[1]-=u[1];a=a.mark.group;)c[0]-=a.x||0,c[1]-=a.y||0;a=l.tip(f.items,c)}return a}(e,n,this.canvas(),this._origin);const i=r&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,n,e,i)}}getItemBoundingClientRect(n){const e=this.canvas();if(!e)return;const r=e.getBoundingClientRect(),i=this._origin,a=n.bounds,o=a.width(),s=a.height();let u=a.x1+i[0]+r.left,l=a.y1+i[1]+r.top;for(;n.mark&&(n=n.mark.group);)u+=n.x||0,l+=n.y||0;return{x:u,y:l,width:o,height:s,left:u,top:l,right:u+o,bottom:l+s}}}function Q7(t,n,e,r){t.element().setAttribute("title",r||"")}class bu{constructor(n){this._el=null,this._bgcolor=null,this._loader=new Ww(n)}initialize(n,e,r,i,a){return this._el=n,this.resize(e,r,i,a)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(n){return arguments.length===0?this._bgcolor:(this._bgcolor=n,this)}resize(n,e,r,i){return this._width=n,this._height=e,this._origin=r||[0,0],this._scale=i||1,this}dirty(){}render(n,e){const r=this;return r._call=function(){r._render(n,e)},r._call(),r._call=null,r}_render(){}renderAsync(n,e){const r=this.render(n,e);return this._ready?this._ready.then(()=>r):Promise.resolve(r)}_load(n,e){var r=this,i=r._loader[n](e);if(!r._ready){const a=r._call;r._ready=r._loader.ready().then(o=>{o&&a(),r._ready=null})}return i}sanitizeURL(n){return this._load("sanitizeURL",n)}loadImage(n){return this._load("loadImage",n)}}const xA="dragenter",Ic="dragleave",wA="dragover",p0="pointerdown",Wc="pointermove",Hc="pointerout",AA="pointerover",m0="mousedown",_A="mousemove",Gc="mouseout",kA="mouseover",Vc="click",DA="mousewheel",Yc="touchstart",Xc="touchmove",Jc="touchend",Z7=["keydown","keypress","keyup",xA,Ic,wA,p0,"pointerup",Wc,Hc,AA,m0,"mouseup",_A,Gc,kA,Vc,"dblclick","wheel",DA,Yc,Xc,Jc],g0=Wc,xu=Gc,y0=Vc;class wu extends h0{constructor(n,e){super(n,e),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=Z7,this.pointermove=CA([Wc,_A],[AA,kA],[Hc,Gc]),this.dragover=CA([wA],[xA],[Ic]),this.pointerout=EA([Hc,Gc]),this.dragleave=EA([Ic])}initialize(n,e,r){return this._canvas=n&&d0(n,"canvas"),[Vc,m0,p0,Wc,Hc,Ic].forEach(i=>FA(this,i)),super.initialize(n,e,r)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(n){this.fire(DA,n)}pointerdown(n){this._down=this._active,this.fire(p0,n)}mousedown(n){this._down=this._active,this.fire(m0,n)}click(n){this._down===this._active&&(this.fire(Vc,n),this._down=null)}touchstart(n){this._touch=this.pickEvent(n.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(Yc,n,!0)}touchmove(n){this.fire(Xc,n,!0)}touchend(n){this.fire(Jc,n,!0),this._touch=null}fire(n,e,r){const i=r?this._touch:this._active,a=this._handlers[n];if(e.vegaType=n,n===y0&&i&&i.href?this.handleHref(e,i,i.href):n!==g0&&n!==xu||this.handleTooltip(e,i,n!==xu),a)for(let o=0,s=a.length;o<s;++o)a[o].handler.call(this._obj,e,i)}on(n,e){const r=this.eventName(n),i=this._handlers;return this._handlerIndex(i[r],n,e)<0&&(FA(this,n),(i[r]||(i[r]=[])).push({type:n,handler:e})),this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&i.splice(a,1),this}pickEvent(n){const e=Uc(n,this._canvas),r=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-r[0],e[1]-r[1])}pick(n,e,r,i,a){const o=this.context();return Ae[n.marktype].pick.call(this,o,n,e,r,i,a)}}const t4=t=>t===Yc||t===Xc||t===Jc?[Yc,Xc,Jc]:[t];function FA(t,n){t4(n).forEach(e=>function(r,i){const a=r.canvas();a&&!r._events[i]&&(r._events[i]=1,a.addEventListener(i,r[i]?o=>r[i](o):o=>r.fire(i,o)))}(t,e))}function Kc(t,n,e){n.forEach(r=>t.fire(r,e))}function CA(t,n,e){return function(r){const i=this._active,a=this.pickEvent(r);a===i||(i&&i.exit||Kc(this,e,r),this._active=a,Kc(this,n,r)),Kc(this,t,r)}}function EA(t){return function(n){Kc(this,t,n),this._active=null}}function n4(t,n,e,r,i,a){const o=typeof HTMLElement<"u"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),u=o?typeof window<"u"&&window.devicePixelRatio||1:i;t.width=n*u,t.height=e*u;for(const l in a)s[l]=a[l];return o&&u!==1&&(t.style.width=n+"px",t.style.height=e+"px"),s.pixelRatio=u,s.setTransform(u,0,0,u,u*r[0],u*r[1]),t}class Qc extends bu{constructor(n){super(n),this._options={},this._redraw=!1,this._dirty=new cn,this._tempb=new cn}initialize(n,e,r,i,a,o){return this._options=o||{},this._canvas=this._options.externalContext?null:qi(1,1,this._options.type),n&&this._canvas&&(Pe(n,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(n,e,r,i,a)}resize(n,e,r,i){if(super.resize(n,e,r,i),this._canvas)n4(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const a=this._options.externalContext;a||j("CanvasRenderer is missing a valid canvas or context"),a.scale(this._scale,this._scale),a.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(n){const e=this._tempb.clear().union(n.bounds);let r=n.mark.group;for(;r;)e.translate(r.x||0,r.y||0),r=r.mark.group;this._dirty.union(e)}_render(n,e){const r=this.context(),i=this._origin,a=this._width,o=this._height,s=this._dirty,u=e4(i,a,o);r.save();const l=this._redraw||s.empty()?(this._redraw=!1,u.expand(1)):function(c,f,d){return f.expand(1).round(),c.pixelRatio%1&&f.scale(c.pixelRatio).round().scale(1/c.pixelRatio),f.translate(-d[0]%1,-d[1]%1),c.beginPath(),c.rect(f.x1,f.y1,f.width(),f.height()),c.clip(),f}(r,u.intersect(s),i);return this.clear(-i[0],-i[1],a,o),this.draw(r,n,l,e),r.restore(),s.clear(),this}draw(n,e,r,i){if(e.marktype!=="group"&&i!=null&&!i.includes(e.marktype))return;const a=Ae[e.marktype];e.clip&&function(o,s){var u=s.clip;o.save(),bt(u)?(o.beginPath(),u(o),o.clip()):rA(o,s.group)}(n,e),a.draw.call(this,n,e,r,i),e.clip&&n.restore()}clear(n,e,r,i){const a=this._options,o=this.context();a.type==="pdf"||a.externalContext||o.clearRect(n,e,r,i),this._bgcolor!=null&&(o.fillStyle=this._bgcolor,o.fillRect(n,e,r,i))}}const e4=(t,n,e)=>new cn().set(0,0,n,e).translate(-t[0],-t[1]);class $A extends h0{constructor(n,e){super(n,e);const r=this;r._hrefHandler=v0(r,(i,a)=>{a&&a.href&&r.handleHref(i,a,a.href)}),r._tooltipHandler=v0(r,(i,a)=>{r.handleTooltip(i,a,i.type!==xu)})}initialize(n,e,r){let i=this._svg;return i&&(i.removeEventListener(y0,this._hrefHandler),i.removeEventListener(g0,this._tooltipHandler),i.removeEventListener(xu,this._tooltipHandler)),this._svg=i=n&&d0(n,"svg"),i&&(i.addEventListener(y0,this._hrefHandler),i.addEventListener(g0,this._tooltipHandler),i.addEventListener(xu,this._tooltipHandler)),super.initialize(n,e,r)}canvas(){return this._svg}on(n,e){const r=this.eventName(n),i=this._handlers;if(this._handlerIndex(i[r],n,e)<0){const a={type:n,handler:e,listener:v0(this,e)};(i[r]||(i[r]=[])).push(a),this._svg&&this._svg.addEventListener(r,a.listener)}return this}off(n,e){const r=this.eventName(n),i=this._handlers[r],a=this._handlerIndex(i,n,e);return a>=0&&(this._svg&&this._svg.removeEventListener(r,i[a].listener),i.splice(a,1)),this}}const v0=(t,n)=>e=>{let r=e.target.__data__;r=Array.isArray(r)?r[0]:r,e.vegaType=e.type,n.call(t._obj,e,r)},SA="aria-hidden",b0="aria-label",x0="role",w0="aria-roledescription",MA="graphics-object",A0="graphics-symbol",BA=(t,n,e)=>({[x0]:t,[w0]:n,[b0]:e||void 0}),r4=Dr(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),zA={axis:{desc:"axis",caption:function(t){const n=t.datum,e=t.orient,r=n.title?PA(t):null,i=t.context,a=i.scales[n.scale].value,o=i.dataflow.locale(),s=a.type;return`${e==="left"||e==="right"?"Y":"X"}-axis`+(r?` titled '${r}'`:"")+` for a ${No(s)?"discrete":s} scale with ${Sw(o,a,t)}`}},legend:{desc:"legend",caption:function(t){const n=t.datum,e=n.title?PA(t):null,r=`${n.type||""} legend`.trim(),i=n.scales,a=Object.keys(i),o=t.context,s=o.scales[i[a[0]]].value,u=o.dataflow.locale();return l=r,(l.length?l[0].toUpperCase()+l.slice(1):l)+(e?` titled '${e}'`:"")+` for ${function(c){return c=c.map(f=>f+(f==="fill"||f==="stroke"?" color":"")),c.length<2?c[0]:c.slice(0,-1).join(", ")+" and "+Bt(c)}(a)} with ${Sw(u,s,t)}`;var l}},"title-text":{desc:"title",caption:t=>`Title text '${TA(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${TA(t)}'`}},OA={ariaRole:x0,ariaRoleDescription:w0,description:b0};function NA(t,n){const e=n.aria===!1;if(t(SA,e||void 0),e||n.description==null)for(const r in OA)t(OA[r],void 0);else{const r=n.mark.marktype;t(b0,n.description),t(x0,n.ariaRole||(r==="group"?MA:A0)),t(w0,n.ariaRoleDescription||`${r} mark`)}}function RA(t){return t.aria===!1?{[SA]:!0}:r4[t.role]?null:zA[t.role]?function(n,e){try{const r=n.items[0],i=e.caption||(()=>"");return BA(e.role||A0,e.desc,r.description||i(r))}catch{return null}}(t,zA[t.role]):function(n){const e=n.marktype,r=e==="group"||e==="text"||n.items.some(i=>i.description!=null&&i.aria!==!1);return BA(r?MA:A0,`${e} mark container`,n.description)}(t)}function TA(t){return K(t.text).join(" ")}function PA(t){try{return K(Bt(t.items).items[0].text).join(" ")}catch{return null}}const jA=t=>(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");function _0(){let t="",n="",e="";const r=[],i=()=>n=e="",a=(s,u)=>{var l;return u!=null&&(n+=` ${s}="${l=u,jA(l).replace(/"/g,"&quot;").replace(/\t/g,"&#x9;").replace(/\n/g,"&#xA;").replace(/\r/g,"&#xD;")}"`),o},o={open(s){(f=>{n&&(t+=`${n}>${e}`,i()),r.push(f)})(s),n="<"+s;for(var u=arguments.length,l=new Array(u>1?u-1:0),c=1;c<u;c++)l[c-1]=arguments[c];for(const f of l)for(const d in f)a(d,f[d]);return o},close(){const s=r.pop();return t+=n?n+(e?`>${e}</${s}>`:"/>"):`</${s}>`,i(),o},attr:a,text:s=>(e+=jA(s),o),toString:()=>t};return o}const LA=t=>qA(_0(),t)+"";function qA(t,n){if(t.open(n.tagName),n.hasAttributes()){const e=n.attributes,r=e.length;for(let i=0;i<r;++i)t.attr(e[i].name,e[i].value)}if(n.hasChildNodes()){const e=n.childNodes;for(const r of e)r.nodeType===3?t.text(r.nodeValue):qA(t,r)}return t.close()}const Zc={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"},tf={blend:"mix-blend-mode"},UA={fill:"none","stroke-miterlimit":10},IA="http://www.w3.org/2000/xmlns/",hn=mu.xmlns;class k0 extends bu{constructor(n){super(n),this._dirtyID=0,this._dirty=[],this._svg=null,this._root=null,this._defs=null}initialize(n,e,r,i,a){return this._defs={},this._clearDefs(),n&&(this._svg=dn(n,0,"svg",hn),this._svg.setAttributeNS(IA,"xmlns",hn),this._svg.setAttributeNS(IA,"xmlns:xlink",mu["xmlns:xlink"]),this._svg.setAttribute("version",mu.version),this._svg.setAttribute("class","marks"),Pe(n,1),this._root=dn(this._svg,0,"g",hn),Ji(this._root,UA),Pe(this._svg,1)),this.background(this._bgcolor),super.initialize(n,e,r,i,a)}background(n){return arguments.length&&this._svg&&this._svg.style.setProperty("background-color",n),super.background(...arguments)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svg&&(Ji(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(){const n=this._svg,e=this._bgcolor;if(!n)return null;let r;e&&(n.removeAttribute("style"),r=dn(n,0,"rect",hn),Ji(r,{width:this._width,height:this._height,fill:e}));const i=LA(n);return e&&(n.removeChild(r),this._svg.style.setProperty("background-color",e)),i}_render(n,e){return this._dirtyCheck()&&(this._dirtyAll&&this._clearDefs(),this.mark(this._root,n,void 0,e),Pe(this._root,1)),this.defs(),this._dirty=[],++this._dirtyID,this}dirty(n){n.dirty!==this._dirtyID&&(n.dirty=this._dirtyID,this._dirty.push(n))}isDirty(n){return this._dirtyAll||!n._svg||!n._svg.ownerSVGElement||n.dirty===this._dirtyID}_dirtyCheck(){this._dirtyAll=!0;const n=this._dirty;if(!n.length||!this._dirtyID)return!0;const e=++this._dirtyID;let r,i,a,o,s,u,l;for(s=0,u=n.length;s<u;++s)r=n[s],i=r.mark,i.marktype!==a&&(a=i.marktype,o=Ae[a]),i.zdirty&&i.dirty!==e&&(this._dirtyAll=!1,WA(r,e),i.items.forEach(c=>{c.dirty=e})),i.zdirty||(r.exit?(o.nested&&i.items.length?(l=i.items[0],l._svg&&this._update(o,l._svg,l)):r._svg&&(l=r._svg.parentNode,l&&l.removeChild(r._svg)),r._svg=null):(r=o.nested?i.items[0]:r,r._update!==e&&(r._svg&&r._svg.ownerSVGElement?this._update(o,r._svg,r):(this._dirtyAll=!1,WA(r,e)),r._update=e)));return!this._dirtyAll}mark(n,e,r,i){if(!this.isDirty(e))return e._svg;const a=this._svg,o=e.marktype,s=Ae[o],u=e.interactive===!1?"none":null,l=s.tag==="g",c=HA(e,n,r,"g",a);if(o!=="group"&&i!=null&&!i.includes(o))return Pe(c,0),e._svg;c.setAttribute("class",bA(e));const f=RA(e);for(const m in f)Vn(c,m,f[m]);l||Vn(c,"pointer-events",u),Vn(c,"clip-path",e.clip?Im(this,e,e.group):null);let d=null,h=0;const p=m=>{const g=this.isDirty(m),y=HA(m,c,d,s.tag,a);g&&(this._update(s,y,m),l&&function(v,x,b,w){x=x.lastChild.previousSibling;let A,_=0;Qe(b,k=>{A=v.mark(x,k,A,w),++_}),Pe(x,1+_)}(this,y,m,i)),d=y,++h};return s.nested?e.items.length&&p(e.items[0]):Qe(e,p),Pe(c,h),c}_update(n,e,r){oi=e,On=e.__values__,NA(Au,r),n.attr(Au,r,this);const i=o4[n.type];i&&i.call(this,n,e,r),oi&&this.style(oi,r)}style(n,e){if(e!=null){for(const r in Zc){let i=r==="font"?yu(e):e[r];if(i===On[r])continue;const a=Zc[r];i==null?n.removeAttribute(a):(Tm(i)&&(i=Bw(i,this._defs.gradient,GA())),n.setAttribute(a,i+"")),On[r]=i}for(const r in tf)nf(n,tf[r],e[r])}}defs(){const n=this._svg,e=this._defs;let r=e.el,i=0;for(const a in e.gradient)r||(e.el=r=dn(n,1,"defs",hn)),i=i4(r,e.gradient[a],i);for(const a in e.clipping)r||(e.el=r=dn(n,1,"defs",hn)),i=a4(r,e.clipping[a],i);r&&(i===0?(n.removeChild(r),e.el=null):Pe(r,i))}_clearDefs(){const n=this._defs;n.gradient={},n.clipping={}}}function WA(t,n){for(;t&&t.dirty!==n;t=t.mark.group){if(t.dirty=n,!t.mark||t.mark.dirty===n)return;t.mark.dirty=n}}function i4(t,n,e){let r,i,a;if(n.gradient==="radial"){let o=dn(t,e++,"pattern",hn);Ji(o,{id:_c+n.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),o=dn(o,0,"rect",hn),Ji(o,{width:1,height:1,fill:`url(${GA()}#${n.id})`}),Ji(t=dn(t,e++,"radialGradient",hn),{id:n.id,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else Ji(t=dn(t,e++,"linearGradient",hn),{id:n.id,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2});for(r=0,i=n.stops.length;r<i;++r)a=dn(t,r,"stop",hn),a.setAttribute("offset",n.stops[r].offset),a.setAttribute("stop-color",n.stops[r].color);return Pe(t,r),e}function a4(t,n,e){let r;return(t=dn(t,e,"clipPath",hn)).setAttribute("id",n.id),n.path?(r=dn(t,0,"path",hn),r.setAttribute("d",n.path)):(r=dn(t,0,"rect",hn),Ji(r,{x:0,y:0,width:n.width,height:n.height})),Pe(t,1),e+1}function HA(t,n,e,r,i){let a,o=t._svg;if(!o&&(a=n.ownerDocument,o=Xi(a,r,hn),t._svg=o,t.mark&&(o.__data__=t,o.__values__={fill:"default"},r==="g"))){const s=Xi(a,"path",hn);o.appendChild(s),s.__data__=t;const u=Xi(a,"g",hn);o.appendChild(u),u.__data__=t;const l=Xi(a,"path",hn);o.appendChild(l),l.__data__=t,l.__values__={fill:"default"}}return(o.ownerSVGElement!==i||function(s,u){return s.parentNode&&s.parentNode.childNodes.length>1&&s.previousSibling!=u}(o,e))&&n.insertBefore(o,e?e.nextSibling:n.firstChild),o}let oi=null,On=null;const o4={group(t,n,e){const r=oi=n.childNodes[2];On=r.__values__,t.foreground(Au,e,this),On=n.__values__,oi=n.childNodes[1],t.content(Au,e,this);const i=oi=n.childNodes[0];t.background(Au,e,this);const a=e.mark.interactive===!1?"none":null;if(a!==On.events&&(Vn(r,"pointer-events",a),Vn(i,"pointer-events",a),On.events=a),e.strokeForeground&&e.stroke){const o=e.fill;Vn(r,"display",null),this.style(i,e),Vn(i,"stroke",null),o&&(e.fill=null),On=r.__values__,this.style(r,e),o&&(e.fill=o),oi=null}else Vn(r,"display","none")},image(t,n,e){e.smooth===!1?(nf(n,"image-rendering","optimizeSpeed"),nf(n,"image-rendering","pixelated")):nf(n,"image-rendering",null)},text(t,n,e){const r=gu(e);let i,a,o,s;P(r)?(a=r.map(u=>Yi(e,u)),i=a.join(`
2
2
  `),i!==On.text&&(Pe(n,0),o=n.ownerDocument,s=Vi(e),a.forEach((u,l)=>{const c=Xi(o,"tspan",hn);c.__data__=e,c.textContent=u,l&&(c.setAttribute("x",0),c.setAttribute("dy",s)),n.appendChild(c)}),On.text=i)):(a=Yi(e,r),a!==On.text&&(n.textContent=a,On.text=a)),Vn(n,"font-family",yu(e)),Vn(n,"font-size",Sr(e)+"px"),Vn(n,"font-style",e.fontStyle),Vn(n,"font-variant",e.fontVariant),Vn(n,"font-weight",e.fontWeight)}};function Au(t,n,e){n!==On[t]&&(e?function(r,i,a,o){a!=null?r.setAttributeNS(o,i,a):r.removeAttributeNS(o,i)}(oi,t,n,e):Vn(oi,t,n),On[t]=n)}function nf(t,n,e){e!==On[n]&&(e==null?t.style.removeProperty(n):t.style.setProperty(n,e+""),On[n]=e)}function Ji(t,n){for(const e in n)Vn(t,e,n[e])}function Vn(t,n,e){e!=null?t.setAttribute(n,e):t.removeAttribute(n)}function GA(){let t;return typeof window>"u"?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}class VA extends bu{constructor(n){super(n),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(n){const e=_0();e.open("svg",xt({},mu,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const r=this._bgcolor;return r&&r!=="transparent"&&r!=="none"&&e.open("rect",{width:this._width,height:this._height,fill:r}).close(),e.open("g",UA,{transform:"translate("+this._origin+")"}),this.mark(e,n),e.close(),this.defs(e),this._text=e.close()+"",this}mark(n,e){const r=Ae[e.marktype],i=r.tag,a=[NA,r.attr];n.open("g",{class:bA(e),"clip-path":e.clip?Im(this,e,e.group):null},RA(e),{"pointer-events":i!=="g"&&e.interactive===!1?"none":null});const o=s=>{const u=this.href(s);if(u&&n.open("a",u),n.open(i,this.attr(e,s,a,i!=="g"?i:null)),i==="text"){const l=gu(s);if(P(l)){const c={x:0,dy:Vi(s)};for(let f=0;f<l.length;++f)n.open("tspan",f?c:null).text(Yi(s,l[f])).close()}else n.text(Yi(s,l))}else if(i==="g"){const l=s.strokeForeground,c=s.fill,f=s.stroke;l&&f&&(s.stroke=null),n.open("path",this.attr(e,s,r.background,"bgrect")).close(),n.open("g",this.attr(e,s,r.content)),Qe(s,d=>this.mark(n,d)),n.close(),l&&f?(c&&(s.fill=null),s.stroke=f,n.open("path",this.attr(e,s,r.foreground,"bgrect")).close(),c&&(s.fill=c)):n.open("path",this.attr(e,s,r.foreground,"bgfore")).close()}n.close(),u&&n.close()};return r.nested?e.items&&e.items.length&&o(e.items[0]):Qe(e,o),n.close()}href(n){const e=n.href;let r;if(e){if(r=this._hrefs&&this._hrefs[e])return r;this.sanitizeURL(e).then(i=>{i["xlink:href"]=i.href,i.href=null,(this._hrefs||(this._hrefs={}))[e]=i})}return null}attr(n,e,r,i){const a={},o=(s,u,l,c)=>{a[c||s]=u};return Array.isArray(r)?r.forEach(s=>s(o,e,this)):r(o,e,this),i&&function(s,u,l,c,f){let d;if(u==null||(c==="bgrect"&&l.interactive===!1&&(s["pointer-events"]="none"),c==="bgfore"&&(l.interactive===!1&&(s["pointer-events"]="none"),s.display="none",u.fill!==null)))return s;c==="image"&&u.smooth===!1&&(d=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),c==="text"&&(s["font-family"]=yu(u),s["font-size"]=Sr(u)+"px",s["font-style"]=u.fontStyle,s["font-variant"]=u.fontVariant,s["font-weight"]=u.fontWeight);for(const h in Zc){let p=u[h];const m=Zc[h];(p!=="transparent"||m!=="fill"&&m!=="stroke")&&p!=null&&(Tm(p)&&(p=Bw(p,f.gradient,"")),s[m]=p)}for(const h in tf){const p=u[h];p!=null&&(d=d||[],d.push(`${tf[h]}: ${p};`))}d&&(s.style=d.join(" "))}(a,e,n,i,this._defs),a}defs(n){const e=this._defs.gradient,r=this._defs.clipping;if(Object.keys(e).length+Object.keys(r).length!==0){n.open("defs");for(const i in e){const a=e[i],o=a.stops;a.gradient==="radial"?(n.open("pattern",{id:_c+i,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),n.open("rect",{width:"1",height:"1",fill:"url(#"+i+")"}).close(),n.close(),n.open("radialGradient",{id:i,fx:a.x1,fy:a.y1,fr:a.r1,cx:a.x2,cy:a.y2,r:a.r2})):n.open("linearGradient",{id:i,x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2});for(let s=0;s<o.length;++s)n.open("stop",{offset:o[s].offset,"stop-color":o[s].color}).close();n.close()}for(const i in r){const a=r[i];n.open("clipPath",{id:i}),a.path?n.open("path",{d:a.path}).close():n.open("rect",{x:0,y:0,width:a.width,height:a.height}).close(),n.close()}n.close()}}}const Ze={svgMarkTypes:["text"],svgOnTop:!0,debug:!1};class D0 extends bu{constructor(n){super(n),this._svgRenderer=new k0(n),this._canvasRenderer=new Qc(n)}initialize(n,e,r,i,a){this._root_el=dn(n,0,"div");const o=dn(this._root_el,0,"div"),s=dn(this._root_el,1,"div");return this._root_el.style.position="relative",Ze.debug||(o.style.height="100%",s.style.position="absolute",s.style.top="0",s.style.left="0",s.style.height="100%",s.style.width="100%"),this._svgEl=Ze.svgOnTop?s:o,this._canvasEl=Ze.svgOnTop?o:s,this._svgEl.style.pointerEvents="none",this._canvasRenderer.initialize(this._canvasEl,e,r,i,a),this._svgRenderer.initialize(this._svgEl,e,r,i,a),super.initialize(n,e,r,i,a)}dirty(n){return Ze.svgMarkTypes.includes(n.mark.marktype)?this._svgRenderer.dirty(n):this._canvasRenderer.dirty(n),this}_render(n,e){const r=(e??["arc","area","image","line","path","rect","rule","shape","symbol","text","trail"]).filter(i=>!Ze.svgMarkTypes.includes(i));this._svgRenderer.render(n,Ze.svgMarkTypes),this._canvasRenderer.render(n,r)}resize(n,e,r,i){return super.resize(n,e,r,i),this._svgRenderer.resize(n,e,r,i),this._canvasRenderer.resize(n,e,r,i),this}background(n){return Ze.svgOnTop?this._canvasRenderer.background(n):this._svgRenderer.background(n),this}}class YA extends wu{constructor(n,e){super(n,e)}initialize(n,e,r){const i=dn(dn(n,0,"div"),Ze.svgOnTop?0:1,"div");return super.initialize(i,e,r)}}const XA="canvas",JA="hybrid",KA="none",Ki={Canvas:XA,PNG:"png",SVG:"svg",Hybrid:JA,None:KA},qa={};function ef(t,n){return t=String(t||"").toLowerCase(),arguments.length>1?(qa[t]=n,this):qa[t]}function QA(t,n,e){const r=[],i=new cn().union(n),a=t.marktype;return a?ZA(t,i,e,r):a==="group"?t_(t,i,e,r):j("Intersect scene must be mark node or group item.")}function ZA(t,n,e,r){if(function(i,a,o){return i.bounds&&a.intersects(i.bounds)&&(i.marktype==="group"||i.interactive!==!1&&(!o||o(i)))}(t,n,e)){const i=t.items,a=t.marktype,o=i.length;let s=0;if(a==="group")for(;s<o;++s)t_(i[s],n,e,r);else for(const u=Ae[a].isect;s<o;++s){const l=i[s];n_(l,n,u)&&r.push(l)}}return r}function t_(t,n,e,r){e&&e(t.mark)&&n_(t,n,Ae.group.isect)&&r.push(t);const i=t.items,a=i&&i.length;if(a){const o=t.x||0,s=t.y||0;n.translate(-o,-s);for(let u=0;u<a;++u)ZA(i[u],n,e,r);n.translate(o,s)}return r}function n_(t,n,e){const r=t.bounds;return n.encloses(r)||n.intersects(r)&&e(t,n)}qa[XA]=qa.png={renderer:Qc,headless:Qc,handler:wu},qa.svg={renderer:k0,headless:VA,handler:$A},qa[JA]={renderer:D0,headless:D0,handler:YA},qa[KA]={};const F0=new cn;function e_(t){const n=t.clip;if(bt(n))n(du(F0.clear()));else{if(!n)return;F0.set(0,0,t.group.width,t.group.height)}t.bounds.intersect(F0)}function C0(t,n,e){return t===n||(e==="path"?r_(t,n):t instanceof Date&&n instanceof Date?+t==+n:$t(t)&&$t(n)?Math.abs(t-n)<=1e-9:t&&n&&(Z(t)||Z(n))?function(r,i){var a,o,s=Object.keys(r),u=Object.keys(i);if(s.length!==u.length)return!1;for(s.sort(),u.sort(),o=s.length-1;o>=0;o--)if(s[o]!=u[o])return!1;for(o=s.length-1;o>=0;o--)if(!C0(r[a=s[o]],i[a],a))return!1;return typeof r==typeof i}(t,n):t==n)}function r_(t,n){return C0(Ro(t),Ro(n))}const Uo="top",tr="left",nr="right",Qi="bottom",E0="start",$0="middle",Yn="end",rf="group",S0="axis",M0="title",s4="frame",u4="scope",B0="legend",i_="row-header",a_="row-footer",o_="row-title",s_="column-header",u_="column-footer",l_="column-title",l4="padding",c_="fit",f_="fit-x",d_="fit-y",z0="none",af="all",O0="each",N0="flush",Zi="column",ta="row";function h_(t){O.call(this,null,t)}function of(t,n,e){return n(t.bounds.clear(),t,e)}V(h_,O,{transform(t,n){const e=n.dataflow,r=t.mark,i=r.marktype,a=Ae[i],o=a.bound;let s,u=r.bounds;if(a.nested)r.items.length&&e.dirty(r.items[0]),u=of(r,o),r.items.forEach(l=>{l.bounds.clear().union(u)});else if(i===rf||t.modified())switch(n.visit(n.MOD,l=>e.dirty(l)),u.clear(),r.items.forEach(l=>u.union(of(l,o))),r.role){case S0:case B0:case M0:n.reflow()}else s=n.changed(n.REM),n.visit(n.ADD,l=>{u.union(of(l,o))}),n.visit(n.MOD,l=>{s=s||u.alignsWith(l.bounds),e.dirty(l),u.union(of(l,o))}),s&&(u.clear(),r.items.forEach(l=>u.union(l.bounds)));return e_(r),n.modifies("bounds")}});const p_=":vega_identifier:";function R0(t){O.call(this,0,t)}function m_(t){O.call(this,null,t)}function g_(t){O.call(this,null,t)}R0.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},V(R0,O,{transform(t,n){const e=(i=n.dataflow)._signals[p_]||(i._signals[p_]=i.add(0)),r=t.as;var i;let a=e.value;return n.visit(n.ADD,o=>o[r]=o[r]||++a),e.set(this.value=a),n}}),V(m_,O,{transform(t,n){let e=this.value;e||(e=n.dataflow.scenegraph().mark(t.markdef,function(i){const a=i.groups,o=i.parent;return a&&a.size===1?a.get(Object.keys(a.object)[0]):a&&o?a.lookup(o):null}(t),t.index),e.group.context=t.context,t.context.group||(t.context.group=e.group),e.source=this.source,e.clip=t.clip,e.interactive=t.interactive,this.value=e);const r=e.marktype===rf?Cc:Fc;return n.visit(n.ADD,i=>r.call(i,e)),(t.modified("clip")||t.modified("interactive"))&&(e.clip=t.clip,e.interactive=!!t.interactive,e.zdirty=!0,n.reflow()),e.items=n.source,n}});const y_={parity:t=>t.filter((n,e)=>e%2?n.opacity=0:1),greedy:(t,n)=>{let e;return t.filter((r,i)=>i&&v_(e.bounds,r.bounds,n)?r.opacity=0:(e=r,1))}},v_=(t,n,e)=>e>Math.max(n.x1-t.x2,t.x1-n.x2,n.y1-t.y2,t.y1-n.y2),b_=(t,n)=>{for(var e,r=1,i=t.length,a=t[0].bounds;r<i;a=e,++r)if(v_(a,e=t[r].bounds,n))return!0},c4=t=>{const n=t.bounds;return n.width()>1&&n.height()>1},x_=t=>(t.forEach(n=>n.opacity=1),t),w_=(t,n)=>t.reflow(n.modified()).modifies("opacity");function A_(t){O.call(this,null,t)}V(g_,O,{transform(t,n){const e=y_[t.method]||y_.parity,r=t.separation||0;let i,a,o=n.materialize(n.SOURCE).source;if(!o||!o.length)return;if(!t.method)return t.modified("method")&&(x_(o),n=w_(n,t)),n;if(o=o.filter(c4),!o.length)return;if(t.sort&&(o=o.slice().sort(t.sort)),i=x_(o),n=w_(n,t),i.length>=3&&b_(i,r)){do i=e(i,r);while(i.length>=3&&b_(i,r));i.length<3&&!Bt(o).opacity&&(i.length>1&&(Bt(i).opacity=0),Bt(o).opacity=1)}t.boundScale&&t.boundTolerance>=0&&(a=((u,l,c)=>{var f=u.range(),d=new cn;return l===Uo||l===Qi?d.set(f[0],-1/0,f[1],1/0):d.set(-1/0,f[0],1/0,f[1]),d.expand(c||1),h=>d.encloses(h.bounds)})(t.boundScale,t.boundOrient,+t.boundTolerance),o.forEach(u=>{a(u)||(u.opacity=0)}));const s=i[0].mark.bounds.clear();return o.forEach(u=>{u.opacity&&s.union(u.bounds)}),n}}),V(A_,O,{transform(t,n){const e=n.dataflow;if(n.visit(n.ALL,r=>e.dirty(r)),n.fields&&n.fields.zindex){const r=n.source&&n.source[0];r&&(r.mark.zdirty=!0)}}});const Nn=new cn;function Io(t,n,e){return t[n]===e?0:(t[n]=e,1)}function f4(t){var n=t.items[0].orient;return n===tr||n===nr}function d4(t,n,e,r){var i,a,o=n.items[0],s=o.datum,u=o.translate!=null?o.translate:.5,l=o.orient,c=function(A){let _=+A.grid;return[A.ticks?_++:-1,A.labels?_++:-1,_+ +A.domain]}(s),f=o.range,d=o.offset,h=o.position,p=o.minExtent,m=o.maxExtent,g=s.title&&o.items[c[2]].items[0],y=o.titlePadding,v=o.bounds,x=g&&u0(g),b=0,w=0;switch(Nn.clear().union(v),v.clear(),(i=c[0])>-1&&v.union(o.items[i].bounds),(i=c[1])>-1&&v.union(o.items[i].bounds),l){case Uo:b=h||0,w=-d,a=Math.max(p,Math.min(m,-v.y1)),v.add(0,-a).add(f,0),g&&sf(t,g,a,y,x,0,-1,v);break;case tr:b=-d,w=h||0,a=Math.max(p,Math.min(m,-v.x1)),v.add(-a,0).add(0,f),g&&sf(t,g,a,y,x,1,-1,v);break;case nr:b=e+d,w=h||0,a=Math.max(p,Math.min(m,v.x2)),v.add(0,0).add(a,f),g&&sf(t,g,a,y,x,1,1,v);break;case Qi:b=h||0,w=r+d,a=Math.max(p,Math.min(m,v.y2)),v.add(0,0).add(f,a),g&&sf(t,g,a,y,0,0,1,v);break;default:b=o.x,w=o.y}return ai(v.translate(b,w),o),Io(o,"x",b+u)|Io(o,"y",w+u)&&(o.bounds=Nn,t.dirty(o),o.bounds=v,t.dirty(o)),o.mark.bounds.clear().union(v)}function sf(t,n,e,r,i,a,o,s){const u=n.bounds;if(n.auto){const l=o*(e+i+r);let c=0,f=0;t.dirty(n),a?c=(n.x||0)-(n.x=l):f=(n.y||0)-(n.y=l),n.mark.bounds.clear().union(u.translate(-c,-f)),t.dirty(n)}s.union(u)}const __=(t,n)=>Math.floor(Math.min(t,n)),k_=(t,n)=>Math.ceil(Math.max(t,n));function h4(t){return new cn().set(0,0,t.width||0,t.height||0)}function p4(t){const n=t.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(t.x||0),-(t.y||0))}function Yt(t,n,e){const r=Z(t)?t[n]:t;return r??(e!==void 0?e:0)}function D_(t){return t<0?Math.ceil(-t):0}function F_(t,n,e){var r,i,a,o,s,u,l,c,f,d,h,p=!e.nodirty,m=e.bounds===N0?h4:p4,g=Nn.set(0,0,0,0),y=Yt(e.align,Zi),v=Yt(e.align,ta),x=Yt(e.padding,Zi),b=Yt(e.padding,ta),w=e.columns||n.length,A=w<=0?1:Math.ceil(n.length/w),_=n.length,k=Array(_),F=Array(w),C=0,D=Array(_),E=Array(A),$=0,M=Array(_),S=Array(_),B=Array(_);for(i=0;i<w;++i)F[i]=0;for(i=0;i<A;++i)E[i]=0;for(i=0;i<_;++i)u=n[i],s=B[i]=m(u),u.x=u.x||0,M[i]=0,u.y=u.y||0,S[i]=0,a=i%w,o=~~(i/w),C=Math.max(C,l=Math.ceil(s.x2)),$=Math.max($,c=Math.ceil(s.y2)),F[a]=Math.max(F[a],l),E[o]=Math.max(E[o],c),k[i]=x+D_(s.x1),D[i]=b+D_(s.y1),p&&t.dirty(n[i]);for(i=0;i<_;++i)i%w===0&&(k[i]=0),i<w&&(D[i]=0);if(y===O0)for(a=1;a<w;++a){for(h=0,i=a;i<_;i+=w)h<k[i]&&(h=k[i]);for(i=a;i<_;i+=w)k[i]=h+F[a-1]}else if(y===af){for(h=0,i=0;i<_;++i)i%w&&h<k[i]&&(h=k[i]);for(i=0;i<_;++i)i%w&&(k[i]=h+C)}else for(y=!1,a=1;a<w;++a)for(i=a;i<_;i+=w)k[i]+=F[a-1];if(v===O0)for(o=1;o<A;++o){for(h=0,r=(i=o*w)+w;i<r;++i)h<D[i]&&(h=D[i]);for(i=o*w;i<r;++i)D[i]=h+E[o-1]}else if(v===af){for(h=0,i=w;i<_;++i)h<D[i]&&(h=D[i]);for(i=w;i<_;++i)D[i]=h+$}else for(v=!1,o=1;o<A;++o)for(r=(i=o*w)+w;i<r;++i)D[i]+=E[o-1];for(f=0,i=0;i<_;++i)f=k[i]+(i%w?f:0),M[i]+=f-n[i].x;for(a=0;a<w;++a)for(d=0,i=a;i<_;i+=w)d+=D[i],S[i]+=d-n[i].y;if(y&&Yt(e.center,Zi)&&A>1)for(i=0;i<_;++i)(f=(s=y===af?C:F[i%w])-B[i].x2-n[i].x-M[i])>0&&(M[i]+=f/2);if(v&&Yt(e.center,ta)&&w!==1)for(i=0;i<_;++i)(d=(s=v===af?$:E[~~(i/w)])-B[i].y2-n[i].y-S[i])>0&&(S[i]+=d/2);for(i=0;i<_;++i)g.union(B[i].translate(M[i],S[i]));switch(f=Yt(e.anchor,"x"),d=Yt(e.anchor,"y"),Yt(e.anchor,Zi)){case Yn:f-=g.width();break;case $0:f-=g.width()/2}switch(Yt(e.anchor,ta)){case Yn:d-=g.height();break;case $0:d-=g.height()/2}for(f=Math.round(f),d=Math.round(d),g.clear(),i=0;i<_;++i)n[i].mark.bounds.clear();for(i=0;i<_;++i)(u=n[i]).x+=M[i]+=f,u.y+=S[i]+=d,g.union(u.mark.bounds.union(u.bounds.translate(M[i],S[i]))),p&&t.dirty(u);return g}function m4(t,n,e){var r,i,a,o,s,u,l,c=function(v){var x,b,w=v.items,A=w.length,_=0;const k={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;_<A;++_)if(b=(x=w[_]).items,x.marktype===rf)switch(x.role){case S0:case B0:case M0:break;case i_:k.rowheaders.push(...b);break;case a_:k.rowfooters.push(...b);break;case s_:k.colheaders.push(...b);break;case u_:k.colfooters.push(...b);break;case o_:k.rowtitle=b[0];break;case l_:k.coltitle=b[0];break;default:k.marks.push(...b)}return k}(n),f=c.marks,d=e.bounds===N0?g4:y4,h=e.offset,p=e.columns||f.length,m=p<=0?1:Math.ceil(f.length/p),g=m*p;const y=F_(t,f,e);y.empty()&&y.set(0,0,0,0),c.rowheaders&&(u=Yt(e.headerBand,ta,null),r=uf(t,c.rowheaders,f,p,m,-Yt(h,"rowHeader"),__,0,d,"x1",0,p,1,u)),c.colheaders&&(u=Yt(e.headerBand,Zi,null),i=uf(t,c.colheaders,f,p,p,-Yt(h,"columnHeader"),__,1,d,"y1",0,1,p,u)),c.rowfooters&&(u=Yt(e.footerBand,ta,null),a=uf(t,c.rowfooters,f,p,m,Yt(h,"rowFooter"),k_,0,d,"x2",p-1,p,1,u)),c.colfooters&&(u=Yt(e.footerBand,Zi,null),o=uf(t,c.colfooters,f,p,p,Yt(h,"columnFooter"),k_,1,d,"y2",g-p,1,p,u)),c.rowtitle&&(s=Yt(e.titleAnchor,ta),l=Yt(h,"rowTitle"),l=s===Yn?a+l:r-l,u=Yt(e.titleBand,ta,.5),C_(t,c.rowtitle,l,0,y,u)),c.coltitle&&(s=Yt(e.titleAnchor,Zi),l=Yt(h,"columnTitle"),l=s===Yn?o+l:i-l,u=Yt(e.titleBand,Zi,.5),C_(t,c.coltitle,l,1,y,u))}function g4(t,n){return n==="x1"?t.x||0:n==="y1"?t.y||0:n==="x2"?(t.x||0)+(t.width||0):n==="y2"?(t.y||0)+(t.height||0):void 0}function y4(t,n){return t.bounds[n]}function uf(t,n,e,r,i,a,o,s,u,l,c,f,d,h){var p,m,g,y,v,x,b,w,A,_=e.length,k=0,F=0;if(!_)return k;for(p=c;p<_;p+=f)e[p]&&(k=o(k,u(e[p],l)));if(!n.length)return k;for(n.length>i&&(t.warn("Grid headers exceed limit: "+i),n=n.slice(0,i)),k+=a,m=0,y=n.length;m<y;++m)t.dirty(n[m]),n[m].mark.bounds.clear();for(p=c,m=0,y=n.length;m<y;++m,p+=f){for(v=(x=n[m]).mark.bounds,g=p;g>=0&&(b=e[g])==null;g-=d);s?(w=h==null?b.x:Math.round(b.bounds.x1+h*b.bounds.width()),A=k):(w=k,A=h==null?b.y:Math.round(b.bounds.y1+h*b.bounds.height())),v.union(x.bounds.translate(w-(x.x||0),A-(x.y||0))),x.x=w,x.y=A,t.dirty(x),F=o(F,v[l])}return F}function C_(t,n,e,r,i,a){if(n){t.dirty(n);var o=e,s=e;r?o=Math.round(i.x1+a*i.width()):s=Math.round(i.y1+a*i.height()),n.bounds.translate(o-(n.x||0),s-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=o,n.y=s,t.dirty(n)}}function v4(t,n,e,r,i,a,o){const s=function(d,h){const p=d[h]||{};return(m,g)=>p[m]!=null?p[m]:d[m]!=null?d[m]:g}(e,n),u=function(d,h){let p=-1/0;return d.forEach(m=>{m.offset!=null&&(p=Math.max(p,m.offset))}),p>-1/0?p:h}(t,s("offset",0)),l=s("anchor",E0),c=l===Yn?1:l===$0?.5:0,f={align:O0,bounds:s("bounds",N0),columns:s("direction")==="vertical"?1:t.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(n){case tr:f.anchor={x:Math.floor(r.x1)-u,column:Yn,y:c*(o||r.height()+2*r.y1),row:l};break;case nr:f.anchor={x:Math.ceil(r.x2)+u,y:c*(o||r.height()+2*r.y1),row:l};break;case Uo:f.anchor={y:Math.floor(i.y1)-u,row:Yn,x:c*(a||i.width()+2*i.x1),column:l};break;case Qi:f.anchor={y:Math.ceil(i.y2)+u,x:c*(a||i.width()+2*i.x1),column:l};break;case"top-left":f.anchor={x:u,y:u};break;case"top-right":f.anchor={x:a-u,y:u,column:Yn};break;case"bottom-left":f.anchor={x:u,y:o-u,row:Yn};break;case"bottom-right":f.anchor={x:a-u,y:o-u,column:Yn,row:Yn}}return f}function b4(t,n){var e,r,i=n.items[0],a=i.datum,o=i.orient,s=i.bounds,u=i.x,l=i.y;return i._bounds?i._bounds.clear().union(s):i._bounds=s.clone(),s.clear(),function(c,f,d){var h=f.padding,p=h-d.x,m=h-d.y;if(f.datum.title){var g=f.items[1].items[0],y=g.anchor,v=f.titlePadding||0,x=h-g.x,b=h-g.y;switch(g.orient){case tr:p+=Math.ceil(g.bounds.width())+v;break;case nr:case Qi:break;default:m+=g.bounds.height()+v}switch((p||m)&&_u(c,d,p,m),g.orient){case tr:b+=Wo(f,d,g,y,1,1);break;case nr:x+=Wo(f,d,g,Yn,0,0)+v,b+=Wo(f,d,g,y,1,1);break;case Qi:x+=Wo(f,d,g,y,0,0),b+=Wo(f,d,g,Yn,-1,0,1)+v;break;default:x+=Wo(f,d,g,y,0,0)}(x||b)&&_u(c,g,x,b),(x=Math.round(g.bounds.x1-h))<0&&(_u(c,d,-x,0),_u(c,g,-x,0))}else(p||m)&&_u(c,d,p,m)}(t,i,i.items[0].items[0]),s=function(c,f){return c.items.forEach(d=>f.union(d.bounds)),f.x1=c.padding,f.y1=c.padding,f}(i,s),e=2*i.padding,r=2*i.padding,s.empty()||(e=Math.ceil(s.width()+e),r=Math.ceil(s.height()+r)),a.type==="symbol"&&function(c){const f=c.reduce((d,h)=>(d[h.column]=Math.max(h.bounds.x2-h.x,d[h.column]||0),d),{});c.forEach(d=>{d.width=f[d.column],d.height=d.bounds.y2-d.y})}(i.items[0].items[0].items[0].items),o!==z0&&(i.x=u=0,i.y=l=0),i.width=e,i.height=r,ai(s.set(u,l,u+e,l+r),i),i.mark.bounds.clear().union(s),i}function Wo(t,n,e,r,i,a,o){const s=t.datum.type!=="symbol",u=e.datum.vgrad,l=(!s||!a&&u||o?n:n.items[0]).bounds[i?"y2":"x2"]-t.padding,c=u&&a?l:0,f=u&&a?0:l,d=i<=0?0:u0(e);return Math.round(r===E0?c:r===Yn?f-d:.5*(l-d))}function _u(t,n,e,r){n.x+=e,n.y+=r,n.bounds.translate(e,r),n.mark.bounds.translate(e,r),t.dirty(n)}function E_(t){O.call(this,null,t)}V(E_,O,{transform(t,n){const e=n.dataflow;return t.mark.items.forEach(r=>{t.layout&&m4(e,r,t.layout),function(i,a,o){var s,u,l,c,f,d=a.items,h=Math.max(0,a.width||0),p=Math.max(0,a.height||0),m=new cn().set(0,0,h,p),g=m.clone(),y=m.clone(),v=[];for(c=0,f=d.length;c<f;++c)switch((u=d[c]).role){case S0:(f4(u)?g:y).union(d4(i,u,h,p));break;case M0:s=u;break;case B0:v.push(b4(i,u));break;case s4:case u4:case i_:case a_:case o_:case s_:case u_:case l_:g.union(u.bounds),y.union(u.bounds);break;default:m.union(u.bounds)}if(v.length){const x={};v.forEach(b=>{(l=b.orient||nr)!==z0&&(x[l]||(x[l]=[])).push(b)});for(const b in x){const w=x[b];F_(i,w,v4(w,b,o.legends,g,y,h,p))}v.forEach(b=>{const w=b.bounds;if(w.equals(b._bounds)||(b.bounds=b._bounds,i.dirty(b),b.bounds=w,i.dirty(b)),!o.autosize||o.autosize.type!==c_&&o.autosize.type!==f_&&o.autosize.type!==d_)m.union(w);else switch(b.orient){case tr:case nr:m.add(w.x1,0).add(w.x2,0);break;case Uo:case Qi:m.add(0,w.y1).add(0,w.y2)}})}m.union(g).union(y),s&&m.union(function(x,b,w,A,_){var k,F=b.items[0],C=F.frame,D=F.orient,E=F.anchor,$=F.offset,M=F.padding,S=F.items[0].items[0],B=F.items[1]&&F.items[1].items[0],z=D===tr||D===nr?A:w,N=0,W=0,X=0,L=0,et=0;if(C!==rf?D===tr?(N=_.y2,z=_.y1):D===nr?(N=_.y1,z=_.y2):(N=_.x1,z=_.x2):D===tr&&(N=A,z=0),k=E===E0?N:E===Yn?z:(N+z)/2,B&&B.text){switch(D){case Uo:case Qi:et=S.bounds.height()+M;break;case tr:L=S.bounds.width()+M;break;case nr:L=-S.bounds.width()-M}Nn.clear().union(B.bounds),Nn.translate(L-(B.x||0),et-(B.y||0)),Io(B,"x",L)|Io(B,"y",et)&&(x.dirty(B),B.bounds.clear().union(Nn),B.mark.bounds.clear().union(Nn),x.dirty(B)),Nn.clear().union(B.bounds)}else Nn.clear();switch(Nn.union(S.bounds),D){case Uo:W=k,X=_.y1-Nn.height()-$;break;case tr:W=_.x1-Nn.width()-$,X=k;break;case nr:W=_.x2+Nn.width()+$,X=k;break;case Qi:W=k,X=_.y2+$;break;default:W=F.x,X=F.y}return Io(F,"x",W)|Io(F,"y",X)&&(Nn.translate(W,X),x.dirty(F),F.bounds.clear().union(Nn),b.bounds.clear().union(Nn),x.dirty(F)),F.bounds}(i,s,h,p,m)),a.clip&&m.set(0,0,a.width||0,a.height||0),function(x,b,w,A){const _=A.autosize||{},k=_.type;if(x._autosize<1||!k)return;let F=x._width,C=x._height,D=Math.max(0,b.width||0),E=Math.max(0,Math.ceil(-w.x1)),$=Math.max(0,b.height||0),M=Math.max(0,Math.ceil(-w.y1));const S=Math.max(0,Math.ceil(w.x2-D)),B=Math.max(0,Math.ceil(w.y2-$));if(_.contains===l4){const z=x.padding();F-=z.left+z.right,C-=z.top+z.bottom}k===z0?(E=0,M=0,D=F,$=C):k===c_?(D=Math.max(0,F-E-S),$=Math.max(0,C-M-B)):k===f_?(D=Math.max(0,F-E-S),C=$+M+B):k===d_?(F=D+E+S,$=Math.max(0,C-M-B)):k==="pad"&&(F=D+E+S,C=$+M+B),x._resizeView(F,C,D,$,[E,M],_.resize)}(i,a,m,o)}(e,r,t)}),function(r){return r&&r.mark.role!=="legend-entry"}(t.mark.group)?n.reflow():n}});const x4=Object.freeze(Object.defineProperty({__proto__:null,bound:h_,identifier:R0,mark:m_,overlap:g_,render:A_,viewlayout:E_},Symbol.toStringTag,{value:"Module"}));function $_(t){O.call(this,null,t)}function S_(t){O.call(this,null,t)}function w4(){return St({})}function M_(t){O.call(this,null,t)}function B_(t){O.call(this,[],t)}V($_,O,{transform(t,n){if(this.value&&!t.modified())return n.StopPropagation;var e=n.dataflow.locale(),r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=this.value,a=t.scale,o=Om(a,t.count==null?t.values?t.values.length:10:t.count,t.minstep),s=t.format||_w(e,a,o,t.formatSpecifier,t.formatType,!!t.values),u=t.values?Aw(a,t.values,o):Nm(a,o);return i&&(r.rem=i),i=u.map((l,c)=>St({index:c/(u.length-1||1),value:l,label:s(l)})),t.extra&&i.length&&i.push(St({index:-1,extra:{value:i[0].value},label:""})),r.source=i,r.add=i,this.value=i,r}}),V(S_,O,{transform(t,n){var e=n.dataflow,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=t.item||w4,a=t.key||st,o=this.value;return P(r.encode)&&(r.encode=null),o&&(t.modified("key")||n.modified(a))&&j("DataJoin does not support modified key function or fields."),o||(n=n.addAll(),this.value=o=function(s){const u=Fo().test(l=>l.exit);return u.lookup=l=>u.get(s(l)),u}(a)),n.visit(n.ADD,s=>{const u=a(s);let l=o.get(u);l?l.exit?(o.empty--,r.add.push(l)):r.mod.push(l):(l=i(s),o.set(u,l),r.add.push(l)),l.datum=s,l.exit=!1}),n.visit(n.MOD,s=>{const u=a(s),l=o.get(u);l&&(l.datum=s,r.mod.push(l))}),n.visit(n.REM,s=>{const u=a(s),l=o.get(u);s!==l.datum||l.exit||(r.rem.push(l),l.exit=!0,++o.empty)}),n.changed(n.ADD_MOD)&&r.modifies("datum"),(n.clean()||t.clean&&o.empty>e.cleanThreshold)&&e.runAfter(o.clean),r}}),V(M_,O,{transform(t,n){var e=n.fork(n.ADD_REM),r=t.mod||!1,i=t.encoders,a=n.encode;if(P(a)){if(!e.changed()&&!a.every(f=>i[f]))return n.StopPropagation;a=a[0],e.encode=null}var o=a==="enter",s=i.update||Oi,u=i.enter||Oi,l=i.exit||Oi,c=(a&&!o?i[a]:s)||Oi;if(n.changed(n.ADD)&&(n.visit(n.ADD,f=>{u(f,t),s(f,t)}),e.modifies(u.output),e.modifies(s.output),c!==Oi&&c!==s&&(n.visit(n.ADD,f=>{c(f,t)}),e.modifies(c.output))),n.changed(n.REM)&&l!==Oi&&(n.visit(n.REM,f=>{l(f,t)}),e.modifies(l.output)),o||c!==Oi){const f=n.MOD|(t.modified()?n.REFLOW:0);o?(n.visit(f,d=>{const h=u(d,t)||r;(c(d,t)||h)&&e.mod.push(d)}),e.mod.length&&e.modifies(u.output)):n.visit(f,d=>{(c(d,t)||r)&&e.mod.push(d)}),e.mod.length&&e.modifies(c.output)}return e.changed()?e:n.StopPropagation}}),V(B_,O,{transform(t,n){if(this.value!=null&&!t.modified())return n.StopPropagation;var e,r,i,a,o,s=n.dataflow.locale(),u=n.fork(n.NO_SOURCE|n.NO_FIELDS),l=this.value,c=t.type||Ac,f=t.scale,d=+t.limit,h=Om(f,t.count==null?5:t.count,t.minstep),p=!!t.values||c===Ac,m=t.format||Cw(s,f,h,c,t.formatSpecifier,t.formatType,p),g=t.values||Fw(f,h);return l&&(u.rem=l),c===Ac?(d&&g.length>d?(n.dataflow.warn("Symbol legend count exceeds limit, filtering items."),l=g.slice(0,d-1),o=!0):l=g,bt(i=t.size)?(t.values||f(l[0])!==0||(l=l.slice(1)),a=l.reduce((y,v)=>Math.max(y,i(v,t)),0)):i=In(a=i||8),l=l.map((y,v)=>St({index:v,label:m(y,v,l),value:y,offset:a,size:i(y,t)})),o&&(o=g[l.length],l.push(St({index:l.length,label:`\u2026${g.length-l.length} entries`,value:o,offset:a,size:i(o,t)})))):c==="gradient"?(e=f.domain(),r=vw(f,e[0],Bt(e)),g.length<3&&!t.values&&e[0]!==Bt(e)&&(g=[e[0],Bt(e)]),l=g.map((y,v)=>St({index:v,label:m(y,v,g),value:y,perc:r(y)}))):(i=g.length-1,r=function(y){const v=y.domain(),x=v.length-1;let b=+v[0],w=+Bt(v),A=w-b;if(y.type===bc){const _=x?A/x:.1;b-=_,w+=_,A=w-b}return _=>(_-b)/A}(f),l=g.map((y,v)=>St({index:v,label:m(y,v,g),value:y,perc:v?r(y):0,perc2:v===i?1:r(g[v+1])}))),u.source=l,u.add=l,this.value=l,u}});const A4=t=>t.source.x,_4=t=>t.source.y,k4=t=>t.target.x,D4=t=>t.target.y;function T0(t){O.call(this,{},t)}T0.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"}]},V(T0,O,{transform(t,n){var e=t.sourceX||A4,r=t.sourceY||_4,i=t.targetX||k4,a=t.targetY||D4,o=t.as||"path",s=t.orient||"vertical",u=t.shape||"line",l=R_.get(u+"-"+s)||R_.get(u);return l||j("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:"")),n.visit(n.SOURCE,c=>{c[o]=l(e(c),r(c),i(c),a(c))}),n.reflow(t.modified()).modifies(o)}});const z_=(t,n,e,r)=>"M"+t+","+n+"L"+e+","+r,O_=(t,n,e,r)=>{var i=e-t,a=r-n,o=Math.hypot(i,a)/2;return"M"+t+","+n+"A"+o+","+o+" "+180*Math.atan2(a,i)/Math.PI+" 0 1 "+e+","+r},N_=(t,n,e,r)=>{const i=e-t,a=r-n,o=.2*(i+a),s=.2*(a-i);return"M"+t+","+n+"C"+(t+o)+","+(n+s)+" "+(e+s)+","+(r-o)+" "+e+","+r},R_=Fo({line:z_,"line-radial":(t,n,e,r)=>z_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),arc:O_,"arc-radial":(t,n,e,r)=>O_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),curve:N_,"curve-radial":(t,n,e,r)=>N_(n*Math.cos(t),n*Math.sin(t),r*Math.cos(e),r*Math.sin(e)),"orthogonal-horizontal":(t,n,e,r)=>"M"+t+","+n+"V"+r+"H"+e,"orthogonal-vertical":(t,n,e,r)=>"M"+t+","+n+"H"+e+"V"+r,"orthogonal-radial":(t,n,e,r)=>{const i=Math.cos(t),a=Math.sin(t),o=Math.cos(e),s=Math.sin(e);return"M"+n*i+","+n*a+"A"+n+","+n+" 0 0,"+((Math.abs(e-t)>Math.PI?e<=t:e>t)?1:0)+" "+n*o+","+n*s+"L"+r*o+","+r*s},"diagonal-horizontal":(t,n,e,r)=>{const i=(t+e)/2;return"M"+t+","+n+"C"+i+","+n+" "+i+","+r+" "+e+","+r},"diagonal-vertical":(t,n,e,r)=>{const i=(n+r)/2;return"M"+t+","+n+"C"+t+","+i+" "+e+","+i+" "+e+","+r},"diagonal-radial":(t,n,e,r)=>{const i=Math.cos(t),a=Math.sin(t),o=Math.cos(e),s=Math.sin(e),u=(n+r)/2;return"M"+n*i+","+n*a+"C"+u*i+","+u*a+" "+u*o+","+u*s+" "+r*o+","+r*s}});function P0(t){O.call(this,null,t)}P0.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"]}]},V(P0,O,{transform(t,n){var e,r,i,a=t.as||["startAngle","endAngle"],o=a[0],s=a[1],u=t.field||Gs,l=t.startAngle||0,c=t.endAngle!=null?t.endAngle:2*Math.PI,f=n.source,d=f.map(u),h=d.length,p=l,m=(c-l)/Jx(d),g=xe(h);for(t.sort&&g.sort((y,v)=>d[y]-d[v]),e=0;e<h;++e)i=d[g[e]],(r=f[g[e]])[o]=p,r[s]=p+=i*m;return this.value=d,n.reflow(t.modified()).modifies(a)}});function T_(t){return Sm(t)&&t!==Cr}const F4=Dr(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function P_(t){O.call(this,null,t),this.modified(!0)}function j_(t,n,e){return hw(t)&&Math.abs(n.reduce((r,i)=>r+(i<0?-1:i>0?1:0),0))!==n.length&&e.warn("Log scale domain includes zero: "+G(n)),n}function L_(t,n,e){return bt(t)&&(n||e)?gw(t,j0(n||[0,1],e)):t}function j0(t,n){return n?t.slice().reverse():t}function q_(t){O.call(this,null,t)}V(P_,O,{transform(t,n){var e=n.dataflow,r=this.value,i=function(a){var o,s=a.type,u="";return s===Cr?Cr+"-"+Bo:(function(l){const c=l.type;return Sm(c)&&c!==za&&c!==Oa&&(l.scheme||l.range&&l.range.length&&l.range.every(Q))}(a)&&(u=(o=a.rawDomain?a.rawDomain.length:a.domain?a.domain.length+ +(a.domainMid!=null):0)===2?Cr+"-":o===3?zo+"-":""),(u+s||Bo).toLowerCase())}(t);for(i in r&&i===r.type||(this.value=r=Dt(i)()),t)if(!F4[i]){if(i==="padding"&&T_(r.type))continue;bt(r[i])?r[i](t[i]):e.warn("Unsupported scale property: "+i)}return function(a,o,s){var u=a.type,l=o.round||!1,c=o.range;if(o.rangeStep!=null)c=function(f,d,h){f!==sw&&f!==Fm&&j("Only band and point scales support rangeStep.");var p=(d.paddingOuter!=null?d.paddingOuter:d.padding)||0,m=f===Fm?1:(d.paddingInner!=null?d.paddingInner:d.padding)||0;return[0,d.rangeStep*km(h,m,p)]}(u,o,s);else if(o.scheme&&(c=function(f,d,h){var p,m=d.schemeExtent;return P(d.scheme)?p=wc(d.scheme,d.interpolate,d.interpolateGamma):(p=zm(d.scheme.toLowerCase()))||j(`Unrecognized scheme name: ${d.scheme}`),h=f===bc?h+1:f===Cm?h-1:f===Oo||f===vc?+d.schemeCount||5:h,pw(f)?L_(p,m,d.reverse):bt(p)?yw(L_(p,m),h):f===Dm?p:p.slice(0,h)}(u,o,s),bt(c))){if(a.interpolator)return a.interpolator(c);j(`Scale type ${u} does not support interpolating color schemes.`)}if(c&&pw(u))return a.interpolator(wc(j0(c,o.reverse),o.interpolate,o.interpolateGamma));c&&o.interpolate&&a.interpolate?a.interpolate(Bm(o.interpolate,o.interpolateGamma)):bt(a.round)?a.round(l):bt(a.rangeRound)&&a.interpolate(l?Xl:Vs),c&&a.range(j0(c,o.reverse))}(r,t,function(a,o,s){let u=o.bins;if(u&&!P(u)){const l=a.domain(),c=l[0],f=Bt(l),d=u.step;let h=u.start==null?c:u.start,p=u.stop==null?f:u.stop;d||j("Scale bins parameter missing step property."),h<c&&(h=d*Math.ceil(c/d)),p>f&&(p=d*Math.floor(f/d)),u=xe(h,p+d/2,d)}return u?a.bins=u:a.bins&&delete a.bins,a.type===Cm&&(u?o.domain||o.domainRaw||(a.domain(u),s=u.length):a.bins=a.domain()),s}(r,t,function(a,o,s){const u=function(p,m,g){return m?(p.domain(j_(p.type,m,g)),m.length):-1}(a,o.domainRaw,s);if(u>-1)return u;var l,c,f=o.domain,d=a.type,h=o.zero||o.zero===void 0&&function(p){const m=p.type;return!p.bins&&(m===Bo||m===ru||m===iu)}(a);if(!f)return 0;if((h||o.domainMin!=null||o.domainMax!=null||o.domainMid!=null)&&(l=(f=f.slice()).length-1||1,h&&(f[0]>0&&(f[0]=0),f[l]<0&&(f[l]=0)),o.domainMin!=null&&(f[0]=o.domainMin),o.domainMax!=null&&(f[l]=o.domainMax),o.domainMid!=null)){const p=(c=o.domainMid)>f[l]?l+1:c<f[0]?0:l;p!==l&&s.warn("Scale domainMid exceeds domain min or max.",c),f.splice(p,0,c)}return T_(d)&&o.padding&&f[0]!==Bt(f)&&(f=function(p,m,g,y,v,x){var b=Math.abs(Bt(g)-g[0]),w=b/(b-2*y),A=p===ri?ap(m,null,w):p===iu?Vl(m,null,w,.5):p===ru?Vl(m,null,w,v||1):p===yc?op(m,null,w,x||1):sp(m,null,w);return m=m.slice(),m[0]=A[0],m[m.length-1]=A[1],m}(d,f,o.range,o.padding,o.exponent,o.constant)),a.domain(j_(d,f,s)),d===Dm&&a.unknown(o.domainImplicit?S8:void 0),o.nice&&a.nice&&a.nice(o.nice!==!0&&Om(a,o.nice)||null),f.length}(r,t,e))),n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),V(q_,O,{transform(t,n){const e=t.modified("sort")||n.changed(n.ADD)||n.modified(t.sort.fields)||n.modified("datum");return e&&n.source.sort(Sa(t.sort)),this.modified(e),n}});const U_="zero",I_="center",W_="normalize",H_=["y0","y1"];function L0(t){O.call(this,null,t)}function C4(t,n,e,r,i){for(var a,o=(n-t.sum)/2,s=t.length,u=0;u<s;++u)(a=t[u])[r]=o,a[i]=o+=Math.abs(e(a))}function E4(t,n,e,r,i){for(var a,o=1/t.sum,s=0,u=t.length,l=0,c=0;l<u;++l)(a=t[l])[r]=s,a[i]=s=o*(c+=Math.abs(e(a)))}function $4(t,n,e,r,i){for(var a,o,s=0,u=0,l=t.length,c=0;c<l;++c)(a=+e(o=t[c]))<0?(o[r]=u,o[i]=u+=a):(o[r]=s,o[i]=s+=a)}L0.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:U_,values:[U_,I_,W_]},{name:"as",type:"string",array:!0,length:2,default:H_}]},V(L0,O,{transform(t,n){var e,r,i,a,o=t.as||H_,s=o[0],u=o[1],l=Sa(t.sort),c=t.field||Gs,f=t.offset===I_?C4:t.offset===W_?E4:$4;for(e=function(d,h,p,m){var g,y,v,x,b,w,A,_,k,F=[],C=D=>D(b);if(h==null)F.push(d.slice());else for(g={},y=0,v=d.length;y<v;++y)b=d[y],(A=g[w=h.map(C)])||(g[w]=A=[],F.push(A)),A.push(b);for(w=0,k=0,x=F.length;w<x;++w){for(y=0,_=0,v=(A=F[w]).length;y<v;++y)_+=Math.abs(m(A[y]));A.sum=_,_>k&&(k=_),p&&A.sort(p)}return F.max=k,F}(n.source,t.groupby,l,c),r=0,i=e.length,a=e.max;r<i;++r)f(e[r],a,c,s,u);return n.reflow(t.modified()).modifies(o)}});const S4=Object.freeze(Object.defineProperty({__proto__:null,axisticks:$_,datajoin:S_,encode:M_,legendentries:B_,linkpath:T0,pie:P0,scale:P_,sortitems:q_,stack:L0},Symbol.toStringTag,{value:"Module"}));var dt=1e-6,q0=1e-12,yt=Math.PI,rn=yt/2,lf=yt/4,Xn=2*yt,on=180/yt,gt=yt/180,At=Math.abs,Ho=Math.atan,je=Math.atan2,ct=Math.cos,cf=Math.ceil,G_=Math.exp,U0=Math.hypot,ff=Math.log,I0=Math.pow,ut=Math.sin,Le=Math.sign||function(t){return t>0?1:t<0?-1:0},Jn=Math.sqrt,W0=Math.tan;function V_(t){return t>1?0:t<-1?yt:Math.acos(t)}function le(t){return t>1?rn:t<-1?-rn:Math.asin(t)}function Dn(){}function df(t,n){t&&X_.hasOwnProperty(t.type)&&X_[t.type](t,n)}var Y_={Feature:function(t,n){df(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)df(e[r].geometry,n)}},X_={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){H0(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)H0(e[r],n,0)},Polygon:function(t,n){J_(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)J_(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)df(e[r],n)}};function H0(t,n,e){var r,i=-1,a=t.length-e;for(n.lineStart();++i<a;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function J_(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)H0(t[e],n,1);n.polygonEnd()}function si(t,n){t&&Y_.hasOwnProperty(t.type)?Y_[t.type](t,n):df(t,n)}var K_,Q_,G0,V0,Y0,Kt,ce,an,_e,Ua,Z_,tk,Go,ku,na,ui,hf=new Gn,pf=new Gn,Mr={point:Dn,lineStart:Dn,lineEnd:Dn,polygonStart:function(){hf=new Gn,Mr.lineStart=M4,Mr.lineEnd=B4},polygonEnd:function(){var t=+hf;pf.add(t<0?Xn+t:t),this.lineStart=this.lineEnd=this.point=Dn},sphere:function(){pf.add(Xn)}};function M4(){Mr.point=z4}function B4(){nk(K_,Q_)}function z4(t,n){Mr.point=nk,K_=t,Q_=n,G0=t*=gt,V0=ct(n=(n*=gt)/2+lf),Y0=ut(n)}function nk(t,n){var e=(t*=gt)-G0,r=e>=0?1:-1,i=r*e,a=ct(n=(n*=gt)/2+lf),o=ut(n),s=Y0*o,u=V0*a+s*ct(i),l=s*r*ut(i);hf.add(je(l,u)),G0=t,V0=a,Y0=o}function mf(t){return[je(t[1],t[0]),le(t[2])]}function Ia(t){var n=t[0],e=t[1],r=ct(e);return[r*ct(n),r*ut(n),ut(e)]}function gf(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function Vo(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function X0(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function yf(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function vf(t){var n=Jn(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}var Du,bf,xf,wf,Af,_f,kf,Df,J0,K0,Q0,ek,rk,Kn,Qn,Zn,li={point:Z0,lineStart:ak,lineEnd:ok,polygonStart:function(){li.point=sk,li.lineStart=O4,li.lineEnd=N4,ku=new Gn,Mr.polygonStart()},polygonEnd:function(){Mr.polygonEnd(),li.point=Z0,li.lineStart=ak,li.lineEnd=ok,hf<0?(Kt=-(an=180),ce=-(_e=90)):ku>dt?_e=90:ku<-1e-6&&(ce=-90),ui[0]=Kt,ui[1]=an},sphere:function(){Kt=-(an=180),ce=-(_e=90)}};function Z0(t,n){na.push(ui=[Kt=t,an=t]),n<ce&&(ce=n),n>_e&&(_e=n)}function ik(t,n){var e=Ia([t*gt,n*gt]);if(Go){var r=Vo(Go,e),i=Vo([r[1],-r[0],0],r);vf(i),i=mf(i);var a,o=t-Ua,s=o>0?1:-1,u=i[0]*on*s,l=At(o)>180;l^(s*Ua<u&&u<s*t)?(a=i[1]*on)>_e&&(_e=a):l^(s*Ua<(u=(u+360)%360-180)&&u<s*t)?(a=-i[1]*on)<ce&&(ce=a):(n<ce&&(ce=n),n>_e&&(_e=n)),l?t<Ua?ke(Kt,t)>ke(Kt,an)&&(an=t):ke(t,an)>ke(Kt,an)&&(Kt=t):an>=Kt?(t<Kt&&(Kt=t),t>an&&(an=t)):t>Ua?ke(Kt,t)>ke(Kt,an)&&(an=t):ke(t,an)>ke(Kt,an)&&(Kt=t)}else na.push(ui=[Kt=t,an=t]);n<ce&&(ce=n),n>_e&&(_e=n),Go=e,Ua=t}function ak(){li.point=ik}function ok(){ui[0]=Kt,ui[1]=an,li.point=Z0,Go=null}function sk(t,n){if(Go){var e=t-Ua;ku.add(At(e)>180?e+(e>0?360:-360):e)}else Z_=t,tk=n;Mr.point(t,n),ik(t,n)}function O4(){Mr.lineStart()}function N4(){sk(Z_,tk),Mr.lineEnd(),At(ku)>dt&&(Kt=-(an=180)),ui[0]=Kt,ui[1]=an,Go=null}function ke(t,n){return(n-=t)<0?n+360:n}function R4(t,n){return t[0]-n[0]}function uk(t,n){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var er={sphere:Dn,point:tg,lineStart:lk,lineEnd:ck,polygonStart:function(){er.lineStart=j4,er.lineEnd=L4},polygonEnd:function(){er.lineStart=lk,er.lineEnd=ck}};function tg(t,n){t*=gt;var e=ct(n*=gt);Fu(e*ct(t),e*ut(t),ut(n))}function Fu(t,n,e){++Du,xf+=(t-xf)/Du,wf+=(n-wf)/Du,Af+=(e-Af)/Du}function lk(){er.point=T4}function T4(t,n){t*=gt;var e=ct(n*=gt);Kn=e*ct(t),Qn=e*ut(t),Zn=ut(n),er.point=P4,Fu(Kn,Qn,Zn)}function P4(t,n){t*=gt;var e=ct(n*=gt),r=e*ct(t),i=e*ut(t),a=ut(n),o=je(Jn((o=Qn*a-Zn*i)*o+(o=Zn*r-Kn*a)*o+(o=Kn*i-Qn*r)*o),Kn*r+Qn*i+Zn*a);bf+=o,_f+=o*(Kn+(Kn=r)),kf+=o*(Qn+(Qn=i)),Df+=o*(Zn+(Zn=a)),Fu(Kn,Qn,Zn)}function ck(){er.point=tg}function j4(){er.point=q4}function L4(){fk(ek,rk),er.point=tg}function q4(t,n){ek=t,rk=n,t*=gt,n*=gt,er.point=fk;var e=ct(n);Kn=e*ct(t),Qn=e*ut(t),Zn=ut(n),Fu(Kn,Qn,Zn)}function fk(t,n){t*=gt;var e=ct(n*=gt),r=e*ct(t),i=e*ut(t),a=ut(n),o=Qn*a-Zn*i,s=Zn*r-Kn*a,u=Kn*i-Qn*r,l=U0(o,s,u),c=le(l),f=l&&-c/l;J0.add(f*o),K0.add(f*s),Q0.add(f*u),bf+=c,_f+=c*(Kn+(Kn=r)),kf+=c*(Qn+(Qn=i)),Df+=c*(Zn+(Zn=a)),Fu(Kn,Qn,Zn)}function ng(t,n){function e(r,i){return r=t(r,i),n(r[0],r[1])}return t.invert&&n.invert&&(e.invert=function(r,i){return(r=n.invert(r,i))&&t.invert(r[0],r[1])}),e}function eg(t,n){return At(t)>yt&&(t-=Math.round(t/Xn)*Xn),[t,n]}function dk(t,n,e){return(t%=Xn)?n||e?ng(pk(t),mk(n,e)):pk(t):n||e?mk(n,e):eg}function hk(t){return function(n,e){return At(n+=t)>yt&&(n-=Math.round(n/Xn)*Xn),[n,e]}}function pk(t){var n=hk(t);return n.invert=hk(-t),n}function mk(t,n){var e=ct(t),r=ut(t),i=ct(n),a=ut(n);function o(s,u){var l=ct(u),c=ct(s)*l,f=ut(s)*l,d=ut(u),h=d*e+c*r;return[je(f*i-h*a,c*e-d*r),le(h*i+f*a)]}return o.invert=function(s,u){var l=ct(u),c=ct(s)*l,f=ut(s)*l,d=ut(u),h=d*i-f*a;return[je(f*i+d*a,c*e+h*r),le(h*e-c*r)]},o}function gk(t,n){(n=Ia(n))[0]-=t,vf(n);var e=V_(-n[1]);return((-n[2]<0?-e:e)+Xn-dt)%Xn}function yk(){var t,n=[];return{point:function(e,r,i){t.push([e,r,i])},lineStart:function(){n.push(t=[])},lineEnd:Dn,rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))},result:function(){var e=n;return n=[],t=null,e}}}function Ff(t,n){return At(t[0]-n[0])<dt&&At(t[1]-n[1])<dt}function Cf(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function vk(t,n,e,r,i){var a,o,s=[],u=[];if(t.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g,y=p[0],v=p[m];if(Ff(y,v)){if(!y[2]&&!v[2]){for(i.lineStart(),a=0;a<m;++a)i.point((y=p[a])[0],y[1]);return void i.lineEnd()}v[0]+=2e-6}s.push(g=new Cf(y,p,null,!0)),u.push(g.o=new Cf(y,null,g,!1)),s.push(g=new Cf(v,p,null,!1)),u.push(g.o=new Cf(v,null,g,!0))}}),s.length){for(u.sort(n),bk(s),bk(u),a=0,o=u.length;a<o;++a)u[a].e=e=!e;for(var l,c,f=s[0];;){for(var d=f,h=!0;d.v;)if((d=d.n)===f)return;l=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(a=0,o=l.length;a<o;++a)i.point((c=l[a])[0],c[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(l=d.p.z,a=l.length-1;a>=0;--a)i.point((c=l[a])[0],c[1]);else r(d.x,d.p.x,-1,i);d=d.p}l=(d=d.o).z,h=!h}while(!d.v);i.lineEnd()}}}function bk(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function rg(t){return At(t[0])<=yt?t[0]:Le(t[0])*((At(t[0])+yt)%Xn-yt)}function xk(t,n,e,r){return function(i){var a,o,s,u=n(i),l=yk(),c=n(l),f=!1,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=v,d.lineEnd=x,o=[],a=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,o=Xx(o);var b=function(w,A){var _=rg(A),k=A[1],F=ut(k),C=[ut(_),-ct(_),0],D=0,E=0,$=new Gn;F===1?k=rn+dt:F===-1&&(k=-rn-dt);for(var M=0,S=w.length;M<S;++M)if(z=(B=w[M]).length)for(var B,z,N=B[z-1],W=rg(N),X=N[1]/2+lf,L=ut(X),et=ct(X),ot=0;ot<z;++ot,W=mt,L=J,et=Mt,N=nt){var nt=B[ot],mt=rg(nt),pt=nt[1]/2+lf,J=ut(pt),Mt=ct(pt),Tt=mt-W,kt=Tt>=0?1:-1,Et=kt*Tt,tn=Et>yt,nn=L*J;if($.add(je(nn*kt*ut(Et),et*Mt+nn*ct(Et))),D+=tn?Tt+kt*Xn:Tt,tn^W>=_^mt>=_){var It=Vo(Ia(N),Ia(nt));vf(It);var be=Vo(C,It);vf(be);var zn=(tn^Tt>=0?-1:1)*le(be[2]);(k>zn||k===zn&&(It[0]||It[1]))&&(E+=tn^Tt>=0?1:-1)}}return(D<-1e-6||D<dt&&$<-1e-12)^1&E}(a,r);o.length?(f||(i.polygonStart(),f=!0),vk(o,I4,b,e,i)):b&&(f||(i.polygonStart(),f=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),f&&(i.polygonEnd(),f=!1),o=a=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(b,w){t(b,w)&&i.point(b,w)}function p(b,w){u.point(b,w)}function m(){d.point=p,u.lineStart()}function g(){d.point=h,u.lineEnd()}function y(b,w){s.push([b,w]),c.point(b,w)}function v(){c.lineStart(),s=[]}function x(){y(s[0][0],s[0][1]),c.lineEnd();var b,w,A,_,k=c.clean(),F=l.result(),C=F.length;if(s.pop(),a.push(s),s=null,C)if(1&k){if((w=(A=F[0]).length-1)>0){for(f||(i.polygonStart(),f=!0),i.lineStart(),b=0;b<w;++b)i.point((_=A[b])[0],_[1]);i.lineEnd()}}else C>1&&2&k&&F.push(F.pop().concat(F.shift())),o.push(F.filter(U4))}return d}}function U4(t){return t.length>1}function I4(t,n){return((t=t.x)[0]<0?t[1]-rn-dt:rn-t[1])-((n=n.x)[0]<0?n[1]-rn-dt:rn-n[1])}eg.invert=eg;const wk=xk(function(){return!0},function(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(a,o){var s=a>0?yt:-yt,u=At(a-e);At(u-yt)<dt?(t.point(e,r=(r+o)/2>0?rn:-rn),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),t.point(a,r),n=0):i!==s&&u>=yt&&(At(e-i)<dt&&(e-=i*dt),At(a-s)<dt&&(a-=s*dt),r=function(l,c,f,d){var h,p,m=ut(l-f);return At(m)>dt?Ho((ut(c)*(p=ct(d))*ut(f)-ut(d)*(h=ct(c))*ut(l))/(h*p*m)):(c+d)/2}(e,r,a,o),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(s,r),n=0),t.point(e=a,r=o),i=s},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}},function(t,n,e,r){var i;if(t==null)i=e*rn,r.point(-yt,i),r.point(0,i),r.point(yt,i),r.point(yt,0),r.point(yt,-i),r.point(0,-i),r.point(-yt,-i),r.point(-yt,0),r.point(-yt,i);else if(At(t[0]-n[0])>dt){var a=t[0]<n[0]?yt:-yt;i=e*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(n[0],n[1])},[-yt,-rn]);function W4(t){var n=ct(t),e=2*gt,r=n>0,i=At(n)>dt;function a(u,l){return ct(u)*ct(l)>n}function o(u,l,c){var f=[1,0,0],d=Vo(Ia(u),Ia(l)),h=gf(d,d),p=d[0],m=h-p*p;if(!m)return!c&&u;var g=n*h/m,y=-n*p/m,v=Vo(f,d),x=yf(f,g);X0(x,yf(d,y));var b=v,w=gf(x,b),A=gf(b,b),_=w*w-A*(gf(x,x)-1);if(!(_<0)){var k=Jn(_),F=yf(b,(-w-k)/A);if(X0(F,x),F=mf(F),!c)return F;var C,D=u[0],E=l[0],$=u[1],M=l[1];E<D&&(C=D,D=E,E=C);var S=E-D,B=At(S-yt)<dt;if(!B&&M<$&&(C=$,$=M,M=C),B||S<dt?B?$+M>0^F[1]<(At(F[0]-D)<dt?$:M):$<=F[1]&&F[1]<=M:S>yt^(D<=F[0]&&F[0]<=E)){var z=yf(b,(-w+k)/A);return X0(z,x),[F,mf(z)]}}}function s(u,l){var c=r?t:yt-t,f=0;return u<-c?f|=1:u>c&&(f|=2),l<-c?f|=4:l>c&&(f|=8),f}return xk(a,function(u){var l,c,f,d,h;return{lineStart:function(){d=f=!1,h=1},point:function(p,m){var g,y=[p,m],v=a(p,m),x=r?v?0:s(p,m):v?s(p+(p<0?yt:-yt),m):0;if(!l&&(d=f=v)&&u.lineStart(),v!==f&&(!(g=o(l,y))||Ff(l,g)||Ff(y,g))&&(y[2]=1),v!==f)h=0,v?(u.lineStart(),g=o(y,l),u.point(g[0],g[1])):(g=o(l,y),u.point(g[0],g[1],2),u.lineEnd()),l=g;else if(i&&l&&r^v){var b;x&c||!(b=o(y,l,!0))||(h=0,r?(u.lineStart(),u.point(b[0][0],b[0][1]),u.point(b[1][0],b[1][1]),u.lineEnd()):(u.point(b[1][0],b[1][1]),u.lineEnd(),u.lineStart(),u.point(b[0][0],b[0][1],3)))}!v||l&&Ff(l,y)||u.point(y[0],y[1]),l=y,f=v,c=x},lineEnd:function(){f&&u.lineEnd(),l=null},clean:function(){return h|(d&&f)<<1}}},function(u,l,c,f){(function(d,h,p,m,g,y){if(p){var v=ct(h),x=ut(h),b=m*p;g==null?(g=h+m*Xn,y=h-b/2):(g=gk(v,g),y=gk(v,y),(m>0?g<y:g>y)&&(g+=m*Xn));for(var w,A=g;m>0?A>y:A<y;A-=b)w=mf([v,-x*ct(A),-x*ut(A)]),d.point(w[0],w[1])}})(f,t,e,c,u,l)},r?[0,-t]:[-yt,t-yt])}var Ef=1e9,$f=-1e9;function Ak(t,n,e,r){function i(l,c){return t<=l&&l<=e&&n<=c&&c<=r}function a(l,c,f,d){var h=0,p=0;if(l==null||(h=o(l,f))!==(p=o(c,f))||u(l,c)<0^f>0)do d.point(h===0||h===3?t:e,h>1?r:n);while((h=(h+f+4)%4)!==p);else d.point(c[0],c[1])}function o(l,c){return At(l[0]-t)<dt?c>0?0:3:At(l[0]-e)<dt?c>0?2:1:At(l[1]-n)<dt?c>0?1:0:c>0?3:2}function s(l,c){return u(l.x,c.x)}function u(l,c){var f=o(l,1),d=o(c,1);return f!==d?f-d:f===0?c[1]-l[1]:f===1?l[0]-c[0]:f===2?l[1]-c[1]:c[0]-l[0]}return function(l){var c,f,d,h,p,m,g,y,v,x,b,w=l,A=yk(),_={point:k,lineStart:function(){_.point=F,f&&f.push(d=[]),x=!0,v=!1,g=y=NaN},lineEnd:function(){c&&(F(h,p),m&&v&&A.rejoin(),c.push(A.result())),_.point=k,v&&w.lineEnd()},polygonStart:function(){w=A,c=[],f=[],b=!0},polygonEnd:function(){var C=function(){for(var $=0,M=0,S=f.length;M<S;++M)for(var B,z,N=f[M],W=1,X=N.length,L=N[0],et=L[0],ot=L[1];W<X;++W)B=et,z=ot,et=(L=N[W])[0],ot=L[1],z<=r?ot>r&&(et-B)*(r-z)>(ot-z)*(t-B)&&++$:ot<=r&&(et-B)*(r-z)<(ot-z)*(t-B)&&--$;return $}(),D=b&&C,E=(c=Xx(c)).length;(D||E)&&(l.polygonStart(),D&&(l.lineStart(),a(null,null,1,l),l.lineEnd()),E&&vk(c,s,C,a,l),l.polygonEnd()),w=l,c=f=d=null}};function k(C,D){i(C,D)&&w.point(C,D)}function F(C,D){var E=i(C,D);if(f&&d.push([C,D]),x)h=C,p=D,m=E,x=!1,E&&(w.lineStart(),w.point(C,D));else if(E&&v)w.point(C,D);else{var $=[g=Math.max($f,Math.min(Ef,g)),y=Math.max($f,Math.min(Ef,y))],M=[C=Math.max($f,Math.min(Ef,C)),D=Math.max($f,Math.min(Ef,D))];(function(S,B,z,N,W,X){var L,et=S[0],ot=S[1],nt=0,mt=1,pt=B[0]-et,J=B[1]-ot;if(L=z-et,pt||!(L>0)){if(L/=pt,pt<0){if(L<nt)return;L<mt&&(mt=L)}else if(pt>0){if(L>mt)return;L>nt&&(nt=L)}if(L=W-et,pt||!(L<0)){if(L/=pt,pt<0){if(L>mt)return;L>nt&&(nt=L)}else if(pt>0){if(L<nt)return;L<mt&&(mt=L)}if(L=N-ot,J||!(L>0)){if(L/=J,J<0){if(L<nt)return;L<mt&&(mt=L)}else if(J>0){if(L>mt)return;L>nt&&(nt=L)}if(L=X-ot,J||!(L<0)){if(L/=J,J<0){if(L>mt)return;L>nt&&(nt=L)}else if(J>0){if(L<nt)return;L<mt&&(mt=L)}return nt>0&&(S[0]=et+nt*pt,S[1]=ot+nt*J),mt<1&&(B[0]=et+mt*pt,B[1]=ot+mt*J),!0}}}}})($,M,t,n,e,r)?(v||(w.lineStart(),w.point($[0],$[1])),w.point(M[0],M[1]),E||w.lineEnd(),b=!1):E&&(w.lineStart(),w.point(C,D),b=!1)}g=C,y=D,v=E}return _}}function _k(t,n,e){var r=xe(t,n-dt,e).concat(n);return function(i){return r.map(function(a){return[i,a]})}}function kk(t,n,e){var r=xe(t,n-dt,e).concat(n);return function(i){return r.map(function(a){return[a,i]})}}const Cu=t=>t;var Dk,Fk,ig,ag,og=new Gn,sg=new Gn,ci={point:Dn,lineStart:Dn,lineEnd:Dn,polygonStart:function(){ci.lineStart=H4,ci.lineEnd=V4},polygonEnd:function(){ci.lineStart=ci.lineEnd=ci.point=Dn,og.add(At(sg)),sg=new Gn},result:function(){var t=og/2;return og=new Gn,t}};function H4(){ci.point=G4}function G4(t,n){ci.point=Ck,Dk=ig=t,Fk=ag=n}function Ck(t,n){sg.add(ag*t-ig*n),ig=t,ag=n}function V4(){Ck(Dk,Fk)}var Yo=1/0,Sf=Yo,Eu=-Yo,Mf=Eu,Bf={point:function(t,n){t<Yo&&(Yo=t),t>Eu&&(Eu=t),n<Sf&&(Sf=n),n>Mf&&(Mf=n)},lineStart:Dn,lineEnd:Dn,polygonStart:Dn,polygonEnd:Dn,result:function(){var t=[[Yo,Sf],[Eu,Mf]];return Eu=Mf=-(Sf=Yo=1/0),t}},Ek,$k,Br,zr,ug=0,lg=0,$u=0,zf=0,Of=0,Xo=0,cg=0,fg=0,Su=0,qe={point:Wa,lineStart:Sk,lineEnd:Mk,polygonStart:function(){qe.lineStart=J4,qe.lineEnd=K4},polygonEnd:function(){qe.point=Wa,qe.lineStart=Sk,qe.lineEnd=Mk},result:function(){var t=Su?[cg/Su,fg/Su]:Xo?[zf/Xo,Of/Xo]:$u?[ug/$u,lg/$u]:[NaN,NaN];return ug=lg=$u=zf=Of=Xo=cg=fg=Su=0,t}};function Wa(t,n){ug+=t,lg+=n,++$u}function Sk(){qe.point=Y4}function Y4(t,n){qe.point=X4,Wa(Br=t,zr=n)}function X4(t,n){var e=t-Br,r=n-zr,i=Jn(e*e+r*r);zf+=i*(Br+t)/2,Of+=i*(zr+n)/2,Xo+=i,Wa(Br=t,zr=n)}function Mk(){qe.point=Wa}function J4(){qe.point=Q4}function K4(){Bk(Ek,$k)}function Q4(t,n){qe.point=Bk,Wa(Ek=Br=t,$k=zr=n)}function Bk(t,n){var e=t-Br,r=n-zr,i=Jn(e*e+r*r);zf+=i*(Br+t)/2,Of+=i*(zr+n)/2,Xo+=i,cg+=(i=zr*t-Br*n)*(Br+t),fg+=i*(zr+n),Su+=3*i,Wa(Br=t,zr=n)}function zk(t){this._context=t}zk.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,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(t,n){switch(this._point){case 0:this._context.moveTo(t,n),this._point=1;break;case 1:this._context.lineTo(t,n);break;default:this._context.moveTo(t+this._radius,n),this._context.arc(t,n,this._radius,0,Xn)}},result:Dn};var dg,Ok,Nk,Mu,Bu,hg=new Gn,zu={point:Dn,lineStart:function(){zu.point=Z4},lineEnd:function(){dg&&Rk(Ok,Nk),zu.point=Dn},polygonStart:function(){dg=!0},polygonEnd:function(){dg=null},result:function(){var t=+hg;return hg=new Gn,t}};function Z4(t,n){zu.point=Rk,Ok=Mu=t,Nk=Bu=n}function Rk(t,n){Mu-=t,Bu-=n,hg.add(Jn(Mu*Mu+Bu*Bu)),Mu=t,Bu=n}let Tk,Nf,Pk,jk;class Lk{constructor(n){this._append=n==null?qk:function(e){const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);if(r>15)return qk;if(r!==Tk){const i=10**r;Tk=r,Nf=function(a){let o=1;this._+=a[0];for(const s=a.length;o<s;++o)this._+=Math.round(arguments[o]*i)/i+a[o]}}return Nf}(n),this._radius=4.5,this._=""}pointRadius(n){return this._radius=+n,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(n,e){switch(this._point){case 0:this._append`M${n},${e}`,this._point=1;break;case 1:this._append`L${n},${e}`;break;default:if(this._append`M${n},${e}`,this._radius!==Pk||this._append!==Nf){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,Pk=r,Nf=this._append,jk=this._,this._=i}this._+=jk}}result(){const n=this._;return this._="",n.length?n:null}}function qk(t){let n=1;this._+=t[0];for(const e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Uk(t,n){let e,r,i=3,a=4.5;function o(s){return s&&(typeof a=="function"&&r.pointRadius(+a.apply(this,arguments)),si(s,e(r))),r.result()}return o.area=function(s){return si(s,e(ci)),ci.result()},o.measure=function(s){return si(s,e(zu)),zu.result()},o.bounds=function(s){return si(s,e(Bf)),Bf.result()},o.centroid=function(s){return si(s,e(qe)),qe.result()},o.projection=function(s){return arguments.length?(e=s==null?(t=null,Cu):(t=s).stream,o):t},o.context=function(s){return arguments.length?(r=s==null?(n=null,new Lk(i)):new zk(n=s),typeof a!="function"&&r.pointRadius(a),o):n},o.pointRadius=function(s){return arguments.length?(a=typeof s=="function"?s:(r.pointRadius(+s),+s),o):a},o.digits=function(s){if(!arguments.length)return i;if(s==null)i=null;else{const u=Math.floor(s);if(!(u>=0))throw new RangeError(`invalid digits: ${s}`);i=u}return n===null&&(r=new Lk(i)),o},o.projection(t).digits(i).context(n)}function Rf(t){return function(n){var e=new pg;for(var r in t)e[r]=t[r];return e.stream=n,e}}function pg(){}function mg(t,n,e){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),si(e,t.stream(Bf)),n(Bf.result()),r!=null&&t.clipExtent(r),t}function Tf(t,n,e){return mg(t,function(r){var i=n[1][0]-n[0][0],a=n[1][1]-n[0][1],o=Math.min(i/(r[1][0]-r[0][0]),a/(r[1][1]-r[0][1])),s=+n[0][0]+(i-o*(r[1][0]+r[0][0]))/2,u=+n[0][1]+(a-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([s,u])},e)}function gg(t,n,e){return Tf(t,[[0,0],n],e)}function yg(t,n,e){return mg(t,function(r){var i=+n,a=i/(r[1][0]-r[0][0]),o=(i-a*(r[1][0]+r[0][0]))/2,s=-a*r[0][1];t.scale(150*a).translate([o,s])},e)}function vg(t,n,e){return mg(t,function(r){var i=+n,a=i/(r[1][1]-r[0][1]),o=-a*r[0][0],s=(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])},e)}pg.prototype={constructor:pg,point:function(t,n){this.stream.point(t,n)},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()}};var tM=ct(30*gt);function Ik(t,n){return+n?function(e,r){function i(a,o,s,u,l,c,f,d,h,p,m,g,y,v){var x=f-a,b=d-o,w=x*x+b*b;if(w>4*r&&y--){var A=u+p,_=l+m,k=c+g,F=Jn(A*A+_*_+k*k),C=le(k/=F),D=At(At(k)-1)<dt||At(s-h)<dt?(s+h)/2:je(_,A),E=e(D,C),$=E[0],M=E[1],S=$-a,B=M-o,z=b*S-x*B;(z*z/w>r||At((x*S+b*B)/w-.5)>.3||u*p+l*m+c*g<tM)&&(i(a,o,s,u,l,c,$,M,D,A/=F,_/=F,k,y,v),v.point($,M),i($,M,D,A,_,k,f,d,h,p,m,g,y,v))}}return function(a){var o,s,u,l,c,f,d,h,p,m,g,y,v={point:x,lineStart:b,lineEnd:A,polygonStart:function(){a.polygonStart(),v.lineStart=_},polygonEnd:function(){a.polygonEnd(),v.lineStart=b}};function x(C,D){C=e(C,D),a.point(C[0],C[1])}function b(){h=NaN,v.point=w,a.lineStart()}function w(C,D){var E=Ia([C,D]),$=e(C,D);i(h,p,d,m,g,y,h=$[0],p=$[1],d=C,m=E[0],g=E[1],y=E[2],16,a),a.point(h,p)}function A(){v.point=x,a.lineEnd()}function _(){b(),v.point=k,v.lineEnd=F}function k(C,D){w(o=C,D),s=h,u=p,l=m,c=g,f=y,v.point=w}function F(){i(h,p,d,m,g,y,s,u,o,l,c,f,16,a),v.lineEnd=A,A()}return v}}(t,n):function(e){return Rf({point:function(r,i){r=e(r,i),this.stream.point(r[0],r[1])}})}(t)}var nM=Rf({point:function(t,n){this.stream.point(t*gt,n*gt)}});function Wk(t,n,e,r,i,a){if(!a)return function(m,g,y,v,x){function b(w,A){return[g+m*(w*=v),y-m*(A*=x)]}return b.invert=function(w,A){return[(w-g)/m*v,(y-A)/m*x]},b}(t,n,e,r,i);var o=ct(a),s=ut(a),u=o*t,l=s*t,c=o/t,f=s/t,d=(s*e-o*n)/t,h=(s*n+o*e)/t;function p(m,g){return[u*(m*=r)-l*(g*=i)+n,e-l*m-u*g]}return p.invert=function(m,g){return[r*(c*m-f*g+d),i*(h-f*m-c*g)]},p}function Or(t){return Hk(function(){return t})()}function Hk(t){var n,e,r,i,a,o,s,u,l,c,f=150,d=480,h=250,p=0,m=0,g=0,y=0,v=0,x=0,b=1,w=1,A=null,_=wk,k=null,F=Cu,C=.5;function D(S){return u(S[0]*gt,S[1]*gt)}function E(S){return(S=u.invert(S[0],S[1]))&&[S[0]*on,S[1]*on]}function $(){var S=Wk(f,0,0,b,w,x).apply(null,n(p,m)),B=Wk(f,d-S[0],h-S[1],b,w,x);return e=dk(g,y,v),s=ng(n,B),u=ng(e,s),o=Ik(s,C),M()}function M(){return l=c=null,D}return D.stream=function(S){return l&&c===S?l:l=nM(function(B){return Rf({point:function(z,N){var W=B(z,N);return this.stream.point(W[0],W[1])}})}(e)(_(o(F(c=S)))))},D.preclip=function(S){return arguments.length?(_=S,A=void 0,M()):_},D.postclip=function(S){return arguments.length?(F=S,k=r=i=a=null,M()):F},D.clipAngle=function(S){return arguments.length?(_=+S?W4(A=S*gt):(A=null,wk),M()):A*on},D.clipExtent=function(S){return arguments.length?(F=S==null?(k=r=i=a=null,Cu):Ak(k=+S[0][0],r=+S[0][1],i=+S[1][0],a=+S[1][1]),M()):k==null?null:[[k,r],[i,a]]},D.scale=function(S){return arguments.length?(f=+S,$()):f},D.translate=function(S){return arguments.length?(d=+S[0],h=+S[1],$()):[d,h]},D.center=function(S){return arguments.length?(p=S[0]%360*gt,m=S[1]%360*gt,$()):[p*on,m*on]},D.rotate=function(S){return arguments.length?(g=S[0]%360*gt,y=S[1]%360*gt,v=S.length>2?S[2]%360*gt:0,$()):[g*on,y*on,v*on]},D.angle=function(S){return arguments.length?(x=S%360*gt,$()):x*on},D.reflectX=function(S){return arguments.length?(b=S?-1:1,$()):b<0},D.reflectY=function(S){return arguments.length?(w=S?-1:1,$()):w<0},D.precision=function(S){return arguments.length?(o=Ik(s,C=S*S),M()):Jn(C)},D.fitExtent=function(S,B){return Tf(D,S,B)},D.fitSize=function(S,B){return gg(D,S,B)},D.fitWidth=function(S,B){return yg(D,S,B)},D.fitHeight=function(S,B){return vg(D,S,B)},function(){return n=t.apply(this,arguments),D.invert=n.invert&&E,$()}}function bg(t){var n=0,e=yt/3,r=Hk(t),i=r(n,e);return i.parallels=function(a){return arguments.length?r(n=a[0]*gt,e=a[1]*gt):[n*on,e*on]},i}function eM(t,n){var e=ut(t),r=(e+ut(n))/2;if(At(r)<dt)return function(s){var u=ct(s);function l(c,f){return[c*u,ut(f)/u]}return l.invert=function(c,f){return[c/u,le(f*u)]},l}(t);var i=1+e*(2*r-e),a=Jn(i)/r;function o(s,u){var l=Jn(i-2*r*ut(u))/r;return[l*ut(s*=r),a-l*ct(s)]}return o.invert=function(s,u){var l=a-u,c=je(s,At(l))*Le(l);return l*r<0&&(c-=yt*Le(s)*Le(l)),[c/r,le((i-(s*s+l*l)*r*r)/(2*r))]},o}function Pf(){return bg(eM).scale(155.424).center([0,33.6442])}function Gk(){return Pf().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Vk(t){return function(n,e){var r=ct(n),i=ct(e),a=t(r*i);return a===1/0?[2,0]:[a*i*ut(n),a*ut(e)]}}function Ou(t){return function(n,e){var r=Jn(n*n+e*e),i=t(r),a=ut(i),o=ct(i);return[je(n*a,r*o),le(r&&e*a/r)]}}var Yk=Vk(function(t){return Jn(2/(1+t))});Yk.invert=Ou(function(t){return 2*le(t/2)});var Xk=Vk(function(t){return(t=V_(t))&&t/ut(t)});function jf(t,n){return[t,ff(W0((rn+n)/2))]}function Jk(t){var n,e,r,i=Or(t),a=i.center,o=i.scale,s=i.translate,u=i.clipExtent,l=null;function c(){var f=yt*o(),d=i(function(h){function p(m){return(m=h(m[0]*gt,m[1]*gt))[0]*=on,m[1]*=on,m}return h=dk(h[0]*gt,h[1]*gt,h.length>2?h[2]*gt:0),p.invert=function(m){return(m=h.invert(m[0]*gt,m[1]*gt))[0]*=on,m[1]*=on,m},p}(i.rotate()).invert([0,0]));return u(l==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:t===jf?[[Math.max(d[0]-f,l),n],[Math.min(d[0]+f,e),r]]:[[l,Math.max(d[1]-f,n)],[e,Math.min(d[1]+f,r)]])}return i.scale=function(f){return arguments.length?(o(f),c()):o()},i.translate=function(f){return arguments.length?(s(f),c()):s()},i.center=function(f){return arguments.length?(a(f),c()):a()},i.clipExtent=function(f){return arguments.length?(f==null?l=n=e=r=null:(l=+f[0][0],n=+f[0][1],e=+f[1][0],r=+f[1][1]),c()):l==null?null:[[l,n],[e,r]]},c()}function Lf(t){return W0((rn+t)/2)}function rM(t,n){var e=ct(t),r=t===n?ut(t):ff(e/ct(n))/ff(Lf(n)/Lf(t)),i=e*I0(Lf(t),r)/r;if(!r)return jf;function a(o,s){i>0?s<-rn+dt&&(s=-rn+dt):s>rn-dt&&(s=rn-dt);var u=i/I0(Lf(s),r);return[u*ut(r*o),i-u*ct(r*o)]}return a.invert=function(o,s){var u=i-s,l=Le(r)*Jn(o*o+u*u),c=je(o,At(u))*Le(u);return u*r<0&&(c-=yt*Le(o)*Le(u)),[c/r,2*Ho(I0(i/l,1/r))-rn]},a}function qf(t,n){return[t,n]}function iM(t,n){var e=ct(t),r=t===n?ut(t):(e-ct(n))/(n-t),i=e/r+t;if(At(r)<dt)return qf;function a(o,s){var u=i-s,l=r*o;return[u*ut(l),i-u*ct(l)]}return a.invert=function(o,s){var u=i-s,l=je(o,At(u))*Le(u);return u*r<0&&(l-=yt*Le(o)*Le(u)),[l/r,i-Le(r)*Jn(o*o+u*u)]},a}Xk.invert=Ou(function(t){return t}),jf.invert=function(t,n){return[t,2*Ho(G_(n))-rn]},qf.invert=qf;var Nu=1.340264,Ru=-.081106,Tu=893e-6,Pu=.003796,Uf=Jn(3)/2;function Kk(t,n){var e=le(Uf*ut(n)),r=e*e,i=r*r*r;return[t*ct(e)/(Uf*(Nu+3*Ru*r+i*(7*Tu+9*Pu*r))),e*(Nu+Ru*r+i*(Tu+Pu*r))]}function Qk(t,n){var e=ct(n),r=ct(t)*e;return[e*ut(t)/r,ut(n)/r]}function Zk(t,n){var e=n*n,r=e*e;return[t*(.8707-.131979*e+r*(r*(.003971*e-.001529*r)-.013791)),n*(1.007226+e*(.015085+r*(.028874*e-.044475-.005916*r)))]}function tD(t,n){return[ct(n)*ut(t),ut(n)]}function nD(t,n){var e=ct(n),r=1+ct(t)*e;return[e*ut(t)/r,ut(n)/r]}function eD(t,n){return[ff(W0((rn+n)/2)),-t]}Kk.invert=function(t,n){for(var e,r=n,i=r*r,a=i*i*i,o=0;o<12&&(a=(i=(r-=e=(r*(Nu+Ru*i+a*(Tu+Pu*i))-n)/(Nu+3*Ru*i+a*(7*Tu+9*Pu*i)))*r)*i*i,!(At(e)<q0));++o);return[Uf*t*(Nu+3*Ru*i+a*(7*Tu+9*Pu*i))/ct(r),le(ut(r)/Uf)]},Qk.invert=Ou(Ho),Zk.invert=function(t,n){var e,r=n,i=25;do{var a=r*r,o=a*a;r-=e=(r*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-n)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(At(e)>dt&&--i>0);return[t/(.8707+(a=r*r)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),r]},tD.invert=Ou(le),nD.invert=Ou(function(t){return 2*Ho(t)}),eD.invert=function(t,n){return[-n,2*Ho(G_(t))-rn]};var aM=Math.abs,xg=Math.cos,If=Math.sin,rD=Math.PI,wg=rD/2,iD=function(t){return t>0?Math.sqrt(t):0}(2);function aD(t){return t>1?wg:t<-1?-wg:Math.asin(t)}function oM(t,n){var e,r=t*If(n),i=30;do n-=e=(n+If(n)-r)/(1+xg(n));while(aM(e)>1e-6&&--i>0);return n/2}var sM=function(t,n,e){function r(i,a){return[t*i*xg(a=oM(e,a)),n*If(a)]}return r.invert=function(i,a){return a=aD(a/n),[i/(t*xg(a)),aD((2*a+If(2*a))/e)]},r}(iD/wg,iD,rD);const uM=Uk(),Ag=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function _g(t,n){if(!t||typeof t!="string")throw new Error("Projection type must be a name string.");return t=t.toLowerCase(),arguments.length>1?(Wf[t]=function(e,r){return function i(){const a=r();return a.type=e,a.path=Uk().projection(a),a.copy=a.copy||function(){const o=i();return Ag.forEach(s=>{a[s]&&o[s](a[s]())}),o.path.pointRadius(a.path.pointRadius()),o},cw(a)}}(t,n),this):Wf[t]||null}function oD(t){return t&&t.path||uM}const Wf={albers:Gk,albersusa:function(){var t,n,e,r,i,a,o=Gk(),s=Pf().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=Pf().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(d,h){a=[d,h]}};function c(d){var h=d[0],p=d[1];return a=null,e.point(h,p),a||(r.point(h,p),a)||(i.point(h,p),a)}function f(){return t=n=null,c}return c.invert=function(d){var h=o.scale(),p=o.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?s:g>=.166&&g<.234&&m>=-.214&&m<-.115?u:o).invert(d)},c.stream=function(d){return t&&n===d?t:(h=[o.stream(n=d),s.stream(d),u.stream(d)],p=h.length,t={point:function(m,g){for(var y=-1;++y<p;)h[y].point(m,g)},sphere:function(){for(var m=-1;++m<p;)h[m].sphere()},lineStart:function(){for(var m=-1;++m<p;)h[m].lineStart()},lineEnd:function(){for(var m=-1;++m<p;)h[m].lineEnd()},polygonStart:function(){for(var m=-1;++m<p;)h[m].polygonStart()},polygonEnd:function(){for(var m=-1;++m<p;)h[m].polygonEnd()}});var h,p},c.precision=function(d){return arguments.length?(o.precision(d),s.precision(d),u.precision(d),f()):o.precision()},c.scale=function(d){return arguments.length?(o.scale(d),s.scale(.35*d),u.scale(d),c.translate(o.translate())):o.scale()},c.translate=function(d){if(!arguments.length)return o.translate();var h=o.scale(),p=+d[0],m=+d[1];return e=o.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(l),r=s.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+dt,m+.12*h+dt],[p-.214*h-dt,m+.234*h-dt]]).stream(l),i=u.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+dt,m+.166*h+dt],[p-.115*h-dt,m+.234*h-dt]]).stream(l),f()},c.fitExtent=function(d,h){return Tf(c,d,h)},c.fitSize=function(d,h){return gg(c,d,h)},c.fitWidth=function(d,h){return yg(c,d,h)},c.fitHeight=function(d,h){return vg(c,d,h)},c.scale(1070)},azimuthalequalarea:function(){return Or(Yk).scale(124.75).clipAngle(179.999)},azimuthalequidistant:function(){return Or(Xk).scale(79.4188).clipAngle(179.999)},conicconformal:function(){return bg(rM).scale(109.5).parallels([30,30])},conicequalarea:Pf,conicequidistant:function(){return bg(iM).scale(131.154).center([0,13.9389])},equalEarth:function(){return Or(Kk).scale(177.158)},equirectangular:function(){return Or(qf).scale(152.63)},gnomonic:function(){return Or(Qk).scale(144.049).clipAngle(60)},identity:function(){var t,n,e,r,i,a,o,s=1,u=0,l=0,c=1,f=1,d=0,h=null,p=1,m=1,g=Rf({point:function(b,w){var A=x([b,w]);this.stream.point(A[0],A[1])}}),y=Cu;function v(){return p=s*c,m=s*f,a=o=null,x}function x(b){var w=b[0]*p,A=b[1]*m;if(d){var _=A*t-w*n;w=w*t+A*n,A=_}return[w+u,A+l]}return x.invert=function(b){var w=b[0]-u,A=b[1]-l;if(d){var _=A*t+w*n;w=w*t-A*n,A=_}return[w/p,A/m]},x.stream=function(b){return a&&o===b?a:a=g(y(o=b))},x.postclip=function(b){return arguments.length?(y=b,h=e=r=i=null,v()):y},x.clipExtent=function(b){return arguments.length?(y=b==null?(h=e=r=i=null,Cu):Ak(h=+b[0][0],e=+b[0][1],r=+b[1][0],i=+b[1][1]),v()):h==null?null:[[h,e],[r,i]]},x.scale=function(b){return arguments.length?(s=+b,v()):s},x.translate=function(b){return arguments.length?(u=+b[0],l=+b[1],v()):[u,l]},x.angle=function(b){return arguments.length?(n=ut(d=b%360*gt),t=ct(d),v()):d*on},x.reflectX=function(b){return arguments.length?(c=b?-1:1,v()):c<0},x.reflectY=function(b){return arguments.length?(f=b?-1:1,v()):f<0},x.fitExtent=function(b,w){return Tf(x,b,w)},x.fitSize=function(b,w){return gg(x,b,w)},x.fitWidth=function(b,w){return yg(x,b,w)},x.fitHeight=function(b,w){return vg(x,b,w)},x},mercator:function(){return Jk(jf).scale(961/Xn)},mollweide:function(){return Or(sM).scale(169.529)},naturalEarth1:function(){return Or(Zk).scale(175.295)},orthographic:function(){return Or(tD).scale(249.5).clipAngle(90.000001)},stereographic:function(){return Or(nD).scale(250).clipAngle(142)},transversemercator:function(){var t=Jk(eD),n=t.center,e=t.rotate;return t.center=function(r){return arguments.length?n([-r[1],r[0]]):[(r=n())[1],-r[0]]},t.rotate=function(r){return arguments.length?e([r[0],r[1],r.length>2?r[2]+90:90]):[(r=e())[0],r[1],r[2]-90]},e([0,0,90]).scale(159.155)}};for(const t in Wf)_g(t,Wf[t]);function lM(){}const fi=[[],[[[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 sD(){var t=1,n=1,e=o;function r(s,u){return u.map(l=>i(s,l))}function i(s,u){var l=[],c=[];return function(f,d,h){var p,m,g,y,v,x,b=[],w=[];for(p=m=-1,y=f[0]>=d,fi[y<<1].forEach(A);++p<t-1;)g=y,y=f[p+1]>=d,fi[g|y<<1].forEach(A);for(fi[y|0].forEach(A);++m<n-1;){for(p=-1,y=f[m*t+t]>=d,v=f[m*t]>=d,fi[y<<1|v<<2].forEach(A);++p<t-1;)g=y,y=f[m*t+t+p+1]>=d,x=v,v=f[m*t+p+1]>=d,fi[g|y<<1|v<<2|x<<3].forEach(A);fi[y|v<<3].forEach(A)}for(p=-1,v=f[m*t]>=d,fi[v<<2].forEach(A);++p<t-1;)x=v,v=f[m*t+p+1]>=d,fi[v<<2|x<<3].forEach(A);function A(_){var k,F,C=[_[0][0]+p,_[0][1]+m],D=[_[1][0]+p,_[1][1]+m],E=a(C),$=a(D);(k=w[E])?(F=b[$])?(delete w[k.end],delete b[F.start],k===F?(k.ring.push(D),h(k.ring)):b[k.start]=w[F.end]={start:k.start,end:F.end,ring:k.ring.concat(F.ring)}):(delete w[k.end],k.ring.push(D),w[k.end=$]=k):(k=b[$])?(F=w[E])?(delete b[k.start],delete w[F.end],k===F?(k.ring.push(D),h(k.ring)):b[F.start]=w[k.end]={start:F.start,end:k.end,ring:F.ring.concat(k.ring)}):(delete b[k.start],k.ring.unshift(C),b[k.start=E]=k):b[E]=w[$]={start:E,end:$,ring:[C,D]}}fi[v<<3].forEach(A)}(s,u,f=>{e(f,s,u),function(d){for(var h=0,p=d.length,m=d[p-1][1]*d[0][0]-d[p-1][0]*d[0][1];++h<p;)m+=d[h-1][1]*d[h][0]-d[h-1][0]*d[h][1];return m}(f)>0?l.push([f]):c.push(f)}),c.forEach(f=>{for(var d,h=0,p=l.length;h<p;++h)if(cM((d=l[h])[0],f)!==-1)return void d.push(f)}),{type:"MultiPolygon",value:u,coordinates:l}}function a(s){return 2*s[0]+s[1]*(t+1)*4}function o(s,u,l){s.forEach(c=>{var f,d=c[0],h=c[1],p=0|d,m=0|h,g=u[m*t+p];d>0&&d<t&&p===d&&(f=u[m*t+p-1],c[0]=d+(l-f)/(g-f)-.5),h>0&&h<n&&m===h&&(f=u[(m-1)*t+p],c[1]=h+(l-f)/(g-f)-.5)})}return r.contour=i,r.size=function(s){if(!arguments.length)return[t,n];var u=Math.floor(s[0]),l=Math.floor(s[1]);return u>=0&&l>=0||j("invalid size"),t=u,n=l,r},r.smooth=function(s){return arguments.length?(e=s?o:lM,r):e===o},r}function cM(t,n){for(var e,r=-1,i=n.length;++r<i;)if(e=fM(t,n[r]))return e;return 0}function fM(t,n){for(var e=n[0],r=n[1],i=-1,a=0,o=t.length,s=o-1;a<o;s=a++){var u=t[a],l=u[0],c=u[1],f=t[s],d=f[0],h=f[1];if(dM(u,f,n))return 0;c>r!=h>r&&e<(d-l)*(r-c)/(h-c)+l&&(i=-i)}return i}function dM(t,n,e){var r,i,a,o;return function(s,u,l){return(u[0]-s[0])*(l[1]-s[1])===(l[0]-s[0])*(u[1]-s[1])}(t,n,e)&&(i=t[r=+(t[0]===n[0])],a=e[r],o=n[r],i<=a&&a<=o||o<=a&&a<=i)}function uD(t,n,e){return function(r){var i=kr(r),a=e?Math.min(i[0],0):i[0],o=i[1],s=o-a,u=n?fx(a,o,t):s/(t+1);return xe(a+u,o,u)}}function kg(t){O.call(this,null,t)}function lD(t,n,e,r,i){const a=t.x1||0,o=t.y1||0,s=n*e<0;function u(f){f.forEach(l)}function l(f){s&&f.reverse(),f.forEach(c)}function c(f){f[0]=(f[0]-a)*n+r,f[1]=(f[1]-o)*e+i}return function(f){return f.coordinates.forEach(u),f}}function cD(t,n,e){const r=t>=0?t:kp(n,e);return Math.round((Math.sqrt(4*r*r+1)-1)/2)}function Dg(t){return bt(t)?t:In(+t)}function fD(){var t=u=>u[0],n=u=>u[1],e=Gs,r=[-1,-1],i=960,a=500,o=2;function s(u,l){const c=cD(r[0],u,t)>>o,f=cD(r[1],u,n)>>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);let v=g;u.forEach(b=>{const w=d+(+t(b)>>o),A=h+(+n(b)>>o);w>=0&&w<p&&A>=0&&A<m&&(g[w+A*p]+=+e(b))}),c>0&&f>0?(Jo(p,m,g,y,c),Ko(p,m,y,g,f),Jo(p,m,g,y,c),Ko(p,m,y,g,f),Jo(p,m,g,y,c),Ko(p,m,y,g,f)):c>0?(Jo(p,m,g,y,c),Jo(p,m,y,g,c),Jo(p,m,g,y,c),v=y):f>0&&(Ko(p,m,g,y,f),Ko(p,m,y,g,f),Ko(p,m,g,y,f),v=y);const x=l?Math.pow(2,-2*o):1/Jx(v);for(let b=0,w=p*m;b<w;++b)v[b]*=x;return{values:v,scale:1<<o,width:p,height:m,x1:d,y1:h,x2:d+(i>>o),y2:h+(a>>o)}}return s.x=function(u){return arguments.length?(t=Dg(u),s):t},s.y=function(u){return arguments.length?(n=Dg(u),s):n},s.weight=function(u){return arguments.length?(e=Dg(u),s):e},s.size=function(u){if(!arguments.length)return[i,a];var l=+u[0],c=+u[1];return l>=0&&c>=0||j("invalid size"),i=l,a=c,s},s.cellSize=function(u){return arguments.length?((u=+u)>=1||j("invalid cell size"),o=Math.floor(Math.log(u)/Math.LN2),s):1<<o},s.bandwidth=function(u){return arguments.length?((u=K(u)).length===1&&(u=[+u[0],+u[0]]),u.length!==2&&j("invalid bandwidth"),r=u,s):r},s}function Jo(t,n,e,r,i){const a=1+(i<<1);for(let o=0;o<n;++o)for(let s=0,u=0;s<t+i;++s)s<t&&(u+=e[s+o*t]),s>=i&&(s>=a&&(u-=e[s-a+o*t]),r[s-i+o*t]=u/Math.min(s+1,t-1+a-s,a))}function Ko(t,n,e,r,i){const a=1+(i<<1);for(let o=0;o<t;++o)for(let s=0,u=0;s<n+i;++s)s<n&&(u+=e[o+s*t]),s>=i&&(s>=a&&(u-=e[o+(s-a)*t]),r[o+(s-i)*t]=u/Math.min(s+1,n-1+a-s,a))}function Fg(t){O.call(this,null,t)}kg.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"}]},V(kg,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=n.materialize(n.SOURCE).source,i=t.field||Me,a=sD().smooth(t.smooth!==!1),o=t.thresholds||function(l,c,f){const d=uD(f.levels||10,f.nice,f.zero!==!1);return f.resolve!=="shared"?d:d(l.map(h=>Ca(c(h).values)))}(r,i,t),s=t.as===null?null:t.as||"contour",u=[];return r.forEach(l=>{const c=i(l),f=a.size([c.width,c.height])(c.values,P(o)?o:o(c.values));(function(d,h,p,m){let g=m.scale||h.scale,y=m.translate||h.translate;if(bt(g)&&(g=g(p,m)),bt(y)&&(y=y(p,m)),(g===1||g==null)&&!y)return;const v=($t(g)?g:g[0])||1,x=($t(g)?g:g[1])||1,b=y&&y[0]||0,w=y&&y[1]||0;d.forEach(lD(h,v,x,b,w))})(f,c,l,t),f.forEach(d=>{u.push(nc(l,St(s!=null?{[s]:d}:d)))})}),this.value&&(e.rem=this.value),this.value=e.source=e.add=u,e}}),Fg.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"}]};const hM=["x","y","weight","size","cellSize","bandwidth"];function dD(t,n){return hM.forEach(e=>n[e]!=null?t[e](n[e]):0),t}function Cg(t){O.call(this,null,t)}V(Fg,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=function(u,l){var c,f,d,h,p,m,g=[],y=v=>v(h);if(l==null)g.push(u);else for(c={},f=0,d=u.length;f<d;++f)h=u[f],(m=c[p=l.map(y)])||(c[p]=m=[],m.dims=p,g.push(m)),m.push(h);return g}(n.materialize(n.SOURCE).source,t.groupby),a=(t.groupby||[]).map(en),o=dD(fD(),t),s=t.as||"grid";return e=i.map(u=>St(function(l,c){for(let f=0;f<a.length;++f)l[a[f]]=c[f];return l}({[s]:o(u,t.counts)},u.dims))),this.value&&(r.rem=this.value),this.value=r.source=r.add=e,r}}),Cg.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}]},V(Cg,O,{transform(t,n){if(this.value&&!n.changed()&&!t.modified())return n.StopPropagation;var e,r,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),a=sD().smooth(t.smooth!==!1),o=t.values,s=t.thresholds||uD(t.count||10,t.nice,!!o),u=t.size;return o||(o=n.materialize(n.SOURCE).source,r=lD(e=dD(fD(),t)(o,!0),e.scale||1,e.scale||1,0,0),u=[e.width,e.height],o=e.values),s=P(s)?s:s(o),o=a.size(u)(o,s),r&&o.forEach(r),this.value&&(i.rem=this.value),this.value=i.source=i.add=(o||[]).map(St),i}});const Eg="Feature",$g="FeatureCollection";function Sg(t){O.call(this,null,t)}function Mg(t){O.call(this,null,t)}function Bg(t){O.call(this,null,t)}function zg(t){O.call(this,null,t)}function Og(t){O.call(this,[],t),this.generator=function(){var n,e,r,i,a,o,s,u,l,c,f,d,h=10,p=h,m=90,g=360,y=2.5;function v(){return{type:"MultiLineString",coordinates:x()}}function x(){return xe(cf(i/m)*m,r,m).map(f).concat(xe(cf(u/g)*g,s,g).map(d)).concat(xe(cf(e/h)*h,n,h).filter(function(b){return At(b%m)>dt}).map(l)).concat(xe(cf(o/p)*p,a,p).filter(function(b){return At(b%g)>dt}).map(c))}return v.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},v.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(d(s).slice(1),f(r).reverse().slice(1),d(u).reverse().slice(1))]}},v.extent=function(b){return arguments.length?v.extentMajor(b).extentMinor(b):v.extentMinor()},v.extentMajor=function(b){return arguments.length?(i=+b[0][0],r=+b[1][0],u=+b[0][1],s=+b[1][1],i>r&&(b=i,i=r,r=b),u>s&&(b=u,u=s,s=b),v.precision(y)):[[i,u],[r,s]]},v.extentMinor=function(b){return arguments.length?(e=+b[0][0],n=+b[1][0],o=+b[0][1],a=+b[1][1],e>n&&(b=e,e=n,n=b),o>a&&(b=o,o=a,a=b),v.precision(y)):[[e,o],[n,a]]},v.step=function(b){return arguments.length?v.stepMajor(b).stepMinor(b):v.stepMinor()},v.stepMajor=function(b){return arguments.length?(m=+b[0],g=+b[1],v):[m,g]},v.stepMinor=function(b){return arguments.length?(h=+b[0],p=+b[1],v):[h,p]},v.precision=function(b){return arguments.length?(y=+b,l=_k(o,a,90),c=kk(e,n,y),f=_k(u,s,90),d=kk(i,r,y),v):y},v.extentMajor([[-180,-89.999999],[180,89.999999]]).extentMinor([[-180,-80.000001],[180,80.000001]])}()}function Ng(t){O.call(this,null,t)}function hD(t){if(!bt(t))return!1;const n=Dr(Wn(t));return n.$x||n.$y||n.$value||n.$max}function pD(t){O.call(this,null,t),this.modified(!0)}function mD(t,n,e){bt(t[n])&&t[n](e)}Sg.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},V(Sg,O,{transform(t,n){var e,r=this._features,i=this._points,a=t.fields,o=a&&a[0],s=a&&a[1],u=t.geojson||!a&&Me,l=n.ADD;e=t.modified()||n.changed(n.REM)||n.modified(Wn(u))||o&&n.modified(Wn(o))||s&&n.modified(Wn(s)),this.value&&!e||(l=n.SOURCE,this._features=r=[],this._points=i=[]),u&&n.visit(l,c=>r.push(u(c))),o&&s&&(n.visit(l,c=>{var f=o(c),d=s(c);f!=null&&d!=null&&(f=+f)===f&&(d=+d)===d&&i.push([f,d])}),r=r.concat({type:Eg,geometry:{type:"MultiPoint",coordinates:i}})),this.value={type:$g,features:r}}}),Mg.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"}]},V(Mg,O,{transform(t,n){var e=n.fork(n.ALL),r=this.value,i=t.field||Me,a=t.as||"path",o=e.SOURCE;!r||t.modified()?(this.value=r=oD(t.projection),e.materialize().reflow()):o=i===Me||n.modified(i.fields)?e.ADD_MOD:e.ADD;const s=function(u,l){const c=u.pointRadius();return u.context(null),l!=null&&u.pointRadius(l),c}(r,t.pointRadius);return e.visit(o,u=>u[a]=r(i(u))),r.pointRadius(s),e.modifies(a)}}),Bg.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"]}]},V(Bg,O,{transform(t,n){var e,r=t.projection,i=t.fields[0],a=t.fields[1],o=t.as||["x","y"],s=o[0],u=o[1];function l(c){const f=r([i(c),a(c)]);f?(c[s]=f[0],c[u]=f[1]):(c[s]=void 0,c[u]=void 0)}return t.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,l):(e=n.modified(i.fields)||n.modified(a.fields),n.visit(e?n.ADD_MOD:n.ADD,l)),n.modifies(o)}}),zg.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"}]},V(zg,O,{transform(t,n){var e=n.fork(n.ALL),r=this.value,i=t.as||"shape",a=e.ADD;return r&&!t.modified()||(this.value=r=function(o,s,u){const l=u==null?c=>o(s(c)):c=>{var f=o.pointRadius(),d=o.pointRadius(u)(s(c));return o.pointRadius(f),d};return l.context=c=>(o.context(c),l),l}(oD(t.projection),t.field||ei("datum"),t.pointRadius),e.materialize().reflow(),a=e.SOURCE),e.visit(a,o=>o[i]=r),e.modifies(i)}}),Og.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}]},V(Og,O,{transform(t,n){var e,r=this.value,i=this.generator;if(!r.length||t.modified())for(const a in t)bt(i[a])&&i[a](t[a]);return e=i(),r.length?n.mod.push(Zx(r[0],e)):n.add.push(St(e)),r[0]=e,n}}),Ng.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"}]},V(Ng,O,{transform(t,n){if(!n.changed()&&!t.modified())return n.StopPropagation;var e=n.materialize(n.SOURCE).source,r=t.resolve==="shared",i=t.field||Me,a=function(l,c){let f;return bt(l)?(f=d=>l(d,c),f.dep=hD(l)):l?f=In(l):(f=d=>d.$value/d.$max||0,f.dep=!0),f}(t.opacity,t),o=function(l,c){let f;return bt(l)?(f=d=>Jl(l(d,c)),f.dep=hD(l)):f=In(Jl(l||"#888")),f}(t.color,t),s=t.as||"image",u={$x:0,$y:0,$value:0,$max:r?Ca(e.map(l=>Ca(i(l).values))):0};return e.forEach(l=>{const c=i(l),f=xt({},l,u);r||(f.$max=Ca(c.values||[])),l[s]=function(d,h,p,m){const g=d.width,y=d.height,v=d.x1||0,x=d.y1||0,b=d.x2||g,w=d.y2||y,A=d.values,_=A?E=>A[E]:ip,k=qi(b-v,w-x),F=k.getContext("2d"),C=F.getImageData(0,0,b-v,w-x),D=C.data;for(let E=x,$=0;E<w;++E){h.$y=E-x;for(let M=v,S=E*g;M<b;++M,$+=4){h.$x=M-v,h.$value=_(M+S);const B=p(h);D[$+0]=B.r,D[$+1]=B.g,D[$+2]=B.b,D[$+3]=~~(255*m(h))}}return F.putImageData(C,0,0),k}(c,f,o.dep?o:In(o(f)),a.dep?a:In(a(f)))}),n.reflow(!0).modifies(s)}}),V(pD,O,{transform(t,n){let e=this.value;return!e||t.modified("type")?(this.value=e=function(r){const i=_g((r||"mercator").toLowerCase());return i||j("Unrecognized projection type: "+r),i()}(t.type),Ag.forEach(r=>{t[r]!=null&&mD(e,r,t[r])})):Ag.forEach(r=>{t.modified(r)&&mD(e,r,t[r])}),t.pointRadius!=null&&e.path.pointRadius(t.pointRadius),t.fit&&function(r,i){const a=function(o){return o=K(o),o.length===1?o[0]:{type:$g,features:o.reduce((s,u)=>s.concat(function(l){return l.type===$g?l.features:K(l).filter(c=>c!=null).map(c=>c.type===Eg?c:{type:Eg,geometry:c})}(u)),[])}}(i.fit);i.extent?r.fitExtent(i.extent,a):i.size&&r.fitSize(i.size,a)}(e,t),n.fork(n.NO_SOURCE|n.NO_FIELDS)}});const pM=Object.freeze(Object.defineProperty({__proto__:null,contour:Cg,geojson:Sg,geopath:Mg,geopoint:Bg,geoshape:zg,graticule:Og,heatmap:Ng,isocontour:kg,kde2d:Fg,projection:pD},Symbol.toStringTag,{value:"Module"}));function gD(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,a,o,s,u,l,c,f,d,h=t._root,p={data:r},m=t._x0,g=t._y0,y=t._x1,v=t._y1;if(!h)return t._root=p,t;for(;h.length;)if((l=n>=(a=(m+y)/2))?m=a:y=a,(c=e>=(o=(g+v)/2))?g=o:v=o,i=h,!(h=h[f=c<<1|l]))return i[f]=p,t;if(s=+t._x.call(null,h.data),u=+t._y.call(null,h.data),n===s&&e===u)return p.next=h,i?i[f]=p:t._root=p,t;do i=i?i[f]=new Array(4):t._root=new Array(4),(l=n>=(a=(m+y)/2))?m=a:y=a,(c=e>=(o=(g+v)/2))?g=o:v=o;while((f=c<<1|l)==(d=(u>=o)<<1|s>=a));return i[d]=h,i[f]=p,t}function te(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function mM(t){return t[0]}function gM(t){return t[1]}function Rg(t,n,e){var r=new Tg(n??mM,e??gM,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Tg(t,n,e,r,i,a){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function yD(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var ne=Rg.prototype=Tg.prototype;function ee(t){return function(){return t}}function ea(t){return 1e-6*(t()-.5)}function yM(t){return t.x+t.vx}function vM(t){return t.y+t.vy}function bM(t){return t.index}function vD(t,n){var e=t.get(n);if(!e)throw new Error("node not found: "+n);return e}ne.copy=function(){var t,n,e=new Tg(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=yD(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=yD(n));return e},ne.add=function(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return gD(this.cover(n,e),n,e,t)},ne.addAll=function(t){var n,e,r,i,a=t.length,o=new Array(a),s=new Array(a),u=1/0,l=1/0,c=-1/0,f=-1/0;for(e=0;e<a;++e)isNaN(r=+this._x.call(null,n=t[e]))||isNaN(i=+this._y.call(null,n))||(o[e]=r,s[e]=i,r<u&&(u=r),r>c&&(c=r),i<l&&(l=i),i>f&&(f=i));if(u>c||l>f)return this;for(this.cover(u,l).cover(c,f),e=0;e<a;++e)gD(this,o[e],s[e],t[e]);return this},ne.cover=function(t,n){if(isNaN(t=+t)||isNaN(n=+n))return this;var e=this._x0,r=this._y0,i=this._x1,a=this._y1;if(isNaN(e))i=(e=Math.floor(t))+1,a=(r=Math.floor(n))+1;else{for(var o,s,u=i-e||1,l=this._root;e>t||t>=i||r>n||n>=a;)switch(s=(n<r)<<1|t<e,(o=new Array(4))[s]=l,l=o,u*=2,s){case 0:i=e+u,a=r+u;break;case 1:e=i-u,a=r+u;break;case 2:i=e+u,r=a-u;break;case 3:e=i-u,r=a-u}this._root&&this._root.length&&(this._root=l)}return this._x0=e,this._y0=r,this._x1=i,this._y1=a,this},ne.data=function(){var t=[];return this.visit(function(n){if(!n.length)do t.push(n.data);while(n=n.next)}),t},ne.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},ne.find=function(t,n,e){var r,i,a,o,s,u,l,c=this._x0,f=this._y0,d=this._x1,h=this._y1,p=[],m=this._root;for(m&&p.push(new te(m,c,f,d,h)),e==null?e=1/0:(c=t-e,f=n-e,d=t+e,h=n+e,e*=e);u=p.pop();)if(!(!(m=u.node)||(i=u.x0)>d||(a=u.y0)>h||(o=u.x1)<c||(s=u.y1)<f))if(m.length){var g=(i+o)/2,y=(a+s)/2;p.push(new te(m[3],g,y,o,s),new te(m[2],i,y,g,s),new te(m[1],g,a,o,y),new te(m[0],i,a,g,y)),(l=(n>=y)<<1|t>=g)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=u)}else{var v=t-+this._x.call(null,m.data),x=n-+this._y.call(null,m.data),b=v*v+x*x;if(b<e){var w=Math.sqrt(e=b);c=t-w,f=n-w,d=t+w,h=n+w,r=m.data}}return r},ne.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var n,e,r,i,a,o,s,u,l,c,f,d,h=this._root,p=this._x0,m=this._y0,g=this._x1,y=this._y1;if(!h)return this;if(h.length)for(;;){if((l=a>=(s=(p+g)/2))?p=s:g=s,(c=o>=(u=(m+y)/2))?m=u:y=u,n=h,!(h=h[f=c<<1|l]))return this;if(!h.length)break;(n[f+1&3]||n[f+2&3]||n[f+3&3])&&(e=n,d=f)}for(;h.data!==t;)if(r=h,!(h=h.next))return this;return(i=h.next)&&delete h.next,r?(i?r.next=i:delete r.next,this):n?(i?n[f]=i:delete n[f],(h=n[0]||n[1]||n[2]||n[3])&&h===(n[3]||n[2]||n[1]||n[0])&&!h.length&&(e?e[d]=h:this._root=h),this):(this._root=i,this)},ne.removeAll=function(t){for(var n=0,e=t.length;n<e;++n)this.remove(t[n]);return this},ne.root=function(){return this._root},ne.size=function(){var t=0;return this.visit(function(n){if(!n.length)do++t;while(n=n.next)}),t},ne.visit=function(t){var n,e,r,i,a,o,s=[],u=this._root;for(u&&s.push(new te(u,this._x0,this._y0,this._x1,this._y1));n=s.pop();)if(!t(u=n.node,r=n.x0,i=n.y0,a=n.x1,o=n.y1)&&u.length){var l=(r+a)/2,c=(i+o)/2;(e=u[3])&&s.push(new te(e,l,c,a,o)),(e=u[2])&&s.push(new te(e,r,c,l,o)),(e=u[1])&&s.push(new te(e,l,i,a,c)),(e=u[0])&&s.push(new te(e,r,i,l,c))}return this},ne.visitAfter=function(t){var n,e=[],r=[];for(this._root&&e.push(new te(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var i=n.node;if(i.length){var a,o=n.x0,s=n.y0,u=n.x1,l=n.y1,c=(o+u)/2,f=(s+l)/2;(a=i[0])&&e.push(new te(a,o,s,c,f)),(a=i[1])&&e.push(new te(a,c,s,u,f)),(a=i[2])&&e.push(new te(a,o,f,c,l)),(a=i[3])&&e.push(new te(a,c,f,u,l))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this},ne.x=function(t){return arguments.length?(this._x=t,this):this._x},ne.y=function(t){return arguments.length?(this._y=t,this):this._y};const bD=4294967296;function xM(t){return t.x}function wM(t){return t.y}var AM=Math.PI*(3-Math.sqrt(5));function _M(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),a=0,o=.6,s=new Map,u=C8(f),l=E8("tick","end"),c=function(){let m=1;return()=>(m=(1664525*m+1013904223)%bD)/bD}();function f(){d(),l.call("tick",n),e<r&&(u.stop(),l.call("end",n))}function d(m){var g,y,v=t.length;m===void 0&&(m=1);for(var x=0;x<m;++x)for(e+=(a-e)*i,s.forEach(function(b){b(e)}),g=0;g<v;++g)(y=t[g]).fx==null?y.x+=y.vx*=o:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=o:(y.y=y.fy,y.vy=0);return n}function h(){for(var m,g=0,y=t.length;g<y;++g){if((m=t[g]).index=g,m.fx!=null&&(m.x=m.fx),m.fy!=null&&(m.y=m.fy),isNaN(m.x)||isNaN(m.y)){var v=10*Math.sqrt(.5+g),x=g*AM;m.x=v*Math.cos(x),m.y=v*Math.sin(x)}(isNaN(m.vx)||isNaN(m.vy))&&(m.vx=m.vy=0)}}function p(m){return m.initialize&&m.initialize(t,c),m}return t==null&&(t=[]),h(),n={tick:d,restart:function(){return u.restart(f),n},stop:function(){return u.stop(),n},nodes:function(m){return arguments.length?(t=m,h(),s.forEach(p),n):t},alpha:function(m){return arguments.length?(e=+m,n):e},alphaMin:function(m){return arguments.length?(r=+m,n):r},alphaDecay:function(m){return arguments.length?(i=+m,n):+i},alphaTarget:function(m){return arguments.length?(a=+m,n):a},velocityDecay:function(m){return arguments.length?(o=1-m,n):1-o},randomSource:function(m){return arguments.length?(c=m,s.forEach(p),n):c},force:function(m,g){return arguments.length>1?(g==null?s.delete(m):s.set(m,p(g)),n):s.get(m)},find:function(m,g,y){var v,x,b,w,A,_=0,k=t.length;for(y==null?y=1/0:y*=y,_=0;_<k;++_)(b=(v=m-(w=t[_]).x)*v+(x=g-w.y)*x)<y&&(A=w,y=b);return A},on:function(m,g){return arguments.length>1?(l.on(m,g),n):l.on(m)}}}const xD={center:function(t,n){var e,r=1;function i(){var a,o,s=e.length,u=0,l=0;for(a=0;a<s;++a)u+=(o=e[a]).x,l+=o.y;for(u=(u/s-t)*r,l=(l/s-n)*r,a=0;a<s;++a)(o=e[a]).x-=u,o.y-=l}return t==null&&(t=0),n==null&&(n=0),i.initialize=function(a){e=a},i.x=function(a){return arguments.length?(t=+a,i):t},i.y=function(a){return arguments.length?(n=+a,i):n},i.strength=function(a){return arguments.length?(r=+a,i):r},i},collide:function(t){var n,e,r,i=1,a=1;function o(){for(var l,c,f,d,h,p,m,g=n.length,y=0;y<a;++y)for(c=Rg(n,yM,vM).visitAfter(s),l=0;l<g;++l)f=n[l],p=e[f.index],m=p*p,d=f.x+f.vx,h=f.y+f.vy,c.visit(v);function v(x,b,w,A,_){var k=x.data,F=x.r,C=p+F;if(!k)return b>d+C||A<d-C||w>h+C||_<h-C;if(k.index>f.index){var D=d-k.x-k.vx,E=h-k.y-k.vy,$=D*D+E*E;$<C*C&&(D===0&&($+=(D=ea(r))*D),E===0&&($+=(E=ea(r))*E),$=(C-($=Math.sqrt($)))/$*i,f.vx+=(D*=$)*(C=(F*=F)/(m+F)),f.vy+=(E*=$)*C,k.vx-=D*(C=1-C),k.vy-=E*C)}}}function s(l){if(l.data)return l.r=e[l.data.index];for(var c=l.r=0;c<4;++c)l[c]&&l[c].r>l.r&&(l.r=l[c].r)}function u(){if(n){var l,c,f=n.length;for(e=new Array(f),l=0;l<f;++l)c=n[l],e[c.index]=+t(c,l,n)}}return typeof t!="function"&&(t=ee(t==null?1:+t)),o.initialize=function(l,c){n=l,r=c,u()},o.iterations=function(l){return arguments.length?(a=+l,o):a},o.strength=function(l){return arguments.length?(i=+l,o):i},o.radius=function(l){return arguments.length?(t=typeof l=="function"?l:ee(+l),u(),o):t},o},nbody:function(){var t,n,e,r,i,a=ee(-30),o=1,s=1/0,u=.81;function l(h){var p,m=t.length,g=Rg(t,xM,wM).visitAfter(f);for(r=h,p=0;p<m;++p)n=t[p],g.visit(d)}function c(){if(t){var h,p,m=t.length;for(i=new Array(m),h=0;h<m;++h)p=t[h],i[p.index]=+a(p,h,t)}}function f(h){var p,m,g,y,v,x=0,b=0;if(h.length){for(g=y=v=0;v<4;++v)(p=h[v])&&(m=Math.abs(p.value))&&(x+=p.value,b+=m,g+=m*p.x,y+=m*p.y);h.x=g/b,h.y=y/b}else{(p=h).x=p.data.x,p.y=p.data.y;do x+=i[p.data.index];while(p=p.next)}h.value=x}function d(h,p,m,g){if(!h.value)return!0;var y=h.x-n.x,v=h.y-n.y,x=g-p,b=y*y+v*v;if(x*x/u<b)return b<s&&(y===0&&(b+=(y=ea(e))*y),v===0&&(b+=(v=ea(e))*v),b<o&&(b=Math.sqrt(o*b)),n.vx+=y*h.value*r/b,n.vy+=v*h.value*r/b),!0;if(!(h.length||b>=s)){(h.data!==n||h.next)&&(y===0&&(b+=(y=ea(e))*y),v===0&&(b+=(v=ea(e))*v),b<o&&(b=Math.sqrt(o*b)));do h.data!==n&&(x=i[h.data.index]*r/b,n.vx+=y*x,n.vy+=v*x);while(h=h.next)}}return l.initialize=function(h,p){t=h,e=p,c()},l.strength=function(h){return arguments.length?(a=typeof h=="function"?h:ee(+h),c(),l):a},l.distanceMin=function(h){return arguments.length?(o=h*h,l):Math.sqrt(o)},l.distanceMax=function(h){return arguments.length?(s=h*h,l):Math.sqrt(s)},l.theta=function(h){return arguments.length?(u=h*h,l):Math.sqrt(u)},l},link:function(t){var n,e,r,i,a,o,s=bM,u=function(m){return 1/Math.min(i[m.source.index],i[m.target.index])},l=ee(30),c=1;function f(m){for(var g=0,y=t.length;g<c;++g)for(var v,x,b,w,A,_,k,F=0;F<y;++F)x=(v=t[F]).source,w=(b=v.target).x+b.vx-x.x-x.vx||ea(o),A=b.y+b.vy-x.y-x.vy||ea(o),w*=_=((_=Math.sqrt(w*w+A*A))-e[F])/_*m*n[F],A*=_,b.vx-=w*(k=a[F]),b.vy-=A*k,x.vx+=w*(k=1-k),x.vy+=A*k}function d(){if(r){var m,g,y=r.length,v=t.length,x=new Map(r.map((b,w)=>[s(b,w,r),b]));for(m=0,i=new Array(y);m<v;++m)(g=t[m]).index=m,typeof g.source!="object"&&(g.source=vD(x,g.source)),typeof g.target!="object"&&(g.target=vD(x,g.target)),i[g.source.index]=(i[g.source.index]||0)+1,i[g.target.index]=(i[g.target.index]||0)+1;for(m=0,a=new Array(v);m<v;++m)g=t[m],a[m]=i[g.source.index]/(i[g.source.index]+i[g.target.index]);n=new Array(v),h(),e=new Array(v),p()}}function h(){if(r)for(var m=0,g=t.length;m<g;++m)n[m]=+u(t[m],m,t)}function p(){if(r)for(var m=0,g=t.length;m<g;++m)e[m]=+l(t[m],m,t)}return t==null&&(t=[]),f.initialize=function(m,g){r=m,o=g,d()},f.links=function(m){return arguments.length?(t=m,d(),f):t},f.id=function(m){return arguments.length?(s=m,f):s},f.iterations=function(m){return arguments.length?(c=+m,f):c},f.strength=function(m){return arguments.length?(u=typeof m=="function"?m:ee(+m),h(),f):u},f.distance=function(m){return arguments.length?(l=typeof m=="function"?m:ee(+m),p(),f):l},f},x:function(t){var n,e,r,i=ee(.1);function a(s){for(var u,l=0,c=n.length;l<c;++l)(u=n[l]).vx+=(r[l]-u.x)*e[l]*s}function o(){if(n){var s,u=n.length;for(e=new Array(u),r=new Array(u),s=0;s<u;++s)e[s]=isNaN(r[s]=+t(n[s],s,n))?0:+i(n[s],s,n)}}return typeof t!="function"&&(t=ee(t==null?0:+t)),a.initialize=function(s){n=s,o()},a.strength=function(s){return arguments.length?(i=typeof s=="function"?s:ee(+s),o(),a):i},a.x=function(s){return arguments.length?(t=typeof s=="function"?s:ee(+s),o(),a):t},a},y:function(t){var n,e,r,i=ee(.1);function a(s){for(var u,l=0,c=n.length;l<c;++l)(u=n[l]).vy+=(r[l]-u.y)*e[l]*s}function o(){if(n){var s,u=n.length;for(e=new Array(u),r=new Array(u),s=0;s<u;++s)e[s]=isNaN(r[s]=+t(n[s],s,n))?0:+i(n[s],s,n)}}return typeof t!="function"&&(t=ee(t==null?0:+t)),a.initialize=function(s){n=s,o()},a.strength=function(s){return arguments.length?(i=typeof s=="function"?s:ee(+s),o(),a):i},a.y=function(s){return arguments.length?(t=typeof s=="function"?s:ee(+s),o(),a):t},a}},ju="forces",Pg=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],kM=["static","iterations"],wD=["x","y","vx","vy"];function jg(t){O.call(this,null,t)}function AD(t,n,e,r){var i,a,o,s,u=K(n.forces);for(i=0,a=Pg.length;i<a;++i)(o=Pg[i])!==ju&&n.modified(o)&&t[o](n[o]);for(i=0,a=u.length;i<a;++i)s=ju+i,(o=e||n.modified(ju,i)?FM(u[i]):r&&DM(u[i],r)?t.force(s):null)&&t.force(s,o);for(a=t.numForces||0;i<a;++i)t.force(ju+i,null);return t.numForces=u.length,t}function DM(t,n){var e,r;for(e in t)if(bt(r=t[e])&&n.modified(Wn(r)))return 1;return 0}function FM(t){var n,e;for(e in tt(xD,t.force)||j("Unrecognized force: "+t.force),n=xD[t.force](),t)bt(n[e])&&CM(n[e],t[e],t);return n}function CM(t,n,e){t(bt(n)?r=>n(r,e):n)}jg.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:wD}]},V(jg,O,{transform(t,n){var e,r,i=this.value,a=n.changed(n.ADD_REM),o=t.modified(Pg),s=t.iterations||300;if(i?(a&&(n.modifies("index"),i.nodes(n.source)),(o||n.changed(n.MOD))&&AD(i,t,0,n)):(this.value=i=function(u,l){const c=_M(u),f=c.stop,d=c.restart;let h=!1;return c.stopped=()=>h,c.restart=()=>(h=!1,d()),c.stop=()=>(h=!0,f()),AD(c,l,!0).on("end",()=>h=!0)}(n.source,t),i.on("tick",(e=n.dataflow,r=this,()=>e.touch(r).run())),t.static||(a=!0,i.tick()),n.modifies("index")),o||a||t.modified(kM)||n.changed()&&t.restart){if(i.alpha(Math.max(i.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(i.alphaMin(),1/s)),t.static)for(i.stop();--s>=0;)i.tick();else if(i.stopped()&&i.restart(),!a)return n.StopPropagation}return this.finish(t,n)},finish(t,n){const e=n.dataflow;for(let s,u=this._argops,l=0,c=u.length;l<c;++l)if(s=u[l],s.name===ju&&s.op._argval.force==="link"){for(var r,i=s.op._argops,a=0,o=i.length;a<o;++a)if(i[a].name==="links"&&(r=i[a].op.source)){e.pulse(r,e.changeset().reflow());break}}return n.reflow(t.modified()).modifies(wD)}});const EM=Object.freeze(Object.defineProperty({__proto__:null,force:jg},Symbol.toStringTag,{value:"Module"}));function $M(t,n){return t.parent===n.parent?1:2}function SM(t,n){return t+n.x}function MM(t,n){return Math.max(t,n.y)}function BM(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function Lg(t,n){t instanceof Map?(t=[void 0,t],n===void 0&&(n=OM)):n===void 0&&(n=zM);for(var e,r,i,a,o,s=new Qo(t),u=[s];e=u.pop();)if((i=n(e.data))&&(o=(i=Array.from(i)).length))for(e.children=i,a=o-1;a>=0;--a)u.push(r=i[a]=new Qo(i[a])),r.parent=e,r.depth=e.depth+1;return s.eachBefore(_D)}function zM(t){return t.children}function OM(t){return Array.isArray(t)?t[1]:null}function NM(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function _D(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function Qo(t){this.data=t,this.depth=this.height=0,this.parent=null}function Hf(t){return t==null?null:kD(t)}function kD(t){if(typeof t!="function")throw new Error;return t}function Ha(){return 0}function Zo(t){return function(){return t}}Qo.prototype=Lg.prototype={constructor:Qo,count:function(){return this.eachAfter(BM)},each:function(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this},eachAfter:function(t,n){for(var e,r,i,a=this,o=[a],s=[],u=-1;a=o.pop();)if(s.push(a),e=a.children)for(r=0,i=e.length;r<i;++r)o.push(e[r]);for(;a=s.pop();)t.call(n,a,++u,this);return this},eachBefore:function(t,n){for(var e,r,i=this,a=[i],o=-1;i=a.pop();)if(t.call(n,i,++o,this),e=i.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},find:function(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r},sum:function(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})},sort:function(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function(t){for(var n=this,e=function(a,o){if(a===o)return a;var s=a.ancestors(),u=o.ancestors(),l=null;for(a=s.pop(),o=u.pop();a===o;)l=a,a=s.pop(),o=u.pop();return l}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n},copy:function(){return Lg(this).eachBefore(NM)},[Symbol.iterator]:function*(){var t,n,e,r,i=this,a=[i];do for(t=a.reverse(),a=[];i=t.pop();)if(yield i,n=i.children)for(e=0,r=n.length;e<r;++e)a.push(n[e]);while(a.length)}};const DD=4294967296;function RM(t,n){var e,r;if(qg(n,t))return[n];for(e=0;e<t.length;++e)if(Gf(n,t[e])&&qg(Lu(t[e],n),t))return[t[e],n];for(e=0;e<t.length-1;++e)for(r=e+1;r<t.length;++r)if(Gf(Lu(t[e],t[r]),n)&&Gf(Lu(t[e],n),t[r])&&Gf(Lu(t[r],n),t[e])&&qg(CD(t[e],t[r],n),t))return[t[e],t[r],n];throw new Error}function Gf(t,n){var e=t.r-n.r,r=n.x-t.x,i=n.y-t.y;return e<0||e*e<r*r+i*i}function FD(t,n){var e=t.r-n.r+1e-9*Math.max(t.r,n.r,1),r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function qg(t,n){for(var e=0;e<n.length;++e)if(!FD(t,n[e]))return!1;return!0}function TM(t){switch(t.length){case 1:return function(n){return{x:n.x,y:n.y,r:n.r}}(t[0]);case 2:return Lu(t[0],t[1]);case 3:return CD(t[0],t[1],t[2])}}function Lu(t,n){var e=t.x,r=t.y,i=t.r,a=n.x,o=n.y,s=n.r,u=a-e,l=o-r,c=s-i,f=Math.sqrt(u*u+l*l);return{x:(e+a+u/f*c)/2,y:(r+o+l/f*c)/2,r:(f+i+s)/2}}function CD(t,n,e){var r=t.x,i=t.y,a=t.r,o=n.x,s=n.y,u=n.r,l=e.x,c=e.y,f=e.r,d=r-o,h=r-l,p=i-s,m=i-c,g=u-a,y=f-a,v=r*r+i*i-a*a,x=v-o*o-s*s+u*u,b=v-l*l-c*c+f*f,w=h*p-d*m,A=(p*b-m*x)/(2*w)-r,_=(m*g-p*y)/w,k=(h*x-d*b)/(2*w)-i,F=(d*y-h*g)/w,C=_*_+F*F-1,D=2*(a+A*_+k*F),E=A*A+k*k-a*a,$=-(Math.abs(C)>1e-6?(D+Math.sqrt(D*D-4*C*E))/(2*C):E/D);return{x:r+A+_*$,y:i+k+F*$,r:$}}function ED(t,n,e){var r,i,a,o,s=t.x-n.x,u=t.y-n.y,l=s*s+u*u;l?(i=n.r+e.r,i*=i,o=t.r+e.r,i>(o*=o)?(r=(l+o-i)/(2*l),a=Math.sqrt(Math.max(0,o/l-r*r)),e.x=t.x-r*s-a*u,e.y=t.y-r*u+a*s):(r=(l+i-o)/(2*l),a=Math.sqrt(Math.max(0,i/l-r*r)),e.x=n.x+r*s-a*u,e.y=n.y+r*u+a*s)):(e.x=n.x+e.r,e.y=n.y)}function $D(t,n){var e=t.r+n.r-1e-6,r=n.x-t.x,i=n.y-t.y;return e>0&&e*e>r*r+i*i}function SD(t){var n=t._,e=t.next._,r=n.r+e.r,i=(n.x*e.r+e.x*n.r)/r,a=(n.y*e.r+e.y*n.r)/r;return i*i+a*a}function Vf(t){this._=t,this.next=null,this.previous=null}function PM(t,n){if(!(a=(t=function(h){return typeof h=="object"&&"length"in h?h:Array.from(h)}(t)).length))return 0;var e,r,i,a,o,s,u,l,c,f,d;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;ED(r,e,i=t[2]),e=new Vf(e),r=new Vf(r),i=new Vf(i),e.next=i.previous=r,r.next=e.previous=i,i.next=r.previous=e;t:for(u=3;u<a;++u){ED(e._,r._,i=t[u]),i=new Vf(i),l=r.next,c=e.previous,f=r._.r,d=e._.r;do if(f<=d){if($D(l._,i._)){r=l,e.next=r,r.previous=e,--u;continue t}f+=l._.r,l=l.next}else{if($D(c._,i._)){(e=c).next=r,r.previous=e,--u;continue t}d+=c._.r,c=c.previous}while(l!==c.next);for(i.previous=e,i.next=r,e.next=r.previous=r=i,o=SD(e);(i=i.next)!==r;)(s=SD(i))<o&&(e=i,o=s);r=e.next}for(e=[r._],i=r;(i=i.next)!==r;)e.push(i._);for(i=function(h,p){for(var m,g,y=0,v=(h=function(b,w){let A,_,k=b.length;for(;k;)_=w()*k--|0,A=b[k],b[k]=b[_],b[_]=A;return b}(Array.from(h),p)).length,x=[];y<v;)m=h[y],g&&FD(g,m)?++y:(g=TM(x=RM(x,m)),y=0);return g}(e,n),u=0;u<a;++u)(e=t[u]).x-=i.x,e.y-=i.y;return i.r}function jM(t){return Math.sqrt(t.value)}function MD(t){return function(n){n.children||(n.r=Math.max(0,+t(n)||0))}}function Ug(t,n,e){return function(r){if(i=r.children){var i,a,o,s=i.length,u=t(r)*n||0;if(u)for(a=0;a<s;++a)i[a].r+=u;if(o=PM(i,e),u)for(a=0;a<s;++a)i[a].r-=u;r.r=o+u}}}function BD(t){return function(n){var e=n.parent;n.r*=t,e&&(n.x=e.x+t*n.x,n.y=e.y+t*n.y)}}function zD(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function qu(t,n,e,r,i){for(var a,o=t.children,s=-1,u=o.length,l=t.value&&(r-n)/t.value;++s<u;)(a=o[s]).y0=e,a.y1=i,a.x0=n,a.x1=n+=a.value*l}var LM={depth:-1},OD={},Ig={};function qM(t){return t.id}function UM(t){return t.parentId}function ND(){var t,n=qM,e=UM;function r(i){var a,o,s,u,l,c,f,d,h=Array.from(i),p=n,m=e,g=new Map;if(t!=null){const y=h.map((b,w)=>function(A){A=`${A}`;let _=A.length;return Wg(A,_-1)&&!Wg(A,_-2)&&(A=A.slice(0,-1)),A[0]==="/"?A:`/${A}`}(t(b,w,i))),v=y.map(RD),x=new Set(y).add("");for(const b of v)x.has(b)||(x.add(b),y.push(b),v.push(RD(b)),h.push(Ig));p=(b,w)=>y[w],m=(b,w)=>v[w]}for(s=0,a=h.length;s<a;++s)o=h[s],c=h[s]=new Qo(o),(f=p(o,s,i))!=null&&(f+="")&&(d=c.id=f,g.set(d,g.has(d)?OD:c)),(f=m(o,s,i))!=null&&(f+="")&&(c.parent=f);for(s=0;s<a;++s)if(f=(c=h[s]).parent){if(!(l=g.get(f)))throw new Error("missing: "+f);if(l===OD)throw new Error("ambiguous: "+f);l.children?l.children.push(c):l.children=[c],c.parent=l}else{if(u)throw new Error("multiple roots");u=c}if(!u)throw new Error("no root");if(t!=null){for(;u.data===Ig&&u.children.length===1;)u=u.children[0],--a;for(let y=h.length-1;y>=0&&(c=h[y]).data===Ig;--y)c.data=null}if(u.parent=LM,u.eachBefore(function(y){y.depth=y.parent.depth+1,--a}).eachBefore(_D),u.parent=null,a>0)throw new Error("cycle");return u}return r.id=function(i){return arguments.length?(n=Hf(i),r):n},r.parentId=function(i){return arguments.length?(e=Hf(i),r):e},r.path=function(i){return arguments.length?(t=Hf(i),r):t},r}function RD(t){let n=t.length;if(n<2)return"";for(;--n>1&&!Wg(t,n););return t.slice(0,n)}function Wg(t,n){if(t[n]==="/"){let e=0;for(;n>0&&t[--n]==="\\";)++e;if(!(1&e))return!0}return!1}function IM(t,n){return t.parent===n.parent?1:2}function Hg(t){var n=t.children;return n?n[0]:t.t}function Gg(t){var n=t.children;return n?n[n.length-1]:t.t}function WM(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function HM(t,n,e){return t.a.parent===n.parent?t.a:e}function Yf(t,n){this._=t,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=n}function Xf(t,n,e,r,i){for(var a,o=t.children,s=-1,u=o.length,l=t.value&&(i-e)/t.value;++s<u;)(a=o[s]).x0=n,a.x1=r,a.y0=e,a.y1=e+=a.value*l}Yf.prototype=Object.create(Qo.prototype);var TD=(1+Math.sqrt(5))/2;function PD(t,n,e,r,i,a){for(var o,s,u,l,c,f,d,h,p,m,g,y=[],v=n.children,x=0,b=0,w=v.length,A=n.value;x<w;){u=i-e,l=a-r;do c=v[b++].value;while(!c&&b<w);for(f=d=c,g=c*c*(m=Math.max(l/u,u/l)/(A*t)),p=Math.max(d/g,g/f);b<w;++b){if(c+=s=v[b].value,s<f&&(f=s),s>d&&(d=s),g=c*c*m,(h=Math.max(d/g,g/f))>p){c-=s;break}p=h}y.push(o={value:c,dice:u<l,children:v.slice(x,b)}),o.dice?qu(o,e,r,i,A?r+=l*c/A:a):Xf(o,e,r,A?e+=u*c/A:i,a),A-=c,x=b}return y}const jD=function t(n){function e(r,i,a,o,s){PD(n,r,i,a,o,s)}return e.ratio=function(r){return t((r=+r)>1?r:1)},e}(TD),GM=function t(n){function e(r,i,a,o,s){if((u=r._squarify)&&u.ratio===n)for(var u,l,c,f,d,h=-1,p=u.length,m=r.value;++h<p;){for(c=(l=u[h]).children,f=l.value=0,d=c.length;f<d;++f)l.value+=c[f].value;l.dice?qu(l,i,a,o,m?a+=(s-a)*l.value/m:s):Xf(l,i,a,m?i+=(o-i)*l.value/m:o,s),m-=l.value}else r._squarify=u=PD(n,r,i,a,o,s),u.ratio=n}return e.ratio=function(r){return t((r=+r)>1?r:1)},e}(TD);function Vg(t,n,e){const r={};return t.each(i=>{const a=i.data;e(a)&&(r[n(a)]=i)}),t.lookup=r,t}function Yg(t){O.call(this,null,t)}Yg.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};const VM=t=>t.values;function YM(){const t=[],n={entries:i=>r(e(i,0),0),key:i=>(t.push(i),n)};function e(i,a){if(a>=t.length)return i;const o=i.length,s=t[a++],u={},l={};let c,f,d,h=-1;for(;++h<o;)c=s(f=i[h])+"",(d=u[c])?d.push(f):u[c]=[f];for(c in u)l[c]=e(u[c],a);return l}function r(i,a){if(++a>t.length)return i;const o=[];for(const s in i)o.push({key:s,values:r(i[s],a)});return o}return n}function di(t){O.call(this,null,t)}V(Yg,O,{transform(t,n){n.source||j("Nest transform requires an upstream data source.");var e=t.generate,r=t.modified(),i=n.clone(),a=this.value;return(!a||r||n.changed())&&(a&&a.each(o=>{o.children&&tc(o.data)&&i.rem.push(o.data)}),this.value=a=Lg({values:K(t.keys).reduce((o,s)=>(o.key(s),o),YM()).entries(i.source)},VM),e&&a.each(o=>{o.children&&(o=St(o.data),i.add.push(o),i.source.push(o))}),Vg(a,st,st)),i.source.root=a,i}});const XM=(t,n)=>t.parent===n.parent?1:2;V(di,O,{transform(t,n){n.source&&n.source.root||j(this.constructor.name+" transform requires a backing tree data source.");const e=this.layout(t.method),r=this.fields,i=n.source.root,a=t.as||r;t.field?i.sum(t.field):i.count(),t.sort&&i.sort(Sa(t.sort,o=>o.data)),function(o,s,u){for(let l,c=0,f=s.length;c<f;++c)l=s[c],l in u&&o[l](u[l])}(e,this.params,t),e.separation&&e.separation(t.separation!==!1?XM:Gs);try{this.value=e(i)}catch(o){j(o)}return i.each(o=>function(s,u,l){const c=s.data,f=u.length-1;for(let d=0;d<f;++d)c[l[d]]=s[u[d]];c[l[f]]=s.children?s.children.length:0}(o,r,a)),n.reflow(t.modified()).modifies(a).modifies("leaf")}});const Xg=["x","y","r","depth","children"];function Jg(t){di.call(this,t)}Jg.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:Xg.length,default:Xg}]},V(Jg,di,{layout:function(){var t=null,n=1,e=1,r=Ha;function i(a){const o=function(){let s=1;return()=>(s=(1664525*s+1013904223)%DD)/DD}();return a.x=n/2,a.y=e/2,t?a.eachBefore(MD(t)).eachAfter(Ug(r,.5,o)).eachBefore(BD(1)):a.eachBefore(MD(jM)).eachAfter(Ug(Ha,1,o)).eachAfter(Ug(r,a.r/Math.min(n,e),o)).eachBefore(BD(Math.min(n,e)/(2*a.r))),a}return i.radius=function(a){return arguments.length?(t=Hf(a),i):t},i.size=function(a){return arguments.length?(n=+a[0],e=+a[1],i):[n,e]},i.padding=function(a){return arguments.length?(r=typeof a=="function"?a:Zo(+a),i):r},i},params:["radius","size","padding"],fields:Xg});const Kg=["x0","y0","x1","y1","depth","children"];function Qg(t){di.call(this,t)}function Zg(t){O.call(this,null,t)}Qg.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:Kg.length,default:Kg}]},V(Qg,di,{layout:function(){var t=1,n=1,e=0,r=!1;function i(a){var o=a.height+1;return a.x0=a.y0=e,a.x1=t,a.y1=n/o,a.eachBefore(function(s,u){return function(l){l.children&&qu(l,l.x0,s*(l.depth+1)/u,l.x1,s*(l.depth+2)/u);var c=l.x0,f=l.y0,d=l.x1-e,h=l.y1-e;d<c&&(c=d=(c+d)/2),h<f&&(f=h=(f+h)/2),l.x0=c,l.y0=f,l.x1=d,l.y1=h}}(n,o)),r&&a.eachBefore(zD),a}return i.round=function(a){return arguments.length?(r=!!a,i):r},i.size=function(a){return arguments.length?(t=+a[0],n=+a[1],i):[t,n]},i.padding=function(a){return arguments.length?(e=+a,i):e},i},params:["size","round","padding"],fields:Kg}),Zg.Definition={type:"Stratify",metadata:{treesource:!0},params:[{name:"key",type:"field",required:!0},{name:"parentKey",type:"field",required:!0}]},V(Zg,O,{transform(t,n){n.source||j("Stratify transform requires an upstream data source.");let e=this.value;const r=t.modified(),i=n.fork(n.ALL).materialize(n.SOURCE),a=!e||r||n.changed(n.ADD_REM)||n.modified(t.key.fields)||n.modified(t.parentKey.fields);return i.source=i.source.slice(),a&&(e=i.source.length?Vg(ND().id(t.key).parentId(t.parentKey)(i.source),t.key,Be):Vg(ND()([{}]),t.key,t.key)),i.source.root=this.value=e,i}});const LD={tidy:function(){var t=IM,n=1,e=1,r=null;function i(u){var l=function(y){for(var v,x,b,w,A,_=new Yf(y,0),k=[_];v=k.pop();)if(b=v._.children)for(v.children=new Array(A=b.length),w=A-1;w>=0;--w)k.push(x=v.children[w]=new Yf(b[w],w)),x.parent=v;return(_.parent=new Yf(null,0)).children=[_],_}(u);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),r)u.eachBefore(s);else{var c=u,f=u,d=u;u.eachBefore(function(y){y.x<c.x&&(c=y),y.x>f.x&&(f=y),y.depth>d.depth&&(d=y)});var h=c===f?1:t(c,f)/2,p=h-c.x,m=n/(f.x+h+p),g=e/(d.depth||1);u.eachBefore(function(y){y.x=(y.x+p)*m,y.y=y.depth*g})}return u}function a(u){var l=u.children,c=u.parent.children,f=u.i?c[u.i-1]:null;if(l){(function(h){for(var p,m=0,g=0,y=h.children,v=y.length;--v>=0;)(p=y[v]).z+=m,p.m+=m,m+=p.s+(g+=p.c)})(u);var d=(l[0].z+l[l.length-1].z)/2;f?(u.z=f.z+t(u._,f._),u.m=u.z-d):u.z=d}else f&&(u.z=f.z+t(u._,f._));u.parent.A=function(h,p,m){if(p){for(var g,y=h,v=h,x=p,b=y.parent.children[0],w=y.m,A=v.m,_=x.m,k=b.m;x=Gg(x),y=Hg(y),x&&y;)b=Hg(b),(v=Gg(v)).a=h,(g=x.z+_-y.z-w+t(x._,y._))>0&&(WM(HM(x,h,m),h,g),w+=g,A+=g),_+=x.m,w+=y.m,k+=b.m,A+=v.m;x&&!Gg(v)&&(v.t=x,v.m+=_-A),y&&!Hg(b)&&(b.t=y,b.m+=w-k,m=h)}return m}(u,f,u.parent.A||c[0])}function o(u){u._.x=u.z+u.parent.m,u.m+=u.parent.m}function s(u){u.x*=n,u.y=u.depth*e}return i.separation=function(u){return arguments.length?(t=u,i):t},i.size=function(u){return arguments.length?(r=!1,n=+u[0],e=+u[1],i):r?null:[n,e]},i.nodeSize=function(u){return arguments.length?(r=!0,n=+u[0],e=+u[1],i):r?[n,e]:null},i},cluster:function(){var t=$M,n=1,e=1,r=!1;function i(a){var o,s=0;a.eachAfter(function(d){var h=d.children;h?(d.x=function(p){return p.reduce(SM,0)/p.length}(h),d.y=function(p){return 1+p.reduce(MM,0)}(h)):(d.x=o?s+=t(d,o):0,d.y=0,o=d)});var u=function(d){for(var h;h=d.children;)d=h[0];return d}(a),l=function(d){for(var h;h=d.children;)d=h[h.length-1];return d}(a),c=u.x-t(u,l)/2,f=l.x+t(l,u)/2;return a.eachAfter(r?function(d){d.x=(d.x-a.x)*n,d.y=(a.y-d.y)*e}:function(d){d.x=(d.x-c)/(f-c)*n,d.y=(1-(a.y?d.y/a.y:1))*e})}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}},t1=["x","y","depth","children"];function n1(t){di.call(this,t)}function e1(t){O.call(this,[],t)}n1.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:t1.length,default:t1}]},V(n1,di,{layout(t){const n=t||"tidy";if(tt(LD,n))return LD[n]();j("Unrecognized Tree layout method: "+n)},params:["size","nodeSize"],fields:t1}),e1.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},V(e1,O,{transform(t,n){const e=this.value,r=n.source&&n.source.root,i=n.fork(n.NO_SOURCE),a={};return r||j("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(i.rem=e,n.visit(n.SOURCE,o=>a[st(o)]=1),r.each(o=>{const s=o.data,u=o.parent&&o.parent.data;u&&a[st(s)]&&a[st(u)]&&i.add.push(St({source:u,target:s}))}),this.value=i.add):n.changed(n.MOD)&&(n.visit(n.MOD,o=>a[st(o)]=1),e.forEach(o=>{(a[st(o.source)]||a[st(o.target)])&&i.mod.push(o)})),i}});const qD={binary:function(t,n,e,r,i){var a,o,s=t.children,u=s.length,l=new Array(u+1);for(l[0]=o=a=0;a<u;++a)l[a+1]=o+=s[a].value;(function c(f,d,h,p,m,g,y){if(f>=d-1){var v=s[f];return v.x0=p,v.y0=m,v.x1=g,void(v.y1=y)}for(var x=l[f],b=h/2+x,w=f+1,A=d-1;w<A;){var _=w+A>>>1;l[_]<b?w=_+1:A=_}b-l[w-1]<l[w]-b&&f+1<w&&--w;var k=l[w]-x,F=h-k;if(g-p>y-m){var C=h?(p*F+g*k)/h:g;c(f,w,k,p,m,C,y),c(w,d,F,C,m,g,y)}else{var D=h?(m*F+y*k)/h:y;c(f,w,k,p,m,g,D),c(w,d,F,p,D,g,y)}})(0,u,t.value,n,e,r,i)},dice:qu,slice:Xf,slicedice:function(t,n,e,r,i){(1&t.depth?Xf:qu)(t,n,e,r,i)},squarify:jD,resquarify:GM},r1=["x0","y0","x1","y1","depth","children"];function i1(t){di.call(this,t)}i1.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:r1.length,default:r1}]},V(i1,di,{layout(){const t=function(){var n=jD,e=!1,r=1,i=1,a=[0],o=Ha,s=Ha,u=Ha,l=Ha,c=Ha;function f(h){return h.x0=h.y0=0,h.x1=r,h.y1=i,h.eachBefore(d),a=[0],e&&h.eachBefore(zD),h}function d(h){var p=a[h.depth],m=h.x0+p,g=h.y0+p,y=h.x1-p,v=h.y1-p;y<m&&(m=y=(m+y)/2),v<g&&(g=v=(g+v)/2),h.x0=m,h.y0=g,h.x1=y,h.y1=v,h.children&&(p=a[h.depth+1]=o(h)/2,m+=c(h)-p,g+=s(h)-p,(y-=u(h)-p)<m&&(m=y=(m+y)/2),(v-=l(h)-p)<g&&(g=v=(g+v)/2),n(h,m,g,y,v))}return f.round=function(h){return arguments.length?(e=!!h,f):e},f.size=function(h){return arguments.length?(r=+h[0],i=+h[1],f):[r,i]},f.tile=function(h){return arguments.length?(n=kD(h),f):n},f.padding=function(h){return arguments.length?f.paddingInner(h).paddingOuter(h):f.paddingInner()},f.paddingInner=function(h){return arguments.length?(o=typeof h=="function"?h:Zo(+h),f):o},f.paddingOuter=function(h){return arguments.length?f.paddingTop(h).paddingRight(h).paddingBottom(h).paddingLeft(h):f.paddingTop()},f.paddingTop=function(h){return arguments.length?(s=typeof h=="function"?h:Zo(+h),f):s},f.paddingRight=function(h){return arguments.length?(u=typeof h=="function"?h:Zo(+h),f):u},f.paddingBottom=function(h){return arguments.length?(l=typeof h=="function"?h:Zo(+h),f):l},f.paddingLeft=function(h){return arguments.length?(c=typeof h=="function"?h:Zo(+h),f):c},f}();return t.ratio=n=>{const e=t.tile();e.ratio&&t.tile(e.ratio(n))},t.method=n=>{tt(qD,n)?t.tile(qD[n]):j("Unrecognized Treemap layout method: "+n)},t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:r1});const JM=Object.freeze(Object.defineProperty({__proto__:null,nest:Yg,pack:Jg,partition:Qg,stratify:Zg,tree:n1,treelinks:e1,treemap:i1},Symbol.toStringTag,{value:"Module"})),a1=4278190080;function o1(t,n,e){return new Uint32Array(t.getImageData(0,0,n,e).data.buffer)}function Jf(t,n,e){if(!n.length)return;const r=n[0].mark.marktype;r==="group"?n.forEach(i=>{i.items.forEach(a=>Jf(t,a.items,e))}):Ae[r].draw(t,{items:e?n.map(KM):n})}function KM(t){const n=nc(t,{});return n.stroke&&n.strokeOpacity!==0||n.fill&&n.fillOpacity!==0?{...n,strokeOpacity:1,stroke:"#000",fillOpacity:0}:n}const re=31,ra=new Uint32Array(33),rr=new Uint32Array(33);rr[0]=0,ra[0]=~rr[0];for(let t=1;t<=32;++t)rr[t]=rr[t-1]<<1|1,ra[t]=~rr[t];function QM(t,n,e){const r=Math.max(1,Math.sqrt(t*n/1e6)),i=~~((t+2*e+r)/r),a=~~((n+2*e+r)/r),o=s=>~~((s+e)/r);return o.invert=s=>s*r-e,o.bitmap=()=>function(s,u){const l=new Uint32Array(~~((s*u+32)/32));function c(d,h){l[d]|=h}function f(d,h){l[d]&=h}return{array:l,get:(d,h)=>{const p=h*s+d;return l[p>>>5]&1<<(p&re)},set:(d,h)=>{const p=h*s+d;c(p>>>5,1<<(p&re))},clear:(d,h)=>{const p=h*s+d;f(p>>>5,~(1<<(p&re)))},getRange:(d,h,p,m)=>{let g,y,v,x,b=m;for(;b>=h;--b)if(g=b*s+d,y=b*s+p,v=g>>>5,x=y>>>5,v===x){if(l[v]&ra[g&re]&rr[1+(y&re)])return!0}else{if(l[v]&ra[g&re]||l[x]&rr[1+(y&re)])return!0;for(let w=v+1;w<x;++w)if(l[w])return!0}return!1},setRange:(d,h,p,m)=>{let g,y,v,x,b;for(;h<=m;++h)if(g=h*s+d,y=h*s+p,v=g>>>5,x=y>>>5,v===x)c(v,ra[g&re]&rr[1+(y&re)]);else for(c(v,ra[g&re]),c(x,rr[1+(y&re)]),b=v+1;b<x;++b)c(b,4294967295)},clearRange:(d,h,p,m)=>{let g,y,v,x,b;for(;h<=m;++h)if(g=h*s+d,y=h*s+p,v=g>>>5,x=y>>>5,v===x)f(v,rr[g&re]|ra[1+(y&re)]);else for(f(v,rr[g&re]),f(x,ra[1+(y&re)]),b=v+1;b<x;++b)f(b,0)},outOfBounds:(d,h,p,m)=>d<0||h<0||m>=u||p>=s}}(i,a),o.ratio=r,o.padding=e,o.width=t,o.height=n,o}function Kf(t,n,e,r,i,a){let o=e/2;return t-o<0||t+o>i||n-(o=r/2)<0||n+o>a}function ia(t,n,e,r,i,a,o,s){const u=i*a/(2*r),l=t(n-u),c=t(n+u),f=t(e-(a/=2)),d=t(e+a);return o.outOfBounds(l,f,c,d)||o.getRange(l,f,c,d)||s&&s.getRange(l,f,c,d)}const ZM=[-1,-1,1,1],tB=[-1,1,-1,1],nB=["right","center","left"],eB=["bottom","middle","top"];function UD(t,n,e,r,i,a,o,s,u,l,c,f){return!(i.outOfBounds(t,e,n,r)||(f&&a||i).getRange(t,e,n,r))}const rB={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},iB={naive:function(t,n,e,r){const i=t.width,a=t.height;return function(o){const s=o.datum.datum.items[r].items,u=s.length,l=o.datum.fontSize,c=we.width(o.datum,o.datum.text);let f,d,h,p,m,g,y,v=0;for(let x=0;x<u;++x)f=s[x].x,h=s[x].y,d=s[x].x2===void 0?f:s[x].x2,p=s[x].y2===void 0?h:s[x].y2,m=(f+d)/2,g=(h+p)/2,y=Math.abs(d-f+p-h),y>=v&&(v=y,o.x=m,o.y=g);return m=c/2,g=l/2,f=o.x-m,d=o.x+m,h=o.y-g,p=o.y+g,o.align="center",f<0&&d<=i?o.align="left":0<=f&&i<d&&(o.align="right"),o.baseline="middle",h<0&&p<=a?o.baseline="top":0<=h&&a<p&&(o.baseline="bottom"),!0}},"reduced-search":function(t,n,e,r){const i=t.width,a=t.height,o=n[0],s=n[1];function u(l,c,f,d,h){const p=t.invert(l),m=t.invert(c);let g,y=f,v=a;if(!Kf(p,m,d,h,i,a)&&!ia(t,p,m,h,d,y,o,s)&&!ia(t,p,m,h,d,h,o,null)){for(;v-y>=1;)g=(y+v)/2,ia(t,p,m,h,d,g,o,s)?v=g:y=g;if(y>f)return[p,m,y,!0]}}return function(l){const c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,h=we.width(l.datum,l.datum.text);let p,m,g,y,v,x,b,w,A,_,k,F,C,D,E,$,M,S=e?d:0,B=!1,z=!1,N=0;for(let W=0;W<f;++W){for(p=c[W].x,g=c[W].y,m=c[W].x2===void 0?p:c[W].x2,y=c[W].y2===void 0?g:c[W].y2,p>m&&(M=p,p=m,m=M),g>y&&(M=g,g=y,y=M),A=t(p),k=t(m),_=~~((A+k)/2),F=t(g),D=t(y),C=~~((F+D)/2),b=_;b>=A;--b)for(w=C;w>=F;--w)$=u(b,w,S,h,d),$&&([l.x,l.y,S,B]=$);for(b=_;b<=k;++b)for(w=C;w<=D;++w)$=u(b,w,S,h,d),$&&([l.x,l.y,S,B]=$);B||e||(E=Math.abs(m-p+y-g),v=(p+m)/2,x=(g+y)/2,E>=N&&!Kf(v,x,h,d,i,a)&&!ia(t,v,x,d,h,d,o,null)&&(N=E,l.x=v,l.y=x,z=!0))}return!(!B&&!z)&&(v=h/2,x=d/2,o.setRange(t(l.x-v),t(l.y-x),t(l.x+v),t(l.y+x)),l.align="center",l.baseline="middle",!0)}},floodfill:function(t,n,e,r){const i=t.width,a=t.height,o=n[0],s=n[1],u=t.bitmap();return function(l){const c=l.datum.datum.items[r].items,f=c.length,d=l.datum.fontSize,h=we.width(l.datum,l.datum.text),p=[];let m,g,y,v,x,b,w,A,_,k,F,C,D=e?d:0,E=!1,$=!1,M=0;for(let S=0;S<f;++S){for(m=c[S].x,y=c[S].y,g=c[S].x2===void 0?m:c[S].x2,v=c[S].y2===void 0?y:c[S].y2,p.push([t((m+g)/2),t((y+v)/2)]);p.length;)if([w,A]=p.pop(),!(o.get(w,A)||s.get(w,A)||u.get(w,A))){u.set(w,A);for(let B=0;B<4;++B)x=w+ZM[B],b=A+tB[B],u.outOfBounds(x,b,x,b)||p.push([x,b]);if(x=t.invert(w),b=t.invert(A),_=D,k=a,!Kf(x,b,h,d,i,a)&&!ia(t,x,b,d,h,_,o,s)&&!ia(t,x,b,d,h,d,o,null)){for(;k-_>=1;)F=(_+k)/2,ia(t,x,b,d,h,F,o,s)?k=F:_=F;_>D&&(l.x=x,l.y=b,D=_,E=!0)}}E||e||(C=Math.abs(g-m+v-y),x=(m+g)/2,b=(y+v)/2,C>=M&&!Kf(x,b,h,d,i,a)&&!ia(t,x,b,d,h,d,o,null)&&(M=C,l.x=x,l.y=b,$=!0))}return!(!E&&!$)&&(x=h/2,b=d/2,o.setRange(t(l.x-x),t(l.y-b),t(l.x+x),t(l.y+b)),l.align="center",l.baseline="middle",!0)}}};function aB(t,n,e,r,i,a,o,s,u,l,c){if(!t.length)return t;const f=Math.max(r.length,i.length),d=function(D,E){const $=new Float64Array(E),M=D.length;for(let S=0;S<M;++S)$[S]=D[S]||0;for(let S=M;S<E;++S)$[S]=$[M-1];return $}(r,f),h=function(D,E){const $=new Int8Array(E),M=D.length;for(let S=0;S<M;++S)$[S]|=rB[D[S]];for(let S=M;S<E;++S)$[S]=$[M-1];return $}(i,f),p=(b=t[0].datum)&&b.mark&&b.mark.marktype,m=p==="group"&&t[0].datum.items[u].marktype,g=m==="area",y=function(D,E,$,M){const S=B=>[B.x,B.x,B.x,B.y,B.y,B.y];return D?D==="line"||D==="area"?B=>S(B.datum):E==="line"?B=>{const z=B.datum.items[M].items;return S(z.length?z[$==="start"?0:z.length-1]:{x:NaN,y:NaN})}:B=>{const z=B.datum.bounds;return[z.x1,(z.x1+z.x2)/2,z.x2,z.y1,(z.y1+z.y2)/2,z.y2]}:S}(p,m,s,u),v=l===null||l===1/0,x=g&&c==="naive";var b;let w=-1,A=-1;const _=t.map(D=>{const E=v?we.width(D,D.text):void 0;return w=Math.max(w,E),A=Math.max(A,D.fontSize),{datum:D,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:y(D),textWidth:E}});l=l===null||l===1/0?Math.max(w,A)+Math.max(...r):l;const k=QM(n[0],n[1],l);let F;if(!x){e&&_.sort(($,M)=>e($.datum,M.datum));let D=!1;for(let $=0;$<h.length&&!D;++$)D=h[$]===5||d[$]<0;const E=(p&&o||g)&&t.map($=>$.datum);F=a.length||E?function($,M,S,B,z){const N=$.width,W=$.height,X=B||z,L=qi(N,W).getContext("2d"),et=qi(N,W).getContext("2d"),ot=X&&qi(N,W).getContext("2d");S.forEach(ti=>Jf(L,ti,!1)),Jf(et,M,!1),X&&Jf(ot,M,!0);const nt=o1(L,N,W),mt=o1(et,N,W),pt=X&&o1(ot,N,W),J=$.bitmap(),Mt=X&&$.bitmap();let Tt,kt,Et,tn,nn,It,be,zn;for(kt=0;kt<W;++kt)for(Tt=0;Tt<N;++Tt)nn=kt*N+Tt,It=nt[nn]&a1,zn=mt[nn]&a1,be=X&&pt[nn]&a1,(It||be||zn)&&(Et=$(Tt),tn=$(kt),z||!It&&!zn||J.set(Et,tn),X&&(It||be)&&Mt.set(Et,tn));return[J,Mt]}(k,E||[],a,D,g):function($,M){const S=$.bitmap();return(M||[]).forEach(B=>S.set($(B.boundary[0]),$(B.boundary[3]))),[S,void 0]}(k,o&&_)}const C=g?iB[c](k,F,o,u):function(D,E,$,M){const S=D.width,B=D.height,z=E[0],N=E[1],W=M.length;return function(X){const L=X.boundary,et=X.datum.fontSize;if(L[2]<0||L[5]<0||L[0]>S||L[3]>B)return!1;let ot,nt,mt,pt,J,Mt,Tt,kt,Et,tn,nn,It,be,zn,ti,Je=X.textWidth??0;for(let Se=0;Se<W;++Se){if(ot=(3&$[Se])-1,nt=($[Se]>>>2&3)-1,mt=ot===0&&nt===0||M[Se]<0,pt=ot&&nt?Math.SQRT1_2:1,J=M[Se]<0?-1:1,Mt=L[1+ot]+M[Se]*ot*pt,nn=L[4+nt]+J*et*nt/2+M[Se]*nt*pt,kt=nn-et/2,Et=nn+et/2,It=D(Mt),zn=D(kt),ti=D(Et),!Je){if(!UD(It,It,zn,ti,z,N,0,0,0,0,0,mt))continue;Je=we.width(X.datum,X.datum.text)}if(tn=Mt+J*Je*ot/2,Mt=tn-Je/2,Tt=tn+Je/2,It=D(Mt),be=D(Tt),UD(It,be,zn,ti,z,N,0,0,0,0,0,mt))return X.x=ot?ot*J<0?Tt:Mt:tn,X.y=nt?nt*J<0?Et:kt:nn,X.align=nB[ot*J+1],X.baseline=eB[nt*J+1],z.setRange(It,zn,be,ti),!0}return!1}}(k,F,h,d);return _.forEach(D=>D.opacity=+C(D)),_}const s1=["x","y","opacity","align","baseline"],ID=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function u1(t){O.call(this,null,t)}u1.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:ID},{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:s1.length,default:s1}]},V(u1,O,{transform(t,n){const e=t.modified();if(!(e||n.changed(n.ADD_REM)||function(i){const a=t[i];return bt(a)&&n.modified(a.fields)}("sort")))return;t.size&&t.size.length===2||j("Size parameter should be specified as a [width, height] array.");const r=t.as||s1;return aB(n.materialize(n.SOURCE).source||[],t.size,t.sort,K(t.offset==null?1:t.offset),K(t.anchor||ID),t.avoidMarks||[],t.avoidBaseMark!==!1,t.lineAnchor||"end",t.markIndex||0,t.padding===void 0?0:t.padding,t.method||"naive").forEach(i=>{const a=i.datum;a[r[0]]=i.x,a[r[1]]=i.y,a[r[2]]=i.opacity,a[r[3]]=i.align,a[r[4]]=i.baseline}),n.reflow(e).modifies(r)}});const oB=Object.freeze(Object.defineProperty({__proto__:null,label:u1},Symbol.toStringTag,{value:"Module"}));function WD(t,n){var e,r,i,a,o,s,u=[],l=function(c){return c(a)};if(n==null)u.push(t);else for(e={},r=0,i=t.length;r<i;++r)a=t[r],(s=e[o=n.map(l)])||(e[o]=s=[],s.dims=o,u.push(s)),s.push(a);return u}function l1(t){O.call(this,null,t)}l1.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}]},V(l1,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=WD(n.materialize(n.SOURCE).source,t.groupby),i=(t.groupby||[]).map(en),a=i.length,o=t.as||[en(t.x),en(t.y)],s=[];r.forEach(u=>{b2(u,t.x,t.y,t.bandwidth||.3).forEach(l=>{const c={};for(let f=0;f<a;++f)c[i[f]]=u.dims[f];c[o[0]]=l[0],c[o[1]]=l[1],s.push(St(c))})}),this.value&&(e.rem=this.value),this.value=e.add=e.source=s}return e}});const c1={constant:Rp,linear:Tp,log:m2,exp:g2,pow:y2,quad:Pp,poly:v2};function f1(t){O.call(this,null,t)}f1.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(c1)},{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}]},V(f1,O,{transform(t,n){const e=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||t.modified()){const r=WD(n.materialize(n.SOURCE).source,t.groupby),i=(t.groupby||[]).map(en),a=t.method||"linear",o=t.order==null?3:t.order,s=((d,h)=>d==="poly"?h:d==="quad"?2:1)(a,o),u=t.as||[en(t.x),en(t.y)],l=c1[a],c=[];let f=t.extent;tt(c1,a)||j("Invalid regression method: "+a),f!=null&&a==="log"&&f[0]<=0&&(n.dataflow.warn("Ignoring extent with values <= 0 for log regression."),f=null),r.forEach(d=>{if(d.length<=s)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const h=l(d,t.x,t.y,o);if(t.params)return void c.push(St({keys:d.dims,coef:h.coef,rSquared:h.rSquared}));const p=f||kr(d,t.x),m=g=>{const y={};for(let v=0;v<i.length;++v)y[i[v]]=d.dims[v];y[u[0]]=g[0],y[u[1]]=g[1],c.push(St(y))};a==="linear"||a==="constant"?p.forEach(g=>m([g,h.predict(g)])):fc(h.predict,p,25,200).forEach(m)}),this.value&&(e.rem=this.value),this.value=e.add=e.source=c}return e}});const sB=Object.freeze(Object.defineProperty({__proto__:null,loess:l1,regression:f1},Symbol.toStringTag,{value:"Module"})),Rn=134217729;function d1(t,n,e,r,i){let a,o,s,u,l=n[0],c=r[0],f=0,d=0;c>l==c>-l?(a=l,l=n[++f]):(a=c,c=r[++d]);let h=0;if(f<t&&d<e)for(c>l==c>-l?(o=l+a,s=a-(o-l),l=n[++f]):(o=c+a,s=a-(o-c),c=r[++d]),a=o,s!==0&&(i[h++]=s);f<t&&d<e;)c>l==c>-l?(o=a+l,u=o-a,s=a-(o-u)+(l-u),l=n[++f]):(o=a+c,u=o-a,s=a-(o-u)+(c-u),c=r[++d]),a=o,s!==0&&(i[h++]=s);for(;f<t;)o=a+l,u=o-a,s=a-(o-u)+(l-u),l=n[++f],a=o,s!==0&&(i[h++]=s);for(;d<e;)o=a+c,u=o-a,s=a-(o-u)+(c-u),c=r[++d],a=o,s!==0&&(i[h++]=s);return a===0&&h!==0||(i[h++]=a),h}function Uu(t){return new Float64Array(t)}const ts=Uu(4),HD=Uu(8),GD=Uu(12),VD=Uu(16),ie=Uu(4);function Qf(t,n,e,r,i,a){const o=(n-a)*(e-i),s=(t-i)*(r-a),u=o-s,l=Math.abs(o+s);return Math.abs(u)>=33306690738754716e-32*l?u:-function(c,f,d,h,p,m,g){let y,v,x,b,w,A,_,k,F,C,D,E,$,M,S,B,z,N;const W=c-p,X=d-p,L=f-m,et=h-m;M=W*et,A=Rn*W,_=A-(A-W),k=W-_,A=Rn*et,F=A-(A-et),C=et-F,S=k*C-(M-_*F-k*F-_*C),B=L*X,A=Rn*L,_=A-(A-L),k=L-_,A=Rn*X,F=A-(A-X),C=X-F,z=k*C-(B-_*F-k*F-_*C),D=S-z,w=S-D,ts[0]=S-(D+w)+(w-z),E=M+D,w=E-M,$=M-(E-w)+(D-w),D=$-B,w=$-D,ts[1]=$-(D+w)+(w-B),N=E+D,w=N-E,ts[2]=E-(N-w)+(D-w),ts[3]=N;let ot=function(Mt,Tt){let kt=Tt[0];for(let Et=1;Et<Mt;Et++)kt+=Tt[Et];return kt}(4,ts),nt=22204460492503146e-32*g;if(ot>=nt||-ot>=nt||(w=c-W,y=c-(W+w)+(w-p),w=d-X,x=d-(X+w)+(w-p),w=f-L,v=f-(L+w)+(w-m),w=h-et,b=h-(et+w)+(w-m),y===0&&v===0&&x===0&&b===0)||(nt=11093356479670487e-47*g+33306690738754706e-32*Math.abs(ot),ot+=W*b+et*y-(L*x+X*v),ot>=nt||-ot>=nt))return ot;M=y*et,A=Rn*y,_=A-(A-y),k=y-_,A=Rn*et,F=A-(A-et),C=et-F,S=k*C-(M-_*F-k*F-_*C),B=v*X,A=Rn*v,_=A-(A-v),k=v-_,A=Rn*X,F=A-(A-X),C=X-F,z=k*C-(B-_*F-k*F-_*C),D=S-z,w=S-D,ie[0]=S-(D+w)+(w-z),E=M+D,w=E-M,$=M-(E-w)+(D-w),D=$-B,w=$-D,ie[1]=$-(D+w)+(w-B),N=E+D,w=N-E,ie[2]=E-(N-w)+(D-w),ie[3]=N;const mt=d1(4,ts,4,ie,HD);M=W*b,A=Rn*W,_=A-(A-W),k=W-_,A=Rn*b,F=A-(A-b),C=b-F,S=k*C-(M-_*F-k*F-_*C),B=L*x,A=Rn*L,_=A-(A-L),k=L-_,A=Rn*x,F=A-(A-x),C=x-F,z=k*C-(B-_*F-k*F-_*C),D=S-z,w=S-D,ie[0]=S-(D+w)+(w-z),E=M+D,w=E-M,$=M-(E-w)+(D-w),D=$-B,w=$-D,ie[1]=$-(D+w)+(w-B),N=E+D,w=N-E,ie[2]=E-(N-w)+(D-w),ie[3]=N;const pt=d1(mt,HD,4,ie,GD);M=y*b,A=Rn*y,_=A-(A-y),k=y-_,A=Rn*b,F=A-(A-b),C=b-F,S=k*C-(M-_*F-k*F-_*C),B=v*x,A=Rn*v,_=A-(A-v),k=v-_,A=Rn*x,F=A-(A-x),C=x-F,z=k*C-(B-_*F-k*F-_*C),D=S-z,w=S-D,ie[0]=S-(D+w)+(w-z),E=M+D,w=E-M,$=M-(E-w)+(D-w),D=$-B,w=$-D,ie[1]=$-(D+w)+(w-B),N=E+D,w=N-E,ie[2]=E-(N-w)+(D-w),ie[3]=N;const J=d1(pt,GD,4,ie,VD);return VD[J-1]}(t,n,e,r,i,a,l)}const YD=Math.pow(2,-52),Zf=new Uint32Array(512);class jh{static from(n,e=cB,r=fB){const i=n.length,a=new Float64Array(2*i);for(let o=0;o<i;o++){const s=n[o];a[2*o]=e(s),a[2*o+1]=r(s)}return new jh(a)}constructor(n){const e=n.length>>1;if(e>0&&typeof n[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=n;const r=Math.max(2*e-5,0);this._triangles=new Uint32Array(3*r),this._halfedges=new Int32Array(3*r),this._hashSize=Math.ceil(Math.sqrt(e)),this._hullPrev=new Uint32Array(e),this._hullNext=new Uint32Array(e),this._hullTri=new Uint32Array(e),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(e),this._dists=new Float64Array(e),this.update()}update(){const{coords:n,_hullPrev:e,_hullNext:r,_hullTri:i,_hullHash:a}=this,o=n.length>>1;let s=1/0,u=1/0,l=-1/0,c=-1/0;for(let C=0;C<o;C++){const D=n[2*C],E=n[2*C+1];D<s&&(s=D),E<u&&(u=E),D>l&&(l=D),E>c&&(c=E),this._ids[C]=C}const f=(s+l)/2,d=(u+c)/2;let h,p,m,g=1/0;for(let C=0;C<o;C++){const D=h1(f,d,n[2*C],n[2*C+1]);D<g&&(h=C,g=D)}const y=n[2*h],v=n[2*h+1];g=1/0;for(let C=0;C<o;C++){if(C===h)continue;const D=h1(y,v,n[2*C],n[2*C+1]);D<g&&D>0&&(p=C,g=D)}let x=n[2*p],b=n[2*p+1],w=1/0;for(let C=0;C<o;C++){if(C===h||C===p)continue;const D=lB(y,v,x,b,n[2*C],n[2*C+1]);D<w&&(m=C,w=D)}let A=n[2*m],_=n[2*m+1];if(w===1/0){for(let E=0;E<o;E++)this._dists[E]=n[2*E]-n[0]||n[2*E+1]-n[1];ns(this._ids,this._dists,0,o-1);const C=new Uint32Array(o);let D=0;for(let E=0,$=-1/0;E<o;E++){const M=this._ids[E];this._dists[M]>$&&(C[D++]=M,$=this._dists[M])}return this.hull=C.subarray(0,D),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Qf(y,v,x,b,A,_)<0){const C=p,D=x,E=b;p=m,x=A,b=_,m=C,A=D,_=E}const k=function(C,D,E,$,M,S){const B=E-C,z=$-D,N=M-C,W=S-D,X=B*B+z*z,L=N*N+W*W,et=.5/(B*W-z*N),ot=C+(W*X-z*L)*et,nt=D+(B*L-N*X)*et;return{x:ot,y:nt}}(y,v,x,b,A,_);this._cx=k.x,this._cy=k.y;for(let C=0;C<o;C++)this._dists[C]=h1(n[2*C],n[2*C+1],k.x,k.y);ns(this._ids,this._dists,0,o-1),this._hullStart=h;let F=3;r[h]=e[m]=p,r[p]=e[h]=m,r[m]=e[p]=h,i[h]=0,i[p]=1,i[m]=2,a.fill(-1),a[this._hashKey(y,v)]=h,a[this._hashKey(x,b)]=p,a[this._hashKey(A,_)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let C,D,E=0;E<this._ids.length;E++){const $=this._ids[E],M=n[2*$],S=n[2*$+1];if(E>0&&Math.abs(M-C)<=YD&&Math.abs(S-D)<=YD||(C=M,D=S,$===h||$===p||$===m))continue;let B=0;for(let L=0,et=this._hashKey(M,S);L<this._hashSize&&(B=a[(et+L)%this._hashSize],B===-1||B===r[B]);L++);B=e[B];let z,N=B;for(;z=r[N],Qf(M,S,n[2*N],n[2*N+1],n[2*z],n[2*z+1])>=0;)if(N=z,N===B){N=-1;break}if(N===-1)continue;let W=this._addTriangle(N,$,r[N],-1,-1,i[N]);i[$]=this._legalize(W+2),i[N]=W,F++;let X=r[N];for(;z=r[X],Qf(M,S,n[2*X],n[2*X+1],n[2*z],n[2*z+1])<0;)W=this._addTriangle(X,$,z,i[$],-1,i[X]),i[$]=this._legalize(W+2),r[X]=X,F--,X=z;if(N===B)for(;z=e[N],Qf(M,S,n[2*z],n[2*z+1],n[2*N],n[2*N+1])<0;)W=this._addTriangle(z,$,N,-1,i[N],i[z]),this._legalize(W+2),i[z]=W,r[N]=N,F--,N=z;this._hullStart=e[$]=N,r[N]=e[X]=$,r[$]=X,a[this._hashKey(M,S)]=$,a[this._hashKey(n[2*N],n[2*N+1])]=N}this.hull=new Uint32Array(F);for(let C=0,D=this._hullStart;C<F;C++)this.hull[C]=D,D=r[D];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(n,e){return Math.floor(function(r,i){const a=r/(Math.abs(r)+Math.abs(i));return(i>0?3-a:1+a)/4}(n-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(n){const{_triangles:e,_halfedges:r,coords:i}=this;let a=0,o=0;for(;;){const s=r[n],u=n-n%3;if(o=u+(n+2)%3,s===-1){if(a===0)break;n=Zf[--a];continue}const l=s-s%3,c=u+(n+1)%3,f=l+(s+2)%3,d=e[o],h=e[n],p=e[c],m=e[f];if(uB(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])){e[n]=m,e[s]=d;const g=r[f];if(g===-1){let v=this._hullStart;do{if(this._hullTri[v]===f){this._hullTri[v]=n;break}v=this._hullPrev[v]}while(v!==this._hullStart)}this._link(n,g),this._link(s,r[o]),this._link(o,f);const y=l+(s+1)%3;a<Zf.length&&(Zf[a++]=y)}else{if(a===0)break;n=Zf[--a]}}return o}_link(n,e){this._halfedges[n]=e,e!==-1&&(this._halfedges[e]=n)}_addTriangle(n,e,r,i,a,o){const s=this.trianglesLen;return this._triangles[s]=n,this._triangles[s+1]=e,this._triangles[s+2]=r,this._link(s,i),this._link(s+1,a),this._link(s+2,o),this.trianglesLen+=3,s}}function h1(t,n,e,r){const i=t-e,a=n-r;return i*i+a*a}function uB(t,n,e,r,i,a,o,s){const u=t-o,l=n-s,c=e-o,f=r-s,d=i-o,h=a-s,p=c*c+f*f,m=d*d+h*h;return u*(f*m-p*h)-l*(c*m-p*d)+(u*u+l*l)*(c*h-f*d)<0}function lB(t,n,e,r,i,a){const o=e-t,s=r-n,u=i-t,l=a-n,c=o*o+s*s,f=u*u+l*l,d=.5/(o*l-s*u),h=(l*c-s*f)*d,p=(o*f-u*c)*d;return h*h+p*p}function ns(t,n,e,r){if(r-e<=20)for(let i=e+1;i<=r;i++){const a=t[i],o=n[a];let s=i-1;for(;s>=e&&n[t[s]]>o;)t[s+1]=t[s--];t[s+1]=a}else{let i=e+1,a=r;Iu(t,e+r>>1,i),n[t[e]]>n[t[r]]&&Iu(t,e,r),n[t[i]]>n[t[r]]&&Iu(t,i,r),n[t[e]]>n[t[i]]&&Iu(t,e,i);const o=t[i],s=n[o];for(;;){do i++;while(n[t[i]]<s);do a--;while(n[t[a]]>s);if(a<i)break;Iu(t,i,a)}t[e+1]=t[a],t[a]=o,r-i+1>=a-e?(ns(t,n,i,r),ns(t,n,e,a-1)):(ns(t,n,e,a-1),ns(t,n,i,r))}}function Iu(t,n,e){const r=t[n];t[n]=t[e],t[e]=r}function cB(t){return t[0]}function fB(t){return t[1]}const XD=1e-6;class Ga{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(n,e){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(n,e){this._+=`L${this._x1=+n},${this._y1=+e}`}arc(n,e,r){const i=(n=+n)+(r=+r),a=e=+e;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${a}`:(Math.abs(this._x1-i)>XD||Math.abs(this._y1-a)>XD)&&(this._+="L"+i+","+a),r&&(this._+=`A${r},${r},0,1,1,${n-r},${e}A${r},${r},0,1,1,${this._x1=i},${this._y1=a}`)}rect(n,e,r,i){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class p1{constructor(){this._=[]}moveTo(n,e){this._.push([n,e])}closePath(){this._.push(this._[0].slice())}lineTo(n,e){this._.push([n,e])}value(){return this._.length?this._:null}}let dB=class{constructor(t,[n,e,r,i]=[0,0,960,500]){if(!((r=+r)>=(n=+n)&&(i=+i)>=(e=+e)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(2*t.points.length),this.vectors=new Float64Array(2*t.points.length),this.xmax=r,this.xmin=n,this.ymax=i,this.ymin=e,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:e},vectors:r}=this;let i,a;const o=this.circumcenters=this._circumcenters.subarray(0,e.length/3*2);for(let p,m,g=0,y=0,v=e.length;g<v;g+=3,y+=2){const x=2*e[g],b=2*e[g+1],w=2*e[g+2],A=t[x],_=t[x+1],k=t[b],F=t[b+1],C=t[w],D=t[w+1],E=k-A,$=F-_,M=C-A,S=D-_,B=2*(E*S-$*M);if(Math.abs(B)<1e-9){if(i===void 0){i=a=0;for(const N of n)i+=t[2*N],a+=t[2*N+1];i/=n.length,a/=n.length}const z=1e9*Math.sign((i-A)*S-(a-_)*M);p=(A+C)/2-z*S,m=(_+D)/2+z*M}else{const z=1/B,N=E*E+$*$,W=M*M+S*S;p=A+(S*N-$*W)*z,m=_+(E*W-M*N)*z}o[y]=p,o[y+1]=m}let s,u,l,c=n[n.length-1],f=4*c,d=t[2*c],h=t[2*c+1];r.fill(0);for(let p=0;p<n.length;++p)c=n[p],s=f,u=d,l=h,f=4*c,d=t[2*c],h=t[2*c+1],r[s+2]=r[f]=l-h,r[s+3]=r[f+1]=d-u}render(t){const n=t==null?t=new Ga:void 0,{delaunay:{halfedges:e,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let l=0,c=e.length;l<c;++l){const f=e[l];if(f<l)continue;const d=2*Math.floor(l/3),h=2*Math.floor(f/3),p=a[d],m=a[d+1],g=a[h],y=a[h+1];this._renderSegment(p,m,g,y,t)}let s,u=i[i.length-1];for(let l=0;l<i.length;++l){s=u,u=i[l];const c=2*Math.floor(r[u]/3),f=a[c],d=a[c+1],h=4*s,p=this._project(f,d,o[h+2],o[h+3]);p&&this._renderSegment(f,d,p[0],p[1],t)}return n&&n.value()}renderBounds(t){const n=t==null?t=new Ga:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){const e=n==null?n=new Ga:void 0,r=this._clip(t);if(r===null||!r.length)return;n.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]||n.lineTo(r[a],r[a+1]);return n.closePath(),e&&e.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let n=0,e=t.length/2;n<e;++n){const r=this.cellPolygon(n);r&&(r.index=n,yield r)}}cellPolygon(t){const n=new p1;return this.renderCell(t,n),n.value()}_renderSegment(t,n,e,r,i){let a;const o=this._regioncode(t,n),s=this._regioncode(e,r);o===0&&s===0?(i.moveTo(t,n),i.lineTo(e,r)):(a=this._clipSegment(t,n,e,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(t,n,e){return(n=+n)==n&&(e=+e)==e&&this.delaunay._step(t,n,e)===t}*neighbors(t){const n=this._clip(t);if(n)for(const e of this.delaunay.neighbors(t)){const r=this._clip(e);if(r){t:for(let i=0,a=n.length;i<a;i+=2)for(let o=0,s=r.length;o<s;o+=2)if(n[i]===r[o]&&n[i+1]===r[o+1]&&n[(i+2)%a]===r[(o+s-2)%s]&&n[(i+3)%a]===r[(o+s-1)%s]){yield e;break t}}}}_cell(t){const{circumcenters:n,delaunay:{inedges:e,halfedges:r,triangles:i}}=this,a=e[t];if(a===-1)return null;const o=[];let s=a;do{const u=Math.floor(s/3);if(o.push(n[2*u],n[2*u+1]),s=s%3==2?s-2:s+1,i[s]!==t)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(t){if(t===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(t);if(n===null)return null;const{vectors:e}=this,r=4*t;return this._simplify(e[r]||e[r+1]?this._clipInfinite(t,n,e[r],e[r+1],e[r+2],e[r+3]):this._clipFinite(t,n))}_clipFinite(t,n){const e=n.length;let r,i,a,o,s=null,u=n[e-2],l=n[e-1],c=this._regioncode(u,l),f=0;for(let d=0;d<e;d+=2)if(r=u,i=l,u=n[d],l=n[d+1],a=c,c=this._regioncode(u,l),a===0&&c===0)o=f,f=0,s?s.push(u,l):s=[u,l];else{let h,p,m,g,y;if(a===0){if((h=this._clipSegment(r,i,u,l,a,c))===null)continue;[p,m,g,y]=h}else{if((h=this._clipSegment(u,l,r,i,c,a))===null)continue;[g,y,p,m]=h,o=f,f=this._edgecode(p,m),o&&f&&this._edge(t,o,f,s,s.length),s?s.push(p,m):s=[p,m]}o=f,f=this._edgecode(g,y),o&&f&&this._edge(t,o,f,s,s.length),s?s.push(g,y):s=[g,y]}if(s)o=f,f=this._edgecode(s[0],s[1]),o&&f&&this._edge(t,o,f,s,s.length);else if(this.contains(t,(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 s}_clipSegment(t,n,e,r,i,a){const o=i<a;for(o&&([t,n,e,r,i,a]=[e,r,t,n,a,i]);;){if(i===0&&a===0)return o?[e,r,t,n]:[t,n,e,r];if(i&a)return null;let s,u,l=i||a;8&l?(s=t+(e-t)*(this.ymax-n)/(r-n),u=this.ymax):4&l?(s=t+(e-t)*(this.ymin-n)/(r-n),u=this.ymin):2&l?(u=n+(r-n)*(this.xmax-t)/(e-t),s=this.xmax):(u=n+(r-n)*(this.xmin-t)/(e-t),s=this.xmin),i?(t=s,n=u,i=this._regioncode(t,n)):(e=s,r=u,a=this._regioncode(e,r))}}_clipInfinite(t,n,e,r,i,a){let o,s=Array.from(n);if((o=this._project(s[0],s[1],e,r))&&s.unshift(o[0],o[1]),(o=this._project(s[s.length-2],s[s.length-1],i,a))&&s.push(o[0],o[1]),s=this._clipFinite(t,s))for(let u,l=0,c=s.length,f=this._edgecode(s[c-2],s[c-1]);l<c;l+=2)u=f,f=this._edgecode(s[l],s[l+1]),u&&f&&(l=this._edge(t,u,f,s,l),c=s.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(t,n,e,r,i){for(;n!==e;){let a,o;switch(n){case 5:n=4;continue;case 4:n=6,a=this.xmax,o=this.ymin;break;case 6:n=2;continue;case 2:n=10,a=this.xmax,o=this.ymax;break;case 10:n=8;continue;case 8:n=9,a=this.xmin,o=this.ymax;break;case 9:n=1;continue;case 1:n=5,a=this.xmin,o=this.ymin}r[i]===a&&r[i+1]===o||!this.contains(t,a,o)||(r.splice(i,0,a,o),i+=2)}return i}_project(t,n,e,r){let i,a,o,s=1/0;if(r<0){if(n<=this.ymin)return null;(i=(this.ymin-n)/r)<s&&(o=this.ymin,a=t+(s=i)*e)}else if(r>0){if(n>=this.ymax)return null;(i=(this.ymax-n)/r)<s&&(o=this.ymax,a=t+(s=i)*e)}if(e>0){if(t>=this.xmax)return null;(i=(this.xmax-t)/e)<s&&(a=this.xmax,o=n+(s=i)*r)}else if(e<0){if(t<=this.xmin)return null;(i=(this.xmin-t)/e)<s&&(a=this.xmin,o=n+(s=i)*r)}return[a,o]}_edgecode(t,n){return(t===this.xmin?1:t===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(t,n){return(t<this.xmin?1:t>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n<t.length;n+=2){const e=(n+2)%t.length,r=(n+4)%t.length;(t[n]===t[e]&&t[e]===t[r]||t[n+1]===t[e+1]&&t[e+1]===t[r+1])&&(t.splice(e,2),n-=2)}t.length||(t=null)}return t}};const hB=2*Math.PI,es=Math.pow;function pB(t){return t[0]}function mB(t){return t[1]}function gB(t,n,e){return[t+Math.sin(t+n)*e,n+Math.cos(t-n)*e]}class Ub{static from(n,e=pB,r=mB,i){return new Ub("length"in n?function(a,o,s,u){const l=a.length,c=new Float64Array(2*l);for(let f=0;f<l;++f){const d=a[f];c[2*f]=o.call(u,d,f,a),c[2*f+1]=s.call(u,d,f,a)}return c}(n,e,r,i):Float64Array.from(function*(a,o,s,u){let l=0;for(const c of a)yield o.call(u,c,l,a),yield s.call(u,c,l,a),++l}(n,e,r,i)))}constructor(n){this._delaunator=new jh(n),this.inedges=new Int32Array(n.length/2),this._hullIndex=new Int32Array(n.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const n=this._delaunator,e=this.points;if(n.hull&&n.hull.length>2&&function(u){const{triangles:l,coords:c}=u;for(let f=0;f<l.length;f+=3){const d=2*l[f],h=2*l[f+1],p=2*l[f+2];if((c[p]-c[d])*(c[h+1]-c[d+1])-(c[h]-c[d])*(c[p+1]-c[d+1])>1e-10)return!1}return!0}(n)){this.collinear=Int32Array.from({length:e.length/2},(d,h)=>h).sort((d,h)=>e[2*d]-e[2*h]||e[2*d+1]-e[2*h+1]);const u=this.collinear[0],l=this.collinear[this.collinear.length-1],c=[e[2*u],e[2*u+1],e[2*l],e[2*l+1]],f=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let d=0,h=e.length/2;d<h;++d){const p=gB(e[2*d],e[2*d+1],f);e[2*d]=p[0],e[2*d+1]=p[1]}this._delaunator=new jh(e)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,a=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let u=0,l=r.length;u<l;++u){const c=a[u%3==2?u-2:u+1];r[u]!==-1&&o[c]!==-1||(o[c]=u)}for(let u=0,l=i.length;u<l;++u)s[i[u]]=u;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(n){return new dB(this,n)}*neighbors(n){const{inedges:e,hull:r,_hullIndex:i,halfedges:a,triangles:o,collinear:s}=this;if(s){const f=s.indexOf(n);return f>0&&(yield s[f-1]),void(f<s.length-1&&(yield s[f+1]))}const u=e[n];if(u===-1)return;let l=u,c=-1;do{if(yield c=o[l],l=l%3==2?l-2:l+1,o[l]!==n)return;if(l=a[l],l===-1){const f=r[(i[n]+1)%r.length];return void(f!==c&&(yield f))}}while(l!==u)}find(n,e,r=0){if((n=+n)!=n||(e=+e)!=e)return-1;const i=r;let a;for(;(a=this._step(r,n,e))>=0&&a!==r&&a!==i;)r=a;return a}_step(n,e,r){const{inedges:i,hull:a,_hullIndex:o,halfedges:s,triangles:u,points:l}=this;if(i[n]===-1||!l.length)return(n+1)%(l.length>>1);let c=n,f=es(e-l[2*n],2)+es(r-l[2*n+1],2);const d=i[n];let h=d;do{let p=u[h];const m=es(e-l[2*p],2)+es(r-l[2*p+1],2);if(m<f&&(f=m,c=p),h=h%3==2?h-2:h+1,u[h]!==n)break;if(h=s[h],h===-1){if(h=a[(o[n]+1)%a.length],h!==p&&es(e-l[2*h],2)+es(r-l[2*h+1],2)<f)return h;break}}while(h!==d);return c}render(n){const e=n==null?n=new Ga:void 0,{points:r,halfedges:i,triangles:a}=this;for(let o=0,s=i.length;o<s;++o){const u=i[o];if(u<o)continue;const l=2*a[o],c=2*a[u];n.moveTo(r[l],r[l+1]),n.lineTo(r[c],r[c+1])}return this.renderHull(n),e&&e.value()}renderPoints(n,e){e!==void 0||n&&typeof n.moveTo=="function"||(e=n,n=null),e=e==null?2:+e;const r=n==null?n=new Ga:void 0,{points:i}=this;for(let a=0,o=i.length;a<o;a+=2){const s=i[a],u=i[a+1];n.moveTo(s+e,u),n.arc(s,u,e,0,hB)}return r&&r.value()}renderHull(n){const e=n==null?n=new Ga:void 0,{hull:r,points:i}=this,a=2*r[0],o=r.length;n.moveTo(i[a],i[a+1]);for(let s=1;s<o;++s){const u=2*r[s];n.lineTo(i[u],i[u+1])}return n.closePath(),e&&e.value()}hullPolygon(){const n=new p1;return this.renderHull(n),n.value()}renderTriangle(n,e){const r=e==null?e=new Ga:void 0,{points:i,triangles:a}=this,o=2*a[n*=3],s=2*a[n+1],u=2*a[n+2];return e.moveTo(i[o],i[o+1]),e.lineTo(i[s],i[s+1]),e.lineTo(i[u],i[u+1]),e.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:n}=this;for(let e=0,r=n.length/3;e<r;++e)yield this.trianglePolygon(e)}trianglePolygon(n){const e=new p1;return this.renderTriangle(n,e),e.value()}}function m1(t){O.call(this,null,t)}m1.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"}]};const yB=[-1e5,-1e5,1e5,1e5];function vB(t){const n=t[0][0],e=t[0][1];let r=t.length-1;for(;t[r][0]===n&&t[r][1]===e;--r);return"M"+t.slice(0,r+1).join("L")+"Z"}function bB(t){return t.length===2&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]}V(m1,O,{transform(t,n){const e=t.as||"path",r=n.source;if(!r||!r.length)return n;let i=t.size;i=i?[0,0,i[0],i[1]]:(i=t.extent)?[i[0][0],i[0][1],i[1][0],i[1][1]]:yB;const a=this.value=Ub.from(r,t.x,t.y).voronoi(i);for(let o=0,s=r.length;o<s;++o){const u=a.cellPolygon(o);r[o][e]=u&&!bB(u)?vB(u):null}return n.reflow(t.modified()).modifies(e)}});const xB=Object.freeze(Object.defineProperty({__proto__:null,voronoi:m1},Symbol.toStringTag,{value:"Module"}));var g1=Math.PI/180,td=2048;function wB(){var t,n,e,r,i,a,o,s=[256,256],u=JD,l=[],c=Math.random,f={};function d(h,p,m){for(var g,y,v,x=p.x,b=p.y,w=Math.hypot(s[0],s[1]),A=u(s),_=c()<.5?1:-1,k=-_;(g=A(k+=_))&&(y=~~g[0],v=~~g[1],!(Math.min(Math.abs(y),Math.abs(v))>=w));)if(p.x=x+y,p.y=b+v,!(p.x+p.x0<0||p.y+p.y0<0||p.x+p.x1>s[0]||p.y+p.y1>s[1])&&(!m||!_B(p,h,s[0]))&&(!m||DB(p,m))){for(var F,C=p.sprite,D=p.width>>5,E=s[0]>>5,$=p.x-(D<<4),M=127&$,S=32-M,B=p.y1-p.y0,z=(p.y+p.y0)*E+($>>5),N=0;N<B;N++){F=0;for(var W=0;W<=D;W++)h[z+W]|=F<<S|(W<D?(F=C[N*D+W])>>>M:0);z+=E}return p.sprite=null,!0}return!1}return f.layout=function(){for(var h=function(w){w.width=w.height=1;var A=Math.sqrt(w.getContext("2d").getImageData(0,0,1,1).data.length>>2);w.width=2048/A,w.height=td/A;var _=w.getContext("2d");return _.fillStyle=_.strokeStyle="red",_.textAlign="center",{context:_,ratio:A}}(qi()),p=function(w){for(var A=[],_=-1;++_<w;)A[_]=0;return A}((s[0]>>5)*s[1]),m=null,g=l.length,y=-1,v=[],x=l.map(w=>({text:t(w),font:n(w),style:r(w),weight:i(w),rotate:a(w),size:~~(e(w)+1e-14),padding:o(w),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:w})).sort((w,A)=>A.size-w.size);++y<g;){var b=x[y];b.x=s[0]*(c()+.5)>>1,b.y=s[1]*(c()+.5)>>1,AB(h,b,x,y),b.hasText&&d(p,b,m)&&(v.push(b),m?kB(m,b):m=[{x:b.x+b.x0,y:b.y+b.y0},{x:b.x+b.x1,y:b.y+b.y1}],b.x-=s[0]>>1,b.y-=s[1]>>1)}return v},f.words=function(h){return arguments.length?(l=h,f):l},f.size=function(h){return arguments.length?(s=[+h[0],+h[1]],f):s},f.font=function(h){return arguments.length?(n=Va(h),f):n},f.fontStyle=function(h){return arguments.length?(r=Va(h),f):r},f.fontWeight=function(h){return arguments.length?(i=Va(h),f):i},f.rotate=function(h){return arguments.length?(a=Va(h),f):a},f.text=function(h){return arguments.length?(t=Va(h),f):t},f.spiral=function(h){return arguments.length?(u=FB[h]||h,f):u},f.fontSize=function(h){return arguments.length?(e=Va(h),f):e},f.padding=function(h){return arguments.length?(o=Va(h),f):o},f.random=function(h){return arguments.length?(c=h,f):c},f}function AB(t,n,e,r){if(!n.sprite){var i=t.context,a=t.ratio;i.clearRect(0,0,2048/a,td/a);var o,s,u,l,c,f=0,d=0,h=0,p=e.length;for(--r;++r<p;){if(n=e[r],i.save(),i.font=n.style+" "+n.weight+" "+~~((n.size+1)/a)+"px "+n.font,o=i.measureText(n.text+"m").width*a,u=n.size<<1,n.rotate){var m=Math.sin(n.rotate*g1),g=Math.cos(n.rotate*g1),y=o*g,v=o*m,x=u*g,b=u*m;o=Math.max(Math.abs(y+b),Math.abs(y-b))+31>>5<<5,u=~~Math.max(Math.abs(v+x),Math.abs(v-x))}else o=o+31>>5<<5;if(u>h&&(h=u),f+o>=2048&&(f=0,d+=h,h=0),d+u>=td)break;i.translate((f+(o>>1))/a,(d+(u>>1))/a),n.rotate&&i.rotate(n.rotate*g1),i.fillText(n.text,0,0),n.padding&&(i.lineWidth=2*n.padding,i.strokeText(n.text,0,0)),i.restore(),n.width=o,n.height=u,n.xoff=f,n.yoff=d,n.x1=o>>1,n.y1=u>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,f+=o}for(var w=i.getImageData(0,0,2048/a,td/a).data,A=[];--r>=0;)if((n=e[r]).hasText){for(s=(o=n.width)>>5,u=n.y1-n.y0,l=0;l<u*s;l++)A[l]=0;if((f=n.xoff)==null)return;d=n.yoff;var _=0,k=-1;for(c=0;c<u;c++){for(l=0;l<o;l++){var F=s*c+(l>>5),C=w[2048*(d+c)+(f+l)<<2]?1<<31-l%32:0;A[F]|=C,_|=C}_?k=c:(n.y0++,u--,c--,d++)}n.y1=n.y0+k,n.sprite=A.slice(0,(n.y1-n.y0)*s)}}}function _B(t,n,e){e>>=5;for(var r,i=t.sprite,a=t.width>>5,o=t.x-(a<<4),s=127&o,u=32-s,l=t.y1-t.y0,c=(t.y+t.y0)*e+(o>>5),f=0;f<l;f++){r=0;for(var d=0;d<=a;d++)if((r<<u|(d<a?(r=i[f*a+d])>>>s:0))&n[c+d])return!0;c+=e}return!1}function kB(t,n){var e=t[0],r=t[1];n.x+n.x0<e.x&&(e.x=n.x+n.x0),n.y+n.y0<e.y&&(e.y=n.y+n.y0),n.x+n.x1>r.x&&(r.x=n.x+n.x1),n.y+n.y1>r.y&&(r.y=n.y+n.y1)}function DB(t,n){return t.x+t.x1>n[0].x&&t.x+t.x0<n[1].x&&t.y+t.y1>n[0].y&&t.y+t.y0<n[1].y}function JD(t){var n=t[0]/t[1];return function(e){return[n*(e*=.1)*Math.cos(e),e*Math.sin(e)]}}function Va(t){return typeof t=="function"?t:function(){return t}}var FB={archimedean:JD,rectangular:function(t){var n=4*t[0]/t[1],e=0,r=0;return function(i){var a=i<0?-1:1;switch(Math.sqrt(1+4*a*i)-a&3){case 0:e+=n;break;case 1:r+=4;break;case 2:e-=n;break;default:r-=4}return[e,r]}}};const KD=["x","y","font","fontSize","fontStyle","fontWeight","angle"],CB=["text","font","rotate","fontSize","fontStyle","fontWeight"];function y1(t){O.call(this,wB(),t)}y1.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:KD}]},V(y1,O,{transform(t,n){!t.size||t.size[0]&&t.size[1]||j("Wordcloud size dimensions must be non-zero.");const e=t.modified();if(!(e||n.changed(n.ADD_REM)||CB.some(function(h){const p=t[h];return bt(p)&&n.modified(p.fields)})))return;const r=n.materialize(n.SOURCE).source,i=this.value,a=t.as||KD;let o,s=t.fontSize||14;if(bt(s)?o=t.fontSizeRange:s=In(s),o){const h=s,p=Dt("sqrt")().domain(kr(r,h)).range(o);s=m=>p(h(m))}r.forEach(h=>{h[a[0]]=NaN,h[a[1]]=NaN,h[a[3]]=0});const u=i.words(r).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(s).random(Ne).layout(),l=i.size(),c=l[0]>>1,f=l[1]>>1,d=u.length;for(let h,p,m=0;m<d;++m)h=u[m],p=h.datum,p[a[0]]=h.x+c,p[a[1]]=h.y+f,p[a[2]]=h.font,p[a[3]]=h.size,p[a[4]]=h.style,p[a[5]]=h.weight,p[a[6]]=h.rotate;return n.reflow(e).modifies(a)}});const EB=Object.freeze(Object.defineProperty({__proto__:null,wordcloud:y1},Symbol.toStringTag,{value:"Module"})),$B=t=>new Uint8Array(t),SB=t=>new Uint16Array(t),Wu=t=>new Uint32Array(t);function nd(t,n,e){const r=(n<257?$B:n<65537?SB:Wu)(t);return e&&r.set(e),r}function QD(t,n,e){const r=1<<n;return{one:r,zero:~r,range:e.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd(i,a){const o=this,s=o.bisect(o.range,i.value),u=i.index,l=s[0],c=s[1],f=u.length;let d;for(d=0;d<l;++d)a[u[d]]|=r;for(d=c;d<f;++d)a[u[d]]|=r;return o}}}function ZD(){let t=Wu(0),n=[],e=0;return{insert:function(r,i,a){if(!i.length)return[];const o=e,s=i.length,u=Wu(s);let l,c,f,d=Array(s);for(f=0;f<s;++f)d[f]=r(i[f]),u[f]=f;if(d=function(h,p){return h.sort.call(p,(m,g)=>{const y=h[m],v=h[g];return y<v?-1:y>v?1:0}),function(m,g){return Array.from(g,y=>m[y])}(h,p)}(d,u),o)l=n,c=t,n=Array(o+s),t=Wu(o+s),function(h,p,m,g,y,v,x,b,w){let A,_=0,k=0;for(A=0;_<g&&k<x;++A)p[_]<y[k]?(b[A]=p[_],w[A]=m[_++]):(b[A]=y[k],w[A]=v[k++]+h);for(;_<g;++_,++A)b[A]=p[_],w[A]=m[_];for(;k<x;++k,++A)b[A]=y[k],w[A]=v[k]+h}(a,l,c,o,d,u,s,n,t);else{if(a>0)for(f=0;f<s;++f)u[f]+=a;n=d,t=u}return e=o+s,{index:u,value:d}},remove:function(r,i){const a=e;let o,s,u;for(s=0;!i[t[s]]&&s<a;++s);for(u=s;s<a;++s)i[o=t[s]]||(t[u]=o,n[u]=n[s],++u);e=a-r},bisect:function(r,i){let a;return i?a=i.length:(i=n,a=e),[f8(i,r[0],0,a),Ea(i,r[1],0,a)]},reindex:function(r){for(let i=0,a=e;i<a;++i)t[i]=r[t[i]]},index:()=>t,size:()=>e}}function v1(t){O.call(this,function(){let n=8,e=[],r=Wu(0),i=nd(0,n),a=nd(0,n);return{data:()=>e,seen:()=>r=function(o,s,u){return o.length>=s?o:((u=u||new o.constructor(s)).set(o),u)}(r,e.length),add(o){for(let s,u=0,l=e.length,c=o.length;u<c;++u)s=o[u],s._index=l++,e.push(s)},remove(o,s){const u=e.length,l=Array(u-o),c=e;let f,d,h;for(d=0;!s[d]&&d<u;++d)l[d]=e[d],c[d]=d;for(h=d;d<u;++d)f=e[d],s[d]?c[d]=-1:(c[d]=h,i[h]=i[d],a[h]=a[d],l[h]=f,f._index=h++),i[d]=0;return e=l,c},size:()=>e.length,curr:()=>i,prev:()=>a,reset:o=>a[o]=i[o],all:()=>n<257?255:n<65537?65535:4294967295,set(o,s){i[o]|=s},clear(o,s){i[o]&=~s},resize(o,s){(o>i.length||s>n)&&(n=Math.max(s,n),i=nd(o,n,i),a=nd(o,n))}}}(),t),this._indices=null,this._dims=null}function b1(t){O.call(this,null,t)}v1.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}}]},V(v1,O,{transform(t,n){return this._dims?t.modified("fields")||t.fields.some(e=>n.modified(e.fields))?this.reinit(t,n):this.eval(t,n):this.init(t,n)},init(t,n){const e=t.fields,r=t.query,i=this._indices={},a=this._dims=[],o=r.length;let s,u,l=0;for(;l<o;++l)s=e[l].fname,u=i[s]||(i[s]=ZD()),a.push(QD(u,l,r[l]));return this.eval(t,n)},reinit(t,n){const e=n.materialize().fork(),r=t.fields,i=t.query,a=this._indices,o=this._dims,s=this.value,u=s.curr(),l=s.prev(),c=s.all(),f=e.rem=e.add,d=e.mod,h=i.length,p={};let m,g,y,v,x,b,w,A,_;if(l.set(u),n.rem.length&&(x=this.remove(t,n,e)),n.add.length&&s.add(n.add),n.mod.length)for(b={},v=n.mod,w=0,A=v.length;w<A;++w)b[v[w]._index]=1;for(w=0;w<h;++w)_=r[w],(!o[w]||t.modified("fields",w)||n.modified(_.fields))&&(y=_.fname,(m=p[y])||(a[y]=g=ZD(),p[y]=m=g.insert(_,n.source,0)),o[w]=QD(g,w,i[w]).onAdd(m,u));for(w=0,A=s.data().length;w<A;++w)x[w]||(l[w]!==u[w]?f.push(w):b[w]&&u[w]!==c&&d.push(w));return s.mask=(1<<h)-1,e},eval(t,n){const e=n.materialize().fork(),r=this._dims.length;let i=0;return n.rem.length&&(this.remove(t,n,e),i|=(1<<r)-1),t.modified("query")&&!t.modified("fields")&&(i|=this.update(t,n,e)),n.add.length&&(this.insert(t,n,e),i|=(1<<r)-1),n.mod.length&&(this.modify(n,e),i|=(1<<r)-1),this.value.mask=i,e},insert(t,n,e){const r=n.add,i=this.value,a=this._dims,o=this._indices,s=t.fields,u={},l=e.add,c=i.size()+r.length,f=a.length;let d,h,p,m=i.size();i.resize(c,f),i.add(r);const g=i.curr(),y=i.prev(),v=i.all();for(d=0;d<f;++d)h=s[d].fname,p=u[h]||(u[h]=o[h].insert(s[d],r,m)),a[d].onAdd(p,g);for(;m<c;++m)y[m]=v,g[m]!==v&&l.push(m)},modify(t,n){const e=n.mod,r=this.value,i=r.curr(),a=r.all(),o=t.mod;let s,u,l;for(s=0,u=o.length;s<u;++s)l=o[s]._index,i[l]!==a&&e.push(l)},remove(t,n,e){const r=this._indices,i=this.value,a=i.curr(),o=i.prev(),s=i.all(),u={},l=e.rem,c=n.rem;let f,d,h,p;for(f=0,d=c.length;f<d;++f)h=c[f]._index,u[h]=1,o[h]=p=a[h],a[h]=s,p!==s&&l.push(h);for(h in r)r[h].remove(d,u);return this.reindex(n,d,u),u},reindex(t,n,e){const r=this._indices,i=this.value;t.runAfter(()=>{const a=i.remove(n,e);for(const o in r)r[o].reindex(a)})},update(t,n,e){const r=this._dims,i=t.query,a=n.stamp,o=r.length;let s,u,l=0;for(e.filters=0,u=0;u<o;++u)t.modified("query",u)&&(s=u,++l);if(l===1)l=r[s].one,this.incrementOne(r[s],i[s],e.add,e.rem);else for(u=0,l=0;u<o;++u)t.modified("query",u)&&(l|=r[u].one,this.incrementAll(r[u],i[u],a,e.add),e.rem=e.add);return l},incrementAll(t,n,e,r){const i=this.value,a=i.seen(),o=i.curr(),s=i.prev(),u=t.index(),l=t.bisect(t.range),c=t.bisect(n),f=c[0],d=c[1],h=l[0],p=l[1],m=t.one;let g,y,v;if(f<h)for(g=f,y=Math.min(h,d);g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;else if(f>h)for(g=h,y=Math.min(f,p);g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;if(d>p)for(g=Math.max(f,p),y=d;g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;else if(d<p)for(g=Math.max(h,d),y=p;g<y;++g)v=u[g],a[v]!==e&&(s[v]=o[v],a[v]=e,r.push(v)),o[v]^=m;t.range=n.slice()},incrementOne(t,n,e,r){const i=this.value.curr(),a=t.index(),o=t.bisect(t.range),s=t.bisect(n),u=s[0],l=s[1],c=o[0],f=o[1],d=t.one;let h,p,m;if(u<c)for(h=u,p=Math.min(c,l);h<p;++h)m=a[h],i[m]^=d,e.push(m);else if(u>c)for(h=c,p=Math.min(u,f);h<p;++h)m=a[h],i[m]^=d,r.push(m);if(l>f)for(h=Math.max(u,f),p=l;h<p;++h)m=a[h],i[m]^=d,e.push(m);else if(l<f)for(h=Math.max(c,l),p=f;h<p;++h)m=a[h],i[m]^=d,r.push(m);t.range=n.slice()}}),b1.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."}]},V(b1,O,{transform(t,n){const e=~(t.ignore||0),r=t.filter,i=r.mask;if((i&e)===0)return n.StopPropagation;const a=n.fork(n.ALL),o=r.data(),s=r.curr(),u=r.prev(),l=c=>s[c]&e?null:o[c];return a.filter(a.MOD,l),i&i-1?(a.filter(a.ADD,c=>{const f=s[c]&e;return!f&&f^u[c]&e?o[c]:null}),a.filter(a.REM,c=>{const f=s[c]&e;return f&&!(f^f^u[c]&e)?o[c]:null})):(a.filter(a.ADD,l),a.filter(a.REM,c=>(s[c]&e)===i?o[c]:null)),a.filter(a.SOURCE,c=>l(c._index))}});const MB=Object.freeze(Object.defineProperty({__proto__:null,crossfilter:v1,resolvefilter:b1},Symbol.toStringTag,{value:"Module"})),rs="Literal",BB="Property",zB="ArrayExpression",OB="BinaryExpression",tF="CallExpression",NB="ConditionalExpression",RB="LogicalExpression",TB="MemberExpression",PB="ObjectExpression",jB="UnaryExpression";function ir(t){this.type=t}var hi,rt,R,Tn,zt;ir.prototype.visit=function(t){let n,e,r;if(t(this))return 1;for(n=function(i){switch(i.type){case zB:return i.elements;case OB:case RB:return[i.left,i.right];case tF:return[i.callee].concat(i.arguments);case NB:return[i.test,i.consequent,i.alternate];case TB:return[i.object,i.property];case PB:return i.properties;case BB:return[i.key,i.value];case jB:return[i.argument];default:return[]}}(this),e=0,r=n.length;e<r;++e)if(n[e].visit(t))return 1},(hi={})[1]="Boolean",hi[2]="<end>",hi[3]="Identifier",hi[4]="Keyword",hi[5]="Null",hi[6]="Numeric",hi[7]="Punctuator",hi[8]="String",hi[9]="RegularExpression";var nF="Identifier",gn="Unexpected token %0",x1="Invalid regular expression",w1="Invalid regular expression: missing /",eF="Octal literals are not allowed in strict mode.",Fn="ILLEGAL",Hu="Disabled.",LB=new 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]"),qB=new 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 ed(t,n){if(!t)throw new Error("ASSERT: "+n)}function pi(t){return t>=48&&t<=57}function A1(t){return"0123456789abcdefABCDEF".includes(t)}function Gu(t){return"01234567".includes(t)}function UB(t){return t===32||t===9||t===11||t===12||t===160||t>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(t)}function Vu(t){return t===10||t===13||t===8232||t===8233}function Yu(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t===92||t>=128&&LB.test(String.fromCharCode(t))}function rd(t){return t===36||t===95||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||t===92||t>=128&&qB.test(String.fromCharCode(t))}const IB={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 rF(){for(;R<Tn;){const t=rt.charCodeAt(R);if(!UB(t)&&!Vu(t))break;++R}}function _1(t){var n,e,r,i=0;for(e=t==="u"?4:2,n=0;n<e;++n)R<Tn&&A1(rt[R])?(r=rt[R++],i=16*i+"0123456789abcdef".indexOf(r.toLowerCase())):Ft({},gn,Fn);return String.fromCharCode(i)}function WB(){var t,n,e,r;for(n=0,(t=rt[R])==="}"&&Ft({},gn,Fn);R<Tn&&A1(t=rt[R++]);)n=16*n+"0123456789abcdef".indexOf(t.toLowerCase());return(n>1114111||t!=="}")&&Ft({},gn,Fn),n<=65535?String.fromCharCode(n):(e=55296+(n-65536>>10),r=56320+(n-65536&1023),String.fromCharCode(e,r))}function iF(){var t,n;for(t=rt.charCodeAt(R++),n=String.fromCharCode(t),t===92&&(rt.charCodeAt(R)!==117&&Ft({},gn,Fn),++R,(t=_1("u"))&&t!=="\\"&&Yu(t.charCodeAt(0))||Ft({},gn,Fn),n=t);R<Tn&&rd(t=rt.charCodeAt(R));)++R,n+=String.fromCharCode(t),t===92&&(n=n.substr(0,n.length-1),rt.charCodeAt(R)!==117&&Ft({},gn,Fn),++R,(t=_1("u"))&&t!=="\\"&&rd(t.charCodeAt(0))||Ft({},gn,Fn),n+=t);return n}function HB(){var t,n;return t=R,n=rt.charCodeAt(R)===92?iF():function(){var e,r;for(e=R++;R<Tn;){if((r=rt.charCodeAt(R))===92)return R=e,iF();if(!rd(r))break;++R}return rt.slice(e,R)}(),{type:n.length===1?3:IB.hasOwnProperty(n)?4:n==="null"?5:n==="true"||n==="false"?1:3,value:n,start:t,end:R}}function k1(){var t,n,e,r,i=R,a=rt.charCodeAt(R),o=rt[R];switch(a){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++R,{type:7,value:String.fromCharCode(a),start:i,end:R};default:if((t=rt.charCodeAt(R+1))===61)switch(a){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return R+=2,{type:7,value:String.fromCharCode(a)+String.fromCharCode(t),start:i,end:R};case 33:case 61:return R+=2,rt.charCodeAt(R)===61&&++R,{type:7,value:rt.slice(i,R),start:i,end:R}}}return(r=rt.substr(R,4))===">>>="?{type:7,value:r,start:i,end:R+=4}:(e=r.substr(0,3))===">>>"||e==="<<="||e===">>="?{type:7,value:e,start:i,end:R+=3}:o===(n=e.substr(0,2))[1]&&"+-<>&|".includes(o)||n==="=>"?{type:7,value:n,start:i,end:R+=2}:(n==="//"&&Ft({},gn,Fn),"<>=!+-*%&|^/".includes(o)?{type:7,value:o,start:i,end:++R}:void Ft({},gn,Fn))}function aF(){var t,n,e;if(ed(pi((e=rt[R]).charCodeAt(0))||e===".","Numeric literal must start with a decimal digit or a decimal point"),n=R,t="",e!=="."){if(t=rt[R++],e=rt[R],t==="0"){if(e==="x"||e==="X")return++R,function(r){let i="";for(;R<Tn&&A1(rt[R]);)i+=rt[R++];return i.length===0&&Ft({},gn,Fn),Yu(rt.charCodeAt(R))&&Ft({},gn,Fn),{type:6,value:parseInt("0x"+i,16),start:r,end:R}}(n);if(Gu(e))return function(r){let i="0"+rt[R++];for(;R<Tn&&Gu(rt[R]);)i+=rt[R++];return(Yu(rt.charCodeAt(R))||pi(rt.charCodeAt(R)))&&Ft({},gn,Fn),{type:6,value:parseInt(i,8),octal:!0,start:r,end:R}}(n);e&&pi(e.charCodeAt(0))&&Ft({},gn,Fn)}for(;pi(rt.charCodeAt(R));)t+=rt[R++];e=rt[R]}if(e==="."){for(t+=rt[R++];pi(rt.charCodeAt(R));)t+=rt[R++];e=rt[R]}if(e==="e"||e==="E")if(t+=rt[R++],(e=rt[R])!=="+"&&e!=="-"||(t+=rt[R++]),pi(rt.charCodeAt(R)))for(;pi(rt.charCodeAt(R));)t+=rt[R++];else Ft({},gn,Fn);return Yu(rt.charCodeAt(R))&&Ft({},gn,Fn),{type:6,value:parseFloat(t),start:n,end:R}}function GB(){var t,n,e,r;return zt=null,rF(),t=R,n=function(){var i,a,o,s;for(ed((i=rt[R])==="/","Regular expression literal must start with a slash"),a=rt[R++],o=!1,s=!1;R<Tn;)if(a+=i=rt[R++],i==="\\")Vu((i=rt[R++]).charCodeAt(0))&&Ft({},w1),a+=i;else if(Vu(i.charCodeAt(0)))Ft({},w1);else if(o)i==="]"&&(o=!1);else{if(i==="/"){s=!0;break}i==="["&&(o=!0)}return s||Ft({},w1),{value:a.substr(1,a.length-2),literal:a}}(),e=function(){var i,a,o;for(a="",o="";R<Tn&&rd((i=rt[R]).charCodeAt(0));)++R,i==="\\"&&R<Tn?Ft({},gn,Fn):(o+=i,a+=i);return o.search(/[^gimuy]/g)>=0&&Ft({},x1,o),{value:o,literal:a}}(),r=function(i,a){let o=i;a.includes("u")&&(o=o.replace(/\\u\{([0-9a-fA-F]+)\}/g,(s,u)=>{if(parseInt(u,16)<=1114111)return"x";Ft({},x1)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(o)}catch{Ft({},x1)}try{return new RegExp(i,a)}catch{return null}}(n.value,e.value),{literal:n.literal+e.literal,value:r,regex:{pattern:n.value,flags:e.value},start:t,end:R}}function oF(){if(rF(),R>=Tn)return{type:2,start:R,end:R};const t=rt.charCodeAt(R);return Yu(t)?HB():t===40||t===41||t===59?k1():t===39||t===34?function(){var n,e,r,i,a="",o=!1;for(ed((n=rt[R])==="'"||n==='"',"String literal must starts with a quote"),e=R,++R;R<Tn;){if((r=rt[R++])===n){n="";break}if(r==="\\")if((r=rt[R++])&&Vu(r.charCodeAt(0)))r==="\r"&&rt[R]===`
3
3
  `&&++R;else switch(r){case"u":case"x":rt[R]==="{"?(++R,a+=WB()):a+=_1(r);break;case"n":a+=`
4
4
  `;break;case"r":a+="\r";break;case"t":a+=" ";break;case"b":a+="\b";break;case"f":a+="\f";break;case"v":a+="\v";break;default:Gu(r)?((i="01234567".indexOf(r))!==0&&(o=!0),R<Tn&&Gu(rt[R])&&(o=!0,i=8*i+"01234567".indexOf(rt[R++]),"0123".includes(r)&&R<Tn&&Gu(rt[R])&&(i=8*i+"01234567".indexOf(rt[R++]))),a+=String.fromCharCode(i)):a+=r}else{if(Vu(r.charCodeAt(0)))break;a+=r}}return n!==""&&Ft({},gn,Fn),{type:8,value:a,octal:o,start:e,end:R}}():t===46?pi(rt.charCodeAt(R+1))?aF():k1():pi(t)?aF():k1()}function fe(){const t=zt;return R=t.end,zt=oF(),R=t.end,t}function sF(){const t=R;zt=oF(),R=t}function uF(t,n,e){const r=new ir(t==="||"||t==="&&"?"LogicalExpression":"BinaryExpression");return r.operator=t,r.left=n,r.right=e,r}function VB(t,n){const e=new ir("CallExpression");return e.callee=t,e.arguments=n,e}function D1(t){const n=new ir(nF);return n.name=t,n}function Xu(t){const n=new ir("Literal");return n.value=t.value,n.raw=rt.slice(t.start,t.end),t.regex&&(n.raw==="//"&&(n.raw="/(?:)/"),n.regex=t.regex),n}function lF(t,n,e){const r=new ir("MemberExpression");return r.computed=t==="[",r.object=n,r.property=e,r.computed||(e.member=!0),r}function cF(t,n,e){const r=new ir("Property");return r.key=n,r.value=e,r.kind=t,r}function Ft(t,n){var e,r=Array.prototype.slice.call(arguments,2),i=n.replace(/%(\d)/g,(a,o)=>(ed(o<r.length,"Message reference must be in range"),r[o]));throw(e=new Error(i)).index=R,e.description=i,e}function id(t){t.type===2&&Ft(t,"Unexpected end of input"),t.type===6&&Ft(t,"Unexpected number"),t.type===8&&Ft(t,"Unexpected string"),t.type===3&&Ft(t,"Unexpected identifier"),t.type===4&&Ft(t,"Unexpected reserved word"),Ft(t,gn,t.value)}function Pn(t){const n=fe();n.type===7&&n.value===t||id(n)}function Ht(t){return zt.type===7&&zt.value===t}function F1(t){return zt.type===4&&zt.value===t}function YB(){const t=[];for(R=zt.start,Pn("[");!Ht("]");)Ht(",")?(fe(),t.push(null)):(t.push(Ya()),Ht("]")||Pn(","));return fe(),function(n){const e=new ir("ArrayExpression");return e.elements=n,e}(t)}function fF(){R=zt.start;const t=fe();return t.type===8||t.type===6?(t.octal&&Ft(t,eF),Xu(t)):D1(t.value)}function XB(){var t,n,e;return R=zt.start,(t=zt).type===3?(e=fF(),Pn(":"),cF("init",e,Ya())):t.type!==2&&t.type!==7?(n=fF(),Pn(":"),cF("init",n,Ya())):void id(t)}function JB(){var t,n,e=[],r={},i=String;for(R=zt.start,Pn("{");!Ht("}");)n="$"+((t=XB()).key.type===nF?t.key.name:i(t.key.value)),Object.prototype.hasOwnProperty.call(r,n)?Ft({},"Duplicate data property in object literal not allowed in strict mode"):r[n]=!0,e.push(t),Ht("}")||Pn(",");return Pn("}"),function(a){const o=new ir("ObjectExpression");return o.properties=a,o}(e)}const KB={if:1};function QB(){var t,n,e;if(Ht("("))return function(){Pn("(");const r=C1();return Pn(")"),r}();if(Ht("["))return YB();if(Ht("{"))return JB();if(t=zt.type,R=zt.start,t===3||KB[zt.value])e=D1(fe().value);else if(t===8||t===6)zt.octal&&Ft(zt,eF),e=Xu(fe());else{if(t===4)throw new Error(Hu);t===1?((n=fe()).value=n.value==="true",e=Xu(n)):t===5?((n=fe()).value=null,e=Xu(n)):Ht("/")||Ht("/=")?(e=Xu(GB()),sF()):id(fe())}return e}function ZB(){const t=[];if(Pn("("),!Ht(")"))for(;R<Tn&&(t.push(Ya()),!Ht(")"));)Pn(",");return Pn(")"),t}function tz(){return Pn("."),function(){R=zt.start;const t=fe();return function(n){return n.type===3||n.type===4||n.type===1||n.type===5}(t)||id(t),D1(t.value)}()}function nz(){Pn("[");const t=C1();return Pn("]"),t}function dF(){const t=function(){var n;for(n=QB();;)if(Ht("."))n=lF(".",n,tz());else if(Ht("("))n=VB(n,ZB());else{if(!Ht("["))break;n=lF("[",n,nz())}return n}();if(zt.type===7&&(Ht("++")||Ht("--")))throw new Error(Hu);return t}function ad(){var t,n;if(zt.type!==7&&zt.type!==4)n=dF();else{if(Ht("++")||Ht("--"))throw new Error(Hu);if(Ht("+")||Ht("-")||Ht("~")||Ht("!"))t=fe(),n=ad(),n=function(e,r){const i=new ir("UnaryExpression");return i.operator=e,i.argument=r,i.prefix=!0,i}(t.value,n);else{if(F1("delete")||F1("void")||F1("typeof"))throw new Error(Hu);n=dF()}}return n}function hF(t){let n=0;if(t.type!==7&&t.type!==4)return 0;switch(t.value){case"||":n=1;break;case"&&":n=2;break;case"|":n=3;break;case"^":n=4;break;case"&":n=5;break;case"==":case"!=":case"===":case"!==":n=6;break;case"<":case">":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function Ya(){var t,n;return t=function(){var e,r,i,a,o,s,u,l,c,f;if(e=zt,c=ad(),(o=hF(a=zt))===0)return c;for(a.prec=o,fe(),r=[e,zt],s=[c,a,u=ad()];(o=hF(zt))>0;){for(;s.length>2&&o<=s[s.length-2].prec;)u=s.pop(),l=s.pop().value,c=s.pop(),r.pop(),i=uF(l,c,u),s.push(i);(a=fe()).prec=o,s.push(a),r.push(zt),i=ad(),s.push(i)}for(i=s[f=s.length-1],r.pop();f>1;)r.pop(),i=uF(s[f-1].value,s[f-2],i),f-=2;return i}(),Ht("?")&&(fe(),n=Ya(),Pn(":"),t=function(e,r,i){const a=new ir("ConditionalExpression");return a.test=e,a.consequent=r,a.alternate=i,a}(t,n,Ya())),t}function C1(){const t=Ya();if(Ht(","))throw new Error(Hu);return t}function pF(t){R=0,Tn=(rt=t).length,zt=null,sF();const n=C1();if(zt.type!==2)throw new Error("Unexpect token after expression.");return n}var mF={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 gF(t){function n(a,o,s){return u=>function(l,c,f,d){let h=t(c[0]);return f&&(h=f+"("+h+")",f.lastIndexOf("new ",0)===0&&(h="("+h+")")),h+"."+l+(d<0?"":d===0?"()":"("+c.slice(1).map(t).join(",")+")")}(a,u,o,s)}const e="new Date",r="String",i="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(a){a.length<3&&j("Missing arguments to clamp function."),a.length>3&&j("Too many arguments to clamp function.");const o=a.map(t);return"Math.max("+o[1]+", Math.min("+o[2]+","+o[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:e,date:n("getDate",e,0),day:n("getDay",e,0),year:n("getFullYear",e,0),month:n("getMonth",e,0),hours:n("getHours",e,0),minutes:n("getMinutes",e,0),seconds:n("getSeconds",e,0),milliseconds:n("getMilliseconds",e,0),time:n("getTime",e,0),timezoneoffset:n("getTimezoneOffset",e,0),utcdate:n("getUTCDate",e,0),utcday:n("getUTCDay",e,0),utcyear:n("getUTCFullYear",e,0),utcmonth:n("getUTCMonth",e,0),utchours:n("getUTCHours",e,0),utcminutes:n("getUTCMinutes",e,0),utcseconds:n("getUTCSeconds",e,0),utcmilliseconds:n("getUTCMilliseconds",e,0),length:n("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:n("toUpperCase",r,0),lower:n("toLowerCase",r,0),substring:n("substring",r),split:n("split",r),trim:n("trim",r,0),btoa:"btoa",atob:"atob",regexp:i,test:n("test",i),if:function(a){a.length<3&&j("Missing arguments to if function."),a.length>3&&j("Too many arguments to if function.");const o=a.map(t);return"("+o[0]+"?"+o[1]+":"+o[2]+")"}}}function yF(t){const n=(t=t||{}).allowed?Dr(t.allowed):{},e=t.forbidden?Dr(t.forbidden):{},r=t.constants||mF,i=(t.functions||gF)(f),a=t.globalvar,o=t.fieldvar,s=bt(a)?a:p=>`${a}["${p}"]`;let u={},l={},c=0;function f(p){if(Q(p))return p;const m=d[p.type];return m==null&&j("Unsupported type: "+p.type),m(p)}const d={Literal:p=>p.raw,Identifier:p=>{const m=p.name;return c>0?m:tt(e,m)?j("Illegal identifier: "+m):tt(r,m)?r[m]:tt(n,m)?m:(u[m]=1,s(m))},MemberExpression:p=>{const m=!p.computed,g=f(p.object);m&&(c+=1);const y=f(p.property);return g===o&&(l[function(v){const x=v&&v.length-1;return x&&(v[0]==='"'&&v[x]==='"'||v[0]==="'"&&v[x]==="'")?v.slice(1,-1):v}(y)]=1),m&&(c-=1),g+(m?"."+y:"["+y+"]")},CallExpression:p=>{p.callee.type!=="Identifier"&&j("Illegal callee type: "+p.callee.type);const m=p.callee.name,g=p.arguments,y=tt(i,m)&&i[m];return y||j("Unrecognized function: "+m),bt(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=>"{"+p.properties.map(f).join(",")+"}",Property:p=>{c+=1;const m=f(p.key);return c-=1,m+":"+f(p.value)}};function h(p){const m={code:f(p),globals:Object.keys(u),fields:Object.keys(l)};return u={},l={},m}return h.functions=i,h.constants=r,h}const vF=Symbol("vega_selection_getter");function bF(t){return t.getter&&t.getter[vF]||(t.getter=ei(t.field),t.getter[vF]=!0),t.getter}const E1="intersect",xF="union",wF="or",ez="and",Nr="_vgsid_",Ju=ei(Nr),od="index:unit";function AF(t,n){for(var e,r,i=n.fields,a=n.values,o=i.length,s=0;s<o;++s)if(e=bF(r=i[s])(t),Da(e)&&(e=ze(e)),Da(a[s])&&(a[s]=ze(a[s])),P(a[s])&&Da(a[s][0])&&(a[s]=a[s].map(ze)),r.type==="E"){if(P(a[s])?!a[s].includes(e):e!==a[s])return!1}else if(r.type==="R"){if(!Co(e,a[s]))return!1}else if(r.type==="R-RE"){if(!Co(e,a[s],!0,!1))return!1}else if(r.type==="R-E"){if(!Co(e,a[s],!1,!1))return!1}else if(r.type==="R-LE"){if(!Co(e,a[s],!1,!0))return!1}else if(r.type==="E-LT"){if(e>=a[s])return!1}else if(r.type==="E-LTE"){if(e>a[s])return!1}else if(r.type==="E-GT"){if(e<=a[s])return!1}else if(r.type==="E-GTE"){if(e<a[s])return!1}else if(r.type==="E-VALID"){if(e===null||isNaN(e))return!1}else if(r.type==="E-ONE"&&a[s].indexOf(e)===-1)return!1;return!0}const _F=ax(Ju),rz=_F.left,iz=_F.right;var $1={[`${Nr}_union`]:function(...t){const n=new Kl;for(const e of t)for(const r of e)n.add(r);return n},[`${Nr}_intersect`]:function(t,...n){t=new Kl(t),n=n.map(n9);t:for(const e of t)for(const r of n)if(!r.has(e)){t.delete(e);continue t}return t},E_union:function(t,n){if(!t.length)return n;for(var e=0,r=n.length;e<r;++e)t.includes(n[e])||t.push(n[e]);return t},E_intersect:function(t,n){return t.length?t.filter(e=>n.includes(e)):n},R_union:function(t,n){var e=ze(n[0]),r=ze(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?(t[0]>e&&(t[0]=e),t[1]<r&&(t[1]=r),t):[e,r]},R_intersect:function(t,n){var e=ze(n[0]),r=ze(n[1]);return e>r&&(e=n[1],r=n[0]),t.length?r<t[0]||t[1]<e?[]:(t[0]<e&&(t[0]=e),t[1]>r&&(t[1]=r),t):[e,r]}};function S1(t,n,e,r){n[0].type!==rs&&j("First argument to selection functions must be a string literal.");const i=n[0].value,a="unit",o="@"+a,s=":"+i;(n.length>=2&&Bt(n).value)!==E1||tt(r,o)||(r[o]=e.getData(i).indataRef(e,a)),tt(r,s)||(r[s]=e.getData(i).tuplesRef())}function kF(t){const n=this.context.data[t];return n?n.values.value:[]}const Ku=t=>function(n,e){const r=this.context.dataflow.locale();return n===null?"null":r[t](e)(n)},az=Ku("format"),DF=Ku("timeFormat"),oz=Ku("utcFormat"),sz=Ku("timeParse"),uz=Ku("utcParse"),sd=new Date(2e3,0,1);function ud(t,n,e){return Number.isInteger(t)&&Number.isInteger(n)?(sd.setYear(2e3),sd.setMonth(t),sd.setDate(n),DF.call(this,sd,e)):""}function M1(t,n,e,r){n[0].type!==rs&&j("First argument to data functions must be a string literal.");const i=n[0].value,a=":"+i;if(!tt(a,r))try{r[a]=e.getData(i).tuplesRef()}catch{}}function ae(t,n,e,r){if(n[0].type===rs)FF(e,r,n[0].value);else for(t in e.scales)FF(e,r,t)}function FF(t,n,e){const r="%"+e;if(!tt(n,r))try{n[r]=t.scaleRef(e)}catch{}}function Rr(t,n){if(Q(t)){const e=n.scales[t];return e&&fw(e.value)?e.value:void 0}if(bt(t))return fw(t)?t:void 0}function lz(t,n,e){n.__bandwidth=i=>i&&i.bandwidth?i.bandwidth():0,e._bandwidth=ae,e._range=ae,e._scale=ae;const r=i=>"_["+(i.type===rs?G("%"+i.value):G("%")+"+"+t(i))+"]";return{_bandwidth:i=>`this.__bandwidth(${r(i[0])})`,_range:i=>`${r(i[0])}.range()`,_scale:i=>`${r(i[0])}(${t(i[1])})`}}function B1(t,n){return function(e,r,i){if(e){const a=Rr(e,(i||this).context);return a&&a.path[t](r)}return n(r)}}const cz=B1("area",function(t){return pf=new Gn,si(t,Mr),2*pf}),fz=B1("bounds",function(t){var n,e,r,i,a,o,s;if(_e=an=-(Kt=ce=1/0),na=[],si(t,li),e=na.length){for(na.sort(R4),n=1,a=[r=na[0]];n<e;++n)uk(r,(i=na[n])[0])||uk(r,i[1])?(ke(r[0],i[1])>ke(r[0],r[1])&&(r[1]=i[1]),ke(i[0],r[1])>ke(r[0],r[1])&&(r[0]=i[0])):a.push(r=i);for(o=-1/0,n=0,r=a[e=a.length-1];n<=e;r=i,++n)i=a[n],(s=ke(r[1],i[0]))>o&&(o=s,Kt=i[0],an=r[1])}return na=ui=null,Kt===1/0||ce===1/0?[[NaN,NaN],[NaN,NaN]]:[[Kt,ce],[an,_e]]}),dz=B1("centroid",function(t){Du=bf=xf=wf=Af=_f=kf=Df=0,J0=new Gn,K0=new Gn,Q0=new Gn,si(t,er);var n=+J0,e=+K0,r=+Q0,i=U0(n,e,r);return i<q0&&(n=_f,e=kf,r=Df,bf<dt&&(n=xf,e=wf,r=Af),(i=U0(n,e,r))<q0)?[NaN,NaN]:[je(e,n)*on,le(r/i)*on]});function z1(t,n,e){try{t[n].apply(t,["EXPRESSION"].concat([].slice.call(e)))}catch(r){t.warn(r)}return e[e.length-1]}function O1(t){const n=t/255;return n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}function N1(t){const n=Jl(t);return .2126*O1(n.r)+.7152*O1(n.g)+.0722*O1(n.b)}function CF(t,n){return t===n||t!=t&&n!=n||(P(t)?!(!P(n)||t.length!==n.length)&&function(e,r){for(let i=0,a=e.length;i<a;++i)if(!CF(e[i],r[i]))return!1;return!0}(t,n):!(!Z(t)||!Z(n))&&EF(t,n))}function EF(t,n){for(const e in t)if(!CF(t[e],n[e]))return!1;return!0}function $F(t){return n=>EF(t,n)}const SF={};function ld(t){return P(t)||ArrayBuffer.isView(t)?t:null}function R1(t){return ld(t)||(Q(t)?t:null)}const MF=t=>t.data;function BF(t,n){const e=kF.call(n,t);return e.root&&e.root.lookup||{}}const zF=()=>typeof window<"u"&&window||null;function OF(t,n,e){if(!t)return[];const[r,i]=t,a=new cn().set(r[0],r[1],i[0],i[1]);return QA(e||this.context.dataflow.scenegraph().root,a,function(o){let s=null;if(o){const u=K(o.marktype),l=K(o.markname);s=c=>(!u.length||u.some(f=>c.marktype===f))&&(!l.length||l.some(f=>c.name===f))}return s}(n))}const Qu={random:()=>Ne(),cumulativeNormal:uc,cumulativeLogNormal:Sp,cumulativeUniform:Op,densityNormal:Dp,densityLogNormal:$p,densityUniform:zp,quantileNormal:lc,quantileLogNormal:Mp,quantileUniform:Np,sampleNormal:sc,sampleLogNormal:Ep,sampleUniform:Bp,isArray:P,isBoolean:Fa,isDate:Da,isDefined:t=>t!==void 0,isNumber:$t,isObject:Z,isRegExp:up,isString:Q,isTuple:tc,isValid:t=>t!=null&&t==t,toBoolean:zx,toDate:t=>Ox(t),toNumber:ze,toString:Bx,indexof:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return R1(t).indexOf(...e)},join:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return ld(t).join(...e)},lastindexof:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return R1(t).lastIndexOf(...e)},replace:function(t,n,e){return bt(e)&&j("Function argument passed to replace."),Q(n)||up(n)||j("Please pass a string or RegExp argument to replace."),String(t).replace(n,e)},reverse:function(t){return ld(t).slice().reverse()},sort:function(t){return ld(t).slice().sort(Zh)},slice:function(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];return R1(t).slice(...e)},flush:Mx,lerp:Sx,merge:function(){const t=[].slice.call(arguments);return t.unshift({}),xt(...t)},pad:$x,peek:Bt,pluck:function(t,n){const e=SF[n]||(SF[n]=ei(n));return P(t)?t.map(e):e(t)},span:Gl,inrange:Co,truncate:Ex,rgb:Jl,lab:fp,hcl:e8,hsl:mp,luminance:N1,contrast:function(t,n){const e=N1(t),r=N1(n);return(Math.max(e,r)+.05)/(Math.min(e,r)+.05)},sequence:xe,format:az,utcFormat:oz,utcParse:uz,utcOffset:Cx,utcSequence:Fx,timeFormat:DF,timeParse:sz,timeOffset:Dx,timeSequence:kx,timeUnitSpecifier:_x,monthFormat:function(t){return ud.call(this,t,1,"%B")},monthAbbrevFormat:function(t){return ud.call(this,t,1,"%b")},dayFormat:function(t){return ud.call(this,0,2+t,"%A")},dayAbbrevFormat:function(t){return ud.call(this,0,2+t,"%a")},quarter:Ax,utcquarter:wx,week:xx,utcweek:bx,dayofyear:vx,utcdayofyear:yx,warn:function(){return z1(this.context.dataflow,"warn",arguments)},info:function(){return z1(this.context.dataflow,"info",arguments)},debug:function(){return z1(this.context.dataflow,"debug",arguments)},extent:t=>kr(t),inScope:function(t){const n=this.context.group;let e=!1;if(n)for(;t;){if(t===n){e=!0;break}t=t.mark.group}return e},intersect:OF,clampRange:gx,pinchDistance:function(t){const n=t.touches,e=n[0].clientX-n[1].clientX,r=n[0].clientY-n[1].clientY;return Math.hypot(e,r)},pinchAngle:function(t){const n=t.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function(){const t=zF();return t?t.screen:{}},containerSize:function(){const t=this.context.dataflow,n=t.container&&t.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function(){const t=zF();return t?[t.innerWidth,t.innerHeight]:[void 0,void 0]},bandspace:function(t,n,e){return km(t||0,n||0,e||0)},setdata:function(t,n){const e=this.context.dataflow,r=this.context.data[t].input;return e.pulse(r,e.changeset().remove(Be).insert(n)),1},pathShape:function(t){let n=null;return function(e){return e?su(e,n=n||Ro(t)):t}},panLinear:mx,panLog:px,panPow:hx,panSymlog:dx,zoomLinear:sp,zoomLog:ap,zoomPow:Vl,zoomSymlog:op,encode:function(t,n,e){if(t){const r=this.context.dataflow,i=t.mark.source;r.pulse(i,r.changeset().encode(t,n))}return e!==void 0?e:t},modify:function(t,n,e,r,i,a){const o=this.context.dataflow,s=this.context.data[t],u=s.input,l=o.stamp();let c,f,d=s.changes;if(o._trigger===!1||!(u.value.length||n||r))return 0;if((!d||d.stamp<l)&&(s.changes=d=o.changeset(),d.stamp=l,o.runAfter(()=>{s.modified=!0,o.pulse(u,d).run()},!0,1)),e&&(c=e===!0?Be:P(e)||tc(e)?e:$F(e),d.remove(c)),n&&d.insert(n),r&&(c=$F(r),u.value.some(c)?d.remove(c):d.insert(r)),i)for(f in a)d.modify(i,f,a[f]);return 1},lassoAppend:function(t,n,e){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:5;const i=(t=K(t))[t.length-1];return i===void 0||Math.hypot(i[0]-n,i[1]-e)>r?[...t,[n,e]]:t},lassoPath:function(t){return K(t).reduce((n,e,r)=>{let[i,a]=e;return n+(r==0?`M ${i},${a} `:r===t.length-1?" Z":`L ${i},${a} `)},"")},intersectLasso:function(t,n,e){const{x:r,y:i,mark:a}=e,o=new cn().set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[s,u]of n)s<o.x1&&(o.x1=s),s>o.x2&&(o.x2=s),u<o.y1&&(o.y1=u),u>o.y2&&(o.y2=u);return o.translate(r,i),OF([[o.x1,o.y1],[o.x2,o.y2]],t,a).filter(s=>function(u,l,c){let f=0;for(let d=0,h=c.length-1;d<c.length;h=d++){const[p,m]=c[h],[g,y]=c[d];y>l!=m>l&&u<(p-g)*(l-y)/(m-y)+g&&f++}return 1&f}(s.x,s.y,n))}},hz=["view","item","group","xy","x","y"],NF="this.",T1={},RF={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${G("$"+t)}]`,functions:function(t){const n=gF(t);hz.forEach(e=>n[e]="event.vega."+e);for(const e in Qu)n[e]=NF+e;return xt(n,lz(t,Qu,T1)),n},constants:mF,visitors:T1},P1=yF(RF);function sn(t,n,e){return arguments.length===1?Qu[t]:(Qu[t]=n,e&&(T1[t]=e),P1&&(P1.functions[t]=NF+t),this)}function Tr(t,n){const e={};let r;try{r=pF(t=Q(t)?t:G(t)+"")}catch{j("Expression parse error: "+t)}r.visit(a=>{if(a.type!==tF)return;const o=a.callee.name,s=RF.visitors[o];s&&s(o,a.arguments,n,e)});const i=P1(r);return i.globals.forEach(a=>{const o="$"+a;!tt(e,o)&&n.getSignal(a)&&(e[o]=n.signalRef(a))}),{$expr:xt({code:i.code},n.options.ast?{ast:r}:null),$fields:i.fields,$params:e}}sn("bandwidth",function(t,n){const e=Rr(t,(n||this).context);return e&&e.bandwidth?e.bandwidth():0},ae),sn("copy",function(t,n){const e=Rr(t,(n||this).context);return e?e.copy():void 0},ae),sn("domain",function(t,n){const e=Rr(t,(n||this).context);return e?e.domain():[]},ae),sn("range",function(t,n){const e=Rr(t,(n||this).context);return e&&e.range?e.range():[]},ae),sn("invert",function(t,n,e){const r=Rr(t,(e||this).context);return r?P(n)?(r.invertRange||r.invert)(n):(r.invert||r.invertExtent)(n):void 0},ae),sn("scale",function(t,n,e){const r=Rr(t,(e||this).context);return r?r(n):void 0},ae),sn("gradient",function(t,n,e,r,i){t=Rr(t,(i||this).context);const a=zw(n,e);let o=t.domain(),s=o[0],u=Bt(o),l=Me;return u-s?l=vw(t,s,u):t=(t.interpolator?Dt("sequential")().interpolator(t.interpolator()):Dt("linear")().interpolate(t.interpolate()).range(t.range())).domain([s=0,u=1]),t.ticks&&(o=t.ticks(+r||15),s!==o[0]&&o.unshift(s),u!==Bt(o)&&o.push(u)),o.forEach(c=>a.stop(l(c),t(c))),a},ae),sn("geoArea",cz,ae),sn("geoBounds",fz,ae),sn("geoCentroid",dz,ae),sn("geoShape",function(t,n,e){const r=Rr(t,(e||this).context);return function(i){return r?r.path.context(i)(n):""}},ae),sn("geoScale",function(t,n){const e=Rr(t,(n||this).context);return e&&e.scale()},ae),sn("indata",function(t,n,e){const r=this.context.data[t]["index:"+n],i=r?r.value.get(e):void 0;return i&&i.count},function(t,n,e,r){n[0].type!==rs&&j("First argument to indata must be a string literal."),n[1].type!==rs&&j("Second argument to indata must be a string literal.");const i=n[0].value,a=n[1].value,o="@"+a;tt(o,r)||(r[o]=e.getData(i).indataRef(e,a))}),sn("data",kF,M1),sn("treePath",function(t,n,e){const r=BF(t,this),i=r[n],a=r[e];return i&&a?i.path(a).map(MF):void 0},M1),sn("treeAncestors",function(t,n){const e=BF(t,this)[n];return e?e.ancestors().map(MF):void 0},M1),sn("vlSelectionTest",function(t,n,e){for(var r,i,a,o,s,u=this.context.data[t],l=u?u.values.value:[],c=u?u[od]&&u[od].value:void 0,f=e===E1,d=l.length,h=0;h<d;++h)if(r=l[h],c&&f){if((a=(i=i||{})[o=r.unit]||0)===-1)continue;if(s=AF(n,r),i[o]=s?-1:++a,s&&c.size===1)return!0;if(!s&&a===c.get(o).count)return!1}else if(f^(s=AF(n,r)))return s;return d&&f},S1),sn("vlSelectionIdTest",function(t,n,e){const r=this.context.data[t],i=r?r.values.value:[],a=r?r[od]&&r[od].value:void 0,o=e===E1,s=Ju(n),u=rz(i,s);if(u===i.length||Ju(i[u])!==s)return!1;if(a&&o){if(a.size===1)return!0;if(iz(i,s)-u<a.size)return!1}return!0},S1),sn("vlSelectionResolve",function(t,n,e,r){for(var i,a,o,s,u,l,c,f,d,h,p,m,g=this.context.data[t],y=g?g.values.value:[],v={},x={},b={},w=y.length,A=0;A<w;++A)if(s=(i=y[A]).unit,a=i.fields,o=i.values,a&&o){for(p=0,m=a.length;p<m;++p)u=a[p],f=(c=v[u.field]||(v[u.field]={}))[s]||(c[s]=[]),b[u.field]=d=u.type.charAt(0),h=$1[`${d}_union`],c[s]=h(f,K(o[p]));e&&(f=x[s]||(x[s]=[])).push(K(o).reduce((_,k,F)=>(_[a[F].field]=k,_),{}))}else u=Nr,l=Ju(i),(f=(c=v[u]||(v[u]={}))[s]||(c[s]=[])).push(l),e&&(f=x[s]||(x[s]=[])).push({[Nr]:l});return n=n||xF,v[Nr]?v[Nr]=$1[`${Nr}_${n}`](...Object.values(v[Nr])):Object.keys(v).forEach(_=>{v[_]=Object.keys(v[_]).map(k=>v[_][k]).reduce((k,F)=>k===void 0?F:$1[`${b[_]}_${n}`](k,F))}),y=Object.keys(x),e&&y.length&&(v[r?"vlPoint":"vlMulti"]=n===xF?{[wF]:y.reduce((_,k)=>(_.push(...x[k]),_),[])}:{[ez]:y.map(_=>({[wF]:x[_]}))}),v},S1),sn("vlSelectionTuples",function(t,n){return t.map(e=>xt(n.fields?{values:n.fields.map(r=>bF(r)(e.datum))}:{[Nr]:Ju(e.datum)},n))});const pz=Dr(["rule"]),TF=Dr(["group","image","rect"]);function j1(t){return(t+"").toLowerCase()}function Zu(t,n,e){e.endsWith(";")||(e="return("+e+");");const r=Function(...n.concat(e));return t&&t.functions?r.bind(t.functions):r}var mz={operator:(t,n)=>Zu(t,["_"],n.code),parameter:(t,n)=>Zu(t,["datum","_"],n.code),event:(t,n)=>Zu(t,["event"],n.code),handler:(t,n)=>Zu(t,["_","event"],`var datum=event.item&&event.item.datum;return ${n.code};`),encode:(t,n)=>{const{marktype:e,channels:r}=n;let i="var o=item,datum=o.datum,m=0,$;";for(const a in r){const o="o["+G(a)+"]";i+=`$=${r[a].code};if(${o}!==$)${o}=$,m=1;`}return i+=function(a,o){let s="";return pz[o]||(a.x2&&(a.x?(TF[o]&&(s+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),s+="o.width=o.x2-o.x;"):s+="o.x=o.x2-(o.width||0);"),a.xc&&(s+="o.x=o.xc-(o.width||0)/2;"),a.y2&&(a.y?(TF[o]&&(s+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),s+="o.height=o.y2-o.y;"):s+="o.y=o.y2-(o.height||0);"),a.yc&&(s+="o.y=o.yc-(o.height||0)/2;")),s}(r,e),i+="return m;",Zu(t,["item","_"],i)},codegen:{get(t){const n=`[${t.map(G).join("][")}]`,e=Function("_",`return _${n};`);return e.path=n,e},comparator(t,n){let e;const r=Function("a","b","var u, v; return "+t.map((i,a)=>{const o=n[a];let s,u;return i.path?(s=`a${i.path}`,u=`b${i.path}`):((e=e||{})["f"+a]=i,s=`this.f${a}(a)`,u=`this.f${a}(b)`),function(l,c,f,d){return`((u = ${l}) < (v = ${c}) || u == null) && v != null ? ${f}