git-history-ui 3.2.2 → 4.0.0

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 (43) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/build/frontend/{chunk-TQVUSJBM.js → chunk-3KK6F5JX.js} +1 -1
  3. package/build/frontend/{chunk-3FFYILBL.js → chunk-6VRZZB3T.js} +1 -1
  4. package/build/frontend/chunk-AWMYL3YU.js +1 -0
  5. package/build/frontend/{chunk-36NFLS3P.js → chunk-CFCRPNUQ.js} +1 -1
  6. package/build/frontend/chunk-EZUFC4CQ.js +1 -0
  7. package/build/frontend/chunk-GRG6HTLW.js +9 -0
  8. package/build/frontend/{chunk-N7UHDKJ7.js → chunk-I4VBIHH2.js} +1 -1
  9. package/build/frontend/chunk-L4LXF744.js +2 -0
  10. package/build/frontend/chunk-OBPR2XVH.js +5 -0
  11. package/build/frontend/{chunk-YSTG766K.js → chunk-UHWTLUOW.js} +1 -1
  12. package/build/frontend/{chunk-ITIFFECZ.js → chunk-UIWFTWLF.js} +1 -1
  13. package/build/frontend/{chunk-R33W2FKN.js → chunk-UNROVCUZ.js} +2 -2
  14. package/build/frontend/chunk-VHEMN3MU.js +1 -0
  15. package/build/frontend/index.html +2 -2
  16. package/build/frontend/main-6PSVVDXD.js +1 -0
  17. package/build/frontend/styles-DUWPKHDX.css +1 -0
  18. package/dist/backend/cache/sqliteIndex.d.ts +8 -2
  19. package/dist/backend/cache/sqliteIndex.js +24 -9
  20. package/dist/backend/cache/sqliteIndex.js.map +1 -1
  21. package/dist/backend/gitService.d.ts +9 -3
  22. package/dist/backend/gitService.js +126 -53
  23. package/dist/backend/gitService.js.map +1 -1
  24. package/dist/backend/grouping/prGrouping.d.ts +1 -0
  25. package/dist/backend/grouping/prGrouping.js +1 -0
  26. package/dist/backend/grouping/prGrouping.js.map +1 -1
  27. package/dist/backend/insights.d.ts +2 -0
  28. package/dist/backend/insights.js +2 -1
  29. package/dist/backend/insights.js.map +1 -1
  30. package/dist/backend/search/nlSearch.d.ts +5 -0
  31. package/dist/backend/search/nlSearch.js +5 -3
  32. package/dist/backend/search/nlSearch.js.map +1 -1
  33. package/dist/backend/server.js +27 -5
  34. package/dist/backend/server.js.map +1 -1
  35. package/package.json +1 -1
  36. package/build/frontend/chunk-B7ZU76GM.js +0 -1
  37. package/build/frontend/chunk-HQV5AEMT.js +0 -3
  38. package/build/frontend/chunk-NUMLL3OZ.js +0 -1
  39. package/build/frontend/chunk-QUDEGJKI.js +0 -1
  40. package/build/frontend/chunk-RPBKHRPI.js +0 -2
  41. package/build/frontend/chunk-TQE5NWMZ.js +0 -5
  42. package/build/frontend/main-6GA6B4NK.js +0 -1
  43. package/build/frontend/styles-AH3HC64Q.css +0 -1
@@ -58,7 +58,7 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
58
58
  const llmService = options.llmService ?? (0, llm_1.getDefaultLlmService)(options.llm ?? {});
59
59
  const githubToken = options.githubToken ?? process.env.GITHUB_TOKEN;
60
60
  const annotations = new annotations_1.AnnotationsStore(cwd);
61
- const sqliteIndex = new sqliteIndex_1.SqliteIndex(cwd, (args) => gitService.runRaw(args, { maxBuffer: 256 * 1024 * 1024 }), (args, onChunk) => gitService.streamRaw(args, onChunk));
61
+ const sqliteIndex = new sqliteIndex_1.SqliteIndex(cwd, (args) => gitService.runRaw(args, { maxBuffer: 256 * 1024 * 1024 }), (args, onChunk, streamOpts) => gitService.streamRaw(args, onChunk, streamOpts));
62
62
  const angularBuildPath = path_1.default.join(__dirname, '../../build/frontend');
63
63
  const publicPath = path_1.default.join(__dirname, '../../public');
64
64
  const staticDir = fs_1.default.existsSync(angularBuildPath) ? angularBuildPath : publicPath;
@@ -80,8 +80,9 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
80
80
  const stats = await sqliteIndex.stats();
81
81
  res.json(stats);
82
82
  }));
