@blueprint-chart/lib 2.10.0 → 2.12.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 (37) hide show
  1. package/dist/charts/format-helpers.d.ts +1 -0
  2. package/dist/charts/palettes.d.ts +1 -0
  3. package/dist/charts/plugins/annotations/context.d.ts +5 -0
  4. package/dist/charts/plugins/annotations/shared.d.ts +7 -0
  5. package/dist/charts/sort-helpers.d.ts +5 -0
  6. package/dist/charts/types/area/area.d.ts +1 -1
  7. package/dist/charts/types/area-stacked/area-stacked.d.ts +0 -1
  8. package/dist/charts/types/bar-grouped/bar-grouped.d.ts +0 -1
  9. package/dist/charts/types/bar-multi/bar-multi.d.ts +0 -1
  10. package/dist/charts/types/bar-split/bar-split.d.ts +0 -1
  11. package/dist/charts/types/bar-stacked/bar-stacked.d.ts +0 -1
  12. package/dist/charts/types/column-stacked/column-stacked.d.ts +0 -1
  13. package/dist/charts/types/donut/donut.d.ts +0 -1
  14. package/dist/charts/types/dot-plot/annotations.d.ts +4 -0
  15. package/dist/charts/types/dot-plot/dot-plot.d.ts +4 -0
  16. package/dist/charts/types/dot-plot/issues.d.ts +11 -0
  17. package/dist/charts/types/dot-plot/mapping.d.ts +17 -0
  18. package/dist/charts/types/dot-plot/rows.d.ts +20 -0
  19. package/dist/charts/types/dot-plot/tooltip.d.ts +3 -0
  20. package/dist/charts/types/line/line.d.ts +1 -1
  21. package/dist/charts/types/line-multi/line-multi.d.ts +0 -1
  22. package/dist/charts/types/scatter/issues.d.ts +17 -0
  23. package/dist/charts/types/scatter/points.d.ts +1 -0
  24. package/dist/charts/types/scatter/scatter.d.ts +1 -1
  25. package/dist/charts/types.d.ts +9 -1
  26. package/dist/embed.js +1 -1
  27. package/dist/enums.d.ts +14 -1
  28. package/dist/index.d.ts +2 -1
  29. package/dist/index.js +374 -320
  30. package/dist/lib/lib.iife.js +25 -18
  31. package/dist/node-backend/index.js +2923 -2566
  32. package/dist/{render-bpc-BL73t_Ih.js → render-bpc-t7lTvln4.js} +3124 -2767
  33. package/dist/runtime/chart-css.d.ts +1 -1
  34. package/dist/{runtime-gzeMNwqx.js → runtime-D_vHKSyR.js} +1 -1
  35. package/dist/runtime.js +2 -2
  36. package/package.json +1 -1
  37. package/src/charts/chart.scss +3 -0
@@ -235,6 +235,8 @@ var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{valu
235
235
  padding: 6px 10px;
236
236
  font-size: 13px;
237
237
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
238
+ max-width: var(--bc-tooltip-max-width, 240px);
239
+ overflow-wrap: break-word;
238
240
  z-index: 9999;
239
241
  display: none;
240
242
  }
@@ -259,7 +261,7 @@ var BlueprintChart=(function(e){Object.defineProperty(e,Symbol.toStringTag,{valu
259
261
  --bc-frame-footer-padding-top: 0.625rem;
260
262
  }
261
263
 
262
- [data-bs-theme="dark"] .bc-frame.bc-theme-blueprint-bold {
264
+ [data-bs-theme="dark"] .bc-frame.bc-theme-blueprint-bold:not([data-bs-theme="dark"] [data-bs-theme="light"] *) {
263
265
  --bc-frame-bg: #000000;
264
266
  --bc-text-color: rgba(255, 255, 255, 0.95);
265
267
  --bc-axis-color: rgba(255, 255, 255, 0.7);
@@ -304,13 +306,13 @@ body {
304
306
  `+a.line+` | `+s+`
305
307
  `+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`
306
308
  at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`"`+a(e)+`"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function k(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Chart:Lt},a=Lt,o=`chart`,s=`data`,c=`colorize`,l=`highlight`,u=`area-fill`,d=`annotation`,f=`range`,p=`note`,m=`series`,h=`scene`,g=`transform`,_=/^[ \t]/,v=/^[^\t\n\r{}=]/,y=/^[a-zA-Z_#]/,b=/^[a-zA-Z0-9_#\-]/,x=/^[0-9]/,S=/^[eE]/,C=/^[+\-]/,w=/^[^"\\]/,k=/^[0-9a-fA-F]/,A=/^[^\n]/,j=/^[ \t\n\r]/,M=Ot(`chart`,!1),N=Ot(`{`,!1),P=Ot(`}`,!1),F=kt([` `,` `],!1,!1,!1),I=Ot(`data`,!1),L=Ot(`=`,!1),R=Ot(`,`,!1),z=Ot(` `,!1),B=kt([` `,`
307
- `,`\r`,`{`,`}`,`=`],!0,!1,!1),V=Ot(`colorize`,!1),H=Ot(`highlight`,!1),ee=Ot(`area-fill`,!1),te=Ot(`annotation`,!1),ne=Ot(`range`,!1),re=Ot(`note`,!1),ie=Ot(`series`,!1),ae=Ot(`scene`,!1),U=Ot(`transform`,!1),oe=Ot(`%`,!1),se=Mt(`identifier`),ce=kt([[`a`,`z`],[`A`,`Z`],`_`,`#`],!1,!1,!1),le=kt([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`#`,`-`],!1,!1,!1),ue=Ot(`-`,!1),de=Ot(`.`,!1),W=kt([[`0`,`9`]],!1,!1,!1),G=kt([`e`,`E`],!1,!1,!1),fe=kt([`+`,`-`],!1,!1,!1),pe=Mt(`string`),me=Ot(`"`,!1),he=Ot(`\\`,!1),ge=kt([`"`,`\\`],!0,!1,!1),_e=Ot(`n`,!1),ve=Ot(`r`,!1),ye=Ot(`t`,!1),be=Ot(`u`,!1),xe=kt([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),Se=At(),Ce=Ot(`//`,!1),K=kt([`
308
- `],!0,!1,!1),we=Ot(`/*`,!1),Te=Ot(`*/`,!1),Ee=kt([` `,` `,`
309
- `,`\r`],!1,!1,!1),De=Mt(`whitespace`);function Oe(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=E(t);return{type:`chart`,chartType:e,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,scenes:r.scenes,transforms:r.transforms}}function ke(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function Ae(e,t){return{type:`data`,entries:e,...t.length?{trailingComments:t}:{}}}function je(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function Me(e,t,n){return n}function Ne(e,t,n){let r=[t,...n];return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:r[0].value,isPercentage:!1,values:r.map(e=>e.value)}}function Pe(e,t){return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Fe(e){return{name:e,quoted:!0}}function Ie(e){return{name:e,quoted:!1}}function Le(e,t){return{type:`property`,key:e,...e===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Re(e){return e.trim()}function ze(e,t,n){return{type:`colorize`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function Be(){Et(`colorize needs a quoted target, e.g. colorize "2021" { ... }`)}function Ve(e,t,n){return{type:`colorize`,target:e,properties:t,fromHighlight:!0,...n.length?{trailingComments:n}:{}}}function He(e){return{type:`highlight`,target:e,properties:[]}}function Ue(){Et(`highlight needs a quoted target, e.g. highlight "2021" { ... } or highlight "2021"`)}function We(e,t,n,r){return{type:`area-fill`,from:e,to:t,properties:n,...r.length?{trailingComments:r}:{}}}function Ge(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ke(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function qe(e,t,n){return{type:`annotation`,kind:`point`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function Je(){Et(`annotation needs a quoted target, e.g. annotation "2021" { ... }`)}function Ye(e,t){return{type:`annotation`,kind:`range`,properties:e,...t.length?{trailingComments:t}:{}}}function Xe(e,t){return{type:`annotation`,kind:`free`,properties:e,...t.length?{trailingComments:t}:{}}}function Ze(e,t,n){return{type:`series`,name:e,properties:t,...n.length?{trailingComments:n}:{}}}function Qe(){Et(`series needs a quoted name, e.g. series "Revenue" { ... }`)}function $e(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=D(t);return{type:`scene`,name:e??null,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,transforms:r.transforms}}function et(e,t,n){return{type:`transform`,transformType:e,properties:t,...n.length?{trailingComments:n}:{}}}function tt(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function nt(e,t){return t!=null&&(e.trailingComment=t),e}function rt(e,t){return{type:`property`,key:e,value:t.value,isPercentage:t.isPercentage}}function it(e){return{value:e,isPercentage:!0}}function at(e){return{value:e,isPercentage:!1}}function ot(e){return{value:e,isPercentage:!1}}function st(e){return{value:e,isPercentage:!1}}function ct(e){return parseFloat(e)}function lt(e){return e.join(``)}function ut(e){return e}function dt(){return`"`}function ft(){return`\\`}function pt(){return`
310
- `}function mt(){return`\r`}function ht(){return` `}function gt(e){return String.fromCharCode(parseInt(e,16))}function _t(e){Et(`Unknown escape sequence \\`+e)}function vt(e){return e}function yt(e){return e}function bt(e){return e.trim()}function xt(e){return e.trim()}let q=t.peg$currPos|0,J=q,St=[{line:1,column:1}],Ct=q,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(J,q):t,Ft(e,t)}function Dt(t=q){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){q<Ct||(q>Ct&&(Ct=q,wt=[]),wt.push(e))}function Ft(e,t){return new O(e,null,null,t)}function It(e,t,n){return new O(O.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=q,vn(),e.substr(q,5)===o?(r=o,q+=5):(r=n,Y===0&&X(M)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(P)),u===n?(q=t,t=n):(vn(),J=t,t=Oe(a,c,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=ke(r,i,o)}else q=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=q,e.substr(q,4)===s?(r=s,q+=4):(r=n,Y===0&&X(I)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(q)===125?(c=`}`,q++):(c=n,Y===0&&X(P)),c===n?(q=t,t=n):(J=t,t=Ae(a,o))}else q=t,t=n}else q=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=q,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=je(r,i,o)}else q=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=q,r=Ht(),r!==n){if(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i!==n){if(vn(),a=an(),a!==n){if(o=[],s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(R)),c===n?(q=s,s=n):(vn(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(R)),c===n?(q=s,s=n):(vn(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l)));else o=n;o===n?(q=t,t=n):(J=t,t=Ne(r,a,o))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,r=Ht(),r===n?(q=t,t=n):(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=Pe(r,a))))),t}function Ht(){let e,t;return e=q,t=cn(),t!==n&&(J=e,t=Fe(t)),e=t,e===n&&(e=q,t=on(),t!==n&&(J=e,t=Ie(t)),e=t),e}function Ut(){let t,r,i,a;return t=q,r=Wt(),r===n?(q=t,t=n):(e.charCodeAt(q)===9?(i=` `,q++):(i=n,Y===0&&X(z)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=Le(r,a)))),t}function Wt(){let t,r,i,a;if(t=q,r=q,i=[],a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(B));else i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=Re(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(P)),u===n?(q=t,t=n):(J=t,t=ze(a,s,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(V)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Be()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(q)===125?(d=`}`,q++):(d=n,Y===0&&X(P)),d===n?(q=t,t=n):(J=t,t=Ve(a,c,u))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=q,Y++,s=q,c=vn(),e.charCodeAt(q)===123?(u=`{`,q++):(u=n,Y===0&&X(N)),u===n?(q=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=t,t=n):(J=t,t=He(a))))),t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Ue())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(vn(),e.charCodeAt(q)===123?(c=`{`,q++):(c=n,Y===0&&X(N)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(q)===125?(f=`}`,q++):(f=n,Y===0&&X(P)),f===n?(q=t,t=n):(J=t,t=We(a,s,l,d))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s===n?(q=t,t=n):(J=t,t=Ge())))),t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Ke())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(te)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=qe(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(te)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Je()))),t}function Yt(){let t,r,i,a,o,s;if(t=q,e.substr(q,5)===f?(r=f,q+=5):(r=n,Y===0&&X(ne)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(P)),s===n?(q=t,t=n):(J=t,t=Ye(a,o))}else q=t,t=n}else q=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=q,e.substr(q,4)===p?(r=p,q+=4):(r=n,Y===0&&X(re)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(P)),s===n?(q=t,t=n):(J=t,t=Xe(a,o))}else q=t,t=n}else q=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ie)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=Ze(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ie)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Qe()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,5)===h?(r=h,q+=5):(r=n,Y===0&&X(ae)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=$e(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,9)===g?(r=g,q+=9):(r=n,Y===0&&X(U)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=et(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function en(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=tt(r,i,o)}else q=t,t=n;return t}function tn(){let t,r,i,a;if(t=q,vn(),r=nn(),r!==n){for(i=[],a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(F));a=gn(),a===n&&(a=null),mn(),J=t,t=nt(r,a)}else q=t,t=n;return t}function nn(){let t,r,i,a;return t=q,r=rn(),r===n?(q=t,t=n):(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=rt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=q,r=sn(),r===n?(q=t,t=n):(e.charCodeAt(q)===37?(i=`%`,q++):(i=n,Y===0&&X(oe)),i===n?(q=t,t=n):(J=t,t=it(r))),t===n&&(t=q,r=sn(),r!==n&&(J=t,r=at(r)),t=r,t===n&&(t=q,r=cn(),r!==n&&(J=t,r=ot(r)),t=r,t===n&&(t=q,r=on(),r!==n&&(J=t,r=st(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=q,r=q,i=e.charAt(q),y.test(i)?q++:(i=n,Y===0&&X(ce)),i!==n){for(a=[],o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(le));o!==n;)a.push(o),o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(le));i=[i,a],r=i}else q=r,r=n;return t=r===n?r:e.substring(t,q),Y--,t===n&&(r=n,Y===0&&X(se)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=q,r=q,i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,Y===0&&X(ue)),a===n&&(a=null),o=q,e.charCodeAt(q)===46?(s=`.`,q++):(s=n,Y===0&&X(de)),s!==n){if(c=[],l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W));else c=n;c===n?(q=o,o=n):(s=[s,c],o=s)}else q=o,o=n;if(o===n){if(o=q,s=[],c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W));else s=n;if(s!==n){if(c=q,e.charCodeAt(q)===46?(l=`.`,q++):(l=n,Y===0&&X(de)),l!==n){for(u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));l=[l,u],c=l}else q=c,c=n;c===n&&(c=null),s=[s,c],o=s}else q=o,o=n}if(o!==n){if(s=q,c=e.charAt(q),S.test(c)?q++:(c=n,Y===0&&X(G)),c!==n){if(l=e.charAt(q),C.test(l)?q++:(l=n,Y===0&&X(fe)),l===n&&(l=null),u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));else u=n;u===n?(q=s,s=n):(c=[c,l,u],s=c)}else q=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else q=i,i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=ct(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(me)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(q)===34?(a=`"`,q++):(a=n,Y===0&&X(me)),a===n?(q=t,t=n):(J=t,t=lt(i))}else q=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(pe)),t}function ln(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(he)),r===n?(q=t,t=n):(i=un(),i===n?(q=t,t=n):(J=t,t=ut(i))),t===n&&(t=e.charAt(q),w.test(t)?q++:(t=n,Y===0&&X(ge))),t}function un(){let t,r,i,a,o,s,c,l;return t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(me)),r!==n&&(J=t,r=dt()),t=r,t===n&&(t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(he)),r!==n&&(J=t,r=ft()),t=r,t===n&&(t=q,e.charCodeAt(q)===110?(r=`n`,q++):(r=n,Y===0&&X(_e)),r!==n&&(J=t,r=pt()),t=r,t===n&&(t=q,e.charCodeAt(q)===114?(r=`r`,q++):(r=n,Y===0&&X(ve)),r!==n&&(J=t,r=mt()),t=r,t===n&&(t=q,e.charCodeAt(q)===116?(r=`t`,q++):(r=n,Y===0&&X(ye)),r!==n&&(J=t,r=ht()),t=r,t===n&&(t=q,e.charCodeAt(q)===117?(r=`u`,q++):(r=n,Y===0&&X(be)),r===n?(q=t,t=n):(i=q,a=q,o=e.charAt(q),k.test(o)?q++:(o=n,Y===0&&X(xe)),o===n?(q=a,a=n):(s=e.charAt(q),k.test(s)?q++:(s=n,Y===0&&X(xe)),s===n?(q=a,a=n):(c=e.charAt(q),k.test(c)?q++:(c=n,Y===0&&X(xe)),c===n?(q=a,a=n):(l=e.charAt(q),k.test(l)?q++:(l=n,Y===0&&X(xe)),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):(J=t,t=gt(i))),t===n&&(t=q,e.length>q?(r=e.charAt(q),q++):(r=n,Y===0&&X(Se)),r!==n&&(J=t,r=_t(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=[],a=e.charAt(q),A.test(a)?q++:(a=n,Y===0&&X(K));a!==n;)i.push(a),a=e.charAt(q),A.test(a)?q++:(a=n,Y===0&&X(K));r=[r,i],t=r}else q=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=[],a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(Se)),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(Se)),s===n?(q=a,a=n):(o=[o,s],a=o));e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(r=[r,i,a],t=r)}else q=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee));r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee));return Y--,t}function hn(){let e,t,r,i;for(e=q,t=[],r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));r!==n;)t.push(r),r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));return r=mn(),J=e,e=yt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=q,a=[],o=e.charAt(q),A.test(o)?q++:(o=n,Y===0&&X(K));o!==n;)a.push(o),o=e.charAt(q),A.test(o)?q++:(o=n,Y===0&&X(K));i=e.substring(i,q),J=t,t=bt(i)}else q=t,t=n;if(t===n){if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=q,a=[],o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(Se)),c===n?(q=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(Se)),c===n?(q=o,o=n):(s=[s,c],o=s));i=e.substring(i,q),e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(J=t,t=xt(i))}else q=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(De)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());return Y--,t}Tt=a();let yn=Tt!==n&&q===e.length;function bn(){throw Tt!==n&&q<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:q,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:yn,peg$throw:yn?void 0:bn};if(yn)return Tt;bn()}function A(e){try{return k(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function j(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function M(e){return j(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function N(e){let t=M(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var P={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},F={"\\":`\\`,'"':`"`,n:`
311
- `,r:`\r`,t:` `};function I(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>P[e])}"`}function L(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):F[t])}function R(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?L(t.slice(1,-1)):t}function z(e){let t=[],n=``,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(i&&o===`\\`&&a+1<e.length){n+=o+e[++a];continue}if(o===`"`)i=!i;else if(!i&&o===`(`)r++;else if(!i&&o===`)`)r=Math.max(0,r-1);else if(o===`,`&&!i&&r===0){t.push(n),n=``;continue}n+=o}return t.push(n),t}var B=`"((?:[^"\\\\]|\\\\.)*)"`,V=RegExp(`^${B}\\s*=\\s*(.+)$`),H=RegExp(`^${B}\\s*=\\s*"([^"]*)"$`),ee=RegExp(`^${B}\\s*=\\s*(.+)$`);function te(e){let t=new Set;return e.map(e=>{let n=e;for(let r=2;t.has(n);r++)n=`${e} (${r})`;return t.add(n),n})}function ne(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>R(e)!==``);return i.length>0&&i.every(e=>N(e)===void 0)?[{name:e,values:r.map(e=>R(e)||void 0)}]:[]})}function re(e){let t=e.split(`
312
- `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=z(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(H),i=n??t[e].match(V);i&&r.push({cells:z(i[2]),label:L(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(N(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=ne(a,r);return{labels:te(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(ee);t&&(n.push(L(t[1])),r.push(N(t[2])))}return{labels:te(n),values:r}}var ie=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],ae=Object.fromEntries(ie.map(e=>[e.name,e.colors]));function U(e){if(!e)return;let t=ae[e];return t?[...t]:void 0}function oe(){return ie}var{min:se,max:ce}=Math,le=(e,t=0,n=1)=>se(ce(t,e),n),ue=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=le(e[t],0,255)):t===3&&(e[t]=le(e[t],0,1));return e},de={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])de[`[object ${e}]`]=e.toLowerCase();function W(e){return de[Object.prototype.toString.call(e)]||`object`}var G=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):W(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),fe=e=>{if(e.length<2)return null;let t=e.length-1;return W(e[t])==`string`?e[t].toLowerCase():null},{PI:pe,min:me,max:he}=Math,ge=e=>Math.round(e*100)/100,_e=e=>Math.round(e*100)/100,ve=pe*2,ye=pe/3,be=pe/180,xe=180/pe;function Se(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Ce={format:{},autodetect:[]},K=class{constructor(...e){let t=this;if(W(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=fe(e),r=!1;if(!n){r=!0,Ce.sorted||=(Ce.autodetect=Ce.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Ce.autodetect)if(n=t.test(...e),n)break}if(Ce.format[n])t._rgb=ue(Ce.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return W(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},we=`3.2.0`,Te=(...e)=>new K(...e);Te.version=we;var Ee={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},De=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Oe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,ke=e=>{if(e.match(De)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(Oe)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:Ae}=Math,je=(...e)=>{let[t,n,r,i]=G(e,`rgba`),a=fe(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Ae(t),n=Ae(n),r=Ae(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Ae(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};K.prototype.name=function(){let e=je(this._rgb,`rgb`);for(let t of Object.keys(Ee))if(Ee[t]===e)return t.toLowerCase();return e},Ce.format.named=e=>{if(e=e.toLowerCase(),Ee[e])return ke(Ee[e]);throw Error(`unknown color name: `+e)},Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&Ee[e.toLowerCase()])return`named`}}),K.prototype.alpha=function(e,t=!1){return e!==void 0&&W(e)===`number`?t?(this._rgb[3]=e,this):new K([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},K.prototype.clipped=function(){return this._rgb._clipped||!1};var Me={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Ne=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Pe(e){let t=Ne.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Me.labWhitePoint=e,Me.Xn=t[0],Me.Zn=t[1]}function Fe(){return Me.labWhitePoint}var Ie=(...e)=>{e=G(e,`lab`);let[t,n,r]=e,[i,a,o]=Le(t,n,r),[s,c,l]=ze(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Le=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Me,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Re=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},ze=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Me,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Re(y*a.m00+b*a.m10+x*a.m20),C=Re(y*a.m01+b*a.m11+x*a.m21),w=Re(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},Be=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=Ue(t,n,r),[c,l,u]=Ve(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ve(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Me,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function He(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ue=(e,t,n)=>{e=He(e/255),t=He(t/255),n=He(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Me,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};K.prototype.lab=function(){return Be(this._rgb)},Object.assign(Te,{lab:(...e)=>new K(...e,`lab`),getLabWhitePoint:Fe,setLabWhitePoint:Pe}),Ce.format.lab=Ie,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`lab`),W(e)===`array`&&e.length===3)return`lab`}}),K.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=Me.Kn*e,new K(n,`lab`).alpha(t.alpha(),!0)},K.prototype.brighten=function(e=1){return this.darken(-e)},K.prototype.darker=K.prototype.darken,K.prototype.brighter=K.prototype.brighten,K.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:We}=Math,Ge=1e-7,Ke=20;K.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&W(e)===`number`){if(e===0)return new K([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new K([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Ke,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<Ge||!r--?o:s>e?i(n,o):i(o,a)};return new K([...(n>e?i(new K([0,0,0]),this):i(this,new K([255,255,255]))).rgb(),this._rgb[3]])}return qe(...this._rgb.slice(0,3))};var qe=(e,t,n)=>(e=Je(e),t=Je(t),n=Je(n),.2126*e+.7152*t+.0722*n),Je=e=>(e/=255,e<=.03928?e/12.92:We((e+.055)/1.055,2.4)),Ye={},Xe=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Ye[i]&&!r.length&&(i=Object.keys(Ye)[0]),!Ye[i])throw Error(`interpolation mode ${i} is not defined`);return W(e)!==`object`&&(e=new K(e)),W(t)!==`object`&&(t=new K(t)),Ye[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};K.prototype.mix=K.prototype.interpolate=function(e,t=.5,...n){return Xe(this,e,t,...n)},K.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new K([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:Ze,cos:Qe}=Math,$e=(...e)=>{let[t,n,r]=G(e,`lch`);return isNaN(r)&&(r=0),r*=be,[t,Qe(r)*n,Ze(r)*n]},et=(...e)=>{e=G(e,`lch`);let[t,n,r]=e,[i,a,o]=$e(t,n,r),[s,c,l]=Ie(i,a,o);return[s,c,l,e.length>3?e[3]:1]},tt=(...e)=>et(...Se(G(e,`hcl`))),{sqrt:nt,atan2:rt,round:it}=Math,at=(...e)=>{let[t,n,r]=G(e,`lab`),i=nt(n*n+r*r),a=(rt(r,n)*xe+360)%360;return it(i*1e4)===0&&(a=NaN),[t,i,a]},ot=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=Be(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};K.prototype.lch=function(){return ot(this._rgb)},K.prototype.hcl=function(){return Se(ot(this._rgb))},Object.assign(Te,{lch:(...e)=>new K(...e,`lch`),hcl:(...e)=>new K(...e,`hcl`)}),Ce.format.lch=et,Ce.format.hcl=tt,[`lch`,`hcl`].forEach(e=>Ce.autodetect.push({p:2,test:(...t)=>{if(t=G(t,e),W(t)===`array`&&t.length===3)return e}})),K.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=Me.Kn*e,n[1]<0&&(n[1]=0),new K(n,`lch`).alpha(t.alpha(),!0)},K.prototype.desaturate=function(e=1){return this.saturate(-e)},K.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(W(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(W(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new K(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},K.prototype.tint=function(e=.5,...t){return Xe(this,`white`,e,...t)},K.prototype.shade=function(e=.5,...t){return Xe(this,`black`,e,...t)},Ye.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:st,pow:ct}=Math;Ye.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new K(st(ct(r,2)*(1-n)+ct(o,2)*n),st(ct(i,2)*(1-n)+ct(s,2)*n),st(ct(a,2)*(1-n)+ct(c,2)*n),`rgb`)},Ye.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var lt=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new K([m,f,p],r):new K([p,f,m],r)},ut=(e,t,n)=>lt(e,t,n,`lch`);Ye.lch=ut,Ye.hcl=ut;var dt=e=>{if(W(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},ft=(...e)=>{let[t,n,r]=G(e,`rgb`);return(t<<16)+(n<<8)+r};K.prototype.num=function(){return ft(this._rgb)},Object.assign(Te,{num:(...e)=>new K(...e,`num`)}),Ce.format.num=dt,Ce.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&W(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Ye.num=(e,t,n)=>{let r=e.num();return new K(r+n*(t.num()-r),`num`)};var{floor:pt}=Math,mt=(...e)=>{e=G(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=pt(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},ht=(...e)=>{let[t,n,r]=G(e,`rgb`),i=me(t,n,r),a=he(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};K.prototype.hcg=function(){return ht(this._rgb)},Te.hcg=(...e)=>new K(...e,`hcg`),Ce.format.hcg=mt,Ce.autodetect.push({p:1,test:(...e)=>{if(e=G(e,`hcg`),W(e)===`array`&&e.length===3)return`hcg`}}),Ye.hcg=(e,t,n)=>lt(e,t,n,`hcg`);var{cos:gt}=Math,_t=(...e)=>{e=G(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*gt(ve*t)/gt(ye-ve*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*gt(ve*t)/gt(ye-ve*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*gt(ve*t)/gt(ye-ve*t))/3,i=1-(a+o)),i=le(r*i*3),a=le(r*a*3),o=le(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:vt,sqrt:yt,acos:bt}=Math,xt=(...e)=>{let[t,n,r]=G(e,`rgb`);t/=255,n/=255,r/=255;let i,a=vt(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=yt((t-n)*(t-n)+(t-r)*(n-r)),i=bt(i),r>n&&(i=ve-i),i/=ve),[i*360,s,o]};K.prototype.hsi=function(){return xt(this._rgb)},Te.hsi=(...e)=>new K(...e,`hsi`),Ce.format.hsi=_t,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsi`),W(e)===`array`&&e.length===3)return`hsi`}}),Ye.hsi=(e,t,n)=>lt(e,t,n,`hsi`);var q=(...e)=>{e=G(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},J=(...e)=>{e=G(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=me(t,n,r),a=he(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};K.prototype.hsl=function(){return J(this._rgb)},Te.hsl=(...e)=>new K(...e,`hsl`),Ce.format.hsl=q,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsl`),W(e)===`array`&&e.length===3)return`hsl`}}),Ye.hsl=(e,t,n)=>lt(e,t,n,`hsl`);var{floor:St}=Math,Ct=(...e)=>{e=G(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=St(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:wt,max:Y}=Math,Tt=(...e)=>{e=G(e,`rgb`);let[t,n,r]=e,i=wt(t,n,r),a=Y(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};K.prototype.hsv=function(){return Tt(this._rgb)},Te.hsv=(...e)=>new K(...e,`hsv`),Ce.format.hsv=Ct,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsv`),W(e)===`array`&&e.length===3)return`hsv`}}),Ye.hsv=(e,t,n)=>lt(e,t,n,`hsv`);function Et(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var Dt=(...e)=>{e=G(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=Ot([t,n,r]),[c,l,u]=ze(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ot(e){return Et([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Et([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var kt=(...e)=>{let[t,n,r,...i]=G(e,`rgb`);return[...At(Ue(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function At(e){return Et([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Et([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}K.prototype.oklab=function(){return kt(this._rgb)},Object.assign(Te,{oklab:(...e)=>new K(...e,`oklab`)}),Ce.format.oklab=Dt,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`oklab`),W(e)===`array`&&e.length===3)return`oklab`}}),Ye.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Ye.oklch=(e,t,n)=>lt(e,t,n,`oklch`);var{pow:jt,sqrt:Mt,PI:Nt,cos:Pt,sin:X,atan2:Ft}=Math,It=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new K(e)),t===`lrgb`)return Lt(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Nt;c+=Pt(t)*n[0],l+=X(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Nt;c+=Pt(t)*n[r+1],l+=X(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=Ft(l/s[e],c/s[e])/Nt*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new K(o,t).alpha(u>.99999?1:u,!0)},Lt=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=jt(s[0],2)*o,r[1]+=jt(s[1],2)*o,r[2]+=jt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=Mt(r[0]),r[1]=Mt(r[1]),r[2]=Mt(r[2]),r[3]>.9999999&&(r[3]=1),new K(ue(r))},{pow:Rt}=Math;function zt(e){let t=`rgb`,n=Te(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&W(e)===`string`&&Te.brewer&&Te.brewer[e.toLowerCase()]&&(e=Te.brewer[e.toLowerCase()]),W(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=Te(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=Rt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=le(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(W(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=Te.interpolate(l[e],l[e+1],a,t);break}}else W(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=Te(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(W(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=Te.analyze(i);c=e===0?[t.min,t.max]:Te.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(W(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=Bt(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return Te[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=Te(e),C)},C}function Bt(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Vt=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Ht=function(e){let t,n,r,i;if(e=e.map(e=>new K(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Vt(i),t=function(e){let t=1-e;return new K([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Ut=e=>{let t=Ht(e);return t.scale=()=>zt(t),t},{round:Wt}=Math;K.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Wt)},K.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Wt(t):t)},Object.assign(Te,{rgb:(...e)=>new K(...e,`rgb`)}),Ce.format.rgb=(...e)=>{let t=G(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Ce.autodetect.push({p:3,test:(...e)=>{if(e=G(e,`rgba`),W(e)===`array`&&(e.length===3||e.length===4&&W(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Gt=(e,t,n)=>{if(!Gt[n])throw Error(`unknown blend mode `+n);return Gt[n](e,t)},Kt=e=>(t,n)=>{let r=Te(n).rgb(),i=Te(t).rgb();return Te.rgb(e(r,i))},qt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Gt.normal=Kt(qt(e=>e)),Gt.multiply=Kt(qt((e,t)=>e*t/255)),Gt.screen=Kt(qt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Gt.overlay=Kt(qt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Gt.darken=Kt(qt((e,t)=>e>t?t:e)),Gt.lighten=Kt(qt((e,t)=>e>t?e:t)),Gt.dodge=Kt(qt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Gt.burn=Kt(qt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Jt,sin:Yt,cos:Xt}=Math;function Zt(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;W(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=ve*((e+120)/360+t*s),l=Jt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=Xt(c),f=Yt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return Te(ue([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,W(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(W(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>Te.scale(s),s.hue(n),s}var Qt=`0123456789abcdef`,{floor:$t,random:en}=Math,tn=(e=en)=>{let t=`#`;for(let n=0;n<6;n++)t+=Qt.charAt($t(e()*16));return new K(t,`hex`)},{log:nn,pow:rn,floor:an,abs:on}=Math;function sn(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return W(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&W(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>cn(n,e,t),n}function cn(e,t=`equal`,n=7){W(e)==`array`&&(e=sn(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*nn(r),t=Math.LOG10E*nn(i);o.push(r);for(let r=1;r<n;r++)o.push(rn(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=an(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=on(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var ln=(e,t)=>{e=new K(e),t=new K(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},un=.027,dn=5e-4,fn=.1,pn=1.14,mn=.022,hn=1.414,gn=(e,t)=>{e=new K(e),t=new K(t),e.alpha()<1&&(e=Xe(t,e,e.alpha(),`rgb`));let n=_n(...e.rgb()),r=_n(...t.rgb()),i=n>=mn?n:n+(mn-n)**+hn,a=r>=mn?r:r+(mn-r)**+hn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<dn?0:i<a?o*pn:s*pn;return(Math.abs(c)<fn?0:c>0?c-un:c+un)*100};function _n(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:vn,pow:yn,min:bn,max:xn,atan2:Sn,abs:Cn,cos:wn,sin:Tn,exp:En,PI:Dn}=Math;function On(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*Dn)},o=function(e){return 2*Dn*e/360};e=new K(e),t=new K(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(vn(yn(c,2)+yn(l,2))+vn(yn(d,2)+yn(f,2)))/2,h=.5*(1-vn(yn(m,7)/(yn(m,7)+yn(25,7)))),g=c*(1+h),_=d*(1+h),v=vn(yn(g,2)+yn(l,2)),y=vn(yn(_,2)+yn(f,2)),b=(v+y)/2,x=a(Sn(l,g)),S=a(Sn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=Cn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*wn(o(T-30))+.24*wn(o(2*T))+.32*wn(o(3*T+6))-.2*wn(o(4*T-63)),D=w-C;D=Cn(D)<=180?D:w<=C?D+360:D-360,D=2*vn(v*y)*Tn(o(D)/2);let O=u-s,k=y-v,A=1+.015*yn(p-50,2)/vn(20+yn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*En(-yn((T-275)/25,2)),P=-(2*vn(yn(b,7)/(yn(b,7)+yn(25,7))))*Tn(2*o(N));return xn(0,bn(100,vn(yn(O/(n*A),2)+yn(k/(r*j),2)+yn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function kn(e,t,n=`lab`){e=new K(e),t=new K(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var An=(...e)=>{try{return new K(...e),!0}catch{return!1}},jn={cool(){return zt([Te.hsl(180,1,.9),Te.hsl(250,.7,.4)])},hot(){return zt([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Mn={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},Nn=Object.keys(Mn),Pn=new Map(Nn.map(e=>[e.toLowerCase(),e])),Fn=typeof Proxy==`function`?new Proxy(Mn,{get(e,t){let n=t.toLowerCase();if(Pn.has(n))return e[Pn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Nn)}}):Mn,In=(...e)=>{e=G(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Ln}=Math,Rn=(...e)=>{let[t,n,r]=G(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Ln(t,Ln(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};K.prototype.cmyk=function(){return Rn(this._rgb)},Object.assign(Te,{cmyk:(...e)=>new K(...e,`cmyk`)}),Ce.format.cmyk=In,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`cmyk`),W(e)===`array`&&e.length===4)return`cmyk`}});var zn=(...e)=>{let t=G(e,`hsla`),n=fe(e)||`lsa`;return t[0]=ge(t[0]||0)+`deg`,t[1]=ge(t[1]*100)+`%`,t[2]=ge(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Bn=(...e)=>{let t=G(e,`lab`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=ge(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Vn=(...e)=>{let t=G(e,`lch`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Hn=(...e)=>{let t=G(e,`lab`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=_e(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Un=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=kt(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Wn=(...e)=>{let t=G(e,`lch`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Gn}=Math,Kn=(...e)=>{let t=G(e,`rgba`),n=fe(e)||`rgb`;if(n.substr(0,3)===`hsl`)return zn(J(t),n);if(n.substr(0,3)===`lab`){let e=Fe();Pe(`d50`);let r=Bn(Be(t),n);return Pe(e),r}if(n.substr(0,3)===`lch`){let e=Fe();Pe(`d50`);let r=Vn(ot(t),n);return Pe(e),r}return n.substr(0,5)===`oklab`?Hn(kt(t)):n.substr(0,5)===`oklch`?Wn(Un(t)):(t[0]=Gn(t[0]),t[1]=Gn(t[1]),t[2]=Gn(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},qn=(...e)=>{e=G(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=$e(t,n,r),[c,l,u]=Dt(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Jn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Yn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,Xn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,Zn=`\\s*`,Qn=`\\s+`,$n=`\\s*,\\s*`,er=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,tr=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,nr=RegExp(`^rgba?\\(`+Zn+[Jn,Jn,Jn].join(Qn)+tr+`\\)$`),rr=RegExp(`^rgb\\(`+Zn+[Jn,Jn,Jn].join($n)+Zn+`\\)$`),ir=RegExp(`^rgba\\(`+Zn+[Jn,Jn,Jn,Yn].join($n)+Zn+`\\)$`),ar=RegExp(`^hsla?\\(`+Zn+[er,Xn,Xn].join(Qn)+tr+`\\)$`),or=RegExp(`^hsl?\\(`+Zn+[er,Xn,Xn].join($n)+Zn+`\\)$`),sr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,cr=RegExp(`^lab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),lr=RegExp(`^lch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),ur=RegExp(`^oklab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),dr=RegExp(`^oklch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),{round:fr}=Math,pr=e=>e.map((e,t)=>t<=2?le(fr(e),0,255):e),mr=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),hr=(e,t)=>e===`none`?t:e,gr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Ce.format.named)try{return Ce.format.named(e)}catch{}if((t=e.match(nr))||(t=e.match(rr))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+mr(hr(e[t],0),0,255);e=pr(e);let n=t[4]===void 0?1:+mr(t[4],0,1);return e[3]=n,e}if(t=e.match(ir)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+mr(e[t],0,255);return e}if((t=e.match(ar))||(t=e.match(or))){let e=t.slice(1,4);e[0]=+hr(e[0].replace(`deg`,``),0),e[1]=mr(hr(e[1],0),0,100)*.01,e[2]=mr(hr(e[2],0),0,100)*.01;let n=pr(q(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(sr)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=q(e);for(let e=0;e<3;e++)n[e]=fr(n[e]);return n[3]=+t[4],n}if(t=e.match(cr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,100),e[1]=mr(hr(e[1],0),-125,125,!0),e[2]=mr(hr(e[2],0),-125,125,!0);let n=Fe();Pe(`d50`);let r=pr(Ie(e));return Pe(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(lr)){let e=t.slice(1,4);e[0]=mr(e[0],0,100),e[1]=mr(hr(e[1],0),0,150,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=Fe();Pe(`d50`);let r=pr(et(e));return Pe(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(ur)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),-.4,.4,!0),e[2]=mr(hr(e[2],0),-.4,.4,!0);let n=pr(Dt(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),0,.4,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=pr(qn(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}};gr.test=e=>nr.test(e)||ar.test(e)||cr.test(e)||lr.test(e)||ur.test(e)||dr.test(e)||rr.test(e)||ir.test(e)||or.test(e)||sr.test(e)||e===`transparent`,K.prototype.css=function(e){return Kn(this._rgb,e)},Te.css=(...e)=>new K(...e,`css`),Ce.format.css=gr,Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&gr.test(e))return`css`}}),Ce.format.gl=(...e)=>{let t=G(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},Te.gl=(...e)=>new K(...e,`gl`),K.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},K.prototype.hex=function(e){return je(this._rgb,e)},Te.hex=(...e)=>new K(...e,`hex`),Ce.format.hex=ke,Ce.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:_r}=Math,vr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*_r(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*_r(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*_r(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*_r(r),i=255),[n,r,i,1]},{round:yr}=Math,br=(...e)=>{let t=G(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=vr(o);e[2]/e[0]>=r/n?a=o:i=o}return yr(o)};K.prototype.temp=K.prototype.kelvin=K.prototype.temperature=function(){return br(this._rgb)};var xr=(...e)=>new K(...e,`temp`);Object.assign(Te,{temp:xr,kelvin:xr,temperature:xr}),Ce.format.temp=Ce.format.kelvin=Ce.format.temperature=vr,K.prototype.oklch=function(){return Un(this._rgb)},Object.assign(Te,{oklch:(...e)=>new K(...e,`oklch`)}),Ce.format.oklch=qn,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`oklch`),W(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(Te,{analyze:sn,average:It,bezier:Ut,blend:Gt,brewer:Fn,Color:K,colors:Ee,contrast:ln,contrastAPCA:gn,cubehelix:Zt,deltaE:On,distance:kn,input:Ce,interpolate:Xe,limits:cn,mix:Xe,random:tn,scale:zt,scales:jn,valid:An});var Sr=Te;function Cr(e,t){if(!Sr.valid(e))return t;try{return Sr(e)}catch{return t}}function wr(e){return Sr.valid(e)&&Sr.contrast(e,`#fff`)>=Sr.contrast(e,`#333`)?`#fff`:`#333`}var Tr=4.5;function Er(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Dr(e,t=`#fff`){if(!Sr.valid(e))return Sr.valid(t)?wr(t):`#333`;let n=Sr(e),r=Cr(t,Sr(`#fff`));if(Sr.contrast(n,r)>=Tr)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Sr.contrast(n,r)>=Tr));e++);return n.hex()}var Or=12,kr=.25,Ar=20,jr=15;function Mr(e,t){if(e.length===0)return[];let n=Cr(t,Sr(`#fff`)),r=Sr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Sr.valid(e)?Nr(Sr(e),r,i):Sr(`#000`));for(let e=1;e<a.length;e++)a[e]=Ir(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Nr(e,t,n){for(let r=0;r<Ar;r++){if(Sr.contrast(e,t)>=Tr)return e;e=n?e.darken(kr):e.brighten(kr)}return e}function Pr(e,t){return t.reduce((t,n)=>Math.min(t,Sr.deltaE(e,n)),1/0)}function*Fr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Ar;e++)t=n?t.darken(kr):t.brighten(kr),yield t}for(let t=jr;t<=180;t+=jr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Ir(e,t,n,r){let i=e,a=Pr(e,t);if(a>=Or)return e;for(let o of Fr(e,r)){if(Sr.contrast(o,n)<Tr)continue;let e=Pr(o,t);if(e>a&&(i=o,a=e),a>=Or)break}return i}var Lr=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.Scatter=`scatter`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),Rr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),zr=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Br=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Vr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Hr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Ur=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),Wr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Gr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Kr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),qr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Jr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Yr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),Xr=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),Zr=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),Qr=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),$r=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e}({}),ei=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),ti=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ni=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ri=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),ii=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ai=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Z=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),oi=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),si=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),ci=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),li=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),ui=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),di=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),fi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),pi=l(di(),1),mi=l(fi(),1);pi.default.extend(mi.default);var hi=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function gi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function _i(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function vi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,pi.default)(t,`YYYY`,!0);return e.isValid()?_i(e):null}for(let e of hi){if(e===`YYYY`)continue;let n=(0,pi.default)(t,e,!0);if(n.isValid())return _i(n)}return null}function yi(e){let t=e.trim();if(!t)return;let n=vi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function bi(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?vi(t)?.getTime():n}function xi(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,pi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(_i(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of hi)e!==`YYYY`&&(0,pi.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,pi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(_i(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:gi(n)}:null}function Si(e){return typeof e==`string`?bi(e):e}function Ci(e,t){if(typeof e!=`string`)return e;let n=vi(e);return n?n.getTime():t?void 0:yi(e)}function wi(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=xi(e)!==null,r=Ci(t.min,n),i=Ci(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=yi(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Ti(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function Ei(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===zr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Si(t?.min)??i,u=Si(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function Di(e,t){if(typeof e.constant!=`function`&&typeof e.base!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function Oi(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ki(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ai(e){let t,n,r;e.length===2?(t=e===Oi||e===ki?e:ji,n=e,r=e):(t=Oi,n=(t,n)=>Oi(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function ji(){return 0}function Mi(e){return e===null?NaN:+e}var Ni=Ai(Oi),Pi=Ni.right;Ni.left;var Fi=Ai(Mi).center,Ii=class extends Map{constructor(e,t=Bi){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Li(this,e))}has(e){return super.has(Li(this,e))}set(e,t){return super.set(Ri(this,e),t)}delete(e){return super.delete(zi(this,e))}};function Li({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Ri({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function zi({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Bi(e){return typeof e==`object`&&e?e.valueOf():e}function Vi(e){return e}function Hi(e,t,...n){return Ui(e,Vi,t,n)}function Ui(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Ii,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function Wi(e,t){return Array.from(t,t=>e[t])}function Gi(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=qi(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>qi(n[e],n[t]))),Wi(e,r)}return e.sort(Ki(n))}function Ki(e=Oi){if(e===Oi)return qi;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function qi(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var Ji=Math.sqrt(50),Yi=Math.sqrt(10),Xi=Math.sqrt(2);function Zi(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Ji?10:a>=Yi?5:a>=Xi?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?Zi(e,t,n*2):[s,c,l]}function Qi(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?Zi(t,e,n):Zi(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function $i(e,t,n){return t=+t,e=+e,n=+n,Zi(e,t,n)[2]}function ea(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?$i(t,e,n):$i(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ta(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function na(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function ra(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function ia(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function aa(e){return e}var oa=1,sa=2,ca=3,la=4,ua=1e-6;function da(e){return`translate(`+e+`,0)`}function fa(e){return`translate(0,`+e+`)`}function pa(e){return t=>+e(t)}function ma(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ha(){return!this.__axis}function ga(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===oa||e===la?-1:1,u=e===la||e===sa?`x`:`y`,d=e===oa||e===ca?da:fa;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):aa),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?ma:pa)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===oa?`0em`:e===ca?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ua).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ua).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===la||e===sa?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(ha).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===sa?`start`:e===la?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function _a(e){return ga(oa,e)}function va(e){return ga(sa,e)}function ya(e){return ga(ca,e)}function ba(e){return ga(la,e)}var xa={value:()=>{}};function Sa(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Ca(n)}function Ca(e){this._=e}function wa(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Ca.prototype=Sa.prototype={constructor:Ca,on:function(e,t){var n=this._,r=wa(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ta(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Ea(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Ea(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ca(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ta(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Ea(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=xa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Da={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Oa(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Da.hasOwnProperty(t)?{space:Da[t],local:e}:e}function ka(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Aa(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ja(e){var t=Oa(e);return(t.local?Aa:ka)(t)}function Ma(){}function Na(e){return e==null?Ma:function(){return this.querySelector(e)}}function Pa(e){typeof e!=`function`&&(e=Na(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Cs(r,this._parents)}function Fa(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ia(){return[]}function La(e){return e==null?Ia:function(){return this.querySelectorAll(e)}}function Ra(e){return function(){return Fa(e.apply(this,arguments))}}function za(e){e=typeof e==`function`?Ra(e):La(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Cs(r,i)}function Ba(e){return function(){return this.matches(e)}}function Va(e){return function(t){return t.matches(e)}}var Ha=Array.prototype.find;function Ua(e){return function(){return Ha.call(this.children,e)}}function Wa(){return this.firstElementChild}function Ga(e){return this.select(e==null?Wa:Ua(typeof e==`function`?e:Va(e)))}var Ka=Array.prototype.filter;function qa(){return Array.from(this.children)}function Ja(e){return function(){return Ka.call(this.children,e)}}function Ya(e){return this.selectAll(e==null?qa:Ja(typeof e==`function`?e:Va(e)))}function Xa(e){typeof e!=`function`&&(e=Ba(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Cs(r,this._parents)}function Za(e){return Array(e.length)}function Qa(){return new Cs(this._enter||this._groups.map(Za),this._parents)}function $a(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}$a.prototype={constructor:$a,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function eo(e){return function(){return e}}function to(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new $a(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function no(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new $a(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function ro(e){return e.__data__}function io(e,t){if(!arguments.length)return Array.from(this,ro);var n=t?no:to,r=this._parents,i=this._groups;typeof e!=`function`&&(e=eo(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=ao(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Cs(o,r),o._enter=s,o._exit=c,o}function ao(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function oo(){return new Cs(this._exit||this._groups.map(Za),this._parents)}function so(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function co(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Cs(s,this._parents)}function lo(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function uo(e){e||=fo;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Cs(i,this._parents).order()}function fo(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function po(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function mo(){return Array.from(this)}function ho(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function go(){let e=0;for(let t of this)++e;return e}function _o(){return!this.node()}function vo(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function yo(e){return function(){this.removeAttribute(e)}}function bo(e){return function(){this.removeAttributeNS(e.space,e.local)}}function xo(e,t){return function(){this.setAttribute(e,t)}}function So(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Co(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function wo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function To(e,t){var n=Oa(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?bo:yo:typeof t==`function`?n.local?wo:Co:n.local?So:xo)(n,t))}function Eo(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Do(e){return function(){this.style.removeProperty(e)}}function Oo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ko(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ao(e,t,n){return arguments.length>1?this.each((t==null?Do:typeof t==`function`?ko:Oo)(e,t,n??``)):jo(this.node(),e)}function jo(e,t){return e.style.getPropertyValue(t)||Eo(e).getComputedStyle(e,null).getPropertyValue(t)}function Mo(e){return function(){delete this[e]}}function No(e,t){return function(){this[e]=t}}function Po(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Fo(e,t){return arguments.length>1?this.each((t==null?Mo:typeof t==`function`?Po:No)(e,t)):this.node()[e]}function Io(e){return e.trim().split(/^|\s+/)}function Lo(e){return e.classList||new Ro(e)}function Ro(e){this._node=e,this._names=Io(e.getAttribute(`class`)||``)}Ro.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function zo(e,t){for(var n=Lo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Bo(e,t){for(var n=Lo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Vo(e){return function(){zo(this,e)}}function Ho(e){return function(){Bo(this,e)}}function Uo(e,t){return function(){(t.apply(this,arguments)?zo:Bo)(this,e)}}function Wo(e,t){var n=Io(e+``);if(arguments.length<2){for(var r=Lo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Uo:t?Vo:Ho)(n,t))}function Go(){this.textContent=``}function Ko(e){return function(){this.textContent=e}}function qo(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Jo(e){return arguments.length?this.each(e==null?Go:(typeof e==`function`?qo:Ko)(e)):this.node().textContent}function Yo(){this.innerHTML=``}function Xo(e){return function(){this.innerHTML=e}}function Zo(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Qo(e){return arguments.length?this.each(e==null?Yo:(typeof e==`function`?Zo:Xo)(e)):this.node().innerHTML}function $o(){this.nextSibling&&this.parentNode.appendChild(this)}function es(){return this.each($o)}function ts(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ns(){return this.each(ts)}function rs(e){var t=typeof e==`function`?e:ja(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function is(){return null}function as(e,t){var n=typeof e==`function`?e:ja(e),r=t==null?is:typeof t==`function`?t:Na(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function os(){var e=this.parentNode;e&&e.removeChild(this)}function ss(){return this.each(os)}function cs(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ls(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function us(e){return this.select(e?ls:cs)}function ds(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function fs(e){return function(t){e.call(this,t,this.__data__)}}function ps(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function ms(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function hs(e,t,n){return function(){var r=this.__on,i,a=fs(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function gs(e,t,n){var r=ps(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?hs:ms,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function _s(e,t,n){var r=Eo(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function vs(e,t){return function(){return _s(this,e,t)}}function ys(e,t){return function(){return _s(this,e,t.apply(this,arguments))}}function bs(e,t){return this.each((typeof t==`function`?ys:vs)(e,t))}function*xs(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Ss=[null];function Cs(e,t){this._groups=e,this._parents=t}function ws(){return new Cs([[document.documentElement]],Ss)}function Ts(){return this}Cs.prototype=ws.prototype={constructor:Cs,select:Pa,selectAll:za,selectChild:Ga,selectChildren:Ya,filter:Xa,data:io,enter:Qa,exit:oo,join:so,merge:co,selection:Ts,order:lo,sort:uo,call:po,nodes:mo,node:ho,size:go,empty:_o,each:vo,attr:To,style:Ao,property:Fo,classed:Wo,text:Jo,html:Qo,raise:es,lower:ns,append:rs,insert:as,remove:ss,clone:us,datum:ds,on:gs,dispatch:bs,[Symbol.iterator]:xs};function Q(e){return typeof e==`string`?new Cs([[document.querySelector(e)]],[document.documentElement]):new Cs([[e]],Ss)}function Es(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Ds(e,t){if(e=Es(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function Os(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ks(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function As(){}var js=.7,Ms=1/js,Ns=`\\s*([+-]?\\d+)\\s*`,Ps=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Fs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Is=/^#([0-9a-f]{3,8})$/,Ls=RegExp(`^rgb\\(${Ns},${Ns},${Ns}\\)$`),Rs=RegExp(`^rgb\\(${Fs},${Fs},${Fs}\\)$`),zs=RegExp(`^rgba\\(${Ns},${Ns},${Ns},${Ps}\\)$`),Bs=RegExp(`^rgba\\(${Fs},${Fs},${Fs},${Ps}\\)$`),Vs=RegExp(`^hsl\\(${Ps},${Fs},${Fs}\\)$`),Hs=RegExp(`^hsla\\(${Ps},${Fs},${Fs},${Ps}\\)$`),Us={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};Os(As,Js,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ws,formatHex:Ws,formatHex8:Gs,formatHsl:Ks,formatRgb:qs,toString:qs});function Ws(){return this.rgb().formatHex()}function Gs(){return this.rgb().formatHex8()}function Ks(){return sc(this).formatHsl()}function qs(){return this.rgb().formatRgb()}function Js(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Is.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Ys(t):n===3?new $s(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xs(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xs(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Ls.exec(e))?new $s(t[1],t[2],t[3],1):(t=Rs.exec(e))?new $s(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=zs.exec(e))?Xs(t[1],t[2],t[3],t[4]):(t=Bs.exec(e))?Xs(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Vs.exec(e))?oc(t[1],t[2]/100,t[3]/100,1):(t=Hs.exec(e))?oc(t[1],t[2]/100,t[3]/100,t[4]):Us.hasOwnProperty(e)?Ys(Us[e]):e===`transparent`?new $s(NaN,NaN,NaN,0):null}function Ys(e){return new $s(e>>16&255,e>>8&255,e&255,1)}function Xs(e,t,n,r){return r<=0&&(e=t=n=NaN),new $s(e,t,n,r)}function Zs(e){return e instanceof As||(e=Js(e)),e?(e=e.rgb(),new $s(e.r,e.g,e.b,e.opacity)):new $s}function Qs(e,t,n,r){return arguments.length===1?Zs(e):new $s(e,t,n,r??1)}function $s(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Os($s,Qs,ks(As,{brighter(e){return e=e==null?Ms:Ms**+e,new $s(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?js:js**+e,new $s(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $s(ic(this.r),ic(this.g),ic(this.b),rc(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:ec,formatHex:ec,formatHex8:tc,formatRgb:nc,toString:nc}));function ec(){return`#${ac(this.r)}${ac(this.g)}${ac(this.b)}`}function tc(){return`#${ac(this.r)}${ac(this.g)}${ac(this.b)}${ac((isNaN(this.opacity)?1:this.opacity)*255)}`}function nc(){let e=rc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${ic(this.r)}, ${ic(this.g)}, ${ic(this.b)}${e===1?`)`:`, ${e})`}`}function rc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ic(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ac(e){return e=ic(e),(e<16?`0`:``)+e.toString(16)}function oc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new lc(e,t,n,r)}function sc(e){if(e instanceof lc)return new lc(e.h,e.s,e.l,e.opacity);if(e instanceof As||(e=Js(e)),!e)return new lc;if(e instanceof lc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new lc(o,s,c,e.opacity)}function cc(e,t,n,r){return arguments.length===1?sc(e):new lc(e,t,n,r??1)}function lc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Os(lc,cc,ks(As,{brighter(e){return e=e==null?Ms:Ms**+e,new lc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?js:js**+e,new lc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new $s(fc(e>=240?e-240:e+120,i,r),fc(e,i,r),fc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new lc(uc(this.h),dc(this.s),dc(this.l),rc(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 e=rc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${uc(this.h)}, ${dc(this.s)*100}%, ${dc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function uc(e){return e=(e||0)%360,e<0?e+360:e}function dc(e){return Math.max(0,Math.min(1,e||0))}function fc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var pc=e=>()=>e;function mc(e,t){return function(n){return e+n*t}}function hc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function gc(e){return(e=+e)==1?_c:function(t,n){return n-t?hc(t,n,e):pc(isNaN(t)?n:t)}}function _c(e,t){var n=t-e;return n?mc(e,n):pc(isNaN(e)?t:e)}var vc=(function e(t){var n=gc(t);function r(e,t){var r=n((e=Qs(e)).r,(t=Qs(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=_c(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function yc(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function bc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function xc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Ac(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Sc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Cc(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function wc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Ac(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Tc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ec=new RegExp(Tc.source,`g`);function Dc(e){return function(){return e}}function Oc(e){return function(t){return e(t)+``}}function kc(e,t){var n=Tc.lastIndex=Ec.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Tc.exec(e))&&(i=Ec.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Cc(r,i)})),n=Ec.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Oc(c[0].x):Dc(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Ac(e,t){var n=typeof t,r;return t==null||n===`boolean`?pc(t):(n===`number`?Cc:n===`string`?(r=Js(t))?(t=r,vc):kc:t instanceof Js?vc:t instanceof Date?Sc:bc(t)?yc:Array.isArray(t)?xc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?wc:Cc)(e,t)}function jc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Mc=180/Math.PI,Nc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Mc,skewX:Math.atan(c)*Mc,scaleX:o,scaleY:s}}var Fc;function Ic(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Nc:Pc(t.a,t.b,t.c,t.d,t.e,t.f)}function Lc(e){return e==null||(Fc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Fc.setAttribute(`transform`,e),!(e=Fc.transform.baseVal.consolidate()))?Nc:(e=e.matrix,Pc(e.a,e.b,e.c,e.d,e.e,e.f))}function Rc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Cc(e,i)},{i:c-2,x:Cc(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Cc(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Cc(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Cc(e,n)},{i:s-2,x:Cc(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var zc=Rc(Ic,`px, `,`px)`,`deg)`),Bc=Rc(Lc,`, `,`)`,`)`),Vc=0,Hc=0,Uc=0,Wc=1e3,Gc,Kc,qc=0,Jc=0,Yc=0,Xc=typeof performance==`object`&&performance.now?performance:Date,Zc=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Qc(){return Jc||=(Zc($c),Xc.now()+Yc)}function $c(){Jc=0}function el(){this._call=this._time=this._next=null}el.prototype=tl.prototype={constructor:el,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?Qc():+n)+(t==null?0:+t),!this._next&&Kc!==this&&(Kc?Kc._next=this:Gc=this,Kc=this),this._call=e,this._time=n,ol()},stop:function(){this._call&&(this._call=null,this._time=1/0,ol())}};function tl(e,t,n){var r=new el;return r.restart(e,t,n),r}function nl(){Qc(),++Vc;for(var e=Gc,t;e;)(t=Jc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Vc}function rl(){Jc=(qc=Xc.now())+Yc,Vc=Hc=0;try{nl()}finally{Vc=0,al(),Jc=0}}function il(){var e=Xc.now(),t=e-qc;t>Wc&&(Yc-=t,qc=e)}function al(){for(var e,t=Gc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Gc=n);Kc=e,ol(r)}function ol(e){Vc||(Hc&&=clearTimeout(Hc),e-Jc>24?(e<1/0&&(Hc=setTimeout(rl,e-Xc.now()-Yc)),Uc&&=clearInterval(Uc)):(Uc||=(qc=Xc.now(),setInterval(il,Wc)),Vc=1,Zc(rl)))}function sl(e,t,n){var r=new el;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var cl=Sa(`start`,`end`,`cancel`,`interrupt`),ll=[];function ul(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;ml(e,n,{name:t,index:r,group:i,on:cl,tween:ll,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function dl(e,t){var n=pl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function fl(e,t){var n=pl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function pl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function ml(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=tl(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return sl(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(sl(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function hl(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function gl(e){return this.each(function(){hl(this,e)})}function _l(e,t){var n,r;return function(){var i=fl(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function vl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=fl(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function yl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=pl(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?_l:vl)(n,e,t))}function bl(e,t,n){var r=e._id;return e.each(function(){var e=fl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return pl(e,r).value[t]}}function xl(e,t){var n;return(typeof t==`number`?Cc:t instanceof Js?vc:(n=Js(t))?(t=n,vc):kc)(e,t)}function Sl(e){return function(){this.removeAttribute(e)}}function Cl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Tl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function El(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Dl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ol(e,t){var n=Oa(e),r=n===`transform`?Bc:xl;return this.attrTween(e,typeof t==`function`?(n.local?Dl:El)(n,r,bl(this,`attr.`+e,t)):t==null?(n.local?Cl:Sl)(n):(n.local?Tl:wl)(n,r,t))}function kl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Al(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function jl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Al(e,i)),n}return i._value=t,i}function Ml(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&kl(e,i)),n}return i._value=t,i}function Nl(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Oa(e);return this.tween(n,(r.local?jl:Ml)(r,t))}function Pl(e,t){return function(){dl(this,e).delay=+t.apply(this,arguments)}}function Fl(e,t){return t=+t,function(){dl(this,e).delay=t}}function Il(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Pl:Fl)(t,e)):pl(this.node(),t).delay}function Ll(e,t){return function(){fl(this,e).duration=+t.apply(this,arguments)}}function Rl(e,t){return t=+t,function(){fl(this,e).duration=t}}function zl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ll:Rl)(t,e)):pl(this.node(),t).duration}function Bl(e,t){if(typeof t!=`function`)throw Error();return function(){fl(this,e).ease=t}}function Vl(e){var t=this._id;return arguments.length?this.each(Bl(t,e)):pl(this.node(),t).ease}function Hl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();fl(this,e).ease=n}}function Ul(e){if(typeof e!=`function`)throw Error();return this.each(Hl(this._id,e))}function Wl(e){typeof e!=`function`&&(e=Ba(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new yu(r,this._parents,this._name,this._id)}function Gl(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new yu(o,this._parents,this._name,this._id)}function Kl(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ql(e,t,n){var r,i,a=Kl(t)?dl:fl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Jl(e,t){var n=this._id;return arguments.length<2?pl(this.node(),n).on.on(e):this.each(ql(n,e,t))}function Yl(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Xl(){return this.on(`end.remove`,Yl(this._id))}function Zl(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Na(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,ul(l[f],t,n,f,l,pl(u,n)));return new yu(a,this._parents,t,n)}function Ql(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=La(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=pl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&ul(p,t,n,h,f,m);a.push(f),o.push(u)}return new yu(a,o,t,n)}var $l=ws.prototype.constructor;function eu(){return new $l(this._groups,this._parents)}function tu(e,t){var n,r,i;return function(){var a=jo(this,e),o=(this.style.removeProperty(e),jo(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function nu(e){return function(){this.style.removeProperty(e)}}function ru(e,t,n){var r,i=n+``,a;return function(){var o=jo(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function iu(e,t,n){var r,i,a;return function(){var o=jo(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),jo(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function au(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=fl(this,e),l=c.on,u=c.value[a]==null?s||=nu(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function ou(e,t,n){var r=(e+=``)==`transform`?zc:xl;return t==null?this.styleTween(e,tu(e,r)).on(`end.style.`+e,nu(e)):typeof t==`function`?this.styleTween(e,iu(e,r,bl(this,`style.`+e,t))).each(au(this._id,e)):this.styleTween(e,ru(e,r,t),n).on(`end.style.`+e,null)}function su(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function cu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&su(e,a,n)),r}return a._value=t,a}function lu(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,cu(e,t,n??``))}function uu(e){return function(){this.textContent=e}}function du(e){return function(){var t=e(this);this.textContent=t??``}}function fu(e){return this.tween(`text`,typeof e==`function`?du(bl(this,`text`,e)):uu(e==null?``:e+``))}function pu(e){return function(t){this.textContent=e.call(this,t)}}function mu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&pu(r)),t}return r._value=e,r}function hu(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,mu(e))}function gu(){for(var e=this._name,t=this._id,n=xu(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=pl(c,t);ul(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new yu(r,this._parents,e,n)}function _u(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=fl(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var vu=0;function yu(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function bu(e){return ws().transition(e)}function xu(){return++vu}var Su=ws.prototype;yu.prototype=bu.prototype={constructor:yu,select:Zl,selectAll:Ql,selectChild:Su.selectChild,selectChildren:Su.selectChildren,filter:Wl,merge:Gl,selection:eu,transition:gu,call:Su.call,nodes:Su.nodes,node:Su.node,size:Su.size,empty:Su.empty,each:Su.each,on:Jl,attr:Ol,attrTween:Nl,style:ou,styleTween:lu,text:fu,textTween:hu,remove:Xl,tween:yl,delay:Il,duration:zl,ease:Vl,easeVarying:Ul,end:_u,[Symbol.iterator]:Su[Symbol.iterator]};function Cu(e){return--e*e*e+1}function wu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Tu={time:null,delay:0,duration:250,ease:wu};function Eu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Du(e){var t,n;e instanceof yu?(t=e._id,e=e._name):(t=xu(),(n=Tu).time=Qc(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&ul(c,e,t,l,o,n||Eu(c,t));return new yu(r,this._parents,e,t)}ws.prototype.interrupt=gl,ws.prototype.transition=Du;var Ou=[null];function ku(e,t){var n=e.__transition,r,i;if(n){for(i in t=t==null?null:t+``,n)if((r=n[i]).state>1&&r.name===t)return new yu([[e]],Ou,t,+i)}return null}var{abs:Au,max:ju,min:Mu}=Math;[`w`,`e`].map(Nu),[`n`,`s`].map(Nu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Nu);function Nu(e){return{type:e}}var Pu=Math.PI,Fu=2*Pu,Iu=1e-6,Lu=Fu-Iu;function Ru(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function zu(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ru;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Bu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Ru:zu(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Iu){if(!(Math.abs(u*s-c*l)>Iu)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Pu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Iu&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Iu||Math.abs(this._y1-l)>Iu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Fu+Fu),d>Lu?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Iu&&this._append`A${n},${n},0,${+(d>=Pu)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Bu.prototype;var Vu=11102230246251565e-32,Hu=134217729,Uu=3.000000000000001*Vu;function Wu(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function Gu(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function $(e){return new Float64Array(e)}var Ku=(3+16*Vu)*Vu,qu=(2+12*Vu)*Vu,Ju=(9+64*Vu)*Vu*Vu,Yu=$(4),Xu=$(8),Zu=$(12),Qu=$(16),$u=$(4);function ed(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=Hu*T,p=f-(f-T),m=T-p,f=Hu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Hu*D,p=f-(f-D),m=D-p,f=Hu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,Yu[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,Yu[1]=y-(_+d)+(d-S),w=v+_,d=w-v,Yu[2]=v-(w-d)+(_-d),Yu[3]=w;let k=Gu(4,Yu),A=qu*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=Ju*o+Uu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Hu*s,p=f-(f-s),m=s-p,f=Hu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Hu*c,p=f-(f-c),m=c-p,f=Hu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w;let j=Wu(4,Yu,4,$u,Xu);b=T*u,f=Hu*T,p=f-(f-T),m=T-p,f=Hu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Hu*D,p=f-(f-D),m=D-p,f=Hu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w;let M=Wu(j,Xu,4,$u,Zu);return b=s*u,f=Hu*s,p=f-(f-s),m=s-p,f=Hu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Hu*c,p=f-(f-c),m=c-p,f=Hu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w,Qu[Wu(M,Zu,4,$u,Qu)-1]}function td(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=Ku*l?c:-ed(e,t,n,r,i,a,l)}(7+56*Vu)*Vu,(3+28*Vu)*Vu,(26+288*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Vu)*Vu,(4+48*Vu)*Vu,(44+576*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(4),$(4),$(4),$(8),$(16),$(16),$(16),$(32),$(32),$(48),$(64),$(1152),$(1152),(16+224*Vu)*Vu,(5+72*Vu)*Vu,(71+1408*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(1152),$(1152),$(1152),$(1152),$(1152),$(2304),$(2304),$(3456),$(5760),$(8),$(8),$(8),$(16),$(24),$(48),$(48),$(96),$(192),$(384),$(384),$(384),$(768),$(96),$(96),$(96),$(1152);var nd=2**-52,rd=new Uint32Array(512),id=class e{static from(t,n=fd,r=pd){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=od(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=od(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=cd(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];ud(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(td(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=ld(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=od(e[2*t],e[2*t+1],S.x,S.y);ud(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=nd&&Math.abs(u-s)<=nd||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],td(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],td(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],td(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(ad(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=rd[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(sd(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<rd.length&&(rd[i++]=s)}else{if(i===0)break;e=rd[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function ad(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function od(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function sd(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function cd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function ld(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function ud(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;dd(e,i,a),t[e[n]]>t[e[r]]&&dd(e,n,r),t[e[a]]>t[e[r]]&&dd(e,a,r),t[e[n]]>t[e[a]]&&dd(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;dd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(ud(e,t,a,r),ud(e,t,n,o-1)):(ud(e,t,n,o-1),ud(e,t,a,r))}}function dd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function fd(e){return e[0]}function pd(e){return e[1]}var md=1e-6,hd=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=``}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=`Z`)}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error(`negative radius`);this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>md||Math.abs(this._y1-i)>md)&&(this._+=`L`+r+`,`+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},gd=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},_d=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new hd:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new hd:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new hd:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new gd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},vd=2*Math.PI,yd=Math.pow;function bd(e){return e[0]}function xd(e){return e[1]}function Sd(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function Cd(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var wd=class e{static from(t,n=bd,r=xd,i){return new e(`length`in t?Td(t,n,r,i):Float64Array.from(Ed(t,n,r,i)))}constructor(e){this._delaunator=new id(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&Sd(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=Cd(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new id(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new _d(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=yd(t-c[e*2],2)+yd(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=yd(t-c[r*2],2)+yd(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&yd(t-c[f*2],2)+yd(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new hd:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new hd:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,vd)}return n&&n.value()}renderHull(e){let t=e==null?e=new hd:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new gd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new hd:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new gd;return this.renderTriangle(e,t),t.value()}};function Td(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*Ed(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}function Dd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Od(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function kd(e){return e=Od(Math.abs(e)),e?e[1]:NaN}function Ad(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function jd(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Md=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Nd(e){if(!(t=Md.exec(e)))throw Error(`invalid format: `+e);var t;return new Pd({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Nd.prototype=Pd.prototype;function Pd(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Pd.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 Fd(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Id;function Ld(e,t){var n=Od(e,t);if(!n)return Id=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Id=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Od(e,Math.max(0,t+a-1))[0]}function Rd(e,t){var n=Od(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var zd={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Dd,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Rd(e*100,t),r:Rd,s:Ld,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Bd(e){return e}var Vd=Array.prototype.map,Hd=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Ud(e){var t=e.grouping===void 0||e.thousands===void 0?Bd:Ad(Vd.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Bd:jd(Vd.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Nd(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):zd[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=zd[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Fd(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Id!==void 0?Hd[8+Id/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(kd(t)/3)))*3,r=10**-n,i=l((e=Nd(e),e.type=`f`,e),{suffix:Hd[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Wd,Gd,Kd;qd({thousands:`,`,grouping:[3],currency:[`$`,``]});function qd(e){return Wd=Ud(e),Gd=Wd.format,Kd=Wd.formatPrefix,Wd}function Jd(e){return Math.max(0,-kd(Math.abs(e)))}function Yd(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(kd(t)/3)))*3-kd(Math.abs(e)))}function Xd(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,kd(t)-kd(e))+1}function Zd(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var Qd=Symbol(`implicit`);function $d(){var e=new Ii,t=[],n=[],r=Qd;function i(i){let a=e.get(i);if(a===void 0){if(r!==Qd)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Ii;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return $d(t,n).unknown(r)},Zd.apply(i,arguments),i}function ef(){var e=$d().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=ra(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return ef(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},Zd.apply(d(),arguments)}function tf(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return tf(t())},e}function nf(){return tf(ef.apply(null,arguments).paddingInner(1))}function rf(e){return function(){return e}}function af(e){return+e}var of=[0,1];function sf(e){return e}function cf(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:rf(isNaN(t)?NaN:.5)}function lf(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function uf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=cf(i,r),a=n(o,a)):(r=cf(r,i),a=n(a,o)),function(e){return a(r(e))}}function df(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=cf(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Pi(e,t,1,r)-1;return a[n](i[n](t))}}function ff(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function pf(){var e=of,t=of,n=Ac,r,i,a,o=sf,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==sf&&(o=lf(e[0],e[n-1])),s=n>2?df:uf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Cc))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,af),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=jc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:sf,u()):o!==sf},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function mf(){return pf()(sf,sf)}function hf(e,t,n,r){var i=ea(e,t,n),a;switch(r=Nd(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Yd(i,o))&&(r.precision=a),Kd(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Xd(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Jd(i))&&(r.precision=a-(r.type===`%`)*2)}return Gd(r)}function gf(e){var t=e.domain;return e.ticks=function(e){var n=t();return Qi(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return hf(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=$i(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function _f(){var e=mf();return e.copy=function(){return ff(e,_f())},Zd.apply(e,arguments),gf(e)}function vf(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function yf(e){return Math.log(e)}function bf(e){return Math.exp(e)}function xf(e){return-Math.log(-e)}function Sf(e){return-Math.exp(-e)}function Cf(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function wf(e){return e===10?Cf:e===Math.E?Math.exp:t=>e**+t}function Tf(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Ef(e){return(t,n)=>-e(-t,n)}function Df(e){let t=e(yf,bf),n=t.domain,r=10,i,a;function o(){return i=Tf(r),a=wf(r),n()[0]<0?(i=Ef(i),a=Ef(a),e(xf,Sf)):e(yf,bf),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=Qi(o,s,p))}else m=Qi(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Nd(n)).precision==null&&(n.trim=!0),n=Gd(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(vf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Of(){let e=Df(pf()).domain([1,10]);return e.copy=()=>ff(e,Of()).base(e.base()),Zd.apply(e,arguments),e}function kf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Af(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function jf(e){var t=1,n=e(kf(t),Af(t));return n.constant=function(n){return arguments.length?e(kf(t=+n),Af(t)):t},gf(n)}function Mf(){var e=jf(pf());return e.copy=function(){return ff(e,Mf()).constant(e.constant())},Zd.apply(e,arguments)}function Nf(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Pf(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Ff(e){return e<0?-e*e:e*e}function If(e){var t=e(sf,sf),n=1;function r(){return n===1?e(sf,sf):n===.5?e(Pf,Ff):e(Nf(n),Nf(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},gf(t)}function Lf(){var e=If(pf());return e.copy=function(){return ff(e,Lf()).exponent(e.exponent())},Zd.apply(e,arguments),e}function Rf(){return Lf.apply(null,arguments).exponent(.5)}var zf=new Date,Bf=new Date;function Vf(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Vf(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(zf.setTime(+t),Bf.setTime(+r),e(zf),e(Bf),Math.floor(n(zf,Bf))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Hf=6e4,Uf=Hf*60*24,Wf=Uf*7;Uf*30,Uf*365;var Gf=Vf(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Hf)/Uf,e=>e.getDate()-1);Gf.range;var Kf=Vf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Uf,e=>e.getUTCDate()-1);Kf.range,Vf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Uf,e=>Math.floor(e/Uf)).range;function qf(e){return Vf(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Hf)/Wf)}var Jf=qf(0),Yf=qf(1),Xf=qf(2),Zf=qf(3),Qf=qf(4),$f=qf(5),ep=qf(6);Jf.range,Yf.range,Xf.range,Zf.range,Qf.range,$f.range,ep.range;function tp(e){return Vf(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Wf)}var np=tp(0),rp=tp(1),ip=tp(2),ap=tp(3),op=tp(4),sp=tp(5),cp=tp(6);np.range,rp.range,ip.range,ap.range,op.range,sp.range,cp.range;var lp=Vf(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());lp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Vf(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),lp.range;var up=Vf(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());up.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Vf(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),up.range;function dp(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function fp(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function pp(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function mp(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=xp(i),u=Sp(i),d=xp(a),f=Sp(a),p=xp(o),m=Sp(o),h=xp(s),g=Sp(s),_=xp(c),v=Sp(c),y={a:N,A:P,b:F,B:I,c:null,d:Up,e:Up,f:Jp,g:am,G:sm,H:Wp,I:Gp,j:Kp,L:qp,m:Yp,M:Xp,p:L,q:R,Q:Am,s:jm,S:Zp,u:Qp,U:$p,V:tm,w:nm,W:rm,x:null,X:null,y:im,Y:om,Z:cm,"%":km},b={a:z,A:B,b:V,B:H,c:null,d:lm,e:lm,f:mm,g:Tm,G:Dm,H:um,I:dm,j:fm,L:pm,m:hm,M:gm,p:ee,q:te,Q:Am,s:jm,S:_m,u:vm,U:ym,V:xm,w:Sm,W:Cm,x:null,X:null,y:wm,Y:Em,Z:Om,"%":km},x={a:E,A:D,b:O,B:k,c:A,d:Np,e:Np,f:zp,g:kp,G:Op,H:Fp,I:Fp,j:Pp,L:Rp,m:Mp,M:Ip,p:T,q:jp,Q:Vp,s:Hp,S:Lp,u:wp,U:Tp,V:Ep,w:Cp,W:Dp,x:j,X:M,y:kp,Y:Op,Z:Ap,"%":Bp};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=hp[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=pp(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=fp(pp(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?rp.ceil(a):rp(a),a=Kf.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=dp(pp(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Yf.ceil(a):Yf(a),a=Gf.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?fp(pp(r.y,0,1)).getUTCDay():dp(pp(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,fp(r)):dp(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in hp?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function te(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var hp={"-":``,_:` `,0:`0`},gp=/^\s*\d+/,_p=/^%/,vp=/[\\^$*+?|[\]().{}]/g;function yp(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function bp(e){return e.replace(vp,`\\$&`)}function xp(e){return RegExp(`^(?:`+e.map(bp).join(`|`)+`)`,`i`)}function Sp(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Cp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function wp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Tp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Ep(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Dp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Op(e,t,n){var r=gp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function kp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ap(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function jp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Mp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Np(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Pp(e,t,n){var r=gp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Fp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Ip(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Lp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Rp(e,t,n){var r=gp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function zp(e,t,n){var r=gp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Bp(e,t,n){var r=_p.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Vp(e,t,n){var r=gp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Hp(e,t,n){var r=gp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Up(e,t){return yp(e.getDate(),t,2)}function Wp(e,t){return yp(e.getHours(),t,2)}function Gp(e,t){return yp(e.getHours()%12||12,t,2)}function Kp(e,t){return yp(1+Gf.count(lp(e),e),t,3)}function qp(e,t){return yp(e.getMilliseconds(),t,3)}function Jp(e,t){return qp(e,t)+`000`}function Yp(e,t){return yp(e.getMonth()+1,t,2)}function Xp(e,t){return yp(e.getMinutes(),t,2)}function Zp(e,t){return yp(e.getSeconds(),t,2)}function Qp(e){var t=e.getDay();return t===0?7:t}function $p(e,t){return yp(Jf.count(lp(e)-1,e),t,2)}function em(e){var t=e.getDay();return t>=4||t===0?Qf(e):Qf.ceil(e)}function tm(e,t){return e=em(e),yp(Qf.count(lp(e),e)+(lp(e).getDay()===4),t,2)}function nm(e){return e.getDay()}function rm(e,t){return yp(Yf.count(lp(e)-1,e),t,2)}function im(e,t){return yp(e.getFullYear()%100,t,2)}function am(e,t){return e=em(e),yp(e.getFullYear()%100,t,2)}function om(e,t){return yp(e.getFullYear()%1e4,t,4)}function sm(e,t){var n=e.getDay();return e=n>=4||n===0?Qf(e):Qf.ceil(e),yp(e.getFullYear()%1e4,t,4)}function cm(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+yp(t/60|0,`0`,2)+yp(t%60,`0`,2)}function lm(e,t){return yp(e.getUTCDate(),t,2)}function um(e,t){return yp(e.getUTCHours(),t,2)}function dm(e,t){return yp(e.getUTCHours()%12||12,t,2)}function fm(e,t){return yp(1+Kf.count(up(e),e),t,3)}function pm(e,t){return yp(e.getUTCMilliseconds(),t,3)}function mm(e,t){return pm(e,t)+`000`}function hm(e,t){return yp(e.getUTCMonth()+1,t,2)}function gm(e,t){return yp(e.getUTCMinutes(),t,2)}function _m(e,t){return yp(e.getUTCSeconds(),t,2)}function vm(e){var t=e.getUTCDay();return t===0?7:t}function ym(e,t){return yp(np.count(up(e)-1,e),t,2)}function bm(e){var t=e.getUTCDay();return t>=4||t===0?op(e):op.ceil(e)}function xm(e,t){return e=bm(e),yp(op.count(up(e),e)+(up(e).getUTCDay()===4),t,2)}function Sm(e){return e.getUTCDay()}function Cm(e,t){return yp(rp.count(up(e)-1,e),t,2)}function wm(e,t){return yp(e.getUTCFullYear()%100,t,2)}function Tm(e,t){return e=bm(e),yp(e.getUTCFullYear()%100,t,2)}function Em(e,t){return yp(e.getUTCFullYear()%1e4,t,4)}function Dm(e,t){var n=e.getUTCDay();return e=n>=4||n===0?op(e):op.ceil(e),yp(e.getUTCFullYear()%1e4,t,4)}function Om(){return`+0000`}function km(){return`%`}function Am(e){return+e}function jm(e){return Math.floor(e/1e3)}var Mm,Nm;Pm({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 Pm(e){return Mm=mp(e),Nm=Mm.format,Mm.parse,Mm.utcFormat,Mm.utcParse,Mm}function Fm(e){return function(){return e}}var Im=Math.abs,Lm=Math.atan2,Rm=Math.cos,zm=Math.max,Bm=Math.min,Vm=Math.sin,Hm=Math.sqrt,Um=Math.PI,Wm=Um/2,Gm=2*Um;function Km(e){return e>1?0:e<-1?Um:Math.acos(e)}function qm(e){return e>=1?Wm:e<=-1?-Wm:Math.asin(e)}function Jm(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Bu(t)}function Ym(e){return e.innerRadius}function Xm(e){return e.outerRadius}function Zm(e){return e.startAngle}function Qm(e){return e.endAngle}function $m(e){return e&&e.padAngle}function eh(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function th(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/Hm(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*Hm(zm(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function nh(){var e=Ym,t=Xm,n=Fm(0),r=null,i=Zm,a=Qm,o=$m,s=null,c=Jm(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-Wm,m=a.apply(this,arguments)-Wm,h=Im(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>Gm-1e-12)s.moveTo(f*Rm(p),f*Vm(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*Rm(m),d*Vm(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):Hm(d*d+f*f)),T=Bm(Im(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=qm(w/d*Vm(C)),j=qm(w/f*Vm(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*Rm(_),N=f*Vm(_),P=d*Rm(b),F=d*Vm(b);if(T>1e-12){var I=f*Rm(v),L=f*Vm(v),R=d*Rm(y),z=d*Vm(y),B;if(h<Um){if(B=eh(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],te=L-B[1],ne=1/Vm(Km((V*ee+H*te)/(Hm(V*V+H*H)*Hm(ee*ee+te*te)))/2),re=Hm(B[0]*B[0]+B[1]*B[1]);E=Bm(T,(d-re)/(ne-1)),D=Bm(T,(f-re)/(ne+1))}else E=D=0}}S>1e-12?D>1e-12?(O=th(R,z,M,N,f,D,g),k=th(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,Lm(O.y01,O.x01),Lm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,Lm(O.y01,O.x01),Lm(O.y11,O.x11),!g),s.arc(0,0,f,Lm(O.cy+O.y11,O.cx+O.x11),Lm(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,Lm(k.y11,k.x11),Lm(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=th(P,F,I,L,d,-E,g),k=th(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,Lm(O.y01,O.x01),Lm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,Lm(O.y01,O.x01),Lm(O.y11,O.x11),!g),s.arc(0,0,d,Lm(O.cy+O.y11,O.cx+O.x11),Lm(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,Lm(k.y11,k.x11),Lm(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Um/2;return[Rm(r)*n,Vm(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:Fm(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Fm(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Fm(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:Fm(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function rh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ih(e){this._context=e}ih.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function ah(e){return new ih(e)}function oh(e){return e[0]}function sh(e){return e[1]}function ch(e,t){var n=Fm(!0),r=null,i=ah,a=null,o=Jm(s);e=typeof e==`function`?e:e===void 0?oh:Fm(e),t=typeof t==`function`?t:t===void 0?sh:Fm(t);function s(s){var c,l=(s=rh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:Fm(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function lh(e,t,n){var r=null,i=Fm(!0),a=null,o=ah,s=null,c=Jm(l);e=typeof e==`function`?e:e===void 0?oh:Fm(+e),t=typeof t==`function`?t:Fm(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?sh:Fm(+n);function l(l){var u,d,f,p=(l=rh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return ch().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Fm(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Fm(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function uh(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function dh(e){return e}function fh(){var e=dh,t=uh,n=null,r=Fm(0),i=Fm(Gm),a=Fm(0);function o(o){var s,c=(o=rh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(Gm,Math.max(-Gm,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:Fm(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Fm(+e),o):a},o}var ph={draw(e,t){let n=Hm(t/Um);e.moveTo(n,0),e.arc(0,0,n,0,Gm)}},mh={draw(e,t){let n=Hm(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},hh=Hm(1/3),gh=hh*2,_h={draw(e,t){let n=Hm(t/gh),r=n*hh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},vh={draw(e,t){let n=Hm(t),r=-n/2;e.rect(r,r,n,n)}},yh=.8908130915292852,bh=Vm(Um/10)/Vm(7*Um/10),xh=Vm(Gm/10)*bh,Sh=-Rm(Gm/10)*bh,Ch={draw(e,t){let n=Hm(t*yh),r=xh*n,i=Sh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Gm*t/5,o=Rm(a),s=Vm(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},wh=Hm(3),Th={draw(e,t){let n=-Hm(t/(wh*3));e.moveTo(0,n*2),e.lineTo(-wh*n,-n),e.lineTo(wh*n,-n),e.closePath()}},Eh=Hm(3),Dh={draw(e,t){let n=Hm(t)*.6824,r=n/2,i=n*Eh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Oh(e,t){let n=null,r=Jm(i);e=typeof e==`function`?e:Fm(e||ph),t=typeof t==`function`?t:Fm(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function kh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Ah(e){this._context=e}Ah.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:kh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:kh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jh(e){return new Ah(e)}function Mh(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Nh(e,t){this._context=e,this._k=(1-t)/6}Nh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Mh(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Mh(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ph=(function e(t){function n(e){return new Nh(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Fh(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function Ih(e,t){this._context=e,this._alpha=t}Ih.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Fh(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Lh=(function e(t){function n(e){return t?new Ih(e,t):new Nh(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Rh(e){return e<0?-1:1}function zh(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Rh(a)+Rh(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Bh(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Vh(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Hh(e){this._context=e}Hh.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:Vh(this,this._t0,Bh(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Vh(this,Bh(this,n=zh(this,e,t)),n);break;default:Vh(this,this._t0,n=zh(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Hh.prototype).point=function(e,t){Hh.prototype.point.call(this,t,e)};function Uh(e){return new Hh(e)}function Wh(e,t){this._context=e,this._t=t}Wh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Gh(e){return new Wh(e,.5)}function Kh(e){return new Wh(e,0)}function qh(e){return new Wh(e,1)}function Jh(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Yh(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Xh(e,t){return e[t]}function Zh(e){let t=[];return t.key=e,t}function Qh(){var e=Fm([]),t=Yh,n=Jh,r=Xh;function i(i){var a=Array.from(e.apply(this,arguments),Zh),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=rh(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:Fm(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Yh:typeof e==`function`?e:Fm(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Jh,i):n},i}function $h(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function eg(e,t,n){this.k=e,this.x=t,this.y=n}eg.prototype={constructor:eg,scale:function(e){return e===1?this:new eg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new eg(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var tg=new eg(1,0,0);ng.prototype=eg.prototype;function ng(e){for(;!e.__zoom;)if(!(e=e.parentNode))return tg;return e.__zoom}function rg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var ig=class{properties=new Map;define(e,t){rg(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return rg(t,`config "${e}" is not defined`),t}},ag=[`update`,`enter`,`merge`,`exit`],og=new Set([...ag,...ag.map(e=>`${e}:transition`)]);function sg(e){return og.has(e)}function cg(e){rg(sg(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...og].join(`, `)}`)}function lg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return ag.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function ug(e,t){for(let n of t)n(e)}function dg(e,t){return t.map(t=>{let n=e.transition();return t(n),fg(n)})}function fg(e){return e.end().then(()=>void 0,()=>void 0)}var pg=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){cg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(cg(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=lg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){ug(e.selection,e.handlers);let t=dg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function mg(e,t,n,r){if(n&&r){let i=new pg(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function hg(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function gg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function _g(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var vg=[`preDraw`,`postDraw`,`postTransition`],yg=class{base;layers=new Map;attachments=new Map;configs=new ig;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=Sa(...vg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return mg(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return hg(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=gg(this.layers,t),r=_g(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},bg=class extends yg{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function xg(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function Sg(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),t}function Cg(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var wg=80,Tg=`.bc-frame-title, .bc-frame-description`;function Eg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Dg(e){e.querySelectorAll(Tg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Og(e,t){let n=[...e.querySelectorAll(Tg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Eg(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function kg(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function Ag(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new bg(Q(e)).draw({headerItems:xg(n),footerLeftItems:Sg(n),footerRightItems:Cg()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=kg(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){Dg(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-wg;t>l&&(Og(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function jg(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function Mg(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:jg(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:jg(e),suffix:``}}function Ng(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=Mg(e);if(!n)return null;let i=Gd(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function Pg(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var Fg=`http://www.w3.org/2000/svg`,Ig=`system-ui, -apple-system, sans-serif`,Lg=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,Rg=1,zg=.5,Bg=null,Vg=null;function Hg(e,t){let n=0;for(let t of e)n+=Lg.test(t)?Rg:zg;return n*t}function Ug(){if(typeof document>`u`)return null;if(Vg!==document){Vg=document;try{Bg=document.createElement(`canvas`).getContext(`2d`)}catch{Bg=null}}return Bg}function Wg(e,t){let n=Ug();if(!n)return null;n.font=`${t}px ${Ig}`;let r=n.measureText(e).width;return r>0?r:null}function Gg(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(Fg,`svg`),r=document.createElementNS(Fg,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function Kg(e,t){if(e===``)return 0;let n=Wg(e,t)??Gg(e,t)??0;return Math.max(n,Hg(e,t))}function qg(e,t){let n=0;for(let r of e){let e=Kg(r,t);e>n&&(n=e)}return n}function Jg(e,t,n,r=`…`){if(Kg(e,n)<=t)return e;let i=[...e],a=Kg(r,n),o=i.length;for(;o>1&&Kg(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function Yg(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var Xg={top:12,right:20,bottom:24,left:50},Zg=10,Qg=.25;function $g(e,t,n){let r=t+n,i=e*Qg;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var e_=class extends yg{initialize(){this.configDefine(`totalWidth`,{defaultValue:600}),this.configDefine(`totalHeight`,{defaultValue:400}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},t_=400,n_=2,r_=2,i_=9;function a_(e,t,n,r){let[i,a]=Ei(e,t,r);return o_(r===`log`?Mf().domain([i,a]).nice():_f().domain([i,a]).nice(),n)}function o_(e,t){let n=e.ticks(),r=t?Ng(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(qg(i,Zg))+r_+i_}function s_(e){return e.length===0?0:Math.ceil(qg(e,Zg))+r_+i_}function c_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<t_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?n_:f?0:s):(o.right=a===!1?0:15,o.left=d?n_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function l_(e,t){return parseFloat(e.dataset[t]??``)||0}function u_(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0&&(Math.abs(t.width-e.offsetWidth)>=1||Math.abs(t.height-e.offsetHeight)>=1),r=n?e.clientWidth:t.width,i=n?e.clientHeight:t.height,a=getComputedStyle(e),o=r-(parseFloat(a.paddingLeft)||0)-(parseFloat(a.paddingRight)||0),s=i-(parseFloat(a.paddingTop)||0)-(parseFloat(a.paddingBottom)||0);return{width:o>0?o:l_(e,`bcContentWidth`),height:s>0?s:l_(e,`bcContentHeight`)}}function d_(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,Er(n)),e.insertBefore(r,e.firstChild)}function f_(e,t){let n={...Xg,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=u_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=$g(a,n.left,n.right),[n.top,n.bottom]=$g(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new e_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return d_(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function p_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var m_=0;function h_(e){m_=e?500:0}function g_(){return p_(m_)}function __(e,t){let n=p_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function v_(e,t){let n=p_(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function y_(e,t,n){let r=p_(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var b_=60,x_=10,S_=8,C_=16,w_=10,T_=1.3,E_=12,D_=3,O_=14,k_=10;function A_(e,t,n=D_){if(e===``)return[``];if(e.length*w_<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*w_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*w_<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var j_={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function M_(e){return typeof e.step==`function`}function N_(e,t){let n=xi(t);if(e&&e.includes(`%`)){if(n){let r=Nm(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:Ng(e)??Gd(e);if(n){let e=Nm(j_[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function P_(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*w_;e>n&&(n=e)}return n}function F_(e,t){return e.map(e=>t?t(e):String(e))}function I_(e,t){let n=Math.max(C_,Math.ceil(e)+S_);return Math.max(2,Math.floor(t/n))}function L_(e,t,n){if(e.length<=1)return e;let r=I_(qg(F_(e,n??null),x_),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function R_(e,t,n){let r=Math.max(2,Math.floor(t/b_));for(;r>2;){let i=F_(e.ticks(r),n??e.tickFormat(r)),a=I_(qg(i,x_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function z_(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!xi(e)&&P_(e,r??null)>t/e.length*T_}function B_(e,t){if(e.length===0)return 0;let n=P_(e,t??null);return Math.ceil(n)+E_}function V_(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*O_+k_}function H_(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:N_(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||xi(e)===null)&&e.length>1){let n=t/e.length*T_,o=P_(e,i)>n;if(a!==`vertical`&&o){let t=U_(e,n,i);if(t){let e=V_(Array.from(t.values()));return e>r?e:void 0}}}if(!z_(e,t,a,i))return;let o=B_(e,i);return o>r?o:void 0}function U_(e,t,n){let r=new Map,i=!1;for(let a of e){let e=A_(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function W_(e,t){e.selectAll(`.tick`).each(function(){let e=Q(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var G_=class extends yg{initialize(){this.configDefine(`scale`,{defaultValue:ef()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?_a(n):ya(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||N_(l,u);p&&f.tickFormat(p);let m=M_(r),h=m?r.domain():[],g=m&&s!==`vertical`&&xi(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*T_,t=P_(h,p)>e;s===`vertical`?v=!0:t&&(_=U_(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=L_(h,c,p);e.length<h.length&&(b=e)}}else{let e=Di(r,Math.max(2,Math.floor(c/b_)));e?b=e:f.ticks(R_(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?g_():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):Q(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=C>0?e:S?Q(S):e;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);w.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&w.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?w.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(w.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&K_(w,c)),_&&y!==`off`&&W_(w,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&q_(n,e,t)}};function K_(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=Kg(i.textContent??``,x_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function q_(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,J_[t]??null)})}var J_={dashed:`4,4`,dotted:`1,3`};function Y_(e,t,n,r={},i){let a=new G_(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=M_(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var X_=30;function Z_(e){return typeof e.bandwidth==`function`}var Q_=class extends yg{initialize(){this.configDefine(`scale`,{defaultValue:_f()}),this.configDefine(`direction`,{defaultValue:Rr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Br.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:Vr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===Rr.Right?va(t):ba(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/X_)),n=Di(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!Z_(t)?Ng(e):null;n&&c.tickFormat(n)}let d=g_(),f=e.node();if(f){d>0?e.duration(d).call(c):Q(f).call(c),r||Q(f).select(`.domain`).remove(),i||Q(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===Vr.Auto?o>0&&o<400?Vr.Inside:Vr.Outside:a;if(t===Vr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):Q(f).selectAll(`.tick text`);Q(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===Vr.Off&&Q(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===Rr.Right?va(t):ba(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/X_)),n=Di(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!Z_(t)?Ng(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===Vr.Auto?i>0&&i<400?Vr.Inside:Vr.Outside:r;if(f===Vr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===Rr.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===Vr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&ev(r,e,n===Rr.Right?-t:t)}},$_={[Br.Dashed]:`4,4`,[Br.Dotted]:`1,3`};function ev(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Br.None||n===0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,$_[t]??null)})}function tv(e){return typeof e.step==`function`}var nv=new WeakMap,rv=new WeakMap;function iv(e,t){let n=rv.get(e);rv.set(e,t),n!==void 0&&n!==t&&nv.get(e)?.destroy()}var av=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=nv.get(t);return n||(n=new e(t),nv.set(t,n)),n}static clear(e){nv.delete(e)}detach(){this.vGroup?.parentNode&&(Q(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&(Q(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new Q_(Q(this.vGroup)),this.hChart=new G_(Q(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])Q(e).interrupt(),e.removeAttribute(`transform`),Q(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=g_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Cc(e,0),r=Cc(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=tv(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,nv.delete(this.container)}},ov=Math.min,sv=Math.max,cv=Math.round,lv=e=>({x:e,y:e}),uv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function dv(e,t,n){return sv(e,ov(t,n))}function fv(e,t){return typeof e==`function`?e(t):e}function pv(e){return e.split(`-`)[0]}function mv(e){return e.split(`-`)[1]}function hv(e){return e===`x`?`y`:`x`}function gv(e){return e===`y`?`height`:`width`}function _v(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function vv(e){return hv(_v(e))}function yv(e,t,n){n===void 0&&(n=!1);let r=mv(e),i=vv(e),a=gv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ov(o)),[o,Ov(o)]}function bv(e){let t=Ov(e);return[xv(e),t,xv(t)]}function xv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Sv=[`left`,`right`],Cv=[`right`,`left`],wv=[`top`,`bottom`],Tv=[`bottom`,`top`];function Ev(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Cv:Sv:t?Sv:Cv;case`left`:case`right`:return t?wv:Tv;default:return[]}}function Dv(e,t,n,r){let i=mv(e),a=Ev(pv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(xv)))),a}function Ov(e){let t=pv(e);return uv[t]+e.slice(t.length)}function kv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Av(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:kv(e)}function jv(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Mv(e,t,n){let{reference:r,floating:i}=e,a=_v(t),o=vv(t),s=gv(o),c=pv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=mv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Nv(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=fv(t,e),p=Av(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=jv(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=jv(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Pv=50,Fv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Nv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Mv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Pv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Mv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Iv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=fv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=pv(r),_=_v(o),v=pv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ov(o)]:bv(o)),x=p!==`none`;!d&&x&&b.push(...Dv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=yv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===_v(t)||T.every(e=>_v(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=_v(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Lv=new Set([`left`,`top`]);async function Rv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=pv(n),s=mv(n),c=_v(n)===`y`,l=Lv.has(o)?-1:1,u=a&&c?-1:1,d=fv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var zv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Rv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Bv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=fv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=_v(i),p=hv(f),m=u[p],h=u[f],g=(e,t)=>dv(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Vv(){return typeof window<`u`}function Hv(e){return Gv(e)?(e.nodeName||``).toLowerCase():`#document`}function Uv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wv(e){return((Gv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Gv(e){return Vv()?e instanceof Node||e instanceof Uv(e).Node:!1}function Kv(e){return Vv()?e instanceof Element||e instanceof Uv(e).Element:!1}function qv(e){return Vv()?e instanceof HTMLElement||e instanceof Uv(e).HTMLElement:!1}function Jv(e){return!Vv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Uv(e).ShadowRoot}function Yv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=oy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Xv(e){return/^(table|td|th)$/.test(Hv(e))}function Zv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Qv=/transform|translate|scale|rotate|perspective|filter/,$v=/paint|layout|strict|content/,ey=e=>!!e&&e!==`none`,ty;function ny(e){let t=Kv(e)?oy(e):e;return ey(t.transform)||ey(t.translate)||ey(t.scale)||ey(t.rotate)||ey(t.perspective)||!iy()&&(ey(t.backdropFilter)||ey(t.filter))||Qv.test(t.willChange||``)||$v.test(t.contain||``)}function ry(e){let t=cy(e);for(;qv(t)&&!ay(t);){if(ny(t))return t;if(Zv(t))return null;t=cy(t)}return null}function iy(){return ty??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ty}function ay(e){return/^(html|body|#document)$/.test(Hv(e))}function oy(e){return Uv(e).getComputedStyle(e)}function sy(e){return Kv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cy(e){if(Hv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Jv(e)&&e.host||Wv(e);return Jv(t)?t.host:t}function ly(e){let t=cy(e);return ay(t)?(e.ownerDocument||e).body:qv(t)&&Yv(t)?t:ly(t)}function uy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ly(e),i=r===e.ownerDocument?.body,a=Uv(r);if(i){let e=dy(a);return t.concat(a,a.visualViewport||[],Yv(r)?r:[],e&&n?uy(e):[])}return t.concat(r,uy(r,[],n))}function dy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fy(e){let t=oy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=qv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=cv(n)!==a||cv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function py(e){return Kv(e)?e:e.contextElement}function my(e){let t=py(e);if(!qv(t))return lv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fy(t),o=(a?cv(n.width):n.width)/r,s=(a?cv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hy=lv(0);function gy(e){let t=Uv(e);return!iy()||!t.visualViewport?hy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _y(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Uv(e)}function vy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=py(e),o=lv(1);t&&(r?Kv(r)&&(o=my(r)):o=my(e));let s=_y(a,n,r)?gy(a):lv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Uv(a),t=Kv(r)?Uv(r):r,n=e,i=dy(n);for(;i&&t!==n;){let e=my(i),t=i.getBoundingClientRect(),r=oy(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Uv(i),i=dy(n)}}return jv({width:u,height:d,x:c,y:l})}function yy(e,t){let n=sy(e).scrollLeft;return t?t.left+n:vy(Wv(e)).left+n}function by(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yy(e,n),y:n.top+t.scrollTop}}function xy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Wv(r),s=t?Zv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=lv(1),u=lv(0),d=qv(r);if((d||!a)&&((Hv(r)!==`body`||Yv(o))&&(c=sy(r)),d)){let e=vy(r);l=my(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?by(o,c):lv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Sy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Cy(e){let t=sy(e),n=e.ownerDocument.body,r=sv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=sv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+yy(e),o=-t.scrollTop;return oy(n).direction===`rtl`&&(a+=sv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var wy=25;function Ty(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Uv(e),a=Wv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!iy()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(yy(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=wy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ey(e,t){let n=vy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=my(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ty(e,n,t);else if(t===`document`)r=Cy(Wv(e));else if(Kv(t))r=Ey(t,n);else{let n=gy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return jv(r)}function Oy(e,t){let n=t.get(e);if(n)return n;let r=uy(e,[],!1).filter(e=>Kv(e)&&Hv(e)!==`body`),i=null,a=oy(e).position===`fixed`,o=a?cy(e):e;for(;Kv(o)&&!ay(o);){let e=oy(o),t=ny(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=cy(o)}return t.set(e,r),r}function ky(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Zv(t)?[]:Oy(t,this._c):[].concat(n),r],o=Dy(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Dy(t,a[e],i);s=sv(n.top,s),c=ov(n.right,c),l=ov(n.bottom,l),u=sv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ay(e){let{width:t,height:n}=fy(e);return{width:t,height:n}}function jy(e,t,n){let r=qv(t),i=Wv(t),a=n===`fixed`,o=vy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=lv(0);if((r||!a)&&((Hv(t)!==`body`||Yv(i))&&(s=sy(t)),r)){let e=vy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=yy(i));let l=i&&!r&&!a?by(i,s):lv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function My(e){return oy(e).position===`static`}function Ny(e,t){if(!qv(e)||oy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Wv(e)===n&&(n=n.ownerDocument.body),n}function Py(e,t){let n=Uv(e);if(Zv(e))return n;if(!qv(e)){let t=cy(e);for(;t&&!ay(t);){if(Kv(t)&&!My(t))return t;t=cy(t)}return n}let r=Ny(e,t);for(;r&&Xv(r)&&My(r);)r=Ny(r,t);return r&&ay(r)&&My(r)&&!ny(r)?n:r||ry(e)||n}var Fy=async function(e){let t=this.getOffsetParent||Py,n=this.getDimensions,r=await n(e.floating);return{reference:jy(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Iy(e){return oy(e).direction===`rtl`}var Ly={convertOffsetParentRelativeRectToViewportRelativeRect:xy,getDocumentElement:Wv,getClippingRect:ky,getOffsetParent:Py,getElementRects:Fy,getClientRects:Sy,getDimensions:Ay,getScale:my,isElement:Kv,isRTL:Iy},Ry=zv,zy=Bv,By=Iv,Vy=(e,t,n)=>{let r=new Map,i=n??{},a={...Ly,...i.platform,_c:r};return Fv(e,t,{...i,platform:a})},Hy=`bc-tooltip`;function Uy(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
313
- .${Hy} {
309
+ `,`\r`,`{`,`}`,`=`],!0,!1,!1),V=Ot(`colorize`,!1),H=Ot(`highlight`,!1),ee=Ot(`area-fill`,!1),U=Ot(`annotation`,!1),te=Ot(`range`,!1),ne=Ot(`note`,!1),re=Ot(`series`,!1),ie=Ot(`scene`,!1),ae=Ot(`transform`,!1),W=Ot(`%`,!1),oe=Mt(`identifier`),se=kt([[`a`,`z`],[`A`,`Z`],`_`,`#`],!1,!1,!1),ce=kt([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`#`,`-`],!1,!1,!1),le=Ot(`-`,!1),ue=Ot(`.`,!1),de=kt([[`0`,`9`]],!1,!1,!1),G=kt([`e`,`E`],!1,!1,!1),K=kt([`+`,`-`],!1,!1,!1),fe=Mt(`string`),pe=Ot(`"`,!1),me=Ot(`\\`,!1),he=kt([`"`,`\\`],!0,!1,!1),ge=Ot(`n`,!1),_e=Ot(`r`,!1),ve=Ot(`t`,!1),ye=Ot(`u`,!1),be=kt([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),xe=At(),Se=Ot(`//`,!1),Ce=kt([`
310
+ `],!0,!1,!1),q=Ot(`/*`,!1),we=Ot(`*/`,!1),Te=kt([` `,` `,`
311
+ `,`\r`],!1,!1,!1),Ee=Mt(`whitespace`);function De(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=E(t);return{type:`chart`,chartType:e,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,scenes:r.scenes,transforms:r.transforms}}function Oe(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function ke(e,t){return{type:`data`,entries:e,...t.length?{trailingComments:t}:{}}}function Ae(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function je(e,t,n){return n}function Me(e,t,n){let r=[t,...n];return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:r[0].value,isPercentage:!1,values:r.map(e=>e.value)}}function Ne(e,t){return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Pe(e){return{name:e,quoted:!0}}function Fe(e){return{name:e,quoted:!1}}function Ie(e,t){return{type:`property`,key:e,...e===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Le(e){return e.trim()}function Re(e,t,n){return{type:`colorize`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function ze(){Et(`colorize needs a quoted target, e.g. colorize "2021" { ... }`)}function Be(e,t,n){return{type:`colorize`,target:e,properties:t,fromHighlight:!0,...n.length?{trailingComments:n}:{}}}function Ve(e){return{type:`highlight`,target:e,properties:[]}}function He(){Et(`highlight needs a quoted target, e.g. highlight "2021" { ... } or highlight "2021"`)}function Ue(e,t,n,r){return{type:`area-fill`,from:e,to:t,properties:n,...r.length?{trailingComments:r}:{}}}function We(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ge(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ke(e,t,n){return{type:`annotation`,kind:`point`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function qe(){Et(`annotation needs a quoted target, e.g. annotation "2021" { ... }`)}function Je(e,t){return{type:`annotation`,kind:`range`,properties:e,...t.length?{trailingComments:t}:{}}}function Ye(e,t){return{type:`annotation`,kind:`free`,properties:e,...t.length?{trailingComments:t}:{}}}function Xe(e,t,n){return{type:`series`,name:e,properties:t,...n.length?{trailingComments:n}:{}}}function Ze(){Et(`series needs a quoted name, e.g. series "Revenue" { ... }`)}function Qe(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=D(t);return{type:`scene`,name:e??null,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,transforms:r.transforms}}function $e(e,t,n){return{type:`transform`,transformType:e,properties:t,...n.length?{trailingComments:n}:{}}}function et(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function tt(e,t){return t!=null&&(e.trailingComment=t),e}function nt(e,t){return{type:`property`,key:e,value:t.value,isPercentage:t.isPercentage}}function rt(e){return{value:e,isPercentage:!0}}function it(e){return{value:e,isPercentage:!1}}function at(e){return{value:e,isPercentage:!1}}function ot(e){return{value:e,isPercentage:!1}}function st(e){return parseFloat(e)}function ct(e){return e.join(``)}function lt(e){return e}function ut(){return`"`}function dt(){return`\\`}function ft(){return`
312
+ `}function pt(){return`\r`}function mt(){return` `}function ht(e){return String.fromCharCode(parseInt(e,16))}function gt(e){Et(`Unknown escape sequence \\`+e)}function _t(e){return e}function vt(e){return e}function yt(e){return e.trim()}function bt(e){return e.trim()}let J=t.peg$currPos|0,xt=J,St=[{line:1,column:1}],Ct=J,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(xt,J):t,Ft(e,t)}function Dt(t=J){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){J<Ct||(J>Ct&&(Ct=J,wt=[]),wt.push(e))}function Ft(e,t){return new O(e,null,null,t)}function It(e,t,n){return new O(O.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=J,vn(),e.substr(J,5)===o?(r=o,J+=5):(r=n,Y===0&&X(M)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(vn(),xt=t,t=De(a,c,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Oe(r,i,o)}else J=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=J,e.substr(J,4)===s?(r=s,J+=4):(r=n,Y===0&&X(I)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(J)===125?(c=`}`,J++):(c=n,Y===0&&X(P)),c===n?(J=t,t=n):(xt=t,t=ke(a,o))}else J=t,t=n}else J=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=J,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=Ae(r,i,o)}else J=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=J,r=Ht(),r!==n){if(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i!==n){if(vn(),a=an(),a!==n){if(o=[],s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=J,e.charCodeAt(J)===44?(c=`,`,J++):(c=n,Y===0&&X(R)),c===n?(J=s,s=n):(vn(),l=an(),l===n?(J=s,s=n):(xt=s,s=je(r,a,l)));else o=n;o===n?(J=t,t=n):(xt=t,t=Me(r,a,o))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,r=Ht(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ne(r,a))))),t}function Ht(){let e,t;return e=J,t=cn(),t!==n&&(xt=e,t=Pe(t)),e=t,e===n&&(e=J,t=on(),t!==n&&(xt=e,t=Fe(t)),e=t),e}function Ut(){let t,r,i,a;return t=J,r=Wt(),r===n?(J=t,t=n):(e.charCodeAt(J)===9?(i=` `,J++):(i=n,Y===0&&X(z)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=Ie(r,a)))),t}function Wt(){let t,r,i,a;if(t=J,r=J,i=[],a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(J),v.test(a)?J++:(a=n,Y===0&&X(B));else i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=Le(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(J)===125?(u=`}`,J++):(u=n,Y===0&&X(P)),u===n?(J=t,t=n):(xt=t,t=Re(a,s,l))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,8)===c?(r=c,J+=8):(r=n,Y===0&&X(V)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=ze()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(J)===125?(d=`}`,J++):(d=n,Y===0&&X(P)),d===n?(J=t,t=n):(xt=t,t=Be(a,c,u))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=J,Y++,s=J,c=vn(),e.charCodeAt(J)===123?(u=`{`,J++):(u=n,Y===0&&X(N)),u===n?(J=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=t,t=n):(xt=t,t=Ve(a))))),t===n&&(t=J,e.substr(J,9)===l?(r=l,J+=9):(r=n,Y===0&&X(H)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=He())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(vn(),e.charCodeAt(J)===123?(c=`{`,J++):(c=n,Y===0&&X(N)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(J)===125?(f=`}`,J++):(f=n,Y===0&&X(P)),f===n?(J=t,t=n):(xt=t,t=Ue(a,s,l,d))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=_n(),i===n?(J=t,t=n):(a=cn(),a===n?(J=t,t=n):(o=vn(),e.charCodeAt(J)===123?(s=`{`,J++):(s=n,Y===0&&X(N)),s===n?(J=t,t=n):(xt=t,t=We())))),t===n&&(t=J,e.substr(J,9)===u?(r=u,J+=9):(r=n,Y===0&&X(ee)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ge())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Ke(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,10)===d?(r=d,J+=10):(r=n,Y===0&&X(U)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=qe()))),t}function Yt(){let t,r,i,a,o,s;if(t=J,e.substr(J,5)===f?(r=f,J+=5):(r=n,Y===0&&X(te)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Je(a,o))}else J=t,t=n}else J=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=J,e.substr(J,4)===p?(r=p,J+=4):(r=n,Y===0&&X(ne)),r!==n){if(vn(),e.charCodeAt(J)===123?(i=`{`,J++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(J)===125?(s=`}`,J++):(s=n,Y===0&&X(P)),s===n?(J=t,t=n):(xt=t,t=Ye(a,o))}else J=t,t=n}else J=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Xe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t===n&&(t=J,e.substr(J,6)===m?(r=m,J+=6):(r=n,Y===0&&X(re)),r===n?(J=t,t=n):(i=vn(),e.charCodeAt(J)===123?(a=`{`,J++):(a=n,Y===0&&X(N)),a===n?(J=t,t=n):(xt=t,t=Ze()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,5)===h?(r=h,J+=5):(r=n,Y===0&&X(ie)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=Qe(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=J,e.substr(J,9)===g?(r=g,J+=9):(r=n,Y===0&&X(ae)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(J)===123?(o=`{`,J++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(J)===125?(l=`}`,J++):(l=n,Y===0&&X(P)),l===n?(J=t,t=n):(xt=t,t=$e(a,s,c))}else J=t,t=n}else J=t,t=n}else J=t,t=n}else J=t,t=n;return t}function en(){let t,r,i,a,o;if(t=J,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(J),_.test(o)?J++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),xt=t,t=et(r,i,o)}else J=t,t=n;return t}function tn(){let t,r,i,a;if(t=J,vn(),r=nn(),r!==n){for(i=[],a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(J),_.test(a)?J++:(a=n,Y===0&&X(F));a=gn(),a===n&&(a=null),mn(),xt=t,t=tt(r,a)}else J=t,t=n;return t}function nn(){let t,r,i,a;return t=J,r=rn(),r===n?(J=t,t=n):(vn(),e.charCodeAt(J)===61?(i=`=`,J++):(i=n,Y===0&&X(L)),i===n?(J=t,t=n):(vn(),a=an(),a===n?(J=t,t=n):(xt=t,t=nt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=J,r=sn(),r===n?(J=t,t=n):(e.charCodeAt(J)===37?(i=`%`,J++):(i=n,Y===0&&X(W)),i===n?(J=t,t=n):(xt=t,t=rt(r))),t===n&&(t=J,r=sn(),r!==n&&(xt=t,r=it(r)),t=r,t===n&&(t=J,r=cn(),r!==n&&(xt=t,r=at(r)),t=r,t===n&&(t=J,r=on(),r!==n&&(xt=t,r=ot(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=J,r=J,i=e.charAt(J),y.test(i)?J++:(i=n,Y===0&&X(se)),i!==n){for(a=[],o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));o!==n;)a.push(o),o=e.charAt(J),b.test(o)?J++:(o=n,Y===0&&X(ce));i=[i,a],r=i}else J=r,r=n;return t=r===n?r:e.substring(t,J),Y--,t===n&&(r=n,Y===0&&X(oe)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=J,r=J,i=J,e.charCodeAt(J)===45?(a=`-`,J++):(a=n,Y===0&&X(le)),a===n&&(a=null),o=J,e.charCodeAt(J)===46?(s=`.`,J++):(s=n,Y===0&&X(ue)),s!==n){if(c=[],l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(de)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(J),x.test(l)?J++:(l=n,Y===0&&X(de));else c=n;c===n?(J=o,o=n):(s=[s,c],o=s)}else J=o,o=n;if(o===n){if(o=J,s=[],c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(de)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(J),x.test(c)?J++:(c=n,Y===0&&X(de));else s=n;if(s!==n){if(c=J,e.charCodeAt(J)===46?(l=`.`,J++):(l=n,Y===0&&X(ue)),l!==n){for(u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));l=[l,u],c=l}else J=c,c=n;c===n&&(c=null),s=[s,c],o=s}else J=o,o=n}if(o!==n){if(s=J,c=e.charAt(J),S.test(c)?J++:(c=n,Y===0&&X(G)),c!==n){if(l=e.charAt(J),C.test(l)?J++:(l=n,Y===0&&X(K)),l===n&&(l=null),u=[],d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(J),x.test(d)?J++:(d=n,Y===0&&X(de));else u=n;u===n?(J=s,s=n):(c=[c,l,u],s=c)}else J=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else J=i,i=n;return r=i===n?i:e.substring(r,J),r!==n&&(xt=t,r=st(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(pe)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(J)===34?(a=`"`,J++):(a=n,Y===0&&X(pe)),a===n?(J=t,t=n):(xt=t,t=ct(i))}else J=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(fe)),t}function ln(){let t,r,i;return t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r===n?(J=t,t=n):(i=un(),i===n?(J=t,t=n):(xt=t,t=lt(i))),t===n&&(t=e.charAt(J),w.test(t)?J++:(t=n,Y===0&&X(he))),t}function un(){let t,r,i,a,o,s,c,l;return t=J,e.charCodeAt(J)===34?(r=`"`,J++):(r=n,Y===0&&X(pe)),r!==n&&(xt=t,r=ut()),t=r,t===n&&(t=J,e.charCodeAt(J)===92?(r=`\\`,J++):(r=n,Y===0&&X(me)),r!==n&&(xt=t,r=dt()),t=r,t===n&&(t=J,e.charCodeAt(J)===110?(r=`n`,J++):(r=n,Y===0&&X(ge)),r!==n&&(xt=t,r=ft()),t=r,t===n&&(t=J,e.charCodeAt(J)===114?(r=`r`,J++):(r=n,Y===0&&X(_e)),r!==n&&(xt=t,r=pt()),t=r,t===n&&(t=J,e.charCodeAt(J)===116?(r=`t`,J++):(r=n,Y===0&&X(ve)),r!==n&&(xt=t,r=mt()),t=r,t===n&&(t=J,e.charCodeAt(J)===117?(r=`u`,J++):(r=n,Y===0&&X(ye)),r===n?(J=t,t=n):(i=J,a=J,o=e.charAt(J),k.test(o)?J++:(o=n,Y===0&&X(be)),o===n?(J=a,a=n):(s=e.charAt(J),k.test(s)?J++:(s=n,Y===0&&X(be)),s===n?(J=a,a=n):(c=e.charAt(J),k.test(c)?J++:(c=n,Y===0&&X(be)),c===n?(J=a,a=n):(l=e.charAt(J),k.test(l)?J++:(l=n,Y===0&&X(be)),l===n?(J=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,J),i===n?(J=t,t=n):(xt=t,t=ht(i))),t===n&&(t=J,e.length>J?(r=e.charAt(J),J++):(r=n,Y===0&&X(xe)),r!==n&&(xt=t,r=gt(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=[],a=e.charAt(J),A.test(a)?J++:(a=n,Y===0&&X(Ce));a!==n;)i.push(a),a=e.charAt(J),A.test(a)?J++:(a=n,Y===0&&X(Ce));r=[r,i],t=r}else J=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(q)),r!==n){for(i=[],a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(we)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=J,o=J,Y++,e.substr(J,2)===`*/`?(s=`*/`,J+=2):(s=n,Y===0&&X(we)),Y--,s===n?o=void 0:(J=o,o=n),o===n?(J=a,a=n):(e.length>J?(s=e.charAt(J),J++):(s=n,Y===0&&X(xe)),s===n?(J=a,a=n):(o=[o,s],a=o));e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(we)),a===n?(J=t,t=n):(r=[r,i,a],t=r)}else J=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te));r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te));return Y--,t}function hn(){let e,t,r,i;for(e=J,t=[],r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));r!==n;)t.push(r),r=J,mn(),i=gn(),i===n?(J=r,r=n):(xt=r,r=_t(i));return r=mn(),xt=e,e=vt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=J,e.substr(J,2)===`//`?(r=`//`,J+=2):(r=n,Y===0&&X(Se)),r!==n){for(i=J,a=[],o=e.charAt(J),A.test(o)?J++:(o=n,Y===0&&X(Ce));o!==n;)a.push(o),o=e.charAt(J),A.test(o)?J++:(o=n,Y===0&&X(Ce));i=e.substring(i,J),xt=t,t=yt(i)}else J=t,t=n;if(t===n){if(t=J,e.substr(J,2)===`/*`?(r=`/*`,J+=2):(r=n,Y===0&&X(q)),r!==n){for(i=J,a=[],o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(we)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=J,s=J,Y++,e.substr(J,2)===`*/`?(c=`*/`,J+=2):(c=n,Y===0&&X(we)),Y--,c===n?s=void 0:(J=s,s=n),s===n?(J=o,o=n):(e.length>J?(c=e.charAt(J),J++):(c=n,Y===0&&X(xe)),c===n?(J=o,o=n):(s=[s,c],o=s));i=e.substring(i,J),e.substr(J,2)===`*/`?(a=`*/`,J+=2):(a=n,Y===0&&X(we)),a===n?(J=t,t=n):(xt=t,t=bt(i))}else J=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(Ee)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(J),j.test(r)?J++:(r=n,Y===0&&X(Te)),r===n&&(r=dn());return Y--,t}Tt=a();let yn=Tt!==n&&J===e.length;function bn(){throw Tt!==n&&J<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:J,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:yn,peg$throw:yn?void 0:bn};if(yn)return Tt;bn()}function A(e){try{return k(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function j(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function M(e){return j(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function N(e){let t=M(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var P={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},F={"\\":`\\`,'"':`"`,n:`
313
+ `,r:`\r`,t:` `};function I(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>P[e])}"`}function L(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):F[t])}function R(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?L(t.slice(1,-1)):t}function z(e){let t=[],n=``,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(i&&o===`\\`&&a+1<e.length){n+=o+e[++a];continue}if(o===`"`)i=!i;else if(!i&&o===`(`)r++;else if(!i&&o===`)`)r=Math.max(0,r-1);else if(o===`,`&&!i&&r===0){t.push(n),n=``;continue}n+=o}return t.push(n),t}var B=`"((?:[^"\\\\]|\\\\.)*)"`,V=RegExp(`^${B}\\s*=\\s*(.+)$`),H=RegExp(`^${B}\\s*=\\s*"([^"]*)"$`),ee=RegExp(`^${B}\\s*=\\s*(.+)$`);function U(e){let t=new Set;return e.map(e=>{let n=e;for(let r=2;t.has(n);r++)n=`${e} (${r})`;return t.add(n),n})}function te(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>R(e)!==``);return i.length>0&&i.every(e=>N(e)===void 0)?[{name:e,values:r.map(e=>R(e)||void 0)}]:[]})}function ne(e){let t=e.split(`
314
+ `).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=z(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(H),i=n??t[e].match(V);i&&r.push({cells:z(i[2]),label:L(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(N(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=te(a,r);return{labels:U(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(ee);t&&(n.push(L(t[1])),r.push(N(t[2])))}return{labels:U(n),values:r}}var re=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],ie=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],ae=Object.fromEntries(ie.map(e=>[e.name,e.colors]));function W(e){if(!e)return;let t=ae[e];return t?[...t]:void 0}function oe(){return ie}var{min:se,max:ce}=Math,le=(e,t=0,n=1)=>se(ce(t,e),n),ue=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=le(e[t],0,255)):t===3&&(e[t]=le(e[t],0,1));return e},de={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])de[`[object ${e}]`]=e.toLowerCase();function G(e){return de[Object.prototype.toString.call(e)]||`object`}var K=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):G(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),fe=e=>{if(e.length<2)return null;let t=e.length-1;return G(e[t])==`string`?e[t].toLowerCase():null},{PI:pe,min:me,max:he}=Math,ge=e=>Math.round(e*100)/100,_e=e=>Math.round(e*100)/100,ve=pe*2,ye=pe/3,be=pe/180,xe=180/pe;function Se(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Ce={format:{},autodetect:[]},q=class{constructor(...e){let t=this;if(G(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=fe(e),r=!1;if(!n){r=!0,Ce.sorted||=(Ce.autodetect=Ce.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Ce.autodetect)if(n=t.test(...e),n)break}if(Ce.format[n])t._rgb=ue(Ce.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return G(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},we=`3.2.0`,Te=(...e)=>new q(...e);Te.version=we;var Ee={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},De=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Oe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,ke=e=>{if(e.match(De)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(Oe)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:Ae}=Math,je=(...e)=>{let[t,n,r,i]=K(e,`rgba`),a=fe(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Ae(t),n=Ae(n),r=Ae(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Ae(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};q.prototype.name=function(){let e=je(this._rgb,`rgb`);for(let t of Object.keys(Ee))if(Ee[t]===e)return t.toLowerCase();return e},Ce.format.named=e=>{if(e=e.toLowerCase(),Ee[e])return ke(Ee[e]);throw Error(`unknown color name: `+e)},Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&Ee[e.toLowerCase()])return`named`}}),q.prototype.alpha=function(e,t=!1){return e!==void 0&&G(e)===`number`?t?(this._rgb[3]=e,this):new q([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},q.prototype.clipped=function(){return this._rgb._clipped||!1};var Me={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Ne=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Pe(e){let t=Ne.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Me.labWhitePoint=e,Me.Xn=t[0],Me.Zn=t[1]}function Fe(){return Me.labWhitePoint}var Ie=(...e)=>{e=K(e,`lab`);let[t,n,r]=e,[i,a,o]=Le(t,n,r),[s,c,l]=ze(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Le=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Me,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Re=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},ze=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Me,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Re(y*a.m00+b*a.m10+x*a.m20),C=Re(y*a.m01+b*a.m11+x*a.m21),w=Re(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},Be=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Ue(t,n,r),[c,l,u]=Ve(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ve(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Me,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function He(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ue=(e,t,n)=>{e=He(e/255),t=He(t/255),n=He(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Me,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};q.prototype.lab=function(){return Be(this._rgb)},Object.assign(Te,{lab:(...e)=>new q(...e,`lab`),getLabWhitePoint:Fe,setLabWhitePoint:Pe}),Ce.format.lab=Ie,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`lab`),G(e)===`array`&&e.length===3)return`lab`}}),q.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=Me.Kn*e,new q(n,`lab`).alpha(t.alpha(),!0)},q.prototype.brighten=function(e=1){return this.darken(-e)},q.prototype.darker=q.prototype.darken,q.prototype.brighter=q.prototype.brighten,q.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:We}=Math,Ge=1e-7,Ke=20;q.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&G(e)===`number`){if(e===0)return new q([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new q([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Ke,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<Ge||!r--?o:s>e?i(n,o):i(o,a)};return new q([...(n>e?i(new q([0,0,0]),this):i(this,new q([255,255,255]))).rgb(),this._rgb[3]])}return qe(...this._rgb.slice(0,3))};var qe=(e,t,n)=>(e=Je(e),t=Je(t),n=Je(n),.2126*e+.7152*t+.0722*n),Je=e=>(e/=255,e<=.03928?e/12.92:We((e+.055)/1.055,2.4)),Ye={},Xe=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Ye[i]&&!r.length&&(i=Object.keys(Ye)[0]),!Ye[i])throw Error(`interpolation mode ${i} is not defined`);return G(e)!==`object`&&(e=new q(e)),G(t)!==`object`&&(t=new q(t)),Ye[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};q.prototype.mix=q.prototype.interpolate=function(e,t=.5,...n){return Xe(this,e,t,...n)},q.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new q([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:Ze,cos:Qe}=Math,$e=(...e)=>{let[t,n,r]=K(e,`lch`);return isNaN(r)&&(r=0),r*=be,[t,Qe(r)*n,Ze(r)*n]},et=(...e)=>{e=K(e,`lch`);let[t,n,r]=e,[i,a,o]=$e(t,n,r),[s,c,l]=Ie(i,a,o);return[s,c,l,e.length>3?e[3]:1]},tt=(...e)=>et(...Se(K(e,`hcl`))),{sqrt:nt,atan2:rt,round:it}=Math,at=(...e)=>{let[t,n,r]=K(e,`lab`),i=nt(n*n+r*r),a=(rt(r,n)*xe+360)%360;return it(i*1e4)===0&&(a=NaN),[t,i,a]},ot=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=Be(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};q.prototype.lch=function(){return ot(this._rgb)},q.prototype.hcl=function(){return Se(ot(this._rgb))},Object.assign(Te,{lch:(...e)=>new q(...e,`lch`),hcl:(...e)=>new q(...e,`hcl`)}),Ce.format.lch=et,Ce.format.hcl=tt,[`lch`,`hcl`].forEach(e=>Ce.autodetect.push({p:2,test:(...t)=>{if(t=K(t,e),G(t)===`array`&&t.length===3)return e}})),q.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=Me.Kn*e,n[1]<0&&(n[1]=0),new q(n,`lch`).alpha(t.alpha(),!0)},q.prototype.desaturate=function(e=1){return this.saturate(-e)},q.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(G(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(G(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new q(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},q.prototype.tint=function(e=.5,...t){return Xe(this,`white`,e,...t)},q.prototype.shade=function(e=.5,...t){return Xe(this,`black`,e,...t)},Ye.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:st,pow:ct}=Math;Ye.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new q(st(ct(r,2)*(1-n)+ct(o,2)*n),st(ct(i,2)*(1-n)+ct(s,2)*n),st(ct(a,2)*(1-n)+ct(c,2)*n),`rgb`)},Ye.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var lt=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new q([m,f,p],r):new q([p,f,m],r)},ut=(e,t,n)=>lt(e,t,n,`lch`);Ye.lch=ut,Ye.hcl=ut;var dt=e=>{if(G(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},ft=(...e)=>{let[t,n,r]=K(e,`rgb`);return(t<<16)+(n<<8)+r};q.prototype.num=function(){return ft(this._rgb)},Object.assign(Te,{num:(...e)=>new q(...e,`num`)}),Ce.format.num=dt,Ce.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&G(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Ye.num=(e,t,n)=>{let r=e.num();return new q(r+n*(t.num()-r),`num`)};var{floor:pt}=Math,mt=(...e)=>{e=K(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=pt(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},ht=(...e)=>{let[t,n,r]=K(e,`rgb`),i=me(t,n,r),a=he(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};q.prototype.hcg=function(){return ht(this._rgb)},Te.hcg=(...e)=>new q(...e,`hcg`),Ce.format.hcg=mt,Ce.autodetect.push({p:1,test:(...e)=>{if(e=K(e,`hcg`),G(e)===`array`&&e.length===3)return`hcg`}}),Ye.hcg=(e,t,n)=>lt(e,t,n,`hcg`);var{cos:gt}=Math,_t=(...e)=>{e=K(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*gt(ve*t)/gt(ye-ve*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*gt(ve*t)/gt(ye-ve*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*gt(ve*t)/gt(ye-ve*t))/3,i=1-(a+o)),i=le(r*i*3),a=le(r*a*3),o=le(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:vt,sqrt:yt,acos:bt}=Math,J=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i,a=vt(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=yt((t-n)*(t-n)+(t-r)*(n-r)),i=bt(i),r>n&&(i=ve-i),i/=ve),[i*360,s,o]};q.prototype.hsi=function(){return J(this._rgb)},Te.hsi=(...e)=>new q(...e,`hsi`),Ce.format.hsi=_t,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsi`),G(e)===`array`&&e.length===3)return`hsi`}}),Ye.hsi=(e,t,n)=>lt(e,t,n,`hsi`);var xt=(...e)=>{e=K(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},St=(...e)=>{e=K(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=me(t,n,r),a=he(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};q.prototype.hsl=function(){return St(this._rgb)},Te.hsl=(...e)=>new q(...e,`hsl`),Ce.format.hsl=xt,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsl`),G(e)===`array`&&e.length===3)return`hsl`}}),Ye.hsl=(e,t,n)=>lt(e,t,n,`hsl`);var{floor:Ct}=Math,wt=(...e)=>{e=K(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=Ct(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:Y,max:Tt}=Math,Et=(...e)=>{e=K(e,`rgb`);let[t,n,r]=e,i=Y(t,n,r),a=Tt(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};q.prototype.hsv=function(){return Et(this._rgb)},Te.hsv=(...e)=>new q(...e,`hsv`),Ce.format.hsv=wt,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`hsv`),G(e)===`array`&&e.length===3)return`hsv`}}),Ye.hsv=(e,t,n)=>lt(e,t,n,`hsv`);function Dt(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var Ot=(...e)=>{e=K(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=kt([t,n,r]),[c,l,u]=ze(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function kt(e){return Dt([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Dt([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var At=(...e)=>{let[t,n,r,...i]=K(e,`rgb`);return[...jt(Ue(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function jt(e){return Dt([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Dt([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}q.prototype.oklab=function(){return At(this._rgb)},Object.assign(Te,{oklab:(...e)=>new q(...e,`oklab`)}),Ce.format.oklab=Ot,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklab`),G(e)===`array`&&e.length===3)return`oklab`}}),Ye.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new q(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Ye.oklch=(e,t,n)=>lt(e,t,n,`oklch`);var{pow:Mt,sqrt:Nt,PI:Pt,cos:X,sin:Ft,atan2:It}=Math,Lt=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new q(e)),t===`lrgb`)return Rt(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Pt;c+=X(t)*n[0],l+=Ft(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Pt;c+=X(t)*n[r+1],l+=Ft(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=It(l/s[e],c/s[e])/Pt*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new q(o,t).alpha(u>.99999?1:u,!0)},Rt=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=Mt(s[0],2)*o,r[1]+=Mt(s[1],2)*o,r[2]+=Mt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=Nt(r[0]),r[1]=Nt(r[1]),r[2]=Nt(r[2]),r[3]>.9999999&&(r[3]=1),new q(ue(r))},{pow:zt}=Math;function Bt(e){let t=`rgb`,n=Te(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&G(e)===`string`&&Te.brewer&&Te.brewer[e.toLowerCase()]&&(e=Te.brewer[e.toLowerCase()]),G(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=Te(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=zt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=le(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(G(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=Te.interpolate(l[e],l[e+1],a,t);break}}else G(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=Te(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(G(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=Te.analyze(i);c=e===0?[t.min,t.max]:Te.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(G(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=Vt(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return Te[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=Te(e),C)},C}function Vt(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Ht=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Ut=function(e){let t,n,r,i;if(e=e.map(e=>new q(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new q([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Ht(i),t=function(e){let t=1-e;return new q([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Wt=e=>{let t=Ut(e);return t.scale=()=>Bt(t),t},{round:Gt}=Math;q.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Gt)},q.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Gt(t):t)},Object.assign(Te,{rgb:(...e)=>new q(...e,`rgb`)}),Ce.format.rgb=(...e)=>{let t=K(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Ce.autodetect.push({p:3,test:(...e)=>{if(e=K(e,`rgba`),G(e)===`array`&&(e.length===3||e.length===4&&G(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Kt=(e,t,n)=>{if(!Kt[n])throw Error(`unknown blend mode `+n);return Kt[n](e,t)},qt=e=>(t,n)=>{let r=Te(n).rgb(),i=Te(t).rgb();return Te.rgb(e(r,i))},Jt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Kt.normal=qt(Jt(e=>e)),Kt.multiply=qt(Jt((e,t)=>e*t/255)),Kt.screen=qt(Jt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Kt.overlay=qt(Jt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Kt.darken=qt(Jt((e,t)=>e>t?t:e)),Kt.lighten=qt(Jt((e,t)=>e>t?e:t)),Kt.dodge=qt(Jt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Kt.burn=qt(Jt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Yt,sin:Xt,cos:Zt}=Math;function Qt(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;G(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=ve*((e+120)/360+t*s),l=Yt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=Zt(c),f=Xt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return Te(ue([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,G(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(G(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>Te.scale(s),s.hue(n),s}var $t=`0123456789abcdef`,{floor:en,random:tn}=Math,nn=(e=tn)=>{let t=`#`;for(let n=0;n<6;n++)t+=$t.charAt(en(e()*16));return new q(t,`hex`)},{log:rn,pow:an,floor:on,abs:sn}=Math;function cn(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return G(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&G(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>ln(n,e,t),n}function ln(e,t=`equal`,n=7){G(e)==`array`&&(e=cn(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*rn(r),t=Math.LOG10E*rn(i);o.push(r);for(let r=1;r<n;r++)o.push(an(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=on(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=sn(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var un=(e,t)=>{e=new q(e),t=new q(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},dn=.027,fn=5e-4,pn=.1,mn=1.14,hn=.022,gn=1.414,_n=(e,t)=>{e=new q(e),t=new q(t),e.alpha()<1&&(e=Xe(t,e,e.alpha(),`rgb`));let n=vn(...e.rgb()),r=vn(...t.rgb()),i=n>=hn?n:n+(hn-n)**+gn,a=r>=hn?r:r+(hn-r)**+gn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<fn?0:i<a?o*mn:s*mn;return(Math.abs(c)<pn?0:c>0?c-dn:c+dn)*100};function vn(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:yn,pow:bn,min:xn,max:Sn,atan2:Cn,abs:wn,cos:Tn,sin:En,exp:Dn,PI:On}=Math;function kn(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*On)},o=function(e){return 2*On*e/360};e=new q(e),t=new q(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(yn(bn(c,2)+bn(l,2))+yn(bn(d,2)+bn(f,2)))/2,h=.5*(1-yn(bn(m,7)/(bn(m,7)+bn(25,7)))),g=c*(1+h),_=d*(1+h),v=yn(bn(g,2)+bn(l,2)),y=yn(bn(_,2)+bn(f,2)),b=(v+y)/2,x=a(Cn(l,g)),S=a(Cn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=wn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*Tn(o(T-30))+.24*Tn(o(2*T))+.32*Tn(o(3*T+6))-.2*Tn(o(4*T-63)),D=w-C;D=wn(D)<=180?D:w<=C?D+360:D-360,D=2*yn(v*y)*En(o(D)/2);let O=u-s,k=y-v,A=1+.015*bn(p-50,2)/yn(20+bn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*Dn(-bn((T-275)/25,2)),P=-(2*yn(bn(b,7)/(bn(b,7)+bn(25,7))))*En(2*o(N));return Sn(0,xn(100,yn(bn(O/(n*A),2)+bn(k/(r*j),2)+bn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function An(e,t,n=`lab`){e=new q(e),t=new q(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var jn=(...e)=>{try{return new q(...e),!0}catch{return!1}},Mn={cool(){return Bt([Te.hsl(180,1,.9),Te.hsl(250,.7,.4)])},hot(){return Bt([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Nn={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},Pn=Object.keys(Nn),Fn=new Map(Pn.map(e=>[e.toLowerCase(),e])),In=typeof Proxy==`function`?new Proxy(Nn,{get(e,t){let n=t.toLowerCase();if(Fn.has(n))return e[Fn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Pn)}}):Nn,Ln=(...e)=>{e=K(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Rn}=Math,zn=(...e)=>{let[t,n,r]=K(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Rn(t,Rn(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};q.prototype.cmyk=function(){return zn(this._rgb)},Object.assign(Te,{cmyk:(...e)=>new q(...e,`cmyk`)}),Ce.format.cmyk=Ln,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`cmyk`),G(e)===`array`&&e.length===4)return`cmyk`}});var Bn=(...e)=>{let t=K(e,`hsla`),n=fe(e)||`lsa`;return t[0]=ge(t[0]||0)+`deg`,t[1]=ge(t[1]*100)+`%`,t[2]=ge(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Vn=(...e)=>{let t=K(e,`lab`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=ge(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Hn=(...e)=>{let t=K(e,`lch`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Un=(...e)=>{let t=K(e,`lab`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=_e(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Wn=(...e)=>{let[t,n,r,...i]=K(e,`rgb`),[a,o,s]=At(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Gn=(...e)=>{let t=K(e,`lch`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Kn}=Math,qn=(...e)=>{let t=K(e,`rgba`),n=fe(e)||`rgb`;if(n.substr(0,3)===`hsl`)return Bn(St(t),n);if(n.substr(0,3)===`lab`){let e=Fe();Pe(`d50`);let r=Vn(Be(t),n);return Pe(e),r}if(n.substr(0,3)===`lch`){let e=Fe();Pe(`d50`);let r=Hn(ot(t),n);return Pe(e),r}return n.substr(0,5)===`oklab`?Un(At(t)):n.substr(0,5)===`oklch`?Gn(Wn(t)):(t[0]=Kn(t[0]),t[1]=Kn(t[1]),t[2]=Kn(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},Jn=(...e)=>{e=K(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=$e(t,n,r),[c,l,u]=Ot(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Yn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Xn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,Zn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,Qn=`\\s*`,$n=`\\s+`,er=`\\s*,\\s*`,tr=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,nr=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,rr=RegExp(`^rgba?\\(`+Qn+[Yn,Yn,Yn].join($n)+nr+`\\)$`),ir=RegExp(`^rgb\\(`+Qn+[Yn,Yn,Yn].join(er)+Qn+`\\)$`),ar=RegExp(`^rgba\\(`+Qn+[Yn,Yn,Yn,Xn].join(er)+Qn+`\\)$`),or=RegExp(`^hsla?\\(`+Qn+[tr,Zn,Zn].join($n)+nr+`\\)$`),sr=RegExp(`^hsl?\\(`+Qn+[tr,Zn,Zn].join(er)+Qn+`\\)$`),cr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,lr=RegExp(`^lab\\(`+Qn+[Xn,Xn,Xn].join($n)+nr+`\\)$`),ur=RegExp(`^lch\\(`+Qn+[Xn,Xn,tr].join($n)+nr+`\\)$`),dr=RegExp(`^oklab\\(`+Qn+[Xn,Xn,Xn].join($n)+nr+`\\)$`),fr=RegExp(`^oklch\\(`+Qn+[Xn,Xn,tr].join($n)+nr+`\\)$`),{round:pr}=Math,mr=e=>e.map((e,t)=>t<=2?le(pr(e),0,255):e),hr=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),gr=(e,t)=>e===`none`?t:e,_r=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Ce.format.named)try{return Ce.format.named(e)}catch{}if((t=e.match(rr))||(t=e.match(ir))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+hr(gr(e[t],0),0,255);e=mr(e);let n=t[4]===void 0?1:+hr(t[4],0,1);return e[3]=n,e}if(t=e.match(ar)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+hr(e[t],0,255);return e}if((t=e.match(or))||(t=e.match(sr))){let e=t.slice(1,4);e[0]=+gr(e[0].replace(`deg`,``),0),e[1]=hr(gr(e[1],0),0,100)*.01,e[2]=hr(gr(e[2],0),0,100)*.01;let n=mr(xt(e));return n[3]=t[4]===void 0?1:+hr(t[4],0,1),n}if(t=e.match(cr)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=xt(e);for(let e=0;e<3;e++)n[e]=pr(n[e]);return n[3]=+t[4],n}if(t=e.match(lr)){let e=t.slice(1,4);e[0]=hr(gr(e[0],0),0,100),e[1]=hr(gr(e[1],0),-125,125,!0),e[2]=hr(gr(e[2],0),-125,125,!0);let n=Fe();Pe(`d50`);let r=mr(Ie(e));return Pe(n),r[3]=t[4]===void 0?1:+hr(t[4],0,1),r}if(t=e.match(ur)){let e=t.slice(1,4);e[0]=hr(e[0],0,100),e[1]=hr(gr(e[1],0),0,150,!1),e[2]=+gr(e[2].replace(`deg`,``),0);let n=Fe();Pe(`d50`);let r=mr(et(e));return Pe(n),r[3]=t[4]===void 0?1:+hr(t[4],0,1),r}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=hr(gr(e[0],0),0,1),e[1]=hr(gr(e[1],0),-.4,.4,!0),e[2]=hr(gr(e[2],0),-.4,.4,!0);let n=mr(Ot(e));return n[3]=t[4]===void 0?1:+hr(t[4],0,1),n}if(t=e.match(fr)){let e=t.slice(1,4);e[0]=hr(gr(e[0],0),0,1),e[1]=hr(gr(e[1],0),0,.4,!1),e[2]=+gr(e[2].replace(`deg`,``),0);let n=mr(Jn(e));return n[3]=t[4]===void 0?1:+hr(t[4],0,1),n}};_r.test=e=>rr.test(e)||or.test(e)||lr.test(e)||ur.test(e)||dr.test(e)||fr.test(e)||ir.test(e)||ar.test(e)||sr.test(e)||cr.test(e)||e===`transparent`,q.prototype.css=function(e){return qn(this._rgb,e)},Te.css=(...e)=>new q(...e,`css`),Ce.format.css=_r,Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&_r.test(e))return`css`}}),Ce.format.gl=(...e)=>{let t=K(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},Te.gl=(...e)=>new q(...e,`gl`),q.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},q.prototype.hex=function(e){return je(this._rgb,e)},Te.hex=(...e)=>new q(...e,`hex`),Ce.format.hex=ke,Ce.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&G(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:vr}=Math,yr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*vr(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*vr(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*vr(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*vr(r),i=255),[n,r,i,1]},{round:br}=Math,xr=(...e)=>{let t=K(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=yr(o);e[2]/e[0]>=r/n?a=o:i=o}return br(o)};q.prototype.temp=q.prototype.kelvin=q.prototype.temperature=function(){return xr(this._rgb)};var Sr=(...e)=>new q(...e,`temp`);Object.assign(Te,{temp:Sr,kelvin:Sr,temperature:Sr}),Ce.format.temp=Ce.format.kelvin=Ce.format.temperature=yr,q.prototype.oklch=function(){return Wn(this._rgb)},Object.assign(Te,{oklch:(...e)=>new q(...e,`oklch`)}),Ce.format.oklch=Jn,Ce.autodetect.push({p:2,test:(...e)=>{if(e=K(e,`oklch`),G(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(Te,{analyze:cn,average:Lt,bezier:Wt,blend:Kt,brewer:In,Color:q,colors:Ee,contrast:un,contrastAPCA:_n,cubehelix:Qt,deltaE:kn,distance:An,input:Ce,interpolate:Xe,limits:ln,mix:Xe,random:nn,scale:Bt,scales:Mn,valid:jn});var Cr=Te;function wr(e,t){if(!Cr.valid(e))return t;try{return Cr(e)}catch{return t}}function Tr(e){return Cr.valid(e)&&Cr.contrast(e,`#fff`)>=Cr.contrast(e,`#333`)?`#fff`:`#333`}var Er=4.5;function Dr(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Or(e,t=`#fff`){if(!Cr.valid(e))return Cr.valid(t)?Tr(t):`#333`;let n=Cr(e),r=wr(t,Cr(`#fff`));if(Cr.contrast(n,r)>=Er)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Cr.contrast(n,r)>=Er));e++);return n.hex()}var kr=12,Ar=.25,jr=20,Mr=15;function Nr(e,t){if(e.length===0)return[];let n=wr(t,Cr(`#fff`)),r=Cr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Cr.valid(e)?Pr(Cr(e),r,i):Cr(`#000`));for(let e=1;e<a.length;e++)a[e]=Lr(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Pr(e,t,n){for(let r=0;r<jr;r++){if(Cr.contrast(e,t)>=Er)return e;e=n?e.darken(Ar):e.brighten(Ar)}return e}function Fr(e,t){return t.reduce((t,n)=>Math.min(t,Cr.deltaE(e,n)),1/0)}function*Ir(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<jr;e++)t=n?t.darken(Ar):t.brighten(Ar),yield t}for(let t=Mr;t<=180;t+=Mr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Lr(e,t,n,r){let i=e,a=Fr(e,t);if(a>=kr)return e;for(let o of Ir(e,r)){if(Cr.contrast(o,n)<Er)continue;let e=Fr(o,t);if(e>a&&(i=o,a=e),a>=kr)break}return i}var Rr=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.Scatter=`scatter`,e.DotPlot=`dot-plot`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),zr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),Br=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Vr=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Hr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Ur=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Wr=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),Gr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Kr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),qr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),Jr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Yr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Xr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),Zr=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),Qr=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),$r=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),ei=function(e){return e.None=`none`,e.Forward=`forward`,e.Backward=`backward`,e.Both=`both`,e}({}),ti=function(e){return e.Dumbbell=`dumbbell`,e.Range=`range`,e}({}),ni=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e.Value=`value`,e.Gap=`gap`,e}({}),ri=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),ii=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ai=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),oi=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),si=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ci=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Z=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),li=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),ui=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),di=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),fi=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),pi=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),mi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),hi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),gi=l(mi(),1),_i=l(hi(),1);gi.default.extend(_i.default);var vi=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function yi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function bi(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function xi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,gi.default)(t,`YYYY`,!0);return e.isValid()?bi(e):null}for(let e of vi){if(e===`YYYY`)continue;let n=(0,gi.default)(t,e,!0);if(n.isValid())return bi(n)}return null}function Si(e){let t=e.trim();if(!t)return;let n=xi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function Ci(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?xi(t)?.getTime():n}function wi(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,gi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(bi(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of vi)e!==`YYYY`&&(0,gi.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,gi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(bi(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:yi(n)}:null}function Ti(e){return typeof e==`string`?Ci(e):e}function Ei(e,t){if(typeof e!=`string`)return e;let n=xi(e);return n?n.getTime():t?void 0:Si(e)}function Di(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=wi(e)!==null,r=Ei(t.min,n),i=Ei(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=Si(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Oi(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function ki(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===Br.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Ti(t?.min)??i,u=Ti(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function Ai(e,t){if(typeof e.constant!=`function`&&typeof e.base!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function ji(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Mi(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ni(e){let t,n,r;e.length===2?(t=e===ji||e===Mi?e:Pi,n=e,r=e):(t=ji,n=(t,n)=>ji(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function Pi(){return 0}function Fi(e){return e===null?NaN:+e}var Ii=Ni(ji),Li=Ii.right;Ii.left;var Ri=Ni(Fi).center;function zi(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var Bi=class extends Map{constructor(e,t=Wi){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Vi(this,e))}has(e){return super.has(Vi(this,e))}set(e,t){return super.set(Hi(this,e),t)}delete(e){return super.delete(Ui(this,e))}};function Vi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Hi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Ui({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Wi(e){return typeof e==`object`&&e?e.valueOf():e}function Gi(e){return e}function Ki(e,t,...n){return qi(e,Gi,t,n)}function qi(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Bi,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function Ji(e,t){return Array.from(t,t=>e[t])}function Yi(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=Zi(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>Zi(n[e],n[t]))),Ji(e,r)}return e.sort(Xi(n))}function Xi(e=ji){if(e===ji)return Zi;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Zi(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var Qi=Math.sqrt(50),$i=Math.sqrt(10),ea=Math.sqrt(2);function ta(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Qi?10:a>=$i?5:a>=ea?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?ta(e,t,n*2):[s,c,l]}function na(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?ta(t,e,n):ta(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function ra(e,t,n){return t=+t,e=+e,n=+n,ta(e,t,n)[2]}function ia(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?ra(t,e,n):ra(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function aa(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function oa(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function sa(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function ca(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function la(e){return e}var ua=1,da=2,fa=3,pa=4,ma=1e-6;function ha(e){return`translate(`+e+`,0)`}function ga(e){return`translate(0,`+e+`)`}function _a(e){return t=>+e(t)}function va(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ya(){return!this.__axis}function ba(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===ua||e===pa?-1:1,u=e===pa||e===da?`x`:`y`,d=e===ua||e===fa?ha:ga;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):la),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?va:_a)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===ua?`0em`:e===fa?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ma).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ma).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===pa||e===da?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(ya).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===da?`start`:e===pa?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function xa(e){return ba(ua,e)}function Sa(e){return ba(da,e)}function Ca(e){return ba(fa,e)}function wa(e){return ba(pa,e)}var Ta={value:()=>{}};function Ea(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Da(n)}function Da(e){this._=e}function Oa(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Da.prototype=Ea.prototype={constructor:Da,on:function(e,t){var n=this._,r=Oa(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=ka(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Aa(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Aa(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Da(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function ka(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Aa(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Ta,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ja={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Ma(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),ja.hasOwnProperty(t)?{space:ja[t],local:e}:e}function Na(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Pa(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Fa(e){var t=Ma(e);return(t.local?Pa:Na)(t)}function Ia(){}function La(e){return e==null?Ia:function(){return this.querySelector(e)}}function Ra(e){typeof e!=`function`&&(e=La(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Ds(r,this._parents)}function za(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ba(){return[]}function Va(e){return e==null?Ba:function(){return this.querySelectorAll(e)}}function Ha(e){return function(){return za(e.apply(this,arguments))}}function Ua(e){e=typeof e==`function`?Ha(e):Va(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Ds(r,i)}function Wa(e){return function(){return this.matches(e)}}function Ga(e){return function(t){return t.matches(e)}}var Ka=Array.prototype.find;function qa(e){return function(){return Ka.call(this.children,e)}}function Ja(){return this.firstElementChild}function Ya(e){return this.select(e==null?Ja:qa(typeof e==`function`?e:Ga(e)))}var Xa=Array.prototype.filter;function Za(){return Array.from(this.children)}function Qa(e){return function(){return Xa.call(this.children,e)}}function $a(e){return this.selectAll(e==null?Za:Qa(typeof e==`function`?e:Ga(e)))}function eo(e){typeof e!=`function`&&(e=Wa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Ds(r,this._parents)}function to(e){return Array(e.length)}function no(){return new Ds(this._enter||this._groups.map(to),this._parents)}function ro(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}ro.prototype={constructor:ro,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function io(e){return function(){return e}}function ao(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new ro(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function oo(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new ro(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function so(e){return e.__data__}function co(e,t){if(!arguments.length)return Array.from(this,so);var n=t?oo:ao,r=this._parents,i=this._groups;typeof e!=`function`&&(e=io(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=lo(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Ds(o,r),o._enter=s,o._exit=c,o}function lo(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function uo(){return new Ds(this._exit||this._groups.map(to),this._parents)}function fo(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function po(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Ds(s,this._parents)}function mo(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function ho(e){e||=go;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Ds(i,this._parents).order()}function go(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function _o(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function vo(){return Array.from(this)}function yo(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function bo(){let e=0;for(let t of this)++e;return e}function xo(){return!this.node()}function So(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Co(e){return function(){this.removeAttribute(e)}}function wo(e){return function(){this.removeAttributeNS(e.space,e.local)}}function To(e,t){return function(){this.setAttribute(e,t)}}function Eo(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Do(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Oo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function ko(e,t){var n=Ma(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?wo:Co:typeof t==`function`?n.local?Oo:Do:n.local?Eo:To)(n,t))}function Ao(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function jo(e){return function(){this.style.removeProperty(e)}}function Mo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function No(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Po(e,t,n){return arguments.length>1?this.each((t==null?jo:typeof t==`function`?No:Mo)(e,t,n??``)):Fo(this.node(),e)}function Fo(e,t){return e.style.getPropertyValue(t)||Ao(e).getComputedStyle(e,null).getPropertyValue(t)}function Io(e){return function(){delete this[e]}}function Lo(e,t){return function(){this[e]=t}}function Ro(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function zo(e,t){return arguments.length>1?this.each((t==null?Io:typeof t==`function`?Ro:Lo)(e,t)):this.node()[e]}function Bo(e){return e.trim().split(/^|\s+/)}function Vo(e){return e.classList||new Ho(e)}function Ho(e){this._node=e,this._names=Bo(e.getAttribute(`class`)||``)}Ho.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function Uo(e,t){for(var n=Vo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Wo(e,t){for(var n=Vo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Go(e){return function(){Uo(this,e)}}function Ko(e){return function(){Wo(this,e)}}function qo(e,t){return function(){(t.apply(this,arguments)?Uo:Wo)(this,e)}}function Jo(e,t){var n=Bo(e+``);if(arguments.length<2){for(var r=Vo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?qo:t?Go:Ko)(n,t))}function Yo(){this.textContent=``}function Xo(e){return function(){this.textContent=e}}function Zo(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Qo(e){return arguments.length?this.each(e==null?Yo:(typeof e==`function`?Zo:Xo)(e)):this.node().textContent}function $o(){this.innerHTML=``}function es(e){return function(){this.innerHTML=e}}function ts(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function ns(e){return arguments.length?this.each(e==null?$o:(typeof e==`function`?ts:es)(e)):this.node().innerHTML}function rs(){this.nextSibling&&this.parentNode.appendChild(this)}function is(){return this.each(rs)}function as(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function os(){return this.each(as)}function ss(e){var t=typeof e==`function`?e:Fa(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function cs(){return null}function ls(e,t){var n=typeof e==`function`?e:Fa(e),r=t==null?cs:typeof t==`function`?t:La(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function us(){var e=this.parentNode;e&&e.removeChild(this)}function ds(){return this.each(us)}function fs(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ps(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ms(e){return this.select(e?ps:fs)}function hs(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function gs(e){return function(t){e.call(this,t,this.__data__)}}function _s(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function vs(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function ys(e,t,n){return function(){var r=this.__on,i,a=gs(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function bs(e,t,n){var r=_s(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?ys:vs,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function xs(e,t,n){var r=Ao(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Ss(e,t){return function(){return xs(this,e,t)}}function Cs(e,t){return function(){return xs(this,e,t.apply(this,arguments))}}function ws(e,t){return this.each((typeof t==`function`?Cs:Ss)(e,t))}function*Ts(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Es=[null];function Ds(e,t){this._groups=e,this._parents=t}function Os(){return new Ds([[document.documentElement]],Es)}function ks(){return this}Ds.prototype=Os.prototype={constructor:Ds,select:Ra,selectAll:Ua,selectChild:Ya,selectChildren:$a,filter:eo,data:co,enter:no,exit:uo,join:fo,merge:po,selection:ks,order:mo,sort:ho,call:_o,nodes:vo,node:yo,size:bo,empty:xo,each:So,attr:ko,style:Po,property:zo,classed:Jo,text:Qo,html:ns,raise:is,lower:os,append:ss,insert:ls,remove:ds,clone:ms,datum:hs,on:bs,dispatch:ws,[Symbol.iterator]:Ts};function Q(e){return typeof e==`string`?new Ds([[document.querySelector(e)]],[document.documentElement]):new Ds([[e]],Es)}function As(e){let t;for(;t=e.sourceEvent;)e=t;return e}function js(e,t){if(e=As(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function Ms(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Ns(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ps(){}var Fs=.7,Is=1/Fs,Ls=`\\s*([+-]?\\d+)\\s*`,Rs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,zs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Bs=/^#([0-9a-f]{3,8})$/,Vs=RegExp(`^rgb\\(${Ls},${Ls},${Ls}\\)$`),Hs=RegExp(`^rgb\\(${zs},${zs},${zs}\\)$`),Us=RegExp(`^rgba\\(${Ls},${Ls},${Ls},${Rs}\\)$`),Ws=RegExp(`^rgba\\(${zs},${zs},${zs},${Rs}\\)$`),Gs=RegExp(`^hsl\\(${Rs},${zs},${zs}\\)$`),Ks=RegExp(`^hsla\\(${Rs},${zs},${zs},${Rs}\\)$`),qs={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};Ms(Ps,Qs,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Js,formatHex:Js,formatHex8:Ys,formatHsl:Xs,formatRgb:Zs,toString:Zs});function Js(){return this.rgb().formatHex()}function Ys(){return this.rgb().formatHex8()}function Xs(){return dc(this).formatHsl()}function Zs(){return this.rgb().formatRgb()}function Qs(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Bs.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?$s(t):n===3?new rc(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ec(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ec(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Vs.exec(e))?new rc(t[1],t[2],t[3],1):(t=Hs.exec(e))?new rc(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Us.exec(e))?ec(t[1],t[2],t[3],t[4]):(t=Ws.exec(e))?ec(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Gs.exec(e))?uc(t[1],t[2]/100,t[3]/100,1):(t=Ks.exec(e))?uc(t[1],t[2]/100,t[3]/100,t[4]):qs.hasOwnProperty(e)?$s(qs[e]):e===`transparent`?new rc(NaN,NaN,NaN,0):null}function $s(e){return new rc(e>>16&255,e>>8&255,e&255,1)}function ec(e,t,n,r){return r<=0&&(e=t=n=NaN),new rc(e,t,n,r)}function tc(e){return e instanceof Ps||(e=Qs(e)),e?(e=e.rgb(),new rc(e.r,e.g,e.b,e.opacity)):new rc}function nc(e,t,n,r){return arguments.length===1?tc(e):new rc(e,t,n,r??1)}function rc(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ms(rc,nc,Ns(Ps,{brighter(e){return e=e==null?Is:Is**+e,new rc(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Fs:Fs**+e,new rc(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rc(cc(this.r),cc(this.g),cc(this.b),sc(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:ic,formatHex:ic,formatHex8:ac,formatRgb:oc,toString:oc}));function ic(){return`#${lc(this.r)}${lc(this.g)}${lc(this.b)}`}function ac(){return`#${lc(this.r)}${lc(this.g)}${lc(this.b)}${lc((isNaN(this.opacity)?1:this.opacity)*255)}`}function oc(){let e=sc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${cc(this.r)}, ${cc(this.g)}, ${cc(this.b)}${e===1?`)`:`, ${e})`}`}function sc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function cc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function lc(e){return e=cc(e),(e<16?`0`:``)+e.toString(16)}function uc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new pc(e,t,n,r)}function dc(e){if(e instanceof pc)return new pc(e.h,e.s,e.l,e.opacity);if(e instanceof Ps||(e=Qs(e)),!e)return new pc;if(e instanceof pc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new pc(o,s,c,e.opacity)}function fc(e,t,n,r){return arguments.length===1?dc(e):new pc(e,t,n,r??1)}function pc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ms(pc,fc,Ns(Ps,{brighter(e){return e=e==null?Is:Is**+e,new pc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Fs:Fs**+e,new pc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new rc(gc(e>=240?e-240:e+120,i,r),gc(e,i,r),gc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new pc(mc(this.h),hc(this.s),hc(this.l),sc(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 e=sc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${mc(this.h)}, ${hc(this.s)*100}%, ${hc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function mc(e){return e=(e||0)%360,e<0?e+360:e}function hc(e){return Math.max(0,Math.min(1,e||0))}function gc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var _c=e=>()=>e;function vc(e,t){return function(n){return e+n*t}}function yc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function bc(e){return(e=+e)==1?xc:function(t,n){return n-t?yc(t,n,e):_c(isNaN(t)?n:t)}}function xc(e,t){var n=t-e;return n?vc(e,n):_c(isNaN(e)?t:e)}var Sc=(function e(t){var n=bc(t);function r(e,t){var r=n((e=nc(e)).r,(t=nc(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=xc(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Cc(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function wc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Tc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Pc(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Ec(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Dc(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Oc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Pc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var kc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ac=new RegExp(kc.source,`g`);function jc(e){return function(){return e}}function Mc(e){return function(t){return e(t)+``}}function Nc(e,t){var n=kc.lastIndex=Ac.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=kc.exec(e))&&(i=Ac.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Dc(r,i)})),n=Ac.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Mc(c[0].x):jc(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Pc(e,t){var n=typeof t,r;return t==null||n===`boolean`?_c(t):(n===`number`?Dc:n===`string`?(r=Qs(t))?(t=r,Sc):Nc:t instanceof Qs?Sc:t instanceof Date?Ec:wc(t)?Cc:Array.isArray(t)?Tc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Oc:Dc)(e,t)}function Fc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Ic=180/Math.PI,Lc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Rc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Ic,skewX:Math.atan(c)*Ic,scaleX:o,scaleY:s}}var zc;function Bc(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Lc:Rc(t.a,t.b,t.c,t.d,t.e,t.f)}function Vc(e){return e==null||(zc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),zc.setAttribute(`transform`,e),!(e=zc.transform.baseVal.consolidate()))?Lc:(e=e.matrix,Rc(e.a,e.b,e.c,e.d,e.e,e.f))}function Hc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Dc(e,i)},{i:c-2,x:Dc(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Dc(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Dc(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Dc(e,n)},{i:s-2,x:Dc(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Uc=Hc(Bc,`px, `,`px)`,`deg)`),Wc=Hc(Vc,`, `,`)`,`)`),Gc=0,Kc=0,qc=0,Jc=1e3,Yc,Xc,Zc=0,Qc=0,$c=0,el=typeof performance==`object`&&performance.now?performance:Date,tl=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function nl(){return Qc||=(tl(rl),el.now()+$c)}function rl(){Qc=0}function il(){this._call=this._time=this._next=null}il.prototype=al.prototype={constructor:il,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?nl():+n)+(t==null?0:+t),!this._next&&Xc!==this&&(Xc?Xc._next=this:Yc=this,Xc=this),this._call=e,this._time=n,ul()},stop:function(){this._call&&(this._call=null,this._time=1/0,ul())}};function al(e,t,n){var r=new il;return r.restart(e,t,n),r}function ol(){nl(),++Gc;for(var e=Yc,t;e;)(t=Qc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Gc}function sl(){Qc=(Zc=el.now())+$c,Gc=Kc=0;try{ol()}finally{Gc=0,ll(),Qc=0}}function cl(){var e=el.now(),t=e-Zc;t>Jc&&($c-=t,Zc=e)}function ll(){for(var e,t=Yc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Yc=n);Xc=e,ul(r)}function ul(e){Gc||(Kc&&=clearTimeout(Kc),e-Qc>24?(e<1/0&&(Kc=setTimeout(sl,e-el.now()-$c)),qc&&=clearInterval(qc)):(qc||=(Zc=el.now(),setInterval(cl,Jc)),Gc=1,tl(sl)))}function dl(e,t,n){var r=new il;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var fl=Ea(`start`,`end`,`cancel`,`interrupt`),pl=[];function ml(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;vl(e,n,{name:t,index:r,group:i,on:fl,tween:pl,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function hl(e,t){var n=_l(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function gl(e,t){var n=_l(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function _l(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function vl(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=al(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return dl(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(dl(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function yl(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function bl(e){return this.each(function(){yl(this,e)})}function xl(e,t){var n,r;return function(){var i=gl(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Sl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=gl(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Cl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=_l(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?xl:Sl)(n,e,t))}function wl(e,t,n){var r=e._id;return e.each(function(){var e=gl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return _l(e,r).value[t]}}function Tl(e,t){var n;return(typeof t==`number`?Dc:t instanceof Qs?Sc:(n=Qs(t))?(t=n,Sc):Nc)(e,t)}function El(e){return function(){this.removeAttribute(e)}}function Dl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ol(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function kl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Al(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function jl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ml(e,t){var n=Ma(e),r=n===`transform`?Wc:Tl;return this.attrTween(e,typeof t==`function`?(n.local?jl:Al)(n,r,wl(this,`attr.`+e,t)):t==null?(n.local?Dl:El)(n):(n.local?kl:Ol)(n,r,t))}function Nl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Pl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Fl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Pl(e,i)),n}return i._value=t,i}function Il(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Nl(e,i)),n}return i._value=t,i}function Ll(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Ma(e);return this.tween(n,(r.local?Fl:Il)(r,t))}function Rl(e,t){return function(){hl(this,e).delay=+t.apply(this,arguments)}}function zl(e,t){return t=+t,function(){hl(this,e).delay=t}}function Bl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Rl:zl)(t,e)):_l(this.node(),t).delay}function Vl(e,t){return function(){gl(this,e).duration=+t.apply(this,arguments)}}function Hl(e,t){return t=+t,function(){gl(this,e).duration=t}}function Ul(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Vl:Hl)(t,e)):_l(this.node(),t).duration}function Wl(e,t){if(typeof t!=`function`)throw Error();return function(){gl(this,e).ease=t}}function Gl(e){var t=this._id;return arguments.length?this.each(Wl(t,e)):_l(this.node(),t).ease}function Kl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();gl(this,e).ease=n}}function ql(e){if(typeof e!=`function`)throw Error();return this.each(Kl(this._id,e))}function Jl(e){typeof e!=`function`&&(e=Wa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Cu(r,this._parents,this._name,this._id)}function Yl(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Cu(o,this._parents,this._name,this._id)}function Xl(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Zl(e,t,n){var r,i,a=Xl(t)?hl:gl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Ql(e,t){var n=this._id;return arguments.length<2?_l(this.node(),n).on.on(e):this.each(Zl(n,e,t))}function $l(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function eu(){return this.on(`end.remove`,$l(this._id))}function tu(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=La(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,ml(l[f],t,n,f,l,_l(u,n)));return new Cu(a,this._parents,t,n)}function nu(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Va(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=_l(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&ml(p,t,n,h,f,m);a.push(f),o.push(u)}return new Cu(a,o,t,n)}var ru=Os.prototype.constructor;function iu(){return new ru(this._groups,this._parents)}function au(e,t){var n,r,i;return function(){var a=Fo(this,e),o=(this.style.removeProperty(e),Fo(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function ou(e){return function(){this.style.removeProperty(e)}}function su(e,t,n){var r,i=n+``,a;return function(){var o=Fo(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function cu(e,t,n){var r,i,a;return function(){var o=Fo(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),Fo(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function lu(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=gl(this,e),l=c.on,u=c.value[a]==null?s||=ou(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function uu(e,t,n){var r=(e+=``)==`transform`?Uc:Tl;return t==null?this.styleTween(e,au(e,r)).on(`end.style.`+e,ou(e)):typeof t==`function`?this.styleTween(e,cu(e,r,wl(this,`style.`+e,t))).each(lu(this._id,e)):this.styleTween(e,su(e,r,t),n).on(`end.style.`+e,null)}function du(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function fu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&du(e,a,n)),r}return a._value=t,a}function pu(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,fu(e,t,n??``))}function mu(e){return function(){this.textContent=e}}function hu(e){return function(){var t=e(this);this.textContent=t??``}}function gu(e){return this.tween(`text`,typeof e==`function`?hu(wl(this,`text`,e)):mu(e==null?``:e+``))}function _u(e){return function(t){this.textContent=e.call(this,t)}}function vu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&_u(r)),t}return r._value=e,r}function yu(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,vu(e))}function bu(){for(var e=this._name,t=this._id,n=Tu(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=_l(c,t);ml(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Cu(r,this._parents,e,n)}function xu(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=gl(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Su=0;function Cu(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function wu(e){return Os().transition(e)}function Tu(){return++Su}var Eu=Os.prototype;Cu.prototype=wu.prototype={constructor:Cu,select:tu,selectAll:nu,selectChild:Eu.selectChild,selectChildren:Eu.selectChildren,filter:Jl,merge:Yl,selection:iu,transition:bu,call:Eu.call,nodes:Eu.nodes,node:Eu.node,size:Eu.size,empty:Eu.empty,each:Eu.each,on:Ql,attr:Ml,attrTween:Ll,style:uu,styleTween:pu,text:gu,textTween:yu,remove:eu,tween:Cl,delay:Bl,duration:Ul,ease:Gl,easeVarying:ql,end:xu,[Symbol.iterator]:Eu[Symbol.iterator]};function Du(e){return--e*e*e+1}function Ou(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ku={time:null,delay:0,duration:250,ease:Ou};function Au(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function ju(e){var t,n;e instanceof Cu?(t=e._id,e=e._name):(t=Tu(),(n=ku).time=nl(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&ml(c,e,t,l,o,n||Au(c,t));return new Cu(r,this._parents,e,t)}Os.prototype.interrupt=bl,Os.prototype.transition=ju;var Mu=[null];function Nu(e,t){var n=e.__transition,r,i;if(n){for(i in t=t==null?null:t+``,n)if((r=n[i]).state>1&&r.name===t)return new Cu([[e]],Mu,t,+i)}return null}var{abs:Pu,max:Fu,min:Iu}=Math;[`w`,`e`].map(Lu),[`n`,`s`].map(Lu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Lu);function Lu(e){return{type:e}}var Ru=Math.PI,zu=2*Ru,Bu=1e-6,Vu=zu-Bu;function Hu(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Uu(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Hu;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Wu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Hu:Uu(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Bu){if(!(Math.abs(u*s-c*l)>Bu)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Ru-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Bu&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Bu||Math.abs(this._y1-l)>Bu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%zu+zu),d>Vu?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Bu&&this._append`A${n},${n},0,${+(d>=Ru)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Wu.prototype;var Gu=11102230246251565e-32,Ku=134217729,qu=3.000000000000001*Gu;function Ju(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function Yu(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function $(e){return new Float64Array(e)}var Xu=(3+16*Gu)*Gu,Zu=(2+12*Gu)*Gu,Qu=(9+64*Gu)*Gu*Gu,$u=$(4),ed=$(8),td=$(12),nd=$(16),rd=$(4);function id(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=Ku*T,p=f-(f-T),m=T-p,f=Ku*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Ku*D,p=f-(f-D),m=D-p,f=Ku*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w;let k=Yu(4,$u),A=Zu*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=Qu*o+qu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Ku*s,p=f-(f-s),m=s-p,f=Ku*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Ku*c,p=f-(f-c),m=c-p,f=Ku*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,rd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,rd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,rd[2]=v-(w-d)+(_-d),rd[3]=w;let j=Ju(4,$u,4,rd,ed);b=T*u,f=Ku*T,p=f-(f-T),m=T-p,f=Ku*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Ku*D,p=f-(f-D),m=D-p,f=Ku*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,rd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,rd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,rd[2]=v-(w-d)+(_-d),rd[3]=w;let M=Ju(j,ed,4,rd,td);return b=s*u,f=Ku*s,p=f-(f-s),m=s-p,f=Ku*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Ku*c,p=f-(f-c),m=c-p,f=Ku*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,rd[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,rd[1]=y-(_+d)+(d-S),w=v+_,d=w-v,rd[2]=v-(w-d)+(_-d),rd[3]=w,nd[Ju(M,td,4,rd,nd)-1]}function ad(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=Xu*l?c:-id(e,t,n,r,i,a,l)}(7+56*Gu)*Gu,(3+28*Gu)*Gu,(26+288*Gu)*Gu*Gu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Gu)*Gu,(4+48*Gu)*Gu,(44+576*Gu)*Gu*Gu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(4),$(4),$(4),$(8),$(16),$(16),$(16),$(32),$(32),$(48),$(64),$(1152),$(1152),(16+224*Gu)*Gu,(5+72*Gu)*Gu,(71+1408*Gu)*Gu*Gu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(1152),$(1152),$(1152),$(1152),$(1152),$(2304),$(2304),$(3456),$(5760),$(8),$(8),$(8),$(16),$(24),$(48),$(48),$(96),$(192),$(384),$(384),$(384),$(768),$(96),$(96),$(96),$(1152);var od=2**-52,sd=new Uint32Array(512),cd=class e{static from(t,n=gd,r=_d){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=ud(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=ud(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=fd(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];md(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(ad(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=pd(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=ud(e[2*t],e[2*t+1],S.x,S.y);md(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=od&&Math.abs(u-s)<=od||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],ad(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],ad(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],ad(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(ld(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=sd[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(dd(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<sd.length&&(sd[i++]=s)}else{if(i===0)break;e=sd[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function ld(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function ud(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function dd(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function fd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function pd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function md(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;hd(e,i,a),t[e[n]]>t[e[r]]&&hd(e,n,r),t[e[a]]>t[e[r]]&&hd(e,a,r),t[e[n]]>t[e[a]]&&hd(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;hd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(md(e,t,a,r),md(e,t,n,o-1)):(md(e,t,n,o-1),md(e,t,a,r))}}function hd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function gd(e){return e[0]}function _d(e){return e[1]}var vd=1e-6,yd=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=``}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=`Z`)}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error(`negative radius`);this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>vd||Math.abs(this._y1-i)>vd)&&(this._+=`L`+r+`,`+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},bd=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},xd=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new yd:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new yd:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new yd:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new bd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},Sd=2*Math.PI,Cd=Math.pow;function wd(e){return e[0]}function Td(e){return e[1]}function Ed(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function Dd(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Od=class e{static from(t,n=wd,r=Td,i){return new e(`length`in t?kd(t,n,r,i):Float64Array.from(Ad(t,n,r,i)))}constructor(e){this._delaunator=new cd(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&Ed(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=Dd(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new cd(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new xd(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=Cd(t-c[e*2],2)+Cd(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=Cd(t-c[r*2],2)+Cd(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&Cd(t-c[f*2],2)+Cd(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new yd:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new yd:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,Sd)}return n&&n.value()}renderHull(e){let t=e==null?e=new yd:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new bd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new yd:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new bd;return this.renderTriangle(e,t),t.value()}};function kd(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*Ad(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}function jd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Md(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Nd(e){return e=Md(Math.abs(e)),e?e[1]:NaN}function Pd(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Fd(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Id=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ld(e){if(!(t=Id.exec(e)))throw Error(`invalid format: `+e);var t;return new Rd({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Ld.prototype=Rd.prototype;function Rd(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}Rd.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 zd(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Bd;function Vd(e,t){var n=Md(e,t);if(!n)return Bd=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Bd=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Md(e,Math.max(0,t+a-1))[0]}function Hd(e,t){var n=Md(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Ud={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:jd,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>Hd(e*100,t),r:Hd,s:Vd,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Wd(e){return e}var Gd=Array.prototype.map,Kd=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function qd(e){var t=e.grouping===void 0||e.thousands===void 0?Wd:Pd(Gd.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Wd:Fd(Gd.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Ld(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Ud[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Ud[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=zd(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Bd!==void 0?Kd[8+Bd/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Nd(t)/3)))*3,r=10**-n,i=l((e=Ld(e),e.type=`f`,e),{suffix:Kd[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Jd,Yd,Xd;Zd({thousands:`,`,grouping:[3],currency:[`$`,``]});function Zd(e){return Jd=qd(e),Yd=Jd.format,Xd=Jd.formatPrefix,Jd}function Qd(e){return Math.max(0,-Nd(Math.abs(e)))}function $d(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Nd(t)/3)))*3-Nd(Math.abs(e)))}function ef(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Nd(t)-Nd(e))+1}function tf(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var nf=Symbol(`implicit`);function rf(){var e=new Bi,t=[],n=[],r=nf;function i(i){let a=e.get(i);if(a===void 0){if(r!==nf)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Bi;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return rf(t,n).unknown(r)},tf.apply(i,arguments),i}function af(){var e=rf().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=sa(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return af(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},tf.apply(d(),arguments)}function of(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return of(t())},e}function sf(){return of(af.apply(null,arguments).paddingInner(1))}function cf(e){return function(){return e}}function lf(e){return+e}var uf=[0,1];function df(e){return e}function ff(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:cf(isNaN(t)?NaN:.5)}function pf(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function mf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=ff(i,r),a=n(o,a)):(r=ff(r,i),a=n(a,o)),function(e){return a(r(e))}}function hf(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=ff(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Li(e,t,1,r)-1;return a[n](i[n](t))}}function gf(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function _f(){var e=uf,t=uf,n=Pc,r,i,a,o=df,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==df&&(o=pf(e[0],e[n-1])),s=n>2?hf:mf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Dc))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,lf),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Fc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:df,u()):o!==df},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function vf(){return _f()(df,df)}function yf(e,t,n,r){var i=ia(e,t,n),a;switch(r=Ld(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=$d(i,o))&&(r.precision=a),Xd(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=ef(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Qd(i))&&(r.precision=a-(r.type===`%`)*2)}return Yd(r)}function bf(e){var t=e.domain;return e.ticks=function(e){var n=t();return na(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return yf(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=ra(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function xf(){var e=vf();return e.copy=function(){return gf(e,xf())},tf.apply(e,arguments),bf(e)}function Sf(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function Cf(e){return Math.log(e)}function wf(e){return Math.exp(e)}function Tf(e){return-Math.log(-e)}function Ef(e){return-Math.exp(-e)}function Df(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function Of(e){return e===10?Df:e===Math.E?Math.exp:t=>e**+t}function kf(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Af(e){return(t,n)=>-e(-t,n)}function jf(e){let t=e(Cf,wf),n=t.domain,r=10,i,a;function o(){return i=kf(r),a=Of(r),n()[0]<0?(i=Af(i),a=Af(a),e(Tf,Ef)):e(Cf,wf),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=na(o,s,p))}else m=na(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Ld(n)).precision==null&&(n.trim=!0),n=Yd(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(Sf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Mf(){let e=jf(_f()).domain([1,10]);return e.copy=()=>gf(e,Mf()).base(e.base()),tf.apply(e,arguments),e}function Nf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Pf(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Ff(e){var t=1,n=e(Nf(t),Pf(t));return n.constant=function(n){return arguments.length?e(Nf(t=+n),Pf(t)):t},bf(n)}function If(){var e=Ff(_f());return e.copy=function(){return gf(e,If()).constant(e.constant())},tf.apply(e,arguments)}function Lf(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Rf(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function zf(e){return e<0?-e*e:e*e}function Bf(e){var t=e(df,df),n=1;function r(){return n===1?e(df,df):n===.5?e(Rf,zf):e(Lf(n),Lf(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},bf(t)}function Vf(){var e=Bf(_f());return e.copy=function(){return gf(e,Vf()).exponent(e.exponent())},tf.apply(e,arguments),e}function Hf(){return Vf.apply(null,arguments).exponent(.5)}var Uf=new Date,Wf=new Date;function Gf(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Gf(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Uf.setTime(+t),Wf.setTime(+r),e(Uf),e(Wf),Math.floor(n(Uf,Wf))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Kf=6e4,qf=Kf*60*24,Jf=qf*7;qf*30,qf*365;var Yf=Gf(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Kf)/qf,e=>e.getDate()-1);Yf.range;var Xf=Gf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/qf,e=>e.getUTCDate()-1);Xf.range,Gf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/qf,e=>Math.floor(e/qf)).range;function Zf(e){return Gf(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Kf)/Jf)}var Qf=Zf(0),$f=Zf(1),ep=Zf(2),tp=Zf(3),np=Zf(4),rp=Zf(5),ip=Zf(6);Qf.range,$f.range,ep.range,tp.range,np.range,rp.range,ip.range;function ap(e){return Gf(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Jf)}var op=ap(0),sp=ap(1),cp=ap(2),lp=ap(3),up=ap(4),dp=ap(5),fp=ap(6);op.range,sp.range,cp.range,lp.range,up.range,dp.range,fp.range;var pp=Gf(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());pp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Gf(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),pp.range;var mp=Gf(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());mp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Gf(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),mp.range;function hp(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function gp(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function _p(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function vp(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Tp(i),u=Ep(i),d=Tp(a),f=Ep(a),p=Tp(o),m=Ep(o),h=Tp(s),g=Ep(s),_=Tp(c),v=Ep(c),y={a:N,A:P,b:F,B:I,c:null,d:qp,e:qp,f:Qp,g:lm,G:dm,H:Jp,I:Yp,j:Xp,L:Zp,m:$p,M:em,p:L,q:R,Q:Pm,s:Fm,S:tm,u:nm,U:rm,V:am,w:om,W:sm,x:null,X:null,y:cm,Y:um,Z:fm,"%":Nm},b={a:z,A:B,b:V,B:H,c:null,d:pm,e:pm,f:vm,g:km,G:jm,H:mm,I:hm,j:gm,L:_m,m:ym,M:bm,p:ee,q:U,Q:Pm,s:Fm,S:xm,u:Sm,U:Cm,V:Tm,w:Em,W:Dm,x:null,X:null,y:Om,Y:Am,Z:Mm,"%":Nm},x={a:E,A:D,b:O,B:k,c:A,d:Lp,e:Lp,f:Up,g:Np,G:Mp,H:zp,I:zp,j:Rp,L:Hp,m:Ip,M:Bp,p:T,q:Fp,Q:Gp,s:Kp,S:Vp,u:Op,U:kp,V:Ap,w:Dp,W:jp,x:j,X:M,y:Np,Y:Mp,Z:Pp,"%":Wp};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=yp[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=_p(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=gp(_p(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?sp.ceil(a):sp(a),a=Xf.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=hp(_p(r.y,0,1)),o=a.getDay(),a=o>4||o===0?$f.ceil(a):$f(a),a=Yf.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else(`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:+(`W`in r)),o=`Z`in r?gp(_p(r.y,0,1)).getUTCDay():hp(_p(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,gp(r)):hp(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in yp?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function U(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var yp={"-":``,_:` `,0:`0`},bp=/^\s*\d+/,xp=/^%/,Sp=/[\\^$*+?|[\]().{}]/g;function Cp(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function wp(e){return e.replace(Sp,`\\$&`)}function Tp(e){return RegExp(`^(?:`+e.map(wp).join(`|`)+`)`,`i`)}function Ep(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Dp(e,t,n){var r=bp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function Op(e,t,n){var r=bp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function kp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Ap(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function jp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Mp(e,t,n){var r=bp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Np(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Pp(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function Fp(e,t,n){var r=bp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Ip(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Lp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Rp(e,t,n){var r=bp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function zp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Bp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Vp(e,t,n){var r=bp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Hp(e,t,n){var r=bp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Up(e,t,n){var r=bp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Wp(e,t,n){var r=xp.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Gp(e,t,n){var r=bp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Kp(e,t,n){var r=bp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function qp(e,t){return Cp(e.getDate(),t,2)}function Jp(e,t){return Cp(e.getHours(),t,2)}function Yp(e,t){return Cp(e.getHours()%12||12,t,2)}function Xp(e,t){return Cp(1+Yf.count(pp(e),e),t,3)}function Zp(e,t){return Cp(e.getMilliseconds(),t,3)}function Qp(e,t){return Zp(e,t)+`000`}function $p(e,t){return Cp(e.getMonth()+1,t,2)}function em(e,t){return Cp(e.getMinutes(),t,2)}function tm(e,t){return Cp(e.getSeconds(),t,2)}function nm(e){var t=e.getDay();return t===0?7:t}function rm(e,t){return Cp(Qf.count(pp(e)-1,e),t,2)}function im(e){var t=e.getDay();return t>=4||t===0?np(e):np.ceil(e)}function am(e,t){return e=im(e),Cp(np.count(pp(e),e)+(pp(e).getDay()===4),t,2)}function om(e){return e.getDay()}function sm(e,t){return Cp($f.count(pp(e)-1,e),t,2)}function cm(e,t){return Cp(e.getFullYear()%100,t,2)}function lm(e,t){return e=im(e),Cp(e.getFullYear()%100,t,2)}function um(e,t){return Cp(e.getFullYear()%1e4,t,4)}function dm(e,t){var n=e.getDay();return e=n>=4||n===0?np(e):np.ceil(e),Cp(e.getFullYear()%1e4,t,4)}function fm(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+Cp(t/60|0,`0`,2)+Cp(t%60,`0`,2)}function pm(e,t){return Cp(e.getUTCDate(),t,2)}function mm(e,t){return Cp(e.getUTCHours(),t,2)}function hm(e,t){return Cp(e.getUTCHours()%12||12,t,2)}function gm(e,t){return Cp(1+Xf.count(mp(e),e),t,3)}function _m(e,t){return Cp(e.getUTCMilliseconds(),t,3)}function vm(e,t){return _m(e,t)+`000`}function ym(e,t){return Cp(e.getUTCMonth()+1,t,2)}function bm(e,t){return Cp(e.getUTCMinutes(),t,2)}function xm(e,t){return Cp(e.getUTCSeconds(),t,2)}function Sm(e){var t=e.getUTCDay();return t===0?7:t}function Cm(e,t){return Cp(op.count(mp(e)-1,e),t,2)}function wm(e){var t=e.getUTCDay();return t>=4||t===0?up(e):up.ceil(e)}function Tm(e,t){return e=wm(e),Cp(up.count(mp(e),e)+(mp(e).getUTCDay()===4),t,2)}function Em(e){return e.getUTCDay()}function Dm(e,t){return Cp(sp.count(mp(e)-1,e),t,2)}function Om(e,t){return Cp(e.getUTCFullYear()%100,t,2)}function km(e,t){return e=wm(e),Cp(e.getUTCFullYear()%100,t,2)}function Am(e,t){return Cp(e.getUTCFullYear()%1e4,t,4)}function jm(e,t){var n=e.getUTCDay();return e=n>=4||n===0?up(e):up.ceil(e),Cp(e.getUTCFullYear()%1e4,t,4)}function Mm(){return`+0000`}function Nm(){return`%`}function Pm(e){return+e}function Fm(e){return Math.floor(e/1e3)}var Im,Lm;Rm({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 Rm(e){return Im=vp(e),Lm=Im.format,Im.parse,Im.utcFormat,Im.utcParse,Im}function zm(e){return function(){return e}}var Bm=Math.abs,Vm=Math.atan2,Hm=Math.cos,Um=Math.max,Wm=Math.min,Gm=Math.sin,Km=Math.sqrt,qm=Math.PI,Jm=qm/2,Ym=2*qm;function Xm(e){return e>1?0:e<-1?qm:Math.acos(e)}function Zm(e){return e>=1?Jm:e<=-1?-Jm:Math.asin(e)}function Qm(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Wu(t)}function $m(e){return e.innerRadius}function eh(e){return e.outerRadius}function th(e){return e.startAngle}function nh(e){return e.endAngle}function rh(e){return e&&e.padAngle}function ih(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function ah(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/Km(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*Km(Um(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function oh(){var e=$m,t=eh,n=zm(0),r=null,i=th,a=nh,o=rh,s=null,c=Qm(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-Jm,m=a.apply(this,arguments)-Jm,h=Bm(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>Ym-1e-12)s.moveTo(f*Hm(p),f*Gm(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*Hm(m),d*Gm(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):Km(d*d+f*f)),T=Wm(Bm(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=Zm(w/d*Gm(C)),j=Zm(w/f*Gm(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*Hm(_),N=f*Gm(_),P=d*Hm(b),F=d*Gm(b);if(T>1e-12){var I=f*Hm(v),L=f*Gm(v),R=d*Hm(y),z=d*Gm(y),B;if(h<qm){if(B=ih(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],U=L-B[1],te=1/Gm(Xm((V*ee+H*U)/(Km(V*V+H*H)*Km(ee*ee+U*U)))/2),ne=Km(B[0]*B[0]+B[1]*B[1]);E=Wm(T,(d-ne)/(te-1)),D=Wm(T,(f-ne)/(te+1))}else E=D=0}}S>1e-12?D>1e-12?(O=ah(R,z,M,N,f,D,g),k=ah(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,Vm(O.y01,O.x01),Vm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,Vm(O.y01,O.x01),Vm(O.y11,O.x11),!g),s.arc(0,0,f,Vm(O.cy+O.y11,O.cx+O.x11),Vm(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,Vm(k.y11,k.x11),Vm(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=ah(P,F,I,L,d,-E,g),k=ah(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,Vm(O.y01,O.x01),Vm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,Vm(O.y01,O.x01),Vm(O.y11,O.x11),!g),s.arc(0,0,d,Vm(O.cy+O.y11,O.cx+O.x11),Vm(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,Vm(k.y11,k.x11),Vm(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-qm/2;return[Hm(r)*n,Gm(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:zm(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:zm(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:zm(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:zm(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:zm(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:zm(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:zm(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function sh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ch(e){this._context=e}ch.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(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t)}}};function lh(e){return new ch(e)}function uh(e){return e[0]}function dh(e){return e[1]}function fh(e,t){var n=zm(!0),r=null,i=lh,a=null,o=Qm(s);e=typeof e==`function`?e:e===void 0?uh:zm(e),t=typeof t==`function`?t:t===void 0?dh:zm(t);function s(s){var c,l=(s=sh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:zm(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:zm(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:zm(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function ph(e,t,n){var r=null,i=zm(!0),a=null,o=lh,s=null,c=Qm(l);e=typeof e==`function`?e:e===void 0?uh:zm(+e),t=typeof t==`function`?t:zm(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?dh:zm(+n);function l(l){var u,d,f,p=(l=sh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return fh().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:zm(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:zm(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:zm(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:zm(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:zm(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:zm(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:zm(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function mh(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function hh(e){return e}function gh(){var e=hh,t=mh,n=null,r=zm(0),i=zm(Ym),a=zm(0);function o(o){var s,c=(o=sh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(Ym,Math.max(-Ym,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:zm(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:zm(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:zm(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:zm(+e),o):a},o}var _h={draw(e,t){let n=Km(t/qm);e.moveTo(n,0),e.arc(0,0,n,0,Ym)}},vh={draw(e,t){let n=Km(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},yh=Km(1/3),bh=yh*2,xh={draw(e,t){let n=Km(t/bh),r=n*yh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Sh={draw(e,t){let n=Km(t),r=-n/2;e.rect(r,r,n,n)}},Ch=.8908130915292852,wh=Gm(qm/10)/Gm(7*qm/10),Th=Gm(Ym/10)*wh,Eh=-Hm(Ym/10)*wh,Dh={draw(e,t){let n=Km(t*Ch),r=Th*n,i=Eh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Ym*t/5,o=Hm(a),s=Gm(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},Oh=Km(3),kh={draw(e,t){let n=-Km(t/(Oh*3));e.moveTo(0,n*2),e.lineTo(-Oh*n,-n),e.lineTo(Oh*n,-n),e.closePath()}},Ah=Km(3),jh={draw(e,t){let n=Km(t)*.6824,r=n/2,i=n*Ah/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Mh(e,t){let n=null,r=Qm(i);e=typeof e==`function`?e:zm(e||_h),t=typeof t==`function`?t:zm(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:zm(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:zm(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function Nh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Ph(e){this._context=e}Ph.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Nh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Nh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Fh(e){return new Ph(e)}function Ih(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Lh(e,t){this._context=e,this._k=(1-t)/6}Lh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ih(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Ih(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Rh=(function e(t){function n(e){return new Lh(e,t)}return n.tension=function(t){return e(+t)},n})(0);function zh(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function Bh(e,t){this._context=e,this._alpha=t}Bh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:zh(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Vh=(function e(t){function n(e){return t?new Bh(e,t):new Lh(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Hh(e){return e<0?-1:1}function Uh(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Hh(a)+Hh(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Wh(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Gh(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Kh(e){this._context=e}Kh.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:Gh(this,this._t0,Wh(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Gh(this,Wh(this,n=Uh(this,e,t)),n);break;default:Gh(this,this._t0,n=Uh(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Kh.prototype).point=function(e,t){Kh.prototype.point.call(this,t,e)};function qh(e){return new Kh(e)}function Jh(e,t){this._context=e,this._t=t}Jh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Yh(e){return new Jh(e,.5)}function Xh(e){return new Jh(e,0)}function Zh(e){return new Jh(e,1)}function Qh(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function $h(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function eg(e,t){return e[t]}function tg(e){let t=[];return t.key=e,t}function ng(){var e=zm([]),t=$h,n=Qh,r=eg;function i(i){var a=Array.from(e.apply(this,arguments),tg),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=sh(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:zm(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:zm(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?$h:typeof e==`function`?e:zm(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Qh,i):n},i}function rg(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function ig(e,t,n){this.k=e,this.x=t,this.y=n}ig.prototype={constructor:ig,scale:function(e){return e===1?this:new ig(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ig(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var ag=new ig(1,0,0);og.prototype=ig.prototype;function og(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ag;return e.__zoom}function sg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var cg=class{properties=new Map;define(e,t){sg(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return sg(t,`config "${e}" is not defined`),t}},lg=[`update`,`enter`,`merge`,`exit`],ug=new Set([...lg,...lg.map(e=>`${e}:transition`)]);function dg(e){return ug.has(e)}function fg(e){sg(dg(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...ug].join(`, `)}`)}function pg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return lg.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function mg(e,t){for(let n of t)n(e)}function hg(e,t){return t.map(t=>{let n=e.transition();return t(n),gg(n)})}function gg(e){return e.end().then(()=>void 0,()=>void 0)}var _g=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){fg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(fg(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=pg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){mg(e.selection,e.handlers);let t=hg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function vg(e,t,n,r){if(n&&r){let i=new _g(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function yg(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function bg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function xg(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var Sg=[`preDraw`,`postDraw`,`postTransition`],Cg=class{base;layers=new Map;attachments=new Map;configs=new cg;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=Ea(...Sg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return vg(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return yg(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=bg(this.layers,t),r=xg(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},wg=class extends Cg{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function Tg(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function Eg(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),t}function Dg(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var Og=80,kg=`.bc-frame-title, .bc-frame-description`;function Ag(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function jg(e){e.querySelectorAll(kg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Mg(e,t){let n=[...e.querySelectorAll(kg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Ag(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function Ng(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function Pg(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new wg(Q(e)).draw({headerItems:Tg(n),footerLeftItems:Eg(n),footerRightItems:Dg()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=Ng(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){jg(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-Og;t>l&&(Mg(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function Fg(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function Ig(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:Fg(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:Fg(e),suffix:``}}function Lg(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=Ig(e);if(!n)return null;let i=Yd(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function Rg(e,t){return(Lg(t??``)??String)(e)}function zg(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var Bg=`http://www.w3.org/2000/svg`,Vg=`system-ui, -apple-system, sans-serif`,Hg=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,Ug=1,Wg=.5,Gg=null,Kg=null;function qg(e,t){let n=0;for(let t of e)n+=Hg.test(t)?Ug:Wg;return n*t}function Jg(){if(typeof document>`u`)return null;if(Kg!==document){Kg=document;try{Gg=document.createElement(`canvas`).getContext(`2d`)}catch{Gg=null}}return Gg}function Yg(e,t){let n=Jg();if(!n)return null;n.font=`${t}px ${Vg}`;let r=n.measureText(e).width;return r>0?r:null}function Xg(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(Bg,`svg`),r=document.createElementNS(Bg,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function Zg(e,t){if(e===``)return 0;let n=Yg(e,t)??Xg(e,t)??0;return Math.max(n,qg(e,t))}function Qg(e,t){let n=0;for(let r of e){let e=Zg(r,t);e>n&&(n=e)}return n}function $g(e,t,n,r=`…`){if(Zg(e,n)<=t)return e;let i=[...e],a=Zg(r,n),o=i.length;for(;o>1&&Zg(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function e_(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var t_={top:12,right:20,bottom:24,left:50},n_=10,r_=.25;function i_(e,t,n){let r=t+n,i=e*r_;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var a_=class extends Cg{initialize(){this.configDefine(`totalWidth`,{defaultValue:600}),this.configDefine(`totalHeight`,{defaultValue:400}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},o_=400,s_=2,c_=2,l_=9;function u_(e,t,n,r){let[i,a]=ki(e,t,r);return d_(r===`log`?If().domain([i,a]).nice():xf().domain([i,a]).nice(),n)}function d_(e,t){let n=e.ticks(),r=t?Lg(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(Qg(i,n_))+c_+l_}function f_(e){return e.length===0?0:Math.ceil(Qg(e,n_))+c_+l_}function p_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<o_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?s_:f?0:s):(o.right=a===!1?0:15,o.left=d?s_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function m_(e,t){return parseFloat(e.dataset[t]??``)||0}function h_(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0&&(Math.abs(t.width-e.offsetWidth)>=1||Math.abs(t.height-e.offsetHeight)>=1),r=n?e.clientWidth:t.width,i=n?e.clientHeight:t.height,a=getComputedStyle(e),o=r-(parseFloat(a.paddingLeft)||0)-(parseFloat(a.paddingRight)||0),s=i-(parseFloat(a.paddingTop)||0)-(parseFloat(a.paddingBottom)||0);return{width:o>0?o:m_(e,`bcContentWidth`),height:s>0?s:m_(e,`bcContentHeight`)}}function g_(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,Dr(n)),e.insertBefore(r,e.firstChild)}function __(e,t){let n={...t_,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=h_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=i_(a,n.left,n.right),[n.top,n.bottom]=i_(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new a_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return g_(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function v_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var y_=0;function b_(e){y_=e?500:0}function x_(){return v_(y_)}function S_(e,t){let n=v_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function C_(e,t){let n=v_(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function w_(e,t,n){let r=v_(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var T_=60,E_=10,D_=8,O_=16,k_=10,A_=1.3,j_=12,M_=3,N_=14,P_=10;function F_(e,t,n=M_){if(e===``)return[``];if(e.length*k_<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*k_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*k_<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var I_={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function L_(e){return typeof e.step==`function`}function R_(e,t){let n=wi(t);if(e&&e.includes(`%`)){if(n){let r=Lm(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:Lg(e)??Yd(e);if(n){let e=Lm(I_[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function z_(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*k_;e>n&&(n=e)}return n}function B_(e,t){return e.map(e=>t?t(e):String(e))}function V_(e,t){let n=Math.max(O_,Math.ceil(e)+D_);return Math.max(2,Math.floor(t/n))}function H_(e,t,n){if(e.length<=1)return e;let r=V_(Qg(B_(e,n??null),E_),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function U_(e,t,n){let r=Math.max(2,Math.floor(t/T_));for(;r>2;){let i=B_(e.ticks(r),n??e.tickFormat(r)),a=V_(Qg(i,E_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function W_(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!wi(e)&&z_(e,r??null)>t/e.length*A_}function G_(e,t){if(e.length===0)return 0;let n=z_(e,t??null);return Math.ceil(n)+j_}function K_(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*N_+P_}function q_(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:R_(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||wi(e)===null)&&e.length>1){let n=t/e.length*A_,o=z_(e,i)>n;if(a!==`vertical`&&o){let t=J_(e,n,i);if(t){let e=K_(Array.from(t.values()));return e>r?e:void 0}}}if(!W_(e,t,a,i))return;let o=G_(e,i);return o>r?o:void 0}function J_(e,t,n){let r=new Map,i=!1;for(let a of e){let e=F_(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function Y_(e,t){e.selectAll(`.tick`).each(function(){let e=Q(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var X_=class extends Cg{initialize(){this.configDefine(`scale`,{defaultValue:af()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?xa(n):Ca(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||R_(l,u);p&&f.tickFormat(p);let m=L_(r),h=m?r.domain():[],g=m&&s!==`vertical`&&wi(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*A_,t=z_(h,p)>e;s===`vertical`?v=!0:t&&(_=J_(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=H_(h,c,p);e.length<h.length&&(b=e)}}else{let e=Ai(r,Math.max(2,Math.floor(c/T_)));e?b=e:f.ticks(U_(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?x_():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):Q(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=S?Q(S):e,T=C>0?e:w;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);T.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&T.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?T.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(T.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&Z_(T,c)),_&&y!==`off`&&Y_(T,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&Q_(n,e,t)}};function Z_(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=Zg(i.textContent??``,E_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function Q_(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,$_[t]??null)})}var $_={dashed:`4,4`,dotted:`1,3`};function ev(e,t,n,r={},i){let a=new X_(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=L_(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var tv=30;function nv(e){return typeof e.bandwidth==`function`}var rv=class extends Cg{initialize(){this.configDefine(`scale`,{defaultValue:xf()}),this.configDefine(`direction`,{defaultValue:zr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Vr.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:Hr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===zr.Right?Sa(t):wa(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/tv)),n=Ai(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!nv(t)?Lg(e):null;n&&c.tickFormat(n)}let d=x_(),f=e.node();if(f){d>0?e.duration(d).call(c):Q(f).call(c),r||Q(f).select(`.domain`).remove(),i||Q(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===Hr.Auto?o>0&&o<400?Hr.Inside:Hr.Outside:a;if(t===Hr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):Q(f).selectAll(`.tick text`);Q(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===zr.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===Hr.Off&&Q(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===zr.Right?Sa(t):wa(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/tv)),n=Ai(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!nv(t)?Lg(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===Hr.Auto?i>0&&i<400?Hr.Inside:Hr.Outside:r;if(f===Hr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===zr.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===zr.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===Hr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&av(r,e,n===zr.Right?-t:t)}},iv={[Vr.Dashed]:`4,4`,[Vr.Dotted]:`1,3`};function av(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Vr.None||n===0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,iv[t]??null)})}function ov(e){return typeof e.step==`function`}var sv=new WeakMap,cv=new WeakMap;function lv(e,t){let n=cv.get(e);cv.set(e,t),n!==void 0&&n!==t&&sv.get(e)?.destroy()}var uv=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=sv.get(t);return n||(n=new e(t),sv.set(t,n)),n}static clear(e){sv.delete(e)}detach(){this.vGroup?.parentNode&&(Q(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&(Q(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new rv(Q(this.vGroup)),this.hChart=new X_(Q(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])Q(e).interrupt(),e.removeAttribute(`transform`),Q(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=x_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Dc(e,0),r=Dc(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=ov(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,sv.delete(this.container)}},dv=Math.min,fv=Math.max,pv=Math.round,mv=e=>({x:e,y:e}),hv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function gv(e,t,n){return fv(e,dv(t,n))}function _v(e,t){return typeof e==`function`?e(t):e}function vv(e){return e.split(`-`)[0]}function yv(e){return e.split(`-`)[1]}function bv(e){return e===`x`?`y`:`x`}function xv(e){return e===`y`?`height`:`width`}function Sv(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Cv(e){return bv(Sv(e))}function wv(e,t,n){n===void 0&&(n=!1);let r=yv(e),i=Cv(e),a=xv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Nv(o)),[o,Nv(o)]}function Tv(e){let t=Nv(e);return[Ev(e),t,Ev(t)]}function Ev(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Dv=[`left`,`right`],Ov=[`right`,`left`],kv=[`top`,`bottom`],Av=[`bottom`,`top`];function jv(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Ov:Dv:t?Dv:Ov;case`left`:case`right`:return t?kv:Av;default:return[]}}function Mv(e,t,n,r){let i=yv(e),a=jv(vv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Ev)))),a}function Nv(e){let t=vv(e);return hv[t]+e.slice(t.length)}function Pv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Fv(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Pv(e)}function Iv(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Lv(e,t,n){let{reference:r,floating:i}=e,a=Sv(t),o=Cv(t),s=xv(o),c=vv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=yv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Rv(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=_v(t,e),p=Fv(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Iv(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Iv(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var zv=50,Bv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Rv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Lv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<zv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Lv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Vv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=_v(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=vv(r),_=Sv(o),v=vv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Nv(o)]:Tv(o)),x=p!==`none`;!d&&x&&b.push(...Mv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=wv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Sv(t)||T.every(e=>Sv(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Sv(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Hv=new Set([`left`,`top`]);async function Uv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=vv(n),s=yv(n),c=Sv(n)===`y`,l=Hv.has(o)?-1:1,u=a&&c?-1:1,d=_v(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Wv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Uv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Gv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=_v(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Sv(i),p=bv(f),m=u[p],h=u[f],g=(e,t)=>gv(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Kv(){return typeof window<`u`}function qv(e){return Xv(e)?(e.nodeName||``).toLowerCase():`#document`}function Jv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Yv(e){return((Xv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Xv(e){return Kv()?e instanceof Node||e instanceof Jv(e).Node:!1}function Zv(e){return Kv()?e instanceof Element||e instanceof Jv(e).Element:!1}function Qv(e){return Kv()?e instanceof HTMLElement||e instanceof Jv(e).HTMLElement:!1}function $v(e){return!Kv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Jv(e).ShadowRoot}function ey(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=dy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ty(e){return/^(table|td|th)$/.test(qv(e))}function ny(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ry=/transform|translate|scale|rotate|perspective|filter/,iy=/paint|layout|strict|content/,ay=e=>!!e&&e!==`none`,oy;function sy(e){let t=Zv(e)?dy(e):e;return ay(t.transform)||ay(t.translate)||ay(t.scale)||ay(t.rotate)||ay(t.perspective)||!ly()&&(ay(t.backdropFilter)||ay(t.filter))||ry.test(t.willChange||``)||iy.test(t.contain||``)}function cy(e){let t=py(e);for(;Qv(t)&&!uy(t);){if(sy(t))return t;if(ny(t))return null;t=py(t)}return null}function ly(){return oy??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),oy}function uy(e){return/^(html|body|#document)$/.test(qv(e))}function dy(e){return Jv(e).getComputedStyle(e)}function fy(e){return Zv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function py(e){if(qv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||$v(e)&&e.host||Yv(e);return $v(t)?t.host:t}function my(e){let t=py(e);return uy(t)?(e.ownerDocument||e).body:Qv(t)&&ey(t)?t:my(t)}function hy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=my(e),i=r===e.ownerDocument?.body,a=Jv(r);if(i){let e=gy(a);return t.concat(a,a.visualViewport||[],ey(r)?r:[],e&&n?hy(e):[])}return t.concat(r,hy(r,[],n))}function gy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function _y(e){let t=dy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Qv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=pv(n)!==a||pv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function vy(e){return Zv(e)?e:e.contextElement}function yy(e){let t=vy(e);if(!Qv(t))return mv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=_y(t),o=(a?pv(n.width):n.width)/r,s=(a?pv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var by=mv(0);function xy(e){let t=Jv(e);return!ly()||!t.visualViewport?by:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Sy(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Jv(e)}function Cy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=vy(e),o=mv(1);t&&(r?Zv(r)&&(o=yy(r)):o=yy(e));let s=Sy(a,n,r)?xy(a):mv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Jv(a),t=Zv(r)?Jv(r):r,n=e,i=gy(n);for(;i&&t!==n;){let e=yy(i),t=i.getBoundingClientRect(),r=dy(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Jv(i),i=gy(n)}}return Iv({width:u,height:d,x:c,y:l})}function wy(e,t){let n=fy(e).scrollLeft;return t?t.left+n:Cy(Yv(e)).left+n}function Ty(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-wy(e,n),y:n.top+t.scrollTop}}function Ey(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Yv(r),s=t?ny(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=mv(1),u=mv(0),d=Qv(r);if((d||!a)&&((qv(r)!==`body`||ey(o))&&(c=fy(r)),d)){let e=Cy(r);l=yy(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Ty(o,c):mv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Dy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Oy(e){let t=fy(e),n=e.ownerDocument.body,r=fv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=fv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+wy(e),o=-t.scrollTop;return dy(n).direction===`rtl`&&(a+=fv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var ky=25;function Ay(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Jv(e),a=Yv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!ly()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(wy(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=ky&&(s-=o)}return{width:s,height:c,x:l,y:u}}function jy(e,t){let n=Cy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=yy(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function My(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ay(e,n,t);else if(t===`document`)r=Oy(Yv(e));else if(Zv(t))r=jy(t,n);else{let n=xy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Iv(r)}function Ny(e,t){let n=t.get(e);if(n)return n;let r=hy(e,[],!1).filter(e=>Zv(e)&&qv(e)!==`body`),i=null,a=dy(e).position===`fixed`,o=a?py(e):e;for(;Zv(o)&&!uy(o);){let e=dy(o),t=sy(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=py(o)}return t.set(e,r),r}function Py(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ny(t)?[]:Ny(t,this._c):[].concat(n),r],o=My(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=My(t,a[e],i);s=fv(n.top,s),c=dv(n.right,c),l=dv(n.bottom,l),u=fv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Fy(e){let{width:t,height:n}=_y(e);return{width:t,height:n}}function Iy(e,t,n){let r=Qv(t),i=Yv(t),a=n===`fixed`,o=Cy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=mv(0);if((r||!a)&&((qv(t)!==`body`||ey(i))&&(s=fy(t)),r)){let e=Cy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=wy(i));let l=i&&!r&&!a?Ty(i,s):mv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Ly(e){return dy(e).position===`static`}function Ry(e,t){if(!Qv(e)||dy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Yv(e)===n&&(n=n.ownerDocument.body),n}function zy(e,t){let n=Jv(e);if(ny(e))return n;if(!Qv(e)){let t=py(e);for(;t&&!uy(t);){if(Zv(t)&&!Ly(t))return t;t=py(t)}return n}let r=Ry(e,t);for(;r&&ty(r)&&Ly(r);)r=Ry(r,t);return r&&uy(r)&&Ly(r)&&!sy(r)?n:r||cy(e)||n}var By=async function(e){let t=this.getOffsetParent||zy,n=this.getDimensions,r=await n(e.floating);return{reference:Iy(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Vy(e){return dy(e).direction===`rtl`}var Hy={convertOffsetParentRelativeRectToViewportRelativeRect:Ey,getDocumentElement:Yv,getClippingRect:Py,getOffsetParent:zy,getElementRects:By,getClientRects:Dy,getDimensions:Fy,getScale:yy,isElement:Zv,isRTL:Vy},Uy=Wv,Wy=Gv,Gy=Vv,Ky=(e,t,n)=>{let r=new Map,i=n??{},a={...Hy,...i.platform,_c:r};return Bv(e,t,{...i,platform:a})},qy=`bc-tooltip`;function Jy(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
315
+ .${qy} {
314
316
  position: absolute;
315
317
  pointer-events: none;
316
318
  background: var(--bs-body-bg, #fff);
@@ -320,13 +322,15 @@ body {
320
322
  padding: 6px 10px;
321
323
  font-size: 13px;
322
324
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
325
+ max-width: 240px;
326
+ overflow-wrap: break-word;
323
327
  z-index: 9999;
324
328
  display: none;
325
329
  }
326
- `,document.head.appendChild(e)}function Wy(e){let t=e?Ng(e):null,n=e=>typeof e==`number`&&t?t(e):String(e);return e=>{if(e&&typeof e==`object`){if(`data`in e&&typeof e.data==`number`)return n(e.data);let t=e,r=typeof t.series==`string`?t.series:typeof t.seriesName==`string`?t.seriesName:null;if(r!==null&&`label`in t&&`value`in t)return`${r} – ${t.label}: ${n(t.value)}`;if(`label`in t&&`value`in t)return`${t.label}: ${n(t.value)}`;if(`series`in t&&`value`in t)return`${t.series}: ${n(t.value)}`;if(`value`in t)return n(t.value)}return String(e)}}function Gy(e){let t=e?.format??Wy(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){Uy(),n=document.createElement(`div`),n.className=Hy,document.body.appendChild(n)},postDraw(e){e.base.selectAll(`.bc-bar, .bc-dot, .bc-arc`).each(function(){let e=this,i=()=>{if(!n)return;let r=Q(e).datum();n.textContent=t(r),n.style.display=`block`,Vy(e,n,{placement:`top`,middleware:[Ry(8),By(),zy()]}).then(({x:e,y:t})=>{n&&(n.style.left=`${e}px`,n.style.top=`${t}px`)})},a=()=>{n&&(n.style.display=`none`)};e.addEventListener(`mouseenter`,i),e.addEventListener(`mouseleave`,a),r.push(()=>{e.removeEventListener(`mouseenter`,i),e.removeEventListener(`mouseleave`,a)})})},destroy(){for(let e of r)e();r.length=0,n&&=(n.remove(),null)}}}function Ky(e){switch(e){case ii.Solid:return`none`;case ii.Dotted:return`2,2`;case ii.Dashed:default:return`4,3`}}function qy(e){let t=e?.color??`#999`,n=e?.dashArray??Ky(e?.style),r=e?.direction??ri.Both,i=e?.orientation??Jr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===ri.Both||r===ri.Vertical,d=r===ri.Both||r===ri.Horizontal,f=u?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,l).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null,p=d?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,c).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null;s.selectAll(`.bc-dot, .bc-bar`).each(function(){let e=this,t=()=>{let t=Q(e),n,r;if(e.tagName===`circle`)n=parseFloat(t.attr(`cx`)),r=parseFloat(t.attr(`cy`));else{let e=parseFloat(t.attr(`x`)),a=parseFloat(t.attr(`width`)),o=parseFloat(t.attr(`y`)),s=parseFloat(t.attr(`height`));i===Jr.Horizontal?(n=e+a,r=o+s/2):(n=e+a/2,r=o)}f&&f.attr(`x1`,n).attr(`x2`,n).style(`display`,null),p&&p.attr(`y1`,r).attr(`y2`,r).style(`display`,null)},n=()=>{f&&f.style(`display`,`none`),p&&p.style(`display`,`none`)};e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,n),a.push(()=>{e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,n)})})},destroy(){for(let e of a)e();a.length=0}}}var Jy=`bc-scene`;function Yy(e){let t=e.querySelector(`.bc-annotation-line`);if(!(!t||!t.hasAttribute(`data-line-style`)))return{style:t.getAttribute(`data-line-style`),fromX:parseFloat(t.getAttribute(`data-line-from-x`)||`0`),fromY:parseFloat(t.getAttribute(`data-line-from-y`)||`0`),toX:parseFloat(t.getAttribute(`data-line-to-x`)||`0`),toY:parseFloat(t.getAttribute(`data-line-to-y`)||`0`),departVertical:t.getAttribute(`data-line-depart-vertical`)===`true`}}function Xy(e){let t=new Map,n=e.querySelectorAll(`g[data-annotation-id]`);for(let e of n){let n=e.getAttribute(`data-annotation-id`),r=Yy(e);try{let i=e.getBBox();t.set(n,{id:n,element:e,rect:{x:i.x,y:i.y,width:i.width,height:i.height},line:r})}catch{t.set(n,{id:n,element:e,rect:{x:0,y:0,width:0,height:0},line:r})}}return t}var Zy={N:{dx:0,dy:-1},NE:{dx:.707,dy:-.707},E:{dx:1,dy:0},SE:{dx:.707,dy:.707},S:{dx:0,dy:1},SW:{dx:-.707,dy:.707},W:{dx:-1,dy:0},NW:{dx:-.707,dy:-.707},center:{dx:0,dy:0}},Qy={N:{nx:0,ny:-1},NE:{nx:1,ny:-1},E:{nx:1,ny:0},SE:{nx:1,ny:1},S:{nx:0,ny:1},SW:{nx:-1,ny:1},W:{nx:-1,ny:0},NW:{nx:-1,ny:-1},center:{nx:0,ny:0}};Ur.N,Ur.W,Ur.NE,Ur.NW,Ur.E,Ur.N,Ur.SE,Ur.NE,Ur.S,Ur.E,Ur.SW,Ur.SE,Ur.W,Ur.S,Ur.NW,Ur.SW,Ur.Center,Ur.Center;function $y(e,t){let n=Zy[e]??Zy.NW;return{dx:n.dx*t,dy:n.dy*t}}function eb(e){return`step`in e&&!(`bandwidth`in e)}function tb(e){if(`bandwidth`in e||eb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function nb(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return eb(e)?e(t)??0:tb(e)?e(new Date(t)):e(Number(t))}function rb(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=Qy[e]??Qy.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function ib(e,t,n,r,i){if(`bandwidth`in t){let a=t,o=a(e.label)??0,s=a.bandwidth(),c=n(e.value),l=n(0);return i===`horizontal`?rb(r,{left:l,right:c,top:o,bottom:o+s}):rb(r,{left:o,right:o+s,top:c,bottom:l})}let a=e.x===void 0?nb(t,e.label):t(e.x),o=n(e.value),s=Zy[r]??Zy.N;return{x:a+s.dx*2,y:o+s.dy*2}}function ab(e,t,n,r=4){let i=e.x+e.width/2,a=e.y+e.height/2;if(t===i&&n===a)return{x:i,y:a};let o=t>=e.x&&t<=e.x+e.width,s=n>=e.y&&n<=e.y+e.height,c=[];if(o&&(n<a?c.push({x:i,y:e.y-r,dist:Math.abs(a-n)}):c.push({x:i,y:e.y+e.height+r,dist:Math.abs(n-a)})),s&&(t>i?c.push({x:e.x+e.width+r,y:a,dist:Math.abs(t-i)}):c.push({x:e.x-r,y:a,dist:Math.abs(i-t)})),c.length>0){c.sort((e,t)=>e.dist-t.dist);let{x:e,y:t}=c[0];return{x:e,y:t}}let l=[{x:i,y:e.y-r},{x:i,y:e.y+e.height+r},{x:e.x+e.width+r,y:a},{x:e.x-r,y:a}],u=l[0],d=(u.x-t)**2+(u.y-n)**2;for(let e=1;e<l.length;e++){let r=(l[e].x-t)**2+(l[e].y-n)**2;r<d&&(u=l[e],d=r)}return u}function ob(e,t){if(!e)return`bc-arrow`;let n=t??`#666`,r=`bc-arrow-${n.replace(/[^a-zA-Z0-9]/g,``)}`;return e.querySelector(`#${r}`)||(Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`)).append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1 1 L 9 5 L 1 9`).attr(`fill`,`none`).attr(`stroke`,n).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`),r}function sb(e){switch(e){case Gr.Dotted:return`2,3`;case Gr.Dashed:return`5,4`;default:return``}}var cb=4,lb=12;function ub(e){return e!==void 0&&e>0?e:cb}function db(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,ub(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=sb(r.style??Gr.Solid);a&&i.attr(`stroke-dasharray`,a)}var fb=1/Math.tan(40*Math.PI/180);function pb(e,t,n){if(n){let n=t.y>=e.y?1:-1,r=Math.max(Math.abs(t.y-e.y)-Math.abs(t.x-e.x)*fb,12);return{x:e.x,y:e.y+n*r}}let r=t.x>=e.x?1:-1,i=Math.max(Math.abs(t.x-e.x)-Math.abs(t.y-e.y)*fb,12);return{x:e.x+r*i,y:e.y}}function mb(e,t,n){let r=pb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function hb(e,t,n,r=Wr.Direct,i={}){let a;switch(r){case Wr.CurveLeft:case Wr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===Wr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case Wr.Elbow:a=mb(t,n,i.departVertical??!1);break;default:a=`M ${t.x} ${t.y} L ${n.x} ${n.y}`}let o=i.color??`#666`,s=e.append(`path`).attr(`class`,`bc-annotation-line`).attr(`d`,a).attr(`fill`,`none`).attr(`stroke`,o).attr(`stroke-width`,i.lineWeight??1).attr(`pathLength`,`1`).attr(`data-line-style`,r).attr(`data-line-from-x`,String(t.x)).attr(`data-line-from-y`,String(t.y)).attr(`data-line-to-x`,String(n.x)).attr(`data-line-to-y`,String(n.y)).attr(`data-line-depart-vertical`,String(i.departVertical??!1));if(i.showArrow===!0){let t=ob(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function gb(e,t,n,r,i={}){let a=i.textAnchor??`middle`,o=i.textOutline!==!1,s=e.append(`text`).attr(`class`,`bc-annotation-text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,a).attr(`font-size`,`${lb}px`).attr(`fill`,i.textColor??`currentColor`);o&&s.attr(`stroke`,i.backgroundColor??`#fff`).attr(`stroke-width`,3).attr(`paint-order`,`stroke`);let c=t.split(`
327
- `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)_b(s,t,i.maxWidth);else for(let e=0;e<c.length;e++)s.append(`tspan`).attr(`x`,s.attr(`x`)).attr(`dy`,e===0?`0`:`1.2em`).text(c[e])}else s.text(t)}function _b(e,t,n){let r=0,i=t=>{e.append(`tspan`).attr(`x`,e.attr(`x`)).attr(`dy`,r===0?`0`:`1.2em`).text(t),r++};for(let e of t.split(`
328
- `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&Kg(e,lb)>n?(i(t),t=r):t=e;let a=Jg(t,n,lb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=Jg(t,n,lb,``)}i(t)}}function vb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function yb(e,t,n=qr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(eb(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(tb(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return vb(e,t)}function bb(e,t){return vb(e,t)}function xb(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function Sb(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function Cb(e){return e<-4?`end`:e>4?`start`:`middle`}function wb(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:nb(t,e.label),y:n(e.value)}}function Tb(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.data.find(e=>e.label===i);if(!a)return;let o=e.append(`g`).attr(`data-annotation-index`,String(r)),s=t.key;s&&o.attr(`data-annotation-id`,s);let c=t,l=c.anchorDirection??Ur.N,u=ib(a,n.scaleX,n.scaleY,l,n.orientation),d,f,p=t;if(p.dx!=null||p.dy!=null){let{x:e,y:t}=wb(a,n.scaleX,n.scaleY);d=e+(Number(p.dx)||40),f=t+(Number(p.dy)||-40)}else if(p.direction!=null&&p.textOffsetX==null){let{x:e,y:t}=wb(a,n.scaleX,n.scaleY),r=p.direction,i=$y(r,p.anchorDistance??60);d=e+i.dx,f=t+i.dy}else d=u.x+(c.textOffsetX??-42),f=u.y+(c.textOffsetY??-42);let m=t.circleColor??`#666`,h=t;h.showCircle&&db(o,u.x,u.y,{size:h.circleSize,style:h.circleStyle,color:m});let g=Math.max(4,Math.min(d,n.width-4)),_=Math.max(4,Math.min(f,n.height-4));if(t.text){let e=Cb(d-u.x);gb(o,t.text,g,_-4,{textColor:t.textColor,maxWidth:Sb(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(p.dx!=null||p.dy!=null?c.showLine!==!1:c.showLine===!0||c.showArrow===!0){let e={x:g,y:_},t=!1,r=o.select(`.bc-annotation-text`).node();if(r)try{let n=r.getBBox();if(n.width>0&&n.height>0){e=ab(n,u.x,u.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=c.showCircle?ub(c.circleSize)+(c.lineTargetDistance??5):c.lineTargetDistance??0,a=u.x,s=u.y;if(i>0){let t=u.x-e.x,r=u.y-e.y,o=Math.sqrt(t*t+r*r);if(o>0){let e=u.x-t/o*i,c=u.y-r/o*i,d=`bandwidth`in n.scaleX,f=Zy[l]??Zy.N;a=!d||Math.abs(f.dx)>.01?e:u.x,s=!d||Math.abs(f.dy)>.01?c:u.y}}hb(o,e,{x:a,y:s},c.lineStyle??Wr.Direct,{showArrow:c.showArrow,lineWeight:c.lineWeight,color:m,departVertical:t})}}function Eb(e,t,n,r,i){if(t.kind!==Kr.Range)return;let a=(t.orientation??Jr.Vertical)===Jr.Vertical,o=a?yb(t.start,n.scaleX,t.startAnchor):bb(t.start,n.scaleY),s=a?yb(t.end,n.scaleX,t.endAnchor):bb(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Jr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=Sb(t.maxWidth,n.width)??Math.max(e,50),s=Zy[t.direction??`center`]??Zy.center,l=.5+s.dx*.5,u=.5+s.dy*.5,h=Math.max(4,Math.min(d+p*l,n.width-4)),g=`middle`;l<.25?g=`start`:l>.75&&(g=`end`);let _=f+4+12,v=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(gb(v,t.text,h,_,{textColor:t.textColor,maxWidth:o,textAnchor:g,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),u>.25){let e=v.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=u>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function Db(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=xb(t.x,n.width),s=xb(t.y,n.height);if(t.text){gb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Sb(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function Ob(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function kb(e,t){let n=e.hasAttribute(`marker-end`),r=Yy(e.parentElement);if(n&&r){let n=Q(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===Wr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(Cu).attrTween(`d`,()=>{let t=wc(i,e);return e=>{let n=t(e);return Ob(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Wr.CurveLeft||r.style===Wr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===Wr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(Cu).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(Cu).attrTween(`d`,()=>{let e=Cc(r.fromX,r.toX),t=Cc(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),Q(e).transition().duration(t).ease(Cu).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var Ab=1;function jb(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=Ab&&Math.abs(e.fromY-t.fromY)<=Ab&&Math.abs(e.toX-t.toX)<=Ab&&Math.abs(e.toY-t.toY)<=Ab}function Mb(e,t,n){let r=Yy(e.parentElement);if(!r||jb(t,r))return;let i=Q(e);if(t.style===Wr.Elbow&&r.style===Wr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,Ob(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(wu).attrTween(`d`,()=>{let t=wc(e,a);return e=>{let n=t(e);return Ob(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(wu).attrTween(`d`,()=>{let e=wc(a,s),n=wc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Wr.Direct||t.style===Wr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===Wr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function Nb(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&Mb(t,i.line,r);try{let t=e.getBBox(),n=i.rect.x-t.x,a=i.rect.y-t.y;if(Math.abs(n)>.5||Math.abs(a)>.5){let t=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of t){let t=e;t.style.transition=`none`,t.setAttribute(`transform`,`translate(${n}, ${a})`),t.getBoundingClientRect(),t.style.transition=`transform ${r}ms ease`,t.setAttribute(`transform`,`translate(0, 0)`)}}}catch{}}else{let t=e.querySelector(`.bc-annotation-line`);t&&kb(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}var Pb=16;function Fb(e){return Array.from(e.querySelectorAll(`*`)).some(e=>ku(e,Jy))}function Ib(e,t=0){if(!e)return;if(t>0){setTimeout(()=>Ib(e,Fb(e)?Pb:0),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?Q(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):Q(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function Lb(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),ob(r);let i=Q(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of Xy(t))a.set(e,n);if(n)for(let[e,t]of Xy(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??Kr.Point){case Kr.Point:Tb(s,r,n,e);break;case Kr.Range:Eb(o,r,n,e,s);break;case Kr.Free:Db(s,r,n,e)}}let c=0;n.transition&&(c=p_(500),Nb(s.node(),o.node(),a??new Map,c)),Ib(r,c)}function Rb(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),ob(i);let a=r.node()?.parentNode,o=a&&a!==i?Q(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of Xy(e))c.set(t,n);if(t)for(let[e,n]of Xy(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??Kr.Point){case Kr.Point:Tb(u,r,t,n);break;case Kr.Range:Eb(l,r,t,n,u);break;case Kr.Free:Db(u,r,t,n)}}let d=0;t.transition&&(d=p_(500),Nb(u.node(),l.node(),c??new Map,d)),Ib(i,d)}}}function zb(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var Bb=new WeakMap;function Vb(e){return Bb.get(e)}function Hb(e,t){Bb.set(e,t)}var Ub=0,Wb=new WeakMap;function Gb(e,t,n,r){let i=Wb.get(t);i||(i=new Map,Wb.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++Ub}`,i.set(n,a));let o=Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var Kb=class extends yg{initialize(){}};function qb(e){return new Kb(e)}var Jb=500,Yb=new Set,Xb=new WeakMap;function Zb(e){let t=Xb.get(e);return t||(t=new $b(e),Xb.set(e,t)),t}function Qb(e){Xb.delete(e)}var $b=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){Yb.has(t)||(Yb.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??Jb,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=bu(Jy).duration(r).ease(wu);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,Q(this.container).interrupt(Jy),Q(this.container).selectAll(`*`).interrupt(Jy),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),Qb(this.container)}};function ex(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function tx(e,t){return e.tagName===t.tagName}function nx(e,t){Q(e).interrupt(Jy);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function rx(e,t){let n=ix(e),r=ix(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,ax(e)})}}function ix(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function ax(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var ox={opacity:0},sx=new Set([`d`,`transform`]),cx=new Set([`stroke-dasharray`]);function lx(e,t){if(e.state===`idle`||e.state===`animating`){ux(t);return}e.register(()=>dx(e,t))}function ux(e){let t=Q(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());fx(n,e),n.merge(t).each(function(t){hx(this,e.attrs(t))})}function dx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=mx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();gx(e,t.exitTo?t.exitTo(r):ox,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=ex(e.container,t.role),s=t.insert(r.enter());fx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(px(t.key(e)));if(s&&tx(s,r)){hx(r,nx(s,i)),gx(r,a,n);return}hx(r,t.enterFrom?t.enterFrom(e):a),gx(r,a,n)}else hx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(nx(r,i),gx(r,a,n)):hx(r,a)})}function fx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>px(t.key(e)))}function px(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function mx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function hx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function gx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(sx.has(n)){let e=String(i);r.attrTween(n,function(){return rx(this.getAttribute(n)??e,e)})}else cx.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function _x(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);vx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function vx(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),Q(n).transition(t).attrTween(`transform`,function(){return rx(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),Q(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var yx=.35;function bx(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function xx(e,t,n=1){return e.size===0||e.has(t)?n:yx}var Sx=11,Cx=6.2,wx=Sx,Tx=8,Ex=4,Dx=14;function Ox(e){return Math.max(Kg(e,Sx),e.length*Cx)}function kx(e){let t=Ox(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-Tx&&wx<=e.barHeight:wx<=e.barHeight-Ex&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=Dx}var Ax=8,jx=4,Mx=7,Nx=`11px sans-serif`;function Px(e,t=Nx){let n=e.length*Mx;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function Fx(e,t,n,r){let i=e.length*Mx/2,a=i+jx-r.margin.left,o=r.width+r.margin.right-i-jx,s=12-r.margin.top,c=r.height+r.margin.bottom-jx,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-Ax,s),Math.max(s,c))}}var Ix=4;function Lx(e){return Math.max(0,Math.min(13,e-Ix))}var Rx=400;function zx(e,t){return e>0&&e<Rx&&t!==Vr.Outside}var Bx=[`#4e79a7`],Vx=4,Hx=8;function Ux(e,t,n={},r=!1){h_(r);let i=null,a,o,s,c=[],l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=u_(u).width,f=n.categoryLabelLine===!0,p=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Vr.Off:n.horizontalAxis?.labelPosition,h=c_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=H_(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=f_(u,h),b=v-(f?Lx(v):0),x=Yg(o,y),S={left:y.left,top:y.top,width:_,height:b},C=Kx(t,n),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=ef().domain(O).range([0,_]).padding(Ti(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&j<0&&n.verticalAxis?.range?.min==null){let e=M-j;j-=e*.1}let N=A?Mf().domain([j,M]).nice().range([b,0]):_f().domain([j,M]).nice().range([b,0]);l.attach(g,x);let P=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},F=f?{...P,labelPosition:Vr.Off}:P;l.update({vertical:{scale:N,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:F}}),!A&&j<0&&M>0&&Q(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,N(0)).attr(`y2`,N(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let I=zb(n.colorizes),L=bx(n.highlights,O),R=g.ownerSVGElement,z=Gb(R,e,`bars`,{x:0,y:0,width:_,height:b}),B=Q(R).select(`defs`),V=z.replace(/^bc-clip-/,``),H=Q(g).append(`g`).attr(`clip-path`,`url(#${z})`);if(n.barBackground){let e=(n.colors??Bx)[0],t=E?O:w.map(e=>e.label);H.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let ee=E?O:w.map(e=>e.label);if(n.barSeparators&&ee.length>1){let e=k.step();for(let t=1;t<ee.length;t++){let n=(k(ee[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;H.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??Bx,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(N(0),N(r.value)),c=Math.min(N(0),N(i.value)),l=N(0),u=I.get(r.label)??e[0],d=I.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let te=Q(g).append(`g`);if(E){let e=n.colors??Bx,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??Bx,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=N(r.y1),c=N(i.y1),l=N(r.y0),u=N(i.y0),d=I.get(r.label)??e[0],f=I.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;H.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,N(t.y1)).attr(`y2`,N(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(H.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(N(e.y0),N(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(N(e.y0)-N(e.y1))).attr(`fill`,n=>n.isTotal?t:I.get(n.label)??e[0]).attr(`opacity`,e=>L.size>0?xx(L,e.label):null),n.valueLabels){let r=n.valueLabelPosition??ni.Auto,i=Ng(n.verticalAxis?.numberFormat??``),a=e=>i?i(e):String(e);te.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(N(e.y0),N(e.y1)),n=Math.abs(N(e.y0)-N(e.y1));return r===ni.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===ni.Inside?`central`:`auto`).attr(`fill`,n=>r===ni.Inside?wr(n.isTotal?t:I.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:a(e.isTotal?e.y1:e.value))}}else{let t=Zb(e),i=H.append(`g`).node();if(r)for(let e of c)i.appendChild(e);lx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(N(0),N(e.value)),width:k.bandwidth(),height:Math.abs(N(e.value)-N(0)),fill:I.get(e.label)??(n.colors??Bx)[0],opacity:xx(L,e.label)})}),_x(t,{svg:R,clipId:z,group:g,from:s,to:S,active:r&&c.length>0});let o=qb(H);n.tooltips&&o.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(qy({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(Rb(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:Er(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);if(t.state===`committing`?t.register(l):l(),n.valueLabels){let e=Ng(n.verticalAxis?.numberFormat??``);Gx(te,w,k,N,{position:n.valueLabelPosition,colorOverrides:I,colors:n.colors??Bx,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:ia(w,e=>e.value),formatValue:t=>e?e(t):String(t),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}}if(f){let e=Q(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}Hb(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(__(H.node()),y_(e,i))}function Wx(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+Vx:c-Vx,m=u?p+Hx<=i.plotHeight+i.marginBottom:p-Hx>=-i.marginTop,h=l-c,g=(r===ni.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function Gx(e,t,n,r,i){let a=i.position??ni.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Pg(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=Zb(c),u=t.filter(e=>kx({text:o(e),placement:a===ni.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));lx(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=Wx(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}function Kx(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var qx=[`#4e79a7`],Jx=4;function Yx(e,t,n={},r=!1){h_(r);let i=null,a,o,s=[],c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=u_(u).width,f=zx(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=s_(t.labels),h=c_(d,p?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ni.Auto,_=n.swapLabelValue===!0,v=Ng(n.horizontalAxis?.numberFormat??``),y=e=>v?v(e):String(e);if(n.valueLabels&&g!==ni.Inside){if(_){let e=Px(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?Px(y(n))+8:0,a=r<0?Px(y(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:b,width:x,height:S,margin:C}=f_(u,h),w={left:C.left,top:C.top,width:x,height:S},T=Yg(o,C),E=Qx(t,n),D=E.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),O=n.waterfall===!0,k=[];if(O){let e=0;for(let t of D){let n=e;e+=t.value,k.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&k.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let A=n.horizontalAxis?.scaleType===`log`,[j,M]=Ei(O?k.flatMap(e=>[e.x0,e.x1]):D.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),N=A?Mf().domain([j,M]).nice().range([0,x]):_f().domain([j,M]).nice().range([0,x]),P=O?k.map(e=>e.label):E,F=ef().domain(P).range([0,S]).padding(Ti(n.barGap)),I=p?Lx(F.bandwidth()):0,L=_&&n.valueLabels&&!O?(()=>{let e=new Map(D.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:C.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:C.top},R=p?{...L,labelPosition:Vr.Off,...f?{showAxis:!1}:{}}:L;l.attach(b,T),l.update({horizontal:{scale:N,height:S,options:{...n.horizontalAxis,width:x}},vertical:{scale:F,height:S,options:R},order:`horizontal-first`}),!A&&j<0&&M>0&&Q(b).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,N(0)).attr(`x2`,N(0)).attr(`y1`,0).attr(`y2`,S).attr(`stroke`,`#666`).attr(`stroke-width`,1);let z=zb(n.colorizes),B=bx(n.highlights,P),V=b.ownerSVGElement,H=Gb(V,e,`bars`,{x:0,y:0,width:x,height:S}),ee=Q(V).select(`defs`),te=H.replace(/^bc-clip-/,``),ne=Q(b).append(`g`).attr(`clip-path`,`url(#${H})`);if(n.barBackground){let e=(n.colors??qx)[0],t=O?P:D.map(e=>e.label);ne.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(F(e)??0)+I).attr(`width`,x).attr(`height`,F.bandwidth()-I).attr(`fill`,e).attr(`opacity`,.18)}let re=O?P:D.map(e=>e.label);if(n.barSeparators&&re.length>1){let e=F.step();for(let t=1;t<re.length;t++){let n=(F(re[t-1])??0)+F.bandwidth()+(e-F.bandwidth())/2;ne.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,x).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!O&&n.connectedColumns&&D.length>1){let e=n.colors??qx,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=Math.max(N(0),N(r.value)),c=Math.max(N(0),N(i.value)),l=N(0),u=z.get(r.label)??e[0],d=z.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${te}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}ne.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(O){let e=n.colors??qx,t=`#333`;if(n.connectedColumns&&k.length>1){let e=n.colors??qx,t=n.connectionsOpacity??.15;for(let n=0;n<k.length-1;n++){let r=k[n],i=k[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=N(r.x1),c=N(i.x1),l=N(r.x0),u=N(i.x0),d=z.get(r.label)??e[0],f=z.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${te}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}ne.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<k.length-1;e++){let t=k[e],n=k[e+1];if(n.isTotal)break;ne.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,N(t.x1)).attr(`x2`,N(t.x1)).attr(`y1`,(F(t.label)??0)+F.bandwidth()).attr(`y2`,(F(n.label)??0)+I).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(ne.selectAll(`.bc-bar`).data(k,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(N(e.x0),N(e.x1))).attr(`y`,e=>(F(e.label)??0)+I).attr(`width`,e=>Math.abs(N(e.x1)-N(e.x0))).attr(`height`,F.bandwidth()-I).attr(`fill`,n=>n.isTotal?t:z.get(n.label)??e[0]).attr(`opacity`,e=>B.size>0?xx(B,e.label):null),n.valueLabels){let n=g;Q(b).append(`g`).selectAll(`.bc-value-label`).data(k,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(F(e.label)??0)+I+(F.bandwidth()-I)/2).attr(`x`,e=>{let t=Math.max(N(e.x0),N(e.x1));return n===ni.Inside?t-4:t+4}).attr(`text-anchor`,n===ni.Inside?`end`:`start`).attr(`fill`,r=>n===ni.Inside?wr(r.isTotal?t:z.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:y(e.isTotal?e.x1:e.value))}}else{let t=Zb(e),i=ne.append(`g`).node();if(r)for(let e of s)i.appendChild(e);lx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:D,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(N(0),N(e.value)),y:(F(e.label)??0)+I,width:Math.abs(N(e.value)-N(0)),height:F.bandwidth()-I,fill:z.get(e.label)??(n.colors??qx)[0],opacity:xx(B,e.label)})}),_x(t,{svg:V,clipId:H,group:b,from:c,to:w,active:r&&s.length>0});let o=qb(ne);n.tooltips&&o.use(Gy({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(qy({width:x,height:S,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&o.use(Rb(n.annotations,{scaleX:F,scaleY:N,data:D,width:x,height:S,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(D);t.state===`committing`?t.register(l):l(),n.valueLabels&&Zx(Q(b).append(`g`),D,N,F,{position:g,colorOverrides:z,colors:n.colors??qx,transition:r,swapLabelValue:_,categoryLabelOffset:I,percent:n.valueLabels===`percent`,total:ia(D,e=>e.value),formatValue:y,bounds:{plotWidth:x,marginLeft:C.left,marginRight:C.right}})}if(p){let e=Q(b).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}Hb(e,{chartType:`bar-horizontal`,margin:C,plotRect:w}),i&&(__(ne.node()),y_(e,i))}function Xx(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-Jx-o>=Jx-a.marginLeft:f+Jx+o<=a.plotWidth+a.marginRight-Jx,m=d?a.plotWidth-f:f,h=(r===ni.Inside||u||!p)&&m>=o+Jx;return h?d?{tx:f+Jx,ty:s,anchor:`start`,isInside:h}:{tx:f-Jx,ty:s,anchor:`end`,isInside:h}:d?{tx:f-Jx,ty:s,anchor:`end`,isInside:h}:{tx:f+Jx,ty:s,anchor:`start`,isInside:h}}function Zx(e,t,n,r,i){let a=i.position??ni.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Pg(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=Zb(l),d=t.filter(e=>kx({text:s(e),placement:a===ni.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));lx(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=Xx(e,n,r,a,o,i.bounds,Px(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}function Qx(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var $x=12,eS=16,tS=12,nS=8;function rS(e){return e>0?e-eS-tS:1/0}function iS(e,t=``,n=0){let r=t?` ${t}`:``,i=Jg(e,rS(n)-Kg(r,$x),$x);return{label:i,suffix:r,width:eS+Kg(i+r,$x)+tS}}function aS(e){return qg(e,$x)+eS+nS}function oS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:aS(e),height:e.length*20};let r=e.map(e=>iS(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function sS(e){return e.length===0?0:qg(e,$x)+10}var cS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],lS=200,uS=.2,dS=class extends yg{initialize(){this.configDefine(`colors`,{defaultValue:cS}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=Q(this),u=r[i],d=iS(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function fS(e){let t=Q(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=Q(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:uS)}),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=Q(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:uS)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=Q(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),p_(lS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function pS(e,t,n=cS,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new dS(Q(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>iS(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=aS(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return fS(e),p}function mS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function hS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Sr.valid(e));return n.length<2?e:Sr.scale(n).mode(`lch`).colors(t)}function gS(e,t){return t?.find(t=>t.name===e)}function _S(e,t,n,r){return gS(e,r)?.color??n[t%n.length]}function vS(e,t){return gS(e,t)?.dash??`solid`}function yS(e,t){return gS(e,t)?.lineWidth??2}function bS(e,t,n){let r=gS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function xS(e,t){return gS(e,t)?.hidden??!1}function SS(e,t,n){let r=gS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function CS(e,t,n){let r=gS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function wS(e,t){return gS(e,t)?.opacity??1}function TS(e,t,n){let r=gS(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var ES=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],DS=4,OS=16,kS=8;function AS(e,t,n={},r=!1){h_(r);let i=null,a,o,s=[],c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=t.series??[],f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=hS(n.colors??ES,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??ni.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?oi.Auto:oi.Off,x=n.legend!==!1&&!g,S=u_(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=a_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=c_(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,S-(O.left??50)-(O.right??20)),j=x?oS(p,w,A):{width:0,height:0},M=x?j.height+15:0,N={...O};x&&w===`top`&&(N.top=M+(k?15:0)),x&&w===`left`&&(N.left=(N.left??50)+j.width+10),x&&w===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,S-(N.left??50)-(N.right??20));N.bottom=(H_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(w===`bottom`?M:0);let F=g||!!h?.some(e=>e.labelMode===`direct`),I=v!==!1||!!h?.some(e=>e.valueLabels),L=F&&b!==oi.Inside,R=I&&y!==ni.Inside,z=L&&R?OS:DS;(L||R)&&(N.top=(N.top??0)+z+kS);let{chartArea:B,width:V,height:H,margin:ee}=f_(u,N),te=Yg(o,ee),[ne,re]=Ei(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&ne<0&&n.verticalAxis?.range?.min==null){let e=re-ne;ne-=e*.1}let ie=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),ie=e.map(e=>e.label)}let ae=ef().domain(ie).range([0,V]).padding(Ti(n.barGap)),U=ef().domain(p).range([0,ae.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?Mf().domain([ne,re]).nice().range([H,0]):_f().domain([ne,re]).nice().range([H,0]);l.attach(B,te),l.update({vertical:{scale:se,height:H,options:{...n.verticalAxis,gridWidth:V,topPadding:ee.top}},horizontal:{scale:ae,height:H,options:{...n.horizontalAxis,width:V}}}),!oe&&ne<0&&re>0&&Q(B).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,V).attr(`y1`,se(0)).attr(`y2`,se(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let ce=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{ce.set(`${e}\0${t.name}`,p[n])})});let le=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?ce.get(`${e}\0${r.name}`)??r.name:r.name;le.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let ue=B.ownerSVGElement,de=Gb(ue,e,`bars`,{x:0,y:0,width:V,height:H}),W=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),G=Zb(e),fe=bx(n.highlights,le.map(e=>e.seriesName)),pe=zb(n.colorizes),me=W.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),me.appendChild(e);lx(G,{role:`mark-per-cell`,parent:me,selector:`.bc-bar-multi`,data:le,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:(ae(e.label)??0)+(U(e.series)??0),y:Math.min(se(0),se(e.value)),width:U.bandwidth(),height:Math.abs(se(e.value)-se(0)),fill:pe.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),fe.size>0?{...r,opacity:xx(fe,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};_x(G,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=qb(W);if(n.tooltips&&ge.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(qy({width:V,height:H,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));ge.use(Rb(n.annotations,{scaleX:ae,scaleY:se,data:i,width:V,height:H,backgroundColor:Er(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);G.state===`committing`?G.register(_e):_e(),Hb(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(__(W.node()),y_(e,i));let ve=new Set;f.forEach(e=>{SS(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=Er(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===ni.Inside?ni.Inside:(ni.Outside,ni.Outside)}function Ce(e){return b===oi.Inside?ni.Inside:b===oi.Outside?ni.Outside:v?Se():ni.Outside}function K(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let we=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!CS(e.seriesName,v,h))return;let t=(ae(e.label)??0)+(U(e.series)??0)+U.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=Se(),a=ye&&ve.has(e.seriesName),o=e.value<0,s=n+r,c,l,u;i===ni.Inside?(l=wr(_S(e.seriesName,e.seriesIndex,m,h)),u=`central`,c=a&&Ce(r)===ni.Inside?K(n,r,xe)+14:n+r/2):(l=`currentColor`,o?(c=a&&Ce(r)===ni.Outside?s+OS:s+DS,u=`hanging`):(c=a&&Ce(r)===ni.Outside?n-OS:n-DS,u=`auto`)),kx({text:String(e.value),placement:i===ni.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:U.bandwidth(),barHeight:r})&&we.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,c).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,u).attr(`font-size`,`11px`).attr(`fill`,l).text(String(e.value))}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ae(e.label)??0)+(U(e.series)??0)+U.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=Ce(r),o=_S(e.seriesName,e.seriesIndex,m,h),s=Q(B).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===ni.Inside){let e=K(n,r,xe);s.attr(`y`,e).attr(`fill`,wr(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-DS).attr(`fill`,Dr(o,be))});let Te=p.filter(e=>SS(e,_,h)===`legend`);if(x&&Te.length>0){let e=Te.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(j.height+10+e)}else w===`bottom`?n=H+Math.max(ee.bottom-M,0):w===`left`?t=-(j.width+10):w===`right`&&(t=V+10);pS(B,Te,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var jS={linear:ah,monotoneX:Uh,step:Gh,stepBefore:Kh,stepAfter:qh,basis:jh,cardinal:Ph,catmullRom:Lh};function MS(e){return e&&jS[e]||ah}var NS=`bc-tooltip`,PS=new WeakMap;function FS(e){let t=PS.get(e);t&&(PS.delete(e),t())}function IS(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
329
- .${NS} {
330
+ `,document.head.appendChild(e)}function Yy(e){let t=e?Lg(e):null,n=e=>typeof e==`number`&&t?t(e):String(e);return e=>{if(e&&typeof e==`object`){if(`data`in e&&typeof e.data==`number`)return n(e.data);let t=e,r=typeof t.series==`string`?t.series:typeof t.seriesName==`string`?t.seriesName:null;if(r!==null&&`label`in t&&`value`in t)return`${r} – ${t.label}: ${n(t.value)}`;if(`label`in t&&`value`in t)return`${t.label}: ${n(t.value)}`;if(`series`in t&&`value`in t)return`${t.series}: ${n(t.value)}`;if(`value`in t)return n(t.value)}return String(e)}}function Xy(e){let t=e?.format??Yy(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){Jy(),n=document.createElement(`div`),n.className=qy,document.body.appendChild(n)},postDraw(e){e.base.selectAll(`.bc-bar, .bc-dot, .bc-arc`).each(function(){let e=this,i=()=>{if(!n)return;let r=Q(e).datum();n.textContent=t(r),n.style.display=`block`,Ky(e,n,{placement:`top`,middleware:[Uy(8),Gy(),Wy()]}).then(({x:e,y:t})=>{n&&(n.style.left=`${e}px`,n.style.top=`${t}px`)})},a=()=>{n&&(n.style.display=`none`)};e.addEventListener(`mouseenter`,i),e.addEventListener(`mouseleave`,a),r.push(()=>{e.removeEventListener(`mouseenter`,i),e.removeEventListener(`mouseleave`,a)})})},destroy(){for(let e of r)e();r.length=0,n&&=(n.remove(),null)}}}function Zy(e){switch(e){case si.Solid:return`none`;case si.Dotted:return`2,2`;case si.Dashed:default:return`4,3`}}function Qy(e){let t=e?.color??`#999`,n=e?.dashArray??Zy(e?.style),r=e?.direction??oi.Both,i=e?.orientation??Yr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===oi.Both||r===oi.Vertical,d=r===oi.Both||r===oi.Horizontal,f=u?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,l).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null,p=d?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,c).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null;s.selectAll(`.bc-dot, .bc-bar`).each(function(){let e=this,t=()=>{let t=Q(e),n,r;if(e.tagName===`circle`)n=parseFloat(t.attr(`cx`)),r=parseFloat(t.attr(`cy`));else{let e=parseFloat(t.attr(`x`)),a=parseFloat(t.attr(`width`)),o=parseFloat(t.attr(`y`)),s=parseFloat(t.attr(`height`));i===Yr.Horizontal?(n=e+a,r=o+s/2):(n=e+a/2,r=o)}f&&f.attr(`x1`,n).attr(`x2`,n).style(`display`,null),p&&p.attr(`y1`,r).attr(`y2`,r).style(`display`,null)},n=()=>{f&&f.style(`display`,`none`),p&&p.style(`display`,`none`)};e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,n),a.push(()=>{e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,n)})})},destroy(){for(let e of a)e();a.length=0}}}var $y=`bc-scene`;function eb(e){let t=e.querySelector(`.bc-annotation-line`);if(!(!t||!t.hasAttribute(`data-line-style`)))return{style:t.getAttribute(`data-line-style`),fromX:parseFloat(t.getAttribute(`data-line-from-x`)||`0`),fromY:parseFloat(t.getAttribute(`data-line-from-y`)||`0`),toX:parseFloat(t.getAttribute(`data-line-to-x`)||`0`),toY:parseFloat(t.getAttribute(`data-line-to-y`)||`0`),departVertical:t.getAttribute(`data-line-depart-vertical`)===`true`}}function tb(e){let t=new Map,n=e.querySelectorAll(`g[data-annotation-id]`);for(let e of n){let n=e.getAttribute(`data-annotation-id`),r=eb(e);try{let i=e.getBBox();t.set(n,{id:n,element:e,rect:{x:i.x,y:i.y,width:i.width,height:i.height},line:r})}catch{t.set(n,{id:n,element:e,rect:{x:0,y:0,width:0,height:0},line:r})}}return t}var nb={N:{dx:0,dy:-1},NE:{dx:.707,dy:-.707},E:{dx:1,dy:0},SE:{dx:.707,dy:.707},S:{dx:0,dy:1},SW:{dx:-.707,dy:.707},W:{dx:-1,dy:0},NW:{dx:-.707,dy:-.707},center:{dx:0,dy:0}},rb={N:{nx:0,ny:-1},NE:{nx:1,ny:-1},E:{nx:1,ny:0},SE:{nx:1,ny:1},S:{nx:0,ny:1},SW:{nx:-1,ny:1},W:{nx:-1,ny:0},NW:{nx:-1,ny:-1},center:{nx:0,ny:0}};Wr.N,Wr.W,Wr.NE,Wr.NW,Wr.E,Wr.N,Wr.SE,Wr.NE,Wr.S,Wr.E,Wr.SW,Wr.SE,Wr.W,Wr.S,Wr.NW,Wr.SW,Wr.Center,Wr.Center;function ib(e,t){let n=nb[e]??nb.NW;return{dx:n.dx*t,dy:n.dy*t}}function ab(e){return`step`in e&&!(`bandwidth`in e)}function ob(e){if(`bandwidth`in e||ab(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function sb(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return ab(e)?e(t)??0:ob(e)?e(new Date(t)):e(Number(t))}function cb(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=rb[e]??rb.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function lb(e,t,n,r,i){if(`bandwidth`in t){let a=t,o=a(e.label)??0,s=a.bandwidth(),c=n(e.value),l=n(0);return i===`horizontal`?cb(r,{left:l,right:c,top:o,bottom:o+s}):cb(r,{left:o,right:o+s,top:c,bottom:l})}return ub({x:e.x===void 0?sb(t,e.label):t(e.x),y:n(e.value)},r)}function ub(e,t){let n=nb[t]??nb.N;return{x:e.x+n.dx*2,y:e.y+n.dy*2}}function db(e,t,n,r=4){let i=e.x+e.width/2,a=e.y+e.height/2;if(t===i&&n===a)return{x:i,y:a};let o=t>=e.x&&t<=e.x+e.width,s=n>=e.y&&n<=e.y+e.height,c=[];if(o&&(n<a?c.push({x:i,y:e.y-r,dist:Math.abs(a-n)}):c.push({x:i,y:e.y+e.height+r,dist:Math.abs(n-a)})),s&&(t>i?c.push({x:e.x+e.width+r,y:a,dist:Math.abs(t-i)}):c.push({x:e.x-r,y:a,dist:Math.abs(i-t)})),c.length>0){c.sort((e,t)=>e.dist-t.dist);let{x:e,y:t}=c[0];return{x:e,y:t}}let l=[{x:i,y:e.y-r},{x:i,y:e.y+e.height+r},{x:e.x+e.width+r,y:a},{x:e.x-r,y:a}],u=l[0],d=(u.x-t)**2+(u.y-n)**2;for(let e=1;e<l.length;e++){let r=(l[e].x-t)**2+(l[e].y-n)**2;r<d&&(u=l[e],d=r)}return u}function fb(e,t){if(!e)return`bc-arrow`;let n=t??`#666`,r=`bc-arrow-${n.replace(/[^a-zA-Z0-9]/g,``)}`;return e.querySelector(`#${r}`)||(Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`)).append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1 1 L 9 5 L 1 9`).attr(`fill`,`none`).attr(`stroke`,n).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`),r}function pb(e){switch(e){case Kr.Dotted:return`2,3`;case Kr.Dashed:return`5,4`;default:return``}}var mb=4,hb=12;function gb(e){return e!==void 0&&e>0?e:mb}function _b(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,gb(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=pb(r.style??Kr.Solid);a&&i.attr(`stroke-dasharray`,a)}var vb=1/Math.tan(40*Math.PI/180);function yb(e,t,n){if(n){let n=t.y>=e.y?1:-1,r=Math.max(Math.abs(t.y-e.y)-Math.abs(t.x-e.x)*vb,12);return{x:e.x,y:e.y+n*r}}let r=t.x>=e.x?1:-1,i=Math.max(Math.abs(t.x-e.x)-Math.abs(t.y-e.y)*vb,12);return{x:e.x+r*i,y:e.y}}function bb(e,t,n){let r=yb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function xb(e,t,n,r=Gr.Direct,i={}){let a;switch(r){case Gr.CurveLeft:case Gr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===Gr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case Gr.Elbow:a=bb(t,n,i.departVertical??!1);break;default:a=`M ${t.x} ${t.y} L ${n.x} ${n.y}`}let o=i.color??`#666`,s=e.append(`path`).attr(`class`,`bc-annotation-line`).attr(`d`,a).attr(`fill`,`none`).attr(`stroke`,o).attr(`stroke-width`,i.lineWeight??1).attr(`pathLength`,`1`).attr(`data-line-style`,r).attr(`data-line-from-x`,String(t.x)).attr(`data-line-from-y`,String(t.y)).attr(`data-line-to-x`,String(n.x)).attr(`data-line-to-y`,String(n.y)).attr(`data-line-depart-vertical`,String(i.departVertical??!1));if(i.showArrow===!0){let t=fb(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function Sb(e,t,n,r,i={}){let a=i.textAnchor??`middle`,o=i.textOutline!==!1,s=e.append(`text`).attr(`class`,`bc-annotation-text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,a).attr(`font-size`,`${hb}px`).attr(`fill`,i.textColor??`currentColor`);o&&s.attr(`stroke`,i.backgroundColor??`#fff`).attr(`stroke-width`,3).attr(`paint-order`,`stroke`);let c=t.split(`
331
+ `);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)Cb(s,t,i.maxWidth);else for(let e=0;e<c.length;e++)s.append(`tspan`).attr(`x`,s.attr(`x`)).attr(`dy`,e===0?`0`:`1.2em`).text(c[e])}else s.text(t)}function Cb(e,t,n){let r=0,i=t=>{e.append(`tspan`).attr(`x`,e.attr(`x`)).attr(`dy`,r===0?`0`:`1.2em`).text(t),r++};for(let e of t.split(`
332
+ `)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&Zg(e,hb)>n?(i(t),t=r):t=e;let a=$g(t,n,hb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=$g(t,n,hb,``)}i(t)}}function wb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function Tb(e,t,n=Jr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(ab(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(ob(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return wb(e,t)}function Eb(e,t){return wb(e,t)}function Db(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function Ob(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function kb(e){return e<-4?`end`:e>4?`start`:`middle`}function Ab(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:sb(t,e.label),y:n(e.value)}}function jb(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.markCenter?.(i),o=n.markCenter?void 0:n.data.find(e=>e.label===i),s=a??(o&&Ab(o,n.scaleX,n.scaleY));if(!s)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=t,d=u.anchorDirection??Wr.N,f=o?lb(o,n.scaleX,n.scaleY,d,n.orientation):ub(s,d),p,m,h=t;if(h.dx!=null||h.dy!=null){let{x:e,y:t}=s;p=e+(Number(h.dx)||40),m=t+(Number(h.dy)||-40)}else if(h.direction!=null&&h.textOffsetX==null){let{x:e,y:t}=s,n=h.direction,r=ib(n,h.anchorDistance??60);p=e+r.dx,m=t+r.dy}else p=f.x+(u.textOffsetX??-42),m=f.y+(u.textOffsetY??-42);let g=t.circleColor??`#666`,_=t;_.showCircle&&_b(c,f.x,f.y,{size:_.circleSize,style:_.circleStyle,color:g});let v=Math.max(4,Math.min(p,n.width-4)),y=Math.max(4,Math.min(m,n.height-4));if(t.text){let e=kb(p-f.x);Sb(c,t.text,v,y-4,{textColor:t.textColor,maxWidth:Ob(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(h.dx!=null||h.dy!=null?u.showLine!==!1:u.showLine??u.showArrow===!0){let e={x:v,y},t=!1,r=c.select(`.bc-annotation-text`).node();if(r)try{let n=r.getBBox();if(n.width>0&&n.height>0){e=db(n,f.x,f.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=u.showCircle?gb(u.circleSize)+(u.lineTargetDistance??5):u.lineTargetDistance??0,o=f.x,s=f.y;if(i>0){let t=f.x-e.x,r=f.y-e.y,c=Math.sqrt(t*t+r*r);if(c>0){let e=f.x-t/c*i,l=f.y-r/c*i,u=!a&&`bandwidth`in n.scaleX,p=nb[d]??nb.N;o=!u||Math.abs(p.dx)>.01?e:f.x,s=!u||Math.abs(p.dy)>.01?l:f.y}}xb(c,e,{x:o,y:s},u.lineStyle??Gr.Direct,{showArrow:u.showArrow,lineWeight:u.lineWeight,color:g,departVertical:t})}}function Mb(e,t,n){let r=(t??Jr.Center)===Jr.Center?n.markCenter?.(String(e)):void 0;return r?n.orientation===Yr.Horizontal?r.y:r.x:Tb(e,n.scaleX,t)}function Nb(e,t,n,r,i){if(t.kind!==qr.Range)return;let a=(t.orientation??Yr.Vertical)===Yr.Vertical,o=a?Mb(t.start,t.startAnchor,n):Eb(t.start,n.scaleY),s=a?Mb(t.end,t.endAnchor,n):Eb(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Yr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=Ob(t.maxWidth,n.width)??Math.max(e,50),s=nb[t.direction??`center`]??nb.center,u=.5+s.dx*.5,h=.5+s.dy*.5,g=Math.max(4,Math.min(d+p*u,n.width-4)),_=`middle`;u<.25?_=`start`:u>.75&&(_=`end`);let v=f+4+12,y=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(i&&l&&y.attr(`data-annotation-id`,`${l}:label`),Sb(y,t.text,g,v,{textColor:t.textColor,maxWidth:o,textAnchor:_,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),h>.25){let e=y.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=h>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function Pb(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=Db(t.x,n.width),s=Db(t.y,n.height);if(t.text){Sb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Ob(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function Fb(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function Ib(e,t){let n=e.hasAttribute(`marker-end`),r=eb(e.parentElement);if(n&&r){let n=Q(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===Gr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(Du).attrTween(`d`,()=>{let t=Oc(i,e);return e=>{let n=t(e);return Fb(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Gr.CurveLeft||r.style===Gr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===Gr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(Du).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(Du).attrTween(`d`,()=>{let e=Dc(r.fromX,r.toX),t=Dc(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),Q(e).transition().duration(t).ease(Du).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var Lb=1;function Rb(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=Lb&&Math.abs(e.fromY-t.fromY)<=Lb&&Math.abs(e.toX-t.toX)<=Lb&&Math.abs(e.toY-t.toY)<=Lb}function zb(e,t,n){let r=eb(e.parentElement);if(!r||Rb(t,r))return;let i=Q(e);if(t.style===Gr.Elbow&&r.style===Gr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,Fb(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(Ou).attrTween(`d`,()=>{let t=Oc(e,a);return e=>{let n=t(e);return Fb(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(Ou).attrTween(`d`,()=>{let e=Oc(a,s),n=Oc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Gr.Direct||t.style===Gr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===Gr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function Bb(e){let[t,n]=e.tagName===`circle`?[`cx`,`cy`]:[`x`,`y`],r=[Number(e.getAttribute(t)),Number(e.getAttribute(n))];for(let[,t,n]of(e.getAttribute(`transform`)??``).matchAll(/translate\(([^,\s)]+)[,\s]*([^)]*)\)/g))r[0]+=Number(t),r[1]+=Number(n)||0;return r}function Vb(e,t,n){let[r,i]=Bb(t),[a,o]=Bb(e),s=r-a,c=i-o;if(Math.abs(s)<=.5&&Math.abs(c)<=.5)return;let l=e.getAttribute(`transform`),u=e=>`translate(${s*e}, ${c*e})${l?` ${l}`:``}`;Q(e).attr(`transform`,u(1)).transition($y).duration(n).ease(Ou).attrTween(`transform`,()=>e=>u(1-e))}var Hb=[`x`,`y`,`width`,`height`];function Ub(e,t,n){let r=Q(e),i=r.transition($y).duration(n).ease(Ou);for(let n of Hb)i.attr(n,e.getAttribute(n)),r.attr(n,t.getAttribute(n))}function Wb(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&zb(t,i.line,r);for(let t of[`.bc-annotation-text`,`.bc-annotation-circle`]){let n=e.querySelector(t),a=i.element.querySelector(t);n&&a&&Vb(n,a,r)}let n=e.querySelector(`.bc-annotation-range`),a=i.element.querySelector(`.bc-annotation-range`);n&&a&&Ub(n,a,r)}else{let t=e.querySelector(`.bc-annotation-line`);t&&Ib(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}var Gb=16;function Kb(e){return Array.from(e.querySelectorAll(`*`)).some(e=>Nu(e,$y))}function qb(e,t=0){if(!e)return;if(t>0){setTimeout(()=>qb(e,Kb(e)?Gb:0),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?Q(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):Q(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function Jb(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),fb(r);let i=Q(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of tb(t))a.set(e,n);if(n)for(let[e,t]of tb(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??qr.Point){case qr.Point:jb(s,r,n,e);break;case qr.Range:Nb(o,r,n,e,s);break;case qr.Free:Pb(s,r,n,e)}}let c=0;n.transition&&(c=v_(500),Wb(s.node(),o.node(),a??new Map,c)),qb(r,c)}function Yb(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),fb(i);let a=r.node()?.parentNode,o=a&&a!==i?Q(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of tb(e))c.set(t,n);if(t)for(let[e,n]of tb(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??qr.Point){case qr.Point:jb(u,r,t,n);break;case qr.Range:Nb(l,r,t,n,u);break;case qr.Free:Pb(u,r,t,n)}}let d=0;t.transition&&(d=v_(500),Wb(u.node(),l.node(),c??new Map,d)),qb(i,d)}}}function Xb(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var Zb=new WeakMap;function Qb(e){return Zb.get(e)}function $b(e,t){Zb.set(e,t)}var ex=0,tx=new WeakMap;function nx(e,t,n,r){let i=tx.get(t);i||(i=new Map,tx.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++ex}`,i.set(n,a));let o=Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var rx=class extends Cg{initialize(){}};function ix(e){return new rx(e)}function ax(e,t,n){if(n!==$r.Ascending&&n!==$r.Descending)return[...e];let r=n===$r.Ascending?1:-1;return e.map((e,n)=>({item:e,key:t(e,n)})).sort((e,t)=>r*(e.key-t.key)).map(({item:e})=>e)}function ox(e,t){return e.reduce((e,n)=>e+(n.values[t]??0),0)}var sx=500,cx=new Set,lx=new WeakMap;function ux(e){let t=lx.get(e);return t||(t=new fx(e),lx.set(e,t)),t}function dx(e){lx.delete(e)}var fx=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){cx.has(t)||(cx.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??sx,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=wu($y).duration(r).ease(Ou);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,Q(this.container).interrupt($y),Q(this.container).selectAll(`*`).interrupt($y),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),dx(this.container)}};function px(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function mx(e,t){return e.tagName===t.tagName}function hx(e,t){Q(e).interrupt($y);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function gx(e,t){let n=_x(e),r=_x(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,vx(e)})}}function _x(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function vx(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var yx={opacity:0},bx=new Set([`d`,`transform`]),xx=new Set([`stroke-dasharray`]);function Sx(e,t){if(e.state===`idle`||e.state===`animating`){Cx(t);return}e.register(()=>wx(e,t))}function Cx(e){let t=Q(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());Tx(n,e),n.merge(t).each(function(t){Ox(this,e.attrs(t))})}function wx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=Dx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();kx(e,t.exitTo?t.exitTo(r):yx,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=px(e.container,t.role),s=t.insert(r.enter());Tx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(Ex(t.key(e)));if(s&&mx(s,r)){Ox(r,hx(s,i)),kx(r,a,n);return}Ox(r,t.enterFrom?t.enterFrom(e):a),kx(r,a,n)}else Ox(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(hx(r,i),kx(r,a,n)):Ox(r,a)})}function Tx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>Ex(t.key(e)))}function Ex(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function Dx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function Ox(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function kx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(bx.has(n)){let e=String(i);r.attrTween(n,function(){return gx(this.getAttribute(n)??e,e)})}else xx.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function Ax(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);jx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function jx(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),Q(n).transition(t).attrTween(`transform`,function(){return gx(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),Q(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var Mx=.35;function Nx(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function Px(e,t,n=1){return e.size===0||e.has(t)?n:Mx}var Fx=11,Ix=6.2,Lx=Fx,Rx=8,zx=4,Bx=14;function Vx(e){return Math.max(Zg(e,Fx),e.length*Ix)}function Hx(e){let t=Vx(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-Rx&&Lx<=e.barHeight:Lx<=e.barHeight-zx&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=Bx}var Ux=8,Wx=4,Gx=7,Kx=`11px sans-serif`;function qx(e,t=Kx){let n=e.length*Gx;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function Jx(e,t,n,r){let i=e.length*Gx/2,a=i+Wx-r.margin.left,o=r.width+r.margin.right-i-Wx,s=12-r.margin.top,c=r.height+r.margin.bottom-Wx,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-Ux,s),Math.max(s,c))}}var Yx=4;function Xx(e){return Math.max(0,Math.min(13,e-Yx))}var Zx=400;function Qx(e,t){return e>0&&e<Zx&&t!==Hr.Outside}var $x=[re[0]],eS=4,tS=8;function nS(e,t,n={},r=!1){b_(r);let i=null,a,o,s,c=[],l=uv.for(e);if(r){let t=Qb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=C_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=h_(u).width,f=n.categoryLabelLine===!0,p=u_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Hr.Off:n.horizontalAxis?.labelPosition,h=p_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=q_(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=__(u,h),b=v-(f?Xx(v):0),x=e_(o,y),S={left:y.left,top:y.top,width:_,height:b},C=ax(t.labels,(e,n)=>t.values[n],n.sort),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=af().domain(O).range([0,_]).padding(Oi(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=ki(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&j<0&&n.verticalAxis?.range?.min==null){let e=M-j;j-=e*.1}let N=A?If().domain([j,M]).nice().range([b,0]):xf().domain([j,M]).nice().range([b,0]);l.attach(g,x);let P=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},F=f?{...P,labelPosition:Hr.Off}:P;l.update({vertical:{scale:N,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:F}}),!A&&j<0&&M>0&&Q(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,N(0)).attr(`y2`,N(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let I=Xb(n.colorizes),L=Nx(n.highlights,O),R=g.ownerSVGElement,z=nx(R,e,`bars`,{x:0,y:0,width:_,height:b}),B=Q(R).select(`defs`),V=z.replace(/^bc-clip-/,``),H=Q(g).append(`g`).attr(`clip-path`,`url(#${z})`);if(n.barBackground){let e=(n.colors??$x)[0],t=E?O:w.map(e=>e.label);H.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let ee=E?O:w.map(e=>e.label);if(n.barSeparators&&ee.length>1){let e=k.step();for(let t=1;t<ee.length;t++){let n=(k(ee[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;H.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??$x,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(N(0),N(r.value)),c=Math.min(N(0),N(i.value)),l=N(0),u=I.get(r.label)??e[0],d=I.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let U=Q(g).append(`g`);if(E){let e=n.colors??$x,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??$x,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=N(r.y1),c=N(i.y1),l=N(r.y0),u=N(i.y0),d=I.get(r.label)??e[0],f=I.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;H.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,N(t.y1)).attr(`y2`,N(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(H.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(N(e.y0),N(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(N(e.y0)-N(e.y1))).attr(`fill`,n=>n.isTotal?t:I.get(n.label)??e[0]).attr(`opacity`,e=>L.size>0?Px(L,e.label):null),n.valueLabels){let r=n.valueLabelPosition??ai.Auto,i=e=>Rg(e,n.verticalAxis?.numberFormat);U.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(N(e.y0),N(e.y1)),n=Math.abs(N(e.y0)-N(e.y1));return r===ai.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===ai.Inside?`central`:`auto`).attr(`fill`,n=>r===ai.Inside?Tr(n.isTotal?t:I.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:i(e.isTotal?e.y1:e.value))}}else{let t=ux(e),i=H.append(`g`).node();if(r)for(let e of c)i.appendChild(e);Sx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(N(0),N(e.value)),width:k.bandwidth(),height:Math.abs(N(e.value)-N(0)),fill:I.get(e.label)??(n.colors??$x)[0],opacity:Px(L,e.label)})}),Ax(t,{svg:R,clipId:z,group:g,from:s,to:S,active:r&&c.length>0});let o=ix(H);n.tooltips&&o.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(Qy({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(Yb(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:Dr(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);t.state===`committing`?t.register(l):l(),n.valueLabels&&iS(U,w,k,N,{position:n.valueLabelPosition,colorOverrides:I,colors:n.colors??$x,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:ca(w,e=>e.value),formatValue:e=>Rg(e,n.verticalAxis?.numberFormat),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}if(f){let e=Q(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}$b(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(S_(H.node()),w_(e,i))}function rS(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+eS:c-eS,m=u?p+tS<=i.plotHeight+i.marginBottom:p-tS>=-i.marginTop,h=l-c,g=(r===ai.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function iS(e,t,n,r,i){let a=i.position??ai.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?zg(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=ux(c),u=t.filter(e=>Hx({text:o(e),placement:a===ai.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));Sx(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=rS(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?Tr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}var aS=[re[0]],oS=4;function sS(e,t,n={},r=!1){b_(r);let i=null,a,o,s=[],c,l=uv.for(e);if(r){let t=Qb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=C_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=h_(u).width,f=Qx(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=f_(t.labels),h=p_(d,p?Hr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ai.Auto,_=n.swapLabelValue===!0,v=e=>Rg(e,n.horizontalAxis?.numberFormat);if(n.valueLabels&&g!==ai.Inside){if(_){let e=qx(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?qx(v(n))+8:0,a=r<0?qx(v(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:y,width:b,height:x,margin:S}=__(u,h),C={left:S.left,top:S.top,width:b,height:x},w=e_(o,S),T=ax(t.labels,(e,n)=>t.values[n],n.sort),E=T.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),D=n.waterfall===!0,O=[];if(D){let e=0;for(let t of E){let n=e;e+=t.value,O.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&O.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let k=n.horizontalAxis?.scaleType===`log`,[A,j]=ki(D?O.flatMap(e=>[e.x0,e.x1]):E.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),M=k?If().domain([A,j]).nice().range([0,b]):xf().domain([A,j]).nice().range([0,b]),N=D?O.map(e=>e.label):T,P=af().domain(N).range([0,x]).padding(Oi(n.barGap)),F=p?Xx(P.bandwidth()):0,I=_&&n.valueLabels&&!D?(()=>{let e=new Map(E.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:S.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:S.top},L=p?{...I,labelPosition:Hr.Off,...f?{showAxis:!1}:{}}:I;l.attach(y,w),l.update({horizontal:{scale:M,height:x,options:{...n.horizontalAxis,width:b}},vertical:{scale:P,height:x,options:L},order:`horizontal-first`}),!k&&A<0&&j>0&&Q(y).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,M(0)).attr(`x2`,M(0)).attr(`y1`,0).attr(`y2`,x).attr(`stroke`,`#666`).attr(`stroke-width`,1);let R=Xb(n.colorizes),z=Nx(n.highlights,N),B=y.ownerSVGElement,V=nx(B,e,`bars`,{x:0,y:0,width:b,height:x}),H=Q(B).select(`defs`),ee=V.replace(/^bc-clip-/,``),U=Q(y).append(`g`).attr(`clip-path`,`url(#${V})`);if(n.barBackground){let e=(n.colors??aS)[0],t=D?N:E.map(e=>e.label);U.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(P(e)??0)+F).attr(`width`,b).attr(`height`,P.bandwidth()-F).attr(`fill`,e).attr(`opacity`,.18)}let te=D?N:E.map(e=>e.label);if(n.barSeparators&&te.length>1){let e=P.step();for(let t=1;t<te.length;t++){let n=(P(te[t-1])??0)+P.bandwidth()+(e-P.bandwidth())/2;U.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,b).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!D&&n.connectedColumns&&E.length>1){let e=n.colors??aS,t=n.connectionsOpacity??.15;for(let n=0;n<E.length-1;n++){let r=E[n],i=E[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=Math.max(M(0),M(r.value)),c=Math.max(M(0),M(i.value)),l=M(0),u=R.get(r.label)??e[0],d=R.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${ee}-${n}`,t=H.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}U.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(D){let e=n.colors??aS,t=`#333`;if(n.connectedColumns&&O.length>1){let e=n.colors??aS,t=n.connectionsOpacity??.15;for(let n=0;n<O.length-1;n++){let r=O[n],i=O[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=M(r.x1),c=M(i.x1),l=M(r.x0),u=M(i.x0),d=R.get(r.label)??e[0],f=R.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${ee}-${n}`,t=H.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}U.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<O.length-1;e++){let t=O[e],n=O[e+1];if(n.isTotal)break;U.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,M(t.x1)).attr(`x2`,M(t.x1)).attr(`y1`,(P(t.label)??0)+P.bandwidth()).attr(`y2`,(P(n.label)??0)+F).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(U.selectAll(`.bc-bar`).data(O,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(M(e.x0),M(e.x1))).attr(`y`,e=>(P(e.label)??0)+F).attr(`width`,e=>Math.abs(M(e.x1)-M(e.x0))).attr(`height`,P.bandwidth()-F).attr(`fill`,n=>n.isTotal?t:R.get(n.label)??e[0]).attr(`opacity`,e=>z.size>0?Px(z,e.label):null),n.valueLabels){let n=g;Q(y).append(`g`).selectAll(`.bc-value-label`).data(O,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(P(e.label)??0)+F+(P.bandwidth()-F)/2).attr(`x`,e=>{let t=Math.max(M(e.x0),M(e.x1));return n===ai.Inside?t-4:t+4}).attr(`text-anchor`,n===ai.Inside?`end`:`start`).attr(`fill`,r=>n===ai.Inside?Tr(r.isTotal?t:R.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:v(e.isTotal?e.x1:e.value))}}else{let t=ux(e),i=U.append(`g`).node();if(r)for(let e of s)i.appendChild(e);Sx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:E,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(M(0),M(e.value)),y:(P(e.label)??0)+F,width:Math.abs(M(e.value)-M(0)),height:P.bandwidth()-F,fill:R.get(e.label)??(n.colors??aS)[0],opacity:Px(z,e.label)})}),Ax(t,{svg:B,clipId:V,group:y,from:c,to:C,active:r&&s.length>0});let o=ix(U);n.tooltips&&o.use(Xy({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(Qy({width:b,height:x,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Yr.Horizontal})),n.annotations?.length&&o.use(Yb(n.annotations,{scaleX:P,scaleY:M,data:E,width:b,height:x,backgroundColor:Dr(e),orientation:Yr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(E);t.state===`committing`?t.register(l):l(),n.valueLabels&&lS(Q(y).append(`g`),E,M,P,{position:g,colorOverrides:R,colors:n.colors??aS,transition:r,swapLabelValue:_,categoryLabelOffset:F,percent:n.valueLabels===`percent`,total:ca(E,e=>e.value),formatValue:v,bounds:{plotWidth:b,marginLeft:S.left,marginRight:S.right}})}if(p){let e=Q(y).append(`g`).attr(`class`,`bc-category-labels`);for(let t of N){let n=P(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}$b(e,{chartType:`bar-horizontal`,margin:S,plotRect:C}),i&&(S_(U.node()),w_(e,i))}function cS(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-oS-o>=oS-a.marginLeft:f+oS+o<=a.plotWidth+a.marginRight-oS,m=d?a.plotWidth-f:f,h=(r===ai.Inside||u||!p)&&m>=o+oS;return h?d?{tx:f+oS,ty:s,anchor:`start`,isInside:h}:{tx:f-oS,ty:s,anchor:`end`,isInside:h}:d?{tx:f-oS,ty:s,anchor:`end`,isInside:h}:{tx:f+oS,ty:s,anchor:`start`,isInside:h}}function lS(e,t,n,r,i){let a=i.position??ai.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?zg(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=ux(l),d=t.filter(e=>Hx({text:s(e),placement:a===ai.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));Sx(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=cS(e,n,r,a,o,i.bounds,qx(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?Tr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}var uS=12,dS=16,fS=12,pS=8;function mS(e){return e>0?e-dS-fS:1/0}function hS(e,t=``,n=0){let r=t?` ${t}`:``,i=$g(e,mS(n)-Zg(r,uS),uS);return{label:i,suffix:r,width:dS+Zg(i+r,uS)+fS}}function gS(e){return Qg(e,uS)+dS+pS}function _S(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:gS(e),height:e.length*20};let r=e.map(e=>hS(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function vS(e){return e.length===0?0:Qg(e,uS)+10}var yS=200,bS=.2,xS=class extends Cg{initialize(){this.configDefine(`colors`,{defaultValue:re}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=Q(this),u=r[i],d=hS(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function SS(e){let t=Q(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=Q(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:bS)}),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=Q(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:bS)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=Q(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),v_(yS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function CS(e,t,n=re,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new xS(Q(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>hS(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=gS(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return SS(e),p}function wS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function TS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Cr.valid(e));return n.length<2?e:Cr.scale(n).mode(`lch`).colors(t)}function ES(e,t){return t?.find(t=>t.name===e)}function DS(e,t,n,r){return ES(e,r)?.color??n[t%n.length]}function OS(e,t){return ES(e,t)?.dash??`solid`}function kS(e,t){return ES(e,t)?.lineWidth??2}function AS(e,t,n){let r=ES(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function jS(e,t){return ES(e,t)?.hidden??!1}function MS(e,t,n){let r=ES(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function NS(e,t,n){let r=ES(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function PS(e,t){return ES(e,t)?.opacity??1}function FS(e,t,n){let r=ES(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var IS=4,LS=16,RS=8;function zS(e,t,n={},r=!1){b_(r);let i=null,a,o,s=[],c,l=uv.for(e);if(r){let t=Qb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=C_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))a.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=t.series??[],f=d.filter(e=>!jS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=TS(n.colors??re,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??ai.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?li.Auto:li.Off,x=n.legend!==!1&&!g,S=h_(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=u_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=p_(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,S-(O.left??50)-(O.right??20)),j=x?_S(p,w,A):{width:0,height:0},M=x?j.height+15:0,N={...O};x&&w===`top`&&(N.top=M+(k?15:0)),x&&w===`left`&&(N.left=(N.left??50)+j.width+10),x&&w===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,S-(N.left??50)-(N.right??20));N.bottom=(q_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(w===`bottom`?M:0);let F=g||!!h?.some(e=>e.labelMode===`direct`),I=v!==!1||!!h?.some(e=>e.valueLabels),L=F&&b!==li.Inside,R=I&&y!==ai.Inside,z=L&&R?LS:IS;(L||R)&&(N.top=(N.top??0)+z+RS);let{chartArea:B,width:V,height:H,margin:ee}=__(u,N),U=e_(o,ee),[te,ne]=ki(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&te<0&&n.verticalAxis?.range?.min==null){let e=ne-te;te-=e*.1}let ie=n.sortMode===ni.Total?ax(t.labels,(e,t)=>ox(f,t),$r.Descending):t.labels,ae=af().domain(ie).range([0,V]).padding(Oi(n.barGap)),W=af().domain(p).range([0,ae.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?If().domain([te,ne]).nice().range([H,0]):xf().domain([te,ne]).nice().range([H,0]);l.attach(B,U),l.update({vertical:{scale:se,height:H,options:{...n.verticalAxis,gridWidth:V,topPadding:ee.top}},horizontal:{scale:ae,height:H,options:{...n.horizontalAxis,width:V}}}),!oe&&te<0&&ne>0&&Q(B).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,V).attr(`y1`,se(0)).attr(`y2`,se(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let ce=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{ce.set(`${e}\0${t.name}`,p[n])})});let le=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?ce.get(`${e}\0${r.name}`)??r.name:r.name;le.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let ue=B.ownerSVGElement,de=nx(ue,e,`bars`,{x:0,y:0,width:V,height:H}),G=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),K=ux(e),fe=Nx(n.highlights,le.map(e=>e.seriesName)),pe=Xb(n.colorizes),me=G.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),me.appendChild(e);Sx(K,{role:`mark-per-cell`,parent:me,selector:`.bc-bar-multi`,data:le,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=DS(e.seriesName,e.seriesIndex,m,h),n=PS(e.seriesName,h),r={"data-series":e.seriesName,x:(ae(e.label)??0)+(W(e.series)??0),y:Math.min(se(0),se(e.value)),width:W.bandwidth(),height:Math.abs(se(e.value)-se(0)),fill:pe.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),fe.size>0?{...r,opacity:Px(fe,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};Ax(K,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=ix(G);if(n.tooltips&&ge.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(Qy({width:V,height:H,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));ge.use(Yb(n.annotations,{scaleX:ae,scaleY:se,data:i,width:V,height:H,backgroundColor:Dr(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);K.state===`committing`?K.register(_e):_e(),$b(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(S_(G.node()),w_(e,i));let ve=new Set;f.forEach(e=>{MS(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=Dr(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===ai.Inside?ai.Inside:(ai.Outside,ai.Outside)}function Ce(e){return b===li.Inside?ai.Inside:b===li.Outside?ai.Outside:v?Se():ai.Outside}function q(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let we=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!NS(e.seriesName,v,h))return;let t=(ae(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=Se(),a=ye&&ve.has(e.seriesName),o=e.value<0,s=n+r,c,l,u;i===ai.Inside?(l=Tr(DS(e.seriesName,e.seriesIndex,m,h)),u=`central`,c=a&&Ce(r)===ai.Inside?q(n,r,xe)+14:n+r/2):(l=`currentColor`,o?(c=a&&Ce(r)===ai.Outside?s+LS:s+IS,u=`hanging`):(c=a&&Ce(r)===ai.Outside?n-LS:n-IS,u=`auto`)),Hx({text:String(e.value),placement:i===ai.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:W.bandwidth(),barHeight:r})&&we.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,c).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,u).attr(`font-size`,`11px`).attr(`fill`,l).text(String(e.value))}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ae(e.label)??0)+(W(e.series)??0)+W.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=Ce(r),o=DS(e.seriesName,e.seriesIndex,m,h),s=Q(B).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===ai.Inside){let e=q(n,r,xe);s.attr(`y`,e).attr(`fill`,Tr(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-IS).attr(`fill`,Or(o,be))});let Te=p.filter(e=>MS(e,_,h)===`legend`);if(x&&Te.length>0){let e=Te.map(e=>DS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(j.height+10+e)}else w===`bottom`?n=H+Math.max(ee.bottom-M,0):w===`left`?t=-(j.width+10):w===`right`&&(t=V+10);CS(B,Te,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var BS={linear:lh,monotoneX:qh,step:Yh,stepBefore:Xh,stepAfter:Zh,basis:Fh,cardinal:Rh,catmullRom:Vh};function VS(e){return e&&BS[e]||lh}var HS=`bc-tooltip`,US=new WeakMap;function WS(e){let t=US.get(e);t&&(US.delete(e),t())}function GS(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
333
+ .${HS} {
330
334
  position: absolute;
331
335
  pointer-events: none;
332
336
  background: var(--bs-body-bg, #fff);
@@ -336,13 +340,16 @@ body {
336
340
  padding: 6px 10px;
337
341
  font-size: 13px;
338
342
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
343
+ max-width: 240px;
344
+ overflow-wrap: break-word;
339
345
  z-index: 9999;
340
346
  white-space: pre-line;
341
347
  display: none;
342
348
  }
343
- `,document.head.appendChild(e)}function LS(e){let t=e?Ng(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function RS(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=ri.Both,crosshairStyle:l=ii.Dashed,crosshairColor:u=`#999`,format:d=LS(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&PS.set(f,e),e}let p=l===ii.Solid?`none`:l===ii.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(IS(),g=document.createElement(`div`),g.className=NS,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===ri.Both||c===ri.Vertical),x=s&&(c===ri.Both||c===ri.Horizontal),S=null,C=null;b&&(S=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`)),x&&(C=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`));let w=y(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),T=y(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`),E=o===`xy`?wd.from(i,e=>e.cx,e=>e.cy):null;function D(e,t){if(E)return i[E.find(e,t)];if(m.length===0)return null;let n=Fi(m,e),r=m[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let O=t=>{let[n,r]=Ds(t,e),i=D(n,r);i&&(w.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`r`,i.r??6).attr(`stroke`,i.color).style(`display`,null),g&&(g.textContent=d(i),g.style.display=`block`,Vy(w.node(),g,{placement:`top`,middleware:[Ry(8),By(),zy()]}).then(({x:e,y:t})=>{g&&(g.style.left=`${e}px`,g.style.top=`${t}px`)})),S&&S.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),C&&C.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},k=()=>{w.style(`display`,`none`),g&&(g.style.display=`none`),S&&S.style(`display`,`none`),C&&C.style(`display`,`none`)},A=T.node();A.addEventListener(`mousemove`,O),A.addEventListener(`mouseleave`,k);let j=()=>{A.removeEventListener(`mousemove`,O),A.removeEventListener(`mouseleave`,k),T.remove(),w.remove(),g&&=(g.remove(),null),S&&S.remove(),C&&C.remove(),f&&PS.get(f)===j&&PS.delete(f)};return f&&PS.set(f,j),j}var zS={circle:ph,square:vh,diamond:_h,triangle:Th,triangleDown:Dh??Th,cross:mh,star:Ch};function BS(e,t,n){switch(n){case Xr.First:return e===0;case Xr.Last:return e===t-1;case Xr.FirstLast:return e===0||e===t-1;case Xr.All:default:return!0}}function VS(e,t,n,r,i=!1){let a=r.symbol??Yr.Circle,o=r.showOn??Xr.FirstLast,s=r.style??Zr.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>BS(e.index,n,o)),f=i?g_():0;if(a===Yr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}else{let t=zS[a]??ph,n=Math.PI*c*c,r=Oh().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}}function HS(e,t,n={},r=!1){h_(r),FS(e);let i=[],a=[],o=null,s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=u_(f).width,m=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=c_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=H_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=f_(f,h),x=Yg(l,b),S=wi(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=nf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?Mf().domain([j,M]).nice().range([y,0]):_f().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=Gb(I,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=MS(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,te=e=>Number.isFinite(e.value),ne=lh().curve(V).defined(te).x(e=>k(e)).y0(y).y1(e=>N(e.value)),re=ch().curve(V).defined(te).x(e=>k(e)).y(e=>N(e.value)),ie=Q(z).append(`g`).node(),ae=Q(z).append(`g`).node();if(r){for(let e of i)ie.appendChild(e);for(let e of a)ae.appendChild(e)}let U=Zb(e),oe=[{name:`line`,points:T}];lx(U,{role:`series-area`,parent:ie,selector:`.bc-area`,data:H?oe:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:ne(e.points)??``,fill:B,opacity:ee})}),lx(U,{role:`series-line`,parent:ae,selector:`.bc-line`,data:oe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:re(e.points)??``,fill:`none`,stroke:B})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let se={left:b.left,top:b.top,width:v+2,height:y+2};if(_x(U,{svg:I,clipId:L,group:_,from:u,to:se,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Lb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&RS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Fx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),VS(t,e,T.length,n.lineSymbols,r)}Hb(e,{chartType:`line`,margin:b,plotRect:se}),s&&(__(R.node()),y_(e,s))}var US=28,WS=18,GS=20,KS=12,qS=.3;function JS(e,t,n,r=US){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function YS(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+WS,c=US/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=JS(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*GS;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);if(r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Dr(e.color,a)).text(e.label),c){let t=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(t)}})}d(u,!0),d(l,!1)}var XS=.3;function ZS(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<XS||Kg(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=wr(e.color);if(t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n){let n=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(n)}}c.length>0&&YS(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function QS(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=Kg(e.label,a);n>r*1.2&&t>=XS&&r<=u*2?c.push(e):l.push(e)}c.length>0&&ZS(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&YS(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function $S(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+qg(e,KS)+6,i=e.length*US/2,a=Math.max(10,i-t+20),o=eC(r,n.width),s=eC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function eC(e,t){return t>0?Math.min(e,t*qS):e}var tC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function nC(e,t,n={},r=!1){h_(r),FS(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=av.for(e);if(r){let t=Vb(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=v_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))l.set(e,n);e.replaceChildren()}let{body:p}=Ag(e,n.frame),m=i.series??[],h=m.filter(e=>!xS(e.name,n.seriesOverrides));(n.sortMode===`total`||n.sortMode===`within-groups`)&&(h=[...h].sort((e,t)=>{let n=e.values.reduce((e,t)=>e+t,0);return t.values.reduce((e,t)=>e+t,0)-n}));let g=hS(n.colors??tC,m.length),_=h.map(e=>e.name),v=zb(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>SS(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=u_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=wi(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let A=h.flatMap(e=>e.values),j=a_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=c_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?sS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?oS(_,E,F):{width:0,height:0},L=C?I.height+15:0,R={...M};C&&E===`top`&&(R.top=L+(P?15:0)),C&&E===`left`&&(R.left=(R.left??50)+I.width+10),C&&E===`right`&&(R.right=(R.right??20)+I.width+10),N>0&&(R.right=(R.right??20)+N),R.bottom=(H_(i.labels,Math.max(0,w-(R.left??50)-(R.right??20)),n.horizontalAxis)??Math.max(R.bottom??24,24))+(E===`bottom`?L:0);let{chartArea:z,width:B,height:V,margin:H}=f_(p,R),ee=Yg(u,H),[te,ne]=Ei(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),re=nf().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),ie=re,ae=e=>re(i.labels[e])??0,U=n.verticalAxis?.scaleType===`log`?Mf().domain([te,ne]).nice().range([V,0]):_f().domain([te,ne]).nice().range([V,0]),oe=U.domain(),se=oe[0]<0&&oe[1]>0?U(0):void 0;f.attach(z,ee),f.update({vertical:{scale:U,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:H.top}},horizontal:{scale:ie,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=Gb(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),W=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),G=MS(n.interpolation);n.areaFills?.length&&rC(de,n.areaFills,h,ae,i.labels.length,U,G);let fe=e=>Number.isFinite(e),pe=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{fe(e.values[r])&&pe.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let me=n.lineSymbols,he={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},ge=n.valueLabels??!1,_e=bx(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??_S(e.name,e.colorIndex,g,y),xe=lh().curve(G).defined(fe).x((e,t)=>ae(t)).y0(V).y1(e=>U(e)),Se=Zb(e),Ce=Q(de).append(`g`).node(),K=Q(de).append(`g`).node(),we=new Set(W.map(e=>e.name));if(r){for(let e of a)we.has(e.__data__?.name??``)&&Ce.appendChild(e);for(let e of o)we.has(e.__data__?.name??``)&&K.appendChild(e)}lx(Se,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:ve?W:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:xe(e.values)??``,fill:be(e),opacity:xx(_e,e.name,ye)})}),lx(Se,{role:`series-line`,parent:K,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=bS(e.name,n.interpolation??`linear`,y),r=ch().curve(MS(t)).defined(fe).x((e,t)=>ae(t)).y(e=>U(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:be(e),style:`stroke-width:${yS(e.name,y)}`,"stroke-dasharray":he[vS(e.name,y)]??``,opacity:xx(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(pe,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ae(i.labels.indexOf(e.label))).attr(`cy`,e=>U(e.value)).attr(`r`,3).attr(`fill`,e=>be({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let Te={left:H.left,top:H.top,width:B,height:V};if(_x(Se,{svg:ce,clipId:le,group:z,from:d,to:Te,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Lb(z,n.annotations,{scaleX:ie,scaleY:U,data:t,width:B,height:V,backgroundColor:Er(e),transition:r,priorAnnotations:l})}let Ee=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);pe.forEach(e=>{if(!CS(e.series,ge,y))return;let t=ae(i.labels.indexOf(e.label)),n=U(e.value),r=Fx(String(e.value),t,n,{width:B,height:V,margin:H});Ee.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.series).attr(`x`,r.x).attr(`y`,r.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(String(e.value))}),(n.tooltips||n.crosshair)&&RS(z,{width:B,height:V,points:pe.map(e=>({cx:ae(i.labels.indexOf(e.label)),cy:U(e.value),label:e.label,value:e.value,series:e.series,color:_S(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let De=me?{name:``,lineSymbols:!0,symbolShape:me.symbol,symbolShowOn:me.showOn,symbolStyle:me.style,symbolSize:me.size,symbolOpacity:me.opacity}:void 0,Oe=i.labels.length;h.forEach((e,t)=>{let n=TS(e.name,De,y);if(!n)return;let a={symbol:n.symbolShape??me?.symbol??Yr.Circle,showOn:n.symbolShowOn??me?.showOn??Xr.FirstLast,style:n.symbolStyle??me?.style??Zr.Filled,size:n.symbolSize??me?.size??3.5,opacity:n.symbolOpacity??me?.opacity??1},o=i.labels.map((n,r)=>({cx:ae(r),cy:U(e.values[r]),color:_S(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(z.appendChild(c),l=Q(c),u=!0):l=Q(z).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),VS(l,o,Oe,a,r&&u)});let ke=i.labels.length-1,Ae=ae(ke)+6,je=[];if(h.forEach((e,t)=>{if(SS(e.name,x,y)!==`direct`)return;let n=e.values[ke];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;je.push({name:e.name,index:t,naturalY:U(n),text:r})}),je.length>0){je.sort((e,t)=>e.naturalY-t.naturalY);let e=JS(je.map(e=>e.naturalY),0,V,14);je.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ae).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,_S(t.name,t.index,g,y)).text(t.text)})}let Me=_.filter(e=>SS(e,x,y)===`legend`);if(C&&Me.length>0){let e=Me.map(e=>_S(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=P?15:0;n=-(I.height+10+e)}else E===`bottom`?n=V+Math.max(H.bottom-L,0):E===`left`?t=-(I.width+10):E===`right`&&(t=B+10);pS(z,Me,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}Hb(e,{chartType:`line-multi`,margin:H,plotRect:Te}),c&&(__(ue.node()),y_(e,c))}function rC(e,t,n,r,i,a,o){let s=Q(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?MS(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)aC(s,t.values,i.values,r,a,c,u,d,l);else{let e=lh().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function iC(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function aC(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=iC(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}var oC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function sC(e){return Gd(`,`)(Number(e.toPrecision(12)))}var cC=class extends yg{initialize(){}};function lC(e,t,n={},r=!1){uC(e,t,n,.6,r)}function uC(e,t,n,r,i=!1){h_(i);let a=null,o;if(i){let t=Vb(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:s}=Ag(e,n.frame),c=[...t.labels],l=[...t.values];if(n.sort===Qr.Ascending||n.sort===Qr.Descending){let e=c.map((e,t)=>({label:e,value:l[t]}));e.sort((e,t)=>n.sort===Qr.Ascending?e.value-t.value:t.value-e.value),c=e.map(e=>e.label),l=e.map(e=>e.value)}if(n.sliceMax&&n.sliceMax>0&&c.length>n.sliceMax){let e=n.sliceMax-1,t=c.map((e,t)=>({label:e,value:l[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);c=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],l=[...r.map(e=>e.value),i]}let u=l.reduce((e,t)=>e+t,0),d=l.map(e=>u>0?e/u*100:0),f=hS(n.colors??oC,c.length),p=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?oi.Auto:oi.Off,m=!!p&&(p!==oi.Auto||n.legend!==!0),h=(n.showValues??!0)&&!m?l.map((e,t)=>`(${n.displayAsPercentage?`${Math.round(d[t])}%`:sC(e)})`):[],g=n.legend!==!1&&!m,_=u_(s).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=h.length>0?c.map((e,t)=>`${e} ${h[t]}`):c,S=Math.max(0,_-50-20),C=g?oS(x,y,S):{width:0,height:0},w=g?C.height+15:0,T={};if(g&&y===`top`&&(T.top=w),g&&y===`bottom`&&(T.bottom=24+w),g&&y===`left`&&(T.left=50+C.width+10),g&&y===`right`&&(T.right=20+C.width+10),m){let e=u_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=$S(c,r,{width:t,height:n});T.left=(T.left??20)+i.left,T.right=(T.right??20)+i.right,T.top=(T.top??20)+i.top,T.bottom=(T.bottom??20)+i.bottom}let{chartArea:E,width:D,height:O,margin:k}=f_(s,T),A=Math.min(D,O)/2,j=A*r,M=$d().domain(c).range(f);if(l.some(e=>e<0)){let e=c.filter((e,t)=>l[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=c.map((e,t)=>({label:e,value:l[t]})).filter(e=>e.value>=0);c=t.map(e=>e.label),l=t.map(e=>e.value)}let N=fh().sort(null),P=nh().innerRadius(j).outerRadius(A),F=Q(E).append(`g`).attr(`transform`,`translate(${D/2},${O/2})`),I=zb(n.colorizes),L=N(l),R=L.map((e,t)=>({label:c[t],value:l[t],arc:e,color:I.get(c[t])??M(c[t])})),z=Zb(e),B=bx(n.highlights,c);lx(z,{role:`mark-per-category`,parent:F.append(`g`).node(),selector:`.bc-arc`,data:R,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:P(e.arc)??``,fill:e.color};return B.size>0?{...t,opacity:xx(B,e.label)}:t}});let V=new cC(F);if(n.tooltips&&V.use(Gy()),V.draw(R),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(R.map(e=>[e.label,P.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&Rb(a,{scaleX:$d().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+D/2)),scaleY:_f().domain([0,1]).range([0,1]),data:R.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+O/2})),width:D,height:O,backgroundColor:Er(e),transition:i,priorAnnotations:o}).postDraw({base:Q(E)},void 0)}if(m){let t=L.map((e,t)=>({label:c[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:M(c[t]),percentage:d[t],displayAsPercentage:n.displayAsPercentage,showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=F,i={outerRadius:A,innerRadius:j,chartWidth:D,chartHeight:O,bgColor:Er(e)};p===oi.Inside?ZS(r,t,i):p===oi.Auto?QS(r,t,i):YS(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=sC(u);F.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),F.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(g){let e=0,t=0;y===`top`?t=-(C.height+10):y===`bottom`?t=O+25:y===`left`?e=-(C.width+10):y===`right`&&(e=D+10),pS(E,c,f,t,y,b,D,O,e,h,{left:k.left,right:k.right})}Hb(e,{chartType:r>0?`donut`:`pie`}),a&&(__(F.node()),y_(e,a))}function dC(e,t,n={},r=!1){uC(e,t,n,0,r)}function fC(e,t,n={},r=!1){h_(r),FS(e);let i=[],a=[],o=null,s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=u_(f).width,m=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=c_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=H_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=f_(f,h),x=Yg(l,b),S=wi(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=nf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?Mf().domain([j,M]).nice().range([y,0]):_f().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=Gb(I,e,`plot`,{x:0,y:0,width:v,height:y}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=MS(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),te=lh().curve(V).defined(ee).x(e=>k(e)).y0(y).y1(e=>N(e.value)),ne=ch().curve(V).defined(ee).x(e=>k(e)).y(e=>N(e.value)),re=Q(z).append(`g`).node(),ie=Q(z).append(`g`).node();if(r){for(let e of i)re.appendChild(e);for(let e of a)ie.appendChild(e)}let ae=Zb(e),U=[{name:`area`,points:T}];lx(ae,{role:`series-area`,parent:re,selector:`.bc-area`,data:U,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:te(e.points)??``,fill:B,opacity:H})}),lx(ae,{role:`series-line`,parent:ie,selector:`.bc-line`,data:U,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(e.points)??``,fill:`none`,stroke:B,"stroke-width":2})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let oe={left:b.left,top:b.top,width:v,height:y};if(_x(ae,{svg:I,clipId:L,group:_,from:u,to:oe,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Lb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&RS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Fx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),VS(t,e,T.length,n.lineSymbols,r)}Hb(e,{chartType:`area`,margin:b,plotRect:oe}),s&&(__(R.node()),y_(e,s))}function pC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return Qh().keys(n).order(Yh).offset(r?$h:Jh)(i)}function mC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return Qh().keys(n).order(Yh).offset(r?$h:Jh)(i)}var hC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function gC(e,t,n={},r=!1){h_(r),FS(e);let i=t,a=[],o=[],s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=wi(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=mS(i),h=m.filter(e=>!xS(e.name,n.seriesOverrides)),g=hS(n.colors??hC,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=zb(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>SS(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=u_(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,A=n.stackPercent===!0||n.stackMode===ai.Percent,j=n.areaSortMode??Qr.None,M=n.areaLines!==!1,N=[...h];if(j!==Qr.None){let e=new Map(N.map(e=>[e.name,e.values.reduce((e,t)=>e+t,0)]));N.sort((t,n)=>{let r=(e.get(t.name)??0)-(e.get(n.name)??0);return j===Qr.Ascending?r:-r})}let P={labels:i.labels,values:i.values,series:N},F=A?mC(P):pC(P),I=0;if(k)for(let e of F)for(let t of e)t[1]>I&&(I=t[1]);else for(let e of N)for(let t of e.values)t>I&&(I=t);A&&(I=100);let L=[0,I],R=n.verticalAxis?.numberFormat??(A?`|d|%`:void 0),z=a_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=c_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?sS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),te=w?oS(v,D,ee):{width:0,height:0},ne=w?te.height+15:0,re={...B};w&&D===`top`&&(re.top=ne+(H?15:0)),w&&D===`left`&&(re.left=(re.left??50)+te.width+10),w&&D===`right`&&(re.right=(re.right??20)+te.width+10),V>0&&(re.right=(re.right??20)+V),re.bottom=(H_(i.labels,Math.max(0,T-(re.left??50)-(re.right??20)),n.horizontalAxis)??Math.max(re.bottom??24,24))+(D===`bottom`?ne:0);let{chartArea:ie,width:ae,height:U,margin:oe}=f_(f,re),se=Yg(l,oe),ce=nf().domain(i.labels).range([0,ae]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,W]=Ei(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),G=(n.verticalAxis?.scaleType===zr.Log?Mf():_f()).domain([de,W]).nice().range([U,0]);d.attach(ie,se),d.update({vertical:{scale:G,height:U,options:{...n.verticalAxis,numberFormat:R,gridWidth:ae,topPadding:oe.top}},horizontal:{scale:le,height:U,options:{...n.horizontalAxis,width:ae}}});let fe=ie.ownerSVGElement,pe=Gb(fe,e,`plot`,{x:0,y:0,width:ae,height:U}),me=Q(ie).append(`g`).attr(`clip-path`,`url(#${pe})`),he=me.node(),ge=MS(n.interpolation??`monotoneX`),_e=F.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[G(e[0]),G(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[G(0),G(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=bx(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??_S(e.name,e.colorIndex,g,y),Se=lh().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),K=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)K.appendChild(e)}let we=Zb(e);lx(we,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:_e,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(e.points)??``,fill:xe(e),opacity:ye?xx(ve,e.name,be):be})}),lx(we,{role:`series-line`,parent:K,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=bS(e.name,n.interpolation??`monotoneX`,y),r=ch().curve(MS(t)).x((e,t)=>ue(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:xe(e),"stroke-width":1,opacity:ye?xx(ve,e.name,1):1}}});let Te={left:oe.left,top:oe.top,width:ae,height:U};if(_x(we,{svg:fe,clipId:pe,group:ie,from:u,to:Te,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Lb(ie,n.annotations,{scaleX:le,scaleY:G,data:t,width:ae,height:U,backgroundColor:Er(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];F.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:ue(a),cy:G(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:_S(e.key,n,g,y)})})}),RS(ie,{width:ae,height:U,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Ee=i.labels.length-1,De=ue(Ee)+6,Oe=[];if(h.forEach((e,t)=>{if(SS(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[Ee];if(!r)return;let i=G((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;Oe.push({name:e.name,index:t,naturalY:i,text:a})}),Oe.length>0){Oe.sort((e,t)=>e.naturalY-t.naturalY);let e=JS(Oe.map(e=>e.naturalY),0,U,14);Oe.forEach((t,n)=>{Q(ie).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,De).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,_S(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>SS(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>_S(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=H?15:0;n=-(te.height+10+e)}else D===`bottom`?n=U+Math.max(oe.bottom-ne,0):D===`left`?t=-(te.width+10):D===`right`&&(t=ae+10);pS(ie,ke,e,n,D,O,ae,U,t,[],{left:oe.left,right:oe.right})}Hb(e,{chartType:`area-stacked`,margin:oe,plotRect:Te}),s&&(__(me.node()),y_(e,s))}var _C=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function vC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function yC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??_C,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ai.Percent,C=vC(S?mC(x):pC(x),t.labels,d),w=S?100:ta(C,e=>e.y1)??0,T=S?Math.min(0,na(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=a_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=c_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,_-(O.left??50)-(O.right??20)),j=g?oS(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...O};g&&y===`top`&&(N.top=M+(k?15:0)),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,_-(N.left??50)-(N.right??20));N.bottom=(H_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(y===`bottom`?M:0);let{chartArea:F,width:I,height:L,margin:R}=f_(u,N),z=Yg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let V=ef().domain(B).range([0,I]).padding(Ti(n.barGap)),[H,ee]=Ei(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),te=(n.verticalAxis?.scaleType===zr.Log?Mf():_f()).domain([H,ee]).nice().range([L,0]);l.attach(F,z),l.update({vertical:{scale:te,height:L,options:{...n.verticalAxis,gridWidth:I,topPadding:R.top}},horizontal:{scale:V,height:L,options:{...n.horizontalAxis,width:I}}});let ne=F.ownerSVGElement,re=Gb(ne,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${re})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),U=zb(n.colorizes),oe=bx(n.highlights,C.map(e=>e.seriesName)),se=Zb(e),ce=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ce.appendChild(e);lx(se,{role:`mark-per-cell`,parent:ce,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=U.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:V(e.label)??0,y:te(e.y1),width:V.bandwidth(),height:te(e.y0)-te(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),oe.size>0&&(r.opacity=xx(oe,e.seriesName)),r}});let le={left:R.left,top:R.top,width:I,height:L};_x(se,{svg:ne,clipId:re,group:F,from:c,to:le,active:r&&i.length>0});let ue=qb(ie);if(n.tooltips&&ue.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ue.use(qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));ue.use(Rb(n.annotations,{scaleX:V,scaleY:te,data:i,width:I,height:L,backgroundColor:Er(e),transition:r,priorAnnotations:o}))}let de=()=>ue.draw(ae);se.state===`committing`?se.register(de):de(),Hb(e,{chartType:`column-stacked`,margin:R,plotRect:le}),a&&(__(ie.node()),y_(e,a));let W=n.valueLabels??!1,G=Hi(ae,e=>ta(e,e=>e.y1)??0,e=>e.label),fe=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!CS(e.seriesName,W,h))return;let t=(V(e.label)??0)+V.bandwidth()/2,r=Math.abs(te(e.y0)-te(e.y1)),i=te(e.y0)-r/2,a=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Pg(e.value,G.get(e.label)??0):String(Math.round(e.value*100)/100);if(!kx({text:a,placement:`inside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}))return;let o=U.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h);fe.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,i).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(o)).text(a)}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(j.height+10+e)}else y===`bottom`?n=L+Math.max(R.bottom-M,0):y===`left`?t=-(j.width+10):y===`right`&&(t=I+10);pS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var bC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function xC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function SC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??bC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ai.Percent,C=xC(S?mC(x):pC(x),t.labels,d),w=S?100:ta(C,e=>e.y1)??0,T=S?Math.min(0,na(C,e=>e.y0)??0):0,E=zx(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=s_(t.labels),k=c_(_,D?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?oS(p,y,j):{width:0,height:0},N=g?M.height+15:0,P={...k};g&&y===`top`&&(P.top=N+(A?15:0)),g&&y===`bottom`&&(P.bottom=(P.bottom??24)+N),g&&y===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let{chartArea:F,width:I,height:L,margin:R}=f_(u,P),z=Yg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let[V,H]=Ei(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),ee=(n.horizontalAxis?.scaleType===zr.Log?Mf():_f()).domain([V,H]).nice().range([0,I]),te=ef().domain(B).range([0,L]).padding(Ti(n.barGap));l.attach(F,z),l.update({horizontal:{scale:ee,height:L,options:{...n.horizontalAxis,width:I}},vertical:{scale:te,height:L,options:{...n.verticalAxis,labelPosition:D?Vr.Off:n.verticalAxis?.labelPosition,topPadding:R.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let ne=F.ownerSVGElement,re=Gb(ne,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${re})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),U=D?Lx(te.bandwidth()):0,oe=zb(n.colorizes),se=bx(n.highlights,C.map(e=>e.seriesName)),ce=Zb(e),le=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);lx(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=oe.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:ee(e.y0),y:(te(e.label)??0)+U,width:ee(e.y1)-ee(e.y0),height:Math.max(0,te.bandwidth()-U),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=xx(se,e.seriesName)),r}});let ue={left:R.left,top:R.top,width:I,height:L};_x(ce,{svg:ne,clipId:re,group:F,from:c,to:ue,active:r&&i.length>0});let de=qb(ie);if(n.tooltips&&de.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));de.use(Rb(n.annotations,{scaleX:te,scaleY:ee,data:i,width:I,height:L,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:o}))}let W=()=>de.draw(ae);if(ce.state===`committing`?ce.register(W):W(),Hb(e,{chartType:`bar-stacked`,margin:R,plotRect:ue}),a&&(__(ie.node()),y_(e,a)),D){let e=Q(F).append(`g`).attr(`class`,`bc-category-labels`);for(let t of B){let n=te(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let G=n.valueLabels??!1,fe=n.valueLabelPosition??ni.Auto,pe=new Set,me=new Map;for(let e of B){let t=ae.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];pe.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;me.set(n,ee(t[e+1].y1)-ee(t[e].y1))}}}let he=new Map,ge=Hi(ae,e=>ta(e,e=>e.y1)??0,e=>e.label),_e=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!CS(e.seriesName,G,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Pg(e.value,ge.get(e.label)??0):String(Math.round(e.value*100)/100),r=ee(e.y1)-ee(e.y0),i=t.length*6.5+8,a=r>=i,o=(te(e.label)??0)+U+(te.bandwidth()-U)/2,s=_S(e.seriesName,e.seriesIndex,m,h),c=pe.has(e.label+`\0`+e.seriesName),l=fe===ni.Outside||fe===ni.Auto&&!a&&c,u=kx({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:te.bandwidth()}),d=()=>{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)};if(l){if(fe===ni.Inside)d();else{let n=ee(e.y1)+4,r=he.get(e.label)??0,a=me.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=I+R.right-2,f=n+i>l;s||c||f||!u?d():(he.set(e.label,n+i),_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=A?15:0;n=-(M.height+10+e)}else y===`bottom`?n=L+25:y===`left`?t=-(M.width+10):y===`right`&&(t=I+10);pS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var CC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],wC=16,TC=4,EC=20,DC=`600 11px sans-serif`,OC=`…`;function kC(e,t){if(Px(e,DC)<=t)return e;let n=e;for(;n.length>0&&Px(n+OC,DC)>t;)n=n.slice(0,-1);return n+OC}function AC(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*wC)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=Ei(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===zr.Log?Mf():_f()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+wC),panelWidth:o,xScale:l}})}function jC(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(e)for(let r of t){let t=n.indexOf(r),o=t>=0?e.values[t]??0:0,s=Math.max(0,a.xScale(o)-a.xScale(0));i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:o,xPos:a.xOffset,barWidth:s})}}return i}function MC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??CC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=zx(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=s_(t.labels),w=c_(_,S?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+EC;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?oS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+EC),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=f_(u,O),N=Yg(o,M),P=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),P=e.map(e=>e.label)}let F=ef().domain(P).range([0,j]).padding(Ti(n.barGap)),I=S?Lx(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Vr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=AC(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)Y_(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=Gb(z,e,`bars`,{x:0,y:0,width:A,height:j}),V=Q(k).append(`g`).attr(`clip-path`,`url(#${B})`),H=Q(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of L)H.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(kC(e.seriesName,e.panelWidth));let ee=jC(L,P,t.labels,d),te=bx(n.highlights,ee.map(e=>e.seriesName)),ne=zb(n.colorizes),re=Zb(e),ie=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ie.appendChild(e);lx(re,{role:`mark-per-cell`,parent:ie,selector:`.bc-bar-split`,data:ee,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=ne.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(F(e.label)??0)+I,width:e.barWidth,height:Math.max(0,F.bandwidth()-I),fill:t};return n<1&&(r[`fill-opacity`]=n),te.size>0&&(r.opacity=xx(te,e.seriesName)),r}});let ae={left:M.left,top:M.top,width:A,height:j};_x(re,{svg:z,clipId:B,group:k,from:s,to:ae,active:r&&i.length>0});let U=qb(V);if(n.tooltips&&U.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&U.use(qy({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&L.length>0){let i=L[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));U.use(Rb(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>U.draw(ee);if(re.state===`committing`?re.register(oe):oe(),Hb(e,{chartType:`bar-split`,margin:M,plotRect:ae}),a&&(__(V.node()),y_(e,a)),S){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let se=n.valueLabels??!0,ce=n.valueLabelPosition??ni.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!CS(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=_S(e.seriesName,e.seriesIndex,m,h),r=e.xPos+e.barWidth,i=Math.max(0,F.bandwidth()-I),a=(F(e.label)??0)+I+i/2,o=r+TC+Px(String(e.value))<=t.xOffset+t.panelWidth,s=ce===ni.Inside||!o||ce===ni.Auto&&e.barWidth>30;if(!kx({text:String(e.value),placement:s?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:i}))return;let c,l,u;s?(c=r-TC,l=`end`,u=wr(n)):(c=r+TC,l=`start`,u=`currentColor`),le.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,c).attr(`y`,a).attr(`text-anchor`,l).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,u).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+EC):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),pS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}var NC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function PC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=hS(n.colors??NC,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=u_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=zx(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=s_(t.labels),T=c_(v,C?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?oS(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:A,width:j,height:M,margin:N}=f_(u,k),P=Yg(o,N),F=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),F=e.map(e=>e.label)}let I=ef().domain(F).range([0,M]).paddingInner(Ti(n.barGap)).paddingOuter(.05),L=C?Lx(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=ef().domain(p).range([0,R]).padding(.05),[B,V]=Ei(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===zr.Log?Mf():_f()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Vr.Off:n.verticalAxis?.labelPosition,topPadding:N.top,...S?{showAxis:!1}:{}}},horizontal:{scale:H,height:M,options:{...n.horizontalAxis,width:j}},order:`horizontal-first`});let ee=A.ownerSVGElement,te=Gb(ee,e,`bars`,{x:0,y:0,width:j,height:M}),ne=Q(A).append(`g`).attr(`clip-path`,`url(#${te})`);if(n.barBackground){let e=(n.colors??NC)[0];ne.selectAll(`.bc-bar-bg`).data(F,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(I(e)??0)+L).attr(`width`,j).attr(`height`,I.bandwidth()-L).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&F.length>1){let e=I.step();for(let t=1;t<F.length;t++){let n=(I(F[t-1])??0)+I.bandwidth()+(e-I.bandwidth())/2;ne.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,j).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let re=[];for(let e of F){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);re.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ie=bx(n.highlights,re.map(e=>e.seriesName)),ae=zb(n.colorizes),U=Zb(e),oe=ne.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),oe.appendChild(e);lx(U,{role:`mark-per-cell`,parent:oe,selector:`.bc-bar-grouped`,data:re,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=ae.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,h,g),n=wS(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.seriesName)??0),width:Math.max(0,H(e.value)-H(0)),height:z.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),ie.size>0&&(r.opacity=xx(ie,e.seriesName)),r}});let se={left:N.left,top:N.top,width:j,height:M};_x(U,{svg:ee,clipId:te,group:A,from:s,to:se,active:r&&i.length>0});let ce=qb(ne);if(n.tooltips&&ce.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ce.use(qy({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));ce.use(Rb(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let le=()=>ce.draw(re);if(U.state===`committing`?U.register(le):le(),Hb(e,{chartType:`bar-grouped`,margin:N,plotRect:se}),a&&(__(ne.node()),y_(e,a)),C){let e=Q(A).append(`g`).attr(`class`,`bc-category-labels`);for(let t of F){let n=I(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let ue=n.valueLabels??!0,de=n.valueLabelPosition??ni.Auto,W=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(re.forEach(e=>{if(!CS(e.seriesName,ue,g))return;let t=_S(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,H(e.value)-H(0)),r=H(0)+n,i=(I(e.label)??0)+L+(z(e.seriesName)??0)+z.bandwidth()/2,a=de===ni.Inside||de===ni.Auto&&n>30;if(!kx({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:z.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=wr(t)):(o=r+4,s=`start`,c=`currentColor`),W.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>_S(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=M+25:b===`left`?t=-(D.width+10):b===`right`&&(t=j+10),pS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var FC=[`x`,`y`,`size`];function IC(e){let t=new Set(e.textColumns?.map(e=>e.name));return(e.series?e.series.map(e=>e.name):[`value`]).filter(e=>!t.has(e))}function LC(e,t={}){let n={},r=new Set(FC.map(e=>t[e]).filter(Boolean)),i=IC(e).filter(e=>!r.has(e));for(let e of FC){let r=t[e]||i.shift();r&&r!==`none`&&(n[e]=r)}let a=t.group||e.textColumns?.[0]?.name;return a&&a!==`none`&&(n.group=a),n}function RC(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function zC(e){return typeof e==`number`&&Number.isFinite(e)}function BC(e,t,n,r){if(!zC(e))return n;if(t===zr.Log&&e<=0)return r}function VC(e,t,n){let r=RC(e,t.x),i=RC(e,t.y),a=RC(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=BC(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??BC(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(zC(a[t])&&a[t]>0)?`invalid-size`:void 0);if(l){c.push({name:e,reason:l});return}let u=o?.[t];s.push({name:e,x:r[t],y:i[t],...a&&{size:a[t]},...u&&{group:u}})}),{points:s,dropped:c}}function HC(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function UC(e,t){let n=t&&{min:HC(t.min),max:HC(t.max)},r=Ei(e.filter(e=>e>0),n,zr.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Of().domain(r).nice():Of().domain([1,10])}function WC(e,t,n){if(e===zr.Log)return UC(t,n);let r=Ei(t,n,e,!1);return e===zr.Symlog?Mf().domain(r).nice():_f().domain(r).nice()}function GC(e){switch(e){case zr.Log:return{forward:Math.log10,inverse:e=>10**e};case zr.Symlog:return{forward:e=>Math.sign(e)*Math.log1p(Math.abs(e)),inverse:e=>Math.sign(e)*Math.expm1(Math.abs(e))};default:return{forward:e=>e,inverse:e=>e}}}function KC(e,t,n,r=0){let i=e.copy().range([0,1]),a=[{t:0,r},{t:1,r},...t.map(({value:e,r:t})=>({t:i(e),r:t}))],o=e=>Math.max(...a.map(t=>t.r-t.t*e)),s=e=>{let t=o(e);return a.every(r=>t+r.t*e+r.r<=n)},c=0,l=n;for(let e=0;e<40;e++){let e=(c+l)/2;s(e)?c=e:l=e}let u=o(c);return[u,u+c]}var qC=[1,2,5],JC=11,YC=`${JC}px`,XC=8,ZC=6,QC=24,$C=`4 3`,ew=JC*1.2,tw=Gd(`~s`);function nw(e,t){let n=[...new Set(e.map(e=>e.group).filter(e=>!!e))];return new Map(n.map((e,n)=>[e,t[n%t.length]]))}function rw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>qC.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function iw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,YC).attr(`fill`,`currentColor`).text(t)}function aw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=ew)&&n.push(r)}return n.reverse()}function ow(e,{sizeLabel:t,sizeValues:n,radius:r},i){let a=Q(e).append(`g`).attr(`class`,`bc-size-legend`),o=r(n[n.length-1]);t&&iw(a,t,0,i-o*2-ZC),aw(n,r).forEach(e=>{let t=r(e);a.append(`circle`).attr(`cx`,o).attr(`cy`,i-t).attr(`r`,t).attr(`fill`,`none`).attr(`stroke`,`currentColor`).attr(`stroke-opacity`,.6),iw(a,tw(e),o*2+ZC,i-t*2+XC)})}function sw(e){let t=Q(e).append(`g`).attr(`class`,`bc-trend-key`).attr(`transform`,`translate(0,-16)`);t.append(`line`).attr(`x1`,0).attr(`x2`,QC).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,$C),iw(t,`Trend`,30,10)}function cw({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(tw);i.push(n(t[t.length-1])*2+ZC+Math.max(...r.map(e=>Kg(e,JC)))),i.push(Kg(e??``,JC))}return r&&i.push(30+Kg(`Trend`,JC)),Math.ceil(Math.max(...i))}function lw(e,t){let n=t.sizeValues.length>0;if(!n&&!t.trend)return null;let r=Q(e).append(`g`).attr(`class`,`bc-scatter-key`).node();return n&&ow(r,t,t.trend?-24:0),t.trend&&sw(r),r}function uw(e,t){let n=new Set(e.map(e=>e.name)),r=new Set;for(let i of t){if(n.has(i)){r.add(i);continue}e.filter(e=>e.group===i).forEach(e=>r.add(e.name))}return r}function dw(e,t){let n=new Set(e.map(e=>e.name)),r=[...t];return{points:new Map(r.filter(([e])=>n.has(e))),groups:new Map(r.filter(([e])=>!n.has(e)))}}function fw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var pw=3,mw=2,hw=1.3;function gw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*hw/2;return[{key:n,x:r+a+pw,y:i,anchor:`start`},{key:n,x:r-a-pw,y:i,anchor:`end`},{key:n,x:r,y:i-a-pw-o,anchor:`middle`},{key:n,x:r,y:i+a+pw+o,anchor:`middle`}]}function _w(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*hw/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function vw(e,t){return e.left<t.right+mw&&t.left<e.right+mw&&e.top<t.bottom&&t.top<e.bottom}function yw(e,t,n){let r=[],i=[];for(let a of e){let e=Kg(a.text,n);for(let o of gw(a,n)){let a=_w(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>vw(e,a))){r.push(o),i.push(a);break}}}return r}function bw(e){return(e?Ng(e):null)??String}function xw(e,t,n){let r=[e.name,`${t.x}: ${bw(n.x)(e.x)}`,`${t.y}: ${bw(n.y)(e.y)}`];return e.size!==void 0&&t.size&&r.push(`${t.size}: ${e.size}`),e.group!==void 0&&t.group&&r.push(`${t.group}: ${e.group}`),r.join(`
344
- `)}var Sw=[`overall`,`per-group`];function Cw(e){return Sw.includes(e??``)}var ww=3;function Tw(e,t){let n=e.length;if(n<ww)return null;let r=e.reduce((e,t)=>e+t,0)/n,i=t.reduce((e,t)=>e+t,0)/n,a=e.reduce((e,t)=>e+(t-r)**2,0);if(a===0)return null;let o=e.reduce((e,n,a)=>e+(n-r)*(t[a]-i),0)/a;return{slope:o,intercept:i-o*r}}function Ew(e,t,n,r){let i=GC(t.x),a=GC(t.y),o=e.map(e=>i.forward(e.x)),s=Tw(o,e.map(e=>a.forward(e.y)));if(!s)return null;let[c,l]=[Math.min(...o),Math.max(...o)],u=e=>a.inverse(s.slope*e+s.intercept);return{key:n,group:r,x1:i.inverse(c),y1:u(c),x2:i.inverse(l),y2:u(l)}}function Dw(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):Ow(e);for(let[e,o]of a){let a=Ew(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function Ow(e){let t=new Map;for(let n of e)n.group!==void 0&&t.set(n.group,[...t.get(n.group)??[],n]);return t}var kw=`#4e79a7`,Aw=4.5,jw=.7,Mw=16,Nw=350,Pw=8,Fw=`6 4`,Iw=1.5,Lw=.6,Rw=11,zw=3;function Bw(e,t){return Math.min(e,t)/12}function Vw(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function Hw(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function Uw(e,t,n){let r=ta(e,e=>e.size);return r===void 0?()=>Aw:Rf().domain([0,r]).range([0,Bw(t,n)])}function Ww(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Kr.Point?[e.target]:[])),i=n.showLabels?e:e.filter(e=>t.has(e.name)||r.has(e.name)),a=e=>+!t.has(e.name);return Gi(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function Gw(e,t,n={},r=!1){h_(r),FS(e);let i=av.for(e),a=r?Vb(e):void 0,o=[],s=[],c=[],l=null,u;if(r){i.detach(),a?.chartType===`scatter`?(o=Array.from(e.querySelectorAll(`.bc-frame .bc-trend-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-scatter-point`)),c=Array.from(e.querySelectorAll(`.bc-frame .bc-point-label`))):a&&(l=v_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))u.set(e,n);e.replaceChildren()}let d=LC(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=VC(t,d,f),m=WC(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=WC(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=Ag(e,n.frame),_=u_(g).width,v=o_(h,n.verticalAxis?.numberFormat),y=c_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=nw(p,n.colors??tC),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<Nw&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=ta(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:rw(E),trend:Cw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>Rf().domain([0,E??1]).range([0,Bw(e,t)]),A=_>0?_:600,j=u_(g).height||400,M=y.top==null?0:15,N=y.right??Xg.right,P={...y,right:N},F={width:0,height:0},I=0,L=0;for(let e=0;e<3;e++){let e=P.left??Xg.left,t=Math.max(0,A-e-P.right);F=S?oS(x,w,t):{width:0,height:0},I=S?F.height+15:0,S&&w===`top`&&(P.top=I+M),S&&w===`left`&&(P.left=(y.left??50)+F.width+10),L=S&&w===`right`?F.width+10:0,P.bottom=Math.max(y.bottom??24,24)+(S&&w===`bottom`?I:0);let n=j-(P.top??Xg.top)-P.bottom,r=O?cw({...D,radius:k(t,n)}):0;P.right=L+(O?Mw+r:N)}let{chartArea:R,width:z,height:B,margin:V}=f_(g,P),H=Yg(a?.margin,V),ee=Uw(p,z,B),te=e=>ee(e.size??0);m.range(KC(m,p.map(e=>({value:e.x,r:te(e)+1})),z));let[ne,re]=KC(h,p.map(e=>({value:e.y,r:te(e)+1})),B,Pw);h.range([B-ne,B-re]),i.attach(R,H),i.update({vertical:{scale:h,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:m,height:B,options:{...n.horizontalAxis,width:z}}});let ie=R.ownerSVGElement,ae=Gb(ie,e,`plot`,{x:0,y:0,width:z,height:B}),U=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node();U.append(...o);let se=Gi(p,e=>-te(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...Gi(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=dw(p,zb(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=uw(p,(n.highlights??[]).map(e=>e.target)),W=e=>fw(e,le.points,ue,kw),G=Er(e),fe=Zb(e);lx(fe,{role:`series-line`,parent:U,selector:`.bc-trend-line`,data:Cw(n.trend)?Dw(p,n.trend,f).segments:[],key:e=>e.key,insert:e=>e.append(`path`).attr(`class`,`bc-trend-line`).attr(`data-key`,e=>e.key),attrs:e=>({d:`M${m(e.x1)},${h(e.y1)}L${m(e.x2)},${h(e.y2)}`,fill:`none`,stroke:e.group===void 0?`currentColor`:ue.get(e.group),"stroke-opacity":e.group===void 0?Lw:1,"stroke-width":Iw,"stroke-dasharray":Fw})});let pe=e=>({cx:m(e.x),cy:h(e.y),r:te(e),fill:W(e),"fill-opacity":xx(de,e.name,jw),stroke:G,"stroke-width":1,opacity:1});lx(fe,{role:`mark-per-category`,parent:oe,selector:`.bc-scatter-point`,data:se,key:e=>e.name,insert:e=>e.append(`circle`).attr(`class`,`bc-scatter-point`).attr(`data-key`,e=>e.name),attrs:pe,enterFrom:e=>({...pe(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let me=yw(Ww(p,de,n).map(e=>({key:e.name,text:e.name,cx:m(e.x),cy:h(e.y),r:te(e)})),{width:z,height:B},Rw),he=Q(R).append(`g`).node();he.append(...c);let ge=e=>({x:e.x,y:e.y,"text-anchor":e.anchor,opacity:1});if(lx(fe,{role:`value-label`,parent:he,selector:`.bc-point-label`,data:me,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-point-label`).attr(`data-key`,e=>e.key).attr(`dominant-baseline`,`central`).attr(`font-size`,Rw).attr(`fill`,`currentColor`).text(e=>e.key),attrs:ge,enterFrom:e=>({...ge(e),opacity:0}),exitTo:()=>({opacity:0})}),n.annotations?.length){let e=p.map(e=>({label:e.name,value:e.y,x:e.x}));Lb(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:G,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};_x(fe,{svg:ie,clipId:ae,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&pS(R,x,[...ue.values()],Hw(w,F.height+M,I,B,V.bottom),w,T,z,B,Vw(w,F.width,z),[],{left:V.left,right:V.right});let ve=lw(R,{...D,radius:ee}),ye=cw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+Mw,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};RS(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:xw(e,d,t),value:e.y,color:W(e),r:te(e)+zw})),nearest:`xy`,format:e=>e.label,container:e})}Hb(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(__(U),__(oe),y_(e,l))}var Kw=new Map;function qw(e,t,n){Kw.set(e,{renderer:t,options:n})}function Jw(e){return Kw.get(e)?.renderer}function Yw(e){return Kw.get(e)?.options??[]}var Xw=[{value:Br.Solid,text:`Solid`},{value:Br.Dashed,text:`Dashed`},{value:Br.Dotted,text:`Dotted`},{value:Br.None,text:`None`}],Zw={key:`colors`,type:Z.Colors,label:`Colors`},Qw={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...oe().map(e=>({value:e.name,text:e.label}))]},$w={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},eT={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},tT={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},nT={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ei.Top,choices:[{value:ei.Top,text:`Top`},{value:ei.Bottom,text:`Bottom`},{value:ei.Left,text:`Left`},{value:ei.Right,text:`Right`}]},rT={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:ti.Start,choices:[{value:ti.Start,text:`Start`},{value:ti.Middle,text:`Middle`},{value:ti.End,text:`End`}]},iT={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:oi.Off,choices:[{value:oi.Off,text:`Off`},{value:oi.Auto,text:`Auto`},{value:oi.Outside,text:`Outside`},{value:oi.Inside,text:`Inside`}]},aT={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:ti.Middle,choices:[{value:ti.Start,text:`Start`},{value:ti.Middle,text:`Middle`},{value:ti.End,text:`End`}]},oT={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},sT={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:ni.Auto,choices:[{value:ni.Auto,text:`Auto`},{value:ni.Outside,text:`Outside`},{value:ni.Inside,text:`Inside`}]},cT={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},lT={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},uT={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:ri.Both,choices:[{value:ri.Both,text:`Both`},{value:ri.Vertical,text:`Vertical`},{value:ri.Horizontal,text:`Horizontal`}]},dT={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:ii.Dashed,choices:[{value:ii.Solid,text:`Solid`},{value:ii.Dashed,text:`Dashed`},{value:ii.Dotted,text:`Dotted`}]},fT={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},pT={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},mT={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Yr.Circle,choices:[{value:Yr.Circle,text:`Circle`},{value:Yr.Square,text:`Square`},{value:Yr.Diamond,text:`Diamond`},{value:Yr.Triangle,text:`Triangle Up`},{value:Yr.TriangleDown,text:`Triangle Down`},{value:Yr.Cross,text:`Cross`},{value:Yr.Star,text:`Star`}]},hT={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:Xr.FirstLast,choices:[{value:Xr.FirstLast,text:`First & Last`},{value:Xr.First,text:`First`},{value:Xr.Last,text:`Last`},{value:Xr.All,text:`All`}]},gT={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:Zr.Filled,choices:[{value:Zr.Filled,text:`Filled`},{value:Zr.Hollow,text:`Hollow`}]},_T={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},vT={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},yT={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:$r.None,choices:[{value:$r.None,text:`None`},{value:$r.Total,text:`By total`},{value:$r.WithinGroups,text:`Within groups`}]},bT={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},xT={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},ST={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},CT={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},wT={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},TT={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},ET={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},DT={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},OT={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},kT={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:ai.Normal,choices:[{value:ai.Normal,text:`Normal`},{value:ai.Percent,text:`Percentage (100%)`}]},AT={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},jT={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},MT={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},NT={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},PT={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},FT={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},IT={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},LT={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},RT={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},zT={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},BT={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},VT={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},HT={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:Qr.None,choices:[{value:Qr.None,text:`Keep order`},{value:Qr.Ascending,text:`Smallest first`},{value:Qr.Descending,text:`Largest first`}]},UT={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:si.Linear,choices:[{value:si.Linear,text:`Linear`},{value:si.MonotoneX,text:`Monotone`},{value:si.Step,text:`Step`},{value:si.StepBefore,text:`Step (before)`},{value:si.StepAfter,text:`Step (after)`},{value:si.Basis,text:`Basis`},{value:si.Cardinal,text:`Cardinal`},{value:si.CatmullRom,text:`Catmull-Rom`}]},WT={[zr.Linear]:`Linear`,[zr.Log]:`Logarithmic`,[zr.Symlog]:`Symmetric log`};function GT(e){return e.map(e=>({value:e,text:WT[e]}))}var KT=[{value:Vr.Auto,text:`Auto`},{value:Vr.Inside,text:`Inside`},{value:Vr.Outside,text:`Outside`},{value:Vr.Off,text:`Off`}],qT=[{value:Hr.Auto,text:`Auto`},{value:Hr.Horizontal,text:`Horizontal`},{value:Hr.Vertical,text:`Vertical`}];function JT(e){let t=GT(e.scaleTypeChoices??[zr.Linear,zr.Log]),n=e.valueAxis===`vertical`||e.valueAxis===`both`,r=e.valueAxis===`horizontal`||e.valueAxis===`both`;return[{key:`showVerticalAxis`,type:Z.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Z.Select,label:`Vertical axis side`,default:Rr.Left,choices:[{value:Rr.Left,text:`Left`},{value:Rr.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Z.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Z.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?Vr.Off:Vr.Auto,choices:KT},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:Xw},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:zr.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Z.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Z.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Z.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?Vr.Off:Vr.Auto,choices:KT},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Hr.Horizontal,choices:qT},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:Xw},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:zr.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var YT=JT({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),XT=JT({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),ZT=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),QT=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),$T={...UT,default:si.MonotoneX},eE={...uT,default:ri.Vertical},tE={...lT,default:!0},nE={...pT,default:!0},rE={...yT,default:$r.Total},iE={...oT,default:!0},aE={...oT,default:!0},oE={...MT,default:!0},sE={...IT,default:`5`},cE={...NT,default:!0},lE={...iT,default:oi.Auto},uE={...tT,default:!1},dE=[lT,uT,dT,fT],fE=[tE,eE,dT,fT],pE=[aE,sT,cT,...dE],mE=[iE,sT,cT,...dE],hE=[pT,mT,hT,gT,_T,vT],gE=[nE,mT,hT,gT,_T,vT],_E=[oT,cT,...fE,...hE],vE=[oT,cT,...fE,...gE],yE=[oE,PT,FT,sE,LT],bE=[MT,cE,PT,FT,IT,LT];qw(Lr.BarVertical,Ux,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...YT,...pE]),qw(Lr.BarHorizontal,Yx,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...XT,...mE]),qw(Lr.BarMulti,AS,[Zw,Qw,$w,eT,rE,uE,rT,nT,lE,aT,...YT,...pE]),qw(Lr.Line,HS,[Zw,Qw,$w,eT,$T,bT,...ZT,..._E]),qw(Lr.LineMulti,nC,[Zw,Qw,$w,eT,$T,bT,yT,uE,rT,nT,lE,...ZT,...vE]),qw(Lr.Donut,lC,[Zw,Qw,$w,eT,uE,rT,nT,lE,cT,...bE]),qw(Lr.Pie,dC,[Zw,Qw,$w,eT,uE,rT,nT,lE,cT,...yE]),qw(Lr.Area,fC,[Zw,Qw,$w,eT,$T,bT,...QT,..._E]);var xE=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});qw(Lr.AreaStacked,gC,[Zw,Qw,$w,eT,RT,$T,bT,HT,zT,BT,VT,tT,rT,nT,iT,...xE,cT,...fE]),qw(Lr.ColumnStacked,yC,[Zw,Qw,$w,eT,kT,yT,tT,rT,nT,iT,aT,...YT,...pE]),qw(Lr.BarStacked,SC,[Zw,Qw,$w,eT,kT,yT,tT,rT,nT,iT,aT,jT,...XT,...mE]),qw(Lr.BarSplit,MC,[Zw,Qw,$w,eT,AT,yT,tT,rT,nT,jT,...XT,iE,sT,cT,...dE]),qw(Lr.BarGrouped,PC,[Zw,Qw,$w,eT,rE,tT,rT,nT,CT,TT,jT,...XT,iE,sT,cT,...dE]);var SE=[{key:`x`,type:Z.Text,label:`X axis`,default:``},{key:`y`,type:Z.Text,label:`Y axis`,default:``},{key:`size`,type:Z.Text,label:`Bubble size`,default:``},{key:`group`,type:Z.Text,label:`Color groups`,default:``}],CE={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},wE={...PT,default:!1,label:`Label all points`},TE=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[zr.Linear,zr.Log,zr.Symlog]});qw(Lr.Scatter,Gw,[Zw,Qw,$w,eT,...SE,CE,wE,tT,nT,rT,{...cT,default:!0},...TE]),qw(Lr.VerticalBar,Ux,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...YT,...pE]),qw(Lr.HorizontalBar,Yx,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...XT,...mE]);function EE(e){let t=(e??``).trim();return t&&yi(t)!==void 0?t:void 0}function DE(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=EE(e.verticalRangeMin),r=EE(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function OE(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=EE(e.horizontalRangeMin),r=EE(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var kE=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.connectionsOpacity.areaFillOpacity`.split(`.`));function AE(e,t){if(!t)return{};let n={};for(let{key:r}of Yw(t)){let t=e[r];t!==void 0&&!kE.has(r)&&(n[r]=t)}return n}function jE(e,t){let n={},r=U(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Mr(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function ME(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function NE(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Yr.Circle,showOn:e.lineSymbolShowOn??Xr.FirstLast,style:e.lineSymbolStyle??Zr.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function PE(e,t,n){let r={...AE(e,n),...jE(e,t),...ME(e),...DE(e),...OE(e),...NE(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.sliceMax??``,10);!isNaN(i)&&i>0&&(r.sliceMax=i),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let a=parseFloat(e.barGap??``);isNaN(a)||(r.barGap=Math.max(0,Math.min(100,a))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let o=parseFloat(e.connectionsOpacity??``);isNaN(o)||(r.connectionsOpacity=Math.max(0,Math.min(1,o))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let s=parseFloat(e.areaFillOpacity??``);return isNaN(s)||(r.areaFillOpacity=s),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var FE=e=>e===!0||String(e).toLowerCase()===`true`;function IE(e){return new Map(e.map(e=>[e.key,e.value]))}function LE(e,t){let n=IE(t),r=Yw(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Z.Colors?a[e.key]=z(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Z.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=FE(t):a[e.key]=String(t))}return a}function RE(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function zE(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>I(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!RE(String(e))?String(e):I(String(e)));return`${I(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${I(t)}`:typeof e.value==`string`&&RE(t)?`${I(e.key)} = ${I(t)}`:`${I(e.key)} = ${t}`}).join(`
345
- `)}function BE(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function VE(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function HE(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function UE(e){return e.map(e=>({target:e.target,color:BE(e.properties,`color`)??`#e15759`,label:BE(e.properties,`label`)}))}function WE(e){return e.map(e=>({target:e.target}))}function GE(e){return e.map(e=>{let t=IE(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function KE(e){let t=e.get(`repeat`);if(FE(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function qE(e){return e.map(e=>{let t=IE(e.properties),n=e.kind??Kr.Point;if(n===Kr.Range){let e={kind:Kr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=KE(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===Kr.Free){let n={kind:Kr.Free,text:String(t.get(`text`)??``),x:VE(e.properties,`x`)??0,y:VE(e.properties,`y`)??0};n.repeat=KE(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=HE(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=FE(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Kr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=KE(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=HE(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=FE(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=FE(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=FE(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=FE(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function JE(e){return e.map(e=>{let t=IE(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:FE(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=FE(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=FE(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function YE(e,t,n){if(!n&&t!==li.Equals&&t!==li.NotEquals)return!0;switch(t){case li.Equals:return e===n;case li.NotEquals:return e!==n;case li.Contains:return e.toLowerCase().includes(n.toLowerCase());case li.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case li.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function XE(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>YE(e[n]??``,t.condition??li.Equals,t.value??``));return{...e,rows:r}}function ZE(e){return Number(j(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function QE(e,t,n){return n===`number`?ZE(e)-ZE(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function $E(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var eD={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function tD(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!eD[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function nD(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>ZE(e[n]??``));return String(eD[e](r))}function rD(e,t){let n=$E({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=tD(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>nD(e.fn,t,e.colIndex))])}}function iD(e,t){let n=$E(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var aD=[`string`,`number`,`date`],oD=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:ui.Type,accepts:aD,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:ui.Type,accepts:aD,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:ui.Type,accepts:aD,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:ui.Type,accepts:aD,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:ui.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:ui.String,accepts:aD,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:ui.String,accepts:aD,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:ui.String,accepts:aD,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:ui.String,accepts:aD,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:ui.String,accepts:aD,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:ui.String,accepts:aD,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:ui.String,accepts:aD,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:ui.String,accepts:aD,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:ui.String,accepts:aD,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:ui.String,accepts:aD,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:ui.String,accepts:aD,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:ui.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:ui.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:ui.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:ui.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],sD=new Map(oD.map(e=>[e.id,e]));function cD(e,t){let n=sD.get(e);return n?n.accepts.includes(t):!1}function lD(e){return sD.get(e)?.outputType??`string`}function uD(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function dD(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function fD(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return dD(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function pD(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function mD(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return uD(e,e=>Math.round(e*t)/t)}case`floor`:return uD(e,Math.floor);case`ceil`:return uD(e,Math.ceil);case`abs`:return uD(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return uD(e,e=>Math.min(Math.max(e,t),r))}case`log`:return uD(e,e=>e>0?Math.log(e):NaN);case`exp`:return uD(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return uD(e,e=>Math.floor(e/t)*t)}default:return e}}function hD(e,t,n){switch(t){case`extract-year`:return dD(e,e=>String(e.getFullYear()));case`extract-month`:return dD(e,e=>String(e.getMonth()+1));case`extract-day`:return dD(e,e=>String(e.getDate()));case`extract-weekday`:return dD(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return dD(e,e=>String(e.getHours()));case`shift-date`:return dD(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return dD(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:dD(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function gD(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?fD(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?mD(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?hD(e,t,n):pD(e,t,n)}function _D(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function vD(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function yD(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function bD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!cD(r,i))return _D(e,n);if(r===`split`)return vD(e,n,t);if(r===`normalize`||r===`standardize`)return yD(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=gD(e[n],r,t);let o=[...e.columnTypes];return o[n]=lD(r),{columns:[...e.columns],rows:a,columnTypes:o}}function xD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function SD(e,t){let n=$E(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===Qr.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>ZE(e[t]??``)),o=r.map(e=>ZE(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=QE(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function CD(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var wD=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],TD=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,ED=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function DD(e){if(!e)return!1;for(let t of wD)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function OD(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=j(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function kD(e){if(!e)return!1;let t=j(OD(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function AD(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every(DD)?`date`:r.every(kD)?`number`:`string`})}function jD(e){let t=e.split(`
346
- `).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=z(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(ED),i=n??t[e].match(TD);i&&r.push({cells:z(i[2]).map(R),label:L(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim());return MD([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(TD);t&&i.push([L(t[1]),R(t[2])])}return MD(r,i)}function MD(e,t){return{columns:e,rows:t,columnTypes:AD(e,t)}}function ND(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:I(e)}function PD(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${I(t)} = ${ND(n)}`}).join(`
347
- `):[`series = ${e.slice(1).map(I).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>ND(e??``)).join(`,`);return`${I(t)} = ${n}`})].join(`
348
- `)}function FD(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=new Map(e.textColumns?.map(e=>[e.name,e.values])),i=(e,n,i)=>r.has(e)?r.get(e)?.[i]??``:t(n[i]),a=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>i(e.name,e.values,r)):[t(e.values[r])]]);return{columns:n,rows:a,columnTypes:AD(n,a)}}var ID=new Set(Object.values(ci));function LD(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case ci.Sort:i=SD(i,t.config);break;case ci.Filter:i=XE(i,t.config);break;case ci.HideColumns:i=iD(i,t.config);break;case ci.Transpose:i=CD(i);break;case ci.Parse:i=bD(i,t.config);break;case ci.Rename:i=xD(i,t.config);break;case ci.GroupBy:i=rD(i,t.config)}return i}function RD(e){return e.filter(e=>ID.has(e.transformType)).map(e=>{let t={};for(let[n,r]of IE(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function zD(e,t){let n=RD(t);if(n.length===0)return e;let r=jD(e);if(r.columns.length===0)return e;let i=LD(n,r.columns,r.rows,r.columnTypes);return PD(i.columns,i.rows)}function BD(e,t){let n=RD(t);if(n.length===0||e.labels.length===0)return e;let r=FD(e),i=LD(n,r.columns,r.rows,r.columnTypes);return re(PD(i.columns,i.rows))}var VD=new Set;function HD(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=$r.Total:!ID.has(t.transformType)&&!VD.has(t.transformType)&&(VD.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function UD(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:FE(n)||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function WD(e){let t=IE(e.properties),n=re(zD(e.data?zE(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===Qr.Ascending||i===Qr.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===$r.Total||s===$r.WithinGroups||s===$r.None)&&(c=s),c=HD(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:UD(t),colorizes:UE(e.colorizes),highlights:WE(e.highlights),areaFills:GE(e.areaFills),annotations:qE(e.annotations),seriesOverrides:JE(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var GD=Object.create(null);function KD(e){if(!GD[e]){let t={};for(let n of Yw(e))n.default!==void 0&&(t[n.key]=n.default);GD[e]=t}return{...GD[e]}}function qD(e,t){let n=KD(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var JD=[`verticalLabelPosition`,`horizontalLabelPosition`];function YD(e,t,n){let r=KD(t),i={...e};for(let e of JD)n[e]===void 0&&r[e]!==void 0&&r[e]!==Vr.Off&&(i[e]=r[e]);return i}var XD=new Set;function ZD(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=$r.Total:!ID.has(t.transformType)&&!XD.has(t.transformType)&&(XD.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function QD(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function $D(e,t,n){let r=QD();for(let i=0;i<=t;i++){let a=e[i],o=IE(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=LE(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function eO(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function tO(e,t){let n=e.options??(e.properties?qD(e.chartType,LE(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=$D(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?re(zE(i.data)):BD(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?qD(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?YD(s,a,{...LE(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?UE(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:WE(i.highlights),d=i.areaFills.length>0?GE(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)qE(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>eO(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?JE(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===$r.Total||h===$r.WithinGroups||h===$r.None?h:void 0,_=ZD(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var nO=new WeakMap;function rO(e){let t=nO.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function iO(e,t){let n=nO.get(e);n||(n=new Set,nO.set(e,n)),n.add(t)}function aO(e,t,n){if(rO(e),n.ignoreLayout||!t)return{constrained:!1};let r=IE(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,iO(e,`aspectRatio`),iO(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,iO(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,iO(e,`display`),iO(e,`flexDirection`),iO(e,`overflow`)),{constrained:s}}var oO=new WeakMap;function sO(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function cO(e,t,n){if(!n)return null;let r=oO.get(e);return!r||r===t?null:(sO(e),v_(e))}function lO(e,t,n){if(oO.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&__(t),y_(e,n)}}function uO(e){oO.delete(e),sO(e)}var dO=`http://www.w3.org/2000/svg`;function fO(e){return e.replace(/\s+/g,` `).trim()}function pO(e,t){if(e===`scatter chart`)return`${e} of ${t.labels.length} points.`;let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function mO(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?fO(t.title):``,a=t?.description?fO(t.description):``;return{label:i||r,description:[a,pO(r,n)].filter(Boolean).join(` `)}}function hO(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(dO,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function gO(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),hO(e,`desc`,t.description),hO(e,`title`,t.label)}function _O(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function vO(e,t,n){let r=_O(e);r&&t.accessibility&&gO(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function yO(e,t,n={}){let r=!!n.transition||Zb(e).state===`animating`;if(r||(Zb(e).interrupt(),e.replaceChildren(),uO(e)),t.data.labels.length===0){r&&(Zb(e).interrupt(),e.replaceChildren(),uO(e));return}let i=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}i=e}let a=aO(e,i.properties,n),o=tO(i,n.sceneIndex),s=Jw(o.chartType);if(!s)return;iv(e,o.chartType);let c=cO(e,o.chartType,r);c&&e.replaceChildren();let l=Er(e),u=PE(o.options,l,o.chartType),d;if(n.thumbnail)d=null;else{let e=o.frame?.padding??n.padding??`16px`;d={...o.frame??{},padding:e}}let f=Zb(e);r&&f.beginCommit(),s(e,o.data,{frame:d,sort:o.sort,...u,sortMode:o.sortMode??u.sortMode,colorizes:o.colorizes.length>0?o.colorizes:void 0,highlights:o.highlights.length>0?o.highlights:void 0,areaFills:o.areaFills.length>0?o.areaFills:void 0,annotations:o.annotations.length>0?o.annotations:void 0,seriesOverrides:o.seriesOverrides.length>0?o.seriesOverrides:void 0},r),r&&f.commit({duration:g_(),mode:n.transitionMode}),vO(e,{theme:n.theme??o.theme,accessibility:mO(o.chartType,d,o.data)},a),lO(e,o.chartType,c)}function bO(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function xO(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=A(t)}catch(t){bO(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{yO(e,WD(r),n)}catch(t){bO(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function SO(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var CO=SO;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,b):b(),e.createSceneController=SO,e.createStepController=CO,e.initBlueprint=b,e.renderBpc=xO,e})({});
349
+ `,document.head.appendChild(e)}function KS(e){let t=e?Lg(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function qS(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=oi.Both,crosshairStyle:l=si.Dashed,crosshairColor:u=`#999`,format:d=KS(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&US.set(f,e),e}let p=l===si.Solid?`none`:l===si.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(GS(),g=document.createElement(`div`),g.className=HS,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===oi.Both||c===oi.Vertical),x=s&&(c===oi.Both||c===oi.Horizontal),S=null,C=null;b&&(S=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`)),x&&(C=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`));let w=y(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),T=y(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`),E=o===`xy`?Od.from(i,e=>e.cx,e=>e.cy):null;function D(e,t){if(E)return i[E.find(e,t)];if(m.length===0)return null;let n=Ri(m,e),r=m[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let O=t=>{let[n,r]=js(t,e),i=D(n,r);i&&(w.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`r`,i.r??6).attr(`stroke`,i.color).style(`display`,null),g&&(g.textContent=d(i),g.style.display=`block`,Ky(w.node(),g,{placement:`top`,middleware:[Uy(8),Gy(),Wy()]}).then(({x:e,y:t})=>{g&&(g.style.left=`${e}px`,g.style.top=`${t}px`)})),S&&S.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),C&&C.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},k=()=>{w.style(`display`,`none`),g&&(g.style.display=`none`),S&&S.style(`display`,`none`),C&&C.style(`display`,`none`)},A=T.node();A.addEventListener(`mousemove`,O),A.addEventListener(`mouseleave`,k);let j=()=>{A.removeEventListener(`mousemove`,O),A.removeEventListener(`mouseleave`,k),T.remove(),w.remove(),g&&=(g.remove(),null),S&&S.remove(),C&&C.remove(),f&&US.get(f)===j&&US.delete(f)};return f&&US.set(f,j),j}var JS={circle:_h,square:Sh,diamond:xh,triangle:kh,triangleDown:jh??kh,cross:vh,star:Dh};function YS(e,t,n){switch(n){case Zr.First:return e===0;case Zr.Last:return e===t-1;case Zr.FirstLast:return e===0||e===t-1;case Zr.All:default:return!0}}function XS(e,t,n,r,i=!1){let a=r.symbol??Xr.Circle,o=r.showOn??Zr.FirstLast,s=r.style??Qr.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>YS(e.index,n,o)),f=i?x_():0;if(a===Xr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Qr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Qr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Qr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Qr.Hollow?1.5:0).attr(`opacity`,l)}else{let t=JS[a]??_h,n=Math.PI*c*c,r=Mh().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Qr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Qr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Qr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Qr.Hollow?1.5:0).attr(`opacity`,l)}}var ZS=re[0];function QS(e,t,n={},r=!1){b_(r),WS(e);let i=[],a=[],o=null,s=null,c,l,u,d=uv.for(e);if(r){let t=Qb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=C_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Pg(e,n.frame),p=h_(f).width,m=u_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=p_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=q_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=__(f,h),x=e_(l,b),S=Di(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=sf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=ki(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?If().domain([j,M]).nice().range([y,0]):xf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=nx(I,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??ZS,V=VS(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,U=e=>Number.isFinite(e.value),te=ph().curve(V).defined(U).x(e=>k(e)).y0(y).y1(e=>N(e.value)),ne=fh().curve(V).defined(U).x(e=>k(e)).y(e=>N(e.value)),re=Q(z).append(`g`).node(),ie=Q(z).append(`g`).node();if(r){for(let e of i)re.appendChild(e);for(let e of a)ie.appendChild(e)}let ae=ux(e),W=[{name:`line`,points:T}];Sx(ae,{role:`series-area`,parent:re,selector:`.bc-area`,data:H?W:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:te(e.points)??``,fill:B,opacity:ee})}),Sx(ae,{role:`series-line`,parent:ie,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(e.points)??``,fill:`none`,stroke:B})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let oe={left:b.left,top:b.top,width:v+2,height:y+2};if(Ax(ae,{svg:I,clipId:L,group:_,from:u,to:oe,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Jb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Dr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&qS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Jx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),XS(t,e,T.length,n.lineSymbols,r)}$b(e,{chartType:`line`,margin:b,plotRect:oe}),s&&(S_(R.node()),w_(e,s))}var $S=28,eC=18,tC=20,nC=12,rC=.3;function iC(e,t,n,r=$S){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function aC(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+eC,c=$S/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=iC(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*tC;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);if(r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Or(e.color,a)).text(e.label),c){let t=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(t)}})}d(u,!0),d(l,!1)}var oC=.3;function sC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<oC||Zg(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=Tr(e.color);if(t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n){let n=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(n)}}c.length>0&&aC(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function cC(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=Zg(e.label,a);n>r*1.2&&t>=oC&&r<=u*2?c.push(e):l.push(e)}c.length>0&&sC(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&aC(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function lC(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+Qg(e,nC)+6,i=e.length*$S/2,a=Math.max(10,i-t+20),o=uC(r,n.width),s=uC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function uC(e,t){return t>0?Math.min(e,t*rC):e}function dC(e,t,n={},r=!1){b_(r),WS(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=uv.for(e);if(r){let t=Qb(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=C_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))l.set(e,n);e.replaceChildren()}let{body:p}=Pg(e,n.frame),m=i.series??[],h=m.filter(e=>!jS(e.name,n.seriesOverrides));(n.sortMode===ni.Total||n.sortMode===ni.WithinGroups)&&(h=ax(h,e=>e.values.reduce((e,t)=>e+t,0),$r.Descending));let g=TS(n.colors??re,m.length),_=h.map(e=>e.name),v=Xb(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>MS(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=h_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=Di(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let A=h.flatMap(e=>e.values),j=u_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=p_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?vS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?_S(_,E,F):{width:0,height:0},L=C?I.height+15:0,R={...M};C&&E===`top`&&(R.top=L+(P?15:0)),C&&E===`left`&&(R.left=(R.left??50)+I.width+10),C&&E===`right`&&(R.right=(R.right??20)+I.width+10),N>0&&(R.right=(R.right??20)+N),R.bottom=(q_(i.labels,Math.max(0,w-(R.left??50)-(R.right??20)),n.horizontalAxis)??Math.max(R.bottom??24,24))+(E===`bottom`?L:0);let{chartArea:z,width:B,height:V,margin:H}=__(p,R),ee=e_(u,H),[U,te]=ki(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ne=sf().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),ie=ne,ae=e=>ne(i.labels[e])??0,W=n.verticalAxis?.scaleType===`log`?If().domain([U,te]).nice().range([V,0]):xf().domain([U,te]).nice().range([V,0]),oe=W.domain(),se=oe[0]<0&&oe[1]>0?W(0):void 0;f.attach(z,ee),f.update({vertical:{scale:W,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:H.top}},horizontal:{scale:ie,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=nx(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),G=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),K=VS(n.interpolation);n.areaFills?.length&&fC(de,n.areaFills,h,ae,i.labels.length,W,K);let fe=e=>Number.isFinite(e),pe=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{fe(e.values[r])&&pe.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let me=n.lineSymbols,he={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},ge=n.valueLabels??!1,_e=Nx(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??DS(e.name,e.colorIndex,g,y),xe=ph().curve(K).defined(fe).x((e,t)=>ae(t)).y0(V).y1(e=>W(e)),Se=ux(e),Ce=Q(de).append(`g`).node(),q=Q(de).append(`g`).node(),we=new Set(G.map(e=>e.name));if(r){for(let e of a)we.has(e.__data__?.name??``)&&Ce.appendChild(e);for(let e of o)we.has(e.__data__?.name??``)&&q.appendChild(e)}Sx(Se,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:ve?G:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:xe(e.values)??``,fill:be(e),opacity:Px(_e,e.name,ye)})}),Sx(Se,{role:`series-line`,parent:q,selector:`.bc-line`,data:G,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=AS(e.name,n.interpolation??`linear`,y),r=fh().curve(VS(t)).defined(fe).x((e,t)=>ae(t)).y(e=>W(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:be(e),style:`stroke-width:${kS(e.name,y)}`,"stroke-dasharray":he[OS(e.name,y)]??``,opacity:Px(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(pe,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ae(i.labels.indexOf(e.label))).attr(`cy`,e=>W(e.value)).attr(`r`,3).attr(`fill`,e=>be({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let Te={left:H.left,top:H.top,width:B,height:V};if(Ax(Se,{svg:ce,clipId:le,group:z,from:d,to:Te,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Jb(z,n.annotations,{scaleX:ie,scaleY:W,data:t,width:B,height:V,backgroundColor:Dr(e),transition:r,priorAnnotations:l})}let Ee=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);pe.forEach(e=>{if(!NS(e.series,ge,y))return;let t=ae(i.labels.indexOf(e.label)),n=W(e.value),r=Jx(String(e.value),t,n,{width:B,height:V,margin:H});Ee.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.series).attr(`x`,r.x).attr(`y`,r.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(String(e.value))}),(n.tooltips||n.crosshair)&&qS(z,{width:B,height:V,points:pe.map(e=>({cx:ae(i.labels.indexOf(e.label)),cy:W(e.value),label:e.label,value:e.value,series:e.series,color:DS(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let De=me?{name:``,lineSymbols:!0,symbolShape:me.symbol,symbolShowOn:me.showOn,symbolStyle:me.style,symbolSize:me.size,symbolOpacity:me.opacity}:void 0,Oe=i.labels.length;h.forEach((e,t)=>{let n=FS(e.name,De,y);if(!n)return;let a={symbol:n.symbolShape??me?.symbol??Xr.Circle,showOn:n.symbolShowOn??me?.showOn??Zr.FirstLast,style:n.symbolStyle??me?.style??Qr.Filled,size:n.symbolSize??me?.size??3.5,opacity:n.symbolOpacity??me?.opacity??1},o=i.labels.map((n,r)=>({cx:ae(r),cy:W(e.values[r]),color:DS(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(z.appendChild(c),l=Q(c),u=!0):l=Q(z).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),XS(l,o,Oe,a,r&&u)});let ke=i.labels.length-1,Ae=ae(ke)+6,je=[];if(h.forEach((e,t)=>{if(MS(e.name,x,y)!==`direct`)return;let n=e.values[ke];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;je.push({name:e.name,index:t,naturalY:W(n),text:r})}),je.length>0){je.sort((e,t)=>e.naturalY-t.naturalY);let e=iC(je.map(e=>e.naturalY),0,V,14);je.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ae).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,DS(t.name,t.index,g,y)).text(t.text)})}let Me=_.filter(e=>MS(e,x,y)===`legend`);if(C&&Me.length>0){let e=Me.map(e=>DS(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=P?15:0;n=-(I.height+10+e)}else E===`bottom`?n=V+Math.max(H.bottom-L,0):E===`left`?t=-(I.width+10):E===`right`&&(t=B+10);CS(z,Me,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}$b(e,{chartType:`line-multi`,margin:H,plotRect:Te}),c&&(S_(ue.node()),w_(e,c))}function fC(e,t,n,r,i,a,o){let s=Q(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?VS(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)mC(s,t.values,i.values,r,a,c,u,d,l);else{let e=ph().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function pC(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function mC(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=pC(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}function hC(e){return Rg(Number(e.toPrecision(12)),`,`)}var gC=class extends Cg{initialize(){}};function _C(e,t,n={},r=!1){vC(e,t,n,.6,r)}function vC(e,t,n,r,i=!1){b_(i);let a=null,o;if(i){let t=Qb(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=C_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))o.set(e,n);e.replaceChildren()}let{body:s}=Pg(e,n.frame),c=ax(t.labels.map((e,t)=>t),e=>t.values[e],n.sort),l=c.map(e=>t.labels[e]),u=c.map(e=>t.values[e]);if(n.sliceMax&&n.sliceMax>0&&l.length>n.sliceMax){let e=n.sliceMax-1,t=l.map((e,t)=>({label:e,value:u[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);l=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],u=[...r.map(e=>e.value),i]}let d=u.reduce((e,t)=>e+t,0),f=u.map(e=>d>0?e/d*100:0),p=TS(n.colors??re,l.length),m=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?li.Auto:li.Off,h=!!m&&(m!==li.Auto||n.legend!==!0),g=(n.showValues??!0)&&!h?u.map((e,t)=>`(${n.displayAsPercentage?`${Math.round(f[t])}%`:hC(e)})`):[],_=n.legend!==!1&&!h,v=h_(s).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=g.length>0?l.map((e,t)=>`${e} ${g[t]}`):l,C=Math.max(0,v-50-20),w=_?_S(S,b,C):{width:0,height:0},T=_?w.height+15:0,E={};if(_&&b===`top`&&(E.top=T),_&&b===`bottom`&&(E.bottom=24+T),_&&b===`left`&&(E.left=50+w.width+10),_&&b===`right`&&(E.right=20+w.width+10),h){let e=h_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=lC(l,r,{width:t,height:n});E.left=(E.left??20)+i.left,E.right=(E.right??20)+i.right,E.top=(E.top??20)+i.top,E.bottom=(E.bottom??20)+i.bottom}let{chartArea:D,width:O,height:k,margin:A}=__(s,E),j=Math.min(O,k)/2,M=j*r,N=rf().domain(l).range(p);if(u.some(e=>e<0)){let e=l.filter((e,t)=>u[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=l.map((e,t)=>({label:e,value:u[t]})).filter(e=>e.value>=0);l=t.map(e=>e.label),u=t.map(e=>e.value)}let P=gh().sort(null),F=oh().innerRadius(M).outerRadius(j),I=Q(D).append(`g`).attr(`transform`,`translate(${O/2},${k/2})`),L=Xb(n.colorizes),R=P(u),z=R.map((e,t)=>({label:l[t],value:u[t],arc:e,color:L.get(l[t])??N(l[t])})),B=ux(e),V=Nx(n.highlights,l);Sx(B,{role:`mark-per-category`,parent:I.append(`g`).node(),selector:`.bc-arc`,data:z,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:F(e.arc)??``,fill:e.color};return V.size>0?{...t,opacity:Px(V,e.label)}:t}});let H=new gC(I);if(n.tooltips&&H.use(Xy()),H.draw(z),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(z.map(e=>[e.label,F.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&Yb(a,{scaleX:rf().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+O/2)),scaleY:xf().domain([0,1]).range([0,1]),data:z.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+k/2})),width:O,height:k,backgroundColor:Dr(e),transition:i,priorAnnotations:o}).postDraw({base:Q(D)},void 0)}if(h){let t=R.map((e,t)=>({label:l[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:N(l[t]),percentage:f[t],displayAsPercentage:n.displayAsPercentage,showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=I,i={outerRadius:j,innerRadius:M,chartWidth:O,chartHeight:k,bgColor:Dr(e)};m===li.Inside?sC(r,t,i):m===li.Auto?cC(r,t,i):aC(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=hC(d);I.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),I.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(_){let e=0,t=0;b===`top`?t=-(w.height+10):b===`bottom`?t=k+25:b===`left`?e=-(w.width+10):b===`right`&&(e=O+10),CS(D,l,p,t,b,x,O,k,e,g,{left:A.left,right:A.right})}$b(e,{chartType:r>0?`donut`:`pie`}),a&&(S_(I.node()),w_(e,a))}function yC(e,t,n={},r=!1){vC(e,t,n,0,r)}var bC=re[0];function xC(e,t,n={},r=!1){b_(r),WS(e);let i=[],a=[],o=null,s=null,c,l,u,d=uv.for(e);if(r){let t=Qb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=C_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Pg(e,n.frame),p=h_(f).width,m=u_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=p_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=q_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=__(f,h),x=e_(l,b),S=Di(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=sf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=ki(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?If().domain([j,M]).nice().range([y,0]):xf().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=nx(I,e,`plot`,{x:0,y:0,width:v,height:y}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??bC,V=VS(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),U=ph().curve(V).defined(ee).x(e=>k(e)).y0(y).y1(e=>N(e.value)),te=fh().curve(V).defined(ee).x(e=>k(e)).y(e=>N(e.value)),ne=Q(z).append(`g`).node(),re=Q(z).append(`g`).node();if(r){for(let e of i)ne.appendChild(e);for(let e of a)re.appendChild(e)}let ie=ux(e),ae=[{name:`area`,points:T}];Sx(ie,{role:`series-area`,parent:ne,selector:`.bc-area`,data:ae,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:U(e.points)??``,fill:B,opacity:H})}),Sx(ie,{role:`series-line`,parent:re,selector:`.bc-line`,data:ae,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:te(e.points)??``,fill:`none`,stroke:B,"stroke-width":2})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let W={left:b.left,top:b.top,width:v,height:y};if(Ax(ie,{svg:I,clipId:L,group:_,from:u,to:W,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Jb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Dr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&qS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Jx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),XS(t,e,T.length,n.lineSymbols,r)}$b(e,{chartType:`area`,margin:b,plotRect:W}),s&&(S_(R.node()),w_(e,s))}function SC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return ng().keys(n).order($h).offset(r?rg:Qh)(i)}function CC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return ng().keys(n).order($h).offset(r?rg:Qh)(i)}function wC(e,t,n={},r=!1){b_(r),WS(e);let i=t,a=[],o=[],s=null,c,l,u,d=uv.for(e);if(r){let t=Qb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=C_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let{body:f}=Pg(e,n.frame),p=Di(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=wS(i),h=m.filter(e=>!jS(e.name,n.seriesOverrides)),g=TS(n.colors??re,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=Xb(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>MS(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=h_(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,A=n.stackPercent===!0||n.stackMode===ci.Percent,j=n.areaSortMode??$r.None,M=n.areaLines!==!1,N=ax(h,e=>e.values.reduce((e,t)=>e+t,0),j===$r.None||j===$r.Ascending?j:$r.Descending),P={labels:i.labels,values:i.values,series:N},F=A?CC(P):SC(P),I=0;if(k)for(let e of F)for(let t of e)t[1]>I&&(I=t[1]);else for(let e of N)for(let t of e.values)t>I&&(I=t);A&&(I=100);let L=[0,I],R=n.verticalAxis?.numberFormat??(A?`|d|%`:void 0),z=u_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=p_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?vS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),U=w?_S(v,D,ee):{width:0,height:0},te=w?U.height+15:0,ne={...B};w&&D===`top`&&(ne.top=te+(H?15:0)),w&&D===`left`&&(ne.left=(ne.left??50)+U.width+10),w&&D===`right`&&(ne.right=(ne.right??20)+U.width+10),V>0&&(ne.right=(ne.right??20)+V),ne.bottom=(q_(i.labels,Math.max(0,T-(ne.left??50)-(ne.right??20)),n.horizontalAxis)??Math.max(ne.bottom??24,24))+(D===`bottom`?te:0);let{chartArea:ie,width:ae,height:W,margin:oe}=__(f,ne),se=e_(l,oe),ce=sf().domain(i.labels).range([0,ae]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,G]=ki(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),K=(n.verticalAxis?.scaleType===Br.Log?If():xf()).domain([de,G]).nice().range([W,0]);d.attach(ie,se),d.update({vertical:{scale:K,height:W,options:{...n.verticalAxis,numberFormat:R,gridWidth:ae,topPadding:oe.top}},horizontal:{scale:le,height:W,options:{...n.horizontalAxis,width:ae}}});let fe=ie.ownerSVGElement,pe=nx(fe,e,`plot`,{x:0,y:0,width:ae,height:W}),me=Q(ie).append(`g`).attr(`clip-path`,`url(#${pe})`),he=me.node(),ge=VS(n.interpolation??`monotoneX`),_e=F.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[K(e[0]),K(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[K(0),K(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=Nx(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??DS(e.name,e.colorIndex,g,y),Se=ph().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),q=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)q.appendChild(e)}let we=ux(e);Sx(we,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:_e,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(e.points)??``,fill:xe(e),opacity:ye?Px(ve,e.name,be):be})}),Sx(we,{role:`series-line`,parent:q,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=AS(e.name,n.interpolation??`monotoneX`,y),r=fh().curve(VS(t)).x((e,t)=>ue(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:xe(e),"stroke-width":1,opacity:ye?Px(ve,e.name,1):1}}});let Te={left:oe.left,top:oe.top,width:ae,height:W};if(Ax(we,{svg:fe,clipId:pe,group:ie,from:u,to:Te,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Jb(ie,n.annotations,{scaleX:le,scaleY:K,data:t,width:ae,height:W,backgroundColor:Dr(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];F.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:ue(a),cy:K(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:DS(e.key,n,g,y)})})}),qS(ie,{width:ae,height:W,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Ee=i.labels.length-1,De=ue(Ee)+6,Oe=[];if(h.forEach((e,t)=>{if(MS(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[Ee];if(!r)return;let i=K((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;Oe.push({name:e.name,index:t,naturalY:i,text:a})}),Oe.length>0){Oe.sort((e,t)=>e.naturalY-t.naturalY);let e=iC(Oe.map(e=>e.naturalY),0,W,14);Oe.forEach((t,n)=>{Q(ie).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,De).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,DS(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>MS(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>DS(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=H?15:0;n=-(U.height+10+e)}else D===`bottom`?n=W+Math.max(oe.bottom-te,0):D===`left`?t=-(U.width+10):D===`right`&&(t=ae+10);CS(ie,ke,e,n,D,O,ae,W,t,[],{left:oe.left,right:oe.right})}$b(e,{chartType:`area-stacked`,margin:oe,plotRect:Te}),s&&(S_(me.node()),w_(e,s))}function TC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function EC(e,t,n={},r=!1){b_(r);let i=[],a=null,o,s,c,l=uv.for(e);if(r){let t=Qb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=C_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))o.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=wS(t),f=d.filter(e=>!jS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=TS(n.colors??re,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=h_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ci.Percent,C=TC(S?CC(x):SC(x),t.labels,d),w=S?100:aa(C,e=>e.y1)??0,T=S?Math.min(0,oa(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=u_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=p_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,_-(O.left??50)-(O.right??20)),j=g?_S(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...O};g&&y===`top`&&(N.top=M+(k?15:0)),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,_-(N.left??50)-(N.right??20));N.bottom=(q_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(y===`bottom`?M:0);let{chartArea:F,width:I,height:L,margin:R}=__(u,N),z=e_(s,R),B=n.sortMode===ni.Total?ax(t.labels,(e,t)=>ox(f,t),$r.Descending):t.labels,V=af().domain(B).range([0,I]).padding(Oi(n.barGap)),[H,ee]=ki(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),U=(n.verticalAxis?.scaleType===Br.Log?If():xf()).domain([H,ee]).nice().range([L,0]);l.attach(F,z),l.update({vertical:{scale:U,height:L,options:{...n.verticalAxis,gridWidth:I,topPadding:R.top}},horizontal:{scale:V,height:L,options:{...n.horizontalAxis,width:I}}});let te=F.ownerSVGElement,ne=nx(te,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=Xb(n.colorizes),oe=Nx(n.highlights,C.map(e=>e.seriesName)),se=ux(e),ce=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ce.appendChild(e);Sx(se,{role:`mark-per-cell`,parent:ce,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=W.get(e.seriesName)??DS(e.seriesName,e.seriesIndex,m,h),n=PS(e.seriesName,h),r={"data-series":e.seriesName,x:V(e.label)??0,y:U(e.y1),width:V.bandwidth(),height:U(e.y0)-U(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),oe.size>0&&(r.opacity=Px(oe,e.seriesName)),r}});let le={left:R.left,top:R.top,width:I,height:L};Ax(se,{svg:te,clipId:ne,group:F,from:c,to:le,active:r&&i.length>0});let ue=ix(ie);if(n.tooltips&&ue.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ue.use(Qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));ue.use(Yb(n.annotations,{scaleX:V,scaleY:U,data:i,width:I,height:L,backgroundColor:Dr(e),transition:r,priorAnnotations:o}))}let de=()=>ue.draw(ae);se.state===`committing`?se.register(de):de(),$b(e,{chartType:`column-stacked`,margin:R,plotRect:le}),a&&(S_(ie.node()),w_(e,a));let G=n.valueLabels??!1,K=n.valueLabelPosition??ai.Auto,fe=Ki(ae,e=>aa(e,e=>e.y1)??0,e=>e.label),pe=e=>e.y0<0?e.y1:e.y0,me=e=>e.y0<0?e.y0:e.y1,he=new Map(ae.filter(e=>e.value!==0).map(e=>[e.label+`\0`+pe(e),e])),ge=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!NS(e.seriesName,G,h))return;let t=(V(e.label)??0)+V.bandwidth()/2,r=Math.abs(U(e.y0)-U(e.y1)),i=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?zg(e.value,fe.get(e.label)??0):String(Math.round(e.value*100)/100),a=Hx({text:i,placement:`inside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}),o=he.get(e.label+`\0`+me(e));if(K===ai.Outside||K===ai.Auto&&!a&&!o){let n=e.y0<0,a=U(me(e)),s=a+(n?15:-4),c=o?Math.abs(U(o.y1)-U(o.y0)):n?L+R.bottom-a:a+R.top;if(e.value===0||c<15||!Hx({text:i,placement:`outside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}))return;ge.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,s).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`auto`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(i);return}if(!a)return;let s=W.get(e.seriesName)??DS(e.seriesName,e.seriesIndex,m,h);ge.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,U(e.y0)-r/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Tr(s)).text(i)}),g&&p.length>0){let e=p.map(e=>DS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(j.height+10+e)}else y===`bottom`?n=L+Math.max(R.bottom-M,0):y===`left`?t=-(j.width+10):y===`right`&&(t=I+10);CS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}function DC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function OC(e,t,n={},r=!1){b_(r);let i=[],a=null,o,s,c,l=uv.for(e);if(r){let t=Qb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=C_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))o.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=wS(t),f=d.filter(e=>!jS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=TS(n.colors??re,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=h_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ci.Percent,C=DC(S?CC(x):SC(x),t.labels,d),w=S?100:aa(C,e=>e.y1)??0,T=S?Math.min(0,oa(C,e=>e.y0)??0):0,E=Qx(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=f_(t.labels),k=p_(_,D?Hr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?_S(p,y,j):{width:0,height:0},N=g?M.height+15:0,P={...k};g&&y===`top`&&(P.top=N+(A?15:0)),g&&y===`bottom`&&(P.bottom=(P.bottom??24)+N),g&&y===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let{chartArea:F,width:I,height:L,margin:R}=__(u,P),z=e_(s,R),B=n.sortMode===ni.Total?ax(t.labels,(e,t)=>ox(f,t),$r.Descending):t.labels,[V,H]=ki(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),ee=(n.horizontalAxis?.scaleType===Br.Log?If():xf()).domain([V,H]).nice().range([0,I]),U=af().domain(B).range([0,L]).padding(Oi(n.barGap));l.attach(F,z),l.update({horizontal:{scale:ee,height:L,options:{...n.horizontalAxis,width:I}},vertical:{scale:U,height:L,options:{...n.verticalAxis,labelPosition:D?Hr.Off:n.verticalAxis?.labelPosition,topPadding:R.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let te=F.ownerSVGElement,ne=nx(te,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${ne})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),W=D?Xx(U.bandwidth()):0,oe=Xb(n.colorizes),se=Nx(n.highlights,C.map(e=>e.seriesName)),ce=ux(e),le=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);Sx(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=oe.get(e.seriesName)??DS(e.seriesName,e.seriesIndex,m,h),n=PS(e.seriesName,h),r={"data-series":e.seriesName,x:ee(e.y0),y:(U(e.label)??0)+W,width:ee(e.y1)-ee(e.y0),height:Math.max(0,U.bandwidth()-W),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=Px(se,e.seriesName)),r}});let ue={left:R.left,top:R.top,width:I,height:L};Ax(ce,{svg:te,clipId:ne,group:F,from:c,to:ue,active:r&&i.length>0});let de=ix(ie);if(n.tooltips&&de.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(Qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Yr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));de.use(Yb(n.annotations,{scaleX:U,scaleY:ee,data:i,width:I,height:L,backgroundColor:Dr(e),orientation:Yr.Horizontal,transition:r,priorAnnotations:o}))}let G=()=>de.draw(ae);if(ce.state===`committing`?ce.register(G):G(),$b(e,{chartType:`bar-stacked`,margin:R,plotRect:ue}),a&&(S_(ie.node()),w_(e,a)),D){let e=Q(F).append(`g`).attr(`class`,`bc-category-labels`);for(let t of B){let n=U(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let K=n.valueLabels??!1,fe=n.valueLabelPosition??ai.Auto,pe=new Set,me=new Map;for(let e of B){let t=ae.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];pe.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;me.set(n,ee(t[e+1].y1)-ee(t[e].y1))}}}let he=new Map,ge=Ki(ae,e=>aa(e,e=>e.y1)??0,e=>e.label),_e=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!NS(e.seriesName,K,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?zg(e.value,ge.get(e.label)??0):String(Math.round(e.value*100)/100),r=ee(e.y1)-ee(e.y0),i=t.length*6.5+8,a=r>=i,o=(U(e.label)??0)+W+(U.bandwidth()-W)/2,s=DS(e.seriesName,e.seriesIndex,m,h),c=pe.has(e.label+`\0`+e.seriesName),l=fe===ai.Outside||fe===ai.Auto&&!a&&c,u=Hx({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:U.bandwidth()}),d=()=>{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Tr(s)).text(t)};if(l){if(fe===ai.Inside)d();else{let n=ee(e.y1)+4,r=he.get(e.label)??0,a=me.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=I+R.right-2,f=n+i>l;s||c||f||!u?d():(he.set(e.label,n+i),_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Tr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>DS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=A?15:0;n=-(M.height+10+e)}else y===`bottom`?n=L+25:y===`left`?t=-(M.width+10):y===`right`&&(t=I+10);CS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var kC=16,AC=4,jC=20,MC=`600 11px sans-serif`,NC=`…`;function PC(e,t){if(qx(e,MC)<=t)return e;let n=e;for(;n.length>0&&qx(n+NC,MC)>t;)n=n.slice(0,-1);return n+NC}function FC(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*kC)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=ki(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===Br.Log?If():xf()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+kC),panelWidth:o,xScale:l}})}function IC(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(!e)continue;let o=a.xScale.copy().clamp(!0);for(let r of t){let t=n.indexOf(r),s=t>=0?e.values[t]??0:0,[c,l]=[o(0),o(s)];i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:s,xPos:a.xOffset+Math.min(c,l),barWidth:Math.abs(l-c)})}}return i}function LC(e,t,n={},r=!1){b_(r);let i=[],a=null,o,s,c,l=uv.for(e);if(r){let t=Qb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=C_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=wS(t),f=d.filter(e=>!jS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=TS(n.colors??re,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=h_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=Qx(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=f_(t.labels),w=p_(_,S?Hr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+jC;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?_S(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+jC),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=__(u,O),N=e_(o,M),P=n.sortMode===ni.Total?ax(t.labels,(e,t)=>ox(f,t),$r.Descending):t.labels,F=af().domain(P).range([0,j]).padding(Oi(n.barGap)),I=S?Xx(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Hr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=FC(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)ev(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=nx(z,e,`bars`,{x:0,y:0,width:A,height:j}),V=Q(k).append(`g`).attr(`clip-path`,`url(#${B})`),H=Q(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of L)H.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(PC(e.seriesName,e.panelWidth));let ee=IC(L,P,t.labels,d),U=Nx(n.highlights,ee.map(e=>e.seriesName)),te=Xb(n.colorizes),ne=ux(e),ie=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ie.appendChild(e);Sx(ne,{role:`mark-per-cell`,parent:ie,selector:`.bc-bar-split`,data:ee,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=te.get(e.seriesName)??DS(e.seriesName,e.seriesIndex,m,h),n=PS(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(F(e.label)??0)+I,width:e.barWidth,height:Math.max(0,F.bandwidth()-I),fill:t};return n<1&&(r[`fill-opacity`]=n),U.size>0&&(r.opacity=Px(U,e.seriesName)),r}});let ae={left:M.left,top:M.top,width:A,height:j};Ax(ne,{svg:z,clipId:B,group:k,from:s,to:ae,active:r&&i.length>0});let W=ix(V);if(n.tooltips&&W.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&W.use(Qy({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Yr.Horizontal})),n.annotations?.length&&L.length>0){let i=L[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));W.use(Yb(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:Dr(e),orientation:Yr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>W.draw(ee);if(ne.state===`committing`?ne.register(oe):oe(),$b(e,{chartType:`bar-split`,margin:M,plotRect:ae}),a&&(S_(V.node()),w_(e,a)),S){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let se=n.valueLabels??!0,ce=n.valueLabelPosition??ai.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!NS(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=DS(e.seriesName,e.seriesIndex,m,h),r=e.value<0,i=r?e.xPos:e.xPos+e.barWidth,a=r?-1:1,o=qx(String(e.value)),s=Math.max(0,F.bandwidth()-I),c=(F(e.label)??0)+I+s/2,l=r?i-AC-o>=t.xOffset:i+AC+o<=t.xOffset+t.panelWidth,u=ce===ai.Inside||!l||ce===ai.Auto&&e.barWidth>30;if(!Hx({text:String(e.value),placement:u?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:s}))return;let d=u?-a:a,f=i+d*AC,p=d<0?`end`:`start`,g=u?Tr(n):`currentColor`;le.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,f).attr(`y`,c).attr(`text-anchor`,p).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,g).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>DS(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+jC):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),CS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}function RC(e,t,n={},r=!1){b_(r);let i=[],a=null,o,s,c,l=uv.for(e);if(r){let t=Qb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=C_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let{body:u}=Pg(e,n.frame),d=wS(t),f=d.filter(e=>!jS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=TS(n.colors??re,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=h_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=Qx(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=f_(t.labels),T=p_(v,C?Hr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?_S(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:A,width:j,height:M,margin:N}=__(u,k),P=e_(o,N),F=n.sortMode===ni.Total?ax(t.labels,(e,t)=>ox(f,t),$r.Descending):t.labels,I=af().domain(F).range([0,M]).paddingInner(Oi(n.barGap)).paddingOuter(.05),L=C?Xx(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=af().domain(p).range([0,R]).padding(.05),[B,V]=ki(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===Br.Log?If():xf()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Hr.Off:n.verticalAxis?.labelPosition,topPadding:N.top,...S?{showAxis:!1}:{}}},horizontal:{scale:H,height:M,options:{...n.horizontalAxis,width:j}},order:`horizontal-first`});let ee=A.ownerSVGElement,U=nx(ee,e,`bars`,{x:0,y:0,width:j,height:M}),te=Q(A).append(`g`).attr(`clip-path`,`url(#${U})`);if(n.barBackground){let e=(n.colors??re)[0];te.selectAll(`.bc-bar-bg`).data(F,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(I(e)??0)+L).attr(`width`,j).attr(`height`,I.bandwidth()-L).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&F.length>1){let e=I.step();for(let t=1;t<F.length;t++){let n=(I(F[t-1])??0)+I.bandwidth()+(e-I.bandwidth())/2;te.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,j).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let ne=[];for(let e of F){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);ne.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ie=Nx(n.highlights,ne.map(e=>e.seriesName)),ae=Xb(n.colorizes),W=ux(e),oe=te.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),oe.appendChild(e);Sx(W,{role:`mark-per-cell`,parent:oe,selector:`.bc-bar-grouped`,data:ne,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=ae.get(e.seriesName)??DS(e.seriesName,e.seriesIndex,h,g),n=PS(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.seriesName)??0),width:Math.max(0,H(e.value)-H(0)),height:z.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),ie.size>0&&(r.opacity=Px(ie,e.seriesName)),r}});let se={left:N.left,top:N.top,width:j,height:M};Ax(W,{svg:ee,clipId:U,group:A,from:s,to:se,active:r&&i.length>0});let ce=ix(te);if(n.tooltips&&ce.use(Xy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ce.use(Qy({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Yr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));ce.use(Yb(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:Dr(e),orientation:Yr.Horizontal,transition:r,priorAnnotations:c}))}let le=()=>ce.draw(ne);if(W.state===`committing`?W.register(le):le(),$b(e,{chartType:`bar-grouped`,margin:N,plotRect:se}),a&&(S_(te.node()),w_(e,a)),C){let e=Q(A).append(`g`).attr(`class`,`bc-category-labels`);for(let t of F){let n=I(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let ue=n.valueLabels??!0,de=n.valueLabelPosition??ai.Auto,G=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(ne.forEach(e=>{if(!NS(e.seriesName,ue,g))return;let t=DS(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,H(e.value)-H(0)),r=H(0)+n,i=(I(e.label)??0)+L+(z(e.seriesName)??0)+z.bandwidth()/2,a=de===ai.Inside||de===ai.Auto&&n>30;if(!Hx({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:z.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=Tr(t)):(o=r+4,s=`start`,c=`currentColor`),G.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>DS(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=M+25:b===`left`?t=-(D.width+10):b===`right`&&(t=j+10),CS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var zC=[`x`,`y`,`size`];function BC(e){let t=new Set(e.textColumns?.map(e=>e.name));return(e.series?e.series.map(e=>e.name):[`value`]).filter(e=>!t.has(e))}function VC(e,t={}){let n={},r=new Set(zC.map(e=>t[e]).filter(Boolean)),i=BC(e).filter(e=>!r.has(e));for(let e of zC){let r=t[e]||i.shift();r&&r!==`none`&&(n[e]=r)}let a=t.group||e.textColumns?.[0]?.name;return a&&a!==`none`&&(n.group=a),n}function HC(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function UC(e){return typeof e==`number`&&Number.isFinite(e)}function WC(e,t,n,r){if(!UC(e))return n;if(t===Br.Log&&e<=0)return r}function GC(e,t,n){let r=HC(e,t.x),i=HC(e,t.y),a=HC(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=WC(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??WC(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(UC(a[t])&&a[t]>0)?`invalid-size`:void 0);if(l){c.push({name:e,reason:l});return}let u=o?.[t];s.push({name:e,x:r[t],y:i[t],...a&&{size:a[t]},...u&&{group:u}})}),{points:s,dropped:c}}function KC(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function qC(e,t){let n=t&&{min:KC(t.min),max:KC(t.max)},r=ki(e.filter(e=>e>0),n,Br.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Mf().domain(r).nice():Mf().domain([1,10])}function JC(e,t,n){if(e===Br.Log)return qC(t,n);let r=ki(t,n,e,!1);return e===Br.Symlog?If().domain(r).nice():xf().domain(r).nice()}function YC(e){switch(e){case Br.Log:return{forward:Math.log10,inverse:e=>10**e};case Br.Symlog:return{forward:e=>Math.sign(e)*Math.log1p(Math.abs(e)),inverse:e=>Math.sign(e)*Math.expm1(Math.abs(e))};default:return{forward:e=>e,inverse:e=>e}}}function XC(e,t,n,r=0){let i=e.copy().range([0,1]),a=[{t:0,r},{t:1,r},...t.map(({value:e,r:t})=>({t:i(e),r:t}))],o=e=>Math.max(...a.map(t=>t.r-t.t*e)),s=e=>{let t=o(e);return a.every(r=>t+r.t*e+r.r<=n)},c=0,l=n;for(let e=0;e<40;e++){let e=(c+l)/2;s(e)?c=e:l=e}let u=o(c);return[u,u+c]}var ZC=[1,2,5],QC=11,$C=`${QC}px`,ew=8,tw=6,nw=24,rw=`4 3`,iw=QC*1.2,aw=Yd(`~s`);function ow(e,t){let n=[...new Set(e.map(e=>e.group).filter(e=>!!e))];return new Map(n.map((e,n)=>[e,t[n%t.length]]))}function sw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>ZC.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function cw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,$C).attr(`fill`,`currentColor`).text(t)}function lw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=iw)&&n.push(r)}return n.reverse()}function uw(e,{sizeLabel:t,sizeValues:n,radius:r},i){let a=Q(e).append(`g`).attr(`class`,`bc-size-legend`),o=r(n[n.length-1]);t&&cw(a,t,0,i-o*2-tw),lw(n,r).forEach(e=>{let t=r(e);a.append(`circle`).attr(`cx`,o).attr(`cy`,i-t).attr(`r`,t).attr(`fill`,`none`).attr(`stroke`,`currentColor`).attr(`stroke-opacity`,.6),cw(a,aw(e),o*2+tw,i-t*2+ew)})}function dw(e){let t=Q(e).append(`g`).attr(`class`,`bc-trend-key`).attr(`transform`,`translate(0,-16)`);t.append(`line`).attr(`x1`,0).attr(`x2`,nw).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,rw),cw(t,`Trend`,30,10)}function fw({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(aw);i.push(n(t[t.length-1])*2+tw+Math.max(...r.map(e=>Zg(e,QC)))),i.push(Zg(e??``,QC))}return r&&i.push(30+Zg(`Trend`,QC)),Math.ceil(Math.max(...i))}function pw(e,t){let n=t.sizeValues.length>0;if(!n&&!t.trend)return null;let r=Q(e).append(`g`).attr(`class`,`bc-scatter-key`).node();return n&&uw(r,t,t.trend?-24:0),t.trend&&dw(r),r}function mw(e,t){let n=new Set(e.map(e=>e.name)),r=new Set;for(let i of t){if(n.has(i)){r.add(i);continue}e.filter(e=>e.group===i).forEach(e=>r.add(e.name))}return r}function hw(e,t){let n=new Set(e.map(e=>e.name)),r=[...t];return{points:new Map(r.filter(([e])=>n.has(e))),groups:new Map(r.filter(([e])=>!n.has(e)))}}function gw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var _w=3,vw=2,yw=1.3;function bw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*yw/2;return[{key:n,x:r+a+_w,y:i,anchor:`start`},{key:n,x:r-a-_w,y:i,anchor:`end`},{key:n,x:r,y:i-a-_w-o,anchor:`middle`},{key:n,x:r,y:i+a+_w+o,anchor:`middle`}]}function xw(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*yw/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function Sw(e,t){return e.left<t.right+vw&&t.left<e.right+vw&&e.top<t.bottom&&t.top<e.bottom}function Cw(e,t,n){let r=[],i=[];for(let a of e){let e=Zg(a.text,n);for(let o of bw(a,n)){let a=xw(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>Sw(e,a))){r.push(o),i.push(a);break}}}return r}function ww(e){return(e?Lg(e):null)??String}function Tw(e,t,n){let r=[e.name,`${t.x}: ${ww(n.x)(e.x)}`,`${t.y}: ${ww(n.y)(e.y)}`];return e.size!==void 0&&t.size&&r.push(`${t.size}: ${e.size}`),e.group!==void 0&&t.group&&r.push(`${t.group}: ${e.group}`),r.join(`
350
+ `)}var Ew=[`overall`,`per-group`];function Dw(e){return Ew.includes(e??``)}var Ow=3;function kw(e,t){let n=e.length;if(n<Ow)return null;let r=e.reduce((e,t)=>e+t,0)/n,i=t.reduce((e,t)=>e+t,0)/n,a=e.reduce((e,t)=>e+(t-r)**2,0);if(a===0)return null;let o=e.reduce((e,n,a)=>e+(n-r)*(t[a]-i),0)/a;return{slope:o,intercept:i-o*r}}function Aw(e,t,n,r){let i=YC(t.x),a=YC(t.y),o=e.map(e=>i.forward(e.x)),s=kw(o,e.map(e=>a.forward(e.y)));if(!s)return null;let[c,l]=[Math.min(...o),Math.max(...o)],u=e=>a.inverse(s.slope*e+s.intercept);return{key:n,group:r,x1:i.inverse(c),y1:u(c),x2:i.inverse(l),y2:u(l)}}function jw(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):Mw(e);for(let[e,o]of a){let a=Aw(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function Mw(e){let t=new Map;for(let n of e)n.group!==void 0&&t.set(n.group,[...t.get(n.group)??[],n]);return t}var Nw=re[0],Pw=4.5,Fw=.7,Iw=16,Lw=350,Rw=8,zw=`6 4`,Bw=1.5,Vw=.6,Hw=11,Uw=3;function Ww(e,t){return Math.min(e,t)/12}function Gw(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function Kw(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function qw(e,t,n){let r=aa(e,e=>e.size);return r===void 0?()=>Pw:Hf().domain([0,r]).range([0,Ww(t,n)])}function Jw(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===qr.Point?[e.target]:[])),i=n.showLabels?e:e.filter(e=>t.has(e.name)||r.has(e.name)),a=e=>+!t.has(e.name);return Yi(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function Yw(e,t,n={},r=!1){b_(r),WS(e);let i=uv.for(e),a=r?Qb(e):void 0,o=[],s=[],c=[],l=null,u;if(r){i.detach(),a?.chartType===`scatter`?(o=Array.from(e.querySelectorAll(`.bc-frame .bc-trend-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-scatter-point`)),c=Array.from(e.querySelectorAll(`.bc-frame .bc-point-label`))):a&&(l=C_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))u.set(e,n);e.replaceChildren()}let d=VC(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=GC(t,d,f),m=JC(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=JC(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=Pg(e,n.frame),_=h_(g).width,v=d_(h,n.verticalAxis?.numberFormat),y=p_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=ow(p,n.colors??re),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<Lw&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=aa(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:sw(E),trend:Dw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>Hf().domain([0,E??1]).range([0,Ww(e,t)]),A=_>0?_:600,j=h_(g).height||400,M=y.top==null?0:15,N=y.right??t_.right,P={...y,right:N},F={width:0,height:0},I=0,L=0;for(let e=0;e<3;e++){let e=P.left??t_.left,t=Math.max(0,A-e-P.right);F=S?_S(x,w,t):{width:0,height:0},I=S?F.height+15:0,S&&w===`top`&&(P.top=I+M),S&&w===`left`&&(P.left=(y.left??50)+F.width+10),L=S&&w===`right`?F.width+10:0,P.bottom=Math.max(y.bottom??24,24)+(S&&w===`bottom`?I:0);let n=j-(P.top??t_.top)-P.bottom,r=O?fw({...D,radius:k(t,n)}):0;P.right=L+(O?Iw+r:N)}let{chartArea:R,width:z,height:B,margin:V}=__(g,P),H=e_(a?.margin,V),ee=qw(p,z,B),U=e=>ee(e.size??0);m.range(XC(m,p.map(e=>({value:e.x,r:U(e)+1})),z));let[te,ne]=XC(h,p.map(e=>({value:e.y,r:U(e)+1})),B,Rw);h.range([B-te,B-ne]),i.attach(R,H),i.update({vertical:{scale:h,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:m,height:B,options:{...n.horizontalAxis,width:z}}});let ie=R.ownerSVGElement,ae=nx(ie,e,`plot`,{x:0,y:0,width:z,height:B}),W=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node();W.append(...o);let se=Yi(p,e=>-U(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...Yi(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=hw(p,Xb(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=mw(p,(n.highlights??[]).map(e=>e.target)),G=e=>gw(e,le.points,ue,Nw),K=Dr(e),fe=ux(e);Sx(fe,{role:`series-line`,parent:W,selector:`.bc-trend-line`,data:Dw(n.trend)?jw(p,n.trend,f).segments:[],key:e=>e.key,insert:e=>e.append(`path`).attr(`class`,`bc-trend-line`).attr(`data-key`,e=>e.key),attrs:e=>({d:`M${m(e.x1)},${h(e.y1)}L${m(e.x2)},${h(e.y2)}`,fill:`none`,stroke:e.group===void 0?`currentColor`:ue.get(e.group),"stroke-opacity":e.group===void 0?Vw:1,"stroke-width":Bw,"stroke-dasharray":zw})});let pe=e=>({cx:m(e.x),cy:h(e.y),r:U(e),fill:G(e),"fill-opacity":Px(de,e.name,Fw),stroke:K,"stroke-width":1,opacity:1});Sx(fe,{role:`mark-per-category`,parent:oe,selector:`.bc-scatter-point`,data:se,key:e=>e.name,insert:e=>e.append(`circle`).attr(`class`,`bc-scatter-point`).attr(`data-key`,e=>e.name),attrs:pe,enterFrom:e=>({...pe(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let me=Cw(Jw(p,de,n).map(e=>({key:e.name,text:e.name,cx:m(e.x),cy:h(e.y),r:U(e)})),{width:z,height:B},Hw),he=Q(R).append(`g`).node();he.append(...c);let ge=e=>({x:e.x,y:e.y,"text-anchor":e.anchor,opacity:1});if(Sx(fe,{role:`value-label`,parent:he,selector:`.bc-point-label`,data:me,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-point-label`).attr(`data-key`,e=>e.key).attr(`dominant-baseline`,`central`).attr(`font-size`,Hw).attr(`fill`,`currentColor`).text(e=>e.key),attrs:ge,enterFrom:e=>({...ge(e),opacity:0}),exitTo:()=>({opacity:0})}),n.annotations?.length){let e=p.map(e=>({label:e.name,value:e.y,x:e.x}));Jb(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:K,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};Ax(fe,{svg:ie,clipId:ae,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&CS(R,x,[...ue.values()],Kw(w,F.height+M,I,B,V.bottom),w,T,z,B,Gw(w,F.width,z),[],{left:V.left,right:V.right});let ve=pw(R,{...D,radius:ee}),ye=fw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+Iw,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};qS(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:Tw(e,d,t),value:e.y,color:G(e),r:U(e)+Uw})),nearest:`xy`,format:e=>e.label,container:e})}$b(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(S_(W),S_(oe),w_(e,l))}var Xw={low:/(?<![a-z\d])(low|lower|min|minimum)(?![a-z\d])/i,high:/(?<![a-z\d])(high|upper|max|maximum)(?![a-z\d])/i};function Zw(e,t){return e.find(e=>Xw[t].test(e))}function Qw(e,t,n){if(n!==`none`)return n?e.find(e=>e===n):Zw(e,t)}function $w(e,t={}){let n=BC(e);if(t.dotStyle!==ti.Range)return{mode:n.length>1?`dumbbell`:`single`,values:n,ignored:[]};let r=Qw(n,`low`,t.low),i=Qw(n.filter(e=>e!==r),`high`,t.high),[a,...o]=n.filter(e=>e!==r&&e!==i);return r&&i&&a?{mode:`range`,values:[a],low:r,high:i,ignored:o}:{mode:`single`,values:[a??n[0]].filter(Boolean),ignored:[]}}function eT(e,t,n){let r=(n?Lg(n):null)??String,i=[e.name,...t.values.map((t,n)=>`${t}: ${r(e.values[n])}`)];return e.low!==void 0&&t.low&&i.push(`${t.low}: ${r(e.low)}`),e.high!==void 0&&t.high&&i.push(`${t.high}: ${r(e.high)}`),i.join(`
351
+ `)}function tT(e){return typeof e==`number`&&Number.isFinite(e)}function nT(e,t,n){if(!e.values.every(tT))return`missing-value`;if(t.mode===`range`&&!(tT(e.low)&&tT(e.high)))return`missing-range`;let r=[...e.values,e.low,e.high].filter(tT);return n===Br.Log&&r.some(e=>e<=0)?`non-positive-log`:void 0}function rT(e,t,n){let r=t.values.map(t=>HC(e,t)??[]),i=HC(e,t.low)??[],a=HC(e,t.high)??[],o=[],s=[];return e.labels.forEach((e,c)=>{let l={name:e,values:r.map(e=>e[c])};t.mode===`range`&&(l.low=i[c],l.high=a[c]);let u=nT(l,t,n);u?s.push({name:e,reason:u}):o.push(l)}),{rows:o,dropped:s}}function iT(e,t,n){return t===ni.None?[...e]:ax(e,t===ni.Gap&&n===`dumbbell`?e=>e.values[e.values.length-1]-e.values[0]:e=>e.values[0],$r.Descending)}function aT(e,t,n,r){let i=new Map(e.map(e=>[e.name,e]));return{scaleX:n,scaleY:t,orientation:Yr.Horizontal,data:[],markCenter:e=>{let n=aa(i.get(e)?.values??[],e=>t(e));return n===void 0?void 0:{x:n,y:r(e)}}}}var oT=re[0],sT=.25,cT=.4,lT=2,uT=350,dT=5,fT=6,pT=11;function mT(e,t,n={},r=!1){WS(e),b_(r);let i=uv.for(e),a=r?Qb(e):void 0,o={ranges:[],lines:[],dots:[],labels:[]},s=null,c=new Map;if(r){i.detach(),a?.chartType===`dot-plot`?(o.ranges=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-range`)),o.lines=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-line`)),o.dots=Array.from(e.querySelectorAll(`.bc-frame .bc-dot`)),o.labels=Array.from(e.querySelectorAll(`.bc-frame .bc-dot-label`))):a&&(s=C_(e));for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of tb(t))c.set(e,n);e.replaceChildren()}let l=$w(t,{dotStyle:n.dotStyle,low:n.low,high:n.high}),u=n.horizontalAxis?.scaleType,d=iT(rT(t,l,u).rows,n.sortMode,l.mode),f=l.values,p=l.mode===`dumbbell`,m=TS(n.colors??re,f.length),h=e=>p?m[e]:n.colors?.[0]??oT,{body:g}=Pg(e,n.frame),_=h_(g).width,v=n.legend!==!1&&p,y=n.legendPosition??`top`,b=_>0&&_<uT&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=Qx(_,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=p_(_,C?Hr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,f_(t.labels),n.horizontalAxis?.showAxis),T=Math.max(0,_-(w.left??50)-(w.right??20)),E=v?_S(f,b,T):{width:0,height:0},D=v?E.height+15:0,O={...w};v&&b===`top`&&(O.top=D),v&&b===`bottom`&&(O.bottom=(O.bottom??24)+D),v&&b===`left`&&(O.left=(O.left??50)+E.width+10),v&&b===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=__(g,O),N=e_(a?.margin,M),P=af().domain(d.map(e=>e.name)).range([0,j]).paddingInner(.3).paddingOuter(.05),F=C?Xx(P.bandwidth()):0,I=e=>(P(e)??0)+F+(P.bandwidth()-F)/2,L=d.flatMap(e=>[...e.values,...e.low===void 0?[]:[e.low,e.high]]),R=e=>Rg(e,n.horizontalAxis?.numberFormat),z=n.valueLabels?hT(d,l.mode,R,A):0,B=JC(u,L,n.horizontalAxis?.range).range([p?z:0,A-z]);i.attach(k,N),i.update({vertical:{scale:P,height:j,options:{...n.verticalAxis,labelPosition:C?Hr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:B,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let V=k.ownerSVGElement,H=nx(V,e,`plot`,{x:0,y:0,width:A,height:j}),ee=Q(k).append(`g`).attr(`clip-path`,`url(#${H})`),U=()=>ee.append(`g`).node(),te=U(),ne=U(),ie=U();te.append(...o.ranges),ne.append(...o.lines),ie.append(...o.dots);let ae=Dr(e),W=ux(e),oe=Nx(n.highlights,d.map(e=>e.name)),se=e=>Px(oe,e),ce=Xb(n.colorizes),le=d.filter(e=>e.low!==void 0),ue=e=>({x:Math.min(B(e.low),B(e.high)),y:I(e.name)-5,width:Math.abs(B(e.high)-B(e.low)),height:10,rx:5,fill:ce.get(e.name)??h(0),"fill-opacity":sT,opacity:se(e.name)});Sx(W,{role:`mark-per-category`,parent:te,selector:`.bc-dot-range`,data:le,key:e=>e.name,insert:e=>e.append(`rect`).attr(`class`,`bc-dot-range`).attr(`data-key`,e=>e.name),attrs:ue,enterFrom:e=>({...ue(e),opacity:0}),exitTo:()=>({opacity:0})});let de=p?d:[],G=e=>{let[t,r]=zi(e.values).map(e=>B(e)),i=I(e.name),a=Math.sign(e.values.at(-1)-e.values[0]),o=n.arrows??ei.None,s=gT(a>0?r:t,a,o===ei.Forward||o===ei.Both),c=gT(a>0?t:r,-a,o===ei.Backward||o===ei.Both);return{d:`M${t},${i}L${r},${i}${_T(s,i)}${_T(c,i)}`,fill:`none`,stroke:`currentColor`,"stroke-opacity":cT,"stroke-width":lT,opacity:se(e.name)}};Sx(W,{role:`series-line`,parent:ne,selector:`.bc-dot-line`,data:de,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-dot-line`).attr(`data-key`,e=>e.name),attrs:G,enterFrom:e=>({...G(e),opacity:0}),exitTo:()=>({opacity:0})});let K=d.flatMap(e=>f.map((t,n)=>({row:e.name,column:t,value:e.values[n],color:h(n)}))),fe=e=>({"data-series":e.column,cx:B(e.value),cy:I(e.row),r:5,fill:ce.get(e.row)??e.color,stroke:ae,"stroke-width":1,opacity:se(e.row)});Sx(W,{role:`mark-per-cell`,parent:ie,selector:`.bc-dot`,data:K,key:e=>`${e.row}\0${e.column}`,insert:e=>e.append(`circle`).attr(`class`,`bc-dot`).attr(`data-key`,e=>`${e.row}|${e.column}`),attrs:fe,enterFrom:e=>({...fe(e),opacity:0}),exitTo:()=>({opacity:0})});let pe=Q(k).append(`g`).node();if(pe.append(...o.labels),yT(W,pe,n.valueLabels?vT(d,f,l.mode,B,R):[],I,se),n.annotations?.length&&Jb(k,n.annotations,{...aT(d,B,P,I),width:A,height:j,backgroundColor:ae,transition:r,priorAnnotations:c}),n.tooltips){let t=new Map(d.map(e=>[e.name,eT(e,l,n.horizontalAxis?.numberFormat)]));qS(k,{width:A,height:j,points:K.map(e=>({cx:B(e.value),cy:I(e.row),label:t.get(e.row),value:e.value,color:ce.get(e.row)??e.color,r:5})),nearest:`xy`,format:e=>e.label,container:e})}if(C){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of d)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,(P(t.name)??0)+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t.name)}let me={left:M.left,top:M.top,width:A,height:j};if(Ax(W,{svg:V,clipId:H,group:k,from:a?.chartType===`dot-plot`?a.plotRect:void 0,to:me,active:r}),v){let e=b===`left`?-(E.width+10):b===`right`?A+10:0;CS(k,f,m,b===`top`?-(E.height+10):b===`bottom`?j+25:0,b,x,A,j,e,[],{left:M.left,right:M.right})}$b(e,{chartType:`dot-plot`,margin:M,plotRect:me}),s&&(S_(ee.node()),S_(pe),w_(e,s))}function hT(e,t,n,r){let i=Qg(e.flatMap(e=>e.values).map(n),pT)+fT+(t===`range`?0:5);return Math.min(i,r/4)}function gT(e,t,n){let r=n?t:0,i=e-r*5;return{tipX:i,armX:i-r*dT,armOffset:r===0?0:dT}}function _T({tipX:e,armX:t,armOffset:n},r){return`M${t},${r-n}L${e},${r}L${t},${r+n}`}function vT(e,t,n,r,i){return e.flatMap(e=>{if(n===`range`)return[{key:`${e.name}|range`,row:e.name,text:i(e.values[0]),x:Math.max(r(e.low),r(e.high))+fT,anchor:`start`}];let a=t.map((e,t)=>t).sort((t,n)=>e.values[t]-e.values[n]),o=a.length>1?[a[0],a.at(-1)]:a;return o.map((n,a)=>{let s=o.length>1&&a===0;return{key:`${e.name}|${t[n]}`,row:e.name,series:t[n],text:i(e.values[n]),x:r(e.values[n])+(s?-1:1)*11,anchor:s?`end`:`start`}})})}function yT(e,t,n,r,i){let a=e=>({...e.series?{"data-series":e.series}:{},x:e.x,y:r(e.row),"text-anchor":e.anchor,fill:`currentColor`,opacity:i(e.row)});Sx(e,{role:`value-label`,parent:t,selector:`.bc-dot-label`,data:n,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-dot-label`).attr(`data-key`,e=>e.key).attr(`font-size`,`${pT}px`).attr(`dominant-baseline`,`central`).text(e=>e.text),attrs:a,enterFrom:e=>({...a(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(t).selectAll(`.bc-dot-label`).data(n,e=>e.key).text(e=>e.text)}var bT=new Map;function xT(e,t,n){bT.set(e,{renderer:t,options:n})}function ST(e){return bT.get(e)?.renderer}function CT(e){return bT.get(e)?.options??[]}var wT=[{value:Vr.Solid,text:`Solid`},{value:Vr.Dashed,text:`Dashed`},{value:Vr.Dotted,text:`Dotted`},{value:Vr.None,text:`None`}],TT={key:`colors`,type:Z.Colors,label:`Colors`},ET={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...oe().map(e=>({value:e.name,text:e.label}))]},DT={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},OT={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},kT={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},AT={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ri.Top,choices:[{value:ri.Top,text:`Top`},{value:ri.Bottom,text:`Bottom`},{value:ri.Left,text:`Left`},{value:ri.Right,text:`Right`}]},jT={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:ii.Start,choices:[{value:ii.Start,text:`Start`},{value:ii.Middle,text:`Middle`},{value:ii.End,text:`End`}]},MT={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:li.Off,choices:[{value:li.Off,text:`Off`},{value:li.Auto,text:`Auto`},{value:li.Outside,text:`Outside`},{value:li.Inside,text:`Inside`}]},NT={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:ii.Middle,choices:[{value:ii.Start,text:`Start`},{value:ii.Middle,text:`Middle`},{value:ii.End,text:`End`}]},PT={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},FT={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:ai.Auto,choices:[{value:ai.Auto,text:`Auto`},{value:ai.Outside,text:`Outside`},{value:ai.Inside,text:`Inside`}]},IT={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},LT={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},RT={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:oi.Both,choices:[{value:oi.Both,text:`Both`},{value:oi.Vertical,text:`Vertical`},{value:oi.Horizontal,text:`Horizontal`}]},zT={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:si.Dashed,choices:[{value:si.Solid,text:`Solid`},{value:si.Dashed,text:`Dashed`},{value:si.Dotted,text:`Dotted`}]},BT={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},VT={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},HT={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Xr.Circle,choices:[{value:Xr.Circle,text:`Circle`},{value:Xr.Square,text:`Square`},{value:Xr.Diamond,text:`Diamond`},{value:Xr.Triangle,text:`Triangle Up`},{value:Xr.TriangleDown,text:`Triangle Down`},{value:Xr.Cross,text:`Cross`},{value:Xr.Star,text:`Star`}]},UT={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:Zr.FirstLast,choices:[{value:Zr.FirstLast,text:`First & Last`},{value:Zr.First,text:`First`},{value:Zr.Last,text:`Last`},{value:Zr.All,text:`All`}]},WT={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:Qr.Filled,choices:[{value:Qr.Filled,text:`Filled`},{value:Qr.Hollow,text:`Hollow`}]},GT={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},KT={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},qT={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:ni.None,choices:[{value:ni.None,text:`None`},{value:ni.Total,text:`By total`},{value:ni.WithinGroups,text:`Within groups`}]},JT={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},YT={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},XT={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},ZT={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},QT={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},$T={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},eE={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},tE={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},nE={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},rE={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:ci.Normal,choices:[{value:ci.Normal,text:`Normal`},{value:ci.Percent,text:`Percentage (100%)`}]},iE={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},aE={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},oE={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},sE={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},cE={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},lE={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},uE={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},dE={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},fE={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},pE={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},mE={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},hE={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},gE={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:$r.None,choices:[{value:$r.None,text:`Keep order`},{value:$r.Ascending,text:`Smallest first`},{value:$r.Descending,text:`Largest first`}]},_E={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:ui.Linear,choices:[{value:ui.Linear,text:`Linear`},{value:ui.MonotoneX,text:`Monotone`},{value:ui.Step,text:`Step`},{value:ui.StepBefore,text:`Step (before)`},{value:ui.StepAfter,text:`Step (after)`},{value:ui.Basis,text:`Basis`},{value:ui.Cardinal,text:`Cardinal`},{value:ui.CatmullRom,text:`Catmull-Rom`}]},vE={[Br.Linear]:`Linear`,[Br.Log]:`Logarithmic`,[Br.Symlog]:`Symmetric log`};function yE(e){return e.map(e=>({value:e,text:vE[e]}))}var bE=[{value:Hr.Auto,text:`Auto`},{value:Hr.Inside,text:`Inside`},{value:Hr.Outside,text:`Outside`},{value:Hr.Off,text:`Off`}],xE=[{value:Ur.Auto,text:`Auto`},{value:Ur.Horizontal,text:`Horizontal`},{value:Ur.Vertical,text:`Vertical`}];function SE(e){let t=yE(e.scaleTypeChoices??[Br.Linear,Br.Log]),n=e.valueAxis===`vertical`||e.valueAxis===`both`,r=e.valueAxis===`horizontal`||e.valueAxis===`both`;return[{key:`showVerticalAxis`,type:Z.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Z.Select,label:`Vertical axis side`,default:zr.Left,choices:[{value:zr.Left,text:`Left`},{value:zr.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Z.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Z.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?Hr.Off:Hr.Auto,choices:bE},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:wT},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:Br.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Z.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Z.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Z.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?Hr.Off:Hr.Auto,choices:bE},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Ur.Horizontal,choices:xE},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:wT},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:Br.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var CE=SE({verticalGrid:Vr.None,horizontalGrid:Vr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),wE=SE({verticalGrid:Vr.None,horizontalGrid:Vr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),TE=SE({verticalGrid:Vr.Dashed,horizontalGrid:Vr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),EE=SE({verticalGrid:Vr.Dashed,horizontalGrid:Vr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),DE={..._E,default:ui.MonotoneX},OE={...RT,default:oi.Vertical},kE={...LT,default:!0},AE={...VT,default:!0},jE={...qT,default:ni.Total},ME={...PT,default:!0},NE={...PT,default:!0},PE={...oE,default:!0},FE={...uE,default:`5`},IE={...sE,default:!0},LE={...MT,default:li.Auto},RE={...kT,default:!1},zE=[LT,RT,zT,BT],BE=[kE,OE,zT,BT],VE=[NE,FT,IT,...zE],HE=[ME,FT,IT,...zE],UE=[VT,HT,UT,WT,GT,KT],WE=[AE,HT,UT,WT,GT,KT],GE=[PT,IT,...BE,...UE],KE=[PT,IT,...BE,...WE],qE=[PE,cE,lE,FE,dE],JE=[oE,IE,cE,lE,uE,dE];xT(Rr.BarVertical,nS,[TT,ET,DT,OT,nE,ZT,$T,QT,eE,tE,YT,XT,aE,...CE,...VE]),xT(Rr.BarHorizontal,sS,[TT,ET,DT,OT,nE,ZT,$T,QT,eE,tE,YT,XT,aE,...wE,...HE]),xT(Rr.BarMulti,zS,[TT,ET,DT,OT,QT,jE,RE,jT,AT,LE,NT,...CE,...VE]),xT(Rr.Line,QS,[TT,ET,DT,OT,DE,JT,...TE,...GE]),xT(Rr.LineMulti,dC,[TT,ET,DT,OT,DE,JT,qT,RE,jT,AT,LE,...TE,...KE]),xT(Rr.Donut,_C,[TT,ET,DT,OT,RE,jT,AT,LE,IT,...JE]),xT(Rr.Pie,yC,[TT,ET,DT,OT,RE,jT,AT,LE,IT,...qE]),xT(Rr.Area,xC,[TT,ET,DT,OT,{...fE,default:`0.25`,placeholder:`0.25`},DE,JT,...EE,...GE]);var YE=SE({verticalGrid:Vr.Dashed,horizontalGrid:Vr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});xT(Rr.AreaStacked,wC,[TT,ET,DT,OT,fE,DE,JT,gE,pE,mE,hE,kT,jT,AT,MT,...YE,IT,...BE]),xT(Rr.ColumnStacked,EC,[TT,ET,DT,OT,QT,rE,qT,kT,jT,AT,MT,NT,...CE,...VE]),xT(Rr.BarStacked,OC,[TT,ET,DT,OT,QT,rE,qT,kT,jT,AT,MT,NT,aE,...wE,...HE]),xT(Rr.BarSplit,LC,[TT,ET,DT,OT,QT,iE,qT,kT,jT,AT,aE,...wE,ME,FT,IT,...zE]),xT(Rr.BarGrouped,RC,[TT,ET,DT,OT,QT,jE,kT,jT,AT,ZT,$T,aE,...wE,ME,FT,IT,...zE]);var XE=[{key:`x`,type:Z.Text,label:`X axis`,default:``},{key:`y`,type:Z.Text,label:`Y axis`,default:``},{key:`size`,type:Z.Text,label:`Bubble size`,default:``},{key:`group`,type:Z.Text,label:`Color groups`,default:``}],ZE={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},QE={...cE,default:!1,label:`Label all points`},$E=SE({verticalGrid:Vr.Dashed,horizontalGrid:Vr.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[Br.Linear,Br.Log,Br.Symlog]});xT(Rr.Scatter,Yw,[TT,ET,DT,OT,...XE,ZE,QE,kT,AT,jT,{...IT,default:!0},...$E]);var eD=[{key:`low`,type:Z.Text,label:`Low column`,default:``},{key:`high`,type:Z.Text,label:`High column`,default:``}],tD={key:`dotStyle`,type:Z.Select,label:`Style`,default:ti.Dumbbell,choices:[{value:ti.Dumbbell,text:`Dumbbell`},{value:ti.Range,text:`Range`}]},nD={key:`arrows`,type:Z.Select,label:`Arrows`,default:ei.None,choices:[{value:ei.None,text:`None`},{value:ei.Forward,text:`Forward`},{value:ei.Backward,text:`Backward`},{value:ei.Both,text:`Both`}]},rD={...qT,default:ni.Value,choices:[{value:ni.None,text:`None`},{value:ni.Value,text:`By value`},{value:ni.Gap,text:`By gap`}]},iD=SE({verticalGrid:Vr.None,horizontalGrid:Vr.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`});xT(Rr.DotPlot,mT,[TT,ET,DT,OT,tD,...eD,nD,rD,kT,AT,jT,aE,...iD,PT,{...IT,default:!0}]),xT(Rr.VerticalBar,nS,[TT,ET,DT,OT,nE,ZT,$T,QT,eE,tE,YT,XT,aE,...CE,...VE]),xT(Rr.HorizontalBar,sS,[TT,ET,DT,OT,nE,ZT,$T,QT,eE,tE,YT,XT,aE,...wE,...HE]);function aD(e){let t=(e??``).trim();return t&&Si(t)!==void 0?t:void 0}function oD(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=aD(e.verticalRangeMin),r=aD(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function sD(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=aD(e.horizontalRangeMin),r=aD(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var cD=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.connectionsOpacity.areaFillOpacity`.split(`.`));function lD(e,t){if(!t)return{};let n={};for(let{key:r}of CT(t)){let t=e[r];t!==void 0&&!cD.has(r)&&(n[r]=t)}return n}function uD(e,t){let n={},r=W(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Nr(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function dD(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function fD(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Xr.Circle,showOn:e.lineSymbolShowOn??Zr.FirstLast,style:e.lineSymbolStyle??Qr.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function pD(e,t,n){let r={...lD(e,n),...uD(e,t),...dD(e),...oD(e),...sD(e),...fD(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.sliceMax??``,10);!isNaN(i)&&i>0&&(r.sliceMax=i),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let a=parseFloat(e.barGap??``);isNaN(a)||(r.barGap=Math.max(0,Math.min(100,a))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let o=parseFloat(e.connectionsOpacity??``);isNaN(o)||(r.connectionsOpacity=Math.max(0,Math.min(1,o))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let s=parseFloat(e.areaFillOpacity??``);return isNaN(s)||(r.areaFillOpacity=s),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var mD=e=>e===!0||String(e).toLowerCase()===`true`;function hD(e){return new Map(e.map(e=>[e.key,e.value]))}function gD(e,t){let n=hD(t),r=CT(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Z.Colors?a[e.key]=z(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Z.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=mD(t):a[e.key]=String(t))}return a}function _D(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function vD(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>I(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!_D(String(e))?String(e):I(String(e)));return`${I(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${I(t)}`:typeof e.value==`string`&&_D(t)?`${I(e.key)} = ${I(t)}`:`${I(e.key)} = ${t}`}).join(`
352
+ `)}function yD(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function bD(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function xD(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function SD(e){return e.map(e=>({target:e.target,color:yD(e.properties,`color`)??`#e15759`,label:yD(e.properties,`label`)}))}function CD(e){return e.map(e=>({target:e.target}))}function wD(e){return e.map(e=>{let t=hD(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function TD(e){let t=e.get(`repeat`);if(mD(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function ED(e){return e.map(e=>{let t=hD(e.properties),n=e.kind??qr.Point;if(n===qr.Range){let e={kind:qr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=TD(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===qr.Free){let n={kind:qr.Free,text:String(t.get(`text`)??``),x:bD(e.properties,`x`)??0,y:bD(e.properties,`y`)??0};n.repeat=TD(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=xD(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=mD(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:qr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=TD(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=xD(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=mD(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=mD(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=mD(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=mD(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function DD(e){return e.map(e=>{let t=hD(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:mD(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=mD(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=mD(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function OD(e,t,n){if(!n&&t!==fi.Equals&&t!==fi.NotEquals)return!0;switch(t){case fi.Equals:return e===n;case fi.NotEquals:return e!==n;case fi.Contains:return e.toLowerCase().includes(n.toLowerCase());case fi.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case fi.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function kD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>OD(e[n]??``,t.condition??fi.Equals,t.value??``));return{...e,rows:r}}function AD(e){return Number(j(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function jD(e,t,n){return n===`number`?AD(e)-AD(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function MD(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var ND={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function PD(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!ND[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function FD(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>AD(e[n]??``));return String(ND[e](r))}function ID(e,t){let n=MD({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=PD(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>FD(e.fn,t,e.colIndex))])}}function LD(e,t){let n=MD(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var RD=[`string`,`number`,`date`],zD=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:pi.Type,accepts:RD,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:pi.Type,accepts:RD,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:pi.Type,accepts:RD,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:pi.Type,accepts:RD,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:pi.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:pi.String,accepts:RD,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:pi.String,accepts:RD,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:pi.String,accepts:RD,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:pi.String,accepts:RD,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:pi.String,accepts:RD,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:pi.String,accepts:RD,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:pi.String,accepts:RD,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:pi.String,accepts:RD,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:pi.String,accepts:RD,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:pi.String,accepts:RD,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:pi.String,accepts:RD,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:pi.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:pi.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:pi.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:pi.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:pi.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:pi.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:pi.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:pi.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:pi.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:pi.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:pi.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:pi.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],BD=new Map(zD.map(e=>[e.id,e]));function VD(e,t){let n=BD.get(e);return n?n.accepts.includes(t):!1}function HD(e){return BD.get(e)?.outputType??`string`}function UD(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function WD(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function GD(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return WD(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function KD(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function qD(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return UD(e,e=>Math.round(e*t)/t)}case`floor`:return UD(e,Math.floor);case`ceil`:return UD(e,Math.ceil);case`abs`:return UD(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return UD(e,e=>Math.min(Math.max(e,t),r))}case`log`:return UD(e,e=>e>0?Math.log(e):NaN);case`exp`:return UD(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return UD(e,e=>Math.floor(e/t)*t)}default:return e}}function JD(e,t,n){switch(t){case`extract-year`:return WD(e,e=>String(e.getFullYear()));case`extract-month`:return WD(e,e=>String(e.getMonth()+1));case`extract-day`:return WD(e,e=>String(e.getDate()));case`extract-weekday`:return WD(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return WD(e,e=>String(e.getHours()));case`shift-date`:return WD(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return WD(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:WD(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function YD(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?GD(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?qD(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?JD(e,t,n):KD(e,t,n)}function XD(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function ZD(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function QD(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function $D(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!VD(r,i))return XD(e,n);if(r===`split`)return ZD(e,n,t);if(r===`normalize`||r===`standardize`)return QD(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=YD(e[n],r,t);let o=[...e.columnTypes];return o[n]=HD(r),{columns:[...e.columns],rows:a,columnTypes:o}}function eO(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function tO(e,t){let n=MD(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===$r.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>AD(e[t]??``)),o=r.map(e=>AD(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=jD(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function nO(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var rO=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],iO=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,aO=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function oO(e){if(!e)return!1;for(let t of rO)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function sO(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=j(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function cO(e){if(!e)return!1;let t=j(sO(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function lO(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every(oO)?`date`:r.every(cO)?`number`:`string`})}function uO(e){let t=e.split(`
353
+ `).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=z(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(aO),i=n??t[e].match(iO);i&&r.push({cells:z(i[2]).map(R),label:L(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim());return dO([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(iO);t&&i.push([L(t[1]),R(t[2])])}return dO(r,i)}function dO(e,t){return{columns:e,rows:t,columnTypes:lO(e,t)}}function fO(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:I(e)}function pO(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${I(t)} = ${fO(n)}`}).join(`
354
+ `):[`series = ${e.slice(1).map(I).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>fO(e??``)).join(`,`);return`${I(t)} = ${n}`})].join(`
355
+ `)}function mO(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=new Map(e.textColumns?.map(e=>[e.name,e.values])),i=(e,n,i)=>r.has(e)?r.get(e)?.[i]??``:t(n[i]),a=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>i(e.name,e.values,r)):[t(e.values[r])]]);return{columns:n,rows:a,columnTypes:lO(n,a)}}var hO=new Set(Object.values(di));function gO(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case di.Sort:i=tO(i,t.config);break;case di.Filter:i=kD(i,t.config);break;case di.HideColumns:i=LD(i,t.config);break;case di.Transpose:i=nO(i);break;case di.Parse:i=$D(i,t.config);break;case di.Rename:i=eO(i,t.config);break;case di.GroupBy:i=ID(i,t.config)}return i}function _O(e){return e.filter(e=>hO.has(e.transformType)).map(e=>{let t={};for(let[n,r]of hD(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function vO(e,t){let n=_O(t);if(n.length===0)return e;let r=uO(e);if(r.columns.length===0)return e;let i=gO(n,r.columns,r.rows,r.columnTypes);return pO(i.columns,i.rows)}function yO(e,t){let n=_O(t);if(n.length===0||e.labels.length===0)return e;let r=mO(e),i=gO(n,r.columns,r.rows,r.columnTypes);return ne(pO(i.columns,i.rows))}var bO=new Set;function xO(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ni.Total:!hO.has(t.transformType)&&!bO.has(t.transformType)&&(bO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function SO(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:mD(n)||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function CO(e){let t=hD(e.properties),n=ne(vO(e.data?vD(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===$r.Ascending||i===$r.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===ni.Total||s===ni.WithinGroups||s===ni.None)&&(c=s),c=xO(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:SO(t),colorizes:SD(e.colorizes),highlights:CD(e.highlights),areaFills:wD(e.areaFills),annotations:ED(e.annotations),seriesOverrides:DD(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var wO=Object.create(null);function TO(e){if(!wO[e]){let t={};for(let n of CT(e))n.default!==void 0&&(t[n.key]=n.default);wO[e]=t}return{...wO[e]}}function EO(e,t){let n=TO(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var DO=[`verticalLabelPosition`,`horizontalLabelPosition`];function OO(e,t,n){let r=TO(t),i={...e};for(let e of DO)n[e]===void 0&&r[e]!==void 0&&r[e]!==Hr.Off&&(i[e]=r[e]);return i}var kO=new Set;function AO(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=ni.Total:!hO.has(t.transformType)&&!kO.has(t.transformType)&&(kO.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function jO(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function MO(e,t,n){let r=jO();for(let i=0;i<=t;i++){let a=e[i],o=hD(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=gD(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function NO(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function PO(e,t){let n=e.options??(e.properties?EO(e.chartType,gD(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=MO(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?ne(vD(i.data)):yO(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?EO(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?OO(s,a,{...gD(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?SD(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:CD(i.highlights),d=i.areaFills.length>0?wD(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)ED(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>NO(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?DD(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===ni.Total||h===ni.WithinGroups||h===ni.None?h:void 0,_=AO(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var FO=new WeakMap;function IO(e){let t=FO.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function LO(e,t){let n=FO.get(e);n||(n=new Set,FO.set(e,n)),n.add(t)}function RO(e,t,n){if(IO(e),n.ignoreLayout||!t)return{constrained:!1};let r=hD(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,LO(e,`aspectRatio`),LO(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,LO(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,LO(e,`display`),LO(e,`flexDirection`),LO(e,`overflow`)),{constrained:s}}var zO=new WeakMap;function BO(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function VO(e,t,n){if(!n)return null;let r=zO.get(e);return!r||r===t?null:(BO(e),C_(e))}function HO(e,t,n){if(zO.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&S_(t),w_(e,n)}}function UO(e){zO.delete(e),BO(e)}var WO=`http://www.w3.org/2000/svg`;function GO(e){return e.replace(/\s+/g,` `).trim()}function KO(e,t){if(e===`scatter chart`)return`${e} of ${t.labels.length} points.`;let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function qO(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?GO(t.title):``,a=t?.description?GO(t.description):``;return{label:i||r,description:[a,KO(r,n)].filter(Boolean).join(` `)}}function JO(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(WO,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function YO(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),JO(e,`desc`,t.description),JO(e,`title`,t.label)}function XO(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function ZO(e,t,n){let r=XO(e);r&&t.accessibility&&YO(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function QO(e,t,n={}){let r=!!n.transition||ux(e).state===`animating`;if(r||(ux(e).interrupt(),e.replaceChildren(),UO(e)),t.data.labels.length===0){r&&(ux(e).interrupt(),e.replaceChildren(),UO(e));return}let i=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}i=e}let a=RO(e,i.properties,n),o=PO(i,n.sceneIndex),s=ST(o.chartType);if(!s)return;lv(e,o.chartType);let c=VO(e,o.chartType,r);c&&e.replaceChildren();let l=Dr(e),u=pD(o.options,l,o.chartType),d;if(n.thumbnail)d=null;else{let e=o.frame?.padding??n.padding??`16px`;d={...o.frame??{},padding:e}}let f=ux(e);r&&f.beginCommit(),s(e,o.data,{frame:d,sort:o.sort,...u,sortMode:o.sortMode??u.sortMode,colorizes:o.colorizes.length>0?o.colorizes:void 0,highlights:o.highlights.length>0?o.highlights:void 0,areaFills:o.areaFills.length>0?o.areaFills:void 0,annotations:o.annotations.length>0?o.annotations:void 0,seriesOverrides:o.seriesOverrides.length>0?o.seriesOverrides:void 0},r),r&&f.commit({duration:x_(),mode:n.transitionMode}),ZO(e,{theme:n.theme??o.theme,accessibility:qO(o.chartType,d,o.data)},a),HO(e,o.chartType,c)}function $O(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function ek(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=A(t)}catch(t){$O(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{QO(e,CO(r),n)}catch(t){$O(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function tk(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var nk=tk;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,b):b(),e.createSceneController=tk,e.createStepController=nk,e.initBlueprint=b,e.renderBpc=ek,e})({});