83
- app.post('/api/index/build', wrap(async (_req, res) => {
84
- const stats = await sqliteIndex.build();
83
+ app.post('/api/index/build', wrap(async (req, res) => {
84
+ const signal = requestAbortSignal(req);
85
+ const stats = await sqliteIndex.build({ signal });
85
86
  res.json(stats);
86
87
  }));
87
88
  app.get('/api/commits/stream', (req, res) => {
@@ -94,9 +95,11 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
94
95
  res.write(`event: ${event}\n`);
95
96
  res.write(`data: ${JSON.stringify(data)}\n\n`);
96
97
  };
98
+ const controller = new AbortController();
97
99
  let cancelled = false;
98
100
  req.on('close', () => {
99
101
  cancelled = true;
102
+ controller.abort();
100
103
  });
101
104
  (async () => {
102
105
  try {
@@ -105,7 +108,9 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
105
108
  const since = stringParam(req.query.since);
106
109
  const until = stringParam(req.query.until);
107
110
  const file = stringParam(req.query.file);
108
- for await (const commit of gitService.streamCommits({ author, since, until, file })) {
111
+ const search = stringParam(req.query.search ?? req.query.q);
112
+ const branch = stringParam(req.query.branch);
113
+ for await (const commit of gitService.streamCommits({ author, since, until, file, search, branch }, 200, { signal: controller.signal })) {
109
114
  if (cancelled)
110
115
  break;
111
116
  send('commit', commit);
@@ -120,6 +125,8 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
120
125
  }
121
126
  }
122
127
  catch (err) {
128
+ if (cancelled)
129
+ return;
123
130
  send('error', { message: err instanceof Error ? err.message : 'stream error' });
124
131
  res.end();
125
132
  }
@@ -131,6 +138,7 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
131
138
  since: stringParam(req.query.since),
132
139
  until: stringParam(req.query.until),
133
140
  author: stringParam(req.query.author),
141
+ branch: stringParam(req.query.branch),
134
142
  search: stringParam(req.query.search ?? req.query.q),
135
143
  page: numberParam(req.query.page, 1),
136
144
  pageSize: numberParam(req.query.pageSize, 25)
@@ -163,6 +171,11 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
163
171
  }
164
172
  const result = await (0, nlSearch_1.runNlSearch)(gitService, llmService, {
165
173
  query: q,
174
+ branch: stringParam(req.query.branch),
175
+ file: stringParam(req.query.file),
176
+ author: stringParam(req.query.author),
177
+ since: stringParam(req.query.since),
178
+ until: stringParam(req.query.until),
166
179
  page: numberParam(req.query.page, 1),
167
180
  pageSize: numberParam(req.query.pageSize, 25)
168
181
  });
@@ -173,6 +186,7 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
173
186
  since: stringParam(req.query.since),
174
187
  until: stringParam(req.query.until),
175
188
  author: stringParam(req.query.author),
189
+ branch: stringParam(req.query.branch),
176
190
  githubToken,
177
191
  maxCommits: numberParam(req.query.maxCommits, 1000)
178
192
  });
@@ -201,10 +215,13 @@ async function startServer(port = DEFAULT_PORT, host = DEFAULT_HOST, options = {
201
215
  res.json(impact);
202
216
  }));
203
217
  app.get('/api/insights', wrap(async (req, res) => {
218
+ const signal = requestAbortSignal(req);
204
219
  const bundle = await (0, insights_1.computeInsights)(gitService, {
205
220
  since: stringParam(req.query.since),
206
221
  until: stringParam(req.query.until),
207
- maxCommits: numberParam(req.query.maxCommits, 500)
222
+ branch: stringParam(req.query.branch),
223
+ maxCommits: numberParam(req.query.maxCommits, 500),
224
+ signal
208
225
  });
209
226
  res.json(bundle);
210
227
  }));
@@ -352,6 +369,11 @@ function numberParam(v, fallback) {
352
369
  const n = typeof v === 'string' ? parseInt(v, 10) : NaN;
353
370
  return Number.isFinite(n) ? n : fallback;
354
371
  }
372
+ function requestAbortSignal(req) {
373
+ const controller = new AbortController();
374
+ req.on('close', () => controller.abort());
375
+ return controller.signal;
376
+ }
355
377
  function pkgVersion() {
356
378
  try {
357
379
  const raw = fs_1.default.readFileSync(path_1.default.join(__dirname, '..', '..', 'package.json'), 'utf8');
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "git-history-ui",
3
- "version": "3.2.2",
3
+ "version": "4.0.0",
4
4
  "description": "Git Intelligence in your browser — natural-language search, PR/feature grouping, time-travel snapshots, file history, blame, commit impact, and an insights dashboard. Optional AI integration (Anthropic / OpenAI).",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- import{a as J}from"./chunk-R33W2FKN.js";import{a as H,b as V,c as B,d as U,h as q}from"./chunk-YSTG766K.js";import{a as G}from"./chunk-N7UHDKJ7.js";import"./chunk-ITIFFECZ.js";import{$ as h,Ab as d,Bb as y,Cb as z,Ga as o,Ib as A,Pa as P,Sb as v,Ta as m,Tb as M,W as D,db as l,dc as j,ea as E,eb as r,ec as R,fa as S,fb as a,gb as F,hc as L,mb as w,mc as k,nb as x,nc as $,oa as g,ob as f,xb as C,yb as N,zb as s}from"./chunk-TQE5NWMZ.js";var b=class n{http=h($);base="/api";snapshot(t){let e=new k().set("at",t);return this.http.get(`${this.base}/snapshot`,{params:e})}rangeDiff(t,e){let i=new k().set("from",t).set("to",e);return this.http.get(`${this.base}/diff`,{params:i})}static \u0275fac=function(e){return new(e||n)};static \u0275prov=D({token:n,factory:n.\u0275fac,providedIn:"root"})};function X(n,t){if(n&1&&(r(0,"span",16),s(1,"|"),a()),n&2){let e=t.$implicit,i=t.index,c=f();C("active",i===c.tickIndex()),l("title",e.label)}}function Y(n,t){if(n&1&&(r(0,"li")(1,"span",25),s(2),a(),r(3,"code",26),s(4),a()()),n&2){let e=t.$implicit;o(2),d(e.name),o(2),d(e.hash.slice(0,7))}}function Z(n,t){if(n&1&&(r(0,"div",22)(1,"span",19),s(2),a(),r(3,"ul",23),m(4,Y,5,2,"li",24),a()()),n&2){let e=f().ngIf,i=f();o(2),y("Branches (",i.branchEntries(e).length,")"),o(2),l("ngForOf",i.branchEntries(e).slice(0,8))}}function ee(n,t){if(n&1&&(r(0,"li")(1,"span",25),s(2),a(),r(3,"code",26),s(4),a()()),n&2){let e=t.$implicit;o(2),d(e.name),o(2),d(e.hash.slice(0,7))}}function te(n,t){if(n&1&&(r(0,"div",22)(1,"span",19),s(2),a(),r(3,"ul",23),m(4,ee,5,2,"li",24),a()()),n&2){let e=f().ngIf,i=f();o(2),y("Tags (",i.tagEntries(e).length,")"),o(2),l("ngForOf",i.tagEntries(e).slice(0,8))}}function ne(n,t){if(n&1&&(r(0,"section",17)(1,"div",18)(2,"span",19),s(3,"HEAD at this moment"),a(),r(4,"code",20),s(5),a()(),m(6,Z,5,2,"div",21)(7,te,5,2,"div",21),a()),n&2){let e=t.ngIf,i=f();o(5),d(e.ref??"(no commits yet)"),o(),l("ngIf",i.branchEntries(e).length),o(),l("ngIf",i.tagEntries(e).length)}}function ie(n,t){n&1&&(r(0,"span",27),s(1,"Computing diff\u2026"),a())}function ae(n,t){if(n&1&&(r(0,"span",27),s(1),a()),n&2){let e=t.ngIf;o(),d(e)}}function oe(n,t){n&1&&(r(0,"span",28),s(1," No differences (you're already at HEAD). "),a())}function re(n,t){if(n&1){let e=w();r(0,"div",31),x("click",function(){let c=E(e).$implicit,p=f(2);return S(p.selectedFile.set(c))}),r(1,"span"),s(2),a(),r(3,"span",32),s(4),a(),r(5,"span",33),s(6),a()()}if(n&2){let e=t.$implicit,i=f(2);C("selected",e===i.selectedFile()),o(),N(A("status status-",e.status)),o(),d(i.statusLabel(e.status)),o(2),d(e.file),o(2),z("+",e.additions," \u2212",e.deletions)}}function se(n,t){if(n&1&&(r(0,"div",29),m(1,re,7,9,"div",30),a()),n&2){let e=f();o(),l("ngForOf",e.diff())}}function le(n,t){if(n&1&&(r(0,"div",34),F(1,"app-diff-viewer",35),a()),n&2){let e=t.ngIf;o(),l("fileInput",e)}}var K=class n{state=h(G);timelineApi=h(b);snapshot=g(null);diff=g(null);loadingDiff=g(!1);diffError=g(null);selectedFile=g(null);tickIndex=g(0);ticks=v(()=>de(this.state.commits()));atDisplay=v(()=>{let t=this.ticks()[this.tickIndex()];return t?t.label:""});firstTickLabel=v(()=>this.ticks()[0]?.label??"");lastTickLabel=v(()=>this.ticks()[this.ticks().length-1]?.label??"");constructor(){M(()=>{let t=this.ticks();t.length!==0&&this.tickIndex()>=t.length&&this.tickIndex.set(t.length-1)}),M(()=>{let t=this.ticks()[this.tickIndex()];t&&this.timelineApi.snapshot(t.iso).subscribe({next:e=>{this.snapshot.set(e),this.loadDiff(e)},error:()=>this.snapshot.set(null)})})}onTickChange(t){this.tickIndex.set(Math.max(0,Math.min(this.ticks().length-1,Number(t))))}branchEntries(t){return Object.entries(t.branches).map(([e,i])=>({name:e,hash:i}))}tagEntries(t){return Object.entries(t.tags).map(([e,i])=>({name:e,hash:i}))}statusLabel(t){return t==="modified"?"mod":t.slice(0,3)}loadDiff(t){if(!t.ref){this.diff.set([]),this.selectedFile.set(null);return}let e=this.state.commits()[0]?.hash;if(!e||e===t.ref){this.diff.set([]),this.selectedFile.set(null);return}this.loadingDiff.set(!0),this.diffError.set(null),this.timelineApi.rangeDiff(t.ref,e).subscribe({next:i=>{this.diff.set(i),this.selectedFile.set(i[0]??null),this.loadingDiff.set(!1)},error:i=>{this.diffError.set(i?.error?.error??"Failed to compute diff"),this.loadingDiff.set(!1)}})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=P({type:n,selectors:[["app-timeline"]],decls:28,vars:12,consts:[[1,"page"],[1,"head"],[1,"sub"],[1,"now"],[1,"slider-wrap"],["type","range","min","0",1,"slider",3,"ngModelChange","max","ngModel"],[1,"ticks"],["class","tick",3,"active","title",4,"ngFor","ngForOf"],[1,"tick-labels"],["class","snapshot",4,"ngIf"],[1,"diff-panel"],[1,"diff-head"],["class","diff-status",4,"ngIf"],["class","diff-status muted",4,"ngIf"],["class","files",4,"ngIf"],["class","diff-body",4,"ngIf"],[1,"tick",3,"title"],[1,"snapshot"],[1,"snap-card"],[1,"snap-label"],[1,"snap-hash"],["class","snap-card branches",4,"ngIf"],[1,"snap-card","branches"],[1,"ref-list"],[4,"ngFor","ngForOf"],[1,"ref-name"],[1,"ref-hash"],[1,"diff-status"],[1,"diff-status","muted"],[1,"files"],["class","file",3,"selected","click",4,"ngFor","ngForOf"],[1,"file",3,"click"],[1,"path"],[1,"changes"],[1,"diff-body"],[3,"fileInput"]],template:function(e,i){if(e&1&&(r(0,"div",0)(1,"header",1)(2,"div")(3,"h2"),s(4,"Time travel"),a(),r(5,"p",2),s(6,"Drag the slider to see repo state at any point. Diff is computed against current HEAD."),a()(),r(7,"div",3),s(8),a()(),r(9,"div",4)(10,"input",5),x("ngModelChange",function(p){return i.onTickChange(p)}),a(),r(11,"div",6),m(12,X,2,3,"span",7),a(),r(13,"div",8)(14,"span"),s(15),a(),r(16,"span"),s(17),a()()(),m(18,ne,8,3,"section",9),r(19,"section",10)(20,"div",11)(21,"h3"),s(22,"Diff vs HEAD"),a(),m(23,ie,2,0,"span",12)(24,ae,2,1,"span",12)(25,oe,2,0,"span",13),a(),m(26,se,2,1,"div",14)(27,le,2,1,"div",15),a()()),e&2){let c,p;o(8),d(i.atDisplay()),o(2),l("max",i.ticks().length-1)("ngModel",i.tickIndex()),o(2),l("ngForOf",i.ticks()),o(3),d(i.firstTickLabel()),o(2),d(i.lastTickLabel()),o(),l("ngIf",i.snapshot()),o(5),l("ngIf",i.loadingDiff()),o(),l("ngIf",i.diffError()),o(),l("ngIf",!i.loadingDiff()&&!i.diffError()&&((c=i.diff())==null?null:c.length)===0),o(),l("ngIf",(((p=i.diff())==null?null:p.length)??0)>0),o(),l("ngIf",i.selectedFile())}},dependencies:[L,j,R,q,H,U,V,B,J],styles:["[_nghost-%COMP%]{display:block;flex:1;min-height:0;overflow-y:auto}.page[_ngcontent-%COMP%]{padding:1rem 1.25rem;max-width:1200px;margin:0 auto}.head[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}.head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px}.head[_ngcontent-%COMP%] .sub[_ngcontent-%COMP%]{margin:.2rem 0 0;color:var(--fg-muted);font-size:13px}.now[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);font-size:13px;padding:.4rem .7rem;background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-sm)}.slider-wrap[_ngcontent-%COMP%]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1rem}.slider[_ngcontent-%COMP%]{width:100%;accent-color:var(--accent)}.ticks[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:.4rem;color:var(--fg-subtle);font-size:10px}.tick.active[_ngcontent-%COMP%]{color:var(--accent);font-weight:700}.tick-labels[_ngcontent-%COMP%]{display:flex;justify-content:space-between;margin-top:.5rem;font-size:11px;color:var(--fg-muted)}.snapshot[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}.snap-card[_ngcontent-%COMP%]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.75rem 1rem}.snap-label[_ngcontent-%COMP%]{display:block;font-size:11px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.snap-hash[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);font-size:13px;color:var(--accent);word-break:break-all}.ref-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;font-size:12px}.ref-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding:2px 0;gap:1rem}.ref-name[_ngcontent-%COMP%]{color:var(--fg-secondary)}.ref-hash[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);color:var(--fg-muted);font-size:11px}.diff-panel[_ngcontent-%COMP%]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);overflow:hidden}.diff-head[_ngcontent-%COMP%]{padding:.75rem 1rem;border-bottom:1px solid var(--border-soft);display:flex;align-items:baseline;gap:1rem}.diff-head[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:14px}.diff-status[_ngcontent-%COMP%]{font-size:12px;color:var(--fg-muted)}.diff-status.muted[_ngcontent-%COMP%]{font-style:italic}.files[_ngcontent-%COMP%]{padding:.5rem 0;max-height:220px;overflow-y:auto}.file[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;padding:.35rem 1rem;cursor:pointer;font-size:12px}.file[_ngcontent-%COMP%]:hover{background:var(--bg-elevated)}.file.selected[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--accent) 18%,transparent)}.status[_ngcontent-%COMP%]{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--bg-elevated);color:var(--fg-muted);text-transform:uppercase}.status-added[_ngcontent-%COMP%]{background:#10b9812e;color:#10b981}.status-deleted[_ngcontent-%COMP%]{background:#ef44442e;color:#ef4444}.status-modified[_ngcontent-%COMP%]{background:#6366f12e;color:var(--accent)}.path[_ngcontent-%COMP%]{flex:1;font-family:var(--font-mono, monospace)}.changes[_ngcontent-%COMP%]{font-size:11px;color:var(--fg-muted)}.diff-body[_ngcontent-%COMP%]{border-top:1px solid var(--border-soft);padding:.5rem 0}"],changeDetection:0})};function de(n){if(n.length===0)return[];let t=[...n].sort((u,_)=>u.date.localeCompare(_.date)),e=t[0].date,i=t[t.length-1].date,c=new Date(e),O=new Date(i).getTime()-c.getTime(),I=Math.max(12,Math.min(24,Math.floor(O/(1e3*60*60*24*7))+1)),Q=O/Math.max(1,I-1),T=[];for(let u=0;u<I;u++){let _=new Date(c.getTime()+u*Q);T.push({iso:_.toISOString(),label:_.toISOString().slice(0,10)})}return T}export{K as TimelineComponent};
@@ -1,3 +0,0 @@
1
- import{a as tt,b as F,c as et,d as nt,e as A,l as it,m as ot,n as at,o as rt,p as st,q as lt,r as ct,s as mt,t as W}from"./chunk-QUDEGJKI.js";import{d as Y}from"./chunk-3FFYILBL.js";import{a as Z}from"./chunk-ITIFFECZ.js";import{$,Ab as h,Cb as G,Eb as L,Ga as s,Lb as Q,Nb as j,Pa as v,Ta as _,Tb as X,Va as q,ab as k,db as g,dc as U,ea as O,eb as a,ec as J,fa as P,fb as r,ga as w,gb as S,gc as K,hc as b,jb as E,mb as D,nb as V,oa as C,ob as x,sa as I,sb as T,tb as H,ub as R,wb as B,zb as l}from"./chunk-TQE5NWMZ.js";var ft=["svg"],N=class i{data=[];height=200;svgRef;ngAfterViewInit(){this.render()}ngOnChanges(){this.render()}render(){if(!this.svgRef)return;let e=this.svgRef.nativeElement,t=e.clientWidth||600,o={top:10,right:16,bottom:24,left:32},c=Math.max(0,t-o.left-o.right),d=Math.max(0,this.height-o.top-o.bottom),y=A(e);if(y.selectAll("*").remove(),this.data.length===0)return;let u=this.data.map(m=>({date:new Date(m.date),commits:m.commits,churn:m.additions+m.deletions})),n=rt().domain(tt(u,m=>m.date)).range([0,c]),p=at().domain([0,F(u,m=>m.commits)??1]).nice().range([d,0]),f=y.append("g").attr("transform",`translate(${o.left},${o.top})`),M=mt().x(m=>n(m.date)).y0(d).y1(m=>p(m.commits)).curve(W);f.append("path").datum(u).attr("class","area").attr("d",M);let ut=ct().x(m=>n(m.date)).y(m=>p(m.commits)).curve(W);f.append("path").datum(u).attr("class","line").attr("d",ut),f.append("g").attr("class","axis").attr("transform",`translate(0,${d})`).call(et(n).ticks(6).tickSizeOuter(0)),f.append("g").attr("class","axis").call(nt(p).ticks(4).tickSizeOuter(0))}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["app-churn-chart"]],viewQuery:function(t,o){if(t&1&&T(ft,7),t&2){let c;H(c=R())&&(o.svgRef=c.first)}},inputs:{data:"data",height:"height"},features:[I],decls:2,vars:1,consts:[["svg",""],["width","100%","aria-label","Churn over time"]],template:function(t,o){t&1&&(w(),E(0,"svg",1,0)),t&2&&k("height",o.height)},dependencies:[b],styles:["[_nghost-%COMP%]{display:block}svg[_ngcontent-%COMP%]{display:block}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.axis text){font-size:10px;fill:var(--fg-muted)}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.axis path), svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.axis line){stroke:var(--border-soft)}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.area){fill:var(--accent);fill-opacity:.18}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.line){stroke:var(--accent);stroke-width:1.5;fill:none}"],changeDetection:0})};var Ct=["svg"],z=class i{data=[];height=320;fileClick=new q;svgRef;ngAfterViewInit(){this.render()}ngOnChanges(){this.render()}render(){if(!this.svgRef)return;let e=this.svgRef.nativeElement,t=e.clientWidth||600,o=A(e);if(o.selectAll("*").remove(),this.data.length===0)return;let c=it({name:"root",children:this.data}).sum(n=>n.commits??0).sort((n,p)=>(p.value??0)-(n.value??0));ot().size([t,this.height]).padding(2).round(!0)(c);let y=st().domain([0,F(this.data,n=>n.commits)??1]).interpolator(lt),u=o.selectAll("g").data(c.leaves()).join("g").attr("class","cell").attr("transform",n=>`translate(${n.x0},${n.y0})`).on("click",(n,p)=>this.fileClick.emit(p.data.file));u.append("rect").attr("width",n=>n.x1-n.x0).attr("height",n=>n.y1-n.y0).attr("fill",n=>y(n.data.commits)).attr("stroke","var(--bg-app)"),u.append("title").text(n=>{let p=n.data;return`${p.file}
2
- ${p.commits} commits, ${p.authors} authors
3
- +${p.additions} -${p.deletions}`}),u.append("text").attr("class","cell-label").attr("x",4).attr("y",12).text(n=>{let p=n.x1-n.x0,f=n.y1-n.y0;if(p<40||f<18)return"";let M=n.data.file;return M.split("/").pop()??M})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["app-hotspots-treemap"]],viewQuery:function(t,o){if(t&1&&T(Ct,7),t&2){let c;H(c=R())&&(o.svgRef=c.first)}},inputs:{data:"data",height:"height"},outputs:{fileClick:"fileClick"},features:[I],decls:2,vars:1,consts:[["svg",""],["width","100%","aria-label","Hotspots treemap"]],template:function(t,o){t&1&&(w(),E(0,"svg",1,0)),t&2&&k("height",o.height)},dependencies:[b],styles:["[_nghost-%COMP%]{display:block}svg[_ngcontent-%COMP%]{display:block}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.cell){cursor:pointer}svg[_ngcontent-%COMP%] [_ngcontent-%COMP%]:global(.cell-label){pointer-events:none;font-size:10px;fill:var(--bg-app);font-family:var(--font-mono, monospace)}"],changeDetection:0})};function vt(i,e){if(i&1&&(a(0,"p",6),l(1),Q(2,"slice"),Q(3,"slice"),r()),i&2){let t=e.ngIf;s(),L(" ",t.totalCommits," commits, ",t.totalAuthors," contributors \u2014 window ",j(2,4,t.windowStart,0,10)," \u2192 ",j(3,8,t.windowEnd,0,10)," ")}}function _t(i,e){i&1&&(a(0,"div",7),l(1,"Computing insights (this may take a few seconds)\u2026"),r())}function bt(i,e){if(i&1&&(a(0,"div",8),l(1),r()),i&2){let t=e.ngIf;s(),h(t)}}function xt(i,e){if(i&1&&(a(0,"li")(1,"div",19)(2,"span",20),l(3),r(),a(4,"span",21),l(5),r()(),a(6,"div",22),S(7,"div",23),r()()),i&2){let t=e.$implicit,o=x(2);s(3),h(t.author),s(2),h(t.commits),s(2),B("width",o.barPct(t.commits,o.maxAuthorCommits()),"%")}}function yt(i,e){if(i&1){let t=D();a(0,"li")(1,"a",24),V("click",function(){let c=O(t).$implicit,d=x(2);return P(d.openFile(c.file))}),l(2),r(),a(3,"span",25),l(4),r(),a(5,"span",26),l(6),r()()}if(i&2){let t=e.$implicit;s(2),h(t.file),s(2),G("",t.commits,"c \xB7 ",t.authors,"a"),s(2),G("+",t.additions," \u2212",t.deletions)}}function Mt(i,e){if(i&1){let t=D();a(0,"li")(1,"a",24),V("click",function(){let c=O(t).$implicit,d=x(2);return P(d.openFile(c.file))}),l(2),r(),a(3,"div",27),S(4,"div",28),a(5,"span",29),l(6),r()(),a(7,"span",30),l(8),r()()}if(i&2){let t=e.$implicit;s(2),h(t.file),s(2),B("width",t.riskScore*100,"%"),s(2),h((t.riskScore*100).toFixed(0)),s(2),h(t.reason)}}function Ot(i,e){if(i&1){let t=D();a(0,"div",9)(1,"section",10)(2,"h3"),l(3,"Top contributors"),r(),a(4,"ul",11),_(5,xt,8,4,"li",12),r()(),a(6,"section",13)(7,"h3"),l(8,"Hotspots "),a(9,"span",14),l(10,"(treemap sized by commit count \u2014 click to drill in)"),r()(),a(11,"app-hotspots-treemap",15),V("fileClick",function(c){O(t);let d=x();return P(d.openFile(c))}),r(),a(12,"ul",16),_(13,yt,7,5,"li",12),r()(),a(14,"section",10)(15,"h3"),l(16,"Risky files "),a(17,"span",14),l(18,"(churn \xD7 authors \xD7 recency)"),r()(),a(19,"ul",17),_(20,Mt,9,5,"li",12),r()(),a(21,"section",13)(22,"h3"),l(23,"Churn over time"),r(),S(24,"app-churn-chart",18),r()()}if(i&2){let t=e.ngIf;s(5),g("ngForOf",t.topContributors),s(6),g("data",t.hotspots),s(2),g("ngForOf",t.hotspots.slice(0,5)),s(7),g("ngForOf",t.riskyFiles),s(4),g("data",t.churnByDay)}}var gt=class i{insightsApi=$(Z);router=$(Y);bundle=C(null);loading=C(!1);error=C(null);maxAuthorCommits=C(0);maxDayCommits=C(0);constructor(){X(()=>{this.load()})}trackByDate(e,t){return t.date}barPct(e,t){return t>0?Math.round(e/t*100):0}dayPct(e,t){return t>0?Math.max(2,Math.round(e/t*100)):0}shouldShowLabel(e){return e.endsWith("-01")}openFile(e){this.router.navigate(["/file",encodeURIComponent(e)])}load(){this.loading.set(!0),this.error.set(null),this.insightsApi.bundle({maxCommits:500}).subscribe({next:e=>{this.bundle.set(e),this.maxAuthorCommits.set(e.topContributors[0]?.commits??0),this.maxDayCommits.set(Math.max(0,...e.churnByDay.map(t=>t.commits))),this.loading.set(!1)},error:e=>{this.error.set(e?.error?.error??"Failed to load insights"),this.loading.set(!1)}})}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=v({type:i,selectors:[["app-insights"]],decls:8,vars:4,consts:[[1,"page"],[1,"head"],["class","sub",4,"ngIf"],["class","empty",4,"ngIf"],["class","empty error",4,"ngIf"],["class","grid",4,"ngIf"],[1,"sub"],[1,"empty"],[1,"empty","error"],[1,"grid"],[1,"card"],[1,"bars"],[4,"ngFor","ngForOf"],[1,"card","wide"],[1,"card-sub"],[3,"fileClick","data"],[1,"hot-list","compact"],[1,"risk-list"],[3,"data"],[1,"bar-row"],[1,"bar-label"],[1,"bar-value"],[1,"bar-track"],[1,"bar-fill"],[1,"path",3,"click"],[1,"count"],[1,"churn"],[1,"risk-bar"],[1,"risk-fill"],[1,"risk-score"],[1,"reason"]],template:function(t,o){t&1&&(a(0,"div",0)(1,"header",1)(2,"h2"),l(3,"Insights"),r(),_(4,vt,4,12,"p",2),r(),_(5,_t,2,0,"div",3)(6,bt,2,1,"div",4)(7,Ot,25,5,"div",5),r()),t&2&&(s(4),g("ngIf",o.bundle()),s(),g("ngIf",o.loading()),s(),g("ngIf",o.error()),s(),g("ngIf",o.bundle()))},dependencies:[b,U,J,z,N,K],styles:["[_nghost-%COMP%]{display:block;flex:1;min-height:0;overflow-y:auto}.page[_ngcontent-%COMP%]{padding:1rem 1.25rem;max-width:1300px;margin:0 auto}.head[_ngcontent-%COMP%]{margin-bottom:1rem}.head[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:18px}.head[_ngcontent-%COMP%] .sub[_ngcontent-%COMP%]{margin:.25rem 0 0;color:var(--fg-muted);font-size:13px}.empty[_ngcontent-%COMP%]{padding:2rem;color:var(--fg-muted);text-align:center}.empty.error[_ngcontent-%COMP%]{color:var(--danger)}.grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.card[_ngcontent-%COMP%]{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:1rem 1.25rem}.card.wide[_ngcontent-%COMP%]{grid-column:1 / -1}.card[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .75rem;font-size:14px}.card-sub[_ngcontent-%COMP%]{font-size:11px;color:var(--fg-muted);font-weight:400;margin-left:.4rem}.bars[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.bar-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;font-size:12px;margin-bottom:3px}.bar-label[_ngcontent-%COMP%]{color:var(--fg-primary)}.bar-value[_ngcontent-%COMP%]{color:var(--fg-muted);font-variant-numeric:tabular-nums}.bar-track[_ngcontent-%COMP%]{height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.bar-fill[_ngcontent-%COMP%]{height:100%;background:var(--accent);border-radius:3px}.hot-list[_ngcontent-%COMP%], .risk-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.hot-list.compact[_ngcontent-%COMP%]{margin-top:.5rem;max-height:130px;overflow-y:auto}.hot-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .risk-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.4rem 0;border-bottom:1px solid color-mix(in oklab,var(--border-soft) 50%,transparent);font-size:12px}.hot-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child, .risk-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child{border-bottom:0}.path[_ngcontent-%COMP%]{font-family:var(--font-mono, monospace);color:var(--accent);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.path[_ngcontent-%COMP%]:hover{text-decoration:underline}.count[_ngcontent-%COMP%], .churn[_ngcontent-%COMP%]{color:var(--fg-muted);font-size:11px}.risk-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{grid-template-columns:minmax(0,1.5fr) 100px minmax(0,1.5fr)}.risk-bar[_ngcontent-%COMP%]{position:relative;height:16px;background:var(--bg-elevated);border-radius:3px;overflow:hidden}.risk-fill[_ngcontent-%COMP%]{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444)}.risk-score[_ngcontent-%COMP%]{position:absolute;inset:0;display:grid;place-items:center;font-size:10px;font-weight:600;color:var(--fg-primary);mix-blend-mode:difference}.reason[_ngcontent-%COMP%]{color:var(--fg-muted);font-size:11px}.churn-chart[_ngcontent-%COMP%]{display:flex;align-items:flex-end;height:120px;gap:1px;padding:.5rem 0}.day[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative}.day-bar[_ngcontent-%COMP%]{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:1px;opacity:.85}.day[_ngcontent-%COMP%]:hover .day-bar[_ngcontent-%COMP%]{opacity:1}.day-label[_ngcontent-%COMP%]{font-size:9px;color:var(--fg-muted);position:absolute;bottom:-16px;transform:rotate(-30deg);transform-origin:top left;white-space:nowrap}"],changeDetection:0})};export{gt as InsightsComponent};
@@ -1 +0,0 @@
1
- import{$ as n,W as a,mc as r,nc as m}from"./chunk-TQE5NWMZ.js";var o=class s{http=n(m);base="/api";getCommits(t={}){let e=new r;for(let[b,i]of Object.entries(t))i!=null&&i!==""&&(e=e.set(b,String(i)));return this.http.get(`${this.base}/commits`,{params:e})}getCommit(t){return this.http.get(`${this.base}/commit/${t}`)}getDiff(t){return this.http.get(`${this.base}/diff/${t}`)}getBlame(t){let e=new r().set("file",t);return this.http.get(`${this.base}/blame`,{params:e})}getTags(){return this.http.get(`${this.base}/tags`)}getBranches(){return this.http.get(`${this.base}/branches`)}getAuthors(){return this.http.get(`${this.base}/authors`)}static \u0275fac=function(e){return new(e||s)};static \u0275prov=a({token:s,factory:s.\u0275fac,providedIn:"root"})};export{o as a};
@@ -1 +0,0 @@
1
- function An(t,e){let r,n;if(e===void 0)for(let o of t)o!=null&&(r===void 0?o>=o&&(r=n=o):(r>o&&(r=o),n<o&&(n=o)));else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(r===void 0?i>=i&&(r=n=i):(r>i&&(r=i),n<i&&(n=i)))}return[r,n]}function Dn(t,e){let r;if(e===void 0)for(let n of t)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of t)(o=e(o,++n,t))!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}return r}function kt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ar(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ct(t){let e,r,n;t.length!==2?(e=kt,r=(s,f)=>kt(t(s),f),n=(s,f)=>t(s)-f):(e=t===kt||t===Ar?t:Tu,r=t,n=t);function o(s,f,u=0,c=s.length){if(u<c){if(e(f,f)!==0)return c;do{let m=u+c>>>1;r(s[m],f)<0?u=m+1:c=m}while(u<c)}return u}function i(s,f,u=0,c=s.length){if(u<c){if(e(f,f)!==0)return c;do{let m=u+c>>>1;r(s[m],f)<=0?u=m+1:c=m}while(u<c)}return u}function a(s,f,u=0,c=s.length){let m=o(s,f,u,c-1);return m>u&&n(s[m-1],f)>-n(s[m],f)?m-1:m}return{left:o,center:a,right:i}}function Tu(){return 0}function Dr(t){return t===null?NaN:+t}var In=Ct(kt),En=In.right,Su=In.left,ku=Ct(Dr).center,Ir=En;var Cu=Math.sqrt(50),Nu=Math.sqrt(10),Au=Math.sqrt(2);function Re(t,e,r){let n=(e-t)/Math.max(0,r),o=Math.floor(Math.log10(n)),i=n/Math.pow(10,o),a=i>=Cu?10:i>=Nu?5:i>=Au?2:1,s,f,u;return o<0?(u=Math.pow(10,-o)/a,s=Math.round(t*u),f=Math.round(e*u),s/u<t&&++s,f/u>e&&--f,u=-u):(u=Math.pow(10,o)*a,s=Math.round(t/u),f=Math.round(e/u),s*u<t&&++s,f*u>e&&--f),f<s&&.5<=r&&r<2?Re(t,e,r*2):[s,f,u]}function ze(t,e,r){if(e=+e,t=+t,r=+r,!(r>0))return[];if(t===e)return[t];let n=e<t,[o,i,a]=n?Re(e,t,r):Re(t,e,r);if(!(i>=o))return[];let s=i-o+1,f=new Array(s);if(n)if(a<0)for(let u=0;u<s;++u)f[u]=(i-u)/-a;else for(let u=0;u<s;++u)f[u]=(i-u)*a;else if(a<0)for(let u=0;u<s;++u)f[u]=(o+u)/-a;else for(let u=0;u<s;++u)f[u]=(o+u)*a;return f}function ue(t,e,r){return e=+e,t=+t,r=+r,Re(t,e,r)[2]}function Wt(t,e,r){e=+e,t=+t,r=+r;let n=e<t,o=n?ue(e,t,r):ue(t,e,r);return(n?-1:1)*(o<0?1/-o:o)}function On(t){return t}var Er=1,Or=2,Yr=3,se=4,Yn=1e-6;function Du(t){return"translate("+t+",0)"}function Iu(t){return"translate(0,"+t+")"}function Eu(t){return e=>+t(e)}function Ou(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function Yu(){return!this.__axis}function Fn(t,e){var r=[],n=null,o=null,i=6,a=6,s=3,f=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===Er||t===se?-1:1,c=t===se||t===Or?"x":"y",m=t===Er||t===Yr?Du:Iu;function l(h){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),x=o??(e.tickFormat?e.tickFormat.apply(e,r):On),d=Math.max(i,0)+s,y=e.range(),_=+y[0]+f,M=+y[y.length-1]+f,p=(e.bandwidth?Ou:Eu)(e.copy(),f),b=h.selection?h.selection():h,v=b.selectAll(".domain").data([null]),k=b.selectAll(".tick").data(g,e).order(),C=k.exit(),Y=k.enter().append("g").attr("class","tick"),N=k.select("line"),S=k.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),k=k.merge(Y),N=N.merge(Y.append("line").attr("stroke","currentColor").attr(c+"2",u*i)),S=S.merge(Y.append("text").attr("fill","currentColor").attr(c,u*d).attr("dy",t===Er?"0em":t===Yr?"0.71em":"0.32em")),h!==b&&(v=v.transition(h),k=k.transition(h),N=N.transition(h),S=S.transition(h),C=C.transition(h).attr("opacity",Yn).attr("transform",function(O){return isFinite(O=p(O))?m(O+f):this.getAttribute("transform")}),Y.attr("opacity",Yn).attr("transform",function(O){var D=this.parentNode.__axis;return m((D&&isFinite(D=D(O))?D:p(O))+f)})),C.remove(),v.attr("d",t===se||t===Or?a?"M"+u*a+","+_+"H"+f+"V"+M+"H"+u*a:"M"+f+","+_+"V"+M:a?"M"+_+","+u*a+"V"+f+"H"+M+"V"+u*a:"M"+_+","+f+"H"+M),k.attr("opacity",1).attr("transform",function(O){return m(p(O)+f)}),N.attr(c+"2",u*i),S.attr(c,u*d).text(x),b.filter(Yu).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===Or?"start":t===se?"end":"middle"),b.each(function(){this.__axis=p})}return l.scale=function(h){return arguments.length?(e=h,l):e},l.ticks=function(){return r=Array.from(arguments),l},l.tickArguments=function(h){return arguments.length?(r=h==null?[]:Array.from(h),l):r.slice()},l.tickValues=function(h){return arguments.length?(n=h==null?null:Array.from(h),l):n&&n.slice()},l.tickFormat=function(h){return arguments.length?(o=h,l):o},l.tickSize=function(h){return arguments.length?(i=a=+h,l):i},l.tickSizeInner=function(h){return arguments.length?(i=+h,l):i},l.tickSizeOuter=function(h){return arguments.length?(a=+h,l):a},l.tickPadding=function(h){return arguments.length?(s=+h,l):s},l.offset=function(h){return arguments.length?(f=+h,l):f},l}function Fu(t){return Fn(Yr,t)}function Ru(t){return Fn(se,t)}function zu(){}function Nt(t){return t==null?zu:function(){return this.querySelector(t)}}function Rn(t){typeof t!="function"&&(t=Nt(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=new Array(a),f,u,c=0;c<a;++c)(f=i[c])&&(u=t.call(f,f.__data__,c,i))&&("__data__"in f&&(u.__data__=f.__data__),s[c]=u);return new z(n,this._parents)}function Fr(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Uu(){return[]}function fe(t){return t==null?Uu:function(){return this.querySelectorAll(t)}}function Pu(t){return function(){return Fr(t.apply(this,arguments))}}function zn(t){typeof t=="function"?t=Pu(t):t=fe(t);for(var e=this._groups,r=e.length,n=[],o=[],i=0;i<r;++i)for(var a=e[i],s=a.length,f,u=0;u<s;++u)(f=a[u])&&(n.push(t.call(f,f.__data__,u,a)),o.push(f));return new z(n,o)}function le(t){return function(){return this.matches(t)}}function Ue(t){return function(e){return e.matches(t)}}var $u=Array.prototype.find;function Lu(t){return function(){return $u.call(this.children,t)}}function Bu(){return this.firstElementChild}function Un(t){return this.select(t==null?Bu:Lu(typeof t=="function"?t:Ue(t)))}var Hu=Array.prototype.filter;function qu(){return Array.from(this.children)}function Xu(t){return function(){return Hu.call(this.children,t)}}function Pn(t){return this.selectAll(t==null?qu:Xu(typeof t=="function"?t:Ue(t)))}function $n(t){typeof t!="function"&&(t=le(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=[],f,u=0;u<a;++u)(f=i[u])&&t.call(f,f.__data__,u,i)&&s.push(f);return new z(n,this._parents)}function Pe(t){return new Array(t.length)}function Ln(){return new z(this._enter||this._groups.map(Pe),this._parents)}function ce(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}ce.prototype={constructor:ce,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Bn(t){return function(){return t}}function Wu(t,e,r,n,o,i){for(var a=0,s,f=e.length,u=i.length;a<u;++a)(s=e[a])?(s.__data__=i[a],n[a]=s):r[a]=new ce(t,i[a]);for(;a<f;++a)(s=e[a])&&(o[a]=s)}function Vu(t,e,r,n,o,i,a){var s,f,u=new Map,c=e.length,m=i.length,l=new Array(c),h;for(s=0;s<c;++s)(f=e[s])&&(l[s]=h=a.call(f,f.__data__,s,e)+"",u.has(h)?o[s]=f:u.set(h,f));for(s=0;s<m;++s)h=a.call(t,i[s],s,i)+"",(f=u.get(h))?(n[s]=f,f.__data__=i[s],u.delete(h)):r[s]=new ce(t,i[s]);for(s=0;s<c;++s)(f=e[s])&&u.get(l[s])===f&&(o[s]=f)}function Gu(t){return t.__data__}function Hn(t,e){if(!arguments.length)return Array.from(this,Gu);var r=e?Vu:Wu,n=this._parents,o=this._groups;typeof t!="function"&&(t=Bn(t));for(var i=o.length,a=new Array(i),s=new Array(i),f=new Array(i),u=0;u<i;++u){var c=n[u],m=o[u],l=m.length,h=Zu(t.call(c,c&&c.__data__,u,n)),g=h.length,x=s[u]=new Array(g),d=a[u]=new Array(g),y=f[u]=new Array(l);r(c,m,x,d,y,h,e);for(var _=0,M=0,p,b;_<g;++_)if(p=x[_]){for(_>=M&&(M=_+1);!(b=d[M])&&++M<g;);p._next=b||null}}return a=new z(a,n),a._enter=s,a._exit=f,a}function Zu(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function qn(){return new z(this._exit||this._groups.map(Pe),this._parents)}function Xn(t,e,r){var n=this.enter(),o=this,i=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),r==null?i.remove():r(i),n&&o?n.merge(o).order():o}function Wn(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,o=r.length,i=n.length,a=Math.min(o,i),s=new Array(o),f=0;f<a;++f)for(var u=r[f],c=n[f],m=u.length,l=s[f]=new Array(m),h,g=0;g<m;++g)(h=u[g]||c[g])&&(l[g]=h);for(;f<o;++f)s[f]=r[f];return new z(s,this._parents)}function Vn(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var n=t[e],o=n.length-1,i=n[o],a;--o>=0;)(a=n[o])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function Gn(t){t||(t=Qu);function e(m,l){return m&&l?t(m.__data__,l.__data__):!m-!l}for(var r=this._groups,n=r.length,o=new Array(n),i=0;i<n;++i){for(var a=r[i],s=a.length,f=o[i]=new Array(s),u,c=0;c<s;++c)(u=a[c])&&(f[c]=u);f.sort(e)}return new z(o,this._parents).order()}function Qu(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Zn(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Qn(){return Array.from(this)}function Kn(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length;o<i;++o){var a=n[o];if(a)return a}return null}function Jn(){let t=0;for(let e of this)++t;return t}function jn(){return!this.node()}function to(t){for(var e=this._groups,r=0,n=e.length;r<n;++r)for(var o=e[r],i=0,a=o.length,s;i<a;++i)(s=o[i])&&t.call(s,s.__data__,i,o);return this}var $e="http://www.w3.org/1999/xhtml",Rr={svg:"http://www.w3.org/2000/svg",xhtml:$e,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function lt(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),Rr.hasOwnProperty(e)?{space:Rr[e],local:t}:t}function Ku(t){return function(){this.removeAttribute(t)}}function Ju(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ju(t,e){return function(){this.setAttribute(t,e)}}function ts(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function es(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function rs(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function eo(t,e){var r=lt(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?Ju:Ku:typeof e=="function"?r.local?rs:es:r.local?ts:ju)(r,e))}function Le(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ns(t){return function(){this.style.removeProperty(t)}}function os(t,e,r){return function(){this.style.setProperty(t,e,r)}}function is(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function ro(t,e,r){return arguments.length>1?this.each((e==null?ns:typeof e=="function"?is:os)(t,e,r??"")):yt(this.node(),t)}function yt(t,e){return t.style.getPropertyValue(e)||Le(t).getComputedStyle(t,null).getPropertyValue(e)}function as(t){return function(){delete this[t]}}function us(t,e){return function(){this[t]=e}}function ss(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function no(t,e){return arguments.length>1?this.each((e==null?as:typeof e=="function"?ss:us)(t,e)):this.node()[t]}function oo(t){return t.trim().split(/^|\s+/)}function zr(t){return t.classList||new io(t)}function io(t){this._node=t,this._names=oo(t.getAttribute("class")||"")}io.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function ao(t,e){for(var r=zr(t),n=-1,o=e.length;++n<o;)r.add(e[n])}function uo(t,e){for(var r=zr(t),n=-1,o=e.length;++n<o;)r.remove(e[n])}function fs(t){return function(){ao(this,t)}}function ls(t){return function(){uo(this,t)}}function cs(t,e){return function(){(e.apply(this,arguments)?ao:uo)(this,t)}}function so(t,e){var r=oo(t+"");if(arguments.length<2){for(var n=zr(this.node()),o=-1,i=r.length;++o<i;)if(!n.contains(r[o]))return!1;return!0}return this.each((typeof e=="function"?cs:e?fs:ls)(r,e))}function ms(){this.textContent=""}function hs(t){return function(){this.textContent=t}}function ps(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function fo(t){return arguments.length?this.each(t==null?ms:(typeof t=="function"?ps:hs)(t)):this.node().textContent}function ds(){this.innerHTML=""}function xs(t){return function(){this.innerHTML=t}}function gs(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function lo(t){return arguments.length?this.each(t==null?ds:(typeof t=="function"?gs:xs)(t)):this.node().innerHTML}function ys(){this.nextSibling&&this.parentNode.appendChild(this)}function co(){return this.each(ys)}function vs(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function mo(){return this.each(vs)}function ws(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===$e&&e.documentElement.namespaceURI===$e?e.createElement(t):e.createElementNS(r,t)}}function _s(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Be(t){var e=lt(t);return(e.local?_s:ws)(e)}function ho(t){var e=typeof t=="function"?t:Be(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function bs(){return null}function po(t,e){var r=typeof t=="function"?t:Be(t),n=e==null?bs:typeof e=="function"?e:Nt(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}function Ms(){var t=this.parentNode;t&&t.removeChild(this)}function xo(){return this.each(Ms)}function Ts(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Ss(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function go(t){return this.select(t?Ss:Ts)}function yo(t){return arguments.length?this.property("__data__",t):this.node().__data__}function ks(t){return function(e){t.call(this,e,this.__data__)}}function Cs(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function Ns(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,o=e.length,i;r<o;++r)i=e[r],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++n]=i;++n?e.length=n:delete this.__on}}}function As(t,e,r){return function(){var n=this.__on,o,i=ks(e);if(n){for(var a=0,s=n.length;a<s;++a)if((o=n[a]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=r),o.value=e;return}}this.addEventListener(t.type,i,r),o={type:t.type,name:t.name,value:e,listener:i,options:r},n?n.push(o):this.__on=[o]}}function vo(t,e,r){var n=Cs(t+""),o,i=n.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var f=0,u=s.length,c;f<u;++f)for(o=0,c=s[f];o<i;++o)if((a=n[o]).type===c.type&&a.name===c.name)return c.value}return}for(s=e?As:Ns,o=0;o<i;++o)this.each(s(n[o],e,r));return this}function wo(t,e,r){var n=Le(t),o=n.CustomEvent;typeof o=="function"?o=new o(e,r):(o=n.document.createEvent("Event"),r?(o.initEvent(e,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function Ds(t,e){return function(){return wo(this,t,e)}}function Is(t,e){return function(){return wo(this,t,e.apply(this,arguments))}}function _o(t,e){return this.each((typeof e=="function"?Is:Ds)(t,e))}function*bo(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],o=0,i=n.length,a;o<i;++o)(a=n[o])&&(yield a)}var Ur=[null];function z(t,e){this._groups=t,this._parents=e}function Mo(){return new z([[document.documentElement]],Ur)}function Es(){return this}z.prototype=Mo.prototype={constructor:z,select:Rn,selectAll:zn,selectChild:Un,selectChildren:Pn,filter:$n,data:Hn,enter:Ln,exit:qn,join:Xn,merge:Wn,selection:Es,order:Vn,sort:Gn,call:Zn,nodes:Qn,node:Kn,size:Jn,empty:jn,each:to,attr:eo,style:ro,property:no,classed:so,text:fo,html:lo,raise:co,lower:mo,append:ho,insert:po,remove:xo,clone:go,datum:yo,on:vo,dispatch:_o,[Symbol.iterator]:bo};var ct=Mo;function At(t){return typeof t=="string"?new z([[document.querySelector(t)]],[document.documentElement]):new z([[t]],Ur)}function To(t){let e;for(;e=t.sourceEvent;)t=e;return t}function He(t,e){if(t=To(t),e===void 0&&(e=t.currentTarget),e){var r=e.ownerSVGElement||e;if(r.createSVGPoint){var n=r.createSVGPoint();return n.x=t.clientX,n.y=t.clientY,n=n.matrixTransform(e.getScreenCTM().inverse()),[n.x,n.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}function Os(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function So(){return this.eachAfter(Os)}function ko(t,e){let r=-1;for(let n of this)t.call(e,n,++r,this);return this}function Co(t,e){for(var r=this,n=[r],o,i,a=-1;r=n.pop();)if(t.call(e,r,++a,this),o=r.children)for(i=o.length-1;i>=0;--i)n.push(o[i]);return this}function No(t,e){for(var r=this,n=[r],o=[],i,a,s,f=-1;r=n.pop();)if(o.push(r),i=r.children)for(a=0,s=i.length;a<s;++a)n.push(i[a]);for(;r=o.pop();)t.call(e,r,++f,this);return this}function Ao(t,e){let r=-1;for(let n of this)if(t.call(e,n,++r,this))return n}function Do(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,o=n&&n.length;--o>=0;)r+=n[o].value;e.value=r})}function Io(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Eo(t){for(var e=this,r=Ys(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var o=n.length;t!==r;)n.splice(o,0,t),t=t.parent;return n}function Ys(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),o=null;for(t=r.pop(),e=n.pop();t===e;)o=t,t=r.pop(),e=n.pop();return o}function Oo(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function Yo(){return Array.from(this)}function Fo(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function Ro(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*zo(){var t=this,e,r=[t],n,o,i;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(o=0,i=n.length;o<i;++o)r.push(n[o]);while(r.length)}function qe(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=zs)):e===void 0&&(e=Rs);for(var r=new me(t),n,o=[r],i,a,s,f;n=o.pop();)if((a=e(n.data))&&(f=(a=Array.from(a)).length))for(n.children=a,s=f-1;s>=0;--s)o.push(i=a[s]=new me(a[s])),i.parent=n,i.depth=n.depth+1;return r.eachBefore(Ps)}function Fs(){return qe(this).eachBefore(Us)}function Rs(t){return t.children}function zs(t){return Array.isArray(t)?t[1]:null}function Us(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function Ps(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function me(t){this.data=t,this.depth=this.height=0,this.parent=null}me.prototype=qe.prototype={constructor:me,count:So,each:ko,eachAfter:No,eachBefore:Co,find:Ao,sum:Do,sort:Io,path:Eo,ancestors:Oo,descendants:Yo,leaves:Fo,links:Ro,copy:Fs,[Symbol.iterator]:zo};function Uo(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 Po(t,e,r,n,o){for(var i=t.children,a,s=-1,f=i.length,u=t.value&&(n-e)/t.value;++s<f;)a=i[s],a.y0=r,a.y1=o,a.x0=e,a.x1=e+=a.value*u}function $o(t,e,r,n,o){for(var i=t.children,a,s=-1,f=i.length,u=t.value&&(o-r)/t.value;++s<f;)a=i[s],a.x0=e,a.x1=n,a.y0=r,a.y1=r+=a.value*u}var $s=(1+Math.sqrt(5))/2;function Ls(t,e,r,n,o,i){for(var a=[],s=e.children,f,u,c=0,m=0,l=s.length,h,g,x=e.value,d,y,_,M,p,b,v;c<l;){h=o-r,g=i-n;do d=s[m++].value;while(!d&&m<l);for(y=_=d,b=Math.max(g/h,h/g)/(x*t),v=d*d*b,p=Math.max(_/v,v/y);m<l;++m){if(d+=u=s[m].value,u<y&&(y=u),u>_&&(_=u),v=d*d*b,M=Math.max(_/v,v/y),M>p){d-=u;break}p=M}a.push(f={value:d,dice:h<g,children:s.slice(c,m)}),f.dice?Po(f,r,n,o,x?n+=g*d/x:i):$o(f,r,n,x?r+=h*d/x:o,i),x-=d,c=m}return a}var Lo=(function t(e){function r(n,o,i,a,s){Ls(e,n,o,i,a,s)}return r.ratio=function(n){return t((n=+n)>1?n:1)},r})($s);function Bo(t){if(typeof t!="function")throw new Error;return t}function Vt(){return 0}function Gt(t){return function(){return t}}function Bs(){var t=Lo,e=!1,r=1,n=1,o=[0],i=Vt,a=Vt,s=Vt,f=Vt,u=Vt;function c(l){return l.x0=l.y0=0,l.x1=r,l.y1=n,l.eachBefore(m),o=[0],e&&l.eachBefore(Uo),l}function m(l){var h=o[l.depth],g=l.x0+h,x=l.y0+h,d=l.x1-h,y=l.y1-h;d<g&&(g=d=(g+d)/2),y<x&&(x=y=(x+y)/2),l.x0=g,l.y0=x,l.x1=d,l.y1=y,l.children&&(h=o[l.depth+1]=i(l)/2,g+=u(l)-h,x+=a(l)-h,d-=s(l)-h,y-=f(l)-h,d<g&&(g=d=(g+d)/2),y<x&&(x=y=(x+y)/2),t(l,g,x,d,y))}return c.round=function(l){return arguments.length?(e=!!l,c):e},c.size=function(l){return arguments.length?(r=+l[0],n=+l[1],c):[r,n]},c.tile=function(l){return arguments.length?(t=Bo(l),c):t},c.padding=function(l){return arguments.length?c.paddingInner(l).paddingOuter(l):c.paddingInner()},c.paddingInner=function(l){return arguments.length?(i=typeof l=="function"?l:Gt(+l),c):i},c.paddingOuter=function(l){return arguments.length?c.paddingTop(l).paddingRight(l).paddingBottom(l).paddingLeft(l):c.paddingTop()},c.paddingTop=function(l){return arguments.length?(a=typeof l=="function"?l:Gt(+l),c):a},c.paddingRight=function(l){return arguments.length?(s=typeof l=="function"?l:Gt(+l),c):s},c.paddingBottom=function(l){return arguments.length?(f=typeof l=="function"?l:Gt(+l),c):f},c.paddingLeft=function(l){return arguments.length?(u=typeof l=="function"?l:Gt(+l),c):u},c}function Xe(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Pr(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function de(){}var he=.7,Ge=1/he,Zt="\\s*([+-]?\\d+)\\s*",pe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ot="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Hs=/^#([0-9a-f]{3,8})$/,qs=new RegExp(`^rgb\\(${Zt},${Zt},${Zt}\\)$`),Xs=new RegExp(`^rgb\\(${ot},${ot},${ot}\\)$`),Ws=new RegExp(`^rgba\\(${Zt},${Zt},${Zt},${pe}\\)$`),Vs=new RegExp(`^rgba\\(${ot},${ot},${ot},${pe}\\)$`),Gs=new RegExp(`^hsl\\(${pe},${ot},${ot}\\)$`),Zs=new RegExp(`^hsla\\(${pe},${ot},${ot},${pe}\\)$`),Ho={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xe(de,tt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:qo,formatHex:qo,formatHex8:Qs,formatHsl:Ks,formatRgb:Xo,toString:Xo});function qo(){return this.rgb().formatHex()}function Qs(){return this.rgb().formatHex8()}function Ks(){return Ko(this).formatHsl()}function Xo(){return this.rgb().formatRgb()}function tt(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=Hs.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?Wo(e):r===3?new G(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?We(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?We(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=qs.exec(t))?new G(e[1],e[2],e[3],1):(e=Xs.exec(t))?new G(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Ws.exec(t))?We(e[1],e[2],e[3],e[4]):(e=Vs.exec(t))?We(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Gs.exec(t))?Zo(e[1],e[2]/100,e[3]/100,1):(e=Zs.exec(t))?Zo(e[1],e[2]/100,e[3]/100,e[4]):Ho.hasOwnProperty(t)?Wo(Ho[t]):t==="transparent"?new G(NaN,NaN,NaN,0):null}function Wo(t){return new G(t>>16&255,t>>8&255,t&255,1)}function We(t,e,r,n){return n<=0&&(t=e=r=NaN),new G(t,e,r,n)}function Js(t){return t instanceof de||(t=tt(t)),t?(t=t.rgb(),new G(t.r,t.g,t.b,t.opacity)):new G}function Qt(t,e,r,n){return arguments.length===1?Js(t):new G(t,e,r,n??1)}function G(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Xe(G,Qt,Pr(de,{brighter(t){return t=t==null?Ge:Math.pow(Ge,t),new G(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?he:Math.pow(he,t),new G(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new G(It(this.r),It(this.g),It(this.b),Ze(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Vo,formatHex:Vo,formatHex8:js,formatRgb:Go,toString:Go}));function Vo(){return`#${Dt(this.r)}${Dt(this.g)}${Dt(this.b)}`}function js(){return`#${Dt(this.r)}${Dt(this.g)}${Dt(this.b)}${Dt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Go(){let t=Ze(this.opacity);return`${t===1?"rgb(":"rgba("}${It(this.r)}, ${It(this.g)}, ${It(this.b)}${t===1?")":`, ${t})`}`}function Ze(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function It(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Dt(t){return t=It(t),(t<16?"0":"")+t.toString(16)}function Zo(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new j(t,e,r,n)}function Ko(t){if(t instanceof j)return new j(t.h,t.s,t.l,t.opacity);if(t instanceof de||(t=tt(t)),!t)return new j;if(t instanceof j)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,o=Math.min(e,r,n),i=Math.max(e,r,n),a=NaN,s=i-o,f=(i+o)/2;return s?(e===i?a=(r-n)/s+(r<n)*6:r===i?a=(n-e)/s+2:a=(e-r)/s+4,s/=f<.5?i+o:2-i-o,a*=60):s=f>0&&f<1?0:a,new j(a,s,f,t.opacity)}function Jo(t,e,r,n){return arguments.length===1?Ko(t):new j(t,e,r,n??1)}function j(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Xe(j,Jo,Pr(de,{brighter(t){return t=t==null?Ge:Math.pow(Ge,t),new j(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?he:Math.pow(he,t),new j(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,o=2*r-n;return new G($r(t>=240?t-240:t+120,o,n),$r(t,o,n),$r(t<120?t+240:t-120,o,n),this.opacity)},clamp(){return new j(Qo(this.h),Ve(this.s),Ve(this.l),Ze(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Ze(this.opacity);return`${t===1?"hsl(":"hsla("}${Qo(this.h)}, ${Ve(this.s)*100}%, ${Ve(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Qo(t){return t=(t||0)%360,t<0?t+360:t}function Ve(t){return Math.max(0,Math.min(1,t||0))}function $r(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function Lr(t,e,r,n,o){var i=t*t,a=i*t;return((1-3*t+3*i-a)*e+(4-6*i+3*a)*r+(1+3*t+3*i-3*a)*n+a*o)/6}function jo(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),o=t[n],i=t[n+1],a=n>0?t[n-1]:2*o-i,s=n<e-1?t[n+2]:2*i-o;return Lr((r-n/e)*e,a,o,i,s)}}function ti(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),o=t[(n+e-1)%e],i=t[n%e],a=t[(n+1)%e],s=t[(n+2)%e];return Lr((r-n/e)*e,o,i,a,s)}}var xe=t=>()=>t;function tf(t,e){return function(r){return t+r*e}}function ef(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function ei(t){return(t=+t)==1?Qe:function(e,r){return r-e?ef(e,r,t):xe(isNaN(e)?r:e)}}function Qe(t,e){var r=e-t;return r?tf(t,r):xe(isNaN(t)?e:t)}var Et=(function t(e){var r=ei(e);function n(o,i){var a=r((o=Qt(o)).r,(i=Qt(i)).r),s=r(o.g,i.g),f=r(o.b,i.b),u=Qe(o.opacity,i.opacity);return function(c){return o.r=a(c),o.g=s(c),o.b=f(c),o.opacity=u(c),o+""}}return n.gamma=t,n})(1);function ri(t){return function(e){var r=e.length,n=new Array(r),o=new Array(r),i=new Array(r),a,s;for(a=0;a<r;++a)s=Qt(e[a]),n[a]=s.r||0,o[a]=s.g||0,i[a]=s.b||0;return n=t(n),o=t(o),i=t(i),s.opacity=1,function(f){return s.r=n(f),s.g=o(f),s.b=i(f),s+""}}}var Br=ri(jo),rf=ri(ti);function ni(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),o;return function(i){for(o=0;o<r;++o)n[o]=t[o]*(1-i)+e[o]*i;return n}}function oi(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function ii(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,o=new Array(n),i=new Array(r),a;for(a=0;a<n;++a)o[a]=mt(t[a],e[a]);for(;a<r;++a)i[a]=e[a];return function(s){for(a=0;a<n;++a)i[a]=o[a](s);return i}}function ai(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function B(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function ui(t,e){var r={},n={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?r[o]=mt(t[o],e[o]):n[o]=e[o];return function(i){for(o in r)n[o]=r[o](i);return n}}var qr=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Hr=new RegExp(qr.source,"g");function nf(t){return function(){return t}}function of(t){return function(e){return t(e)+""}}function ge(t,e){var r=qr.lastIndex=Hr.lastIndex=0,n,o,i,a=-1,s=[],f=[];for(t=t+"",e=e+"";(n=qr.exec(t))&&(o=Hr.exec(e));)(i=o.index)>r&&(i=e.slice(r,i),s[a]?s[a]+=i:s[++a]=i),(n=n[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,f.push({i:a,x:B(n,o)})),r=Hr.lastIndex;return r<e.length&&(i=e.slice(r),s[a]?s[a]+=i:s[++a]=i),s.length<2?f[0]?of(f[0].x):nf(e):(e=f.length,function(u){for(var c=0,m;c<e;++c)s[(m=f[c]).i]=m.x(u);return s.join("")})}function mt(t,e){var r=typeof e,n;return e==null||r==="boolean"?xe(e):(r==="number"?B:r==="string"?(n=tt(e))?(e=n,Et):ge:e instanceof tt?Et:e instanceof Date?ai:oi(e)?ni:Array.isArray(e)?ii:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?ui:B)(t,e)}function ye(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var si=180/Math.PI,Ke={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Xr(t,e,r,n,o,i){var a,s,f;return(a=Math.sqrt(t*t+e*e))&&(t/=a,e/=a),(f=t*r+e*n)&&(r-=t*f,n-=e*f),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,f/=s),t*n<e*r&&(t=-t,e=-e,f=-f,a=-a),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*si,skewX:Math.atan(f)*si,scaleX:a,scaleY:s}}var Je;function fi(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Ke:Xr(e.a,e.b,e.c,e.d,e.e,e.f)}function li(t){return t==null?Ke:(Je||(Je=document.createElementNS("http://www.w3.org/2000/svg","g")),Je.setAttribute("transform",t),(t=Je.transform.baseVal.consolidate())?(t=t.matrix,Xr(t.a,t.b,t.c,t.d,t.e,t.f)):Ke)}function ci(t,e,r,n){function o(u){return u.length?u.pop()+" ":""}function i(u,c,m,l,h,g){if(u!==m||c!==l){var x=h.push("translate(",null,e,null,r);g.push({i:x-4,x:B(u,m)},{i:x-2,x:B(c,l)})}else(m||l)&&h.push("translate("+m+e+l+r)}function a(u,c,m,l){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),l.push({i:m.push(o(m)+"rotate(",null,n)-2,x:B(u,c)})):c&&m.push(o(m)+"rotate("+c+n)}function s(u,c,m,l){u!==c?l.push({i:m.push(o(m)+"skewX(",null,n)-2,x:B(u,c)}):c&&m.push(o(m)+"skewX("+c+n)}function f(u,c,m,l,h,g){if(u!==m||c!==l){var x=h.push(o(h)+"scale(",null,",",null,")");g.push({i:x-4,x:B(u,m)},{i:x-2,x:B(c,l)})}else(m!==1||l!==1)&&h.push(o(h)+"scale("+m+","+l+")")}return function(u,c){var m=[],l=[];return u=t(u),c=t(c),i(u.translateX,u.translateY,c.translateX,c.translateY,m,l),a(u.rotate,c.rotate,m,l),s(u.skewX,c.skewX,m,l),f(u.scaleX,u.scaleY,c.scaleX,c.scaleY,m,l),u=c=null,function(h){for(var g=-1,x=l.length,d;++g<x;)m[(d=l[g]).i]=d.x(h);return m.join("")}}}var Wr=ci(fi,"px, ","px)","deg)"),Vr=ci(li,", ",")",")");function Gr(t){return function(){return t}}function Zr(t){return+t}var mi=[0,1];function ht(t){return t}function Qr(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:Gr(isNaN(e)?NaN:.5)}function af(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function uf(t,e,r){var n=t[0],o=t[1],i=e[0],a=e[1];return o<n?(n=Qr(o,n),i=r(a,i)):(n=Qr(n,o),i=r(i,a)),function(s){return i(n(s))}}function sf(t,e,r){var n=Math.min(t.length,e.length)-1,o=new Array(n),i=new Array(n),a=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++a<n;)o[a]=Qr(t[a],t[a+1]),i[a]=r(e[a],e[a+1]);return function(s){var f=Ir(t,s,1,n)-1;return i[f](o[f](s))}}function je(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function ff(){var t=mi,e=mi,r=mt,n,o,i,a=ht,s,f,u;function c(){var l=Math.min(t.length,e.length);return a!==ht&&(a=af(t[0],t[l-1])),s=l>2?sf:uf,f=u=null,m}function m(l){return l==null||isNaN(l=+l)?i:(f||(f=s(t.map(n),e,r)))(n(a(l)))}return m.invert=function(l){return a(o((u||(u=s(e,t.map(n),B)))(l)))},m.domain=function(l){return arguments.length?(t=Array.from(l,Zr),c()):t.slice()},m.range=function(l){return arguments.length?(e=Array.from(l),c()):e.slice()},m.rangeRound=function(l){return e=Array.from(l),r=ye,c()},m.clamp=function(l){return arguments.length?(a=l?!0:ht,c()):a!==ht},m.interpolate=function(l){return arguments.length?(r=l,c()):r},m.unknown=function(l){return arguments.length?(i=l,m):i},function(l,h){return n=l,o=h,c()}}function ve(){return ff()(ht,ht)}function tr(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function hi(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}function pi(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Ot(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function it(t){return t=Ot(Math.abs(t)),t?t[1]:NaN}function di(t,e){return function(r,n){for(var o=r.length,i=[],a=0,s=t[0],f=0;o>0&&s>0&&(f+s+1>n&&(s=Math.max(1,n-f)),i.push(r.substring(o-=s,o+s)),!((f+=s+1)>n));)s=t[a=(a+1)%t.length];return i.reverse().join(e)}}function xi(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var lf=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function vt(t){if(!(e=lf.exec(t)))throw new Error("invalid format: "+t);var e;return new er({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}vt.prototype=er.prototype;function er(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}er.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function gi(t){t:for(var e=t.length,r=1,n=-1,o;r<e;++r)switch(t[r]){case".":n=o=r;break;case"0":n===0&&(n=r),o=r;break;default:if(!+t[r])break t;n>0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(o+1):t}var Kr;function yi(t,e){var r=Ot(t,e);if(!r)return t+"";var n=r[0],o=r[1],i=o-(Kr=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ot(t,Math.max(0,e+i-1))[0]}function Jr(t,e){var r=Ot(t,e);if(!r)return t+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var jr={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:pi,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Jr(t*100,e),r:Jr,s:yi,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function tn(t){return t}var vi=Array.prototype.map,wi=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function _i(t){var e=t.grouping===void 0||t.thousands===void 0?tn:di(vi.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?tn:xi(vi.call(t.numerals,String)),a=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"\u2212":t.minus+"",f=t.nan===void 0?"NaN":t.nan+"";function u(m){m=vt(m);var l=m.fill,h=m.align,g=m.sign,x=m.symbol,d=m.zero,y=m.width,_=m.comma,M=m.precision,p=m.trim,b=m.type;b==="n"?(_=!0,b="g"):jr[b]||(M===void 0&&(M=12),p=!0,b="g"),(d||l==="0"&&h==="=")&&(d=!0,l="0",h="=");var v=x==="$"?r:x==="#"&&/[boxX]/.test(b)?"0"+b.toLowerCase():"",k=x==="$"?n:/[%p]/.test(b)?a:"",C=jr[b],Y=/[defgprs%]/.test(b);M=M===void 0?6:/[gprs]/.test(b)?Math.max(1,Math.min(21,M)):Math.max(0,Math.min(20,M));function N(S){var O=v,D=k,Z,Xt,nt;if(b==="c")D=C(S)+D,S="";else{S=+S;var ft=S<0||1/S<0;if(S=isNaN(S)?f:C(Math.abs(S),M),p&&(S=gi(S)),ft&&+S==0&&g!=="+"&&(ft=!1),O=(ft?g==="("?g:s:g==="-"||g==="("?"":g)+O,D=(b==="s"?wi[8+Kr/3]:"")+D+(ft&&g==="("?")":""),Y){for(Z=-1,Xt=S.length;++Z<Xt;)if(nt=S.charCodeAt(Z),48>nt||nt>57){D=(nt===46?o+S.slice(Z+1):S.slice(Z))+D,S=S.slice(0,Z);break}}}_&&!d&&(S=e(S,1/0));var gt=O.length+S.length+D.length,W=gt<y?new Array(y-gt+1).join(l):"";switch(_&&d&&(S=e(W+S,W.length?y-D.length:1/0),W=""),h){case"<":S=O+S+D+W;break;case"=":S=O+W+S+D;break;case"^":S=W.slice(0,gt=W.length>>1)+O+S+D+W.slice(gt);break;default:S=W+O+S+D;break}return i(S)}return N.toString=function(){return m+""},N}function c(m,l){var h=u((m=vt(m),m.type="f",m)),g=Math.max(-8,Math.min(8,Math.floor(it(l)/3)))*3,x=Math.pow(10,-g),d=wi[8+g/3];return function(y){return h(x*y)+d}}return{format:u,formatPrefix:c}}var rr,nr,or;en({thousands:",",grouping:[3],currency:["$",""]});function en(t){return rr=_i(t),nr=rr.format,or=rr.formatPrefix,rr}function rn(t){return Math.max(0,-it(Math.abs(t)))}function nn(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(it(e)/3)))*3-it(Math.abs(t)))}function on(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,it(e)-it(t))+1}function an(t,e,r,n){var o=Wt(t,e,r),i;switch(n=vt(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(i=nn(o,a))&&(n.precision=i),or(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=on(o,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=rn(o))&&(n.precision=i-(n.type==="%")*2);break}}return nr(n)}function un(t){var e=t.domain;return t.ticks=function(r){var n=e();return ze(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var o=e();return an(o[0],o[o.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),o=0,i=n.length-1,a=n[o],s=n[i],f,u,c=10;for(s<a&&(u=a,a=s,s=u,u=o,o=i,i=u);c-- >0;){if(u=ue(a,s,r),u===f)return n[o]=a,n[i]=s,e(n);if(u>0)a=Math.floor(a/u)*u,s=Math.ceil(s/u)*u;else if(u<0)a=Math.ceil(a*u)/u,s=Math.floor(s*u)/u;else break;f=u}return t},t}function sn(){var t=ve();return t.copy=function(){return je(t,sn())},tr.apply(t,arguments),un(t)}var fn=new Date,ln=new Date;function F(t,e,r,n){function o(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(t(i=new Date(+i)),i),o.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),o.round=i=>{let a=o(i),s=o.ceil(i);return i-a<s-i?a:s},o.offset=(i,a)=>(e(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{let f=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i<a)||!(s>0))return f;let u;do f.push(u=new Date(+i)),e(i,s),t(i);while(u<i&&i<a);return f},o.filter=i=>F(a=>{if(a>=a)for(;t(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;e(a,-1),!i(a););else for(;--s>=0;)for(;e(a,1),!i(a););}),r&&(o.count=(i,a)=>(fn.setTime(+i),ln.setTime(+a),t(fn),t(ln),Math.floor(r(fn,ln))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(n?a=>n(a)%i===0:a=>o.count(0,a)%i===0):o)),o}var we=F(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);we.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?F(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):we);var Mx=we.range;var at=F(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),bi=at.range;var Kt=F(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),cf=Kt.range,ir=F(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),mf=ir.range;var Jt=F(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),hf=Jt.range,ar=F(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),pf=ar.range;var pt=F(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),df=pt.range,be=F(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),xf=be.range,ur=F(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),gf=ur.range;function Rt(t){return F(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var dt=Rt(0),jt=Rt(1),Ti=Rt(2),Si=Rt(3),wt=Rt(4),ki=Rt(5),Ci=Rt(6),Ni=dt.range,yf=jt.range,vf=Ti.range,wf=Si.range,_f=wt.range,bf=ki.range,Mf=Ci.range;function zt(t){return F(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var Ut=zt(0),te=zt(1),Ai=zt(2),Di=zt(3),_t=zt(4),Ii=zt(5),Ei=zt(6),Oi=Ut.range,Tf=te.range,Sf=Ai.range,kf=Di.range,Cf=_t.range,Nf=Ii.range,Af=Ei.range;var ee=F(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),Df=ee.range,sr=F(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),If=sr.range;var J=F(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());J.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:F(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var Ef=J.range,et=F(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());et.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:F(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var Of=et.range;function Fi(t,e,r,n,o,i){let a=[[at,1,1e3],[at,5,5*1e3],[at,15,15*1e3],[at,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function s(u,c,m){let l=c<u;l&&([u,c]=[c,u]);let h=m&&typeof m.range=="function"?m:f(u,c,m),g=h?h.range(u,+c+1):[];return l?g.reverse():g}function f(u,c,m){let l=Math.abs(c-u)/m,h=Ct(([,,d])=>d).right(a,l);if(h===a.length)return t.every(Wt(u/31536e6,c/31536e6,m));if(h===0)return we.every(Math.max(Wt(u,c,m),1));let[g,x]=a[l/a[h-1][2]<a[h][2]/l?h-1:h];return g.every(x)}return[s,f]}var[Ff,Rf]=Fi(et,sr,Ut,ur,ar,ir),[cn,mn]=Fi(J,ee,dt,pt,Jt,Kt);function hn(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function pn(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Me(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function dn(t){var e=t.dateTime,r=t.date,n=t.time,o=t.periods,i=t.days,a=t.shortDays,s=t.months,f=t.shortMonths,u=Te(o),c=Se(o),m=Te(i),l=Se(i),h=Te(a),g=Se(a),x=Te(s),d=Se(s),y=Te(f),_=Se(f),M={a:ft,A:gt,b:W,B:ae,c:null,d:Li,e:Li,f:il,g:dl,G:gl,H:rl,I:nl,j:ol,L:Wi,m:al,M:ul,p:xu,q:gu,Q:qi,s:Xi,S:sl,u:fl,U:ll,V:cl,w:ml,W:hl,x:null,X:null,y:pl,Y:xl,Z:yl,"%":Hi},p={a:yu,A:vu,b:wu,B:_u,c:null,d:Bi,e:Bi,f:bl,g:El,G:Yl,H:vl,I:wl,j:_l,L:Gi,m:Ml,M:Tl,p:bu,q:Mu,Q:qi,s:Xi,S:Sl,u:kl,U:Cl,V:Nl,w:Al,W:Dl,x:null,X:null,y:Il,Y:Ol,Z:Fl,"%":Hi},b={a:N,A:S,b:O,B:D,c:Z,d:Pi,e:Pi,f:Jf,g:Ui,G:zi,H:$i,I:$i,j:Gf,L:Kf,m:Vf,M:Zf,p:Y,q:Wf,Q:tl,s:el,S:Qf,u:Lf,U:Bf,V:Hf,w:$f,W:qf,x:Xt,X:nt,y:Ui,Y:zi,Z:Xf,"%":jf};M.x=v(r,M),M.X=v(n,M),M.c=v(e,M),p.x=v(r,p),p.X=v(n,p),p.c=v(e,p);function v(T,A){return function(I){var w=[],V=-1,R=0,Q=T.length,K,St,Nn;for(I instanceof Date||(I=new Date(+I));++V<Q;)T.charCodeAt(V)===37&&(w.push(T.slice(R,V)),(St=Ri[K=T.charAt(++V)])!=null?K=T.charAt(++V):St=K==="e"?" ":"0",(Nn=A[K])&&(K=Nn(I,St)),w.push(K),R=V+1);return w.push(T.slice(R,V)),w.join("")}}function k(T,A){return function(I){var w=Me(1900,void 0,1),V=C(w,T,I+="",0),R,Q;if(V!=I.length)return null;if("Q"in w)return new Date(w.Q);if("s"in w)return new Date(w.s*1e3+("L"in w?w.L:0));if(A&&!("Z"in w)&&(w.Z=0),"p"in w&&(w.H=w.H%12+w.p*12),w.m===void 0&&(w.m="q"in w?w.q:0),"V"in w){if(w.V<1||w.V>53)return null;"w"in w||(w.w=1),"Z"in w?(R=pn(Me(w.y,0,1)),Q=R.getUTCDay(),R=Q>4||Q===0?te.ceil(R):te(R),R=be.offset(R,(w.V-1)*7),w.y=R.getUTCFullYear(),w.m=R.getUTCMonth(),w.d=R.getUTCDate()+(w.w+6)%7):(R=hn(Me(w.y,0,1)),Q=R.getDay(),R=Q>4||Q===0?jt.ceil(R):jt(R),R=pt.offset(R,(w.V-1)*7),w.y=R.getFullYear(),w.m=R.getMonth(),w.d=R.getDate()+(w.w+6)%7)}else("W"in w||"U"in w)&&("w"in w||(w.w="u"in w?w.u%7:"W"in w?1:0),Q="Z"in w?pn(Me(w.y,0,1)).getUTCDay():hn(Me(w.y,0,1)).getDay(),w.m=0,w.d="W"in w?(w.w+6)%7+w.W*7-(Q+5)%7:w.w+w.U*7-(Q+6)%7);return"Z"in w?(w.H+=w.Z/100|0,w.M+=w.Z%100,pn(w)):hn(w)}}function C(T,A,I,w){for(var V=0,R=A.length,Q=I.length,K,St;V<R;){if(w>=Q)return-1;if(K=A.charCodeAt(V++),K===37){if(K=A.charAt(V++),St=b[K in Ri?A.charAt(V++):K],!St||(w=St(T,I,w))<0)return-1}else if(K!=I.charCodeAt(w++))return-1}return w}function Y(T,A,I){var w=u.exec(A.slice(I));return w?(T.p=c.get(w[0].toLowerCase()),I+w[0].length):-1}function N(T,A,I){var w=h.exec(A.slice(I));return w?(T.w=g.get(w[0].toLowerCase()),I+w[0].length):-1}function S(T,A,I){var w=m.exec(A.slice(I));return w?(T.w=l.get(w[0].toLowerCase()),I+w[0].length):-1}function O(T,A,I){var w=y.exec(A.slice(I));return w?(T.m=_.get(w[0].toLowerCase()),I+w[0].length):-1}function D(T,A,I){var w=x.exec(A.slice(I));return w?(T.m=d.get(w[0].toLowerCase()),I+w[0].length):-1}function Z(T,A,I){return C(T,e,A,I)}function Xt(T,A,I){return C(T,r,A,I)}function nt(T,A,I){return C(T,n,A,I)}function ft(T){return a[T.getDay()]}function gt(T){return i[T.getDay()]}function W(T){return f[T.getMonth()]}function ae(T){return s[T.getMonth()]}function xu(T){return o[+(T.getHours()>=12)]}function gu(T){return 1+~~(T.getMonth()/3)}function yu(T){return a[T.getUTCDay()]}function vu(T){return i[T.getUTCDay()]}function wu(T){return f[T.getUTCMonth()]}function _u(T){return s[T.getUTCMonth()]}function bu(T){return o[+(T.getUTCHours()>=12)]}function Mu(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var A=v(T+="",M);return A.toString=function(){return T},A},parse:function(T){var A=k(T+="",!1);return A.toString=function(){return T},A},utcFormat:function(T){var A=v(T+="",p);return A.toString=function(){return T},A},utcParse:function(T){var A=k(T+="",!0);return A.toString=function(){return T},A}}}var Ri={"-":"",_:" ",0:"0"},$=/^\s*\d+/,zf=/^%/,Uf=/[\\^$*+?|[\]().{}]/g;function E(t,e,r){var n=t<0?"-":"",o=(n?-t:t)+"",i=o.length;return n+(i<r?new Array(r-i+1).join(e)+o:o)}function Pf(t){return t.replace(Uf,"\\$&")}function Te(t){return new RegExp("^(?:"+t.map(Pf).join("|")+")","i")}function Se(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function $f(t,e,r){var n=$.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Lf(t,e,r){var n=$.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Bf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Hf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function qf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function zi(t,e,r){var n=$.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ui(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function Xf(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Wf(t,e,r){var n=$.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function Vf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Pi(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Gf(t,e,r){var n=$.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function $i(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function Zf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Qf(t,e,r){var n=$.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function Kf(t,e,r){var n=$.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function Jf(t,e,r){var n=$.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function jf(t,e,r){var n=zf.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function tl(t,e,r){var n=$.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function el(t,e,r){var n=$.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function Li(t,e){return E(t.getDate(),e,2)}function rl(t,e){return E(t.getHours(),e,2)}function nl(t,e){return E(t.getHours()%12||12,e,2)}function ol(t,e){return E(1+pt.count(J(t),t),e,3)}function Wi(t,e){return E(t.getMilliseconds(),e,3)}function il(t,e){return Wi(t,e)+"000"}function al(t,e){return E(t.getMonth()+1,e,2)}function ul(t,e){return E(t.getMinutes(),e,2)}function sl(t,e){return E(t.getSeconds(),e,2)}function fl(t){var e=t.getDay();return e===0?7:e}function ll(t,e){return E(dt.count(J(t)-1,t),e,2)}function Vi(t){var e=t.getDay();return e>=4||e===0?wt(t):wt.ceil(t)}function cl(t,e){return t=Vi(t),E(wt.count(J(t),t)+(J(t).getDay()===4),e,2)}function ml(t){return t.getDay()}function hl(t,e){return E(jt.count(J(t)-1,t),e,2)}function pl(t,e){return E(t.getFullYear()%100,e,2)}function dl(t,e){return t=Vi(t),E(t.getFullYear()%100,e,2)}function xl(t,e){return E(t.getFullYear()%1e4,e,4)}function gl(t,e){var r=t.getDay();return t=r>=4||r===0?wt(t):wt.ceil(t),E(t.getFullYear()%1e4,e,4)}function yl(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+E(e/60|0,"0",2)+E(e%60,"0",2)}function Bi(t,e){return E(t.getUTCDate(),e,2)}function vl(t,e){return E(t.getUTCHours(),e,2)}function wl(t,e){return E(t.getUTCHours()%12||12,e,2)}function _l(t,e){return E(1+be.count(et(t),t),e,3)}function Gi(t,e){return E(t.getUTCMilliseconds(),e,3)}function bl(t,e){return Gi(t,e)+"000"}function Ml(t,e){return E(t.getUTCMonth()+1,e,2)}function Tl(t,e){return E(t.getUTCMinutes(),e,2)}function Sl(t,e){return E(t.getUTCSeconds(),e,2)}function kl(t){var e=t.getUTCDay();return e===0?7:e}function Cl(t,e){return E(Ut.count(et(t)-1,t),e,2)}function Zi(t){var e=t.getUTCDay();return e>=4||e===0?_t(t):_t.ceil(t)}function Nl(t,e){return t=Zi(t),E(_t.count(et(t),t)+(et(t).getUTCDay()===4),e,2)}function Al(t){return t.getUTCDay()}function Dl(t,e){return E(te.count(et(t)-1,t),e,2)}function Il(t,e){return E(t.getUTCFullYear()%100,e,2)}function El(t,e){return t=Zi(t),E(t.getUTCFullYear()%100,e,2)}function Ol(t,e){return E(t.getUTCFullYear()%1e4,e,4)}function Yl(t,e){var r=t.getUTCDay();return t=r>=4||r===0?_t(t):_t.ceil(t),E(t.getUTCFullYear()%1e4,e,4)}function Fl(){return"+0000"}function Hi(){return"%"}function qi(t){return+t}function Xi(t){return Math.floor(+t/1e3)}var re,fr,Qi,Ki,Ji;xn({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function xn(t){return re=dn(t),fr=re.format,Qi=re.parse,Ki=re.utcFormat,Ji=re.utcParse,re}function gn(t,e){t=t.slice();var r=0,n=t.length-1,o=t[r],i=t[n],a;return i<o&&(a=r,r=n,n=a,a=o,o=i,i=a),t[r]=e.floor(o),t[n]=e.ceil(i),t}function Rl(t){return new Date(t)}function zl(t){return t instanceof Date?+t:+new Date(+t)}function ji(t,e,r,n,o,i,a,s,f,u){var c=ve(),m=c.invert,l=c.domain,h=u(".%L"),g=u(":%S"),x=u("%I:%M"),d=u("%I %p"),y=u("%a %d"),_=u("%b %d"),M=u("%B"),p=u("%Y");function b(v){return(f(v)<v?h:s(v)<v?g:a(v)<v?x:i(v)<v?d:n(v)<v?o(v)<v?y:_:r(v)<v?M:p)(v)}return c.invert=function(v){return new Date(m(v))},c.domain=function(v){return arguments.length?l(Array.from(v,zl)):l().map(Rl)},c.ticks=function(v){var k=l();return t(k[0],k[k.length-1],v??10)},c.tickFormat=function(v,k){return k==null?b:u(k)},c.nice=function(v){var k=l();return(!v||typeof v.range!="function")&&(v=e(k[0],k[k.length-1],v??10)),v?l(gn(k,v)):c},c.copy=function(){return je(c,ji(t,e,r,n,o,i,a,s,f,u))},c}function ta(){return tr.apply(ji(cn,mn,J,ee,dt,pt,Jt,Kt,at,fr).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Ul(){var t=0,e=1,r,n,o,i,a=ht,s=!1,f;function u(m){return m==null||isNaN(m=+m)?f:a(o===0?.5:(m=(i(m)-r)*o,s?Math.max(0,Math.min(1,m)):m))}u.domain=function(m){return arguments.length?([t,e]=m,r=i(t=+t),n=i(e=+e),o=r===n?0:1/(n-r),u):[t,e]},u.clamp=function(m){return arguments.length?(s=!!m,u):s},u.interpolator=function(m){return arguments.length?(a=m,u):a};function c(m){return function(l){var h,g;return arguments.length?([h,g]=l,a=m(h,g),u):[a(0),a(1)]}}return u.range=c(mt),u.rangeRound=c(ye),u.unknown=function(m){return arguments.length?(f=m,u):f},function(m){return i=m,r=m(t),n=m(e),o=r===n?0:1/(n-r),u}}function Pl(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function yn(){var t=un(Ul()(ht));return t.copy=function(){return Pl(t,yn())},hi.apply(t,arguments)}function ea(t){for(var e=t.length/6|0,r=new Array(e),n=0;n<e;)r[n]="#"+t.slice(n*6,++n*6);return r}var ra=t=>Br(t[t.length-1]);var na=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ea),$l=ra(na);var Ug=Array.prototype.slice;function lr(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function U(t){return function(){return t}}function oa(t){this._context=t}oa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function cr(t){return new oa(t)}var vn=Math.PI,wn=2*vn,Pt=1e-6,Ll=wn-Pt;function ia(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=arguments[e]+t[e]}function Bl(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return ia;let r=10**e;return function(n){this._+=n[0];for(let o=1,i=n.length;o<i;++o)this._+=Math.round(arguments[o]*r)/r+n[o]}}var $t=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?ia:Bl(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,o){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+o}`}bezierCurveTo(e,r,n,o,i,a){this._append`C${+e},${+r},${+n},${+o},${this._x1=+i},${this._y1=+a}`}arcTo(e,r,n,o,i){if(e=+e,r=+r,n=+n,o=+o,i=+i,i<0)throw new Error(`negative radius: ${i}`);let a=this._x1,s=this._y1,f=n-e,u=o-r,c=a-e,m=s-r,l=c*c+m*m;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(l>Pt)if(!(Math.abs(m*f-u*c)>Pt)||!i)this._append`L${this._x1=e},${this._y1=r}`;else{let h=n-a,g=o-s,x=f*f+u*u,d=h*h+g*g,y=Math.sqrt(x),_=Math.sqrt(l),M=i*Math.tan((vn-Math.acos((x+l-d)/(2*y*_)))/2),p=M/_,b=M/y;Math.abs(p-1)>Pt&&this._append`L${e+p*c},${r+p*m}`,this._append`A${i},${i},0,0,${+(m*h>c*g)},${this._x1=e+b*f},${this._y1=r+b*u}`}}arc(e,r,n,o,i,a){if(e=+e,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let s=n*Math.cos(o),f=n*Math.sin(o),u=e+s,c=r+f,m=1^a,l=a?o-i:i-o;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Pt||Math.abs(this._y1-c)>Pt)&&this._append`L${u},${c}`,n&&(l<0&&(l=l%wn+wn),l>Ll?this._append`A${n},${n},0,1,${m},${e-s},${r-f}A${n},${n},0,1,${m},${this._x1=u},${this._y1=c}`:l>Pt&&this._append`A${n},${n},0,${+(l>=vn)},${m},${this._x1=e+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(e,r,n,o){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function aa(){return new $t}aa.prototype=$t.prototype;function mr(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new $t(e)}function hr(t){return t[0]}function pr(t){return t[1]}function _n(t,e){var r=U(!0),n=null,o=cr,i=null,a=mr(s);t=typeof t=="function"?t:t===void 0?hr:U(t),e=typeof e=="function"?e:e===void 0?pr:U(e);function s(f){var u,c=(f=lr(f)).length,m,l=!1,h;for(n==null&&(i=o(h=a())),u=0;u<=c;++u)!(u<c&&r(m=f[u],u,f))===l&&((l=!l)?i.lineStart():i.lineEnd()),l&&i.point(+t(m,u,f),+e(m,u,f));if(h)return i=null,h+""||null}return s.x=function(f){return arguments.length?(t=typeof f=="function"?f:U(+f),s):t},s.y=function(f){return arguments.length?(e=typeof f=="function"?f:U(+f),s):e},s.defined=function(f){return arguments.length?(r=typeof f=="function"?f:U(!!f),s):r},s.curve=function(f){return arguments.length?(o=f,n!=null&&(i=o(n)),s):o},s.context=function(f){return arguments.length?(f==null?n=i=null:i=o(n=f),s):n},s}function Hl(t,e,r){var n=null,o=U(!0),i=null,a=cr,s=null,f=mr(u);t=typeof t=="function"?t:t===void 0?hr:U(+t),e=typeof e=="function"?e:e===void 0?U(0):U(+e),r=typeof r=="function"?r:r===void 0?pr:U(+r);function u(m){var l,h,g,x=(m=lr(m)).length,d,y=!1,_,M=new Array(x),p=new Array(x);for(i==null&&(s=a(_=f())),l=0;l<=x;++l){if(!(l<x&&o(d=m[l],l,m))===y)if(y=!y)h=l,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),g=l-1;g>=h;--g)s.point(M[g],p[g]);s.lineEnd(),s.areaEnd()}y&&(M[l]=+t(d,l,m),p[l]=+e(d,l,m),s.point(n?+n(d,l,m):M[l],r?+r(d,l,m):p[l]))}if(_)return s=null,_+""||null}function c(){return _n().defined(o).curve(a).context(i)}return u.x=function(m){return arguments.length?(t=typeof m=="function"?m:U(+m),n=null,u):t},u.x0=function(m){return arguments.length?(t=typeof m=="function"?m:U(+m),u):t},u.x1=function(m){return arguments.length?(n=m==null?null:typeof m=="function"?m:U(+m),u):n},u.y=function(m){return arguments.length?(e=typeof m=="function"?m:U(+m),r=null,u):e},u.y0=function(m){return arguments.length?(e=typeof m=="function"?m:U(+m),u):e},u.y1=function(m){return arguments.length?(r=m==null?null:typeof m=="function"?m:U(+m),u):r},u.lineX0=u.lineY0=function(){return c().x(t).y(e)},u.lineY1=function(){return c().x(t).y(r)},u.lineX1=function(){return c().x(n).y(e)},u.defined=function(m){return arguments.length?(o=typeof m=="function"?m:U(!!m),u):o},u.curve=function(m){return arguments.length?(a=m,i!=null&&(s=a(i)),u):a},u.context=function(m){return arguments.length?(m==null?i=s=null:s=a(i=m),u):i},u}function ua(t){return t<0?-1:1}function sa(t,e,r){var n=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(n||o<0&&-0),a=(r-t._y1)/(o||n<0&&-0),s=(i*o+a*n)/(n+o);return(ua(i)+ua(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(s))||0}function fa(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function bn(t,e,r){var n=t._x0,o=t._y0,i=t._x1,a=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,o+s*e,i-s,a-s*r,i,a)}function dr(t){this._context=t}dr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:bn(this,this._t0,fa(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,bn(this,fa(this,r=sa(this,t,e)),r);break;default:bn(this,this._t0,r=sa(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function ql(t){this._context=new la(t)}(ql.prototype=Object.create(dr.prototype)).point=function(t,e){dr.prototype.point.call(this,e,t)};function la(t){this._context=t}la.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,o,i){this._context.bezierCurveTo(e,t,n,r,i,o)}};function Xl(t){return new dr(t)}var Wl={value:()=>{}};function ma(){for(var t=0,e=arguments.length,r={},n;t<e;++t){if(!(n=arguments[t]+"")||n in r||/[\s.]/.test(n))throw new Error("illegal type: "+n);r[n]=[]}return new xr(r)}function xr(t){this._=t}function Vl(t,e){return t.trim().split(/^|\s+/).map(function(r){var n="",o=r.indexOf(".");if(o>=0&&(n=r.slice(o+1),r=r.slice(0,o)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}xr.prototype=ma.prototype={constructor:xr,on:function(t,e){var r=this._,n=Vl(t+"",r),o,i=-1,a=n.length;if(arguments.length<2){for(;++i<a;)if((o=(t=n[i]).type)&&(o=Gl(r[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<a;)if(o=(t=n[i]).type)r[o]=ca(r[o],t.name,e);else if(e==null)for(o in r)r[o]=ca(r[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new xr(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var r=new Array(o),n=0,o,i;n<o;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],n=0,o=i.length;n<o;++n)i[n].value.apply(e,r)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],o=0,i=n.length;o<i;++o)n[o].value.apply(e,r)}};function Gl(t,e){for(var r=0,n=t.length,o;r<n;++r)if((o=t[r]).name===e)return o.value}function ca(t,e,r){for(var n=0,o=t.length;n<o;++n)if(t[n].name===e){t[n]=Wl,t=t.slice(0,n).concat(t.slice(n+1));break}return r!=null&&t.push({name:e,value:r}),t}var Lt=ma;var ha={passive:!1},Bt={capture:!0,passive:!1};function gr(t){t.stopImmediatePropagation()}function bt(t){t.preventDefault(),t.stopImmediatePropagation()}function pa(t){var e=t.document.documentElement,r=At(t).on("dragstart.drag",bt,Bt);"onselectstart"in e?r.on("selectstart.drag",bt,Bt):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function da(t,e){var r=t.document.documentElement,n=At(t).on("dragstart.drag",null);e&&(n.on("click.drag",bt,Bt),setTimeout(function(){n.on("click.drag",null)},0)),"onselectstart"in r?n.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}var ke=t=>()=>t;function Ce(t,{sourceEvent:e,subject:r,target:n,identifier:o,active:i,x:a,y:s,dx:f,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Ce.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function Zl(t){return!t.ctrlKey&&!t.button}function Ql(){return this.parentNode}function Kl(t,e){return e??{x:t.x,y:t.y}}function Jl(){return navigator.maxTouchPoints||"ontouchstart"in this}function jl(){var t=Zl,e=Ql,r=Kl,n=Jl,o={},i=Lt("start","drag","end"),a=0,s,f,u,c,m=0;function l(p){p.on("mousedown.drag",h).filter(n).on("touchstart.drag",d).on("touchmove.drag",y,ha).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(p,b){if(!(c||!t.call(this,p,b))){var v=M(this,e.call(this,p,b),p,b,"mouse");v&&(At(p.view).on("mousemove.drag",g,Bt).on("mouseup.drag",x,Bt),pa(p.view),gr(p),u=!1,s=p.clientX,f=p.clientY,v("start",p))}}function g(p){if(bt(p),!u){var b=p.clientX-s,v=p.clientY-f;u=b*b+v*v>m}o.mouse("drag",p)}function x(p){At(p.view).on("mousemove.drag mouseup.drag",null),da(p.view,u),bt(p),o.mouse("end",p)}function d(p,b){if(t.call(this,p,b)){var v=p.changedTouches,k=e.call(this,p,b),C=v.length,Y,N;for(Y=0;Y<C;++Y)(N=M(this,k,p,b,v[Y].identifier,v[Y]))&&(gr(p),N("start",p,v[Y]))}}function y(p){var b=p.changedTouches,v=b.length,k,C;for(k=0;k<v;++k)(C=o[b[k].identifier])&&(bt(p),C("drag",p,b[k]))}function _(p){var b=p.changedTouches,v=b.length,k,C;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),k=0;k<v;++k)(C=o[b[k].identifier])&&(gr(p),C("end",p,b[k]))}function M(p,b,v,k,C,Y){var N=i.copy(),S=He(Y||v,b),O,D,Z;if((Z=r.call(p,new Ce("beforestart",{sourceEvent:v,target:l,identifier:C,active:a,x:S[0],y:S[1],dx:0,dy:0,dispatch:N}),k))!=null)return O=Z.x-S[0]||0,D=Z.y-S[1]||0,function Xt(nt,ft,gt){var W=S,ae;switch(nt){case"start":o[C]=Xt,ae=a++;break;case"end":delete o[C],--a;case"drag":S=He(gt||ft,b),ae=a;break}N.call(nt,p,new Ce(nt,{sourceEvent:ft,subject:Z,target:l,identifier:C,active:ae,x:S[0]+O,y:S[1]+D,dx:S[0]-W[0],dy:S[1]-W[1],dispatch:N}),k)}}return l.filter=function(p){return arguments.length?(t=typeof p=="function"?p:ke(!!p),l):t},l.container=function(p){return arguments.length?(e=typeof p=="function"?p:ke(p),l):e},l.subject=function(p){return arguments.length?(r=typeof p=="function"?p:ke(p),l):r},l.touchable=function(p){return arguments.length?(n=typeof p=="function"?p:ke(!!p),l):n},l.on=function(){var p=i.on.apply(i,arguments);return p===i?l:p},l.clickDistance=function(p){return arguments.length?(m=(p=+p)*p,l):Math.sqrt(m)},l}var ne=0,Ae=0,Ne=0,ga=1e3,yr,De,vr=0,Ht=0,wr=0,Ie=typeof performance=="object"&&performance.now?performance:Date,ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Oe(){return Ht||(ya(tc),Ht=Ie.now()+wr)}function tc(){Ht=0}function Ee(){this._call=this._time=this._next=null}Ee.prototype=oe.prototype={constructor:Ee,restart:function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?Oe():+r)+(e==null?0:+e),!this._next&&De!==this&&(De?De._next=this:yr=this,De=this),this._call=t,this._time=r,Mn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Mn())}};function oe(t,e,r){var n=new Ee;return n.restart(t,e,r),n}function va(){Oe(),++ne;for(var t=yr,e;t;)(e=Ht-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ne}function xa(){Ht=(vr=Ie.now())+wr,ne=Ae=0;try{va()}finally{ne=0,rc(),Ht=0}}function ec(){var t=Ie.now(),e=t-vr;e>ga&&(wr-=e,vr=t)}function rc(){for(var t,e=yr,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:yr=r);De=t,Mn(n)}function Mn(t){if(!ne){Ae&&(Ae=clearTimeout(Ae));var e=t-Ht;e>24?(t<1/0&&(Ae=setTimeout(xa,t-Ie.now()-wr)),Ne&&(Ne=clearInterval(Ne))):(Ne||(vr=Ie.now(),Ne=setInterval(ec,ga)),ne=1,ya(xa))}}function _r(t,e,r){var n=new Ee;return e=e==null?0:+e,n.restart(o=>{n.stop(),t(o+e)},e,r),n}var nc=Lt("start","end","cancel","interrupt"),oc=[],ba=0,wa=1,Mr=2,br=3,_a=4,Tr=5,Ye=6;function Mt(t,e,r,n,o,i){var a=t.__transition;if(!a)t.__transition={};else if(r in a)return;ic(t,r,{name:e,index:n,group:o,on:nc,tween:oc,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ba})}function Fe(t,e){var r=P(t,e);if(r.state>ba)throw new Error("too late; already scheduled");return r}function H(t,e){var r=P(t,e);if(r.state>br)throw new Error("too late; already running");return r}function P(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function ic(t,e,r){var n=t.__transition,o;n[e]=r,r.timer=oe(i,0,r.time);function i(u){r.state=wa,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var c,m,l,h;if(r.state!==wa)return f();for(c in n)if(h=n[c],h.name===r.name){if(h.state===br)return _r(a);h.state===_a?(h.state=Ye,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete n[c]):+c<e&&(h.state=Ye,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete n[c])}if(_r(function(){r.state===br&&(r.state=_a,r.timer.restart(s,r.delay,r.time),s(u))}),r.state=Mr,r.on.call("start",t,t.__data__,r.index,r.group),r.state===Mr){for(r.state=br,o=new Array(l=r.tween.length),c=0,m=-1;c<l;++c)(h=r.tween[c].value.call(t,t.__data__,r.index,r.group))&&(o[++m]=h);o.length=m+1}}function s(u){for(var c=u<r.duration?r.ease.call(null,u/r.duration):(r.timer.restart(f),r.state=Tr,1),m=-1,l=o.length;++m<l;)o[m].call(t,c);r.state===Tr&&(r.on.call("end",t,t.__data__,r.index,r.group),f())}function f(){r.state=Ye,r.timer.stop(),delete n[e];for(var u in n)return;delete t.__transition}}function Sr(t,e){var r=t.__transition,n,o,i=!0,a;if(r){e=e==null?null:e+"";for(a in r){if((n=r[a]).name!==e){i=!1;continue}o=n.state>Mr&&n.state<Tr,n.state=Ye,n.timer.stop(),n.on.call(o?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete r[a]}i&&delete t.__transition}}function Ma(t){return this.each(function(){Sr(this,t)})}function ac(t,e){var r,n;return function(){var o=H(this,t),i=o.tween;if(i!==r){n=r=i;for(var a=0,s=n.length;a<s;++a)if(n[a].name===e){n=n.slice(),n.splice(a,1);break}}o.tween=n}}function uc(t,e,r){var n,o;if(typeof r!="function")throw new Error;return function(){var i=H(this,t),a=i.tween;if(a!==n){o=(n=a).slice();for(var s={name:e,value:r},f=0,u=o.length;f<u;++f)if(o[f].name===e){o[f]=s;break}f===u&&o.push(s)}i.tween=o}}function Ta(t,e){var r=this._id;if(t+="",arguments.length<2){for(var n=P(this.node(),r).tween,o=0,i=n.length,a;o<i;++o)if((a=n[o]).name===t)return a.value;return null}return this.each((e==null?ac:uc)(r,t,e))}function ie(t,e,r){var n=t._id;return t.each(function(){var o=H(this,n);(o.value||(o.value={}))[e]=r.apply(this,arguments)}),function(o){return P(o,n).value[e]}}function kr(t,e){var r;return(typeof e=="number"?B:e instanceof tt?Et:(r=tt(e))?(e=r,Et):ge)(t,e)}function sc(t){return function(){this.removeAttribute(t)}}function fc(t){return function(){this.removeAttributeNS(t.space,t.local)}}function lc(t,e,r){var n,o=r+"",i;return function(){var a=this.getAttribute(t);return a===o?null:a===n?i:i=e(n=a,r)}}function cc(t,e,r){var n,o=r+"",i;return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===n?i:i=e(n=a,r)}}function mc(t,e,r){var n,o,i;return function(){var a,s=r(this),f;return s==null?void this.removeAttribute(t):(a=this.getAttribute(t),f=s+"",a===f?null:a===n&&f===o?i:(o=f,i=e(n=a,s)))}}function hc(t,e,r){var n,o,i;return function(){var a,s=r(this),f;return s==null?void this.removeAttributeNS(t.space,t.local):(a=this.getAttributeNS(t.space,t.local),f=s+"",a===f?null:a===n&&f===o?i:(o=f,i=e(n=a,s)))}}function Sa(t,e){var r=lt(t),n=r==="transform"?Vr:kr;return this.attrTween(t,typeof e=="function"?(r.local?hc:mc)(r,n,ie(this,"attr."+t,e)):e==null?(r.local?fc:sc)(r):(r.local?cc:lc)(r,n,e))}function pc(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function dc(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function xc(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&dc(t,i)),r}return o._value=e,o}function gc(t,e){var r,n;function o(){var i=e.apply(this,arguments);return i!==n&&(r=(n=i)&&pc(t,i)),r}return o._value=e,o}function ka(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=lt(t);return this.tween(r,(n.local?xc:gc)(n,e))}function yc(t,e){return function(){Fe(this,t).delay=+e.apply(this,arguments)}}function vc(t,e){return e=+e,function(){Fe(this,t).delay=e}}function Ca(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?yc:vc)(e,t)):P(this.node(),e).delay}function wc(t,e){return function(){H(this,t).duration=+e.apply(this,arguments)}}function _c(t,e){return e=+e,function(){H(this,t).duration=e}}function Na(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?wc:_c)(e,t)):P(this.node(),e).duration}function bc(t,e){if(typeof e!="function")throw new Error;return function(){H(this,t).ease=e}}function Aa(t){var e=this._id;return arguments.length?this.each(bc(e,t)):P(this.node(),e).ease}function Mc(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;H(this,t).ease=r}}function Da(t){if(typeof t!="function")throw new Error;return this.each(Mc(this._id,t))}function Ia(t){typeof t!="function"&&(t=le(t));for(var e=this._groups,r=e.length,n=new Array(r),o=0;o<r;++o)for(var i=e[o],a=i.length,s=n[o]=[],f,u=0;u<a;++u)(f=i[u])&&t.call(f,f.__data__,u,i)&&s.push(f);return new q(n,this._parents,this._name,this._id)}function Ea(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,o=r.length,i=Math.min(n,o),a=new Array(n),s=0;s<i;++s)for(var f=e[s],u=r[s],c=f.length,m=a[s]=new Array(c),l,h=0;h<c;++h)(l=f[h]||u[h])&&(m[h]=l);for(;s<n;++s)a[s]=e[s];return new q(a,this._parents,this._name,this._id)}function Tc(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function Sc(t,e,r){var n,o,i=Tc(e)?Fe:H;return function(){var a=i(this,t),s=a.on;s!==n&&(o=(n=s).copy()).on(e,r),a.on=o}}function Oa(t,e){var r=this._id;return arguments.length<2?P(this.node(),r).on.on(t):this.each(Sc(r,t,e))}function kc(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function Ya(){return this.on("end.remove",kc(this._id))}function Fa(t){var e=this._name,r=this._id;typeof t!="function"&&(t=Nt(t));for(var n=this._groups,o=n.length,i=new Array(o),a=0;a<o;++a)for(var s=n[a],f=s.length,u=i[a]=new Array(f),c,m,l=0;l<f;++l)(c=s[l])&&(m=t.call(c,c.__data__,l,s))&&("__data__"in c&&(m.__data__=c.__data__),u[l]=m,Mt(u[l],e,r,l,u,P(c,r)));return new q(i,this._parents,e,r)}function Ra(t){var e=this._name,r=this._id;typeof t!="function"&&(t=fe(t));for(var n=this._groups,o=n.length,i=[],a=[],s=0;s<o;++s)for(var f=n[s],u=f.length,c,m=0;m<u;++m)if(c=f[m]){for(var l=t.call(c,c.__data__,m,f),h,g=P(c,r),x=0,d=l.length;x<d;++x)(h=l[x])&&Mt(h,e,r,x,l,g);i.push(l),a.push(c)}return new q(i,a,e,r)}var Cc=ct.prototype.constructor;function za(){return new Cc(this._groups,this._parents)}function Nc(t,e){var r,n,o;return function(){var i=yt(this,t),a=(this.style.removeProperty(t),yt(this,t));return i===a?null:i===r&&a===n?o:o=e(r=i,n=a)}}function Ua(t){return function(){this.style.removeProperty(t)}}function Ac(t,e,r){var n,o=r+"",i;return function(){var a=yt(this,t);return a===o?null:a===n?i:i=e(n=a,r)}}function Dc(t,e,r){var n,o,i;return function(){var a=yt(this,t),s=r(this),f=s+"";return s==null&&(f=s=(this.style.removeProperty(t),yt(this,t))),a===f?null:a===n&&f===o?i:(o=f,i=e(n=a,s))}}function Ic(t,e){var r,n,o,i="style."+e,a="end."+i,s;return function(){var f=H(this,t),u=f.on,c=f.value[i]==null?s||(s=Ua(e)):void 0;(u!==r||o!==c)&&(n=(r=u).copy()).on(a,o=c),f.on=n}}function Pa(t,e,r){var n=(t+="")=="transform"?Wr:kr;return e==null?this.styleTween(t,Nc(t,n)).on("end.style."+t,Ua(t)):typeof e=="function"?this.styleTween(t,Dc(t,n,ie(this,"style."+t,e))).each(Ic(this._id,t)):this.styleTween(t,Ac(t,n,e),r).on("end.style."+t,null)}function Ec(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function Oc(t,e,r){var n,o;function i(){var a=e.apply(this,arguments);return a!==o&&(n=(o=a)&&Ec(t,a,r)),n}return i._value=e,i}function $a(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Oc(t,e,r??""))}function Yc(t){return function(){this.textContent=t}}function Fc(t){return function(){var e=t(this);this.textContent=e??""}}function La(t){return this.tween("text",typeof t=="function"?Fc(ie(this,"text",t)):Yc(t==null?"":t+""))}function Rc(t){return function(e){this.textContent=t.call(this,e)}}function zc(t){var e,r;function n(){var o=t.apply(this,arguments);return o!==r&&(e=(r=o)&&Rc(o)),e}return n._value=t,n}function Ba(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,zc(t))}function Ha(){for(var t=this._name,e=this._id,r=Cr(),n=this._groups,o=n.length,i=0;i<o;++i)for(var a=n[i],s=a.length,f,u=0;u<s;++u)if(f=a[u]){var c=P(f,e);Mt(f,t,r,u,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new q(n,this._parents,t,r)}function qa(){var t,e,r=this,n=r._id,o=r.size();return new Promise(function(i,a){var s={value:a},f={value:function(){--o===0&&i()}};r.each(function(){var u=H(this,n),c=u.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(f)),u.on=e}),o===0&&i()})}var Uc=0;function q(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function Xa(t){return ct().transition(t)}function Cr(){return++Uc}var xt=ct.prototype;q.prototype=Xa.prototype={constructor:q,select:Fa,selectAll:Ra,selectChild:xt.selectChild,selectChildren:xt.selectChildren,filter:Ia,merge:Ea,selection:za,transition:Ha,call:xt.call,nodes:xt.nodes,node:xt.node,size:xt.size,empty:xt.empty,each:xt.each,on:Oa,attr:Sa,attrTween:ka,style:Pa,styleTween:$a,text:La,textTween:Ba,remove:Ya,tween:Ta,delay:Ca,duration:Na,ease:Aa,easeVarying:Da,end:qa,[Symbol.iterator]:xt[Symbol.iterator]};function Nr(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Pc={time:null,delay:0,duration:250,ease:Nr};function $c(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function Wa(t){var e,r;t instanceof q?(e=t._id,t=t._name):(e=Cr(),(r=Pc).time=Oe(),t=t==null?null:t+"");for(var n=this._groups,o=n.length,i=0;i<o;++i)for(var a=n[i],s=a.length,f,u=0;u<s;++u)(f=a[u])&&Mt(f,t,e,u,a,r||$c(f,e));return new q(n,this._parents,t,e)}ct.prototype.interrupt=Ma;ct.prototype.transition=Wa;var{abs:Uv,max:Pv,min:$v}=Math;function Va(t){return[+t[0],+t[1]]}function Lc(t){return[Va(t[0]),Va(t[1])]}var Lv={name:"x",handles:["w","e"].map(Tn),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Bv={name:"y",handles:["n","s"].map(Tn),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},Hv={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Tn),input:function(t){return t==null?null:Lc(t)},output:function(t){return t}};function Tn(t){return{type:t}}function Bc(t,e){var r,n=1;t==null&&(t=0),e==null&&(e=0);function o(){var i,a=r.length,s,f=0,u=0;for(i=0;i<a;++i)s=r[i],f+=s.x,u+=s.y;for(f=(f/a-t)*n,u=(u/a-e)*n,i=0;i<a;++i)s=r[i],s.x-=f,s.y-=u}return o.initialize=function(i){r=i},o.x=function(i){return arguments.length?(t=+i,o):t},o.y=function(i){return arguments.length?(e=+i,o):e},o.strength=function(i){return arguments.length?(n=+i,o):n},o}function Ga(t){let e=+this._x.call(null,t),r=+this._y.call(null,t);return Za(this.cover(e,r),e,r,t)}function Za(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var o,i=t._root,a={data:n},s=t._x0,f=t._y0,u=t._x1,c=t._y1,m,l,h,g,x,d,y,_;if(!i)return t._root=a,t;for(;i.length;)if((x=e>=(m=(s+u)/2))?s=m:u=m,(d=r>=(l=(f+c)/2))?f=l:c=l,o=i,!(i=i[y=d<<1|x]))return o[y]=a,t;if(h=+t._x.call(null,i.data),g=+t._y.call(null,i.data),e===h&&r===g)return a.next=i,o?o[y]=a:t._root=a,t;do o=o?o[y]=new Array(4):t._root=new Array(4),(x=e>=(m=(s+u)/2))?s=m:u=m,(d=r>=(l=(f+c)/2))?f=l:c=l;while((y=d<<1|x)===(_=(g>=l)<<1|h>=m));return o[_]=i,o[y]=a,t}function Qa(t){var e,r,n=t.length,o,i,a=new Array(n),s=new Array(n),f=1/0,u=1/0,c=-1/0,m=-1/0;for(r=0;r<n;++r)isNaN(o=+this._x.call(null,e=t[r]))||isNaN(i=+this._y.call(null,e))||(a[r]=o,s[r]=i,o<f&&(f=o),o>c&&(c=o),i<u&&(u=i),i>m&&(m=i));if(f>c||u>m)return this;for(this.cover(f,u).cover(c,m),r=0;r<n;++r)Za(this,a[r],s[r],t[r]);return this}function Ka(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,o=this._x1,i=this._y1;if(isNaN(r))o=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{for(var a=o-r||1,s=this._root,f,u;r>t||t>=o||n>e||e>=i;)switch(u=(e<n)<<1|t<r,f=new Array(4),f[u]=s,s=f,a*=2,u){case 0:o=r+a,i=n+a;break;case 1:r=o-a,i=n+a;break;case 2:o=r+a,n=i-a;break;case 3:r=o-a,n=i-a;break}this._root&&this._root.length&&(this._root=s)}return this._x0=r,this._y0=n,this._x1=o,this._y1=i,this}function Ja(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t}function ja(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]]}function L(t,e,r,n,o){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=o}function tu(t,e,r){var n,o=this._x0,i=this._y0,a,s,f,u,c=this._x1,m=this._y1,l=[],h=this._root,g,x;for(h&&l.push(new L(h,o,i,c,m)),r==null?r=1/0:(o=t-r,i=e-r,c=t+r,m=e+r,r*=r);g=l.pop();)if(!(!(h=g.node)||(a=g.x0)>c||(s=g.y0)>m||(f=g.x1)<o||(u=g.y1)<i))if(h.length){var d=(a+f)/2,y=(s+u)/2;l.push(new L(h[3],d,y,f,u),new L(h[2],a,y,d,u),new L(h[1],d,s,f,y),new L(h[0],a,s,d,y)),(x=(e>=y)<<1|t>=d)&&(g=l[l.length-1],l[l.length-1]=l[l.length-1-x],l[l.length-1-x]=g)}else{var _=t-+this._x.call(null,h.data),M=e-+this._y.call(null,h.data),p=_*_+M*M;if(p<r){var b=Math.sqrt(r=p);o=t-b,i=e-b,c=t+b,m=e+b,n=h.data}}return n}function eu(t){if(isNaN(c=+this._x.call(null,t))||isNaN(m=+this._y.call(null,t)))return this;var e,r=this._root,n,o,i,a=this._x0,s=this._y0,f=this._x1,u=this._y1,c,m,l,h,g,x,d,y;if(!r)return this;if(r.length)for(;;){if((g=c>=(l=(a+f)/2))?a=l:f=l,(x=m>=(h=(s+u)/2))?s=h:u=h,e=r,!(r=r[d=x<<1|g]))return this;if(!r.length)break;(e[d+1&3]||e[d+2&3]||e[d+3&3])&&(n=e,y=d)}for(;r.data!==t;)if(o=r,!(r=r.next))return this;return(i=r.next)&&delete r.next,o?(i?o.next=i:delete o.next,this):e?(i?e[d]=i:delete e[d],(r=e[0]||e[1]||e[2]||e[3])&&r===(e[3]||e[2]||e[1]||e[0])&&!r.length&&(n?n[y]=r:this._root=r),this):(this._root=i,this)}function ru(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this}function nu(){return this._root}function ou(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t}function iu(t){var e=[],r,n=this._root,o,i,a,s,f;for(n&&e.push(new L(n,this._x0,this._y0,this._x1,this._y1));r=e.pop();)if(!t(n=r.node,i=r.x0,a=r.y0,s=r.x1,f=r.y1)&&n.length){var u=(i+s)/2,c=(a+f)/2;(o=n[3])&&e.push(new L(o,u,c,s,f)),(o=n[2])&&e.push(new L(o,i,c,u,f)),(o=n[1])&&e.push(new L(o,u,a,s,c)),(o=n[0])&&e.push(new L(o,i,a,u,c))}return this}function au(t){var e=[],r=[],n;for(this._root&&e.push(new L(this._root,this._x0,this._y0,this._x1,this._y1));n=e.pop();){var o=n.node;if(o.length){var i,a=n.x0,s=n.y0,f=n.x1,u=n.y1,c=(a+f)/2,m=(s+u)/2;(i=o[0])&&e.push(new L(i,a,s,c,m)),(i=o[1])&&e.push(new L(i,c,s,f,m)),(i=o[2])&&e.push(new L(i,a,m,c,u)),(i=o[3])&&e.push(new L(i,c,m,f,u))}r.push(n)}for(;n=r.pop();)t(n.node,n.x0,n.y0,n.x1,n.y1);return this}function uu(t){return t[0]}function su(t){return arguments.length?(this._x=t,this):this._x}function fu(t){return t[1]}function lu(t){return arguments.length?(this._y=t,this):this._y}function qt(t,e,r){var n=new Sn(e??uu,r??fu,NaN,NaN,NaN,NaN);return t==null?n:n.addAll(t)}function Sn(t,e,r,n,o,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=o,this._y1=i,this._root=void 0}function cu(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var X=qt.prototype=Sn.prototype;X.copy=function(){var t=new Sn(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,r,n;if(!e)return t;if(!e.length)return t._root=cu(e),t;for(r=[{source:e,target:t._root=new Array(4)}];e=r.pop();)for(var o=0;o<4;++o)(n=e.source[o])&&(n.length?r.push({source:n,target:e.target[o]=new Array(4)}):e.target[o]=cu(n));return t};X.add=Ga;X.addAll=Qa;X.cover=Ka;X.data=Ja;X.extent=ja;X.find=tu;X.remove=eu;X.removeAll=ru;X.root=nu;X.size=ou;X.visit=iu;X.visitAfter=au;X.x=su;X.y=lu;function st(t){return function(){return t}}function rt(t){return(t()-.5)*1e-6}function Hc(t){return t.x+t.vx}function qc(t){return t.y+t.vy}function Xc(t){var e,r,n,o=1,i=1;typeof t!="function"&&(t=st(t==null?1:+t));function a(){for(var u,c=e.length,m,l,h,g,x,d,y=0;y<i;++y)for(m=qt(e,Hc,qc).visitAfter(s),u=0;u<c;++u)l=e[u],x=r[l.index],d=x*x,h=l.x+l.vx,g=l.y+l.vy,m.visit(_);function _(M,p,b,v,k){var C=M.data,Y=M.r,N=x+Y;if(C){if(C.index>l.index){var S=h-C.x-C.vx,O=g-C.y-C.vy,D=S*S+O*O;D<N*N&&(S===0&&(S=rt(n),D+=S*S),O===0&&(O=rt(n),D+=O*O),D=(N-(D=Math.sqrt(D)))/D*o,l.vx+=(S*=D)*(N=(Y*=Y)/(d+Y)),l.vy+=(O*=D)*N,C.vx-=S*(N=1-N),C.vy-=O*N)}return}return p>h+N||v<h-N||b>g+N||k<g-N}}function s(u){if(u.data)return u.r=r[u.data.index];for(var c=u.r=0;c<4;++c)u[c]&&u[c].r>u.r&&(u.r=u[c].r)}function f(){if(e){var u,c=e.length,m;for(r=new Array(c),u=0;u<c;++u)m=e[u],r[m.index]=+t(m,u,e)}}return a.initialize=function(u,c){e=u,n=c,f()},a.iterations=function(u){return arguments.length?(i=+u,a):i},a.strength=function(u){return arguments.length?(o=+u,a):o},a.radius=function(u){return arguments.length?(t=typeof u=="function"?u:st(+u),f(),a):t},a}function Wc(t){return t.index}function mu(t,e){var r=t.get(e);if(!r)throw new Error("node not found: "+e);return r}function Vc(t){var e=Wc,r=m,n,o=st(30),i,a,s,f,u,c=1;t==null&&(t=[]);function m(d){return 1/Math.min(s[d.source.index],s[d.target.index])}function l(d){for(var y=0,_=t.length;y<c;++y)for(var M=0,p,b,v,k,C,Y,N;M<_;++M)p=t[M],b=p.source,v=p.target,k=v.x+v.vx-b.x-b.vx||rt(u),C=v.y+v.vy-b.y-b.vy||rt(u),Y=Math.sqrt(k*k+C*C),Y=(Y-i[M])/Y*d*n[M],k*=Y,C*=Y,v.vx-=k*(N=f[M]),v.vy-=C*N,b.vx+=k*(N=1-N),b.vy+=C*N}function h(){if(a){var d,y=a.length,_=t.length,M=new Map(a.map((b,v)=>[e(b,v,a),b])),p;for(d=0,s=new Array(y);d<_;++d)p=t[d],p.index=d,typeof p.source!="object"&&(p.source=mu(M,p.source)),typeof p.target!="object"&&(p.target=mu(M,p.target)),s[p.source.index]=(s[p.source.index]||0)+1,s[p.target.index]=(s[p.target.index]||0)+1;for(d=0,f=new Array(_);d<_;++d)p=t[d],f[d]=s[p.source.index]/(s[p.source.index]+s[p.target.index]);n=new Array(_),g(),i=new Array(_),x()}}function g(){if(a)for(var d=0,y=t.length;d<y;++d)n[d]=+r(t[d],d,t)}function x(){if(a)for(var d=0,y=t.length;d<y;++d)i[d]=+o(t[d],d,t)}return l.initialize=function(d,y){a=d,u=y,h()},l.links=function(d){return arguments.length?(t=d,h(),l):t},l.id=function(d){return arguments.length?(e=d,l):e},l.iterations=function(d){return arguments.length?(c=+d,l):c},l.strength=function(d){return arguments.length?(r=typeof d=="function"?d:st(+d),g(),l):r},l.distance=function(d){return arguments.length?(o=typeof d=="function"?d:st(+d),x(),l):o},l}function hu(){let t=1;return()=>(t=(1664525*t+1013904223)%4294967296)/4294967296}function pu(t){return t.x}function du(t){return t.y}var Gc=10,Zc=Math.PI*(3-Math.sqrt(5));function Qc(t){var e,r=1,n=.001,o=1-Math.pow(n,1/300),i=0,a=.6,s=new Map,f=oe(m),u=Lt("tick","end"),c=hu();t==null&&(t=[]);function m(){l(),u.call("tick",e),r<n&&(f.stop(),u.call("end",e))}function l(x){var d,y=t.length,_;x===void 0&&(x=1);for(var M=0;M<x;++M)for(r+=(i-r)*o,s.forEach(function(p){p(r)}),d=0;d<y;++d)_=t[d],_.fx==null?_.x+=_.vx*=a:(_.x=_.fx,_.vx=0),_.fy==null?_.y+=_.vy*=a:(_.y=_.fy,_.vy=0);return e}function h(){for(var x=0,d=t.length,y;x<d;++x){if(y=t[x],y.index=x,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var _=Gc*Math.sqrt(.5+x),M=x*Zc;y.x=_*Math.cos(M),y.y=_*Math.sin(M)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function g(x){return x.initialize&&x.initialize(t,c),x}return h(),e={tick:l,restart:function(){return f.restart(m),e},stop:function(){return f.stop(),e},nodes:function(x){return arguments.length?(t=x,h(),s.forEach(g),e):t},alpha:function(x){return arguments.length?(r=+x,e):r},alphaMin:function(x){return arguments.length?(n=+x,e):n},alphaDecay:function(x){return arguments.length?(o=+x,e):+o},alphaTarget:function(x){return arguments.length?(i=+x,e):i},velocityDecay:function(x){return arguments.length?(a=1-x,e):1-a},randomSource:function(x){return arguments.length?(c=x,s.forEach(g),e):c},force:function(x,d){return arguments.length>1?(d==null?s.delete(x):s.set(x,g(d)),e):s.get(x)},find:function(x,d,y){var _=0,M=t.length,p,b,v,k,C;for(y==null?y=1/0:y*=y,_=0;_<M;++_)k=t[_],p=x-k.x,b=d-k.y,v=p*p+b*b,v<y&&(C=k,y=v);return C},on:function(x,d){return arguments.length>1?(u.on(x,d),e):u.on(x)}}}function Kc(){var t,e,r,n,o=st(-30),i,a=1,s=1/0,f=.81;function u(h){var g,x=t.length,d=qt(t,pu,du).visitAfter(m);for(n=h,g=0;g<x;++g)e=t[g],d.visit(l)}function c(){if(t){var h,g=t.length,x;for(i=new Array(g),h=0;h<g;++h)x=t[h],i[x.index]=+o(x,h,t)}}function m(h){var g=0,x,d,y=0,_,M,p;if(h.length){for(_=M=p=0;p<4;++p)(x=h[p])&&(d=Math.abs(x.value))&&(g+=x.value,y+=d,_+=d*x.x,M+=d*x.y);h.x=_/y,h.y=M/y}else{x=h,x.x=x.data.x,x.y=x.data.y;do g+=i[x.data.index];while(x=x.next)}h.value=g}function l(h,g,x,d){if(!h.value)return!0;var y=h.x-e.x,_=h.y-e.y,M=d-g,p=y*y+_*_;if(M*M/f<p)return p<s&&(y===0&&(y=rt(r),p+=y*y),_===0&&(_=rt(r),p+=_*_),p<a&&(p=Math.sqrt(a*p)),e.vx+=y*h.value*n/p,e.vy+=_*h.value*n/p),!0;if(h.length||p>=s)return;(h.data!==e||h.next)&&(y===0&&(y=rt(r),p+=y*y),_===0&&(_=rt(r),p+=_*_),p<a&&(p=Math.sqrt(a*p)));do h.data!==e&&(M=i[h.data.index]*n/p,e.vx+=y*M,e.vy+=_*M);while(h=h.next)}return u.initialize=function(h,g){t=h,r=g,c()},u.strength=function(h){return arguments.length?(o=typeof h=="function"?h:st(+h),c(),u):o},u.distanceMin=function(h){return arguments.length?(a=h*h,u):Math.sqrt(a)},u.distanceMax=function(h){return arguments.length?(s=h*h,u):Math.sqrt(s)},u.theta=function(h){return arguments.length?(f=h*h,u):Math.sqrt(f)},u}function Tt(t,e,r){this.k=t,this.x=e,this.y=r}Tt.prototype={constructor:Tt,scale:function(t){return t===1?this:new Tt(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Tt(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var kn=new Tt(1,0,0);Cn.prototype=Tt.prototype;function Cn(t){for(;!t.__zoom;)if(!(t=t.parentNode))return kn;return t.__zoom}export{An as a,Dn as b,Fu as c,Ru as d,At as e,jl as f,Bc as g,Xc as h,Vc as i,Qc as j,Kc as k,qe as l,Bs as m,sn as n,ta as o,yn as p,$l as q,_n as r,Hl as s,Xl as t};